21
21
pygtk.require("2.0")
30
import olive.backend.errors as errors
31
import olive.backend.fileops as fileops
29
import bzrlib.errors as errors
31
from olive import gladefile
34
34
""" Display the Add file(s) dialog and perform the needed actions. """
35
def __init__(self, gladefile, comm, dialog):
35
def __init__(self, wt, wtpath, selected=[]):
36
36
""" Initialize the Add file(s) dialog. """
37
self.gladefile = gladefile
38
self.glade = gtk.glade.XML(self.gladefile, 'window_add', 'olive-gtk')
40
# Communication object
37
self.glade = gtk.glade.XML(gladefile, 'window_add', 'olive-gtk')
45
39
self.window = self.glade.get_widget('window_add')
59
57
radio_selected = self.glade.get_widget('radiobutton_add_selected')
60
58
radio_unknown = self.glade.get_widget('radiobutton_add_unknown')
62
directory = self.comm.get_path()
64
self.comm.set_busy(self.window)
65
60
if radio_selected.get_active():
66
61
# Add only the selected file
67
filename = self.comm.get_selected_right()
62
filename = self.selected
69
64
if filename is None:
70
self.dialog.error_dialog(_('No file was selected'),
65
error_dialog(_('No file was selected'),
71
66
_('Please select a file from the list,\nor choose the other option.'))
72
self.comm.set_busy(self.window, False)
76
fileops.add([directory + '/' + filename])
70
bzrlib.add.smart_add([directory + '/' + filename])
77
71
except errors.NotBranchError:
78
self.dialog.error_dialog(_('Directory is not a branch'),
72
error_dialog(_('Directory is not a branch'),
79
73
_('You can perform this action only in a branch.'))
80
self.comm.set_busy(self.window, False)
84
75
elif radio_unknown.get_active():
85
76
# Add unknown files recursively
87
fileops.add([directory], True)
78
bzrlib.add.smart_add([directory], True)
88
79
except errors.NotBranchError:
89
self.dialog.error_dialog(_('Directory is not a branch'),
80
error_dialog(_('Directory is not a branch'),
90
81
_('You can perform this action only in a branch.'))
91
self.comm.set_busy(self.window, False)
96
# This should really never happen.
100
self.comm.refresh_right()
102
86
def close(self, widget=None):
103
87
self.window.destroy()