113
115
self.toolbar_diff = self.ui.get_widget('/toolbar_diff')
116
commit_menu = self.ui.get_widget('/context_right/commit')
117
commit_image = self.comm.menuitem_branch_commit.get_image()
118
commit_pixbuf = commit_image.get_pixbuf()
119
commit_icon = gtk.Image()
120
commit_icon.set_from_pixbuf(commit_pixbuf)
121
commit_menu.set_image(commit_icon)
122
diff_menu = self.ui.get_widget('/context_right/diff')
123
diff_image = self.comm.menuitem_stats_diff.get_image()
124
diff_pixbuf = diff_image.get_pixbuf()
125
diff_icon = gtk.Image()
126
diff_icon.set_from_pixbuf(diff_pixbuf)
127
diff_menu.set_image(diff_icon)
118
# TODO: do it without using deprecated comm
119
#commit_menu = self.ui.get_widget('/context_right/commit')
120
#commit_image = self.comm.menuitem_branch_commit.get_image()
121
#commit_pixbuf = commit_image.get_pixbuf()
122
#commit_icon = gtk.Image()
123
#commit_icon.set_from_pixbuf(commit_pixbuf)
124
#commit_menu.set_image(commit_icon)
125
#diff_menu = self.ui.get_widget('/context_right/diff')
126
#diff_image = self.comm.menuitem_stats_diff.get_image()
127
#diff_pixbuf = diff_image.get_pixbuf()
128
#diff_icon = gtk.Image()
129
#diff_icon.set_from_pixbuf(diff_pixbuf)
130
#diff_menu.set_image(diff_icon)
129
132
def right_context_menu(self):
130
133
return self.cmenu_right
135
138
def add_file(self, action):
136
139
""" Right context menu -> Add """
137
142
# Add only the selected file
138
directory = self.comm.get_path()
139
filename = self.comm.get_selected_right()
143
directory = self.path
144
filename = self.selected
141
146
if filename is None:
142
self.dialog.error_dialog(_('No file was selected'),
143
_('Please select a file from the list,\nor choose the other option.'))
147
error_dialog(_('No file was selected'),
148
_('Please select a file from the list,\nor choose the other option.'))
147
fileops.add([directory + '/' + filename])
152
bzrlib.add.smart_add([directory + '/' + filename])
148
153
except errors.NotBranchError:
149
self.dialog.error_dialog(_('Directory is not a branch'),
150
_('You can perform this action only in a branch.'))
154
error_dialog(_('Directory is not a branch'),
155
_('You can perform this action only in a branch.'))
155
self.comm.refresh_right()
157
158
def remove_file(self, action):
158
159
""" Right context menu -> Remove """
159
160
# Remove only the selected file
160
directory = self.comm.get_path()
161
filename = self.comm.get_selected_right()
161
directory = self.path
162
filename = self.selected
163
164
if filename is None:
164
self.dialog.error_dialog(_('No file was selected'),
165
_('Please select a file from the list,\nor choose the other option.'))
165
error_dialog(_('No file was selected'),
166
_('Please select a file from the list,\nor choose the other option.'))
169
fileops.remove([directory + '/' + filename])
170
wt, path = WorkingTree.open_containing(directory + os.sep + filename)
170
173
except errors.NotBranchError:
171
self.dialog.error_dialog(_('Directory is not a branch'),
172
_('You can perform this action only in a branch.'))
174
error_dialog(_('Directory is not a branch'),
175
_('You can perform this action only in a branch.'))
174
177
except errors.NotVersionedError:
175
self.dialog.error_dialog(_('File not versioned'),
176
_('The selected file is not versioned.'))
178
error_dialog(_('File not versioned'),
179
_('The selected file is not versioned.'))
181
self.comm.refresh_right()
183
182
def open_file(self, action):
184
183
""" Right context menu -> Open """
185
184
# Open only the selected file
186
filename = self.comm.get_selected_right()
185
filename = self.selected
188
187
if filename is None:
189
self.dialog.error_dialog(_('No file was selected'),
190
_('Please select a file from the list,\nor choose the other option.'))
188
error_dialog(_('No file was selected'),
189
_('Please select a file from the list,\nor choose the other option.'))
193
192
if filename == '..':
194
self.comm.set_path(os.path.split(self.comm.get_path())[0])
193
# TODO: how to enter a directory?
196
fullpath = self.comm.get_path() + os.sep + filename
196
fullpath = self.path + os.sep + filename
197
197
if os.path.isdir(fullpath):
198
198
# selected item is an existant directory
199
self.comm.set_path(fullpath)
199
# TODO: how to enter a directory?
203
self.comm.refresh_right()
205
204
def commit(self, action):
206
205
""" Right context menu -> Commit """
207
from commit import OliveCommit
208
commit = OliveCommit(self.gladefile, self.comm, self.dialog)
206
from commit import CommitDialog
207
wt, path = WorkingTree.open_containing(self.path)
208
commit = CommitDialog(wt, path)
211
211
def diff(self, action):
212
212
""" Right context menu -> Diff """
213
from diff import OliveDiff
214
diff = OliveDiff(self.gladefile, self.comm, self.dialog)
213
from bzrlib.plugins.gtk.viz.diffwin import DiffWindow
216
wt = WorkingTree.open_containing(self.path)[0]
217
except errors.NotBranchError:
218
error_dialog(_('File is not in a branch'),
219
_('The selected file is not in a branch.'))
222
window = DiffWindow()
223
parent_tree = wt.branch.repository.revision_tree(wt.branch.last_revision())
224
window.set_diff(wt.branch.nick, wt, parent_tree)
217
227
def bookmark(self, action):
218
228
""" Right context menu -> Bookmark """
219
if self.comm.pref.add_bookmark(self.comm.get_path()):
220
self.dialog.info_dialog(_('Bookmark successfully added'),
221
_('The current directory was bookmarked. You can reach\nit by selecting it from the left panel.'))
229
if self.pref.add_bookmark(self.path):
230
info_dialog(_('Bookmark successfully added'),
231
_('The current directory was bookmarked. You can reach\nit by selecting it from the left panel.'))
223
self.dialog.warning_dialog(_('Location already bookmarked'),
224
_('The current directory is already bookmarked.\nSee the left panel for reference.'))
226
self.comm.refresh_left()
234
warning_dialog(_('Location already bookmarked'),
235
_('The current directory is already bookmarked.\nSee the left panel for reference.'))
228
237
def edit_bookmark(self, action):
229
238
""" Left context menu -> Edit """
230
239
from bookmark import OliveBookmark
232
if self.comm.get_selected_left() != None:
233
bookmark = OliveBookmark(self.gladefile, self.comm, self.dialog)
241
if self.selected != None:
242
bookmark = OliveBookmark(self.selected)
234
243
bookmark.display()
236
245
def remove_bookmark(self, action):
237
246
""" Left context menu -> Remove """
239
if self.comm.get_selected_left() != None:
240
self.comm.pref.remove_bookmark(self.comm.get_selected_left())
248
if self.selected != None:
249
self.pref.remove_bookmark(self.comm.get_selected_left())
241
250
self.comm.refresh_left()
243
252
def open_folder(self, action):
244
253
""" Left context menu -> Open Folder """
245
path = self.comm.get_selected_left()