• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

kmail

  • sources
  • kde-4.12
  • kdepim
  • kmail
messageactions.h
Go to the documentation of this file.
1 /*
2  Copyright (c) 2007 Volker Krause <vkrause@kde.org>
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 */
18 
19 #ifndef KMAIL_MESSAGEACTIONS_H
20 #define KMAIL_MESSAGEACTIONS_H
21 
22 #include "messagecomposer/helper/messagefactory.h"
23 #include <KUrl>
24 
25 #include <qobject.h>
26 
27 class QWidget;
28 class QAction;
29 class KJob;
30 class KAction;
31 class KActionMenu;
32 class KActionCollection;
33 class KXMLGUIClient;
34 class KMReaderWin;
35 class KMenu;
36 
37 namespace Akonadi {
38  class Item;
39  class Monitor;
40 }
41 
42 namespace MessageCore {
43  class AsyncNepomukResourceRetriever;
44 }
45 
46 namespace Nepomuk2 {
47  class Resource;
48 }
49 
50 namespace TemplateParser {
51  class CustomTemplatesMenu;
52 }
53 
54 namespace KMail {
55 
59 class MessageActions : public QObject
60 {
61  Q_OBJECT
62  public:
63  explicit MessageActions( KActionCollection* ac, QWidget *parent );
64  ~MessageActions();
65  void setMessageView( KMReaderWin *msgView );
66 
72  void setupForwardActions();
73 
77  void setupForwardingActionsList( KXMLGUIClient *guiClient );
78 
79  void setCurrentMessage(const Akonadi::Item &item , const Akonadi::Item::List &items = Akonadi::Item::List());
80 
81  KActionMenu* replyMenu() const { return mReplyActionMenu; }
82  KAction* replyListAction() const { return mReplyListAction; }
83  KAction* createTodoAction() const { return mCreateTodoAction; }
84  KAction* forwardInlineAction() const { return mForwardInlineAction; }
85  KAction* forwardAttachedAction() const { return mForwardAttachedAction; }
86  KAction* redirectAction() const { return mRedirectAction; }
87 
88  KActionMenu* messageStatusMenu() const { return mStatusMenu; }
89  KActionMenu *forwardMenu() const { return mForwardActionMenu; }
90 
91  KAction* editAction() const { return mEditAction; }
92  KAction* annotateAction() const { return mAnnotateAction; }
93  KAction* printAction() const { return mPrintAction; }
94  KAction* printPreviewAction() const { return mPrintPreviewAction; }
95  KAction* listFilterAction() const { return mListFilterAction; }
96 
97  KActionMenu* mailingListActionMenu() const { return mMailingListActionMenu; }
98  TemplateParser::CustomTemplatesMenu* customTemplatesMenu() const;
99 
100  void addWebShortcutsMenu( KMenu *menu, const QString & text );
101 
102 
103  signals:
104  // This signal is emitted when a reply is triggered and the
105  // action has finished.
106  // This is useful for the stand-alone reader, it might want to close the window in
107  // that case.
108  void replyActionFinished();
109 
110  public slots:
111  void editCurrentMessage();
112  void annotateMessage();
113 
114  private:
115  void updateActions();
116  void replyCommand(MessageComposer::ReplyStrategy strategy);
117  void addMailingListAction( const QString &item, const KUrl &url );
118  void addMailingListActions( const QString &item, const KUrl::List &list );
119  void updateMailingListActions( const Akonadi::Item& messageItem );
120  void printMessage(bool preview);
121  void clearMailingListActions();
122 
123 
124  private slots:
125  void updateAnnotateAction(const QUrl& url, const Nepomuk2::Resource& resource);
126  void slotItemModified( const Akonadi::Item & item, const QSet< QByteArray > & partIdentifiers );
127  void slotItemRemoved(const Akonadi::Item& item);
128 
129  void slotReplyToMsg();
130  void slotReplyAuthorToMsg();
131  void slotReplyListToMsg();
132  void slotReplyAllToMsg();
133  void slotNoQuoteReplyToMsg();
134  void slotCreateTodo();
135  void slotRunUrl( QAction *urlAction );
136  void slotPrintMsg();
137  void slotPrintPreviewMsg();
138 
139  void slotUpdateActionsFetchDone( KJob* job );
140  void slotMailingListFilter();
141  void slotHandleWebShortcutAction();
142  void slotConfigureWebShortcuts();
143 
144 
145  private:
146  QList<KAction*> mMailListActionList;
147  QWidget *mParent;
148  Akonadi::Item mCurrentItem;
149  Akonadi::Item::List mVisibleItems;
150  KMReaderWin *mMessageView;
151 
152  KActionMenu *mReplyActionMenu;
153  KAction *mReplyAction, *mReplyAllAction, *mReplyAuthorAction,
154  *mReplyListAction, *mNoQuoteReplyAction,
155  *mForwardInlineAction, *mForwardAttachedAction, *mRedirectAction;
156  KAction *mCreateTodoAction;
157  KActionMenu *mStatusMenu;
158  KActionMenu *mForwardActionMenu;
159  KActionMenu *mMailingListActionMenu;
160  KAction *mEditAction, *mAnnotateAction, *mPrintAction, *mPrintPreviewAction;
161  bool mKorganizerIsOnSystem;
162  Akonadi::Monitor *mMonitor;
163  MessageCore::AsyncNepomukResourceRetriever *mAsynNepomukRetriever;
164  TemplateParser::CustomTemplatesMenu *mCustomTemplatesMenu;
165  KAction *mListFilterAction;
166 };
167 
168 }
169 
170 #endif
171 
KMail::MessageActions::addWebShortcutsMenu
void addWebShortcutsMenu(KMenu *menu, const QString &text)
Definition: messageactions.cpp:645
KMail::MessageActions::editCurrentMessage
void editCurrentMessage()
Definition: messageactions.cpp:601
KMail::MessageActions::replyActionFinished
void replyActionFinished()
KXMLGUIClient
KMail::MessageActions::redirectAction
KAction * redirectAction() const
Definition: messageactions.h:86
KMail::MessageActions::forwardAttachedAction
KAction * forwardAttachedAction() const
Definition: messageactions.h:85
KMail::MessageActions::~MessageActions
~MessageActions()
Definition: messageactions.cpp:231
KMReaderWin
This class implements a "reader window", that is a window used for reading or viewing messages...
Definition: kmreaderwin.h:50
text
virtual QByteArray text(quint32 serialNumber) const =0
QWidget
KMail::MessageActions
Manages common actions that can be performed on one or more messages.
Definition: messageactions.h:59
KMail::MessageActions::forwardInlineAction
KAction * forwardInlineAction() const
Definition: messageactions.h:84
KMail::MessageActions::annotateAction
KAction * annotateAction() const
Definition: messageactions.h:92
KMail::MessageActions::MessageActions
MessageActions(KActionCollection *ac, QWidget *parent)
Definition: messageactions.cpp:68
KMail::MessageActions::customTemplatesMenu
TemplateParser::CustomTemplatesMenu * customTemplatesMenu() const
Definition: messageactions.cpp:236
QObject
KMail::MessageActions::setupForwardingActionsList
void setupForwardingActionsList(KXMLGUIClient *guiClient)
Sets up action list for forward menu.
Definition: messageactions.cpp:469
KMail::MessageActions::printPreviewAction
KAction * printPreviewAction() const
Definition: messageactions.h:94
KMail::MessageActions::forwardMenu
KActionMenu * forwardMenu() const
Definition: messageactions.h:89
KMail::MessageActions::listFilterAction
KAction * listFilterAction() const
Definition: messageactions.h:95
KMail::MessageActions::setCurrentMessage
void setCurrentMessage(const Akonadi::Item &item, const Akonadi::Item::List &items=Akonadi::Item::List())
Definition: messageactions.cpp:241
KMail::MessageActions::mailingListActionMenu
KActionMenu * mailingListActionMenu() const
Definition: messageactions.h:97
KMail::MessageActions::createTodoAction
KAction * createTodoAction() const
Definition: messageactions.h:83
KMail::MessageActions::annotateMessage
void annotateMessage()
Definition: messageactions.cpp:623
KMail::MessageActions::replyMenu
KActionMenu * replyMenu() const
Definition: messageactions.h:81
KMail::MessageActions::setMessageView
void setMessageView(KMReaderWin *msgView)
Definition: messageactions.cpp:441
KMail::MessageActions::editAction
KAction * editAction() const
Definition: messageactions.h:91
KMail::MessageActions::replyListAction
KAction * replyListAction() const
Definition: messageactions.h:82
KMail::MessageActions::printAction
KAction * printAction() const
Definition: messageactions.h:93
KJob
QList< KAction * >
KMail::MessageActions::setupForwardActions
void setupForwardActions()
This function adds or updates the actions of the forward action menu, taking the preference whether t...
Definition: messageactions.cpp:446
KMail::MessageActions::messageStatusMenu
KActionMenu * messageStatusMenu() const
Definition: messageactions.h:88
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:58:52 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kmail

Skip menu "kmail"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal