Oops. 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: 1c0efce61601e6a47e067fd5db32f818e262d6c5 # timestamp: 2008-07-18 13:01:02 +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-18 11:00:53 +0000
@@ -543,9 +543,11 @@
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
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWZpqzpQAByl/gERUAAFZ7///
f//eML////BgC++HJqgAAAAAAAAA+gBQABokp+mRpBqMaepPUzaiDAgyGJgjEBoDQ4BhGE0xDAIB
kAMI0yZMIwENBqmaInqNAAANAAAAAAAaADgGEYTTEMAgGQAwjTJkwjAQ0G1SmUwmCMEwATAAmAjR
kxMTBMECpJAIATQCaABNCeIJobUaTAMSPJHyAIcXxTHHLG8EyuKKuN3kFkkgn3gMJCIC2g2TTITG
euKrkbvLo8+GFR/uuNRduq3opp5ZOgmoUToKjHjdXTywrTfdOvKTOkaUyUHDLqY78ea69nmV0bcs
b1ar8meGpriR56SSNcEqRzMLf18If0MypSopRMe2Ru17fzx15yipx43aTLDjWlaiX5IMpAMcLgyy
zCEkCcBRMGIkggoylA4XeCVB+Pm0/ex6KzgCtDCGrTTHYLyXZ2SdgIAnUWSYOB0bmgOQEQHoaqVK
uc+P44ZmttyZ3tRS+7nlwrCcaKpVKopjnlhNMQtr3a8Lr2Wzbc7PCn437e274ngZL22WGcfBEdg3
zchgcJmvT0vuC1QynWaREIYIIXANAfA6jVUQ+Y/M8Z34eV42G96e7Dhhbjdi27Wz8ttVhnaZXWUe
NAp14KWtWxKloFGSilpj+5KGzoDJ0+SlI15TPVELNyBSi2YfdWr04Utu9MMCjzFpnO8dWknKQZJy
iZlky9uh6Z2VJ4s8l1rvKRr4RHCvFNjDXV92/3H64X8ZIW9gw9xhPQqio0VtbrbV46oYezHryWtV
Wta3Xhb7yOrs+zsaydt1oqpSidp7NcS6vnKkKSJgsYRNb57zM1GMmprW9WGiYJUi7GVCLSI6SmpR
eaDPU5dbjJ8IdhrS4jjuw/9VcjRU10jfhgvtNZwLb4l/KJvTgYp+Gv6NiZ7UpfqVjb1mfPN09O3u
2YmtqNaW5FrjMW3zWbtabA4WwqpsnSvPrZ5OhMZB9tJy1bVNvn6mAvp1l+I4NrpxVscWJlE7ZN8T
VWvXzdJy28XRhFikiVEyjby6Lw2MulrZXnwu4XN8XMsmTXE26m5xdn2djGdryyc0sfRSdWDY4Nrd
jjDAxTelXZYTgF7VErPtKdesrJn4mLYxc2xcY2Gkuuwaal2HN3pZmpqWTW3PZNhw69V2wuWiXTqd
2ppxzRcosbFjqa1za3uGJwbo5lubU2tnFTJmxeqOTm0uVReLPFJDk5KXMl8ODhjutN+67TfzHD9m
HGjVkYJ3XWk1YtjZxvaXMk33uV6aQuzMTcY4uxwNzTJtNbUwnUua1zYxdC/wT2pibtrhqN0wwpo3
SL5lU8FtlzKja7uxc1q6M+hoteppqY4mTa7oalljf+vtk9G1MdrVttOG+/jixZJheSLneXxJ0Lmh
exb2a53MdXPkuaG1mvXXXzkS5kvOmYmDpbD5pP0mvVrztrvqceUiMbJc6lLXYu5dfhW1TTuYMzm1
rlmZbL1Q192w2GkZbSzY2w617UeGSjxRMtue1W5a6VbfMxva2RguuNu5Y3ss1OFHg+bpbWr1Sh2t
ynGfVPj5OG2jAVOgyqKHMl2oaomFeofP5K1/cKKE/cVDpk+ip5Dh0tQpLOZY7lyxbrUlUql0pcqP
bM8vRlZ6p+BVHAyLjQsX0YlFxebNknikh7/6FbcnFKpQqqlXf2/z1aXn2Ffkf7/xno1/utGmpbZf
tP+f8/3b+KfpZjRpwpsitK/L/7G7rOgxOJaujfj5stmxLnHTTmWHmbjM322Jt3deOe6seCa79+3g
lcNNOtLXpgY7NRu/S74c+OodX0bJStOFi7c8w378XlU+XmxYyXeC56/JPqp++skwYqtH3ro0iUvO
QtEwXp9qpuu9q6MvZctPbKqo/pl+390mv612YvUPgfYp9LJi/7c8vFx5yQ7flf8G6uGVxotMNlfJ
9rVq06HUNsTO7xff3apIWkjKTuR2mkm3LkSbPHw/Q374XYydDrezyOJ1nJPk+5/BoyfJ/Be87pdr
jJxdOZkaLMp5ZHnkfxqV1SQ/v5TvZapaT89lqP4QnS7nUyTpc3SWfybJIdK57HuXz+fpk8eUl8sY
WtLzf/fk/yfsdUU+YpaWWWKspaV1Gk921sVNK/8pttLbeJr2YwzMCU4rjsbCPvwPxb93gv4Vm7Wk
9EM82VRbie0eT434/2Tg7u/6D0e97nut0lS9f7/Ve6KvVatbGeS50XWkaFs3qVur6MfndRtS3tVP
P5/nZPm16rvVs8y95nIvfF0lObqGocWVHWUwXxKKifDly+nC/rcFw23zu/ZNRd1n0+JdGpZbwOqd
8Q/xJjDQ2+rvNIeQnZYjSJ+6vKblld/cZSXpT9VKUkpKkW1+r1bNQe0bYu36E2/r/LltVUpfmg7z
gTM8zZUejYQrvfOeR3vB7Gbc9R4NFy961z1jcPTJ/s+B4Hj8dJ9nYvuqHcYfruwze9lc9x63qVFR
rtJ5JKlzjJ1ROyT24Jl35ilJMywtEqJRuOzjTuOt9Jxz/Qt8Of+bhcpU/HWbff60/I8suLvenslr
nzVQdsPCPD4SfsMZ/VRk9D3vQhRr/6a3hC85fmuKKqlUqo4F3mLTGSPRNB+mQyeT1j81EzyHhHmd
UTW4389+Y6D1+T3GZmbHXEqiqQ5HUg1jbg+J1JkV75OKU8X7VGsR8kUHqSPYHFpDC2EcQ2h6JNpe
aUC3aaBJNSQ4k+vmYtT0+L5vJs8cI2jkpPyqTVX77EPlOszn46R6IR6jKTzLpI/79Rg6z6+ZoPx4
at0NcmyFI1apPd19Sls3ofzUq14/MuPcbR7TgbT2C88yX8C6yVzcbi6o7qiGHRvGqT95flJMU1XF
xmZ2HRJDzJl6S8snkS2cRVRFE8vsXlT6vamMTDvY7MlF0kejzyQxeKb+eQwNtVGpa1VIljxKlo/0
3GF7ynVDOQuiapNkLsIvkmvkj8HztHu/vSaZzyHP59e799vlUek9J6SZap2aVrH3GB0B5zx5F5id
Xp2m0UfFNaZZyTtPjDbsj11L2DsR5VBoByxTZACTQhgO8lA8Yon/gKUwBN2O3DHmfWXnSVEujbJv
khqrLCufAxhuy5fzN4z7A4zDs2zVVFCqHG0k/1EwbsrW7zDsP5yfKSH3wwft2GgorQfhJ8Exc6cU
6/4T8KqVS1WqVRVrW/7aXey+W+UToh7OuOFh2i7HxHZSSXnQSvRxNI+q1ol+qJauSd0w1Pfjavpt
jfdfd8p553n0mgwnAVdlLVUq3jFvAxuOR0DEzwk6d4wFzet17RMnNLzZrkVEy3FUVR0zjPsuwrio
bqJrPPI43j6In2/H6cDT2HS56bePxcoeLXJ43HtVHQTr4+1P2nJB6ktE9Z80xNTxU0/A0NLptV6C
1qVWI75Pie6SGZOzSjWWjK6wqKuLFRPqTv5xfE8ad6aHbFp/+LuSKcKEhNNWdKA=
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
