diff --git a/src/gui/res/Barrier.qrc b/src/gui/res/Barrier.qrc
index 39da79e6..ee6127d0 100644
--- a/src/gui/res/Barrier.qrc
+++ b/src/gui/res/Barrier.qrc
@@ -54,5 +54,8 @@
image/spinning-wheel.gif
icons/16x16/padlock.png
icons/16x16/barrier-transfering.png
+ icons/32x32/barrier-connected-mask.png
+ icons/32x32/barrier-disconnected-mask.png
+ icons/32x32/barrier-transfering-mask.png
diff --git a/src/gui/res/icons/32x32/barrier-connected-mask.png b/src/gui/res/icons/32x32/barrier-connected-mask.png
new file mode 100644
index 00000000..7e17314e
Binary files /dev/null and b/src/gui/res/icons/32x32/barrier-connected-mask.png differ
diff --git a/src/gui/res/icons/32x32/barrier-connected-mask.svg b/src/gui/res/icons/32x32/barrier-connected-mask.svg
new file mode 100644
index 00000000..e710bff2
--- /dev/null
+++ b/src/gui/res/icons/32x32/barrier-connected-mask.svg
@@ -0,0 +1,114 @@
+
+
diff --git a/src/gui/res/icons/32x32/barrier-disconnected-mask.png b/src/gui/res/icons/32x32/barrier-disconnected-mask.png
new file mode 100644
index 00000000..bedfa75d
Binary files /dev/null and b/src/gui/res/icons/32x32/barrier-disconnected-mask.png differ
diff --git a/src/gui/res/icons/32x32/barrier-disconnected-mask.svg b/src/gui/res/icons/32x32/barrier-disconnected-mask.svg
new file mode 100644
index 00000000..aae4aea0
--- /dev/null
+++ b/src/gui/res/icons/32x32/barrier-disconnected-mask.svg
@@ -0,0 +1,102 @@
+
+
diff --git a/src/gui/res/icons/32x32/barrier-transfering-mask.png b/src/gui/res/icons/32x32/barrier-transfering-mask.png
new file mode 100644
index 00000000..90b69d12
Binary files /dev/null and b/src/gui/res/icons/32x32/barrier-transfering-mask.png differ
diff --git a/src/gui/res/icons/32x32/barrier-transfering-mask.svg b/src/gui/res/icons/32x32/barrier-transfering-mask.svg
new file mode 100644
index 00000000..ef7126a6
--- /dev/null
+++ b/src/gui/res/icons/32x32/barrier-transfering-mask.svg
@@ -0,0 +1,148 @@
+
+
diff --git a/src/gui/src/MainWindow.cpp b/src/gui/src/MainWindow.cpp
index bcbb15bc..070f15a5 100644
--- a/src/gui/src/MainWindow.cpp
+++ b/src/gui/src/MainWindow.cpp
@@ -67,10 +67,17 @@ static const QString barrierConfigFilter(QObject::tr("Barrier Configurations (*.
static const char* barrierIconFiles[] =
{
+#if defined(Q_OS_MAC)
+ ":/res/icons/32x32/barrier-disconnected-mask.png",
+ ":/res/icons/32x32/barrier-disconnected-mask.png",
+ ":/res/icons/32x32/barrier-connected-mask.png",
+ ":/res/icons/32x32/barrier-transfering-mask.png"
+#else
":/res/icons/16x16/barrier-disconnected.png",
":/res/icons/16x16/barrier-disconnected.png",
":/res/icons/16x16/barrier-connected.png",
":/res/icons/16x16/barrier-transfering.png"
+#endif
};
static const char* barrierLargeIcon = ":/res/icons/256x256/barrier.ico";
@@ -288,8 +295,13 @@ void MainWindow::saveSettings()
void MainWindow::setIcon(qBarrierState state)
{
- if (m_pTrayIcon)
- m_pTrayIcon->setIcon(QIcon(barrierIconFiles[state]));
+ if (m_pTrayIcon) {
+ QIcon icon = QIcon(barrierIconFiles[state]);
+#if defined(Q_OS_MAC)
+ icon.setIsMask(true);
+#endif
+ m_pTrayIcon->setIcon(icon);
+ }
}
void MainWindow::trayActivated(QSystemTrayIcon::ActivationReason reason)