OSDN Git Service

be.2ch.net support. thanks to http://jbbs.livedoor.jp/bbs/read.cgi/computer/18420...
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Tue, 3 May 2005 04:10:26 +0000 (04:10 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Tue, 3 May 2005 04:10:26 +0000 (04:10 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@1718 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/libkita/kitaconfig.cpp
kita/src/libkita/kitaconfig.h
kita/src/prefs/loginprefbase.ui
kita/src/prefs/loginprefpage.cpp
kita/src/write/writedialogbase.ui
kita/src/write/writeview.cpp
kita/src/write/writeview.h

index f5d4f7c..37d99a5 100644 (file)
@@ -51,6 +51,8 @@ KitaConfig::KitaConfig()
         m_useMosaic( KitaConfig::defaultUseMosaic() ),
         m_useKitaNavi( KitaConfig::defaultUseKitaNavi() ),
         m_partMimeList( KitaConfig::defaultPartMimeList() ),
+        m_BeMailAddress( KitaConfig::defaultBeMailAddress() ),
+        m_BeAuthCode( KitaConfig::defaultBeAuthCode() ),
         m_userID( KitaConfig::defaultUserID() ),
         m_password( KitaConfig::defaultPassword() ),
         m_autoLogin( KitaConfig::defaultAutoLogin() ),
@@ -90,6 +92,8 @@ void KitaConfig::writeConfig( KConfig* config )
     config->writeEntry( "PopupBackground", KitaConfig::popupBackgroundColor() );
 
     config->setGroup( "Account" );
+    config->writeEntry( "BeMailAddress", KitaConfig::BeMailAddress() );
+    config->writeEntry( "BeAuthCode", KitaConfig::BeAuthCode() );
     config->writeEntry( "UserID", KitaConfig::userID() );
     config->writeEntry( "Password", encryptStr( KitaConfig::password() ) );
     config->writeEntry( "AutoLogin", KitaConfig::autoLogin() );
@@ -186,6 +190,8 @@ void KitaConfig::readConfig( KConfig* config )
     }
 
     config->setGroup( "Account" );
+    KitaConfig::setBeMailAddress( config->readEntry( "BeMailAddress", KitaConfig::defaultBeMailAddress() ) );
+    KitaConfig::setBeAuthCode( config->readEntry( "BeAuthCode", KitaConfig::defaultBeAuthCode() ) );
     KitaConfig::setUserID( config->readEntry( "UserID" , KitaConfig::defaultUserID() ) );
     KitaConfig::setPassword( decryptStr( config->readEntry( "Password" , KitaConfig::defaultPassword() ) ) );
     KitaConfig::setAutoLogin( config->readBoolEntry( "AutoLogin", KitaConfig::defaultAutoLogin() ) );
index ffec1e9..e30a293 100644 (file)
@@ -60,6 +60,8 @@ private:
     QStringList m_partMimeList;
     QString m_userID;
     QString m_password;
+    QString m_BeMailAddress;
+    QString m_BeAuthCode;
     bool m_autoLogin;
     bool m_checkResponsed;
     bool m_copyOnClick;
@@ -203,6 +205,14 @@ public:
     static void setAutoLogin( bool value ) { getInstance() ->m_autoLogin = value; }
     static bool defaultAutoLogin() { return false; }
 
+    static QString BeMailAddress() { return getInstance() ->m_BeMailAddress; }
+    static void setBeMailAddress( const QString addr ) { getInstance() ->m_BeMailAddress = addr; }
+    static QString defaultBeMailAddress() { return ""; }
+
+    static QString BeAuthCode() { return getInstance() ->m_BeAuthCode; }
+    static void setBeAuthCode( const QString code ) { getInstance() ->m_BeAuthCode = code; }
+    static QString defaultBeAuthCode() { return ""; }
+
     static bool checkResponsed() { return getInstance() ->m_checkResponsed; }
     static void setCheckResponsed( bool value ) { getInstance() ->m_checkResponsed = value; }
     static bool defaultCheckResponsed() { return true; }
index f09ff89..35fe412 100644 (file)
     <property name="caption">
         <string>Form1</string>
     </property>
-    <vbox>
+    <grid>
         <property name="name">
             <cstring>unnamed</cstring>
         </property>
-        <widget class="QLayoutWidget">
+        <widget class="QLayoutWidget" row="0" column="0">
             <property name="name">
                 <cstring>layout5</cstring>
             </property>
                 </spacer>
             </hbox>
         </widget>
-        <widget class="QCheckBox">
+        <widget class="QCheckBox" row="1" column="0">
             <property name="name">
                 <cstring>autoLoginCheckBox</cstring>
             </property>
             <property name="text">
-                <string>enables auto login</string>
+                <string>enables &amp;auto login</string>
             </property>
         </widget>
-        <spacer>
+        <widget class="QLayoutWidget" row="2" column="0">
+            <property name="name">
+                <cstring>layout6</cstring>
+            </property>
+            <hbox>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QLayoutWidget">
+                    <property name="name">
+                        <cstring>layout9</cstring>
+                    </property>
+                    <grid>
+                        <property name="name">
+                            <cstring>unnamed</cstring>
+                        </property>
+                        <widget class="QLabel" row="0" column="0">
+                            <property name="name">
+                                <cstring>BeMailAddressLabel</cstring>
+                            </property>
+                            <property name="text">
+                                <string>Be mail address</string>
+                            </property>
+                        </widget>
+                        <widget class="KLineEdit" row="0" column="1">
+                            <property name="name">
+                                <cstring>BeMailAddressLine</cstring>
+                            </property>
+                        </widget>
+                        <widget class="QLabel" row="1" column="0">
+                            <property name="name">
+                                <cstring>BeAuthCodeLabel</cstring>
+                            </property>
+                            <property name="text">
+                                <string>Be auth code</string>
+                            </property>
+                        </widget>
+                        <widget class="KLineEdit" row="1" column="1">
+                            <property name="name">
+                                <cstring>BeAuthCodeLine</cstring>
+                            </property>
+                        </widget>
+                    </grid>
+                </widget>
+                <spacer>
+                    <property name="name">
+                        <cstring>spacer7</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>40</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+            </hbox>
+        </widget>
+        <spacer row="4" column="0">
             <property name="name">
                 <cstring>spacer5</cstring>
             </property>
             <property name="sizeHint">
                 <size>
                     <width>20</width>
-                    <height>340</height>
+                    <height>260</height>
                 </size>
             </property>
         </spacer>
-    </vbox>
+    </grid>
 </widget>
 <layoutdefaults spacing="6" margin="11"/>
 <includehints>
     <includehint>klineedit.h</includehint>
     <includehint>kpassdlg.h</includehint>
+    <includehint>klineedit.h</includehint>
+    <includehint>klineedit.h</includehint>
 </includehints>
 </UI>
index d6b6642..75ac2e0 100644 (file)
@@ -23,10 +23,14 @@ LoginPrefPage::LoginPrefPage( QWidget *parent )
     userIDLine->setText( KitaConfig::userID() );
     passwordLine->insert( KitaConfig::password() );
     autoLoginCheckBox->setChecked( KitaConfig::autoLogin() );
+    BeMailAddressLine->setText( KitaConfig::BeMailAddress() );
+    BeAuthCodeLine->insert( KitaConfig::BeAuthCode() );
 
     connect( userIDLine, SIGNAL( textChanged( const QString& ) ), SIGNAL( changed() ) );
     connect( passwordLine, SIGNAL( textChanged( const QString& ) ), SIGNAL( changed() ) );
     connect( autoLoginCheckBox, SIGNAL( toggled( bool ) ), SIGNAL( changed() ) );
+    connect( BeMailAddressLine, SIGNAL( textChanged( const QString& ) ), SIGNAL( changed() ) );
+    connect( BeAuthCodeLine, SIGNAL( textChanged( const QString& ) ), SIGNAL( changed() ) );
 }
 
 
