Class: Settings

Inherits:
Object show all
Defined in:
lib/tmis/interface/forms/settings.rb

Overview

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Constant Summary collapse

@@settings =
Qt::Settings.new('settings.ini', 'Qt::Settings::IniFormat')

Class Method Summary collapse

Class Method Details

.[](group, key) ⇒ Object

Contract Symbol, Symbol => String



15
16
17
18
19
20
# File 'lib/tmis/interface/forms/settings.rb', line 15

def self.[](group, key)
  @@settings.beginGroup group.to_s
  result = @@settings.value key.to_s
  @@settings.endGroup()
  result.value.to_s.force_encoding('UTF-8')
end

.[]=(group, key, value) ⇒ Object

Contract Symbol, Symbol, Any => Any



23
24
25
26
27
28
# File 'lib/tmis/interface/forms/settings.rb', line 23

def self.[]=(group, key, value)
  @@settings.beginGroup group.to_s
  @@settings.setValue(key.to_s, Qt::Variant.new(value))
  @@settings.endGroup()
  @@settings.sync
end

.reset!(group) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/tmis/interface/forms/settings.rb', line 30

def self.reset!(group)
  case group
  when :mailer
    self[:mailer, :email] = '[email protected]'
    self[:mailer, :password] = '12345'
  when :stubs
    self[:stubs, :lecturer] = 'Вакансия'
    self[:stubs, :cabinet] = 'Не назначен'
    self[:stubs, :subject] = 'Не назначен'
  else
    raise ArgumentError, 'No such settings group!'
  end
end

.set_defaults_if_first_runObject



44
45
46
47
48
49
50
# File 'lib/tmis/interface/forms/settings.rb', line 44

def self.set_defaults_if_first_run
  if Settings[:app, :first_run].empty?
    Settings[:app, :first_run] = 'false'
    self.reset! :mailer
    self.reset! :stubs
  end
end