diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 754f9f4eb..361ab3769 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -22,14 +22,14 @@ set(lattedock-app_SRCS settings/delegates/colorcmbboxitemdelegate.cpp settings/delegates/layoutnamedelegate.cpp view/contextmenu.cpp - view/dockconfigview.cpp - view/docksecconfigview.cpp view/effects.cpp view/panelshadows.cpp view/positioner.cpp view/screenedgeghostwindow.cpp view/view.cpp view/visibilitymanager.cpp + view/settings/primaryconfigview.cpp + view/settings/secondaryconfigview.cpp wm/abstractwindowinterface.cpp wm/waylandinterface.cpp wm/windowinfowrap.cpp diff --git a/app/lattecorona.h b/app/lattecorona.h index 9e7021f99..1dd5e4801 100644 --- a/app/lattecorona.h +++ b/app/lattecorona.h @@ -22,6 +22,7 @@ #define LATTECORONA_H // local +#include "plasmaquick/configview.h" #include "../liblatte2/types.h" // Qt diff --git a/app/view/dockconfigview.cpp b/app/view/settings/primaryconfigview.cpp similarity index 88% rename from app/view/dockconfigview.cpp rename to app/view/settings/primaryconfigview.cpp index 43d8ebf00..74c91503c 100644 --- a/app/view/dockconfigview.cpp +++ b/app/view/settings/primaryconfigview.cpp @@ -18,15 +18,15 @@ * along with this program. If not, see . */ -#include "dockconfigview.h" +#include "primaryconfigview.h" // local -#include "view.h" -#include "panelshadows_p.h" -#include "../lattecorona.h" -#include "../layoutmanager.h" -#include "../settings/universalsettings.h" -#include "../wm/abstractwindowinterface.h" +#include "../panelshadows_p.h" +#include "../view.h" +#include "../../lattecorona.h" +#include "../../layoutmanager.h" +#include "../../settings/universalsettings.h" +#include "../../wm/abstractwindowinterface.h" // Qt #include @@ -46,8 +46,9 @@ #include namespace Latte { +namespace ViewPart { -DockConfigView::DockConfigView(Plasma::Containment *containment, Latte::View *view, QWindow *parent) +PrimaryConfigView::PrimaryConfigView(Plasma::Containment *containment, Latte::View *view, QWindow *parent) : PlasmaQuick::ConfigView(containment, parent), m_latteView(view) { @@ -70,8 +71,8 @@ DockConfigView::DockConfigView(Plasma::Containment *containment, Latte::View *vi syncGeometry(); syncSlideEffect(); }); - connections << connect(m_latteView->visibility(), &VisibilityManager::modeChanged, this, &DockConfigView::syncGeometry); - connections << connect(containment, &Plasma::Containment::immutabilityChanged, this, &DockConfigView::immutabilityChanged); + connections << connect(m_latteView->visibility(), &VisibilityManager::modeChanged, this, &PrimaryConfigView::syncGeometry); + connections << connect(containment, &Plasma::Containment::immutabilityChanged, this, &PrimaryConfigView::immutabilityChanged); m_thicknessSyncTimer.setSingleShot(true); m_thicknessSyncTimer.setInterval(200); @@ -84,13 +85,13 @@ DockConfigView::DockConfigView(Plasma::Containment *containment, Latte::View *vi }); if (m_corona) { - connections << connect(m_corona, &Latte::Corona::raiseViewsTemporaryChanged, this, &DockConfigView::raiseDocksTemporaryChanged); + connections << connect(m_corona, &Latte::Corona::raiseViewsTemporaryChanged, this, &PrimaryConfigView::raiseDocksTemporaryChanged); } } -DockConfigView::~DockConfigView() +PrimaryConfigView::~PrimaryConfigView() { - qDebug() << "DockConfigView deleting ..."; + qDebug() << "ConfigView deleting ..."; deleteSecondaryWindow(); @@ -105,7 +106,7 @@ DockConfigView::~DockConfigView() } -void DockConfigView::init() +void PrimaryConfigView::init() { qDebug() << "dock config view : initialization started..."; @@ -137,17 +138,17 @@ void DockConfigView::init() qDebug() << "dock config view : initialization ended..."; } -inline Qt::WindowFlags DockConfigView::wFlags() const +inline Qt::WindowFlags PrimaryConfigView::wFlags() const { return (flags() | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint) & ~Qt::WindowDoesNotAcceptFocus; } -QWindow *DockConfigView::secondaryWindow() +QWindow *PrimaryConfigView::secondaryWindow() { return m_secConfigView; } -void DockConfigView::setAdvanced(bool advanced) +void PrimaryConfigView::setAdvanced(bool advanced) { if (m_advanced == advanced) { return; @@ -162,7 +163,7 @@ void DockConfigView::setAdvanced(bool advanced) } } -void DockConfigView::createSecondaryWindow() +void PrimaryConfigView::createSecondaryWindow() { //! do not proceed when secondary window is already created //! or when main dock settings window has not updated yet @@ -173,7 +174,7 @@ void DockConfigView::createSecondaryWindow() QRect geometry = m_latteView->screenGeometry(); - m_secConfigView = new DockSecConfigView(m_latteView, this); + m_secConfigView = new SecondaryConfigView(m_latteView, this); m_secConfigView->init(); if (m_secConfigView->geometryWhenVisible().intersects(geometryWhenVisible())) { @@ -192,19 +193,19 @@ void DockConfigView::createSecondaryWindow() } } -void DockConfigView::deleteSecondaryWindow() +void PrimaryConfigView::deleteSecondaryWindow() { if (m_secConfigView) { m_secConfigView->deleteLater(); } } -QRect DockConfigView::geometryWhenVisible() const +QRect PrimaryConfigView::geometryWhenVisible() const { return m_geometryWhenVisible; } -void DockConfigView::syncGeometry() +void PrimaryConfigView::syncGeometry() { if (!m_latteView->managedLayout() || !m_latteView->containment() || !rootObject()) return; @@ -271,7 +272,7 @@ void DockConfigView::syncGeometry() } } -void DockConfigView::syncSlideEffect() +void PrimaryConfigView::syncSlideEffect() { if (!m_latteView->containment()) return; @@ -303,7 +304,7 @@ void DockConfigView::syncSlideEffect() m_corona->wm()->slideWindow(*this, slideLocation); } -void DockConfigView::showEvent(QShowEvent *ev) +void PrimaryConfigView::showEvent(QShowEvent *ev) { QQuickWindow::showEvent(ev); @@ -319,12 +320,12 @@ void DockConfigView::showEvent(QShowEvent *ev) m_latteView->containment()->setUserConfiguring(true); m_screenSyncTimer.start(); - QTimer::singleShot(400, this, &DockConfigView::syncGeometry); + QTimer::singleShot(400, this, &PrimaryConfigView::syncGeometry); emit showSignal(); } -void DockConfigView::hideEvent(QHideEvent *ev) +void PrimaryConfigView::hideEvent(QHideEvent *ev) { if (!m_latteView) { QQuickWindow::hideEvent(ev); @@ -350,7 +351,7 @@ void DockConfigView::hideEvent(QHideEvent *ev) deleteLater(); } -void DockConfigView::focusOutEvent(QFocusEvent *ev) +void PrimaryConfigView::focusOutEvent(QFocusEvent *ev) { Q_UNUSED(ev); @@ -365,7 +366,7 @@ void DockConfigView::focusOutEvent(QFocusEvent *ev) } } -void DockConfigView::setupWaylandIntegration() +void PrimaryConfigView::setupWaylandIntegration() { if (m_shellSurface || !KWindowSystem::isPlatformWayland() || !m_latteView || !m_latteView->containment()) { // already setup @@ -395,7 +396,7 @@ void DockConfigView::setupWaylandIntegration() } } -bool DockConfigView::event(QEvent *e) +bool PrimaryConfigView::event(QEvent *e) { if (e->type() == QEvent::PlatformSurface) { if (auto pe = dynamic_cast(e)) { @@ -426,18 +427,18 @@ bool DockConfigView::event(QEvent *e) } -void DockConfigView::immutabilityChanged(Plasma::Types::ImmutabilityType type) +void PrimaryConfigView::immutabilityChanged(Plasma::Types::ImmutabilityType type) { if (type != Plasma::Types::Mutable && isVisible()) hideConfigWindow(); } -bool DockConfigView::sticker() const +bool PrimaryConfigView::sticker() const { return m_blockFocusLost; } -void DockConfigView::setSticker(bool blockFocusLost) +void PrimaryConfigView::setSticker(bool blockFocusLost) { if (m_blockFocusLost == blockFocusLost) return; @@ -445,11 +446,11 @@ void DockConfigView::setSticker(bool blockFocusLost) m_blockFocusLost = blockFocusLost; } -bool DockConfigView::showInlineProperties() const +bool PrimaryConfigView::showInlineProperties() const { return m_showInlineProperties; } -void DockConfigView::setShowInlineProperties(bool show) +void PrimaryConfigView::setShowInlineProperties(bool show) { if (m_showInlineProperties == show) { return; @@ -459,14 +460,14 @@ void DockConfigView::setShowInlineProperties(bool show) emit showInlinePropertiesChanged(); } -void DockConfigView::addPanelSpacer() +void PrimaryConfigView::addPanelSpacer() { if (m_latteView && m_latteView->containment()) { m_latteView->containment()->createApplet(QStringLiteral("org.kde.latte.spacer")); } } -void DockConfigView::hideConfigWindow() +void PrimaryConfigView::hideConfigWindow() { if (m_shellSurface) { //!NOTE: Avoid crash in wayland environment with qt5.9 @@ -476,7 +477,7 @@ void DockConfigView::hideConfigWindow() } } -void DockConfigView::updateLaunchersForGroup(int groupInt) +void PrimaryConfigView::updateLaunchersForGroup(int groupInt) { Types::LaunchersGroup group = (Types::LaunchersGroup)groupInt; @@ -536,12 +537,12 @@ void DockConfigView::updateLaunchersForGroup(int groupInt) } //!BEGIN borders -Plasma::FrameSvg::EnabledBorders DockConfigView::enabledBorders() const +Plasma::FrameSvg::EnabledBorders PrimaryConfigView::enabledBorders() const { return m_enabledBorders; } -void DockConfigView::updateEnabledBorders() +void PrimaryConfigView::updateEnabledBorders() { if (!this->screen()) { return; @@ -582,4 +583,5 @@ void DockConfigView::updateEnabledBorders() //!END borders } -// kate: indent-mode cstyle; indent-width 4; replace-tabs on; +} + diff --git a/app/view/dockconfigview.h b/app/view/settings/primaryconfigview.h similarity index 87% rename from app/view/dockconfigview.h rename to app/view/settings/primaryconfigview.h index 9b67a48b8..0a717edea 100644 --- a/app/view/dockconfigview.h +++ b/app/view/settings/primaryconfigview.h @@ -18,13 +18,13 @@ * along with this program. If not, see . */ -#ifndef DOCKCONFIGVIEW_H -#define DOCKCONFIGVIEW_H +#ifndef PRIMARYCONFIGVIEW_H +#define PRIMARYCONFIGVIEW_H // local -#include "docksecconfigview.h" -#include "../plasmaquick/configview.h" -#include "../../liblatte2/types.h" +#include "secondaryconfigview.h" +#include "../../plasmaquick/configview.h" +#include "../../../liblatte2/types.h" //Qt #include @@ -55,8 +55,9 @@ class View; } namespace Latte { +namespace ViewPart { -class DockConfigView : public PlasmaQuick::ConfigView +class PrimaryConfigView : public PlasmaQuick::ConfigView { Q_OBJECT //! used when the secondary config window can not be shown @@ -71,8 +72,8 @@ public: SecondaryConfig }; - DockConfigView(Plasma::Containment *containment, Latte::View *view, QWindow *parent = nullptr); - ~DockConfigView() override; + PrimaryConfigView(Plasma::Containment *containment, Latte::View *view, QWindow *parent = nullptr); + ~PrimaryConfigView() override; void init() override; Qt::WindowFlags wFlags() const; @@ -129,7 +130,7 @@ private: QRect m_geometryWhenVisible; QPointer m_latteView; - QPointer m_secConfigView; + QPointer m_secConfigView; QTimer m_screenSyncTimer; QTimer m_thicknessSyncTimer; QList connections; @@ -141,5 +142,6 @@ private: }; } -#endif //DOCKCONFIGVIEW_H -// kate: indent-mode cstyle; indent-width 4; replace-tabs on; +} +#endif //PRIMARYCONFIGVIEW_H + diff --git a/app/view/docksecconfigview.cpp b/app/view/settings/secondaryconfigview.cpp similarity index 89% rename from app/view/docksecconfigview.cpp rename to app/view/settings/secondaryconfigview.cpp index f5e036c2a..29cbdc1f2 100644 --- a/app/view/docksecconfigview.cpp +++ b/app/view/settings/secondaryconfigview.cpp @@ -17,14 +17,14 @@ * along with this program. If not, see . */ -#include "docksecconfigview.h" +#include "secondaryconfigview.h" // local -#include "dockconfigview.h" -#include "panelshadows_p.h" -#include "view.h" -#include "../lattecorona.h" -#include "../wm/abstractwindowinterface.h" +#include "primaryconfigview.h" +#include "../panelshadows_p.h" +#include "../view.h" +#include "../../lattecorona.h" +#include "../../wm/abstractwindowinterface.h" // Qt #include @@ -44,8 +44,9 @@ #include namespace Latte { +namespace ViewPart { -DockSecConfigView::DockSecConfigView(Latte::View *view, QWindow *parent) +SecondaryConfigView::SecondaryConfigView(Latte::View *view, QWindow *parent) : QQuickView(nullptr), m_parent(parent), m_latteView(view) @@ -70,7 +71,7 @@ DockSecConfigView::DockSecConfigView(Latte::View *view, QWindow *parent) syncGeometry(); syncSlideEffect(); }); - connections << connect(m_latteView->visibility(), &VisibilityManager::modeChanged, this, &DockSecConfigView::syncGeometry); + connections << connect(m_latteView->visibility(), &VisibilityManager::modeChanged, this, &SecondaryConfigView::syncGeometry); m_thicknessSyncTimer.setSingleShot(true); m_thicknessSyncTimer.setInterval(200); @@ -83,7 +84,7 @@ DockSecConfigView::DockSecConfigView(Latte::View *view, QWindow *parent) }); } -DockSecConfigView::~DockSecConfigView() +SecondaryConfigView::~SecondaryConfigView() { qDebug() << "SecDockConfigView deleting ..."; @@ -98,7 +99,7 @@ DockSecConfigView::~DockSecConfigView() } -void DockSecConfigView::init() +void SecondaryConfigView::init() { qDebug() << "dock secondary config view : initialization started..."; @@ -127,17 +128,17 @@ void DockSecConfigView::init() qDebug() << "dock secondary config view : initialization ended..."; } -inline Qt::WindowFlags DockSecConfigView::wFlags() const +inline Qt::WindowFlags SecondaryConfigView::wFlags() const { return (flags() | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint) & ~Qt::WindowDoesNotAcceptFocus; } -QRect DockSecConfigView::geometryWhenVisible() const +QRect SecondaryConfigView::geometryWhenVisible() const { return m_geometryWhenVisible; } -void DockSecConfigView::syncGeometry() +void SecondaryConfigView::syncGeometry() { if (!m_latteView->managedLayout() || !m_latteView->containment() || !rootObject()) return; @@ -201,7 +202,7 @@ void DockSecConfigView::syncGeometry() } } -void DockSecConfigView::syncSlideEffect() +void SecondaryConfigView::syncSlideEffect() { if (!m_latteView->containment()) return; @@ -233,7 +234,7 @@ void DockSecConfigView::syncSlideEffect() m_corona->wm()->slideWindow(*this, slideLocation); } -void DockSecConfigView::showEvent(QShowEvent *ev) +void SecondaryConfigView::showEvent(QShowEvent *ev) { QQuickWindow::showEvent(ev); @@ -246,12 +247,12 @@ void DockSecConfigView::showEvent(QShowEvent *ev) syncSlideEffect(); m_screenSyncTimer.start(); - QTimer::singleShot(400, this, &DockSecConfigView::syncGeometry); + QTimer::singleShot(400, this, &SecondaryConfigView::syncGeometry); emit showSignal(); } -void DockSecConfigView::focusOutEvent(QFocusEvent *ev) +void SecondaryConfigView::focusOutEvent(QFocusEvent *ev) { Q_UNUSED(ev); @@ -261,14 +262,14 @@ void DockSecConfigView::focusOutEvent(QFocusEvent *ev) || focusWindow->flags().testFlag(Qt::ToolTip))) return; - const auto parent = qobject_cast(m_parent); + const auto parent = qobject_cast(m_parent); if (parent && !parent->sticker() && !parent->isActive()) { parent->hideConfigWindow(); } } -void DockSecConfigView::setupWaylandIntegration() +void SecondaryConfigView::setupWaylandIntegration() { if (m_shellSurface || !KWindowSystem::isPlatformWayland() || !m_latteView || !m_latteView->containment()) { // already setup @@ -298,7 +299,7 @@ void DockSecConfigView::setupWaylandIntegration() } } -bool DockSecConfigView::event(QEvent *e) +bool SecondaryConfigView::event(QEvent *e) { if (e->type() == QEvent::PlatformSurface) { if (auto pe = dynamic_cast(e)) { @@ -328,7 +329,7 @@ bool DockSecConfigView::event(QEvent *e) return QQuickView::event(e); } -void DockSecConfigView::hideConfigWindow() +void SecondaryConfigView::hideConfigWindow() { if (m_shellSurface) { //!NOTE: Avoid crash in wayland environment with qt5.9 @@ -339,12 +340,12 @@ void DockSecConfigView::hideConfigWindow() } //!BEGIN borders -Plasma::FrameSvg::EnabledBorders DockSecConfigView::enabledBorders() const +Plasma::FrameSvg::EnabledBorders SecondaryConfigView::enabledBorders() const { return m_enabledBorders; } -void DockSecConfigView::updateEnabledBorders() +void SecondaryConfigView::updateEnabledBorders() { if (!this->screen()) { return; @@ -384,6 +385,6 @@ void DockSecConfigView::updateEnabledBorders() //!END borders - } -// kate: indent-mode cstyle; indent-width 4; replace-tabs on; +} + diff --git a/app/view/docksecconfigview.h b/app/view/settings/secondaryconfigview.h similarity index 87% rename from app/view/docksecconfigview.h rename to app/view/settings/secondaryconfigview.h index 2bafd0ba3..8f89c9604 100644 --- a/app/view/docksecconfigview.h +++ b/app/view/settings/secondaryconfigview.h @@ -17,11 +17,11 @@ * along with this program. If not, see . */ -#ifndef DOCKSECCONFIGVIEW_H -#define DOCKSECCONFIGVIEW_H +#ifndef SECONDARYCONFIGVIEW_H +#define SECONDARYCONFIGVIEW_H // local -#include "../../liblatte2/types.h" +#include "../../../liblatte2/types.h" //Qt #include @@ -52,16 +52,17 @@ class View; } namespace Latte { +namespace ViewPart { -class DockSecConfigView : public QQuickView +class SecondaryConfigView : public QQuickView { Q_OBJECT Q_PROPERTY(Plasma::FrameSvg::EnabledBorders enabledBorders READ enabledBorders NOTIFY enabledBordersChanged) public: - DockSecConfigView(Latte::View *view, QWindow *parent); - ~DockSecConfigView() override; + SecondaryConfigView(Latte::View *view, QWindow *parent); + ~SecondaryConfigView() override; void init(); Qt::WindowFlags wFlags() const; @@ -106,5 +107,6 @@ private: }; } -#endif //DOCKSECCONFIGVIEW_H -// kate: indent-mode cstyle; indent-width 4; replace-tabs on; +} +#endif //SECONDARYCONFIGVIEW_H + diff --git a/app/view/view.cpp b/app/view/view.cpp index b43a6ab37..0765aafe1 100644 --- a/app/view/view.cpp +++ b/app/view/view.cpp @@ -22,10 +22,10 @@ // local #include "contextmenu.h" -#include "dockconfigview.h" #include "effects.h" #include "positioner.h" #include "visibilitymanager.h" +#include "settings/primaryconfigview.h" #include "../lattecorona.h" #include "../layout.h" #include "../layoutmanager.h" @@ -294,7 +294,7 @@ void View::removeView() bool View::settingsWindowIsShown() { - auto configView = qobject_cast(m_configView); + auto configView = qobject_cast(m_configView); return (configView != nullptr); } @@ -338,7 +338,7 @@ void View::showConfigurationInterface(Plasma::Applet *applet) bool delayConfigView = false; if (c && containment() && c->isContainment() && c->id() == this->containment()->id()) { - m_configView = new DockConfigView(c, this); + m_configView = new ViewPart::PrimaryConfigView(c, this); delayConfigView = true; } else { m_configView = new PlasmaQuick::ConfigView(applet); @@ -656,7 +656,7 @@ void View::applyActivitiesToWindows() if (m_configView) { m_visibility->setWindowOnActivities(*m_configView, activities); - auto configView = qobject_cast(m_configView); + auto configView = qobject_cast(m_configView); if (configView && configView->secondaryWindow()) { m_visibility->setWindowOnActivities(*configView->secondaryWindow(), activities); @@ -775,7 +775,7 @@ void View::moveToLayout(QString layoutName) void View::setBlockHiding(bool block) { if (!block) { - auto *configView = qobject_cast(m_configView); + auto *configView = qobject_cast(m_configView); if (m_alternativesIsShown || (configView && configView->sticker() && configView->isVisible())) { return; @@ -796,7 +796,7 @@ void View::hideWindowsForSlidingOut() setBlockHiding(false); if (m_configView) { - auto configDialog = qobject_cast(m_configView); + auto configDialog = qobject_cast(m_configView); if (configDialog) { configDialog->hideConfigWindow(); diff --git a/app/view/view.h b/app/view/view.h index 812f9ada3..d66d32999 100644 --- a/app/view/view.h +++ b/app/view/view.h @@ -22,10 +22,10 @@ #define VIEW_H // local -#include "dockconfigview.h" #include "effects.h" #include "positioner.h" #include "visibilitymanager.h" +#include "settings/primaryconfigview.h" #include "../layout.h" #include "../plasmaquick/containmentview.h" #include "../plasmaquick/configview.h"