okular/shell/welcomescreen.h
Jiří Wolker f24aa63a97 Create welcome screen
This screen is similar to the one in Ark, but also shows you a list of
recently-opened documents.
2022-03-08 04:24:45 +00:00

49 lines
1,007 B
C++

/*
SPDX-FileCopyrightText: 2021 Jiří Wolker <woljiri@gmail.com>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef WELCOMESCREEN_H
#define WELCOMESCREEN_H
#include "shell/ui_welcomescreen.h"
#include <QFrame>
#include <QUrl>
class KRecentFilesAction;
class QListWidgetItem;
class RecentItemsModel;
class RecentsListItemDelegate;
class WelcomeScreen : public QWidget, Ui::WelcomeScreen
{
Q_OBJECT
public:
explicit WelcomeScreen(QWidget *parent = nullptr);
~WelcomeScreen() override;
void loadRecents();
Q_SIGNALS:
void openClicked();
void closeClicked();
void recentItemClicked(QUrl const &url);
void forgetAllRecents();
void forgetRecentItem(QUrl const &url);
private Q_SLOTS:
void recentsItemActivated(QModelIndex const &index);
void recentListChanged();
private:
int recentsCount();
RecentItemsModel *m_recentsModel;
RecentsListItemDelegate *m_recentsItemDelegate;
QLabel *m_noRecentsLabel;
};
#endif // WELCOMESCREEN_H