summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-06-09 21:02:11 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-06-09 21:02:11 -0500
commit3c75231601fb35f0c91022abeee5117c81f70a62 (patch)
tree9b7b826ed0079ec3db0bece5783dfda803805d39
parent2366375b23b770db27544720910e6c74093db638 (diff)
downloadtdelibs-3c752316.tar.gz
tdelibs-3c752316.zip
Add dynamic label support to kpassworddialog
-rw-r--r--tdeui/kpassdlg.cpp41
-rw-r--r--tdeui/kpassdlg.h7
2 files changed, 43 insertions, 5 deletions
diff --git a/tdeui/kpassdlg.cpp b/tdeui/kpassdlg.cpp
index a9625b899..489e14d8f 100644
--- a/tdeui/kpassdlg.cpp
+++ b/tdeui/kpassdlg.cpp
@@ -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 @@ int KPasswordEdit::maxPasswordLength() const
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,
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(Types type, bool enableKeep, int extraBttn, con
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 @@ void KPasswordDialog::init()
m_pGrid->setRowStretch(8, 12);
TQCheckBox* const cb = new TQCheckBox(i18n("&Keep password"), m_pMain);
cb->setFixedSize(cb->sizeHint());
- 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 @@ void KPasswordDialog::setPrompt(TQString prompt)
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::slotCancel()
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/tdeui/kpassdlg.h b/tdeui/kpassdlg.h
index de83bb36c..2d124b01f 100644
--- a/tdeui/kpassdlg.h
+++ b/tdeui/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;