Commit cdf4249
Changed files (1)
lib
presentation
presenters
lib/presentation/presenters/application_shell_presenter.rb
@@ -20,22 +20,43 @@ class ApplicationShellPresenter
def add_menu_to(view)
view.modify_bg(Gtk::STATE_NORMAL, Gdk::Color.new(6400, 6400, 6440))
- menu_bar = Gtk::MenuBar.new
+ menu_bar = create_menu_bar.append(create_menu_item("_File", create_menu.append(create_menu_item("_Import", create_import_menu)).append(create_exit_menu)))
+ view.add(create_vertical_box(menu_bar))
+ end
+
+ def create_vertical_box(menu_bar)
+ vbox = Gtk::VBox.new(false, 2)
+ vbox.pack_start(menu_bar, false, false, 0)
+ vbox
+ end
- file_menu = Gtk::Menu.new
- file_menu_item = Gtk::MenuItem.new("_File")
- file_menu_item.set_submenu(file_menu)
+ def create_menu
+ Gtk::Menu.new
+ end
- exit_menu_item = Gtk::MenuItem.new("E_xit")
- exit_menu_item.signal_connect "activate" do
- @event_aggregator.publish(:halt)
- end
+ def create_menu_item(name, sub_menu = nil)
+ menu_item = Gtk::MenuItem.new(name)
+ menu_item.set_submenu(sub_menu) if sub_menu
+ menu_item
+ end
- file_menu.append(exit_menu_item)
- menu_bar.append(file_menu_item)
+ def create_menu_bar
+ Gtk::MenuBar.new
+ end
- vbox = Gtk::VBox.new(false, 2)
- vbox.pack_start(menu_bar, false, false, 0)
- view.add(vbox)
+ def create_import_menu
+ import_menu = create_menu
+ import_menu.append(create_menu_item("Import news feed..."))
+ import_menu.append(create_menu_item("Import bookmarks..."))
+ import_menu.append(create_menu_item("Import mail..."))
+ import_menu
+ end
+
+ def create_exit_menu
+ menu_item = create_menu_item("E_xit")
+ menu_item.signal_connect "activate" do
+ @event_aggregator.publish(:halt)
+ end
+ menu_item
end
end