merge Zorg's changes
authorkoda
Mon, 20 Jun 2011 10:36:20 +0200
changeset 5265 e6b1a11c15e8
parent 5264 5e6f5373f686 (diff)
parent 5261 2db030882bc9 (current diff)
child 5266 1c2a7547efaa
merge Zorg's changes
--- a/QTfrontend/gameuiconfig.cpp	Mon Jun 20 02:03:15 2011 -0400
+++ b/QTfrontend/gameuiconfig.cpp	Mon Jun 20 10:36:20 2011 +0200
@@ -75,6 +75,8 @@
 
     Form->ui.pageOptions->editNetNick->setText(netNick);
     
+    Form->ui.pageOptions->editNetPassword->installEventFilter(this);
+    
     int passLength = value("net/passwordlength", 0).toInt();
     setNetPasswordLength(passLength);
 
@@ -327,6 +329,24 @@
     return (netPasswordLength() == 0 || Form->ui.pageOptions->editNetPassword->text() != QString(netPasswordLength(), '\0'));
 }
 
+// When hedgewars launches, the password field is set with null characters. If the user tries to edit the field and there are such characters, then clear the field
+bool GameUIConfig::eventFilter(QObject *object, QEvent *event)
+{
+    if (event->type() == QEvent::FocusIn)
+    {
+        if ((QLineEdit *)object == Form->ui.pageOptions->editNetPassword)
+        {
+            if (!netPasswordIsValid())
+            {
+                Form->ui.pageOptions->editNetPassword->clear();
+            }
+        }
+    }
+    
+    // Don't filter anything
+    return false;
+}
+
 void GameUIConfig::setNetPasswordLength(int passwordLength)
 {
     if (passwordLength > 0)
--- a/QTfrontend/gameuiconfig.h	Mon Jun 20 02:03:15 2011 -0400
+++ b/QTfrontend/gameuiconfig.h	Mon Jun 20 10:36:20 2011 +0200
@@ -22,6 +22,7 @@
 #include <QSettings>
 #include <QStringList>
 #include <QRect>
+#include <QEvent>
 
 class HWForm;
 class QSettings;
@@ -69,9 +70,9 @@
 
 public slots:
     void SaveOptions();
-
 private:
     bool netPasswordIsValid();
+    bool eventFilter(QObject *object, QEvent *event);
     quint8 depth;
 };