diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f0497d..74fae56 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.3) project(KDbg) -set(QT_MIN_VERSION "5.5.0") -set(KF5_MIN_VERSION "5.2.0") +set(QT_MIN_VERSION "6.4.2") +set(KF6_MIN_VERSION "5.102.0") set(KDBG_VERSION 3.0.1) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/kdbg/version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/kdbg/version.h) @@ -9,11 +9,11 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/kdbg/version.h.cmake ${CMAKE_CURRENT_ find_package(ECM REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) -find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS - Core Widgets +find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS + Core Widgets Core5Compat ) -find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS +find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS I18n Config IconThemes diff --git a/kdbg/CMakeLists.txt b/kdbg/CMakeLists.txt index a976c5a..ea85342 100644 --- a/kdbg/CMakeLists.txt +++ b/kdbg/CMakeLists.txt @@ -89,11 +89,11 @@ IF (HAVE_LIB_UTIL) ENDIF (HAVE_LIB_UTIL) target_link_libraries(kdbg - KF5::I18n - KF5::ConfigCore - KF5::IconThemes - KF5::XmlGui - KF5::WindowSystem + Qt6::Core5Compat + KF6::I18n + KF6::ConfigCore + KF6::IconThemes + KF6::XmlGui ${LIB_UTIL} ) diff --git a/kdbg/dbgdriver.cpp b/kdbg/dbgdriver.cpp index 56232a1..3dc44e1 100644 --- a/kdbg/dbgdriver.cpp +++ b/kdbg/dbgdriver.cpp @@ -46,7 +46,7 @@ bool DebuggerDriver::startup(QString cmdStr) if (cmdStr.isEmpty()) cmdStr = defaultInvocation(); - QStringList cmd = cmdStr.split(' ', QString::SkipEmptyParts); + QStringList cmd = cmdStr.split(' ', Qt::SkipEmptyParts); if (cmd.isEmpty()) return false; QString pgm = cmd.takeFirst(); diff --git a/kdbg/dbgdriver.h b/kdbg/dbgdriver.h index 9c1e9be..2ee9445 100644 --- a/kdbg/dbgdriver.h +++ b/kdbg/dbgdriver.h @@ -18,7 +18,6 @@ class VarTree; class ExprValue; class ExprWnd; class KDebugger; -class QStringList; /** diff --git a/kdbg/dbgmainwnd.cpp b/kdbg/dbgmainwnd.cpp index e0c061b..164f3f0 100644 --- a/kdbg/dbgmainwnd.cpp +++ b/kdbg/dbgmainwnd.cpp @@ -644,7 +644,7 @@ bool DebuggerMainWnd::debugProgram(const QString& exe, const QString& lang) if (!success) { QString msg = i18n("`%1' is not a file or does not exist"); - KMessageBox::sorry(this, msg.arg(exe)); + KMessageBox::error(this, msg.arg(exe)); } else { @@ -712,7 +712,7 @@ bool DebuggerMainWnd::startDriver(const QString& executable, QString lang) { // oops QString msg = i18n("Don't know how to debug language `%1'"); - KMessageBox::sorry(this, msg.arg(lang)); + KMessageBox::error(this, msg.arg(lang)); return false; } if (typeid(*driver) == typeid(XsldbgDriver)) { @@ -729,7 +729,7 @@ bool DebuggerMainWnd::startDriver(const QString& executable, QString lang) QString msg = i18n("Could not start the debugger process.\n" "Please shut down KDbg and resolve the problem."); - KMessageBox::sorry(this, msg); + KMessageBox::error(this, msg); } return success; @@ -1272,5 +1272,5 @@ void DebuggerMainWnd::slotExecArgs() void DebuggerMainWnd::slotConfigureKeys() { - KShortcutsDialog::configure(actionCollection()); + KShortcutsDialog::showDialog(actionCollection(), KShortcutsEditor::LetterShortcutsDisallowed, this); } diff --git a/kdbg/debugger.cpp b/kdbg/debugger.cpp index 74d6715..88a1aea 100644 --- a/kdbg/debugger.cpp +++ b/kdbg/debugger.cpp @@ -775,7 +775,8 @@ void KDebugger::saveProgramSettings() gg.writeEntry(FileVersion, 1); gg.writeEntry(ProgramArgs, m_programArgs); gg.writeEntry(WorkingDirectory, m_programWD); - gg.writeEntry(OptionsSelected, m_boolOptions.toList()); + QList boolOptions(m_boolOptions.begin(), m_boolOptions.end()); + gg.writeEntry(OptionsSelected, boolOptions); gg.writeEntry(DebuggerCmdStr, m_debuggerCmd); gg.writeEntry(TTYLevelEntry, int(m_ttyLevel)); gg.writeEntry(DisassemblyFlavor, m_flavor); @@ -835,7 +836,8 @@ void KDebugger::restoreProgramSettings() // m_ttyLevel has been read in already QString pgmArgs = gg.readEntry(ProgramArgs); QString pgmWd = gg.readEntry(WorkingDirectory); - QSet boolOptions = QSet::fromList(gg.readEntry(OptionsSelected, QStringList())); + auto selectedOptions = gg.readEntry(OptionsSelected, QStringList()); + QSet boolOptions(selectedOptions.begin(), selectedOptions.end()); m_boolOptions.clear(); m_flavor = gg.readEntry(DisassemblyFlavor, QString{}); @@ -905,8 +907,9 @@ QString KDebugger::readDebuggerCmd(const KConfigGroup& g) "The settings for this program specify " "the following debugger command:\n%1\n" "Shall this command be used?"); - if (KMessageBox::warningYesNo(parentWidget(), msg.arg(debuggerCmd)) - != KMessageBox::Yes) + if (KMessageBox::questionTwoActions(parentWidget(), msg.arg(debuggerCmd), i18n("Question"), + KGuiItem(i18nc("@action:button", "Yes"), QStringLiteral("dialog-ok")), KStandardGuiItem::cancel(), QString(), KMessageBox::Notify | KMessageBox::Dangerous) + != KMessageBox::PrimaryAction) { // don't use it debuggerCmd = QString(); @@ -1076,7 +1079,7 @@ void KDebugger::parse(CmdQueueItem* cmd, const char* output) emit updateStatusMessage(); } else { QString msg = m_d->driverName() + ": " + m_statusMessage; - KMessageBox::sorry(parentWidget(), msg); + KMessageBox::error(parentWidget(), msg); m_executable = ""; m_corefile = ""; /* don't process core file */ m_haveExecutable = false; @@ -1093,7 +1096,7 @@ void KDebugger::parse(CmdQueueItem* cmd, const char* output) } else { // report error QString msg = m_d->driverName() + ": " + QString(output); - KMessageBox::sorry(parentWidget(), msg); + KMessageBox::error(parentWidget(), msg); // if core file was loaded from command line, revert to info line main if (!cmd->m_byUser) { diff --git a/kdbg/exprwnd.h b/kdbg/exprwnd.h index f37b016..0f60ef7 100644 --- a/kdbg/exprwnd.h +++ b/kdbg/exprwnd.h @@ -16,7 +16,6 @@ class ProgramTypeTable; class TypeInfo; struct ExprValue; class ExprWnd; -class QStringList; /*! \brief a variable's value is the tree of sub-variables */ class VarTree : public QTreeWidgetItem diff --git a/kdbg/gdbdriver.cpp b/kdbg/gdbdriver.cpp index 75c766d..0043459 100644 --- a/kdbg/gdbdriver.cpp +++ b/kdbg/gdbdriver.cpp @@ -8,6 +8,7 @@ #include "exprwnd.h" #include #include +#include #include #include /* i18n */ #include @@ -2387,7 +2388,7 @@ bool GdbDriver::parseFindType(const char* output, QString& type) if (strncmp(output, "const ", 6) == 0) output += 6; type = output; - type.replace(QRegExp("\\s+"), ""); + type.replace(QRegularExpression("\\s+"), ""); if (type.endsWith("&")) type.truncate(type.length() - 1); return true; diff --git a/kdbg/pgmargs.h b/kdbg/pgmargs.h index faf04b4..40c4238 100644 --- a/kdbg/pgmargs.h +++ b/kdbg/pgmargs.h @@ -13,8 +13,6 @@ #include #include "envvar.h" -class QStringList; - class PgmArgs : public QDialog, private Ui::PgmArgsBase { Q_OBJECT diff --git a/kdbg/regwnd.cpp b/kdbg/regwnd.cpp index 5378edf..9042ab8 100644 --- a/kdbg/regwnd.cpp +++ b/kdbg/regwnd.cpp @@ -6,7 +6,7 @@ #include "regwnd.h" #include "dbgdriver.h" -#include /* i18n */ +#include #include #include #include @@ -63,28 +63,28 @@ class RegisterDisplay { // helper struct struct MenuPair { - const char* name; + KLazyLocalizedString name; uint mode; - bool isSeparator() { return name == 0; } + bool isSeparator() { return name.isEmpty(); } }; static MenuPair menuitems[] = { // treat as - { I18N_NOOP("&GDB default"), RegisterDisplay::nada }, - { I18N_NOOP("&Binary"), RegisterDisplay::binary }, - { I18N_NOOP("&Octal"), RegisterDisplay::octal }, - { I18N_NOOP("&Decimal"), RegisterDisplay::decimal }, - { I18N_NOOP("He&xadecimal"), RegisterDisplay::hex }, - { I18N_NOOP("Real (&e)"), RegisterDisplay::realE }, - { I18N_NOOP("Real (&f)"), RegisterDisplay::realF }, - { I18N_NOOP("&Real (g)"), RegisterDisplay::realG }, - { 0, 0 }, - { "8 bits", RegisterDisplay::bits8 }, - { "16 bits", RegisterDisplay::bits16 }, - { "32 bits", RegisterDisplay::bits32 }, - { "64 bits", RegisterDisplay::bits64 }, - { "80 bits", RegisterDisplay::bits80 }, - { "128 bits",RegisterDisplay::bits128 }, + { kli18n("&GDB default"), RegisterDisplay::nada }, + { kli18n("&Binary"), RegisterDisplay::binary }, + { kli18n("&Octal"), RegisterDisplay::octal }, + { kli18n("&Decimal"), RegisterDisplay::decimal }, + { kli18n("He&xadecimal"), RegisterDisplay::hex }, + { kli18n("Real (&e)"), RegisterDisplay::realE }, + { kli18n("Real (&f)"), RegisterDisplay::realF }, + { kli18n("&Real (g)"), RegisterDisplay::realG }, + { KLazyLocalizedString(), 0 }, + { kli18n("8 bits"), RegisterDisplay::bits8 }, + { kli18n("16 bits"), RegisterDisplay::bits16 }, + { kli18n("32 bits"), RegisterDisplay::bits32 }, + { kli18n("64 bits"), RegisterDisplay::bits64 }, + { kli18n("80 bits"), RegisterDisplay::bits80 }, + { kli18n("128 bits"),RegisterDisplay::bits128 }, }; uint RegisterDisplay::bitMap[] = { @@ -427,7 +427,7 @@ RegisterView::RegisterView(QWidget* parent) : if (menuitems[i].isSeparator()) m_modemenu->addSeparator(); else { - QAction* action = m_modemenu->addAction(i18n(menuitems[i].name)); + QAction* action = m_modemenu->addAction(menuitems[i].name.toString()); action->setData(menuitems[i].mode); action->setCheckable(true); } diff --git a/kdbg/xsldbgdriver.cpp b/kdbg/xsldbgdriver.cpp index 7ccd8da..8f56cfe 100644 --- a/kdbg/xsldbgdriver.cpp +++ b/kdbg/xsldbgdriver.cpp @@ -250,9 +250,9 @@ XsldbgDriver::commandFinished(CmdQueueItem * cmd) if (!::isErrorExpr(m_output.constData())) parseMarker(); else{ - // This only shows an error for DCinfolocals - // need to update KDebugger::handleRunCommand ? - KMessageBox::sorry(0L, m_output); + // This only shows an error for DCinfolocals + // need to update KDebugger::handleRunCommand ? + KMessageBox::error(0L, m_output); } } break;