module MultimediaParadise::GUI::Gtk::PlaylistModule

Constants

HEIGHT
#

HEIGHT

#
TITLE
#

TITLE

#
WIDTH
#

WIDTH

#

Public Class Methods

new( run_already = true ) click to toggle source
#

initialize

#
Calls superclass method
# File lib/multimedia_paradise/gui/shared_code/playlist/playlist_module.rb, line 45
def initialize(
    run_already = true
  )
  super(:vertical)
  reset
  run if run_already
end
run() click to toggle source
#

MultimediaParadise::GUI::Gtk::PlaylistModule

#
# File lib/multimedia_paradise/gui/shared_code/playlist/playlist_module.rb, line 139
def self.run
  require 'gtk_paradise/run'
  _ = ::MultimediaParadise::GUI::Gtk::Playlist.new
  r = ::Gtk.run
  r << _
  r.set_size_request(
    _.width?,
    _.height?
  )
  r.top_left_then_run
end

Public Instance Methods

border_size?() click to toggle source
#

border_size?

#
# File lib/multimedia_paradise/gui/shared_code/playlist/playlist_module.rb, line 91
def border_size?
  2
end
connect_skeleton() click to toggle source
#

connect_skeleton (connect tag)

#
# File lib/multimedia_paradise/gui/shared_code/playlist/playlist_module.rb, line 111
def connect_skeleton
  abort_on_exception
  vbox = gtk_vbox
  @dataset.each {|this_song|
    button = gtk_button(this_song)
    button.fancy_tooltips = this_song
    button.on_clicked {
      play_this_song(this_song)
    }
    button.text_is_left
    vbox.maximal(button)
  }
  scroll_bar = gtk_scrolled_window(vbox)
  scroll_bar.set_size_request(600, 500)
  maximal(scroll_bar)
end
create_skeleton() click to toggle source
#

create_skeleton

#
# File lib/multimedia_paradise/gui/shared_code/playlist/playlist_module.rb, line 98
def create_skeleton
end
padding?() click to toggle source
#

padding?

#
# File lib/multimedia_paradise/gui/shared_code/playlist/playlist_module.rb, line 84
def padding?
  2
end
play_this_song(i) click to toggle source
#

play_this_song

#
# File lib/multimedia_paradise/gui/shared_code/playlist/playlist_module.rb, line 104
def play_this_song(i)
  esystem "mpv #{i}"
end
reset() click to toggle source
#

reset

#
# File lib/multimedia_paradise/gui/shared_code/playlist/playlist_module.rb, line 56
def reset
  reset_the_internal_variables
  infer_the_namespace
  # ======================================================================= #
  # === @configuration
  # ======================================================================= #
  @configuration = [true, __dir__, namespace?]
  # ======================================================================= #
  # === @title
  # ======================================================================= #
  set_title(TITLE)
  # ======================================================================= #
  # === @width
  # ======================================================================= #
  set_width(WIDTH)
  # ======================================================================= #
  # === @height
  # ======================================================================= #
  set_height(HEIGHT)
  @dataset = ::MultimediaParadise::Playlist.return_array
  set_use_this_font(:dejavu_condensed_22)
  append_project_css_file
  infer_the_size_automatically
end
run() click to toggle source
#

run

#
# File lib/multimedia_paradise/gui/shared_code/playlist/playlist_module.rb, line 131
def run
  create_skeleton
  connect_skeleton
end