summaryrefslogtreecommitdiffabout
path: root/kmicromail/mainwindow.cpp
Unidiff
Diffstat (limited to 'kmicromail/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/mainwindow.cpp27
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
19MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) 20MainWindow::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
155MainWindow::~MainWindow() 169MainWindow::~MainWindow()
156{ 170{
157} 171}
158 172
173void MainWindow::showLicence()
174{
175 KApplication::showLicence();
176}
177void MainWindow::showAbout()
178{
179 qDebug("MainWindow::showAbout() ");
180}
181void MainWindow::showEtpanLicence()
182{
183 KApplication::showFile( "LibEtPan licence", "kdepim/kmicromail/COPYRIGHTlibetpan" );
184
185}
159void MainWindow::appMessage(const QCString &, const QByteArray &) 186void MainWindow::appMessage(const QCString &, const QByteArray &)
160{ 187{
161 qDebug("appMessage implemented by subclass"); 188 qDebug("appMessage implemented by subclass");
162} 189}
163 190
164void MainWindow::slotAdjustLayout() { 191void 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
177void MainWindow::slotAdjustColumns() 204void 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
191void MainWindow::slotEditSettings() 218void MainWindow::slotEditSettings()
192{ 219{
193} 220}
194 221
195void MainWindow::slotShowFolders( bool ) 222void MainWindow::slotShowFolders( bool )
196{ 223{
197 qDebug("not implemented: "); 224 qDebug("not implemented: ");
198} 225}
199 226
200void MainWindow::refreshMailView(const QValueList<RecMailP>&) 227void MainWindow::refreshMailView(const QValueList<RecMailP>&)
201{ 228{
202 qDebug("not implemented: "); 229 qDebug("not implemented: ");
203} 230}
204 231
205void MainWindow::mailLeftClicked(QListViewItem * ) 232void MainWindow::mailLeftClicked(QListViewItem * )
206{ 233{
207 qDebug("not implemented: "); 234 qDebug("not implemented: ");
208} 235}
209 236
210void MainWindow::displayMail() 237void MainWindow::displayMail()
211{ 238{
212 qDebug("not implemented: "); 239 qDebug("not implemented: ");
213} 240}
214 241
215void MainWindow::slotDeleteMail() 242void MainWindow::slotDeleteMail()
216{ 243{
217 qDebug("not implemented: "); 244 qDebug("not implemented: ");
218} 245}
219 246
220void MainWindow::mailHold(int, QListViewItem *,const QPoint&,int ) 247void MainWindow::mailHold(int, QListViewItem *,const QPoint&,int )
221{ 248{
222 qDebug("not implemented: "); 249 qDebug("not implemented: ");
223} 250}
224 251
225void MainWindow::slotSendQueued() 252void MainWindow::slotSendQueued()
226{ 253{
227 qDebug("not implemented: "); 254 qDebug("not implemented: ");
228} 255}
229 256
230void MainWindow::slotEditAccounts() 257void MainWindow::slotEditAccounts()
231{ 258{
232 qDebug("not implemented: "); 259 qDebug("not implemented: ");
233} 260}
234 261
235void MainWindow::slotComposeMail() 262void MainWindow::slotComposeMail()
236{ 263{
237 qDebug("not implemented: "); 264 qDebug("not implemented: ");
238} 265}