diff --git a/0001-fix-qtbase-QLatin1String-QLatin1Char.patch b/0001-fix-qtbase-QLatin1String-QLatin1Char.patch deleted file mode 100644 index 2fd437d..0000000 --- a/0001-fix-qtbase-QLatin1String-QLatin1Char.patch +++ /dev/null @@ -1,461 +0,0 @@ -From c96f6f7f9f125d56c8d97898d2734b05c321995c Mon Sep 17 00:00:00 2001 -From: loong_C -Date: Wed, 20 Jul 2022 14:29:49 +0800 -Subject: [PATCH] fix-qtbase-QLatin1String-QLatin1Char - ---- - 3rdparty/terminalwidget/lib/Emulation.cpp | 8 +- - 3rdparty/terminalwidget/lib/Filter.cpp | 12 +- - 3rdparty/terminalwidget/lib/HistorySearch.cpp | 4 +- - 3rdparty/terminalwidget/lib/Pty.cpp | 104 +++++++++--------- - 3rdparty/terminalwidget/lib/Session.cpp | 12 +- - .../terminalwidget/lib/TerminalDisplay.cpp | 6 +- - 3rdparty/terminalwidget/lib/qtermwidget.cpp | 2 +- - 7 files changed, 74 insertions(+), 74 deletions(-) - -diff --git a/3rdparty/terminalwidget/lib/Emulation.cpp b/3rdparty/terminalwidget/lib/Emulation.cpp -index 82bacde..3505438 100644 ---- a/3rdparty/terminalwidget/lib/Emulation.cpp -+++ b/3rdparty/terminalwidget/lib/Emulation.cpp -@@ -301,9 +301,9 @@ void Emulation::receiveData(const char *text, int length, bool isCommandExec) - * U+10FFFF - * https://unicodebook.readthedocs.io/unicode_encodings.html#surrogates - */ -- QString utf16Text = ""; -+ QString utf16Text = QLatin1String(""); - -- if (QString(_codec->name()).toUpper().startsWith("GB") && !isCommandExec) { -+ if (QString(QLatin1String(_codec->name())).toUpper().startsWith(QLatin1String("GB")) && !isCommandExec) { - if (_decoder != nullptr) { - delete _decoder; - } -@@ -327,10 +327,10 @@ void Emulation::receiveData(const char *text, int length, bool isCommandExec) - - //fix bug 67102 打开超长名称的文件夹,终端界面光标位置不在最后一位 - //bash 提示符很长的情况下,会有较大概率以五个\b字符结尾,导致光标错位 -- if (utf16Text.startsWith("\u001B]0;") && utf16Text.endsWith("\b\b\b\b\b")) { -+ if (utf16Text.startsWith(QLatin1String("\u001B]0;")) && utf16Text.endsWith(QLatin1String("\b\b\b\b\b"))) { - Session *currSession = SessionManager::instance()->idToSession(_sessionId); - if (currSession && (QStringLiteral("bash") == currSession->foregroundProcessName())) { -- utf16Text.replace("\b\b\b\b\b", ""); -+ utf16Text.replace(QLatin1String("\b\b\b\b\b"), QLatin1String("")); - } - } - -diff --git a/3rdparty/terminalwidget/lib/Filter.cpp b/3rdparty/terminalwidget/lib/Filter.cpp -index 071d70d..67bce5d 100644 ---- a/3rdparty/terminalwidget/lib/Filter.cpp -+++ b/3rdparty/terminalwidget/lib/Filter.cpp -@@ -139,7 +139,7 @@ TerminalImageFilterChain::~TerminalImageFilterChain() - bool isContainOtherPromptEnd(QString promptLine, QString currPromptEnd) - { - //四不同类型的提示符结尾字符 -- QString promptEnds = QString("$#%>"); -+ QString promptEnds = QString(QLatin1String("$#%>")); - promptEnds.remove(currPromptEnd); - - for (int i=0; iappend(_buffer->length()); - decoder.decodeLine(image + i * columns, columns, LINE_DEFAULT); -@@ -208,7 +208,7 @@ void TerminalImageFilterChain::setImage(const Character *const image, int lines, - if (lastLine.length() > 0) { - //优化了截取并保存当前shell提示符的判断,暂时没有考虑PS1被修改的情况(若考虑的话实现起来太复杂) - //目前针对sh/bash/csh/tcsh/ksh/zsh这几种类型的shell做了处理 -- QString promptEnds = QString("$#%>"); -+ QString promptEnds = QString(QLatin1String("$#%>")); - for (int i=0; igetCurrShellPrompt(_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 --git a/3rdparty/terminalwidget/lib/HistorySearch.cpp b/3rdparty/terminalwidget/lib/HistorySearch.cpp -index d1b66be..9d36772 100644 ---- a/3rdparty/terminalwidget/lib/HistorySearch.cpp -+++ b/3rdparty/terminalwidget/lib/HistorySearch.cpp -@@ -278,11 +278,11 @@ bool HistorySearch::search(int startColumn, int startLine, int endColumn, int en - 存在特殊情况:一个完整的物理行显示在终端被分成多个逻辑行 - */ - //中文字符正则表达式 -- 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 --git a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidget/lib/Pty.cpp -index 165b2f7..62c8493 100644 ---- a/3rdparty/terminalwidget/lib/Pty.cpp -+++ b/3rdparty/terminalwidget/lib/Pty.cpp -@@ -282,7 +282,7 @@ Pty::~Pty() - - bool Pty::isTerminalRemoved() - { -- QFile terminalExecFile("/usr/bin/deepin-terminal"); -+ QFile terminalExecFile(QLatin1String("/usr/bin/deepin-terminal")); - if (terminalExecFile.exists()) { - return false; - } -@@ -307,13 +307,13 @@ bool isPatternAcceptable(QString strCommand, QString strPattern) - //判断当前命令是否是要删除终端 - 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)) { -@@ -322,8 +322,8 @@ bool Pty::bWillRemoveTerminal(QString 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)) { -@@ -341,23 +341,23 @@ bool Pty::bWillRemoveTerminal(QString strCommand) - 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); - } - } -@@ -368,13 +368,13 @@ bool Pty::bWillRemoveTerminal(QString strCommand) - /******** 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)) { -@@ -383,8 +383,8 @@ bool Pty::bWillPurgeTerminal(QString 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)) { -@@ -402,31 +402,31 @@ bool Pty::bWillPurgeTerminal(QString strCommand) - 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); - } - } -@@ -446,7 +446,7 @@ void Pty::sendData(const char *data, int length, const QTextCodec *codec) - //判断是否是点了自定义命令面板列表项触发的命令 - 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; - } - -@@ -462,7 +462,7 @@ void Pty::sendData(const char *data, int length, const QTextCodec *codec) - - //检测到当前命令是代码中通过sendText发给终端的(而不是用户手动输入的命令) - bool isSendByRemoteManage = this->property("isSendByRemoteManage").toBool(); -- if (isSendByRemoteManage && strCurrCommand.startsWith("expect -f")) { -+ if (isSendByRemoteManage && strCurrCommand.startsWith(QLatin1String("expect -f"))) { - _bNeedBlockCommand = true; - //立即修改回false,防止误认其他命令 - this->setProperty("isSendByRemoteManage", QVariant(false)); -@@ -473,9 +473,9 @@ void Pty::sendData(const char *data, int length, const QTextCodec *codec) - 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***************/ -@@ -501,7 +501,7 @@ void Pty::sendData(const char *data, int length, const QTextCodec *codec) - } - - //为GBK/GB2312/GB18030编码,且不是输入命令执行的情况(没有按回车) -- if (QString(codec->name()).toUpper().startsWith("GB") && !_isCommandExec) { -+ if (QString(QLatin1String(codec->name())).toUpper().startsWith(QLatin1String("GB")) && !_isCommandExec) { - QTextCodec *utf8Codec = QTextCodec::codecForName("UTF-8"); - QString unicodeData = codec->toUnicode(data); - QByteArray unicode = utf8Codec->fromUnicode(unicodeData); -@@ -524,19 +524,19 @@ void Pty::dataReceived() - { - QByteArray data = pty()->readAll(); - -- QString recvData = QString(data); -+ QString recvData = QString(QLatin1String(data)); - - if (_bNeedBlockCommand) { - QString judgeData = recvData; - if (recvData.length() > 1) { -- judgeData = recvData.replace("\r", ""); -- judgeData = judgeData.replace("\n", ""); -+ judgeData = recvData.replace(QLatin1String("\r"), QLatin1String("")); -+ judgeData = judgeData.replace(QLatin1String("\n"), QLatin1String("")); - } - - //使用zsh的时候,发送过来的字符会残留一个字母"e",需要特殊处理下 -- if (_program.endsWith("/zsh") -+ if (_program.endsWith(QLatin1String("/zsh")) - && 1 == judgeData.length() -- && judgeData.startsWith("e") -+ && judgeData.startsWith(QLatin1String("e")) - && -1 == _receiveDataIndex) { - _receiveDataIndex = 0; - return; -@@ -544,27 +544,27 @@ void Pty::dataReceived() - - //不显示远程登录时候的敏感信息(主要是expect -f命令跟随的明文密码) - //同时考虑了zsh的情况 -- if (judgeData.startsWith("expect -f") -- || judgeData.startsWith("\bexpect") -- || judgeData.startsWith("\be") -- || judgeData.startsWith("e\bexpect") -- || judgeData.startsWith("e\be")) { -+ if (judgeData.startsWith(QLatin1String("expect -f")) -+ || judgeData.startsWith(QLatin1String("\bexpect")) -+ || judgeData.startsWith(QLatin1String("\be")) -+ || judgeData.startsWith(QLatin1String("e\bexpect")) -+ || judgeData.startsWith(QLatin1String("e\be"))) { - _receiveDataIndex = 1; - return; - } - - if (_receiveDataIndex >= 1) { -- if (judgeData.contains("Press")) { -+ if (judgeData.contains(QLatin1String("Press"))) { - //这里需要置回false,否则后面其他命令也会被拦截 - _bNeedBlockCommand = false; - - _receiveDataIndex = -1; -- int pressStringIndex = recvData.indexOf("Press"); -+ int pressStringIndex = recvData.indexOf(QLatin1String("Press")); - if (pressStringIndex > 0) { - recvData = recvData.mid(pressStringIndex); - } -- QString helpData = recvData.replace("\n", ""); -- recvData = "\r\n" + helpData + "\r\n"; -+ QString helpData = recvData.replace(QLatin1String("\n"), QLatin1String("")); -+ recvData = QLatin1String("\r\n") + helpData + QLatin1String("\r\n"); - data = recvData.toUtf8(); - emit receivedData(data.constData(), data.count(), _textCodec); - } -@@ -577,21 +577,21 @@ void Pty::dataReceived() - - /******** 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 --git a/3rdparty/terminalwidget/lib/Session.cpp b/3rdparty/terminalwidget/lib/Session.cpp -index dc64a18..cba8d3e 100644 ---- a/3rdparty/terminalwidget/lib/Session.cpp -+++ b/3rdparty/terminalwidget/lib/Session.cpp -@@ -397,12 +397,12 @@ void Session::run() - if (result < 0) { - //qDebug() << "CRASHED! result: " << result<errorString(); -- processError = processError.mid(processError.indexOf(":") + 1).trimmed(); -+ processError = processError.mid(processError.indexOf(QLatin1String(":")) + 1).trimmed(); - if(!processError.isEmpty()) -- processError = "(" +processError + ")"; -+ processError = QLatin1String("(") + processError + QLatin1String(")"); - -- QString infoText = QString("There was an error creating the child process for this terminal. \n" -- "Failed to execute child process \"%1\"%2!") -+ QString infoText = QString(QLatin1String("There was an error creating the child process for this terminal. \n" -+ "Failed to execute child process \"%1\"%2!")) - .arg(exec) - .arg(processError); - sendText(infoText); -@@ -556,7 +556,7 @@ void Session::monitorTimerDone() - 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); -@@ -738,7 +738,7 @@ void Session::done(int exitStatus) - if (exitStatus == -1){ - infoText.sprintf("There was an error creating the child process for this terminal. \n" - "Failed 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 exited normally with status %d.", exitStatus); -diff --git a/3rdparty/terminalwidget/lib/TerminalDisplay.cpp b/3rdparty/terminalwidget/lib/TerminalDisplay.cpp -index 3a127dc..d12541f 100644 ---- a/3rdparty/terminalwidget/lib/TerminalDisplay.cpp -+++ b/3rdparty/terminalwidget/lib/TerminalDisplay.cpp -@@ -493,7 +493,7 @@ TerminalDisplay::TerminalDisplay(QWidget *parent) - /******** 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 ************************/ - -@@ -3534,8 +3534,8 @@ void TerminalDisplay::dropEvent(QDropEvent* event) - } - - /***add begin by ut001121 zhangmeng 20201030 for SP4.1 拖拽文件到工作区文件路径加引号***/ -- dropText.insert(0, '\''); -- dropText.append('\''); -+ dropText.insert(0, QLatin1Char('\'')); -+ dropText.append(QLatin1Char('\'')); - /***add end ut001121***/ - - emit sendStringToEmu(dropText.toLocal8Bit().constData()); -diff --git a/3rdparty/terminalwidget/lib/qtermwidget.cpp b/3rdparty/terminalwidget/lib/qtermwidget.cpp -index 44d9752..7060051 100644 ---- a/3rdparty/terminalwidget/lib/qtermwidget.cpp -+++ b/3rdparty/terminalwidget/lib/qtermwidget.cpp -@@ -641,7 +641,7 @@ void QTermWidget::setColorScheme(const QString &origName, bool needReloadTheme) - cs = ColorSchemeManager::instance()->defaultColorScheme(); - } - } else { -- if (name == "customTheme" && needReloadTheme) { -+ if (name == QLatin1String("customTheme") && needReloadTheme) { - ColorSchemeManager::instance()->realodColorScheme(origName); - } - cs = ColorSchemeManager::instance()->findColorScheme(name); --- -2.20.1 - diff --git a/0002-Fix-abnormal-display-during-terminal-screen-splittin.patch b/0002-Fix-abnormal-display-during-terminal-screen-splittin.patch deleted file mode 100644 index 22b1a46..0000000 --- a/0002-Fix-abnormal-display-during-terminal-screen-splittin.patch +++ /dev/null @@ -1,86 +0,0 @@ -From dd189e057abf085bd544fc09f8ccf68b88b0cfa9 Mon Sep 17 00:00:00 2001 -From: yangxianzhao -Date: Fri, 7 Apr 2023 10:20:45 +0800 -Subject: [PATCH] Fix abnormal display during terminal screen splitting - ---- - src/views/termwidget.cpp | 12 ------------ - src/views/termwidget.h | 6 +++--- - src/views/termwidgetpage.cpp | 7 +++++++ - 3 files changed, 10 insertions(+), 15 deletions(-) - -diff --git a/src/views/termwidget.cpp b/src/views/termwidget.cpp -index e8b4112..15ea98f 100644 ---- a/src/views/termwidget.cpp -+++ b/src/views/termwidget.cpp -@@ -565,15 +565,11 @@ inline void TermWidget::onVerticalSplit() - inline void TermWidget::splitHorizontal() - { - parentPage()->split(Qt::Horizontal); -- //分屏时切换到当前选中主题方案 -- switchThemeOnSplitScreen(); - } - - inline void TermWidget::splitVertical() - { - parentPage()->split(Qt::Vertical); -- //分屏时切换到当前选中主题方案 -- switchThemeOnSplitScreen(); - } - - inline void TermWidget::onCloseCurrWorkSpace() -@@ -834,14 +830,6 @@ QString TermWidget::getTabTitle(QMap format, QString TabFormat - return TabFormat; - } - --void TermWidget::switchThemeOnSplitScreen() --{ -- QString expandThemeStr = ""; -- expandThemeStr = Settings::instance()->extendColorScheme(); -- if (!expandThemeStr.isEmpty()) -- emit DApplicationHelper::instance()->themeTypeChanged(DGuiApplicationHelper::instance()->themeType()); --} -- - void TermWidget::initTabTitle() - { - static ushort sessionNumber = 0; -diff --git a/src/views/termwidget.h b/src/views/termwidget.h -index 27b5fb6..3c995c1 100644 ---- a/src/views/termwidget.h -+++ b/src/views/termwidget.h -@@ -425,11 +425,11 @@ private: - * @return - */ - QString getTabTitle(QMap format, QString TabFormat); -+ - /** -- * @brief 分屏时切换到当前选中主题方案 -- * @author ut000125 sunchengxi -+ * @brief 浏览器打开对应的链接 -+ * @param strUrl 相关链接 - */ -- void switchThemeOnSplitScreen(); - void openUrl(QString strUrl); - - /** -diff --git a/src/views/termwidgetpage.cpp b/src/views/termwidgetpage.cpp -index 4169a79..00d8748 100644 ---- a/src/views/termwidgetpage.cpp -+++ b/src/views/termwidgetpage.cpp -@@ -155,6 +155,13 @@ void TermWidgetPage::split(Qt::Orientation orientation) - - /******** Add by ut001000 renfeixiang 2020-08-07:新增分屏时改变大小,bug#41436***************/ - parentMainWindow()->updateMinHeight(); -+ -+ //分屏时切换到当前选中主题方案 -+ QString expandThemeStr = ""; -+ expandThemeStr = Settings::instance()->extendColorScheme(); -+ if (!expandThemeStr.isEmpty()) -+ emit DApplicationHelper::instance()->themeTypeChanged(DGuiApplicationHelper::instance()->themeType()); -+ - return ; - } - --- -2.18.4 - diff --git a/deepin-terminal-5.4.8.tar.gz b/deepin-terminal-5.4.37.tar.gz similarity index 94% rename from deepin-terminal-5.4.8.tar.gz rename to deepin-terminal-5.4.37.tar.gz index 0cc12fa..cdef9f4 100644 Binary files a/deepin-terminal-5.4.8.tar.gz and b/deepin-terminal-5.4.37.tar.gz differ diff --git a/deepin-terminal.spec b/deepin-terminal.spec index 1e29bc2..d17f199 100644 --- a/deepin-terminal.spec +++ b/deepin-terminal.spec @@ -1,19 +1,18 @@ %define specrelease 1%{?dist} %if 0%{?openeuler} -%define specrelease 3 +%define specrelease 1 %endif %define libname libqtermwidget5 Name: deepin-terminal -Version: 5.4.8 +Version: 5.4.37 Release: %{specrelease} Summary: Default terminal emulation application for Deepin License: GPLv3+ URL: https://github.com/linuxdeepin/%{name} Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz -Patch0: 0001-fix-qtbase-QLatin1String-QLatin1Char.patch -Patch1: 0002-Fix-abnormal-display-during-terminal-screen-splittin.patch +#Patch0: 0001-fix-qtbase-QLatin1String-QLatin1Char.patch Provides: deepin-terminal-data Obsoletes: deepin-terminal-data @@ -24,6 +23,7 @@ BuildRequires: qt5-linguist BuildRequires: dtkcore-devel BuildRequires: dtkwidget-devel +BuildRequires: dtkcommon-devel BuildRequires: pkgconfig(dtkgui) BuildRequires: pkgconfig(dframeworkdbus) BuildRequires: pkgconfig(gobject-2.0) @@ -35,11 +35,13 @@ BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Gui) BuildRequires: pkgconfig(Qt5DBus) BuildRequires: pkgconfig(Qt5Network) +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: xcb-util-wm-devel Requires: libqtermwidget5 Requires: libqtermwidget5-data @@ -77,6 +79,8 @@ built-in console or terminal emulation widget. %prep %autosetup -p1 +sed -i 's|OWNER_EXECUTE|OWNER_EXECUTE OWNER_WRITE|' CMakeLists.txt + %build # help find (and prefer) qt5 utilities, e.g. qmake, lrelease export PATH=%{_qt5_bindir}:$PATH @@ -124,6 +128,9 @@ ldconfig %{_datadir}/terminalwidget5/translations/*.qm %changelog +* Mon Apr 10 2023 liweiganga - 5.4.37-1 +- update: update to 5.4.37 + * Fri Apr 07 2023 yangxianzhao - 5.4.8-3 - Fix abnormal display during terminal screen splitting(issue:I6QJXY)