From 4c61c9a9d43f251d5a18bc95c03f097a06352521 Mon Sep 17 00:00:00 2001 From: Martchus Date: Thu, 14 Jan 2016 23:53:28 +0100 Subject: [PATCH] allow launching renaming utility separately --- CMakeLists.txt | 4 ++++ application/main.cpp | 7 ++++++- gui/initiate.cpp | 20 +++++++++++++------ gui/initiate.h | 2 +- .../desktop/applications/tageditor.desktop | 2 +- tageditor.pro | 9 ++++++--- 6 files changed, 32 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 661f200..8865b57 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -195,6 +195,10 @@ install(FILES resources/desktop/applications/${META_PROJECT_NAME}.desktop DESTINATION share/applications COMPONENT desktop ) +install(FILES resources/desktop/applications/${META_PROJECT_NAME}-renamingutility.desktop + DESTINATION share/applications + COMPONENT desktop +) install(FILES ${QM_FILES} DESTINATION share/${META_PROJECT_NAME}/translations COMPONENT localization diff --git a/application/main.cpp b/application/main.cpp index d3834b0..39a05a6 100644 --- a/application/main.cpp +++ b/application/main.cpp @@ -176,14 +176,19 @@ int main(int argc, char *argv[]) remBackupFilesArg.setValueNames({"directory"}); remBackupFilesArg.setRequiredValueCount(1); remBackupFilesArg.setSecondaryArguments({&recursiveArg}); + // renaming utility + Argument renamingUtilityArg("renaming-utility", string(), "launches the renaming utility instead of the main GUI"); + renamingUtilityArg.setCombinable(true); + // set arguments to parser qtConfigArgs.qtWidgetsGuiArg().addSecondaryArgument(&filesArg); + qtConfigArgs.qtWidgetsGuiArg().addSecondaryArgument(&renamingUtilityArg); parser.setMainArguments({&printFieldNamesArg, &displayFileInfoArg, &displayTagInfoArg, &setTagInfoArgs.setTagInfoArg, &extractFieldArg, &genInfoArg, &remBackupFilesArg, &qtConfigArgs.qtWidgetsGuiArg(), &helpArg}); // parse given arguments try { parser.parseArgs(argc, argv); if(qtConfigArgs.areQtGuiArgsPresent()) { #ifdef GUI_QTWIDGETS - return QtGui::runWidgetsGui(argc, argv, qtConfigArgs, filesArg.values().empty() ? QString() : QString::fromLocal8Bit(filesArg.values().front().data())); + return QtGui::runWidgetsGui(argc, argv, qtConfigArgs, filesArg.values().empty() ? QString() : QString::fromLocal8Bit(filesArg.values().front().data()), renamingUtilityArg.isPresent()); #else CMD_UTILS_START_CONSOLE; cout << "Application has not been build with Qt widgets GUI support." << endl; diff --git a/gui/initiate.cpp b/gui/initiate.cpp index 18cce35..cc3afd9 100644 --- a/gui/initiate.cpp +++ b/gui/initiate.cpp @@ -1,5 +1,6 @@ #include "./initiate.h" #include "./mainwindow.h" +#include "./renamefilesdialog.h" #include "../application/settings.h" @@ -17,7 +18,7 @@ using namespace ApplicationUtilities; namespace QtGui { -int runWidgetsGui(int argc, char *argv[], const QtConfigArguments &qtConfigArgs, const QString &path) +int runWidgetsGui(int argc, char *argv[], const QtConfigArguments &qtConfigArgs, const QString &path, bool launchRenamingUtility) { SET_QT_APPLICATION_INFO; QApplication a(argc, argv); @@ -27,12 +28,19 @@ int runWidgetsGui(int argc, char *argv[], const QtConfigArguments &qtConfigArgs, qtConfigArgs.applySettings(); LOAD_QT_TRANSLATIONS; Settings::restore(); - MainWindow w; - w.show(); - if(!path.isEmpty()) { - w.startParsing(path, true); + int res; + if(launchRenamingUtility) { + RenameFilesDialog w; + w.show(); + res = a.exec(); + } else { + MainWindow w; + w.show(); + if(!path.isEmpty()) { + w.startParsing(path, true); + } + res = a.exec(); } - int res = a.exec(); Settings::save(); // cleanup resources QtUtilitiesResources::cleanup(); diff --git a/gui/initiate.h b/gui/initiate.h index c62237c..403aa95 100644 --- a/gui/initiate.h +++ b/gui/initiate.h @@ -11,7 +11,7 @@ class QtConfigArguments; namespace QtGui { -int runWidgetsGui(int argc, char *argv[], const ApplicationUtilities::QtConfigArguments &qtConfigArgs, const QString &path); +int runWidgetsGui(int argc, char *argv[], const ApplicationUtilities::QtConfigArguments &qtConfigArgs, const QString &path, bool launchRenamingUtility = false); } diff --git a/resources/desktop/applications/tageditor.desktop b/resources/desktop/applications/tageditor.desktop index 4dc2467..0a356a2 100644 --- a/resources/desktop/applications/tageditor.desktop +++ b/resources/desktop/applications/tageditor.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Name=Tag Editor GenericName=Tag editor -Comment=A tag editing utility supporting ID3 and iTunes tags. +Comment=A tag editing utility supporting ID3, Vorbis, MP4 (iTunes style) and Matroska tags. Exec=tageditor Icon=tageditor Terminal=false diff --git a/tageditor.pro b/tageditor.pro index 1f1fb83..90fd437 100644 --- a/tageditor.pro +++ b/tageditor.pro @@ -115,8 +115,9 @@ RESOURCES += \ resources/icons.qrc \ resources/scripts.qrc -TRANSLATIONS = translations/tageditor_en_US.ts \ - translations/tageditor_de_DE.ts +TRANSLATIONS = \ + translations/tageditor_en_US.ts \ + translations/tageditor_de_DE.ts OTHER_FILES += \ README.md \ @@ -152,6 +153,8 @@ INSTALLS += target icon.files = $${PWD}/resources/icons/hicolor/scalable/apps/$${projectname}.svg INSTALLS += icon menu.path = $$(INSTALL_ROOT)/share/applications/ - menu.files = $${PWD}/resources/desktop/applications/$${projectname}.desktop + menu.files = \ + $${PWD}/resources/desktop/applications/$${projectname}.desktop \ + $${PWD}/resources/desktop/applications/$${projectname}-renamingutility.desktop INSTALLS += menu }