[gnome-clocks] Do not add the same widget to the container more than once



commit 3a20a4c2efef5ac317265e28b4791750e5b11905
Author: Paolo Borelli <pborelli gnome org>
Date:   Sun Aug 19 12:04:01 2012 +0200

    Do not add the same widget to the container more than once

 gnomeclocks/clocks.py |   36 ++++++++++++++++++++----------------
 1 files changed, 20 insertions(+), 16 deletions(-)
---
diff --git a/gnomeclocks/clocks.py b/gnomeclocks/clocks.py
index 18230e9..e1d840a 100644
--- a/gnomeclocks/clocks.py
+++ b/gnomeclocks/clocks.py
@@ -159,6 +159,20 @@ class World(Clock):
         if len(self.clocks) == 0:
             self.load_empty_clocks_view()
 
+    def load_clocks_view(self):
+        if self.empty_view in self.get_children():
+            self.remove(self.empty_view)
+        if self.scrolledwindow not in self.get_children():
+            self.add(self.scrolledwindow)
+            self.show_all()
+
+    def load_empty_clocks_view(self):
+        if self.scrolledwindow in self.get_children():
+            self.remove(self.scrolledwindow)
+        if self.empty_view not in self.get_children():
+            self.add(self.empty_view)
+            self.show_all()
+
     def open_new_dialog(self):
         parent = self.get_parent().get_parent().get_parent()
         window = NewWorldClockDialog(parent)
@@ -171,18 +185,6 @@ class World(Clock):
         self.addButton.set_sensitive(False)
         self.emit('show-requested')
 
-    def load_clocks_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_clocks_view(self):
-        if self.scrolledwindow in self.get_children():
-            self.remove(self.scrolledwindow)
-        self.add(self.empty_view)
-        self.show_all()
-
 
 class Alarm(Clock):
     def __init__(self):
@@ -243,14 +245,16 @@ class Alarm(Clock):
     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()
+        if self.scrolledwindow not in self.get_children():
+            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()
+        if self.empty_view not in self.get_children():
+            self.add(self.empty_view)
+            self.show_all()
 
     def add_alarm(self, alarm):
         handler = ICSHandler()



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