Changed status icons size.

Changed the way the download/upload speed limit is done in the system 
tray.
This commit is contained in:
Andrew Resch 2007-06-20 23:34:53 +00:00
parent 3e2332ecd3
commit a17466f6b9
12 changed files with 326 additions and 256 deletions

View File

@ -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.2.2 on Sat Jun 16 00:57:25 2007 by markybob@peg-->
<!--Generated with glade3 3.2.2 on Wed Jun 20 16:04:00 2007 by andrew@fractal-->
<glade-interface>
<widget class="GtkMenu" id="torrent_popup">
<property name="visible">True</property>
@ -309,4 +309,98 @@
</widget>
</child>
</widget>
<widget class="GtkDialog" id="rate_dialog">
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="border_width">5</property>
<property name="window_position">GTK_WIN_POS_MOUSE</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="skip_taskbar_hint">True</property>
<property name="decorated">False</property>
<property name="has_separator">False</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox2">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">2</property>
<child>
<widget class="GtkHBox" id="hbox2">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">10</property>
<child>
<widget class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Rate:</property>
</widget>
<packing>
<property name="expand">False</property>
</packing>
</child>
<child>
<widget class="GtkSpinButton" id="spin_rate">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_focus">True</property>
<property name="is_focus">True</property>
<property name="can_default">True</property>
<property name="has_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="activates_default">True</property>
<property name="xalign">1</property>
<property name="adjustment">0 -1 10000 1 10 10</property>
<property name="numeric">True</property>
</widget>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area2">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<child>
<widget class="GtkButton" id="button3">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">gtk-cancel</property>
<property name="use_stock">True</property>
<property name="response_id">0</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="button4">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">gtk-ok</property>
<property name="use_stock">True</property>
<property name="response_id">1</property>
</widget>
<packing>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
<property name="expand">False</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
</widget>
</child>
</widget>
</glade-interface>

View File