@@ -38,6 +42,8 @@ void LoginPrefPage::apply()
     KitaConfig::setUserID( userIDLine->text() );
     KitaConfig::setPassword( passwordLine->password() );
     KitaConfig::setAutoLogin( autoLoginCheckBox->isChecked() );
+    KitaConfig::setBeMailAddress( BeMailAddressLine->text() );
+    KitaConfig::setBeAuthCode( BeAuthCodeLine->text() );
 }
 
 #include "loginprefpage.moc"
index 075aa78..71c1d03 100644 (file)
@@ -84,7 +84,7 @@
         </widget>
         <widget class="QLayoutWidget">
             <property name="name">
-                <cstring>layout8</cstring>
+                <cstring>layout4</cstring>
             </property>
             <hbox>
                 <property name="name">
                         <cstring>sageBox</cstring>
                     </property>
                     <property name="text">
-                        <string>sage</string>
+                        <string>&amp;sage</string>
+                    </property>
+                    <property name="accel">
+                        <string>Alt+S</string>
+                    </property>
+                </widget>
+                <widget class="QCheckBox">
+                    <property name="name">
+                        <cstring>beBox</cstring>
+                    </property>
+                    <property name="text">
+                        <string>&amp;be</string>
+                    </property>
+                    <property name="accel">
+                        <string>Alt+B</string>
                     </property>
                 </widget>
             </hbox>
                     </property>
                     <property name="sizeHint">
                         <size>
