1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
qTox/src/widget/systemtrayicon.h
tux3 8a83a6114f
Implement GTK systray icon backend
This one is deprecated, but should work much better than any other system tray icon backend we currently have, both in term of supported features and reliability. It justs needs some testing to see where we can enable it now.
2015-02-24 23:27:08 +01:00

46 lines
933 B
C++

#ifndef SYSTEMTRAYICON_H
#define SYSTEMTRAYICON_H
#include "systemtrayicon_private.h"
#include <QObject>
class QSystemTrayIcon;
class QMenu;
class SystemTrayIcon : public QObject
{
Q_OBJECT
public:
SystemTrayIcon();
~SystemTrayIcon();
void setContextMenu(QMenu* menu);
void show();
void hide();
void setVisible(bool);
void setIcon(QIcon&& icon);
signals:
void activated(QSystemTrayIcon::ActivationReason);
private:
QString extractIconToFile(QIcon icon, QString name="icon");
private:
SystrayBackendType backendType;
QSystemTrayIcon* qtIcon;
#ifdef ENABLE_SYSTRAY_UNITY_BACKEND
AppIndicator *unityIndicator;
GtkWidget *unityMenu;
#endif
#ifdef ENABLE_SYSTRAY_STATUSNOTIFIER_BACKEND
StatusNotifier* statusNotifier;
GtkWidget* snMenu;
#endif
#ifdef ENABLE_SYSTRAY_GTK_BACKEND
GtkStatusIcon* gtkIcon;
GtkWidget* gtkMenu;
#endif
};
#endif // SYSTEMTRAYICON_H