29 #ifndef KORG_ACTIONMANAGER_H
30 #define KORG_ACTIONMANAGER_H
35 #include <Akonadi/Item>
36 #include <Akonadi/Calendar/ETMCalendar>
39 #include <KViewStateMaintainer>
47 class HTMLExportSettings;
51 class ETMViewStateSaver;
72 bool isPart, KMenuBar *menuBar = 0 );
83 void createCalendarAkonadi();
86 bool importURL(
const KUrl &url,
bool merge);
92 bool saveAsURL(
const KUrl &kurl );
107 void toggleMenubar(
bool dontShowWarning =
false );
111 KUrl
url()
const {
return mURL; }
117 bool openURL(
const QString &url );
120 bool mergeURL(
const QString &url );
123 bool saveAsURL(
const QString &url );
126 QString getCurrentURLasString()
const;
134 virtual bool deleteIncidence( Akonadi::Item::Id
id,
bool force =
false );
136 bool editIncidence( Akonadi::Item::Id
id );
142 bool addIncidence(
const QString &ical );
145 bool showIncidence( Akonadi::Item::Id
id );
152 bool showIncidenceContext( Akonadi::Item::Id
id );
159 bool handleCommandLine();
162 void openEventEditor(
const QString &);
163 void openEventEditor(
const QString &summary,
164 const QString &description,
165 const QStringList &attachments );
166 void openEventEditor(
const QString &summary,
167 const QString &description,
168 const QStringList &attachments,
169 const QStringList &attendees );
170 void openEventEditor(
const QString &summary,
171 const QString &description,
174 const QStringList &attendees,
175 const QString &attachmentMimetype );
176 void openEventEditor(
const QString &summary,
177 const QString &description,
178 const QStringList &attachmentUris,
179 const QStringList &attendees,
180 const QStringList &attachmentMimetypes,
181 bool attachmentIsInline );
182 void openTodoEditor(
const QString &);
183 void openTodoEditor(
const QString &summary,
184 const QString &description,
185 const QStringList &attachments );
186 void openTodoEditor(
const QString &summary,
187 const QString &description,
188 const QStringList &attachments,
189 const QStringList &attendees );
190 void openTodoEditor(
const QString &summary,
191 const QString &description,
194 const QStringList &attendees,
195 const QString &attachmentMimetype );
196 void openTodoEditor(
const QString &summary,
197 const QString &description,
198 const QStringList &attachmentUris,
199 const QStringList &attendees,
200 const QStringList &attachmentMimetypes,
201 bool attachmentIsInline );
203 void openJournalEditor(
const QDate &date );
204 void openJournalEditor(
const QString &text,
const QDate &date );
205 void openJournalEditor(
const QString &text );
207 void showJournalView();
209 void showEventView();
211 void goDate(
const QDate &);
212 void goDate(
const QString &);
213 void showDate(
const QDate &date );
216 QString localFileName();
225 void toggleMenuBar();
231 void configChanged();
240 void processIncidenceSelection(
const Akonadi::Item &item,
const QDate &date );
252 void writeSettings();
255 void saveProperties( KConfigGroup & );
256 void readProperties(
const KConfigGroup & );
260 void importCalendar(
const KUrl &url );
263 void setItems(
const QStringList &,
int );
266 void checkAutoExport();
278 void file_open(
const KUrl &url );
281 void file_icalimport();
290 void configureDateTime();
296 void showTipOnStart();
298 void downloadNewStuff();
300 void toggleDateNavigator();
301 void toggleTodoView();
302 void toggleEventViewer();
303 void toggleResourceView();
306 void slotAutoArchivingSettingsModified();
309 void slotAutoArchive();
313 void updateUndoRedoActions();
325 void handleExportJobResult(
KJob * );
326 void dumpText(
const QString & );
328 void slotDefaultResourceChanged(
const Akonadi::Collection & );
329 void slotResourcesAddedRemoved();
333 void slotNewSubTodo();
334 void slotNewJournal();
336 void slotMergeFinished(
bool success,
int total);
337 void slotNewResourceFinished(
bool);
341 class ActionStringsVisitor;
343 void restoreCollectionViewSetting();
346 void enableIncidenceActions(
bool enable );
347 Akonadi::ETMCalendar::Ptr calendar()
const;
349 Akonadi::Collection selectedCollection()
const;
356 KTemporaryFile *mTempFile;
357 QTimer *mAutoExportTimer;
358 QTimer *mAutoArchiveTimer;
363 KToggleAction *mDateNavigatorShowAction;
364 KToggleAction *mTodoViewShowAction;
365 KToggleAction *mCollectionViewShowAction;
366 KToggleAction *mEventViewerShowAction;
368 KToggleAction *mHideMenuBarAction;
370 KAction *mImportAction;
372 KAction *mNewEventAction;
373 KAction *mNewTodoAction;
374 KAction *mNewSubtodoAction;
375 KAction *mNewJournalAction;
376 KAction *mConfigureViewAction;
378 KAction *mShowIncidenceAction;
379 KAction *mEditIncidenceAction;
380 KAction *mDeleteIncidenceAction;
383 KAction *mCopyAction;
384 KAction *mDeleteAction;
386 KAction *mPublishEvent;
387 KAction *mForwardEvent;
389 KAction *mSendInvitation;
390 KAction *mSendCancel;
391 KAction *mSendStatusUpdate;
393 KAction *mRequestChange;
394 KAction *mRequestUpdate;
396 KAction *mUndoAction;
397 KAction *mRedoAction;
400 KSelectAction *mFilterAction;
402 KXMLGUIClient *mGUIClient;
403 KActionCollection *mACollection;
407 bool mHtmlExportSync;
410 KViewStateMaintainer<Akonadi::ETMViewStateSaver> *mCollectionViewStateSaver;
411 KViewStateMaintainer<Akonadi::ETMViewStateSaver> *mCollectionSelectionModelStateSaver;
412 QSet<KOrg::HTMLExportSettings*> mSettingsToFree;
This class manages a list of KOrganizer instances, each associated with a window displaying a calenda...
This is the main calendar widget.
CalendarView * view() const
#define KORGANIZERPRIVATE_EXPORT
interface for korganizer main window
The ActionManager creates all the actions in KOrganizer.
This class provides a view of calendar resources.
KUrl url() const
Get current URL.