summaryrefslogtreecommitdiffstats
path: root/src/customtraylabel.h
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2013-07-05 19:06:59 +0200
committerSlávek Banko <slavek.banko@axis.cz>2013-07-05 19:06:59 +0200
commit14286a0eb6ec163c90e3d13c27fea147dbb82481 (patch)
treea5d70bd732b00ec833525dc1d25abc80f2d49144 /src/customtraylabel.h
downloadtdedocker-14286a0eb6ec163c90e3d13c27fea147dbb82481.tar.gz
tdedocker-14286a0eb6ec163c90e3d13c27fea147dbb82481.zip
Initial import
Diffstat (limited to 'src/customtraylabel.h')
-rw-r--r--src/customtraylabel.h90
1 files changed, 90 insertions, 0 deletions
diff --git a/src/customtraylabel.h b/src/customtraylabel.h
new file mode 100644
index 0000000..c12bcc2
--- /dev/null
+++ b/src/customtraylabel.h
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2004 Girish Ramakrishnan All Rights Reserved.
+ *
+ * This 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 software 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 software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ * USA.
+ */
+
+// $Id: customtraylabel.h,v 1.10 2007/01/02 21:48:37 cs19713 Exp $
+
+#ifndef _CUSTOMTRAYLABEL_H
+#define _CUSTOMTRAYLABEL_H
+
+#include <qobject.h>
+#include <qaction.h>
+#include "qtraylabel.h"
+
+class QStringList;
+class QPopupMenu;
+class QString;
+class QSettings;
+class QWidget;
+class QDropEvent;
+
+class CustomTrayLabel : public QTrayLabel
+{
+ Q_OBJECT
+
+public:
+ CustomTrayLabel(Window w, QWidget* p = 0, const QString& t = QString::null);
+ CustomTrayLabel(const QStringList& argv, pid_t pid, QWidget* parent = 0);
+
+ // Session management
+ bool saveState(QSettings& settings);
+ bool restoreState(QSettings& settings);
+
+ bool isLaunchOnStartup(void) const { return mAutoLaunch->isOn(); }
+ bool isDockWhenObscured(void) const { return mDockWhenObscured->isOn(); }
+
+ void setAppName(const QString& name);
+
+public slots:
+ // overridden to update our menu
+ void setDockWhenMinimized(bool dwm);
+ void setDockWhenFocusLost(bool dfl) { mDockWhenFocusLost->setOn(dfl); }
+ void setSkipTaskbar(bool skip);
+
+ void setLaunchOnStartup(bool launch);
+ void setDockWhenObscured(bool dock) { mDockWhenObscured->setOn(dock); }
+ void enableSessionManagement(bool sm) { mSessionManagement->setOn(sm); }
+
+protected:
+ void dropEvent(QDropEvent *ev);
+ bool canUnsubscribeFromRoot(void);
+ void mapEvent(void);
+ void focusLostEvent();
+ void obscureEvent(void);
+ void destroyEvent(void);
+ void mouseReleaseEvent(QMouseEvent * ev);
+ bool canDockWindow(Window w);
+ void processDead(void);
+
+private slots:
+ void setCustomIcon(void);
+ void updateMenu();
+ void slotSetBalloonTimeout(void);
+ void slotSetLaunchOnStartup(void);
+
+private:
+ void installMenu();
+ bool mUndockWhenDead;
+ QPopupMenu *mOptionsMenu, *mMainMenu;
+ QAction *mDockOnRestore, *mAutoLaunch, *mBalloonTimeout, *mSkipTaskbar,
+ *mDockWhenMinimized, *mDockWhenObscured, *mSessionManagement,
+ *mDockWhenFocusLost;
+ int mShowId;
+};
+
+#endif // _CUSTOMTRAYLABEL_H