/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/add.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.add
29
28
import bzrlib.errors as errors
30
29
 
31
30
from bzrlib.plugins.gtk import _i18n
32
31
from bzrlib.plugins.gtk.dialog import error_dialog
33
 
from guifiles import GLADEFILENAME
34
 
 
35
 
 
36
 
class OliveAdd:
37
 
    """ Display the Add file(s) dialog and perform the needed actions. """
38
 
    def __init__(self, wt, wtpath, selected=[]):
39
 
        """ Initialize the Add file(s) dialog. """
40
 
        self.glade = gtk.glade.XML(GLADEFILENAME, 'window_add', 'olive-gtk')
41
 
        
42
 
        self.window = self.glade.get_widget('window_add')
43
 
        
44
 
        # Dictionary for signal_autoconnect
45
 
        dic = { "on_button_add_add_clicked": self.add,
46
 
                "on_button_add_cancel_clicked": self.close }
47
 
        
48
 
        # Connect the signals to the handlers
49
 
        self.glade.signal_autoconnect(dic)
50
 
 
 
32
from bzrlib.plugins.gtk.errors import show_bzr_error
 
33
 
 
34
 
 
35
class AddDialog(gtk.Dialog):
 
36
    """ Dialog for adding selected file or recursively all unknown files/folders in branch """
 
37
    
 
38
    def __init__(self, wt, wtpath, selected, parent=None):
 
39
        """ Initialize the Add dialog. """
 
40
        gtk.Dialog.__init__(self, title="Olive - Add file(s)",
 
41
                                  parent=parent,
 
42
                                  flags=0,
 
43
                                  buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
 
44
        
 
45
        # Get arguments
51
46
        self.wt = wt
52
47
        self.wtpath = wtpath
53
48
        self.selected = selected
54
 
 
55
 
    def display(self):
56
 
        """ Display the Add file(s) dialog. """
57
 
        self.window.show_all()
58
 
        
59
 
    def add(self, widget):
60
 
        radio_selected = self.glade.get_widget('radiobutton_add_selected')
61
 
        radio_unknown = self.glade.get_widget('radiobutton_add_unknown')
62
 
        
63
 
        if radio_selected.get_active():
 
49
        
 
50
        # Create widgets
 
51
        self._label_add_question = gtk.Label(_i18n("Which file(s) do you want to add?"))
 
52
        self._radiobutton_add_selected = gtk.RadioButton(None,_i18n("Selected: %s"%self.selected))
 
53
        self._radiobutton_add_unknown = gtk.RadioButton(self._radiobutton_add_selected, 
 
54
                                                        _i18n("All unknowns recursively"))
 
55
        self._button_add = gtk.Button(stock=gtk.STOCK_ADD)        
 
56
        
 
57
        self._button_add.connect('clicked', self._on_add_clicked)
 
58
        
 
59
        # Add widgets to dialog window and decorate
 
60
        self.vbox.add(self._label_add_question)
 
61
        self.vbox.add(self._radiobutton_add_selected)
 
62
        self.vbox.add(self._radiobutton_add_unknown)
 
63
        self.vbox.set_spacing(3)
 
64
        self.action_area.pack_end(self._button_add)
 
65
        
 
66
        self.vbox.show_all()
 
67
        
 
68
    @show_bzr_error
 
69
    def _on_add_clicked(self, button):
 
70
        """ """
 
71
        if self._radiobutton_add_selected.get_active():
64
72
            # Add only the selected file
65
73
            filename = self.selected
66
74
            
69
77
                             _i18n('Please select a file from the list,\nor choose the other option.'))
70
78
                return
71
79
            
72
 
            fullpath = self.wt.abspath(os.path.join(self.wtpath, filename))
73
 
            
74
80
            try:
75
 
                bzrlib.add.smart_add([fullpath])
 
81
                self.wt.add([filename])
76
82
            except errors.NotBranchError:
77
83
                error_dialog(_i18n('Directory is not a branch'),
78
84
                             _i18n('You can perform this action only in a branch.'))
79
85
                return
80
 
        elif radio_unknown.get_active():
 
86
        elif self._radiobutton_add_unknown.get_active():
81
87
            # Add unknown files recursively
82
 
            fullpath = self.wt.abspath(self.wtpath)
83
 
            
84
88
            try:
85
 
                bzrlib.add.smart_add([fullpath], True)
 
89
                self.wt.add(self.wt.unknowns())
86
90
            except errors.NotBranchError:
87
91
                error_dialog(_i18n('Directory is not a branch'),
88
92
                             _i18n('You can perform this action only in a branch.'))
89
93
                return
90
94
        
91
 
        self.close()
92
 
    
93
 
    def close(self, widget=None):
94
 
        self.window.destroy()
 
95
        self.response(gtk.RESPONSE_OK)