Compare commits
10 Commits
e1a24c6490
...
f1dd5d0839
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f1dd5d0839 | ||
|
|
21f41e539b | ||
|
|
c95ffda554 | ||
|
|
7ff35371c3 | ||
|
|
9983809a2e | ||
|
|
f25d08d183 | ||
|
|
88f178e9e5 | ||
|
|
e18d482057 | ||
|
|
2d30bb53cb | ||
|
|
123d651872 |
36
README.en.md
36
README.en.md
@ -1,36 +0,0 @@
|
|||||||
# deepin-terminal
|
|
||||||
|
|
||||||
#### Description
|
|
||||||
deepin terminal
|
|
||||||
|
|
||||||
#### Software Architecture
|
|
||||||
Software architecture description
|
|
||||||
|
|
||||||
#### Installation
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### Instructions
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### Contribution
|
|
||||||
|
|
||||||
1. Fork the repository
|
|
||||||
2. Create Feat_xxx branch
|
|
||||||
3. Commit your code
|
|
||||||
4. Create Pull Request
|
|
||||||
|
|
||||||
|
|
||||||
#### Gitee Feature
|
|
||||||
|
|
||||||
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
|
||||||
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
|
||||||
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
|
||||||
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
|
||||||
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
|
||||||
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
|
||||||
37
README.md
37
README.md
@ -1,37 +0,0 @@
|
|||||||
# deepin-terminal
|
|
||||||
|
|
||||||
#### 介绍
|
|
||||||
deepin terminal
|
|
||||||
|
|
||||||
#### 软件架构
|
|
||||||
软件架构说明
|
|
||||||
|
|
||||||
|
|
||||||
#### 安装教程
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### 使用说明
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### 参与贡献
|
|
||||||
|
|
||||||
1. Fork 本仓库
|
|
||||||
2. 新建 Feat_xxx 分支
|
|
||||||
3. 提交代码
|
|
||||||
4. 新建 Pull Request
|
|
||||||
|
|
||||||
|
|
||||||
#### 码云特技
|
|
||||||
|
|
||||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
|
||||||
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
|
|
||||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
|
|
||||||
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
|
|
||||||
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
|
||||||
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
|
||||||
Binary file not shown.
BIN
deepin-terminal-5.9.42.tar.gz
Normal file
BIN
deepin-terminal-5.9.42.tar.gz
Normal file
Binary file not shown.
@ -1,13 +1,18 @@
|
|||||||
|
%define specrelease 1%{?dist}
|
||||||
|
%if 0%{?openeuler}
|
||||||
|
%define specrelease 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%define libname libqtermwidget5
|
%define libname libqtermwidget5
|
||||||
|
|
||||||
Name: deepin-terminal
|
Name: deepin-terminal
|
||||||
Version: 5.2.36
|
Version: 5.9.42
|
||||||
Release: 2
|
Release: %{specrelease}
|
||||||
Summary: Default terminal emulation application for Deepin
|
Summary: Default terminal emulation application for Deepin
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: https://github.com/linuxdeepin/%{name}
|
URL: https://github.com/linuxdeepin/%{name}
|
||||||
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
|
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||||
Patch0: fix-qtbase-QLatin1String-QLatin1Char.patch
|
#Patch0: 0001-fix-qtbase-QLatin1String-QLatin1Char.patch
|
||||||
|
|
||||||
Provides: deepin-terminal-data
|
Provides: deepin-terminal-data
|
||||||
Obsoletes: deepin-terminal-data
|
Obsoletes: deepin-terminal-data
|
||||||
@ -18,6 +23,7 @@ BuildRequires: qt5-linguist
|
|||||||
|
|
||||||
BuildRequires: dtkcore-devel
|
BuildRequires: dtkcore-devel
|
||||||
BuildRequires: dtkwidget-devel
|
BuildRequires: dtkwidget-devel
|
||||||
|
BuildRequires: dtkcommon-devel
|
||||||
BuildRequires: pkgconfig(dtkgui)
|
BuildRequires: pkgconfig(dtkgui)
|
||||||
BuildRequires: pkgconfig(dframeworkdbus)
|
BuildRequires: pkgconfig(dframeworkdbus)
|
||||||
BuildRequires: pkgconfig(gobject-2.0)
|
BuildRequires: pkgconfig(gobject-2.0)
|
||||||
@ -29,8 +35,17 @@ BuildRequires: pkgconfig(Qt5Core)
|
|||||||
BuildRequires: pkgconfig(Qt5Gui)
|
BuildRequires: pkgconfig(Qt5Gui)
|
||||||
BuildRequires: pkgconfig(Qt5DBus)
|
BuildRequires: pkgconfig(Qt5DBus)
|
||||||
BuildRequires: pkgconfig(Qt5Network)
|
BuildRequires: pkgconfig(Qt5Network)
|
||||||
BuildRequires: lxqt-build-tools
|
BuildRequires: pkgconfig(Qt5X11Extras)
|
||||||
|
BuildRequires: lxqt-build-tools >= 0.6.0~
|
||||||
|
BuildRequires: utf8proc-devel
|
||||||
|
BuildRequires: gtest-devel
|
||||||
|
BuildRequires: gmock-devel
|
||||||
BuildRequires: qt5-qtbase-private-devel
|
BuildRequires: qt5-qtbase-private-devel
|
||||||
|
BuildRequires: xcb-util-wm-devel
|
||||||
|
BuildRequires: dde-qt-dbus-factory-devel
|
||||||
|
BuildRequires: libchardet-devel
|
||||||
|
BuildRequires: uchardet-devel
|
||||||
|
BuildRequires: libicu-devel
|
||||||
|
|
||||||
Requires: libqtermwidget5
|
Requires: libqtermwidget5
|
||||||
Requires: libqtermwidget5-data
|
Requires: libqtermwidget5-data
|
||||||
@ -51,6 +66,7 @@ built-in console or terminal emulation widget.
|
|||||||
|
|
||||||
%package -n %{libname}-devel
|
%package -n %{libname}-devel
|
||||||
Summary: Terminal emulator widget for Qt 5
|
Summary: Terminal emulator widget for Qt 5
|
||||||
|
Requires: deepin-terminal
|
||||||
%description -n %{libname}-devel
|
%description -n %{libname}-devel
|
||||||
Terminal emulator widget for Qt 5 (shared libraries)
|
Terminal emulator widget for Qt 5 (shared libraries)
|
||||||
QTermWidget is a Unicode-enabled, embeddable Qt widget that can be used as
|
QTermWidget is a Unicode-enabled, embeddable Qt widget that can be used as
|
||||||
@ -67,6 +83,8 @@ built-in console or terminal emulation widget.
|
|||||||
%prep
|
%prep
|
||||||
%autosetup -p1
|
%autosetup -p1
|
||||||
|
|
||||||
|
sed -i 's|OWNER_EXECUTE|OWNER_EXECUTE OWNER_WRITE|' CMakeLists.txt
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# help find (and prefer) qt5 utilities, e.g. qmake, lrelease
|
# help find (and prefer) qt5 utilities, e.g. qmake, lrelease
|
||||||
export PATH=%{_qt5_bindir}:$PATH
|
export PATH=%{_qt5_bindir}:$PATH
|
||||||
@ -79,7 +97,6 @@ popd
|
|||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install -C build INSTALL_ROOT="%buildroot"
|
%make_install -C build INSTALL_ROOT="%buildroot"
|
||||||
rm %buildroot/%{getenv:HOME}/.config/deepin/%{name}/install_flag
|
|
||||||
|
|
||||||
%post -n %{libname}
|
%post -n %{libname}
|
||||||
ldconfig
|
ldconfig
|
||||||
@ -94,6 +111,7 @@ ldconfig
|
|||||||
%{_datadir}/%{name}/translations/*.qm
|
%{_datadir}/%{name}/translations/*.qm
|
||||||
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
|
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
|
||||||
%{_datadir}/applications/%{name}.desktop
|
%{_datadir}/applications/%{name}.desktop
|
||||||
|
%{_datadir}/deepin-manual/manual-assets/application/deepin-terminal/terminal/
|
||||||
|
|
||||||
%files -n %{libname}
|
%files -n %{libname}
|
||||||
%{_libdir}/libterminalwidget5.so.0.14.1
|
%{_libdir}/libterminalwidget5.so.0.14.1
|
||||||
@ -114,6 +132,21 @@ ldconfig
|
|||||||
%{_datadir}/terminalwidget5/translations/*.qm
|
%{_datadir}/terminalwidget5/translations/*.qm
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 24 2023 leeffo <liweiganga@uniontech.com> - 5.9.42-1
|
||||||
|
- upgrade to version 5.9.42
|
||||||
|
|
||||||
|
* Mon Apr 10 2023 liweiganga <liwieganga@uniontech.com> - 5.4.37-1
|
||||||
|
- update: update to 5.4.37
|
||||||
|
|
||||||
|
* Fri Apr 07 2023 yangxianzhao <yangxianzhao@unionteh.com> - 5.4.8-3
|
||||||
|
- Fix abnormal display during terminal screen splitting(issue:I6QJXY)
|
||||||
|
|
||||||
|
* Fri Dec 02 2022 liweiganga <liwieganga@uniontech.com> - 5.4.8-2
|
||||||
|
- chore: fix issue:I6446Z
|
||||||
|
|
||||||
|
* Tue Jul 19 2022 konglidong <konglidong@uniontech.com> - 5.4.8-1
|
||||||
|
- update to 5.4.8
|
||||||
|
|
||||||
* Tue Feb 08 2022 liweigang <liweiganga@uniontech.com> - 5.2.36-2
|
* Tue Feb 08 2022 liweigang <liweiganga@uniontech.com> - 5.2.36-2
|
||||||
- fix build error
|
- fix build error
|
||||||
|
|
||||||
@ -122,4 +155,3 @@ ldconfig
|
|||||||
|
|
||||||
* Thu Jul 30 2020 openEuler Buildteam <buildteam@openeuler.org> - 5.0.4.1-1
|
* Thu Jul 30 2020 openEuler Buildteam <buildteam@openeuler.org> - 5.0.4.1-1
|
||||||
- Package init
|
- Package init
|
||||||
|
|
||||||
|
|||||||
@ -1,304 +0,0 @@
|
|||||||
diff --color -Naur a/3rdparty/terminalwidget/lib/Filter.cpp b/3rdparty/terminalwidget/lib/Filter.cpp
|
|
||||||
--- a/3rdparty/terminalwidget/lib/Filter.cpp 2022-02-08 16:21:57.110358654 +0800
|
|
||||||
+++ b/3rdparty/terminalwidget/lib/Filter.cpp 2022-02-09 09:50:21.961364713 +0800
|
|
||||||
@@ -139,7 +139,7 @@
|
|
||||||
bool isContainOtherPromptEnd(QString promptLine, QString currPromptEnd)
|
|
||||||
{
|
|
||||||
//四不同类型的提示符结尾字符
|
|
||||||
- QString promptEnds = QString("$#%>");
|
|
||||||
+ QString promptEnds = QString(QLatin1String("$#%>"));
|
|
||||||
promptEnds.remove(currPromptEnd);
|
|
||||||
|
|
||||||
for (int i=0; i<promptEnds.length(); i++)
|
|
||||||
@@ -178,7 +178,7 @@
|
|
||||||
QTextStream lineStream(_buffer);
|
|
||||||
decoder.begin(&lineStream);
|
|
||||||
|
|
||||||
- QString lastLine = "";
|
|
||||||
+ QString lastLine = QLatin1String("");
|
|
||||||
for (int i = 0 ; i < lines ; i++) {
|
|
||||||
_linePositions->append(_buffer->length());
|
|
||||||
decoder.decodeLine(image + i * columns, columns, LINE_DEFAULT);
|
|
||||||
@@ -208,7 +208,7 @@
|
|
||||||
if (lastLine.length() > 0) {
|
|
||||||
//优化了截取并保存当前shell提示符的判断,暂时没有考虑PS1被修改的情况(若考虑的话实现起来太复杂)
|
|
||||||
//目前针对sh/bash/csh/tcsh/ksh/zsh这几种类型的shell做了处理
|
|
||||||
- QString promptEnds = QString("$#%>");
|
|
||||||
+ QString promptEnds = QString(QLatin1String("$#%>"));
|
|
||||||
for (int i=0; i<promptEnds.length(); i++) {
|
|
||||||
QString promptEnd = promptEnds.at(i);
|
|
||||||
|
|
||||||
@@ -223,15 +223,15 @@
|
|
||||||
|
|
||||||
QString strShellPrompt = SessionManager::instance()->getCurrShellPrompt(_sessionId);
|
|
||||||
|
|
||||||
- bool isRootUser = strShellPrompt.endsWith("#");
|
|
||||||
+ bool isRootUser = strShellPrompt.endsWith(QLatin1String("#"));
|
|
||||||
|
|
||||||
QString strCurrBuffer = (*_buffer).trimmed();
|
|
||||||
if (strCurrBuffer.length() > 0) {
|
|
||||||
//获取并保存当前正在输入的命令
|
|
||||||
if (isRootUser) {
|
|
||||||
QString strCommand = strCurrBuffer.split(strShellPrompt).last();
|
|
||||||
- if (!strCommand.contains("sudo ")) {
|
|
||||||
- strCommand = QString("sudo %1").arg(strCommand);
|
|
||||||
+ if (!strCommand.contains(QLatin1String("sudo "))) {
|
|
||||||
+ strCommand = QString(QLatin1String("sudo %1")).arg(strCommand);
|
|
||||||
}
|
|
||||||
SessionManager::instance()->saveCurrShellCommand(_sessionId, strCommand);
|
|
||||||
} else {
|
|
||||||
diff --color -Naur a/3rdparty/terminalwidget/lib/HistorySearch.cpp b/3rdparty/terminalwidget/lib/HistorySearch.cpp
|
|
||||||
--- a/3rdparty/terminalwidget/lib/HistorySearch.cpp 2022-02-08 16:21:57.110358654 +0800
|
|
||||||
+++ b/3rdparty/terminalwidget/lib/HistorySearch.cpp 2022-02-09 10:43:27.025143314 +0800
|
|
||||||
@@ -144,11 +144,11 @@
|
|
||||||
存在特殊情况:一个完整的物理行显示在终端被分成多个逻辑行
|
|
||||||
*/
|
|
||||||
//中文字符正则表达式
|
|
||||||
- QRegExp regEx("[\u4E00-\u9FA5,《。》、?;:【】~!¥()]+");
|
|
||||||
+ QRegExp regEx(QLatin1String("[\u4E00-\u9FA5,《。》、?;:【】~!¥()]+"));
|
|
||||||
|
|
||||||
//未匹配的串-物理行开始和结束位置
|
|
||||||
int loseEnd = matchStart;
|
|
||||||
- int loseStart = string.lastIndexOf('\n', loseEnd) + 1;
|
|
||||||
+ int loseStart = string.lastIndexOf(QLatin1Char('\n'), loseEnd) + 1;
|
|
||||||
//qDebug() << "loseStart" << loseStart << "loseEnd" << loseEnd ;
|
|
||||||
|
|
||||||
// if (loseStart < 0 || loseStart > loseEnd) {
|
|
||||||
diff --color -Naur a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidget/lib/Pty.cpp
|
|
||||||
--- a/3rdparty/terminalwidget/lib/Pty.cpp 2022-02-08 16:21:57.110358654 +0800
|
|
||||||
+++ b/3rdparty/terminalwidget/lib/Pty.cpp 2022-02-09 10:42:26.384994711 +0800
|
|
||||||
@@ -280,7 +280,7 @@
|
|
||||||
|
|
||||||
bool Pty::isTerminalRemoved()
|
|
||||||
{
|
|
||||||
- QFile terminalExecFile("/usr/bin/deepin-terminal");
|
|
||||||
+ QFile terminalExecFile(QLatin1String("/usr/bin/deepin-terminal"));
|
|
||||||
if (terminalExecFile.exists()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
@@ -305,13 +305,13 @@
|
|
||||||
//判断当前命令是否是要删除终端
|
|
||||||
bool Pty::bWillRemoveTerminal(QString strCommand)
|
|
||||||
{
|
|
||||||
- QString packageName = "deepin-terminal";
|
|
||||||
+ QString packageName = QLatin1String("deepin-terminal");
|
|
||||||
|
|
||||||
QStringList strCommandList;
|
|
||||||
strCommandList.append(strCommand);
|
|
||||||
|
|
||||||
- if (strCommand.contains("&&")) {
|
|
||||||
- QStringList cmdList = strCommand.split("&&");
|
|
||||||
+ if (strCommand.contains(QLatin1String("&&"))) {
|
|
||||||
+ QStringList cmdList = strCommand.split(QLatin1String("&&"));
|
|
||||||
for (int i = 0; i < cmdList.size(); i++) {
|
|
||||||
QString currCmd = cmdList.at(i).trimmed();
|
|
||||||
if (currCmd.length() > 0 && currCmd.contains(packageName)) {
|
|
||||||
@@ -320,8 +320,8 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (strCommand.contains(";")) {
|
|
||||||
- QStringList cmdList = strCommand.split(";");
|
|
||||||
+ if (strCommand.contains(QLatin1String(";"))) {
|
|
||||||
+ QStringList cmdList = strCommand.split(QLatin1String(";"));
|
|
||||||
for (int i = 0; i < cmdList.size(); i++) {
|
|
||||||
QString currCmd = cmdList.at(i).trimmed();
|
|
||||||
if (currCmd.length() > 0 && currCmd.contains(packageName)) {
|
|
||||||
@@ -339,23 +339,23 @@
|
|
||||||
QString strCurrCommand = strCommandList.at(i);
|
|
||||||
for (int j = 0; j < packageNameList.size(); j++) {
|
|
||||||
QString packageName = packageNameList.at(j);
|
|
||||||
- QString removePattern = QString("sudo\\s+apt-get\\s+remove\\s+%1").arg(packageName);
|
|
||||||
+ QString removePattern = QString(QLatin1String("sudo\\s+apt-get\\s+remove\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+apt\\s+remove\\s+%1").arg(packageName);
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+apt\\s+remove\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
/******** Modify by nt001000 renfeixiang 2020-05-27:修改 放到bWillPurgeTerminal函数中 Begin***************/
|
|
||||||
// removePattern = QString("sudo\\s+dpkg\\s+-P\\s+%1").arg(packageName);
|
|
||||||
// acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
/******** Modify by nt001000 renfeixiang 2020-05-27:修改 放到bWillPurgeTerminal函数中 End***************/
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+dpkg\\s+-r\\s+%1").arg(packageName);
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+dpkg\\s+-r\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+rm\\s+.+\\s+/usr/bin/deepin-terminal");
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+rm\\s+.+\\s+/usr/bin/deepin-terminal"));
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+rm\\s+/usr/bin/deepin-terminal");
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+rm\\s+/usr/bin/deepin-terminal"));
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -366,13 +366,13 @@
|
|
||||||
/******** Add by nt001000 renfeixiang 2020-05-27:增加 Purge卸载命令的判断,显示不同的卸载提示框 Begin***************/
|
|
||||||
bool Pty::bWillPurgeTerminal(QString strCommand)
|
|
||||||
{
|
|
||||||
- QString packageName = "deepin-terminal";
|
|
||||||
+ QString packageName = QLatin1String("deepin-terminal");
|
|
||||||
|
|
||||||
QStringList strCommandList;
|
|
||||||
strCommandList.append(strCommand);
|
|
||||||
|
|
||||||
- if (strCommand.contains("&&")) {
|
|
||||||
- QStringList cmdList = strCommand.split("&&");
|
|
||||||
+ if (strCommand.contains(QLatin1String("&&"))) {
|
|
||||||
+ QStringList cmdList = strCommand.split(QLatin1String("&&"));
|
|
||||||
for (int i = 0; i < cmdList.size(); i++) {
|
|
||||||
QString currCmd = cmdList.at(i).trimmed();
|
|
||||||
if (currCmd.length() > 0 && currCmd.contains(packageName)) {
|
|
||||||
@@ -381,8 +381,8 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (strCommand.contains(";")) {
|
|
||||||
- QStringList cmdList = strCommand.split(";");
|
|
||||||
+ if (strCommand.contains(QLatin1String(";"))) {
|
|
||||||
+ QStringList cmdList = strCommand.split(QLatin1String(";"));
|
|
||||||
for (int i = 0; i < cmdList.size(); i++) {
|
|
||||||
QString currCmd = cmdList.at(i).trimmed();
|
|
||||||
if (currCmd.length() > 0 && currCmd.contains(packageName)) {
|
|
||||||
@@ -400,31 +400,31 @@
|
|
||||||
QString strCurrCommand = strCommandList.at(i);
|
|
||||||
for (int j = 0; j < packageNameList.size(); j++) {
|
|
||||||
QString packageName = packageNameList.at(j);
|
|
||||||
- QString removePattern = QString("sudo\\s+apt-get\\s+purge\\s+%1").arg(packageName);
|
|
||||||
+ QString removePattern = QString(QLatin1String("sudo\\s+apt-get\\s+purge\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+apt-get\\s+purge\\s+-y\\s+%1").arg(packageName);
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+apt-get\\s+purge\\s+-y\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+apt-get\\s+remove\\s+--purge\\s+%1").arg(packageName);
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+apt-get\\s+remove\\s+--purge\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+apt-get\\s+--purge\\s+remove\\s+%1").arg(packageName);
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+apt-get\\s+--purge\\s+remove\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+apt\\s+purge\\s+%1").arg(packageName);
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+apt\\s+purge\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+apt\\s+purge\\s+-y\\s+%1").arg(packageName);
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+apt\\s+purge\\s+-y\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+apt\\s+remove\\s+--purge\\s+%1").arg(packageName);
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+apt\\s+remove\\s+--purge\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+apt\\s+--purge\\s+remove\\s+%1").arg(packageName);
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+apt\\s+--purge\\s+remove\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
|
|
||||||
- removePattern = QString("sudo\\s+dpkg\\s+-P\\s+%1").arg(packageName);
|
|
||||||
+ removePattern = QString(QLatin1String("sudo\\s+dpkg\\s+-P\\s+%1")).arg(packageName);
|
|
||||||
acceptableList << isPatternAcceptable(strCurrCommand, removePattern);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -441,7 +441,7 @@
|
|
||||||
|
|
||||||
bool isCustomCommand = false;
|
|
||||||
QString currCommand = QString::fromLatin1(data);
|
|
||||||
- if (currCommand.length() > 0 && currCommand.endsWith('\n')) {
|
|
||||||
+ if (currCommand.length() > 0 && currCommand.endsWith(QLatin1Char('\n'))) {
|
|
||||||
isCustomCommand = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -457,9 +457,9 @@
|
|
||||||
bool bRemoveTerminal = bWillRemoveTerminal(strCurrCommand);
|
|
||||||
|
|
||||||
if (!isTerminalRemoved() && (bPurgeTerminal || bRemoveTerminal)) {
|
|
||||||
- QString strname = "remove";
|
|
||||||
+ QString strname = QLatin1String("remove");
|
|
||||||
if (bPurgeTerminal) {
|
|
||||||
- strname = "purge";
|
|
||||||
+ strname = QLatin1String("purge");
|
|
||||||
}
|
|
||||||
QMetaObject::invokeMethod(this, "ptyUninstallTerminal", Qt::AutoConnection, Q_RETURN_ARG(bool, _bUninstall), Q_ARG(QString, strname));
|
|
||||||
/******** Modify by nt001000 renfeixiang 2020-05-27:修改 根据remove和purge卸载命令,发送信号不同参数值 End***************/
|
|
||||||
@@ -494,25 +494,25 @@
|
|
||||||
{
|
|
||||||
QByteArray data = pty()->readAll();
|
|
||||||
|
|
||||||
- QString recvData = QString(data);
|
|
||||||
+ QString recvData = QString(QLatin1String(data));
|
|
||||||
|
|
||||||
/******** Modify by m000714 daizhengwen 2020-04-30: 处理上传下载时乱码显示命令不执行****************/
|
|
||||||
// 乱码提示信息不显示
|
|
||||||
- if (recvData.contains("bash: $'\\212")
|
|
||||||
- || recvData.contains("bash: **0800000000022d:")
|
|
||||||
- || recvData.contains("**^XB0800000000022d")
|
|
||||||
- || recvData.startsWith("**\u0018B0800000000022d\r\u008A")) {
|
|
||||||
+ if (recvData.contains(QLatin1String("bash: $'\\212"))
|
|
||||||
+ || recvData.contains(QLatin1String("bash: **0800000000022d:"))
|
|
||||||
+ || recvData.contains(QLatin1String("**^XB0800000000022d"))
|
|
||||||
+ || recvData.startsWith(QLatin1String("**\u0018B0800000000022d\r\u008A"))) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// "\u008A"这个乱码不替换调会导致显示时有\b的效果导致命令错乱bug#23741
|
|
||||||
- if (recvData.contains("\u008A")) {
|
|
||||||
- recvData.replace("\u008A", "\b \b #");
|
|
||||||
+ if (recvData.contains(QLatin1String("\u008A"))) {
|
|
||||||
+ recvData.replace(QLatin1String("\u008A"), QLatin1String("\b \b #"));
|
|
||||||
data = recvData.toUtf8();
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (recvData == "rz waiting to receive.") {
|
|
||||||
- recvData += "\r\n";
|
|
||||||
+ if (recvData == QLatin1String("rz waiting to receive.")) {
|
|
||||||
+ recvData += QLatin1String("\r\n");
|
|
||||||
data = recvData.toUtf8();
|
|
||||||
}
|
|
||||||
/********************* Modify by m000714 daizhengwen End ************************/
|
|
||||||
diff --color -Naur a/3rdparty/terminalwidget/lib/Session.cpp b/3rdparty/terminalwidget/lib/Session.cpp
|
|
||||||
--- a/3rdparty/terminalwidget/lib/Session.cpp 2022-02-08 16:21:57.114358607 +0800
|
|
||||||
+++ b/3rdparty/terminalwidget/lib/Session.cpp 2022-02-09 10:09:17.013232912 +0800
|
|
||||||
@@ -320,8 +320,8 @@
|
|
||||||
|
|
||||||
if (result < 0) {
|
|
||||||
//qDebug() << "CRASHED! result: " << result<<arguments;
|
|
||||||
- QString infoText = QString("There was an error ctreating the child processfor this teminal. \n"
|
|
||||||
- "Faild to execute child process \"%1\"(No such file or directory)!").arg(exec);
|
|
||||||
+ QString infoText = QString(QLatin1String("There was an error ctreating the child processfor this teminal. \n"
|
|
||||||
+ "Faild to execute child process \"%1\"(No such file or directory)!")).arg(exec);
|
|
||||||
sendText(infoText);
|
|
||||||
_userTitle = QString::fromLatin1("Session crashed");
|
|
||||||
emit titleChanged();
|
|
||||||
@@ -468,7 +468,7 @@
|
|
||||||
void Session::activityStateSet(int state)
|
|
||||||
{
|
|
||||||
if (state==NOTIFYBELL) {
|
|
||||||
- emit bellRequest(QString("Bell in session '%1'").arg(_nameTitle));
|
|
||||||
+ emit bellRequest(QString(QLatin1String("Bell in session '%1'")).arg(_nameTitle));
|
|
||||||
} else if (state==NOTIFYACTIVITY) {
|
|
||||||
if (_monitorSilence) {
|
|
||||||
_monitorTimer->start(_silenceSeconds*1000);
|
|
||||||
@@ -642,7 +642,7 @@
|
|
||||||
if (exitStatus == -1){
|
|
||||||
infoText.sprintf("There was an error ctreating the child processfor this teminal. \n"
|
|
||||||
"Faild to execute child process \"%s\"(No such file or directory)!", _program.toUtf8().data());
|
|
||||||
- message = "Session crashed.";
|
|
||||||
+ message = QLatin1String("Session crashed.");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
infoText.sprintf("The child process exit normally with status %d.", exitStatus);
|
|
||||||
diff --color -Naur a/3rdparty/terminalwidget/lib/TerminalDisplay.cpp b/3rdparty/terminalwidget/lib/TerminalDisplay.cpp
|
|
||||||
--- a/3rdparty/terminalwidget/lib/TerminalDisplay.cpp 2022-02-08 16:21:57.114358607 +0800
|
|
||||||
+++ b/3rdparty/terminalwidget/lib/TerminalDisplay.cpp 2022-02-09 10:07:31.376887287 +0800
|
|
||||||
@@ -447,7 +447,7 @@
|
|
||||||
/******** Modify by ut000439 wangpeili 2020-06-24: 适应窗口特效圆角 ****************/
|
|
||||||
//qDebug()<<"_scrollBar->width()"<<_scrollBar->width();
|
|
||||||
// 设置15px宽度=6?
|
|
||||||
- _scrollBar->setStyleSheet("margin: 0px 0 15px 0;width: 15");
|
|
||||||
+ _scrollBar->setStyleSheet(QLatin1String("margin: 0px 0 15px 0;width: 15"));
|
|
||||||
//qDebug()<<"_scrollBar->width()"<<_scrollBar->width();
|
|
||||||
/********************* Modify by n014361 wangpeili End ************************/
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user