1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
/*
SPDX-FileCopyrightText: 2015-2025 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "headerstylemenu_gui.h"
#include <MessageViewer/HeaderStyleMenuManager>
#include <QStandardPaths>
#include <QApplication>
#include <QCommandLineParser>
#include <QMenu>
#include <QMenuBar>
#include <QVBoxLayout>
#include <KActionCollection>
#include <KActionMenu>
#include <MessageViewer/HeaderStrategy>
#include <MessageViewer/HeaderStyle>
#include <MessageViewer/HeaderStylePlugin>
#include <QTextEdit>
HeaderStyleMenuTest::HeaderStyleMenuTest(QWidget *parent)
: QWidget(parent)
{
auto menu = new QMenuBar(this);
auto hbox = new QVBoxLayout(this);
hbox->addWidget(menu);
auto manager = new MessageViewer::HeaderStyleMenuManager(new KActionCollection(this), this);
menu->addAction(manager->menu());
mTextEdit = new QTextEdit(this);
mTextEdit->setReadOnly(true);
hbox->addWidget(mTextEdit);
connect(manager, &MessageViewer::HeaderStyleMenuManager::styleChanged, this, &HeaderStyleMenuTest::styleChanged);
manager->readConfig();
}
HeaderStyleMenuTest::~HeaderStyleMenuTest() = default;
void HeaderStyleMenuTest::styleChanged(MessageViewer::HeaderStylePlugin *plugin)
{
mTextEdit->append(QStringLiteral("strategy: %1, headerstyle: %2")
.arg(QLatin1StringView(plugin->headerStrategy()->name()))
.arg(QLatin1StringView(plugin->headerStyle()->name())));
}
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QStandardPaths::setTestModeEnabled(true);
QCommandLineParser parser;
parser.addVersionOption();
parser.addHelpOption();
parser.process(app);
auto w = new HeaderStyleMenuTest();
w->resize(800, 200);
w->show();
app.exec();
delete w;
return 0;
}
#include "moc_headerstylemenu_gui.cpp"
|