-rw-r--r-- | noncore/net/mail/accountview.cpp | 26 | ||||
-rw-r--r-- | noncore/net/mail/accountview.h | 6 | ||||
-rw-r--r-- | noncore/net/mail/mainwindow.cpp | 29 | ||||
-rw-r--r-- | noncore/net/mail/mainwindow.h | 4 | ||||
-rw-r--r-- | noncore/net/mail/viewmail.cpp | 8 | ||||
-rw-r--r-- | noncore/net/mail/viewmail.h | 3 |
6 files changed, 64 insertions, 12 deletions
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp index 1069b9f..ac4f0e0 100644 --- a/noncore/net/mail/accountview.cpp +++ b/noncore/net/mail/accountview.cpp | |||
@@ -63,3 +63,3 @@ void IMAPviewItem::refresh(QList<RecMail>&) | |||
63 | QList<Folder> *folders = wrapper->listFolders(); | 63 | QList<Folder> *folders = wrapper->listFolders(); |
64 | 64 | ||
65 | QListViewItem *child = firstChild(); | 65 | QListViewItem *child = firstChild(); |
@@ -70,3 +70,3 @@ void IMAPviewItem::refresh(QList<RecMail>&) | |||
70 | } | 70 | } |
71 | 71 | ||
72 | Folder *it; | 72 | Folder *it; |
@@ -82,3 +82,3 @@ RecBody IMAPviewItem::fetchBody(const RecMail&) | |||
82 | 82 | ||
83 | IMAPfolderItem::~IMAPfolderItem() | 83 | IMAPfolderItem::~IMAPfolderItem() |
84 | { | 84 | { |
@@ -96,3 +96,3 @@ IMAPfolderItem::IMAPfolderItem( Folder *folderInit, IMAPviewItem *parent ) | |||
96 | 96 | ||
97 | void IMAPfolderItem::refresh(QList<RecMail>&target) | 97 | void IMAPfolderItem::refresh(QList<RecMail>&target) |
98 | { | 98 | { |
@@ -120,3 +120,3 @@ void AccountView::populate( QList<Account> list ) | |||
120 | clear(); | 120 | clear(); |
121 | 121 | ||
122 | Account *it; | 122 | Account *it; |
@@ -136,4 +136,6 @@ void AccountView::populate( QList<Account> list ) | |||
136 | void AccountView::refresh(QListViewItem *item) { | 136 | void AccountView::refresh(QListViewItem *item) { |
137 | |||
137 | qDebug("AccountView refresh..."); | 138 | qDebug("AccountView refresh..."); |
138 | if ( item ) { | 139 | if ( item ) { |
140 | m_currentItem = item; | ||
139 | QList<RecMail> headerlist; | 141 | QList<RecMail> headerlist; |
@@ -146,5 +148,15 @@ void AccountView::refresh(QListViewItem *item) { | |||
146 | 148 | ||
149 | void AccountView::refreshCurrent() | ||
150 | { | ||
151 | if ( !m_currentItem ) return; | ||
152 | QList<RecMail> headerlist; | ||
153 | headerlist.setAutoDelete(true); | ||
154 | AccountViewItem *view = static_cast<AccountViewItem *>(m_currentItem); | ||
155 | view->refresh(headerlist); | ||
156 | emit refreshMailview(&headerlist); | ||
157 | } | ||
158 | |||
147 | void AccountView::refreshAll() | 159 | void AccountView::refreshAll() |
148 | { | 160 | { |
149 | 161 | ||
150 | } | 162 | } |
diff --git a/noncore/net/mail/accountview.h b/noncore/net/mail/accountview.h index 83d49af..cdc87ce 100644 --- a/noncore/net/mail/accountview.h +++ b/noncore/net/mail/accountview.h | |||
@@ -79,5 +79,9 @@ public slots: | |||
79 | void refresh(QListViewItem *item); | 79 | void refresh(QListViewItem *item); |
80 | void refreshCurrent(); | ||
80 | 81 | ||
81 | signals: | 82 | signals: |
82 | void refreshMailview(QList<RecMail>*); | 83 | void refreshMailview(QList<RecMail>*); |
84 | |||
85 | private: | ||
86 | QListViewItem* m_currentItem; | ||
83 | }; | 87 | }; |
diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp index 8ef7ddd..c410829 100644 --- a/noncore/net/mail/mainwindow.cpp +++ b/noncore/net/mail/mainwindow.cpp | |||
@@ -62,2 +62,7 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | |||
62 | 62 | ||
63 | deleteMails = new QAction(tr("Delete Mail"), QIconSet(Resource::loadPixmap("mail/delete")), 0, 0, this); | ||
64 | deleteMails->addTo( toolBar ); | ||
65 | deleteMails->addTo( mailMenu ); | ||
66 | connect( deleteMails, SIGNAL( activated() ), | ||
67 | SLOT( slotDeleteMail() ) ); | ||
63 | 68 | ||
@@ -100,3 +105,3 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | |||
100 | 105 | ||
101 | connect(folderView,SIGNAL(refreshMailview(QList<RecMail>*)),this,SLOT(refreshMailView(QList<RecMail>*))); | 106 | connect(folderView, SIGNAL(refreshMailview(QList<RecMail>*)),this,SLOT(refreshMailView(QList<RecMail>*))); |
102 | 107 | ||
@@ -133,3 +138,3 @@ void MainWindow::slotShowFolders( bool show ) | |||
133 | { | 138 | { |
134 | qDebug( "Show Folders" ); | 139 | qDebug( "Show Folders" ); |
135 | if ( show && folderView->isHidden() ) { | 140 | if ( show && folderView->isHidden() ) { |
@@ -155,2 +160,5 @@ void MainWindow::displayMail(QListViewItem*item) | |||
155 | { | 160 | { |
161 | |||
162 | m_currentItem = item; | ||
163 | |||
156 | if (!item) return; | 164 | if (!item) return; |
@@ -164,5 +172,20 @@ void MainWindow::displayMail(QListViewItem*item) | |||
164 | readMail.exec(); | 172 | readMail.exec(); |
165 | ( (MailListViewItem*)item )->setPixmap( 0, Resource::loadPixmap( "opiemail/kmmsgunseen") ); | 173 | |
174 | if ( readMail.deleted ) { | ||
175 | folderView->refreshCurrent(); | ||
176 | } else { | ||
177 | ( (MailListViewItem*)item )->setPixmap( 0, Resource::loadPixmap( "opiemail/kmmsgunseen") ); | ||
178 | } | ||
166 | } | 179 | } |
167 | 180 | ||
181 | void MainWindow::slotDeleteMail() | ||
182 | { | ||
183 | if (!m_currentItem) return; | ||
184 | RecMail mail = ((MailListViewItem*)m_currentItem)->data(); | ||
185 | mail.Wrapper()->deleteMail( mail ); | ||
186 | folderView->refreshCurrent(); | ||
187 | } | ||
188 | |||
189 | |||
190 | |||
168 | MailListViewItem::MailListViewItem(QListView * parent, MailListViewItem * item ) | 191 | MailListViewItem::MailListViewItem(QListView * parent, MailListViewItem * item ) |
diff --git a/noncore/net/mail/mainwindow.h b/noncore/net/mail/mainwindow.h index 6c1cda0..8641510 100644 --- a/noncore/net/mail/mainwindow.h +++ b/noncore/net/mail/mainwindow.h | |||
@@ -28,2 +28,3 @@ protected slots: | |||
28 | virtual void displayMail(QListViewItem*); | 28 | virtual void displayMail(QListViewItem*); |
29 | virtual void slotDeleteMail(); | ||
29 | void slotAdjustLayout(); | 30 | void slotAdjustLayout(); |
@@ -34,3 +35,3 @@ protected: | |||
34 | QPopupMenu *mailMenu, *settingsMenu; | 35 | QPopupMenu *mailMenu, *settingsMenu; |
35 | QAction *composeMail, *sendQueued, *showFolders, *searchMails, | 36 | QAction *composeMail, *sendQueued, *showFolders, *searchMails, *deleteMails, |
36 | *editSettings, *editAccounts, *syncFolders; | 37 | *editSettings, *editAccounts, *syncFolders; |
@@ -38,2 +39,3 @@ protected: | |||
38 | QListView *mailView; | 39 | QListView *mailView; |
40 | QListViewItem* m_currentItem; | ||
39 | QBoxLayout *layout; | 41 | QBoxLayout *layout; |
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp index 42707e3..163ffb7 100644 --- a/noncore/net/mail/viewmail.cpp +++ b/noncore/net/mail/viewmail.cpp | |||
@@ -13,2 +13,3 @@ | |||
13 | #include "abstractmail.h" | 13 | #include "abstractmail.h" |
14 | #include "accountview.h" | ||
14 | 15 | ||
@@ -171,2 +172,3 @@ ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl) | |||
171 | connect(forward, SIGNAL(activated()), SLOT(slotForward())); | 172 | connect(forward, SIGNAL(activated()), SLOT(slotForward())); |
173 | connect( deleteMail, SIGNAL( activated() ), SLOT( slotDeleteMail( ) ) ); | ||
172 | 174 | ||
@@ -317 +319,7 @@ void ViewMail::slotForward() | |||
317 | 319 | ||
320 | void ViewMail::slotDeleteMail( ) | ||
321 | { | ||
322 | m_recMail.Wrapper()->deleteMail( m_recMail ); | ||
323 | hide(); | ||
324 | deleted = true; | ||
325 | } | ||
diff --git a/noncore/net/mail/viewmail.h b/noncore/net/mail/viewmail.h index bc12da1..765464c 100644 --- a/noncore/net/mail/viewmail.h +++ b/noncore/net/mail/viewmail.h | |||
@@ -32,2 +32,3 @@ public: | |||
32 | void setBody( RecBody body ); | 32 | void setBody( RecBody body ); |
33 | bool deleted; | ||
33 | 34 | ||
@@ -41,2 +42,4 @@ protected slots: | |||
41 | void slotItemClicked( QListViewItem * item , const QPoint & point, int c ); | 42 | void slotItemClicked( QListViewItem * item , const QPoint & point, int c ); |
43 | void slotDeleteMail( ); | ||
44 | |||
42 | 45 | ||