Applet icon: Add support for icon names
This commit is contained in:
parent
a6ec1b3114
commit
7a3891647f
@ -402,6 +402,7 @@ class MenuWin(object):
|
|||||||
self.applet = applet
|
self.applet = applet
|
||||||
self.detect_desktop_environment()
|
self.detect_desktop_environment()
|
||||||
self.settings = Gio.Settings.new("com.linuxmint.mintmenu")
|
self.settings = Gio.Settings.new("com.linuxmint.mintmenu")
|
||||||
|
self.icon_theme = Gtk.IconTheme.get_default()
|
||||||
self.loadSettings()
|
self.loadSettings()
|
||||||
|
|
||||||
self.createPanelButton()
|
self.createPanelButton()
|
||||||
@ -486,7 +487,7 @@ class MenuWin(object):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def enter_notify(self, applet, event):
|
def enter_notify(self, applet, event):
|
||||||
self.do_image(self.buttonIcon, True)
|
self.set_applet_icon(True)
|
||||||
|
|
||||||
def leave_notify(self, applet, event):
|
def leave_notify(self, applet, event):
|
||||||
# Hack for mate-panel-test-applets focus issue (this can be commented)
|
# Hack for mate-panel-test-applets focus issue (this can be commented)
|
||||||
@ -494,20 +495,17 @@ class MenuWin(object):
|
|||||||
# if event.x >= 0 and event.y >= 0 and event.x < applet.get_window().get_width() and event.y < applet.get_window().get_height():
|
# if event.x >= 0 and event.y >= 0 and event.x < applet.get_window().get_width() and event.y < applet.get_window().get_height():
|
||||||
# self.mainwin.stopHiding()
|
# self.mainwin.stopHiding()
|
||||||
|
|
||||||
self.do_image(self.buttonIcon, False)
|
self.set_applet_icon()
|
||||||
|
|
||||||
def do_image(self, image_file, saturate):
|
def set_applet_icon(self, saturate=False):
|
||||||
if image_file.endswith(".svg"):
|
|
||||||
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(image_file, -1, 22)
|
|
||||||
else:
|
|
||||||
pixbuf = GdkPixbuf.Pixbuf.new_from_file(image_file)
|
|
||||||
if saturate:
|
if saturate:
|
||||||
GdkPixbuf.Pixbuf.saturate_and_pixelate(pixbuf, pixbuf, 1.5, False)
|
self.button_icon.set_from_pixbuf(self.saturated_pixbuf)
|
||||||
self.button_icon.set_from_pixbuf(pixbuf)
|
else:
|
||||||
|
self.button_icon.set_from_pixbuf(self.pixbuf)
|
||||||
|
|
||||||
def createPanelButton(self):
|
def createPanelButton(self):
|
||||||
self.button_icon = Gtk.Image()
|
self.button_icon = Gtk.Image()
|
||||||
self.do_image(self.buttonIcon, False)
|
self.set_applet_icon()
|
||||||
self.systemlabel = Gtk.Label(label= "%s " % self.buttonText)
|
self.systemlabel = Gtk.Label(label= "%s " % self.buttonText)
|
||||||
if os.path.isfile("/etc/linuxmint/info"):
|
if os.path.isfile("/etc/linuxmint/info"):
|
||||||
with open("/etc/linuxmint/info") as info:
|
with open("/etc/linuxmint/info") as info:
|
||||||
@ -549,8 +547,20 @@ class MenuWin(object):
|
|||||||
self.buttonText = self.settings.get_string("applet-text")
|
self.buttonText = self.settings.get_string("applet-text")
|
||||||
self.theme_name = self.settings.get_string("theme-name")
|
self.theme_name = self.settings.get_string("theme-name")
|
||||||
self.hotkeyText = self.settings.get_string("hot-key")
|
self.hotkeyText = self.settings.get_string("hot-key")
|
||||||
if not os.path.exists(self.settings.get_string("applet-icon")):
|
|
||||||
|
applet_icon = self.settings.get_string("applet-icon")
|
||||||
|
if not (os.path.exists(applet_icon) or self.icon_theme.has_icon(applet_icon)):
|
||||||
self.settings.reset("applet-icon")
|
self.settings.reset("applet-icon")
|
||||||
|
applet_icon = self.settings.get_string("applet-icon")
|
||||||
|
if "/" in applet_icon:
|
||||||
|
if applet_icon.endswith(".svg"):
|
||||||
|
self.pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(applet_icon, -1, 22)
|
||||||
|
else:
|
||||||
|
self.pixbuf = GdkPixbuf.Pixbuf.new_from_file(applet_icon)
|
||||||
|
else:
|
||||||
|
self.pixbuf = self.icon_theme.load_icon(applet_icon, 22, 0)
|
||||||
|
self.saturated_pixbuf = self.pixbuf.copy()
|
||||||
|
GdkPixbuf.Pixbuf.saturate_and_pixelate(self.saturated_pixbuf, self.saturated_pixbuf, 1.5, False)
|
||||||
self.buttonIcon = self.settings.get_string("applet-icon")
|
self.buttonIcon = self.settings.get_string("applet-icon")
|
||||||
self.iconSize = self.settings.get_int("applet-icon-size")
|
self.iconSize = self.settings.get_int("applet-icon-size")
|
||||||
|
|
||||||
@ -605,7 +615,7 @@ class MenuWin(object):
|
|||||||
def updateButton(self):
|
def updateButton(self):
|
||||||
self.systemlabel.set_text(self.buttonText)
|
self.systemlabel.set_text(self.buttonText)
|
||||||
self.button_icon.clear()
|
self.button_icon.clear()
|
||||||
self.do_image(self.buttonIcon, False)
|
self.set_applet_icon()
|
||||||
self.sizeButton()
|
self.sizeButton()
|
||||||
|
|
||||||
def hotkeyChanged (self, schema, key):
|
def hotkeyChanged (self, schema, key):
|
||||||
|
Loading…
Reference in New Issue
Block a user