Clean and order documentation in source files. Source ready to beta 2 release
[mdictionary] / src / mdictionary / gui / SettingsWidget.cpp
index 25ccc90..06226a9 100644 (file)
 
 *******************************************************************************/
 
-//! \file SettingsWidget.cpp
-//! \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+/*! \file DictManagerWidget.cpp
+    \brief Implements applications settings widget
+    \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+*/
 
 #include "SettingsWidget.h"
 #include <QDebug>
 
 SettingsWidget::SettingsWidget(GUIInterface *parent) :
-    QDialog(parent)
+        QDialog(parent)
 {
     guiInterface = parent;
 
     setWindowTitle(tr("Settings"));
 
     initalizeUI();
+
+    setModal(true);
 }
 
 void SettingsWidget::initalizeUI() {
     verticalLayout = new QVBoxLayout;
     setLayout(verticalLayout);
 
-    historySizeSpinBox = new QSpinBox;
-    searchResultSizeSpinBox = new QSpinBox;
+    historySizeLayout = new QHBoxLayout;
 
-    limitTip = "Limit maximal number of finded words, affect only when "
-                "searching in file";
-    searchResultSizeSpinBox->setToolTip(limitTip);
+    historySizeSpinBox = new SpinBox;
+    historySizeSpinBox->setMinimum(1);
+    historySizeSpinBox->setMaximum(50);
 
+    historySizeToolTip = tr("Limits maximum number of words saved in history");
+
+    #ifdef Q_WS_MAEMO_5
+        historySizeInfoToolButton = new QToolButton;
+        historySizeInfoToolButton->setIcon(QIcon::fromTheme("general_information"));
+    #endif
+
+    historySizeLayout->addWidget(historySizeSpinBox);
+    #ifdef Q_WS_MAEMO_5
+        historySizeLayout->addWidget(historySizeInfoToolButton);
+    #endif
 
-    spinBoxesFormLayout = new QFormLayout;
-    spinBoxesFormLayout->addRow(tr("Search result size"),
-                                searchResultSizeSpinBox);
-    spinBoxesFormLayout->addRow(tr("History size"),
-                                historySizeSpinBox);
 
+
+
+    searchResultLayout = new QHBoxLayout;
+
+    searchResultSizeSpinBox = new SpinBox;
     searchResultSizeSpinBox->setMinimum(0);
+    searchResultSizeSpinBox->setMaximum(500);
     searchResultSizeSpinBox->setSpecialValueText(tr("Unlimited"));
-    historySizeSpinBox->setMinimum(1);
 
-    searchResultSizeSpinBox->setMaximum(500);
-    historySizeSpinBox->setMaximum(50);
+    searchResultSizeToolTip = tr("Limits maximum number of found words, affects"
+                                 " only when searching in file.");
 
     #ifdef Q_WS_MAEMO_5
-        verticalLayout->addSpacing(20);
+        searchResultSizeInfoToolButton = new QToolButton;
+        searchResultSizeInfoToolButton->setIcon(QIcon::fromTheme("general_information"));
     #endif
+
+    searchResultLayout->addWidget(searchResultSizeSpinBox);
+    #ifdef Q_WS_MAEMO_5
+        searchResultLayout->addWidget(searchResultSizeInfoToolButton);
+    #endif
+
+
+
+
+
+    spinBoxesFormLayout = new QFormLayout;
+    spinBoxesFormLayout->addRow(tr("Search result size"),
+                                searchResultLayout);
+    spinBoxesFormLayout->addRow(tr("History size"),
+                                historySizeLayout);
+
+
+
+
     verticalLayout->addLayout(spinBoxesFormLayout);
 
 
     checkBoxesLabel = new QLabel(tr("Search in:"),this);
 
-    searchInBookmarksCheckBox = new QCheckBox(tr("Bookmarks"),this);
-    searchInDictionariesCheckBox = new QCheckBox(tr("Dictionaries"),this);
+    searchInBookmarksCheckBox = new QCheckBox(tr("Bookmarks"));
+    searchInDictionariesCheckBox = new QCheckBox(tr("Dictionaries"));
 
     verticalLayout->addSpacing(20);
     verticalLayout->addWidget(checkBoxesLabel);
@@ -87,6 +121,18 @@ void SettingsWidget::initalizeUI() {
             SLOT(changed()));
 
 
+#ifdef Q_WS_MAEMO_5
+        connect(searchResultSizeInfoToolButton, SIGNAL(clicked()),
+                this, SLOT(showSearchResultSizeInfo()));
+
+        connect(historySizeInfoToolButton, SIGNAL(clicked()),
+                this, SLOT(showHistorySizeInfo()));
+#else
+        historySizeSpinBox->setToolTip(historySizeToolTip);
+        searchResultSizeSpinBox->setToolTip(searchResultSizeToolTip);
+#endif
+
+
     settings = 0;
 
     #ifndef Q_WS_MAEMO_5
@@ -97,6 +143,9 @@ void SettingsWidget::initalizeUI() {
         footerLayout->addStretch(0);
         footerLayout->addWidget(closeButton);
         verticalLayout->addLayout(footerLayout);
+
+        setMinimumHeight(sizeHint().height());
+        setMaximumHeight(sizeHint().height());
         connect(closeButton, SIGNAL(clicked()), this, SLOT(save()));
     #endif
 }
@@ -159,7 +208,7 @@ void SettingsWidget::hideEvent(QHideEvent *e) {
         else
             newSettings->setValue("search_bookmarks", "false");
 
-        //setting new settings only if they are different that old ones
+        //setting new settings only if they are different than old ones
         QString key;
         foreach(key, newSettings->keys()) {
             if(settings->value(key) != newSettings->value(key)) {
@@ -187,3 +236,14 @@ void SettingsWidget::changed() {
         hide();
     }
 #endif
+
+
+#ifdef Q_WS_MAEMO_5
+    void SettingsWidget::showHistorySizeInfo() {
+        Q_EMIT notify(Notify::Warning, historySizeToolTip);
+    }
+
+    void SettingsWidget::showSearchResultSizeInfo() {
+        Q_EMIT notify(Notify::Warning, searchResultSizeToolTip);
+    }
+#endif