18#include "RecentFilesDialog.hpp"
25#include <QStringListModel>
28#include "src/models/AppSettings.hpp"
29#include "Otf2FileDialog.hpp"
32 auto layout =
new QVBoxLayout;
33 layout->setAlignment(Qt::AlignTop);
34 this->setLayout(layout);
36 auto pushButton =
new QPushButton;
37 pushButton->setText(tr(
"&Open"));
38 layout->addWidget(pushButton);
42 QObject::connect(pushButton, &QPushButton::clicked, fileDialog, &Otf2FileDialog::exec);
43 QObject::connect(fileDialog, &QFileDialog::fileSelected, [
this](
const QString &selectedFile){
44 if (!selectedFile.isEmpty()) {
45 AppSettings::getInstance().recentlyOpenedFilesPush(selectedFile);
46 *this->dest = selectedFile;
51 auto label =
new QLabel(QObject::tr(
"Recently opened files:"));
52 layout->addWidget(label);
56 if(recentlyOpenedFiles.isEmpty()) {
57 auto listEmptyLabel =
new QLabel(QObject::tr(
"No recent files"));
58 listEmptyLabel->setStyleSheet(
"QLabel { color : gray; }");
59 layout->addWidget(listEmptyLabel);
61 auto listView =
new QListView;
62 listView->setEditTriggers(QListView::NoEditTriggers);
63 layout->addWidget(listView);
65 auto stringListModel =
new QStringListModel;
66 stringListModel->setStringList(recentlyOpenedFiles);
67 listView->setModel(stringListModel);
69 connect(listView, &QAbstractItemView::doubleClicked, [
this](
const QModelIndex &idx){
70 *this->dest = idx.data().toString();
static AppSettings & getInstance()
const QStringList & recentlyOpenedFiles() const
Returns the recently opened files.
Wrapper around QFileDialog that displays files with a otf2-file ending only.
RecentFilesDialog(QString *dest)