- enhancement: "Trim trailing spaces" in code menu
- change: Don't auto disable compile and debug buttons. - enhancement: Better error messages for missing compile/debug/make programs. - enhancement: "Show special chars" in options / editor / font - fix: Lost compiler set settings if a compiler set's bin dirs is empty. - enhancement: Better error message when trying to debug with Release compile set.
This commit is contained in:
parent
7ddc30967d
commit
492345b939
8
NEWS.md
8
NEWS.md
|
@ -2,7 +2,13 @@ Red Panda C++ Version 2.7
|
|||
|
||||
- enhancement: Remove multiple problems in the problem set view
|
||||
- enhancement: Clear the proble view after a new problem set created
|
||||
- enhancement: "Remove trailing spaces" in options / editor / misc
|
||||
- enhancement: "Trim trailing spaces" in options / editor / misc
|
||||
- enhancement: "Trim trailing spaces" in code menu
|
||||
- change: Don't auto disable compile and debug buttons.
|
||||
- enhancement: Better error messages for missing compile/debug/make programs.
|
||||
- enhancement: "Show special chars" in options / editor / font
|
||||
- fix: Lost compiler set settings if a compiler set's bin dirs is empty.
|
||||
- enhancement: Better error message when trying to debug with Release compile set.
|
||||
|
||||
Red Panda C++ Version 2.6
|
||||
|
||||
|
|
|
@ -112,6 +112,7 @@
|
|||
"strikeout" : false
|
||||
},
|
||||
"Space" : {
|
||||
"foreground": "#ff9b9b9b",
|
||||
"bold" : false,
|
||||
"italic" : false,
|
||||
"underlined" : false,
|
||||
|
|
|
@ -112,6 +112,7 @@
|
|||
"strikeout" : false
|
||||
},
|
||||
"Space" : {
|
||||
"foreground": "#ffbababa",
|
||||
"bold" : false,
|
||||
"italic" : false,
|
||||
"underlined" : false,
|
||||
|
|
|
@ -112,6 +112,7 @@
|
|||
"strikeout" : false
|
||||
},
|
||||
"Space" : {
|
||||
"foreground": "#ffbababa",
|
||||
"bold" : false,
|
||||
"italic" : false,
|
||||
"underlined" : false,
|
||||
|
|
|
@ -191,6 +191,7 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Space": {
|
||||
"foreground": "#ff505050",
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
|
|
|
@ -198,6 +198,7 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Space": {
|
||||
"foreground": "#ffbababa",
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
|
|
|
@ -193,6 +193,7 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Space": {
|
||||
"foreground": "#ff303030",
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
|
|
|
@ -195,6 +195,7 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Space": {
|
||||
"foreground": "#ff505050",
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Assembler": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ff79abff",
|
||||
"italic": false,
|
||||
|
@ -36,7 +35,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Class": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ff79abff",
|
||||
"italic": false,
|
||||
|
@ -44,7 +42,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Comment": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ffc7dd0c",
|
||||
"italic": false,
|
||||
|
@ -82,7 +79,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Float": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ff7fb347",
|
||||
"italic": false,
|
||||
|
@ -126,7 +122,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Hexadecimal": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ff7fb347",
|
||||
"italic": false,
|
||||
|
@ -162,7 +157,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Number": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ff7fb347",
|
||||
"italic": false,
|
||||
|
@ -170,7 +164,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Octal": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ff7fb347",
|
||||
"italic": false,
|
||||
|
@ -178,7 +171,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Preprocessor": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ff79abff",
|
||||
"italic": false,
|
||||
|
@ -186,7 +178,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Reserved Word": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ffffffff",
|
||||
"italic": false,
|
||||
|
@ -202,7 +193,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Space": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ff505050",
|
||||
"italic": false,
|
||||
|
@ -210,7 +200,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"String": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ffffc600",
|
||||
"italic": false,
|
||||
|
@ -218,7 +207,6 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Symbol": {
|
||||
"background": "#ff1e1e1e",
|
||||
"bold": false,
|
||||
"foreground": "#ffd9e577",
|
||||
"italic": false,
|
||||
|
|
|
@ -195,6 +195,7 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Space": {
|
||||
"foreground": "#ff505050",
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
|
|
|
@ -194,6 +194,7 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Space": {
|
||||
"foreground": "#ff505050",
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
|
|
|
@ -190,6 +190,7 @@
|
|||
"underlined": false
|
||||
},
|
||||
"Space": {
|
||||
"foreground": "#ffbababa",
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
|
|
|
@ -113,7 +113,10 @@ bool FileCompiler::prepareForCompile()
|
|||
mArguments += getLibraryArguments(fileType);
|
||||
|
||||
if (!fileExists(mCompiler)) {
|
||||
throw CompileError(tr("The Compiler '%1' doesn't exists!").arg(mCompiler));
|
||||
throw CompileError(
|
||||
tr("The Compiler '%1' doesn't exists!").arg(mCompiler)
|
||||
+"<br />"
|
||||
+tr("Please check the \"program\" page of compiler settings."));
|
||||
}
|
||||
|
||||
log(tr("Processing %1 source file:").arg(strFileType));
|
||||
|
|
|
@ -530,7 +530,10 @@ bool ProjectCompiler::prepareForCompile()
|
|||
mCompiler = compilerSet()->make();
|
||||
|
||||
if (!fileExists(mCompiler)) {
|
||||
throw CompileError(tr("Make program '%1' doesn't exists!").arg(mCompiler));
|
||||
throw CompileError(
|
||||
tr("Make program '%1' doesn't exists!").arg(mCompiler)
|
||||
+"<br />"
|
||||
+tr("Please check the \"program\" page of compiler settings."));
|
||||
}
|
||||
|
||||
QString parallelParam;
|
||||
|
|
|
@ -101,7 +101,9 @@ bool Debugger::start(int compilerSetIndex, const QString& inferior, const QStrin
|
|||
mExecuting = false;
|
||||
QMessageBox::critical(pMainWindow,
|
||||
tr("Debugger not exists"),
|
||||
tr("Can''t find debugger in : \"%1\"").arg(debuggerPath));
|
||||
tr("Can''t find debugger (gdb) in : \"%1\"").arg(debuggerPath)
|
||||
+"<br />"
|
||||
+tr("Please check the \"program\" page of compiler settings."));
|
||||
return false;
|
||||
}
|
||||
if (pSettings->debugger().useGDBServer()) {
|
||||
|
|
|
@ -4705,7 +4705,7 @@ void Editor::applySettings()
|
|||
QSynedit::eoRightMouseMovesCursor | QSynedit::eoScrollByOneLess | QSynedit::eoTabIndent | QSynedit::eoHideShowScrollbars | QSynedit::eoGroupUndo
|
||||
| QSynedit::eoSelectWordByDblClick;
|
||||
|
||||
options.setFlag(QSynedit::eoShowSpecialChars, false);
|
||||
options.setFlag(QSynedit::eoShowSpecialChars, pSettings->editor().showSpecialChars());
|
||||
|
||||
//options
|
||||
options.setFlag(QSynedit::eoAutoIndent,pSettings->editor().autoIndent());
|
||||
|
|
|
@ -241,8 +241,8 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
|
||||
mMenuInsertCodeSnippet = new QMenu();
|
||||
mMenuInsertCodeSnippet->setTitle(tr("Insert Snippet"));
|
||||
ui->menuCode->insertMenu(ui->actionReformat_Code,mMenuInsertCodeSnippet);
|
||||
ui->menuCode->insertSeparator(ui->actionReformat_Code);
|
||||
ui->menuCode->insertMenu(ui->actionTrim_trailing_spaces,mMenuInsertCodeSnippet);
|
||||
ui->menuCode->insertSeparator(ui->actionTrim_trailing_spaces);
|
||||
connect(mMenuInsertCodeSnippet,&QMenu::aboutToShow,
|
||||
this, &MainWindow::onShowInsertCodeSnippetMenu);
|
||||
|
||||
|
@ -647,10 +647,17 @@ void MainWindow::updateProjectActions()
|
|||
|
||||
void MainWindow::updateCompileActions()
|
||||
{
|
||||
if (mCompilerManager->compiling() || mCompilerManager->running() || mDebugger->executing()) {
|
||||
ui->actionCompile->setEnabled(false);
|
||||
ui->actionCompile_Run->setEnabled(false);
|
||||
ui->actionRun->setEnabled(false);
|
||||
ui->actionRebuild->setEnabled(false);
|
||||
ui->actionGenerate_Assembly->setEnabled(false);
|
||||
ui->actionDebug->setEnabled(false);
|
||||
ui->btnRunAllProblemCases->setEnabled(false);
|
||||
} else {
|
||||
bool forProject=false;
|
||||
bool canCompile = false;
|
||||
bool canRun = false;
|
||||
bool canDebug = false;
|
||||
Editor * e = mEditorList->getEditor();
|
||||
if (e) {
|
||||
if (!e->inProject()) {
|
||||
|
@ -658,20 +665,6 @@ void MainWindow::updateCompileActions()
|
|||
if (fileType == FileType::CSource
|
||||
|| fileType == FileType::CppSource || e->isNew()) {
|
||||
canRun = true;
|
||||
Settings::PCompilerSet set = pSettings->compilerSets().defaultSet();
|
||||
if (set) {
|
||||
canDebug = set->canDebug();
|
||||
switch(fileType) {
|
||||
case FileType::CSource:
|
||||
canCompile = set->canCompileC();
|
||||
break;
|
||||
case FileType::CppSource:
|
||||
canCompile = set->canCompileCPP();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
forProject = (mProject!=nullptr);
|
||||
|
@ -682,28 +675,13 @@ void MainWindow::updateCompileActions()
|
|||
if (forProject) {
|
||||
canRun = (mProject->options().type !=ProjectType::DynamicLib)
|
||||
&& (mProject->options().type !=ProjectType::StaticLib);
|
||||
Settings::PCompilerSet set = pSettings->compilerSets().getSet(mProject->options().compilerSet);
|
||||
if (set) {
|
||||
canDebug = set->canDebug();
|
||||
canCompile = set->canMake();
|
||||
}
|
||||
}
|
||||
if (mCompilerManager->compiling() || mCompilerManager->running() || mDebugger->executing()
|
||||
|| (!canCompile)) {
|
||||
ui->actionCompile->setEnabled(false);
|
||||
ui->actionCompile_Run->setEnabled(false);
|
||||
ui->actionRun->setEnabled(false);
|
||||
ui->actionRebuild->setEnabled(false);
|
||||
ui->actionGenerate_Assembly->setEnabled(false);
|
||||
ui->actionDebug->setEnabled(false);
|
||||
ui->btnRunAllProblemCases->setEnabled(false);
|
||||
} else {
|
||||
ui->actionCompile->setEnabled(true);
|
||||
ui->actionCompile_Run->setEnabled(canRun && canCompile);
|
||||
ui->actionCompile_Run->setEnabled(canRun);
|
||||
ui->actionRun->setEnabled(canRun);
|
||||
ui->actionRebuild->setEnabled(true);
|
||||
ui->actionGenerate_Assembly->setEnabled(!forProject);
|
||||
ui->actionDebug->setEnabled(canDebug);
|
||||
ui->actionDebug->setEnabled(canRun);
|
||||
ui->btnRunAllProblemCases->setEnabled(canRun);
|
||||
}
|
||||
if (!mDebugger->executing()) {
|
||||
|
@ -2055,25 +2033,20 @@ void MainWindow::debug()
|
|||
debugEnabled = mProject->getCompileOption(CC_CMD_OPT_DEBUG_INFO) == COMPILER_OPTION_ON;
|
||||
stripEnabled = mProject->getCompileOption(LINK_CMD_OPT_STRIP_EXE) == COMPILER_OPTION_ON;
|
||||
// Ask the user if he wants to enable debugging...
|
||||
if (((!debugEnabled) || stripEnabled) &&
|
||||
(QMessageBox::question(this,
|
||||
if ((!debugEnabled) || stripEnabled) {
|
||||
if (QMessageBox::question(this,
|
||||
tr("Enable debugging"),
|
||||
tr("You have not enabled debugging info (-g3) and/or stripped it from the executable (-s) in Compiler Options.<BR /><BR />Do you want to correct this now?")
|
||||
) == QMessageBox::Yes)) {
|
||||
// Enable debugging, disable stripping
|
||||
mProject->setCompileOption(CC_CMD_OPT_DEBUG_INFO,COMPILER_OPTION_ON);
|
||||
mProject->setCompileOption(LINK_CMD_OPT_STRIP_EXE,"");
|
||||
|
||||
// Save changes to compiler set
|
||||
mProject->saveOptions();
|
||||
|
||||
mCompileSuccessionTask=std::make_shared<CompileSuccessionTask>();
|
||||
mCompileSuccessionTask->type = CompileSuccessionTaskType::Debug;
|
||||
mCompileSuccessionTask->execName = mProject->executable();
|
||||
mCompileSuccessionTask->isExecutable = true;
|
||||
mCompileSuccessionTask->binDirs = binDirs;
|
||||
|
||||
compile();
|
||||
tr("You are not using a Debug compiler setting.")
|
||||
+"<BR /><BR />"
|
||||
+tr("Please use a Debug compiler set, or enable the \"generate debugging info (-g3)\" and disable the \"strip additional info (-s)\" options in the compiler settings.")
|
||||
+"<BR /><BR />"
|
||||
+tr("Do you want to set it now?")
|
||||
) == QMessageBox::Yes) {
|
||||
changeOptions(
|
||||
SettingsDialog::tr("Compiler Set"),
|
||||
SettingsDialog::tr("Compiler")
|
||||
);
|
||||
}
|
||||
return;
|
||||
}
|
||||
// Did we compile?
|
||||
|
@ -2155,25 +2128,22 @@ void MainWindow::debug()
|
|||
debugEnabled = compilerSet->getCompileOptionValue(CC_CMD_OPT_DEBUG_INFO) == COMPILER_OPTION_ON;
|
||||
stripEnabled = compilerSet->getCompileOptionValue(LINK_CMD_OPT_STRIP_EXE) == COMPILER_OPTION_ON;
|
||||
// Ask the user if he wants to enable debugging...
|
||||
if (((!debugEnabled) || stripEnabled) &&
|
||||
(QMessageBox::question(this,
|
||||
if ((!debugEnabled) || stripEnabled) {
|
||||
if (QMessageBox::question(this,
|
||||
tr("Enable debugging"),
|
||||
tr("You have not enabled debugging info (-g3) and/or stripped it from the executable (-s) in Compiler Options.<BR /><BR />Do you want to correct this now?")
|
||||
) == QMessageBox::Yes)) {
|
||||
// Enable debugging, disable stripping
|
||||
compilerSet->setCompileOption(CC_CMD_OPT_DEBUG_INFO,COMPILER_OPTION_ON);
|
||||
compilerSet->unsetCompileOption(LINK_CMD_OPT_STRIP_EXE);
|
||||
|
||||
// Save changes to compiler set
|
||||
pSettings->compilerSets().saveSet(pSettings->compilerSets().defaultIndex());
|
||||
|
||||
mCompileSuccessionTask=std::make_shared<CompileSuccessionTask>();
|
||||
mCompileSuccessionTask->type = CompileSuccessionTaskType::Debug;
|
||||
mCompileSuccessionTask->binDirs = binDirs;
|
||||
compile();
|
||||
tr("You are not using a Debug compiler setting.")
|
||||
+"<BR /><BR />"
|
||||
+tr("Please choose a Debug compiler set in the toolbar, or enable the \"generate debugging info (-g3)\" and disable the \"strip additional info (-s)\" options in the compiler set settings's \"settings\" page.")
|
||||
+"<BR /><BR />"
|
||||
+tr("Do you want to set it now?")
|
||||
) == QMessageBox::Yes) {
|
||||
changeOptions(
|
||||
SettingsDialog::tr("Compiler Set"),
|
||||
SettingsDialog::tr("Compiler")
|
||||
);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Editor* e = mEditorList->getEditor();
|
||||
if (e!=nullptr) {
|
||||
// Did we saved?
|
||||
|
@ -4572,6 +4542,7 @@ void MainWindow::onEditorContextMenu(const QPoint& pos)
|
|||
menu.addAction(ui->actionOpen_Terminal);
|
||||
menu.addAction(ui->actionLocate_in_Files_View);
|
||||
menu.addSeparator();
|
||||
menu.addAction(ui->actionTrim_trailing_spaces);
|
||||
menu.addAction(ui->actionReformat_Code);
|
||||
menu.addSeparator();
|
||||
menu.addAction(ui->actionCut);
|
||||
|
@ -8997,3 +8968,12 @@ void MainWindow::on_btnImportFPS_clicked()
|
|||
}
|
||||
|
||||
|
||||
|
||||
void MainWindow::on_actionTrim_trailing_spaces_triggered()
|
||||
{
|
||||
Editor * e = mEditorList->getEditor();
|
||||
if (e) {
|
||||
e->trimTrailingSpaces();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -753,6 +753,8 @@ private slots:
|
|||
|
||||
void on_btnImportFPS_clicked();
|
||||
|
||||
void on_actionTrim_trailing_spaces_triggered();
|
||||
|
||||
private:
|
||||
Ui::MainWindow *ui;
|
||||
EditorList *mEditorList;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>945</width>
|
||||
<width>955</width>
|
||||
<height>619</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
@ -119,8 +119,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>945</width>
|
||||
<height>25</height>
|
||||
<width>955</width>
|
||||
<height>29</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuFile">
|
||||
|
@ -229,6 +229,7 @@
|
|||
<addaction name="actionRemove_Bookmark"/>
|
||||
<addaction name="actionModify_Bookmark_Description"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionTrim_trailing_spaces"/>
|
||||
<addaction name="actionReformat_Code"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuWindow">
|
||||
|
@ -3283,6 +3284,11 @@
|
|||
<string>Generate Assembly</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionTrim_trailing_spaces">
|
||||
<property name="text">
|
||||
<string>Trim trailing spaces</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
|
|
|
@ -730,6 +730,16 @@ void Settings::Editor::setRemoveTrailingSpacesWhenSaved(bool newRemoveTrailingSp
|
|||
mRemoveTrailingSpacesWhenSaved = newRemoveTrailingSpacesWhenSaved;
|
||||
}
|
||||
|
||||
bool Settings::Editor::showSpecialChars() const
|
||||
{
|
||||
return mShowSpecialChars;
|
||||
}
|
||||
|
||||
void Settings::Editor::setShowSpecialChars(bool newShowSpecialChars)
|
||||
{
|
||||
mShowSpecialChars = newShowSpecialChars;
|
||||
}
|
||||
|
||||
bool Settings::Editor::highlightCurrentWord() const
|
||||
{
|
||||
return mHighlightCurrentWord;
|
||||
|
@ -1220,6 +1230,8 @@ void Settings::Editor::doSave()
|
|||
saveValue("caret_use_text_color",mCaretUseTextColor);
|
||||
saveValue("caret_color",mCaretColor);
|
||||
|
||||
saveValue("show_special_chars",mShowSpecialChars);
|
||||
|
||||
//highlight
|
||||
saveValue("highlight_matching_braces",mHighlightMathingBraces);
|
||||
saveValue("highlight_current_word",mHighlightCurrentWord);
|
||||
|
@ -1345,6 +1357,9 @@ void Settings::Editor::doLoad()
|
|||
mCaretUseTextColor = boolValue("caret_use_text_color",true);
|
||||
mCaretColor = colorValue("caret_color",Qt::yellow);
|
||||
|
||||
mShowSpecialChars = boolValue("show_special_chars",false);
|
||||
|
||||
|
||||
//highlight
|
||||
mHighlightMathingBraces = boolValue("highlight_matching_braces",true);
|
||||
mHighlightCurrentWord = boolValue("highlight_current_word",true);
|
||||
|
@ -1581,8 +1596,10 @@ Settings::CompilerSet::CompilerSet(const QString& compilerFolder, const QString&
|
|||
mExecutableSuffix(DEFAULT_EXECUTABLE_SUFFIX),
|
||||
mCompilationStage(Settings::CompilerSet::CompilationStage::GenerateExecutable)
|
||||
{
|
||||
if (QDir(compilerFolder).exists()) {
|
||||
setProperties(compilerFolder, c_prog);
|
||||
QDir dir(compilerFolder);
|
||||
if (dir.exists(c_prog)) {
|
||||
|
||||
setProperties(dir.absoluteFilePath(c_prog));
|
||||
|
||||
//manually set the directories
|
||||
setDirectories(compilerFolder, mCompilerType);
|
||||
|
@ -1717,72 +1734,72 @@ static void checkDirs(const QStringList& dirlist, QString& gooddirs, QString& ba
|
|||
}
|
||||
|
||||
|
||||
bool Settings::CompilerSet::dirsValid(QString &msg)
|
||||
{
|
||||
QString goodbin, badbin, goodlib, badlib, goodinc, badinc, goodinccpp, badinccpp;
|
||||
msg = "";
|
||||
//bool Settings::CompilerSet::dirsValid(QString &msg)
|
||||
//{
|
||||
// QString goodbin, badbin, goodlib, badlib, goodinc, badinc, goodinccpp, badinccpp;
|
||||
// msg = "";
|
||||
|
||||
if (mBinDirs.count()>0) {// we need some bin dir, so treat count=0 as an error too
|
||||
checkDirs(mBinDirs,goodbin,badbin);
|
||||
if (!badbin.isEmpty()) {
|
||||
msg += QObject::tr("The following %1 directories don't exist:").arg(
|
||||
QObject::tr("binary")
|
||||
);
|
||||
msg += "<br />";
|
||||
msg += badbin.replace(';',"<br />");
|
||||
msg += "<br />";
|
||||
msg += "<br />";
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
msg += QObject::tr("No %1 directories have been specified.").arg(
|
||||
QObject::tr("binary")
|
||||
);
|
||||
msg += "<br />";
|
||||
msg += "<br />";
|
||||
return false;
|
||||
}
|
||||
checkDirs(mCIncludeDirs,goodbin,badbin);
|
||||
if (!badbin.isEmpty()) {
|
||||
msg += QObject::tr("The following %1 directories don't exist:").arg(
|
||||
QObject::tr("C include")
|
||||
);
|
||||
msg += "<br />";
|
||||
msg += badbin.replace(';',"<br />");
|
||||
msg += "<br />";
|
||||
msg += "<br />";
|
||||
return false;
|
||||
}
|
||||
// if (mBinDirs.count()>0) {// we need some bin dir, so treat count=0 as an error too
|
||||
// checkDirs(mBinDirs,goodbin,badbin);
|
||||
// if (!badbin.isEmpty()) {
|
||||
// msg += QObject::tr("The following %1 directories don't exist:").arg(
|
||||
// QObject::tr("binary")
|
||||
// );
|
||||
// msg += "<br />";
|
||||
// msg += badbin.replace(';',"<br />");
|
||||
// msg += "<br />";
|
||||
// msg += "<br />";
|
||||
// return false;
|
||||
// }
|
||||
// } else {
|
||||
// msg += QObject::tr("No %1 directories have been specified.").arg(
|
||||
// QObject::tr("binary")
|
||||
// );
|
||||
// msg += "<br />";
|
||||
// msg += "<br />";
|
||||
// return false;
|
||||
// }
|
||||
// checkDirs(mCIncludeDirs,goodbin,badbin);
|
||||
// if (!badbin.isEmpty()) {
|
||||
// msg += QObject::tr("The following %1 directories don't exist:").arg(
|
||||
// QObject::tr("C include")
|
||||
// );
|
||||
// msg += "<br />";
|
||||
// msg += badbin.replace(';',"<br />");
|
||||
// msg += "<br />";
|
||||
// msg += "<br />";
|
||||
// return false;
|
||||
// }
|
||||
|
||||
checkDirs(mCppIncludeDirs,goodbin,badbin);
|
||||
if (!badbin.isEmpty()) {
|
||||
msg += QObject::tr("The following %1 directories don't exist:").arg(
|
||||
QObject::tr("C++ include")
|
||||
);
|
||||
msg += "<br />";
|
||||
msg += badbin.replace(';',"<br />");
|
||||
msg += "<br />";
|
||||
msg += "<br />";
|
||||
return false;
|
||||
}
|
||||
// checkDirs(mCppIncludeDirs,goodbin,badbin);
|
||||
// if (!badbin.isEmpty()) {
|
||||
// msg += QObject::tr("The following %1 directories don't exist:").arg(
|
||||
// QObject::tr("C++ include")
|
||||
// );
|
||||
// msg += "<br />";
|
||||
// msg += badbin.replace(';',"<br />");
|
||||
// msg += "<br />";
|
||||
// msg += "<br />";
|
||||
// return false;
|
||||
// }
|
||||
|
||||
checkDirs(mLibDirs,goodbin,badbin);
|
||||
if (!badbin.isEmpty()) {
|
||||
msg += QObject::tr("The following %1 directories don't exist:").arg(
|
||||
QObject::tr("C++ include")
|
||||
);
|
||||
msg += "<br />";
|
||||
msg += badbin.replace(';',"<br />");
|
||||
msg += "<br />";
|
||||
msg += "<br />";
|
||||
return false;
|
||||
}
|
||||
// checkDirs(mLibDirs,goodbin,badbin);
|
||||
// if (!badbin.isEmpty()) {
|
||||
// msg += QObject::tr("The following %1 directories don't exist:").arg(
|
||||
// QObject::tr("C++ include")
|
||||
// );
|
||||
// msg += "<br />";
|
||||
// msg += badbin.replace(';',"<br />");
|
||||
// msg += "<br />";
|
||||
// msg += "<br />";
|
||||
// return false;
|
||||
// }
|
||||
|
||||
if (!msg.isEmpty())
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
// if (!msg.isEmpty())
|
||||
// return false;
|
||||
// else
|
||||
// return true;
|
||||
//}
|
||||
|
||||
//bool Settings::CompilerSet::validateExes(QString &msg)
|
||||
//{
|
||||
|
@ -2075,11 +2092,11 @@ static void addExistingDirectory(QStringList& dirs, const QString& directory) {
|
|||
dirs.append(dirPath);
|
||||
}
|
||||
|
||||
void Settings::CompilerSet::setProperties(const QString &binDir, const QString& c_prog)
|
||||
void Settings::CompilerSet::setProperties(const QString& c_prog)
|
||||
{
|
||||
if (c_prog.isEmpty())
|
||||
if (!fileExists(c_prog))
|
||||
return;
|
||||
|
||||
QString binDir=extractFileDir(c_prog);
|
||||
// Obtain version number and compiler distro etc
|
||||
QStringList arguments;
|
||||
arguments.append("-v");
|
||||
|
@ -2844,37 +2861,36 @@ void Settings::CompilerSets::loadSets()
|
|||
PCompilerSet pCurrentSet = defaultSet();
|
||||
if (pCurrentSet) {
|
||||
QString msg;
|
||||
if (!pCurrentSet->dirsValid(msg)) {
|
||||
if (QMessageBox::warning(nullptr,QObject::tr("Confirm"),
|
||||
QObject::tr("The following problems were found during validation of compiler set \"%1\":")
|
||||
.arg(pCurrentSet->name())
|
||||
+"<br /><br />"
|
||||
+msg
|
||||
+"<br /><br />"
|
||||
+QObject::tr("Leaving those directories will lead to problems during compilation.")
|
||||
+"<br /><br />"
|
||||
+QObject::tr("Would you like Red Panda C++ to remove them for you and add the default paths to the valid paths?")
|
||||
,
|
||||
QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) {
|
||||
// if (!pCurrentSet->dirsValid(msg)) {
|
||||
// if (QMessageBox::warning(nullptr,QObject::tr("Confirm"),
|
||||
// QObject::tr("The following problems were found during validation of compiler set \"%1\":")
|
||||
// .arg(pCurrentSet->name())
|
||||
// +"<br /><br />"
|
||||
// +msg
|
||||
// +"<br /><br />"
|
||||
// +QObject::tr("Leaving those directories will lead to problems during compilation.")
|
||||
// +"<br /><br />"
|
||||
// +QObject::tr("Would you like Red Panda C++ to remove them for you and add the default paths to the valid paths?")
|
||||
// ,
|
||||
// QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) {
|
||||
// return;
|
||||
// }
|
||||
// findSets();
|
||||
// if ( (int)mList.size() <= mDefaultIndex)
|
||||
// mDefaultIndex = mList.size()-1;
|
||||
// pCurrentSet = defaultSet();
|
||||
// if (!pCurrentSet) {
|
||||
// mList.clear();
|
||||
// mDefaultIndex = -1;
|
||||
// saveSets();
|
||||
// return;
|
||||
// }
|
||||
// saveSets();
|
||||
// pCurrentSet->setProperties(pCurrentSet->CCompiler());
|
||||
// } else {
|
||||
// return;
|
||||
// }
|
||||
return;
|
||||
}
|
||||
findSets();
|
||||
if ( (int)mList.size() <= mDefaultIndex)
|
||||
mDefaultIndex = mList.size()-1;
|
||||
pCurrentSet = defaultSet();
|
||||
if (!pCurrentSet) {
|
||||
mList.clear();
|
||||
mDefaultIndex = -1;
|
||||
saveSets();
|
||||
return;
|
||||
}
|
||||
saveSets();
|
||||
if (pCurrentSet->binDirs().count()>0) {
|
||||
pCurrentSet->setProperties(pCurrentSet->binDirs()[0],pCurrentSet->CCompiler());
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
#ifdef Q_OS_WIN
|
||||
QString msg = QObject::tr("Compiler set not configuared.")
|
||||
|
@ -3137,8 +3153,8 @@ Settings::PCompilerSet Settings::CompilerSets::loadSet(int index)
|
|||
|
||||
mSettings->mSettings.endGroup();
|
||||
|
||||
if (pSet->binDirs().isEmpty())
|
||||
return PCompilerSet();
|
||||
// if (pSet->binDirs().isEmpty())
|
||||
// return PCompilerSet();
|
||||
|
||||
return pSet;
|
||||
}
|
||||
|
|
|
@ -382,6 +382,9 @@ public:
|
|||
bool removeTrailingSpacesWhenSaved() const;
|
||||
void setRemoveTrailingSpacesWhenSaved(bool newRemoveTrailingSpacesWhenSaved);
|
||||
|
||||
bool showSpecialChars() const;
|
||||
void setShowSpecialChars(bool newShowSpecialChars);
|
||||
|
||||
private:
|
||||
//General
|
||||
// indents
|
||||
|
@ -399,6 +402,8 @@ public:
|
|||
QSynedit::EditCaretType mCaretForOverwrite;
|
||||
bool mCaretUseTextColor;
|
||||
QColor mCaretColor;
|
||||
//
|
||||
bool mShowSpecialChars;
|
||||
|
||||
//highlights
|
||||
bool mHighlightCurrentWord;
|
||||
|
@ -1241,7 +1246,7 @@ public:
|
|||
CompilerSet& operator= (const CompilerSet&& ) = delete;
|
||||
|
||||
// Initialization
|
||||
void setProperties(const QString& binDir, const QString& c_prog);
|
||||
void setProperties(const QString& c_prog);
|
||||
|
||||
void resetCompileOptionts();
|
||||
bool setCompileOption(const QString& key, int valIndex);
|
||||
|
@ -1257,7 +1262,7 @@ public:
|
|||
bool canCompileCPP();
|
||||
bool canMake();
|
||||
bool canDebug();
|
||||
bool dirsValid(QString& msg);
|
||||
// bool dirsValid(QString& msg);
|
||||
// bool validateExes(QString& msg);
|
||||
//properties
|
||||
const QString& CCompiler() const;
|
||||
|
|
|
@ -59,7 +59,7 @@ void EditorFontWidget::doLoad()
|
|||
ui->cbNonAsciiFont->setCurrentFont(QFont(pSettings->editor().nonAsciiFontName()));
|
||||
ui->spinFontSize->setValue(pSettings->editor().fontSize());
|
||||
ui->chkLigature->setChecked(pSettings->editor().enableLigaturesSupport());
|
||||
|
||||
ui->chkShowSpecialChars->setChecked(pSettings->editor().showSpecialChars());
|
||||
//gutter
|
||||
ui->chkGutterVisible->setChecked(pSettings->editor().gutterVisible());
|
||||
ui->chkAutoSizeGutter->setChecked(pSettings->editor().gutterAutoSize());
|
||||
|
@ -83,7 +83,7 @@ void EditorFontWidget::doSave()
|
|||
pSettings->editor().setNonAsciiFontName(ui->cbNonAsciiFont->currentFont().family());
|
||||
pSettings->editor().setFontSize(ui->spinFontSize->value());
|
||||
pSettings->editor().setEnableLigaturesSupport(ui->chkLigature->isChecked());
|
||||
|
||||
pSettings->editor().setShowSpecialChars(ui->chkShowSpecialChars->isChecked());
|
||||
//gutter
|
||||
pSettings->editor().setGutterVisible(ui->chkGutterVisible->isChecked());
|
||||
pSettings->editor().setGutterAutoSize(ui->chkAutoSizeGutter->isChecked());
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>737</width>
|
||||
<height>569</height>
|
||||
<width>876</width>
|
||||
<height>643</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -30,44 +30,6 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QWidget" name="widget_3" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="spinFontSize">
|
||||
<property name="minimum">
|
||||
<number>2</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QWidget" name="widget_2" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
|
@ -119,11 +81,42 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="chkLigature">
|
||||
<property name="text">
|
||||
<string>Enable Ligatures Support</string>
|
||||
<item row="2" column="1">
|
||||
<widget class="QWidget" name="widget_3" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="spinFontSize">
|
||||
<property name="minimum">
|
||||
<number>2</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
|
@ -174,6 +167,20 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="chkShowSpecialChars">
|
||||
<property name="text">
|
||||
<string>Show special chars</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="chkLigature">
|
||||
<property name="text">
|
||||
<string>Enable ligatures support</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -183,6 +190,21 @@
|
|||
<string>Gutter</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chkGutterVisible">
|
||||
<property name="text">
|
||||
|
@ -264,6 +286,21 @@
|
|||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chkAddLeadingZeros">
|
||||
<property name="text">
|
||||
|
@ -345,6 +382,21 @@
|
|||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<property name="leftMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="horizontalSpacing">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>721</width>
|
||||
<height>982</height>
|
||||
<width>795</width>
|
||||
<height>1211</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -20,6 +20,21 @@
|
|||
<string>Indents</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chkAutoIndent">
|
||||
<property name="text">
|
||||
|
@ -37,6 +52,21 @@
|
|||
<item>
|
||||
<widget class="QWidget" name="widget_2" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="lbCaretColor_2">
|
||||
<property name="text">
|
||||
|
@ -79,8 +109,37 @@
|
|||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_3" native="true">
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="lbIndentLineColor">
|
||||
<property name="text">
|
||||
<string>Indent Line Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="ColorEdit" name="colorIndentLine">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
|
@ -93,23 +152,6 @@
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="lbIndentLineColor">
|
||||
<property name="text">
|
||||
<string>Indent Line Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="ColorEdit" name="colorIndentLine">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -129,6 +171,21 @@
|
|||
<string>Caret</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chkEnhanceHome">
|
||||
<property name="text">
|
||||
|
@ -162,13 +219,20 @@
|
|||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="cbCaretForOverwrite"/>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="lbCaretForOverwrite">
|
||||
<property name="text">
|
||||
<string>Caret for overwriting mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<item row="4" column="1">
|
||||
<widget class="ColorEdit" name="colorCaret">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
|
@ -178,6 +242,16 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="lbCaretColor">
|
||||
<property name="text">
|
||||
<string>Caret Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="cbCaretForOverwrite"/>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="lbCaretForInsert">
|
||||
<property name="text">
|
||||
|
@ -188,13 +262,6 @@
|
|||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="cbCaretForInsert"/>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="lbCaretColor">
|
||||
<property name="text">
|
||||
<string>Caret Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
|
@ -208,13 +275,6 @@
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="lbCaretForOverwrite">
|
||||
<property name="text">
|
||||
<string>Caret for overwriting mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="3">
|
||||
<widget class="QCheckBox" name="chkCaretUseTextColor">
|
||||
<property name="text">
|
||||
|
@ -234,6 +294,21 @@
|
|||
<string>Highlight</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<property name="spacing">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chkHighlightMatchingBraces">
|
||||
<property name="text">
|
||||
|
@ -400,9 +475,36 @@
|
|||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<property name="spacing">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_4" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="lbCaretColor_3">
|
||||
<property name="text">
|
||||
|
@ -441,8 +543,37 @@
|
|||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_5" native="true">
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="lbCaretColor_5">
|
||||
<property name="text">
|
||||
<string>Right edge line color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="ColorEdit" name="colorRightEdgeLine">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
|
@ -455,23 +586,6 @@
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="lbCaretColor_5">
|
||||
<property name="text">
|
||||
<string>Right edge line color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="ColorEdit" name="colorRightEdgeLine">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>515</width>
|
||||
<height>510</height>
|
||||
<width>583</width>
|
||||
<height>528</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -132,14 +132,14 @@
|
|||
<item row="0" column="1">
|
||||
<widget class="QRadioButton" name="rbAutoReformat">
|
||||
<property name="text">
|
||||
<string>Reformat Code</string>
|
||||
<string>Reformat</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QRadioButton" name="rbRemoveTrailingSpaces">
|
||||
<property name="text">
|
||||
<string>Remove Trailing Spaces</string>
|
||||
<string>Trim trailing spaces</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
@ -905,7 +905,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Can''t find debugger in : "%1"</source>
|
||||
<translation>Impossível encontrar depurador em "%1"</translation>
|
||||
<translation type="vanished">Impossível encontrar depurador em "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>GDB Server path error</source>
|
||||
|
@ -963,6 +963,14 @@
|
|||
<source>Can't open file '%1' for read.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can''t find debugger (gdb) in : "%1"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check the "program" page of compiler settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Editor</name>
|
||||
|
@ -1343,7 +1351,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Enable Ligatures Support</source>
|
||||
<translation>Habilitar suporte a ligaduras</translation>
|
||||
<translation type="vanished">Habilitar suporte a ligaduras</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Size:</source>
|
||||
|
@ -1393,6 +1401,14 @@
|
|||
<source>Use Custom Font</source>
|
||||
<translation>Usar fonte personalizada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show special chars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable ligatures support</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditorGeneralWidget</name>
|
||||
|
@ -1485,11 +1501,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Reformat Code</source>
|
||||
<translation type="unfinished">Reformatar código</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove Trailing Spaces</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">Reformatar código</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
|
@ -1499,6 +1511,14 @@
|
|||
<source>Limits for Undo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reformat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trim trailing spaces</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditorSnippetWidget</name>
|
||||
|
@ -2012,6 +2032,10 @@
|
|||
<source>Command: %1 %2</source>
|
||||
<translation>Comando: %1 %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check the "program" page of compiler settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FilePropertiesDialog</name>
|
||||
|
@ -4050,7 +4074,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>You have not enabled debugging info (-g3) and/or stripped it from the executable (-s) in Compiler Options.<BR /><BR />Do you want to correct this now?</source>
|
||||
<translation>Informação para depuração não ativada (-g3) e/or removida do executável (-s) nas opções do compilador.<BR /><BR />Quer alterar isso agora?</translation>
|
||||
<translation type="vanished">Informação para depuração não ativada (-g3) e/or removida do executável (-s) nas opções do compilador.<BR /><BR />Quer alterar isso agora?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project not built</source>
|
||||
|
@ -4816,6 +4840,26 @@
|
|||
<source>FPS Problem Set Files (*.fps;*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to set it now?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You are not using a Debug compiler setting.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please use a Debug compiler set, or enable the "generate debugging info (-g3)" and disable the "strip additional info (-s)" options in the compiler settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please choose a Debug compiler set in the toolbar, or enable the "generate debugging info (-g3)" and disable the "strip additional info (-s)" options in the compiler set settings's "settings" page.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trim trailing spaces</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>NewClassDialog</name>
|
||||
|
@ -5308,6 +5352,14 @@
|
|||
<source>- Command: %1 %2</source>
|
||||
<translation>- Comando: %1 %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make program '%1' doesn't exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check the "program" page of compiler settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ProjectCompilerWidget</name>
|
||||
|
@ -6009,23 +6061,23 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>The following %1 directories don't exist:</source>
|
||||
<translation>As seguintes pastas não existem:</translation>
|
||||
<translation type="vanished">As seguintes pastas não existem:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>binary</source>
|
||||
<translation>binário</translation>
|
||||
<translation type="vanished">binário</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No %1 directories have been specified.</source>
|
||||
<translation>%1 pastas não foram especificadas</translation>
|
||||
<translation type="vanished">%1 pastas não foram especificadas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C include</source>
|
||||
<translation>include C</translation>
|
||||
<translation type="vanished">include C</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C++ include</source>
|
||||
<translation>include C++</translation>
|
||||
<translation type="vanished">include C++</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot find the %1 "%2"</source>
|
||||
|
@ -6173,11 +6225,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>The following problems were found during validation of compiler set "%1":</source>
|
||||
<translation>Os seguintes problemas foram encontrados durante a validação do compilador "%1":</translation>
|
||||
<translation type="vanished">Os seguintes problemas foram encontrados durante a validação do compilador "%1":</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Would you like Red Panda C++ to remove them for you and add the default paths to the valid paths?</source>
|
||||
<translation>Gostaria que o Red Panda C++ os removesse e acrescentasse caminhos padrões para validar?</translation>
|
||||
<translation type="vanished">Gostaria que o Red Panda C++ os removesse e acrescentasse caminhos padrões para validar?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compiler set not configured.</source>
|
||||
|
@ -6269,7 +6321,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Leaving those directories will lead to problems during compilation.</source>
|
||||
<translation>Deixar essas pastas resultará em problemas durante a compilação.</translation>
|
||||
<translation type="vanished">Deixar essas pastas resultará em problemas durante a compilação.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Gloabal Variable</source>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -804,10 +804,6 @@
|
|||
<source>Debugger not exists</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can''t find debugger in : "%1"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>GDB Server path error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -864,6 +860,14 @@
|
|||
<source>Can't open file '%1' for read.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can''t find debugger (gdb) in : "%1"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check the "program" page of compiler settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Editor</name>
|
||||
|
@ -1234,10 +1238,6 @@
|
|||
<source>Show only monospaced fonts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable Ligatures Support</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Size:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -1286,6 +1286,14 @@
|
|||
<source>Use Custom Font</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show special chars</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable ligatures support</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditorGeneralWidget</name>
|
||||
|
@ -1372,14 +1380,6 @@
|
|||
<source>Action before saving files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reformat Code</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove Trailing Spaces</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -1388,6 +1388,14 @@
|
|||
<source>Limits for Undo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reformat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trim trailing spaces</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditorSnippetWidget</name>
|
||||
|
@ -1893,6 +1901,10 @@
|
|||
<source>Command: %1 %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check the "program" page of compiler settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FilePropertiesDialog</name>
|
||||
|
@ -3905,10 +3917,6 @@
|
|||
<source>Enable debugging</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You have not enabled debugging info (-g3) and/or stripped it from the executable (-s) in Compiler Options.<BR /><BR />Do you want to correct this now?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project not built</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -4649,6 +4657,26 @@
|
|||
<source>FPS Problem Set Files (*.fps;*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to set it now?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You are not using a Debug compiler setting.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please use a Debug compiler set, or enable the "generate debugging info (-g3)" and disable the "strip additional info (-s)" options in the compiler settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please choose a Debug compiler set in the toolbar, or enable the "generate debugging info (-g3)" and disable the "strip additional info (-s)" options in the compiler set settings's "settings" page.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trim trailing spaces</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>NewClassDialog</name>
|
||||
|
@ -5105,6 +5133,14 @@
|
|||
<source>- Command: %1 %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make program '%1' doesn't exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check the "program" page of compiler settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ProjectCompilerWidget</name>
|
||||
|
@ -5780,26 +5816,6 @@
|
|||
<source>destructor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 directories don't exist:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>binary</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No %1 directories have been specified.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C include</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C++ include</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -5896,14 +5912,6 @@
|
|||
<source>Confirm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following problems were found during validation of compiler set "%1":</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Would you like Red Panda C++ to remove them for you and add the default paths to the valid paths?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compiler set not configuared.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -5980,10 +5988,6 @@
|
|||
<source>Can't parse problem set file '%1':%2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Leaving those directories will lead to problems during compilation.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C++ Language standard (-std)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
Loading…
Reference in New Issue