File indexing completed on 2024-03-24 04:02:32
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 QApplication::setApplicationName(QStringLiteral("test")); 0028 QApplication app(argc, argv); 0029 QAction *a; 0030 0031 KMainWindow *mainwindow = new KMainWindow; 0032 0033 QLineEdit *line = new QLineEdit(mainwindow); 0034 mainwindow->setCentralWidget(line); 0035 0036 mainwindow->show(); 0037 0038 KXMLGUIBuilder *builder = new KXMLGUIBuilder(mainwindow); 0039 0040 KXMLGUIFactory *factory = new KXMLGUIFactory(builder); 0041 0042 Client *shell = new Client; 0043 shell->setComponentName(QStringLiteral("konqueror"), QStringLiteral("Konqueror")); 0044 0045 a = new QAction(QIcon::fromTheme(QStringLiteral("view-split-left-right")), QStringLiteral("Split"), shell); 0046 shell->actionCollection()->addAction(QStringLiteral("splitviewh"), a); 0047 0048 shell->setXMLFile(QFINDTESTDATA("kxmlguitest_shell.rc")); 0049 0050 factory->addClient(shell); 0051 0052 Client *part = new Client; 0053 0054 a = new QAction(QIcon::fromTheme(QStringLiteral("zoom-out")), QStringLiteral("decfont"), part); 0055 part->actionCollection()->addAction(QStringLiteral("decFontSizes"), a); 0056 a = new QAction(QIcon::fromTheme(QStringLiteral("security-low")), QStringLiteral("sec"), part); 0057 part->actionCollection()->addAction(QStringLiteral("security"), a); 0058 KActionCollection::setDefaultShortcuts(a, QList<QKeySequence>() << QKeySequence{Qt::ALT | Qt::Key_1}); 0059 a->connect(a, &QAction::triggered, part, &Client::slotSec); 0060 0061 part->setXMLFile(QFINDTESTDATA("kxmlguitest_part.rc")); 0062 0063 factory->addClient(part); 0064 for (int i = 0; i < 10; ++i) { 0065 factory->removeClient(part); 0066 factory->addClient(part); 0067 } 0068 0069 return app.exec(); 0070 } 0071 0072 #include "moc_kxmlguitest.cpp"