File indexing completed on 2024-12-08 12:26:07
0001 /* 0002 SPDX-FileCopyrightText: 2001 Simon Hausmann <hausmann@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "kxmlguitest.h" 0008 0009 #include <QAction> 0010 #include <QApplication> 0011 #include <QDir> 0012 #include <QLineEdit> 0013 #include <QTest> 0014 0015 #include <kactioncollection.h> 0016 #include <kmainwindow.h> 0017 #include <kxmlguibuilder.h> 0018 #include <kxmlguifactory.h> 0019 0020 void Client::slotSec() 0021 { 0022 qDebug() << "Client::slotSec()"; 0023 } 0024 0025 int main(int argc, char **argv) 0026 { 0027 QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); 0028 QApplication::setApplicationName(QStringLiteral("test")); 0029 QApplication app(argc, argv); 0030 QAction *a; 0031 0032 KMainWindow *mainwindow = new KMainWindow; 0033 0034 QLineEdit *line = new QLineEdit(mainwindow); 0035 mainwindow->setCentralWidget(line); 0036 0037 mainwindow->show(); 0038 0039 KXMLGUIBuilder *builder = new KXMLGUIBuilder(mainwindow); 0040 0041 KXMLGUIFactory *factory = new KXMLGUIFactory(builder); 0042 0043 Client *shell = new Client; 0044 shell->setComponentName(QStringLiteral("konqueror"), QStringLiteral("Konqueror")); 0045 0046 a = new QAction(QIcon::fromTheme(QStringLiteral("view-split-left-right")), QStringLiteral("Split"), shell); 0047 shell->actionCollection()->addAction(QStringLiteral("splitviewh"), a); 0048 0049 shell->setXMLFile(QFINDTESTDATA("kxmlguitest_shell.rc")); 0050 0051 factory->addClient(shell); 0052 0053 Client *part = new Client; 0054 0055 a = new QAction(QIcon::fromTheme(QStringLiteral("zoom-out")), QStringLiteral("decfont"), part); 0056 part->actionCollection()->addAction(QStringLiteral("decFontSizes"), a); 0057 a = new QAction(QIcon::fromTheme(QStringLiteral("security-low")), QStringLiteral("sec"), part); 0058 part->actionCollection()->addAction(QStringLiteral("security"), a); 0059 part->actionCollection()->setDefaultShortcuts(a, QList<QKeySequence>() << QKeySequence{Qt::ALT | Qt::Key_1}); 0060 a->connect(a, &QAction::triggered, part, &Client::slotSec); 0061 0062 part->setXMLFile(QFINDTESTDATA("kxmlguitest_part.rc")); 0063 0064 factory->addClient(part); 0065 for (int i = 0; i < 10; ++i) { 0066 factory->removeClient(part); 0067 factory->addClient(part); 0068 } 0069 0070 return app.exec(); 0071 } 0072 0073 #include "moc_kxmlguitest.cpp"