summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2020-02-14 10:54:29 +0900
committerMichele Calgaro <[email protected]>2020-02-16 18:40:43 +0900
commitc6b7fdebde2b08051a7c6b1c78d15c25907ba91b (patch)
treea51ab34e8dd55918f9eb0fff53fdeafbad2f12a4
parentb48f7462dac62db1860f2bee228fdee946601451 (diff)
downloadtdebase-c6b7fdebde2b08051a7c6b1c78d15c25907ba91b.tar.gz
tdebase-c6b7fdebde2b08051a7c6b1c78d15c25907ba91b.zip
Fixed handling of RMC -> Actions -> Open terminal here.
Signed-off-by: Michele Calgaro <[email protected]> (cherry picked from commit d4b559f91838a9d3e63c1aed0b3960dca4e4df14)
-rw-r--r--konsole/CMakeLists.txt3
-rw-r--r--konsole/Makefile.am6
-rw-r--r--konsole/terminalhere.desktop (renamed from konsole/konsolehere.desktop)41
-rw-r--r--konsole/terminalhere/CMakeLists.txt27
-rw-r--r--konsole/terminalhere/Makefile.am10
-rw-r--r--konsole/terminalhere/terminalhere.cpp66
-rw-r--r--konsole/terminalhere/terminalhere.h31
7 files changed, 142 insertions, 42 deletions
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
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 <tdecmdlineargs.h>
+#include <tdeapplication.h>
+#include <tdelocale.h>
+#include <tdeconfig.h>
+#include <tdeglobal.h>
+#include <kprocess.h>
+#include <tdestartupinfo.h>
+#include <stdlib.h>
+
+#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 <dir>", 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 <tdeapplication.h>
+
+
+class TerminalHere : public TDEApplication
+{
+public:
+ TerminalHere();
+};
+
+#endif