diff --git a/.gitignore b/.gitignore index 395385e..e3a4ec9 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ /ldmicro/includes/ldlogo.h LDMicro-linux-Workspace.code-workspace ldmicro/reg/t.pl +/build/ +.cache/ \ No newline at end of file diff --git a/ldmicro/CMakeLists.txt b/ldmicro/CMakeLists.txt index 58910f1..662acd5 100644 --- a/ldmicro/CMakeLists.txt +++ b/ldmicro/CMakeLists.txt @@ -1,7 +1,16 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.14) project(LDMicro) +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Choose default type of build (Debug)" FORCE) + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +elseif(NOT CMAKE_BUILD_TYPE STREQUAL Debug) + set(CMAKE_CONFIGURATION_TYPES "Release") +else() + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +endif() + #set version here. This version is updated to ldmicroVC.h set(LDMicro_VERSION_MAJOR 2) set(LDMicro_VERSION_MINOR 3) @@ -9,36 +18,36 @@ set(LDMicro_VERSION_PATCH 2) macro(use_cxx14) -if (CMAKE_VERSION VERSION_LESS "3.1") - if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14") - endif () -else () - set (CMAKE_CXX_STANDARD 14) -endif () + if(CMAKE_VERSION VERSION_LESS "3.1") + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14") + endif() + else() + set(CMAKE_CXX_STANDARD 14) + endif() endmacro(use_cxx14) IF(WIN32) - MESSAGE( FATAL_ERROR "Cannot build for windows, exiting" ) + MESSAGE(FATAL_ERROR "Cannot build for windows, exiting") add_definitions(-D__WIN32__) ENDIF(WIN32) -IF (MSVC) - MESSAGE( FATAL_ERROR "Cannot build for MacOS, exiting" ) +IF(MSVC) + MESSAGE(FATAL_ERROR "Cannot build for MacOS, exiting") add_definitions(-D__MSVC__) -ENDIF (MSVC) +ENDIF(MSVC) IF(UNIX) - MESSAGE( STATUS "Initializing.." ) - add_definitions ("-w") - add_definitions ("-g") + MESSAGE(STATUS "Initializing..") + add_definitions("-w") + add_definitions("-g") add_definitions(-D__UNIX__) add_definitions(-DLDLANG_EN) execute_process(COMMAND lsb_release -cs - OUTPUT_VARIABLE RELEASE_CODENAME - OUTPUT_STRIP_TRAILING_WHITESPACE) + OUTPUT_VARIABLE RELEASE_CODENAME + OUTPUT_STRIP_TRAILING_WHITESPACE) STRING(TOLOWER ${RELEASE_CODENAME} RELEASE_LOWER) message("-- os_version_suffix:${RELEASE_CODENAME}") if(${RELEASE_LOWER} MATCHES "trusty") @@ -49,40 +58,40 @@ IF(UNIX) add_definitions(-D__UBUNTU_16_) endif() use_cxx14() - + # set_property(DIRECTORY PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/build/") - MESSAGE( STATUS "Performing system check.." ) - MESSAGE( STATUS "Identifing bitness of the platform.." ) + MESSAGE(STATUS "Performing system check..") + MESSAGE(STATUS "Identifing bitness of the platform..") if(CMAKE_SIZEOF_VOID_P EQUAL 8) add_definitions(-D__UNIX64) - MESSAGE( STATUS "Bitness of the platform: " 64) + MESSAGE(STATUS "Bitness of the platform: " 64) else() add_definitions(-D__UNIX32) - MESSAGE( STATUS "Bitness of the platform: " 36) + MESSAGE(STATUS "Bitness of the platform: " 36) endif() - MESSAGE( STATUS "Performing system check - done" ) + MESSAGE(STATUS "Performing system check - done") ## Set object dir set(OBJDIR ${CMAKE_CURRENT_SOURCE_DIR}/obj) ## Set perl scripts to be run before build to generate files needed - MESSAGE( STATUS "Adding perl scripts to build.." ) + MESSAGE(STATUS "Adding perl scripts to build..") - add_custom_command( + add_custom_command( OUTPUT ${OBJDIR}/lang-tables.h WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND perl lang-tables.pl > ${OBJDIR}/lang-tables.h DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/lang-*.txt") - - add_custom_command( + + add_custom_command( OUTPUT ${OBJDIR}/helptext.cpp WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND perl txt2c.pl > ${OBJDIR}/helptext.cpp + COMMAND perl txt2c.pl > ${OBJDIR}/helptext.cpp DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/manual*.txt") set(SCRIPT_GENERATED_FILES ${OBJDIR}/helptext.cpp - ${OBJDIR}/lang-tables.h) + ${OBJDIR}/lang-tables.h) add_custom_target(LDMicro_SCRIPT_GENERATED_FILES DEPENDS ${SCRIPT_GENERATED_FILES}) @@ -93,11 +102,11 @@ IF(UNIX) include_directories("${CMAKE_CURRENT_SOURCE_DIR}/includes") # include_directories("${OBJDIR}") set(PROJECT_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/includes") - CONFIGURE_FILE ( + CONFIGURE_FILE( "${PROJECT_INCLUDE_DIR}/ldmicroVC.h.in" "${PROJECT_INCLUDE_DIR}/ldmicroVC.h" ) - # MESSAGE ( STATUS " PROJECT_INCLUDE_DIR: " ${PROJECT_INCLUDE_DIR} ) + MESSAGE ( STATUS " PROJECT_INCLUDE_DIR: " ${PROJECT_INCLUDE_DIR} ) set_property(SOURCE ${OBJDIR}/helptext.cpp PROPERTY SKIP_AUTOGEN ON) @@ -105,101 +114,116 @@ IF(UNIX) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) - find_package(Qt5Widgets CONFIG REQUIRED) - find_package(Qt5Core CONFIG REQUIRED) - find_package(Qt5Gui CONFIG REQUIRED) - get_target_property(Qt5Widgets_INCLUDES Qt5::Widgets INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(Qt5Core_INCLUDES Qt5::Core INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(Qt5Gui_INCLUDES Qt5::Gui INTERFACE_INCLUDE_DIRECTORIES) - include_directories(${Qt5Widgets_INCLUDES}) - include_directories(${Qt5Core_INCLUDES}) - include_directories(${Qt5Gui_INCLUDES}) - add_definitions(${Qt5Widgets_DEFINITIONS}) - add_definitions(${Qt5Core_DEFINITIONS}) - include_directories(${Qt5Gui_DEFINITIONS}) - set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") - #get_target_property(CMAKE_CXX_FLAGS Qt5::Core LINK_FLAGS) - MESSAGE ( STATUS " Qt INCLUDEs: " ${Qt5Core_INCLUDES} ) - - MESSAGE ( STATUS " Qt CXX FLAGS: " ${CMAKE_CXX_FLAGS} ) - - if (Qt5_POSITION_INDEPENDENT_CODE) - SET(CMAKE_POSITION_INDEPENDENT_CODE ON) -endif() + include(FeatureSummary) + find_package( + QT NAMES Qt6 Qt5 + COMPONENTS Core Gui Widgets + REQUIRED + ) + + find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) + get_target_property(Qt${QT_VERSION_MAJOR}Widgets_INCLUDES Qt${QT_VERSION_MAJOR}::Widgets INTERFACE_INCLUDE_DIRECTORIES) + get_target_property(Qt${QT_VERSION_MAJOR}Core_INCLUDES Qt${QT_VERSION_MAJOR}::Core INTERFACE_INCLUDE_DIRECTORIES) + get_target_property(Qt${QT_VERSION_MAJOR}Gui_INCLUDES Qt${QT_VERSION_MAJOR}::Gui INTERFACE_INCLUDE_DIRECTORIES) + if(Qt${QT_VERSION} EQUAL 6) + include_directories(${Qt6Widgets_INCLUDES}) + include_directories(${Qt6Core_INCLUDES}) + include_directories(${Qt6Gui_INCLUDES}) + add_definitions(${Qt6Widgets_DEFINITIONS}) + add_definitions(${Qt6Core_DEFINITIONS}) + add_definitions(${Qt6Gui_DEFINITIONS}) + set(CMAKE_CXX_FLAGS "${Qt6Widgets_EXECUTABLE_COMPILE_FLAGS}") + else() + include_directories(${Qt5Widgets_INCLUDES}) + include_directories(${Qt5Core_INCLUDES}) + include_directories(${Qt5Gui_INCLUDES}) + add_definitions(${Qt5Widgets_DEFINITIONS}) + add_definitions(${Qt5Core_DEFINITIONS}) + include_directories(${Qt5Gui_DEFINITIONS}) + set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") + endif() + # get_target_property(CMAKE_CXX_FLAGS Qt${QT_VERSION_MAJOR} LINK_FLAGS) + # MESSAGE(STATUS " Qt INCLUDEs: " ${Qt5Core_INCLUDES}) + + # MESSAGE(STATUS " Qt CXX FLAGS: " ${CMAKE_CXX_FLAGS}) + + set(CMAKE_POSITION_INDEPENDENT_CODE ON) add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/lib/linuxUI") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/lib/freezeLD") - + ## Dummy compile and install to test linuxUI ## to compile LDmicro uncomment the below 2 line2 - set (COMPILE_CPP_SOURCES arduino.cpp - avr.cpp - pic16.cpp - interpreted.cpp - ansic.cpp - compilecommon.cpp - intcode.cpp - lang.cpp - miscutil.cpp - iolist.cpp - confdialog.cpp - lutdialog.cpp - resetdialog.cpp - simpledialog.cpp - coildialog.cpp - contactsdialog.cpp - commentdialog.cpp - simulate.cpp - loadsave.cpp - undoredo.cpp - circuit.cpp - draw_outputdev.cpp - draw.cpp - schematic.cpp - helpdialog.cpp - toolbar.cpp - ${OBJDIR}/helptext.cpp - maincontrols.cpp - ldmicro.cpp) - + set(COMPILE_CPP_SOURCES arduino.cpp + # lib/linuxUI/linuxUI.cpp lib/linuxUI/linuxUI.h lib/linuxUI/linuxLD.cpp lib/linuxUI/linuxLD.h + avr.cpp + pic16.cpp + interpreted.cpp + ansic.cpp + compilecommon.cpp + intcode.cpp + lang.cpp + miscutil.cpp + iolist.cpp + confdialog.cpp + lutdialog.cpp + resetdialog.cpp + simpledialog.cpp + coildialog.cpp + contactsdialog.cpp + commentdialog.cpp + simulate.cpp + loadsave.cpp + undoredo.cpp + circuit.cpp + draw_outputdev.cpp + draw.cpp + schematic.cpp + helpdialog.cpp + toolbar.cpp + ${OBJDIR}/helptext.cpp + maincontrols.cpp + ldmicro.cpp) + ## Build *.int interpreter - add_executable (ldinterpret ldinterpret.c) - target_link_libraries (ldinterpret LinuxUI) - + add_executable(ldinterpret ldinterpret.c) + target_link_libraries(ldinterpret LinuxUI) + ## Build main LDMicro executable - add_executable (ldmicro ${COMPILE_CPP_SOURCES} ldmicro.qrc) + add_executable(ldmicro) + target_sources(ldmicro PUBLIC ${COMPILE_CPP_SOURCES} ldmicro.qrc) add_dependencies(ldmicro LDMicro_SCRIPT_GENERATED_FILES) - target_link_libraries (ldmicro LinuxUI) - target_link_libraries (ldmicro FreezeLD) - target_link_libraries(ldmicro ${Qt5Widgets_LIBRARIES}) - target_link_libraries(ldmicro ${Qt5Core_LIBRARIES}) - target_link_libraries(ldmicro ${Qt5Gui_LIBRARIES}) + target_link_libraries(ldmicro PUBLIC + LinuxUI + FreezeLD + PRIVATE + Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Widgets) # Package Creation - if( NOT DEFAULT_INSTALL_PATH ) - set( DEFAULT_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}" - CACHE - PATH - "Location of LDMicro data files." ) + if(NOT DEFAULT_INSTALL_PATH) + set(DEFAULT_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}" + CACHE + PATH + "Location of LDMicro data files.") endif() # Set paths - set( UNIX_ICON_FILES icons/ ) - set( UNIX_APPLICATIONS_FILES applications/ ) - set( LDMICRO_BIN bin CACHE PATH "LDmicro binaries.") + set(UNIX_ICON_FILES icons/) + set(UNIX_APPLICATIONS_FILES applications/) + set(LDMICRO_BIN bin CACHE PATH "LDmicro binaries.") - install( DIRECTORY ${UNIX_ICON_FILES} + install(DIRECTORY ${UNIX_ICON_FILES} DESTINATION share/icons COMPONENT resources - ) + ) - install( DIRECTORY ${UNIX_APPLICATIONS_FILES} + install(DIRECTORY ${UNIX_APPLICATIONS_FILES} DESTINATION share/applications COMPONENT resources - ) - install( TARGETS ldmicro - DESTINATION bin + ) + install(TARGETS ldmicro + DESTINATION bin ) ##Debian package creation set(CPACK_GENERATOR "DEB") @@ -211,20 +235,21 @@ endif() "LDmicro_Qt-${CPACK_PACKAGE_VERSION_MAJOR}." "${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}" "-Linux-${RELEASE_CODENAME}") - + set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) set(CPACK_PACKAGE_DESCRIPTION "Ladder Logic editor, simulator and compiler for 8 bit microcontrollers") set(CPACK_PACKAGE_CONTACT "Akshay Chipkar akshaychipkar@yahoo.co.in") set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/Debian/postinst") include(CPack) - + ## Add tests - MESSAGE( STATUS "Adding tests.." ) - add_custom_command( - TARGET ldmicro - POST_BUILD - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/reg - COMMAND perl run-tests.pl) - + # MESSAGE( STATUS "Adding tests.." ) + # add_custom_command( + # TARGET ldmicro + # POST_BUILD + # WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/reg + # COMMAND perl run-tests.pl) + ENDIF(UNIX) +feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/ldmicro/coildialog.cpp b/ldmicro/coildialog.cpp index eae0a3f..123be0a 100644 --- a/ldmicro/coildialog.cpp +++ b/ldmicro/coildialog.cpp @@ -111,7 +111,7 @@ void ShowCoilDialog(BOOL *negated, BOOL *setOnly, BOOL *resetOnly, char *name) // CoilDialog->setFixedSize(359,115); MakeControls(); NameTextbox->setValidator( - new QRegExpValidator(QRegExp("[a-zA-Z0-9_]+"))); + new QRegularExpressionValidator(QRegularExpression(QStringLiteral("[a-zA-Z0-9_]+")))); if(name[0] == 'R') { SourceInternalRelayRadio->setChecked(TRUE); diff --git a/ldmicro/confdialog.cpp b/ldmicro/confdialog.cpp index 7bf0844..2efc98b 100644 --- a/ldmicro/confdialog.cpp +++ b/ldmicro/confdialog.cpp @@ -23,6 +23,7 @@ // Jonathan Westhues, Nov 2004 //----------------------------------------------------------------------------- #include +#include #include #include #include @@ -64,14 +65,14 @@ static void MakeControls(void) CrystalTextbox = new QLineEdit(); BaudTextbox = new QLineEdit(); CycleTextbox->setValidator( - new QRegExpValidator( - QRegExp("[0-9]+"))); + new QRegularExpressionValidator( + QRegularExpression(QStringLiteral("[0-9]+")))); CrystalTextbox->setValidator( - new QRegExpValidator( - QRegExp("[0-9]+"))); + new QRegularExpressionValidator( + QRegularExpression(QStringLiteral("[0-9]+")))); BaudTextbox->setValidator( - new QRegExpValidator( - QRegExp("[0-9]+"))); + new QRegularExpressionValidator( + QRegularExpression(QStringLiteral("[0-9]+")))); if(!UartFunctionUsed()) { BaudTextbox->setEnabled(FALSE); diff --git a/ldmicro/contactsdialog.cpp b/ldmicro/contactsdialog.cpp index be04b15..b87a1b1 100644 --- a/ldmicro/contactsdialog.cpp +++ b/ldmicro/contactsdialog.cpp @@ -106,8 +106,8 @@ void ShowContactsDialog(BOOL *negated, char *name) // CoilDialog->setFixedSize(359,115); MakeControls(); NameTextbox->setValidator( - new QRegExpValidator( - QRegExp("[a-zA-Z0-9_]+"))); + new QRegularExpressionValidator( + QRegularExpression(QStringLiteral("[a-zA-Z0-9_]+")))); NameTextbox->setFocus(); if(name[0] == 'R') { diff --git a/ldmicro/ldmicro.cpp b/ldmicro/ldmicro.cpp index fa5ea5a..6fd6366 100644 --- a/ldmicro/ldmicro.cpp +++ b/ldmicro/ldmicro.cpp @@ -944,7 +944,7 @@ inline void MenuHandler () } //Connect map to combined function call - QObject::connect (CommandMapper, SIGNAL(mapped(int)), + QObject::connect (CommandMapper, SIGNAL(mappedInt(int)), &MenuHandle, SLOT(LD_WM_Command_call(int))) ; } void ActivateItem(QTreeWidgetItem* item, int column) diff --git a/ldmicro/lib/linuxUI/CMakeLists.txt b/ldmicro/lib/linuxUI/CMakeLists.txt index 25ba6b2..fa2c30c 100644 --- a/ldmicro/lib/linuxUI/CMakeLists.txt +++ b/ldmicro/lib/linuxUI/CMakeLists.txt @@ -1,3 +1,5 @@ project(LinuxUI) add_library(LinuxUI linuxUI.cpp linuxLD.cpp) +target_link_libraries(LinuxUI PUBLIC + Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Widgets) diff --git a/ldmicro/lib/linuxUI/linuxUI.cpp b/ldmicro/lib/linuxUI/linuxUI.cpp index 5d2c78f..c304180 100644 --- a/ldmicro/lib/linuxUI/linuxUI.cpp +++ b/ldmicro/lib/linuxUI/linuxUI.cpp @@ -116,15 +116,15 @@ BOOL GetOpenFileName(OPENFILENAME *ofn) QStandardPaths::locate(QStandardPaths::HomeLocation,".", QStandardPaths::LocateDirectory), strFilter.c_str()); - if(filename == NULL) + if(filename == "") { - return FALSE; + return false; } strcpy(ofn->lpstrFile,filename.toStdString().c_str()); // printf("FileName:%s",ofn->lpstrFile); - return TRUE; + return true; } @@ -249,7 +249,7 @@ HFONT CreateFont(int nHeight, int nWidth, int nOrientation, int fnWeight, void SetBkColor(HWID widget, HCRDC hcr, COLORREF bkCol) { QPalette pal = widget->palette(); - pal.setColor(QPalette::Background, bkCol); + pal.setColor(QPalette::Window, bkCol); widget->setPalette(pal); } @@ -313,7 +313,7 @@ UINT SetTimer(HWID hWid, UINT nIDEvent, UINT uElapse, UINT TimerID) TimerID = hWid->startTimer(uElapse); CursorObject = new QGroupBox(hWid); QPalette pal = CursorObject->palette(); - pal.setColor(QPalette::Background, Qt::white); + pal.setColor(QPalette::Window, Qt::white); CursorObject->setAutoFillBackground(true); CursorObject->setPalette(pal); CursorObject->setGeometry(0,0,2,20); diff --git a/ldmicro/lib/linuxUI/linuxUI.h b/ldmicro/lib/linuxUI/linuxUI.h index 356dca6..983ee04 100644 --- a/ldmicro/lib/linuxUI/linuxUI.h +++ b/ldmicro/lib/linuxUI/linuxUI.h @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include #include // #include diff --git a/ldmicro/lutdialog.cpp b/ldmicro/lutdialog.cpp index feef56f..6499df6 100644 --- a/ldmicro/lutdialog.cpp +++ b/ldmicro/lutdialog.cpp @@ -112,14 +112,14 @@ static void MakeFixedControls(BOOL forPwl) IndexTextbox = new QLineEdit(); CountTextbox = new QLineEdit(); DestTextbox->setValidator( - new QRegExpValidator( - QRegExp("[a-zA-Z0-9_]+"))); + new QRegularExpressionValidator( + QRegularExpression(QStringLiteral("[a-zA-Z0-9_]+")))); IndexTextbox->setValidator( - new QRegExpValidator( - QRegExp("[a-zA-Z0-9_]+"))); + new QRegularExpressionValidator( + QRegularExpression(QStringLiteral("[a-zA-Z0-9_]+")))); CountTextbox->setValidator( - new QRegExpValidator( - QRegExp("[0-9]+"))); + new QRegularExpressionValidator( + QRegularExpression(QStringLiteral("[0-9]+")))); if(!forPwl) { AsStringCheckbox = new QCheckBox( @@ -256,8 +256,8 @@ static void MakeLutControls(BOOL asString, int counts, BOOL forPwl) ValuesTextbox[i] = new QLineEdit(); ValuesTextbox[i]->setMaximumWidth(80); ValuesTextbox[i]->setValidator( - new QRegExpValidator( - QRegExp("-?[0-9]+"))); + new QRegularExpressionValidator( + QRegularExpression(QStringLiteral("-?[0-9]+")))); NiceFont(ValuesTextbox[i]); ValuesTextbox[i]->setText(buf); LutControlGrid->addWidget(ValuesTextbox[i], x, y + 1); diff --git a/ldmicro/maincontrols.cpp b/ldmicro/maincontrols.cpp index 7d78f6a..5d0cf01 100644 --- a/ldmicro/maincontrols.cpp +++ b/ldmicro/maincontrols.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include "toolbar.h" #include "ldmicro.h" diff --git a/ldmicro/resetdialog.cpp b/ldmicro/resetdialog.cpp index ba79def..4ac695f 100644 --- a/ldmicro/resetdialog.cpp +++ b/ldmicro/resetdialog.cpp @@ -91,7 +91,7 @@ void ShowResetDialog(char *name) // CoilDialog->setFixedSize(359,115); MakeControls(); NameTextbox->setValidator( - new QRegExpValidator(QRegExp("[a-zA-Z0-9_]+"))); + new QRegularExpressionValidator(QRegularExpression(QStringLiteral("[a-zA-Z0-9_]+")))); if(name[0] == 'T') { TypeTimerRadio->setChecked(TRUE); diff --git a/ldmicro/simpledialog.cpp b/ldmicro/simpledialog.cpp index 659f177..6e2729e 100644 --- a/ldmicro/simpledialog.cpp +++ b/ldmicro/simpledialog.cpp @@ -144,12 +144,12 @@ BOOL ShowSimpleDialog(char *title, int boxes, char **labels, DWORD numOnlyMask, if(numOnlyMask & (1 << i)) { Textboxes[i]->setValidator( - new QRegExpValidator(QRegExp("-?[0-9]+[.]?[0-9]+"))); + new QRegularExpressionValidator(QRegularExpression(QStringLiteral("-?[0-9]+[.]?[0-9]+")))); } if(alnumOnlyMask & (1 << i)) { Textboxes[i]->setValidator( - new QRegExpValidator( - QRegExp("[a-zA-Z0-9_'-]+"))); + new QRegularExpressionValidator( + QRegularExpression(QStringLiteral("[a-zA-Z0-9_'-]+")))); } } Textboxes[0]->setFocus(); diff --git a/ldmicro/simulate.cpp b/ldmicro/simulate.cpp index 392a9af..5b6f864 100644 --- a/ldmicro/simulate.cpp +++ b/ldmicro/simulate.cpp @@ -26,15 +26,18 @@ //----------------------------------------------------------------------------- #include "linuxUI.h" //#include +#include #include #include #include #include +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#include +#endif #include "ldmicro.h" #include "intcode.h" #include "freezeLD.h" -#include static struct { char name[MAX_NAME_LEN]; @@ -845,7 +848,12 @@ void ShowUartSimulationWindow(void) if(TerminalW > 800) TerminalW = 100; if(TerminalH > 800) TerminalH = 100; - QRect r = QApplication::desktop()->screenGeometry(); + QRect r = + #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) + QApplication::desktop()->screenGeometry(); + #else + QGuiApplication::primaryScreen()->geometry(); + #endif if(TerminalX >= (DWORD)(r.width() - 10)) TerminalX = 100; if(TerminalY >= (DWORD)(r.height() - 10)) TerminalY = 100; diff --git a/ldmicro/toolbar.cpp b/ldmicro/toolbar.cpp index f37ec43..a4e516a 100644 --- a/ldmicro/toolbar.cpp +++ b/ldmicro/toolbar.cpp @@ -110,6 +110,6 @@ void ToolBarHandler() QObject::connect(SubBtn, SIGNAL(triggered()), CommandMapper, SLOT(map())); QObject::connect(MulBtn, SIGNAL(triggered()), CommandMapper, SLOT(map())); QObject::connect(DivBtn, SIGNAL(triggered()), CommandMapper, SLOT(map())); - QObject::connect (CommandMapper, SIGNAL(mapped(int)), + QObject::connect (CommandMapper, SIGNAL(mappedInt(int)), &MenuHandle, SLOT(LD_WM_Command_call(int))) ; } \ No newline at end of file