[Xfce4-commits] <eatmonkey:aria2-xml-rpc> Show error message for broken downloads
Mike Massonnet
noreply at xfce.org
Sun Feb 28 16:32:03 CET 2010
Updating branch refs/heads/aria2-xml-rpc
to ce1f293c8377b1f38faf0f225ca56a2b15590b29 (commit)
from 9af840799e10a5c3d437caa2ceb69b6e830b1b3c (commit)
commit ce1f293c8377b1f38faf0f225ca56a2b15590b29
Author: Mike Massonnet <mmassonnet at xfce.org>
Date: Sun Feb 28 16:27:54 2010 +0100
Show error message for broken downloads
Add download_error signal and emit it on download error. The manager was
missing it to effectively being able to display an error message.
Set the label layout for the error message (align left and ellipsize).
src/eataria2.rb | 6 +++++-
src/eatmanager.rb | 10 ++++++----
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/eataria2.rb b/src/eataria2.rb
index 0fa1012..6d25b90 100755
--- a/src/eataria2.rb
+++ b/src/eataria2.rb
@@ -69,6 +69,9 @@ class Eat::Aria2 < GLib::Object
signal_new("download_stopped", GLib::Signal::RUN_FIRST, nil,
nil, # Return type: void
String) # Parameters: gid
+ signal_new("download_error", GLib::Signal::RUN_FIRST, nil,
+ nil, # Return type: void
+ String) # Parameters: gid
def signal_do_connected(); end
def signal_do_disconnected(); end
@@ -78,6 +81,7 @@ class Eat::Aria2 < GLib::Object
def signal_do_download_completed(gid); end
def signal_do_download_removed(gid); end
def signal_do_download_stopped(gid); end
+ def signal_do_download_error(gid); end
def initialize(hostname = DEFAULT_HOST, port = DEFAULT_PORT, user = nil, password = nil)
super(nil)
@@ -480,7 +484,7 @@ class Eat::Aria2Listener < Eat::Aria2
when "complete" then signal_emit("download_completed", gid)
when "waiting" then signal_emit("download_waiting", gid)
when "removed" then signal_emit("download_removed", gid)
- when "error" then puts "Error (%s: %s)" % [gid, status["errorCode"]]
+ when "error" then signal_emit("download_error", gid)
else puts "Inconsistent status (%s: %s)" % [gid, status["status"]]
end
@new_downloads.delete(gid)
diff --git a/src/eatmanager.rb b/src/eatmanager.rb
index d9ff429..ae87da1 100755
--- a/src/eatmanager.rb
+++ b/src/eatmanager.rb
@@ -65,6 +65,7 @@ class Eat::Manager
@aria2.signal_connect("download_status") { |this, gid| update_row(gid) }
@aria2.signal_connect("download_completed") { |this, gid| update_row(gid) }
@aria2.signal_connect("download_removed") { |this, gid| update_row(gid) }
+ @aria2.signal_connect("download_error") { |this, gid| update_row(gid) }
# Setup actions
@action_add.signal_connect("activate") { action_add }
@@ -209,8 +210,7 @@ class Eat::Manager
when "removed" then
# TODO mark as stopped/inactive
when "error" then
- # TODO display an error message
- row_iter[8] = -1
+ @infobar.show_error("Download error (%s) on %s" % [status["errorCode"], row_iter[9]], "Close")
end
end
@@ -336,7 +336,7 @@ class Eat::Manager
row_iter[11] = uri
else
# Display an error message
- # TODO
+ @infobar.show_error("The URI couldn't be added", "Close")
end
end
end
@@ -468,8 +468,10 @@ class Eat::ManagerInfoBar < HBox
pack_start(img, false, false, 0)
@label = Label.new
+ @label.set_ellipsize(Pango::Layout::ELLIPSIZE_END)
+ @label.set_xalign(0.0)
@label.set_use_markup(true)
- pack_start(@label, false, false, 0)
+ pack_start(@label, true, true, 0)
signal_connect("hide") do
if @button.signal_handler_is_connected?(@callback_id)
More information about the Xfce4-commits
mailing list