lib/groove-dl/app.rb in groove-dl-0.2.0 vs lib/groove-dl/app.rb in groove-dl-0.3.0

- old
+ new

@@ -1,55 +1,28 @@ # -*- coding: utf-8 -*- module GrooveDl # Bootstraper for the application - class App < Gtk::Window - def initialize - Gtk::Settings.default.gtk_button_images = true - super + class App < Gtk::Builder + attr_accessor :signals_list - client = Grooveshark::Client.new - box = Gtk::Box.new(:vertical) + def initialize(path) + super() - search_bar = Widgets::Search::Bar.new(:vertical, 6) - search_bar.load(client, self) + Gtk::Settings.default.gtk_button_images = true + add_from_file(path) - search_list = Widgets::Search::List.new(:vertical, 6) - search_list.load(client, self) + @signals_list = {} + @main_window = get_object('main_window') + @main_window.set_window_position(Gtk::Window::Position::CENTER) + @main_window.signal_connect('destroy') { Gtk.main_quit } + @main_window.show_all - download_bar = Widgets::Download::Bar.new(:vertical, 6) - download_bar.load(client, self) + client = Grooveshark::Client.new + search_list = Widgets::Search.new(client, self) + Widgets::Download.new(client, self, search_list) - download_book = Widgets::Download::Book.new - download_book.load(client, self) - - box.pack_start(search_bar, expand: false, fill: true, padding: 10) - box.pack_start(search_list, expand: true, fill: true, padding: 5) - box.pack_start(download_bar, expand: false, fill: true, padding: 10) - box.pack_start(download_book, expand: true, fill: true, padding: 5) - - add(box) - - init_default - end - - def init_default - signal_connect('destroy') do - Gtk.main_quit + connect_signals do |handler| + @signals_list[handler] if @signals_list.key?(handler) end - - set_title('Grooveshark Downloader') - set_default_size(1024, 768) - set_window_position(:center) - show_all - end - - def find_by_name(element = self, name) - return element if element.name == name - element.children.each do |child| - result = find_by_name(child, name) - return result unless result.nil? - end if element.respond_to?(:children) - - nil end end end