kalarm
mainwindow.hGo to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef MAINWINDOW_H
00022 #define MAINWINDOW_H
00023
00026 #include "alarmevent.h"
00027 #include "alarmtext.h"
00028 #include "mainwindowbase.h"
00029 #include "undo.h"
00030
00031 class QListViewItem;
00032 class KAction;
00033 class KToggleAction;
00034 class KToolBarPopupAction;
00035 class KPopupMenu;
00036 class ActionAlarmsEnabled;
00037 class AlarmListView;
00038 class TemplateDlg;
00039 class TemplateMenuAction;
00040
00041
00042 class MainWindow : public MainWindowBase
00043 {
00044 Q_OBJECT
00045
00046 public:
00047 static MainWindow* create(bool restored = false);
00048 ~MainWindow();
00049 bool isTrayParent() const;
00050 bool isHiddenTrayParent() const { return mHiddenTrayParent; }
00051 bool showingExpired() const { return mShowExpired; }
00052 void selectEvent(const QString& eventID);
00053
00054 static void refresh();
00055 static void updateExpired();
00056 static void addEvent(const KAEvent&, MainWindow*);
00057 static void executeNew(MainWindow* w = 0, KAEvent::Action a = KAEvent::MESSAGE, const AlarmText& t = AlarmText())
00058 { executeNew(w, 0, a, t); }
00059 static void executeNew(const KAEvent& e, MainWindow* w = 0)
00060 { executeNew(w, &e); }
00061 static void executeEdit(KAEvent&, MainWindow* = 0);
00062 static void executeDragEnterEvent(QDragEnterEvent*);
00063 static void executeDropEvent(MainWindow*, QDropEvent*);
00064 static void closeAll();
00065 static MainWindow* toggleWindow(MainWindow*);
00066 static MainWindow* mainMainWindow();
00067 static MainWindow* firstWindow() { return mWindowList.first(); }
00068 static int count() { return mWindowList.count(); }
00069
00070 static QString i18n_a_ShowAlarmTimes();
00071 static QString i18n_m_ShowAlarmTime();
00072 static QString i18n_o_ShowTimeToAlarms();
00073 static QString i18n_l_ShowTimeToAlarm();
00074 static QString i18n_ShowExpiredAlarms();
00075 static QString i18n_e_ShowExpiredAlarms();
00076 static QString i18n_HideExpiredAlarms();
00077 static QString i18n_e_HideExpiredAlarms();
00078
00079 public slots:
00080 virtual void show();
00081
00082 protected:
00083 virtual void resizeEvent(QResizeEvent*);
00084 virtual void showEvent(QShowEvent*);
00085 virtual void hideEvent(QHideEvent*);
00086 virtual void closeEvent(QCloseEvent*);
00087 virtual void dragEnterEvent(QDragEnterEvent*);
00088 virtual void dropEvent(QDropEvent*);
00089 virtual void saveProperties(KConfig*);
00090 virtual void readProperties(KConfig*);
00091
00092 private slots:
00093 void slotNew();
00094 void slotNewFromTemplate(const KAEvent&);
00095 void slotNewTemplate();
00096 void slotCopy();
00097 void slotModify();
00098 void slotDelete();
00099 void slotReactivate();
00100 void slotView();
00101 void slotEnable();
00102 void slotToggleTrayIcon();
00103 void slotResetDaemon();
00104 void slotImportAlarms();
00105 void slotBirthdays();
00106 void slotTemplates();
00107 void slotTemplatesEnd();
00108 void slotPreferences();
00109 void slotConfigureKeys();
00110 void slotConfigureToolbar();
00111 void slotNewToolbarConfig();
00112 void slotQuit();
00113 void slotDeletion();
00114 void slotSelection();
00115 void slotContextMenuRequested(QListViewItem*, const QPoint&, int);
00116 void slotMouseClicked(int button, QListViewItem*, const QPoint&, int);
00117 void slotDoubleClicked(QListViewItem*);
00118 void slotShowTime();
00119 void slotShowTimeTo();
00120 void slotShowExpired();
00121 void slotUpdateTimeTo();
00122 void slotUndo();
00123 void slotUndoItem(int id);
00124 void slotRedo();
00125 void slotRedoItem(int id);
00126 void slotInitUndoMenu();
00127 void slotInitRedoMenu();
00128 void slotUndoStatus(const QString&, const QString&);
00129 void slotFindActive(bool);
00130 void slotPrefsChanged();
00131 void updateTrayIconAction();
00132 void updateActionsMenu();
00133 void columnsReordered();
00134
00135 private:
00136 typedef QValueList<MainWindow*> WindowList;
00137
00138 MainWindow(bool restored);
00139 void createListView(bool recreate);
00140 void initActions();
00141 void setEnableText(bool enable);
00142 static KAEvent::Action getDropAction(QDropEvent*, QString& text);
00143 static void executeNew(MainWindow*, const KAEvent*, KAEvent::Action = KAEvent::MESSAGE, const AlarmText& = AlarmText());
00144 static void initUndoMenu(KPopupMenu*, Undo::Type);
00145 static void setUpdateTimer();
00146 static void enableTemplateMenuItem(bool);
00147
00148 static WindowList mWindowList;
00149 static TemplateDlg* mTemplateDlg;
00150
00151 AlarmListView* mListView;
00152 KAction* mActionTemplates;
00153 KAction* mActionNew;
00154 TemplateMenuAction* mActionNewFromTemplate;
00155 KAction* mActionCreateTemplate;
00156 KAction* mActionCopy;
00157 KAction* mActionModify;
00158 KAction* mActionView;
00159 KAction* mActionDelete;
00160 KAction* mActionReactivate;
00161 KAction* mActionEnable;
00162 KAction* mActionFindNext;
00163 KAction* mActionFindPrev;
00164 KToolBarPopupAction* mActionUndo;
00165 KToolBarPopupAction* mActionRedo;
00166 KToggleAction* mActionToggleTrayIcon;
00167 KToggleAction* mActionShowTime;
00168 KToggleAction* mActionShowTimeTo;
00169 KToggleAction* mActionShowExpired;
00170 KPopupMenu* mActionsMenu;
00171 KPopupMenu* mContextMenu;
00172 bool mMinuteTimerActive;
00173 bool mHiddenTrayParent;
00174 bool mShowExpired;
00175 bool mShowTime;
00176 bool mShowTimeTo;
00177 bool mActionEnableEnable;
00178 bool mMenuError;
00179 };
00180
00181 #endif // MAINWINDOW_H
00182
|