Class: Ektoplayer::Controllers::Browser
- Inherits:
-
Controller
- Object
- Controller
- Ektoplayer::Controllers::Browser
- Defined in:
- lib/ektoplayer/controllers/browser.rb
Instance Method Summary collapse
-
#initialize(view, browser, view_operations, operations) ⇒ Browser
constructor
A new instance of Browser.
Constructor Details
#initialize(view, browser, view_operations, operations) ⇒ Browser
Returns a new instance of Browser.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/ektoplayer/controllers/browser.rb', line 8 def initialize(view, browser, view_operations, operations) super(view) view.attach(browser) register = view_operations.with_register('browser.') %w(up down page_up page_down top bottom search_up search_down search_next search_prev toggle_selection). each { |op| register.(op, &view.method(op)) } register.(:enter) do selection = view.get_selection operations.send(:'browser.enter', selection[0]) if selection.size > 1 selection[1..-1].each do |index| operations.send(:'browser.add_to_playlist', index) end end end register.(:add_to_playlist) do view.get_selection.each do |index| operations.send(:'browser.add_to_playlist', index) end end view.mouse.on(65536) do view.up(5) end view.mouse.on(2097152) do view.down(5) end [ICurses::BUTTON1_DOUBLE_CLICKED, ICurses::BUTTON3_CLICKED].each do |btn| view.mouse.on(btn) do |mevent| view.select_from_cursorpos(mevent.y) view_operations.send(:'browser.enter') end end [ICurses::BUTTON1_CLICKED, ICurses::BUTTON2_CLICKED]. each do || view.mouse.on() do |mevent| view.select_from_cursorpos(mevent.y) end end end |