Allow creation of more than one window
authorRené Stadler <mail@renestadler.de>
Wed, 23 Jan 2008 15:07:55 +0000 (17:07 +0200)
committerStefan Sauer <ensonic@users.sf.net>
Thu, 11 Sep 2014 18:51:44 +0000 (20:51 +0200)
debug-viewer/GstDebugViewer/GUI.py
debug-viewer/data/gst-debug-viewer.ui

index 7a972c2..6bd7e9a 100644 (file)
@@ -1828,7 +1828,7 @@ class Window (object):
 
     def handle_new_window_action_activate (self, action):
 
-        pass
+        self.app.open_window ()
 
     def handle_open_file_action_activate (self, action):
 
@@ -2190,7 +2190,9 @@ class App (object):
 
         self.load_plugins ()
 
-        self.windows = [Window (self)]
+        self.windows = []
+
+        self.open_window ()
 
     def detach (self):
 
@@ -2207,14 +2209,20 @@ class App (object):
         else:
             self.detach ()
 
+    def open_window (self):
+
+        self.windows.append (Window (self))
+
     def close_window (self, window):
 
-        # GtkTreeView takes some time to go down for large files.  Let's block
-        # until the window is hidden:
-        gobject.idle_add (gtk.main_quit)
-        gtk.main ()
-        
-        gtk.main_quit ()
+        self.windows.remove (window)
+        if not self.windows:
+            # GtkTreeView takes some time to go down for large files.  Let's block
+            # until the window is hidden:
+            gobject.idle_add (gtk.main_quit)
+            gtk.main ()
+
+            gtk.main_quit ()
 
 import time
 
index fef6de4..802721a 100644 (file)
@@ -2,7 +2,7 @@
 <ui>
   <menubar>
     <menu name="FileMenu" action="FileMenuAction">
-      <!--<menuitem name="FileNewWindow" action="new-window"/>-->
+      <menuitem name="FileNewWindow" action="new-window"/>
       <menuitem name="FileOpen" action="open-file"/>
       <menuitem name="FileReload" action="reload-file"/>
       <separator/>