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

kmail

  • sources
  • kde-4.14
  • 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 }
40 
41 namespace TemplateParser {
42 class CustomTemplatesMenu;
43 }
44 
45 namespace KMail {
46 
50 class MessageActions : public QObject
51 {
52  Q_OBJECT
53 public:
54  explicit MessageActions( KActionCollection* ac, QWidget *parent );
55  ~MessageActions();
56  void setMessageView( KMReaderWin *msgView );
57 
63  void setupForwardActions();
64 
68  void setupForwardingActionsList( KXMLGUIClient *guiClient );
69 
70  void setCurrentMessage(const Akonadi::Item &item , const Akonadi::Item::List &items = Akonadi::Item::List());
71 
72  KActionMenu* replyMenu() const { return mReplyActionMenu; }
73  KAction* replyListAction() const { return mReplyListAction; }
74  KAction* createTodoAction() const { return mCreateTodoAction; }
75  KAction* forwardInlineAction() const { return mForwardInlineAction; }
76  KAction* forwardAttachedAction() const { return mForwardAttachedAction; }
77  KAction* redirectAction() const { return mRedirectAction; }
78 
79  KActionMenu* messageStatusMenu() const { return mStatusMenu; }
80  KActionMenu *forwardMenu() const { return mForwardActionMenu; }
81 
82  KAction* editAction() const { return mEditAction; }
83  KAction* annotateAction() const { return mAnnotateAction; }
84  KAction* printAction() const { return mPrintAction; }
85  KAction* printPreviewAction() const { return mPrintPreviewAction; }
86  KAction* listFilterAction() const { return mListFilterAction; }
87  KAction* addFollowupReminderAction() const { return mAddFollowupReminderAction; }
88 
89  KActionMenu* mailingListActionMenu() const { return mMailingListActionMenu; }
90  TemplateParser::CustomTemplatesMenu* customTemplatesMenu() const;
91 
92  void addWebShortcutsMenu( KMenu *menu, const QString & text );
93 
94  QAction *debugBalooAction() const { return mDebugBalooAction; }
95 
96 signals:
97  // This signal is emitted when a reply is triggered and the
98  // action has finished.
99  // This is useful for the stand-alone reader, it might want to close the window in
100  // that case.
101  void replyActionFinished();
102 
103 public slots:
104  void editCurrentMessage();
105  void annotateMessage();
106 
107 private:
108  void updateActions();
109  void replyCommand(MessageComposer::ReplyStrategy strategy);
110  void addMailingListAction( const QString &item, const KUrl &url );
111  void addMailingListActions( const QString &item, const KUrl::List &list );
112  void updateMailingListActions( const Akonadi::Item& messageItem );
113  void printMessage(bool preview);
114  void clearMailingListActions();
115 
116 
117 private slots:
118  void slotItemModified( const Akonadi::Item & item, const QSet< QByteArray > & partIdentifiers );
119  void slotItemRemoved(const Akonadi::Item& item);
120 
121  void slotReplyToMsg();
122  void slotReplyAuthorToMsg();
123  void slotReplyListToMsg();
124  void slotReplyAllToMsg();
125  void slotNoQuoteReplyToMsg();
126  void slotRunUrl( QAction *urlAction );
127  void slotPrintMsg();
128  void slotPrintPreviewMsg();
129 
130  void slotUpdateActionsFetchDone( KJob* job );
131  void slotMailingListFilter();
132  void slotHandleWebShortcutAction();
133  void slotConfigureWebShortcuts();
134  void slotDebugBaloo();
135 
136  void slotAddFollowupReminder();
137 private:
138  QList<KAction*> mMailListActionList;
139  QWidget *mParent;
140  Akonadi::Item mCurrentItem;
141  Akonadi::Item::List mVisibleItems;
142  KMReaderWin *mMessageView;
143 
144  KActionMenu *mReplyActionMenu;
145  KAction *mReplyAction, *mReplyAllAction, *mReplyAuthorAction,
146  *mReplyListAction, *mNoQuoteReplyAction,
147  *mForwardInlineAction, *mForwardAttachedAction, *mRedirectAction;
148  KAction *mCreateTodoAction;
149  KActionMenu *mStatusMenu;
150  KActionMenu *mForwardActionMenu;
151  KActionMenu *mMailingListActionMenu;
152  KAction *mEditAction, *mAnnotateAction, *mPrintAction, *mPrintPreviewAction;
153  TemplateParser::CustomTemplatesMenu *mCustomTemplatesMenu;
154  KAction *mListFilterAction;
155  KAction *mAddFollowupReminderAction;
156  QAction *mDebugBalooAction;
157 };
158 
159 }
160 
161 #endif
162 
QWidget
KMail::MessageActions::addWebShortcutsMenu
void addWebShortcutsMenu(KMenu *menu, const QString &text)
Definition: messageactions.cpp:609
KMail::MessageActions::editCurrentMessage
void editCurrentMessage()
Definition: messageactions.cpp:577
KMail::MessageActions::replyActionFinished
void replyActionFinished()
KXMLGUIClient
KMail::MessageActions::redirectAction
KAction * redirectAction() const
Definition: messageactions.h:77
KMail::MessageActions::forwardAttachedAction
KAction * forwardAttachedAction() const
Definition: messageactions.h:76
KMail::MessageActions::~MessageActions
~MessageActions()
Definition: messageactions.cpp:224
KMReaderWin
This class implements a "reader window", that is a window used for reading or viewing messages...
Definition: kmreaderwin.h:49
text
virtual QByteArray text(quint32 serialNumber) const =0
KMail::MessageActions
Manages common actions that can be performed on one or more messages.
Definition: messageactions.h:50
KMail::MessageActions::forwardInlineAction
KAction * forwardInlineAction() const
Definition: messageactions.h:75
KMail::MessageActions::annotateAction
KAction * annotateAction() const
Definition: messageactions.h:83
KMail::MessageActions::MessageActions
MessageActions(KActionCollection *ac, QWidget *parent)
Definition: messageactions.cpp:68
KMail::MessageActions::customTemplatesMenu
TemplateParser::CustomTemplatesMenu * customTemplatesMenu() const
Definition: messageactions.cpp:229
KMail::MessageActions::addFollowupReminderAction
KAction * addFollowupReminderAction() const
Definition: messageactions.h:87
KMail::MessageActions::setupForwardingActionsList
void setupForwardingActionsList(KXMLGUIClient *guiClient)
Sets up action list for forward menu.
Definition: messageactions.cpp:445
KMail::MessageActions::printPreviewAction
KAction * printPreviewAction() const
Definition: messageactions.h:85
QObject
QSet
KMail::MessageActions::forwardMenu
KActionMenu * forwardMenu() const
Definition: messageactions.h:80
QString
QList< KAction * >
KMail::MessageActions::listFilterAction
KAction * listFilterAction() const
Definition: messageactions.h:86
KMail::MessageActions::debugBalooAction
QAction * debugBalooAction() const
Definition: messageactions.h:94
KMail::MessageActions::setCurrentMessage
void setCurrentMessage(const Akonadi::Item &item, const Akonadi::Item::List &items=Akonadi::Item::List())
Definition: messageactions.cpp:234
KMail::MessageActions::mailingListActionMenu
KActionMenu * mailingListActionMenu() const
Definition: messageactions.h:89
KMail::MessageActions::createTodoAction
KAction * createTodoAction() const
Definition: messageactions.h:74
KMail::MessageActions::annotateMessage
void annotateMessage()
Definition: messageactions.cpp:599
KActionMenu
KMail::MessageActions::replyMenu
KActionMenu * replyMenu() const
Definition: messageactions.h:72
KMail::MessageActions::setMessageView
void setMessageView(KMReaderWin *msgView)
Definition: messageactions.cpp:417
QAction
KMail::MessageActions::editAction
KAction * editAction() const
Definition: messageactions.h:82
KMail::MessageActions::replyListAction
KAction * replyListAction() const
Definition: messageactions.h:73
QObject::parent
QObject * parent() const
KMail::MessageActions::printAction
KAction * printAction() const
Definition: messageactions.h:84
KJob
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:422
KMail::MessageActions::messageStatusMenu
KActionMenu * messageStatusMenu() const
Definition: messageactions.h:79
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:34:33 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
  • pimprint

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