Move merge.py back to main dir. 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: 0e8a8bd157fb5078555c08f0775e789ff5fae89c # timestamp: 2008-07-18 01:15:47 +0200 # source_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk # base_revision_id: [EMAIL PROTECTED] # # Begin patch === modified file 'merge.py' --- merge.py 2008-05-05 18:16:46 +0000 +++ merge.py 2008-07-17 23:15:43 +0000 @@ -23,48 +23,63 @@ pass import gtk -import gtk.glade from bzrlib.branch import Branch import bzrlib.errors as errors + from bzrlib.plugins.gtk import _i18n - -from dialog import error_dialog, info_dialog, warning_dialog -from errors import show_bzr_error -from olive.guifiles import GLADEFILENAME - - -class MergeDialog: +from bzrlib.plugins.gtk.dialog import error_dialog, info_dialog, warning_dialog +from bzrlib.plugins.gtk.errors import show_bzr_error + + +class MergeDialog(gtk.Dialog): """ Display the Merge dialog and perform the needed actions. """ - def __init__(self, wt, wtpath,default_branch_path=None): + + def __init__(self, wt, wtpath, default_branch_path=None, parent=None): """ Initialize the Merge dialog. """ - self.glade = gtk.glade.XML(GLADEFILENAME, 'window_merge', 'olive-gtk') - - self.window = self.glade.get_widget('window_merge') - - # Dictionary for signal_autoconnect - dic = { "on_button_merge_merge_clicked": self.merge, - "on_button_merge_cancel_clicked": self.close, - "on_button_merge_open_clicked": self.open } - - # Connect the signals to the handlers - self.glade.signal_autoconnect(dic) - + gtk.Dialog.__init__(self, title="Olive - Merge", + parent=parent, + flags=0, + buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)) + + # Get arguments self.wt = wt self.wtpath = wtpath - # Get some widgets - self.entry = self.glade.get_widget('entry_merge') - if default_branch_path: - self.entry.set_text(default_branch_path) - - def display(self): - """ Display the Add file(s) dialog. """ - self.window.show_all() + directory = os.path.dirname(self.wt.abspath(self.wtpath)) + + # Create widgets + self._hbox = gtk.HBox() + self._label_merge_from = gtk.Label(_i18n("Merge from")) + self._filechooser_dialog = gtk.FileChooserDialog(title="Please select a folder", + parent=self.window, + action=gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, + buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, + gtk.STOCK_OPEN, gtk.RESPONSE_OK)) + self._filechooser_dialog.set_default_response(gtk.RESPONSE_OK) + self._filechooser = gtk.FileChooserButton(self._filechooser_dialog) + self._button_merge = gtk.Button(_i18n("_Merge")) + self._button_merge_icon = gtk.Image() + self._button_merge_icon.set_from_stock(gtk.STOCK_APPLY, gtk.ICON_SIZE_BUTTON) + self._button_merge.set_image(self._button_merge_icon) + + self._button_merge.connect('clicked', self._on_merge_clicked) + + # Set location + self._filechooser_dialog.set_current_folder(directory) + + # Add widgets to dialog + self.vbox.add(self._hbox) + self._hbox.add(self._label_merge_from) + self._hbox.add(self.filechooser) + self._hbox.set_spacing(5) + self.action_area.pack_end(self._button_merge) + + self.vbox.show_all() @show_bzr_error - def merge(self, widget): - branch = self.entry.get_text() + def _on_merge_clicked(self, widget): + branch = self._filechooser.get_filename() if branch == "": error_dialog(_i18n('Branch not given'), _i18n('Please specify a branch to merge from.')) @@ -78,7 +93,6 @@ error_dialog(_i18n('Bazaar command error'), str(errmsg)) return - self.close() if conflicts == 0: # No conflicts found. info_dialog(_i18n('Merge successful'), @@ -87,19 +101,5 @@ # There are conflicts to be resolved. warning_dialog(_i18n('Conflicts encountered'), _i18n('Please resolve the conflicts manually before committing.')) - - def open(self, widget): - fcd = gtk.FileChooserDialog(title="Please select a folder", - parent=self.window, - action=gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, - buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, - gtk.STOCK_OPEN, gtk.RESPONSE_OK)) - fcd.set_default_response(gtk.RESPONSE_OK) - - if fcd.run() == gtk.RESPONSE_OK: - self.entry.set_text(fcd.get_filename()) - - fcd.destroy() - - def close(self, widget=None): - self.window.destroy() + + self.response(gtk.RESPONSE_OK)
=== modified file 'olive/__init__.py'
--- olive/__init__.py 2008-07-01 21:56:25 +0000
+++ olive/__init__.py 2008-07-17 21:00:10 +0000
@@ -537,15 +537,17 @@
def on_menuitem_branch_merge_activate(self, widget):
""" Branch/Merge... menu handler. """
- from bzrlib.plugins.gtk.merge import MergeDialog
+ from bzrlib.plugins.gtk.olive.merge import MergeDialog
if self.check_for_changes():
error_dialog(_i18n('There are local changes in the branch'),
_i18n('Please commit or revert the changes before merging.'))
else:
- parent_branch_path = self.wt.branch.get_parent()
- merge = MergeDialog(self.wt, self.wtpath,default_branch_path=parent_branch_path )
- merge.display()
+ merge = MergeDialog(self.wt, self.wtpath, parent_branch_path, self.window)
+ response = merge.run()
+ merge.destroy()
+ if response == gtk.RESPONSE_OK:
+ self.refresh_right()
@show_bzr_error
def on_menuitem_branch_missing_revisions_activate(self, widget):
# Begin bundle
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
XzBQD+LuSKcKEhZ3w3oA
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
