Skip to content

Commit 217f77e

Browse files
committed
chore: Adapt to qt6
Adapt to qt6. Issue: linuxdeepin/dtk#86
1 parent 13f7bfa commit 217f77e

File tree

10 files changed

+90
-43
lines changed

10 files changed

+90
-43
lines changed

CMakeLists.txt

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,23 @@
44

55
cmake_minimum_required(VERSION 3.7)
66

7-
set(VERSION 4.0)
7+
set(DVERSION "1.0.0" CACHE STRING "define project version")
8+
add_definitions(-DVERSION="${DVERSION}")
9+
10+
set(DTK_VERSION "5" CACHE STRING "Dtk Version")
11+
12+
if (DTK_VERSION STREQUAL "5")
13+
set(QT_VERSION_MAJOR "5")
14+
set(EnableDtk5 on)
15+
set(EnableDtk6 off)
16+
elseif(DTK_VERSION STREQUAL "6")
17+
set(QT_VERSION_MAJOR "6")
18+
set(DTK_VERSION_MAJOR "6")
19+
set(EnableDtk5 off)
20+
set(EnableDtk6 on)
21+
else()
22+
message(FATAL_ERROR "Only support DTK_VERSION is 5 or 6")
23+
endif()
824

925
project(dde-app-services)
1026

dconfig-center/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ set(CMAKE_CXX_STANDARD 14)
1010
set(CMAKE_INCLUDE_CURRENT_DIR ON)
1111
include(GNUInstallDirs)
1212

13-
set(DVERSION "1.0.0" CACHE STRING "define project version")
14-
add_definitions(-DVERSION="${DVERSION}")
15-
1613
add_subdirectory("dde-dconfig-daemon")
1714
add_subdirectory("dde-dconfig-editor")
1815
add_subdirectory("dde-dconfig")

dconfig-center/dde-dconfig-daemon/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
1010
endif ()
1111

1212
set(REQUIRED_QT_VERSION 5.11.3)
13-
find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core DBus)
14-
find_package(DtkCore REQUIRED)
13+
find_package(Qt${QT_VERSION_MAJOR} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core DBus)
14+
find_package(Dtk${DTK_VERSION_MAJOR}Core REQUIRED)
1515

1616
# generate moc_predefs.h
1717
set(CMAKE_AUTOMOC ON)
@@ -22,9 +22,9 @@ include(src.cmake)
2222
ADD_EXECUTABLE(dde-dconfig-daemon main.cpp ${HEADERS} ${SOURCES} ${DCONFIG_DBUS_XML})
2323

2424
set(COMMON_LIBS
25-
Qt5::Core
26-
Qt5::DBus
27-
${DtkCore_LIBRARIES}
25+
Qt${QT_VERSION_MAJOR}::Core
26+
Qt${QT_VERSION_MAJOR}::DBus
27+
Dtk${DTK_VERSION_MAJOR}::Core
2828
)
2929

3030
target_link_libraries(dde-dconfig-daemon PUBLIC ${COMMON_LIBS})

dconfig-center/dde-dconfig-daemon/src.cmake

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,25 @@
44

55
find_package(Qt5DBus REQUIRED)
66

7+
if(EnableDtk5)
78
qt5_add_dbus_adaptor(DCONFIG_DBUS_XML ../dde-dconfig-daemon/services/org.desktopspec.ConfigManager.xml
89
dconfigserver.h DSGConfigServer
910
configmanager_adaptor DSGConfigAdaptor)
1011

1112
qt5_add_dbus_adaptor(DCONFIG_DBUS_XML ../dde-dconfig-daemon/services/org.desktopspec.ConfigManager.Manager.xml
1213
dconfigconn.h DSGConfigConn
1314
manager_adaptor DSGConfigManagerAdaptor)
15+
endif()
16+
17+
if(EnableDtk6)
18+
qt_add_dbus_adaptor(DCONFIG_DBUS_XML ../dde-dconfig-daemon/services/org.desktopspec.ConfigManager.xml
19+
dconfigserver.h DSGConfigServer
20+
configmanager_adaptor DSGConfigAdaptor)
21+
22+
qt_add_dbus_adaptor(DCONFIG_DBUS_XML ../dde-dconfig-daemon/services/org.desktopspec.ConfigManager.Manager.xml
23+
dconfigconn.h DSGConfigConn
24+
manager_adaptor DSGConfigManagerAdaptor)
25+
endif()
1426

