/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: rodney.dawes at canonical
  • Date: 2008-10-25 06:02:09 UTC
  • Revision ID: rodney.dawes@canonical.com-20081025060209-irlizouino63cs1m
        * preferences/__init__.py:
        Remove the dialog separator
        Remove useless extra call to self._create_pages()
        Make the default window size smaller
        Set the default border width on various widgets
        Set the current notebook page to the first one

        * preferences/identity.py:
        Set various border widths appropriately
        Align the labels to the left
        Remove the unneeded bold markup from the labels
        Change the "User Id" label to "E-Mail"
        Align the radio group labels to the top of the groups

        * preferences/plugins.py:
        Set various border widths appropriately
        Set the default paned position to something more sensible
        Set the shadow type on the treeview's scrolled window to in
        Align the Author and Version labels to the left

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
    pass
24
24
 
25
25
import gtk
26
 
import gtk.glade
27
26
 
28
27
import bzrlib.errors as errors
29
28
 
30
29
from bzrlib.plugins.gtk import _i18n
31
30
from bzrlib.plugins.gtk.dialog import error_dialog, warning_dialog
32
 
from guifiles import GLADEFILENAME
33
 
 
34
31
from bzrlib.plugins.gtk.errors import show_bzr_error
35
32
 
36
33
 
37
 
class OliveMkdir:
 
34
class MkdirDialog(gtk.Dialog):
38
35
    """ Display the Make directory dialog and perform the needed actions. """
39
 
    def __init__(self, wt, wtpath):
 
36
    
 
37
    def __init__(self, wt, wtpath, parent=None):
40
38
        """ Initialize the Make directory dialog. """
41
 
        self.glade = gtk.glade.XML(GLADEFILENAME, 'window_mkdir', 'olive-gtk')
42
 
        
43
 
        self.window = self.glade.get_widget('window_mkdir')
44
 
        
45
 
        # Dictionary for signal_autoconnect
46
 
        dic = { "on_button_mkdir_mkdir_clicked": self.mkdir,
47
 
                "on_button_mkdir_cancel_clicked": self.close }
48
 
        
49
 
        # Connect the signals to the handlers
50
 
        self.glade.signal_autoconnect(dic)
51
 
        
 
39
        gtk.Dialog.__init__(self, title="Olive - Make directory",
 
40
                                  parent=parent,
 
41
                                  flags=0,
 
42
                                  buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
 
43
        
 
44
        # Get arguments
52
45
        self.wt = wt
53
46
        self.wtpath = wtpath
54
 
 
55
 
    def display(self):
56
 
        """ Display the Make directory dialog. """
57
 
        self.window.show_all()
 
47
        
 
48
        # Create widgets
 
49
        self._hbox = gtk.HBox()
 
50
        self._label_directory_name = gtk.Label(_i18n("Directory name"))
 
51
        self._entry = gtk.Entry()
 
52
        self._versioned = gtk.CheckButton(_i18n("_Versioned directory"), use_underline=True)
 
53
        self._button_mkdir = gtk.Button(_i18n("_Make directory"), use_underline=True)
 
54
        self._button_mkdir_icon = gtk.Image()
 
55
        self._button_mkdir_icon.set_from_stock(gtk.STOCK_ADD, gtk.ICON_SIZE_BUTTON)
 
56
        self._button_mkdir.set_image(self._button_mkdir_icon)
 
57
        
 
58
        self._entry.connect('activate', self._on_mkdir_clicked)
 
59
        self._button_mkdir.connect('clicked', self._on_mkdir_clicked)
 
60
        
 
61
        # Add widgets to dialog
 
62
        self.vbox.add(self._hbox)
 
63
        self._hbox.add(self._label_directory_name)
 
64
        self._hbox.add(self._entry)
 
65
        self._hbox.set_spacing(5)
 
66
        self.vbox.add(self._versioned)
 
67
        self.action_area.pack_end(self._button_mkdir)
 
68
        
 
69
        self.vbox.show_all()
58
70
 
59
71
    @show_bzr_error
60
 
    def mkdir(self, widget):
61
 
        # Get the widgets
62
 
        entry = self.glade.get_widget('entry_mkdir')
63
 
        checkbox = self.glade.get_widget('checkbutton_mkdir_versioned')
64
 
        
65
 
        dirname = entry.get_text()
 
72
    def _on_mkdir_clicked(self, widget):
 
73
        dirname = self._entry.get_text()
66
74
        
67
75
        if dirname == "":
68
76
            error_dialog(_i18n('No directory name given'),
69
77
                         _i18n('Please specify a desired name for the new directory.'))
70
78
            return
71
79
        
72
 
        if checkbox.get_active():
73
 
            # Want to create a versioned directory
74
 
            try:
75
 
                os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
76
 
 
 
80
        try:
 
81
            os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
 
82
            
 
83
            if self._versioned.get_active():
77
84
                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
84
 
        else:
85
 
            # Just a simple directory
86
 
            try:
87
 
                os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
88
 
            except OSError, e:
89
 
                if e.errno == 17:
90
 
                    error_dialog(_i18n('Directory already exists'),
91
 
                                 _i18n('Please specify another name to continue.'))
92
 
                    return
93
 
 
94
 
        self.close()
95
 
    
96
 
    def close(self, widget=None):
97
 
        self.window.destroy()
 
85
        except OSError, e:
 
86
            if e.errno == 17:
 
87
                error_dialog(_i18n('Directory already exists'),
 
88
                             _i18n('Please specify another name to continue.'))
 
89
            else:
 
90
                raise
 
91
        
 
92
        self.response(gtk.RESPONSE_OK)