diff --git a/sysutils/krename/Makefile b/sysutils/krename/Makefile index b03f6e93a7b8..e6a7d191d712 100644 --- a/sysutils/krename/Makefile +++ b/sysutils/krename/Makefile @@ -1,33 +1,28 @@ PORTNAME= krename -DISTVERSION= 5.0.2 -PORTREVISION= 4 +DISTVERSION= 5.0.60 CATEGORIES= sysutils kde MASTER_SITES= KDE/stable/${PORTNAME}/${PORTVERSION}/src MAINTAINER= kde@FreeBSD.org -COMMENT= Powerful batch file renamer for KDE -WWW= https://userbase.kde.org/KRename +COMMENT= Powerful batch file renamer +WWW= https://apps.kde.org/krename/ LICENSE= GPLv2+ -LICENSE_FILE= ${WRKSRC}/COPYING +LICENSE_FILE= ${WRKSRC}/LICENSES/GPL-2.0-or-later.txt LIB_DEPENDS= libtag.so:audio/taglib \ libexiv2.so:graphics/exiv2 \ - libpodofo09.so:graphics/podofo09 \ + libpodofo.so:graphics/podofo \ libfreetype.so:print/freetype2 -USES= cmake compiler:c++11-lang gettext kde:5 pkgconfig qt:5 tar:xz xorg -USE_KDE= auth bookmarks codecs completion config configwidgets \ - coreaddons crash i18n iconthemes itemviews jobwidgets \ - kio service solid widgetsaddons windowsystem xmlgui \ +USES= cmake gettext kde:6 pkgconfig qt:6 tar:xz xorg +USE_KDE= archive completion config coreaddons crash i18n \ + iconthemes itemviews jobwidgets kio service \ + widgetsaddons xmlgui \ ecm:build -USE_QT= concurrent core dbus declarative gui network xml widgets \ - buildtools:build qmake:build +USE_QT= 5compat base declarative USE_XORG= x11 -# Patch sources to force using include files installed by graphics/podofo09 -post-patch: - @${REINPLACE_CMD} -e '/^#include/s|podofo/podofo.h|podofo09/podofo.h|' \ - ${WRKSRC}/src/podofoplugin.cpp +KDE_INVENT= ff7a8dae14cd4efede5700ffd1c149b4013afba9 utilities .include diff --git a/sysutils/krename/distinfo b/sysutils/krename/distinfo index d6b4996380b8..5a2d7ec90d7d 100644 --- a/sysutils/krename/distinfo +++ b/sysutils/krename/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1662538669 -SHA256 (krename-5.0.2.tar.xz) = b23c60a7ddd9f6db4dd7f55ac55fcca8a558fa68aaf8fa5cb89e1eaf692f23ed -SIZE (krename-5.0.2.tar.xz) = 337908 +TIMESTAMP = 1783862205 +SHA256 (utilities-krename-ff7a8dae14cd4efede5700ffd1c149b4013afba9_GL0.tar.gz) = c445953bd737d3ff8251822c1b837abb7d222848895703df1b6feef55fa5a326 +SIZE (utilities-krename-ff7a8dae14cd4efede5700ffd1c149b4013afba9_GL0.tar.gz) = 856482 diff --git a/sysutils/krename/files/patch-cmake_modules_FindPoDoFo.cmake b/sysutils/krename/files/patch-cmake_modules_FindPoDoFo.cmake deleted file mode 100644 index 4e71911fec26..000000000000 --- a/sysutils/krename/files/patch-cmake_modules_FindPoDoFo.cmake +++ /dev/null @@ -1,28 +0,0 @@ ---- cmake/modules/FindPoDoFo.cmake.orig 2022-08-31 21:22:21 UTC -+++ cmake/modules/FindPoDoFo.cmake -@@ -37,10 +37,10 @@ find_path(PoDoFo_INCLUDE_DIRS - # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - find_path(PoDoFo_INCLUDE_DIRS -- NAMES podofo/podofo.h -+ NAMES podofo09/podofo.h - ) - find_library(PoDoFo_LIBRARIES -- NAMES libpodofo podofo -+ NAMES libpodofo09 podofo09 - ) - - include(FindPackageHandleStandardArgs) -@@ -65,9 +65,9 @@ if(PoDoFo_FOUND) - # header. The fix is in https://sourceforge.net/p/podofo/code/1830/ and will - # hopefully be released soon with 0.9.6. Note that krename doesn't use - # OpenSSL in any way. -- file(STRINGS "${PoDoFo_INCLUDE_DIRS}/podofo/base/podofo_config.h" PoDoFo_MAJOR_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_MAJOR[ \t]+[0-9]+$") -- file(STRINGS "${PoDoFo_INCLUDE_DIRS}/podofo/base/podofo_config.h" PoDoFo_MINOR_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_MINOR[ \t]+[0-9]+$") -- file(STRINGS "${PoDoFo_INCLUDE_DIRS}/podofo/base/podofo_config.h" PoDoFo_PATCH_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_PATCH[ \t]+[0-9]+$") -+ file(STRINGS "${PoDoFo_INCLUDE_DIRS}/podofo09/base/podofo_config.h" PoDoFo_MAJOR_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_MAJOR[ \t]+[0-9]+$") -+ file(STRINGS "${PoDoFo_INCLUDE_DIRS}/podofo09/base/podofo_config.h" PoDoFo_MINOR_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_MINOR[ \t]+[0-9]+$") -+ file(STRINGS "${PoDoFo_INCLUDE_DIRS}/podofo09/base/podofo_config.h" PoDoFo_PATCH_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_PATCH[ \t]+[0-9]+$") - string(REGEX REPLACE "^#define[ \t]+PODOFO_VERSION_MAJOR[ \t]+([0-9]+)$" "\\1" PoDoFo_MAJOR_VER "${PoDoFo_MAJOR_VER_LINE}") - string(REGEX REPLACE "^#define[ \t]+PODOFO_VERSION_MINOR[ \t]+([0-9]+)$" "\\1" PoDoFo_MINOR_VER "${PoDoFo_MINOR_VER_LINE}") - string(REGEX REPLACE "^#define[ \t]+PODOFO_VERSION_PATCH[ \t]+([0-9]+)$" "\\1" PoDoFo_PATCH_VER "${PoDoFo_PATCH_VER_LINE}") diff --git a/sysutils/krename/files/patch-gentoo_git-krename-5.0.1-no-kjs.patch b/sysutils/krename/files/patch-gentoo_git-krename-5.0.1-no-kjs.patch deleted file mode 100644 index 9f9ce13c218e..000000000000 --- a/sysutils/krename/files/patch-gentoo_git-krename-5.0.1-no-kjs.patch +++ /dev/null @@ -1,521 +0,0 @@ -https://gitweb.gentoo.org/repo/gentoo.git/tree/kde-misc/krename/files/krename-5.0.1-no-kjs.patch - -From 407b612a93128b9f935a686d5ff82c7ee06087f5 Mon Sep 17 00:00:00 2001 -From: Harald Sitter -Date: Thu, 17 Dec 2020 13:19:56 +0100 -Subject: [PATCH 1/5] reduce nesting - -easier on the eyes ---- - src/scriptplugin.cpp | 63 +++++++++++++++++++++++--------------------- - 1 file changed, 33 insertions(+), 30 deletions(-) - -diff --git a/src/scriptplugin.cpp src/scriptplugin.cpp -index 0790fd4..8f4b11e 100644 ---- a/src/scriptplugin.cpp -+++ src/scriptplugin.cpp -@@ -175,36 +175,39 @@ void ScriptPlugin::initKRenameVars(const KRenameFile &file, int index) - file.srcDirectory()); - - // User definitions, set them only on first file -- if (index == 0) { -- for (int i = 0; i < m_widget->listVariables->topLevelItemCount(); i++) { -- // TODO, we have to know the type of the variable! -- QTreeWidgetItem *item = m_widget->listVariables->topLevelItem(i); -- if (item) { -- EVarType eVarType = static_cast(item->data(1, Qt::UserRole).toInt()); -- const QString &name = item->text(0); -- const QString &value = item->text(1); -- switch (eVarType) { -- default: -- case eVarType_String: -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- name, value.toUtf8().data()); -- break; -- case eVarType_Int: -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- name, value.toInt()); -- break; -- case eVarType_Double: -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- name, value.toDouble()); -- break; -- case eVarType_Bool: -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- name, -- (value.toLower() == "true" ? true : false)); -- break; -- -- } -- } -+ if (index != 0) { -+ return; -+ } -+ -+ for (int i = 0; i < m_widget->listVariables->topLevelItemCount(); i++) { -+ // TODO, we have to know the type of the variable! -+ QTreeWidgetItem *item = m_widget->listVariables->topLevelItem(i); -+ if (!item) { -+ continue; -+ } -+ -+ EVarType eVarType = static_cast(item->data(1, Qt::UserRole).toInt()); -+ const QString &name = item->text(0); -+ const QString &value = item->text(1); -+ switch (eVarType) { -+ default: -+ case eVarType_String: -+ m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -+ name, value.toUtf8().data()); -+ break; -+ case eVarType_Int: -+ m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -+ name, value.toInt()); -+ break; -+ case eVarType_Double: -+ m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -+ name, value.toDouble()); -+ break; -+ case eVarType_Bool: -+ m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -+ name, -+ (value.toLower() == "true" ? true : false)); -+ break; - } - } - } --- -2.29.2 - - -From f80de4b81846da45c4cc16c585a159872dcc2c29 Mon Sep 17 00:00:00 2001 -From: Harald Sitter -Date: Thu, 17 Dec 2020 13:24:37 +0100 -Subject: [PATCH 2/5] don't needlessly use qpointer - -for one it has no value, scopedpointer might. we don't need a pointer -at all though, simply put qdialog on the stack and let the compiler -take care of it ---- - src/scriptplugin.cpp | 44 ++++++++++++++++++++++---------------------- - 1 file changed, 22 insertions(+), 22 deletions(-) - -diff --git src/scriptplugin.cpp src/scriptplugin.cpp -index 8f4b11e..fec61e7 100644 ---- src/scriptplugin.cpp -+++ src/scriptplugin.cpp -@@ -28,7 +28,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -228,7 +227,7 @@ void ScriptPlugin::slotEnableControls() - - void ScriptPlugin::slotAdd() - { -- QPointer dialog = new QDialog(); -+ QDialog dialog; - Ui::ScriptPluginDialog dlg; - - QStringList types; -@@ -238,32 +237,33 @@ void ScriptPlugin::slotAdd() - types << i18n("Double"); - types << i18n("Boolean"); - -- dlg.setupUi(dialog); -+ dlg.setupUi(&dialog); - dlg.comboType->addItems(types); - -- if (dialog->exec() == QDialog::Accepted) { -- QString name = dlg.lineName->text(); -- QString value = dlg.lineValue->text(); -+ if (dialog.exec() != QDialog::Accepted) { -+ return; -+ } - -- // Build a Java script statement -- QString script = name + " = " + value + ';'; -+ QString name = dlg.lineName->text(); -+ QString value = dlg.lineValue->text(); - -- KJSInterpreter interpreter; -- KJSResult result = m_interpreter->evaluate(script, nullptr); -- if (result.isException()) { -- KMessageBox::error(m_parent, -- i18n("A JavaScript error has occurred: ") + -- result.errorMessage(), this->name()); -- } else { -- QTreeWidgetItem *item = new QTreeWidgetItem(); -- item->setText(0, name); -- item->setText(1, value); -- item->setData(1, Qt::UserRole, QVariant(dlg.comboType->currentIndex())); -+ // Build a Java script statement -+ QString script = name + " = " + value + ';'; - -- m_widget->listVariables->addTopLevelItem(item); -- } -+ KJSInterpreter interpreter; -+ KJSResult result = m_interpreter->evaluate(script, nullptr); -+ if (result.isException()) { -+ KMessageBox::error(m_parent, -+ i18n("A JavaScript error has occurred: ") + -+ result.errorMessage(), this->name()); -+ } else { -+ QTreeWidgetItem *item = new QTreeWidgetItem(); -+ item->setText(0, name); -+ item->setText(1, value); -+ item->setData(1, Qt::UserRole, QVariant(dlg.comboType->currentIndex())); -+ -+ m_widget->listVariables->addTopLevelItem(item); - } -- delete dialog; - } - - void ScriptPlugin::slotRemove() --- -2.29.2 - - -From 5979b30da5b385008894ff5577da917dd888959e Mon Sep 17 00:00:00 2001 -From: Harald Sitter -Date: Thu, 17 Dec 2020 13:32:41 +0100 -Subject: [PATCH 3/5] fix dangerously implicit int->int->enum mapping - -the type order in the qstringlist was implicitly the int values of the -type enum. incredibly scary. instead push the items into the combobox -along with their enum value as Qt::UserRole and then pass that along. -this ensures (kind of) that the int we cast back to enum in -initKRenameVars will be an actual enum value ---- - src/scriptplugin.cpp | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) - -diff --git src/scriptplugin.cpp src/scriptplugin.cpp -index fec61e7..1933bc6 100644 ---- src/scriptplugin.cpp -+++ src/scriptplugin.cpp -@@ -4,6 +4,7 @@ - begin : Fri Nov 9 2007 - copyright : (C) 2007 by Dominik Seichter - email : domseichter@web.de -+ copyright : (C) 2020 by Harald Sitter - ***************************************************************************/ - - /*************************************************************************** -@@ -230,15 +231,11 @@ void ScriptPlugin::slotAdd() - QDialog dialog; - Ui::ScriptPluginDialog dlg; - -- QStringList types; -- -- types << i18n("String"); -- types << i18n("Int"); -- types << i18n("Double"); -- types << i18n("Boolean"); -- - dlg.setupUi(&dialog); -- dlg.comboType->addItems(types); -+ dlg.comboType->addItem(i18n("String"), eVarType_String); -+ dlg.comboType->addItem(i18n("Int"), eVarType_Int); -+ dlg.comboType->addItem(i18n("Double"), eVarType_Double); -+ dlg.comboType->addItem(i18n("Boolean"), eVarType_Bool); - - if (dialog.exec() != QDialog::Accepted) { - return; -@@ -260,7 +257,7 @@ void ScriptPlugin::slotAdd() - QTreeWidgetItem *item = new QTreeWidgetItem(); - item->setText(0, name); - item->setText(1, value); -- item->setData(1, Qt::UserRole, QVariant(dlg.comboType->currentIndex())); -+ item->setData(1, Qt::UserRole, dlg.comboType->currentData()); - - m_widget->listVariables->addTopLevelItem(item); - } --- -2.29.2 - - -From 82161c323b7b0d4b77602551923118f304c5c536 Mon Sep 17 00:00:00 2001 -From: Harald Sitter -Date: Thu, 17 Dec 2020 15:05:49 +0100 -Subject: [PATCH 4/5] port away from stringy QMenu::addAction to functor based - API - -was introdcued in 5.6 so is fine to use and loads safer ---- - src/previewlist.cpp | 8 ++++---- - src/progressdialog.cpp | 8 ++++---- - src/scriptplugin.cpp | 10 +++++----- - 3 files changed, 13 insertions(+), 13 deletions(-) - -diff --git src/previewlist.cpp src/previewlist.cpp -index df8097b..0d3ccb6 100644 ---- src/previewlist.cpp -+++ src/previewlist.cpp -@@ -28,12 +28,12 @@ PreviewList::PreviewList(QWidget *parent) - : QTreeView(parent), m_model(nullptr) - { - m_menu = new QMenu("KRename", this); // we need any text here so that we have a title -- m_menu->addAction(i18n("&Change filename manually..."), this, SLOT(slotManually()), QKeySequence("F2")); -+ m_menu->addAction(i18n("&Change filename manually..."), this, &PreviewList::slotManually, QKeySequence("F2")); - m_menu->addSeparator(); -- m_menu->addAction(i18n("&Open"), this, SLOT(slotOpen())); -+ m_menu->addAction(i18n("&Open"), this, &PreviewList::slotOpen); - m_menu->addSeparator(); -- m_menu->addAction(i18n("&Add..."), this, SIGNAL(addFiles())); -- m_menu->addAction(i18n("&Remove"), this, SLOT(slotRemove())); -+ m_menu->addAction(i18n("&Add..."), this, &PreviewList::addFiles); -+ m_menu->addAction(i18n("&Remove"), this, &PreviewList::slotRemove); - - connect(this, &PreviewList::activated, this, &PreviewList::slotManually); - } -diff --git src/progressdialog.cpp src/progressdialog.cpp -index 4eaaf1a..d217614 100644 ---- src/progressdialog.cpp -+++ src/progressdialog.cpp -@@ -49,11 +49,11 @@ ProgressDialog::ProgressDialog(ESplitMode eSplitMode, unsigned int dot, QWidget - qApp, &QApplication::quit, Qt::QueuedConnection); - - QMenu *menu = new QMenu(this); -- menu->addAction(i18n("Restart &KRename..."), this, SLOT(slotRestartKRename())); -+ menu->addAction(i18n("Restart &KRename..."), this, &ProgressDialog::slotRestartKRename); - menu->addSeparator(); -- m_actProcessed = menu->addAction(i18n("Rename Processed Files &Again..."), this, SLOT(slotRenameProcessedAgain())); -- m_actUnprocessed = menu->addAction(i18n("Rename &Unprocessed Files Again..."), this, SLOT(slotRenameUnprocessedAgain())); -- menu->addAction(i18n("&Rename All Files Again..."), this, SLOT(slotRenameAllAgain())); -+ m_actProcessed = menu->addAction(i18n("Rename Processed Files &Again..."), this, &ProgressDialog::slotRenameProcessedAgain); -+ m_actUnprocessed = menu->addAction(i18n("Rename &Unprocessed Files Again..."), this, &ProgressDialog::slotRenameUnprocessedAgain); -+ menu->addAction(i18n("&Rename All Files Again..."), this, &ProgressDialog::slotRenameAllAgain); - - m_buttonMore->setMenu(menu); - } -diff --git src/scriptplugin.cpp src/scriptplugin.cpp -index 1933bc6..46b27ca 100644 ---- src/scriptplugin.cpp -+++ src/scriptplugin.cpp -@@ -68,11 +68,11 @@ ScriptPlugin::ScriptPlugin(PluginLoader *loader) - - m_help.append("[js;4+5];;" + i18n("Insert a snippet of JavaScript code (4+5 in this case)")); - -- m_menu->addAction(i18n("Index of the current file"), this, SLOT(slotInsertIndex())); -- m_menu->addAction(i18n("URL of the current file"), this, SLOT(slotInsertUrl())); -- m_menu->addAction(i18n("Filename of the current file"), this, SLOT(slotInsertFilename())); -- m_menu->addAction(i18n("Extension of the current file"), this, SLOT(slotInsertExtension())); -- m_menu->addAction(i18n("Directory of the current file"), this, SLOT(slotInsertDirectory())); -+ m_menu->addAction(i18n("Index of the current file"), this, &ScriptPlugin::slotInsertIndex); -+ m_menu->addAction(i18n("URL of the current file"), this, &ScriptPlugin::slotInsertUrl); -+ m_menu->addAction(i18n("Filename of the current file"), this, &ScriptPlugin::slotInsertFilename); -+ m_menu->addAction(i18n("Extension of the current file"), this, &ScriptPlugin::slotInsertExtension); -+ m_menu->addAction(i18n("Directory of the current file"), this, &ScriptPlugin::slotInsertDirectory); - } - - ScriptPlugin::~ScriptPlugin() --- -2.29.2 - - -From e0a93830d0ea0c71ab649b7e68af0238bd48eb10 Mon Sep 17 00:00:00 2001 -From: Harald Sitter -Date: Thu, 17 Dec 2020 13:45:07 +0100 -Subject: [PATCH 5/5] port from deprecated kjs to qjsengine - -for kf6 todo https://phabricator.kde.org/T11604 - -kjs is deprecated and we want to move away from it. this ports to -qjsengine which does what we need for krename just fine and is also -supported in qt6 still - -all use cases of the js plugin still seem to work fine. variable -definition, function definition and using either in the replacement. -same for the implicit global variables. ---- - CMakeLists.txt | 2 +- - src/CMakeLists.txt | 2 +- - src/scriptplugin.cpp | 55 ++++++++++++++------------------------------ - src/scriptplugin.h | 6 +++-- - 4 files changed, 23 insertions(+), 42 deletions(-) - -diff --git CMakeLists.txt CMakeLists.txt -index 2b39e18..e1673e1 100644 ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -17,7 +17,7 @@ include(FeatureSummary) - include(KDECompilerSettings NO_POLICY_SCOPE) - include(FeatureSummary) - --find_package(Qt5 REQUIRED COMPONENTS Core Widgets) -+find_package(Qt5 REQUIRED COMPONENTS Core Qml Widgets) - find_package(KF5 REQUIRED COMPONENTS - Completion - Config -@@ -27,7 +27,6 @@ find_package(KF5 REQUIRED COMPONENTS - IconThemes - ItemViews - JobWidgets -- JS - KIO - Service - WidgetsAddons -diff --git src/CMakeLists.txt src/CMakeLists.txt -index 3f262b3..bee7378 100644 ---- src/CMakeLists.txt -+++ src/CMakeLists.txt -@@ -128,9 +128,9 @@ target_link_libraries(krename - KF5::KIOCore - KF5::KIOFileWidgets - KF5::I18n -- KF5::JSApi - KF5::IconThemes - Qt5::Widgets -+ Qt5::Qml - ) - if(TAGLIB_FOUND) - target_link_libraries(krename -diff --git src/scriptplugin.cpp src/scriptplugin.cpp -index d7f7125..651e656 100644 ---- src/scriptplugin.cpp -+++ src/scriptplugin.cpp -@@ -18,8 +18,7 @@ - #include - #include - #include -- --#include -+#include - - #include "ui_scriptplugindialog.h" - #include "ui_scriptpluginwidget.h" -@@ -46,7 +45,6 @@ ScriptPlugin::ScriptPlugin(PluginLoader *loader) - { - m_name = i18n("JavaScript Plugin"); - m_icon = "applications-development"; -- m_interpreter = new KJSInterpreter(); - m_menu = new QMenu(); - m_widget = new Ui::ScriptPluginWidget(); - -@@ -65,7 +63,6 @@ ScriptPlugin::~ScriptPlugin() - { - delete m_widget; - delete m_menu; -- delete m_interpreter; - } - - QString ScriptPlugin::processFile(BatchRenamer *b, int index, -@@ -90,13 +87,13 @@ QString ScriptPlugin::processFile(BatchRenamer *b, int index, - // Make sure definitions are executed first - script = definitions + '\n' + script; - -- KJSResult result = m_interpreter->evaluate(script, nullptr); -- if (result.isException()) { -- qDebug("JavaScript Error: %s", result.errorMessage().toUtf8().data()); -+ const QJSValue result = m_engine.evaluate(script); -+ if (result.isError()) { -+ qDebug() << "JavaScript Error:" << result.toString(); - return QString(); - } - -- return result.value().toString(m_interpreter->globalContext()); -+ return result.toString(); - } - - return QString(); -@@ -144,21 +141,11 @@ void ScriptPlugin::createUI(QWidget *parent) const - void ScriptPlugin::initKRenameVars(const KRenameFile &file, int index) - { - // KRename definitions -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- ScriptPlugin::s_pszVarNameIndex, -- index); -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- ScriptPlugin::s_pszVarNameUrl, -- file.srcUrl().url()); -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- ScriptPlugin::s_pszVarNameFilename, -- file.srcFilename()); -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- ScriptPlugin::s_pszVarNameExtension, -- file.srcExtension()); -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- ScriptPlugin::s_pszVarNameDirectory, -- file.srcDirectory()); -+ m_engine.globalObject().setProperty(ScriptPlugin::s_pszVarNameIndex, index); -+ m_engine.globalObject().setProperty(ScriptPlugin::s_pszVarNameUrl, file.srcUrl().url()); -+ m_engine.globalObject().setProperty(ScriptPlugin::s_pszVarNameFilename, file.srcFilename()); -+ m_engine.globalObject().setProperty(ScriptPlugin::s_pszVarNameExtension, file.srcExtension()); -+ m_engine.globalObject().setProperty(ScriptPlugin::s_pszVarNameDirectory, file.srcDirectory()); - - // User definitions, set them only on first file - if (index != 0) { -@@ -178,21 +165,16 @@ void ScriptPlugin::initKRenameVars(const KRenameFile &file, int index) - switch (eVarType) { - default: - case eVarType_String: -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- name, value.toUtf8().data()); -+ m_engine.globalObject().setProperty(name, value); - break; - case eVarType_Int: -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- name, value.toInt()); -+ m_engine.globalObject().setProperty(name, value.toInt()); - break; - case eVarType_Double: -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- name, value.toDouble()); -+ m_engine.globalObject().setProperty(name, value.toDouble()); - break; - case eVarType_Bool: -- m_interpreter->globalObject().setProperty(m_interpreter->globalContext(), -- name, -- (value.toLower() == "true" ? true : false)); -+ m_engine.globalObject().setProperty(name, (value.toLower() == "true" ? true : false)); - break; - } - } -@@ -233,12 +215,9 @@ void ScriptPlugin::slotAdd() - // Build a Java script statement - QString script = name + " = " + value + ';'; - -- KJSInterpreter interpreter; -- KJSResult result = m_interpreter->evaluate(script, nullptr); -- if (result.isException()) { -- KMessageBox::error(m_parent, -- i18n("A JavaScript error has occurred: ") + -- result.errorMessage(), this->name()); -+ const QJSValue result = m_engine.evaluate(script); -+ if (result.isError()) { -+ KMessageBox::error(m_parent, i18n("A JavaScript error has occurred: ") + result.toString(), this->name()); - } else { - QTreeWidgetItem *item = new QTreeWidgetItem(); - item->setText(0, name); -diff --git src/scriptplugin.h src/scriptplugin.h -index 367310b..f91e79b 100644 ---- src/scriptplugin.h -+++ src/scriptplugin.h -@@ -3,9 +3,10 @@ - - #include "plugin.h" - -+#include -+ - class QMenu; - --class KJSInterpreter; - class KRenameFile; - - namespace Ui -@@ -171,7 +173,7 @@ private: - - QStringList m_keys; - QStringList m_help; -- KJSInterpreter *m_interpreter; -+ QJSEngine m_engine; - QWidget *m_parent; - QMenu *m_menu; - --- -2.29.2 - diff --git a/sysutils/krename/files/patch-src_exiv2plugin.cpp b/sysutils/krename/files/patch-src_exiv2plugin.cpp deleted file mode 100644 index 9491f90bdfd8..000000000000 --- a/sysutils/krename/files/patch-src_exiv2plugin.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/exiv2plugin.cpp.orig 2022-08-31 21:22:21 UTC -+++ src/exiv2plugin.cpp -@@ -395,7 +395,7 @@ QString Exiv2Plugin::processFile(BatchRenamer *b, int - std::string strFilename(asc.constData(), asc.length()); - - try { -- Image::AutoPtr image = Exiv2::ImageFactory::open(strFilename); -+ Image::UniquePtr image = Exiv2::ImageFactory::open(strFilename); - if (image.get() != nullptr && image->good()) { - image->readMetadata(); - diff --git a/sysutils/krename/pkg-descr b/sysutils/krename/pkg-descr index 503ad71b722c..bdd95cff3af5 100644 --- a/sysutils/krename/pkg-descr +++ b/sysutils/krename/pkg-descr @@ -1,5 +1,5 @@ -KRename is a powerful batch renamer for KDE. It allows you to easily +KRename is a powerful batch renamer by KDE. It allows you to easily rename hundreds or even more files in one go. The filenames can be created by parts of the original filename, numbering the files or accessing hundreds of informations about the file, like creation date or Exif informations of an image. diff --git a/sysutils/krename/pkg-plist b/sysutils/krename/pkg-plist index 9a6e53c4fdb9..9ca0c8b301de 100644 --- a/sysutils/krename/pkg-plist +++ b/sysutils/krename/pkg-plist @@ -1,45 +1,52 @@ bin/krename share/applications/org.kde.krename.desktop +share/icons/hicolor/128x128/apps/krename.png share/icons/hicolor/16x16/apps/krename.png +share/icons/hicolor/22x22/apps/krename.png share/icons/hicolor/32x32/apps/krename.png share/icons/hicolor/48x48/apps/krename.png -share/kservices5/ServiceMenus/krename_all_nonrec.desktop -share/kservices5/ServiceMenus/krename_dir_rec.desktop +share/kio/servicemenus/krename_all_nonrec.desktop +share/kio/servicemenus/krename_dir_rec.desktop share/locale/ar/LC_MESSAGES/krename.mo -share/locale/ast/LC_MESSAGES/krename.mo share/locale/bs/LC_MESSAGES/krename.mo share/locale/ca/LC_MESSAGES/krename.mo share/locale/ca@valencia/LC_MESSAGES/krename.mo share/locale/cs/LC_MESSAGES/krename.mo share/locale/da/LC_MESSAGES/krename.mo share/locale/de/LC_MESSAGES/krename.mo share/locale/el/LC_MESSAGES/krename.mo share/locale/en_GB/LC_MESSAGES/krename.mo +share/locale/eo/LC_MESSAGES/krename.mo share/locale/es/LC_MESSAGES/krename.mo share/locale/et/LC_MESSAGES/krename.mo share/locale/eu/LC_MESSAGES/krename.mo share/locale/fi/LC_MESSAGES/krename.mo share/locale/fr/LC_MESSAGES/krename.mo +share/locale/ga/LC_MESSAGES/krename.mo share/locale/gl/LC_MESSAGES/krename.mo +share/locale/he/LC_MESSAGES/krename.mo share/locale/hu/LC_MESSAGES/krename.mo share/locale/ia/LC_MESSAGES/krename.mo share/locale/id/LC_MESSAGES/krename.mo share/locale/it/LC_MESSAGES/krename.mo share/locale/ja/LC_MESSAGES/krename.mo +share/locale/ka/LC_MESSAGES/krename.mo share/locale/ko/LC_MESSAGES/krename.mo share/locale/lt/LC_MESSAGES/krename.mo share/locale/nl/LC_MESSAGES/krename.mo share/locale/nn/LC_MESSAGES/krename.mo +share/locale/pa/LC_MESSAGES/krename.mo share/locale/pl/LC_MESSAGES/krename.mo share/locale/pt/LC_MESSAGES/krename.mo share/locale/pt_BR/LC_MESSAGES/krename.mo share/locale/ro/LC_MESSAGES/krename.mo share/locale/ru/LC_MESSAGES/krename.mo share/locale/sk/LC_MESSAGES/krename.mo share/locale/sl/LC_MESSAGES/krename.mo share/locale/sv/LC_MESSAGES/krename.mo share/locale/tr/LC_MESSAGES/krename.mo +share/locale/ug/LC_MESSAGES/krename.mo share/locale/uk/LC_MESSAGES/krename.mo share/locale/zh_CN/LC_MESSAGES/krename.mo share/locale/zh_TW/LC_MESSAGES/krename.mo share/metainfo/org.kde.krename.appdata.xml