gget r20 - in trunk: data gget
- From: johans svn gnome org
- To: svn-commits-list gnome org
- Subject: gget r20 - in trunk: data gget
- Date: Mon, 30 Jun 2008 09:31:12 +0000 (UTC)
Author: johans
Date: Mon Jun 30 09:31:12 2008
New Revision: 20
URL: http://svn.gnome.org/viewvc/gget?rev=20&view=rev
Log:
Made which columns to show in the main window configurable.
Modified:
trunk/data/gget.glade
trunk/data/gget.schemas.in
trunk/gget/Configuration.py
trunk/gget/Download.py
trunk/gget/MainWindow.py
Modified: trunk/data/gget.glade
==============================================================================
--- trunk/data/gget.glade (original)
+++ trunk/data/gget.glade Mon Jun 30 09:31:12 2008
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Fri Jun 27 01:23:25 2008 -->
+<!--Generated with glade3 3.4.5 on Mon Jun 30 11:04:22 2008 -->
<glade-interface>
<widget class="GtkWindow" id="main_window">
<property name="width_request">800</property>
@@ -91,6 +91,60 @@
<property name="active">True</property>
</widget>
</child>
+ <child>
+ <widget class="GtkMenuItem" id="menuitem5">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Columns</property>
+ <property name="use_underline">True</property>
+ <child>
+ <widget class="GtkMenu" id="menu5">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkCheckMenuItem" id="show_status_menu_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Status</property>
+ <property name="use_underline">True</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkCheckMenuItem" id="show_current_size_menu_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Current size</property>
+ <property name="use_underline">True</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkCheckMenuItem" id="show_total_size_menu_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Total size</property>
+ <property name="use_underline">True</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkCheckMenuItem" id="show_progress_menu_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Progress</property>
+ <property name="use_underline">True</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkCheckMenuItem" id="show_speed_menu_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Speed</property>
+ <property name="use_underline">True</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkCheckMenuItem" id="show_eta_menu_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">ETA</property>
+ <property name="use_underline">True</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
</widget>
</child>
</widget>
@@ -252,25 +306,16 @@
<property name="column_spacing">12</property>
<property name="row_spacing">6</property>
<child>
- <widget class="GtkLabel" id="label3">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">_URL:</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">url_entry</property>
- </widget>
- <packing>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkEntry" id="url_entry">
+ <widget class="GtkFileChooserButton" id="download_filechooserbutton">
<property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
+ <property name="title" translatable="yes">Select download folder</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
</packing>
</child>
<child>
@@ -288,16 +333,25 @@
</packing>
</child>
<child>
- <widget class="GtkFileChooserButton" id="download_filechooserbutton">
+ <widget class="GtkEntry" id="url_entry">
<property name="visible">True</property>
- <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
- <property name="title" translatable="yes">Select download folder</property>
+ <property name="can_focus">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes">_URL:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">url_entry</property>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
</packing>
</child>
</widget>
Modified: trunk/data/gget.schemas.in
==============================================================================
--- trunk/data/gget.schemas.in (original)
+++ trunk/data/gget.schemas.in Mon Jun 30 09:31:12 2008
@@ -195,5 +195,89 @@
</long>
</locale>
</schema>
+ <schema>
+ <key>/schemas/apps/gget/general/show_status</key>
+ <applyto>/apps/gget/general/show_status</applyto>
+ <owner>gget</owner>
+ <type>bool</type>
+ <default>true</default>
+ <locale name="C">
+ <short>Show status</short>
+ <long>
+ Whether GGet should display a status column for downloads
+ in the main window.
+ </long>
+ </locale>
+ </schema>
+ <schema>
+ <key>/schemas/apps/gget/general/show_current_size</key>
+ <applyto>/apps/gget/general/show_current_size</applyto>
+ <owner>gget</owner>
+ <type>bool</type>
+ <default>true</default>
+ <locale name="C">
+ <short>Show current size</short>
+ <long>
+ Whether GGet should display a current size column for
+ downloads in the main window.
+ </long>
+ </locale>
+ </schema>
+ <schema>
+ <key>/schemas/apps/gget/general/show_total_size</key>
+ <applyto>/apps/gget/general/show_total_size</applyto>
+ <owner>gget</owner>
+ <type>bool</type>
+ <default>true</default>
+ <locale name="C">
+ <short>Show total size</short>
+ <long>
+ Whether GGet should display a total size column for
+ downloads in the main window.
+ </long>
+ </locale>
+ </schema>
+ <schema>
+ <key>/schemas/apps/gget/general/show_progress</key>
+ <applyto>/apps/gget/general/show_progress</applyto>
+ <owner>gget</owner>
+ <type>bool</type>
+ <default>true</default>
+ <locale name="C">
+ <short>Show progress</short>
+ <long>
+ Whether GGet should display a progress column for
+ downloads in the main window.
+ </long>
+ </locale>
+ </schema>
+ <schema>
+ <key>/schemas/apps/gget/general/show_speed</key>
+ <applyto>/apps/gget/general/show_speed</applyto>
+ <owner>gget</owner>
+ <type>bool</type>
+ <default>true</default>
+ <locale name="C">
+ <short>Show speed</short>
+ <long>
+ Whether GGet should display a speed column for
+ downloads in the main window.
+ </long>
+ </locale>
+ </schema>
+ <schema>
+ <key>/schemas/apps/gget/general/show_eta</key>
+ <applyto>/apps/gget/general/show_eta</applyto>
+ <owner>gget</owner>
+ <type>bool</type>
+ <default>true</default>
+ <locale name="C">
+ <short>Show ETA</short>
+ <long>
+ Whether GGet should display a ETA (Estimated Time of
+ Arrival) column for downloads in the main window.
+ </long>
+ </locale>
+ </schema>
</schemalist>
</gconfschemafile>
Modified: trunk/gget/Configuration.py
==============================================================================
--- trunk/gget/Configuration.py (original)
+++ trunk/gget/Configuration.py Mon Jun 30 09:31:12 2008
@@ -44,6 +44,12 @@
KEY_WINDOW_HEIGHT = "/general/window_height"
KEY_WINDOW_POSITION_X = "/general/window_position_x"
KEY_WINDOW_POSITION_Y = "/general/window_position_y"
+KEY_SHOW_STATUS = "/general/show_status"
+KEY_SHOW_CURRENT_SIZE = "/general/show_current_size"
+KEY_SHOW_TOTAL_SIZE = "/general/show_total_size"
+KEY_SHOW_PROGRESS = "/general/show_progress"
+KEY_SHOW_SPEED = "/general/show_speed"
+KEY_SHOW_ETA = "/general/show_eta"
KEY_TOOLBAR_STYLE = "/interface/toolbar_style"
@@ -62,7 +68,13 @@
KEY_WINDOW_HEIGHT: 'int',
KEY_WINDOW_POSITION_X: 'int',
KEY_WINDOW_POSITION_Y: 'int',
- KEY_TOOLBAR_STYLE: 'string'
+ KEY_TOOLBAR_STYLE: 'string',
+ KEY_SHOW_STATUS: 'bool',
+ KEY_SHOW_CURRENT_SIZE: 'bool',
+ KEY_SHOW_TOTAL_SIZE: 'bool',
+ KEY_SHOW_PROGRESS: 'bool',
+ KEY_SHOW_SPEED: 'bool',
+ KEY_SHOW_ETA: 'bool'
}
class Configuration(object):
@@ -316,4 +328,76 @@
toolbar_style = property(get_toolbar_style, set_toolbar_style)
+ # Show status
+ def get_show_status(self, use_cache=True):
+ if use_cache:
+ return self.option_cache[KEY_SHOW_STATUS]
+ else:
+ return self.__get_option(KEY_SHOW_STATUS)
+
+ def set_show_status(self, show_status):
+ self.__set_option(KEY_SHOW_STATUS, show_status)
+
+ show_status = property(get_show_status, set_show_status)
+
+ # Show current size
+ def get_show_current_size(self, use_cache=True):
+ if use_cache:
+ return self.option_cache[KEY_SHOW_CURRENT_SIZE]
+ else:
+ return self.__get_option(KEY_SHOW_CURRENT_SIZE)
+
+ def set_show_current_size(self, show_current_size):
+ self.__set_option(KEY_SHOW_CURRENT_SIZE, show_current_size)
+
+ show_current_size = property(get_show_current_size, set_show_current_size)
+
+ # Show total size
+ def get_show_total_size(self, use_cache=True):
+ if use_cache:
+ return self.option_cache[KEY_SHOW_TOTAL_SIZE]
+ else:
+ return self.__get_option(KEY_SHOW_TOTAL_SIZE)
+
+ def set_show_total_size(self, show_total_size):
+ self.__set_option(KEY_SHOW_TOTAL_SIZE, show_total_size)
+
+ show_total_size = property(get_show_total_size, set_show_total_size)
+
+ # Show progress
+ def get_show_progress(self, use_cache=True):
+ if use_cache:
+ return self.option_cache[KEY_SHOW_PROGRESS]
+ else:
+ return self.__get_option(KEY_SHOW_PROGRESS)
+
+ def set_show_progress(self, show_progress):
+ self.__set_option(KEY_SHOW_PROGRESS, show_progress)
+
+ show_progress = property(get_show_progress, set_show_progress)
+
+ # Show speed
+ def get_show_speed(self, use_cache=True):
+ if use_cache:
+ return self.option_cache[KEY_SHOW_SPEED]
+ else:
+ return self.__get_option(KEY_SHOW_SPEED)
+
+ def set_show_speed(self, show_speed):
+ self.__set_option(KEY_SHOW_SPEED, show_speed)
+
+ show_speed = property(get_show_speed, set_show_speed)
+
+ # Show eta
+ def get_show_eta(self, use_cache=True):
+ if use_cache:
+ return self.option_cache[KEY_SHOW_ETA]
+ else:
+ return self.__get_option(KEY_SHOW_ETA)
+
+ def set_show_eta(self, show_eta):
+ self.__set_option(KEY_SHOW_ETA, show_eta)
+
+ show_eta = property(get_show_eta, set_show_eta)
+
# vim: set sw=4 et sts=4 tw=79 fo+=l:
Modified: trunk/gget/Download.py
==============================================================================
--- trunk/gget/Download.py (original)
+++ trunk/gget/Download.py Mon Jun 30 09:31:12 2008
@@ -48,7 +48,7 @@
self.file_name = os.path.basename(self.url)
self.file = os.path.join(path, self.file_name)
- self.size = 0
+ self.total_size = 0
self.block_count = 0
self.block_size = 0
self.percent_complete = 0
@@ -72,7 +72,7 @@
Utils.debug_print("Download.update called with block_count: %s block_size: %s total_size: %s" % (block_count, block_size, total_size))
self.block_count = block_count
self.block_size = block_size
- self.size = total_size
+ self.total_size = total_size
current_bytes = float(block_count * block_size) / 1024 / 1024
total_bytes = float(total_size) / 1024 / 1024
Modified: trunk/gget/MainWindow.py
==============================================================================
--- trunk/gget/MainWindow.py (original)
+++ trunk/gget/MainWindow.py Mon Jun 30 09:31:12 2008
@@ -71,10 +71,24 @@
self.show_statusbar_menu_item.set_active(self.config.show_statusbar)
self.toolbar.props.visible = self.config.show_toolbar
- self.statusbar.props.visible = self.config.show_statusbar
-
self.__set_toolbar_style(self.config.toolbar_style)
+ self.show_status_menu_item.set_active(self.config.show_status)
+ self.show_current_size_menu_item.set_active(self.config.show_current_size)
+ self.show_total_size_menu_item.set_active(self.config.show_total_size)
+ self.show_progress_menu_item.set_active(self.config.show_progress)
+ self.show_speed_menu_item.set_active(self.config.show_speed)
+ self.show_eta_menu_item.set_active(self.config.show_eta)
+
+ self.status_treeview_column.props.visible = self.config.show_status
+ self.size_treeview_column.props.visible = self.config.show_current_size
+ self.total_size_treeview_column.props.visible = self.config.show_total_size
+ self.progress_treeview_column.props.visible = self.config.show_progress
+ self.speed_treeview_column.props.visible = self.config.show_speed
+ self.eta_treeview_column.props.visible = self.config.show_eta
+
+ self.statusbar.props.visible = self.config.show_statusbar
+
def __get_widgets(self):
"""Get widgets from the glade file."""
xml = gtk.glade.XML(GUI.glade_file, domain=NAME.lower())
@@ -91,6 +105,12 @@
# Show menu
self.show_toolbar_menu_item = xml.get_widget("show_toolbar_menu_item")
self.show_statusbar_menu_item = xml.get_widget("show_statusbar_menu_item")
+ self.show_status_menu_item = xml.get_widget("show_status_menu_item")
+ self.show_current_size_menu_item = xml.get_widget("show_current_size_menu_item")
+ self.show_total_size_menu_item = xml.get_widget("show_total_size_menu_item")
+ self.show_progress_menu_item = xml.get_widget("show_progress_menu_item")
+ self.show_speed_menu_item = xml.get_widget("show_speed_menu_item")
+ self.show_eta_menu_item = xml.get_widget("show_eta_menu_item")
# Help menu
self.about_menu_item = xml.get_widget("about_menu_item")
@@ -111,73 +131,69 @@
self.downloads_model = gtk.ListStore(object)
self.downloads_treeview.set_model(self.downloads_model)
+ cell_renderer_pixbuf = gtk.CellRendererPixbuf()
+ cell_renderer_pixbuf.props.xpad = 3
+ cell_renderer_pixbuf.props.ypad = 3
+
+ cell_renderer_text = gtk.CellRendererText()
+ cell_renderer_text.props.xpad = 3
+ cell_renderer_text.props.ypad = 3
+
+ cell_renderer_progress = gtk.CellRendererProgress()
+ cell_renderer_progress.props.xpad = 3
+ cell_renderer_progress.props.ypad = 3
+
# Name column
- image_cell_renderer = gtk.CellRendererPixbuf()
- image_cell_renderer.props.xpad = 3
- image_cell_renderer.props.ypad = 3
-
- name_cell_renderer = gtk.CellRendererText()
- name_cell_renderer.props.xpad = 3
- name_cell_renderer.props.ypad = 3
-
- name_treeview_column = gtk.TreeViewColumn(_("Name"))
- name_treeview_column.pack_start(image_cell_renderer)
- name_treeview_column.set_cell_data_func(image_cell_renderer,
+ self.name_treeview_column = gtk.TreeViewColumn(_("Name"))
+ self.name_treeview_column.pack_start(cell_renderer_pixbuf)
+ self.name_treeview_column.set_cell_data_func(cell_renderer_pixbuf,
self.__image_cell_data_func)
- name_treeview_column.pack_start(name_cell_renderer)
- name_treeview_column.set_cell_data_func(name_cell_renderer,
+ self.name_treeview_column.pack_start(cell_renderer_text)
+ self.name_treeview_column.set_cell_data_func(cell_renderer_text,
self.__name_cell_data_func)
- self.downloads_treeview.append_column(name_treeview_column)
+ self.downloads_treeview.append_column(self.name_treeview_column)
# Status column
- status_cell_renderer = gtk.CellRendererText()
- status_cell_renderer.props.xpad = 3
- status_cell_renderer.props.ypad = 3
- status_treeview_column = gtk.TreeViewColumn(_("Status"),
- status_cell_renderer)
- status_treeview_column.set_cell_data_func(status_cell_renderer,
+ self.status_treeview_column = gtk.TreeViewColumn(_("Status"),
+ cell_renderer_text)
+ self.status_treeview_column.set_cell_data_func(cell_renderer_text,
self.__status_cell_data_func)
- self.downloads_treeview.append_column(status_treeview_column)
+ self.downloads_treeview.append_column(self.status_treeview_column)
- # Size column
- size_cell_renderer = gtk.CellRendererText()
- size_cell_renderer.props.xpad = 3
- size_cell_renderer.props.ypad = 3
- size_treeview_column = gtk.TreeViewColumn(_("Size"),
- size_cell_renderer)
- size_treeview_column.set_cell_data_func(size_cell_renderer,
+ # Current size column
+ self.size_treeview_column = gtk.TreeViewColumn(_("Current size"),
+ cell_renderer_text)
+ self.size_treeview_column.set_cell_data_func(cell_renderer_text,
self.__size_cell_data_func)
- self.downloads_treeview.append_column(size_treeview_column)
+ self.downloads_treeview.append_column(self.size_treeview_column)
+
+ # Total size column
+ self.total_size_treeview_column = gtk.TreeViewColumn(_("Total size"),
+ cell_renderer_text)
+ self.total_size_treeview_column.set_cell_data_func(cell_renderer_text,
+ self.__total_size_cell_data_func)
+ self.downloads_treeview.append_column(self.total_size_treeview_column)
# Progress column
- progress_cell_renderer = gtk.CellRendererProgress()
- progress_cell_renderer.props.xpad = 3
- progress_cell_renderer.props.ypad = 3
- progress_treeview_column = gtk.TreeViewColumn(_("Progress"),
- progress_cell_renderer)
- progress_treeview_column.set_cell_data_func(progress_cell_renderer,
+ self.progress_treeview_column = gtk.TreeViewColumn(_("Progress"),
+ cell_renderer_progress)
+ self.progress_treeview_column.set_cell_data_func(cell_renderer_progress,
self.__progress_cell_data_func)
- self.downloads_treeview.append_column(progress_treeview_column)
+ self.downloads_treeview.append_column(self.progress_treeview_column)
# Speed column
- speed_cell_renderer = gtk.CellRendererText()
- speed_cell_renderer.props.xpad = 3
- speed_cell_renderer.props.ypad = 3
- speed_treeview_column = gtk.TreeViewColumn(_("Speed"),
- speed_cell_renderer)
- speed_treeview_column.set_cell_data_func(speed_cell_renderer,
+ self.speed_treeview_column = gtk.TreeViewColumn(_("Speed"),
+ cell_renderer_text)
+ self.speed_treeview_column.set_cell_data_func(cell_renderer_text,
self.__speed_cell_data_func)
- self.downloads_treeview.append_column(speed_treeview_column)
+ self.downloads_treeview.append_column(self.speed_treeview_column)
# ETA column
- eta_cell_renderer = gtk.CellRendererText()
- eta_cell_renderer.props.xpad = 3
- eta_cell_renderer.props.ypad = 3
- eta_treeview_column = gtk.TreeViewColumn(_("ETA"),
- eta_cell_renderer)
- eta_treeview_column.set_cell_data_func(eta_cell_renderer,
+ self.eta_treeview_column = gtk.TreeViewColumn(_("ETA"),
+ cell_renderer_text)
+ self.eta_treeview_column.set_cell_data_func(cell_renderer_text,
self.__eta_cell_data_func)
- self.downloads_treeview.append_column(eta_treeview_column)
+ self.downloads_treeview.append_column(self.eta_treeview_column)
# Context menu
self.downloads_treeview_menu = gtk.Menu()
@@ -214,13 +230,17 @@
def __size_cell_data_func(self, column, cell, model, iter):
"""Data function for the file size of downloads."""
download = model.get_value(iter, 0)
- cell.props.text = Utils.get_readable_size(download.size)
+ cell.props.text = Utils.get_readable_size(float(download.block_count * download.block_size))
+
+ def __total_size_cell_data_func(self, column, cell, model, iter):
+ """Data function for the file size of downloads."""
+ download = model.get_value(iter, 0)
+ cell.props.text = Utils.get_readable_size(download.total_size)
def __progress_cell_data_func(self, column, cell, model, iter):
"""Data function for the progress bar of downloads."""
download = model.get_value(iter, 0)
cell.props.value = download.percent_complete
- cell.props.text = _("%s of %s complete") % (Utils.get_readable_size(float(download.block_count * download.block_size)), Utils.get_readable_size(download.size))
def __speed_cell_data_func(self, column, cell, model, iter):
"""Data function for the speed of downloads."""
@@ -253,6 +273,19 @@
self.show_statusbar_menu_item.connect("toggled",
self.__show_statusbar_menu_item_toggled)
+ self.show_status_menu_item.connect("toggled",
+ self.__show_status_menu_item_toggled)
+ self.show_current_size_menu_item.connect("toggled",
+ self.__show_current_size_menu_item_toggled)
+ self.show_total_size_menu_item.connect("toggled",
+ self.__show_total_size_menu_item_toggled)
+ self.show_progress_menu_item.connect("toggled",
+ self.__show_progress_menu_item_toggled)
+ self.show_speed_menu_item.connect("toggled",
+ self.__show_speed_menu_item_toggled)
+ self.show_eta_menu_item.connect("toggled",
+ self.__show_eta_menu_item_toggled)
+
# Help
self.about_menu_item.connect("activate",
self.__about_menu_item_activate)
@@ -272,6 +305,7 @@
self.downloads_treeview.connect("button-press-event",
self.__downloads_treeview_button_press,
self.downloads_treeview_menu)
+
self.pause_imi.connect("activate", self.__pause_imi_activate)
self.resume_imi.connect("activate", self.__resume_imi_activate)
self.cancel_imi.connect("activate", self.__cancel_download)
@@ -327,6 +361,30 @@
"""Show/Hide statusbar"""
self.config.show_statusbar = menu_item.get_active()
+ def __show_status_menu_item_toggled(self, menu_item):
+ """Show/Hide Status column"""
+ self.config.show_status = menu_item.get_active()
+
+ def __show_current_size_menu_item_toggled(self, menu_item):
+ """Show/Hide Current size column"""
+ self.config.show_current_size = menu_item.get_active()
+
+ def __show_total_size_menu_item_toggled(self, menu_item):
+ """Show/Hide Total size column"""
+ self.config.show_total_size = menu_item.get_active()
+
+ def __show_progress_menu_item_toggled(self, menu_item):
+ """Show/Hide Progress column"""
+ self.config.show_progress = menu_item.get_active()
+
+ def __show_speed_menu_item_toggled(self, menu_item):
+ """Show/Hide Speed column"""
+ self.config.show_speed = menu_item.get_active()
+
+ def __show_eta_menu_item_toggled(self, menu_item):
+ """Show/Hide ETA column"""
+ self.config.show_eta = menu_item.get_active()
+
def __about_menu_item_activate(self, menu_item):
"""Show the about dialog."""
ad = AboutDialog()
@@ -361,6 +419,20 @@
def __downloads_treeview_button_press(self, treeview, event, menu):
"""Show context menu for downloads treeview"""
if event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:
+ download = GUI.get_selected_value(self.downloads_treeview)
+ if download:
+ menu.popup(None, None, None, event.button, event.time)
+
+ def __test(self, treeview, event, menu):
+ print "foo"
+ """Show context menu for downloads treeview"""
+ if event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:
+ menu.popup(None, None, None, event.button, event.time)
+ return False
+
+ def __treeview_column_button_press(self, treeview, event, menu):
+ """Show context menu for downloads treeview"""
+ if event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:
menu.popup(None, None, None, event.button, event.time)
def __pause_tool_button_clicked(self, tool_button):
@@ -397,12 +469,26 @@
gtk.main_quit()
def __add_config_notifications(self):
+ """Adds callbacks which gets called when configuration keys changes
+ in gconf."""
self.config.add_notify(Configuration.KEY_SHOW_TOOLBAR,
self.__show_toolbar_key_changed)
- self.config.add_notify(Configuration.KEY_SHOW_STATUSBAR,
- self.__show_statusbar_key_changed)
self.config.add_notify(Configuration.KEY_TOOLBAR_STYLE,
self.__toolbar_style_key_changed)
+ self.config.add_notify(Configuration.KEY_SHOW_STATUS,
+ self.__show_status_key_changed)
+ self.config.add_notify(Configuration.KEY_SHOW_CURRENT_SIZE,
+ self.__show_current_size_key_changed)
+ self.config.add_notify(Configuration.KEY_SHOW_TOTAL_SIZE,
+ self.__show_total_size_key_changed)
+ self.config.add_notify(Configuration.KEY_SHOW_PROGRESS,
+ self.__show_progress_key_changed)
+ self.config.add_notify(Configuration.KEY_SHOW_SPEED,
+ self.__show_speed_key_changed)
+ self.config.add_notify(Configuration.KEY_SHOW_ETA,
+ self.__show_eta_key_changed)
+ self.config.add_notify(Configuration.KEY_SHOW_STATUSBAR,
+ self.__show_statusbar_key_changed)
def __show_toolbar_key_changed(self, client, cnxn_id, entry, data):
"""Called when the gconf key for toolbar visibility is changed"""
@@ -413,23 +499,14 @@
else:
self.toolbar.props.visible = True
- def __show_statusbar_key_changed(self, client, cnxn_id, entry, data):
- """Called when the gconf key for statusbar visibility is changed"""
- if not entry.value:
- self.statusbar.props.visible = True
- elif entry.value.type == gconf.VALUE_BOOL:
- self.statusbar.props.visible = entry.value.get_bool()
- else:
- self.statusbar.props.visible = True
-
def __toolbar_style_key_changed(self, client, cnxn_id, entry, data):
"""Called when the gconf key for toolbar style is changed"""
if not entry.value:
- self.toolbar.set_style = "both"
+ self.__set_toolbar_style("both")
elif entry.value.type == gconf.VALUE_STRING:
- self.toolbar.set_style = entry.value.get_string()
+ self.__set_toolbar_style(entry.value.get_string())
else:
- self.toolbar.set_style = "both"
+ self.__set_toolbar_style("both")
def __set_toolbar_style(self, toolbar_style):
if toolbar_style == "icons":
@@ -441,6 +518,69 @@
elif toolbar_style == "text":
self.toolbar.set_style(gtk.TOOLBAR_TEXT)
+ def __show_statusbar_key_changed(self, client, cnxn_id, entry, data):
+ """Called when the gconf key for statusbar visibility is changed"""
+ if not entry.value:
+ self.statusbar.props.visible = True
+ elif entry.value.type == gconf.VALUE_BOOL:
+ self.statusbar.props.visible = entry.value.get_bool()
+ else:
+ self.statusbar.props.visible = True
+
+ def __show_status_key_changed(self, client, cnxn_id, entry, data):
+ """Called when the gconf key for status visibility is changed"""
+ if not entry.value:
+ self.status_treeview_column.props.visible = True
+ elif entry.value.type == gconf.VALUE_BOOL:
+ self.status_treeview_column.props.visible = entry.value.get_bool()
+ else:
+ self.status_treeview_column.props.visible = True
+
+ def __show_current_size_key_changed(self, client, cnxn_id, entry, data):
+ """Called when the gconf key for current size visibility is changed"""
+ if not entry.value:
+ self.size_treeview_column.props.visible = True
+ elif entry.value.type == gconf.VALUE_BOOL:
+ self.size_treeview_column.props.visible = entry.value.get_bool()
+ else:
+ self.size_treeview_column.props.visible = True
+
+ def __show_total_size_key_changed(self, client, cnxn_id, entry, data):
+ """Called when the gconf key for total size visibility is changed"""
+ if not entry.value:
+ self.total_size_treeview_column.props.visible = True
+ elif entry.value.type == gconf.VALUE_BOOL:
+ self.total_size_treeview_column.props.visible = entry.value.get_bool()
+ else:
+ self.total_size_treeview_column.props.visible = True
+
+ def __show_progress_key_changed(self, client, cnxn_id, entry, data):
+ """Called when the gconf key for progress visibility is changed"""
+ if not entry.value:
+ self.progress_treeview_column.props.visible = True
+ elif entry.value.type == gconf.VALUE_BOOL:
+ self.progress_treeview_column.props.visible = entry.value.get_bool()
+ else:
+ self.progress_treeview_column.props.visible = True
+
+ def __show_speed_key_changed(self, client, cnxn_id, entry, data):
+ """Called when the gconf key for speed visibility is changed"""
+ if not entry.value:
+ self.speed_treeview_column.props.visible = True
+ elif entry.value.type == gconf.VALUE_BOOL:
+ self.speed_treeview_column.props.visible = entry.value.get_bool()
+ else:
+ self.progress_treeview_column.props.visible = True
+
+ def __show_eta_key_changed(self, client, cnxn_id, entry, data):
+ """Called when the gconf key for eta visibility is changed"""
+ if not entry.value:
+ self.eta_treeview_column.props.visible = True
+ elif entry.value.type == gconf.VALUE_BOOL:
+ self.eta_treeview_column.props.visible = entry.value.get_bool()
+ else:
+ self.eta_treeview_column.props.visible = True
+
def __download_added(self, download_manager, download):
"""Called when a new download is added to DownloadManager. Adds the
download to the treeview model and sets up the update handler."""
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]