void Pane::focusQuickSearch() { Widget *widget = currentMessageListViewWidget(); if ( widget ) { KLineEdit *quickSearch = widget->quickSearch(); if ( quickSearch ) quickSearch->setFocus(); } }
OnlineSearchQueryFormGeneral::OnlineSearchQueryFormGeneral(QWidget *parent) : OnlineSearchQueryFormAbstract(parent), configGroupName(QStringLiteral("Search Engine General")) { QFormLayout *layout = new QFormLayout(this); layout->setMargin(0); QLabel *label = new QLabel(i18n("Free text:"), this); KLineEdit *lineEdit = new KLineEdit(this); layout->addRow(label, lineEdit); lineEdit->setClearButtonEnabled(true); lineEdit->setFocus(Qt::TabFocusReason); queryFields.insert(OnlineSearchAbstract::queryKeyFreeText, lineEdit); label->setBuddy(lineEdit); connect(lineEdit, &KLineEdit::returnPressed, this, &OnlineSearchQueryFormGeneral::returnPressed); label = new QLabel(i18n("Title:"), this); lineEdit = new KLineEdit(this); layout->addRow(label, lineEdit); lineEdit->setClearButtonEnabled(true); queryFields.insert(OnlineSearchAbstract::queryKeyTitle, lineEdit); label->setBuddy(lineEdit); connect(lineEdit, &KLineEdit::returnPressed, this, &OnlineSearchQueryFormGeneral::returnPressed); label = new QLabel(i18n("Author:"), this); lineEdit = new KLineEdit(this); layout->addRow(label, lineEdit); lineEdit->setClearButtonEnabled(true); queryFields.insert(OnlineSearchAbstract::queryKeyAuthor, lineEdit); label->setBuddy(lineEdit); connect(lineEdit, &KLineEdit::returnPressed, this, &OnlineSearchQueryFormGeneral::returnPressed); label = new QLabel(i18n("Year:"), this); lineEdit = new KLineEdit(this); layout->addRow(label, lineEdit); lineEdit->setClearButtonEnabled(true); queryFields.insert(OnlineSearchAbstract::queryKeyYear, lineEdit); label->setBuddy(lineEdit); connect(lineEdit, &KLineEdit::returnPressed, this, &OnlineSearchQueryFormGeneral::returnPressed); label = new QLabel(i18n("Number of Results:"), this); numResultsField = new QSpinBox(this); layout->addRow(label, numResultsField); numResultsField->setMinimum(3); numResultsField->setMaximum(100); numResultsField->setValue(20); label->setBuddy(numResultsField); loadState(); }
Security8021xAuthWidget::Security8021xAuthWidget(Knm::Connection* connection, const QStringList &secrets, QWidget * parent) : SettingWidget(*new Security8021xAuthWidgetPrivate, parent) { Q_D(Security8021xAuthWidget); d->connection = connection; d->setting = static_cast<Knm::Security8021xSetting *>(connection->setting(Knm::Setting::Security8021x)); d->layout = new QFormLayout(this); this->setLayout(d->layout); if (secrets.contains(QLatin1String("password"))) { QLabel *label = new QLabel(this); label->setText(i18n("Password:"******"setting", "password"); d->layout->addRow(label, lineEdit); } if (secrets.contains(QLatin1String("private-key-password"))) { QLabel *label = new QLabel(this); label->setText(i18n("Private Key Password:"******"setting", "private-key-password"); d->layout->addRow(label, lineEdit); } if (secrets.contains(QLatin1String("phase2-private-key-password"))) { QLabel *label = new QLabel(this); label->setText(i18n("Phase 2 Private Key Password:"******"setting", "phase2-private-key-password"); d->layout->addRow(label, lineEdit); } for (int i = 0; i < d->layout->rowCount(); i++) { KLineEdit *le = qobject_cast<KLineEdit*>(d->layout->itemAt(i, QFormLayout::FieldRole)->widget()); if (le && le->text().isEmpty()) { le->setFocus(Qt::OtherFocusReason); break; } } QCheckBox *showPasswords = new QCheckBox(this); showPasswords->setText(i18n("&Show password")); d->layout->setWidget(d->layout->rowCount(), QFormLayout::FieldRole, showPasswords); connect(showPasswords, SIGNAL(toggled(bool)), this, SLOT(showPasswordsToggled(bool))); d->layout->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding)); }
void KNewFileMenuPrivate::executeRealFileOrDir(const KNewFileMenuSingleton::Entry& entry) { // The template is not a desktop file // Show the small dialog for getting the destination filename QString text = entry.text; text.remove("..."); // the ... is fine for the menu item but not for the default filename text = text.trimmed(); // In some languages, there is a space in front of "...", see bug 268895 m_strategy.m_src = entry.templatePath; KUrl defaultFile(m_popupFiles.first()); defaultFile.addPath(KIO::encodeFileName(text)); if (defaultFile.isLocalFile() && QFile::exists(defaultFile.toLocalFile())) text = KIO::RenameDialog::suggestName(m_popupFiles.first(), text); KDialog* fileDialog = new KDialog(m_parentWidget); fileDialog->setAttribute(Qt::WA_DeleteOnClose); fileDialog->setModal(q->isModal()); fileDialog->setButtons(KDialog::Ok | KDialog::Cancel); QWidget* mainWidget = new QWidget(fileDialog); QVBoxLayout *layout = new QVBoxLayout(mainWidget); QLabel *label = new QLabel(entry.comment); // We don't set the text of lineEdit in its constructor because the clear button would not be shown then. // It seems that setClearButtonShown(true) must be called *before* the text is set to make it work. // TODO: should probably be investigated and fixed in KLineEdit. KLineEdit *lineEdit = new KLineEdit; lineEdit->setClearButtonShown(true); lineEdit->setText(text); _k_slotTextChanged(text); QObject::connect(lineEdit, SIGNAL(textChanged(const QString &)), q, SLOT(_k_slotTextChanged(const QString &))); layout->addWidget(label); layout->addWidget(lineEdit); fileDialog->setMainWidget(mainWidget); QObject::connect(fileDialog, SIGNAL(accepted()), q, SLOT(_k_slotRealFileOrDir())); QObject::connect(fileDialog, SIGNAL(rejected()), q, SLOT(_k_slotAbortDialog())); fileDialog->show(); lineEdit->selectAll(); lineEdit->setFocus(); }
void TestGlobalSearch::testGlobalSearch() { QString filename(QFile::decodeName(FILES_DATA_DIR "/TestGlobalSearch.kexi")); kDebug() << filename; NewArgs args(m_argv); args.vals[args.count - 1] = qstrdup(QFile::encodeName(filename).constData()); KexiAboutData aboutData; aboutData.setProgramName(ki18n(metaObject()->className())); int result = KexiMainWindow::create(args.count, args.vals, aboutData); QVERIFY(kapp); QCOMPARE(result, 0); KLineEdit *lineEdit = kexiTester().widget<KLineEdit*>("globalSearch.lineEdit"); QVERIFY(lineEdit); QTreeView *treeView = kexiTester().widget<QTreeView*>("globalSearch.treeView"); QVERIFY(treeView); lineEdit->setFocus(); // enter "cars", expect 4 completion items QTest::keyClicks(lineEdit, "cars"); QVERIFY(treeView->isVisible()); int globalSearchCompletionListRows = treeView->model()->rowCount(); QCOMPARE(globalSearchCompletionListRows, 4); // add "x", expect no completion items and hidden list QTest::keyClicks(lineEdit, "x"); QVERIFY(!treeView->isVisible()); globalSearchCompletionListRows = treeView->model()->rowCount(); QCOMPARE(globalSearchCompletionListRows, 0); // Escape should clear QTest::keyClick(lineEdit, Qt::Key_Escape, Qt::NoModifier, GUI_DELAY); QVERIFY(lineEdit->text().isEmpty()); QTest::keyClicks(lineEdit, "cars"); QVERIFY(treeView->isVisible()); treeView->setFocus(); QTest::keyPress(treeView, Qt::Key_Down, Qt::NoModifier, GUI_DELAY); QTest::keyPress(treeView, Qt::Key_Down, Qt::NoModifier, GUI_DELAY); QTest::keyPress(treeView, Qt::Key_Down, Qt::NoModifier, GUI_DELAY); // 3rd row should be "cars" form QModelIndexList selectedIndices = treeView->selectionModel()->selectedRows(); QCOMPARE(selectedIndices.count(), 1); QCOMPARE(treeView->model()->data(selectedIndices.first(), Qt::DisplayRole).toString(), QLatin1String("cars")); // check if proper entry of Project Navigator is selected QTest::keyPress(treeView, Qt::Key_Enter, Qt::NoModifier, GUI_DELAY); KexiProjectNavigator *projectNavigator = kexiTester().widget<KexiProjectNavigator*>("KexiProjectNavigator"); QVERIFY(projectNavigator); KexiPart::Item* selectedPartItem = projectNavigator->selectedPartItem(); QVERIFY(selectedPartItem); QCOMPARE(selectedPartItem->name(), QLatin1String("cars")); QCOMPARE(selectedPartItem->partClass(), QLatin1String("org.kexi-project.form")); if (m_goToEventLoop) { result = kapp->exec(); QCOMPARE(result, 0); } }
void AssocGenPage::constructWidget() { // general configuration of the GUI int margin = fontMetrics().height(); setMinimumSize(310,330); QVBoxLayout * topLayout = new QVBoxLayout(this); topLayout->setSpacing(6); // group boxes for name, documentation properties QGroupBox *nameGB = new QGroupBox(this); QGroupBox *docGB = new QGroupBox(this); nameGB->setTitle(i18n("Properties")); docGB->setTitle(i18n("Documentation")); topLayout->addWidget(nameGB); topLayout->addWidget(docGB); QGridLayout * nameLayout = new QGridLayout(nameGB); nameLayout->setSpacing(6); nameLayout->setMargin(margin); //Association name QLabel *pAssocNameL = NULL; KLineEdit* nameField = Dialog_Utils::makeLabeledEditField( nameGB, nameLayout, 0, pAssocNameL, i18nc("name of association widget", "Name:"), m_pAssocNameLE, m_pAssociationWidget->getName() ); nameField->setFocus(); // document QHBoxLayout * docLayout = new QHBoxLayout(docGB); docLayout->setMargin(margin); m_pDoc = new KTextEdit(docGB); docLayout->addWidget(m_pDoc); m_pDoc->setText(m_pAssociationWidget->documentation()); Uml::Association_Type currentType = m_pAssociationWidget->associationType(); QString currentTypeAsString = UMLAssociation::toString(currentType); QLabel *pTypeL = new QLabel(i18n("Type:"), nameGB); nameLayout->addWidget(pTypeL, 1, 0); /* Here is a list of all the supported choices for changing association types */ m_AssocTypes.clear(); m_AssocTypes << currentType; // dynamically load all allowed associations for ( int i = Uml::at_Generalization; i<= Uml::at_Relationship ; ++i ) { // we don't need to check for current type if ( ( Uml::Association_Type )i == currentType ) continue; if ( AssocRules::allowAssociation( ( Uml::Association_Type )i, m_pAssociationWidget->getWidget( Uml::A ), m_pAssociationWidget->getWidget( Uml::B )) ) { m_AssocTypes << (Uml::Association_Type)i; } } bool found=false; m_AssocTypeStrings.clear(); for (int i = 0; i < m_AssocTypes.size(); ++i) { if (m_AssocTypes[i] == currentType) found=true; QString typeStr = UMLAssociation::toString(m_AssocTypes[i]); m_AssocTypeStrings << typeStr; } if (!found) { m_AssocTypes.clear(); m_AssocTypes << currentType; m_AssocTypeStrings.clear(); m_AssocTypeStrings << currentTypeAsString; } m_pTypeCB = new KComboBox(nameGB); pTypeL->setBuddy(m_pTypeCB); m_pTypeCB->addItems(m_AssocTypeStrings); m_pTypeCB->setCompletedItems(m_AssocTypeStrings); m_pTypeCB->setDuplicatesEnabled(false); // only allow one of each type in box m_pTypeCB->setCompletionMode( KGlobalSettings::CompletionPopup ); m_pDoc->setWordWrapMode(QTextOption::WordWrap); nameLayout->addWidget(m_pTypeCB, 1, 1); }