diff options
author | Paul W. Frields <stickster@gmail.com> | 2009-08-30 19:55:47 -0400 |
---|---|---|
committer | Paul W. Frields <stickster@gmail.com> | 2009-08-30 19:55:47 -0400 |
commit | f4952d5f8f15079afae19d237bffb12448623ed1 (patch) | |
tree | 074b1687d512809273ccae355c66611dab8c8d1f /pulsecaster | |
parent | e57306ebba027b9a1b1c56e2d1949e8138809a9f (diff) | |
download | pulsecaster-f4952d5f8f15079afae19d237bffb12448623ed1.tar.gz pulsecaster-f4952d5f8f15079afae19d237bffb12448623ed1.tar.xz pulsecaster-f4952d5f8f15079afae19d237bffb12448623ed1.zip |
Support initial warning dialog
- Use /apps/PulseCaster/skip_warning to toggle
- Reserve /apps/PulseCaster/vorbisq for later use
Diffstat (limited to 'pulsecaster')
-rw-r--r-- | pulsecaster/gconfig.py (renamed from pulsecaster/gconf.py) | 21 | ||||
-rw-r--r-- | pulsecaster/ui.py | 19 |
2 files changed, 32 insertions, 8 deletions
diff --git a/pulsecaster/gconf.py b/pulsecaster/gconfig.py index 7a85c93..d956d42 100644 --- a/pulsecaster/gconf.py +++ b/pulsecaster/gconfig.py @@ -26,12 +26,19 @@ class PulseCasterGconf: def __init__(self): self.dirbase = '/apps/' + NAME self.client = gconf.client_get_default() - self.warn = self.client.get_without_default(self.dirbase + '/warn') - if type(self.warn) is None: - self.warn = True - self.client.set_value(self.dirbase + '/warn', False) - self.vorbisq = self.client.get_without_default(self.dirbase + '/vorbisq') - if type(self.vorbisq) is None: + if self.client.dir_exists(self.dirbase) is False: + self.client.add_dir(self.dirbase, gconf.CLIENT_PRELOAD_NONE) + + self.skip_warn = self.client.get_bool(self.dirbase + '/skip_warning') + if self.skip_warn is None or type(self.skip_warn) is not bool: + self.skip_warn = False + + self.vorbisq = self.client.get(self.dirbase + '/vorbisq') + if type(self.vorbisq) is not int: self.vorbisq = 4 - self.client.set_value(self.dirbase + '/vorbisq', self.vorbisq) + self.client.set_int(self.dirbase + '/vorbisq', self.vorbisq) + def change_warn(self, val): + if type(val) is not bool: + raise ValueError, "requires bool value" + self.client.set_bool(self.dirbase + '/skip_warning', val) diff --git a/pulsecaster/ui.py b/pulsecaster/ui.py index 596f9b2..c2c8d7f 100644 --- a/pulsecaster/ui.py +++ b/pulsecaster/ui.py @@ -20,6 +20,7 @@ from config import * +import gconfig from pulseaudio.PulseObj import PulseObj import gtk import gtk.glade @@ -44,6 +45,13 @@ class PulseCasterUI: def __init__(self): self.xml = gtk.glade.XML(fname) self.logo = gtk.gdk.pixbuf_new_from_file(logofile) + self.gconfig = gconfig.PulseCasterGconf() + + self.warning = self.xml.get_widget('warning') + self.dismiss = self.xml.get_widget('dismiss_warning') + self.swckbox = self.xml.get_widget('skip_warn_checkbox') + self.swckbox.set_active(int(self.gconfig.skip_warn)) + self.dismiss.connect('clicked', self.hideWarn) # Main dialog basics self.main = self.xml.get_widget('main_dialog') @@ -126,6 +134,11 @@ class PulseCasterUI: self.combo_vbox.reorder_child(self.subject_vox, 1) self.combo_vbox.show_all() + if self.gconfig.skip_warn is False: + self.warning.show() + else: + self.hideWarn() + def on_record(self, *args): # Get filename # Check whether filename exists, if so, overwrite? y/n @@ -181,6 +194,11 @@ class PulseCasterUI: pass gtk.main_quit() + def hideWarn(self, *args): + self.gconfig.change_warn(self.swckbox.get_active()) + self.warning.hide() + self.main.show() + def showAbout(self, *args): self.about.show() @@ -217,5 +235,4 @@ class PulseCasterListener: if __name__ == '__main__': pulseCaster = PulseCasterUI() - pulseCaster.main.show_all() gtk.main() |