1527
include_directories(../common)
1628

dconfig-center/dde-dconfig-editor/CMakeLists.txt

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
1010
endif ()
1111

1212
set(REQUIRED_QT_VERSION 5.11.3)
13-
find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core Gui Widgets DBus)
14-
find_package(DtkCore REQUIRED)
15-
find_package(DtkGui REQUIRED)
16-
find_package(DtkWidget REQUIRED)
13+
find_package(Qt${QT_VERSION_MAJOR} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core Gui Widgets DBus)
14+
find_package(Dtk${DTK_VERSION_MAJOR}Core REQUIRED)
15+
find_package(Dtk${DTK_VERSION_MAJOR}Gui REQUIRED)
16+
find_package(Dtk${DTK_VERSION_MAJOR}Widget REQUIRED)
1717

1818
# generate moc_predefs.h
1919
set(CMAKE_AUTOMOC ON)
@@ -22,11 +22,21 @@ set(AUTOMOC_COMPILER_PREDEFINES ON)
2222

2323
set(DCONFIG_DBUS_XML_CONFIGMANAGER ../dde-dconfig-daemon/services/org.desktopspec.ConfigManager.xml)
2424
set_source_files_properties(${DCONFIG_DBUS_XML_CONFIGMANAGER} PROPERTIES CLASSNAME DSGConfig NO_NAMESPACE NO_NAMESPACE)
25-
qt5_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_CONFIGMANAGER} manager_interface)
25+
if(EnableDtk5)
26+
qt5_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_CONFIGMANAGER} manager_interface)
27+
endif()
28+
if(EnableDtk6)
29+
qt_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_CONFIGMANAGER} manager_interface)
30+
endif()
2631

2732
set(DCONFIG_DBUS_XML_MANAGER ../dde-dconfig-daemon/services/org.desktopspec.ConfigManager.Manager.xml)
2833
set_source_files_properties(${DCONFIG_DBUS_XML_MANAGER} PROPERTIES CLASSNAME DSGConfigManager NO_NAMESPACE NO_NAMESPACE)
29-
qt5_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_MANAGER} configmanager_interface)
34+
if(EnableDtk5)
35+
qt5_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_MANAGER} configmanager_interface)
36+
endif()
37+
if(EnableDtk6)
38+
qt_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_MANAGER} configmanager_interface)
39+
endif()
3040

