File indexing completed on 2024-05-12 05:21:40
0001 /* 0002 * Copyright (C) 2003 by Scott Monachello <smonach@cox.net> 0003 * Copyright (C) 2019 Alexander Potashev <aspotashev@gmail.com> 0004 * 0005 * This program is free software; you can redistribute it and/or modify 0006 * it under the terms of the GNU General Public License as published by 0007 * the Free Software Foundation; either version 2 of the License, or 0008 * (at your option) any later version. 0009 * 0010 * This program is distributed in the hope that it will be useful, 0011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0013 * GNU General Public License for more details. 0014 * 0015 * You should have received a copy of the GNU General Public License along 0016 * with this program; if not, write to the 0017 * Free Software Foundation, Inc. 0018 * 51 Franklin Street, Fifth Floor 0019 * Boston, MA 02110-1301 USA. 0020 * 0021 */ 0022 0023 #ifndef KTIMETRACKER_MAIN_WINDOW_H 0024 #define KTIMETRACKER_MAIN_WINDOW_H 0025 0026 #include <KXmlGuiWindow> 0027 #include <model/task.h> 0028 0029 class TrayIcon; 0030 class TimeTrackerWidget; 0031 0032 /** 0033 * Main window to tie the application together. 0034 */ 0035 class MainWindow : public KXmlGuiWindow 0036 { 0037 Q_OBJECT 0038 0039 public: 0040 explicit MainWindow(const QUrl &url); 0041 ~MainWindow() override; 0042 0043 public Q_SLOTS: 0044 void setStatusBar(const QString &); 0045 void quit(); 0046 0047 protected Q_SLOTS: 0048 void taskViewCustomContextMenuRequested(const QPoint &); 0049 void updateWindowCaptionTasks(const QList<Task *> &activeTasks); 0050 void updateWindowCaptionFile(const QUrl &url); 0051 0052 protected: 0053 bool queryClose() override; 0054 0055 private: 0056 TrayIcon *m_tray; 0057 TimeTrackerWidget *m_mainWidget; 0058 bool m_quitRequested; 0059 }; 0060 0061 #endif // KTIMETRACKER_MAIN_WINDOW_H