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