3141
set(HEADERS
3242
mainwindow.h
@@ -50,10 +60,10 @@ set(QRC dde-dconfig-editor.qrc)
5060
ADD_EXECUTABLE(dde-dconfig-editor ${HEADERS} ${SOURCES} ${QRC} ${DCONFIG_DBUS_XML})
5161

5262
set(COMMON_LIBS
53-
Qt5::Core
54-
Qt5::Gui
55-
Qt5::Widgets
56-
Qt5::DBus
63+
Qt${QT_VERSION_MAJOR}::Core
64+
Qt${QT_VERSION_MAJOR}::Gui
65+
Qt${QT_VERSION_MAJOR}::Widgets
66+
Qt${QT_VERSION_MAJOR}::DBus
5767
${DtkWidget_LIBRARIES}
5868
)
5969

dconfig-center/dde-dconfig-editor/mainwindow.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include <QApplication>
3232
#include <QClipboard>
3333
#include <QMessageBox>
34+
#include <QActionGroup>
3435

3536
MainWindow::MainWindow(QWidget *parent) :
3637
DMainWindow(parent)
@@ -83,7 +84,7 @@ MainWindow::MainWindow(QWidget *parent) :
8384
auto contentViewWraper = new QWidget(this);
8485
auto contentViewLayout = new QVBoxLayout(contentViewWraper);
8586
contentViewLayout->setSpacing(0);
86-
contentViewLayout->setMargin(0);
87+
contentViewLayout->setContentsMargins(0, 0, 0, 0);
8788
contentView = new Content();
8889
contentView->setObjectName(QStringLiteral("contentView"));
8990

@@ -611,7 +612,12 @@ void KeyContent::setBaseInfo(ConfigGetter *getter, const QString &language)
611612
labelWidget->setToolTip(getter->description(m_key, language));
612613
m_hLay->addWidget(labelWidget);
613614
QWidget *valueWidget = nullptr;
614-
if (v.type() == QVariant::Bool) {
615+
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
616+
const auto valueType = v.type();
617+
#else
618+
const auto valueType = v.typeId();
619+
#endif
620+
if (valueType == QVariant::Bool) {
615621
auto widget = new DSwitchButton(this);
616622
widget->setChecked(v.toBool());
617623
widget->setEnabled(canWrite);
@@ -620,7 +626,7 @@ void KeyContent::setBaseInfo(ConfigGetter *getter, const QString &language)
620626
emit valueChanged(checked);
621627
});
622628
valueWidget = widget;
623-
} else if (v.type() == QVariant::Double) {
629+
} else if (valueType == QVariant::Double) {
624630
auto widget = new DDoubleSpinBox(this);
625631
widget->setRange(std::numeric_limits<double>::min(), std::numeric_limits<double>::max());
626632
widget->setValue(v.toDouble());

dconfig-center/dde-dconfig/CMakeLists.txt

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
1010
endif ()
1111

1212
set(REQUIRED_QT_VERSION 5.11.3)
13-
find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core DBus)
14-
find_package(DtkCore REQUIRED)
13+
find_package(Qt${QT_VERSION_MAJOR} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core DBus)
14+
find_package(Dtk${DTK_VERSION_MAJOR}Core REQUIRED)
1515

1616
# generate moc_predefs.h
1717
set(CMAKE_AUTOMOC ON)
@@ -20,11 +20,21 @@ set(AUTOMOC_COMPILER_PREDEFINES ON)
2020

2121
set(DCONFIG_DBUS_XML_CONFIGMANAGER ../dde-dconfig-daemon/services/org.desktopspec.ConfigManager.xml)
2222
set_source_files_properties(${DCONFIG_DBUS_XML_CONFIGMANAGER} PROPERTIES CLASSNAME DSGConfig NO_NAMESPACE NO_NAMESPACE)
23-
qt5_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_CONFIGMANAGER} manager_interface)
23+
if(EnableDtk6)
24+
qt_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_CONFIGMANAGER} manager_interface)
25+
endif()
26+
if(EnableDtk5)
27+
qt5_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_CONFIGMANAGER} manager_interface)
28+
endif()
2429

2530
set(DCONFIG_DBUS_XML_MANAGER ../dde-dconfig-daemon/services/org.desktopspec.ConfigManager.Manager.xml)
2631
set_source_files_properties(${DCONFIG_DBUS_XML_MANAGER} PROPERTIES CLASSNAME DSGConfigManager NO_NAMESPACE NO_NAMESPACE)
27-
qt5_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_MANAGER} configmanager_interface)
32+
if(EnableDtk6)
33+
qt_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_MANAGER} configmanager_interface)
34+
endif()
35+
if (EnableDtk5)
36+
qt5_add_dbus_interface(DCONFIG_DBUS_XML ${DCONFIG_DBUS_XML_MANAGER} configmanager_interface)
37+
endif()
2838

