[gnome-clocks] Add empty alarm page



commit 5aa251f7a502fdc35ed3503495642a32e94ce01f
Author: MaÃl Lavault <mael lavault mailz org>
Date:   Thu Aug 16 22:51:20 2012 +0200

    Add empty alarm page
    
    Add an empty view with text and symbolic icon when there are no existing alarms
    
    Signed-off-by: MaÃl Lavault <mael lavault mailz org>
    
    https://bugzilla.gnome.org/show_bug.cgi?id=682027

 gnomeclocks/clocks.py  |   27 ++++++++++++++++++++++-----
 gnomeclocks/widgets.py |    4 ++--
 2 files changed, 24 insertions(+), 7 deletions(-)
---
diff --git a/gnomeclocks/clocks.py b/gnomeclocks/clocks.py
index cf18a4f..c2e0fb9 100644
--- a/gnomeclocks/clocks.py
+++ b/gnomeclocks/clocks.py
@@ -19,7 +19,7 @@
 from gi.repository import Gtk, GObject, Gio, Gdk, Gst, Notify, cairo
 from gi.repository.GdkPixbuf import Pixbuf
 
-from widgets import NewWorldClockDialog, DigitalClock, NewAlarmDialog, AlarmWidget, WorldEmpty
+from widgets import NewWorldClockDialog, DigitalClock, NewAlarmDialog, AlarmWidget, WorldEmpty, AlarmsEmpty
 from storage import worldclockstorage
 
 from datetime import datetime, timedelta
@@ -99,7 +99,6 @@ class World (Clock):
 
         self.scrolledwindow = scrolledwindow = Gtk.ScrolledWindow()
         scrolledwindow.add(iconview)
-        #self.add(scrolledwindow)
 
         iconview.connect ("selection-changed", self._on_selection_changed)
 
@@ -181,6 +180,8 @@ class Alarm (Clock):
         self.liststore = liststore = Gtk.ListStore(Pixbuf, str, GObject.TYPE_PYOBJECT)
         self.iconview = iconview = Gtk.IconView.new()
 
+        self.empty_view = AlarmsEmpty()
+
         iconview.set_model(liststore)
         iconview.set_spacing(3)
         iconview.set_pixbuf_column(0)
@@ -191,9 +192,8 @@ class Alarm (Clock):
         iconview.pack_start(renderer_text, True)
         iconview.add_attribute(renderer_text, "markup", 1)
 
-        scrolledwindow = Gtk.ScrolledWindow()
-        scrolledwindow.add(iconview)
-        self.add(scrolledwindow)
+        self.scrolledwindow = Gtk.ScrolledWindow()
+        self.scrolledwindow.add(iconview)
 
         self.alarms = []
         self.load_alarms()
@@ -218,6 +218,20 @@ class Alarm (Clock):
                     d = AlarmWidget(alarm.get_time_24h_as_string())
                 view_iter = self.liststore.append([d.drawing.pixbuf, "<b>" + alarm.get_alarm_name() + "</b>", d])
                 d.set_iter(self.liststore, view_iter)
+                self.load_alarms_view()
+        else:
+            self.load_empty_alarms_view ()
+
+    def load_alarms_view(self):
+        if self.empty_view in self.get_children():
+            self.remove(self.empty_view)
+        self.add(self.scrolledwindow)
+        self.show_all()
+
+    def load_empty_alarms_view(self):
+        if self.scrolledwindow in self.get_children():
+            self.remove(self.scrolledwindow)
+        self.add(self.empty_view)
         self.show_all()
 
     def add_alarm(self, alarm):
@@ -231,6 +245,9 @@ class Alarm (Clock):
         view_iter = self.liststore.append([d.drawing.pixbuf, "<b>" + alarm.get_alarm_name() + "</b>", d])
         d.set_iter(self.liststore, view_iter)
         self.show_all()
+        vevents = handler.load_vevents()
+        if vevents:
+            self.load_alarms_view()
 
     def open_new_dialog(self):
         parent = self.get_parent ().get_parent ().get_parent ()
diff --git a/gnomeclocks/widgets.py b/gnomeclocks/widgets.py
index af2060a..601a57c 100644
--- a/gnomeclocks/widgets.py
+++ b/gnomeclocks/widgets.py
@@ -567,11 +567,11 @@ class AlarmsEmpty(Gtk.Box):
     def __init__(self):
         Gtk.Box.__init__(self)
         self.set_orientation(Gtk.Orientation.VERTICAL)
-        gicon = Gio.ThemedIcon.new_with_default_fallbacks("document-open-recent-symbolic")
+        gicon = Gio.ThemedIcon.new_with_default_fallbacks("alarm-symbolic")
         image = Gtk.Image.new_from_gicon(gicon, Gtk.IconSize.DIALOG)
         image.set_sensitive (False)
         text = Gtk.Label("")
-        text.set_markup("<span color='darkgrey'>" + _("Select <b>New</b> to add a world clock") + "</span>")
+        text.set_markup("<span color='darkgrey'>" + _("Select <b>New</b> to add an alarm") + "</span>")
         self.pack_start(Gtk.Label(""), True, True, 0)
         self.pack_start(image, False, False, 6)
         self.pack_start(text, False, False, 6)



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