@ -317,40 +317,86 @@
<property name="n_rows">4</property>
<property name="n_columns">2</property>
<child>
<widget class="GtkAlignment" id="alignment18">
<widget class="GtkSpinButton" id="spin_max_upload">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="right_padding">10</property>
<child>
<widget class="GtkLabel" id="label55">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Maximum Upload Rate (KiB/s):</property>
</widget>
</child>
<property name="can_focus">True</property>
<property name="tooltip" translatable="yes">The maximum upload rate for all torrents. Set -1 for unlimited.</property>
<property name="xalign">1</property>
<property name="adjustment">-1 -1 9000 1 10 10</property>
<property name="climb_rate">1</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<widget class="GtkAlignment" id="alignment14">
<widget class="GtkSpinButton" id="spin_max_download">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="tooltip" translatable="yes">The maximum download rate for all torrents. Set -1 for unlimited.</property>
<property name="xalign">1</property>
<property name="adjustment">-1 -1 9000 1 10 10</property>
<property name="climb_rate">1</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<widget class="GtkSpinButton" id="spin_num_upload">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip" translatable="yes">The maximum number of upload slots. Set -1 for unlimited.</property>
<property name="xalign">1</property>
<property name="adjustment">-1 -1 1000 1 10 10</property>
<property name="climb_rate">1</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>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<widget class="GtkSpinButton" id="spin_max_connections">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip" translatable="yes">The maximum number of connections allowed. Set -1 for unlimited.</property>
<property name="xalign">1</property>
<property name="adjustment">-1 -1 1000 1 10 10</property>
<property name="climb_rate">1</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<widget class="GtkAlignment" id="alignment4">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="right_padding">10</property>
<child>
<widget class="GtkLabel" id="label52">
<widget class="GtkLabel" id="label54">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Maximum Download Rate (KiB/s):</property>
<property name="label" translatable="yes">Maximum Connections:</property>
</widget>
</child>
</widget>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
@ -374,84 +420,38 @@
</packing>
</child>
<child>
<widget class="GtkAlignment" id="alignment4">
<widget class="GtkAlignment" id="alignment14">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="right_padding">10</property>
<child>
<widget class="GtkLabel" id="label54">
<widget class="GtkLabel" id="label52">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Maximum Connections:</property>
<property name="label" translatable="yes">Maximum Download Rate (KiB/s):</property>
</widget>
</child>
</widget>
<packing>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<widget class="GtkSpinButton" id="spin_max_connections">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip" translatable="yes">The maximum number of connections allowed. Set -1 for unlimited.</property>
<property name="xalign">1</property>
<property name="adjustment">-1 -1 1000 1 10 10</property>
<property name="climb_rate">1</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<widget class="GtkSpinButton" id="spin_num_upload">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip" translatable="yes">The maximum number of upload slots. Set -1 for unlimited.</property>
<property name="xalign">1</property>
<property name="adjustment">-1 -1 1000 1 10 10</property>
<property name="climb_rate">1</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>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<widget class="GtkSpinButton" id="spin_max_download">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="tooltip" translatable="yes">The maximum download rate for all torrents. Set -1 for unlimited.</property>
<property name="xalign">1</property>
<property name="adjustment">-1 -1 9000 1 10 10</property>
<property name="climb_rate">1</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<widget class="GtkSpinButton" id="spin_max_upload">
<widget class="GtkAlignment" id="alignment18">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip" translatable="yes">The maximum upload rate for all torrents. Set -1 for unlimited.</property>
<property name="xalign">1</property>
<property name="adjustment">-1 -1 9000 1 10 10</property>
<property name="climb_rate">1</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="right_padding">10</property>
<child>
<widget class="GtkLabel" id="label55">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Maximum Upload Rate (KiB/s):</property>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
@ -974,55 +974,54 @@ Full Stream</property>
<placeholder/>
</child>
<child>
<widget class="GtkSpinButton" id="spin_proxy_port">
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="adjustment">8080 0 10000 1 10 10</property>
<property name="label" translatable="yes">Proxy Type: </property>
</widget>
</child>
<child>
<widget class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Username: </property>
</widget>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing>
</child>
<child>
<widget class="GtkEntry" id="txt_proxy_hostname">
<widget class="GtkLabel" id="label6">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Password: </property>
</widget>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
</packing>
</child>
<child>
<widget class="GtkComboBox" id="combo_proxy_type">
<widget class="GtkLabel" id="label7">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="items" translatable="yes">None
Socksv4
Socksv5
Socksv5 w/ Auth
HTTP
HTTP w/ Auth</property>
<property name="label" translatable="yes">Server: </property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
</packing>
</child>
<child>
<widget class="GtkEntry" id="txt_proxy_username">
<widget class="GtkLabel" id="label8">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Port: </property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing>
@ -1042,58 +1041,59 @@ HTTP w/ Auth</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label8">
<widget class="GtkEntry" id="txt_proxy_username">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Port: </property>
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<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="label7">
<widget class="GtkComboBox" id="combo_proxy_type">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Server: </property>
<property name="items" translatable="yes">None
Socksv4
Socksv5
Socksv5 w/ Auth
HTTP
HTTP w/ Auth</property>
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label6">
<widget class="GtkEntry" id="txt_proxy_hostname">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Password: </property>
</widget>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label5">
<widget class="GtkSpinButton" id="spin_proxy_port">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Username: </property>
<property name="adjustment">8080 0 10000 1 10 10</property>
</widget>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Proxy Type: </property>
</widget>
</child>
</widget>
</child>
<child>
@ -1255,97 +1255,6 @@ HTTP w/ Auth</property>
<property name="position">2</property>
</packing>
</child>
<child>
<widget class="GtkAlignment" id="alignment19">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="bottom_padding">3</property>
<property name="right_padding">20</property>
<child>
<widget class="GtkHBox" id="hbox3">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
<widget class="GtkAlignment" id="alignment21">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">10</property>
<property name="right_padding">5</property>
<child>
<widget class="GtkLabel" id="label9">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Download speed limits:</property>
</widget>
</child>
</widget>
<packing>
<property name="expand">False</property>
</packing>
</child>
<child>
<widget class="GtkEntry" id="txt_tray_downladspeed">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
</widget>
<packing>
<property name="position">1</property>
</packing>
</child>
</widget>
</child>
</widget>
<packing>
<property name="position">3</property>
</packing>
</child>
<child>
<widget class="GtkAlignment" id="alignment20">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="right_padding">20</property>
<child>
<widget class="GtkHBox" id="hbox4">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
<widget class="GtkAlignment" id="alignment22">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="left_padding">10</property>
<property name="right_padding">21</property>
<child>
<widget class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Upload speed limits:</property>
</widget>
</child>
</widget>
<packing>
<property name="expand">False</property>
</packing>
</child>
<child>
<widget class="GtkEntry" id="txt_tray_uploadspeed">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
</widget>
<packing>
<property name="position">1</property>
</packing>
</child>
</widget>
</child>
</widget>
<packing>
<property name="position">4</property>
</packing>
</child>
</widget>
</child>
</widget>

