From 2dee058fdc5667e14a7cf743686f17a9896c0e9d Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Fri, 12 Feb 2021 19:10:23 +0200 Subject: [PATCH] provide Choose File Dialog for ExportTemplate --- .../exporttemplatedialog.ui | 2 +- .../exporttemplatehandler.cpp | 36 +++++++++++++++++-- .../exporttemplatehandler.h | 2 ++ 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/app/settings/exporttemplatedialog/exporttemplatedialog.ui b/app/settings/exporttemplatedialog/exporttemplatedialog.ui index cb306fa5f..85257e0a7 100644 --- a/app/settings/exporttemplatedialog/exporttemplatedialog.ui +++ b/app/settings/exporttemplatedialog/exporttemplatedialog.ui @@ -95,7 +95,7 @@ - <b>Location:</b> ~/.config/latte/layouts/..... + <b>File:</b> ~/.config/latte/layouts/..... diff --git a/app/settings/exporttemplatedialog/exporttemplatehandler.cpp b/app/settings/exporttemplatedialog/exporttemplatehandler.cpp index 25bd8339d..07b3cf802 100644 --- a/app/settings/exporttemplatedialog/exporttemplatehandler.cpp +++ b/app/settings/exporttemplatedialog/exporttemplatehandler.cpp @@ -31,10 +31,13 @@ #include "../../layouts/storage.h" #include "../../view/view.h" -//! KDE +// Qt +#include + +// KDE #include -//! Plasma +// Plasma #include namespace Latte { @@ -88,6 +91,8 @@ void ExportTemplateHandler::init() connect(m_ui->deselectAllBtn, &QPushButton::clicked, this, &ExportTemplateHandler::onDeselectAll); connect(m_ui->selectAllBtn, &QPushButton::clicked, this, &ExportTemplateHandler::onSelectAll); connect(m_ui->buttonBox->button(QDialogButtonBox::Reset), &QPushButton::clicked, this, &ExportTemplateHandler::onReset); + + connect(m_ui->chooseBtn, &QPushButton::clicked, this, &ExportTemplateHandler::chooseFileDialog); } void ExportTemplateHandler::loadLayoutApplets(const QString &layoutName, const QString &layoutId) @@ -104,6 +109,33 @@ void ExportTemplateHandler::loadViewApplets(Latte::View *view) m_parentDialog->setWindowTitle(i18n("Export View Template")); } +void ExportTemplateHandler::chooseFileDialog() +{ + QFileDialog *chooseFileDlg = new QFileDialog(m_parentDialog, i18n("Choose Layout Template file"), QDir::homePath(), QStringLiteral("layout.latte")); + + chooseFileDlg->setLabelText(QFileDialog::Accept, i18nc("choose layout file","Choose")); + chooseFileDlg->setFileMode(QFileDialog::AnyFile); + chooseFileDlg->setAcceptMode(QFileDialog::AcceptSave); + chooseFileDlg->setDefaultSuffix("layout.latte"); + + QStringList filters; + QString filter1(i18nc("layout template", "Latte Dock Layout Template file v0.2") + "(*.layout.latte)"); + + filters << filter1; + + chooseFileDlg->setNameFilters(filters); + + connect(chooseFileDlg, &QFileDialog::finished, chooseFileDlg, &QFileDialog::deleteLater); + + connect(chooseFileDlg, &QFileDialog::fileSelected, this, [&](const QString &file) { + qDebug() << "selected: " << file; + + }); + + chooseFileDlg->open(); + //chooseFileDlg->selectFile(selectedLayout.name); +} + void ExportTemplateHandler::onReset() { m_appletsModel->reset(); diff --git a/app/settings/exporttemplatedialog/exporttemplatehandler.h b/app/settings/exporttemplatedialog/exporttemplatehandler.h index e238fe629..030cffecf 100644 --- a/app/settings/exporttemplatedialog/exporttemplatehandler.h +++ b/app/settings/exporttemplatedialog/exporttemplatehandler.h @@ -89,6 +89,8 @@ private slots: void onSelectAll(); void onDeselectAll(); + void chooseFileDialog(); + private: Dialog::ExportTemplateDialog *m_parentDialog{nullptr}; Ui::ExportTemplateDialog *m_ui{nullptr};