From c6b7fdebde2b08051a7c6b1c78d15c25907ba91b Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Fri, 14 Feb 2020 10:54:29 +0900 Subject: [PATCH] Fixed handling of RMC -> Actions -> Open terminal here. Signed-off-by: Michele Calgaro (cherry picked from commit d4b559f91838a9d3e63c1aed0b3960dca4e4df14) --- konsole/CMakeLists.txt | 3 +- konsole/Makefile.am | 6 +- ...nsolehere.desktop => terminalhere.desktop} | 41 +----------- konsole/terminalhere/CMakeLists.txt | 27 ++++++++ konsole/terminalhere/Makefile.am | 10 +++ konsole/terminalhere/terminalhere.cpp | 66 +++++++++++++++++++ konsole/terminalhere/terminalhere.h | 31 +++++++++ 7 files changed, 142 insertions(+), 42 deletions(-) rename konsole/{konsolehere.desktop => terminalhere.desktop} (80%) create mode 100644 konsole/terminalhere/CMakeLists.txt create mode 100644 konsole/terminalhere/Makefile.am create mode 100644 konsole/terminalhere/terminalhere.cpp create mode 100644 konsole/terminalhere/terminalhere.h diff --git a/konsole/CMakeLists.txt b/konsole/CMakeLists.txt index 65f2e1715..b0059acbe 100644 --- a/konsole/CMakeLists.txt +++ b/konsole/CMakeLists.txt @@ -15,6 +15,7 @@ add_subdirectory( konsole ) add_subdirectory( other ) # add_subdirectory( doc ) add_subdirectory( fonts ) +add_subdirectory( terminalhere ) install( FILES @@ -48,7 +49,7 @@ install( FILES install( FILES - konsolehere.desktop + terminalhere.desktop DESTINATION ${DATA_INSTALL_DIR}/konqueror/servicemenus ) diff --git a/konsole/Makefile.am b/konsole/Makefile.am index cb5fccb8e..c6003d034 100644 --- a/konsole/Makefile.am +++ b/konsole/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = konsole other doc fonts +SUBDIRS = konsole other doc fonts terminalhere xdg_apps_DATA = konsole.desktop konsolesu.desktop @@ -15,8 +15,8 @@ services_DATA = kwrited.desktop install-data-local: @-rm -f $(DESTDIR)$(datadir)/autostart/kwrited.desktop -konsolehere_DATA = konsolehere.desktop -konsoleheredir = $(kde_datadir)/konqueror/servicemenus +terminalhere_DATA = terminalhere.desktop +terminalheredir = $(kde_datadir)/konqueror/servicemenus misc_DATA = eventsrc tips miscdir = $(kde_datadir)/konsole diff --git a/konsole/konsolehere.desktop b/konsole/terminalhere.desktop similarity index 80% rename from konsole/konsolehere.desktop rename to konsole/terminalhere.desktop index 5bf32424a..00657f7bb 100644 --- a/konsole/konsolehere.desktop +++ b/konsole/terminalhere.desktop @@ -3,44 +3,11 @@ X-TDE-ServiceTypes=inode/directory Actions=openTerminalHere; X-TDE-AuthorizeAction=shell_access Type=Application - -Name=Konsole -Name[ar]=طرفية التحكم -Name[az]=Konsol -Name[be]=Кансоль -Name[bg]=Конзола -Name[bn]=কনসোল -Name[bs]=Konzola -Name[ca]=Consola -Name[csb]=Kònsola -Name[el]=Κονσόλα -Name[eo]=Konzolo -Name[et]=Konsool -Name[eu]=Kontsola -Name[he]=מסוף -Name[hi]=कंसोल -Name[hr]=Konzola -Name[is]=Skjáhermir -Name[ka]=კონსოლი -Name[lo]=ຄອນໂຊລ - K -Name[mk]=Конзола -Name[mn]=Консол -Name[nb]=Konsoll -Name[ne]=कन्सोल -Name[nn]=Konsoll -Name[pa]=ਕੰਨਸੋਲ -Name[pl]=Konsola -Name[ro]=Consolă -Name[se]=Konsolla -Name[sk]=Konzola -Name[sl]=Konzola -Name[ta]=கான்சோல் -Name[te]=కాన్సోల్ -Name[tg]=Консол -Name[th]=คอนโซล K -Name[zu]=Ikhonsoli +Name=Terminal [Desktop Action openTerminalHere] +Icon=konsole +Exec=terminalhere --wd %f Name=Open Terminal Here Name[af]=Maak Terminaal Hier Oop Name[ar]=إفتح مطراف سطر الأوامر هنا @@ -121,5 +88,3 @@ Name[xh]=Vula Isiphelo Sendlela Apha Name[zh_CN]=在此打开终端 Name[zh_TW]=在這裡開啟終端機 Name[zu]=Vula ithuluzi langaphandle lapha -Icon=konsole -Exec=konsole --workdir %f diff --git a/konsole/terminalhere/CMakeLists.txt b/konsole/terminalhere/CMakeLists.txt new file mode 100644 index 000000000..fbd0f198d --- /dev/null +++ b/konsole/terminalhere/CMakeLists.txt @@ -0,0 +1,27 @@ + +##### config ######## + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### terminalhere (executable) ######## + +set( target terminalhere ) + +set( ${target}_SRCS + terminalhere.cpp +) + +tde_add_executable( ${target} AUTOMOC + SOURCES ${${target}_SRCS} + LINK tdeio-shared + DESTINATION ${BIN_INSTALL_DIR} +) diff --git a/konsole/terminalhere/Makefile.am b/konsole/terminalhere/Makefile.am new file mode 100644 index 000000000..8e6c53063 --- /dev/null +++ b/konsole/terminalhere/Makefile.am @@ -0,0 +1,10 @@ +bin_PROGRAMS = terminalhere + +INCLUDES = $(all_includes) +AM_LDFLAGS = $(all_libraries) + +terminalhere_SOURCES = terminalhere.cpp +terminalhere_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_TQT) $(LIB_TDEIO) + +METASOURCES = AUTO + diff --git a/konsole/terminalhere/terminalhere.cpp b/konsole/terminalhere/terminalhere.cpp new file mode 100644 index 000000000..ece2ac30e --- /dev/null +++ b/konsole/terminalhere/terminalhere.cpp @@ -0,0 +1,66 @@ +/* This file is part of the TDE project + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "terminalhere.h" + + +TerminalHere::TerminalHere() : TDEApplication() +{ + TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs(); + + TDEConfig *config = kapp->config(); + config->setGroup("General"); + TQString term = config->readPathEntry("TerminalApplication", "konsole"); + + TDEProcess proc; + proc << term; + if (args->isSet("wd")) + { + proc.setWorkingDirectory(args->getOption("wd")); + } + proc.start(TDEProcess::DontCare); + ::exit(0); +} + +static TDECmdLineOptions options[] = +{ + { "wd ", I18N_NOOP("Set working directory to 'dir'"), 0 }, + TDECmdLineLastOption +}; + +int main(int argc, char **argv) +{ + TDECmdLineArgs::init(argc, argv, "terminalhere", "terminalhere", "terminalhere", "0.1"); + TDECmdLineArgs::addCmdLineOptions(options); + TDEApplication::addCmdLineOptions(); + TDEApplication *app = new TerminalHere(); + + TDEStartupInfo::appStarted(); + return app->exec(); +} + +#include "terminalhere.moc" diff --git a/konsole/terminalhere/terminalhere.h b/konsole/terminalhere/terminalhere.h new file mode 100644 index 000000000..690e3e4ff --- /dev/null +++ b/konsole/terminalhere/terminalhere.h @@ -0,0 +1,31 @@ +/* This file is part of the TDE project + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef _TERMINALHERE_H_ +#define _TERMINALHERE_H_ + +#include + + +class TerminalHere : public TDEApplication +{ +public: + TerminalHere(); +}; + +#endif