File indexing completed on 2024-05-19 05:35:23

0001 //////////////////////////////////////////////////////////////////////////////
0002 // oxygeninputdemowidget.cpp
0003 // oxygen input widgets (e.g. text editors) demo widget
0004 // -------------------
0005 //
0006 // SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr>
0007 //
0008 // SPDX-License-Identifier: MIT
0009 //////////////////////////////////////////////////////////////////////////////
0010 
0011 #include "oxygeninputdemowidget.h"
0012 
0013 namespace Oxygen
0014 {
0015 //________________________________________________________________
0016 InputDemoWidget::InputDemoWidget(QWidget *parent)
0017     : DemoWidget(parent)
0018 {
0019     ui.setupUi(this);
0020     ui.klineedit->setText(i18n("Example text"));
0021     ui.klineedit_2->setText(i18n("password"));
0022     ui.kcombobox->insertSeparator(2);
0023     ui.textedit->setPlainText(
0024         QStringLiteral("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor "
0025                        "incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud "
0026                        "exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute "
0027                        "irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla "
0028                        "pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia "
0029                        "deserunt mollit anim id est laborum. \n\n"
0030                        "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque "
0031                        "laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi "
0032                        "architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas "
0033                        "sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione "
0034                        "voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit "
0035                        "amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut "
0036                        "labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis "
0037                        "nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi "
0038                        "consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam "
0039                        "nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla "
0040                        "pariatur?"));
0041     ui.textedit->setLineWrapMode(QTextEdit::NoWrap);
0042     connect(ui.flatCheckBox, SIGNAL(toggled(bool)), SLOT(toggleFlatWidgets(bool)));
0043     connect(ui.wrapCheckBox, SIGNAL(toggled(bool)), SLOT(toggleWrapMode(bool)));
0044     ui.wrapCheckBox->setChecked(true);
0045 }
0046 
0047 //________________________________________________________________
0048 void InputDemoWidget::benchmark(void)
0049 {
0050     if (!isVisible())
0051         return;
0052 
0053     if (true) {
0054         // klineedit
0055         simulator().clearText(ui.klineedit);
0056         simulator().writeSampleText(ui.klineedit);
0057         simulator().clearText(ui.klineedit);
0058 
0059         simulator().clearText(ui.klineedit_2);
0060         simulator().writeSampleText(ui.klineedit_2);
0061         simulator().clearText(ui.klineedit_2);
0062 
0063         simulator().clearText(ui.kcombobox->lineEdit());
0064         simulator().writeSampleText(ui.kcombobox->lineEdit());
0065         simulator().clearText(ui.kcombobox->lineEdit());
0066 
0067         simulator().selectComboBoxItem(ui.kcombobox, 0);
0068         simulator().selectComboBoxItem(ui.kcombobox, 1);
0069         simulator().selectComboBoxItem(ui.kcombobox, 2);
0070         simulator().selectComboBoxItem(ui.kcombobox, 0);
0071 
0072         simulator().clearText(ui.kintspinbox);
0073         simulator().writeText(ui.kintspinbox, QStringLiteral("10"));
0074         simulator().clearText(ui.kintspinbox);
0075         simulator().writeText(ui.kintspinbox, QStringLiteral("0"));
0076     }
0077 
0078     if (true) {
0079         // toggle flat widgets
0080         simulator().click(ui.flatCheckBox);
0081         simulator().click(ui.flatCheckBox);
0082     }
0083 
0084     if (true) {
0085         // toggle wrap mode
0086         simulator().click(ui.wrapCheckBox);
0087         simulator().click(ui.wrapCheckBox);
0088 
0089         simulator().clearText(ui.textedit);
0090         simulator().writeSampleText(ui.textedit);
0091         simulator().clearText(ui.textedit);
0092     }
0093 
0094     simulator().run();
0095 }
0096 
0097 //________________________________________________________________
0098 void InputDemoWidget::toggleFlatWidgets(bool value)
0099 {
0100     ui.klineedit->setFrame(!value);
0101     ui.klineedit_2->setFrame(!value);
0102     ui.kcombobox->setFrame(!value);
0103     ui.kintspinbox->setFrame(!value);
0104 }
0105 
0106 //________________________________________________________________
0107 void InputDemoWidget::toggleWrapMode(bool value)
0108 {
0109     if (value)
0110         ui.textedit->setLineWrapMode(QTextEdit::WidgetWidth);
0111     else
0112         ui.textedit->setLineWrapMode(QTextEdit::NoWrap);
0113 }
0114 }