mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Linux: Allow using calibre-tray.png in the calibre resources folder to override the system tray icon. Fixes #1738518 [Feature request - custom systray icon](https://bugs.launchpad.net/calibre/+bug/1738518)
This commit is contained in:
parent
df177fe455
commit
8f0d9cc028
@ -16,7 +16,8 @@ import os
|
|||||||
|
|
||||||
import dbus
|
import dbus
|
||||||
from PyQt5.Qt import (
|
from PyQt5.Qt import (
|
||||||
QApplication, QObject, pyqtSignal, Qt, QPoint, QRect, QMenu, QSystemTrayIcon)
|
QApplication, QObject, pyqtSignal, Qt, QPoint, QRect, QMenu,
|
||||||
|
QSystemTrayIcon, QIcon)
|
||||||
|
|
||||||
from calibre.gui2.dbus_export.menu import DBusMenu
|
from calibre.gui2.dbus_export.menu import DBusMenu
|
||||||
from calibre.gui2.dbus_export.utils import icon_cache
|
from calibre.gui2.dbus_export.utils import icon_cache
|
||||||
@ -38,6 +39,10 @@ class StatusNotifierItem(QObject):
|
|||||||
self.context_menu = None
|
self.context_menu = None
|
||||||
self.is_visible = True
|
self.is_visible = True
|
||||||
self.tool_tip = ''
|
self.tool_tip = ''
|
||||||
|
path = I('calibre-tray.png')
|
||||||
|
if path and os.path.exists(path):
|
||||||
|
self._icon = QIcon(path)
|
||||||
|
else:
|
||||||
self._icon = QApplication.instance().windowIcon()
|
self._icon = QApplication.instance().windowIcon()
|
||||||
self.show_menu.connect(self._show_menu, type=Qt.QueuedConnection)
|
self.show_menu.connect(self._show_menu, type=Qt.QueuedConnection)
|
||||||
_sni_count += 1
|
_sni_count += 1
|
||||||
@ -97,6 +102,7 @@ class StatusNotifierItem(QObject):
|
|||||||
def emit_activated(self):
|
def emit_activated(self):
|
||||||
self.activated.emit(QSystemTrayIcon.Trigger)
|
self.activated.emit(QSystemTrayIcon.Trigger)
|
||||||
|
|
||||||
|
|
||||||
_status_item_menu_count = 0
|
_status_item_menu_count = 0
|
||||||
|
|
||||||
|
|
||||||
@ -234,5 +240,3 @@ class StatusNotifierItemAPI(Object):
|
|||||||
@dbus_signal(IFACE, 's')
|
@dbus_signal(IFACE, 's')
|
||||||
def NewStatus(self, status):
|
def NewStatus(self, status):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user