diff options
Diffstat (limited to 'knetworkmanager-0.8/src/knetworkmanager-tray.h')
-rw-r--r-- | knetworkmanager-0.8/src/knetworkmanager-tray.h | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/knetworkmanager-0.8/src/knetworkmanager-tray.h b/knetworkmanager-0.8/src/knetworkmanager-tray.h new file mode 100644 index 0000000..d301386 --- /dev/null +++ b/knetworkmanager-0.8/src/knetworkmanager-tray.h @@ -0,0 +1,140 @@ +/*************************************************************************** + * + * knetworkmanager.h - A NetworkManager frontend for KDE + * + * Copyright (C) 2005, 2006 Novell, Inc. + * + * Author: Timo Hoenig <[email protected]>, <[email protected]> + * Will Stephenson <[email protected]>, <[email protected]> + * Helmut Schaa <[email protected]>, <[email protected]> + * Alexander Naumov <[email protected]>, <[email protected]> + * Author: Timothy Pearson <[email protected]> + * + * This program 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 2 of the License, or + * (at your option) any later version. + * + * This program 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 this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + **************************************************************************/ + +#ifndef KNETWORKMANAGER_TRAY_H +#define KNETWORKMANAGER_TRAY_H + +#include <tqmap.h> +#include <tqtimer.h> + +#include <tqtooltip.h> +#include <ksystemtray.h> +#include <kuniqueapplication.h> +#include <kpopupmenu.h> +#include <kactionclasses.h> +#include <kstdaction.h> +#include <kstdguiitem.h> + +#include <tqdialog.h> +#include <tqwidget.h> + +#include <tqlayout.h> +#include <tqlabel.h> +#include <tqcheckbox.h> +#include <tqprogressbar.h> +#include <tqguardedptr.h> + +#include "knetworkmanager.h" + +namespace ConnectionSettings +{ + class Connection; + class ConnectionSetting; +} + +class TQMouseEvent; +class TrayComponent; +class TrayPrivate; +class TQDialog; +class TQPushButton; +class TQLabel; + +class Tray : public KSystemTray +{ + Q_OBJECT + TQ_OBJECT + + public: + Tray (); + ~Tray (); + static Tray* getInstance(); + void contextMenuAboutToShow (KPopupMenu* menu); + + signals: + + public slots: + void slotOfflineMode(); + void slotOnlineMode(); + void slotEnableWireless(); + void slotDisableWireless(); + void slotEditConnections(); + + void slotStateChanged(TQ_UINT32 state); + void slotVPNSecretsNeeded(ConnectionSettings::Connection* connection, ConnectionSettings::ConnectionSetting* setting, const TQStringList& hints, bool request_new); + void slotSecretsNeeded(ConnectionSettings::Connection* connection, ConnectionSettings::ConnectionSetting* setting, const TQStringList& hints, bool request_new); + + void slotDeviceAddedNotify(Device*); + void slotDeviceRemovedNotify(Device*); + void slotStateChangedNotify(TQ_UINT32 state); + + void slotUpdateDeviceState(); + void slotUpdateDeviceState(NMDeviceState); + + void slotNewVPNConnection(); + void slotVPNBannerShow(const TQString& vpnbanner); + + protected slots: + void updateDeviceTrays(); + void slotAddDeviceTrayComponent(Device*); + void slotRemoveDeviceTrayComponent(Device*); + void slotDeactivateConnection(int); + void trayComponentNeedsCenterStage(TrayComponent*, bool); + void trayUiChanged(); + void slotEditNotifications(); + + private: + void updateTrayIcon(NMDeviceState); + void updateActiveConnection(NMDeviceState); + void mousePressEvent( TQMouseEvent *e ); + void createVPNTrayComponent(); + void createDeviceTrayComponent(Device*); + void enterEvent (TQEvent*); + + TrayPrivate* d; + +}; + +class NewSecretsDialog : public TQDialog +{ + Q_OBJECT + TQ_OBJECT + + public: + NewSecretsDialog(ConnectionSettings::Connection* connection, TQWidget * parent, const char * name, bool modal = false, TQt::WFlags f = 0); + ~NewSecretsDialog(); + void init(); + + public slots: + void slotDialogEdit(); + void reject(); + + private: + ConnectionSettings::Connection* _connection; +}; + +#endif /* KNETWORKMANAGER_TRAY_H */ |