From 7b3892de7fdc689381475bf5ab9f5db2c448d045 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Sat, 27 Jan 2018 01:27:48 +0200 Subject: [PATCH] update latteconfig to use corona --- app/dockconfigview.cpp | 1 - app/dockconfigview.h | 3 -- app/dockcorona.h | 2 +- app/latteconfigdialog.cpp | 94 +++++++++++++++++++-------------------- app/latteconfigdialog.h | 8 ++-- app/layoutmanager.cpp | 2 +- 6 files changed, 53 insertions(+), 57 deletions(-) diff --git a/app/dockconfigview.cpp b/app/dockconfigview.cpp index 821514d2b..30cb071f5 100644 --- a/app/dockconfigview.cpp +++ b/app/dockconfigview.cpp @@ -81,7 +81,6 @@ DockConfigView::DockConfigView(Plasma::Containment *containment, DockView *dockV auto *dockCorona = qobject_cast(m_dockView->corona()); if (dockCorona && m_configType == PrimaryConfig) { - connections << connect(this, &DockConfigView::aboutApplication, dockCorona, &DockCorona::aboutApplication); connections << connect(dockCorona, SIGNAL(raiseDocksTemporaryChanged()), this, SIGNAL(raiseDocksTemporaryChanged())); } } diff --git a/app/dockconfigview.h b/app/dockconfigview.h index 5d2c2206f..e1e4bffcd 100644 --- a/app/dockconfigview.h +++ b/app/dockconfigview.h @@ -95,9 +95,6 @@ private slots: void immutabilityChanged(Plasma::Types::ImmutabilityType type); void updateEnabledBorders(); -signals: - void aboutApplication(); - private: void setupWaylandIntegration(); diff --git a/app/dockcorona.h b/app/dockcorona.h index 5c85c4665..0c3882796 100644 --- a/app/dockcorona.h +++ b/app/dockcorona.h @@ -91,7 +91,6 @@ public: void recreateDock(Plasma::Containment *containment); - void aboutApplication(); void closeApplication(); KActivities::Consumer *activitiesConsumer() const; @@ -102,6 +101,7 @@ public: KWayland::Client::PlasmaShell *waylandDockCoronaInterface() const; public slots: + void aboutApplication(); void activateLauncherMenu(); void loadDefaultLayout() override; void updateDockItemBadge(QString identifier, QString value); diff --git a/app/latteconfigdialog.cpp b/app/latteconfigdialog.cpp index e434fe86e..8e28d780e 100644 --- a/app/latteconfigdialog.cpp +++ b/app/latteconfigdialog.cpp @@ -55,23 +55,23 @@ const int MENUCOLUMN = 3; const int ACTIVITYCOLUMN = 4; const QChar CheckMark{0x2714}; -LatteConfigDialog::LatteConfigDialog(QWidget *parent, LayoutManager *manager) +LatteConfigDialog::LatteConfigDialog(QWidget *parent, DockCorona *corona) : QDialog(parent), ui(new Ui::LatteConfigDialog), - m_manager(manager) + m_corona(corona) { ui->setupUi(this); setAttribute(Qt::WA_DeleteOnClose, true); setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); - resize(m_manager->corona()->universalSettings()->layoutsWindowSize()); + resize(m_corona->universalSettings()->layoutsWindowSize()); connect(ui->buttonBox->button(QDialogButtonBox::Apply), &QPushButton::clicked , this, &LatteConfigDialog::apply); connect(ui->buttonBox->button(QDialogButtonBox::RestoreDefaults), &QPushButton::clicked , this, &LatteConfigDialog::restoreDefaults); - m_model = new QStandardItemModel(manager->layouts().count(), 5, this); + m_model = new QStandardItemModel(m_corona->layoutManager()->layouts().count(), 5, this); ui->layoutsView->setModel(m_model); ui->layoutsView->setSelectionBehavior(QAbstractItemView::SelectRows); @@ -81,12 +81,12 @@ LatteConfigDialog::LatteConfigDialog(QWidget *parent, LayoutManager *manager) ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); ui->buttonBox->button(QDialogButtonBox::Apply)->setEnabled(false); - connect(m_manager, &LayoutManager::currentLayoutNameChanged, this, &LatteConfigDialog::layoutsChanged); - connect(m_manager, &LayoutManager::activeLayoutsChanged, this, &LatteConfigDialog::layoutsChanged); + connect(m_corona->layoutManager(), &LayoutManager::currentLayoutNameChanged, this, &LatteConfigDialog::layoutsChanged); + connect(m_corona->layoutManager(), &LayoutManager::activeLayoutsChanged, this, &LatteConfigDialog::layoutsChanged); loadLayouts(); - QString iconsPath(m_manager->corona()->kPackage().path() + "../../plasmoids/org.kde.latte.containment/contents/icons/"); + QString iconsPath(m_corona->kPackage().path() + "../../plasmoids/org.kde.latte.containment/contents/icons/"); //!find the available colors QDir layoutDir(iconsPath); @@ -132,7 +132,7 @@ LatteConfigDialog::LatteConfigDialog(QWidget *parent, LayoutManager *manager) QAction *aboutAction = helpMenu->addAction(i18n("About Latte")); aboutAction->setIcon(QIcon::fromTheme("latte-dock")); - connect(aboutAction, &QAction::triggered, m_manager, &LayoutManager::showAboutDialog); + connect(aboutAction, &QAction::triggered, m_corona, &DockCorona::aboutApplication); } LatteConfigDialog::~LatteConfigDialog() @@ -145,8 +145,8 @@ LatteConfigDialog::~LatteConfigDialog() delete m_model; } - if (m_manager && m_manager->corona() && m_manager->corona()->universalSettings()) { - m_manager->corona()->universalSettings()->setLayoutsWindowSize(size()); + if (m_corona && m_corona->universalSettings()) { + m_corona->universalSettings()->setLayoutsWindowSize(size()); } m_inMemoryButtons->deleteLater(); @@ -162,7 +162,7 @@ LatteConfigDialog::~LatteConfigDialog() QStringList LatteConfigDialog::activities() { - return m_manager->activities(); + return m_corona->layoutManager()->activities(); } QStringList LatteConfigDialog::availableActivities() @@ -175,7 +175,7 @@ void LatteConfigDialog::on_newButton_clicked() qDebug() << Q_FUNC_INFO; //! find Default preset path - foreach (auto preset, m_manager->presetsPaths()) { + foreach (auto preset, m_corona->layoutManager()->presetsPaths()) { QString presetName = Layout::layoutName(preset); if (presetName == "Default") { @@ -200,11 +200,11 @@ void LatteConfigDialog::on_copyButton_clicked() } //! Update original layout before copying if this layout is active - if (m_manager->memoryUsage() == Dock::MultipleLayouts) { + if (m_corona->layoutManager()->memoryUsage() == Dock::MultipleLayouts) { QString lName = (m_model->data(m_model->index(row, NAMECOLUMN), Qt::DisplayRole)).toString(); if (Importer::layoutExists(lName)) { - Layout *layout = m_manager->activeLayout(lName); + Layout *layout = m_corona->layoutManager()->activeLayout(lName); if (layout && layout->isOriginalLayout()) { layout->syncToLayoutFile(); @@ -270,7 +270,7 @@ void LatteConfigDialog::on_removeButton_clicked() QString layoutName = m_model->data(m_model->index(row, NAMECOLUMN), Qt::DisplayRole).toString(); - if (m_manager->activeLayout(layoutName)) { + if (m_corona->layoutManager()->activeLayout(layoutName)) { return; } @@ -394,13 +394,13 @@ bool LatteConfigDialog::importLayoutsFromV1ConfigFile(QString file) QString applets(tempDir.absolutePath() + "/" + "lattedock-appletsrc"); if (QFile(applets).exists()) { - if (m_manager->importer()->importOldLayout(applets, name, false, tempDir.absolutePath())) { + if (m_corona->layoutManager()->importer()->importOldLayout(applets, name, false, tempDir.absolutePath())) { addLayoutForFile(tempDir.absolutePath() + "/" + name + ".layout.latte", name, false); } QString alternativeName = name + "-" + i18nc("layout", "Alternative"); - if (m_manager->importer()->importOldLayout(applets, alternativeName, false, tempDir.absolutePath())) { + if (m_corona->layoutManager()->importer()->importOldLayout(applets, alternativeName, false, tempDir.absolutePath())) { addLayoutForFile(tempDir.absolutePath() + "/" + alternativeName + ".layout.latte", alternativeName, false); } } @@ -426,7 +426,7 @@ void LatteConfigDialog::on_exportButton_clicked() //! this is needed because the export method can export also the full configuration qDebug() << Q_FUNC_INFO; - m_manager->syncActiveLayoutsToOriginalFiles(); + m_corona->layoutManager()->syncActiveLayoutsToOriginalFiles(); QFileDialog *fileDialog = new QFileDialog(this, i18nc("export layout/configuration", "Export Layout/Configuration") , QDir::homePath() , QStringLiteral("layout.latte")); @@ -487,7 +487,7 @@ void LatteConfigDialog::on_exportButton_clicked() notification->sendEvent(); }; - if (m_manager->importer()->exportFullConfiguration(file)) { + if (m_corona->layoutManager()->importer()->exportFullConfiguration(file)) { auto notification = new KNotification("export-done", KNotification::CloseOnTimeout); notification->setActions({i18nc("import/export config", "Open location")}); @@ -537,7 +537,7 @@ void LatteConfigDialog::restoreDefaults() { qDebug() << Q_FUNC_INFO; - foreach (auto preset, m_manager->presetsPaths()) { + foreach (auto preset, m_corona->layoutManager()->presetsPaths()) { QString presetName = Layout::layoutName(preset); QByteArray presetNameChars = presetName.toUtf8(); const char *prset_str = presetNameChars.data(); @@ -595,11 +595,11 @@ void LatteConfigDialog::loadLayouts() int i = 0; QStringList brokenLayouts; - if (m_manager->memoryUsage() == Dock::MultipleLayouts) { - m_manager->syncActiveLayoutsToOriginalFiles(); + if (m_corona->layoutManager()->memoryUsage() == Dock::MultipleLayouts) { + m_corona->layoutManager()->syncActiveLayoutsToOriginalFiles(); } - foreach (auto layout, m_manager->layouts()) { + foreach (auto layout, m_corona->layoutManager()->layouts()) { QString layoutPath = QDir::homePath() + "/.config/latte/" + layout + ".layout.latte"; m_initLayoutPaths.append(layoutPath); @@ -613,11 +613,11 @@ void LatteConfigDialog::loadLayouts() i++; - if (layoutSets->name() == m_manager->currentLayoutName()) { + if (layoutSets->name() == m_corona->layoutManager()->currentLayoutName()) { ui->layoutsView->selectRow(i - 1); } - Layout *activeLayout = m_manager->activeLayout(layoutSets->name()); + Layout *activeLayout = m_corona->layoutManager()->activeLayout(layoutSets->name()); if ((activeLayout && activeLayout->layoutIsBroken()) || (!activeLayout && layoutSets->layoutIsBroken())) { brokenLayouts.append(layoutSets->name()); @@ -637,9 +637,9 @@ void LatteConfigDialog::loadLayouts() ui->layoutsView->resizeColumnsToContents(); - if (m_manager->memoryUsage() == Dock::SingleLayout) { + if (m_corona->layoutManager()->memoryUsage() == Dock::SingleLayout) { ui->singleToolBtn->setChecked(true); - } else if (m_manager->memoryUsage() == Dock::MultipleLayouts) { + } else if (m_corona->layoutManager()->memoryUsage() == Dock::MultipleLayouts) { ui->multipleToolBtn->setChecked(true); } @@ -698,7 +698,7 @@ void LatteConfigDialog::insertLayoutInfoAtRow(int row, QString path, QString col QFont font; - if (m_manager->activeLayout(name)) { + if (m_corona->layoutManager()->activeLayout(name)) { font.setBold(true); } else { font.setBold(false); @@ -721,13 +721,13 @@ void LatteConfigDialog::on_switchButton_clicked() { Latte::Dock::LayoutsMemoryUsage inMemoryOption = static_cast(m_inMemoryButtons->checkedId()); - if (m_manager->memoryUsage() != inMemoryOption) { + if (m_corona->layoutManager()->memoryUsage() != inMemoryOption) { saveAllChanges(); } else { QVariant value = m_model->data(m_model->index(ui->layoutsView->currentIndex().row(), NAMECOLUMN), Qt::DisplayRole); if (value.isValid()) { - m_manager->switchToLayout(value.toString()); + m_corona->layoutManager()->switchToLayout(value.toString()); } else { qDebug() << "not valid layout"; } @@ -744,13 +744,13 @@ void LatteConfigDialog::layoutsChanged() QString name = value.toString(); QFont font; - if (m_manager->currentLayoutName() == name) { + if (m_corona->layoutManager()->currentLayoutName() == name) { font.setBold(true); ui->layoutsView->selectRow(i); } else { - Layout *layout = m_manager->activeLayout(name); + Layout *layout = m_corona->layoutManager()->activeLayout(name); - if (layout && (m_manager->memoryUsage() == Dock::MultipleLayouts)) { + if (layout && (m_corona->layoutManager()->memoryUsage() == Dock::MultipleLayouts)) { font.setBold(true); } else { font.setBold(false); @@ -783,7 +783,7 @@ void LatteConfigDialog::updateButtonsState() QString id = m_model->data(m_model->index(ui->layoutsView->currentIndex().row(), IDCOLUMN), Qt::DisplayRole).toString(); QString name = m_layouts[id]->name(); - if (name == m_manager->currentLayoutName() || m_manager->activeLayout(name)) { + if (name == m_corona->layoutManager()->currentLayoutName() || m_corona->layoutManager()->activeLayout(name)) { ui->removeButton->setEnabled(false); } else { ui->removeButton->setEnabled(true); @@ -798,7 +798,7 @@ void LatteConfigDialog::updateButtonsState() void LatteConfigDialog::recalculateAvailableActivities() { - QStringList tempActivities = m_manager->activities(); + QStringList tempActivities = m_corona->layoutManager()->activities(); for (int i = 0; i < m_model->rowCount(); ++i) { QStringList assigned = m_model->data(m_model->index(i, ACTIVITYCOLUMN), Qt::UserRole).toStringList(); @@ -893,7 +893,7 @@ bool LatteConfigDialog::saveAllChanges() } //qDebug() << i << ". " << id << " - " << color << " - " << name << " - " << menu << " - " << lActivities; - Layout *activeLayout = m_manager->activeLayout(m_layouts[id]->name()); + Layout *activeLayout = m_corona->layoutManager()->activeLayout(m_layouts[id]->name()); Layout *layout = activeLayout ? activeLayout : m_layouts[id]; @@ -912,7 +912,7 @@ bool LatteConfigDialog::saveAllChanges() //! If the layout name changed OR the layout path is a temporary one if (layout->name() != name || (id.startsWith("/tmp/"))) { //! If the layout is Active in MultipleLayouts - if (m_manager->memoryUsage() == Dock::MultipleLayouts && activeLayout) { + if (m_corona->layoutManager()->memoryUsage() == Dock::MultipleLayouts && activeLayout) { qDebug() << " Active Layout Should Be Renamed From : " << layout->name() << " TO :: " << name; activeLayoutsToRename[name] = layout; } @@ -920,7 +920,7 @@ bool LatteConfigDialog::saveAllChanges() QString tempFile = layoutTempDir.path() + "/" + QString(layout->name() + ".layout.latte"); qDebug() << "new temp file ::: " << tempFile; - if ((m_manager->memoryUsage() == Dock::SingleLayout) && (layout->name() == m_manager->currentLayoutName())) { + if ((m_corona->layoutManager()->memoryUsage() == Dock::SingleLayout) && (layout->name() == m_corona->layoutManager()->currentLayoutName())) { switchToLayout = name; } @@ -960,30 +960,30 @@ bool LatteConfigDialog::saveAllChanges() } } - if (m_manager->memoryUsage() == Dock::MultipleLayouts) { + if (m_corona->layoutManager()->memoryUsage() == Dock::MultipleLayouts) { foreach (auto newLayoutName, activeLayoutsToRename.keys()) { qDebug() << " Active Layout Is Renamed From : " << activeLayoutsToRename[newLayoutName]->name() << " TO :: " << newLayoutName; activeLayoutsToRename[newLayoutName]->renameLayout(newLayoutName); } } - m_manager->loadLayouts(); + m_corona->layoutManager()->loadLayouts(); Latte::Dock::LayoutsMemoryUsage inMemoryOption = static_cast(m_inMemoryButtons->checkedId()); - if (m_manager->memoryUsage() != inMemoryOption) { - Dock::LayoutsMemoryUsage previousMemoryUsage = m_manager->memoryUsage(); - m_manager->setMemoryUsage(inMemoryOption); + if (m_corona->layoutManager()->memoryUsage() != inMemoryOption) { + Dock::LayoutsMemoryUsage previousMemoryUsage = m_corona->layoutManager()->memoryUsage(); + m_corona->layoutManager()->setMemoryUsage(inMemoryOption); QVariant value = m_model->data(m_model->index(ui->layoutsView->currentIndex().row(), NAMECOLUMN), Qt::DisplayRole); QString layoutName = value.toString(); - m_manager->switchToLayout(layoutName, previousMemoryUsage); + m_corona->layoutManager()->switchToLayout(layoutName, previousMemoryUsage); } else { if (!switchToLayout.isNull()) { - m_manager->switchToLayout(switchToLayout); - } else if (m_manager->memoryUsage() == Dock::MultipleLayouts) { - m_manager->syncMultipleLayoutsToActivities(); + m_corona->layoutManager()->switchToLayout(switchToLayout); + } else if (m_corona->layoutManager()->memoryUsage() == Dock::MultipleLayouts) { + m_corona->layoutManager()->syncMultipleLayoutsToActivities(); } } diff --git a/app/latteconfigdialog.h b/app/latteconfigdialog.h index a246a5e1b..60f48186a 100644 --- a/app/latteconfigdialog.h +++ b/app/latteconfigdialog.h @@ -22,7 +22,7 @@ #ifndef LATTECONFIGDIALOG_H #define LATTECONFIGDIALOG_H -#include "layoutmanager.h" +#include "dockcorona.h" #include "layout.h" #include @@ -40,7 +40,7 @@ class Controller; } namespace Latte { -class LayoutManager; +class DockCorona; class Layout; } @@ -49,7 +49,7 @@ namespace Latte { class LatteConfigDialog : public QDialog { Q_OBJECT public: - LatteConfigDialog(QWidget *parent, LayoutManager *corona); + LatteConfigDialog(QWidget *parent, DockCorona *corona); ~LatteConfigDialog(); QStringList activities(); @@ -98,7 +98,7 @@ private: QButtonGroup *m_inMemoryButtons; - LayoutManager *m_manager{nullptr}; + DockCorona *m_corona{nullptr}; QStandardItemModel *m_model{nullptr}; Ui::LatteConfigDialog *ui; diff --git a/app/layoutmanager.cpp b/app/layoutmanager.cpp index 3e72cb1bf..5b6145cce 100644 --- a/app/layoutmanager.cpp +++ b/app/layoutmanager.cpp @@ -1027,7 +1027,7 @@ bool LayoutManager::layoutIsAssigned(QString layoutName) void LayoutManager::showLatteConfigDialog() { if (!m_latteConfigDialog) - m_latteConfigDialog = new LatteConfigDialog(nullptr, this); + m_latteConfigDialog = new LatteConfigDialog(nullptr, m_corona); m_latteConfigDialog->show();