Pretty much the same as the AddDialog in olivedialogs.py.

Jasper
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk
# testament_sha1: c1ef22cf6d4b7fcfb8aae7c0e9ab21b04d4a3e55
# timestamp: 2008-07-17 22:42:33 +0200
# source_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk
# base_revision_id: [EMAIL PROTECTED]
# 
# Begin patch
=== modified file 'olive/__init__.py'
--- olive/__init__.py	2008-07-01 21:56:25 +0000
+++ olive/__init__.py	2008-07-17 20:41:24 +0000
@@ -470,10 +470,13 @@
     
     def on_menuitem_add_files_activate(self, widget):
         """ Add file(s)... menu handler. """
-        from add import OliveAdd
-        add = OliveAdd(self.wt, self.wtpath, self.get_selected_right())
-        add.display()
-    
+        from bzrlib.plugins.gtk.olive.add import AddDialog
+        add = AddDialog(self.wt, self.wtpath, self.get_selected_right(), self.window)
+        response = add.run()
+        add.destroy()
+        if response == gtk.RESPONSE_OK:
+            self.refresh_right()
+
     def on_menuitem_branch_get_activate(self, widget):
         """ Branch/Get... menu handler. """
         from bzrlib.plugins.gtk.branch import BranchDialog

=== modified file 'olive/add.py'
--- olive/add.py	2008-06-29 18:32:05 +0000
+++ olive/add.py	2008-07-17 20:41:24 +0000
@@ -23,44 +23,52 @@
     pass
 
 import gtk
-import gtk.glade
 
 import bzrlib.add
 import bzrlib.errors as errors
 
 from bzrlib.plugins.gtk import _i18n
 from bzrlib.plugins.gtk.dialog import error_dialog
-from guifiles import GLADEFILENAME
-
-
-class OliveAdd:
-    """ Display the Add file(s) dialog and perform the needed actions. """
-    def __init__(self, wt, wtpath, selected=[]):
-        """ Initialize the Add file(s) dialog. """
-        self.glade = gtk.glade.XML(GLADEFILENAME, 'window_add', 'olive-gtk')
-        
-        self.window = self.glade.get_widget('window_add')
-        
-        # Dictionary for signal_autoconnect
-        dic = { "on_button_add_add_clicked": self.add,
-                "on_button_add_cancel_clicked": self.close }
-        
-        # Connect the signals to the handlers
-        self.glade.signal_autoconnect(dic)
-
+from bzrlib.plugins.gtk.errors import show_bzr_error
+
+
+class AddDialog(gtk.Dialog):
+    """ Dialog for adding selected file or recursively all unknown files/folders in branch """
+    
+    def __init__(self, wt, wtpath, selected, parent=None):
+        """ Initialize the Add dialog. """
+        gtk.Dialog.__init__(self, title="Olive - Add file(s)",
+                                  parent=parent,
+                                  flags=0,
+                                  buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
+        
+        # Get arguments
         self.wt = wt
         self.wtpath = wtpath
         self.selected = selected
-
-    def display(self):
-        """ Display the Add file(s) dialog. """
-        self.window.show_all()
-        
-    def add(self, widget):
-        radio_selected = self.glade.get_widget('radiobutton_add_selected')
-        radio_unknown = self.glade.get_widget('radiobutton_add_unknown')
-        
-        if radio_selected.get_active():
+        
+        # Create widgets
+        self._label_add_question = gtk.Label(_i18n("Which file(s) do you want to add?"))
+        self._radiobutton_add_selected = gtk.RadioButton(None,_i18n("Selected: %s"%self.selected))
+        self._radiobutton_add_unknown = gtk.RadioButton(self._radiobutton_add_selected, 
+                                                        _i18n("All unknowns recursively"))
+        self._button_add = gtk.Button(stock=gtk.STOCK_ADD)        
+        
+        self._button_add.connect('clicked', self._on_add_clicked)
+        
+        # Add widgets to dialog window and decorate
+        self.vbox.add(self._label_add_question)
+        self.vbox.add(self._radiobutton_add_selected)
+        self.vbox.add(self._radiobutton_add_unknown)
+        self.vbox.set_spacing(3)
+        self.action_area.pack_end(self._button_add)
+        
+        self.vbox.show_all()
+        
+    @show_bzr_error
+    def _on_add_clicked(self, button):
+        """ """
+        if self._radiobutton_add_selected.get_active():
             # Add only the selected file
             filename = self.selected
             
@@ -75,7 +83,7 @@
                 error_dialog(_i18n('Directory is not a branch'),
                              _i18n('You can perform this action only in a branch.'))
                 return
-        elif radio_unknown.get_active():
+        elif self._radiobutton_add_unknown.get_active():
             # Add unknown files recursively
             try:
                 self.wt.add(self.wt.unknowns())
@@ -84,7 +92,4 @@
                              _i18n('You can perform this action only in a branch.'))
                 return
         
-        self.close()
-    
-    def close(self, widget=None):
-        self.window.destroy()
+        self.response(gtk.RESPONSE_OK)

# Begin bundle
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
X0Xhq+Sr1AgfxdyRThQkFK44dYA=

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
bzr-gtk mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.canonical.com/mailman/listinfo/bzr-gtk

Reply via email to