File indexing completed on 2024-04-21 16:22:52

0001 /*
0002  *   SPDX-FileCopyrightText: 2009 Ben Cooksley <bcooksley@kde.org>
0003  *
0004  *   SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef ICONMODE_H
0008 #define ICONMODE_H
0009 
0010 #include "BaseMode.h"
0011 
0012 class ModuleView;
0013 class KAboutData;
0014 class QModelIndex;
0015 class QAbstractItemView;
0016 
0017 class IconMode : public BaseMode
0018 {
0019     Q_OBJECT
0020 
0021 public:
0022     explicit IconMode(QObject *parent, const QVariantList &);
0023     ~IconMode() override;
0024     QWidget *mainWidget() override;
0025     void initEvent() override;
0026     void giveFocus() override;
0027     void leaveModuleView() override;
0028     KAboutData *aboutData() override;
0029     ModuleView *moduleView() const override;
0030     void reloadStartupModule() override;
0031 
0032 protected:
0033     QList<QAbstractItemView *> views() const override;
0034     bool eventFilter(QObject *watched, QEvent *event) override;
0035 
0036 public Q_SLOTS:
0037     void searchChanged(const QString &text) override;
0038 
0039 private Q_SLOTS:
0040     void moduleLoaded();
0041     void backToOverview();
0042     void initWidget();
0043 
0044 private:
0045     void changeModule(const QModelIndex &activeModule);
0046     void changeModuleWithArgs(const QModelIndex &activeModule, const QStringList &args);
0047 
0048     class Private;
0049     Private *const d;
0050 };
0051 
0052 #endif