/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/rename.py

  • Committer: Jelmer Vernooij
  • Date: 2008-06-27 16:55:09 UTC
  • mto: This revision was merged to the branch mainline in revision 506.
  • Revision ID: jelmer@samba.org-20080627165509-7b68w2chzvvgc8vz
Use helper script to open patches.

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
from bzrlib.workingtree import WorkingTree
29
30
 
 
31
from errors import show_bzr_error
 
32
from bzrlib.plugins.gtk.dialog import error_dialog
 
33
from guifiles import GLADEFILENAME
30
34
from bzrlib.plugins.gtk import _i18n
31
 
from bzrlib.plugins.gtk.dialog import error_dialog
32
 
from bzrlib.plugins.gtk.errors import show_bzr_error
33
 
 
34
 
 
35
 
class RenameDialog(gtk.Dialog):
 
35
 
 
36
 
 
37
class OliveRename:
36
38
    """ Display the Rename dialog and perform the needed actions. """
37
 
    
38
 
    def __init__(self, wt, wtpath, selected=None, parent=None):
39
 
        """ Initialize the Rename file dialog. """
40
 
        gtk.Dialog.__init__(self, title="Olive - Rename files",
41
 
                                  parent=parent,
42
 
                                  flags=0,
43
 
                                  buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
44
 
        
45
 
        # Get arguments
 
39
    def __init__(self, wt, wtpath, selected=[]):
 
40
        """ Initialize the Rename dialog. """
 
41
        self.glade = gtk.glade.XML(GLADEFILENAME, 'window_rename')
 
42
        
 
43
        self.window = self.glade.get_widget('window_rename')
 
44
        self.entry = self.glade.get_widget('entry_rename')
 
45
        
 
46
        # Dictionary for signal_autoconnect
 
47
        dic = { "on_button_rename_rename_clicked": self.rename,
 
48
                "on_button_rename_cancel_clicked": self.close }
 
49
        
 
50
        # Connect the signals to the handlers
 
51
        self.glade.signal_autoconnect(dic)
 
52
        
46
53
        self.wt = wt
47
54
        self.wtpath = wtpath
48
55
        self.selected = selected
49
56
        
50
 
        # Create widgets
51
 
        self._hbox = gtk.HBox()
52
 
        self._label_rename_to = gtk.Label(_i18n("Rename to"))
53
 
        self._entry = gtk.Entry()
54
 
        self._button_rename = gtk.Button(_i18n("_Rename"))
55
 
        self._button_rename_icon = gtk.Image()
56
 
        self._button_rename_icon.set_from_stock(gtk.STOCK_APPLY, gtk.ICON_SIZE_BUTTON)
57
 
        self._button_rename.set_image(self._button_rename_icon)
58
 
        
59
 
        self._entry.connect('activate', self._on_rename_clicked)
60
 
        self._button_rename.connect('clicked', self._on_rename_clicked)
61
 
        
62
 
        # Set text
 
57
    def display(self):
 
58
        """ Display the Rename dialog. """
63
59
        if self.selected is not None:
64
 
            self._entry.set_text(self.selected)
65
 
        
66
 
        # Add widgets to dialog
67
 
        self.vbox.add(self._hbox)
68
 
        self._hbox.add(self._label_rename_to)
69
 
        self._hbox.add(self._entry)
70
 
        self._hbox.set_spacing(5)
71
 
        self.action_area.pack_end(self._button_rename)
72
 
        
73
 
        self.vbox.show_all()
74
 
        
 
60
            self.entry.set_text(self.selected)
 
61
        
 
62
        self.window.show_all()
 
63
 
75
64
    @show_bzr_error
76
 
    def _on_rename_clicked(self, widget):
 
65
    def rename(self, widget):
77
66
        # Get entry
78
67
        old_filename = self.selected
79
 
        new_filename = self._entry.get_text()
 
68
        new_filename = self.entry.get_text()
80
69
            
81
70
        if old_filename is None:
82
71
            error_dialog(_i18n('No file was selected'),
100
89
                         _i18n('The destination is not in the same branch.'))
101
90
            return
102
91
        wt1.rename_one(source, destination)
103
 
        
104
 
        self.response(gtk.RESPONSE_OK)
 
92
        self.close()
 
93
    
 
94
    def close(self, widget=None):
 
95
        self.window.destroy()