summaryrefslogtreecommitdiffstats
path: root/src/__TODO/UiGuiSettingsDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/__TODO/UiGuiSettingsDialog.cpp')
-rw-r--r--src/__TODO/UiGuiSettingsDialog.cpp205
1 files changed, 205 insertions, 0 deletions
diff --git a/src/__TODO/UiGuiSettingsDialog.cpp b/src/__TODO/UiGuiSettingsDialog.cpp
new file mode 100644
index 0000000..8bfe0e5
--- /dev/null
+++ b/src/__TODO/UiGuiSettingsDialog.cpp
@@ -0,0 +1,205 @@
+/***************************************************************************
+* Copyright (C) 2006-2012 by Thomas Schweitzer *
+* thomas-schweitzer(at)arcor.de *
+* *
+* This program is free software; you can redistribute it and/or modify *
+* it under the terms of the GNU General Public License version 2.0 as *
+* published by the Free Software Foundation. *
+* *
+* This program is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+* GNU General Public License for more details. *
+* *
+* You should have received a copy of the GNU General Public License *
+* along with this program in the file LICENSE.GPL; if not, write to the *
+* Free Software Foundation, Inc., *
+* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+***************************************************************************/
+
+#include "UiGuiSettingsDialog.h"
+#include "ui_UiGuiSettingsDialog.h"
+
+#include "UiGuiSettings.h"
+
+/*!
+ \class UiGuiSettingsDialog
+ \ingroup grp_Settings
+ \brief Displays a dialog window with settings for UniversalIndentGUI
+*/
+
+/*!
+ \brief The constructor calls the setup function for the ui created by uic.
+*/
+UiGuiSettingsDialog::UiGuiSettingsDialog(TQWidget *parent,
+ TQSharedPointer<UiGuiSettings> settings) :
+ TQDialog(parent)
+{
+ // Remember pointer to the UiGuiSettings object.
+ _settings = settings;
+
+ // Init the user interface created by the UIC.
+ _settingsDialogForm = new Ui::SettingsDialog();
+ _settingsDialogForm->setupUi(this);
+
+ //TODO: This call has to be removed when the properties for the highlighters can be set
+ // with the settings dialog.
+ _settingsDialogForm->groupBoxSyntaxHighlighterProperties->setToolTip(
+ "(Will be implemented soon)" +
+ _settingsDialogForm->groupBoxSyntaxHighlighterProperties->toolTip());
+
+ // Connect the accepted signal to own function, to write values back to the UiGuiSettings object.
+ connect(this, SIGNAL(accepted()), this, SLOT(writeWidgetValuesToSettings()));
+
+ // Init the language selection combobox.
+ initTranslationSelection();
+}
+
+/*!
+ \brief By calling this function the combobox for selecting the application language will
+ be initialized.
+
+ Also the translation itself will be reinitialized.
+ */
+void UiGuiSettingsDialog::initTranslationSelection()
+{
+ // First empty the combo box.
+ _settingsDialogForm->languageSelectionComboBox->clear();
+
+ // Now add an entry into the box for every language short.
+ foreach(TQString languageShort, _settings->getAvailableTranslations())
+ {
+ // Identify the language mnemonic and set the full name.
+ if (languageShort == "en")
+ {
+ _settingsDialogForm->languageSelectionComboBox->addItem(TQIcon(TQString(":/language/language-"
+ + languageShort + ".png")), tr("English"));
+ }
+ else if (languageShort == "fr")
+ {
+ _settingsDialogForm->languageSelectionComboBox->addItem(TQIcon(TQString(":/language/language-"
+ + languageShort + ".png")), tr("French"));
+ }
+ else if (languageShort == "de")
+ {
+ _settingsDialogForm->languageSelectionComboBox->addItem(TQIcon(TQString(":/language/language-"
+ + languageShort + ".png")), tr("German"));
+ }
+ else if (languageShort == "zh_TW")
+ {
+ _settingsDialogForm->languageSelectionComboBox->addItem(TQIcon(TQString(":/language/language-"
+ + languageShort + ".png")), tr("Chinese (Taiwan)"));
+ }
+ else if (languageShort == "ja")
+ {
+ _settingsDialogForm->languageSelectionComboBox->addItem(TQIcon(TQString(":/language/language-"
+ + languageShort + ".png")), tr("Japanese"));
+ }
+ else if (languageShort == "ru")
+ {
+ _settingsDialogForm->languageSelectionComboBox->addItem(TQIcon(TQString(":/language/language-"
+ + languageShort + ".png")), tr("Russian"));
+ }
+ else if (languageShort == "uk")
+ {
+ _settingsDialogForm->languageSelectionComboBox->addItem(TQIcon(TQString(":/language/language-"
+ + languageShort + ".png")), tr("Ukrainian"));
+ }
+ else
+ {
+ _settingsDialogForm->languageSelectionComboBox->addItem(tr(
+ "Unknown language mnemonic ") + languageShort);
+ }
+ }
+}
+
+/*!
+ \brief Displays the dialog by calling the dialogs exec function.
+
+ Before it gets all the values needed from the UiGuiSettings object.
+ */
+int UiGuiSettingsDialog::showDialog()
+{
+ // Init all settings dialog objects with values from settings.
+ _settings->setObjectPropertyToSettingValueRecursive(this);
+
+ // Execute the dialog.
+ return exec();
+}
+
+/*!
+ \brief This slot is called when the dialog box is closed by pressing the Ok button.
+
+ Writes all settings to the UiGuiSettings object.
+ */
+void UiGuiSettingsDialog::writeWidgetValuesToSettings()
+{
+ // Write settings dialog object values to settings.
+ _settings->setSettingToObjectPropertyValueRecursive(this);
+}
+
+/*!
+ \brief Catches language change events and retranslates all needed widgets.
+ */
+void UiGuiSettingsDialog::changeEvent(TQEvent *event)
+{
+ if (event->type() == TQEvent::LanguageChange)
+ {
+ _settingsDialogForm->retranslateUi(this);
+ // If this is not explicit set here, TQt < 4.3.0 does not translate the buttons.
+ _settingsDialogForm->buttonBox->setStandardButtons(
+ TQDialogButtonBox::Cancel | TQDialogButtonBox::NoButton | TQDialogButtonBox::Ok);
+
+ //TODO: This has to be removed when the properties for the highlighters can be set.
+ _settingsDialogForm->groupBoxSyntaxHighlighterProperties->setToolTip(
+ "(Will be implemented soon)" +
+ _settingsDialogForm->groupBoxSyntaxHighlighterProperties->toolTip());
+
+ TQStringList languageShortList = _settings->getAvailableTranslations();
+
+ // Now retranslate every entry in the language selection box.
+ for (int i = 0; i < languageShortList.size(); i++)
+ {
+ TQString languageShort = languageShortList.at(i);
+
+ // Identify the language mnemonic and set the full name.
+ if (languageShort == "en")
+ {
+ _settingsDialogForm->languageSelectionComboBox->setItemText(i, tr("English"));
+ }
+ else if (languageShort == "fr")
+ {
+ _settingsDialogForm->languageSelectionComboBox->setItemText(i, tr("French"));
+ }
+ else if (languageShort == "de")
+ {
+ _settingsDialogForm->languageSelectionComboBox->setItemText(i, tr("German"));
+ }
+ else if (languageShort == "zh_TW")
+ {
+ _settingsDialogForm->languageSelectionComboBox->setItemText(i, tr("Chinese (Taiwan)"));
+ }
+ else if (languageShort == "ja")
+ {
+ _settingsDialogForm->languageSelectionComboBox->setItemText(i, tr("Japanese"));
+ }
+ else if (languageShort == "ru")
+ {
+ _settingsDialogForm->languageSelectionComboBox->setItemText(i, tr("Russian"));
+ }
+ else if (languageShort == "uk")
+ {
+ _settingsDialogForm->languageSelectionComboBox->setItemText(i, tr("Ukrainian"));
+ }
+ else
+ {
+ _settingsDialogForm->languageSelectionComboBox->setItemText(i,
+ tr("Unknown language mnemonic ") + languageShort);
+ }
+ }
+ }
+ else
+ {
+ TQWidget::changeEvent(event);
+ }
+}