File indexing completed on 2024-04-21 05:50:17

0001 /*
0002     SPDX-FileCopyrightText: 1999 Michael Kropfberger <michael.kropfberger@gmx.net>
0003     SPDX-FileCopyrightText: 2009 Dario Andres Rodriguez <andresbajotierra@gmail.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 // With changes by Espen Sand and Stanislav Karchebny.
0009 
0010 #ifndef KWIKDISK_H
0011 #define KWIKDISK_H
0012 
0013 #include "disklist.h"
0014 #include "stdoption.h"
0015 #include "optiondialog.h"
0016 
0017 #include <KStatusNotifierItem>
0018 
0019 class QActionGroup;
0020 
0021 /**
0022 * @short Application Main Window (however in Tray)
0023 * @version 0.2
0024 */
0025 
0026 class KwikDisk : public KStatusNotifierItem
0027 {
0028     Q_OBJECT
0029 
0030     public:
0031         KwikDisk();
0032 
0033     public Q_SLOTS:
0034         void activate(const QPoint &pos) override;
0035 
0036     private Q_SLOTS:
0037         void updateDFDone();
0038         void criticallyFull(DiskEntry*);
0039         void toggleMount(QAction*);
0040         void loadSettings();
0041         void changeSettings();
0042         void startKDF();
0043         void invokeHelp();
0044         void clearDeviceActions();
0045 
0046     private:
0047         void timerEvent(QTimerEvent *) override;
0048         void enterEvent(QEvent *);
0049         void leaveEvent(QEvent *);
0050 
0051         void setUpdateFrequency(int frequency);
0052 
0053         void updateDF();
0054 
0055         DiskList       m_diskList;
0056         CStdOption     m_options;
0057         bool           m_readingDF;
0058         bool           m_dirty;
0059         bool           m_menuVisible;
0060         bool           m_inside;
0061         COptionDialog *m_optionDialog;
0062         QActionGroup * m_actionGroup;
0063         QAction * m_actionSeparator;
0064 };
0065 
0066 #endif // _KWIKDISK_H_
0067