25
25
import os.path, gettext
28
# mantem os valores escolhidos pelo usuario para as proximas execucoes
30
'show_song_title' : '/apps/rhythmbox/plugins/rhythmidgin/show_song_title',
31
'show_song_artist' : '/apps/rhythmbox/plugins/rhythmidgin/show_song_artist',
32
'show_song_album' : '/apps/rhythmbox/plugins/rhythmidgin/show_song_album'
28
35
# o XML que define os botoes da barra de menus, do menu Controle, e a acao que sera mapeada para eles
183
190
# default values that can be changed through the Preferences dialog
184
self.show_song_title = True
185
self.show_song_artist = True
186
self.show_song_album = False
191
client = gconf.client_get_default()
192
# recupera os valores dos checkboxes da execucao anterior que ficaram guardados em ~/.gconf/apps/rhythmbox/plugins/rhythmidgin/
193
self.show_song_title = client.get_bool(gconf_keys['show_song_title'])
194
self.show_song_artist = client.get_bool(gconf_keys['show_song_artist'])
195
self.show_song_album = client.get_bool(gconf_keys['show_song_album'])
188
197
self.load_local_language()
189
198
self.load_icon() # necessary load icon first ...
217
226
def log (self, string):
218
227
print "Rhythmidgin: %s" % string
220
# Class que lida com a interface da janela de preferencias, pega os valores e recebe o sinal
229
# Classe que lida com a interface da janela de preferencias, pega os valores e recebe o sinal
221
230
class RhythmidginPreferencesDialog (object):
222
231
def __init__(self, plugin, glade_file):
223
232
self.plugin = plugin
224
self.gconf = gconf.client_get_default()
225
233
gladexml = gtk.glade.XML(glade_file)
227
self.dialog = gladexml.get_widget('preferences_dialog') # the rhythmidgin-preferences.glade main id
228
self.show_song_title = gladexml.get_widget('chk_show_song_title') # checkbox
229
self.show_song_artist = gladexml.get_widget('chk_show_song_artist') # checkbox
230
self.show_song_album = gladexml.get_widget('chk_show_song_album') # checkbox
235
gladexml.signal_autoconnect({ # ver os sinais definidos para os botoes, xml
236
'on_cancelbtn_clicked': self.on_cancel_clicked,
237
'on_okbtn_clicked': self.on_ok_clicked
232
self.dialog.connect("response", self.dialog_response)
240
self.dialog = gladexml.get_widget('preferences_dialog') # the rhythmidgin-preferences.glade main id
241
gladexml.get_widget('chk_show_song_title').set_active(self.plugin.show_song_title)
242
gladexml.get_widget('chk_show_song_artist').set_active(self.plugin.show_song_artist)
243
gladexml.get_widget('chk_show_song_album').set_active(self.plugin.show_song_album)
244
self.chk_show_song_title = gladexml.get_widget('chk_show_song_title') # checkbox
245
self.chk_show_song_artist = gladexml.get_widget('chk_show_song_artist') # checkbox
246
self.chk_show_song_album = gladexml.get_widget('chk_show_song_album') # checkbox
234
248
def get_dialog (self):
235
249
return self.dialog
237
def dialog_response (self, dialog, response):
238
self.plugin.show_song_title = self.show_song_title.get_active() # ve se o checkbox esta marcado
239
self.plugin.show_song_artist = self.show_song_artist.get_active()
240
self.plugin.show_song_album = self.show_song_album.get_active()
251
def on_ok_clicked (self, dialog, response=None):
252
self.plugin.show_song_title = self.chk_show_song_title.get_active() # ve se o checkbox esta marcado
253
self.plugin.show_song_artist = self.chk_show_song_artist.get_active()
254
self.plugin.show_song_album = self.chk_show_song_album.get_active()
255
client = gconf.client_get_default()
256
client.set_bool(gconf_keys['show_song_title'], self.plugin.show_song_title) # seta os campos para a proxima execucao
257
client.set_bool(gconf_keys['show_song_artist'], self.plugin.show_song_artist)
258
client.set_bool(gconf_keys['show_song_album'], self.plugin.show_song_album)
259
self.dialog.destroy()
261
def on_cancel_clicked (self, dialog, response=None):
262
self.dialog.destroy()