-rw-r--r-- | kmicromail/mainwindow.cpp | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp index 875ab77..250d114 100644 --- a/kmicromail/mainwindow.cpp +++ b/kmicromail/mainwindow.cpp | |||
@@ -7,32 +7,33 @@ | |||
7 | #include <qlayout.h> | 7 | #include <qlayout.h> |
8 | //#include <kdialog.h> | 8 | //#include <kdialog.h> |
9 | #include <kiconloader.h> | 9 | #include <kiconloader.h> |
10 | #include <kapplication.h> | 10 | #include <kapplication.h> |
11 | 11 | ||
12 | #ifdef DESKTOP_VERSION | 12 | #ifdef DESKTOP_VERSION |
13 | #include <qapplication.h> | 13 | #include <qapplication.h> |
14 | #include <qstatusbar.h> | 14 | #include <qstatusbar.h> |
15 | #include <kabc/stdaddressbook.h> | 15 | #include <kabc/stdaddressbook.h> |
16 | extern QStatusBar* globalSstatusBarMainWindow; | 16 | extern QStatusBar* globalSstatusBarMainWindow; |
17 | #else | 17 | #else |
18 | #include <qpe/qpeapplication.h> | 18 | #include <qpe/qpeapplication.h> |
19 | #include <klocale.h> | 19 | #include <klocale.h> |
20 | #endif | 20 | #endif |
21 | #include "defines.h" | 21 | #include "defines.h" |
22 | #include "mainwindow.h" | 22 | #include "mainwindow.h" |
23 | #include "mailistviewitem.h" | ||
23 | #include <KDGanttMinimizeSplitter.h> | 24 | #include <KDGanttMinimizeSplitter.h> |
24 | 25 | ||
25 | #include "koprefs.h" | 26 | #include "koprefs.h" |
26 | 27 | ||
27 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | 28 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) |
28 | : QMainWindow( parent, name ) //, flags ) | 29 | : QMainWindow( parent, name ) //, flags ) |
29 | { | 30 | { |
30 | #ifdef DESKTOP_VERSION | 31 | #ifdef DESKTOP_VERSION |
31 | globalSstatusBarMainWindow = statusBar(); | 32 | globalSstatusBarMainWindow = statusBar(); |
32 | #endif | 33 | #endif |
33 | setCaption( i18n( "KOpieMail/Pi" ) ); | 34 | setCaption( i18n( "KOpieMail/Pi" ) ); |
34 | setToolBarsMovable( false ); | 35 | setToolBarsMovable( false ); |
35 | //KABC::StdAddressBook::self(); | 36 | //KABC::StdAddressBook::self(); |
36 | toolBar = new QToolBar( this ); | 37 | toolBar = new QToolBar( this ); |
37 | menuBar = new QPEMenuBar( toolBar ); | 38 | menuBar = new QPEMenuBar( toolBar ); |
38 | mailMenu = new QPopupMenu( menuBar ); | 39 | mailMenu = new QPopupMenu( menuBar ); |
@@ -103,74 +104,91 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | |||
103 | editAccounts->addTo( settingsMenu ); | 104 | editAccounts->addTo( settingsMenu ); |
104 | codecMenu = new QPopupMenu( menuBar ); | 105 | codecMenu = new QPopupMenu( menuBar ); |
105 | codecMenu->insertItem( "Western (iso-8859-1)",0,0); | 106 | codecMenu->insertItem( "Western (iso-8859-1)",0,0); |
106 | codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1); | 107 | codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1); |
107 | codecMenu->insertItem( "Western (iso-8859-15)",2,2); | 108 | codecMenu->insertItem( "Western (iso-8859-15)",2,2); |
108 | codecMenu->insertItem( "Chinese (big-5)",3,3); | 109 | codecMenu->insertItem( "Chinese (big-5)",3,3); |
109 | codecMenu->insertItem( "Unicode (utf-8)",4,4); | 110 | codecMenu->insertItem( "Unicode (utf-8)",4,4); |
110 | codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5); | 111 | codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5); |
111 | //disabled | 112 | //disabled |
112 | //settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu); | 113 | //settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu); |
113 | //setCentralWidget( view ); | 114 | //setCentralWidget( view ); |
114 | 115 | ||
115 | QVBox* wrapperBox = new QVBox( this ); | 116 | QVBox* wrapperBox = new QVBox( this ); |
116 | setCentralWidget( wrapperBox ); | 117 | setCentralWidget( wrapperBox ); |
117 | 118 | ||
118 | // QWidget *view = new QWidget( wrapperBox ); | 119 | // QWidget *view = new QWidget( wrapperBox ); |
119 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox); | 120 | KDGanttMinimizeSplitter* splithor = new KDGanttMinimizeSplitter( Qt::Vertical, wrapperBox); |
121 | splithor->setMinimizeDirection( KDGanttMinimizeSplitter::Down); | ||
122 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, splithor); | ||
120 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); | 123 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); |
121 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); | 124 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); |
122 | 125 | QWidget* infoBox = new QWidget( splithor ); | |
126 | QGridLayout *griLay = new QGridLayout( infoBox, 2,2); | ||
127 | griLay->addWidget( new QLabel ( i18n("Su:"), infoBox ),0,0 ); | ||
128 | griLay->addWidget( new QLabel ( i18n("Fr:"), infoBox ),1,0 ); | ||
129 | griLay->addWidget( new QLabel ( i18n("To:"), infoBox ),2,0 ); | ||
130 | griLay->addWidget( subLE = new QLineEdit( infoBox ),0,1) ; | ||
131 | griLay->addWidget( fromLE = new QLineEdit( infoBox ),1,1) ; | ||
132 | griLay->addWidget( toLE = new QLineEdit( infoBox ),2,1) ; | ||
133 | infoBox->setMaximumHeight( infoBox->sizeHint().height() ); | ||
123 | folderView = new AccountView( split ); | 134 | folderView = new AccountView( split ); |
124 | folderView->header()->hide(); | 135 | folderView->header()->hide(); |
125 | folderView->setRootIsDecorated( false ); | 136 | folderView->setRootIsDecorated( false ); |
126 | folderView->addColumn( i18n( "Mailbox" ) ); | 137 | folderView->addColumn( i18n( "Mailbox" ) ); |
127 | 138 | ||
128 | //layout->addWidget( folderView ); | 139 | //layout->addWidget( folderView ); |
129 | 140 | ||
130 | mailView = new QListView( split ); | 141 | mailView = new QListView( split ); |
131 | mailView->addColumn( i18n( " " ) ); | 142 | mailView->addColumn( i18n( " " ) ); |
132 | mailView->addColumn( i18n( "Subject" ),QListView::Manual ); | 143 | mailView->addColumn( i18n( "Subject" ),QListView::Manual ); |
133 | mailView->addColumn( i18n( "Sender" ),QListView::Manual ); | 144 | mailView->addColumn( i18n( "Sender" ),QListView::Manual ); |
134 | mailView->addColumn( i18n( "Size" ),QListView::Manual); | 145 | mailView->addColumn( i18n( "Size" ),QListView::Manual); |
135 | mailView->addColumn( i18n( "Date" ),QListView::Manual); | 146 | mailView->addColumn( i18n( "Date" ),QListView::Manual); |
136 | if ( KOPrefs::instance()->mShowToField ) | 147 | if ( KOPrefs::instance()->mShowToField ) |
137 | mailView->addColumn( i18n( "To" ),QListView::Manual); | 148 | mailView->addColumn( i18n( "To" ),QListView::Manual); |
138 | mailView->setAllColumnsShowFocus(true); | 149 | mailView->setAllColumnsShowFocus(true); |
139 | //mailView->setSorting(-1); | 150 | //mailView->setSorting(-1); |
140 | mailView->setRootIsDecorated( false ); | 151 | mailView->setRootIsDecorated( false ); |
141 | statusWidget = new StatusWidget( wrapperBox ); | 152 | statusWidget = new StatusWidget( wrapperBox ); |
142 | statusWidget->hide(); | 153 | statusWidget->hide(); |
143 | 154 | ||
144 | //layout->addWidget( mailView ); | 155 | //layout->addWidget( mailView ); |
145 | //layout->setStretchFactor( folderView, 1 ); | 156 | //layout->setStretchFactor( folderView, 1 ); |
146 | //layout->setStretchFactor( mailView, 2 ); | 157 | //layout->setStretchFactor( mailView, 2 ); |
147 | 158 | ||
148 | slotAdjustLayout(); | 159 | slotAdjustLayout(); |
149 | #ifndef DESKTOP_VERSION | 160 | #ifndef DESKTOP_VERSION |
150 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); | 161 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); |
151 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); | 162 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); |
163 | QPEApplication::setStylusOperation( subLE ,QPEApplication::RightOnHold); | ||
164 | QPEApplication::setStylusOperation( fromLE ,QPEApplication::RightOnHold); | ||
165 | QPEApplication::setStylusOperation( toLE ,QPEApplication::RightOnHold); | ||
152 | #endif | 166 | #endif |
153 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, | 167 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, |
154 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 168 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
155 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, | 169 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, |
156 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 170 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
157 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, | 171 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, |
158 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); | 172 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); |
159 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), | 173 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), |
160 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); | 174 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); |
175 | |||
176 | connect( mailView, SIGNAL( currentChanged (QListViewItem* )),this, | ||
177 | SLOT( setInfoFields(QListViewItem*) ) ); | ||
178 | |||
161 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); | 179 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); |
162 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); | 180 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); |
163 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); | 181 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); |
164 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); | 182 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); |
165 | //mailView->setMultiSelection ( true ); | 183 | //mailView->setMultiSelection ( true ); |
166 | mailView->setSelectionMode( QListView::Extended ); | 184 | mailView->setSelectionMode( QListView::Extended ); |
167 | QValueList<int> list; | 185 | QValueList<int> list; |
168 | int fw = 100; | 186 | int fw = 100; |
169 | if ( QApplication::desktop()->width() > 320 ) | 187 | if ( QApplication::desktop()->width() > 320 ) |
170 | fw = 50; | 188 | fw = 50; |
171 | list.append( fw ); | 189 | list.append( fw ); |
172 | list.append( 100 ); | 190 | list.append( 100 ); |
173 | split->setSizes( list ); | 191 | split->setSizes( list ); |
174 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); | 192 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); |
175 | mailView->setShowSortIndicator ( true ); | 193 | mailView->setShowSortIndicator ( true ); |
176 | QLabel *spacer = new QLabel( toolBar ); | 194 | QLabel *spacer = new QLabel( toolBar ); |
@@ -193,32 +211,49 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | |||
193 | connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); | 211 | connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); |
194 | li->addTo(helpMenu); | 212 | li->addTo(helpMenu); |
195 | li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); | 213 | li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); |
196 | connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); | 214 | connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); |
197 | li->addTo(helpMenu); | 215 | li->addTo(helpMenu); |
198 | connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); | 216 | connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); |
199 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); | 217 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); |
200 | #ifdef DESKTOP_VERSION | 218 | #ifdef DESKTOP_VERSION |
201 | resize ( 640, 480 ); | 219 | resize ( 640, 480 ); |
202 | #endif | 220 | #endif |
203 | } | 221 | } |
204 | 222 | ||
205 | MainWindow::~MainWindow() | 223 | MainWindow::~MainWindow() |
206 | { | 224 | { |
207 | } | 225 | } |
208 | 226 | ||
227 | void MainWindow::setInfoFields(QListViewItem* item ) | ||
228 | { | ||
229 | if ( item == 0) { | ||
230 | subLE->setText(""); | ||
231 | fromLE->setText(""); | ||
232 | toLE->setText(""); | ||
233 | return; | ||
234 | } | ||
235 | RecMailP mail = ((MailListViewItem*)item)->data(); | ||
236 | subLE->setText(mail->getSubject()); | ||
237 | fromLE->setText(mail->getFrom()); | ||
238 | toLE->setText(mail->To().join(";" )); | ||
239 | subLE->setCursorPosition(0); | ||
240 | fromLE->setCursorPosition(0); | ||
241 | toLE->setCursorPosition(0); | ||
242 | |||
243 | } | ||
209 | void MainWindow::slotSetCodec( int codec ) | 244 | void MainWindow::slotSetCodec( int codec ) |
210 | { | 245 | { |
211 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); | 246 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); |
212 | //qDebug("codec %d ", codec); | 247 | //qDebug("codec %d ", codec); |
213 | KOPrefs::instance()->mCurrentCodec = codec; | 248 | KOPrefs::instance()->mCurrentCodec = codec; |
214 | KOPrefs::instance()->isDirty = true; | 249 | KOPrefs::instance()->isDirty = true; |
215 | QString name; | 250 | QString name; |
216 | switch ( codec ) { | 251 | switch ( codec ) { |
217 | case 0: | 252 | case 0: |
218 | name = "iso-8859-1"; | 253 | name = "iso-8859-1"; |
219 | break; | 254 | break; |
220 | case 1: | 255 | case 1: |
221 | name = "iso-8859-5"; | 256 | name = "iso-8859-5"; |
222 | break; | 257 | break; |
223 | case 2: | 258 | case 2: |
224 | name = "iso-8859-15"; | 259 | name = "iso-8859-15"; |