/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to olive/mkdir.py

  • Committer: Jelmer Vernooij
  • Date: 2008-06-29 16:11:12 UTC
  • mfrom: (475.2.2 gtk)
  • mto: This revision was merged to the branch mainline in revision 519.
  • Revision ID: jelmer@samba.org-20080629161112-3j4zp0r0e7cv6cds
Merge Chad's progress bar in viz patch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
import os
18
 
import sys
19
18
 
20
19
try:
21
20
    import pygtk
22
21
    pygtk.require("2.0")
23
22
except:
24
23
    pass
25
 
try:
26
 
    import gtk
27
 
    import gtk.glade
28
 
except:
29
 
    sys.exit(1)
30
 
 
31
 
import olive.backend.errors as errors
32
 
import olive.backend.fileops as fileops
33
 
 
34
 
from dialog import OliveDialog
 
24
 
 
25
import gtk
 
26
import gtk.glade
 
27
 
 
28
import bzrlib.errors as errors
 
29
 
 
30
from bzrlib.plugins.gtk import _i18n
 
31
from bzrlib.plugins.gtk.dialog import error_dialog, warning_dialog
 
32
from guifiles import GLADEFILENAME
 
33
 
 
34
from bzrlib.plugins.gtk.errors import show_bzr_error
 
35
 
35
36
 
36
37
class OliveMkdir:
37
38
    """ Display the Make directory dialog and perform the needed actions. """
38
 
    def __init__(self, gladefile, comm):
 
39
    def __init__(self, wt, wtpath):
39
40
        """ Initialize the Make directory dialog. """
40
 
        self.gladefile = gladefile
41
 
        self.glade = gtk.glade.XML(self.gladefile, 'window_mkdir')
42
 
        
43
 
        self.comm = comm
44
 
        
45
 
        self.dialog = OliveDialog(self.gladefile)
 
41
        self.glade = gtk.glade.XML(GLADEFILENAME, 'window_mkdir', 'olive-gtk')
46
42
        
47
43
        self.window = self.glade.get_widget('window_mkdir')
48
44
        
52
48
        
53
49
        # Connect the signals to the handlers
54
50
        self.glade.signal_autoconnect(dic)
 
51
        
 
52
        self.wt = wt
 
53
        self.wtpath = wtpath
55
54
 
56
55
    def display(self):
57
 
        """ Display the Add file(s) dialog. """
 
56
        """ Display the Make directory dialog. """
58
57
        self.window.show_all()
59
58
 
 
59
    @show_bzr_error
60
60
    def mkdir(self, widget):
61
61
        # Get the widgets
62
62
        entry = self.glade.get_widget('entry_mkdir')
65
65
        dirname = entry.get_text()
66
66
        
67
67
        if dirname == "":
68
 
            self.dialog.error_dialog('No directory name given.')
 
68
            error_dialog(_i18n('No directory name given'),
 
69
                         _i18n('Please specify a desired name for the new directory.'))
69
70
            return
70
71
        
71
 
        newdir = self.comm.get_path() + '/' + dirname
72
 
        
73
72
        if checkbox.get_active():
74
73
            # Want to create a versioned directory
75
74
            try:
76
 
                fileops.mkdir(newdir)
77
 
            except errors.DirectoryAlreadyExists:
78
 
                self.dialog.error_dialog('Directory already exists.')
79
 
                return
80
 
            except errors.NotBranchError:
81
 
                self.dialog.warning_dialog('Directory is not in a branch: not versioned.')
 
75
                os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
 
76
 
 
77
                self.wt.add([os.path.join(self.wtpath, dirname)])
 
78
            except OSError, e:
 
79
                if e.errno == 17:
 
80
                    error_dialog(_i18n('Directory already exists'),
 
81
                                 _i18n('Please specify another name to continue.'))
 
82
                else:
 
83
                    raise
82
84
        else:
83
85
            # Just a simple directory
84
86
            try:
85
 
                os.mkdir(newdir)
 
87
                os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
86
88
            except OSError, e:
87
89
                if e.errno == 17:
88
 
                    self.dialog.error_dialog('Directory already exists.')
 
90
                    error_dialog(_i18n('Directory already exists'),
 
91
                                 _i18n('Please specify another name to continue.'))
89
92
                    return
90
93
 
91
94
        self.close()
92
 
        self.comm.refresh_right()
93
95
    
94
96
    def close(self, widget=None):
95
97
        self.window.destroy()