screensdialog:connect to layouts controller

--this way we can make sure the screens data removable
flag is consistent with latest layouts data even those
that have not been applied yet
pull/22/head
Michail Vourlakos 4 years ago
parent 46c0e1a992
commit c740f5020d

@ -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

@ -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;

@ -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

@ -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 &currentLayoutId)
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
{

@ -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 &currentLayoutId);
const Latte::Data::ScreensTable screensData();
//! import layouts from Latte versions <= v0.7.x
bool importLayoutsFromV1ConfigFile(QString file);

@ -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);

@ -12,7 +12,6 @@
#include "../../data/layoutdata.h"
#include "../../data/layouticondata.h"
#include "../../data/layoutstable.h"
#include "../../data/screendata.h"
// Qt
#include <QAbstractTableModel>
@ -128,8 +127,6 @@ public:
const Latte::Data::LayoutsTable &currentLayoutsData();
const Latte::Data::LayoutsTable &originalLayoutsData();
const Latte::Data::ScreensTable &screensData();
void setOriginalInMultipleMode(const bool &inmultiple);
void setOriginalData(Latte::Data::LayoutsTable &data);

@ -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();
}

@ -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();

@ -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);

Loading…
Cancel
Save