From 4c07c7e63727750a85f796a5b356c480f462bec2 Mon Sep 17 00:00:00 2001 From: benyamin Date: Wed, 14 Sep 2022 19:43:38 +0430 Subject: [PATCH 1/2] initialized with Qt6 --- CMakeLists.txt | 12 ++++++------ example/CMakeLists.txt | 14 +++++++------- example/src/MainWindow.cpp | 9 +++++---- src/internal/QCodeEditor.cpp | 15 ++++++++------- src/internal/QLanguage.cpp | 7 ++----- src/internal/QSyntaxStyle.cpp | 19 +++++++------------ 6 files changed, 35 insertions(+), 41 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 40d5617..7cc7496 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -75,9 +75,9 @@ set(CMAKE_AUTOMOC On) set(CMAKE_AUTORCC ON) # Find includes in corresponding build directories -find_package(Qt5Core CONFIG REQUIRED) -find_package(Qt5Widgets CONFIG REQUIRED) -find_package(Qt5Gui CONFIG REQUIRED) +find_package(Qt6Core CONFIG REQUIRED) +find_package(Qt6Widgets CONFIG REQUIRED) +find_package(Qt6Gui CONFIG REQUIRED) add_library(QCodeEditor STATIC ${RESOURCES_FILE} @@ -104,7 +104,7 @@ if(CMAKE_COMPILER_IS_GNUCXX) endif(CMAKE_COMPILER_IS_GNUCXX) target_link_libraries(QCodeEditor - Qt5::Core - Qt5::Widgets - Qt5::Gui + Qt::Core + Qt::Widgets + Qt::Gui ) diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index 0e0bf4a..d6204e4 100644 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -6,9 +6,9 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_AUTOMOC On) set(CMAKE_AUTORCC ON) -find_package(Qt5Core CONFIG REQUIRED) -find_package(Qt5Widgets CONFIG REQUIRED) -find_package(Qt5Gui CONFIG REQUIRED) +find_package(Qt6Core CONFIG REQUIRED) +find_package(Qt6Widgets CONFIG REQUIRED) +find_package(Qt6Gui CONFIG REQUIRED) add_executable(QCodeEditorExample resources/demo_resources.qrc @@ -22,8 +22,8 @@ target_include_directories(QCodeEditorExample PUBLIC ) target_link_libraries(QCodeEditorExample - Qt5::Core - Qt5::Widgets - Qt5::Gui + Qt::Core + Qt::Widgets + Qt::Gui QCodeEditor -) \ No newline at end of file +) diff --git a/example/src/MainWindow.cpp b/example/src/MainWindow.cpp index 5552835..e71a1f2 100644 --- a/example/src/MainWindow.cpp +++ b/example/src/MainWindow.cpp @@ -15,13 +15,14 @@ #include // Qt -#include -#include -#include #include -#include +#include +#include #include +#include #include +#include +#include MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), diff --git a/src/internal/QCodeEditor.cpp b/src/internal/QCodeEditor.cpp index 1aa93e7..1369ff4 100644 --- a/src/internal/QCodeEditor.cpp +++ b/src/internal/QCodeEditor.cpp @@ -537,16 +537,17 @@ void QCodeEditor::keyPressEvent(QKeyEvent* e) { // Shortcut for moving line to left if (m_replaceTab && e->key() == Qt::Key_Backtab) { - indentationLevel = std::min(indentationLevel, m_tabReplace.size()); + indentationLevel = std::min(indentationLevel, (int) m_tabReplace.size()); - auto cursor = textCursor(); + auto cursor = textCursor(); - cursor.movePosition(QTextCursor::MoveOperation::StartOfLine); - cursor.movePosition(QTextCursor::MoveOperation::Right, - QTextCursor::MoveMode::KeepAnchor, indentationLevel); + cursor.movePosition(QTextCursor::MoveOperation::StartOfLine); + cursor.movePosition(QTextCursor::MoveOperation::Right, + QTextCursor::MoveMode::KeepAnchor, + indentationLevel); - cursor.removeSelectedText(); - return; + cursor.removeSelectedText(); + return; } QTextEdit::keyPressEvent(e); diff --git a/src/internal/QLanguage.cpp b/src/internal/QLanguage.cpp index 3665df7..417c657 100644 --- a/src/internal/QLanguage.cpp +++ b/src/internal/QLanguage.cpp @@ -32,8 +32,7 @@ bool QLanguage::load(QIODevice* device) if (type == QXmlStreamReader::TokenType::StartElement) { - if (reader.name() == "section") - { + if (reader.name().toString() == "section") { if (!list.empty()) { m_list[name] = list; @@ -41,9 +40,7 @@ bool QLanguage::load(QIODevice* device) } name = reader.attributes().value("name").toString(); - } - else if (reader.name() == "name") - { + } else if (reader.name().toString() == "name") { readText = true; } } diff --git a/src/internal/QSyntaxStyle.cpp b/src/internal/QSyntaxStyle.cpp index 6a9eb55..a4730de 100644 --- a/src/internal/QSyntaxStyle.cpp +++ b/src/internal/QSyntaxStyle.cpp @@ -25,15 +25,12 @@ bool QSyntaxStyle::load(QString fl) if(token == QXmlStreamReader::StartElement) { - if (reader.name() == "style-scheme") - { + if (reader.name().toString() == "style-scheme") { if (reader.attributes().hasAttribute("name")) { m_name = reader.attributes().value("name").toString(); } - } - else if (reader.name() == "style") - { + } else if (reader.name().toString() == "style") { auto attributes = reader.attributes(); auto name = attributes.value("name"); @@ -50,21 +47,19 @@ bool QSyntaxStyle::load(QString fl) format.setForeground(QColor(attributes.value("foreground").toString())); } - if (attributes.hasAttribute("bold") && - attributes.value("bold") == "true") - { + if (attributes.hasAttribute("bold") + && attributes.value("bold").toString() == "true") { format.setFontWeight(QFont::Weight::Bold); } - if (attributes.hasAttribute("italic") && - attributes.value("italic") == "true") - { + if (attributes.hasAttribute("italic") + && attributes.value("italic").toString() == "true") { format.setFontItalic(true); } if (attributes.hasAttribute("underlineStyle")) { - auto underline = attributes.value("underlineStyle"); + auto underline = attributes.value("underlineStyle").toString(); auto s = QTextCharFormat::UnderlineStyle::NoUnderline; From acfe13029e0f7cc513ffe1d455a0d308c31e3133 Mon Sep 17 00:00:00 2001 From: benyamin saedi Date: Wed, 23 Aug 2023 22:54:14 +0330 Subject: [PATCH 2/2] Actions patch (#1) CI actions added cmakelist updated for actions as -ansi option causes issues --- .github/workflows/main.yml | 35 +++++++++++++++++++++++++++++++++++ CMakeLists.txt | 1 - 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..1f8042c --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,35 @@ +name: Linux CI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Release + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v3 + - name: Install Qt + uses: jurplel/install-qt-action@v3.3.0 + with: + version: '6.5.0' + host: 'linux' + target: 'desktop' + arch: 'gcc_64' + modules: 'qtnetworkauth' + archives: 'icu qtbase qtsvg' + aqtversion: '==3.1.*' + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake -B ${{github.workspace}}/build -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + - name: Build + # Build your program with the given configuration + run: cmake --build ${{github.workspace}}/build diff --git a/CMakeLists.txt b/CMakeLists.txt index 7cc7496..63918e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,7 +92,6 @@ target_include_directories(QCodeEditor PUBLIC if(CMAKE_COMPILER_IS_GNUCXX) target_compile_options(QCodeEditor PRIVATE - -ansi -pedantic -Wall -Wextra