View File

@ -6,19 +6,33 @@
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
<widget class="GtkMenuItem" id="download_limit">
<widget class="GtkImageMenuItem" id="download_limit">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Download Limit</property>
<property name="use_underline">True</property>
<child internal-child="image">
<widget class="GtkImage" id="download-limit-image">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="stock">gtk-missing-image</property>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="upload_limit">
<widget class="GtkImageMenuItem" id="upload_limit">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Upload Limit</property>
<property name="use_underline">True</property>
<child internal-child="image">
<widget class="GtkImage" id="upload-limit-image">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="stock">gtk-missing-image</property>
</widget>
</child>
</widget>
</child>
<child>

BIN
pixmaps/downloading22.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 977 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

BIN
pixmaps/inactive22.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 961 B

BIN
pixmaps/seeding22.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 827 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 935 B

View File

@ -86,9 +86,6 @@ class PreferencesDlg:
self.glade.get_widget("chk_dht").set_active(self.preferences.get("enable_dht", bool, default=True))
self.glade.get_widget("spin_gui").set_value(self.preferences.get("gui_update_interval", float, default=1.0))
self.glade.get_widget("txt_tray_downladspeed").set_text(self.preferences.get("tray_downloadspeedlist", default=""))
self.glade.get_widget("txt_tray_uploadspeed").set_text(self.preferences.get("tray_uploadspeedlist", default=""))
except KeyError:
pass
# Now, show the dialog
@ -128,9 +125,6 @@ class PreferencesDlg:
self.preferences.set("enable_dht", self.glade.get_widget("chk_dht").get_active())
self.preferences.set("gui_update_interval", self.glade.get_widget("spin_gui").get_value())
self.preferences.set("tray_downloadspeedlist", self.glade.get_widget("txt_tray_downladspeed").get_text())
self.preferences.set("tray_uploadspeedlist", self.glade.get_widget("txt_tray_uploadspeed").get_text())
def TestPort(self, widget):
activep = str(self.parent.manager.get_state()['port'])
common.open_url_in_browser(self.dialog,'http://www.deluge-torrent.org/test-port.php?port=%s' %activep)

View File

