Skip to content

Commit

Permalink
Remove deprecated GtkImageMenuItem usage
Browse files Browse the repository at this point in the history
The icons could still be set other ways but will be
removed as modern Gtk design suggests only using
icons when representing nouns not verbs such as
"Ban song". They were also not even shown in some
environments such as Gnome.
  • Loading branch information
TingPing committed Apr 3, 2015
1 parent cab2187 commit cf286bb
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 156 deletions.
233 changes: 92 additions & 141 deletions pithos/data/ui/PithosWindow.ui
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<!-- Generated with glade 3.18.3 -->
<interface>
<requires lib="gtk+" version="3.6"/>
<!-- interface-requires pithos_window 1.0 -->
<requires lib="gtk+" version="3.10"/>
<requires lib="pithos_window" version="1.0"/>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">100</property>
<property name="step_increment">1</property>
Expand All @@ -15,9 +15,9 @@
<property name="default_width">500</property>
<property name="default_height">360</property>
<property name="icon_name">pithos</property>
<signal name="configure-event" handler="on_configure_event" swapped="no"/>
<signal name="destroy" handler="on_destroy" swapped="no"/>
<signal name="key-press-event" handler="on_kb_playpause" swapped="no"/>
<signal name="configure-event" handler="on_configure_event" swapped="no"/>
<child>
<object class="GtkBox" id="vbox1">
<property name="visible">True</property>
Expand Down Expand Up @@ -387,143 +387,6 @@ audio-volume-medium-symbolic</property>
</object>
</child>
</object>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-dialog-info</property>
</object>
<object class="GtkImage" id="image11">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-add</property>
</object>
<object class="GtkImage" id="image12">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-about</property>
</object>
<object class="GtkImage" id="image13">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-cancel</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-about</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-cancel</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-jump-to</property>
</object>
<object class="GtkMenu" id="song_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="menuitem_info">
<property name="label" translatable="yes">Song _Info...</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image1</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_menuitem_info" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menuitem_love">
<property name="label" translatable="yes">_Love Song</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image2</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_menuitem_love" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menuitem_unlove">
<property name="label" translatable="yes">_Unlove Song</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image12</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_menuitem_unrate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menuitem_ban">
<property name="label" translatable="yes">_Ban Song</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image3</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_menuitem_ban" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menuitem_unban">
<property name="label" translatable="yes">_Unban Song</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image13</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_menuitem_unrate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menuitem_tired">
<property name="label" translatable="yes">_Tired of this song</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Don't play song for a month</property>
<property name="use_underline">True</property>
<property name="image">image4</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_menuitem_tired" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menuitem4">
<property name="label" translatable="yes">Bookmark</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">image11</property>
<property name="use_stock">False</property>
<child type="submenu">
<object class="GtkMenu" id="menu1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="menuitem2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Song</property>
<signal name="activate" handler="on_menuitem_bookmark_song" swapped="no"/>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Artist</property>
<signal name="activate" handler="on_menuitem_bookmark_artist" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can_focus">False</property>
Expand Down Expand Up @@ -606,4 +469,92 @@ audio-volume-medium-symbolic</property>
<action-widget response="3">button3</action-widget>
</action-widgets>
</object>
<object class="GtkMenu" id="song_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="menuitem_info">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Song _Info...</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_menuitem_info" swapped="no"/>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem_love">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Love Song</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_menuitem_love" swapped="no"/>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem_unlove">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Unlove Song</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_menuitem_unrate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem_ban">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Ban Song</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_menuitem_ban" swapped="no"/>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem_unban">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Unban Song</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_menuitem_unrate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem_tired">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Don't play song for a month</property>
<property name="label" translatable="yes">_Tired of this song</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_menuitem_tired" swapped="no"/>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Bookmark</property>
<child type="submenu">
<object class="GtkMenu" id="menu1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="menuitem2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Song</property>
<signal name="activate" handler="on_menuitem_bookmark_song" swapped="no"/>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Artist</property>
<signal name="activate" handler="on_menuitem_bookmark_artist" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>
24 changes: 9 additions & 15 deletions pithos/plugins/notification_icon.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,10 @@ def scroll(self, steps):
def build_context_menu(self):
menu = Gtk.Menu()

def button(text, action, icon=None):
if icon == 'check':
def button(text, action, checked=False):
if checked:
item = Gtk.CheckMenuItem(text)
item.set_active(True)
elif icon:
item = Gtk.ImageMenuItem(text)
item.set_image(Gtk.Image.new_from_stock(icon, Gtk.IconSize.MENU))
else:
item = Gtk.MenuItem(text)
item.connect('activate', action)
Expand All @@ -89,14 +86,14 @@ def button(text, action, icon=None):

if indicator_capable:
# We have to add another entry for show / hide Pithos window
self.visible_check = button("Show Pithos", self._toggle_visible, 'check')
self.visible_check = button("Show Pithos", self._toggle_visible, True)

self.playpausebtn = button("Pause", self.window.playpause, Gtk.STOCK_MEDIA_PAUSE)
button("Skip", self.window.next_song, Gtk.STOCK_MEDIA_NEXT)
button("Love", (lambda *i: self.window.love_song()), Gtk.STOCK_ABOUT)
button("Ban", (lambda *i: self.window.ban_song()), Gtk.STOCK_CANCEL)
button("Tired", (lambda *i: self.window.tired_song()), Gtk.STOCK_JUMP_TO)
button("Quit", self.window.quit, Gtk.STOCK_QUIT )
self.playpausebtn = button("Pause", self.window.playpause)
button("Skip", self.window.next_song)
button("Love", (lambda *i: self.window.love_song()))
button("Ban", (lambda *i: self.window.ban_song()))
button("Tired", (lambda *i: self.window.tired_song()))
button("Quit", self.window.quit)

# connect our new menu to the statusicon or the appindicator
if indicator_capable:
Expand All @@ -116,11 +113,8 @@ def play_state_changed(self, window, playing):
button = self.playpausebtn
if not playing:
button.set_label("Play")
button.set_image(Gtk.Image.new_from_stock(Gtk.STOCK_MEDIA_PLAY, Gtk.IconSize.MENU))

else:
button.set_label("Pause")
button.set_image(Gtk.Image.new_from_stock(Gtk.STOCK_MEDIA_PAUSE, Gtk.IconSize.MENU))

if indicator_capable: # menu needs to be reset to get updated icon
self.ind.set_menu(self.menu)
Expand Down

0 comments on commit cf286bb

Please sign in to comment.