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 IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWVK44dYAAyx/gERQAAFb5/// /r3cgL////BgByvvbdAADQOdvpoOh60HhkQhNpTelGmmTxNNQPUeoAGQAAAAyUzUnpoGhNQ0NAAB oGgAAekPUDmmRkMmCGjCYI00aMQNMmRgACDCkaKaemQTRoD1GjQPUAAAAANBlU0yDIAY1BoAADJi aAAAAJJATQJiCT00yaNNE0KfmpM1J7Sh4p4U9TTaRwJAm9sC0YrJfesMZ6yUZRXpSTzwgMiNRwU9 zH2XmIgdCIr4RFrtM22GpHIbESqStrTroSFFozmMqslwNkmICLmQhFQrWSAcfLfox++WiC/0dgzM zIj9F+YTzQaELiuouliCkvxhFDB5UqhJjZxU6W7gkvqtz+YUcUv9fLPjzCKDkGolKTBdq6E8dImQ xVoilZIYGiJamAI9Q4ZYQCbD3y/J/6VlCZjQOH553nt6Y7chw86jdudSgdY3bqYX81dJAlmq5GhA gBvF81C44qzUHLfZSKWuVj6OKf8GU2k6v5NDFnHB67ZRb0fHmPnnJVq2q/VnnPhR3HybCchqaORk HUVETWGCNYElvltHUAlk7akPvErP0siLaY8xegj/0XEnuYYmOagwGhYFme4u80SSyZbWGaOfe/iC Je6WoeP1qBrkgcQoKsO0ZIYePQnGc1Fir5FXLka1W7BFrOiYK2KzE+u4Ck4WOweRP8q0mQMFiYqh a8uHLAckXFkfc1Rr5Z01qtMS4/j+S4DLLDJ6cyQMBzMZs42BcVRIAOMYnKEKpSgh44vKsydOHf2l RetWErSB1ASRrg3lqHmBQsHATKMXiIuQ8DYZnl2geuIbM6fvQVnAYrLa9zs+tsz69TjBaZyHk4RH 6FkUrOk0Hcn87yLUqxuvYVoMVM4qbMVlQ8xDEeY42HdXGzMOH1qCFZR4DxjM4fYQxJPLirON+gIw DOfozyvsHGkvQtcFEBthjUFWq24J2GkgOOBBPtIlPRc8HjFvOZjMXcweAHYRMDdWPPWjxxfkxjzs DLIH3rFEbDb8BmS82NYd7GzmvqGHGhjBmb2DkcCqfg3D5HhJz6PKM59K0eXag5f7LypkVZPZgY+u QcThcMwk6/iDEGAI+cfZ/DGaXhRQJHhp0st4gLy+W1Vo6clcnkojVI7osxtRKkuhoHQjxGS9jTTj mN+47fpp3FFYYoeiwzNYMlLq90GYKlwZOXgikiQuR4nqJn9fLUaEDetYZH7HzdogDh/PsaJBI3up n7i1LxNI5EfInTagekSRsXPUT6ddNCRD9W/dVYSPh15jMuR0HOON5+58CBciRIoZLzRggy2fAdpX vS/Lh570Go2n+C1BeQPieZIxJfjfzszxsznK37Zj8dpoAhe27pItFC7UHSw0UkGy0gEEgLwtxGMR AQgA2FGomYgNEzCwMRE56ykiQgESKwmoNDtC0wmDjFslIiB5FsBix7gustHHhmnPFHGI2h4YXGo9 JpGxJr7dUOstsavuXzLtvEwaRFHs0N6zOaLpoFBHC+EpE2ooUCJ5YJ0wgSXEEUBOwNKkJllIFuxK pTZIurOEphp4FgW0XUT/nBWsTQa70VbixmLUJdJ7zejgRX4OK9QyrPGl3siGBfVt+20qYZlnQx1M d5MlR1RaMApEI/teqChUPisov3ZEQZgtpyixiAu1P5i1mtKP5O1cR934NYyZhrjxhueqktxUcxCp TOIiJ6A8EVGaeixGJ6OMqTQV6GYGYM6DFFrQ44uGCR3gOcND1azyYsWnOVoTEkyzotRpLBzdjgHI Lg9WBEmYaqV9ojilexUgZkJVmYkn/eabivJhHdFDkjADuywIlCxTAqkjv25j2mwp76bDEUKXC27D bgBBJEEVmczTEYUJToyQOWiMloixBPsRbIeFlAHskys6Df6oIH8xzJG1BPrL4kJk0zMDLqGScj7H CMNqmlXzQRGtEFGSisfpgd61o8kVTNvXfd4u9rHDh1hQoqYBrA2WkFEz9Nlg24712KqgvSazcaTk BiYN1s44jC6TnQVJRQ4aO7EFnaSJsitw8bBahY8h07zXQFOjloEeIDCV3g8ubnHDhmMXKJbM3v/X IeVfwgd7XyGa4of0j4qagrmaqk0KDnpBQbDbbWR1IiEixzUszmElG+QLwiYBkA7XWHm5yLbUObsI Ug2X9vWO7jzOk92z12EzOi0cNkDdER9yDRqClJD9r8R5QqcxahReQokmRau0xHPa8YrYKulJPLfD 0/AxOzCfRiw1+R9VkCsA6UYIMVm5jOg4L6kDQTAZX+wnN6rbcSRqIQGejaB1oIgVI9GrZYPqcEIN X0Xhq+Sr1AgfxdyRThQkFK44dYA=
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
