summarylogtreecommitdiffstats
path: root/04_gtk3_issues.patch
blob: d83120e5bd5d5e0ce2b72aaaba7462b01d13057a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
Description: Fixing some GTK-3 troubles
 This patch fix some GTK-3 troubles founds
 under upstream repository.
Forwarded: no
Author: Arnaud RĂ©billout <elboulangero@gmail.com>
Last-Update: 2015-10-18

--- radiotray.orig/data/plugins/HistoryPlugin.py
+++ radiotray/data/plugins/HistoryPlugin.py
@@ -20,6 +20,7 @@
 from events.EventSubscriber import EventSubscriber
 from events.EventManager import EventManager
 from Plugin import Plugin
+from gi.repository import GLib
 from gi.repository import Gtk
 from lib import utils
 from lib.common import SYSTEM_PLUGIN_PATH, USER_PLUGIN_PATH
@@ -36,9 +37,7 @@ class HistoryPlugin(Plugin):
 
 
 
-    def activate(self):
-        self.eventSubscriber.bind(EventManager.SONG_CHANGED, self.on_song_changed)
-
+    def activate_gtk(self, data):
         if os.path.exists(os.path.join(USER_PLUGIN_PATH, "history.glade")):
             self.gladefile = utils.load_ui_file(os.path.join(USER_PLUGIN_PATH, "history.glade"))
         elif os.path.exists(os.path.join(SYSTEM_PLUGIN_PATH, "history.glade")):
@@ -54,6 +53,9 @@ class HistoryPlugin(Plugin):
             #dic = { "on_close_clicked" : self.on_close_clicked}
             self.gladefile.connect_signals(self)
 
+    def activate(self):
+        self.eventSubscriber.bind(EventManager.SONG_CHANGED, self.on_song_changed)
+        GLib.idle_add(self.activate_gtk, None)
 
     def on_song_changed(self, data):
 
Index: radiotray/data/plugins/SleepTimerPlugin.py
===================================================================
--- radiotray.orig/data/plugins/SleepTimerPlugin.py
+++ radiotray/data/plugins/SleepTimerPlugin.py
@@ -38,7 +38,7 @@ class SleepTimerPlugin(Plugin):
         self.cfgProvider = cfgProvider
         self.mediator = mediator
         self.tooltip = tooltip
-        self.menuItem = Gtk.CheckMenuItem(self.getName(), False)
+        self.menuItem = Gtk.CheckMenuItem(self.getName())
         self.menuItem.connect('activate', self.on_menu)
         self.menuItem.show()
 
Index: radiotray/src/SysTrayGui.py
===================================================================
--- radiotray.orig/src/SysTrayGui.py
+++ radiotray/src/SysTrayGui.py
@@ -49,14 +49,14 @@ class SysTrayGui:
         self.radioMenu = Gtk.Menu()
             
         if not self.mediator.context.station:
-            self.turnOnOff = Gtk.MenuItem(_("Turned Off"), False)
-            self.turnOnOff2 = Gtk.MenuItem(_("Turned Off"), False)
+            self.turnOnOff = Gtk.MenuItem(_("Turned Off"))
+            self.turnOnOff2 = Gtk.MenuItem(_("Turned Off"))
             self.turnOnOff.set_sensitive(False)
             self.turnOnOff2.set_sensitive(False)
         else:
-            self.turnOnOff = Gtk.MenuItem(_('Turn On "%s"') % self.mediator.context.station, False)
+            self.turnOnOff = Gtk.MenuItem(_('Turn On "%s"') % self.mediator.context.station)
             self.turnOnOff.set_sensitive(True)
-            self.turnOnOff2 = Gtk.MenuItem(_('Turn On "%s"') % self.mediator.context.station, False)
+            self.turnOnOff2 = Gtk.MenuItem(_('Turn On "%s"') % self.mediator.context.station)
             self.turnOnOff2.set_sensitive(True)
             
         self.turnOnOff.connect('activate', self.handler.on_turn_on_off)
@@ -75,14 +75,14 @@ class SysTrayGui:
         menu_item1.set_sensitive(self.provider.isBookmarkWritable())
 
         menu_item4 = Gtk.MenuItem(_("Reload Bookmarks"))
-        menu_item3 = Gtk.ImageMenuItem(Gtk.STOCK_ABOUT)
-        menu_item2 = Gtk.ImageMenuItem(Gtk.STOCK_QUIT)
+        menu_item3 = Gtk.ImageMenuItem.new_from_stock(Gtk.STOCK_ABOUT, None)
+        menu_item2 = Gtk.ImageMenuItem.new_from_stock(Gtk.STOCK_QUIT, None)
         self.menu.append(self.turnOnOff2)
         self.menu.append(separator)  
         self.menu.append(menu_item1)
 
         # plugins sub-menu
-        menu_plugins_item = Gtk.MenuItem("Plugins", False)
+        menu_plugins_item = Gtk.MenuItem("Plugins")
         self.menu_plugins = Gtk.Menu()
         menu_plugins_item.set_submenu(self.menu_plugins)
         menu_item5 = Gtk.MenuItem(_("Configure Plugins..."))
@@ -112,7 +112,7 @@ class SysTrayGui:
                         
         self.menu.show_all()
 
-        self.icon = Gtk.status_icon_new_from_file(APP_ICON_OFF)
+        self.icon = Gtk.StatusIcon.new_from_file(APP_ICON_OFF)
         self.icon.set_tooltip_markup(_("Idle (vol: %s%%)") % (self.mediator.getVolume()))
         self.icon.connect('button_press_event', self.button_press)
         self.icon.connect('scroll_event', self.handler.scroll)
@@ -121,7 +121,7 @@ class SysTrayGui:
     def button_press(self,widget,event):
 
         if(event.button == 1):
-            self.radioMenu.popup(None, None, Gtk.status_icon_position_menu, 0, event.get_time(), widget)
+            self.radioMenu.popup(None, None, Gtk.StatusIcon.position_menu, widget, 0, event.get_time())
         elif (event.button == 2):
             if (self.mediator.getContext().state == 'playing'):
                 self.mediator.stop()
@@ -129,7 +129,7 @@ class SysTrayGui:
                 if self.mediator.getContext().station:
                     self.mediator.play(self.mediator.getContext().station)
         else:
-            self.menu.popup(None, None, Gtk.status_icon_position_menu, 2, event.get_time(), widget)
+            self.menu.popup(None, None, Gtk.StatusIcon.position_menu, widget, 2, event.get_time())
 
 
     def update_radios(self):
@@ -155,7 +155,7 @@ class SysTrayGui:
         new_user_data = None
         
         if group_name != 'root':
-            group = Gtk.MenuItem(group_name, False)
+            group = Gtk.MenuItem(group_name)
             user_data.append(group)  
             new_user_data = Gtk.Menu()
             group.set_submenu(new_user_data)
@@ -172,7 +172,7 @@ class SysTrayGui:
             user_data.append(separator)
             separator.show()
         else:         
-            radio = Gtk.MenuItem(radio_name, False)
+            radio = Gtk.MenuItem(radio_name)
             radio.show()
             radio.connect('activate', self.handler.on_start, radio_name)
             user_data.append(radio)