Class: QTimetrap::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/qtimetrap.rb

Overview

CLI entrypoint for launching the Qt desktop application.

Class Method Summary collapse

Class Method Details

.start(_argv = []) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/qtimetrap.rb', line 14

def self.start(_argv = [])
  app = QTimetrap::Application.boot!
  main_window = QTimetrap::Application.container.fetch(:main_window)
  previous_int = Signal.trap('INT') { main_window.request_shutdown }
  main_window.show
  app.exec
ensure
  Signal.trap('INT', previous_int) if defined?(previous_int) && previous_int
  app&.dispose
end