mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-27 06:33:08 +00:00
remove local fullscreenpanel component
This commit is contained in:
parent
e457472603
commit
77ae2a21f0
10 changed files with 4 additions and 254 deletions
|
|
@ -59,7 +59,6 @@ add_subdirectory(bin)
|
||||||
#add_subdirectory(services)
|
#add_subdirectory(services)
|
||||||
add_subdirectory(applets)
|
add_subdirectory(applets)
|
||||||
add_subdirectory(containments)
|
add_subdirectory(containments)
|
||||||
add_subdirectory(components)
|
|
||||||
add_subdirectory(dialer)
|
add_subdirectory(dialer)
|
||||||
add_subdirectory(sounds)
|
add_subdirectory(sounds)
|
||||||
#add_subdirectory(touchscreentest)
|
#add_subdirectory(touchscreentest)
|
||||||
|
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
project(mobileshellprivate)
|
|
||||||
|
|
||||||
set(mobileshellprivate_SRCS
|
|
||||||
mobileshellprivateplugin.cpp
|
|
||||||
fullscreenpanel.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
add_library(plasmamobileshellprivateplugin SHARED ${mobileshellprivate_SRCS})
|
|
||||||
target_link_libraries(plasmamobileshellprivateplugin Qt5::Core Qt5::Qml Qt5::Quick KF5::WindowSystem KF5::WaylandClient)
|
|
||||||
|
|
||||||
install(TARGETS plasmamobileshellprivateplugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/private/mobileshell)
|
|
||||||
|
|
||||||
install(FILES qmldir DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/private/mobileshell)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
#! /bin/sh
|
|
||||||
$XGETTEXT *.cpp -o $podir/plasmamobileshellprivateplugin.pot
|
|
||||||
|
|
@ -1,97 +0,0 @@
|
||||||
/***************************************************************************
|
|
||||||
* Copyright 2015 Marco Martin <mart@kde.org> *
|
|
||||||
* *
|
|
||||||
* This program is free software; you can redistribute it and/or modify *
|
|
||||||
* it under the terms of the GNU Library General Public License as published by *
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or *
|
|
||||||
* (at your option) any later version. *
|
|
||||||
* *
|
|
||||||
* This program is distributed in the hope that it will be useful, *
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
||||||
* GNU Library General Public License for more details. *
|
|
||||||
* *
|
|
||||||
* You should have received a copy of the GNU Library General Public License *
|
|
||||||
* along with this program; if not, write to the *
|
|
||||||
* Free Software Foundation, Inc., *
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include "fullscreenpanel.h"
|
|
||||||
|
|
||||||
#include <QStandardPaths>
|
|
||||||
|
|
||||||
#include <QDebug>
|
|
||||||
#include <QGuiApplication>
|
|
||||||
|
|
||||||
#include <kwindowsystem.h>
|
|
||||||
|
|
||||||
#include <KWayland/Client/connection_thread.h>
|
|
||||||
#include <KWayland/Client/plasmashell.h>
|
|
||||||
#include <KWayland/Client/registry.h>
|
|
||||||
#include <KWayland/Client/surface.h>
|
|
||||||
#include <KWayland/Client/shell.h>
|
|
||||||
|
|
||||||
FullScreenPanel::FullScreenPanel(QQuickWindow *parent)
|
|
||||||
: QQuickWindow(parent)
|
|
||||||
{
|
|
||||||
setFlags(Qt::FramelessWindowHint);
|
|
||||||
setWindowState(Qt::WindowFullScreen);
|
|
||||||
// connect(this, &FullScreenPanel::activeFocusItemChanged, this, [this]() {qWarning()<<"hide()";});
|
|
||||||
connect(this, &QWindow::activeChanged, this, &FullScreenPanel::activeChanged);
|
|
||||||
initWayland();
|
|
||||||
}
|
|
||||||
|
|
||||||
FullScreenPanel::~FullScreenPanel()
|
|
||||||
= default;
|
|
||||||
|
|
||||||
void FullScreenPanel::initWayland()
|
|
||||||
{
|
|
||||||
if (!QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
using namespace KWayland::Client;
|
|
||||||
ConnectionThread *connection = ConnectionThread::fromApplication(this);
|
|
||||||
if (!connection) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
auto *registry = new Registry(this);
|
|
||||||
registry->create(connection);
|
|
||||||
|
|
||||||
m_surface = Surface::fromWindow(this);
|
|
||||||
if (!m_surface) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
connect(registry, &Registry::plasmaShellAnnounced, this,
|
|
||||||
[this, registry] (quint32 name, quint32 version) {
|
|
||||||
|
|
||||||
m_plasmaShellInterface = registry->createPlasmaShell(name, version, this);
|
|
||||||
|
|
||||||
m_plasmaShellSurface = m_plasmaShellInterface->createSurface(m_surface, this);
|
|
||||||
m_plasmaShellSurface->setSkipTaskbar(true);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
/*
|
|
||||||
connect(registry, &Registry::shellAnnounced, this,
|
|
||||||
[this, registry] (quint32 name, quint32 version) {
|
|
||||||
|
|
||||||
m_shellInterface = registry->createShell(name, version, this);
|
|
||||||
if (!m_shellInterface) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//bshah: following code results in error...
|
|
||||||
//wl_surface@67: error 0: ShellSurface already created
|
|
||||||
//Wayland display got fatal error 71: Protocol error
|
|
||||||
//Additionally, errno was set to 71: Protocol error
|
|
||||||
m_shellSurface = m_shellInterface->createSurface(m_surface, this);
|
|
||||||
}
|
|
||||||
);*/
|
|
||||||
registry->setup();
|
|
||||||
connection->roundtrip();
|
|
||||||
}
|
|
||||||
|
|
||||||
void FullScreenPanel::showEvent(QShowEvent *event)
|
|
||||||
{
|
|
||||||
using namespace KWayland::Client;
|
|
||||||
QQuickWindow::showEvent(event);
|
|
||||||
}
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
/***************************************************************************
|
|
||||||
* Copyright 2015 Marco Martin <mart@kde.org> *
|
|
||||||
* *
|
|
||||||
* This program is free software; you can redistribute it and/or modify *
|
|
||||||
* it under the terms of the GNU Library General Public License as published by *
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or *
|
|
||||||
* (at your option) any later version. *
|
|
||||||
* *
|
|
||||||
* This program is distributed in the hope that it will be useful, *
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
||||||
* GNU Library General Public License for more details. *
|
|
||||||
* *
|
|
||||||
* You should have received a copy of the GNU Library General Public License *
|
|
||||||
* along with this program; if not, write to the *
|
|
||||||
* Free Software Foundation, Inc., *
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
|
||||||
***************************************************************************/
|
|
||||||
#ifndef FULLSCREENPANEL_H
|
|
||||||
#define FULLSCREENPANEL_H
|
|
||||||
|
|
||||||
#include <QQuickWindow>
|
|
||||||
|
|
||||||
namespace KWayland
|
|
||||||
{
|
|
||||||
namespace Client
|
|
||||||
{
|
|
||||||
class PlasmaWindow;
|
|
||||||
class PlasmaShell;
|
|
||||||
class PlasmaShellSurface;
|
|
||||||
class Shell;
|
|
||||||
class ShellSurface;
|
|
||||||
class Surface;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class FullScreenPanel : public QQuickWindow
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
Q_PROPERTY(bool active READ isActive NOTIFY activeChanged)
|
|
||||||
|
|
||||||
public:
|
|
||||||
FullScreenPanel(QQuickWindow *parent = nullptr);
|
|
||||||
~FullScreenPanel() override;
|
|
||||||
|
|
||||||
Q_SIGNALS:
|
|
||||||
void activeChanged();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
void showEvent(QShowEvent *event) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
void initWayland();
|
|
||||||
KWayland::Client::PlasmaShellSurface *m_plasmaShellSurface = nullptr;
|
|
||||||
KWayland::Client::ShellSurface *m_shellSurface = nullptr;
|
|
||||||
KWayland::Client::Surface *m_surface = nullptr;
|
|
||||||
KWayland::Client::PlasmaShell *m_plasmaShellInterface = nullptr;
|
|
||||||
KWayland::Client::Shell *m_shellInterface = nullptr;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright 2015 Marco Martin <mart@kde.org>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "mobileshellprivateplugin.h"
|
|
||||||
#include "fullscreenpanel.h"
|
|
||||||
|
|
||||||
#include <QtQml>
|
|
||||||
|
|
||||||
|
|
||||||
void PlasmaMobileShellPrivatePlugin::registerTypes(const char *uri)
|
|
||||||
{
|
|
||||||
Q_ASSERT(uri == QLatin1String("org.kde.plasma.private.mobileshell"));
|
|
||||||
|
|
||||||
qmlRegisterType<FullScreenPanel>(uri, 2, 0, "FullScreenPanel");
|
|
||||||
}
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright 2015 Marco Martin <mart@kde.org>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef MOBILESHELLPRIVATE_H
|
|
||||||
#define MOBILESHELLPRIVATE_H
|
|
||||||
|
|
||||||
#include <QQmlExtensionPlugin>
|
|
||||||
|
|
||||||
class PlasmaMobileShellPrivatePlugin : public QQmlExtensionPlugin
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
|
|
||||||
|
|
||||||
public:
|
|
||||||
void registerTypes(const char *uri) override;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
module org.kde.plasma.private.mobileshell
|
|
||||||
plugin plasmamobileshellprivateplugin
|
|
||||||
|
|
||||||
|
|
@ -21,9 +21,9 @@ import QtQuick 2.0
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts 1.1
|
||||||
import QtQuick.Window 2.2
|
import QtQuick.Window 2.2
|
||||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
import org.kde.plasma.private.mobileshell 2.0
|
import org.kde.plasma.private.nanoshell 2.0 as NanoShell
|
||||||
|
|
||||||
FullScreenPanel {
|
NanoShell.FullScreenPanel {
|
||||||
id: window
|
id: window
|
||||||
|
|
||||||
property int offset: 0
|
property int offset: 0
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,9 @@ import QtQuick.Window 2.2
|
||||||
import org.kde.taskmanager 0.1 as TaskManager
|
import org.kde.taskmanager 0.1 as TaskManager
|
||||||
import org.kde.plasma.core 2.1 as PlasmaCore
|
import org.kde.plasma.core 2.1 as PlasmaCore
|
||||||
import org.kde.plasma.components 2.0 as PlasmaComponents
|
import org.kde.plasma.components 2.0 as PlasmaComponents
|
||||||
import org.kde.plasma.private.mobileshell 2.0
|
import org.kde.plasma.private.nanoshell 2.0 as NanoShell
|
||||||
|
|
||||||
FullScreenPanel {
|
NanoShell.FullScreenPanel {
|
||||||
id: window
|
id: window
|
||||||
|
|
||||||
visible: false
|
visible: false
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue