Diffstat (limited to 'noncore/net/mail/mainwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/mail/mainwindow.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp index 9a37510..d3b9c34 100644 --- a/noncore/net/mail/mainwindow.cpp +++ b/noncore/net/mail/mainwindow.cpp | |||
@@ -2,28 +2,30 @@ | |||
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 <qmessagebox.h> | 6 | #include <qmessagebox.h> |
7 | #include <qtextstream.h> | 7 | #include <qtextstream.h> |
8 | 8 | ||
9 | #include <qpe/qpeapplication.h> | 9 | #include <qpe/qpeapplication.h> |
10 | #include <qpe/resource.h> | 10 | #include <qpe/resource.h> |
11 | 11 | ||
12 | #include "defines.h" | 12 | #include "defines.h" |
13 | #include "mainwindow.h" | 13 | #include "mainwindow.h" |
14 | #include "settingsdialog.h" | ||
14 | #include "viewmail.h" | 15 | #include "viewmail.h" |
15 | #include "mailtypes.h" | 16 | #include "mailtypes.h" |
16 | #include "mailistviewitem.h" | 17 | #include "mailistviewitem.h" |
17 | 18 | ||
19 | |||
18 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | 20 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) |
19 | : QMainWindow( parent, name, flags ) | 21 | : QMainWindow( parent, name, flags ) |
20 | { | 22 | { |
21 | setCaption( tr( "Mail" ) ); | 23 | setCaption( tr( "Mail" ) ); |
22 | setToolBarsMovable( false ); | 24 | setToolBarsMovable( false ); |
23 | 25 | ||
24 | toolBar = new QToolBar( this ); | 26 | toolBar = new QToolBar( this ); |
25 | menuBar = new QMenuBar( toolBar ); | 27 | menuBar = new QMenuBar( toolBar ); |
26 | mailMenu = new QPopupMenu( menuBar ); | 28 | mailMenu = new QPopupMenu( menuBar ); |
27 | menuBar->insertItem( tr( "Mail" ), mailMenu ); | 29 | menuBar->insertItem( tr( "Mail" ), mailMenu ); |
28 | settingsMenu = new QPopupMenu( menuBar ); | 30 | settingsMenu = new QPopupMenu( menuBar ); |
29 | menuBar->insertItem( tr( "Settings" ), settingsMenu ); | 31 | menuBar->insertItem( tr( "Settings" ), settingsMenu ); |
@@ -36,51 +38,57 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | |||
36 | toolBar->setStretchableWidget( spacer ); | 38 | toolBar->setStretchableWidget( spacer ); |
37 | 39 | ||
38 | composeMail = new QAction( tr( "Compose new mail" ), ICON_COMPOSEMAIL, | 40 | composeMail = new QAction( tr( "Compose new mail" ), ICON_COMPOSEMAIL, |
39 | 0, 0, this ); | 41 | 0, 0, this ); |
40 | composeMail->addTo( toolBar ); | 42 | composeMail->addTo( toolBar ); |
41 | composeMail->addTo( mailMenu ); | 43 | composeMail->addTo( mailMenu ); |
42 | 44 | ||
43 | sendQueued = new QAction( tr( "Send queued mails" ), ICON_SENDQUEUED, | 45 | sendQueued = new QAction( tr( "Send queued mails" ), ICON_SENDQUEUED, |
44 | 0, 0, this ); | 46 | 0, 0, this ); |
45 | sendQueued->addTo( toolBar ); | 47 | sendQueued->addTo( toolBar ); |
46 | sendQueued->addTo( mailMenu ); | 48 | sendQueued->addTo( mailMenu ); |
47 | 49 | ||
50 | /* | ||
48 | syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC, | 51 | syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC, |
49 | 0, 0, this ); | 52 | 0, 0, this ); |
50 | syncFolders->addTo( toolBar ); | 53 | syncFolders->addTo( toolBar ); |
51 | syncFolders->addTo( mailMenu ); | 54 | syncFolders->addTo( mailMenu ); |
55 | */ | ||
52 | 56 | ||
53 | showFolders = new QAction( tr( "Show/Hide folders" ), ICON_SHOWFOLDERS, | 57 | showFolders = new QAction( tr( "Show/Hide folders" ), ICON_SHOWFOLDERS, |
54 | 0, 0, this, 0, true ); | 58 | 0, 0, this, 0, true ); |
55 | showFolders->addTo( toolBar ); | 59 | showFolders->addTo( toolBar ); |
56 | showFolders->addTo( mailMenu ); | 60 | showFolders->addTo( mailMenu ); |
57 | showFolders->setOn( true ); | 61 | showFolders->setOn( true ); |
58 | connect(showFolders, SIGNAL( toggled( bool ) ), | 62 | connect(showFolders, SIGNAL( toggled( bool ) ), |
59 | SLOT( slotShowFolders( bool ) ) ); | 63 | SLOT( slotShowFolders( bool ) ) ); |
60 | 64 | ||
65 | /* | ||
61 | searchMails = new QAction( tr( "Search mails" ), ICON_SEARCHMAILS, | 66 | searchMails = new QAction( tr( "Search mails" ), ICON_SEARCHMAILS, |
62 | 0, 0, this ); | 67 | 0, 0, this ); |
63 | searchMails->addTo( toolBar ); | 68 | searchMails->addTo( toolBar ); |
64 | searchMails->addTo( mailMenu ); | 69 | searchMails->addTo( mailMenu ); |
70 | */ | ||
65 | 71 | ||
66 | deleteMails = new QAction(tr("Delete Mail"), QIconSet(Resource::loadPixmap("mail/delete")), 0, 0, this); | 72 | deleteMails = new QAction(tr("Delete Mail"), QIconSet(Resource::loadPixmap("mail/delete")), 0, 0, this); |
67 | deleteMails->addTo( toolBar ); | 73 | deleteMails->addTo( toolBar ); |
68 | deleteMails->addTo( mailMenu ); | 74 | deleteMails->addTo( mailMenu ); |
69 | connect( deleteMails, SIGNAL( activated() ), | 75 | connect( deleteMails, SIGNAL( activated() ), |
70 | SLOT( slotDeleteMail() ) ); | 76 | SLOT( slotDeleteMail() ) ); |
71 | 77 | ||
72 | editSettings = new QAction( tr( "Edit settings" ), ICON_EDITSETTINGS, | 78 | editSettings = new QAction( tr( "Edit settings" ), ICON_EDITSETTINGS, |
73 | 0, 0, this ); | 79 | 0, 0, this ); |
74 | editSettings->addTo( settingsMenu ); | 80 | editSettings->addTo( settingsMenu ); |
81 | connect( editSettings, SIGNAL( activated() ), | ||
82 | SLOT( slotEditSettings() ) ); | ||
75 | 83 | ||
76 | editAccounts = new QAction( tr( "Configure accounts" ), ICON_EDITACCOUNTS, | 84 | editAccounts = new QAction( tr( "Configure accounts" ), ICON_EDITACCOUNTS, |
77 | 0, 0, this ); | 85 | 0, 0, this ); |
78 | editAccounts->addTo( settingsMenu ); | 86 | editAccounts->addTo( settingsMenu ); |
79 | 87 | ||
80 | QWidget *view = new QWidget( this ); | 88 | QWidget *view = new QWidget( this ); |
81 | setCentralWidget( view ); | 89 | setCentralWidget( view ); |
82 | 90 | ||
83 | layout = new QBoxLayout ( view, QBoxLayout::LeftToRight ); | 91 | layout = new QBoxLayout ( view, QBoxLayout::LeftToRight ); |
84 | 92 | ||
85 | folderView = new AccountView( view ); | 93 | folderView = new AccountView( view ); |
86 | folderView->header()->hide(); | 94 | folderView->header()->hide(); |
@@ -90,28 +98,32 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | |||
90 | 98 | ||
91 | layout->addWidget( folderView ); | 99 | layout->addWidget( folderView ); |
92 | 100 | ||
93 | mailView = new QListView( view ); | 101 | mailView = new QListView( view ); |
94 | mailView->addColumn( tr( "" ) ); | 102 | mailView->addColumn( tr( "" ) ); |
95 | mailView->addColumn( tr( "Subject" ),QListView::Manual ); | 103 | mailView->addColumn( tr( "Subject" ),QListView::Manual ); |
96 | mailView->addColumn( tr( "Sender" ),QListView::Manual ); | 104 | mailView->addColumn( tr( "Sender" ),QListView::Manual ); |
97 | mailView->addColumn( tr( "Size" ),QListView::Manual); | 105 | mailView->addColumn( tr( "Size" ),QListView::Manual); |
98 | mailView->addColumn( tr( "Date" )); | 106 | mailView->addColumn( tr( "Date" )); |
99 | mailView->setAllColumnsShowFocus(true); | 107 | mailView->setAllColumnsShowFocus(true); |
100 | mailView->setSorting(-1); | 108 | mailView->setSorting(-1); |
101 | 109 | ||
110 | statusWidget = new StatusWidget( view ); | ||
111 | |||
102 | layout->addWidget( mailView ); | 112 | layout->addWidget( mailView ); |
113 | layout->addWidget( statusWidget ); | ||
103 | layout->setStretchFactor( folderView, 1 ); | 114 | layout->setStretchFactor( folderView, 1 ); |
104 | layout->setStretchFactor( mailView, 2 ); | 115 | layout->setStretchFactor( mailView, 2 ); |
105 | 116 | ||
117 | |||
106 | slotAdjustLayout(); | 118 | slotAdjustLayout(); |
107 | 119 | ||
108 | connect( mailView, SIGNAL( clicked( QListViewItem * ) ),this, | 120 | connect( mailView, SIGNAL( clicked( QListViewItem * ) ),this, |
109 | SLOT( displayMail( QListViewItem * ) ) ); | 121 | SLOT( displayMail( QListViewItem * ) ) ); |
110 | 122 | ||
111 | connect(folderView, SIGNAL(refreshMailview(QList<RecMail>*)),this,SLOT(refreshMailView(QList<RecMail>*))); | 123 | connect(folderView, SIGNAL(refreshMailview(QList<RecMail>*)),this,SLOT(refreshMailView(QList<RecMail>*))); |
112 | 124 | ||
113 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); | 125 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); |
114 | 126 | ||
115 | } | 127 | } |
116 | 128 | ||
117 | 129 | ||
@@ -132,24 +144,30 @@ void MainWindow::slotAdjustColumns() | |||
132 | bool hidden = folderView->isHidden(); | 144 | bool hidden = folderView->isHidden(); |
133 | if ( hidden ) folderView->show(); | 145 | if ( hidden ) folderView->show(); |
134 | folderView->setColumnWidth( 0, folderView->visibleWidth() ); | 146 | folderView->setColumnWidth( 0, folderView->visibleWidth() ); |
135 | if ( hidden ) folderView->hide(); | 147 | if ( hidden ) folderView->hide(); |
136 | 148 | ||
137 | mailView->setColumnWidth( 0, 10 ); | 149 | mailView->setColumnWidth( 0, 10 ); |
138 | mailView->setColumnWidth( 1, mailView->visibleWidth() - 130 ); | 150 | mailView->setColumnWidth( 1, mailView->visibleWidth() - 130 ); |
139 | mailView->setColumnWidth( 2, 80 ); | 151 | mailView->setColumnWidth( 2, 80 ); |
140 | mailView->setColumnWidth( 3, 50 ); | 152 | mailView->setColumnWidth( 3, 50 ); |
141 | mailView->setColumnWidth( 4, 50 ); | 153 | mailView->setColumnWidth( 4, 50 ); |
142 | } | 154 | } |
143 | 155 | ||
156 | void MainWindow::slotEditSettings() { | ||
157 | SettingsDialog settingsDialog( this, 0, true ); | ||
158 | settingsDialog.showMaximized(); | ||
159 | settingsDialog.exec(); | ||
160 | } | ||
161 | |||
144 | void MainWindow::slotShowFolders( bool show ) | 162 | void MainWindow::slotShowFolders( bool show ) |
145 | { | 163 | { |
146 | qDebug( "Show Folders" ); | 164 | qDebug( "Show Folders" ); |
147 | if ( show && folderView->isHidden() ) { | 165 | if ( show && folderView->isHidden() ) { |
148 | qDebug( "-> showing" ); | 166 | qDebug( "-> showing" ); |
149 | folderView->show(); | 167 | folderView->show(); |
150 | } else if ( !show && !folderView->isHidden() ) { | 168 | } else if ( !show && !folderView->isHidden() ) { |
151 | qDebug( "-> hiding" ); | 169 | qDebug( "-> hiding" ); |
152 | folderView->hide(); | 170 | folderView->hide(); |
153 | } | 171 | } |
154 | } | 172 | } |
155 | 173 | ||
@@ -170,25 +188,25 @@ void MainWindow::displayMail(QListViewItem*item) | |||
170 | RecMail mail = ((MailListViewItem*)item)->data(); | 188 | RecMail mail = ((MailListViewItem*)item)->data(); |
171 | RecBody body = folderView->fetchBody(mail); | 189 | RecBody body = folderView->fetchBody(mail); |
172 | 190 | ||
173 | ViewMail readMail( this ); | 191 | ViewMail readMail( this ); |
174 | readMail.setBody( body ); | 192 | readMail.setBody( body ); |
175 | readMail.setMail( mail ); | 193 | readMail.setMail( mail ); |
176 | readMail.showMaximized(); | 194 | readMail.showMaximized(); |
177 | readMail.exec(); | 195 | readMail.exec(); |
178 | 196 | ||
179 | if ( readMail.deleted ) { | 197 | if ( readMail.deleted ) { |
180 | folderView->refreshCurrent(); | 198 | folderView->refreshCurrent(); |
181 | } else { | 199 | } else { |
182 | ( (MailListViewItem*)item )->setPixmap( 0, Resource::loadPixmap( "mail/kmmsgunseen") ); | 200 | ( (MailListViewItem*)item )->setPixmap( 0, Resource::loadPixmap( "") ); |
183 | } | 201 | } |
184 | } | 202 | } |
185 | 203 | ||
186 | void MainWindow::slotDeleteMail() | 204 | void MainWindow::slotDeleteMail() |
187 | { | 205 | { |
188 | if (!mailView->currentItem()) return; | 206 | if (!mailView->currentItem()) return; |
189 | RecMail mail = ((MailListViewItem*)mailView->currentItem() )->data(); | 207 | RecMail mail = ((MailListViewItem*)mailView->currentItem() )->data(); |
190 | if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail.getFrom() + " - " + mail.getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) { | 208 | if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail.getFrom() + " - " + mail.getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) { |
191 | mail.Wrapper()->deleteMail( mail ); | 209 | mail.Wrapper()->deleteMail( mail ); |
192 | folderView->refreshCurrent(); | 210 | folderView->refreshCurrent(); |
193 | } | 211 | } |
194 | } | 212 | } |