Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions mingw-w64-dtkcommon/PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Maintainer: Cloud <kt286@qq.com>

_realname=dtkcommon
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=6.7.50
pkgrel=1
pkgdesc="DTK common modules"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url="https://github.com/linuxdeepin/dtkcommon"
license=('spdx:LGPL-3.0-or-later')
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-cc")

source=("https://github.com/linuxdeepin/dtkcommon/archive/refs/tags/${pkgver}.tar.gz")
sha256sums=('e9355e021b82dacb260ac98218b53c9ea8010d83bc538f67b0b623890780b97e')

build() {
declare -a extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
cmake \
-GNinja \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
"${extra_config[@]}" \
-DDTK_VERSION=${pkgver} \
-S "${_realname}-${pkgver}" \
-B "build-${MSYSTEM}"

cmake --build "build-${MSYSTEM}"
}

package() {
DESTDIR="${pkgdir}" cmake --install "build-${MSYSTEM}"
}
51 changes: 51 additions & 0 deletions mingw-w64-dtkcore/PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Maintainer: Cloud <kt286@qq.com>

_realname=dtk6core
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=6.7.50
pkgrel=1
pkgdesc="DTK6 core module"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url="https://github.com/linuxdeepin/dtkcore"
license=('spdx:LGPL-3.0-or-later')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-qt6-base"
"${MINGW_PACKAGE_PREFIX}-dtkcommon"
"${MINGW_PACKAGE_PREFIX}-dtk6log"
"${MINGW_PACKAGE_PREFIX}-icu")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-uchardet")

source=("https://github.com/linuxdeepin/dtkcore/archive/refs/tags/${pkgver}.tar.gz")
sha256sums=('bf627dee1ce15d10a87d5b974c0272dd0aa8f5c65816d2365f9a7f11be18290f')

build() {
declare -a extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
cmake \
-GNinja \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
"${extra_config[@]}" \
-DDTK5=OFF \
-DBUILD_WITH_SYSTEMD=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_DOCS=OFF \
-S "${_realname/dtk6/dtk}-${pkgver}" \
-B "build-${MSYSTEM}"

cmake --build "build-${MSYSTEM}"
}

