fix: 修复代码格式化撤销崩溃的问题;优化代码格式化保存显示;
This commit is contained in:
parent
435056a2af
commit
1e3b24bca0
|
@ -222,7 +222,13 @@ void QConsoleWidget::keyPressEvent(QKeyEvent *e) {
|
|||
cut();
|
||||
else {
|
||||
// cursor must be in edit zone
|
||||
if (textCursor.selectionStart() <= inpos_)
|
||||
QDocumentCursor pos;
|
||||
if (textCursor.hasSelection()) {
|
||||
pos = textCursor.selectionStart();
|
||||
} else {
|
||||
pos = textCursor;
|
||||
}
|
||||
if (pos <= inpos_)
|
||||
QApplication::beep();
|
||||
else
|
||||
QEditor::keyPressEvent(e);
|
||||
|
|
|
@ -192,6 +192,69 @@ QDocument::QDocument(QObject *p)
|
|||
*/
|
||||
QDocument::~QDocument() { delete m_impl; }
|
||||
|
||||
QStringList QDocument::textLines(int mode) const {
|
||||
QStringList s;
|
||||
|
||||
if (!m_impl || m_impl->m_lines.isEmpty())
|
||||
return s;
|
||||
|
||||
int line = 0;
|
||||
int prevIndent = 0, curIndent = 0,
|
||||
nextIndent = m_impl->m_lines.at(0)->nextNonSpaceChar(0);
|
||||
|
||||
if (nextIndent < 0)
|
||||
nextIndent = 0;
|
||||
|
||||
foreach (QDocumentLineHandle *l, m_impl->m_lines) {
|
||||
prevIndent = curIndent;
|
||||
curIndent = nextIndent;
|
||||
nextIndent = ++line < m_impl->m_lines.count()
|
||||
? m_impl->m_lines.at(line)->nextNonSpaceChar(0)
|
||||
: 0;
|
||||
|
||||
if (nextIndent < 0)
|
||||
nextIndent = 0;
|
||||
|
||||
QString buf = l->text();
|
||||
int avgIndent = qMax(prevIndent, nextIndent);
|
||||
|
||||
if ((mode & RestoreTrailingIndent) && buf.isEmpty() && avgIndent) {
|
||||
buf = QString(avgIndent, '\t');
|
||||
} else if (mode & RemoveTrailingWS) {
|
||||
|
||||
int len = 0, idx = buf.length();
|
||||
|
||||
while (--idx >= 0) {
|
||||
if (!buf.at(idx).isSpace())
|
||||
break;
|
||||
|
||||
++len;
|
||||
}
|
||||
|
||||
++idx;
|
||||
|
||||
if (len && (idx || !(mode & PreserveIndent)))
|
||||
buf.remove(idx, len);
|
||||
}
|
||||
|
||||
s.append(buf);
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
QStringList QDocument::textLines(bool removeTrailing,
|
||||
bool preserveIndent) const {
|
||||
int mode = 0;
|
||||
|
||||
if (removeTrailing)
|
||||
mode |= RemoveTrailingWS;
|
||||
|
||||
if (preserveIndent)
|
||||
mode |= PreserveIndent;
|
||||
return textLines(mode);
|
||||
}
|
||||
|
||||
/*!
|
||||
\brief Clear the content of the document
|
||||
*/
|
||||
|
@ -236,55 +299,7 @@ void QDocument::redo() {
|
|||
\param mode extra processing to perform on text
|
||||
*/
|
||||
QString QDocument::text(int mode) const {
|
||||
QString s;
|
||||
|
||||
if (!m_impl || m_impl->m_lines.isEmpty())
|
||||
return s;
|
||||
|
||||
int line = 0;
|
||||
int prevIndent = 0, curIndent = 0,
|
||||
nextIndent = m_impl->m_lines.at(0)->nextNonSpaceChar(0);
|
||||
|
||||
if (nextIndent < 0)
|
||||
nextIndent = 0;
|
||||
|
||||
foreach (QDocumentLineHandle *l, m_impl->m_lines) {
|
||||
prevIndent = curIndent;
|
||||
curIndent = nextIndent;
|
||||
nextIndent = ++line < m_impl->m_lines.count()
|
||||
? m_impl->m_lines.at(line)->nextNonSpaceChar(0)
|
||||
: 0;
|
||||
|
||||
if (nextIndent < 0)
|
||||
nextIndent = 0;
|
||||
|
||||
QString buf = l->text();
|
||||
int avgIndent = qMax(prevIndent, nextIndent);
|
||||
|
||||
if ((mode & RestoreTrailingIndent) && buf.isEmpty() && avgIndent) {
|
||||
buf = QString(avgIndent, '\t');
|
||||
} else if (mode & RemoveTrailingWS) {
|
||||
|
||||
int len = 0, idx = buf.length();
|
||||
|
||||
while (--idx >= 0) {
|
||||
if (!buf.at(idx).isSpace())
|
||||
break;
|
||||
|
||||
++len;
|
||||
}
|
||||
|
||||
++idx;
|
||||
|
||||
if (len && (idx || !(mode & PreserveIndent)))
|
||||
buf.remove(idx, len);
|
||||
}
|
||||
|
||||
s += buf + m_impl->m_lineEndingString;
|
||||
}
|
||||
|
||||
// s.chop(m_impl->m_lineEndingString.count());
|
||||
return s;
|
||||
return textLines(mode).join(m_impl->m_lineEndingString);
|
||||
}
|
||||
|
||||
/*!
|
||||
|
|
|
@ -106,6 +106,9 @@ public:
|
|||
explicit QDocument(QObject *p = nullptr);
|
||||
virtual ~QDocument();
|
||||
|
||||
QStringList textLines(int mode) const;
|
||||
QStringList textLines(bool removeTrailing = false,
|
||||
bool preserveIndent = true) const;
|
||||
QString text(int mode) const;
|
||||
QString text(bool removeTrailing = false, bool preserveIndent = true) const;
|
||||
void setText(const QString &s);
|
||||
|
|
|
@ -2876,17 +2876,17 @@ Do you wish to keep up to date by reloading the file?</source>
|
|||
<context>
|
||||
<name>QHexView</name>
|
||||
<message>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="249"/>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="270"/>
|
||||
<source>Foreground:</source>
|
||||
<translation>前景色:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="260"/>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="281"/>
|
||||
<source>Background:</source>
|
||||
<translation>背景色:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="267"/>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="288"/>
|
||||
<source>Comment:</source>
|
||||
<translation>说明:</translation>
|
||||
</message>
|
||||
|
@ -4904,431 +4904,431 @@ Do you wish to keep up to date by reloading the file?</source>
|
|||
<context>
|
||||
<name>ScriptingDialog</name>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="96"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="98"/>
|
||||
<source>ScriptEditor</source>
|
||||
<translation>脚本编辑器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="193"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="195"/>
|
||||
<source>ScriptPermissionDenied</source>
|
||||
<translation>因权限无法打开脚本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="295"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="297"/>
|
||||
<source>File</source>
|
||||
<translation>文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="296"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="298"/>
|
||||
<source>Edit</source>
|
||||
<translation>编辑</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="298"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="300"/>
|
||||
<source>Debugger</source>
|
||||
<translation>调试器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="300"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="302"/>
|
||||
<source>Setting</source>
|
||||
<translation>设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="301"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="303"/>
|
||||
<source>About</source>
|
||||
<translation>关于</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="317"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="319"/>
|
||||
<source>InvalidSourceFile</source>
|
||||
<translation>非法代码文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="326"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="328"/>
|
||||
<source>Basic</source>
|
||||
<translation>基础</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="327"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="329"/>
|
||||
<source>New</source>
|
||||
<translation>新建</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="330"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="332"/>
|
||||
<source>OpenF</source>
|
||||
<translation>打开文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="333"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="335"/>
|
||||
<source>RecentFiles</source>
|
||||
<translation>最近打开</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="337"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="339"/>
|
||||
<source>Reload</source>
|
||||
<translation>重新加载</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="342"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="344"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="346"/>
|
||||
<source>Save</source>
|
||||
<translation>保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="349"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="351"/>
|
||||
<source>SaveAs</source>
|
||||
<translation>另存为</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="361"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="363"/>
|
||||
<source>General</source>
|
||||
<translation>基本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="363"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="365"/>
|
||||
<source>Undo</source>
|
||||
<translation>撤销</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="368"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="370"/>
|
||||
<source>Redo</source>
|
||||
<translation>恢复</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="374"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="376"/>
|
||||
<source>Cut</source>
|
||||
<translation>剪切</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="378"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="380"/>
|
||||
<source>Copy</source>
|
||||
<translation>复制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="383"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="385"/>
|
||||
<source>Paste</source>
|
||||
<translation>粘贴</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="387"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="389"/>
|
||||
<source>Delete</source>
|
||||
<translation>删除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="393"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="395"/>
|
||||
<source>Lookup</source>
|
||||
<translation>查询</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="394"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="396"/>
|
||||
<source>Find</source>
|
||||
<translation>查找</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="398"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="400"/>
|
||||
<source>Replace</source>
|
||||
<translation>替换</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="403"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="405"/>
|
||||
<source>Goto</source>
|
||||
<translation>跳转</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="410"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="579"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="412"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="581"/>
|
||||
<source>Format</source>
|
||||
<translation>代码样式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="411"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="413"/>
|
||||
<source>CodeFormat</source>
|
||||
<translation>代码格式化</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="421"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="423"/>
|
||||
<source>Display</source>
|
||||
<translation>显示</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="448"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="450"/>
|
||||
<source>Scale</source>
|
||||
<translation>缩放</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="450"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="452"/>
|
||||
<source>ResetScale</source>
|
||||
<translation>重置缩放</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="456"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="458"/>
|
||||
<source>Window</source>
|
||||
<translation>窗体</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="459"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="574"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="461"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="576"/>
|
||||
<source>Editor</source>
|
||||
<translation>编辑器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="463"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="465"/>
|
||||
<source>Tools</source>
|
||||
<translation>工具</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="468"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="470"/>
|
||||
<source>Layout</source>
|
||||
<translation>布局</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="469"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="471"/>
|
||||
<source>Fullscreen</source>
|
||||
<translation>全屏</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="471"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="473"/>
|
||||
<source>RestoreLayout</source>
|
||||
<translation>恢复默认布局</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="536"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="538"/>
|
||||
<source>BreakPoint</source>
|
||||
<translation>断点</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="538"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="540"/>
|
||||
<source>ToggleBreakPoint</source>
|
||||
<translation>切换断点</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="541"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="543"/>
|
||||
<source>AddBreakPoint</source>
|
||||
<translation>添加断点</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="572"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="574"/>
|
||||
<source>Settings</source>
|
||||
<translation>设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="577"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="579"/>
|
||||
<source>ClangFormat</source>
|
||||
<translation>Clang Format</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="612"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="614"/>
|
||||
<source>Local</source>
|
||||
<translation>本地</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="618"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="620"/>
|
||||
<source>Global</source>
|
||||
<translation>全局</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="621"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="623"/>
|
||||
<source>Variables</source>
|
||||
<translation>变量</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="634"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="636"/>
|
||||
<source>BreakPoints</source>
|
||||
<translation>断点</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="645"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="647"/>
|
||||
<source>ConsoleOutput</source>
|
||||
<translation>输出</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="659"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="661"/>
|
||||
<source>StackTrace</source>
|
||||
<translation>栈跟踪</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="671"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="673"/>
|
||||
<source>Symbol</source>
|
||||
<translation>符号</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="758"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1006"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1186"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1222"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1242"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1270"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="760"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1008"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1188"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1224"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1244"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1272"/>
|
||||
<source>Error</source>
|
||||
<translation>错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="759"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="761"/>
|
||||
<source>Too much opened files</source>
|
||||
<translation>打开的文件过多,无法继续操作!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="783"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="785"/>
|
||||
<source>ConfirmSave</source>
|
||||
<translation>正在关闭未保存的脚本文件,你确定保存吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="812"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="814"/>
|
||||
<source>ScriptSaveFailedClose</source>
|
||||
<translation>脚本保存失败,你仍确认关闭吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="959"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="961"/>
|
||||
<source>Debuging...</source>
|
||||
<translation>调试中...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="962"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="964"/>
|
||||
<source>Running...</source>
|
||||
<translation>运行中...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1161"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1201"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1163"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1203"/>
|
||||
<source>ChooseFile</source>
|
||||
<translation>选择文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1006"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1186"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1242"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1008"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1188"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1244"/>
|
||||
<source>FilePermission</source>
|
||||
<translation>因文件权限无法继续!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1220"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1222"/>
|
||||
<source>ReloadSuccessfully</source>
|
||||
<translation>文件重新加载成功!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1222"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1224"/>
|
||||
<source>ReloadUnSuccessfully</source>
|
||||
<translation>文件重新加载失败!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1259"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1261"/>
|
||||
<source>ChooseSaveFile</source>
|
||||
<translation>请选择保存文件路径:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1240"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1268"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1242"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1270"/>
|
||||
<source>SaveSuccessfully</source>
|
||||
<translation>保存成功!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1270"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1272"/>
|
||||
<source>SaveUnSuccessfully</source>
|
||||
<translation>保存失败!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1346"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1348"/>
|
||||
<source>FormatCodeFailed</source>
|
||||
<translation>代码格式化失败</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1396"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1413"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1398"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1415"/>
|
||||
<source>CannotSave2RunScript</source>
|
||||
<translation>无法保存,故无法继续运行脚本。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="798"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1473"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="800"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1475"/>
|
||||
<source>ScriptStillRunning</source>
|
||||
<translation>脚本仍在运行,你确定要退出吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="268"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="270"/>
|
||||
<source>ConfirmScriptSave</source>
|
||||
<translation>你尝试关闭程序,但仍存在未保存的脚本文件,你确定保存这些更改吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="297"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="299"/>
|
||||
<source>View</source>
|
||||
<translation>视图</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="482"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="484"/>
|
||||
<source>Debug</source>
|
||||
<translation>调试</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="484"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="486"/>
|
||||
<source>Run</source>
|
||||
<translation>运行</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="490"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="492"/>
|
||||
<source>RunWithDbg</source>
|
||||
<translation>调试运行</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="497"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="499"/>
|
||||
<source>Pause</source>
|
||||
<translation>暂停</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="501"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="503"/>
|
||||
<source>Continue</source>
|
||||
<translation>继续</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="508"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="510"/>
|
||||
<source>Stop</source>
|
||||
<translation>停止</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="513"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="515"/>
|
||||
<source>Restart</source>
|
||||
<translation>重启</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="517"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="519"/>
|
||||
<source>StepInto</source>
|
||||
<translation>单步步入</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="522"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="524"/>
|
||||
<source>StepOver</source>
|
||||
<translation>单步步过</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="527"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="529"/>
|
||||
<source>StepOut</source>
|
||||
<translation>单步跳出</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="544"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="546"/>
|
||||
<source>RemoveBreakPoint</source>
|
||||
<translation>删除断点</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="585"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="587"/>
|
||||
<source>Info</source>
|
||||
<translation>信息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="587"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="589"/>
|
||||
<source>Software</source>
|
||||
<translation>软件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="590"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="592"/>
|
||||
<source>Sponsor</source>
|
||||
<translation>赞助</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="593"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="595"/>
|
||||
<source>Wiki</source>
|
||||
<translation>网页 Wiki</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="596"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="598"/>
|
||||
<source>AboutQT</source>
|
||||
<translation>关于 QT</translation>
|
||||
</message>
|
||||
|
|
|
@ -2876,17 +2876,17 @@ Do you wish to keep up to date by reloading the file?</source>
|
|||
<context>
|
||||
<name>QHexView</name>
|
||||
<message>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="249"/>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="270"/>
|
||||
<source>Foreground:</source>
|
||||
<translation>前景色:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="260"/>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="281"/>
|
||||
<source>Background:</source>
|
||||
<translation>背景色:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="267"/>
|
||||
<location filename="../../3rdparty/QHexView/qhexview.cpp" line="288"/>
|
||||
<source>Comment:</source>
|
||||
<translation>說明:</translation>
|
||||
</message>
|
||||
|
@ -4904,431 +4904,431 @@ Do you wish to keep up to date by reloading the file?</source>
|
|||
<context>
|
||||
<name>ScriptingDialog</name>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="96"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="98"/>
|
||||
<source>ScriptEditor</source>
|
||||
<translation>腳本編輯器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="193"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="195"/>
|
||||
<source>ScriptPermissionDenied</source>
|
||||
<translation>因許可權無法打開腳本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="295"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="297"/>
|
||||
<source>File</source>
|
||||
<translation>檔</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="296"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="298"/>
|
||||
<source>Edit</source>
|
||||
<translation>編輯</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="298"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="300"/>
|
||||
<source>Debugger</source>
|
||||
<translation>調試器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="300"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="302"/>
|
||||
<source>Setting</source>
|
||||
<translation>設置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="301"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="303"/>
|
||||
<source>About</source>
|
||||
<translation>關於</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="317"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="319"/>
|
||||
<source>InvalidSourceFile</source>
|
||||
<translation>非法代碼檔</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="326"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="328"/>
|
||||
<source>Basic</source>
|
||||
<translation>基礎</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="327"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="329"/>
|
||||
<source>New</source>
|
||||
<translation>新建</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="330"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="332"/>
|
||||
<source>OpenF</source>
|
||||
<translation>打開檔</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="333"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="335"/>
|
||||
<source>RecentFiles</source>
|
||||
<translation>最近打開</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="337"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="339"/>
|
||||
<source>Reload</source>
|
||||
<translation>重新加載</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="342"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="344"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="346"/>
|
||||
<source>Save</source>
|
||||
<translation>保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="349"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="351"/>
|
||||
<source>SaveAs</source>
|
||||
<translation>另存為</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="361"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="363"/>
|
||||
<source>General</source>
|
||||
<translation>基本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="363"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="365"/>
|
||||
<source>Undo</source>
|
||||
<translation>撤銷</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="368"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="370"/>
|
||||
<source>Redo</source>
|
||||
<translation>恢復</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="374"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="376"/>
|
||||
<source>Cut</source>
|
||||
<translation>剪切</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="378"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="380"/>
|
||||
<source>Copy</source>
|
||||
<translation>複製</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="383"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="385"/>
|
||||
<source>Paste</source>
|
||||
<translation>粘貼</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="387"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="389"/>
|
||||
<source>Delete</source>
|
||||
<translation>刪除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="393"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="395"/>
|
||||
<source>Lookup</source>
|
||||
<translation>查詢</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="394"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="396"/>
|
||||
<source>Find</source>
|
||||
<translation>查找</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="398"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="400"/>
|
||||
<source>Replace</source>
|
||||
<translation>替換</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="403"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="405"/>
|
||||
<source>Goto</source>
|
||||
<translation>跳轉</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="410"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="579"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="412"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="581"/>
|
||||
<source>Format</source>
|
||||
<translation>代碼樣式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="411"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="413"/>
|
||||
<source>CodeFormat</source>
|
||||
<translation>代碼格式化</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="421"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="423"/>
|
||||
<source>Display</source>
|
||||
<translation>顯示</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="448"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="450"/>
|
||||
<source>Scale</source>
|
||||
<translation>縮放</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="450"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="452"/>
|
||||
<source>ResetScale</source>
|
||||
<translation>重置縮放</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="456"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="458"/>
|
||||
<source>Window</source>
|
||||
<translation>窗體</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="459"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="574"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="461"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="576"/>
|
||||
<source>Editor</source>
|
||||
<translation>編輯器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="463"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="465"/>
|
||||
<source>Tools</source>
|
||||
<translation>工具</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="468"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="470"/>
|
||||
<source>Layout</source>
|
||||
<translation>佈局</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="469"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="471"/>
|
||||
<source>Fullscreen</source>
|
||||
<translation>全屏</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="471"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="473"/>
|
||||
<source>RestoreLayout</source>
|
||||
<translation>恢復默認佈局</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="536"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="538"/>
|
||||
<source>BreakPoint</source>
|
||||
<translation>中斷點</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="538"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="540"/>
|
||||
<source>ToggleBreakPoint</source>
|
||||
<translation>切換中斷點</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="541"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="543"/>
|
||||
<source>AddBreakPoint</source>
|
||||
<translation>添加中斷點</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="572"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="574"/>
|
||||
<source>Settings</source>
|
||||
<translation>設置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="577"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="579"/>
|
||||
<source>ClangFormat</source>
|
||||
<translation>Clang Format</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="612"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="614"/>
|
||||
<source>Local</source>
|
||||
<translation>本地</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="618"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="620"/>
|
||||
<source>Global</source>
|
||||
<translation>全局</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="621"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="623"/>
|
||||
<source>Variables</source>
|
||||
<translation>變數</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="634"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="636"/>
|
||||
<source>BreakPoints</source>
|
||||
<translation>中斷點</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="645"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="647"/>
|
||||
<source>ConsoleOutput</source>
|
||||
<translation>輸出</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="659"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="661"/>
|
||||
<source>StackTrace</source>
|
||||
<translation>棧跟蹤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="671"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="673"/>
|
||||
<source>Symbol</source>
|
||||
<translation>符號</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="758"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1006"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1186"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1222"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1242"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1270"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="760"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1008"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1188"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1224"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1244"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1272"/>
|
||||
<source>Error</source>
|
||||
<translation>錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="759"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="761"/>
|
||||
<source>Too much opened files</source>
|
||||
<translation>打開的檔過多,無法繼續操作!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="783"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="785"/>
|
||||
<source>ConfirmSave</source>
|
||||
<translation>正在關閉未保存的腳本檔,你確定保存嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="812"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="814"/>
|
||||
<source>ScriptSaveFailedClose</source>
|
||||
<translation>腳本保存失敗,你仍確認關閉嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="959"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="961"/>
|
||||
<source>Debuging...</source>
|
||||
<translation>調試中...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="962"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="964"/>
|
||||
<source>Running...</source>
|
||||
<translation>運行中...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1161"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1201"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1163"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1203"/>
|
||||
<source>ChooseFile</source>
|
||||
<translation>選擇檔</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1006"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1186"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1242"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1008"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1188"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1244"/>
|
||||
<source>FilePermission</source>
|
||||
<translation>因檔許可權無法繼續!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1220"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1222"/>
|
||||
<source>ReloadSuccessfully</source>
|
||||
<translation>檔重新加載成功!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1222"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1224"/>
|
||||
<source>ReloadUnSuccessfully</source>
|
||||
<translation>檔重新加載失敗!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1259"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1261"/>
|
||||
<source>ChooseSaveFile</source>
|
||||
<translation>請選擇保存檔路徑:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1240"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1268"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1242"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1270"/>
|
||||
<source>SaveSuccessfully</source>
|
||||
<translation>保存成功!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1270"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1272"/>
|
||||
<source>SaveUnSuccessfully</source>
|
||||
<translation>保存失敗!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1346"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1348"/>
|
||||
<source>FormatCodeFailed</source>
|
||||
<translation>代碼格式化失敗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1396"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1413"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1398"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1415"/>
|
||||
<source>CannotSave2RunScript</source>
|
||||
<translation>無法保存,故無法繼續運行腳本。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="798"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1473"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="800"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="1475"/>
|
||||
<source>ScriptStillRunning</source>
|
||||
<translation>腳本仍在運行,你確定要退出嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="268"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="270"/>
|
||||
<source>ConfirmScriptSave</source>
|
||||
<translation>你嘗試關閉程式,但仍存在未保存的腳本檔,你確定保存這些更改嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="297"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="299"/>
|
||||
<source>View</source>
|
||||
<translation>視圖</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="482"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="484"/>
|
||||
<source>Debug</source>
|
||||
<translation>調試</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="484"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="486"/>
|
||||
<source>Run</source>
|
||||
<translation>運行</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="490"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="492"/>
|
||||
<source>RunWithDbg</source>
|
||||
<translation>調試運行</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="497"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="499"/>
|
||||
<source>Pause</source>
|
||||
<translation>暫停</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="501"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="503"/>
|
||||
<source>Continue</source>
|
||||
<translation>繼續</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="508"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="510"/>
|
||||
<source>Stop</source>
|
||||
<translation>停止</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="513"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="515"/>
|
||||
<source>Restart</source>
|
||||
<translation>重啟</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="517"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="519"/>
|
||||
<source>StepInto</source>
|
||||
<translation>單步步入</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="522"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="524"/>
|
||||
<source>StepOver</source>
|
||||
<translation>單步步過</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="527"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="529"/>
|
||||
<source>StepOut</source>
|
||||
<translation>單步跳出</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="544"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="546"/>
|
||||
<source>RemoveBreakPoint</source>
|
||||
<translation>刪除中斷點</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="585"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="587"/>
|
||||
<source>Info</source>
|
||||
<translation>資訊</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="587"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="589"/>
|
||||
<source>Software</source>
|
||||
<translation>軟體</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="590"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="592"/>
|
||||
<source>Sponsor</source>
|
||||
<translation>贊助</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="593"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="595"/>
|
||||
<source>Wiki</source>
|
||||
<translation>網頁 Wiki</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="596"/>
|
||||
<location filename="../../src/dialog/scriptingdialog.cpp" line="598"/>
|
||||
<source>AboutQT</source>
|
||||
<translation>關於 QT</translation>
|
||||
</message>
|
||||
|
|
|
@ -17,4 +17,61 @@
|
|||
|
||||
#include "diffutil.h"
|
||||
|
||||
DiffUtil::DiffUtil() {}
|
||||
QVector<DiffUtil::DiffEntry> DiffUtil::compareFiles(const QStringList &lines1,
|
||||
const QStringList &lines2) {
|
||||
return generateOrderedDiff(lines1, lines2);
|
||||
}
|
||||
|
||||
QVector<QVector<int>> DiffUtil::computeLCSMatrix(const QStringList &A,
|
||||
const QStringList &B) {
|
||||
auto m = A.size();
|
||||
auto n = B.size();
|
||||
QVector<QVector<int>> lcs(m + 1, QVector<int>(n + 1, 0));
|
||||
|
||||
for (qsizetype i = 1; i <= m; ++i) {
|
||||
for (qsizetype j = 1; j <= n; ++j) {
|
||||
if (A[i - 1] == B[j - 1]) {
|
||||
lcs[i][j] = lcs[i - 1][j - 1] + 1;
|
||||
} else {
|
||||
lcs[i][j] = qMax(lcs[i - 1][j], lcs[i][j - 1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return lcs;
|
||||
}
|
||||
|
||||
QVector<DiffUtil::DiffEntry>
|
||||
DiffUtil::generateOrderedDiff(const QStringList &A, const QStringList &B) {
|
||||
auto lcs = computeLCSMatrix(A, B);
|
||||
auto i = A.size();
|
||||
auto j = B.size();
|
||||
QVector<DiffEntry> diffEntries;
|
||||
|
||||
while (i > 0 && j > 0) {
|
||||
if (A[i - 1] == B[j - 1]) {
|
||||
diffEntries.prepend({B[j - 1], DiffEntry::UNCHANGED, i, j});
|
||||
--i;
|
||||
--j;
|
||||
} else if (lcs[i - 1][j] >= lcs[i][j - 1]) {
|
||||
diffEntries.prepend({A[i - 1], DiffEntry::REMOVED, i, -1});
|
||||
--i;
|
||||
} else {
|
||||
diffEntries.prepend({B[j - 1], DiffEntry::ADDED, -1, j});
|
||||
--j;
|
||||
}
|
||||
}
|
||||
|
||||
// Remaining lines in A (deleted lines)
|
||||
while (i > 0) {
|
||||
diffEntries.prepend({A[i - 1], DiffEntry::REMOVED, i, -1});
|
||||
--i;
|
||||
}
|
||||
|
||||
// Remaining lines in B (added lines)
|
||||
while (j > 0) {
|
||||
diffEntries.prepend({B[j - 1], DiffEntry::ADDED, -1, j});
|
||||
--j;
|
||||
}
|
||||
|
||||
return diffEntries;
|
||||
}
|
||||
|
|
|
@ -18,9 +18,30 @@
|
|||
#ifndef DIFFUTIL_H
|
||||
#define DIFFUTIL_H
|
||||
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QVector>
|
||||
|
||||
class DiffUtil {
|
||||
public:
|
||||
DiffUtil();
|
||||
struct DiffEntry {
|
||||
QString lineContent;
|
||||
enum ChangeType { UNCHANGED, ADDED, REMOVED } changeType;
|
||||
qsizetype lineNumberA; // Line number in file1 (original)
|
||||
qsizetype lineNumberB; // Line number in file2 (new)
|
||||
};
|
||||
|
||||
public:
|
||||
static QVector<DiffEntry> compareFiles(const QStringList &lines1,
|
||||
const QStringList &lines2);
|
||||
|
||||
private:
|
||||
// LCS algorithm to find longest common subsequence of lines
|
||||
static QVector<QVector<int>> computeLCSMatrix(const QStringList &A,
|
||||
const QStringList &B);
|
||||
|
||||
static QVector<DiffEntry> generateOrderedDiff(const QStringList &A,
|
||||
const QStringList &B);
|
||||
};
|
||||
|
||||
#endif // DIFFUTIL_H
|
||||
|
|
|
@ -74,8 +74,10 @@ ScriptingDialog::ScriptingDialog(QWidget *parent)
|
|||
_defaultLayout = m_dock->saveState();
|
||||
layout->addWidget(m_dock, 1);
|
||||
|
||||
m_status = new QStatusBar(this);
|
||||
layout->addWidget(m_status);
|
||||
auto status = new QStatusBar(this);
|
||||
m_status = new QLabel(this);
|
||||
status->addWidget(m_status);
|
||||
layout->addWidget(status);
|
||||
buildUpContent(cw);
|
||||
|
||||
buildUpSettingDialog();
|
||||
|
@ -103,7 +105,7 @@ ScriptingDialog::ScriptingDialog(QWidget *parent)
|
|||
_savedLayout = set.scriptDockLayout();
|
||||
|
||||
connect(&LangService::instance(), &LangService::onScriptEditorTip, m_status,
|
||||
[this](const QString &message) { m_status->showMessage(message); });
|
||||
[this](const QString &message) { m_status->setText(message); });
|
||||
|
||||
this->setUpdatesEnabled(true);
|
||||
}
|
||||
|
@ -955,14 +957,14 @@ void ScriptingDialog::updateRunDebugMode(bool disable) {
|
|||
|
||||
if (isRun) {
|
||||
if (isDbg) {
|
||||
m_status->setStyleSheet(QStringLiteral("color:gold"));
|
||||
m_status->showMessage(tr("Debuging..."));
|
||||
m_status->setText(QStringLiteral("<font color=\"gold\">") +
|
||||
tr("Debuging...") + QStringLiteral("</font>"));
|
||||
} else {
|
||||
m_status->setStyleSheet(QStringLiteral("color:green"));
|
||||
m_status->showMessage(tr("Running..."));
|
||||
m_status->setText(QStringLiteral("<font color=\"green\">") +
|
||||
tr("Running...") + QStringLiteral("</font>"));
|
||||
}
|
||||
} else {
|
||||
m_status->clearMessage();
|
||||
m_status->setText({});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -312,7 +312,7 @@ private:
|
|||
|
||||
QString _DebugingScript;
|
||||
|
||||
QStatusBar *m_status = nullptr;
|
||||
QLabel *m_status = nullptr;
|
||||
};
|
||||
|
||||
#endif // SCRIPTINGDIALOG_H
|
||||
|
|
|
@ -22,21 +22,67 @@
|
|||
QDocumentSwapTextCommand::QDocumentSwapTextCommand(const QString &text,
|
||||
QDocument *doc,
|
||||
QDocumentCommand *p)
|
||||
: QDocumentCommand(Command::Custom, doc, p), oldtext(m_doc->text()),
|
||||
newtext(text) {}
|
||||
: QDocumentCommand(Command::Custom, doc, p) {
|
||||
auto textl = text.split('\n');
|
||||
diffs = DiffUtil::compareFiles(doc->textLines(), textl);
|
||||
auto r = std::find_if(
|
||||
diffs.begin(), diffs.end(), [](const DiffUtil::DiffEntry &diff) {
|
||||
return diff.changeType != DiffUtil::DiffEntry::UNCHANGED;
|
||||
});
|
||||
if (r == diffs.end()) {
|
||||
setObsolete(true);
|
||||
return;
|
||||
}
|
||||
|
||||
header = textl.takeFirst();
|
||||
oldheader = doc->line(0).text();
|
||||
for (auto &s : textl) {
|
||||
auto lh = new QDocumentLineHandle(s, m_doc);
|
||||
_handles.append(lh);
|
||||
}
|
||||
|
||||
for (auto p = std::next(doc->begin()); p != doc->end(); ++p) {
|
||||
_oldhandles.append(*p);
|
||||
}
|
||||
|
||||
auto cursor = doc->editCursor();
|
||||
_line = cursor->lineNumber();
|
||||
_column = cursor->columnNumber();
|
||||
setTargetCursor(cursor->handle());
|
||||
}
|
||||
|
||||
void QDocumentSwapTextCommand::undo() {
|
||||
m_doc->setText(oldtext);
|
||||
for (int i = 0; i < m_doc->lineCount(); ++i) {
|
||||
auto line = m_doc->line(i);
|
||||
markUndone(line.handle());
|
||||
removeLines(0, m_doc->lineCount() - 1);
|
||||
removeText(0, 0, header.length());
|
||||
insertText(0, 0, oldheader);
|
||||
insertLines(0, _oldhandles);
|
||||
|
||||
m_doc->impl()->emitContentsChange(0, _oldhandles.count() + 1);
|
||||
for (auto &item : diffs) {
|
||||
if (item.changeType == DiffUtil::DiffEntry::REMOVED) {
|
||||
auto line = m_doc->line(item.lineNumberA - 1);
|
||||
markUndone(line.handle());
|
||||
} else if (item.changeType == DiffUtil::DiffEntry::ADDED) {
|
||||
auto line = m_doc->line(item.lineNumberB - 1);
|
||||
markUndone(line.handle());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void QDocumentSwapTextCommand::redo() {
|
||||
m_doc->setText(newtext);
|
||||
for (int i = 0; i < m_doc->lineCount(); ++i) {
|
||||
auto line = m_doc->line(i);
|
||||
markRedone(line.handle(), m_first);
|
||||
removeLines(0, m_doc->lineCount() - 1);
|
||||
removeText(0, 0, oldheader.length());
|
||||
insertText(0, 0, header);
|
||||
insertLines(0, _handles);
|
||||
|
||||
m_doc->impl()->emitContentsChange(0, _handles.count() + 1);
|
||||
for (auto &item : diffs) {
|
||||
if (item.changeType == DiffUtil::DiffEntry::REMOVED) {
|
||||
auto line = m_doc->line(item.lineNumberA - 1);
|
||||
markRedone(line.handle(), m_first);
|
||||
} else if (item.changeType == DiffUtil::DiffEntry::ADDED) {
|
||||
auto line = m_doc->line(item.lineNumberB - 1);
|
||||
markRedone(line.handle(), m_first);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#ifndef QDOCUMENTSWAPTEXTCOMMAND_H
|
||||
#define QDOCUMENTSWAPTEXTCOMMAND_H
|
||||
|
||||
#include "class/diffutil.h"
|
||||
#include "qdocumentcommand.h"
|
||||
|
||||
class QDocumentSwapTextCommand : public QDocumentCommand {
|
||||
|
@ -31,8 +32,12 @@ public:
|
|||
void redo();
|
||||
|
||||
private:
|
||||
QString oldtext;
|
||||
QString newtext;
|
||||
QString header, oldheader;
|
||||
QList<QDocumentLineHandle *> _handles;
|
||||
QList<QDocumentLineHandle *> _oldhandles;
|
||||
QVector<DiffUtil::DiffEntry> diffs;
|
||||
|
||||
int _line, _column;
|
||||
};
|
||||
|
||||
#endif // QDOCUMENTSWAPTEXTCOMMAND_H
|
||||
|
|
Loading…
Reference in New Issue