-                            <width>90</width>
+                            <width>40</width>
                             <height>20</height>
                         </size>
                     </property>
     </connection>
 </connections>
 <includes>
-    <include location="local" impldecl="in implementation">kitawritedialogbase.ui.h</include>
+    <include location="local" impldecl="in implementation">writedialogbase.ui.h</include>
 </includes>
 <variables>
     <variable>QString m_mailswap;</variable>
index d2cf427..313c076 100644 (file)
@@ -162,6 +162,13 @@ KitaWriteView::KitaWriteView( QWidget* parent, const char* name, const KURL& url
     sageBox->setChecked( true );
     m_mailswap = "";
 
+    QRegExp host_2ch( ".+\\.2ch\\.net" );
+    if ( host_2ch.search( m_bbscgi.host() ) != -1
+        && KitaConfig::BeMailAddress().length() > 0
+        && KitaConfig::BeAuthCode().length() > 0 ) {
+        beBox->setChecked( true );
+    }
+
     /* setup AA */
     faceCombo->clear();
     faceCombo->setFont( KitaConfig::threadFont() );
@@ -273,6 +280,11 @@ void KitaWriteView::slotPostMessage()
     job->addMetaData( "content-type", "Content-type: application/x-www-form-urlencoded" );
     job->addMetaData( "referrer", refStr );
 
+    /* 2ch.net cookie modify */
+    if ( m_bbstype == Kita::Board_2ch ) {
+        set2chCookieStr( job );
+    }
+
     connect( job, SIGNAL( data( KIO::Job*, const QByteArray& ) ),
              this, SLOT( slotRecieveData( KIO::Job*, const QByteArray& ) ) );
 
@@ -692,3 +704,22 @@ QString KitaWriteView::resultTitle( const QString& response ) const
         return QString::null;
     }
 }
+
+/* create cookie header for 2ch.net */ /* private */
+void KitaWriteView::set2chCookieStr( KIO::TransferJob* job )
+{
+    QString cookie = "Cookie: ";
+
+    /* be */
+    QRegExp host_2ch( ".+\\.2ch\\.net" );
+    if ( host_2ch.search( m_bbscgi.host() ) != -1 && beBox->isChecked() ) {
+        QString BeMailAddress = KitaConfig::BeMailAddress();
+        QString BeAuthCode = KitaConfig::BeAuthCode();
+        if ( BeMailAddress.length() > 0 && BeAuthCode.length() > 0 ) {
+            cookie += "DMDM=" + BeMailAddress + "; ";
+            cookie += "MDMD=" + BeAuthCode + "; ";
+        }
+    }
+
+    job->addMetaData( "customHTTPHeader", cookie );
+}
index 5109f68..6454bfd 100644 (file)
@@ -81,6 +81,7 @@ private:
     int resultCode( const QString& response ) const;
     QString resultMessage( const QString& response ) const;
     QString resultTitle( const QString& response ) const;
+    void set2chCookieStr( KIO::TransferJob* job );
 
 
 signals: