[gnome-clocks] Factor out SystemSettings code



commit b75095bf74c9aa0e1a6a56091b688df9c9a4707c
Author: Paolo Borelli <pborelli gnome org>
Date:   Sun Aug 19 12:13:23 2012 +0200

    Factor out SystemSettings code

 gnomeclocks/clocks.py  |    9 ++-------
 gnomeclocks/utils.py   |   10 +++++++++-
 gnomeclocks/widgets.py |   30 +++++++-----------------------
 3 files changed, 18 insertions(+), 31 deletions(-)
---
diff --git a/gnomeclocks/clocks.py b/gnomeclocks/clocks.py
index e1d840a..f2aa9fd 100644
--- a/gnomeclocks/clocks.py
+++ b/gnomeclocks/clocks.py
@@ -22,7 +22,7 @@ from gi.repository.GdkPixbuf import Pixbuf
 from widgets import NewWorldClockDialog, AlarmDialog
 from widgets import DigitalClock, AlarmWidget, EmptyPlaceholder
 from storage import worldclockstorage
-from utils import Alert
+from utils import SystemSettings, Alert
 
 from timer import TimerWelcomeScreen, TimerScreen
 from alarm import AlarmItem, ICSHandler
@@ -225,11 +225,6 @@ class Alarm(Clock):
             vevent = self.liststore[path][-1]
             self.open_edit_dialog(vevent)
 
-    def get_system_clock_format(self):
-        settings = Gio.Settings.new('org.gnome.desktop.interface')
-        systemClockFormat = settings.get_string('clock-format')
-        return systemClockFormat
-
     def load_alarms(self):
         handler = ICSHandler()
         vevents = handler.load_vevents()
@@ -267,7 +262,7 @@ class Alarm(Clock):
 
     def add_alarm_widget(self, alarm):
         name = alarm.get_alarm_name()
-        if self.get_system_clock_format() == "12h":
+        if SystemSettings.get_clock_format() == "12h":
             timestr = alarm.get_time_12h_as_string()
         else:
             timestr = alarm.get_time_24h_as_string()
diff --git a/gnomeclocks/utils.py b/gnomeclocks/utils.py
index ad1816c..d68ed43 100644
--- a/gnomeclocks/utils.py
+++ b/gnomeclocks/utils.py
@@ -17,7 +17,7 @@
 # Author: Seif Lotfy <seif lotfy collabora co uk>
 
 import os
-from gi.repository import Gst, Notify
+from gi.repository import Gio, Gst, Notify
 
 class Dirs:
     @staticmethod
@@ -45,6 +45,14 @@ class Dirs:
         return path
 
 
+class SystemSettings:
+    @staticmethod
+    def get_clock_format():
+        settings = Gio.Settings.new('org.gnome.desktop.interface')
+        systemClockFormat = settings.get_string('clock-format')
+        return systemClockFormat
+
+
 class Alert:
     def __init__(self):
         Gst.init('gst')
diff --git a/gnomeclocks/widgets.py b/gnomeclocks/widgets.py
index 60eef3b..372a6e2 100644
--- a/gnomeclocks/widgets.py
+++ b/gnomeclocks/widgets.py
@@ -21,7 +21,7 @@ from gi.repository import GWeather
 
 from storage import Location
 from alarm import AlarmItem
-from utils import Dirs
+from utils import Dirs, SystemSettings
 
 import os
 import cairo
@@ -136,14 +136,9 @@ class DigitalClock():
             text = text[1:]
         return text
 
-    def get_system_clock_format(self):
-        settings = Gio.Settings.new('org.gnome.desktop.interface')
-        systemClockFormat = settings.get_string('clock-format')
-        return systemClockFormat
-
     def update(self):
         t = self.get_local_time_text()
-        systemClockFormat = self.get_system_clock_format()
+        systemClockFormat = SystemSettings.get_clock_format()
         if systemClockFormat == '12h':
             t = time.strftime("%I:%M%p", self.get_local_time())
         else:
@@ -402,11 +397,6 @@ class AlarmWidget():
             img = os.path.join(Dirs.get_image_dir(), "cities", "night.png")
         self.drawing.render(t, img, isDay, repeat)
 
-    def get_system_clock_format(self):
-        settings = Gio.Settings.new('org.gnome.desktop.interface')
-        systemClockFormat = settings.get_string('clock-format')
-        return systemClockFormat
-
     def set_iter(self, list_store, view_iter):
         self.view_iter = view_iter
         self.list_store = list_store
@@ -430,8 +420,8 @@ class AlarmDialog(Gtk.Dialog):
         self.set_modal(True)
         self.repeat_days = []
 
-        self.cf = cf = self.get_system_clock_format()
-        if cf == "12h":
+        self.cf = SystemSettings.get_clock_format()
+        if self.cf == "12h":
             table1 = Gtk.Table(4, 6, False)
         else:
             table1 = Gtk.Table(4, 5, False)
@@ -471,7 +461,7 @@ class AlarmDialog(Gtk.Dialog):
         minute_spinbutton.set_value(m)
         self.minuteselect = minuteselect = minute_spinbutton
 
-        if cf == "12h":
+        if self.cf == "12h":
             self.ampm = ampm = Gtk.ComboBoxText()
             ampm.append_text("AM")
             ampm.append_text("PM")
@@ -513,7 +503,7 @@ class AlarmDialog(Gtk.Dialog):
         else:
             entry.set_text(_("New Alarm"))
         entry.set_editable(True)
-        if cf == "12h":
+        if self.cf == "12h":
             table1.attach(entry, 1, 5, 1, 2)
         else:
             table1.attach(entry, 1, 4, 1, 2)
@@ -536,7 +526,7 @@ class AlarmDialog(Gtk.Dialog):
             btn.connect("clicked", self.on_day_clicked)
             box.pack_start(btn, True, True, 0)
 
-        if cf == "12h":
+        if self.cf == "12h":
             table1.attach(box, 1, 5, 2, 3)
         else:
             table1.attach(box, 1, 4, 2, 3)
@@ -545,11 +535,6 @@ class AlarmDialog(Gtk.Dialog):
         spin_button.set_text('{: 02d}'.format(spin_button.get_value_as_int()))
         return True
 
-    def get_system_clock_format(self):
-        settings = Gio.Settings.new('org.gnome.desktop.interface')
-        systemClockFormat = settings.get_string('clock-format')
-        return systemClockFormat
-
     def get_repeat_days_from_vevent(self, vevent):
         rrule = vevent.rrule.value
         repeat = []
@@ -558,7 +543,6 @@ class AlarmDialog(Gtk.Dialog):
             repeat = days.split(",")
         return repeat
 
-
     def on_response(self, widget, id):
         if id == 0:
             self.destroy()



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]