/* SPDX-FileCopyrightText: 2021 Michail Vourlakos SPDX-License-Identifier: GPL-2.0-or-later */ #include "screenshandler.h" // local #include #include "ui_screensdialog.h" #include "screensdialog.h" #include "screensmodel.h" #include "../../lattecorona.h" #include "../../screenpool.h" // KDE #include namespace Latte { namespace Settings { namespace Handler { ScreensHandler::ScreensHandler(Dialog::ScreensDialog *dialog) : Generic(dialog), m_dialog(dialog), m_ui(m_dialog->ui()), m_screensModel(new Model::Screens(this)) { init(); } ScreensHandler::~ScreensHandler() { } void ScreensHandler::init() { m_ui->screensTable->horizontalHeader()->setSectionsClickable(false); m_ui->screensTable->verticalHeader()->setVisible(false); //! Data Changed connect(m_screensModel, &Settings::Model::Screens::screensDataChanged, this, &ScreensHandler::dataChanged); //! Screens Proxy Model m_screensProxyModel = new QSortFilterProxyModel(this); m_screensProxyModel->setSourceModel(m_screensModel); m_screensProxyModel->setSortRole(Model::Screens::SORTINGROLE); m_screensProxyModel->setSortCaseSensitivity(Qt::CaseInsensitive); m_ui->screensTable->setModel(m_screensProxyModel); //! Buttons connect(m_ui->buttonBox->button(QDialogButtonBox::Reset), &QPushButton::clicked, this, &ScreensHandler::reset); //! load data m_screensModel->setData(m_dialog->corona()->screenPool()->screensTable()); } bool ScreensHandler::hasChangedData() const { return m_screensModel->hasChangedData(); } bool ScreensHandler::inDefaultValues() const { return m_screensModel->inDefaultValues(); } void ScreensHandler::reset() { if (m_screensModel->hasChangedData()) { m_screensModel->reset(); } } void ScreensHandler::resetDefaults() { reset(); } void ScreensHandler::save() { //do nothing } /*bool ScreensHandler::overwriteConfirmation(const QString &fileName) { return (KMessageBox::warningYesNo(m_dialog, i18n("The file \"%1\" already exists. Do you wish to overwrite it?", fileName), i18n("Overwrite File?"), KStandardGuiItem::overwrite(), KStandardGuiItem::cancel()) == KMessageBox::Yes); }*/ } } }