You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
4.4 KiB
140 lines
4.4 KiB
commit 3c75231601fb35f0c91022abeee5117c81f70a62
|
|
Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
|
|
Date: 1339293731 -0500
|
|
|
|
Add dynamic label support to kpassworddialog
|
|
|
|
diff --git a/kdeui/kpassdlg.cpp b/kdeui/kpassdlg.cpp
|
|
index a9625b8..489e14d 100644
|
|
--- ./kdeui/kpassdlg.cpp.orig 2011-08-11 04:30:26.000000000 +0200
|
|
+++ ./kdeui/kpassdlg.cpp 2012-06-19 20:10:16.766136524 +0200
|
|
@@ -32,6 +32,7 @@
|
|
#include <tqhbox.h>
|
|
#include <tqwhatsthis.h>
|
|
#include <tqptrdict.h>
|
|
+#include <tqtimer.h>
|
|
|
|
#include <kglobal.h>
|
|
#include <kdebug.h>
|
|
@@ -305,7 +306,7 @@
|
|
KPasswordDialog::KPasswordDialog(Types type, bool enableKeep, int extraBttn,
|
|
TQWidget *parent, const char *name)
|
|
: KDialogBase(parent, name, true, "", Ok|Cancel|extraBttn,
|
|
- Ok, true), m_Keep(enableKeep? 1 : 0), m_Type(type), d(new KPasswordDialogPrivate)
|
|
+ Ok, true), m_Keep(enableKeep? 1 : 0), m_keepWarnLbl(0), m_Type(type), d(new KPasswordDialogPrivate)
|
|
{
|
|
d->iconName = "password";
|
|
init();
|
|
@@ -314,7 +315,7 @@
|
|
KPasswordDialog::KPasswordDialog(Types type, bool enableKeep, int extraBttn, const TQString& icon,
|
|
TQWidget *parent, const char *name )
|
|
: KDialogBase(parent, name, true, "", Ok|Cancel|extraBttn,
|
|
- Ok, true), m_Keep(enableKeep? 1 : 0), m_Type(type), d(new KPasswordDialogPrivate)
|
|
+ Ok, true), m_Keep(enableKeep? 1 : 0), m_keepWarnLbl(0), m_Type(type), d(new KPasswordDialogPrivate)
|
|
{
|
|
if ( icon.stripWhiteSpace().isEmpty() )
|
|
d->iconName = "password";
|
|
@@ -326,7 +327,7 @@
|
|
KPasswordDialog::KPasswordDialog(int type, TQString prompt, bool enableKeep,
|
|
int extraBttn)
|
|
: KDialogBase(0L, "Password Dialog", true, "", Ok|Cancel|extraBttn,
|
|
- Ok, true), m_Keep(enableKeep? 1 : 0), m_Type(type), d(new KPasswordDialogPrivate)
|
|
+ Ok, true), m_Keep(enableKeep? 1 : 0), m_keepWarnLbl(0), m_Type(type), d(new KPasswordDialogPrivate)
|
|
{
|
|
d->iconName = "password";
|
|
init();
|
|
@@ -393,12 +394,20 @@
|
|
m_pGrid->setRowStretch(8, 12);
|
|
TQCheckBox* const cb = new TQCheckBox(i18n("&Keep password"), m_pMain);
|
|
cb->setFixedSize(cb->tqsizeHint());
|
|
- if (m_Keep > 1)
|
|
+ m_keepWarnLbl = new TQLabel(m_pMain);
|
|
+ m_keepWarnLbl->setAlignment(AlignLeft|AlignVCenter|WordBreak);
|
|
+ if (m_Keep > 1) {
|
|
cb->setChecked(true);
|
|
- else
|
|
+ m_keepWarnLbl->show();
|
|
+ }
|
|
+ else {
|
|
m_Keep = 0;
|
|
+ m_keepWarnLbl->hide();
|
|
+ }
|
|
connect(cb, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotKeep(bool)));
|
|
m_pGrid->addWidget(cb, 9, 2, (TQ_Alignment)(AlignLeft|AlignVCenter));
|
|
+// m_pGrid->addWidget(m_keepWarnLbl, 13, 2, (TQ_Alignment)(AlignLeft|AlignVCenter));
|
|
+ m_pGrid->addMultiCellWidget(m_keepWarnLbl, 13, 13, 0, 3);
|
|
} else if (m_Type == NewPassword) {
|
|
m_pGrid->addRowSpacing(8, 10);
|
|
lbl = new TQLabel(m_pMain);
|
|
@@ -475,6 +484,13 @@
|
|
m_pHelpLbl->setFixedSize(275, m_pHelpLbl->heightForWidth(275));
|
|
}
|
|
|
|
+void KPasswordDialog::setKeepWarning(TQString warn)
|
|
+{
|
|
+ if (m_keepWarnLbl) {
|
|
+ m_keepWarnLbl->setText(warn);
|
|
+ }
|
|
+}
|
|
+
|
|
|
|
TQString KPasswordDialog::prompt() const
|
|
|
|
@@ -550,9 +566,24 @@
|
|
|
|
void KPasswordDialog::slotKeep(bool keep)
|
|
{
|
|
+ if (m_keepWarnLbl->text() != "") {
|
|
+ if (keep) {
|
|
+ m_keepWarnLbl->show();
|
|
+ }
|
|
+ else {
|
|
+ m_keepWarnLbl->hide();
|
|
+ }
|
|
+ TQTimer::singleShot(0, this, SLOT(slotLayout()));
|
|
+ }
|
|
+
|
|
m_Keep = keep;
|
|
}
|
|
|
|
+void KPasswordDialog::slotLayout()
|
|
+{
|
|
+ resize(sizeHint());
|
|
+}
|
|
+
|
|
|
|
// static . antlarr: KDE 4: Make it const TQString & prompt
|
|
int KPasswordDialog::getPassword(TQCString &password, TQString prompt,
|
|
diff --git a/kdeui/kpassdlg.h b/kdeui/kpassdlg.h
|
|
index de83bb3..2d124b0 100644
|
|
--- a/kdeui/kpassdlg.h
|
|
+++ b/kdeui/kpassdlg.h
|
|
@@ -246,6 +246,11 @@ public:
|
|
TQString prompt() const;
|
|
|
|
/**
|
|
+ * Sets the text to be dynamically displayed when the keep checkbox is checked
|
|
+ */
|
|
+ void setKeepWarning(TQString warn);
|
|
+
|
|
+ /**
|
|
* Adds a line of information to the dialog.
|
|
*/
|
|
void addLine(TQString key, TQString value);
|
|
@@ -380,6 +385,7 @@ protected slots:
|
|
void slotOk();
|
|
void slotCancel();
|
|
void slotKeep(bool);
|
|
+ void slotLayout();
|
|
|
|
protected:
|
|
|
|
@@ -399,6 +405,7 @@ private:
|
|
|
|
int m_Keep, m_Type, m_Row;
|
|
TQLabel *m_pHelpLbl;
|
|
+ TQLabel *m_keepWarnLbl;
|
|
TQGridLayout *m_pGrid;
|
|
TQWidget *m_pMain;
|
|
KPasswordEdit *m_pEdit, *m_pEdit2;
|