@ -170,8 +170,8 @@ class DelugeGTK:
"show_hide_window": self.force_show_hide,
})
self.item_bwdownset = self.tray_glade.get_widget("download_limit")
self.item_bwupset = self.tray_glade.get_widget("upload_limit")
self.tray_glade.get_widget("download-limit-image").set_from_file(common.get_pixmap('downloading22.png'))
self.tray_glade.get_widget("upload-limit-image").set_from_file(common.get_pixmap('seeding22.png'))
self.build_tray_bwsetsubmenu()
self.tray_icon.connect("activate", self.tray_clicked)
@ -181,37 +181,54 @@ class DelugeGTK:
self.tray_menu.popup(None, None, gtk.status_icon_position_menu,
button, activate_time, status_icon)
def update_tray_bwsetsubmenu(self):
self.submenu_bwdownset.destroy()
self.submenu_bwupset.destroy()
self.build_tray_bwsetsubmenu()
def build_tray_bwsetsubmenu(self):
self.submenu_bwdownset = gtk.Menu()
self.submenu_bwupset = gtk.Menu()
subitem_downtmp = gtk.MenuItem(_("Unlimited"))
self.submenu_bwdownset.append(subitem_downtmp)
self.submenu_bwdownset.append(gtk.SeparatorMenuItem())
subitem_downtmp.connect("activate", self.tray_setbwdown)
group = None
for value in sorted(self.config.get("tray_downloadspeedlist")):
subitem = gtk.RadioMenuItem(group, str(value) + " " + _("KiB/s"))
group = subitem
self.submenu_bwdownset.append(subitem)
if value == self.config.get("max_download_rate"):
subitem.set_active(True)
subitem.connect("toggled", self.tray_setbwdown)
subitem_uptmp = gtk.MenuItem(_("Unlimited"))
self.submenu_bwupset.append(subitem_uptmp)
self.submenu_bwupset.append(gtk.SeparatorMenuItem())
subitem_uptmp.connect("activate", self.tray_setbwup)
subitem = gtk.RadioMenuItem(group, _("Unlimited"))
self.submenu_bwdownset.append(subitem)
if self.config.get("max_download_rate") < 0:
subitem.set_active(True)
subitem.connect("toggled", self.tray_setbwdown)
for i in self.config.get("tray_downloadspeedlist").split(","):
subitem_downtmp = gtk.MenuItem(i+" "+_("KiB/s"))
self.submenu_bwdownset.append(subitem_downtmp)
subitem_downtmp.connect("activate", self.tray_setbwdown)
for i in self.config.get("tray_uploadspeedlist").split(","):
subitem_uptmp = gtk.MenuItem(i+" "+_("KiB/s"))
self.submenu_bwupset.append(subitem_uptmp)
subitem_uptmp.connect("activate", self.tray_setbwup)
subitem = gtk.SeparatorMenuItem()
self.submenu_bwdownset.append(subitem)
subitem = gtk.MenuItem(_("Other..."))
subitem.connect("activate", self.tray_setbwdown)
self.submenu_bwdownset.append(subitem)
self.item_bwdownset.set_submenu(self.submenu_bwdownset)
self.item_bwupset.set_submenu(self.submenu_bwupset)
group = None
for value in self.config.get("tray_uploadspeedlist"):
subitem = gtk.RadioMenuItem(group, str(value) + " " + _("KiB/s"))
group = subitem
if value == self.config.get("max_upload_rate"):
subitem.set_active(True)
self.submenu_bwupset.append(subitem)
subitem.connect("toggled", self.tray_setbwup)
subitem = gtk.RadioMenuItem(group, _("Unlimited"))
self.submenu_bwupset.append(subitem)
if self.config.get("max_upload_rate") < 0:
subitem.set_active(True)
subitem.connect("toggled", self.tray_setbwup)
subitem = gtk.SeparatorMenuItem()
self.submenu_bwupset.append(subitem)
subitem = gtk.MenuItem(_("Other..."))
subitem.connect("activate", self.tray_setbwup)
self.submenu_bwupset.append(subitem)
self.tray_glade.get_widget("download_limit").set_submenu(self.submenu_bwdownset)
self.tray_glade.get_widget("upload_limit").set_submenu(self.submenu_bwupset)
self.submenu_bwdownset.show_all()
self.submenu_bwupset.show_all()
@ -219,17 +236,45 @@ class DelugeGTK:
def tray_setbwdown(self, widget, data=None):
str_bwdown = widget.get_children()[0].get_text().rstrip(" "+_("KiB/s"))
if str_bwdown == _("Unlimited"):
str_bwdown = "-1"
str_bwdown = -1
self.config.set("max_download_rate", str_bwdown)
if str_bwdown == _("Other..."):
dialog_glade = gtk.glade.XML(common.get_glade_file("dgtkpopups.glade"))
rate_dialog = dialog_glade.get_widget("rate_dialog")
spin_rate = dialog_glade.get_widget("spin_rate")
spin_rate.set_value(self.config.get("max_download_rate"))
spin_rate.select_region(0, -1)
response = rate_dialog.run()
if response == 1: # OK Response
str_bwdown = spin_rate.get_value()
else:
rate_dialog.destroy()
return
rate_dialog.destroy()
self.config.set("max_download_rate", float(str_bwdown))
self.apply_prefs()
def tray_setbwup(self, widget, data=None):
str_bwup = widget.get_children()[0].get_text().rstrip(" "+_("KiB/s"))
if str_bwup == _("Unlimited"):
str_bwup = "-1"
str_bwup = -1
self.config.set("max_upload_rate", str_bwup)
if str_bwup == _("Other..."):
dialog_glade = gtk.glade.XML(common.get_glade_file("dgtkpopups.glade"))
rate_dialog = dialog_glade.get_widget("rate_dialog")
spin_rate = dialog_glade.get_widget("spin_rate")
spin_rate.set_value(self.config.get("max_upload_rate"))
spin_rate.select_region(0, -1)
response = rate_dialog.run()
if response == 1: # OK Response
str_bwup = spin_rate.get_value()
else:
rate_dialog.destroy()
return
rate_dialog.destroy()
self.config.set("max_upload_rate", float(str_bwup))
self.apply_prefs()
def unlock_tray(self,comingnext):
@ -643,17 +688,31 @@ class DelugeGTK:
def apply_prefs(self):
# Show tray icon if necessary
self.tray_icon.set_visible(self.config.get("enable_system_tray", bool, default=True))
self.tray_icon.set_visible(self.config.get("enable_system_tray"))
# Update the max_*_rate_bps prefs
ulrate = self.config.get("max_upload_rate", int, default=-1) * 1024
dlrate = self.config.get("max_download_rate", int, default=-1) * 1024
ulrate = self.config.get("max_upload_rate") * 1024
dlrate = self.config.get("max_download_rate") * 1024
if not (ulrate < 0):
self.config.set("max_upload_rate_bps", ulrate)
if not (dlrate < 0):
self.config.set("max_download_rate_bps", dlrate)
self.update_tray_bwsetsubmenu()
# Update the tray download speed limits
if self.config.get("max_download_rate") not in self.config.get("tray_downloadspeedlist") and self.config.get("max_download_rate") >= 0:
# We need to prepend this value and remove the last value in the list
self.config.get("tray_downloadspeedlist").insert(0, self.config.get("max_download_rate"))
self.config.get("tray_downloadspeedlist").pop()
# Re-build the sub-menu to display new option
self.build_tray_bwsetsubmenu()
# Do the same for the upload speed limits
if self.config.get("max_upload_rate") not in self.config.get("tray_uploadspeedlist") and self.config.get("max_upload_rate") >= 0:
# We need to prepend this value and remove the last value in the list
self.config.get("tray_uploadspeedlist").insert(0, self.config.get("max_upload_rate"))
self.config.get("tray_uploadspeedlist").pop()
# Re-build the sub-menu to display new option
self.build_tray_bwsetsubmenu()
# Apply the preferences in the core
self.manager.apply_prefs()
@ -699,11 +758,11 @@ class DelugeGTK:
# Set the appropriate status icon
if state["is_paused"]:
status_icon = gtk.gdk.pixbuf_new_from_file(common.get_pixmap("inactive24.png"))
status_icon = gtk.gdk.pixbuf_new_from_file(common.get_pixmap("inactive22.png"))
elif state["is_seed"]:
status_icon = gtk.gdk.pixbuf_new_from_file(common.get_pixmap("seeding24.png"))
status_icon = gtk.gdk.pixbuf_new_from_file(common.get_pixmap("seeding22.png"))
else:
status_icon = gtk.gdk.pixbuf_new_from_file(common.get_pixmap("downloading24.png"))
status_icon = gtk.gdk.pixbuf_new_from_file(common.get_pixmap("downloading22.png"))
rlist = [int(unique_id), int(queue), status_icon, str(name), long(size), float(progress), str(message),
int(seeds), int(seeds_t), int(peers), int(peers_t), int(dlrate), int(ulrate), int(eta), float(share)]

View File

@ -77,7 +77,9 @@ DEFAULT_PREFS = {
"show_status" : True,
"show_toolbar" : True,
"show_ul" : True,
"tray_downloadspeedlist" : [5.0, 10.0, 30.0, 80.0, 300.0],
"tray_passwd" : "",
"tray_uploadspeedlist" : [5.0, 10.0, 30.0, 80.0, 300.0]
"use_compact_storage" : False,
"use_default_dir" : False,
"use_natpmp" : False,
@ -89,8 +91,6 @@ DEFAULT_PREFS = {
"window_width" : 640,
"window_x_pos" : 0,
"window_y_pos" : 0,
"tray_downloadspeedlist" : "10,20,30,40,50,100,200,300,400,500,1000",
"tray_uploadspeedlist" : "10,20,30,40,50,100,200,300,400,500,1000"
}
class Preferences:
def __init__(self, filename=None, global_defaults=True, defaults=None):