fix(settings): port settings to Qt6

main
reionwong 2 months ago
parent 1bc91aabd4
commit 11ae39e242

@ -4,6 +4,7 @@ set(PROJECT_NAME cutefish-settings)
project(${PROJECT_NAME}) project(${PROJECT_NAME})
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/compat")
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC ON)
@ -11,17 +12,17 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake;${CMAKE_CURRENT_SOURCE_DIR}/cmake") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake;${CMAKE_CURRENT_SOURCE_DIR}/cmake")
set(QT Core Gui Widgets Quick QuickControls2 X11Extras DBus Xml Concurrent LinguistTools) set(QT Core Gui Widgets Quick QuickControls2 DBus Xml Concurrent LinguistTools)
find_package(Qt5 REQUIRED ${QT}) find_package(Qt6 REQUIRED ${QT})
find_package(X11 REQUIRED) find_package(X11 REQUIRED)
find_package(Freetype REQUIRED) find_package(Freetype REQUIRED)
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
find_package(Libcrypt REQUIRED) find_package(Libcrypt REQUIRED)
# find_package(QApt REQUIRED) # find_package(QApt REQUIRED)
find_package(KF5NetworkManagerQt REQUIRED) find_package(KF6NetworkManagerQt REQUIRED)
find_package(KF5ModemManagerQt REQUIRED) find_package(KF6ModemManagerQt REQUIRED)
find_package(KF5Config) find_package(KF6Config)
pkg_search_module(FontConfig REQUIRED fontconfig IMPORTED_TARGET) pkg_search_module(FontConfig REQUIRED fontconfig IMPORTED_TARGET)
pkg_search_module(ICU REQUIRED icu-i18n) pkg_search_module(ICU REQUIRED icu-i18n)
@ -69,28 +70,25 @@ set(RESOURCES
src/resources.qrc src/resources.qrc
) )
qt5_add_dbus_adaptor(DBUS_SOURCES qt6_add_dbus_adaptor(DBUS_SOURCES
src/com.cutefish.SettingsUI.xml src/com.cutefish.SettingsUI.xml
src/application.h Application) src/application.h Application)
set_source_files_properties(${DBUS_SOURCES} PROPERTIES SKIP_AUTOGEN ON) set_source_files_properties(${DBUS_SOURCES} PROPERTIES SKIP_AUTOGEN ON)
# qt5_add_dbus_interface(DBUS_SOURCES src/datetime/org.freedesktop.timedate1.xml timedated_interface)
add_executable(${PROJECT_NAME} ${DBUS_SOURCES} ${SRCS} ${RESOURCES}) add_executable(${PROJECT_NAME} ${DBUS_SOURCES} ${SRCS} ${RESOURCES})
target_link_libraries(${PROJECT_NAME} target_link_libraries(${PROJECT_NAME}
Qt5::Core Qt6::Core
Qt5::Widgets Qt6::Widgets
Qt5::Quick Qt6::Quick
Qt5::QuickControls2 Qt6::QuickControls2
Qt5::DBus Qt6::DBus
Qt5::Xml Qt6::Xml
Qt5::X11Extras Qt6::Concurrent
Qt5::Concurrent
# FishUI # FishUI
KF5::NetworkManagerQt KF6::NetworkManagerQt
KF5::ModemManagerQt KF6::ModemManagerQt
KF5::ConfigCore KF6::ConfigCore
PkgConfig::FontConfig PkgConfig::FontConfig
${FREETYPE_LIBRARIES} ${FREETYPE_LIBRARIES}
@ -106,7 +104,7 @@ target_link_libraries(${PROJECT_NAME}
) )
file(GLOB TS_FILES translations/*.ts) file(GLOB TS_FILES translations/*.ts)
qt5_add_translation(QM_FILES ${TS_FILES}) qt6_add_translation(QM_FILES ${TS_FILES})
add_custom_target(translations DEPENDS ${QM_FILES} SOURCES ${TS_FILES}) add_custom_target(translations DEPENDS ${QM_FILES} SOURCES ${TS_FILES})
add_dependencies(${PROJECT_NAME} translations) add_dependencies(${PROJECT_NAME} translations)

@ -0,0 +1,43 @@
/* Qt 6 compatibility layer for the legacy QX11Info API. */
#ifndef CUTEFISH_QX11INFO_COMPAT
#define CUTEFISH_QX11INFO_COMPAT
#include <QGuiApplication>
#include <QScreen>
#include <QtGui/qguiapplication_platform.h>
#include <xcb/xcb.h>
class QX11Info
{
public:
static bool isPlatformX11()
{
return nativeInterface() != nullptr;
}
static xcb_connection_t *connection()
{
const auto native = nativeInterface();
return native ? native->connection() : nullptr;
}
static Display *display()
{
const auto native = nativeInterface();
return native ? native->display() : nullptr;
}
static int appDpiY()
{
QScreen *screen = qGuiApp ? qGuiApp->primaryScreen() : nullptr;
return screen ? qRound(screen->logicalDotsPerInchY()) : 96;
}
private:
static QNativeInterface::QX11Application *nativeInterface()
{
return qGuiApp ? qGuiApp->nativeInterface<QNativeInterface::QX11Application>() : nullptr;
}
};
#endif

@ -9,7 +9,9 @@ static QVariantList getBackgroundPaths()
QString bg = it.next(); QString bg = it.next();
list.append(QVariant(bg)); list.append(QVariant(bg));
} }
std::sort(list.begin(), list.end()); std::sort(list.begin(), list.end(), [](const QVariant &left, const QVariant &right) {
return left.toString() < right.toString();
});
return list; return list;
} }

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import Cutefish.Settings 1.0 import Cutefish.Settings 1.0
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import "../" import "../"

