From 2e02265fb11493954028b920bfc3d0c16690d104 Mon Sep 17 00:00:00 2001 From: Eugene Gagarin Date: Mon, 18 May 2009 14:36:40 +0400 Subject: [PATCH] Added 'Copy to clipboard' button to files.out_table --- src/files/out_table.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/files/out_table.py b/src/files/out_table.py index 52b5b9b..6bd66eb 100755 --- a/src/files/out_table.py +++ b/src/files/out_table.py @@ -21,7 +21,7 @@ class Cli_Presentation(object): class Gtk_Presentation(object): def __init__(self, results): ### import gtk - global gtk # for save_results + global gtk # for save_results and copy_results import gobject self.filelist, self.start_path = results @@ -66,6 +66,7 @@ class Gtk_Presentation(object): #==================== toolbar = gtk.Toolbar() + toolbar.set_property('icon-size', 'small-toolbar') relpaths_tbtn = gtk.RadioToolButton(None) abspaths_tbtn = gtk.RadioToolButton(relpaths_tbtn) @@ -76,19 +77,22 @@ class Gtk_Presentation(object): relpaths_tbtn.connect('clicked', self._show_relpaths) abspaths_tbtn.connect('clicked', self._show_abspaths) - saveresults_tbtn = gtk.ToolButton() - saveresults_tbtn.set_label(_('Save results')) + saveresults_tbtn = gtk.ToolButton('gtk-save') saveresults_tbtn.connect('clicked', self.save_results) + copyresults_tbtn = gtk.ToolButton('gtk-copy') + copyresults_tbtn.connect('clicked', self.copy_results) + toolbar.insert(relpaths_tbtn, -1) toolbar.insert(abspaths_tbtn, -1) toolbar.insert(saveresults_tbtn, -1) + toolbar.insert(copyresults_tbtn, -1) #==================== # Others #==================== - vbox = gtk.VBox(False, 4) + vbox = gtk.VBox(False, 0) vbox.pack_start(swin, True, True, 0) vbox.pack_start(toolbar, False, False, 0) @@ -113,7 +117,7 @@ class Gtk_Presentation(object): size, bsize]) def save_results(self, btn): - # 'Save to file' dialog + """Show 'Save to file' dialog.""" dialog = gtk.FileChooserDialog(title='Save to...', action='save', buttons=(gtk.STOCK_OK, gtk.RESPONSE_OK, @@ -129,6 +133,18 @@ class Gtk_Presentation(object): outfile.close() dialog.destroy() + def copy_results(self, btn): + """Copy results to clipboard.""" + # Form list + filelist = '' + for bsize, path, size in self.filelist: + filelist += `bsize` + '\t' + abspath(path) + '\n' + + # Store in clipboard + cb = gtk.Clipboard() + cb.set_text(filelist) + cb.store() + #============================================================================== class Hildon_Presentation(object): -- 1.7.9.5