- change: Don't stop debug when breakpoint can't be set
This commit is contained in:
parent
c204b39e00
commit
8ad1915acd
3
NEWS.md
3
NEWS.md
|
@ -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
|
||||
|
||||
|
|
|
@ -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++) {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -67,7 +67,6 @@ struct ProjectOptions{
|
|||
QString cppCompilerCmd;
|
||||
QString linkerCmd;
|
||||
QString resourceCmd;
|
||||
QString assemblerArgs;
|
||||
QStringList binDirs;
|
||||
QStringList includeDirs;
|
||||
QStringList libDirs;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 Compiler(windres)</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 Compiler(windres)</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">
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue