Move unittestenv to correct location
[kdepim.git] / korganizer / korganizer.h
blob9e6ffd47de6ae0c6861edbdb97b0c94f4311d3ae
1 /*
2 This file is part of KOrganizer.
4 Copyright (c) 1997, 1998, 1999 Preston Brown <preston.brown@yale.edu>
5 Fester Zigterman <F.J.F.ZigtermanRustenburg@student.utwente.nl>
6 Ian Dawes <iadawes@globalserve.net>
7 Laszlo Boloni <boloni@cs.purdue.edu>
9 Copyright (c) 2000-2003 Cornelius Schumacher <schumacher@kde.org>
10 Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
12 This program is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation; either version 2 of the License, or
15 (at your option) any later version.
17 This program is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
22 You should have received a copy of the GNU General Public License along
23 with this program; if not, write to the Free Software Foundation, Inc.,
24 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26 As a special exception, permission is given to link this program
27 with any edition of Qt, and distribute the resulting executable,
28 without including the source code for Qt in the source distribution.
30 #ifndef KORG_KORGANIZER_H
31 #define KORG_KORGANIZER_H
33 #include "mainwindow.h"
34 #include "part.h"
36 #include <KParts/MainWindow>
38 class CalendarView;
39 class KOrganizerPluginInterface;
40 // Workaround for moc workaround for visual c++ 6.0 sucking
41 typedef KOrg::MainWindow KOrgMainWindow;
42 typedef KParts::MainWindow KPartsMainWindow;
44 /**
45 This is the main class for KOrganizer. It extends the KDE KMainWindow.
46 it provides the main view that the user sees upon startup, as well as
47 menus, buttons, etc. etc.
49 @short constructs a new main window for korganizer
50 @author Preston Brown
52 class KOrganizer : public KPartsMainWindow, public KOrgMainWindow
54 Q_OBJECT
55 public:
56 KOrganizer();
57 virtual ~KOrganizer();
59 void init(bool hasDocument) Q_DECL_OVERRIDE;
61 KOrg::CalendarViewBase *view() const Q_DECL_OVERRIDE;
62 ActionManager *actionManager() Q_DECL_OVERRIDE {
63 return mActionManager;
65 KActionCollection *getActionCollection() const Q_DECL_OVERRIDE
67 return actionCollection();
70 void initializePluginActions();
71 /**
72 Open calendar file from URL. Merge into current calendar, if \a merge is
73 true.
74 @param url The URL to open
75 @param merge true if the incidences in URL should be imported into the
76 current calendar (default resource or calendar file),
77 false if the URL should be added as a new resource.
78 @return true on success, false if an error occurred
80 bool openURL(const QUrl &url, bool merge = false) Q_DECL_OVERRIDE;
82 /** Save calendar file to URL of current calendar */
83 bool saveURL() Q_DECL_OVERRIDE;
85 /** Save calendar file to URL */
86 bool saveAsURL(const QUrl &url) Q_DECL_OVERRIDE;
88 /** Get current URL */
89 QUrl getCurrentURL() const Q_DECL_OVERRIDE;
91 KXMLGUIFactory *mainGuiFactory() Q_DECL_OVERRIDE {
92 return factory();
94 KXMLGUIClient *mainGuiClient() Q_DECL_OVERRIDE {
95 return this;
97 QWidget *topLevelWidget() Q_DECL_OVERRIDE {
98 return this;
101 public Q_SLOTS:
102 /** show status message */
103 void showStatusMessage(const QString &) Q_DECL_OVERRIDE;
105 protected Q_SLOTS:
107 /** using the KConfig associated with the kapp variable, read in the
108 * settings from the config file.
110 void readSettings();
112 /** write current state to config file. */
113 void writeSettings();
115 /** Sets title of window according to filename and modification state */
116 void setTitle() Q_DECL_OVERRIDE;
118 void newMainWindow(const QUrl &);
120 void slotEditKeys();
122 protected:
123 void initActions();
124 // void initViews();
126 /** supplied so that close events close calendar properly.*/
127 bool queryClose() Q_DECL_OVERRIDE;
129 /* Session management */
130 void saveProperties(KConfigGroup &) Q_DECL_OVERRIDE;
131 void readProperties(const KConfigGroup &) Q_DECL_OVERRIDE;
133 private:
134 CalendarView *mCalendarView; // Main view widget
135 KOrg::Part::List mParts; // List of parts loaded
137 ActionManager *mActionManager;
138 KOrganizerPluginInterface *mPluginInterface;
141 #endif