/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: Vincent Ladeuil
  • Date: 2008-05-05 18:16:46 UTC
  • mto: (487.1.1 gtk)
  • mto: This revision was merged to the branch mainline in revision 490.
  • Revision ID: v.ladeuil+lp@free.fr-20080505181646-n95l8ltw2u6jtr26
Fix bug #187283 fix replacing _() by _i18n().

* genpot.sh 
Remove duplication. Add the ability to specify the genrated pot
file on command-line for debugging purposes.

* po/olive-gtk.pot:
Regenerated.

* __init__.py, branch.py, branchview/treeview.py, checkout.py,
commit.py, conflicts.py, diff.py, errors.py, initialize.py,
merge.py, nautilus-bzr.py, olive/__init__.py, olive/add.py,
olive/bookmark.py, olive/guifiles.py, olive/info.py,
olive/menu.py, olive/mkdir.py, olive/move.py, olive/remove.py,
olive/rename.py, push.py, revbrowser.py, status.py, tags.py:
Replace all calls to _() by calls to _i18n(), the latter being
defined in __init__.py and imported in the other modules from
there. This fix the problem encountered countless times when
running bzr selftest and getting silly error messages about
boolean not being callables.

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
26
27
 
27
28
import bzrlib.errors as errors
28
29
 
29
30
from bzrlib.plugins.gtk import _i18n
30
31
from bzrlib.plugins.gtk.dialog import error_dialog, warning_dialog
 
32
from guifiles import GLADEFILENAME
 
33
 
31
34
from bzrlib.plugins.gtk.errors import show_bzr_error
32
35
 
33
36
 
34
 
class MkdirDialog(gtk.Dialog):
 
37
class OliveMkdir:
35
38
    """ Display the Make directory dialog and perform the needed actions. """
36
 
    
37
 
    def __init__(self, wt, wtpath, parent=None):
 
39
    def __init__(self, wt, wtpath):
38
40
        """ Initialize the Make directory dialog. """
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
 
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
        
45
52
        self.wt = wt
46
53
        self.wtpath = wtpath
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()
 
54
 
 
55
    def display(self):
 
56
        """ Display the Make directory dialog. """
 
57
        self.window.show_all()
70
58
 
71
59
    @show_bzr_error
72
 
    def _on_mkdir_clicked(self, widget):
73
 
        dirname = self._entry.get_text()
 
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()
74
66
        
75
67
        if dirname == "":
76
68
            error_dialog(_i18n('No directory name given'),
77
69
                         _i18n('Please specify a desired name for the new directory.'))
78
70
            return
79
71
        
80
 
        try:
81
 
            os.mkdir(os.path.join(self.wt.basedir, self.wtpath, dirname))
82
 
            
83
 
            if self._versioned.get_active():
 
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
 
84
77
                self.wt.add([os.path.join(self.wtpath, dirname)])
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)
 
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()