Skip to content

Commit

Permalink
chore: add some interfaces about personalization
Browse files Browse the repository at this point in the history
add some interfaces about personalization

Log:
  • Loading branch information
wangfei committed Oct 10, 2024
1 parent 8cf037d commit 7e79d03
Show file tree
Hide file tree
Showing 8 changed files with 120 additions and 227 deletions.
6 changes: 4 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ else()
find_package(Qt5 REQUIRED COMPONENTS WaylandClient XkbCommonSupport)
endif()

find_package(TreeLandProtocols REQUIRED)

add_library(${LIB_NAME} SHARED)

include(dbus/dbus.cmake)
Expand All @@ -14,7 +16,7 @@ include(util/util.cmake)

if("${QT_VERSION_MAJOR}" STREQUAL "6")
qt6_generate_wayland_protocol_client_sources(${LIB_NAME} FILES
${CMAKE_CURRENT_SOURCE_DIR}/wayland/protocol/treeland-personalization-manager-v1.xml
${TREELAND_PROTOCOLS_DATA_DIR}/treeland-personalization-manager-v1.xml
)
else()
# ECM setup
Expand All @@ -23,7 +25,7 @@ else()
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${ECM_MODULE_PATH}")
find_package(QtWaylandScanner)
ecm_add_qtwayland_client_protocol(${LIB_NAME}
PROTOCOL ${CMAKE_CURRENT_SOURCE_DIR}/wayland/protocol/treeland-personalization-manager-v1.xml
PROTOCOL ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-personalization-manager-v1.xml
BASENAME treeland-personalization-manager-v1
)
target_sources(${LIB_NAME} PRIVATE
Expand Down
46 changes: 46 additions & 0 deletions src/wayland/personalizationwaylandclientextension.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later

#include "personalizationwaylandclientextension.h"
#include "qwayland-treeland-personalization-manager-v1.h"
#include "wayland-treeland-personalization-manager-v1-client-protocol.h"
#include <qwaylandclientextension.h>

DGUI_BEGIN_NAMESPACE
class PersonalizationManager_: public PersonalizationManager {};
Q_GLOBAL_STATIC(PersonalizationManager_, personalizationManager)
PersonalizationManager::PersonalizationManager()
: QWaylandClientExtensionTemplate<PersonalizationManager>(1)
{
}

PersonalizationManager *PersonalizationManager::instance()
{
return personalizationManager;
}

PersonalizationWindowContext::PersonalizationWindowContext(struct ::treeland_personalization_window_context_v1 *context)
: QWaylandClientExtensionTemplate<PersonalizationWindowContext>(1)
, QtWayland::treeland_personalization_window_context_v1(context)
{
}

PersonalizationAppearanceContext::PersonalizationAppearanceContext(struct ::treeland_personalization_appearance_context_v1 *context)
: QWaylandClientExtensionTemplate<PersonalizationAppearanceContext>(1)
, QtWayland::treeland_personalization_appearance_context_v1(context)
{
}

PersonalizationWallpaperContext::PersonalizationWallpaperContext(struct ::treeland_personalization_wallpaper_context_v1 *context)
: QWaylandClientExtensionTemplate<PersonalizationWallpaperContext>(1)
, QtWayland::treeland_personalization_wallpaper_context_v1(context)
{
}

PersonalizationCursorContext::PersonalizationCursorContext(struct ::treeland_personalization_cursor_context_v1 *context)
: QWaylandClientExtensionTemplate<PersonalizationCursorContext>(1)
, QtWayland::treeland_personalization_cursor_context_v1(context)
{
}
DGUI_END_NAMESPACE
63 changes: 63 additions & 0 deletions src/wayland/personalizationwaylandclientextension.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later

#include <QtWaylandClient/QWaylandClientExtension>

#include "qwayland-treeland-personalization-manager-v1.h"
#include "wayland-treeland-personalization-manager-v1-client-protocol.h"

#include <dtkgui_global.h>
#include <qtmetamacros.h>
#include <qwaylandclientextension.h>

DGUI_BEGIN_NAMESPACE
class PersonalizationManager: public QWaylandClientExtensionTemplate<PersonalizationManager>,
public QtWayland::treeland_personalization_manager_v1
{
Q_OBJECT
public:
static PersonalizationManager *instance();

protected:
explicit PersonalizationManager();
};

class PersonalizationWindowContext : public QWaylandClientExtensionTemplate<PersonalizationWindowContext>,
public QtWayland::treeland_personalization_window_context_v1
{
Q_OBJECT
public:
explicit PersonalizationWindowContext(struct ::treeland_personalization_window_context_v1 *context);
};


class PersonalizationAppearanceContext : public QWaylandClientExtensionTemplate<PersonalizationAppearanceContext>,
public QtWayland::treeland_personalization_appearance_context_v1
{
Q_OBJECT
public:
explicit PersonalizationAppearanceContext(struct ::treeland_personalization_appearance_context_v1 *context);

};

class PersonalizationWallpaperContext : public QWaylandClientExtensionTemplate<PersonalizationWallpaperContext>,
public QtWayland::treeland_personalization_wallpaper_context_v1
{
Q_OBJECT
public:
explicit PersonalizationWallpaperContext(struct ::treeland_personalization_wallpaper_context_v1 *context);


};

class PersonalizationCursorContext : public QWaylandClientExtensionTemplate<PersonalizationCursorContext>,
public QtWayland::treeland_personalization_cursor_context_v1
{
Q_OBJECT
public:
explicit PersonalizationCursorContext(struct ::treeland_personalization_cursor_context_v1 *context);

};

DGUI_END_NAMESPACE
218 changes: 0 additions & 218 deletions src/wayland/protocol/treeland-personalization-manager-v1.xml

This file was deleted.

2 changes: 1 addition & 1 deletion src/wayland/qwaylandpersonalizationshellintegration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ bool QWaylandPersonalizationShellIntegration::initialize(QtWaylandClient::QWayla
return m_manager != nullptr;
}

struct personalization_window_context_v1 *
struct treeland_personalization_window_context_v1 *
QWaylandPersonalizationShellIntegration::get_window_context(struct ::wl_surface *surface)
{
return m_manager->get_window_context(surface);
Expand Down
2 changes: 1 addition & 1 deletion src/wayland/qwaylandpersonalizationshellintegration_p.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class QWaylandPersonalizationShellIntegration

#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
bool initialize(QtWaylandClient::QWaylandDisplay *display) override;
struct personalization_window_context_v1 *get_window_context(struct ::wl_surface *surface);
struct treeland_personalization_window_context_v1 *get_window_context(struct ::wl_surface *surface);

struct treeland_personalization_manager_v1 *object() { return m_manager->object(); }
#endif
Expand Down
Loading

0 comments on commit 7e79d03

Please sign in to comment.