diff options
Diffstat (limited to 'kde-misc/krename')
-rw-r--r-- | kde-misc/krename/Manifest | 5 | ||||
-rw-r--r-- | kde-misc/krename/files/krename-5.0.1-no-kjs.patch | 519 | ||||
-rw-r--r-- | kde-misc/krename/krename-5.0.2-r1.ebuild | 59 | ||||
-rw-r--r-- | kde-misc/krename/krename-5.0.2.ebuild | 7 |
4 files changed, 66 insertions, 524 deletions
diff --git a/kde-misc/krename/Manifest b/kde-misc/krename/Manifest index 8fd2b6645330..18473e5243c5 100644 --- a/kde-misc/krename/Manifest +++ b/kde-misc/krename/Manifest @@ -1,4 +1,5 @@ -AUX krename-5.0.1-no-kjs.patch 20279 BLAKE2B 06a3267c03489c06122fccb65b7ce317dca41ac9531f5c3db1b0f315361b2b02ee9877bd9d5920b40339414f7e73c08f723934993254f1f6be0394dddd062dfb SHA512 24ea4270caa76a44132d8412ea7209a436710d8e6a35033a6218451bc71cd94814faf42336390e9f4a41d856d749d7efca424a0922408279e89664c3b6f253e2 +DIST krename-5.0.2-patchset-1.tar.xz 6360 BLAKE2B 69e8b046885be27c77d5d315e994e8b2a31e76ed76f4ea6d030679b83133725cb0577d818841b1f41e566e757f4cbd4e08c1f479bc1d572a8391db47c4a26e8c SHA512 2de0ee19d29dadb50995b0d02e486e8efdbff3d3fda0a3a6ec69f4b5858b4c376b3d33d2018da0cf2333309fe8b4ea58f4de21f6d2864c2c22b60830b5ac9bcf DIST krename-5.0.2.tar.xz 337908 BLAKE2B 2fb7a96ca3f3f3b193d0924dd1131a7442b32149c1f62387734c47680077b6f77e3cf32b940b85d6f688d24f24af08ac39a8ccc86f10f5ec1d65b53fc9631108 SHA512 c065d6de90c43e5297db2773d8569279535b007d3b00b99a252329e78c90dc949678ecd2f2ecaa74e72394fa0e848b8774f6f387d4a7f367b367b1dd38405545 -EBUILD krename-5.0.2.ebuild 1537 BLAKE2B 4bcdbbdd190da8f6472e767adfc38bc7f4915d46f262f8fb4e7c9412dc513c615434d57b971be3c507f480ab9e6ca89fb6cd729680c06fd0de98a0e656c89c87 SHA512 620ee01a89535c5afeac2e123e14ce91548408fcdc394ca66e0df5ac0add4a76fb8f338efb48b8b11a64083c94bd36a264bbf7612bb9302def309d317da2ea70 +EBUILD krename-5.0.2-r1.ebuild 1618 BLAKE2B 5925e46d5921fc2f5f797e75b4a90262e49f6a3a22a80513986b81ae933024d871db8ee71367aff6b3b7d31faa65be1f1434aef5f576eeb5d30b86f3767d4cad SHA512 7a5f2b3f2b8e08f197d4fe3eef843339b55c861d6b31c2f6674870f4f08cf7f20471bcee36067c2b99ca8f46b49b822e12e86aa9fc3bb8786ebf03ffbc73a2e1 +EBUILD krename-5.0.2.ebuild 1625 BLAKE2B 6c0eb982652d67261fec1327093fa27cb3661fec64f15892c0658938041816eca0e579f94faff3c09a179ed37c8675f39179d006a0da5018600ff7a6c5ef51de SHA512 9c10a22507a4bcfce7454fe428c1ca4992745ecc500af806356292119c1f348ee62e988a4c5df95f1df790b2034d97fb8d3ce3a6f3c825979e3d9d97bcb3dac3 MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6 diff --git a/kde-misc/krename/files/krename-5.0.1-no-kjs.patch b/kde-misc/krename/files/krename-5.0.1-no-kjs.patch deleted file mode 100644 index f4b7eb786890..000000000000 --- a/kde-misc/krename/files/krename-5.0.1-no-kjs.patch +++ /dev/null @@ -1,519 +0,0 @@ -From 407b612a93128b9f935a686d5ff82c7ee06087f5 Mon Sep 17 00:00:00 2001 -From: Harald Sitter <sitter@kde.org> -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 b/src/scriptplugin.cpp -index 0790fd4..8f4b11e 100644 ---- a/src/scriptplugin.cpp -+++ b/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<EVarType>(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<EVarType>(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 <sitter@kde.org> -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 a/src/scriptplugin.cpp b/src/scriptplugin.cpp -index 8f4b11e..fec61e7 100644 ---- a/src/scriptplugin.cpp -+++ b/src/scriptplugin.cpp -@@ -28,7 +28,6 @@ - #include <QTemporaryFile> - #include <QFile> - #include <QMenu> --#include <QPointer> - #include <QTextStream> - #include <QVariant> - #include <QFileDialog> -@@ -228,7 +227,7 @@ void ScriptPlugin::slotEnableControls() - - void ScriptPlugin::slotAdd() - { -- QPointer<QDialog> 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 <sitter@kde.org> -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 a/src/scriptplugin.cpp b/src/scriptplugin.cpp -index fec61e7..1933bc6 100644 ---- a/src/scriptplugin.cpp -+++ b/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 <sitter@kde.org> - ***************************************************************************/ - - /*************************************************************************** -@@ -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 <sitter@kde.org> -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 a/src/previewlist.cpp b/src/previewlist.cpp -index df8097b..0d3ccb6 100644 ---- a/src/previewlist.cpp -+++ b/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 a/src/progressdialog.cpp b/src/progressdialog.cpp -index 4eaaf1a..d217614 100644 ---- a/src/progressdialog.cpp -+++ b/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 a/src/scriptplugin.cpp b/src/scriptplugin.cpp -index 1933bc6..46b27ca 100644 ---- a/src/scriptplugin.cpp -+++ b/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 <sitter@kde.org> -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 a/CMakeLists.txt b/CMakeLists.txt -index 2b39e18..e1673e1 100644 ---- a/CMakeLists.txt -+++ b/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 a/src/CMakeLists.txt b/src/CMakeLists.txt -index 3f262b3..bee7378 100644 ---- a/src/CMakeLists.txt -+++ b/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 a/src/scriptplugin.cpp b/src/scriptplugin.cpp -index d7f7125..651e656 100644 ---- a/src/scriptplugin.cpp -+++ b/src/scriptplugin.cpp -@@ -18,8 +18,7 @@ - #include <QTextStream> - #include <QVariant> - #include <QFileDialog> -- --#include <kjs/kjsinterpreter.h> -+#include <QDebug> - - #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 a/src/scriptplugin.h b/src/scriptplugin.h -index 367310b..f91e79b 100644 ---- a/src/scriptplugin.h -+++ b/src/scriptplugin.h -@@ -3,9 +3,10 @@ - - #include "plugin.h" - -+#include <QJSEngine> -+ - 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/kde-misc/krename/krename-5.0.2-r1.ebuild b/kde-misc/krename/krename-5.0.2-r1.ebuild new file mode 100644 index 000000000000..5b56a51b4fe9 --- /dev/null +++ b/kde-misc/krename/krename-5.0.2-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_TEST="true" +KFMIN=5.82.0 +QTMIN=5.15.5 +inherit ecm kde.org + +DESCRIPTION="Powerful batch file renamer" +HOMEPAGE="https://apps.kde.org/krename/ https://userbase.kde.org/KRename" + +if [[ ${KDE_BUILD_TYPE} != live ]]; then + SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz + https://dev.gentoo.org/~asturm/distfiles/${P}-patchset-1.tar.xz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="5" +IUSE="exif pdf taglib truetype" + +DEPEND=" + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + >=dev-qt/qtxml-${QTMIN}:5 + >=kde-frameworks/kcompletion-${KFMIN}:5 + >=kde-frameworks/kconfig-${KFMIN}:5 + >=kde-frameworks/kcoreaddons-${KFMIN}:5 + >=kde-frameworks/kcrash-${KFMIN}:5 + >=kde-frameworks/ki18n-${KFMIN}:5 + >=kde-frameworks/kiconthemes-${KFMIN}:5 + >=kde-frameworks/kio-${KFMIN}:5 + >=kde-frameworks/kitemviews-${KFMIN}:5 + >=kde-frameworks/kjobwidgets-${KFMIN}:5 + >=kde-frameworks/kservice-${KFMIN}:5 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:5 + >=kde-frameworks/kxmlgui-${KFMIN}:5 + exif? ( media-gfx/exiv2:= ) + pdf? ( app-text/podofo:= ) + taglib? ( media-libs/taglib ) + truetype? ( media-libs/freetype:2 ) +" +RDEPEND="${DEPEND}" +BDEPEND="sys-devel/gettext" + +PATCHES=( "${WORKDIR}/${P}-patchset-1" ) # upstream, git master + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package exif LibExiv2) + $(cmake_use_find_package pdf PoDoFo) + $(cmake_use_find_package taglib Taglib) + $(cmake_use_find_package truetype Freetype) + ) + ecm_src_configure +} diff --git a/kde-misc/krename/krename-5.0.2.ebuild b/kde-misc/krename/krename-5.0.2.ebuild index 632cc5cb2f25..8f13ce26b5db 100644 --- a/kde-misc/krename/krename-5.0.2.ebuild +++ b/kde-misc/krename/krename-5.0.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,7 +12,8 @@ DESCRIPTION="Powerful batch file renamer" HOMEPAGE="https://apps.kde.org/krename/ https://userbase.kde.org/KRename" if [[ ${KDE_BUILD_TYPE} != live ]]; then - SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz" + SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz + https://dev.gentoo.org/~asturm/distfiles/${P}-patchset-1.tar.xz" KEYWORDS="amd64 ~arm64 x86" fi @@ -45,7 +46,7 @@ DEPEND=" RDEPEND="${DEPEND}" BDEPEND="sys-devel/gettext" -PATCHES=( "${FILESDIR}/${PN}-5.0.1-no-kjs.patch" ) +PATCHES=( "${WORKDIR}/${PN}-5.0.2-patchset-1/${PN}-5.0.1-no-kjs.patch" ) src_configure() { local mycmakeargs=( |