[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE_3_1_BRANCH: kdelibs/kdeui
From: George Staikos <staikos () kde ! org>
Date: 2003-04-30 20:58:14
[Download RAW message or body]
CVS commit by staikos:
backport fix for 57257
M +25 -5 kpassdlg.cpp 1.19.2.1
M +6 -0 kpassdlg.h 1.19.4.1
--- kdelibs/kdeui/kpassdlg.cpp #1.19:1.19.2.1
@@ -80,4 +80,5 @@ KPasswordEdit::KPasswordEdit(EchoMode ec
void KPasswordEdit::init()
{
+ setEchoMode(QLineEdit::Password); // Just in case
setAcceptDrops(false);
m_Password = new char[PassLen];
@@ -93,4 +94,18 @@ KPasswordEdit::~KPasswordEdit()
}
+void KPasswordEdit::insert(const QString &txt)
+{
+ QCString localTxt = txt.local8Bit();
+ for(unsigned int i=0; i < localTxt.length(); i++)
+ {
+ unsigned char ke = localTxt[i];
+ if (m_Length < (PassLen - 1))
+ {
+ m_Password[m_Length] = ke;
+ m_Password[++m_Length] = '\000';
+ }
+ }
+ showPass();
+}
void KPasswordEdit::erase()
@@ -133,9 +148,5 @@ void KPasswordEdit::keyPressEvent(QKeyEv
unsigned char ke = e->text().local8Bit()[0];
if (ke >= 32) {
- if (m_Length < (PassLen - 1)) {
- m_Password[m_Length] = ke;
- m_Password[++m_Length] = '\000';
- showPass();
- }
+ insert(e->text());
} else
e->ignore();
@@ -151,5 +162,14 @@ bool KPasswordEdit::event(QEvent *e) {
case QEvent::MouseButtonDblClick:
case QEvent::MouseMove:
+ case QEvent::IMStart:
+ case QEvent::IMCompose:
return TRUE; //Ignore
+
+ case QEvent::IMEnd:
+ {
+ QIMEvent *ie = (QIMEvent*) e;
+ insert( ie->text() );
+ return TRUE;
+ }
case QEvent::AccelOverride:
--- kdelibs/kdeui/kpassdlg.h #1.19:1.19.4.1
@@ -76,4 +76,10 @@ public:
static const int PassLen;
+public slots:
+ /**
+ * Reimplementation
+ */
+ virtual void insert( const QString &);
+
protected:
virtual void keyPressEvent(QKeyEvent *);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic