Warning, file /frameworks/kwidgetsaddons/tests/ktoolbarlabelactiontest.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002     This file is part of the KDE libraries
0003     SPDX-FileCopyrightText: 2013 Benjamin Port <benjamin.port@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006 */
0007 
0008 #include <QApplication>
0009 #include <QLineEdit>
0010 #include <QMainWindow>
0011 #include <QPushButton>
0012 #include <QString>
0013 #include <QToolBar>
0014 #include <QVBoxLayout>
0015 
0016 #include <ktoolbarlabelaction.h>
0017 
0018 class MainWindow : public QMainWindow
0019 {
0020     Q_OBJECT
0021 private Q_SLOTS:
0022     void updateLabel1()
0023     {
0024         label1->setText(labelText->text());
0025     }
0026 
0027 public:
0028     MainWindow()
0029     {
0030         QWidget *mainWidget = new QWidget(this);
0031         setCentralWidget(mainWidget);
0032 
0033         QVBoxLayout *layout = new QVBoxLayout(mainWidget);
0034         layout->setContentsMargins(0, 0, 0, 0);
0035         layout->setSpacing(0);
0036         QToolBar *toolBar = addToolBar(QStringLiteral("Toolbar"));
0037 
0038         labelText = new QLineEdit();
0039         QPushButton *validateButton = new QPushButton(QStringLiteral("Update label"));
0040 
0041         layout->addWidget(labelText);
0042         layout->addWidget(validateButton);
0043         connect(validateButton, &QAbstractButton::clicked, this, &MainWindow::updateLabel1);
0044 
0045         QWidgetAction *lineEditAction2 = new QWidgetAction(toolBar);
0046         QLineEdit *lineEdit2 = new QLineEdit;
0047         lineEditAction2->setDefaultWidget(lineEdit2);
0048         label1 = new KToolBarLabelAction(QStringLiteral("&Label 1"), toolBar);
0049         label2 = new KToolBarLabelAction(lineEditAction2, QStringLiteral("&Second label"), toolBar);
0050         QWidgetAction *lineEditAction = new QWidgetAction(toolBar);
0051         QLineEdit *lineEdit = new QLineEdit;
0052         lineEditAction->setDefaultWidget(lineEdit);
0053         // set buddy for label1
0054         label1->setBuddy(lineEditAction);
0055         toolBar->addAction(label1);
0056         toolBar->addAction(lineEditAction);
0057         toolBar->addAction(label2);
0058         toolBar->addAction(lineEditAction2);
0059     }
0060 
0061     QLineEdit *labelText;
0062     KToolBarLabelAction *label1;
0063     KToolBarLabelAction *label2;
0064 };
0065 
0066 int main(int argc, char **argv)
0067 {
0068     QApplication::setApplicationName(QStringLiteral("Test KToolBarLabelAction"));
0069     QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true);
0070     QApplication app(argc, argv);
0071 
0072     MainWindow *window = new MainWindow;
0073     window->show();
0074 
0075     return app.exec();
0076 }
0077 
0078 #include "ktoolbarlabelactiontest.moc"