And the MkdirDialog. 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: 9b8f0e9780aaa0f8c994971b13482020884b48ec # timestamp: 2008-07-17 23:10:11 +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 21:10:05 +0000 @@ -719,9 +719,12 @@ def on_menuitem_file_make_directory_activate(self, widget): """ File/Make directory... menu handler. """ - from mkdir import OliveMkdir - mkdir = OliveMkdir(self.wt, self.wtpath) - mkdir.display() + from bzrlib.plugins.gtk.olive.mkdir import MkdirDialog + mkdir = MkdirDialog(self.wt, self.wtpath, self.window) + response = mkdir.run() + mkdir.destroy() + if response == gtk.RESPONSE_OK: + self.refresh_right() def on_menuitem_file_move_activate(self, widget): """ File/Move... menu handler. """
=== modified file 'olive/mkdir.py'
--- olive/mkdir.py 2008-05-05 18:16:46 +0000
+++ olive/mkdir.py 2008-07-17 21:10:05 +0000
@@ -23,75 +23,70 @@
pass
import gtk
-import gtk.glade
import bzrlib.errors as errors
from bzrlib.plugins.gtk import _i18n
from bzrlib.plugins.gtk.dialog import error_dialog, warning_dialog
-from guifiles import GLADEFILENAME
-
from bzrlib.plugins.gtk.errors import show_bzr_error
-class OliveMkdir:
+class MkdirDialog(gtk.Dialog):
""" Display the Make directory dialog and perform the needed actions. """
- def __init__(self, wt, wtpath):
+
+ def __init__(self, wt, wtpath, parent=None):
""" Initialize the Make directory dialog. """
- self.glade = gtk.glade.XML(GLADEFILENAME, 'window_mkdir', 'olive-gtk')
-
- self.window = self.glade.get_widget('window_mkdir')
-
- # Dictionary for signal_autoconnect
- dic = { "on_button_mkdir_mkdir_clicked": self.mkdir,
- "on_button_mkdir_cancel_clicked": self.close }
-
- # Connect the signals to the handlers
- self.glade.signal_autoconnect(dic)
-
+ gtk.Dialog.__init__(self, title="Olive - Make directory",
+ parent=parent,
+ flags=0,
+ buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
+
+ # Get arguments
self.wt = wt
self.wtpath = wtpath
-
- def display(self):
- """ Display the Make directory dialog. """
- self.window.show_all()
+
+ # Create widgets
+ self._hbox = gtk.HBox()
+ self._label_directory_name = gtk.Label(_i18n("Directory name"))
+ self._entry = gtk.Entry()
+ self._versioned = gtk.CheckButton(_i18n("_Versioned directory"), use_underline=True)
+ self._button_mkdir = gtk.Button(_i18n("_Make directory"), use_underline=True)
+ self._button_mkdir_icon = gtk.Image()
+ self._button_mkdir_icon.set_from_stock(gtk.STOCK_ADD, gtk.ICON_SIZE_BUTTON)
+ self._button_mkdir.set_image(self._button_mkdir_icon)
+
+ self._entry.connect('activate', self._on_mkdir_clicked)
+ self._button_mkdir.connect('clicked', self._on_mkdir_clicked)
+
+ # Add widgets to dialog
+ self.vbox.add(self._hbox)
+ self._hbox.add(self._label_directory_name)
+ self._hbox.add(self._entry)
+ self._hbox.set_spacing(5)
+ self.vbox.add(self._versioned)
+ self.action_area.pack_end(self._button_mkdir)
+
+ self.vbox.show_all()
@show_bzr_error
- def mkdir(self, widget):
- # Get the widgets
- entry = self.glade.get_widget('entry_mkdir')
- checkbox = self.glade.get_widget('checkbutton_mkdir_versioned')
-
- dirname = entry.get_text()
+ def _on_mkdir_clicked(self, widget):
+ dirname = self._entry.get_text()
if dirname == "":
error_dialog(_i18n('No directory name given'),
_i18n('Please specify a desired name for the new directory.'))
return
- if checkbox.get_active():
- # Want to create a versioned directory
- try:
- os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
-
+ try:
+ os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
+
+ if self._versioned.get_active():
self.wt.add([os.path.join(self.wtpath, dirname)])
- except OSError, e:
- if e.errno == 17:
- error_dialog(_i18n('Directory already exists'),
- _i18n('Please specify another name to continue.'))
- else:
- raise
- else:
- # Just a simple directory
- try:
- os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
- except OSError, e:
- if e.errno == 17:
- error_dialog(_i18n('Directory already exists'),
- _i18n('Please specify another name to continue.'))
- return
-
- self.close()
-
- def close(self, widget=None):
- self.window.destroy()
+ except OSError, e:
+ if e.errno == 17:
+ error_dialog(_i18n('Directory already exists'),
+ _i18n('Please specify another name to continue.'))
+ else:
+ raise
+
+ self.response(gtk.RESPONSE_OK)
# Begin bundle
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
6D+BdyRThQkA+4B1wA==
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
