File indexing completed on 2024-05-12 05:52:09

0001 /*
0002     SPDX-FileCopyrightText: 2022 Jiří Wolker <woljiri@gmail.com>
0003     SPDX-FileCopyrightText: 2022 Eugene Popov <popov895@ukr.net>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include "ui_welcomeview.h"
0011 
0012 class KateViewManager;
0013 class Placeholder;
0014 class RecentItemsModel;
0015 class SavedSessionsModel;
0016 
0017 class WelcomeView : public QScrollArea, Ui::WelcomeView
0018 {
0019     Q_OBJECT
0020 
0021 public:
0022     explicit WelcomeView(KateViewManager *viewManager, QWidget *parent = nullptr);
0023 
0024 protected:
0025     bool event(QEvent *event) override;
0026     void resizeEvent(QResizeEvent *event) override;
0027 
0028     bool eventFilter(QObject *watched, QEvent *event) override;
0029 
0030 private Q_SLOTS:
0031     void onPluginViewChanged(const QString &pluginName = QString());
0032     void onRecentItemsContextMenuRequested(const QPoint &pos);
0033     bool shouldClose()
0034     {
0035         return true;
0036     }
0037 
0038 private:
0039     void updateButtons();
0040     void updateFonts();
0041     bool updateLayout();
0042 
0043     KateViewManager *m_viewManager = nullptr;
0044     RecentItemsModel *m_recentItemsModel = nullptr;
0045     SavedSessionsModel *m_savedSessionsModel = nullptr;
0046     Placeholder *m_placeholderRecentItems = nullptr;
0047     Placeholder *m_placeholderSavedSessions = nullptr;
0048 };