@ -19,7 +19,7 @@
import QtQuick 2.12 import QtQuick 2.12
import QtQuick.Controls 2.12 import QtQuick.Controls 2.12
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import QtQuick.Particles 2.12 import QtQuick.Particles 2.12
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI

@ -20,7 +20,7 @@
import QtQuick 2.12 import QtQuick 2.12
import QtQuick.Controls 2.12 import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12 import QtQuick.Layouts 1.12
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import Cutefish.Settings 1.0 import Cutefish.Settings 1.0

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import Cutefish.Settings 1.0 import Cutefish.Settings 1.0
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI

@ -19,7 +19,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
Item { Item {
id: _root id: _root

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import Cutefish.NetworkManagement 1.0 as NM import Cutefish.NetworkManagement 1.0 as NM

@ -19,7 +19,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
Item { Item {

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.12 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
Item { Item {

@ -20,7 +20,7 @@
import QtQuick 2.12 import QtQuick 2.12
import QtQuick.Controls 2.12 import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12 import QtQuick.Layouts 1.12
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import Cutefish.Settings 1.0 as Settings import Cutefish.Settings 1.0 as Settings

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import Cutefish.Settings 1.0 import Cutefish.Settings 1.0
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import Cutefish.Settings 1.0 import Cutefish.Settings 1.0
import Cutefish.NetworkManagement 1.0 as NM import Cutefish.NetworkManagement 1.0 as NM

@ -20,7 +20,7 @@
import QtQuick 2.12 import QtQuick 2.12
import QtQuick.Controls 2.12 import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12 import QtQuick.Layouts 1.12
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import "../" import "../"

@ -20,7 +20,7 @@
import QtQuick 2.12 import QtQuick 2.12
import QtQuick.Controls 2.12 import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12 import QtQuick.Layouts 1.12
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import Cutefish.Settings 1.0 import Cutefish.Settings 1.0

@ -21,7 +21,7 @@ import QtQuick 2.12
import QtQuick.Controls 2.12 import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12 import QtQuick.Layouts 1.12
import QtQuick.Dialogs 1.2 import QtQuick.Dialogs 1.2
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import Cutefish.Settings 1.0 import Cutefish.Settings 1.0
import Cutefish.Accounts 1.0 import Cutefish.Accounts 1.0

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import Cutefish.NetworkManagement 1.0 as NM import Cutefish.NetworkManagement 1.0 as NM

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import Cutefish.NetworkManagement 1.0 as NM import Cutefish.NetworkManagement 1.0 as NM

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import QtQuick.Window 2.3 import QtQuick.Window 2.3
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI

@ -21,7 +21,7 @@ import QtQuick 2.12
import QtQuick.Controls 2.12 import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12 import QtQuick.Layouts 1.12
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
Item { Item {
id: control id: control

@ -20,7 +20,7 @@
import QtQuick 2.12 import QtQuick 2.12
import QtQuick.Controls 2.12 import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12 import QtQuick.Layouts 1.12
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import Cutefish.Settings 1.0 import Cutefish.Settings 1.0
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import Cutefish.NetworkManagement 1.0 as NM import Cutefish.NetworkManagement 1.0 as NM

@ -20,7 +20,7 @@
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
import Cutefish.NetworkManagement 1.0 as NM import Cutefish.NetworkManagement 1.0 as NM

@ -21,7 +21,7 @@ import QtQuick 2.4
import QtQuick.Controls 2.4 import QtQuick.Controls 2.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
import QtQuick.Window 2.3 import QtQuick.Window 2.3
import QtGraphicalEffects 1.0 import Qt5Compat.GraphicalEffects
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
FishUI.Window { FishUI.Window {

Loading…
Cancel
Save