Class: QTimetrap::Views::MainWindow

Inherits:
Object
  • Object
show all
Includes:
MainWindowRuntime, MainWindowUiHelpers
Defined in:
app/views/main_window.rb

Overview

Main Qt window wiring together components and user interactions.

Constant Summary collapse

WINDOW_W =
1380
WINDOW_H =
860
THEMES =
%w[light dark].freeze
HEARTBEAT_MS =
33

Instance Method Summary collapse

Constructor Details

#initialize(view_model: ViewModels::MainViewModel.new, theme: Styles::Theme.new(name: 'light', root: Application.root), settings_store: Models::NullSettingsStore.new) ⇒ MainWindow

Returns a new instance of MainWindow.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/views/main_window.rb', line 15

def initialize(
  view_model: ViewModels::MainViewModel.new,
  theme: Styles::Theme.new(name: 'light', root: Application.root),
  settings_store: Models::NullSettingsStore.new
)
  @view_model = view_model
  @theme = theme
  @settings_store = settings_store
  @pending_refresh = true
  @shutdown_requested = false

  build_window
  connect_key_events
  connect_shortcuts
  connect_heartbeat
end

Instance Method Details

#closeObject



34
35
36
37
# File 'app/views/main_window.rb', line 34

def close
  persist_window_geometry
  window.close
end

#request_shutdownObject



39
# File 'app/views/main_window.rb', line 39

def request_shutdown = @shutdown_requested = true

#showObject



32
# File 'app/views/main_window.rb', line 32

def show = window.show