From b5cb2797d65f2541a4c48ea00e6c325bb375ea46 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Mon, 21 Sep 2015 15:39:58 -0500 Subject: Add new hardware device tray application Allow removable media action request popups to be suppressed --- kcontrol/hwmanager/hwdevicetray.h | 95 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 kcontrol/hwmanager/hwdevicetray.h (limited to 'kcontrol/hwmanager/hwdevicetray.h') diff --git a/kcontrol/hwmanager/hwdevicetray.h b/kcontrol/hwmanager/hwdevicetray.h new file mode 100644 index 000000000..d49f5b4b3 --- /dev/null +++ b/kcontrol/hwmanager/hwdevicetray.h @@ -0,0 +1,95 @@ +/* + * Copyright 2015 Timothy Pearson + * + * This file is part of hwdevicetray, the TDE Hardware Device Monitor System Tray Application + * + * hwdevicetray is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * hwdevicetray is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with cryptocardwatcher. If not, see http://www.gnu.org/licenses/. + */ + +#ifndef TDEHWDEVICETRAY_H +#define TDEHWDEVICETRAY_H + +#include + +#include +#include +#include +#include + +#ifdef __TDE_HAVE_TDEHWLIB +#include +#else +#define TDEGenericDevice void +#endif + +class KHelpMenu; +class TDEPopupMenu; + +typedef TQMap TQStringMap; + +class HwDeviceSystemTray : public KSystemTray +{ + Q_OBJECT + +public: + HwDeviceSystemTray(TQWidget* parent = 0, const char *name = 0); + ~HwDeviceSystemTray(); + TDEGlobalAccel *globalKeys; + + virtual void contextMenuAboutToShow(TDEPopupMenu* menu); + + void configChanged(); + +protected slots: + void slotHardwareConfig(); + void slotEditShortcutKeys(); + void slotSettingsChanged(int category); + void slotHelpContents(); + + void slotMountDevice(int parameter); + void slotUnmountDevice(int parameter); + +protected: + void mousePressEvent(TQMouseEvent *e); + void resizeEvent(TQResizeEvent *); + void showEvent(TQShowEvent *); + +private slots: + void _quit(); + void deviceAdded(TDEGenericDevice*); + void deviceRemoved(TDEGenericDevice*); + void deviceChanged(TDEGenericDevice*); + + void devicePopupClicked(KPassivePopup*, TQPoint, TQString); + +private: + bool isMonitoredDevice(TDEStorageDevice* sdevice); + +private: + void populateMenu(TDEPopupMenu* menu); + void resizeTrayIcon(); + + bool m_popupUp; + KHelpMenu* m_help; + + TQWidget* m_parent; + TDEPassivePopupStackContainer* m_hardwareNotifierContainer; + + TQStringMap m_mountMenuIndexMap; + TQStringMap m_unmountMenuIndexMap; + TDEPopupMenu* m_menu; + KSimpleConfig *r_config; +}; + +#endif -- cgit v1.2.3