From bd10239697d436caaa8aac3f4eca8aa2a5c14cac Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Fri, 18 Oct 2019 19:48:50 -0500
Subject: [PATCH] Revert "Make QuickEditor fullscreen on Wayland"
Allow building without Wayland libraries.
This reverts commit 5679f7f5c9bc56e59744e9e4045dd01d7142fbfb.
---
CMakeLists.txt | 1 -
src/CMakeLists.txt | 1 -
src/QuickEditor/QuickEditor.cpp | 18 ++----------------
src/QuickEditor/QuickEditor.h | 8 +-------
src/SpectacleCore.cpp | 26 ++------------------------
src/SpectacleCore.h | 7 -------
6 files changed, 5 insertions(+), 56 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3395c1b..06009f1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -67,7 +67,6 @@ find_package(
NewStuff
GlobalAccel
XmlGui
- Wayland
)
# optional components
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6ff1b30..80e50dd 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -87,7 +87,6 @@ target_link_libraries(
KF5::NewStuff
KF5::GlobalAccel
KF5::XmlGui
- KF5::WaylandClient
)
if(XCB_FOUND)
diff --git a/src/QuickEditor/QuickEditor.cpp b/src/QuickEditor/QuickEditor.cpp
index 41e5858..92ced06 100644
--- a/src/QuickEditor/QuickEditor.cpp
+++ b/src/QuickEditor/QuickEditor.cpp
@@ -18,8 +18,6 @@
*/
#include <KLocalizedString>
-#include <KWayland/Client/plasmashell.h>
-#include <KWayland/Client/surface.h>
#include <QGuiApplication>
#include <QScreen>
#include <QtCore/qmath.h>
@@ -53,7 +51,7 @@ const int QuickEditor::magZoom = 5;
const int QuickEditor::magPixels = 16;
const int QuickEditor::magOffset = 32;
-QuickEditor::QuickEditor(const QPixmap &thePixmap, KWayland::Client::PlasmaShell *plasmashell, QWidget *parent) :
+QuickEditor::QuickEditor(const QPixmap& thePixmap, QWidget *parent) :
QWidget(parent),
mMaskColor(QColor::fromRgbF(0, 0, 0, 0.15)),
mStrokeColor(palette().highlight().color()),
@@ -91,18 +89,6 @@
dprI = 1.0 / devicePixelRatioF();
setGeometry(0, 0, static_cast<int>(mPixmap.width() * dprI), static_cast<int>(mPixmap.height() * dprI));
- // TODO This is a hack until a better interface is available
- if (plasmashell) {
- using namespace KWayland::Client;
- winId();
- auto surface = Surface::fromWindow(windowHandle());
- if (surface) {
- PlasmaShellSurface *plasmashellSurface = plasmashell->createSurface(surface, this);
- plasmashellSurface->setRole(PlasmaShellSurface::Role::Panel);
- plasmashellSurface->setPanelTakesFocus(true);
- plasmashellSurface->setPosition(geometry().topLeft());
- }
- }
if (Settings::rememberLastRectangularRegion() || Settings::alwaysRememberRegion()) {
auto savedRect = Settings::cropRegion();
QRect cropRegion = QRect(savedRect[0], savedRect[1], savedRect[2], savedRect[3]);
diff --git a/src/QuickEditor/QuickEditor.h b/src/QuickEditor/QuickEditor.h
index 8dd6586..8187995 100644
--- a/src/QuickEditor/QuickEditor.h
+++ b/src/QuickEditor/QuickEditor.h
@@ -29,19 +29,13 @@
class QMouseEvent;
-namespace KWayland {
-namespace Client {
-class PlasmaShell;
-}
-}
-
class QuickEditor: public QWidget
{
Q_OBJECT
public:
- explicit QuickEditor(const QPixmap &thePixmap, KWayland::Client::PlasmaShell *plasmashell, QWidget *parent = nullptr);
+ explicit QuickEditor(const QPixmap &thePixmap, QWidget *parent = nullptr);
virtual ~QuickEditor() = default;
private:
diff --git a/src/SpectacleCore.cpp b/src/SpectacleCore.cpp
index 7024750..40417bb 100644
--- a/src/SpectacleCore.cpp
+++ b/src/SpectacleCore.cpp
@@ -27,9 +27,6 @@
#include <KMessageBox>
#include <KNotification>
#include <KRun>
-#include <KWayland/Client/connection_thread.h>
-#include <KWayland/Client/plasmashell.h>
-#include <KWayland/Client/registry.h>
#include <KWindowSystem>
#include <QApplication>
@@ -46,7 +46,6 @@
QObject(parent),
mMainWindow(nullptr),
- mIsGuiInited(false),
- mWaylandPlasmashell(nullptr)
+ mIsGuiInited(false)
{
}
@@ -66,23 +65,6 @@
connect(lExportManager, &ExportManager::forceNotify, this, &SpectacleCore::doNotify);
connect(mPlatform.get(), &Platform::windowTitleChanged, lExportManager, &ExportManager::setWindowTitle);
- // Needed so the QuickEditor can go fullscreen on wayland
- if (KWindowSystem::isPlatformWayland()) {
- using namespace KWayland::Client;
- ConnectionThread *connection = ConnectionThread::fromApplication(this);
- if (!connection) {
- return;
- }
- Registry *registry = new Registry(this);
- registry->create(connection);
- connect(registry, &Registry::plasmaShellAnnounced, this,
- [this, registry] (quint32 name, quint32 version) {
- mWaylandPlasmashell = registry->createPlasmaShell(name, version, this);
- }
- );
- registry->setup();
- connection->roundtrip();
- }
setUpShortcuts();
}
@@ -245,7 +223,7 @@ void SpectacleCore::screenshotUpdated(const QPixmap &thePixmap)
if (lExportManager->captureMode() == Spectacle::CaptureMode::RectangularRegion) {
if(!mQuickEditor) {
- mQuickEditor = std::make_unique<QuickEditor>(thePixmap, mWaylandPlasmashell);
+ mQuickEditor = std::make_unique<QuickEditor>(thePixmap);
connect(mQuickEditor.get(), &QuickEditor::grabDone, this, &SpectacleCore::screenshotUpdated);
connect(mQuickEditor.get(), &QuickEditor::grabCancelled, this, &SpectacleCore::screenshotFailed);
mQuickEditor->show();
diff --git a/src/SpectacleCore.h b/src/SpectacleCore.h
index 3e90a99..8994995 100644
--- a/src/SpectacleCore.h
+++ b/src/SpectacleCore.h
@@ -30,12 +30,6 @@
#include <memory>
-namespace KWayland {
-namespace Client {
-class PlasmaShell;
-}
-}
-
using MainWindowPtr = std::unique_ptr<KSMainWindow>;
using EditorPtr = std::unique_ptr<QuickEditor>;
@@ -93,4 +87,3 @@ class SpectacleCore: public QObject
bool mIsGuiInited;
bool mCopyToClipboard;
- KWayland::Client::PlasmaShell *mWaylandPlasmashell;
};
--
2.22.1