summaryrefslogtreecommitdiffstats
path: root/tests/manual/inputmethodhints
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@accenture.com>2010-08-06 11:38:18 +0100
committerShane Kearns <shane.kearns@accenture.com>2010-08-06 11:44:16 +0100
commitd2a52ba7d5fa48632d6f0092da8db97188993252 (patch)
treea69a22353de4cf99736bd4272ab67ac34fa672c0 /tests/manual/inputmethodhints
parent6b61a2787759673f246493453c0809d24c9d6ae5 (diff)
Test code for input method hints
A simple test application to set any combination of input method hints on a QLineEdit widget. This makes it easier to debug when the original report relies on webkit. Task-number: QT-3681 Reviewed-by: Miikka Heikkinen
Diffstat (limited to 'tests/manual/inputmethodhints')
-rw-r--r--tests/manual/inputmethodhints/inputmethodhints.cpp99
-rw-r--r--tests/manual/inputmethodhints/inputmethodhints.h63
-rw-r--r--tests/manual/inputmethodhints/inputmethodhints.pro13
-rw-r--r--tests/manual/inputmethodhints/inputmethodhints.ui138
-rw-r--r--tests/manual/inputmethodhints/main.cpp53
5 files changed, 366 insertions, 0 deletions
diff --git a/tests/manual/inputmethodhints/inputmethodhints.cpp b/tests/manual/inputmethodhints/inputmethodhints.cpp
new file mode 100644
index 0000000000..0c00b8d209
--- /dev/null
+++ b/tests/manual/inputmethodhints/inputmethodhints.cpp
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "inputmethodhints.h"
+
+inputmethodhints::inputmethodhints(QWidget *parent)
+ : QMainWindow(parent)
+{
+ ui.setupUi(this);
+ connect(ui.cbDialableOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbDigitsOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbEmailOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbFormattedNumbersOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbHiddenText, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbLowercaseOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbNoAutoUppercase, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbNoPredictiveText, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbPreferLowercase, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbPreferNumbers, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbPreferUpperCase, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbUppercaseOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+ connect(ui.cbUrlOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int)));
+}
+
+inputmethodhints::~inputmethodhints()
+{
+
+}
+
+void inputmethodhints::checkboxChanged(int)
+{
+ int flags = 0;
+ if (ui.cbDialableOnly->isChecked())
+ flags |= Qt::ImhDialableCharactersOnly;
+ if (ui.cbDigitsOnly->isChecked())
+ flags |= Qt::ImhDigitsOnly;
+ if (ui.cbEmailOnly->isChecked())
+ flags |= Qt::ImhEmailCharactersOnly;
+ if (ui.cbFormattedNumbersOnly->isChecked())
+ flags |= Qt::ImhFormattedNumbersOnly;
+ if (ui.cbHiddenText->isChecked())
+ flags |= Qt::ImhHiddenText;
+ if (ui.cbLowercaseOnly->isChecked())
+ flags |= Qt::ImhLowercaseOnly;
+ if (ui.cbNoAutoUppercase->isChecked())
+ flags |= Qt::ImhNoAutoUppercase;
+ if (ui.cbNoPredictiveText->isChecked())
+ flags |= Qt::ImhNoPredictiveText;
+ if (ui.cbPreferLowercase->isChecked())
+ flags |= Qt::ImhPreferLowercase;
+ if (ui.cbPreferNumbers->isChecked())
+ flags |= Qt::ImhPreferNumbers;
+ if (ui.cbPreferUpperCase->isChecked())
+ flags |= Qt::ImhPreferUppercase;
+ if (ui.cbUppercaseOnly->isChecked())
+ flags |= Qt::ImhUppercaseOnly;
+ if (ui.cbUrlOnly->isChecked())
+ flags |= Qt::ImhUrlCharactersOnly;
+ ui.lineEdit->clear();
+ ui.lineEdit->setInputMethodHints(Qt::InputMethodHints(flags));
+}
diff --git a/tests/manual/inputmethodhints/inputmethodhints.h b/tests/manual/inputmethodhints/inputmethodhints.h
new file mode 100644
index 0000000000..988a4be0d2
--- /dev/null
+++ b/tests/manual/inputmethodhints/inputmethodhints.h
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef INPUTMETHODHINTS_H
+#define INPUTMETHODHINTS_H
+
+#include <QtGui/QMainWindow>
+#include "ui_tst_inputmethodhints.h"
+
+class inputmethodhints : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ inputmethodhints(QWidget *parent = 0);
+ ~inputmethodhints();
+
+public slots:
+ void checkboxChanged(int);
+
+private:
+ Ui::MainWindow ui;
+};
+
+#endif // INPUTMETHODHINTS_H
diff --git a/tests/manual/inputmethodhints/inputmethodhints.pro b/tests/manual/inputmethodhints/inputmethodhints.pro
new file mode 100644
index 0000000000..7298ec66e1
--- /dev/null
+++ b/tests/manual/inputmethodhints/inputmethodhints.pro
@@ -0,0 +1,13 @@
+TEMPLATE = app
+TARGET = tst_inputmethodhints
+
+QT += core \
+ gui
+
+HEADERS += inputmethodhints.h
+SOURCES += main.cpp \
+ inputmethodhints.cpp
+FORMS += inputmethodhints.ui
+RESOURCES +=
+
+symbian:TARGET.UID3 = 0xE4938ABC
diff --git a/tests/manual/inputmethodhints/inputmethodhints.ui b/tests/manual/inputmethodhints/inputmethodhints.ui
new file mode 100644
index 0000000000..d0dc01d61f
--- /dev/null
+++ b/tests/manual/inputmethodhints/inputmethodhints.ui
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>360</width>
+ <height>640</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MainWindow</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>1</number>
+ </property>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>behaviour</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QCheckBox" name="cbHiddenText">
+ <property name="text">
+ <string>ImhHiddenText</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbNoAutoUppercase">
+ <property name="text">
+ <string>ImhNoAutoUppercase</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbPreferNumbers">
+ <property name="text">
+ <string>ImhPreferNumbers</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbPreferUpperCase">
+ <property name="text">
+ <string>ImhPreferUppercase</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbPreferLowercase">
+ <property name="text">
+ <string>ImhPreferLowercase</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbNoPredictiveText">
+ <property name="text">
+ <string>ImhNoPredictiveText</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_2">
+ <attribute name="title">
+ <string>restrictions</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QCheckBox" name="cbDigitsOnly">
+ <property name="text">
+ <string>ImhDigitsOnly</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbFormattedNumbersOnly">
+ <property name="text">
+ <string>ImhFormattedNumbersOnly</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbUppercaseOnly">
+ <property name="text">
+ <string>ImhUppercaseOnly</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbLowercaseOnly">
+ <property name="text">
+ <string>ImhLowercaseOnly</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbDialableOnly">
+ <property name="text">
+ <string>ImhDialableCharactersOnly</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbEmailOnly">
+ <property name="text">
+ <string>ImhEmailCharactersOnly</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbUrlOnly">
+ <property name="text">
+ <string>ImhUrlCharactersOnly</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit"/>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/tests/manual/inputmethodhints/main.cpp b/tests/manual/inputmethodhints/main.cpp
new file mode 100644
index 0000000000..022bf3fbeb
--- /dev/null
+++ b/tests/manual/inputmethodhints/main.cpp
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "inputmethodhints.h"
+
+#include <QtGui>
+#include <QApplication>
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ inputmethodhints w;
+ w.showMaximized();
+ return a.exec();
+}