- enhancement: Open project's option dialog instead of the option dialog, when click the compiler set settings button in the toolbar and the current editor is for project.
- enhancement: Reset project compile options when change compiler set in the project options dialog.
This commit is contained in:
parent
799ce52460
commit
d8f9cef762
2
NEWS.md
2
NEWS.md
|
@ -7,6 +7,8 @@ Red Panda C++ Version 2.20
|
||||||
- fix: Octal numeric escape sequences is not correctly syntax highlighted.
|
- fix: Octal numeric escape sequences is not correctly syntax highlighted.
|
||||||
- enhancement: Refine suggestion info when try debug and the compiler settings are not correct.
|
- enhancement: Refine suggestion info when try debug and the compiler settings are not correct.
|
||||||
- enhancement: Open the options dialog/project options dialog when user want to correct compiler settings for debug.
|
- enhancement: Open the options dialog/project options dialog when user want to correct compiler settings for debug.
|
||||||
|
- enhancement: Open project's option dialog instead of the option dialog, when click the compiler set settings button in the toolbar and the current editor is for project.
|
||||||
|
- enhancement: Reset project compile options when change compiler set in the project options dialog.
|
||||||
|
|
||||||
Red Panda C++ Version 2.19
|
Red Panda C++ Version 2.19
|
||||||
|
|
||||||
|
|
|
@ -2198,6 +2198,8 @@ void MainWindow::debug()
|
||||||
+"<BR />"
|
+"<BR />"
|
||||||
+tr(" - Turned off the \"Optimization level (-O)\" option or set it to \"Debug (-Og)\".")
|
+tr(" - Turned off the \"Optimization level (-O)\" option or set it to \"Debug (-Og)\".")
|
||||||
+"<BR /><BR />"
|
+"<BR /><BR />"
|
||||||
|
+tr("You should recompile after change the compiler set or it's settings.")
|
||||||
|
+"<BR /><BR />"
|
||||||
+tr("Do you want to mannually change the compiler set settings now?")
|
+tr("Do you want to mannually change the compiler set settings now?")
|
||||||
)== QMessageBox::Yes) {
|
)== QMessageBox::Yes) {
|
||||||
changeProjectOptions(
|
changeProjectOptions(
|
||||||
|
@ -2299,18 +2301,20 @@ void MainWindow::debug()
|
||||||
if (stripEnabled && !debugEnabled) {
|
if (stripEnabled && !debugEnabled) {
|
||||||
if (QMessageBox::question(this,
|
if (QMessageBox::question(this,
|
||||||
tr("Correct compile settings for debug"),
|
tr("Correct compile settings for debug"),
|
||||||
tr("The generated executable won't have debug symbol infos, and can't be debugged.")
|
tr("The generated executable won't have debug symbol infos, and can't be debugged.")
|
||||||
+"<BR /><BR />"
|
+"<BR /><BR />"
|
||||||
+tr("If you are using the Release compiler set, please use choose the Debug version from toolbar.")
|
+tr("If you are using the Release compiler set, please use choose the Debug version from toolbar.")
|
||||||
+"<BR /><BR />"
|
+"<BR /><BR />"
|
||||||
+tr("Or you can manually change the following settings in the options dialog's compiler set page:")
|
+tr("Or you can manually change the following settings in the options dialog's compiler set page:")
|
||||||
+"<BR />"
|
+"<BR />"
|
||||||
+tr(" - Turned on the \"Generate debug info (-g3)\" option.")
|
+tr(" - Turned on the \"Generate debug info (-g3)\" option.")
|
||||||
+"<BR />"
|
+"<BR />"
|
||||||
+tr(" - Turned off the \"Strip executable (-s)\" option.")
|
+tr(" - Turned off the \"Strip executable (-s)\" option.")
|
||||||
+"<BR />"
|
+"<BR />"
|
||||||
+tr(" - Turned off the \"Optimization level (-O)\" option or set it to \"Debug (-Og)\".")
|
+tr(" - Turned off the \"Optimization level (-O)\" option or set it to \"Debug (-Og)\".")
|
||||||
+"<BR /><BR />"
|
+"<BR /><BR />"
|
||||||
|
+tr("You should recompile after change the compiler set or it's settings.")
|
||||||
|
+"<BR /><BR />"
|
||||||
+tr("Do you want to mannually change the compiler set settings now?")
|
+tr("Do you want to mannually change the compiler set settings now?")
|
||||||
)== QMessageBox::Yes) {
|
)== QMessageBox::Yes) {
|
||||||
changeOptions(
|
changeOptions(
|
||||||
|
@ -5036,33 +5040,38 @@ void MainWindow::stopDebugForNoSymbolTable()
|
||||||
{
|
{
|
||||||
mDebugger->stop();
|
mDebugger->stop();
|
||||||
if (QMessageBox::question(this,
|
if (QMessageBox::question(this,
|
||||||
tr("Correct compile settings for debug"),
|
tr("Correct compile settings for debug"),
|
||||||
tr("The executable doesn't have symbol table, and can't be debugged.")
|
tr("The executable doesn't have symbol table, and can't be debugged.")
|
||||||
+"<BR /><BR />"
|
+"<BR /><BR />"
|
||||||
+tr("If you are using the Release compiler set, please use choose the Debug version from toolbar.")
|
+tr("If you are using the Release compiler set, please use choose the Debug version from toolbar.")
|
||||||
+"<BR /><BR />"
|
+"<BR /><BR />"
|
||||||
+tr("Or you can manually change the following settings in the options dialog's compiler set page:")
|
+tr("Or you can manually change the following settings in the options dialog's compiler set page:")
|
||||||
+"<BR />"
|
+"<BR />"
|
||||||
+tr(" - Turned on the \"Generate debug info (-g3)\" option.")
|
+tr(" - Turned on the \"Generate debug info (-g3)\" option.")
|
||||||
+"<BR />"
|
+"<BR />"
|
||||||
+tr(" - Turned off the \"Strip executable (-s)\" option.")
|
+tr(" - Turned off the \"Strip executable (-s)\" option.")
|
||||||
+"<BR />"
|
+"<BR />"
|
||||||
+tr(" - Turned off the \"Optimization level (-O)\" option or set it to \"Debug (-Og)\".")
|
+tr(" - Turned off the \"Optimization level (-O)\" option or set it to \"Debug (-Og)\".")
|
||||||
+"<BR /><BR />"
|
+"<BR /><BR />"
|
||||||
|
+tr("You should recompile after change the compiler set or it's settings.")
|
||||||
|
+"<BR /><BR />"
|
||||||
|
+tr("You should recompile after change the compiler set or it's settings.")
|
||||||
|
+"<BR /><BR />"
|
||||||
+tr("Do you want to mannually change the compiler set settings now?")
|
+tr("Do you want to mannually change the compiler set settings now?")
|
||||||
)== QMessageBox::Yes) {
|
)== QMessageBox::Yes) {
|
||||||
Editor * editor = mEditorList->getEditor();
|
on_actionCompiler_Options_triggered();
|
||||||
if (editor && editor->inProject()) {
|
// Editor * editor = mEditorList->getEditor();
|
||||||
changeProjectOptions(
|
// if (!mProject || (editor && !editor->inProject())) {
|
||||||
SettingsDialog::tr("Compiler Set"),
|
// changeOptions(
|
||||||
SettingsDialog::tr("Project")
|
// SettingsDialog::tr("Compiler Set"),
|
||||||
);
|
// SettingsDialog::tr("Compiler")
|
||||||
} else {
|
// );
|
||||||
changeOptions(
|
// } else {
|
||||||
SettingsDialog::tr("Compiler Set"),
|
// changeProjectOptions(
|
||||||
SettingsDialog::tr("Compiler")
|
// SettingsDialog::tr("Compiler Set"),
|
||||||
);
|
// SettingsDialog::tr("Project")
|
||||||
}
|
// );
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9440,10 +9449,18 @@ void MainWindow::on_actionEncode_in_UTF_8_BOM_triggered()
|
||||||
|
|
||||||
void MainWindow::on_actionCompiler_Options_triggered()
|
void MainWindow::on_actionCompiler_Options_triggered()
|
||||||
{
|
{
|
||||||
changeOptions(
|
Editor * editor = mEditorList->getEditor();
|
||||||
SettingsDialog::tr("Compiler Set"),
|
if (!mProject || (editor && !editor->inProject())) {
|
||||||
SettingsDialog::tr("Compiler")
|
changeOptions(
|
||||||
);
|
SettingsDialog::tr("Compiler Set"),
|
||||||
|
SettingsDialog::tr("Compiler")
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
changeProjectOptions(
|
||||||
|
SettingsDialog::tr("Compiler Set"),
|
||||||
|
SettingsDialog::tr("Project")
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_dockExplorer_dockLocationChanged(const Qt::DockWidgetArea &area)
|
void MainWindow::on_dockExplorer_dockLocationChanged(const Qt::DockWidgetArea &area)
|
||||||
|
|
|
@ -120,7 +120,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>955</width>
|
<width>955</width>
|
||||||
<height>25</height>
|
<height>24</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QMenu" name="menuFile">
|
<widget class="QMenu" name="menuFile">
|
||||||
|
|
|
@ -20,11 +20,13 @@
|
||||||
#include "../project.h"
|
#include "../project.h"
|
||||||
#include "../mainwindow.h"
|
#include "../mainwindow.h"
|
||||||
#include <qt_utils/charsetinfo.h>
|
#include <qt_utils/charsetinfo.h>
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
ProjectCompilerWidget::ProjectCompilerWidget(const QString &name, const QString &group, QWidget *parent) :
|
ProjectCompilerWidget::ProjectCompilerWidget(const QString &name, const QString &group, QWidget *parent) :
|
||||||
SettingsWidget(name,group,parent),
|
SettingsWidget(name,group,parent),
|
||||||
ui(new Ui::ProjectCompilerWidget)
|
ui(new Ui::ProjectCompilerWidget)
|
||||||
{
|
{
|
||||||
|
mInitialized=false;
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,6 +79,7 @@ void ProjectCompilerWidget::doLoad()
|
||||||
ui->cbCompilerSet->setCurrentIndex(pMainWindow->project()->options().compilerSet);
|
ui->cbCompilerSet->setCurrentIndex(pMainWindow->project()->options().compilerSet);
|
||||||
ui->chkAddCharset->setChecked(pMainWindow->project()->options().addCharset);
|
ui->chkAddCharset->setChecked(pMainWindow->project()->options().addCharset);
|
||||||
ui->chkStaticLink->setChecked(pMainWindow->project()->options().staticLink);
|
ui->chkStaticLink->setChecked(pMainWindow->project()->options().staticLink);
|
||||||
|
mInitialized=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectCompilerWidget::doSave()
|
void ProjectCompilerWidget::doSave()
|
||||||
|
@ -115,9 +118,28 @@ void ProjectCompilerWidget::init()
|
||||||
SettingsWidget::init();
|
SettingsWidget::init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectCompilerWidget::on_cbCompilerSet_currentIndexChanged(int)
|
void ProjectCompilerWidget::on_cbCompilerSet_currentIndexChanged(int index)
|
||||||
{
|
{
|
||||||
refreshOptions();
|
std::shared_ptr<Project> project = pMainWindow->project();
|
||||||
|
auto action = finally([this]{
|
||||||
|
this->refreshOptions();
|
||||||
|
});
|
||||||
|
if (!mInitialized || index==project->options().compilerSet) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (QMessageBox::warning(
|
||||||
|
this,
|
||||||
|
MainWindow::tr("Change Project Compiler Set"),
|
||||||
|
MainWindow::tr("Change the project's compiler set will lose all custom compiler set options.")
|
||||||
|
+"<br />"
|
||||||
|
+ MainWindow::tr("Do you really want to do that?"),
|
||||||
|
QMessageBox::Yes | QMessageBox::No,
|
||||||
|
QMessageBox::No) != QMessageBox::Yes) {
|
||||||
|
ui->cbCompilerSet->setCurrentIndex(project->options().compilerSet);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
project->setCompilerSet(index);
|
||||||
|
project->saveOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectCompilerWidget::on_cbEncoding_currentTextChanged(const QString &/*arg1*/)
|
void ProjectCompilerWidget::on_cbEncoding_currentTextChanged(const QString &/*arg1*/)
|
||||||
|
|
|
@ -37,6 +37,7 @@ private:
|
||||||
private:
|
private:
|
||||||
Ui::ProjectCompilerWidget *ui;
|
Ui::ProjectCompilerWidget *ui;
|
||||||
QMap<QString,QString> mOptions;
|
QMap<QString,QString> mOptions;
|
||||||
|
bool mInitialized;
|
||||||
|
|
||||||
// SettingsWidget interface
|
// SettingsWidget interface
|
||||||
protected:
|
protected:
|
||||||
|
|
|
@ -5191,6 +5191,10 @@
|
||||||
<source>Do you want to mannually change the compiler set settings now?</source>
|
<source>Do you want to mannually change the compiler set settings now?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>You should recompile after change the compiler set or it's settings.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MemoryModel</name>
|
<name>MemoryModel</name>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -4920,6 +4920,10 @@
|
||||||
<source>Do you want to mannually change the compiler set settings now?</source>
|
<source>Do you want to mannually change the compiler set settings now?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>You should recompile after change the compiler set or it's settings.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MemoryModel</name>
|
<name>MemoryModel</name>
|
||||||
|
|
Loading…
Reference in New Issue