15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
22
pygtk.require("2.0")
28
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
31
import olive.backend.errors as errors
32
import olive.backend.fileops as fileops
38
35
""" Display the Make directory dialog and perform the needed actions. """
39
def __init__(self, wt, wtpath):
36
def __init__(self, gladefile, comm, dialog):
40
37
""" Initialize the Make directory dialog. """
41
self.glade = gtk.glade.XML(GLADEFILENAME, 'window_mkdir', 'olive-gtk')
38
self.gladefile = gladefile
39
self.glade = gtk.glade.XML(self.gladefile, 'window_mkdir')
41
# Communication object
43
46
self.window = self.glade.get_widget('window_mkdir')
65
64
dirname = entry.get_text()
68
error_dialog(_i18n('No directory name given'),
69
_i18n('Please specify a desired name for the new directory.'))
67
self.dialog.error_dialog('No directory name given',
68
'Please specify a desired name for the new directory.')
71
newdir = self.comm.get_path() + '/' + dirname
72
73
if checkbox.get_active():
73
74
# Want to create a versioned directory
75
os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
77
self.wt.add([os.path.join(self.wtpath, dirname)])
80
error_dialog(_i18n('Directory already exists'),
81
_i18n('Please specify another name to continue.'))
77
except errors.DirectoryAlreadyExists:
78
self.dialog.error_dialog('Directory already exists',
79
'Please specify another name to continue.')
81
except errors.NotBranchError:
82
self.dialog.warning_dialog('Directory is not in a branch',
83
'You can only create a non-versioned directory.')
85
85
# 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.'))
90
self.dialog.error_dialog('Directory already exists',
91
'Please specify another name to continue.')
95
self.comm.refresh_right()
96
97
def close(self, widget=None):
97
98
self.window.destroy()