summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiels Weber <niels.2.weber@nokia.com>2010-11-02 15:47:19 +0100
committerNiels Weber <niels.2.weber@nokia.com>2010-11-02 15:47:19 +0100
commitdb1f7663b82019b16fb06e2ed7d7263d0b4a7149 (patch)
tree9be17ad6416ce6a9df4f4aeb353bc6d72ca4f468
parentf4994a4546de128ae309c7f3ee2179035737fb5e (diff)
Change text color of invalid input to red.
Done-with: ckamm Reviewed-by: owolff
-rw-r--r--library/components/locationui.cpp9
-rw-r--r--library/toolbox.cpp15
-rw-r--r--library/toolbox.h3
3 files changed, 27 insertions, 0 deletions
diff --git a/library/components/locationui.cpp b/library/components/locationui.cpp
index 012d786..86a29d1 100644
--- a/library/components/locationui.cpp
+++ b/library/components/locationui.cpp
@@ -64,6 +64,7 @@ LocationUi::LocationUi(QWidget *parent)
mLatitudeEdit->setValidator(new QDoubleValidator(-90, 90, 10, this));
OptionsItem *item = new OptionsItem(tr("Latitude"), mLatitudeEdit);
connect(mLatitudeEdit, SIGNAL(editingFinished()), SLOT(emitLocationChange()));
+ connect(mLatitudeEdit, SIGNAL(textChanged(QString)), SLOT(checkValid()));
item->setTags(tags);
optionsList << item;
@@ -71,6 +72,7 @@ LocationUi::LocationUi(QWidget *parent)
mLongitudeEdit->setValidator(new QDoubleValidator(-180, 180, 10, this));
item = new OptionsItem(tr("Longitude"), mLongitudeEdit);
connect(mLongitudeEdit, SIGNAL(editingFinished()), SLOT(emitLocationChange()));
+ connect(mLongitudeEdit, SIGNAL(textChanged(QString)), SLOT(checkValid()));
item->setTags(tags);
optionsList << item;
@@ -78,6 +80,7 @@ LocationUi::LocationUi(QWidget *parent)
mAltitudeEdit->setValidator(new QDoubleValidator(-15000, 15000, 10, this));
item = new OptionsItem(tr("Altitude"), mAltitudeEdit);
connect(mAltitudeEdit, SIGNAL(editingFinished()), SLOT(emitLocationChange()));
+ connect(mAltitudeEdit, SIGNAL(textChanged(QString)), SLOT(checkValid()));
item->setTags(tags);
optionsList << item;
@@ -85,6 +88,7 @@ LocationUi::LocationUi(QWidget *parent)
mDirectionEdit->setValidator(new QDoubleValidator(0, 360, 2, this));
item = new OptionsItem(tr("Direction"), mDirectionEdit);
connect(mDirectionEdit, SIGNAL(editingFinished()), SLOT(emitLocationChange()));
+ connect(mDirectionEdit, SIGNAL(textChanged(QString)), SLOT(checkValid()));
item->setTags(tags);
optionsList << item;
@@ -92,6 +96,7 @@ LocationUi::LocationUi(QWidget *parent)
mGroundSpeedEdit->setValidator(new QDoubleValidator(0, 300000000, 2, this));
item = new OptionsItem(tr("Ground speed"), mGroundSpeedEdit);
connect(mGroundSpeedEdit, SIGNAL(editingFinished()), SLOT(emitLocationChange()));
+ connect(mGroundSpeedEdit, SIGNAL(textChanged(QString)), SLOT(checkValid()));
item->setTags(tags);
optionsList << item;
@@ -99,6 +104,7 @@ LocationUi::LocationUi(QWidget *parent)
mVerticalSpeedEdit->setValidator(new QDoubleValidator(-300000000, 300000000, 2, this));
item = new OptionsItem(tr("Vertical speed"), mVerticalSpeedEdit);
connect(mVerticalSpeedEdit, SIGNAL(editingFinished()), SLOT(emitLocationChange()));
+ connect(mVerticalSpeedEdit, SIGNAL(textChanged(QString)), SLOT(checkValid()));
item->setTags(tags);
optionsList << item;
@@ -106,6 +112,7 @@ LocationUi::LocationUi(QWidget *parent)
mMagneticVariationEdit->setValidator(new QDoubleValidator(-180, 180, 2, this));
item = new OptionsItem(tr("Magnetic variation"), mMagneticVariationEdit);
connect(mMagneticVariationEdit, SIGNAL(editingFinished()), SLOT(emitLocationChange()));
+ connect(mMagneticVariationEdit, SIGNAL(textChanged(QString)), SLOT(checkValid()));
item->setTags(tags);
optionsList << item;
@@ -113,6 +120,7 @@ LocationUi::LocationUi(QWidget *parent)
mHorizontalAccuracyEdit->setValidator(new QDoubleValidator(0, 100000, 2, this));
item = new OptionsItem(tr("Horizontal accuracy"), mHorizontalAccuracyEdit);
connect(mHorizontalAccuracyEdit, SIGNAL(editingFinished()), SLOT(emitLocationChange()));
+ connect(mHorizontalAccuracyEdit, SIGNAL(textChanged(QString)), SLOT(checkValid()));
item->setTags(tags);
optionsList << item;
@@ -120,6 +128,7 @@ LocationUi::LocationUi(QWidget *parent)
mVerticalAccuracyEdit->setValidator(new QDoubleValidator(0, 100000, 2, this));
item = new OptionsItem(tr("Vertical accuracy"), mVerticalAccuracyEdit);
connect(mVerticalAccuracyEdit, SIGNAL(editingFinished()), SLOT(emitLocationChange()));
+ connect(mVerticalAccuracyEdit, SIGNAL(textChanged(QString)), SLOT(checkValid()));
item->setTags(tags);
optionsList << item;
diff --git a/library/toolbox.cpp b/library/toolbox.cpp
index 5f883e0..584f537 100644
--- a/library/toolbox.cpp
+++ b/library/toolbox.cpp
@@ -40,6 +40,8 @@
#include <QtGui/QFormLayout>
#include <QtGui/QSpacerItem>
#include <QtGui/QScrollBar>
+#include <QtGui/QLineEdit>
+#include <QtGui/QValidator>
using namespace Utils;
@@ -218,6 +220,19 @@ void ToolBoxPage::setTitle(const QString &title)
mButton->setText(title);
}
+void ToolBoxPage::checkValid()
+{
+ QLineEdit *lineEdit = qobject_cast<QLineEdit *>(sender());
+ if (!lineEdit)
+ return;
+
+ QPalette palette;
+ if (!lineEdit->hasAcceptableInput()) {
+ palette.setColor(QPalette::Text, Qt::red);
+ }
+ lineEdit->setPalette(palette);
+}
+
void ToolBoxPage::init()
{
//Initially add all the "basic" items to the page, even if nothing is visible
diff --git a/library/toolbox.h b/library/toolbox.h
index 337e402..8e8d18b 100644
--- a/library/toolbox.h
+++ b/library/toolbox.h
@@ -86,6 +86,9 @@ public:
void setOptions(const QList<OptionsItem *> &options);
void setTitle(const QString &title);
+protected slots:
+ void checkValid();
+
private slots:
unsigned int changeFilters(const QStringList &filters);
void toggleAdvanced(OptionsItem *item);