gui: complete KF5 build with full feature parity
- Add chatblockmodel.cpp and thememanager.cpp to KF5 GUI target - Link KF5::ConfigCore and KF5::SyntaxHighlighting to GUI - Strip Qt6-only grouped palette syntax from QML at configure time (ThemeManager::applyPalette handles palette via QGuiApplication) - Fix QStringList brace-init ambiguity in Qt5 - Fix QList::remove(pos,count) not available in Qt5 (use erase)
This commit is contained in:
parent
7cb809fad2
commit
34d4a97b3d
|
|
@ -75,13 +75,21 @@ if(OLLIE_KF5)
|
|||
endif()
|
||||
|
||||
# --- GUI App (9P-based) ---
|
||||
configure_file(gui/main.qml ${CMAKE_CURRENT_BINARY_DIR}/gui-kf5/main.qml COPYONLY)
|
||||
# Strip Qt6-only grouped palette syntax (palette.active.*, palette.inactive.*,
|
||||
# palette.disabled.*) — Qt5 QML doesn't support color-group qualifiers.
|
||||
# ThemeManager::applyPalette() sets the application palette which Qt Quick
|
||||
# Controls 2 picks up automatically.
|
||||
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/gui/main.qml _QML_SRC)
|
||||
string(REGEX REPLACE "[ \t]*(//[^\n]*palette[^\n]*\n|palette\\.(active|inactive|disabled)\\.[^\n]*\n)" "" _QML_SRC "${_QML_SRC}")
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/gui-kf5/main.qml "${_QML_SRC}")
|
||||
configure_file(gui/qml.qrc ${CMAKE_CURRENT_BINARY_DIR}/gui-kf5/qml.qrc COPYONLY)
|
||||
qt5_add_resources(GUI_KF5_QRC ${CMAKE_CURRENT_BINARY_DIR}/gui-kf5/qml.qrc)
|
||||
add_executable(ollie-gui
|
||||
gui/main.cpp
|
||||
gui/ollie9pclient.cpp
|
||||
gui/ninepconnection.cpp
|
||||
gui/chatblockmodel.cpp
|
||||
gui/thememanager.cpp
|
||||
gui/streamfsm.cpp
|
||||
${GUI_KF5_QRC}
|
||||
)
|
||||
|
|
@ -91,6 +99,8 @@ if(OLLIE_KF5)
|
|||
Qt5::Widgets
|
||||
Qt5::Quick
|
||||
Qt5::QuickControls2
|
||||
KF5::ConfigCore
|
||||
KF5::SyntaxHighlighting
|
||||
)
|
||||
|
||||
# --- Install ---
|
||||
|
|
|
|||
|
|
@ -157,7 +157,11 @@ void ChatBlockModel::trimFront(int keepCount)
|
|||
return;
|
||||
int removeCount = m_blocks.size() - keepCount;
|
||||
beginRemoveRows(QModelIndex(), 0, removeCount - 1);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
m_blocks.remove(0, removeCount);
|
||||
#else
|
||||
m_blocks.erase(m_blocks.begin(), m_blocks.begin() + removeCount);
|
||||
#endif
|
||||
endRemoveRows();
|
||||
emit countChanged();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -502,7 +502,7 @@ void Ollie9pClient::loadRootAgents()
|
|||
m_rootAgentsLoaded = true;
|
||||
emit availableAgentsChanged();
|
||||
} else {
|
||||
m_availableAgents = {"default"};
|
||||
m_availableAgents = QStringList() << QStringLiteral("default");
|
||||
m_rootAgentsLoaded = true;
|
||||
emit availableAgentsChanged();
|
||||
}
|
||||
|
|
|
|||
Reference in New Issue