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

  • Committer: Jasper Groenewegen
  • Date: 2008-07-27 11:37:31 UTC
  • mto: (577.1.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 579.
  • Revision ID: colbrac@xs4all.nl-20080727113731-p2krsw6o3m57ctu6
Add PointlessMerge error
Merge dialog title change
Merge dialog icon
Tweak logic

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
import os
18
 
from os.path import dirname
19
18
 
20
19
try:
21
20
    import pygtk
24
23
    pass
25
24
 
26
25
import gtk
27
 
import gtk.glade
28
26
 
29
27
import bzrlib.errors as errors
30
28
from bzrlib.workingtree import WorkingTree
31
29
 
32
30
from bzrlib.plugins.gtk import _i18n
33
31
from bzrlib.plugins.gtk.dialog import error_dialog
34
 
from errors import show_bzr_error
35
 
from guifiles import GLADEFILENAME
36
 
 
37
 
 
38
 
class OliveMove:
 
32
from bzrlib.plugins.gtk.errors import show_bzr_error
 
33
 
 
34
 
 
35
class MoveDialog(gtk.Dialog):
39
36
    """ Display the Move dialog and perform the needed actions. """
40
 
    def __init__(self, wt, wtpath, selected=[]):
 
37
    
 
38
    def __init__(self, wt, wtpath, selected, parent=None):
41
39
        """ Initialize the Move dialog. """
42
 
        self.glade = gtk.glade.XML(GLADEFILENAME, 'window_move', 'olive-gtk')
43
 
        
44
 
        self.window = self.glade.get_widget('window_move')
45
 
        
46
 
        # Dictionary for signal_autoconnect
47
 
        dic = { "on_button_move_move_clicked": self.move,
48
 
                "on_button_move_cancel_clicked": self.close }
49
 
        
50
 
        # Connect the signals to the handlers
51
 
        self.glade.signal_autoconnect(dic)
52
 
        
 
40
        gtk.Dialog.__init__(self, title="Olive - Move",
 
41
                                  parent=parent,
 
42
                                  flags=0,
 
43
                                  buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
 
44
        
 
45
        # Get arguments
53
46
        self.wt = wt
54
47
        self.wtpath = wtpath
55
48
        self.selected = selected
58
51
            self.selected = ""
59
52
        
60
53
        if self.wtpath == "":
61
 
            directory = dirname(self.wt.abspath(self.selected))
 
54
            directory = os.path.dirname(self.wt.abspath(self.selected))
62
55
        else:
63
 
            directory = dirname(self.wt.abspath(self.wtpath + os.sep + self.selected))
64
 
        
65
 
        # Set FileChooser directory
66
 
        self.filechooser = self.glade.get_widget('filechooserbutton_move')
67
 
        self.filechooser.set_filename(directory)
68
 
 
69
 
    def display(self):
70
 
        """ Display the Move dialog. """
71
 
        self.window.show_all()
 
56
            directory = os.path.dirname(self.wt.abspath(self.wtpath + os.sep + self.selected))
 
57
        
 
58
        # Create widgets
 
59
        self._hbox = gtk.HBox()
 
60
        self._label_move_to = gtk.Label(_i18n("Move to"))
 
61
        self._filechooser_dialog = gtk.FileChooserDialog(title="Please select a folder",
 
62
                                    parent=self.window,
 
63
                                    action=gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
 
64
                                    buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
 
65
                                             gtk.STOCK_OPEN, gtk.RESPONSE_OK))
 
66
        self._filechooser_dialog.set_default_response(gtk.RESPONSE_OK)
 
67
        self.filechooser = gtk.FileChooserButton(self._filechooser_dialog)
 
68
        self._button_move = gtk.Button(_i18n("_Move"))
 
69
        self._button_move_icon = gtk.Image()
 
70
        self._button_move_icon.set_from_stock(gtk.STOCK_APPLY, gtk.ICON_SIZE_BUTTON)
 
71
        self._button_move.set_image(self._button_move_icon)
 
72
        
 
73
        self._button_move.connect('clicked', self._on_move_clicked)
 
74
        
 
75
        # Set location
 
76
        self._filechooser_dialog.set_current_folder(directory)
 
77
        
 
78
        # Add widgets to dialog
 
79
        self.vbox.add(self._hbox)
 
80
        self._hbox.add(self._label_move_to)
 
81
        self._hbox.add(self.filechooser)
 
82
        self._hbox.set_spacing(5)
 
83
        self.action_area.pack_end(self._button_move)
 
84
        
 
85
        self.vbox.show_all()
72
86
 
73
87
    @show_bzr_error
74
 
    def move(self, widget):
 
88
    def _on_move_clicked(self, widget):
75
89
        destination = self.filechooser.get_filename()
76
 
 
 
90
        
 
91
        if destination == None:
 
92
            error_dialog(_i18n('No folder was selected'),
 
93
                         _i18n('Please select a folder to move the selected file to'))
 
94
            return
 
95
        
77
96
        filename = self.selected
78
97
            
79
98
        if filename is None:
92
111
            return
93
112
 
94
113
        wt1.move([source], wt1.relpath(destination))
95
 
        self.close()
96
 
    
97
 
    def close(self, widget=None):
98
 
        self.window.destroy()
 
114
        
 
115
        self.response(gtk.RESPONSE_OK)