- change: Don't stop debug when breakpoint can't be set

This commit is contained in:
Roy Qu 2023-02-22 10:39:20 +08:00
parent c204b39e00
commit 8ad1915acd
19 changed files with 121 additions and 271 deletions

View File

@ -4,8 +4,9 @@ Red Panda C++ Version 2.14
- fix: Enum value defines is not correctly parsed.
- enhancement: Use differenct source file for each language in project templates
- fix: Ctrl+click is too sensitive.
- enhancement: Remove all breakpoints for a closed non-project file.
- enhancement: Check and remove all non-exist breakpoints before debug a project
- change: Remove nasm support
- change: Don't stop debug when breakpoint can't be set
Red Panda C++ Version 2.13

View File

@ -158,11 +158,9 @@ void ProjectCompiler::writeMakeDefines(QFile &file)
// Only process source files
QString RelativeName = extractRelativePath(mProject->directory(), unit->fileName());
FileType fileType = getFileType(RelativeName);
if (fileType==FileType::ASM && !compilerSet()->canAssemble())
continue;
if (fileType == FileType::CSource || fileType == FileType::CppSource
|| fileType == FileType::ASM || fileType==FileType::GAS) {
|| fileType==FileType::GAS) {
if (!mProject->options().objectOutput.isEmpty()) {
// ofile = C:\MyProgram\obj\main.o
QString fullObjFile = includeTrailingPathDelimiter(mProject->options().objectOutput)
@ -235,8 +233,6 @@ void ProjectCompiler::writeMakeDefines(QFile &file)
cppCompileArguments+= " -D__DEBUG__";
}
if (compilerSet()->canAssemble())
writeln(file,"ASM = " + extractFileName(compilerSet()->assembler()));
writeln(file,"CPP = " + extractFileName(compilerSet()->cppCompiler()));
writeln(file,"CC = " + extractFileName(compilerSet()->CCompiler()));
#ifdef Q_OS_WIN
@ -287,24 +283,6 @@ void ProjectCompiler::writeMakeDefines(QFile &file)
#ifdef Q_OS_WIN
writeln(file,"WINDRESFLAGS = " + mProject->options().resourceCmd);
#endif
if (compilerSet()->canAssemble()) {
QString asmFlags;
#ifdef Q_OS_WIN
if (Settings::CompilerSets::isTarget64Bit(compilerSet()->target())) {
if (mProject->getCompileOption(CC_CMD_OPT_POINTER_SIZE)=="32")
asmFlags = "-f win32 " + mProject->options().assemblerArgs;
else
asmFlags = "-f win64 " + mProject->options().assemblerArgs;
} else {
asmFlags = "-f win32 " + mProject->options().assemblerArgs;
}
#elif defined(Q_OS_LINUX)
asmFlags = "-f elf64";
#elif defined(Q_OS_MACOS)
asmFlags = "-f macho64";
#endif
writeln(file,"ASMFLAGS = " + asmFlags);
}
// This needs to be put in before the clean command.
if (mProject->options().type == ProjectType::DynamicLib) {
@ -384,7 +362,6 @@ void ProjectCompiler::writeMakeObjFilesRules(QFile &file)
FileType fileType = getFileType(unit->fileName());
// Only process source files
if (fileType!=FileType::CSource && fileType!=FileType::CppSource
&& fileType!=FileType::ASM
&& fileType!=FileType::GAS)
continue;
@ -504,17 +481,12 @@ void ProjectCompiler::writeMakeObjFilesRules(QFile &file)
if (!mOnlyCheckSyntax) {
writeln(file, "\t$(CC) -c " + genMakePath1(shortFileName) + " -o \"" + objFileName2 + "\" $(CFLAGS) " + encodingStr);
}
} else if (fileType==FileType::ASM) {
if (!mOnlyCheckSyntax) {
writeln(file, "\t$(ASM) " + genMakePath1(shortFileName) + " -o \"" + objFileName2 + "\" $(ASMFLAGS) ");
}
}
}
}
#ifdef Q_OS_WIN
if (!mProject->options().privateResource.isEmpty()) {
// Concatenate all resource include directories
QString ResIncludes(" ");
for (int i=0;i<mProject->options().resourceIncludes.count();i++) {

View File

@ -196,8 +196,6 @@ bool Debugger::start(int compilerSetIndex, const QString& inferior, const QStrin
&MainWindow::setActiveBreakpoint);
connect(mReader, &DebugReader::errorNoSymbolTable,pMainWindow,
&MainWindow::stopDebugForNoSymbolTable);
connect(mReader, &DebugReader::errorNoSourceFile,pMainWindow,
&MainWindow::stopDebugForNoSourceFile);
connect(mReader, &DebugReader::inferiorStopped,this,
&Debugger::refreshAll);
@ -1198,11 +1196,6 @@ void DebugReader::processError(const QByteArray &errorLine)
emit errorNoSymbolTable();
return;
}
idx=s.indexOf(",msg=\"No source file named ");
if (idx>0) {
emit errorNoSourceFile();
return;
}
}
void DebugReader::processResultRecord(const QByteArray &line)

