15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
22
pygtk.require("2.0")
28
31
import bzrlib.errors as errors
30
from bzrlib.plugins.gtk import _i18n
31
from bzrlib.plugins.gtk.dialog import error_dialog, warning_dialog
32
from guifiles import GLADEFILENAME
34
from bzrlib.plugins.gtk.errors import show_bzr_error
38
34
""" Display the Make directory dialog and perform the needed actions. """
39
def __init__(self, wt, wtpath):
35
def __init__(self, gladefile, comm, dialog):
40
36
""" Initialize the Make directory dialog. """
41
self.glade = gtk.glade.XML(GLADEFILENAME, 'window_mkdir', 'olive-gtk')
37
self.gladefile = gladefile
38
self.glade = gtk.glade.XML(self.gladefile, 'window_mkdir', 'olive-gtk')
40
# Communication object
43
45
self.window = self.glade.get_widget('window_mkdir')
65
63
dirname = entry.get_text()
68
error_dialog(_i18n('No directory name given'),
69
_i18n('Please specify a desired name for the new directory.'))
66
self.dialog.error_dialog(_('No directory name given'),
67
_('Please specify a desired name for the new directory.'))
70
newdir = self.comm.get_path() + '/' + dirname
72
72
if checkbox.get_active():
73
73
# Want to create a versioned directory
75
os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
75
from bzrlib.workingtree import WorkingTree
77
self.wt.add([os.path.join(self.wtpath, dirname)])
79
wt, dd = WorkingTree.open_containing(newdir)
80
error_dialog(_i18n('Directory already exists'),
81
_i18n('Please specify another name to continue.'))
83
self.dialog.error_dialog(_('Directory already exists'),
84
_('Please specify another name to continue.'))
87
except errors.NotBranchError:
88
self.dialog.warning_dialog(_('Directory is not in a branch'),
89
_('You can only create a non-versioned directory.'))
85
91
# Just a simple directory
87
os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
90
error_dialog(_i18n('Directory already exists'),
91
_i18n('Please specify another name to continue.'))
96
self.dialog.error_dialog(_('Directory already exists'),
97
_('Please specify another name to continue.'))
101
self.comm.refresh_right()
96
103
def close(self, widget=None):
97
104
self.window.destroy()