diff options
| author | 2009-03-25 17:12:05 +0000 | |
|---|---|---|
| committer | 2009-03-25 17:12:05 +0000 | |
| commit | fcc92d44845b4d3f85ca7efecfe25cd25de9a849 (patch) | |
| tree | a9ae5d57691f210c205e9b99e7fa739f7d8589d0 /src | |
| parent | reworked fix for #383, some gcc 4.3 noise fix (diff) | |
| download | KVIrc-fcc92d44845b4d3f85ca7efecfe25cd25de9a849.tar.gz KVIrc-fcc92d44845b4d3f85ca7efecfe25cd25de9a849.tar.bz2 KVIrc-fcc92d44845b4d3f85ca7efecfe25cd25de9a849.zip | |
implemented #408 (password fields with a tick to hide/show text)
gcc 4.3 noise reduction
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3164 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/ui/kvi_selectors.cpp | 91 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_selectors.h | 37 | ||||
| -rw-r--r-- | src/modules/editor/scripteditor.cpp | 2 | ||||
| -rw-r--r-- | src/modules/mediaplayer/mp_mp3.cpp | 2 | ||||
| -rw-r--r-- | src/modules/options/optw_interfacelookglobal.cpp | 2 | ||||
| -rw-r--r-- | src/modules/options/optw_servers.cpp | 38 | ||||
| -rw-r--r-- | src/modules/options/optw_servers.h | 4 |
7 files changed, 155 insertions, 21 deletions
diff --git a/src/kvirc/ui/kvi_selectors.cpp b/src/kvirc/ui/kvi_selectors.cpp index 3bdefbdc1..1b99fcfe3 100644 --- a/src/kvirc/ui/kvi_selectors.cpp +++ b/src/kvirc/ui/kvi_selectors.cpp @@ -167,11 +167,100 @@ void KviStringSelector::setText(const QString& text){ } KviPasswordSelector::KviPasswordSelector(QWidget * par,const QString & txt,QString *pOption,bool bEnabled) -: KviStringSelector(par,txt,pOption,bEnabled) +: KviTalHBox(par) , KviSelectorInterface() { + m_pLabel = new QLabel(txt,this); + m_pLineEdit = new QLineEdit(this); + m_pCheckBox = new QCheckBox(this); m_pLineEdit->setEchoMode(QLineEdit::Password); + m_pCheckBox->setCheckState(Qt::Checked); + connect(m_pCheckBox,SIGNAL(stateChanged(int)), this, SLOT(checkToggled(int))); + //m_pLineEdit->setMinimumWidth(200); + QString tmp = *pOption; + m_pLineEdit->setText(tmp); + + setSpacing(4); + setStretchFactor(m_pLineEdit,1); + + m_pOption = pOption; + + setEnabled(bEnabled); } +void KviPasswordSelector::checkToggled(int state) +{ + if(state == Qt::Checked) + { + m_pLineEdit->setEchoMode(QLineEdit::Password); + } else { + m_pLineEdit->setEchoMode(QLineEdit::Normal); + } +} + +KviPasswordSelector::~KviPasswordSelector() +{ +} + +void KviPasswordSelector::commit() +{ + QString tmp = m_pLineEdit->text(); + *m_pOption = tmp; +} + +void KviPasswordSelector::setEnabled(bool bEnabled) +{ + KviTalHBox::setEnabled(bEnabled); + m_pLineEdit->setEnabled(bEnabled); + m_pLabel->setEnabled(bEnabled); + m_pCheckBox->setEnabled(bEnabled); +} + +void KviPasswordSelector::setText(const QString& text){ + m_pLineEdit->setText(text); +} + +KviPasswordLineEdit::KviPasswordLineEdit(QWidget * par) +: KviTalHBox(par) +{ + m_pLineEdit = new QLineEdit(this); + m_pCheckBox = new QCheckBox(this); + m_pLineEdit->setEchoMode(QLineEdit::Password); + m_pCheckBox->setCheckState(Qt::Checked); + connect(m_pCheckBox,SIGNAL(stateChanged(int)), this, SLOT(checkToggled(int))); + //m_pLineEdit->setMinimumWidth(200); + setSpacing(4); + setStretchFactor(m_pLineEdit,1); +} + +void KviPasswordLineEdit::checkToggled(int state) +{ + if(state == Qt::Checked) + { + m_pLineEdit->setEchoMode(QLineEdit::Password); + } else { + m_pLineEdit->setEchoMode(QLineEdit::Normal); + } +} + +KviPasswordLineEdit::~KviPasswordLineEdit() +{ +} + +QString KviPasswordLineEdit::text() +{ + return m_pLineEdit->text(); +} + +void KviPasswordLineEdit::setEnabled(bool bEnabled) +{ + KviTalHBox::setEnabled(bEnabled); + m_pLineEdit->setEnabled(bEnabled); + m_pCheckBox->setEnabled(bEnabled); +} + +void KviPasswordLineEdit::setText(const QString& text){ + m_pLineEdit->setText(text); +} KviPixmapPreview::KviPixmapPreview(QWidget * par) : KviTalScrollView(par) diff --git a/src/kvirc/ui/kvi_selectors.h b/src/kvirc/ui/kvi_selectors.h index c98a282de..e4362c994 100644 --- a/src/kvirc/ui/kvi_selectors.h +++ b/src/kvirc/ui/kvi_selectors.h @@ -109,13 +109,44 @@ public slots: virtual void setEnabled(bool bEnabled); }; - -class KVIRC_API KviPasswordSelector : public KviStringSelector +class KVIRC_API KviPasswordSelector : public KviTalHBox, public KviSelectorInterface { Q_OBJECT public: KviPasswordSelector(QWidget * par,const QString & txt,QString * pOption,bool bEnabled); - ~KviPasswordSelector(){}; + ~KviPasswordSelector(); +protected: + QLabel * m_pLabel; + QLineEdit * m_pLineEdit; + QCheckBox * m_pCheckBox; + QString * m_pOption; +public: + void setValidator(QValidator * v){ m_pLineEdit->setValidator(v); }; + void setMinimumLabelWidth(unsigned int uWidth){ m_pLabel->setMinimumWidth(uWidth); }; + virtual void commit(); + void setText(const QString& text); +public slots: + virtual void setEnabled(bool bEnabled); +protected slots: + void checkToggled(int state); +}; + +class KVIRC_API KviPasswordLineEdit : public KviTalHBox +{ + Q_OBJECT +public: + KviPasswordLineEdit(QWidget * par); + ~KviPasswordLineEdit(); +protected: + QLineEdit * m_pLineEdit; + QCheckBox * m_pCheckBox; +public: + QString text(); + void setText(const QString& text); +public slots: + virtual void setEnabled(bool bEnabled); +protected slots: + void checkToggled(int state); }; class KVIRC_API KviPixmapPreview : public KviTalScrollView diff --git a/src/modules/editor/scripteditor.cpp b/src/modules/editor/scripteditor.cpp index 19b5aa50d..0d07dfbc0 100644 --- a/src/modules/editor/scripteditor.cpp +++ b/src/modules/editor/scripteditor.cpp @@ -410,7 +410,7 @@ void KviScriptEditorWidget::mouseReleaseEvent(QMouseEvent * e) if (e->button() == Qt::RightButton) { QString szBuffer; - /* + /\* int iPara = paragraphAt(e->pos()); int iIndex=charAt(e->pos(),&iPara); szBuffer = this->text(iPara); diff --git a/src/modules/mediaplayer/mp_mp3.cpp b/src/modules/mediaplayer/mp_mp3.cpp index 21d5bab7f..0d6ee9408 100644 --- a/src/modules/mediaplayer/mp_mp3.cpp +++ b/src/modules/mediaplayer/mp_mp3.cpp @@ -248,7 +248,7 @@ int get_first_header(mp3info *mp3, long startpos) fseek(mp3->file,startpos,SEEK_SET); while(1) { - while((c=fgetc(mp3->file)) != 255 && (c != EOF)); + while((c=fgetc(mp3->file)) != 255 && (c != EOF)) {} if(c == 255) { ungetc(c,mp3->file); diff --git a/src/modules/options/optw_interfacelookglobal.cpp b/src/modules/options/optw_interfacelookglobal.cpp index e3c5911bd..2864cb603 100644 --- a/src/modules/options/optw_interfacelookglobal.cpp +++ b/src/modules/options/optw_interfacelookglobal.cpp @@ -41,7 +41,7 @@ KviThemeGeneralOptionsWidget::KviThemeGeneralOptionsWidget(QWidget * parent) KviBoolSelector * b = addBoolSelector(0,1,1,1,__tr2qs_ctx("Use global application font","options"),KviOption_boolUseGlobalApplicationFont); KviTalToolTip::add(b,__tr2qs_ctx("This option will force a static font for every widget that has no specific font setting","options")); - KviBoolSelector * g = addBoolSelector(0,0,1,0,__tr2qs_ctx("Show icons in popup menus","options"),KviOption_boolShowIconsInPopupMenus); + addBoolSelector(0,0,1,0,__tr2qs_ctx("Show icons in popup menus","options"),KviOption_boolShowIconsInPopupMenus); KviFontSelector * f = addFontSelector(0,2,1,2,__tr2qs_ctx("Global application font:","options"),KviOption_fontApplication, KVI_OPTION_BOOL(KviOption_boolUseGlobalApplicationFont)); diff --git a/src/modules/options/optw_servers.cpp b/src/modules/options/optw_servers.cpp index 8492dd068..3b909e9d4 100644 --- a/src/modules/options/optw_servers.cpp +++ b/src/modules/options/optw_servers.cpp @@ -136,8 +136,7 @@ KviNetworkDetailsWidget::KviNetworkDetailsWidget(QWidget * par,KviNetwork * n) "specified in the \"Identity\" options tab.</center>","options")); l = new QLabel(__tr2qs_ctx("Password:","options"),gbox); - m_pPassEditor = new QLineEdit(gbox); - m_pPassEditor->setEchoMode(QLineEdit::Password); + m_pPassEditor = new KviPasswordLineEdit(gbox); m_pPassEditor->setText(n->password()); KviTalToolTip::add(m_pPassEditor,__tr2qs_ctx("<center>If this network requires a password, put it in this field, otherwise leave it empty.</center>","options")); @@ -420,17 +419,25 @@ void KviNetworkDetailsWidget::fillData(KviNetwork * n) if(m_pAutoConnectCheck) n->setAutoConnect(m_pAutoConnectCheck->isChecked()); if(m_pEncodingEditor) - if(m_pEncodingEditor->currentIndex() <= 0)n->setEncoding(QString()); - else { + { + if(m_pEncodingEditor->currentIndex() <= 0) + { + n->setEncoding(QString()); + } else { KviLocale::EncodingDescription * d = KviLocale::encodingDescription(m_pEncodingEditor->currentIndex() - 1); n->setEncoding(d->szName); } + } if(m_pTextEncodingEditor) - if(m_pTextEncodingEditor->currentIndex() <= 0)n->setTextEncoding(QString()); - else { + { + if(m_pTextEncodingEditor->currentIndex() <= 0) + { + n->setTextEncoding(QString()); + } else { KviLocale::EncodingDescription * dd = KviLocale::encodingDescription(m_pTextEncodingEditor->currentIndex() - 1); n->setTextEncoding(dd->szName); } + } if(m_pChannelListSelector) m_pChannelListSelector->commit(); if(m_lstChannels.isEmpty())n->setAutoJoinChannelList(0); @@ -512,8 +519,7 @@ KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviServer * s) "specified in the \"Identity\" options tab.</center>","options")); l = new QLabel(__tr2qs_ctx("Password:","options"),gbox); - m_pPassEditor = new QLineEdit(gbox); - m_pPassEditor->setEchoMode(QLineEdit::Password); + m_pPassEditor = new KviPasswordLineEdit(gbox); m_pPassEditor->setText(s->password()); KviTalToolTip::add(m_pPassEditor,__tr2qs_ctx("<center>If this server requires a password, put it in this field, otherwise leave it empty.</center>","options")); @@ -895,17 +901,25 @@ void KviServerDetailsWidget::fillData(KviServer * s) if(m_pLinkFilterEditor) s->setLinkFilter(m_pLinkFilterEditor->lineEdit()->text()); if(m_pEncodingEditor) - if(m_pEncodingEditor->currentIndex() <= 0)s->m_szEncoding = ""; - else { + { + if(m_pEncodingEditor->currentIndex() <= 0) + { + s->m_szEncoding = ""; + } else { KviLocale::EncodingDescription * d = KviLocale::encodingDescription(m_pEncodingEditor->currentIndex() - 1); s->m_szEncoding = d->szName; } + } if(m_pTextEncodingEditor) - if(m_pTextEncodingEditor->currentIndex() <= 0)s->m_szTextEncoding = ""; - else { + { + if(m_pTextEncodingEditor->currentIndex() <= 0) + { + s->m_szTextEncoding = ""; + } else { KviLocale::EncodingDescription * dd = KviLocale::encodingDescription(m_pTextEncodingEditor->currentIndex() - 1); s->m_szTextEncoding = dd->szName; } + } s->setIp(""); if(m_pCacheIpCheck) s->setCacheIp(m_pCacheIpCheck->isChecked()); diff --git a/src/modules/options/optw_servers.h b/src/modules/options/optw_servers.h index 64a053737..6dc264384 100644 --- a/src/modules/options/optw_servers.h +++ b/src/modules/options/optw_servers.h @@ -75,7 +75,7 @@ protected: KviScriptEditor * m_pOnLoginEditor; QLineEdit * m_pUserEditor; - QLineEdit * m_pPassEditor; + KviPasswordLineEdit * m_pPassEditor; QLineEdit * m_pNickEditor; QLineEdit * m_pRealEditor; QLineEdit * m_pDescEditor; @@ -114,7 +114,7 @@ protected: KviScriptEditor * m_pOnConnectEditor; KviScriptEditor * m_pOnLoginEditor; QLineEdit * m_pUserEditor; - QLineEdit * m_pPassEditor; + KviPasswordLineEdit * m_pPassEditor; QLineEdit * m_pNickEditor; QLineEdit * m_pRealEditor; QLineEdit * m_pDescEditor; |
