'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',
#include <QtQml/qqml.h>
#include <QQuickWindow>
#include <QTimer>
+#include <QScreen>
#include <weather.h>
#include <bluetooth.h>
#include <wayland-client.h>
#include "agl-shell-client-protocol.h"
-#include "shell.h"
#include <thread>
#include "AglShellGrpcClient.h"
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
+++ /dev/null
-/*
- * 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
-}
+++ /dev/null
-/*
- * 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