-rw-r--r-- | kmicromail/composemail.cpp | 21 | ||||
-rw-r--r-- | kmicromail/composemail.h | 1 | ||||
-rw-r--r-- | kmicromail/composemailui.ui | 74 | ||||
-rw-r--r-- | kmicromail/editaccounts.cpp | 19 | ||||
-rw-r--r-- | kmicromail/editaccounts.h | 1 | ||||
-rw-r--r-- | kmicromail/libmailwrapper/settings.cpp | 46 | ||||
-rw-r--r-- | kmicromail/libmailwrapper/settings.h | 6 | ||||
-rw-r--r-- | kmicromail/main.cpp | 2 | ||||
-rw-r--r-- | kmicromail/mainwindow.cpp | 2 | ||||
-rw-r--r-- | kmicromail/smtpconfigui.ui | 97 |
10 files changed, 178 insertions, 91 deletions
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp index 976e309..ed8a2ee 100644 --- a/kmicromail/composemail.cpp +++ b/kmicromail/composemail.cpp @@ -148,9 +148,11 @@ ComposeMail::ComposeMail( Settings *sett, QWidget *parent, const char *name, boo i18n( "Ok" ) ); return; } connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) ); - + connect( SaveSigButton, SIGNAL( clicked() ), SLOT( saveSig()) ); + if ( smtpAccountBox->count()) + fillValues(0); } void ComposeMail::fillSettings() @@ -164,10 +166,17 @@ void ComposeMail::fillSettings() fromBox->insertItem((*sit)); } senderNameEdit->setText(KOPrefs::instance()->mName); } - - +void ComposeMail::saveSig() +{ + if ( smtpAccountBox->count()) { + int cur = smtpAccountBox->currentItem (); + SMTPaccount *smtp = smtpAccounts.at( cur ); + if ( smtp ) + smtp->setSignature( sigMultiLine->text()); + } +} void ComposeMail::saveAsDraft() { Opie::Core::OSmartPointer<Mail> mail= new Mail(); @@ -337,9 +346,9 @@ void ComposeMail::pickAddressReply() mPickLineEdit = replyLine; pickAddress( ); } -void ComposeMail::fillValues( int ) +void ComposeMail::fillValues( int current ) { #if 0 SMTPaccount *smtp = smtpAccounts.at( current ); ccLine->clear(); @@ -353,10 +362,12 @@ void ComposeMail::fillValues( int ) replyLine->clear(); if ( smtp->getUseReply() ) { replyLine->setText( smtp->getReply() ); } - sigMultiLine->setText( smtp->getSignature() ); #endif + SMTPaccount *smtp = smtpAccounts.at( current ); + if ( smtp ) + sigMultiLine->setText( smtp->getSignature() ); } void ComposeMail::slotAdjustColumns() { diff --git a/kmicromail/composemail.h b/kmicromail/composemail.h index a7fa41c..966ac3e 100644 --- a/kmicromail/composemail.h +++ b/kmicromail/composemail.h @@ -67,8 +67,9 @@ private slots: void addAttachment(); void removeAttachment(); void clearStatus(); void setStatus( QString ); + void saveSig(); protected: QLineEdit* mPickLineEdit; Opie::Core::OSmartPointer<Mail> mMail; diff --git a/kmicromail/composemailui.ui b/kmicromail/composemailui.ui index 610907c..23f47d3 100644 --- a/kmicromail/composemailui.ui +++ b/kmicromail/composemailui.ui @@ -11,10 +11,10 @@ <name>geometry</name> <rect> <x>0</x> <y>0</y> - <width>579</width> - <height>476</height> + <width>275</width> + <height>382</height> </rect> </property> <property stdset="1"> <name>sizePolicy</name> @@ -330,26 +330,15 @@ </attribute> <grid> <property stdset="1"> <name>margin</name> - <number>3</number> + <number>2</number> </property> <property stdset="1"> <name>spacing</name> - <number>3</number> - </property> - <widget row="3" column="0" > - <class>QPushButton</class> - <property stdset="1"> - <name>name</name> - <cstring>replyButton</cstring> + <number>2</number> </property> - <property stdset="1"> - <name>text</name> - <string>Reply-To</string> - </property> - </widget> - <widget row="2" column="0" > + <widget row="1" column="0" > <class>QPushButton</class> <property stdset="1"> <name>name</name> <cstring>bccButton</cstring> @@ -358,77 +347,78 @@ <name>text</name> <string>BCC</string> </property> </widget> - <widget row="1" column="1" > + <widget row="0" column="1" > <class>QLineEdit</class> <property stdset="1"> <name>name</name> <cstring>ccLine</cstring> </property> </widget> - <widget row="2" column="1" > + <widget row="1" column="1" > <class>QLineEdit</class> <property stdset="1"> <name>name</name> <cstring>bccLine</cstring> </property> </widget> - <widget row="3" column="1" > + <widget row="2" column="1" > <class>QLineEdit</class> <property stdset="1"> <name>name</name> <cstring>replyLine</cstring> </property> </widget> - <widget row="6" column="0" rowspan="1" colspan="2" > + <widget row="4" column="0" rowspan="1" colspan="2" > <class>QMultiLineEdit</class> <property stdset="1"> <name>name</name> <cstring>sigMultiLine</cstring> </property> </widget> - <widget row="5" column="0" > - <class>QLabel</class> + <widget row="0" column="0" > + <class>QPushButton</class> <property stdset="1"> <name>name</name> - <cstring>sigLabel</cstring> + <cstring>ccButton</cstring> </property> <property stdset="1"> <name>text</name> - <string>Signature</string> + <string>CC</string> </property> </widget> - <spacer row="4" column="0" > - <property> + <widget row="3" column="1" > + <class>QPushButton</class> + <property stdset="1"> <name>name</name> - <cstring>Spacer3</cstring> + <cstring>SaveSigButton</cstring> </property> <property stdset="1"> - <name>orientation</name> - <enum>Vertical</enum> + <name>text</name> + <string>Save signature</string> </property> + </widget> + <widget row="2" column="0" > + <class>QPushButton</class> <property stdset="1"> - <name>sizeType</name> - <enum>Expanding</enum> + <name>name</name> + <cstring>replyButton</cstring> </property> - <property> - <name>sizeHint</name> - <size> - <width>20</width> - <height>20</height> - </size> + <property stdset="1"> + <name>text</name> + <string>Reply-To</string> </property> - </spacer> - <widget row="1" column="0" > - <class>QPushButton</class> + </widget> + <widget row="3" column="0" > + <class>QLabel</class> <property stdset="1"> <name>name</name> - <cstring>ccButton</cstring> + <cstring>sigLabel</cstring> </property> <property stdset="1"> <name>text</name> - <string>CC</string> + <string>Signature</string> </property> </widget> </grid> </widget> diff --git a/kmicromail/editaccounts.cpp b/kmicromail/editaccounts.cpp index 48c3963..8253c91 100644 --- a/kmicromail/editaccounts.cpp +++ b/kmicromail/editaccounts.cpp @@ -18,8 +18,9 @@ #include <qtabwidget.h> #include <qlistview.h> #include <qspinbox.h> #include <klocale.h> +#include <kfiledialog.h> #include <libmailwrapper/nntpwrapper.h> using namespace Opie::Core; @@ -478,18 +479,30 @@ SMTPconfig::SMTPconfig( SMTPaccount *account, QWidget *parent, const char *name, connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) ); connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) ); fillValues(); - + QIconSet icon; + //icon = SmallIcon("fileexport"); + icon = SmallIcon("fileopen"); + SignaturButton->setText(""); + SignaturButton->setIconSet (icon ) ; + SignaturButton->setMaximumSize ( SignaturButton->sizeHint().height()+4,SignaturButton->sizeHint().height()) ; + connect( SignaturButton, SIGNAL( clicked() ), this, SLOT( chooseSig() ) ); connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) ); ComboBox1->insertItem( "Only if available", 0 ); ComboBox1->insertItem( "Always, Negotiated", 1 ); ComboBox1->insertItem( "Connect on secure port", 2 ); ComboBox1->insertItem( "Run command instead", 3 ); CommandEdit->hide(); ComboBox1->setCurrentItem( data->ConnectionType() ); } - +void SMTPconfig::chooseSig() +{ + QString lnk = KFileDialog::getOpenFileName( "", "Choose Signatur File", this ); + if ( !lnk.isEmpty() ) { + SignaturEdit->setText( lnk ); + } +} void SMTPconfig::slotConnectionToggle( int index ) { // 2 is ssl connection if ( index == 2 ) @@ -515,8 +528,9 @@ void SMTPconfig::fillValues() ComboBox1->setCurrentItem( data->ConnectionType() ); loginBox->setChecked( data->getLogin() ); userLine->setText( data->getUser() ); passLine->setText( data->getPassword() ); + SignaturEdit->setText( data->getSigFile() ); } void SMTPconfig::accept() { @@ -526,8 +540,9 @@ void SMTPconfig::accept() data->setConnectionType( ComboBox1->currentItem() ); data->setLogin( loginBox->isChecked() ); data->setUser( userLine->text() ); data->setPassword( passLine->text() ); + data->setSigFile( SignaturEdit->text() ); QDialog::accept(); } diff --git a/kmicromail/editaccounts.h b/kmicromail/editaccounts.h index 6cf842e..465780c 100644 --- a/kmicromail/editaccounts.h +++ b/kmicromail/editaccounts.h @@ -120,8 +120,9 @@ public slots: protected slots: void slotConnectionToggle( int index ); void accept(); + void chooseSig(); private: SMTPaccount *data; diff --git a/kmicromail/libmailwrapper/settings.cpp b/kmicromail/libmailwrapper/settings.cpp index 19093b1..8f909f9 100644 --- a/kmicromail/libmailwrapper/settings.cpp +++ b/kmicromail/libmailwrapper/settings.cpp @@ -1,7 +1,11 @@ #include <stdlib.h> #include <qdir.h> +#include <qtextcodec.h> +#include <qtextstream.h> +#include <qfile.h> + //#include <opie2/odebug.h> #include <kconfig.h> #include <kstandarddirs.h> @@ -365,8 +369,47 @@ SMTPaccount::SMTPaccount( QString filename ) type = MAILLIB::A_SMTP; port = SMTP_PORT; } +QString SMTPaccount::getSignature() +{ + QFileInfo fi ( signature ); + if ( ! fi.exists() ) + return QString(); + + QFile file( signature ); + if (!file.open( IO_ReadOnly ) ) { + return QString(); + + } + QTextStream ts( &file ); + ts.setCodec( QTextCodec::codecForName("utf8") ); + QString text = ts.read(); + file.close(); + + return text; + +} +void SMTPaccount::setSignature( QString b ) +{ + + QFileInfo fi ( signature ); + if ( ! fi.exists() ) { + QString filedir( locateLocal("data", "kopiemail" ) ); + signature = filedir+ "/" + getAccountName() +".sig"; + qDebug("new sig %s ", signature.latin1()); + save(); + } + QFile fileIn( signature ); + if (!fileIn.open( IO_WriteOnly ) ) { + qDebug("OM: Cannot write signature file %s ", signature.latin1() ); + return ; + } + QTextStream tsIn( &fileIn ); + tsIn.setCodec( QTextCodec::codecForName("utf8") ); + tsIn << b ; + fileIn.close(); +} QString SMTPaccount::getUniqueFileName() { int num = 0; QString unique; @@ -391,9 +434,9 @@ void SMTPaccount::read() ssl = conf->readBoolEntry( "SSL" ); connectionType = conf->readNumEntry( "ConnectionType" ); login = conf->readBoolEntry( "Login" ); user = conf->readEntry( "User" ); - //password = conf->readEntryCrypt( "Password" ); + signature = conf->readEntry( "SigFile" ); setPasswordList( conf->readListEntry( "FolderHistory")); delete conf; } @@ -409,8 +452,9 @@ void SMTPaccount::save() conf->writeEntry( "SSL", ssl ); conf->writeEntry( "ConnectionType", connectionType ); conf->writeEntry( "Login", login ); conf->writeEntry( "User", user ); + conf->writeEntry( "SigFile", signature ); //conf->writeEntryCrypt( "Password", password ); conf->writeEntry( "FolderHistory",getPasswordList() ); conf->sync(); delete conf; diff --git a/kmicromail/libmailwrapper/settings.h b/kmicromail/libmailwrapper/settings.h index c996fe0..a6e95fe 100644 --- a/kmicromail/libmailwrapper/settings.h +++ b/kmicromail/libmailwrapper/settings.h @@ -126,8 +126,14 @@ public: void setLogin( bool b ) { login = b; } bool getLogin() { return login; } + void setSigFile( QString b ) { signature = b; } + QString getSigFile() { return signature; } + + QString getSignature(); + void setSignature( QString b ); + private: QString file, name, mail, org, cc, bcc, reply, signature; bool useCC, useBCC, useReply, login; diff --git a/kmicromail/main.cpp b/kmicromail/main.cpp index 006390c..1789da0 100644 --- a/kmicromail/main.cpp +++ b/kmicromail/main.cpp @@ -40,9 +40,9 @@ int main( int argc, char **argv ) { KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kopiemail/icons22/"); else KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kopiemail/"); #else - fileName = qApp->applicationDirPath () + "/kdepim/kopiemail/"; + fileName = qApp->applicationDirPath () + "/kdepim/kopiemail/icons22/"; KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName)); #endif KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "kopiemail"))); KPimGlobalPrefs::instance()->setGlobalConfig(); diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp index 0794e00..4c58909 100644 --- a/kmicromail/mainwindow.cpp +++ b/kmicromail/mainwindow.cpp @@ -234,8 +234,10 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); li->addTo(helpMenu); connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); slotSetCodec( KOPrefs::instance()->mCurrentCodec ); + menuBar->setMaximumWidth( menuBar->sizeHint().width()); + //menuBar->setMaximumSize( menuBar->sizeHint()); #ifdef DESKTOP_VERSION resize ( 640, 480 ); #endif } diff --git a/kmicromail/smtpconfigui.ui b/kmicromail/smtpconfigui.ui index ae0a49a..aae6f12 100644 --- a/kmicromail/smtpconfigui.ui +++ b/kmicromail/smtpconfigui.ui @@ -11,10 +11,10 @@ <name>geometry</name> <rect> <x>0</x> <y>0</y> - <width>331</width> - <height>426</height> + <width>266</width> + <height>365</height> </rect> </property> <property stdset="1"> <name>caption</name> @@ -28,13 +28,13 @@ </property> <vbox> <property stdset="1"> <name>margin</name> - <number>3</number> + <number>5</number> </property> <property stdset="1"> <name>spacing</name> - <number>3</number> + <number>2</number> </property> <widget> <class>QLabel</class> <property stdset="1"> @@ -57,26 +57,8 @@ <string>Name of the Account</string> </property> </widget> <widget> - <class>Line</class> - <property stdset="1"> - <name>name</name> - <cstring>line1</cstring> - </property> - <property stdset="1"> - <name>sizePolicy</name> - <sizepolicy> - <hsizetype>1</hsizetype> - <vsizetype>0</vsizetype> - </sizepolicy> - </property> - <property stdset="1"> - <name>orientation</name> - <enum>Horizontal</enum> - </property> - </widget> - <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> <cstring>Layout20</cstring> @@ -199,26 +181,8 @@ <string>ssh $SERVER exec</string> </property> </widget> <widget> - <class>Line</class> - <property stdset="1"> - <name>name</name> - <cstring>line2</cstring> - </property> - <property stdset="1"> - <name>sizePolicy</name> - <sizepolicy> - <hsizetype>1</hsizetype> - <vsizetype>0</vsizetype> - </sizepolicy> - </property> - <property stdset="1"> - <name>orientation</name> - <enum>Horizontal</enum> - </property> - </widget> - <widget> <class>QCheckBox</class> <property stdset="1"> <name>name</name> <cstring>loginBox</cstring> @@ -326,8 +290,61 @@ </vbox> </widget> </hbox> </widget> + <widget> + <class>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout7</cstring> + </property> + <hbox> + <property stdset="1"> + <name>margin</name> + <number>0</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>6</number> + </property> + <widget> + <class>QLabel</class> + <property stdset="1"> + <name>name</name> + <cstring>TextLabel1_2</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Signatur File</string> + </property> + </widget> + <widget> + <class>QLineEdit</class> + <property stdset="1"> + <name>name</name> + <cstring>SignaturEdit</cstring> + </property> + </widget> + <widget> + <class>QPushButton</class> + <property stdset="1"> + <name>name</name> + <cstring>SignaturButton</cstring> + </property> + <property stdset="1"> + <name>sizePolicy</name> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + </sizepolicy> + </property> + <property stdset="1"> + <name>text</name> + <string>F</string> + </property> + </widget> + </hbox> + </widget> <spacer> <property> <name>name</name> <cstring>spacer</cstring> |