View File

@ -519,7 +519,6 @@ signals:
void cmdFinished();
void errorNoSymbolTable();
void errorNoSourceFile();
void breakpointInfoGetted(const QString& filename, int line, int number);
void inferiorContinued();
void inferiorStopped(const QString& filename, int line, bool setFocus);

View File

@ -2177,6 +2177,7 @@ void MainWindow::debug()
// mDebugger->setUseUTF8(e->fileEncoding() == ENCODING_UTF8 || e->fileEncoding() == ENCODING_UTF8_BOM);
foreach(const PProjectUnit& unit, mProject->unitList()) {
if (fileExists(unit->fileName()))
unitFiles.insert(unit->fileName());
}
mDebugger->deleteInvalidProjectBreakpoints(unitFiles);
@ -4965,20 +4966,6 @@ void MainWindow::stopDebugForNoSymbolTable()
);
}
void MainWindow::stopDebugForNoSourceFile()
{
mDebugger->stop();
QMessageBox::critical(this,
tr("Debug Failed"),
tr("The executable doesn't have enough debug info to set breakpoint.")
+"<BR /><BR />"
+tr("Please choose a Debug compiler set in the toolbar, or turn on your compiler set's \"Generate debug info (-g3)\" option in the options dialog.")
+tr("Then recompile and retry debug.")
+"<BR /><BR/>"
+tr("Or you can remove all breakpoints, open cpu info dialog, and try debug machine codes.")
);
}
void MainWindow::onTodoParsingFile(const QString& filename)
{
mTodoModel.removeTodosForFile(filename);

View File

@ -251,7 +251,6 @@ public slots:
void disableDebugActions();
void enableDebugActions();
void stopDebugForNoSymbolTable();
void stopDebugForNoSourceFile();
void onTodoParsingFile(const QString& filename);
void onTodoParseStarted();
void onTodoFound(const QString& filename, int lineNo, int ch, const QString& line);

View File

@ -961,8 +961,7 @@ bool Project::assignTemplate(const std::shared_ptr<ProjectTemplate> aTemplate, b
unit = newUnit(mRootNode, target);
FileType fileType=getFileType(unit->fileName());
if (fileType==FileType::ASM
|| fileType==FileType::GAS
if ( fileType==FileType::GAS
|| isCFile(unit->fileName()) || isHFile(unit->fileName())) {
Editor * editor = mEditorList->newEditor(
unit->fileName(),
@ -1058,8 +1057,6 @@ bool Project::saveAsTemplate(const QString &templateFolder,
ini->SetValue("Project", "Linker",textToLines(mOptions.linkerCmd).join(";CONFIG_LINE;").toUtf8());
if (!mOptions.resourceCmd.isEmpty())
ini->SetValue("Project", "ResourceCommand",textToLines(mOptions.resourceCmd).join(";CONFIG_LINE;").toUtf8());
if (!mOptions.assemblerArgs.isEmpty())
ini->SetValue("Project", "AssemblerArgs",textToLines(mOptions.assemblerArgs).join(";CONFIG_LINE;").toUtf8());
ini->SetBoolValue("Project", "IsCpp", mOptions.isCpp);
if (mOptions.includeVersionInfo)
ini->SetBoolValue("Project", "IncludeVersionInfo", true);
@ -1158,7 +1155,6 @@ void Project::saveOptions()
ini.SetValue("Project","PrivateResource", toByteArray(mOptions.privateResource));
ini.SetValue("Project","Compiler", toByteArray(textToLines(mOptions.compilerCmd).join(";CONFIG_LINE;")));
ini.SetValue("Project","CppCompiler", toByteArray(textToLines(mOptions.cppCompilerCmd).join(";CONFIG_LINE;")));
ini.SetValue("Project","AssemblerArgs",toByteArray(textToLines(mOptions.assemblerArgs).join(";CONFIG_LINE;")));
ini.SetValue("Project","Linker", toByteArray(textToLines(mOptions.linkerCmd).join(";CONFIG_LINE;")));
ini.SetValue("Project", "ResourceCommand", toByteArray(textToLines(mOptions.resourceCmd).join(";CONFIG_LINE;")));
ini.SetLongValue("Project","IsCpp", mOptions.isCpp);
@ -1293,11 +1289,6 @@ PProjectUnit Project::internalAddUnit(const QString &inFileName, PProjectModelNo
newUnit->setCompileCpp(false);
newUnit->setLink(true);
break;
case FileType::ASM:
newUnit->setCompile(true);
newUnit->setCompileCpp(false);
newUnit->setLink(true);
break;
case FileType::CSource:
newUnit->setCompile(true);
newUnit->setCompileCpp(false);
@ -1970,7 +1961,6 @@ void Project::loadOptions(SimpleIni& ini)
mOptions.cppCompilerCmd = fromByteArray(ini.GetValue("Project", "CppCompiler", "")).replace(";CONFIG_LINE;","\n");
mOptions.linkerCmd = fromByteArray(ini.GetValue("Project", "Linker", "")).replace(";CONFIG_LINE;","\n");
mOptions.resourceCmd = fromByteArray(ini.GetValue("Project", "ResourceCommand", "")).replace(";CONFIG_LINE;","\n");
mOptions.assemblerArgs = fromByteArray(ini.GetValue("Project","AssemblerArgs","")).replace(";CONFIG_LINE;","\n");
mOptions.binDirs = absolutePaths(fromByteArray(ini.GetValue("Project", "Bins", "")).split(";",
#if QT_VERSION >= QT_VERSION_CHECK(5,15,0)
Qt::SkipEmptyParts

View File

@ -67,7 +67,6 @@ struct ProjectOptions{
QString cppCompilerCmd;
QString linkerCmd;
QString resourceCmd;
QString assemblerArgs;
QStringList binDirs;
QStringList includeDirs;
QStringList libDirs;

View File

@ -147,7 +147,6 @@ void ProjectTemplate::readTemplateFile(const QString &fileName)
mOptions.cppCompilerCmd = fromByteArray(mIni->GetValue("Project", "CppCompiler", ""));
mOptions.linkerCmd = fromByteArray(mIni->GetValue("Project", "Linker",""));
mOptions.resourceCmd = fromByteArray(mIni->GetValue("Project", "ResourceCommand", ""));
mOptions.assemblerArgs = fromByteArray(mIni->GetValue("Project","AssemblerArgs",""));
mOptions.isCpp = mIni->GetBoolValue("Project", "IsCpp", false);
mOptions.includeVersionInfo = mIni->GetBoolValue("Project", "IncludeVersionInfo", false);
mOptions.supportXPThemes = mIni->GetBoolValue("Project", "SupportXPThemes", false);

View File

@ -1709,7 +1709,6 @@ Settings::CompilerSet::CompilerSet(const Settings::CompilerSet &set):
mDebugger(set.mDebugger),
mResourceCompiler(set.mResourceCompiler),
mDebugServer(set.mDebugServer),
mAssembler(set.assembler()),
mBinDirs(set.mBinDirs),
mCIncludeDirs(set.mCIncludeDirs),
@ -2335,7 +2334,6 @@ void Settings::CompilerSet::setExecutables()
}
mMake = findProgramInBinDirs(MAKE_PROGRAM);
mResourceCompiler = findProgramInBinDirs(WINDRES_PROGRAM);
mAssembler = findProgramInBinDirs(ASSEMBLER);
}
void Settings::CompilerSet::setDirectories(const QString& binDir,CompilerType compilerType)
@ -2513,11 +2511,6 @@ bool Settings::CompilerSet::canDebug()
return fileExists(mDebugger);
}
bool Settings::CompilerSet::canAssemble()
{
return fileExists(mAssembler);
}
void Settings::CompilerSet::setUserInput()
{
mUseCustomCompileParams = false;
@ -2563,16 +2556,6 @@ QByteArray Settings::CompilerSet::getCompilerOutput(const QString &binDir, const
return result.trimmed();
}
const QString &Settings::CompilerSet::assembler() const
{
return mAssembler;
}
void Settings::CompilerSet::setAssembler(const QString &newAssembler)
{
mAssembler = newAssembler;
}
Settings::CompilerSet::CompilationStage Settings::CompilerSet::compilationStage() const
{
return mCompilationStage;
@ -3079,7 +3062,6 @@ void Settings::CompilerSets::saveSet(int index)
savePath("debug_server", pSet->debugServer());
savePath("make", pSet->make());
savePath("windres", pSet->resourceCompiler());
savePath("assembler", pSet->assembler());
mSettings->mSettings.remove("Options");
foreach(const PCompilerOption& option, CompilerInfoManager::getInstance()->getCompilerOptions(pSet->compilerType())) {
@ -3156,7 +3138,6 @@ Settings::PCompilerSet Settings::CompilerSets::loadSet(int index)
pSet->setDebugServer(loadPath("debug_server"));
pSet->setMake(loadPath("make"));
pSet->setResourceCompiler(loadPath("windres"));
pSet->setAssembler(loadPath("assembler"));
pSet->setDumpMachine(mSettings->mSettings.value("DumpMachine").toString());
pSet->setVersion(mSettings->mSettings.value("Version").toString());

View File

@ -1320,7 +1320,6 @@ public:
bool canCompileCPP();
bool canMake();
bool canDebug();
bool canAssemble();
// bool dirsValid(QString& msg);
// bool validateExes(QString& msg);
//properties
@ -1405,8 +1404,6 @@ public:
QString getOutputFilename(const QString& sourceFilename,Settings::CompilerSet::CompilationStage stage);
bool isOutputExecutable();
bool isOutputExecutable(Settings::CompilerSet::CompilationStage stage);
const QString &assembler() const;
void setAssembler(const QString &newAssembler);
private:
void setDirectories(const QString& binDir, CompilerType mCompilerType);
@ -1427,7 +1424,6 @@ public:
QString mDebugger;
QString mResourceCompiler;
QString mDebugServer;
QString mAssembler;
// Directories, mostly hardcoded too
QStringList mBinDirs;

View File

@ -98,7 +98,6 @@ static void loadCompilerSetSettings(Settings::PCompilerSet pSet, Ui::CompilerSet
ui->txtDebugger->setText(pSet->debugger());
ui->txtGDBServer->setText(pSet->debugServer());
ui->txtResourceCompiler->setText(pSet->resourceCompiler());
ui->txtAssembler->setText(pSet->assembler());
if (pSet->execCharset() == ENCODING_AUTO_DETECT
|| pSet->execCharset() == ENCODING_SYSTEM_DEFAULT
@ -207,7 +206,6 @@ void CompilerSetOptionWidget::saveCurrentCompilerSet()
pSet->setDebugger(ui->txtDebugger->text().trimmed());
pSet->setDebugServer(ui->txtGDBServer->text().trimmed());
pSet->setResourceCompiler(ui->txtResourceCompiler->text().trimmed());
pSet->setAssembler(ui->txtAssembler->text().trimmed());
pSet->binDirs()=mBinDirWidget->dirList();
@ -333,7 +331,6 @@ void CompilerSetOptionWidget::updateIcons(const QSize& /*size*/)
pIconsManager->setIcon(ui->btnChooseGDB, IconsManager::ACTION_FILE_OPEN_FOLDER);
pIconsManager->setIcon(ui->btnChooseGDBServer, IconsManager::ACTION_FILE_OPEN_FOLDER);
pIconsManager->setIcon(ui->btnChooseMake, IconsManager::ACTION_FILE_OPEN_FOLDER);
pIconsManager->setIcon(ui->btnChooseAssembler, IconsManager::ACTION_FILE_OPEN_FOLDER);
pIconsManager->setIcon(ui->btnChooseResourceCompiler, IconsManager::ACTION_FILE_OPEN_FOLDER);
}
@ -433,15 +430,3 @@ void CompilerSetOptionWidget::on_btnChooseResourceCompiler_clicked()
ui->txtResourceCompiler->setText(fileName);
}
void CompilerSetOptionWidget::on_btnChooseAssembler_clicked()
{
QString fileName = QFileDialog::getOpenFileName(
this,
tr("Locate nasm"),
getBinDir(),
tr("Executable files (*.exe)"));
if (fileExists(fileName))
ui->txtAssembler->setText(fileName);
}

View File

@ -70,7 +70,6 @@ private slots:
void on_btnChooseGDB_clicked();
void on_btnChooseGDBServer_clicked();
void on_btnChooseResourceCompiler_clicked();
void on_btnChooseAssembler_clicked();
};
#endif // COMPILERSETOPTIONWIDGET_H

View File

@ -110,7 +110,7 @@
<item>
<widget class="QTabWidget" name="settingTabs">
<property name="currentIndex">
<number>0</number>
<number>3</number>
</property>
<property name="movable">
<bool>false</bool>
@ -249,19 +249,6 @@
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1">
<widget class="QLineEdit" name="txtCCompiler"/>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="txtAssembler"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>make</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QToolButton" name="btnChooseGDB">
<property name="toolTip">
@ -277,127 +264,6 @@
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>C++ Compiler(g++)</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>gdb server</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="txtMake"/>
</item>
<item row="1" column="2">
<widget class="QToolButton" name="btnChooseCppCompiler">
<property name="toolTip">
<string>Choose C++ Compiler</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset>
<normalon>:/icons/images/newlook24/053-open.png</normalon>
</iconset>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QToolButton" name="btnChooseMake">
<property name="toolTip">
<string>Choose make</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset>
<normalon>:/icons/images/newlook24/053-open.png</normalon>
</iconset>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Assembler</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="txtResourceCompiler"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>C Compiler(gcc)</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtCppCompiler"/>
</item>
<item row="6" column="2">
<widget class="QToolButton" name="btnChooseAssembler">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/icons/images/newlook24/053-open.png</normaloff>:/icons/images/newlook24/053-open.png</iconset>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QToolButton" name="btnChooseCCompiler">
<property name="toolTip">
<string>Choose C Compiler</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset>
<normalon>:/icons/images/newlook24/053-open.png</normalon>
</iconset>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Resource Compilerwindres)</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="txtGDBServer"/>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="txtDebugger"/>
</item>
<item row="5" column="2">
<widget class="QToolButton" name="btnChooseResourceCompiler">
<property name="toolTip">
<string>Choose Resource Compiler</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset>
<normalon>:/icons/images/newlook24/053-open.png</normalon>
</iconset>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QToolButton" name="btnChooseGDBServer">
<property name="text">
@ -409,6 +275,119 @@
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Resource Compilerwindres)</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="txtGDBServer"/>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="txtCppCompiler"/>
</item>
<item row="2" column="2">
<widget class="QToolButton" name="btnChooseMake">
<property name="toolTip">
<string>Choose make</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset>
<normalon>:/icons/images/newlook24/053-open.png</normalon>
</iconset>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>C Compiler(gcc)</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>make</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="txtResourceCompiler"/>
</item>
<item row="1" column="2">
<widget class="QToolButton" name="btnChooseCppCompiler">
<property name="toolTip">
<string>Choose C++ Compiler</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset>
<normalon>:/icons/images/newlook24/053-open.png</normalon>
</iconset>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QToolButton" name="btnChooseCCompiler">
<property name="toolTip">
<string>Choose C Compiler</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset>
<normalon>:/icons/images/newlook24/053-open.png</normalon>
</iconset>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="txtCCompiler"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>gdb server</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="txtMake"/>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="txtDebugger"/>
</item>
<item row="5" column="2">
<widget class="QToolButton" name="btnChooseResourceCompiler">
<property name="toolTip">
<string>Choose Resource Compiler</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset>
<normalon>:/icons/images/newlook24/053-open.png</normalon>
</iconset>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>C++ Compiler(g++)</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_5">
<property name="text">

View File

@ -52,7 +52,6 @@ void ProjectCompileParamatersWidget::doLoad()
ui->txtCPPCompiler->setPlainText(pMainWindow->project()->options().cppCompilerCmd);
ui->txtLinker->setPlainText(pMainWindow->project()->options().linkerCmd);
ui->txtResource->setPlainText(pMainWindow->project()->options().resourceCmd);
ui->txtAssembler->setPlainText(pMainWindow->project()->options().assemblerArgs);
ui->grpAllowParallelBuilding->setChecked(pMainWindow->project()->options().allowParallelBuilding);
ui->spinParallelJobs->setValue(pMainWindow->project()->options().parellelBuildingJobs);
}
@ -63,7 +62,6 @@ void ProjectCompileParamatersWidget::doSave()
pMainWindow->project()->options().cppCompilerCmd = ui->txtCPPCompiler->toPlainText();
pMainWindow->project()->options().linkerCmd = ui->txtLinker->toPlainText();
pMainWindow->project()->options().resourceCmd = ui->txtResource->toPlainText();
pMainWindow->project()->options().assemblerArgs = ui->txtAssembler->toPlainText();
pMainWindow->project()->options().allowParallelBuilding = ui->grpAllowParallelBuilding->isChecked();
pMainWindow->project()->options().parellelBuildingJobs = ui->spinParallelJobs->value();
pMainWindow->project()->saveOptions();

View File

@ -52,7 +52,7 @@
<item>
<widget class="QTabWidget" name="tabCommands">
<property name="currentIndex">
<number>4</number>
<number>3</number>
</property>
<widget class="QWidget" name="tabCCompiler">
<attribute name="title">
@ -181,28 +181,6 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="tabAssembler">
<attribute name="title">
<string>Assembler</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="leftMargin">
<number>5</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>5</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
<item>
<widget class="QTextEdit" name="txtAssembler"/>
</item>
</layout>
</widget>
</widget>
</item>
</layout>

View File

@ -36,7 +36,6 @@ SystemConsts::SystemConsts(): mDefaultFileFilters()
addDefaultFileFilter(QObject::tr("C++ files"),"*.cpp *.cc *.cxx");
addDefaultFileFilter(QObject::tr("Header files"),"*.h *.hh *.hpp");
addDefaultFileFilter(QObject::tr("GAS files"),"*.s *.S");
addDefaultFileFilter(QObject::tr("ASM files"),"*.asm");
addDefaultFileFilter(QObject::tr("Lua files"),"*.lua");
addFileFilter(mIconFileFilters, QObject::tr("Icon files"), "*.ico");

View File

@ -83,9 +83,6 @@ QStringList splitProcessCommand(const QString &cmd)
FileType getFileType(const QString &filename)
{
if (filename.endsWith(".asm",PATH_SENSITIVITY)) {
return FileType::ASM;
}
if (filename.endsWith(".s",PATH_SENSITIVITY)) {
return FileType::GAS;
}

View File

@ -32,7 +32,6 @@ using SimpleIni = CSimpleIniA;
using PSimpleIni = std::shared_ptr<SimpleIni>;
enum class FileType{
ASM, // asm source file (.asm)
GAS, // GNU assembler source file (.s)
LUA, // lua file (.lua)
CSource, // c source file (.c)