-rw-r--r-- | kmicromail/mainwindow.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp index aa51a37..24196b4 100644 --- a/kmicromail/mainwindow.cpp +++ b/kmicromail/mainwindow.cpp | |||
@@ -1,238 +1,265 @@ | |||
1 | #include <qlabel.h> | 1 | #include <qlabel.h> |
2 | #include <qvbox.h> | 2 | #include <qvbox.h> |
3 | #include <qheader.h> | 3 | #include <qheader.h> |
4 | #include <qtimer.h> | 4 | #include <qtimer.h> |
5 | #include <qlayout.h> | 5 | #include <qlayout.h> |
6 | #include <kdialog.h> | 6 | #include <kdialog.h> |
7 | #include <kiconloader.h> | 7 | #include <kiconloader.h> |
8 | #include <kapplication.h> | ||
8 | 9 | ||
9 | #ifndef DESKTOP_VERSION | 10 | #ifndef DESKTOP_VERSION |
10 | #include <qpe/qpeapplication.h> | 11 | #include <qpe/qpeapplication.h> |
11 | #endif | 12 | #endif |
12 | #include "defines.h" | 13 | #include "defines.h" |
13 | #include "mainwindow.h" | 14 | #include "mainwindow.h" |
14 | #include <KDGanttMinimizeSplitter.h> | 15 | #include <KDGanttMinimizeSplitter.h> |
15 | 16 | ||
16 | 17 | ||
17 | #include <kabc/stdaddressbook.h> | 18 | #include <kabc/stdaddressbook.h> |
18 | 19 | ||
19 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | 20 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) |
20 | : QMainWindow( parent, name ) //, flags ) | 21 | : QMainWindow( parent, name ) //, flags ) |
21 | { | 22 | { |
22 | setCaption( tr( "OpieMail/Pi" ) ); | 23 | setCaption( tr( "OpieMail/Pi" ) ); |
23 | setToolBarsMovable( false ); | 24 | setToolBarsMovable( false ); |
24 | KABC::StdAddressBook::self(); | 25 | KABC::StdAddressBook::self(); |
25 | toolBar = new QToolBar( this ); | 26 | toolBar = new QToolBar( this ); |
26 | menuBar = new QMenuBar( toolBar ); | 27 | menuBar = new QMenuBar( toolBar ); |
27 | mailMenu = new QPopupMenu( menuBar ); | 28 | mailMenu = new QPopupMenu( menuBar ); |
28 | menuBar->insertItem( tr( "Mail" ), mailMenu ); | 29 | menuBar->insertItem( tr( "Mail" ), mailMenu ); |
29 | settingsMenu = new QPopupMenu( menuBar ); | 30 | settingsMenu = new QPopupMenu( menuBar ); |
30 | menuBar->insertItem( tr( "Settings" ), settingsMenu ); | 31 | menuBar->insertItem( tr( "Settings" ), settingsMenu ); |
31 | 32 | ||
32 | addToolBar( toolBar ); | 33 | addToolBar( toolBar ); |
33 | toolBar->setHorizontalStretchable( true ); | 34 | toolBar->setHorizontalStretchable( true ); |
34 | 35 | ||
35 | 36 | ||
36 | 37 | ||
37 | composeMail = new QAction( tr( "Compose new mail" ), SmallIcon("composemail"), | 38 | composeMail = new QAction( tr( "Compose new mail" ), SmallIcon("composemail"), |
38 | 0, 0, this ); | 39 | 0, 0, this ); |
39 | composeMail->addTo( toolBar ); | 40 | composeMail->addTo( toolBar ); |
40 | composeMail->addTo( mailMenu ); | 41 | composeMail->addTo( mailMenu ); |
41 | 42 | ||
42 | sendQueued = new QAction( tr( "Send queued mails" ), SmallIcon("sendqueued") , | 43 | sendQueued = new QAction( tr( "Send queued mails" ), SmallIcon("sendqueued") , |
43 | 0, 0, this ); | 44 | 0, 0, this ); |
44 | sendQueued->addTo( toolBar ); | 45 | sendQueued->addTo( toolBar ); |
45 | sendQueued->addTo( mailMenu ); | 46 | sendQueued->addTo( mailMenu ); |
46 | 47 | ||
47 | /* | 48 | /* |
48 | syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC, | 49 | syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC, |
49 | 0, 0, this ); | 50 | 0, 0, this ); |
50 | syncFolders->addTo( toolBar ); | 51 | syncFolders->addTo( toolBar ); |
51 | syncFolders->addTo( mailMenu ); | 52 | syncFolders->addTo( mailMenu ); |
52 | */ | 53 | */ |
53 | 54 | ||
54 | showFolders = new QAction( tr( "Show/Hide folders" ), SmallIcon("showfolders") , | 55 | showFolders = new QAction( tr( "Show/Hide folders" ), SmallIcon("showfolders") , |
55 | 0, 0, this, 0, true ); | 56 | 0, 0, this, 0, true ); |
56 | showFolders->addTo( toolBar ); | 57 | showFolders->addTo( toolBar ); |
57 | showFolders->addTo( mailMenu ); | 58 | showFolders->addTo( mailMenu ); |
58 | showFolders->setOn( true ); | 59 | showFolders->setOn( true ); |
59 | connect(showFolders, SIGNAL( toggled(bool) ), | 60 | connect(showFolders, SIGNAL( toggled(bool) ), |
60 | SLOT( slotShowFolders(bool) ) ); | 61 | SLOT( slotShowFolders(bool) ) ); |
61 | 62 | ||
62 | /* | 63 | /* |
63 | searchMails = new QAction( tr( "Search mails" ), SmallIcon("find") ), | 64 | searchMails = new QAction( tr( "Search mails" ), SmallIcon("find") ), |
64 | 0, 0, this ); | 65 | 0, 0, this ); |
65 | searchMails->addTo( toolBar ); | 66 | searchMails->addTo( toolBar ); |
66 | searchMails->addTo( mailMenu ); | 67 | searchMails->addTo( mailMenu ); |
67 | */ | 68 | */ |
68 | 69 | ||
69 | deleteMails = new QAction(tr("Delete Mail"), SmallIcon("trash"), 0, 0, this); | 70 | deleteMails = new QAction(tr("Delete Mail"), SmallIcon("trash"), 0, 0, this); |
70 | deleteMails->addTo( toolBar ); | 71 | deleteMails->addTo( toolBar ); |
71 | deleteMails->addTo( mailMenu ); | 72 | deleteMails->addTo( mailMenu ); |
72 | connect( deleteMails, SIGNAL( activated() ), | 73 | connect( deleteMails, SIGNAL( activated() ), |
73 | SLOT( slotDeleteMail() ) ); | 74 | SLOT( slotDeleteMail() ) ); |
74 | 75 | ||
75 | editSettings = new QAction( tr( "Edit settings" ), SmallIcon("SettingsIcon") , | 76 | editSettings = new QAction( tr( "Edit settings" ), SmallIcon("SettingsIcon") , |
76 | 0, 0, this ); | 77 | 0, 0, this ); |
77 | editSettings->addTo( settingsMenu ); | 78 | editSettings->addTo( settingsMenu ); |
78 | connect( editSettings, SIGNAL( activated() ), | 79 | connect( editSettings, SIGNAL( activated() ), |
79 | SLOT( slotEditSettings() ) ); | 80 | SLOT( slotEditSettings() ) ); |
80 | editAccounts = new QAction( tr( "Configure accounts" ), SmallIcon("editaccounts") , | 81 | editAccounts = new QAction( tr( "Configure accounts" ), SmallIcon("editaccounts") , |
81 | 0, 0, this ); | 82 | 0, 0, this ); |
82 | editAccounts->addTo( settingsMenu ); | 83 | editAccounts->addTo( settingsMenu ); |
83 | 84 | ||
84 | //setCentralWidget( view ); | 85 | //setCentralWidget( view ); |
85 | 86 | ||
86 | QVBox* wrapperBox = new QVBox( this ); | 87 | QVBox* wrapperBox = new QVBox( this ); |
87 | setCentralWidget( wrapperBox ); | 88 | setCentralWidget( wrapperBox ); |
88 | 89 | ||
89 | // QWidget *view = new QWidget( wrapperBox ); | 90 | // QWidget *view = new QWidget( wrapperBox ); |
90 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox); | 91 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox); |
91 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); | 92 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); |
92 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); | 93 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); |
93 | 94 | ||
94 | folderView = new AccountView( split ); | 95 | folderView = new AccountView( split ); |
95 | folderView->header()->hide(); | 96 | folderView->header()->hide(); |
96 | folderView->setRootIsDecorated( false ); | 97 | folderView->setRootIsDecorated( false ); |
97 | folderView->addColumn( tr( "Mailbox" ) ); | 98 | folderView->addColumn( tr( "Mailbox" ) ); |
98 | 99 | ||
99 | //layout->addWidget( folderView ); | 100 | //layout->addWidget( folderView ); |
100 | 101 | ||
101 | mailView = new QListView( split ); | 102 | mailView = new QListView( split ); |
102 | mailView->addColumn( tr( " " ) ); | 103 | mailView->addColumn( tr( " " ) ); |
103 | mailView->addColumn( tr( "Subject" ),QListView::Manual ); | 104 | mailView->addColumn( tr( "Subject" ),QListView::Manual ); |
104 | mailView->addColumn( tr( "Sender" ),QListView::Manual ); | 105 | mailView->addColumn( tr( "Sender" ),QListView::Manual ); |
105 | mailView->addColumn( tr( "Size" ),QListView::Manual); | 106 | mailView->addColumn( tr( "Size" ),QListView::Manual); |
106 | mailView->addColumn( tr( "Date" ),QListView::Manual); | 107 | mailView->addColumn( tr( "Date" ),QListView::Manual); |
107 | mailView->setAllColumnsShowFocus(true); | 108 | mailView->setAllColumnsShowFocus(true); |
108 | //mailView->setSorting(-1); | 109 | //mailView->setSorting(-1); |
109 | mailView->setRootIsDecorated( false ); | 110 | mailView->setRootIsDecorated( false ); |
110 | statusWidget = new StatusWidget( wrapperBox ); | 111 | statusWidget = new StatusWidget( wrapperBox ); |
111 | statusWidget->hide(); | 112 | statusWidget->hide(); |
112 | 113 | ||
113 | //layout->addWidget( mailView ); | 114 | //layout->addWidget( mailView ); |
114 | //layout->setStretchFactor( folderView, 1 ); | 115 | //layout->setStretchFactor( folderView, 1 ); |
115 | //layout->setStretchFactor( mailView, 2 ); | 116 | //layout->setStretchFactor( mailView, 2 ); |
116 | 117 | ||
117 | slotAdjustLayout(); | 118 | slotAdjustLayout(); |
118 | #ifndef DESKTOP_VERSION | 119 | #ifndef DESKTOP_VERSION |
119 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); | 120 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); |
120 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); | 121 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); |
121 | #endif | 122 | #endif |
122 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, | 123 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, |
123 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 124 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
124 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, | 125 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, |
125 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 126 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
126 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, | 127 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, |
127 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); | 128 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); |
128 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), | 129 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), |
129 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); | 130 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); |
130 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); | 131 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); |
131 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); | 132 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); |
132 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); | 133 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); |
133 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); | 134 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); |
134 | //mailView->setMultiSelection ( true ); | 135 | //mailView->setMultiSelection ( true ); |
135 | mailView->setSelectionMode( QListView::Extended ); | 136 | mailView->setSelectionMode( QListView::Extended ); |
136 | QValueList<int> list; | 137 | QValueList<int> list; |
137 | int fw = 100; | 138 | int fw = 100; |
138 | if ( QApplication::desktop()->width() > 320 ) | 139 | if ( QApplication::desktop()->width() > 320 ) |
139 | fw = 50; | 140 | fw = 50; |
140 | list.append( fw ); | 141 | list.append( fw ); |
141 | list.append( 100 ); | 142 | list.append( 100 ); |
142 | split->setSizes( list ); | 143 | split->setSizes( list ); |
143 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); | 144 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); |
144 | mailView->setShowSortIndicator ( true ); | 145 | mailView->setShowSortIndicator ( true ); |
145 | QLabel *spacer = new QLabel( toolBar ); | 146 | QLabel *spacer = new QLabel( toolBar ); |
146 | spacer->setBackgroundMode( QWidget::PaletteButton ); | 147 | spacer->setBackgroundMode( QWidget::PaletteButton ); |
147 | toolBar->setStretchableWidget( spacer ); | 148 | toolBar->setStretchableWidget( spacer ); |
148 | 149 | ||
149 | QAction* closeMail = new QAction(tr("Close"),SmallIcon("exit"), 0, 0, this); | 150 | QAction* closeMail = new QAction(tr("Close"),SmallIcon("exit"), 0, 0, this); |
150 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); | 151 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); |
151 | closeMail->addTo(toolBar); | 152 | closeMail->addTo(toolBar); |
152 | closeMail->addTo(mailMenu); | 153 | closeMail->addTo(mailMenu); |
154 | |||
155 | |||
156 | QPopupMenu* helpMenu = new QPopupMenu( menuBar ); | ||
157 | menuBar->insertItem( tr( "Help" ), helpMenu ); | ||
158 | QAction* li = new QAction(tr("About"), QPixmap(), 0, 0, this); | ||
159 | connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); | ||
160 | li->addTo(helpMenu); | ||
161 | li = new QAction(tr("Licence"),QPixmap(), 0, 0, this); | ||
162 | connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); | ||
163 | li->addTo(helpMenu); | ||
164 | li = new QAction(tr("LibEtPan Licence"), QPixmap(), 0, 0, this); | ||
165 | connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); | ||
166 | li->addTo(helpMenu); | ||
153 | } | 167 | } |
154 | 168 | ||
155 | MainWindow::~MainWindow() | 169 | MainWindow::~MainWindow() |
156 | { | 170 | { |
157 | } | 171 | } |
158 | 172 | ||
173 | void MainWindow::showLicence() | ||
174 | { | ||
175 | KApplication::showLicence(); | ||
176 | } | ||
177 | void MainWindow::showAbout() | ||
178 | { | ||
179 | qDebug("MainWindow::showAbout() "); | ||
180 | } | ||
181 | void MainWindow::showEtpanLicence() | ||
182 | { | ||
183 | KApplication::showFile( "LibEtPan licence", "kdepim/kmicromail/COPYRIGHTlibetpan" ); | ||
184 | |||
185 | } | ||
159 | void MainWindow::appMessage(const QCString &, const QByteArray &) | 186 | void MainWindow::appMessage(const QCString &, const QByteArray &) |
160 | { | 187 | { |
161 | qDebug("appMessage implemented by subclass"); | 188 | qDebug("appMessage implemented by subclass"); |
162 | } | 189 | } |
163 | 190 | ||
164 | void MainWindow::slotAdjustLayout() { | 191 | void MainWindow::slotAdjustLayout() { |
165 | 192 | ||
166 | /* | 193 | /* |
167 | QWidget *d = QApplication::desktop(); | 194 | QWidget *d = QApplication::desktop(); |
168 | 195 | ||
169 | if ( d->width() < d->height() ) { | 196 | if ( d->width() < d->height() ) { |
170 | layout->setDirection( QBoxLayout::TopToBottom ); | 197 | layout->setDirection( QBoxLayout::TopToBottom ); |
171 | } else { | 198 | } else { |
172 | layout->setDirection( QBoxLayout::LeftToRight ); | 199 | layout->setDirection( QBoxLayout::LeftToRight ); |
173 | } | 200 | } |
174 | */ | 201 | */ |
175 | } | 202 | } |
176 | 203 | ||
177 | void MainWindow::slotAdjustColumns() | 204 | void MainWindow::slotAdjustColumns() |
178 | { | 205 | { |
179 | bool hidden = folderView->isHidden(); | 206 | bool hidden = folderView->isHidden(); |
180 | if ( hidden ) folderView->show(); | 207 | if ( hidden ) folderView->show(); |
181 | folderView->setColumnWidth( 0, folderView->visibleWidth() ); | 208 | folderView->setColumnWidth( 0, folderView->visibleWidth() ); |
182 | if ( hidden ) folderView->hide(); | 209 | if ( hidden ) folderView->hide(); |
183 | 210 | ||
184 | mailView->setColumnWidth( 0, 10 ); | 211 | mailView->setColumnWidth( 0, 10 ); |
185 | mailView->setColumnWidth( 1, 100 ); | 212 | mailView->setColumnWidth( 1, 100 ); |
186 | mailView->setColumnWidth( 2, 100 ); | 213 | mailView->setColumnWidth( 2, 100 ); |
187 | mailView->setColumnWidth( 3, 50 ); | 214 | mailView->setColumnWidth( 3, 50 ); |
188 | mailView->setColumnWidth( 4, 120 ); | 215 | mailView->setColumnWidth( 4, 120 ); |
189 | } | 216 | } |
190 | 217 | ||
191 | void MainWindow::slotEditSettings() | 218 | void MainWindow::slotEditSettings() |
192 | { | 219 | { |
193 | } | 220 | } |
194 | 221 | ||
195 | void MainWindow::slotShowFolders( bool ) | 222 | void MainWindow::slotShowFolders( bool ) |
196 | { | 223 | { |
197 | qDebug("not implemented: "); | 224 | qDebug("not implemented: "); |
198 | } | 225 | } |
199 | 226 | ||
200 | void MainWindow::refreshMailView(const QValueList<RecMailP>&) | 227 | void MainWindow::refreshMailView(const QValueList<RecMailP>&) |
201 | { | 228 | { |
202 | qDebug("not implemented: "); | 229 | qDebug("not implemented: "); |
203 | } | 230 | } |
204 | 231 | ||
205 | void MainWindow::mailLeftClicked(QListViewItem * ) | 232 | void MainWindow::mailLeftClicked(QListViewItem * ) |
206 | { | 233 | { |
207 | qDebug("not implemented: "); | 234 | qDebug("not implemented: "); |
208 | } | 235 | } |
209 | 236 | ||
210 | void MainWindow::displayMail() | 237 | void MainWindow::displayMail() |
211 | { | 238 | { |
212 | qDebug("not implemented: "); | 239 | qDebug("not implemented: "); |
213 | } | 240 | } |
214 | 241 | ||
215 | void MainWindow::slotDeleteMail() | 242 | void MainWindow::slotDeleteMail() |
216 | { | 243 | { |
217 | qDebug("not implemented: "); | 244 | qDebug("not implemented: "); |
218 | } | 245 | } |
219 | 246 | ||
220 | void MainWindow::mailHold(int, QListViewItem *,const QPoint&,int ) | 247 | void MainWindow::mailHold(int, QListViewItem *,const QPoint&,int ) |
221 | { | 248 | { |
222 | qDebug("not implemented: "); | 249 | qDebug("not implemented: "); |
223 | } | 250 | } |
224 | 251 | ||
225 | void MainWindow::slotSendQueued() | 252 | void MainWindow::slotSendQueued() |
226 | { | 253 | { |
227 | qDebug("not implemented: "); | 254 | qDebug("not implemented: "); |
228 | } | 255 | } |
229 | 256 | ||
230 | void MainWindow::slotEditAccounts() | 257 | void MainWindow::slotEditAccounts() |
231 | { | 258 | { |
232 | qDebug("not implemented: "); | 259 | qDebug("not implemented: "); |
233 | } | 260 | } |
234 | 261 | ||
235 | void MainWindow::slotComposeMail() | 262 | void MainWindow::slotComposeMail() |
236 | { | 263 | { |
237 | qDebug("not implemented: "); | 264 | qDebug("not implemented: "); |
238 | } | 265 | } |