lib/alexandria/ui/dialogs/acquire_dialog.rb in alexandria-book-collection-manager-0.7.1 vs lib/alexandria/ui/dialogs/acquire_dialog.rb in alexandria-book-collection-manager-0.7.2
- old
+ new
@@ -1,5 +1,7 @@
+# frozen_string_literal: true
+
# Copyright (C) 2004-2006 Laurent Sansonetti
# Copyright (C) 2007 Cathal Mc Ginley
# Copyright (C) 2011, 2016 Matijs van Zuijlen
#
# Alexandria is free software; you can redistribute it and/or
@@ -24,11 +26,10 @@
require 'alexandria/ui/sound'
require 'alexandria/ui/dialogs/barcode_animation'
module Alexandria
module UI
- require 'thread'
require 'monitor'
# assists in turning on progress bar when searching
# and turning it off when all search threads have completed...
class SearchThreadCounter < Monitor
@@ -62,13 +63,11 @@
super('acquire_dialog__builder.glade', widget_names)
@acquire_dialog.transient_for = @parent = parent
@block = block
libraries = Libraries.instance.all_regular_libraries
- if selected_library.is_a?(SmartLibrary)
- selected_library = libraries.first
- end
+ selected_library = libraries.first if selected_library.is_a?(SmartLibrary)
@combo_libraries.populate_with_libraries(libraries,
selected_library)
@add_button.sensitive = false
@prefs = Alexandria::Preferences.instance
@@ -206,13 +205,11 @@
else
book = result[0]
cover_uri = result[1]
- unless cover_uri.nil?
- library.save_cover(book, cover_uri)
- end
+ library.save_cover(book, cover_uri) unless cover_uri.nil?
books << book
library << book
library.save(book)
end
end
@@ -318,12 +315,15 @@
private
def start_search
@search_thread_counter.synchronize do
- if @search_thread_counter.count.zero?
- @search_thread_counter.new_search
+ first_search = @search_thread_counter.count.zero?
+
+ @search_thread_counter.new_search
+
+ if first_search
@progress_bar_thread = Thread.new do
notify_start_add_by_isbn
Alexandria::BookProviders.instance.add_observer(self)
@search_thread_counter.synchronize do
@search_threads_running.wait_while do
@@ -331,12 +331,10 @@
end
end
notify_end_add_by_isbn
Alexandria::BookProviders.instance.add_observer(self)
end
- else
- @search_thread_counter.new_search
end
end
end
def stop_search
@@ -401,17 +399,15 @@
iter[1] = pixbuf
model.row_changed(path, iter)
end
end
end
-
rescue StandardError => err
log.error {
"Failed to load cover image icon: #{err.message}"
}
log << err if log.error?
-
end
end
end
def on_destroy
@@ -441,11 +437,11 @@
# attach signals
@scan_area.signal_connect('button-press-event') do |_widget, _event|
@scan_area.grab_focus
end
@scan_area.signal_connect('focus-in-event') do |_widget, _event|
- @barcode_label.label = _('%s _Barcode Scanner Ready' % _(@scanner.display_name))
+ @barcode_label.label = _(format('%s _Barcode Scanner Ready', _(@scanner.display_name)))
@scanner_buffer = ''
begin
@animation.set_active
rescue StandardError => err
log << err if log.error?
@@ -599,12 +595,10 @@
# Add column using the second renderer
col = Gtk::TreeViewColumn.new('Title', text_renderer, text: 2)
@barcodes_treeview.append_column(col)
@barcodes_treeview.model.signal_connect('row-deleted') do |model, _path|
- unless model.iter_first
- @add_button.sensitive = false
- end
+ @add_button.sensitive = false unless model.iter_first
end
end
end
end
end