OSDN Git Service

save password settings.
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Sun, 18 Jul 2004 09:10:50 +0000 (09:10 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Sun, 18 Jul 2004 09:10:50 +0000 (09:10 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@1254 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/kita.cpp
kita/src/kita.h
kita/src/libkita/kitaconfig.h
kita/src/loginprefbase.ui
kita/src/loginprefpage.cpp
kita/src/loginprefpage.h
kita/src/pref.cpp

index 1db69a3..a9b2c41 100644 (file)
@@ -311,6 +311,10 @@ void KitaMainWindow::writeConfig( KConfig* config )
     config->setGroup( "Color" );
     config->writeEntry( "Popup", KitaConfig::popupColor() );
     config->writeEntry( "PopupBackground", KitaConfig::popupBackgroundColor() );
+    
+    config->setGroup( "Account" );
+    config->writeEntry( "UserID", KitaConfig::userID() );
+    config->writeEntry( "Password", encryptStr( KitaConfig::password() ) );
 }
 
 void KitaMainWindow::saveProperties( KConfig* config )
@@ -362,6 +366,10 @@ void KitaMainWindow::readConfig( KConfig* config )
     {
         KitaConfig::setPopupBackgroundColor( popupBackgroundColor );
     }
+    
+    config->setGroup( "Account" );
+    KitaConfig::setUserID( config->readEntry( "UserID" ) );
+    KitaConfig::setPassword( decryptStr( config->readEntry( "Password" ) ) );
 }
 
 void KitaMainWindow::readProperties( KConfig* config )
@@ -974,4 +982,21 @@ void KitaMainWindow::slotIsKitaActive()
 }
 
 
+/*
+ * encryptStr and decryptStr are copied from kdepim/kmail/kmaccount.{h,cpp}
+ */
+QString KitaMainWindow::encryptStr( const QString& aStr )
+{
+    QString result;
+    for (uint i = 0; i < aStr.length(); i++)
+        result += (aStr[i].unicode() < 0x20) ? aStr[i] :
+                  QChar(0x1001F - aStr[i].unicode());
+    return result;
+}
+
+QString KitaMainWindow::decryptStr( const QString& aStr )
+{
+    return encryptStr( aStr );
+}
+
 #include "kita.moc"
index bde92da..cd672ab 100644 (file)
@@ -132,6 +132,9 @@ private:
     KDockWidget* m_mainDock;
     KDockWidget* m_boardDock;
     KDockWidget* m_subjectDock;
+        
+    QString encryptStr( const QString& str );
+    QString decryptStr( const QString& str );
 
     void setupAccel();
     void setupActions();
index 8077a93..7ab99e4 100644 (file)
@@ -55,6 +55,8 @@ private:
     int m_preShowNum;
     bool m_usePart;
     QStringList m_partMimeList;
+    QString m_userID;
+    QString m_password;
     
     KitaConfig();
     virtual ~KitaConfig();
@@ -111,6 +113,10 @@ public:
     static void setPartMimeList( const QStringList value ) { getInstance()->m_partMimeList = value; }
     static void setPartMimeList( const QString& value )
         { getInstance()->m_partMimeList = QStringList::split( ',', value ); }
+    static QString userID() { return getInstance()->m_userID; }
+    static void setUserID( const QString id ) { getInstance()->m_userID = id; }
+    static QString password() { return getInstance()->m_password; }
+    static void setPassword( const QString pass ) { getInstance()->m_password = pass; }
 };
 
 #endif
index d88b574..066f9d1 100644 (file)
@@ -37,7 +37,7 @@
                         </property>
                         <widget class="QLabel" row="0" column="0">
                             <property name="name">
-                                <cstring>useIDLabel</cstring>
+                                <cstring>userIDLabel</cstring>
                             </property>
                             <property name="text">
                                 <string>User ID</string>
@@ -45,7 +45,7 @@
                         </widget>
                         <widget class="KLineEdit" row="0" column="1">
                             <property name="name">
-                                <cstring>useIDLine</cstring>
+                                <cstring>userIDLine</cstring>
                             </property>
                         </widget>
                         <widget class="QLabel" row="1" column="0">
index a8f0f75..0410353 100644 (file)
@@ -9,13 +9,27 @@
  ***************************************************************************/
 #include "loginprefpage.h"
 
+#include "kpassdlg.h"
+
 using namespace Kita;
 LoginPrefPage::LoginPrefPage( QWidget *parent )
         : LoginPrefBase( parent )
-{}
+{
+    userIDLine->setText( KitaConfig::userID() );
+    passwordLine->insert( KitaConfig::password() );
+    
+    connect( userIDLine, SIGNAL( textChanged( const QString& ) ), SIGNAL( changed() ) );
+    connect( passwordLine, SIGNAL( textChanged( const QString& ) ), SIGNAL( changed() ) );
+}
 
 
 LoginPrefPage::~LoginPrefPage()
 {}
 
+void LoginPrefPage::apply()
+{
+    KitaConfig::setUserID( userIDLine->text() );
+    KitaConfig::setPassword( passwordLine->password() );
+}
+
 #include "loginprefpage.moc"
index a81938e..26eb2bc 100644 (file)
@@ -20,9 +20,13 @@ namespace Kita
     class LoginPrefPage : public LoginPrefBase
     {
         Q_OBJECT
+    public slots:
+        void apply();
     public:
         LoginPrefPage( QWidget *parent = 0 );
         ~LoginPrefPage();
+    signals:
+        void changed();
     };
 }
 
index 2a0a97a..fd4bc65 100644 (file)
@@ -74,6 +74,7 @@ KitaPreferences::KitaPreferences()
     connect( m_asciiArtPage, SIGNAL( changed() ), SLOT( slotChanged() ) );
     connect( m_uiPage, SIGNAL( changed() ), SLOT( slotChanged() ) );
     connect( m_abonePage, SIGNAL( changed() ), SLOT( slotChanged() ) );
+    connect( m_loginPage, SIGNAL( changed() ), SLOT( slotChanged() ) );
 }
 
 void KitaPreferences::slotApply()
@@ -103,6 +104,10 @@ void KitaPreferences::slotApply()
         m_abonePage->apply();
         break;
     case 5:
+        // login
+        m_loginPage->apply();
+        break;
+    case 6:
         // debug
         break;
     }
@@ -138,6 +143,7 @@ void KitaPreferences::slotOk()
     m_asciiArtPage->commit();
     m_uiPage->apply();
     m_abonePage->apply();
+    m_loginPage->apply();
 
     KDialogBase::slotOk();
 }