Class: Eiwaji::SettingsDialog
- Inherits:
-
Qt::Dialog
- Object
- Qt::Dialog
- Eiwaji::SettingsDialog
- Defined in:
- lib/settings_dialog.rb
Instance Method Summary collapse
-
#initialize(parent) ⇒ SettingsDialog
constructor
A new instance of SettingsDialog.
- #languages_hash ⇒ Object
- #loadSettings ⇒ Object
- #rebuildIndex ⇒ Object
- #saveAndClose ⇒ Object
- #saveSettings ⇒ Object
Constructor Details
#initialize(parent) ⇒ SettingsDialog
Returns a new instance of SettingsDialog.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/settings_dialog.rb', line 9 def initialize(parent) super(parent) @ui = Ui_SettingsDialog.new @ui.setupUi(self) @parent = parent @settings ||= Qt::Settings.new(Eiwaji::Constants::CONFIG_PATH, Qt::Settings::IniFormat) okButton = @ui..(Qt::DialogButtonBox::Ok) closeButton = @ui..(Qt::DialogButtonBox::Cancel) connect(okButton, SIGNAL('clicked()'), self, SLOT('saveAndClose()')) connect(closeButton, SIGNAL('clicked()'), self, SLOT('close()')) connect(@ui.rebuildIndexButton, SIGNAL('clicked()'), self, SLOT('rebuildIndex()')) loadSettings() end |
Instance Method Details
#languages_hash ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/settings_dialog.rb', line 28 def languages_hash @languages_hash ||= { JDict::JMDictConstants::Languages::ENGLISH => "English", JDict::JMDictConstants::Languages::DUTCH => "Dutch", JDict::JMDictConstants::Languages::FRENCH => "French", JDict::JMDictConstants::Languages::GERMAN => "German", JDict::JMDictConstants::Languages::RUSSIAN => "Russian", JDict::JMDictConstants::Languages::SPANISH => "Spanish", JDict::JMDictConstants::Languages::SLOVENIAN => "Slovenian", JDict::JMDictConstants::Languages::SWEDISH => "Swedish", JDict::JMDictConstants::Languages::HUNGARIAN => "Hungarian" } end |
#loadSettings ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/settings_dialog.rb', line 41 def loadSettings config = JDict.configuration languages = JDict::JMDictConstants::Languages.constants.map {|l| languages_hash[JDict::JMDictConstants::Languages.const_get(l)]}.compact languages.each {|l| @ui.dictLanguageBox.addItem(l) } index = @ui.dictLanguageBox.findText(languages_hash[JDict.configuration.language]) if index == -1 index = @ui.dictLanguageBox.findText("English") end @ui.dictLanguageBox.currentIndex = index @ui.maxResultsBox.value = JDict.configuration.num_results end |
#rebuildIndex ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/settings_dialog.rb', line 60 def rebuildIndex() if File.exists? Eiwaji::Constants::INDEX_FILE File.unlink(Eiwaji::Constants::INDEX_FILE) end Qt::MessageBox.information(self, tr("Rebuilding Index"), tr("Please wait while the index is rebuilt.")) @parent.rebuild_dictionary Qt::MessageBox.information(self, tr("Index Built"), tr("Finished building the index.")) end |
#saveAndClose ⇒ Object
73 74 75 76 |
# File 'lib/settings_dialog.rb', line 73 def saveAndClose saveSettings() close() end |
#saveSettings ⇒ Object
54 55 56 57 58 |
# File 'lib/settings_dialog.rb', line 54 def saveSettings @settings.setValue("num_results", Qt::Variant.new(@ui.maxResultsBox.value)) @settings.setValue("language", Qt::Variant.new(@languages_hash.key(@ui.dictLanguageBox.currentText).to_s)) @settings.sync end |