*** empty log message ***
[booh] / bin / booh-classifier
index a181dd34b873b84976f45e27aa7da91ce5bcb2cf..7b5aba5605da88f79c03d13ebd1c23c45e4f7e42 100644 (file)
@@ -117,6 +117,7 @@ def read_config
         }
     end
     $config['video-viewer'] ||= '/usr/bin/mplayer %f'
+    $config['browser'] ||= "/usr/bin/mozilla-firefox -remote 'openURL(%f,new-window)' || /usr/bin/mozilla-firefox %f"
     $config['preload-distance'] ||= '5'
     $config['cache-memory-use'] ||= 'memfree_50%'
     $config['rotate-set-exif'] ||= 'true'
@@ -124,17 +125,13 @@ def read_config
 end
 
 def check_config
-    if !system("which identify >/dev/null 2>/dev/null")
-        show_popup($main_window, utf8(_("The program 'identify' is needed to get images sizes and EXIF data. Please install it.
-It is generally available with the 'ImageMagick' software package.")), { :pos_centered => true })
-    end
     missing = %w(transcode mencoder).delete_if { |prg| system("which #{prg} >/dev/null 2>/dev/null") }
     if missing != []
         show_popup($main_window, utf8(_("The following program(s) are needed to handle videos: '%s'. Videos will be ignored.") % missing.join(', ')), { :pos_centered => true })
     end
 
     viewer_binary = $config['video-viewer'].split.first
-    if viewer_binary && !File.executable?(viewer_binary)
+    if viewer_binary && ! File.executable?(viewer_binary)
         show_popup($main_window, utf8(_("The configured video viewer seems to be unavailable.
 You should fix this in Edit/Preferences so that you can view videos.
 
@@ -142,6 +139,13 @@ Problem was: '%s' is not an executable file.
 Hint: don't forget to specify the full path to the executable,
 e.g. '/usr/bin/mplayer' is correct but 'mplayer' only is not.") % viewer_binary), { :pos_centered => true, :not_transient => true })
     end
+    browser_binary = $config['browser'].split.first
+    if browser_binary && ! File.executable?(browser_binary)
+        show_popup($main_window, utf8(_("The configured browser seems to be unavailable.
+You should fix this in Edit/Preferences so that you can open URLs.
+
+Problem was: '%s' is not an executable file.") % browser_binary), { :pos_centered => true, :not_transient => true })
+    end
 end
 
 def write_config
@@ -1055,16 +1059,22 @@ def preferences
                1, 2, 0, 1, Gtk::FILL, Gtk::SHRINK, 2, 2)
     tooltips.set_tip(video_viewer_entry, utf8(_("Use %f to specify the filename;\nfor example: /usr/bin/mplayer %f")), nil)
 
-    tbl.attach(Gtk::Alignment.new(1, 0.5, 0, 0).add(Gtk::Label.new.set_markup(utf8(_("Preloading distance: ")))),
+    tbl.attach(Gtk::Alignment.new(1, 0.5, 0, 0).add(Gtk::Label.new.set_markup(utf8(_("Browser's command: ")))),
                0, 1, 1, 2, Gtk::FILL, Gtk::SHRINK, 2, 2)
-    tbl.attach(Gtk::Alignment.new(0, 0.5, 1, 0).add(preload_distance = Gtk::SpinButton.new(0, 50, 1).set_value($config['preload-distance'].to_i)),
+    tbl.attach(Gtk::Alignment.new(0, 0.5, 1, 0).add(browser_entry = Gtk::Entry.new.set_text($config['browser'])),
                1, 2, 1, 2, Gtk::FILL, Gtk::SHRINK, 2, 2)
+    tooltips.set_tip(browser_entry, utf8(_("Use %f to specify the filename;\nfor example: /usr/bin/mozilla-firefox -remote 'openURL(%f,new-window)' || /usr/bin/mozilla-firefox %f")), nil)
+
+    tbl.attach(Gtk::Alignment.new(1, 0.5, 0, 0).add(Gtk::Label.new.set_markup(utf8(_("Preloading distance: ")))),
+               0, 1, 2, 3, Gtk::FILL, Gtk::SHRINK, 2, 2)
+    tbl.attach(Gtk::Alignment.new(0, 0.5, 1, 0).add(preload_distance = Gtk::SpinButton.new(0, 50, 1).set_value($config['preload-distance'].to_i)),
+               1, 2, 2, 3, Gtk::FILL, Gtk::SHRINK, 2, 2)
     tooltips.set_tip(preload_distance, utf8(_("Amount of pictures preloaded left and right to the currently shown")), nil)
 
     tbl.attach(Gtk::Alignment.new(1, 0.5, 0, 0).add(Gtk::Label.new.set_markup(utf8(_("Cache memory use: ")))),
-               0, 1, 2, 3, Gtk::FILL, Gtk::SHRINK, 2, 2)
+               0, 1, 3, 4, Gtk::FILL, Gtk::SHRINK, 2, 2)
     tbl.attach(Gtk::Alignment.new(0, 0.5, 1, 0).add(cache_vbox = Gtk::VBox.new(false, 0)),
-               1, 2, 2, 3, Gtk::FILL, Gtk::SHRINK, 2, 2)
+               1, 2, 3, 4, Gtk::FILL, Gtk::SHRINK, 2, 2)
     cache_vbox.pack_start(Gtk::HBox.new(false, 0).pack_start(cache_memfree_radio = Gtk::RadioButton.new(''), false, false).
                                                   pack_start(cache_memfree_spin = Gtk::SpinButton.new(0, 100, 10), false, false).
                                                   pack_start(cache_memfree_label = Gtk::Label.new(utf8(_("% of free memory"))), false, false), false, false)