Improvement of terminal support
This commit is contained in:
parent
a2a3ae8a91
commit
1e645d7770
3
NEWS.md
3
NEWS.md
|
@ -5,8 +5,7 @@ Red Panda C++ Version 2.25
|
|||
- fix: "move selection up/down" of whole lines selection are no correctly handled.
|
||||
- enhancement: Improvement of terminal support ( from cyano.CN )
|
||||
- enhancement: Virtual Terminal Sequences Support in windows 10/11 ( from cyano.CN )
|
||||
|
||||
|
||||
- enhancement: Option "Enable Virtual Terminal Sequences Support" in Settings -> Executor
|
||||
|
||||
Red Panda C++ Version 2.24
|
||||
|
||||
|
|
|
@ -37,7 +37,8 @@
|
|||
|
||||
enum RunProgramFlag {
|
||||
RPF_PAUSE_CONSOLE = 0x0001,
|
||||
RPF_REDIRECT_INPUT = 0x0002
|
||||
RPF_REDIRECT_INPUT = 0x0002,
|
||||
RPF_ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x0004
|
||||
};
|
||||
|
||||
CompilerManager::CompilerManager(QObject *parent) : QObject(parent),
|
||||
|
@ -256,6 +257,8 @@ void CompilerManager::run(
|
|||
if (pSettings->executor().pauseConsole())
|
||||
consoleFlag |= RPF_PAUSE_CONSOLE;
|
||||
#ifdef Q_OS_WIN
|
||||
if (pSettings->executor().enableVirualTerminalSequence())
|
||||
consoleFlag |= RPF_ENABLE_VIRTUAL_TERMINAL_PROCESSING;
|
||||
if (consoleFlag!=0) {
|
||||
QString sharedMemoryId = QUuid::createUuid().toString();
|
||||
QString consolePauserPath = includeTrailingPathDelimiter(pSettings->dirs().appDir()) + CONSOLE_PAUSER;
|
||||
|
|
|
@ -3623,36 +3623,9 @@ void Settings::Environment::doLoad()
|
|||
mUseCustomTerminal = true;
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_WINDOWS
|
||||
QString terminalListFilename(":/config/terminal-windows.json");
|
||||
#else // UNIX
|
||||
QString terminalListFilename(":/config/terminal-unix.json");
|
||||
#endif
|
||||
QFile terminalListFile(terminalListFilename);
|
||||
if (!terminalListFile.open(QFile::ReadOnly))
|
||||
throw FileError(QObject::tr("Can't open file '%1' for read.")
|
||||
.arg(terminalListFilename));
|
||||
QByteArray terminalListContent = terminalListFile.readAll();
|
||||
QJsonDocument terminalListDocument(QJsonDocument::fromJson(terminalListContent));
|
||||
|
||||
// check saved terminal path
|
||||
QString savedTerminalPath = stringValue("terminal_path", "");
|
||||
QString savedArgsPattern = stringValue("terminal_arguments_pattern", "");
|
||||
bool terminalSet = checkAndSetTerminal(savedTerminalPath, savedArgsPattern);
|
||||
|
||||
// determing terminal (if not set yet) and build predefined arguments pattern map from our list
|
||||
for (const auto &terminalGroup: terminalListDocument.array()) {
|
||||
const QJsonArray &terminals = terminalGroup.toObject()["terminals"].toArray();
|
||||
for (const auto &terminal_: terminals) {
|
||||
const QJsonObject &terminal = terminal_.toObject();
|
||||
const QString &path = terminal["path"].toString();
|
||||
const QString &executable = QFileInfo(path).fileName();
|
||||
const QString &pattern = terminal["argsPattern"].toString();
|
||||
mPredefinedTerminalArgumentsPattern[executable] = pattern;
|
||||
if (!terminalSet)
|
||||
terminalSet = checkAndSetTerminal(path, pattern);
|
||||
}
|
||||
}
|
||||
mTerminalPath = stringValue("terminal_path", "");
|
||||
mTerminalArgumentsPattern = stringValue("terminal_arguments_pattern", "");
|
||||
|
||||
mAStylePath = includeTrailingPathDelimiter(pSettings->dirs().appLibexecDir())+"astyle";
|
||||
mHideNonSupportFilesInFileView=boolValue("hide_non_support_files_file_view",true);
|
||||
|
@ -3798,23 +3771,32 @@ void Settings::Environment::setIconZoomFactor(double newIconZoomFactor)
|
|||
mIconZoomFactor = newIconZoomFactor;
|
||||
}
|
||||
|
||||
QMap<QString, QString> Settings::Environment::predefinedTerminalArgumentsPattern() const
|
||||
QString Settings::Environment::queryPredefinedTerminalArgumentsPattern(const QString &executable) const
|
||||
{
|
||||
return mPredefinedTerminalArgumentsPattern;
|
||||
}
|
||||
#ifdef Q_OS_WINDOWS
|
||||
QString terminalListFilename(":/config/terminal-windows.json");
|
||||
#else // UNIX
|
||||
QString terminalListFilename(":/config/terminal-unix.json");
|
||||
#endif
|
||||
QFile terminalListFile(terminalListFilename);
|
||||
if (!terminalListFile.open(QFile::ReadOnly))
|
||||
throw FileError(QObject::tr("Can't open file '%1' for read.")
|
||||
.arg(terminalListFilename));
|
||||
QByteArray terminalListContent = terminalListFile.readAll();
|
||||
QJsonDocument terminalListDocument(QJsonDocument::fromJson(terminalListContent));
|
||||
|
||||
void Settings::Environment::setPredefinedTerminalArgumentsPattern(const QMap<QString, QString> &newPredefinedTerminalArgumentsPattern)
|
||||
{
|
||||
mPredefinedTerminalArgumentsPattern = newPredefinedTerminalArgumentsPattern;
|
||||
}
|
||||
|
||||
std::unique_ptr<QString> Settings::Environment::queryPredefinedTerminalArgumentsPattern(const QString &executable) const
|
||||
{
|
||||
auto it = mPredefinedTerminalArgumentsPattern.find(executable);
|
||||
if (it != mPredefinedTerminalArgumentsPattern.end())
|
||||
return std::make_unique<QString>(*it);
|
||||
else
|
||||
return nullptr;
|
||||
// determing terminal (if not set yet) and build predefined arguments pattern map from our list
|
||||
for (const auto &terminalGroup: terminalListDocument.array()) {
|
||||
const QJsonArray &terminals = terminalGroup.toObject()["terminals"].toArray();
|
||||
for (const auto &terminal_: terminals) {
|
||||
const QJsonObject &terminal = terminal_.toObject();
|
||||
const QString &path = terminal["path"].toString();
|
||||
const QString &termExecutable = QFileInfo(path).fileName();
|
||||
const QString &pattern = terminal["argsPattern"].toString();
|
||||
if (QString::compare( executable , termExecutable, PATH_SENSITIVITY)==0) return pattern;
|
||||
}
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
bool Settings::Environment::useCustomTerminal() const
|
||||
|
@ -3827,59 +3809,59 @@ void Settings::Environment::setUseCustomTerminal(bool newUseCustomTerminal)
|
|||
mUseCustomTerminal = newUseCustomTerminal;
|
||||
}
|
||||
|
||||
bool Settings::Environment::checkAndSetTerminal(QString terminalPath, QString argsPattern)
|
||||
{
|
||||
QStringList patternItems = splitProcessCommand(argsPattern);
|
||||
//bool Settings::Environment::checkAndSetTerminal(QString terminalPath, QString argsPattern)
|
||||
//{
|
||||
// QStringList patternItems = splitProcessCommand(argsPattern);
|
||||
|
||||
if (patternItems.empty() ||
|
||||
!(patternItems.contains("$argv") || patternItems.contains("$command") || patternItems.contains("$tmpfile")) // program not referenced
|
||||
)
|
||||
return false;
|
||||
// if (patternItems.empty() ||
|
||||
// !(patternItems.contains("$argv") || patternItems.contains("$command") || patternItems.contains("$tmpfile")) // program not referenced
|
||||
// )
|
||||
// return false;
|
||||
|
||||
// `term` is not referenced ("$argv"),
|
||||
// or is not directly called ("open -app $term -args $tmpfile"),
|
||||
// do not check terminal path
|
||||
if (patternItems[0] != "$term") {
|
||||
setTerminalPath(terminalPath);
|
||||
setTerminalArgumentsPattern(argsPattern);
|
||||
return true;
|
||||
}
|
||||
// // `term` is not referenced ("$argv"),
|
||||
// // or is not directly called ("open -app $term -args $tmpfile"),
|
||||
// // do not check terminal path
|
||||
// if (patternItems[0] != "$term") {
|
||||
// setTerminalPath(terminalPath);
|
||||
// setTerminalArgumentsPattern(argsPattern);
|
||||
// return true;
|
||||
// }
|
||||
|
||||
#define DO_CHECK_AND_SET do { \
|
||||
if (termPathInfo.isFile() && termPathInfo.isReadable() && termPathInfo.isExecutable()) { \
|
||||
mTerminalPath = terminalPath; \
|
||||
mTerminalArgumentsPattern = argsPattern; \
|
||||
return true; \
|
||||
} \
|
||||
} while (0)
|
||||
//#define DO_CHECK_AND_SET do { \
|
||||
// if (termPathInfo.isFile() && termPathInfo.isReadable() && termPathInfo.isExecutable()) { \
|
||||
// mTerminalPath = terminalPath; \
|
||||
// mTerminalArgumentsPattern = argsPattern; \
|
||||
// return true; \
|
||||
// } \
|
||||
// } while (0)
|
||||
|
||||
switch (getPathUnixExecSemantics(terminalPath)) {
|
||||
case UnixExecSemantics::Absolute: {
|
||||
QFileInfo termPathInfo(terminalPath);
|
||||
DO_CHECK_AND_SET;
|
||||
break;
|
||||
}
|
||||
case UnixExecSemantics::RelativeToCwd: {
|
||||
QDir appDir(pSettings->dirs().appDir());
|
||||
QString absoluteTerminalPath = appDir.absoluteFilePath(terminalPath);
|
||||
QFileInfo termPathInfo(absoluteTerminalPath);
|
||||
DO_CHECK_AND_SET;
|
||||
break;
|
||||
}
|
||||
case UnixExecSemantics::SearchInPath: {
|
||||
QStringList pathList = getExecutableSearchPaths();
|
||||
for (const QString &dir: pathList) {
|
||||
QString absoluteTerminalPath = QDir(dir).absoluteFilePath(terminalPath);
|
||||
QFileInfo termPathInfo(absoluteTerminalPath);
|
||||
DO_CHECK_AND_SET;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
#undef DO_CHECK_AND_SET
|
||||
// switch (getPathUnixExecSemantics(terminalPath)) {
|
||||
// case UnixExecSemantics::Absolute: {
|
||||
// QFileInfo termPathInfo(terminalPath);
|
||||
// DO_CHECK_AND_SET;
|
||||
// break;
|
||||
// }
|
||||
// case UnixExecSemantics::RelativeToCwd: {
|
||||
// QDir appDir(pSettings->dirs().appDir());
|
||||
// QString absoluteTerminalPath = appDir.absoluteFilePath(terminalPath);
|
||||
// QFileInfo termPathInfo(absoluteTerminalPath);
|
||||
// DO_CHECK_AND_SET;
|
||||
// break;
|
||||
// }
|
||||
// case UnixExecSemantics::SearchInPath: {
|
||||
// QStringList pathList = getExecutableSearchPaths();
|
||||
// for (const QString &dir: pathList) {
|
||||
// QString absoluteTerminalPath = QDir(dir).absoluteFilePath(terminalPath);
|
||||
// QFileInfo termPathInfo(absoluteTerminalPath);
|
||||
// DO_CHECK_AND_SET;
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//#undef DO_CHECK_AND_SET
|
||||
|
||||
return false;
|
||||
}
|
||||
// return false;
|
||||
//}
|
||||
|
||||
void Settings::Environment::doSave()
|
||||
{
|
||||
|
@ -4051,6 +4033,16 @@ void Settings::Executor::setProblemCaseValidateType(ProblemCaseValidateType newP
|
|||
mProblemCaseValidateType = newProblemCaseValidateType;
|
||||
}
|
||||
|
||||
bool Settings::Executor::enableVirualTerminalSequence() const
|
||||
{
|
||||
return mEnableVirualTerminalSequence;
|
||||
}
|
||||
|
||||
void Settings::Executor::setEnableVirualTerminalSequence(bool newEnableVirualTerminalSequence)
|
||||
{
|
||||
mEnableVirualTerminalSequence = newEnableVirualTerminalSequence;
|
||||
}
|
||||
|
||||
bool Settings::Executor::convertHTMLToTextForInput() const
|
||||
{
|
||||
return mConvertHTMLToTextForInput;
|
||||
|
@ -4114,6 +4106,9 @@ void Settings::Executor::setEnableProblemSet(bool newEnableProblemSet)
|
|||
void Settings::Executor::doSave()
|
||||
{
|
||||
saveValue("pause_console", mPauseConsole);
|
||||
#ifdef Q_OS_WIN
|
||||
saveValue("enable_virtual_terminal_sequence", mEnableVirualTerminalSequence);
|
||||
#endif
|
||||
saveValue("minimize_on_run", mMinimizeOnRun);
|
||||
saveValue("use_params",mUseParams);
|
||||
saveValue("params",mParams);
|
||||
|
@ -4149,6 +4144,9 @@ void Settings::Executor::setPauseConsole(bool pauseConsole)
|
|||
void Settings::Executor::doLoad()
|
||||
{
|
||||
mPauseConsole = boolValue("pause_console",true);
|
||||
#ifdef Q_OS_WIN
|
||||
mEnableVirualTerminalSequence = boolValue("enable_virtual_terminal_sequence", true);
|
||||
#endif
|
||||
mMinimizeOnRun = boolValue("minimize_on_run",false);
|
||||
mUseParams = boolValue("use_params",false);
|
||||
mParams = stringValue("params", "");
|
||||
|
|
|
@ -596,18 +596,13 @@ public:
|
|||
QJsonArray availableTerminals() const;
|
||||
void setAvailableTerminals(const QJsonArray &availableTerminals);
|
||||
|
||||
QMap<QString, QString> predefinedTerminalArgumentsPattern() const;
|
||||
void setPredefinedTerminalArgumentsPattern(const QMap<QString, QString> &newPredefinedTerminalArgumentsPattern);
|
||||
// it should be `std::optional<QString>`.
|
||||
// `std::unique_ptr` is a work around for Debian 10, where Qt 5.11 doesnt recognize `CONFIG += c++17`,
|
||||
// and macOS, where official Qt 5.15 is built against macOS 10.13 and `std::optional` is explicitly disabled.
|
||||
std::unique_ptr<QString> queryPredefinedTerminalArgumentsPattern(const QString &executable) const;
|
||||
QString queryPredefinedTerminalArgumentsPattern(const QString &executable) const;
|
||||
|
||||
bool useCustomTerminal() const;
|
||||
void setUseCustomTerminal(bool newUseCustomTerminal);
|
||||
|
||||
private:
|
||||
bool checkAndSetTerminal(QString terminalPath, QString argsPattern);
|
||||
// bool checkAndSetTerminal(QString terminalPath, QString argsPattern);
|
||||
bool updateTerminalList();
|
||||
|
||||
//Appearance
|
||||
|
@ -625,7 +620,6 @@ public:
|
|||
QString mTerminalPath;
|
||||
QString mAStylePath;
|
||||
QString mTerminalArgumentsPattern;
|
||||
QMap<QString, QString> mPredefinedTerminalArgumentsPattern;
|
||||
bool mUseCustomTerminal;
|
||||
bool mHideNonSupportFilesInFileView;
|
||||
bool mOpenFilesInSingleInstance;
|
||||
|
@ -955,6 +949,8 @@ public:
|
|||
ProblemCaseValidateType problemCaseValidateType() const;
|
||||
void setProblemCaseValidateType(ProblemCaseValidateType newProblemCaseValidateType);
|
||||
|
||||
bool enableVirualTerminalSequence() const;
|
||||
void setEnableVirualTerminalSequence(bool newEnableVirualTerminalSequence);
|
||||
private:
|
||||
// general
|
||||
bool mPauseConsole;
|
||||
|
@ -963,6 +959,7 @@ public:
|
|||
QString mParams;
|
||||
bool mRedirectInput;
|
||||
QString mInputFilename;
|
||||
bool mEnableVirualTerminalSequence;
|
||||
|
||||
//Problem Set
|
||||
bool mEnableProblemSet;
|
||||
|
|
|
@ -67,9 +67,9 @@ void EnvironmentProgramsWidget::updateCommandPreview(const QString &terminalPath
|
|||
void EnvironmentProgramsWidget::autoDetectAndUpdateArgumentsPattern(const QString &terminalPath)
|
||||
{
|
||||
const QString &executable = QFileInfo(terminalPath).fileName();
|
||||
const std::unique_ptr<QString> &pattern = pSettings->environment().queryPredefinedTerminalArgumentsPattern(executable);
|
||||
if (pattern != nullptr)
|
||||
ui->txtArgsPattern->setText(*pattern);
|
||||
const QString &pattern = pSettings->environment().queryPredefinedTerminalArgumentsPattern(executable);
|
||||
if (!pattern.isEmpty())
|
||||
ui->txtArgsPattern->setText(pattern);
|
||||
else
|
||||
QMessageBox::warning(nullptr,
|
||||
QObject::tr("Auto Detection Failed"),
|
||||
|
|
|
@ -30,6 +30,11 @@ ExecutorGeneralWidget::ExecutorGeneralWidget(const QString& name, const QString&
|
|||
{
|
||||
ui->setupUi(this);
|
||||
ui->txtParsedArgsInJson->setFont(QFont(DEFAULT_MONO_FONT));
|
||||
#ifdef Q_OS_WIN
|
||||
ui->chkVTSeq->setVisible(true);
|
||||
#else
|
||||
ui->chkVTSeq->setVisible(false);
|
||||
#endif
|
||||
}
|
||||
|
||||
ExecutorGeneralWidget::~ExecutorGeneralWidget()
|
||||
|
@ -40,6 +45,9 @@ ExecutorGeneralWidget::~ExecutorGeneralWidget()
|
|||
void ExecutorGeneralWidget::doLoad()
|
||||
{
|
||||
ui->chkPauseConsole->setChecked(pSettings->executor().pauseConsole());
|
||||
#ifdef Q_OS_WIN
|
||||
ui->chkVTSeq->setChecked(pSettings->executor().enableVirualTerminalSequence());
|
||||
#endif
|
||||
ui->chkMinimizeOnRun->setChecked(pSettings->executor().minimizeOnRun());
|
||||
ui->grpExecuteParameters->setChecked(pSettings->executor().useParams());
|
||||
ui->txtExecuteParamaters->setText(pSettings->executor().params());
|
||||
|
@ -50,6 +58,9 @@ void ExecutorGeneralWidget::doLoad()
|
|||
void ExecutorGeneralWidget::doSave()
|
||||
{
|
||||
pSettings->executor().setPauseConsole(ui->chkPauseConsole->isChecked());
|
||||
#ifdef Q_OS_WIN
|
||||
pSettings->executor().setEnableVirualTerminalSequence(ui->chkVTSeq->isChecked());
|
||||
#endif
|
||||
pSettings->executor().setMinimizeOnRun(ui->chkMinimizeOnRun->isChecked());
|
||||
pSettings->executor().setUseParams(ui->grpExecuteParameters->isChecked());
|
||||
pSettings->executor().setParams(ui->txtExecuteParamaters->text());
|
||||
|
@ -83,4 +94,3 @@ void ExecutorGeneralWidget::on_txtExecuteParamaters_textChanged(const QString &c
|
|||
QJsonArray obj = QJsonArray::fromStringList(parsed);
|
||||
ui->txtParsedArgsInJson->setText(QJsonDocument{obj}.toJson());
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,13 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chkVTSeq">
|
||||
<property name="text">
|
||||
<string>Enable Virtual Terminal Sequence Support</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chkMinimizeOnRun">
|
||||
<property name="text">
|
||||
|
@ -67,8 +74,7 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextBrowser" name="txtParsedArgsInJson">
|
||||
</widget>
|
||||
<widget class="QTextBrowser" name="txtParsedArgsInJson"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
|
|
@ -2090,6 +2090,10 @@
|
|||
<source>Parsed argv array (represented in JSON):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable Virtual Terminal Sequence Support</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ExecutorProblemSetWidget</name>
|
||||
|
|
|
@ -687,29 +687,29 @@ p, li { white-space: pre-wrap; }
|
|||
<context>
|
||||
<name>CompilerManager</name>
|
||||
<message>
|
||||
<location filename="../compiler/compilermanager.cpp" line="83"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="119"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="151"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="185"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="204"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="87"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="123"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="155"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="189"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="208"/>
|
||||
<source>No compiler set</source>
|
||||
<translation>无编译器设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilermanager.cpp" line="84"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="120"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="152"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="186"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="205"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="88"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="124"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="156"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="190"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="209"/>
|
||||
<source>No compiler set is configured.</source>
|
||||
<translation>没有配置编译器设置。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilermanager.cpp" line="84"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="120"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="152"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="186"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="205"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="88"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="124"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="156"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="190"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="209"/>
|
||||
<source>Can't start debugging.</source>
|
||||
<translation>无法启动调试器</translation>
|
||||
</message>
|
||||
|
@ -726,12 +726,12 @@ p, li { white-space: pre-wrap; }
|
|||
<translation type="vanished">程序中的文字内容可能无法被正确处理和显示。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilermanager.cpp" line="276"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="300"/>
|
||||
<source>Can't find Console Pauser</source>
|
||||
<translation>找不到Console Pauser程序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilermanager.cpp" line="277"/>
|
||||
<location filename="../compiler/compilermanager.cpp" line="301"/>
|
||||
<source>Console Pauser "%1" doesn't exists!</source>
|
||||
<translation>找不到Console Pauser程序"%1"!</translation>
|
||||
</message>
|
||||
|
@ -1505,10 +1505,10 @@ Are you really want to continue?</oldsource>
|
|||
<location filename="../editor.cpp" line="373"/>
|
||||
<location filename="../editor.cpp" line="443"/>
|
||||
<location filename="../editor.cpp" line="472"/>
|
||||
<location filename="../editor.cpp" line="1475"/>
|
||||
<location filename="../editor.cpp" line="1480"/>
|
||||
<location filename="../editor.cpp" line="1501"/>
|
||||
<location filename="../editor.cpp" line="1506"/>
|
||||
<location filename="../editor.cpp" line="1478"/>
|
||||
<location filename="../editor.cpp" line="1483"/>
|
||||
<location filename="../editor.cpp" line="1504"/>
|
||||
<location filename="../editor.cpp" line="1509"/>
|
||||
<source>Error</source>
|
||||
<translation>错误</translation>
|
||||
</message>
|
||||
|
@ -1557,44 +1557,44 @@ Are you really want to continue?</oldsource>
|
|||
<translation>文件%1已经被打开!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="1476"/>
|
||||
<location filename="../editor.cpp" line="1479"/>
|
||||
<source>The text to be copied exceeds count limit!</source>
|
||||
<translation>要复制的内容超过了行数限制!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="1481"/>
|
||||
<location filename="../editor.cpp" line="1484"/>
|
||||
<source>The text to be copied exceeds character limit!</source>
|
||||
<translation>要复制的内容超过了字符数限制!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="1502"/>
|
||||
<location filename="../editor.cpp" line="1505"/>
|
||||
<source>The text to be cut exceeds count limit!</source>
|
||||
<translation>要剪切的内容超过了行数限制!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="1507"/>
|
||||
<location filename="../editor.cpp" line="1510"/>
|
||||
<source>The text to be cut exceeds character limit!</source>
|
||||
<translation>要剪切的内容超过了字符数限制!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="2057"/>
|
||||
<location filename="../editor.cpp" line="2060"/>
|
||||
<source>hex: %1</source>
|
||||
<translation>16进制: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="2059"/>
|
||||
<location filename="../editor.cpp" line="2062"/>
|
||||
<source>dec: %1</source>
|
||||
<translation>十进制: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="3271"/>
|
||||
<location filename="../editor.cpp" line="3272"/>
|
||||
<source>Print Document</source>
|
||||
<translation>打印文档</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="4042"/>
|
||||
<location filename="../editor.cpp" line="4067"/>
|
||||
<location filename="../editor.cpp" line="4114"/>
|
||||
<location filename="../editor.cpp" line="4043"/>
|
||||
<location filename="../editor.cpp" line="4068"/>
|
||||
<location filename="../editor.cpp" line="4115"/>
|
||||
<source>Ctrl+click for more info</source>
|
||||
<translation>Ctrl+单击以获取更多信息</translation>
|
||||
</message>
|
||||
|
@ -1603,27 +1603,27 @@ Are you really want to continue?</oldsource>
|
|||
<translation type="vanished">未找到符号'%1'!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="4983"/>
|
||||
<location filename="../editor.cpp" line="4984"/>
|
||||
<source>astyle not found</source>
|
||||
<translation>找不到astyle程序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="4984"/>
|
||||
<location filename="../editor.cpp" line="4985"/>
|
||||
<source>Can't find astyle in "%1".</source>
|
||||
<translation>找不到astyle程序"%1".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="5144"/>
|
||||
<location filename="../editor.cpp" line="5145"/>
|
||||
<source>Break point condition</source>
|
||||
<translation>断点条件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="5145"/>
|
||||
<location filename="../editor.cpp" line="5146"/>
|
||||
<source>Enter the condition of the breakpoint:</source>
|
||||
<translation>输入当前断点的生效条件:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../editor.cpp" line="5393"/>
|
||||
<location filename="../editor.cpp" line="5394"/>
|
||||
<source>Readonly</source>
|
||||
<translation>只读</translation>
|
||||
</message>
|
||||
|
@ -2670,74 +2670,75 @@ Are you really want to continue?</oldsource>
|
|||
<source>Editors share one code parser</source>
|
||||
<translation>编辑器共享同一个代码分析器</translation>
|
||||
</message>
|
||||
</context><context>
|
||||
<name>EnvironmentProgramsWidget</name>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="14"/>
|
||||
<source>Form</source>
|
||||
<translation>表单</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="20"/>
|
||||
<source>Use custom terminal</source>
|
||||
<translation>使用自定义终端</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="49"/>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="63"/>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="98"/>
|
||||
<source>...</source>
|
||||
<translation>...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="81"/>
|
||||
<source>Cmd. preview</source>
|
||||
<translation>命令行预览</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="60"/>
|
||||
<source>Auto Detect Terminal Arguments Pattern</source>
|
||||
<translation>自动检测终端参数模式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="74"/>
|
||||
<source>Terminal</source>
|
||||
<translation>终端</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="95"/>
|
||||
<source>Test Command</source>
|
||||
<translation>测试命令</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="35"/>
|
||||
<source>$term -e $argv</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="42"/>
|
||||
<source>Args. pattern</source>
|
||||
<translation>参数模式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="88"/>
|
||||
<source>term -e sh -c "echo hello; sleep 3"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.cpp" line="108"/>
|
||||
<source>Choose Terminal Program</source>
|
||||
<translation>选择终端程序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.cpp" line="110"/>
|
||||
<source>All files (%1)</source>
|
||||
<translation>所有文件 (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All files (*.*)</source>
|
||||
<translation type="vanished">所有文件 (*.*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EnvironmentProgramsWidget</name>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="14"/>
|
||||
<source>Form</source>
|
||||
<translation>表单</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="20"/>
|
||||
<source>Use custom terminal</source>
|
||||
<translation>使用自定义终端</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="49"/>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="63"/>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="98"/>
|
||||
<source>...</source>
|
||||
<translation>...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="81"/>
|
||||
<source>Cmd. preview</source>
|
||||
<translation>命令行预览</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="60"/>
|
||||
<source>Auto Detect Terminal Arguments Pattern</source>
|
||||
<translation>自动检测终端参数模式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="74"/>
|
||||
<source>Terminal</source>
|
||||
<translation>终端</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="95"/>
|
||||
<source>Test Command</source>
|
||||
<translation>测试命令</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="35"/>
|
||||
<source>$term -e $argv</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="42"/>
|
||||
<source>Args. pattern</source>
|
||||
<translation>参数模式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.ui" line="88"/>
|
||||
<source>term -e sh -c "echo hello; sleep 3"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.cpp" line="110"/>
|
||||
<source>Choose Terminal Program</source>
|
||||
<translation>选择终端程序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.cpp" line="112"/>
|
||||
<source>All files (%1)</source>
|
||||
<translation>所有文件 (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All files (*.*)</source>
|
||||
<translation type="vanished">所有文件 (*.*)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EnvironmentShortcutModel</name>
|
||||
|
@ -2783,7 +2784,7 @@ Are you really want to continue?</oldsource>
|
|||
<context>
|
||||
<name>ExecutableRunner</name>
|
||||
<message>
|
||||
<location filename="../compiler/executablerunner.cpp" line="262"/>
|
||||
<location filename="../compiler/executablerunner.cpp" line="260"/>
|
||||
<source>The runner process '%1' failed to start.</source>
|
||||
<oldsource>The runner process failed to start.</oldsource>
|
||||
<translation>无法启动程序运行进程'%1'。</translation>
|
||||
|
@ -2793,17 +2794,17 @@ Are you really want to continue?</oldsource>
|
|||
<translation type="vanished">程序运行进程启动后崩溃。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/executablerunner.cpp" line="269"/>
|
||||
<location filename="../compiler/executablerunner.cpp" line="267"/>
|
||||
<source>The last waitFor...() function timed out.</source>
|
||||
<translation>waitFor()函数等待超时。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/executablerunner.cpp" line="272"/>
|
||||
<location filename="../compiler/executablerunner.cpp" line="270"/>
|
||||
<source>An error occurred when attempting to write to the runner process.</source>
|
||||
<translation>在向程序运行进程写入内容时出错。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/executablerunner.cpp" line="275"/>
|
||||
<location filename="../compiler/executablerunner.cpp" line="273"/>
|
||||
<source>An error occurred when attempting to read from the runner process.</source>
|
||||
<translation>在从程序运行进程读取内容时出错。</translation>
|
||||
</message>
|
||||
|
@ -2826,42 +2827,47 @@ Are you really want to continue?</oldsource>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="30"/>
|
||||
<source>Enable Virtual Terminal Sequence Support</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="37"/>
|
||||
<source>Minimize IDE when running programs</source>
|
||||
<translation>在运行程序时自动最小化IDE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="53"/>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="60"/>
|
||||
<source>Parameters to pass to your program</source>
|
||||
<translation>运行程序的命令行参数</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="65"/>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="72"/>
|
||||
<source>Parsed argv array (represented in JSON):</source>
|
||||
<translation>argv 数组解析结果(以 JSON 表示):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="68"/>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="85"/>
|
||||
<source>Redirect input to the following file:</source>
|
||||
<translation>将程序的标准输入重定向到下面的文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="83"/>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="99"/>
|
||||
<source>Debugger doesn't support this feature in Linux.</source>
|
||||
<translation>Linux下调试器不支持此功能。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="96"/>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="111"/>
|
||||
<source>Note: </source>
|
||||
<translation>说明:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="109"/>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="123"/>
|
||||
<source>Debugger only support this feature in gdb server mode in windows.</source>
|
||||
<translation>Windows下调试器需启用gdb server模式支持此功能。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="116"/>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="119"/>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="130"/>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.ui" line="133"/>
|
||||
<source>Browse</source>
|
||||
<translation>浏览</translation>
|
||||
</message>
|
||||
|
@ -2870,12 +2876,12 @@ Are you really want to continue?</oldsource>
|
|||
<translation type="vanished">注意:由于gdb的bug,调试时不支持该功能</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.cpp" line="63"/>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.cpp" line="77"/>
|
||||
<source>Choose input file</source>
|
||||
<translation>选择输入文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.cpp" line="65"/>
|
||||
<location filename="../settingsdialog/executorgeneralwidget.cpp" line="79"/>
|
||||
<source>All files (%1)</source>
|
||||
<translation>所有文件 (%1)</translation>
|
||||
</message>
|
||||
|
@ -8759,7 +8765,7 @@ Are you really want to continue?</oldsource>
|
|||
<context>
|
||||
<name>QApplication</name>
|
||||
<message>
|
||||
<location filename="../main.cpp" line="434"/>
|
||||
<location filename="../main.cpp" line="451"/>
|
||||
<source>Error</source>
|
||||
<translation>错误</translation>
|
||||
</message>
|
||||
|
@ -8846,7 +8852,7 @@ Are you really want to continue?</oldsource>
|
|||
<translation>无法写入配置文件夹"%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.cpp" line="383"/>
|
||||
<location filename="../main.cpp" line="400"/>
|
||||
<source>Can't load autolink settings</source>
|
||||
<translation>无法载入自动链接设置</translation>
|
||||
</message>
|
||||
|
@ -8908,7 +8914,7 @@ Are you really want to continue?</oldsource>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="69"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="414"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="417"/>
|
||||
<source>Code Generation</source>
|
||||
<translation>代码生成</translation>
|
||||
</message>
|
||||
|
@ -8936,7 +8942,7 @@ Are you really want to continue?</oldsource>
|
|||
<translation>使用下列指针大小编译(-mx)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="433"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="436"/>
|
||||
<source>Processor (-m)</source>
|
||||
<translation>处理器类型(-m)</translation>
|
||||
</message>
|
||||
|
@ -8954,7 +8960,7 @@ Are you really want to continue?</oldsource>
|
|||
<translation>生成调试信息(-g3)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settings.cpp" line="3230"/>
|
||||
<location filename="../settings.cpp" line="3229"/>
|
||||
<source>Would you like Red Panda C++ to search for compilers in PATH?</source>
|
||||
<translation>您同意小熊猫C++在PATH路径中寻找gcc编译器吗?</translation>
|
||||
</message>
|
||||
|
@ -8992,7 +8998,7 @@ Are you really want to continue?</oldsource>
|
|||
<translation>检查栈溢出(stack smashing)错误 (-fstack-protector)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="186"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="189"/>
|
||||
<source>Enable Sanitizer (-fsanitize=)</source>
|
||||
<translation>启用地址消毒(-fsanitize=)</translation>
|
||||
</message>
|
||||
|
@ -9017,82 +9023,82 @@ Are you really want to continue?</oldsource>
|
|||
<translation>检查是否严格遵守ISO C/C++标准</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="447"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="450"/>
|
||||
<source>Language standard (--std)</source>
|
||||
<translation>C语言标准(--std)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="455"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="458"/>
|
||||
<source>Memory model (--model)</source>
|
||||
<translation>内存模型(--model)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="457"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="460"/>
|
||||
<source>Use external stack</source>
|
||||
<translation>使用外部栈空间</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="458"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="461"/>
|
||||
<source>Use movc instead of movx to read from external ram</source>
|
||||
<translation>使用movc代替movx访问外部RAM</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="459"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="462"/>
|
||||
<source>Replaces lcall/ljmp with acall/ajmp</source>
|
||||
<translation>用acall/ajmp代替lcall/ljmp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="460"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="463"/>
|
||||
<source>Don't memcpy initialized xram from code</source>
|
||||
<translation>Don't memcpy initialized xram from code</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="461"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="464"/>
|
||||
<source>Don't generate startup code</source>
|
||||
<translation>无main函数时不生成起始代码(用于edsim51模拟器)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="463"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="466"/>
|
||||
<source>MCU Specification</source>
|
||||
<translation>微处理器参数</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="465"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="468"/>
|
||||
<source>Internal ram size</source>
|
||||
<translation>内部RAM大小</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="466"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="469"/>
|
||||
<source>External ram start location</source>
|
||||
<translation>外部RAM起始地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="467"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="470"/>
|
||||
<source>External ram size</source>
|
||||
<translation>外部RAM大小</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="468"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="471"/>
|
||||
<source>Stack pointer initial value</source>
|
||||
<translation>栈指针寄存器初始地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="469"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="472"/>
|
||||
<source>External stack start location</source>
|
||||
<translation>外部栈空间起始地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="470"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="473"/>
|
||||
<source>Direct data start location</source>
|
||||
<translation>内部数据区起始地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="471"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="474"/>
|
||||
<source>Code segment location</source>
|
||||
<translation>代码段起始地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="472"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="475"/>
|
||||
<source>Code segment size</source>
|
||||
<translation>代码段大小</translation>
|
||||
</message>
|
||||
|
@ -9116,7 +9122,7 @@ Are you really want to continue?</oldsource>
|
|||
<translation>遇到第一个错误后立即中止编译(-Wfatal-errors)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="196"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="199"/>
|
||||
<source>Linker</source>
|
||||
<translation>链接器</translation>
|
||||
</message>
|
||||
|
@ -9125,17 +9131,17 @@ Are you really want to continue?</oldsource>
|
|||
<translation type="vanished">链接Objective-C程序 (-lobjc)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="199"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="202"/>
|
||||
<source>Do not use standard system libraries (-nostdlib)</source>
|
||||
<translation>不使用标准库和系统启动文件(-nostdlib)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="200"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="203"/>
|
||||
<source>Do not create a console window (-mwindows)</source>
|
||||
<translation>不产生控制台窗口(-mwindows)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="201"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="204"/>
|
||||
<source>Strip executable (-s)</source>
|
||||
<translation>剥除附加信息(-s)</translation>
|
||||
</message>
|
||||
|
@ -9156,7 +9162,7 @@ Are you really want to continue?</oldsource>
|
|||
<translation type="vanished">仅预处理(-E)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="197"/>
|
||||
<location filename="../compiler/compilerinfo.cpp" line="200"/>
|
||||
<source>Use pipes instead of temporary files during compilation (-pipe)</source>
|
||||
<translation>编译时使用管道而不是临时文件(-pipe)</translation>
|
||||
</message>
|
||||
|
@ -9165,7 +9171,7 @@ Are you really want to continue?</oldsource>
|
|||
<translation type="vanished">只生成汇编代码(-S)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settings.cpp" line="3232"/>
|
||||
<location filename="../settings.cpp" line="3231"/>
|
||||
<source>Confirm</source>
|
||||
<translation>确认</translation>
|
||||
</message>
|
||||
|
@ -9186,13 +9192,13 @@ Are you really want to continue?</oldsource>
|
|||
<translation type="vanished">如果仍然保留这些设置,可能会导致编译错误。<br /><br />请选择“是”,除非您清楚的知道选择“否”的后果,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settings.cpp" line="3222"/>
|
||||
<location filename="../settings.cpp" line="3228"/>
|
||||
<location filename="../settings.cpp" line="3221"/>
|
||||
<location filename="../settings.cpp" line="3227"/>
|
||||
<source>Compiler set not configuared.</source>
|
||||
<translation>未配置编译器设置。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settings.cpp" line="3224"/>
|
||||
<location filename="../settings.cpp" line="3223"/>
|
||||
<source>Would you like Red Panda C++ to search for compilers in the following locations: <BR />'%1'<BR />'%2'? </source>
|
||||
<translation>您需要小熊猫C++在下列位置搜索编译器吗:<br />%1<br />%2</translation>
|
||||
</message>
|
||||
|
@ -9559,8 +9565,9 @@ Are you really want to continue?</oldsource>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../autolinkmanager.cpp" line="54"/>
|
||||
<location filename="../autolinkmanager.cpp" line="68"/>
|
||||
<location filename="../autolinkmanager.cpp" line="70"/>
|
||||
<location filename="../autolinkmanager.cpp" line="89"/>
|
||||
<location filename="../settings.cpp" line="3633"/>
|
||||
<location filename="../widgets/ojproblemsetmodel.cpp" line="168"/>
|
||||
<location filename="../widgets/ojproblemsetmodel.cpp" line="229"/>
|
||||
<source>Can't open file '%1' for read.</source>
|
||||
|
@ -9568,7 +9575,7 @@ Are you really want to continue?</oldsource>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../autolinkmanager.cpp" line="59"/>
|
||||
<location filename="../autolinkmanager.cpp" line="73"/>
|
||||
<location filename="../autolinkmanager.cpp" line="75"/>
|
||||
<location filename="../autolinkmanager.cpp" line="104"/>
|
||||
<source>Can't open file '%1' for write.</source>
|
||||
<translation>无法写入文件'%1'.</translation>
|
||||
|
@ -9605,12 +9612,12 @@ Are you really want to continue?</oldsource>
|
|||
<translation>在写入文件“%1”时出错。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.cpp" line="74"/>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.cpp" line="75"/>
|
||||
<source>Auto Detection Failed</source>
|
||||
<translation>自动检测失败</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.cpp" line="75"/>
|
||||
<location filename="../settingsdialog/environmentprogramswidget.cpp" line="76"/>
|
||||
<source>Failed to detect terminal arguments pattern for “%1”.</source>
|
||||
<translation>无法检测适用于 “%1” 的终端参数模式。</translation>
|
||||
</message>
|
||||
|
@ -10732,9 +10739,9 @@ Are you really want to continue?</oldsource>
|
|||
<location filename="../settingsdialog/settingsdialog.cpp" line="148"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="152"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="156"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="160"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="164"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="167"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="159"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="162"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="165"/>
|
||||
<source>Environment</source>
|
||||
<translation>环境</translation>
|
||||
</message>
|
||||
|
@ -10753,12 +10760,12 @@ Are you really want to continue?</oldsource>
|
|||
<translation type="vanished">文件夹</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="160"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="159"/>
|
||||
<source>Terminal</source>
|
||||
<translation>终端程序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="164"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="162"/>
|
||||
<source>Performance</source>
|
||||
<translation>性能</translation>
|
||||
</message>
|
||||
|
@ -10767,230 +10774,230 @@ Are you really want to continue?</oldsource>
|
|||
<location filename="../mainwindow.cpp" line="2394"/>
|
||||
<location filename="../mainwindow.cpp" line="9597"/>
|
||||
<location filename="../mainwindow.cpp" line="9602"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="174"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="270"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="172"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="268"/>
|
||||
<source>Compiler Set</source>
|
||||
<translation>编译器配置集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="2395"/>
|
||||
<location filename="../mainwindow.cpp" line="9598"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="174"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="177"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="172"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="175"/>
|
||||
<source>Compiler</source>
|
||||
<translation>编译器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="177"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="175"/>
|
||||
<source>Auto Link</source>
|
||||
<translation>自动链接</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="8489"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="180"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="221"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="227"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="230"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="238"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="264"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="178"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="219"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="225"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="228"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="236"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="262"/>
|
||||
<source>General</source>
|
||||
<translation>通用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="180"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="183"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="186"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="189"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="192"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="195"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="198"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="201"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="204"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="207"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="210"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="178"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="181"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="184"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="187"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="190"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="193"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="196"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="199"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="202"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="205"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="208"/>
|
||||
<source>Editor</source>
|
||||
<translation>编辑器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="183"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="181"/>
|
||||
<source>Font</source>
|
||||
<translation>字体</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="186"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="184"/>
|
||||
<source>Copy & Export</source>
|
||||
<translation>复制/导出</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="189"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="187"/>
|
||||
<source>Color</source>
|
||||
<translation>配色</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="192"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="190"/>
|
||||
<source>Code Completion</source>
|
||||
<translation>代码补全</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="195"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="193"/>
|
||||
<source>Symbol Completion</source>
|
||||
<translation>符号补全</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="198"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="196"/>
|
||||
<source>Snippet</source>
|
||||
<translation>代码模板</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="201"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="199"/>
|
||||
<source>Auto Syntax Checking</source>
|
||||
<translation>自动语法检查</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="204"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="202"/>
|
||||
<source>Tooltips</source>
|
||||
<translation>信息提示</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="207"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="205"/>
|
||||
<source>Auto save</source>
|
||||
<translation>自动保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="210"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="208"/>
|
||||
<source>Misc</source>
|
||||
<translation>杂项</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="8490"/>
|
||||
<location filename="../mainwindow.cpp" line="8894"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="221"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="224"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="219"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="222"/>
|
||||
<source>Program Runner</source>
|
||||
<translation>程序运行</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="8893"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="224"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="222"/>
|
||||
<source>Problem Set</source>
|
||||
<translation>试题集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="167"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="165"/>
|
||||
<source>Folders / Restore Default Settings</source>
|
||||
<translation>文件夹 / 恢复出厂设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="213"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="211"/>
|
||||
<source>Custom C/C++ Keywords</source>
|
||||
<translation>自定义C/C++关键字</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="213"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="218"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="211"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="216"/>
|
||||
<source>Languages</source>
|
||||
<translation>语言</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="218"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="216"/>
|
||||
<source>ASM Generation</source>
|
||||
<translation>生成汇编代码</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="227"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="225"/>
|
||||
<source>Debugger</source>
|
||||
<translation>调试器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="230"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="234"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="228"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="232"/>
|
||||
<source>Code Formatter</source>
|
||||
<translation>代码排版</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="234"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="232"/>
|
||||
<source>Program</source>
|
||||
<translation>程序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="238"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="242"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="236"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="240"/>
|
||||
<source>Tools</source>
|
||||
<translation>工具</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="242"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="240"/>
|
||||
<source>Git</source>
|
||||
<translation>Git</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="262"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="260"/>
|
||||
<source>Project Options</source>
|
||||
<translation>项目选项</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="2280"/>
|
||||
<location filename="../mainwindow.cpp" line="9603"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="264"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="267"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="270"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="273"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="276"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="280"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="284"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="287"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="291"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="297"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="262"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="265"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="268"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="271"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="274"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="278"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="282"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="285"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="289"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="295"/>
|
||||
<source>Project</source>
|
||||
<translation>项目</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="267"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="265"/>
|
||||
<source>Files</source>
|
||||
<translation>文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="273"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="271"/>
|
||||
<source>Custom Compile options</source>
|
||||
<translation>自定义编译选项</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="276"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="274"/>
|
||||
<source>Directories</source>
|
||||
<translation>文件夹</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="280"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="278"/>
|
||||
<source>Precompiled Header</source>
|
||||
<translation>预编译头文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="284"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="282"/>
|
||||
<source>Makefile</source>
|
||||
<translation>Makefile</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="287"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="285"/>
|
||||
<source>Output</source>
|
||||
<translation>输出</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="291"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="289"/>
|
||||
<source>DLL host</source>
|
||||
<translation>DLL宿主</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="297"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="295"/>
|
||||
<source>Version info</source>
|
||||
<translation>版本信息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="358"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="356"/>
|
||||
<source>Save Changes</source>
|
||||
<translation>保存修改</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="359"/>
|
||||
<location filename="../settingsdialog/settingsdialog.cpp" line="357"/>
|
||||
<source>There are changes in the settings, do you want to save them before swtich to other page?</source>
|
||||
<translation>本页中有尚未保存的设置修改,是否保存后再切换到其他页?</translation>
|
||||
</message>
|
||||
|
|
|
@ -1923,6 +1923,10 @@
|
|||
<source>Parsed argv array (represented in JSON):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable Virtual Terminal Sequence Support</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ExecutorProblemSetWidget</name>
|
||||
|
|
|
@ -38,7 +38,8 @@ using std::string;
|
|||
|
||||
enum RunProgramFlag {
|
||||
RPF_PAUSE_CONSOLE = 0x0001,
|
||||
RPF_REDIRECT_INPUT = 0x0002
|
||||
RPF_REDIRECT_INPUT = 0x0002,
|
||||
RPF_ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x0004
|
||||
};
|
||||
|
||||
HANDLE hJob;
|
||||
|
@ -98,11 +99,12 @@ void PauseExit(int exitcode, bool reInp) {
|
|||
exit(exitcode);
|
||||
}
|
||||
|
||||
string GetCommand(int argc,char** argv,bool &reInp,bool &pauseAfterExit) {
|
||||
string GetCommand(int argc,char** argv,bool &reInp,bool &pauseAfterExit, bool &enableVisualTerminalSeq) {
|
||||
string result;
|
||||
int flags = atoi(argv[1]);
|
||||
reInp = flags & RPF_REDIRECT_INPUT;
|
||||
pauseAfterExit = flags & RPF_PAUSE_CONSOLE;
|
||||
enableVisualTerminalSeq = flags & RPF_ENABLE_VIRTUAL_TERMINAL_PROCESSING;
|
||||
for(int i = 3;i < argc;i++) {
|
||||
// Quote the argument in case the path name contains spaces
|
||||
result += string("\"") + string(argv[i]) + string("\"");
|
||||
|
@ -219,8 +221,9 @@ int main(int argc, char** argv) {
|
|||
|
||||
bool reInp;
|
||||
bool pauseAfterExit;
|
||||
bool enableVisualTerminalSeq;
|
||||
// Then build the to-run application command
|
||||
string command = GetCommand(argc,argv,reInp, pauseAfterExit);
|
||||
string command = GetCommand(argc,argv,reInp, pauseAfterExit, enableVisualTerminalSeq);
|
||||
HANDLE hOutput = NULL;
|
||||
if (reInp) {
|
||||
SECURITY_ATTRIBUTES sa;
|
||||
|
@ -237,7 +240,9 @@ int main(int argc, char** argv) {
|
|||
} else {
|
||||
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
|
||||
}
|
||||
EnableVtSequence();
|
||||
if (enableVisualTerminalSeq) {
|
||||
EnableVtSequence();
|
||||
}
|
||||
|
||||
HANDLE hSharedMemory=INVALID_HANDLE_VALUE;
|
||||
int BUF_SIZE=1024;
|
||||
|
@ -255,7 +260,7 @@ int main(int argc, char** argv) {
|
|||
0,
|
||||
BUF_SIZE);
|
||||
} else {
|
||||
printf("can't open shared memory!");
|
||||
printf("can't open shared memory!\n");
|
||||
}
|
||||
|
||||
// Save starting timestamp
|
||||
|
|
Loading…
Reference in New Issue