Warning, file /frameworks/kconfigwidgets/tests/kcolorschemedemo.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 project 0003 SPDX-FileCopyrightText: 2013 Martin Gräßlin <mgraesslin@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #include <KActionMenu> 0009 #include <kcolorschememanager.h> 0010 #include <kcolorschememenu.h> 0011 0012 #include <QApplication> 0013 #include <QDialog> 0014 #include <QDialogButtonBox> 0015 #include <QListView> 0016 #include <QMainWindow> 0017 #include <QMenu> 0018 #include <QMenuBar> 0019 #include <QToolButton> 0020 #include <QVBoxLayout> 0021 0022 class KColorSchemeDemo : public QMainWindow 0023 { 0024 Q_OBJECT 0025 public: 0026 KColorSchemeDemo() 0027 : QMainWindow(nullptr) 0028 { 0029 KColorSchemeManager *manager = new KColorSchemeManager(this); 0030 0031 QListView *view = new QListView(this); 0032 view->setModel(manager->model()); 0033 connect(view, &QListView::activated, manager, &KColorSchemeManager::activateScheme); 0034 manager->setAutosaveChanges(true); 0035 0036 QDialogButtonBox *box = new QDialogButtonBox(QDialogButtonBox::Close, this); 0037 connect(box, &QDialogButtonBox::rejected, qApp, &QApplication::quit); 0038 0039 QToolButton *button = new QToolButton(box); 0040 button->setIcon(QIcon::fromTheme(QStringLiteral("fill-color"))); 0041 button->setMenu(KColorSchemeMenu::createMenu(manager, button)->menu()); 0042 box->addButton(button, QDialogButtonBox::InvalidRole); 0043 0044 QWidget *w = new QWidget(); 0045 QVBoxLayout *layout = new QVBoxLayout(w); 0046 layout->addWidget(view); 0047 layout->addWidget(box); 0048 0049 setCentralWidget(w); 0050 0051 QMenu *menu = new QMenu("Menu", this); 0052 menu->addAction(KColorSchemeMenu::createMenu(manager, this)); 0053 menuBar()->addMenu(menu); 0054 } 0055 ~KColorSchemeDemo() override 0056 { 0057 } 0058 }; 0059 0060 int main(int argc, char *argv[]) 0061 { 0062 QApplication app(argc, argv); 0063 0064 KColorSchemeDemo *d = new KColorSchemeDemo; 0065 d->show(); 0066 return app.exec(); 0067 } 0068 0069 #include "kcolorschemedemo.moc"