diff --git a/app/settings/screensdialog/screensdialog.cpp b/app/settings/screensdialog/screensdialog.cpp index c06a686ae..10e2fd0bf 100644 --- a/app/settings/screensdialog/screensdialog.cpp +++ b/app/settings/screensdialog/screensdialog.cpp @@ -16,9 +16,10 @@ namespace Latte { namespace Settings { namespace Dialog { -ScreensDialog::ScreensDialog(SettingsDialog *parent) +ScreensDialog::ScreensDialog(SettingsDialog *parent, Controller::Layouts *controller) : GenericDialog(parent), - m_ui(new Ui::ScreensDialog) + m_ui(new Ui::ScreensDialog), + m_layoutsController(controller) { setAttribute(Qt::WA_DeleteOnClose, true); m_corona = parent->corona(); @@ -44,6 +45,11 @@ Ui::ScreensDialog *ScreensDialog::ui() const return m_ui; } +Controller::Layouts *ScreensDialog::layoutsController() const +{ + return m_layoutsController; +} + void ScreensDialog::init() { //! first we need to setup the ui diff --git a/app/settings/screensdialog/screensdialog.h b/app/settings/screensdialog/screensdialog.h index 44ef112fc..15c20b80a 100644 --- a/app/settings/screensdialog/screensdialog.h +++ b/app/settings/screensdialog/screensdialog.h @@ -22,6 +22,9 @@ class ScreensDialog; namespace Latte { namespace Settings { +namespace Controller { +class Layouts; +} namespace Handler { class ScreensHandler; } @@ -38,11 +41,12 @@ class ScreensDialog : public GenericDialog Q_OBJECT public: - ScreensDialog(SettingsDialog *parent); + ScreensDialog(SettingsDialog *parent, Controller::Layouts *controller); ~ScreensDialog(); Ui::ScreensDialog *ui() const; Latte::Corona *corona() const; + Controller::Layouts *layoutsController() const; QPushButton *removeNowButton() const; diff --git a/app/settings/screensdialog/screenshandler.cpp b/app/settings/screensdialog/screenshandler.cpp index 86c16b856..4e2e66374 100644 --- a/app/settings/screensdialog/screenshandler.cpp +++ b/app/settings/screensdialog/screenshandler.cpp @@ -53,7 +53,7 @@ void ScreensHandler::init() connect(m_ui->buttonBox->button(QDialogButtonBox::Reset), &QPushButton::clicked, this, &ScreensHandler::reset); //! load data - m_screensModel->setData(m_dialog->corona()->screenPool()->screensTable()); + m_screensModel->setData(m_dialog->layoutsController()->screensData()); } bool ScreensHandler::hasChangedData() const diff --git a/app/settings/settingsdialog/layoutscontroller.cpp b/app/settings/settingsdialog/layoutscontroller.cpp index 6583570af..ddc61909e 100644 --- a/app/settings/settingsdialog/layoutscontroller.cpp +++ b/app/settings/settingsdialog/layoutscontroller.cpp @@ -16,6 +16,7 @@ #include "delegates/layoutnamedelegate.h" #include "../universalsettings.h" #include "../generic/generictools.h" +#include "../../screenpool.h" #include "../../data/uniqueidinfo.h" #include "../../layout/centrallayout.h" #include "../../layouts/importer.h" @@ -287,6 +288,11 @@ const Latte::Data::Layout Layouts::originalData(const QString ¤tLayoutId) return m_model->originalData(currentLayoutId); } +const Latte::Data::ScreensTable Layouts::screensData() +{ + Latte::Data::ScreensTable scrs = m_handler->corona()->screenPool()->screensTable(); + return scrs; +} bool Layouts::inMultipleMode() const { diff --git a/app/settings/settingsdialog/layoutscontroller.h b/app/settings/settingsdialog/layoutscontroller.h index 68ea8f781..0715e7471 100644 --- a/app/settings/settingsdialog/layoutscontroller.h +++ b/app/settings/settingsdialog/layoutscontroller.h @@ -13,6 +13,7 @@ #include "../../lattecorona.h" #include "../../data/layoutdata.h" #include "../../data/layoutstable.h" +#include "../../data/screendata.h" #include "../../layout/centrallayout.h" // Qt @@ -98,6 +99,8 @@ public: CentralLayout *centralLayout(const QString ¤tLayoutId); + const Latte::Data::ScreensTable screensData(); + //! import layouts from Latte versions <= v0.7.x bool importLayoutsFromV1ConfigFile(QString file); diff --git a/app/settings/settingsdialog/layoutsmodel.cpp b/app/settings/settingsdialog/layoutsmodel.cpp index e0889beb5..6dedea1f7 100644 --- a/app/settings/settingsdialog/layoutsmodel.cpp +++ b/app/settings/settingsdialog/layoutsmodel.cpp @@ -851,12 +851,6 @@ const Latte::Data::LayoutsTable &Layouts::currentLayoutsData() return m_layoutsTable; } -const Latte::Data::ScreensTable &Layouts::screensData() -{ - Latte::Data::ScreensTable scrs; - return scrs; -} - void Layouts::setOriginalInMultipleMode(const bool &inmultiple) { setInMultipleMode(inmultiple); diff --git a/app/settings/settingsdialog/layoutsmodel.h b/app/settings/settingsdialog/layoutsmodel.h index c35d667e5..73f825bad 100644 --- a/app/settings/settingsdialog/layoutsmodel.h +++ b/app/settings/settingsdialog/layoutsmodel.h @@ -12,7 +12,6 @@ #include "../../data/layoutdata.h" #include "../../data/layouticondata.h" #include "../../data/layoutstable.h" -#include "../../data/screendata.h" // Qt #include @@ -128,8 +127,6 @@ public: const Latte::Data::LayoutsTable ¤tLayoutsData(); const Latte::Data::LayoutsTable &originalLayoutsData(); - const Latte::Data::ScreensTable &screensData(); - void setOriginalInMultipleMode(const bool &inmultiple); void setOriginalData(Latte::Data::LayoutsTable &data); diff --git a/app/settings/settingsdialog/settingsdialog.cpp b/app/settings/settingsdialog/settingsdialog.cpp index e188f9dc3..0166087bd 100644 --- a/app/settings/settingsdialog/settingsdialog.cpp +++ b/app/settings/settingsdialog/settingsdialog.cpp @@ -378,7 +378,7 @@ void SettingsDialog::exportFullConfiguration() void SettingsDialog::showScreensDialog() { - auto screensDlg = new Settings::Dialog::ScreensDialog(this); + auto screensDlg = new Settings::Dialog::ScreensDialog(this, m_tabLayoutsHandler->layoutsController()); screensDlg->exec(); } diff --git a/app/settings/settingsdialog/tablayoutshandler.cpp b/app/settings/settingsdialog/tablayoutshandler.cpp index 43b4872b3..7a50fa679 100644 --- a/app/settings/settingsdialog/tablayoutshandler.cpp +++ b/app/settings/settingsdialog/tablayoutshandler.cpp @@ -311,6 +311,11 @@ Ui::SettingsDialog *TabLayouts::ui() const return m_ui; } +Controller::Layouts *TabLayouts::layoutsController() const +{ + return m_layoutsController; +} + bool TabLayouts::hasChangedData() const { return m_layoutsController->hasChangedData(); diff --git a/app/settings/settingsdialog/tablayoutshandler.h b/app/settings/settingsdialog/tablayoutshandler.h index 77b4c2294..821a10606 100644 --- a/app/settings/settingsdialog/tablayoutshandler.h +++ b/app/settings/settingsdialog/tablayoutshandler.h @@ -61,6 +61,7 @@ public: Latte::Corona *corona() const; Dialog::SettingsDialog *dialog() const; Ui::SettingsDialog *ui() const; + Controller::Layouts *layoutsController() const; public slots: void onDragEnterEvent(QDragEnterEvent *event);