def copy_selection(self, cut=False):
(store, paths) = self.view.get_selection().get_selected_rows()
maybe_cut = []
selection = []
for path in paths:
iter = store.get_iter(path)
mem = self._get_memory(iter)
selection.append(mem.dupe())
maybe_cut.append((iter, mem))
if cut:
for iter, mem in maybe_cut:
mem.empty = True
job = common.RadioJob(self._set_memory_cb,
"erase_memory", mem.number)
job.set_desc(
_("Cutting memory {number}").format(number=mem.number))
self.rthread.submit(job)
self._set_memory(iter, mem)
result = pickle.dumps((self._features, selection))
clipboard = gtk.Clipboard(selection="CLIPBOARD")
clipboard.set_text(result)
clipboard.store()
return cut # Only changed if we did a cut
评论列表
文章目录