diff options
-rw-r--r-- | homescreen/meson.build | 2 | ||||
-rw-r--r-- | homescreen/src/main.cpp | 31 | ||||
-rw-r--r-- | homescreen/src/shell.cpp | 60 | ||||
-rw-r--r-- | homescreen/src/shell.h | 60 |
4 files changed, 2 insertions, 151 deletions
diff --git a/homescreen/meson.build b/homescreen/meson.build index 50c644c..98c0505 100644 --- a/homescreen/meson.build +++ b/homescreen/meson.build @@ -113,14 +113,12 @@ homescreen_src_headers = [ 'src/statusbarserver.h', 'src/homescreenhandler.h', 'src/AglShellGrpcClient.h', - 'src/shell.h' ] moc_files = qt5.compile_moc(headers: homescreen_src_headers, dependencies: qt5_dep) homescreen_src = [ - 'src/shell.cpp', 'src/statusbarserver.cpp', 'src/statusbarmodel.cpp', 'src/applicationlauncher.cpp', diff --git a/homescreen/src/main.cpp b/homescreen/src/main.cpp index 8598a33..66ddb75 100644 --- a/homescreen/src/main.cpp +++ b/homescreen/src/main.cpp @@ -16,6 +16,7 @@ #include <QtQml/qqml.h> #include <QQuickWindow> #include <QTimer> +#include <QScreen> #include <weather.h> #include <bluetooth.h> @@ -31,7 +32,6 @@ #include <wayland-client.h> #include "agl-shell-client-protocol.h" -#include "shell.h" #include <thread> #include "AglShellGrpcClient.h" @@ -87,34 +87,7 @@ static void agl_shell_app_state(void *data, struct agl_shell *agl_shell, const char *app_id, uint32_t state) { -#if 0 - struct shell_data *shell_data = static_cast<struct shell_data *>(data); - HomescreenHandler *homescreenHandler = shell_data->homescreenHandler; - - if (!homescreenHandler) - return; - - switch (state) { - case AGL_SHELL_APP_STATE_STARTED: - qDebug() << "Got AGL_SHELL_APP_STATE_STARTED for app_id " << app_id; - homescreenHandler->processAppStatusEvent(app_id, "started"); - break; - case AGL_SHELL_APP_STATE_TERMINATED: - qDebug() << "Got AGL_SHELL_APP_STATE_TERMINATED for app_id " << app_id; - // handled by HomescreenHandler::processAppStatusEvent - break; - case AGL_SHELL_APP_STATE_ACTIVATED: - qDebug() << "Got AGL_SHELL_APP_STATE_ACTIVATED for app_id " << app_id; - homescreenHandler->addAppToStack(app_id); - break; - case AGL_SHELL_APP_STATE_DEACTIVATED: - qDebug() << "Got AGL_SHELL_APP_STATE_DEACTIVATED for app_id " << app_id; - homescreenHandler->processAppStatusEvent(app_id, "deactivated"); - break; - default: - break; - } -#endif + /* unused */ } static void diff --git a/homescreen/src/shell.cpp b/homescreen/src/shell.cpp deleted file mode 100644 index b7583c1..0000000 --- a/homescreen/src/shell.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright © 2019, 2022 Collabora Ltd. - * - * 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 (including the - * next paragraph) 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 <QGuiApplication> -#include <QDebug> -#include "shell.h" -// defined by meson build file -#include QT_QPA_HEADER -#include <stdio.h> - -static struct wl_output * -getWlOutput(QPlatformNativeInterface *native, QScreen *screen) -{ - void *output = native->nativeResourceForScreen("output", screen); - return static_cast<struct ::wl_output*>(output); -} - -void Shell::activate_app(QWindow *win, const QString &app_id) -{ - QPlatformNativeInterface *native = qApp->platformNativeInterface(); - QScreen *screen = win->screen(); - - struct wl_output *output = getWlOutput(native, screen); - - qDebug() << "++ activating app_id " << app_id.toStdString().c_str(); - - agl_shell_activate_app(this->shell.get(), - app_id.toStdString().c_str(), - output); -} - -void Shell::set_activate_region(struct wl_output *output, int32_t x, int32_t y, - int32_t width, int32_t height) -{ -#ifdef AGL_SHELL_SET_ACTIVATE_REGION_SINCE_VERSION - agl_shell_set_activate_region(this->shell.get(), output, x, y, width, height); -#endif -} diff --git a/homescreen/src/shell.h b/homescreen/src/shell.h deleted file mode 100644 index 51990d8..0000000 --- a/homescreen/src/shell.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright © 2019 Collabora Ltd. - * - * 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 (including the - * next paragraph) 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 SHELLHANDLER_H -#define SHELLHANDLER_H - -#include <QObject> -#include <QString> -#include <QScreen> -#include <QWindow> -#include <memory> -#include "agl-shell-client-protocol.h" - -/* - * Basic type to wrap the agl_shell wayland object into a QObject, so that it - * can be used in callbacks from QML. - */ - -class Shell : public QObject -{ - Q_OBJECT - -public: - std::shared_ptr<struct agl_shell> shell; - - Shell(std::shared_ptr<struct agl_shell> shell, QObject *parent = nullptr) : - QObject(parent), shell(shell) - {} - public slots: - void activate_app(QWindow *win, const QString &app_id); - void set_activate_region(struct wl_output *output, int32_t x, int32_t y, - int32_t width, int32_t height); -private: - struct wl_region *m_region = nullptr; -}; - -#endif // SHELLHANDLER_H |