2939
set(HEADERS
3040
../common/helper.hpp
@@ -38,17 +48,16 @@ set(SOURCES
3848
ADD_EXECUTABLE(dde-dconfig ${HEADERS} ${SOURCES} ${DCONFIG_DBUS_XML})
3949

4050
set(COMMON_LIBS
41-
Qt5::Core
42-
Qt5::DBus
43-
${DtkCore_LIBRARIES}
51+
Qt${QT_VERSION_MAJOR}::Core
52+
Qt${QT_VERSION_MAJOR}::DBus
53+
Dtk${DTK_VERSION_MAJOR}::Core
4454
)
4555

4656
target_link_libraries(${PROJECT_NAME} PUBLIC ${COMMON_LIBS})
4757

4858
target_include_directories(${PROJECT_NAME} PUBLIC
4959
${CMAKE_CURRENT_BINARY_DIR}
5060
${CMAKE_SOURCE_DIR}
51-
${DtkCore_INCLUDE_DIRS}
5261
../common
5362
)
5463

dconfig-center/example/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ PROJECT(dconfig-example)
66
CMAKE_MINIMUM_REQUIRED(VERSION 3.7)
77

88
set(REQUIRED_QT_VERSION 5.11.3)
9-
find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core)
10-
find_package(Dtk REQUIRED Core)
9+
find_package(Qt${QT_VERSION_MAJOR} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core)
10+
find_package(Dtk${DTK_VERSION_MAJOR}Core REQUIRED)
1111

1212
ADD_EXECUTABLE(dconfig-example ./main.cpp)
1313

14-
target_link_libraries(${PROJECT_NAME} PUBLIC Qt5::Core ${DtkCore${DTK_VERSION_SUFFIX}_LIBRARIES})
14+
target_link_libraries(${PROJECT_NAME} PUBLIC Qt${QT_VERSION_MAJOR}::Core Dtk${DTK_VERSION_MAJOR}::Core)
1515

1616
dconfig_meta_files(APPID dconfig-example BASE ./configs FILES ./configs/example.json ./configs/a/example.json)
1717

dconfig-center/tests/CMakeLists.txt

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ PROJECT(tests)
66
CMAKE_MINIMUM_REQUIRED(VERSION 3.7)
77

88
set(REQUIRED_QT_VERSION 5.11.3)
9-
find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core DBus)
10-
find_package(DtkCore REQUIRED)
11-
find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Test)
9+
find_package(Qt${QT_VERSION_MAJOR} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core DBus Test)
10+
find_package(Dtk${DTK_VERSION_MAJOR}Core REQUIRED)
1211

1312
# generate moc_predefs.h
1413
set(CMAKE_AUTOMOC ON)
@@ -35,14 +34,13 @@ ADD_EXECUTABLE(dconfigtest main.cpp ${HEADERS} ${SOURCES} ${DCONFIG_DBUS_XML} da
3534
target_include_directories(dconfigtest PUBLIC
3635
../dde-dconfig-daemon
3736
${CMAKE_CURRENT_BINARY_DIR}
38-
${CMAKE_SOURCE_DIR}
3937
)
4038

4139
set(COMMON_LIBS
42-
Qt5::Core
43-
Qt5::DBus
44-
Qt5::Test
45-
${DtkCore_LIBRARIES}
40+
Qt${QT_VERSION_MAJOR}::Core
41+
Qt${QT_VERSION_MAJOR}::DBus
42+
Qt${QT_VERSION_MAJOR}::Test
43+
Dtk${DTK_VERSION_MAJOR}::Core
4644
)
4745

4846
target_link_libraries(dconfigtest PUBLIC ${COMMON_LIBS}

debian/rules

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
#!/usr/bin/make -f
22
DPKG_EXPORT_BUILDFLAGS = 1
33
include /usr/share/dpkg/default.mk
4-
export QT_SELECT = qt5
54

65
%:
76
dh $@ --parallel
87

98
override_dh_auto_configure:
10-
dh_auto_configure -- -DDVERSION=$(DEB_VERSION_UPSTREAM)
9+
dh_auto_configure -- -DDVERSION=$(DEB_VERSION_UPSTREAM) -DDTK_VERSION=5
1110

1211

1312
override_dh_auto_install:

0 commit comments

Comments
 (0)