summaryrefslogtreecommitdiffstats
path: root/pulsecaster
diff options
context:
space:
mode:
authorPaul W. Frields <stickster@gmail.com>2009-08-30 19:55:47 -0400
committerPaul W. Frields <stickster@gmail.com>2009-08-30 19:55:47 -0400
commitf4952d5f8f15079afae19d237bffb12448623ed1 (patch)
tree074b1687d512809273ccae355c66611dab8c8d1f /pulsecaster
parente57306ebba027b9a1b1c56e2d1949e8138809a9f (diff)
downloadpulsecaster-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.py19
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()