/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/remove.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
 
 
35
 
class OliveRemove:
36
 
    """ Display the Remove file(s) dialog and perform the needed actions. """
37
 
    def __init__(self, wt, wtpath, selected=[]):
38
 
        """ Initialize the Remove file(s) dialog. """
39
 
        self.glade = gtk.glade.XML(GLADEFILENAME, 'window_remove')
40
 
        
41
 
        self.window = self.glade.get_widget('window_remove')
42
 
        
43
 
        # Dictionary for signal_autoconnect
44
 
        dic = { "on_button_remove_remove_clicked": self.remove,
45
 
                "on_button_remove_cancel_clicked": self.close }
46
 
        
47
 
        # Connect the signals to the handlers
48
 
        self.glade.signal_autoconnect(dic)
49
 
        
50
 
        self.wt = wt
51
 
        self.wtpath = wtpath
52
 
        self.selected = selected
53
 
 
54
 
    def display(self):
55
 
        """ Display the Remove file(s) dialog. """
56
 
        self.window.show_all()
57
 
        
58
 
    @show_bzr_error
59
 
    def remove(self, widget):
60
 
        radio_selected = self.glade.get_widget('radiobutton_remove_selected')
61
 
        radio_new = self.glade.get_widget('radiobutton_remove_new')
62
 
        
63
 
        if radio_selected.get_active():
64
 
            # Remove only the selected file
65
 
            filename = self.selected
66
 
            
67
 
            if filename is None:
68
 
                error_dialog(_i18n('No file was selected'),
69
 
                             _i18n('Please select a file from the list,\nor choose the other option.'))
70
 
                return
71
 
            
72
 
            fullpath = self.wt.abspath(os.path.join(self.wtpath, filename))
73
 
            
74
 
            self.wt.remove(fullpath)
75
 
        elif radio_new.get_active():
76
 
            # Remove added files recursively
77
 
            added = self.wt.changes_from(self.wt.basis_tree()).added
78
 
            file_list = sorted([f[0] for f in added], reverse=True)
79
 
            if len(file_list) == 0:
80
 
                warning_dialog(_i18n('No matching files'),
81
 
                               _i18n('No added files were found in the working tree.'))
82
 
                return
83
 
            self.wt.remove(file_list)
84
 
        
85
 
        self.close()
86
 
    
87
 
    def close(self, widget=None):
88
 
        self.window.destroy()
89
 
 
90
 
class OliveRemoveDialog(gtk.Dialog):
 
31
from bzrlib.plugins.gtk.errors import show_bzr_error
 
32
 
 
33
 
 
34
class RemoveDialog(gtk.Dialog):
91
35
    """ This class wraps the old Remove window into a gtk.Dialog. """
92
36
    
93
 
    def __init__(self, wt, wtpath, selected=[], parent=None):
 
37
    def __init__(self, wt, wtpath, selected='', parent=None):
94
38
        """ Initialize the Remove file(s) dialog. """
95
 
        gtk.Dialog.__init__(self, title="Remove files - Olive",
 
39
        gtk.Dialog.__init__(self, title="Olive - Remove files",
96
40
                                  parent=parent,
97
41
                                  flags=0,
98
42
                                  buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
104
48
        
105
49
        # Create widgets
106
50
        self._label = gtk.Label(_i18n("Which file(s) do you want to remove?"))
107
 
        self._radio_selected = gtk.RadioButton(None, _i18n("Selected only"), False)
 
51
        self._radio_selected = gtk.RadioButton(None, _i18n("Selected: %s"%self.selected), False)
108
52
        self._radio_added = gtk.RadioButton(self._radio_selected, _i18n("All files with status 'added'"), False)
109
 
        self._button_remove = gtk.Button(_i18n("_Remove"), use_underline=True)
 
53
        self._button_remove = gtk.Button(stock=gtk.STOCK_REMOVE)
110
54
        
111
55
        self._button_remove.connect('clicked', self._on_remove_clicked)
112
56
        
113
 
        self.vbox.pack_start(self._label)
114
 
        self.vbox.pack_end(self._radio_added)
115
 
        self.vbox.pack_end(self._radio_selected)
116
 
        
 
57
        self.vbox.add(self._label)
 
58
        self.vbox.add(self._radio_selected)
 
59
        self.vbox.add(self._radio_added)
 
60
        self.vbox.set_spacing(3)
117
61
        self.action_area.pack_end(self._button_remove)
118
62
        
119
 
        self.vbox.set_spacing(3)
120
63
        self.vbox.show_all()
121
64
        
122
65
    @show_bzr_error