package() {
DESTDIR="${pkgdir}" cmake --install "build-${MSYSTEM}"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
diff --git a/src/private/dqmlglobalobject.cpp b/src/private/dqmlglobalobject.cpp
index a63d5bd2..5f8979a4 100644
--- a/src/private/dqmlglobalobject.cpp
+++ b/src/private/dqmlglobalobject.cpp
@@ -149,6 +149,7 @@ void DQMLGlobalObjectPrivate::ensurePalette()
#endif

paletteInit = true;
+ previousThemeType = DGuiApplicationHelper::instance()->themeType();
updatePalettes();

QObject::connect(DGuiApplicationHelper::instance(), SIGNAL(applicationPaletteChanged()), q_func(), SLOT(_q_onPaletteChanged()));
@@ -173,8 +174,15 @@ void DQMLGlobalObjectPrivate::updatePalettes()

void DQMLGlobalObjectPrivate::_q_onPaletteChanged()
{
+ auto newThemeType = DGuiApplicationHelper::instance()->themeType();
+ bool themeTypeChanged = (previousThemeType != DGuiApplicationHelper::UnknownType && previousThemeType != newThemeType);
+ previousThemeType = newThemeType;
+
updatePalettes();

+ if (themeTypeChanged) {
+ Q_EMIT q_func()->themeTypeChanged(newThemeType);
+ }
Q_EMIT q_func()->paletteChanged();
Q_EMIT q_func()->inactivePaletteChanged();
}
diff --git a/src/private/dqmlglobalobject_p_p.h b/src/private/dqmlglobalobject_p_p.h
index 8bf6ab1e..86e8e917 100644
--- a/src/private/dqmlglobalobject_p_p.h
+++ b/src/private/dqmlglobalobject_p_p.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2020 - 2022 UnionTech Software Technology Co., Ltd.
+// SPDX-FileCopyrightText: 2020 - 2026 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later

@@ -8,6 +8,7 @@
#include <DObjectPrivate>
#include <DObject>
#include <DWindowManagerHelper>
+#include <DGuiApplicationHelper>

#include "dqmlglobalobject_p.h"

@@ -26,6 +27,7 @@ class DQMLGlobalObjectPrivate : public DTK_CORE_NAMESPACE::DObjectPrivate
mutable DPlatformThemeProxy *platformTheme = nullptr;

bool paletteInit = false;
+ DTK_GUI_NAMESPACE::DGuiApplicationHelper::ColorType previousThemeType = DTK_GUI_NAMESPACE::DGuiApplicationHelper::UnknownType;
QPalette palette;
QPalette inactivePalette;
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
diff --git a/src/targets.cmake b/src/targets.cmake
index 95fe9c81..2acecd6a 100644
--- a/src/targets.cmake
+++ b/src/targets.cmake
@@ -20,7 +20,9 @@ find_package(Dtk${DTK_NAME_SUFFIX}Core REQUIRED)
find_package(Dtk${DTK_NAME_SUFFIX}Gui REQUIRED)
find_package(PkgConfig REQUIRED)

-pkg_check_modules(GL REQUIRED IMPORTED_TARGET gl)
+if(LINUX)
+ pkg_check_modules(GL REQUIRED IMPORTED_TARGET gl)
+endif()

include(${PROJECT_SOURCE_DIR}/src/src.cmake)

@@ -61,9 +63,14 @@ target_link_libraries(${LIB_NAME}_properties INTERFACE
Dtk${DTK_NAME_SUFFIX}::Gui
$<BUILD_INTERFACE:Qt${QT_VERSION_MAJOR}::QuickPrivate>
$<BUILD_INTERFACE:Qt${QT_VERSION_MAJOR}::DBus>
- $<BUILD_INTERFACE:PkgConfig::GL>
)

+if(LINUX)
+ target_link_libraries(${LIB_NAME}_properties INTERFACE $<BUILD_INTERFACE:PkgConfig::GL>)
+else()
+ target_link_libraries(${LIB_NAME}_properties INTERFACE $<BUILD_INTERFACE:opengl32>)
+endif()
+
target_include_directories(${LIB_NAME}_properties INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>
59 changes: 59 additions & 0 deletions mingw-w64-dtkdeclarative/PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Maintainer: Cloud <kt286@qq.com>

_realname=dtk6declarative
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=6.7.50
pkgrel=1
pkgdesc="DTK6 declarative module"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url="https://github.com/linuxdeepin/dtkdeclarative"
license=('spdx:LGPL-3.0-or-later')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-qt6-base"
"${MINGW_PACKAGE_PREFIX}-qt6-declarative"
"${MINGW_PACKAGE_PREFIX}-qt6-shadertools"
"${MINGW_PACKAGE_PREFIX}-dtk6gui")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-qt6-tools"
"${MINGW_PACKAGE_PREFIX}-qt6-shadertools"
"${MINGW_PACKAGE_PREFIX}-efxc2")

source=("https://github.com/linuxdeepin/dtkdeclarative/archive/refs/tags/${pkgver}.tar.gz"
"0001-fix-emit-themeTypeChanged-signal-on-theme-switch.patch")
sha256sums=('7fcedf73f2d1a9eb0dbc52d61fe9abc7aa76c14fa74e36bb39630404bfcf3b78'
'f8b314241101d322fbd7231baaff8fbecae32c84e3b5d9ae25cda4f2e88d74ab')

prepare() {
cd "${_realname/dtk6/dtk}-${pkgver}"

patch -Np1 -i ../0001-fix-emit-themeTypeChanged-signal-on-theme-switch.patch
}

build() {
declare -a extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
cmake \
-GNinja \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
"${extra_config[@]}" \
-DDTK5=OFF \
-DBUILD_DOCS=OFF \
-S "${_realname/dtk6/dtk}-${pkgver}" \
-B "build-${MSYSTEM}"

cmake --build "build-${MSYSTEM}"
}

package() {
DESTDIR="${pkgdir}" cmake --install "build-${MSYSTEM}"
}
14 changes: 14 additions & 0 deletions mingw-w64-dtkgui/0001-fix-getpid-on-windows.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
diff --git a/src/kernel/dguiapplicationhelper.cpp b/src/kernel/dguiapplicationhelper.cpp
--- a/src/kernel/dguiapplicationhelper.cpp
+++ b/src/kernel/dguiapplicationhelper.cpp
@@ -53,6 +53,10 @@

#ifdef Q_OS_LINUX
#include <unistd.h>
+#elif defined(Q_OS_WIN)
+#include <qt_windows.h>
+#undef getpid
+#define getpid GetCurrentProcessId
#endif

