From c62294ce49366f93c57550eda190069270ee0f8e Mon Sep 17 00:00:00 2001 From: Denis Knauf Date: Tue, 23 Dec 2014 19:45:59 +0100 Subject: [PATCH] maximum changeable --- lib/progress-bar.rb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/progress-bar.rb b/lib/progress-bar.rb index 84ca7d0..5abcac9 100644 --- a/lib/progress-bar.rb +++ b/lib/progress-bar.rb @@ -24,6 +24,11 @@ class ProgressBar::Base change_progress end + def max= val + @max = val + change_progress + end + def increment!( x = nil) self.i += (x || 1) end alias to_i i alias inc! increment! @@ -79,8 +84,8 @@ end class ProgressBar::KDialog < ProgressBar::Base attr_reader :dialog_service_path, :dialog_object_path, :errors, :dialog_object - def initialize *a - super *a + def initialize max, text + super max, text @errors = [] args = %w[kdialog --progressbar] + [text, max.to_s] @dialog_service_path, @dialog_object_path = IO.popen( args, 'r', &:readlines).join("\n").split ' ' @@ -123,4 +128,12 @@ class ProgressBar::KDialog < ProgressBar::Base @dialog_object.close rescue DBus::Error kdialog '--detailederror', "Some errors occured:", errors.join( "
\n") unless errors.empty? end + + def max= val + @dialog_object.Set '', 'maximum', val + end + + def max + @dialog_object.Get '', 'maximum' + end end