diff --git a/img/taskbar/taskbar_busy.png b/img/taskbar/taskbar_busy.png
new file mode 100644
index 000000000..451b4b4ef
Binary files /dev/null and b/img/taskbar/taskbar_busy.png differ
diff --git a/img/taskbar/taskbar_busy_2x.png b/img/taskbar/taskbar_busy_2x.png
new file mode 100644
index 000000000..274bf330d
Binary files /dev/null and b/img/taskbar/taskbar_busy_2x.png differ
diff --git a/img/taskbar/taskbar_idle.png b/img/taskbar/taskbar_idle.png
new file mode 100644
index 000000000..21c9eabc6
Binary files /dev/null and b/img/taskbar/taskbar_idle.png differ
diff --git a/img/taskbar/taskbar_idle_2x.png b/img/taskbar/taskbar_idle_2x.png
new file mode 100644
index 000000000..118826fcc
Binary files /dev/null and b/img/taskbar/taskbar_idle_2x.png differ
diff --git a/img/taskbar/taskbar_invisible.png b/img/taskbar/taskbar_invisible.png
new file mode 100644
index 000000000..81b07550b
Binary files /dev/null and b/img/taskbar/taskbar_invisible.png differ
diff --git a/img/taskbar/taskbar_invisible_2x.png b/img/taskbar/taskbar_invisible_2x.png
new file mode 100644
index 000000000..f02f7e047
Binary files /dev/null and b/img/taskbar/taskbar_invisible_2x.png differ
diff --git a/img/taskbar/taskbar_offline.png b/img/taskbar/taskbar_offline.png
new file mode 100644
index 000000000..e3a2cece5
Binary files /dev/null and b/img/taskbar/taskbar_offline.png differ
diff --git a/img/taskbar/taskbar_offline_2x.png b/img/taskbar/taskbar_offline_2x.png
new file mode 100644
index 000000000..6c39ec350
Binary files /dev/null and b/img/taskbar/taskbar_offline_2x.png differ
diff --git a/img/taskbar/taskbar_online.png b/img/taskbar/taskbar_online.png
new file mode 100644
index 000000000..24b9a8d4b
Binary files /dev/null and b/img/taskbar/taskbar_online.png differ
diff --git a/img/taskbar/taskbar_online_2x.png b/img/taskbar/taskbar_online_2x.png
new file mode 100644
index 000000000..44e6013b7
Binary files /dev/null and b/img/taskbar/taskbar_online_2x.png differ
diff --git a/res.qrc b/res.qrc
index d58cef6c7..40b6d28f2 100644
--- a/res.qrc
+++ b/res.qrc
@@ -37,6 +37,10 @@
img/status/dot_online.png
img/status/dot_online_2x.png
img/status/dot_online_notification.png
+ img/taskbar/taskbar_online_2x.png
+ img/taskbar/taskbar_idle_2x.png
+ img/taskbar/taskbar_busy_2x.png
+ img/taskbar/taskbar_offline_2x.png
img/transfer.png
smileys/cylgom/angel.png
smileys/cylgom/angry.png
diff --git a/src/misc/settings.cpp b/src/misc/settings.cpp
index c5e13b1e7..e04dc7f49 100644
--- a/src/misc/settings.cpp
+++ b/src/misc/settings.cpp
@@ -129,7 +129,6 @@ void Settings::load()
makeToxPortable = s.value("makeToxPortable", false).toBool();
autostartInTray = s.value("autostartInTray", false).toBool();
closeToTray = s.value("closeToTray", false).toBool();
- trayShowsUserStatus = s.value("trayShowsUserStatus", false).toBool();
forceTCP = s.value("forceTCP", false).toBool();
useProxy = s.value("useProxy", false).toBool();
proxyAddr = s.value("proxyAddr", "").toString();
@@ -281,7 +280,6 @@ void Settings::save(QString path, bool writeFriends)
s.setValue("showSystemTray", showSystemTray);
s.setValue("autostartInTray",autostartInTray);
s.setValue("closeToTray", closeToTray);
- s.setValue("trayShowsUserStatus", trayShowsUserStatus);
s.setValue("useProxy", useProxy);
s.setValue("forceTCP", forceTCP);
s.setValue("proxyAddr", proxyAddr);
@@ -521,16 +519,6 @@ void Settings::setCloseToTray(bool newValue)
closeToTray = newValue;
}
-bool Settings::getTrayShowsUserStatus() const
-{
- return trayShowsUserStatus;
-}
-
-void Settings::setTrayShowsUserStatus(bool newValue)
-{
- trayShowsUserStatus = newValue;
-}
-
bool Settings::getMinimizeToTray() const
{
return minimizeToTray;
diff --git a/src/misc/settings.h b/src/misc/settings.h
index 5622be204..7ebe39f66 100644
--- a/src/misc/settings.h
+++ b/src/misc/settings.h
@@ -58,9 +58,6 @@ public:
bool getCloseToTray() const;
void setCloseToTray(bool newValue);
-
- bool getTrayShowsUserStatus() const;
- void setTrayShowsUserStatus(bool newValue);
bool getMinimizeToTray() const;
void setMinimizeToTray(bool newValue);
@@ -247,7 +244,6 @@ private:
bool autostartInTray;
bool closeToTray;
bool minimizeToTray;
- bool trayShowsUserStatus;
bool useEmoticons;
bool checkUpdates;
bool showInFront;
diff --git a/src/widget/form/settings/generalform.cpp b/src/widget/form/settings/generalform.cpp
index a28fafa9f..c7f35a2ae 100644
--- a/src/widget/form/settings/generalform.cpp
+++ b/src/widget/form/settings/generalform.cpp
@@ -62,8 +62,6 @@ GeneralForm::GeneralForm(SettingsWidget *myParent) :
bodyUI->closeToTray->setEnabled(showSystemTray);
bodyUI->minimizeToTray->setChecked(Settings::getInstance().getMinimizeToTray());
bodyUI->minimizeToTray->setEnabled(showSystemTray);
- bodyUI->trayShowsUserStatus->setChecked(Settings::getInstance().getTrayShowsUserStatus());
- bodyUI->trayShowsUserStatus->setEnabled(showSystemTray);
bodyUI->statusChanges->setChecked(Settings::getInstance().getStatusChangeNotificationEnabled());
bodyUI->useEmoticons->setChecked(Settings::getInstance().getUseEmoticons());
bodyUI->autoacceptFiles->setChecked(Settings::getInstance().getAutoSaveEnabled());
@@ -122,7 +120,6 @@ GeneralForm::GeneralForm(SettingsWidget *myParent) :
connect(bodyUI->startInTray, &QCheckBox::stateChanged, this, &GeneralForm::onSetAutostartInTray);
connect(bodyUI->closeToTray, &QCheckBox::stateChanged, this, &GeneralForm::onSetCloseToTray);
connect(bodyUI->minimizeToTray, &QCheckBox::stateChanged, this, &GeneralForm::onSetMinimizeToTray);
- connect(bodyUI->trayShowsUserStatus, &QCheckBox::stateChanged, this, &GeneralForm::onSettrayShowsUserStatus);
connect(bodyUI->statusChanges, &QCheckBox::stateChanged, this, &GeneralForm::onSetStatusChange);
connect(bodyUI->autoAwaySpinBox, SIGNAL(editingFinished()), this, SLOT(onAutoAwayChanged()));
connect(bodyUI->showInFront, &QCheckBox::stateChanged, this, &GeneralForm::onSetShowInFront);
@@ -193,12 +190,6 @@ void GeneralForm::onSetMinimizeToTray()
Settings::getInstance().setMinimizeToTray(bodyUI->minimizeToTray->isChecked());
}
-void GeneralForm::onSettrayShowsUserStatus()
-{
- Settings::getInstance().setTrayShowsUserStatus(bodyUI->trayShowsUserStatus->isChecked());
- Widget::getInstance()->updateTrayIcon();
-}
-
void GeneralForm::onStyleSelected(QString style)
{
if(bodyUI->styleBrowser->currentIndex() == 0)
diff --git a/src/widget/form/settings/generalform.h b/src/widget/form/settings/generalform.h
index dba72d404..ec41fb0ad 100644
--- a/src/widget/form/settings/generalform.h
+++ b/src/widget/form/settings/generalform.h
@@ -49,7 +49,6 @@ private slots:
void onAutoAwayChanged();
void onUseEmoticonsChange();
void onSetMinimizeToTray();
- void onSettrayShowsUserStatus();
void onReconnectClicked();
void onAutoAcceptFileChange();
void onAutoSaveDirChange();
diff --git a/src/widget/form/settings/generalsettings.ui b/src/widget/form/settings/generalsettings.ui
index c4d07dfd8..4df38f286 100644
--- a/src/widget/form/settings/generalsettings.ui
+++ b/src/widget/form/settings/generalsettings.ui
@@ -152,22 +152,6 @@
- -
-
-
-
- 0
- 0
-
-
-
- Tray icon displays user status
-
-
- This is a temporary work around until proper systray status icons are available.
-
-
-
@@ -607,21 +591,5 @@
-
- showSystemTray
- toggled(bool)
- trayShowsUserStatus
- setEnabled(bool)
-
-
- 148
- 143
-
-
- 158
- 205
-
-
-
diff --git a/src/widget/widget.cpp b/src/widget/widget.cpp
index 4736f3642..f30e86544 100644
--- a/src/widget/widget.cpp
+++ b/src/widget/widget.cpp
@@ -295,22 +295,17 @@ void Widget::setTranslation()
void Widget::updateTrayIcon()
{
- if(Settings::getInstance().getTrayShowsUserStatus())
- {
- QString status = ui->statusButton->property("status").toString();
- QString icon;
- if(status == "online")
- icon = ":img/status/dot_online_2x.png";
- else if(status == "away")
- icon = ":img/status/dot_idle_2x.png";
- else if(status == "busy")
- icon = ":img/status/dot_busy_2x.png";
- else
- icon = ":img/status/dot_away_2x.png";
- this->icon->setIcon(QIcon(icon));
- }
+ QString status = ui->statusButton->property("status").toString();
+ QString icon;
+ if(status == "online")
+ icon = ":img/taskbar/taskbar_online_2x.png";
+ else if(status == "away")
+ icon = ":img/taskbar/taskbar_idle_2x.png";
+ else if(status == "busy")
+ icon = ":img/taskbar/taskbar_busy_2x.png";
else
- icon->setIcon(windowIcon());
+ icon = ":img/taskbar/taskbar_offline_2x.png";
+ this->icon->setIcon(QIcon(icon));
}
Widget::~Widget()