#include "orgdeepindtkpreference.hpp"
13 changes: 13 additions & 0 deletions mingw-w64-dtkgui/0002-fix-cygpath-for-cmake-on-msys2.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/src/kernel/kernel.cmake b/src/kernel/kernel.cmake
index 1234567..abcdefg 100644
--- a/src/kernel/kernel.cmake
+++ b/src/kernel/kernel.cmake
@@ -12,7 +12,8 @@ if(LINUX)
set(_PREF_CONFIG_JSON /usr/share/dsg/configs/org.deepin.dtk.preference.json)
else()
- set(_PREF_CONFIG_JSON ${CMAKE_INSTALL_PREFIX}/share/dsg/configs/org.deepin.dtk.preference.json)
+ execute_process(COMMAND cygpath -w "${CMAKE_INSTALL_PREFIX}/share/dsg/configs/org.deepin.dtk.preference.json"
+ OUTPUT_VARIABLE _PREF_CONFIG_JSON OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()

dtk_add_config_to_cpp(kernel_SRC ${_PREF_CONFIG_JSON}
64 changes: 64 additions & 0 deletions mingw-w64-dtkgui/PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Maintainer: Cloud <kt286@qq.com>

_realname=dtk6gui
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=6.7.50
pkgrel=1
pkgdesc="DTK6 gui module"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url="https://github.com/linuxdeepin/dtkgui"
license=('spdx:LGPL-3.0-or-later')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-omp"
"${MINGW_PACKAGE_PREFIX}-qt6-base"
"${MINGW_PACKAGE_PREFIX}-qt6-svg"
"${MINGW_PACKAGE_PREFIX}-qt6-imageformats"
"${MINGW_PACKAGE_PREFIX}-librsvg"
"${MINGW_PACKAGE_PREFIX}-dtk6core")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-cc")

source=("https://github.com/linuxdeepin/dtkgui/archive/refs/tags/${pkgver}.tar.gz"
"0001-fix-getpid-on-windows.patch"
"0002-fix-cygpath-for-cmake-on-msys2.patch")
sha256sums=('7c253db6823d8283a5a4fccdea4d0575cce9264a19b94d1e66e4c1d412c30fa8'
'a931a03d88bf36a7c978145633ac02a0e1a96b68ecc7593138a10fc21c8abfc9'
'4a6a929f4637f01de3e407cd2ae31ad63e9ee3d63e837d077e5917ec602d279e')

prepare() {
cd "${_realname/dtk6/dtk}-${pkgver}"

patch -Np1 -i ../0001-fix-getpid-on-windows.patch
patch -Np1 -i ../0002-fix-cygpath-for-cmake-on-msys2.patch
}

build() {
declare -a extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
cmake \
-GNinja \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
"${extra_config[@]}" \
-DDTK5=OFF \
-DDTK_DISABLE_XCB=ON \
-DDTK_DISABLE_LIBXDG=ON \
-DDTK_DISABLE_EX_IMAGE_FORMAT=ON \
-DBUILD_DOCS=OFF \
-S "${_realname/dtk6/dtk}-${pkgver}" \
-B "build-${MSYSTEM}"

cmake --build "build-${MSYSTEM}"
}

package() {
DESTDIR="${pkgdir}" cmake --install "build-${MSYSTEM}"
}
46 changes: 46 additions & 0 deletions mingw-w64-dtklog/PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Maintainer: Cloud <kt286@qq.com>

_realname=dtk6log
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=6.7.50
pkgrel=1
pkgdesc="DTK6 log module"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url="https://github.com/linuxdeepin/dtklog"
license=('spdx:LGPL-3.0-or-later')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-qt6-base"
"${MINGW_PACKAGE_PREFIX}-spdlog")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-cc")

source=("https://github.com/linuxdeepin/dtklog/archive/refs/tags/${pkgver}.tar.gz")
sha256sums=('d927b8c8e0d65c1ae2bb49217a3beaaed5ec9c4b3b576d6aa5c486a07f83a3c1')

build() {
declare -a extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
cmake \
-GNinja \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
"${extra_config[@]}" \
-DDTK5=OFF \
-DBUILD_WITH_SYSTEMD=OFF \
-S "${_realname/dtk6/dtk}-${pkgver}" \
-B "build-${MSYSTEM}"

cmake --build "build-${MSYSTEM}"
}

package() {
DESTDIR="${pkgdir}" cmake --install "build-${MSYSTEM}"
}
Loading
Loading