refactor: name project options

fix: chinese translation for project options
This commit is contained in:
Roy Qu 2024-04-03 16:50:19 +08:00
parent 648e555fc5
commit d3f2cd1dc1
25 changed files with 213 additions and 195 deletions

View File

@ -43,8 +43,8 @@ Compiler::Compiler(const QString &filename, bool onlyCheckSyntax):
mOnlyCheckSyntax{onlyCheckSyntax},
mFilename{filename},
mRebuild{false},
mForceEnglishOutput{false},
mParserForFile()
mParserForFile{},
mForceEnglishOutput{false}
{
getParserForFile(filename);
}

View File

@ -56,7 +56,7 @@ void ProjectCompiler::createStandardMakeFile()
QFile file(mProject->makeFileName());
bool genModuleDef;
newMakeFile(file, genModuleDef);
QString executable = extractRelativePath(mProject->makeFileName(), mProject->executable());
QString executable = extractRelativePath(mProject->makeFileName(), mProject->outputFilename());
QString exeTarget = escapeFilenameForMakefileTarget(executable);
QString exeCommand = escapeArgumentForMakefileRecipe(executable, false);
writeln(file, exeTarget + ": $(OBJ)\n");
@ -73,12 +73,12 @@ void ProjectCompiler::createStaticMakeFile()
{
QFile file(mProject->makeFileName());
newMakeFile(file);
QString executable = extractRelativePath(mProject->makeFileName(), mProject->executable());
QString exeTarget = escapeFilenameForMakefileTarget(executable);
QString exeCommand = escapeArgumentForMakefileRecipe(executable, false);
writeln(file, exeTarget + ": $(OBJ)");
writeln(file, "\tar r " + exeCommand + " $(LINKOBJ)");
writeln(file, "\tranlib " + exeCommand);
QString libFilename = extractRelativePath(mProject->makeFileName(), mProject->outputFilename());
QString libTarget = escapeFilenameForMakefileTarget(libFilename);
QString libCommand = escapeArgumentForMakefileRecipe(libFilename, false);
writeln(file, libTarget + ": $(OBJ)");
writeln(file, "\tar r " + libCommand + " $(LINKOBJ)");
writeln(file, "\tranlib " + libCommand);
writeMakeObjFilesRules(file);
}
@ -87,21 +87,21 @@ void ProjectCompiler::createDynamicMakeFile()
QFile file(mProject->makeFileName());
bool genModuleDef;
newMakeFile(file, genModuleDef);
QString executable = extractRelativePath(mProject->makeFileName(), mProject->executable());
QString exeTarget = escapeFilenameForMakefileTarget(executable);
QString exeCommand = escapeArgumentForMakefileRecipe(executable, false);
writeln(file, exeTarget + ": $(DEF) $(OBJ)");
QString dynamicLibFilename = extractRelativePath(mProject->makeFileName(), mProject->outputFilename());
QString dynamicLibTarget = escapeFilenameForMakefileTarget(dynamicLibFilename);
QString dynamicLibCommand = escapeArgumentForMakefileRecipe(dynamicLibFilename, false);
writeln(file, dynamicLibTarget + ": $(DEF) $(OBJ)");
if (genModuleDef) {
if (mProject->options().isCpp) {
writeln(file, "\t$(CXX) -mdll $(LINKOBJ) -o " + exeCommand + " $(LIBS) $(DEF) -Wl,--output-def,$(OUTPUT_DEF),--out-implib,$(STATIC)");
writeln(file, "\t$(CXX) -mdll $(LINKOBJ) -o " + dynamicLibCommand + " $(LIBS) $(DEF) -Wl,--output-def,$(OUTPUT_DEF),--out-implib,$(STATIC)");
} else {
writeln(file, "\t$(CC) -mdll $(LINKOBJ) -o " + exeCommand + " $(LIBS) $(DEF) -Wl,--output-def,$(OUTPUT_DEF),--out-implib,$(STATIC)");
writeln(file, "\t$(CC) -mdll $(LINKOBJ) -o " + dynamicLibCommand + " $(LIBS) $(DEF) -Wl,--output-def,$(OUTPUT_DEF),--out-implib,$(STATIC)");
}
} else {
if (mProject->options().isCpp) {
writeln(file, "\t$(CXX) -mdll $(LINKOBJ) -o " + exeCommand + " $(LIBS) $(DEF) -Wl,--out-implib,$(STATIC)");
writeln(file, "\t$(CXX) -mdll $(LINKOBJ) -o " + dynamicLibCommand + " $(LIBS) $(DEF) -Wl,--out-implib,$(STATIC)");
} else {
writeln(file, "\t$(CC) -mdll $(LINKOBJ) -o " + exeCommand + " $(LIBS) $(DEF) -Wl,--out-implib,$(STATIC)");
writeln(file, "\t$(CC) -mdll $(LINKOBJ) -o " + dynamicLibCommand + " $(LIBS) $(DEF) -Wl,--out-implib,$(STATIC)");
}
}
writeMakeObjFilesRules(file);
@ -116,12 +116,12 @@ void ProjectCompiler::newMakeFile(QFile &file)
void ProjectCompiler::newMakeFile(QFile& file, bool &genModuleDef)
{
// Create OBJ output directory
if (!mProject->options().objectOutput.isEmpty()) {
QDir(mProject->directory()).mkpath(mProject->options().objectOutput);
if (!mProject->options().folderForObjFiles.isEmpty()) {
QDir(mProject->directory()).mkpath(mProject->options().folderForObjFiles);
}
// Create executable output directory
if (!mProject->options().exeOutput.isEmpty()) {
QDir(mProject->directory()).mkpath(mProject->options().exeOutput);
if (!mProject->options().folderForOutput.isEmpty()) {
QDir(mProject->directory()).mkpath(mProject->options().folderForOutput);
}
// Write more information to the log file than before
log(tr("Building makefile..."));
@ -187,9 +187,9 @@ void ProjectCompiler::writeMakeDefines(QFile &file, bool &genModuleDef)
if (fileType == FileType::CSource || fileType == FileType::CppSource
|| fileType==FileType::GAS) {
QString relativeName = extractRelativePath(mProject->directory(), unit->fileName());
if (!mProject->options().objectOutput.isEmpty()) {
if (!mProject->options().folderForObjFiles.isEmpty()) {
// ofile = C:\MyProgram\obj\main.o
QString fullObjFile = includeTrailingPathDelimiter(mProject->options().objectOutput)
QString fullObjFile = includeTrailingPathDelimiter(mProject->options().folderForObjFiles)
+ extractFileName(unit->fileName());
QString relativeObjFile = extractRelativePath(mProject->directory(), changeFileExt(fullObjFile, OBJ_EXT));
objects << relativeObjFile;
@ -212,8 +212,8 @@ void ProjectCompiler::writeMakeDefines(QFile &file, bool &genModuleDef)
QString cleanRes;
#ifdef Q_OS_WIN
if (!mProject->options().privateResource.isEmpty()) {
if (!mProject->options().objectOutput.isEmpty()) {
QString fullResFile = includeTrailingPathDelimiter(mProject->options().objectOutput) +
if (!mProject->options().folderForObjFiles.isEmpty()) {
QString fullResFile = includeTrailingPathDelimiter(mProject->options().folderForObjFiles) +
changeFileExt(mProject->options().privateResource, RES_EXT);
QString relativeResFile = extractRelativePath(mProject->directory(), fullResFile);
@ -251,7 +251,7 @@ void ProjectCompiler::writeMakeDefines(QFile &file, bool &genModuleDef)
QStringList resourceArguments = parseArguments(mProject->options().resourceCmd, devCppMacroVariables(), true);
#endif
QString executable = extractRelativePath(mProject->makeFileName(), mProject->executable());
QString executable = extractRelativePath(mProject->makeFileName(), mProject->outputFilename());
QString cleanExe = localizePath(executable);
QString pchHeader = extractRelativePath(mProject->makeFileName(), mProject->options().precompiledHeader);
QString pch = extractRelativePath(mProject->makeFileName(), mProject->options().precompiledHeader + "." GCH_EXT);
@ -301,8 +301,8 @@ void ProjectCompiler::writeMakeDefines(QFile &file, bool &genModuleDef)
// This needs to be put in before the clean command.
if (mProject->options().type == ProjectType::DynamicLib) {
QString outputFileDir = extractFilePath(mProject->executable());
QString outputFilename = extractFileName(mProject->executable());
QString outputFileDir = extractFilePath(mProject->outputFilename());
QString outputFilename = extractFileName(mProject->outputFilename());
QString libOutputFile;
if (!outputFilename.startsWith("lib")) {
libOutputFile = includeTrailingPathDelimiter(outputFileDir) + "lib" + outputFilename;
@ -409,8 +409,8 @@ void ProjectCompiler::writeMakeObjFilesRules(QFile &file)
}
QString objFileNameTarget;
QString objFileNameCommand;
if (!mProject->options().objectOutput.isEmpty()) {
QString fullObjname = includeTrailingPathDelimiter(mProject->options().objectOutput) +
if (!mProject->options().folderForObjFiles.isEmpty()) {
QString fullObjname = includeTrailingPathDelimiter(mProject->options().folderForObjFiles) +
extractFileName(unit->fileName());
QString objectFile = extractRelativePath(mProject->makeFileName(), changeFileExt(fullObjname, OBJ_EXT));
objFileNameTarget = escapeFilenameForMakefileTarget(objectFile);
@ -517,8 +517,8 @@ void ProjectCompiler::writeMakeObjFilesRules(QFile &file)
// Determine resource output file
QString fullName;
if (!mProject->options().objectOutput.isEmpty()) {
fullName = includeTrailingPathDelimiter(mProject->options().objectOutput) +
if (!mProject->options().folderForObjFiles.isEmpty()) {
fullName = includeTrailingPathDelimiter(mProject->options().folderForObjFiles) +
changeFileExt(mProject->options().privateResource, RES_EXT);
} else {
fullName = changeFileExt(mProject->options().privateResource, RES_EXT);
@ -625,7 +625,7 @@ bool ProjectCompiler::prepareForCompile()
}
mDirectory = mProject->directory();
mOutputFile = mProject->executable();
mOutputFile = mProject->outputFilename();
log(tr("Processing makefile:"));
log("--------");

View File

@ -62,12 +62,12 @@ void SDCCProjectCompiler::createStandardMakeFile()
void SDCCProjectCompiler::newMakeFile(QFile& file)
{
// Create OBJ output directory
if (!mProject->options().objectOutput.isEmpty()) {
QDir(mProject->directory()).mkpath(mProject->options().objectOutput);
if (!mProject->options().folderForObjFiles.isEmpty()) {
QDir(mProject->directory()).mkpath(mProject->options().folderForObjFiles);
}
// Create executable output directory
if (!mProject->options().exeOutput.isEmpty()) {
QDir(mProject->directory()).mkpath(mProject->options().exeOutput);
if (!mProject->options().folderForOutput.isEmpty()) {
QDir(mProject->directory()).mkpath(mProject->options().folderForOutput);
}
// Write more information to the log file than before
log(tr("Building makefile..."));
@ -120,9 +120,9 @@ void SDCCProjectCompiler::writeMakeDefines(QFile &file)
if (fileType == FileType::CSource || fileType == FileType::CppSource
|| fileType==FileType::GAS) {
if (!mProject->options().objectOutput.isEmpty()) {
if (!mProject->options().folderForObjFiles.isEmpty()) {
// ofile = C:\MyProgram\obj\main.o
QString fullObjFile = includeTrailingPathDelimiter(mProject->options().objectOutput)
QString fullObjFile = includeTrailingPathDelimiter(mProject->options().folderForObjFiles)
+ extractFileName(unit->fileName());
QString relativeObjFile = extractRelativePath(mProject->directory(), changeFileExt(fullObjFile, SDCC_REL_SUFFIX));
Objects << relativeObjFile;
@ -145,9 +145,9 @@ void SDCCProjectCompiler::writeMakeDefines(QFile &file)
QStringList libraryArguments = getLibraryArguments(FileType::Project);
QStringList cIncludeArguments = getCIncludeArguments() + getProjectIncludeArguments();
QString executable = extractRelativePath(mProject->makeFileName(), mProject->executable());
QString executable = extractRelativePath(mProject->makeFileName(), mProject->outputFilename());
QString cleanExe = localizePath(executable);
QString ihx = extractRelativePath(mProject->makeFileName(), changeFileExt(mProject->executable(), SDCC_IHX_SUFFIX));
QString ihx = extractRelativePath(mProject->makeFileName(), changeFileExt(mProject->outputFilename(), SDCC_IHX_SUFFIX));
QString cleanIhx = localizePath(ihx);
writeln(file, "CC = " + escapeArgumentForMakefileVariableValue(cc, true));
@ -239,8 +239,8 @@ void SDCCProjectCompiler::writeMakeObjFilesRules(QFile &file)
}
QString objFileNameTarget;
QString objFileNameCommand;
if (!mProject->options().objectOutput.isEmpty()) {
QString fullObjname = includeTrailingPathDelimiter(mProject->options().objectOutput) +
if (!mProject->options().folderForObjFiles.isEmpty()) {
QString fullObjname = includeTrailingPathDelimiter(mProject->options().folderForObjFiles) +
extractFileName(unit->fileName());
QString objFile = extractRelativePath(mProject->makeFileName(), changeFileExt(fullObjname, SDCC_REL_SUFFIX));
objFileNameTarget = escapeFilenameForMakefileTarget(objFile);
@ -341,7 +341,7 @@ bool SDCCProjectCompiler::prepareForCompile()
}
mDirectory = mProject->directory();
mOutputFile = mProject->executable();
mOutputFile = mProject->outputFilename();
log(tr("Processing makefile:"));
log("--------");
log(tr("- makefile processer: %1").arg(mCompiler));

View File

@ -39,6 +39,8 @@ void CustomFileIconProvider::setRootFolder(const QString &folder)
{
#ifdef ENABLE_VCS
mVCSRepository->setFolder(folder);
#else
Q_UNUSED(folder);
#endif
}

View File

@ -2251,7 +2251,7 @@ bool MainWindow::compile(bool rebuild, CppCompileType compileType)
}
mProject->buildPrivateResource();
if (mCompileSuccessionTask) {
mCompileSuccessionTask->execName = mProject->executable();
mCompileSuccessionTask->execName = mProject->outputFilename();
mCompileSuccessionTask->isExecutable = true;
}
stretchMessagesPanel(true);
@ -2371,14 +2371,14 @@ void MainWindow::runExecutable(RunType runType)
CompileTarget target =getCompileTarget();
if (target == CompileTarget::Project) {
QStringList binDirs = mProject->binDirs();
QFileInfo execInfo(mProject->executable());
QFileInfo execInfo(mProject->outputFilename());
QDateTime execModTime = execInfo.lastModified();
if (execInfo.exists() && mProject->modifiedSince(execModTime)) {
//if project options changed, or units added/removed
//mProject->saveAll();
mCompileSuccessionTask=std::make_shared<CompileSuccessionTask>();
mCompileSuccessionTask->type = runTypeToCompileSuccessionTaskType(runType);
mCompileSuccessionTask->execName=mProject->executable();
mCompileSuccessionTask->execName=mProject->outputFilename();
mCompileSuccessionTask->isExecutable=true;
mCompileSuccessionTask->binDirs=binDirs;
compile(true);
@ -2389,14 +2389,14 @@ void MainWindow::runExecutable(RunType runType)
//mProject->saveAll();
mCompileSuccessionTask=std::make_shared<CompileSuccessionTask>();
mCompileSuccessionTask->type = runTypeToCompileSuccessionTaskType(runType);
mCompileSuccessionTask->execName=mProject->executable();
mCompileSuccessionTask->execName=mProject->outputFilename();
mCompileSuccessionTask->isExecutable=true;
mCompileSuccessionTask->binDirs=binDirs;
compile();
return;
}
runExecutable(mProject->executable(),mProject->filename(),runType,
runExecutable(mProject->outputFilename(),mProject->filename(),runType,
binDirs);
} else {
Editor * editor = mEditorList->getEditor();
@ -2486,24 +2486,24 @@ void MainWindow::debug()
}
// Did we compile?
if (!fileExists(mProject->executable())) {
if (!fileExists(mProject->outputFilename())) {
mCompileSuccessionTask=std::make_shared<CompileSuccessionTask>();
mCompileSuccessionTask->type = CompileSuccessionTaskType::Debug;
mCompileSuccessionTask->execName = mProject->executable();
mCompileSuccessionTask->execName = mProject->outputFilename();
mCompileSuccessionTask->isExecutable = true;
mCompileSuccessionTask->binDirs = binDirs;
compile();
return;
}
{
QFileInfo execInfo(mProject->executable());
QFileInfo execInfo(mProject->outputFilename());
QDateTime execModTime = execInfo.lastModified();
if (execInfo.exists() && mProject->modifiedSince(execModTime)) {
//if project options changed, or units added/removed
//mProject->saveAll();
mCompileSuccessionTask=std::make_shared<CompileSuccessionTask>();
mCompileSuccessionTask->type = CompileSuccessionTaskType::Debug;
mCompileSuccessionTask->execName=mProject->executable();
mCompileSuccessionTask->execName=mProject->outputFilename();
mCompileSuccessionTask->isExecutable=true;
mCompileSuccessionTask->binDirs=binDirs;
compile(true);
@ -2514,7 +2514,7 @@ void MainWindow::debug()
//mProject->saveAll();
mCompileSuccessionTask=std::make_shared<CompileSuccessionTask>();
mCompileSuccessionTask->type = CompileSuccessionTaskType::Debug;
mCompileSuccessionTask->execName=mProject->executable();
mCompileSuccessionTask->execName=mProject->outputFilename();
mCompileSuccessionTask->isExecutable=true;
mCompileSuccessionTask->binDirs=binDirs;
compile();
@ -2542,7 +2542,7 @@ void MainWindow::debug()
}
// Reset UI, remove invalid breakpoints
prepareDebugger();
filePath = mProject->executable();
filePath = mProject->outputFilename();
// mDebugger->setUseUTF8(e->fileEncoding() == ENCODING_UTF8 || e->fileEncoding() == ENCODING_UTF8_BOM);
@ -8245,7 +8245,7 @@ void MainWindow::doCompileRun(RunType runType)
QString execName;
if (target == CompileTarget::Project) {
binDirs = mProject->binDirs();
execName = mProject->executable();
execName = mProject->outputFilename();
} else {
binDirs = getDefaultCompilerSetBinDirs();
}

View File

@ -33,7 +33,7 @@ enum class ParserLanguage {
#endif
};
inline qHash(const ParserLanguage& value, uint seed) {
inline uint qHash(const ParserLanguage& value, uint seed) {
return qHash((int)value, seed);
}
@ -118,7 +118,7 @@ enum class StatementKind {
Alias, // using alias
};
inline qHash(const StatementKind& value, uint seed) {
inline uint qHash(const StatementKind& value, uint seed) {
return qHash((int)value, seed);
}

View File

@ -123,11 +123,11 @@ QString Project::directory() const
return fileInfo.absolutePath();
}
QString Project::executable() const
QString Project::outputFilename() const
{
QString exeFileName;
if (mOptions.overrideOutput && !mOptions.overridenOutput.isEmpty()) {
exeFileName = mOptions.overridenOutput;
if (mOptions.useCustomOutputFilename && !mOptions.customOutputFilename.isEmpty()) {
exeFileName = mOptions.customOutputFilename;
} else {
switch(mOptions.type) {
#ifdef ENABLE_SDCC
@ -155,9 +155,9 @@ QString Project::executable() const
}
}
QString exePath;
if (!mOptions.exeOutput.isEmpty()) {
if (!mOptions.folderForOutput.isEmpty()) {
QDir baseDir(directory());
exePath = baseDir.filePath(mOptions.exeOutput);
exePath = baseDir.filePath(mOptions.folderForOutput);
} else {
exePath = directory();
}
@ -1090,12 +1090,12 @@ bool Project::saveAsTemplate(const QString &templateFolder,
ini->SetBoolValue("Project", "IncludeVersionInfo", true);
if (mOptions.supportXPThemes)
ini->SetBoolValue("Project", "SupportXPThemes", true);
if (!mOptions.exeOutput.isEmpty())
ini->SetValue("Project", "ExeOutput", extractRelativePath(directory(),mOptions.exeOutput).toUtf8());
if (!mOptions.objectOutput.isEmpty())
ini->SetValue("Project", "ObjectOutput", extractRelativePath(directory(),mOptions.objectOutput).toUtf8());
if (!mOptions.logOutput.isEmpty())
ini->SetValue("Project", "LogOutput", extractRelativePath(directory(),mOptions.logOutput).toUtf8());
if (!mOptions.folderForOutput.isEmpty())
ini->SetValue("Project", "ExeOutput", extractRelativePath(directory(),mOptions.folderForOutput).toUtf8());
if (!mOptions.folderForObjFiles.isEmpty())
ini->SetValue("Project", "ObjectOutput", extractRelativePath(directory(),mOptions.folderForObjFiles).toUtf8());
if (!mOptions.logFilename.isEmpty())
ini->SetValue("Project", "LogOutput", extractRelativePath(directory(),mOptions.logFilename).toUtf8());
if (mOptions.execEncoding!=ENCODING_SYSTEM_DEFAULT)
ini->SetValue("Project","ExecEncoding", mOptions.execEncoding);
@ -1190,12 +1190,12 @@ void Project::saveOptions()
ini.SetValue("Project", "ResourceCommand", toByteArray(textToLines(mOptions.resourceCmd).join(" ")));
ini.SetLongValue("Project","IsCpp", mOptions.isCpp);
ini.SetValue("Project","Icon", toByteArray(extractRelativePath(directory(), mOptions.icon)));
ini.SetValue("Project","ExeOutput", toByteArray(extractRelativePath(directory(),mOptions.exeOutput)));
ini.SetValue("Project","ObjectOutput", toByteArray(extractRelativePath(directory(),mOptions.objectOutput)));
ini.SetValue("Project","LogOutput", toByteArray(extractRelativePath(directory(),mOptions.logOutput)));
ini.SetLongValue("Project","LogOutputEnabled", mOptions.logOutputEnabled);
ini.SetLongValue("Project","OverrideOutput", mOptions.overrideOutput);
ini.SetValue("Project","OverrideOutputName", toByteArray(mOptions.overridenOutput));
ini.SetValue("Project","ExeOutput", toByteArray(extractRelativePath(directory(),mOptions.folderForOutput)));
ini.SetValue("Project","ObjectOutput", toByteArray(extractRelativePath(directory(),mOptions.folderForObjFiles)));
ini.SetValue("Project","LogOutput", toByteArray(extractRelativePath(directory(),mOptions.logFilename)));
ini.SetLongValue("Project","LogOutputEnabled", mOptions.logOutput);
ini.SetLongValue("Project","OverrideOutput", mOptions.useCustomOutputFilename);
ini.SetValue("Project","OverrideOutputName", toByteArray(mOptions.customOutputFilename));
ini.SetValue("Project","HostApplication", toByteArray(extractRelativePath(directory(), mOptions.hostApplication)));
ini.SetLongValue("Project","UseCustomMakefile", mOptions.useCustomMakefile);
ini.SetValue("Project","CustomMakefile", toByteArray(extractRelativePath(directory(),mOptions.customMakefile)));
@ -1444,12 +1444,12 @@ void Project::buildPrivateResource()
contents.append("// THIS WILL MAKE THE PROGRAM USE THE COMMON CONTROLS");
contents.append("// LIBRARY VERSION 6.0 (IF IT IS AVAILABLE)");
contents.append("//");
if (!mOptions.exeOutput.isEmpty())
if (!mOptions.folderForOutput.isEmpty())
contents.append(
"1 24 \"" + includeTrailingPathDelimiter(mOptions.exeOutput)
+ extractFileName(executable()) + ".Manifest\"");
"1 24 \"" + includeTrailingPathDelimiter(mOptions.folderForOutput)
+ extractFileName(outputFilename()) + ".Manifest\"");
else
contents.append("1 24 \"" + extractFileName(executable()) + ".Manifest\"");
contents.append("1 24 \"" + extractFileName(outputFilename()) + ".Manifest\"");
}
if (mOptions.includeVersionInfo) {
@ -1573,7 +1573,7 @@ void Project::buildPrivateResource()
content.append(" </dependentAssembly>");
content.append("</dependency>");
content.append("</assembly>");
stringsToFile(content,executable() + ".Manifest");
stringsToFile(content,outputFilename() + ".Manifest");
}
// create private header file
@ -2024,12 +2024,12 @@ void Project::loadOptions(SimpleIni& ini)
#endif
));
mOptions.isCpp = ini.GetBoolValue("Project", "IsCpp", false);
mOptions.exeOutput = generateAbsolutePath(directory(), fromByteArray(ini.GetValue("Project", "ExeOutput", "")));
mOptions.objectOutput = generateAbsolutePath(directory(), fromByteArray(ini.GetValue("Project", "ObjectOutput", "")));
mOptions.logOutput = generateAbsolutePath(directory(), fromByteArray(ini.GetValue("Project", "LogOutput", "")));
mOptions.logOutputEnabled = ini.GetBoolValue("Project", "LogOutputEnabled", false);
mOptions.overrideOutput = ini.GetBoolValue("Project", "OverrideOutput", false);
mOptions.overridenOutput = fromByteArray(ini.GetValue("Project", "OverrideOutputName", ""));
mOptions.folderForOutput = generateAbsolutePath(directory(), fromByteArray(ini.GetValue("Project", "ExeOutput", "")));
mOptions.folderForObjFiles = generateAbsolutePath(directory(), fromByteArray(ini.GetValue("Project", "ObjectOutput", "")));
mOptions.logFilename = generateAbsolutePath(directory(), fromByteArray(ini.GetValue("Project", "LogOutput", "")));
mOptions.logOutput = ini.GetBoolValue("Project", "LogOutputEnabled", false);
mOptions.useCustomOutputFilename = ini.GetBoolValue("Project", "OverrideOutput", false);
mOptions.customOutputFilename = fromByteArray(ini.GetValue("Project", "OverrideOutputName", ""));
mOptions.hostApplication = generateAbsolutePath(directory(), fromByteArray(ini.GetValue("Project", "HostApplication", "")));
mOptions.useCustomMakefile = ini.GetBoolValue("Project", "UseCustomMakefile", false);
mOptions.customMakefile = generateAbsolutePath(directory(),fromByteArray(ini.GetValue("Project", "CustomMakefile", "")));
@ -2155,7 +2155,7 @@ void Project::loadOptions(SimpleIni& ini)
mOptions.versionInfo.legalCopyright = fromByteArray(ini.GetValue("VersionInfo", "LegalCopyright", ""));
mOptions.versionInfo.legalTrademarks = fromByteArray(ini.GetValue("VersionInfo", "LegalTrademarks", ""));
mOptions.versionInfo.originalFilename = fromByteArray(ini.GetValue("VersionInfo", "OriginalFilename",
toByteArray(extractFileName(executable()))));
toByteArray(extractFileName(outputFilename()))));
mOptions.versionInfo.productName = fromByteArray(ini.GetValue("VersionInfo", "ProductName", toByteArray(mName)));
mOptions.versionInfo.productVersion = fromByteArray(ini.GetValue("VersionInfo", "ProductVersion", "0.1.1.1"));
mOptions.versionInfo.autoIncBuildNr = ini.GetBoolValue("VersionInfo", "AutoIncBuildNr", false);

View File

@ -212,7 +212,7 @@ public:
~Project();
QString directory() const;
QString executable() const;
QString outputFilename() const;
QString makeFileName();
QString xmakeFileName();
bool unitsModifiedSince(const QDateTime& time);

View File

@ -43,10 +43,10 @@ ProjectOptions::ProjectOptions()
type = ProjectType::GUI;
version = 3;
isCpp = false;
logOutputEnabled = false;
logOutput = false;
useCustomMakefile = false;
usePrecompiledHeader = false;
overrideOutput = false;
useCustomOutputFilename = false;
includeVersionInfo = false;
supportXPThemes = false;
compilerSet = 0;

View File

@ -76,16 +76,16 @@ struct ProjectOptions{
QStringList makeIncludes;
bool isCpp;
QString icon;
QString exeOutput;
QString objectOutput;
QString logOutput;
bool logOutputEnabled;
QString folderForOutput;
QString folderForObjFiles;
QString logFilename;
bool logOutput;
bool useCustomMakefile;
QString customMakefile;
bool usePrecompiledHeader;
QString precompiledHeader;
bool overrideOutput;
QString overridenOutput;
bool useCustomOutputFilename;
QString customOutputFilename;
QString hostApplication;
bool includeVersionInfo;
bool supportXPThemes;

View File

@ -152,9 +152,9 @@ void ProjectTemplate::readTemplateFile(const QString &fileName)
mOptions.isCpp = mIni->GetBoolValue("Project", "IsCpp", false);
mOptions.includeVersionInfo = mIni->GetBoolValue("Project", "IncludeVersionInfo", false);
mOptions.supportXPThemes = mIni->GetBoolValue("Project", "SupportXPThemes", false);
mOptions.exeOutput = fromByteArray(mIni->GetValue("Project", "ExeOutput", ""));
mOptions.objectOutput = fromByteArray(mIni->GetValue("Project", "ObjectOutput", ""));
mOptions.logOutput = fromByteArray(mIni->GetValue("Project", "LogOutput", ""));
mOptions.folderForOutput = fromByteArray(mIni->GetValue("Project", "ExeOutput", ""));
mOptions.folderForObjFiles = fromByteArray(mIni->GetValue("Project", "ObjectOutput", ""));
mOptions.logFilename = fromByteArray(mIni->GetValue("Project", "LogOutput", ""));
mOptions.execEncoding = mIni->GetValue("Project","ExecEncoding", ENCODING_SYSTEM_DEFAULT);
mOptions.staticLink = mIni->GetBoolValue("Project", "StaticLink",true);

View File

@ -1446,8 +1446,8 @@ void Settings::Editor::doLoad()
mEnhanceHomeKey = boolValue("enhance_home_key", true);
mEnhanceEndKey = boolValue("enhance_end_key",true);
mKeepCaretX = boolValue("keep_caret_x",true);
mCaretForInsert = static_cast<QSynedit::EditCaretType>( intValue("caret_for_insert",static_cast<int>(QSynedit::EditCaretType::ctVerticalLine)));
mCaretForOverwrite = static_cast<QSynedit::EditCaretType>( intValue("caret_for_overwrite",static_cast<int>(QSynedit::EditCaretType::ctBlock)));
mCaretForInsert = static_cast<QSynedit::EditCaretType>( intValue("caret_for_insert",static_cast<int>(QSynedit::EditCaretType::VerticalLine)));
mCaretForOverwrite = static_cast<QSynedit::EditCaretType>( intValue("caret_for_overwrite",static_cast<int>(QSynedit::EditCaretType::Block)));
mCaretUseTextColor = boolValue("caret_use_text_color",true);
mCaretColor = colorValue("caret_color",Qt::yellow);

View File

@ -47,7 +47,7 @@ static void setCaretTypeIndex(QComboBox* combo, QSynedit::EditCaretType caretTyp
static QSynedit::EditCaretType getCaretTypeIndex(QComboBox* combo) {
if (combo->currentIndex()<0)
return QSynedit::EditCaretType::ctVerticalLine;
return QSynedit::EditCaretType::VerticalLine;
return static_cast<QSynedit::EditCaretType>(combo->currentIndex());
}
void EditorGeneralWidget::doLoad()

View File

@ -74,7 +74,7 @@ void ProjectGeneralWidget::doLoad()
ui->txtName->setText(project->name());
ui->txtFileName->setText(project->filename());
ui->txtOutputFile->setText(project->executable());
ui->txtOutputFile->setText(project->outputFilename());
int srcCount=0,headerCount=0,resCount=0,otherCount=0, totalCount=0;
foreach (const PProjectUnit& unit, project->unitList()) {
@ -251,6 +251,6 @@ void ProjectGeneralWidget::on_cbType_currentIndexChanged(int /*index*/)
std::shared_ptr<Project> project = pMainWindow->project();
if (!project)
return;
ui->txtOutputFile->setText(project->executable());
ui->txtOutputFile->setText(project->outputFilename());
}

View File

@ -38,22 +38,22 @@ ProjectOutputWidget::~ProjectOutputWidget()
void ProjectOutputWidget::doLoad()
{
ui->txtOutputDir->setText(pMainWindow->project()->options().exeOutput);
ui->txtObjOutputDir->setText(pMainWindow->project()->options().objectOutput);
ui->grpAutosaveCompileLog->setChecked(pMainWindow->project()->options().logOutputEnabled);
ui->txtCompileLog->setText(pMainWindow->project()->options().logOutput);
ui->grpOverrideOutput->setChecked(pMainWindow->project()->options().overrideOutput);
ui->txtOutputFilename->setText(pMainWindow->project()->options().overridenOutput);
ui->txtOutputDir->setText(pMainWindow->project()->options().folderForOutput);
ui->txtObjOutputDir->setText(pMainWindow->project()->options().folderForObjFiles);
ui->grpAutosaveCompileLog->setChecked(pMainWindow->project()->options().logOutput);
ui->txtCompileLog->setText(pMainWindow->project()->options().logFilename);
ui->grpOverrideOutput->setChecked(pMainWindow->project()->options().useCustomOutputFilename);
ui->txtOutputFilename->setText(pMainWindow->project()->options().customOutputFilename);
}
void ProjectOutputWidget::doSave()
{
pMainWindow->project()->options().exeOutput = ui->txtOutputDir->text();
pMainWindow->project()->options().objectOutput = ui->txtObjOutputDir->text();
pMainWindow->project()->options().logOutputEnabled = ui->grpAutosaveCompileLog->isChecked();
pMainWindow->project()->options().logOutput = ui->txtCompileLog->text();
pMainWindow->project()->options().overrideOutput = ui->grpOverrideOutput->isChecked();
pMainWindow->project()->options().overridenOutput = ui->txtOutputFilename->text();
pMainWindow->project()->options().folderForOutput = ui->txtOutputDir->text();
pMainWindow->project()->options().folderForObjFiles = ui->txtObjOutputDir->text();
pMainWindow->project()->options().logOutput = ui->grpAutosaveCompileLog->isChecked();
pMainWindow->project()->options().logFilename = ui->txtCompileLog->text();
pMainWindow->project()->options().useCustomOutputFilename = ui->grpOverrideOutput->isChecked();
pMainWindow->project()->options().customOutputFilename = ui->txtOutputFilename->text();
pMainWindow->project()->saveOptions();
}

View File

@ -17,7 +17,7 @@
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Executable output directory</string>
<string>Directory for output</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
@ -36,7 +36,7 @@
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Object file output directory</string>
<string>Directory for obj files</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>

View File

@ -203,6 +203,7 @@ void SettingsWidget::clearSettingsChanged()
void SettingsWidget::showEvent(QShowEvent *event)
{
Q_UNUSED(event);
load();
}

View File

@ -1460,12 +1460,12 @@
<translation>Inserir a condição de parada:</translation>
</message>
<message>
<location line="+260"/>
<location line="+262"/>
<source>Readonly</source>
<translation>Apenas leitura</translation>
</message>
<message>
<location line="-5452"/>
<location line="-5454"/>
<location line="+505"/>
<source>Error Load File</source>
<translation type="unfinished">Erro ao carregar arquivo</translation>
@ -4276,7 +4276,7 @@
<name>MainWindow</name>
<message>
<location filename="../mainwindow.ui" line="+14"/>
<location filename="../mainwindow.cpp" line="+1324"/>
<location filename="../mainwindow.cpp" line="+1330"/>
<source>Red Panda C++</source>
<translation>Red Panda C++</translation>
</message>
@ -5483,13 +5483,13 @@
<translation>Ctrl+Shift+Down</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="-8406"/>
<location filename="../mainwindow.cpp" line="-8412"/>
<location line="+72"/>
<location line="+9"/>
<location line="+8"/>
<location line="+9"/>
<location line="+61"/>
<location line="+1359"/>
<location line="+1365"/>
<location line="+1799"/>
<location line="+117"/>
<location line="+1866"/>
@ -5501,7 +5501,7 @@
<translation>Erro</translation>
</message>
<message>
<location line="-9506"/>
<location line="-9512"/>
<source>New</source>
<translation>Novo</translation>
</message>
@ -5527,18 +5527,18 @@
</message>
<message>
<location line="+85"/>
<location line="+8310"/>
<location line="+8316"/>
<source>Problem Set %1</source>
<translation>Conjunto de problemas %1</translation>
</message>
<message>
<location line="-7663"/>
<location line="-7669"/>
<location line="+6"/>
<source>Load Theme Error</source>
<translation>Erro ao carregar tema</translation>
</message>
<message>
<location line="+325"/>
<location line="+331"/>
<location line="+2"/>
<location line="+30"/>
<location line="+2"/>
@ -7018,7 +7018,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="-5173"/>
<location filename="../mainwindow.cpp" line="-5179"/>
<source>Exact</source>
<translation type="unfinished"></translation>
</message>
@ -7033,7 +7033,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7043"/>
<location line="+7049"/>
<source>Folder Not Empty</source>
<translation type="unfinished"></translation>
</message>
@ -8137,22 +8137,30 @@
<translation>Configuração</translation>
</message>
<message>
<location line="+6"/>
<location filename="../settingsdialog/projectoutputwidget.cpp" line="+67"/>
<source>Executable output directory</source>
<translation>Pasta do executável</translation>
</message>
<message>
<location line="+9"/>
<location filename="../settingsdialog/projectoutputwidget.ui" line="+15"/>
<location line="+19"/>
<location line="+25"/>
<source>browse</source>
<translation>navegar</translation>
</message>
<message>
<location line="-34"/>
<source>Object file output directory</source>
<translation>Pasta do arquivo objeto</translation>
<translation type="vanished">Pasta do arquivo objeto</translation>
</message>
<message>
<location line="-53"/>
<source>Directory for output</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>Directory for obj files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
@ -8381,7 +8389,7 @@
<context>
<name>QFileSystemModel</name>
<message>
<location filename="../mainwindow.cpp" line="-1214"/>
<location filename="../mainwindow.cpp" line="-1220"/>
<source>&lt;b&gt;The name &quot;%1&quot; cannot be used.&lt;/b&gt;&lt;p&gt;Try using another name, with fewer characters or no punctuation marks.</source>
<translation type="unfinished"></translation>
</message>
@ -8681,7 +8689,7 @@
</message>
<message>
<location filename="../editorlist.cpp" line="+178"/>
<location filename="../mainwindow.cpp" line="+3227"/>
<location filename="../mainwindow.cpp" line="+3233"/>
<source>Save</source>
<translation>Salvar</translation>
</message>
@ -9000,7 +9008,7 @@
<translation type="vanished">Índice %1 fora dos limites</translation>
</message>
<message>
<location filename="../utils.cpp" line="+488"/>
<location filename="../utils.cpp" line="+486"/>
<source>bytes</source>
<translation>bytes</translation>
</message>
@ -10878,7 +10886,7 @@
<translation>Remover compilado</translation>
</message>
<message>
<location line="+28"/>
<location line="+32"/>
<location line="+13"/>
<source>Read tools config failed</source>
<translation>Falha ao ler configurações de ferramentas</translation>

View File

@ -1722,7 +1722,7 @@ p, li { white-space: pre-wrap; }
<translation>:</translation>
</message>
<message>
<location line="+260"/>
<location line="+262"/>
<source>Readonly</source>
<translation></translation>
</message>
@ -4629,7 +4629,7 @@ p, li { white-space: pre-wrap; }
<name>MainWindow</name>
<message>
<location filename="../mainwindow.ui" line="+14"/>
<location filename="../mainwindow.cpp" line="+1324"/>
<location filename="../mainwindow.cpp" line="+1330"/>
<source>Red Panda C++</source>
<translation>C++</translation>
</message>
@ -4790,7 +4790,7 @@ p, li { white-space: pre-wrap; }
<translation type="vanished">2</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="-1707"/>
<location filename="../mainwindow.cpp" line="-1713"/>
<source>New</source>
<translation></translation>
</message>
@ -4923,7 +4923,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location line="+5"/>
<location filename="../mainwindow.cpp" line="+2707"/>
<location filename="../mainwindow.cpp" line="+2713"/>
<location line="+27"/>
<location line="+200"/>
<source>Copy</source>
@ -6202,12 +6202,12 @@ p, li { white-space: pre-wrap; }
<translation></translation>
</message>
<message>
<location line="-3408"/>
<location line="-3414"/>
<source>Recent Files</source>
<translation></translation>
</message>
<message>
<location line="+1069"/>
<location line="+1075"/>
<location line="+2"/>
<location line="+30"/>
<location line="+2"/>
@ -6529,7 +6529,7 @@ p, li { white-space: pre-wrap; }
<translation></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="-2915"/>
<location filename="../mainwindow.cpp" line="-2921"/>
<source>Export</source>
<translation></translation>
</message>
@ -6540,7 +6540,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location line="+85"/>
<location line="+8310"/>
<location line="+8316"/>
<source>Problem Set %1</source>
<translation>%1</translation>
</message>
@ -7496,13 +7496,13 @@ p, li { white-space: pre-wrap; }
<translation>%1</translation>
</message>
<message>
<location line="-8554"/>
<location line="-8560"/>
<location line="+72"/>
<location line="+9"/>
<location line="+8"/>
<location line="+9"/>
<location line="+61"/>
<location line="+1359"/>
<location line="+1365"/>
<location line="+1799"/>
<location line="+117"/>
<location line="+1866"/>
@ -7514,7 +7514,7 @@ p, li { white-space: pre-wrap; }
<translation></translation>
</message>
<message>
<location line="-9484"/>
<location line="-9490"/>
<source>Recent Projects</source>
<translation></translation>
</message>
@ -7525,7 +7525,7 @@ p, li { white-space: pre-wrap; }
<translation></translation>
</message>
<message>
<location line="+453"/>
<location line="+459"/>
<location line="+22"/>
<source>Clear History</source>
<translation></translation>
@ -7589,7 +7589,7 @@ p, li { white-space: pre-wrap; }
<translation></translation>
</message>
<message>
<location line="-9585"/>
<location line="-9591"/>
<source>Exact</source>
<translation></translation>
</message>
@ -7608,7 +7608,7 @@ p, li { white-space: pre-wrap; }
<translation type="vanished">: %1 : %2 (%3) : %4</translation>
</message>
<message>
<location line="+2312"/>
<location line="+2318"/>
<location line="+123"/>
<location line="+2724"/>
<source>If you are using the Release compiler set, please use choose the Debug version from toolbar.</source>
@ -8800,22 +8800,30 @@ p, li { white-space: pre-wrap; }
<translation></translation>
</message>
<message>
<location line="+6"/>
<location filename="../settingsdialog/projectoutputwidget.cpp" line="+67"/>
<source>Executable output directory</source>
<translation></translation>
</message>
<message>
<location line="+9"/>
<location filename="../settingsdialog/projectoutputwidget.ui" line="+15"/>
<location line="+19"/>
<location line="+25"/>
<source>browse</source>
<translation></translation>
</message>
<message>
<location line="-34"/>
<source>Object file output directory</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location line="-53"/>
<source>Directory for output</source>
<translation></translation>
</message>
<message>
<location line="+19"/>
<source>Directory for obj files</source>
<translation>obj文件夹</translation>
</message>
<message>
<location line="+19"/>
@ -8825,7 +8833,7 @@ p, li { white-space: pre-wrap; }
<message>
<location line="+25"/>
<source>Override output filename</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="../settingsdialog/projectoutputwidget.cpp" line="+14"/>
@ -9057,7 +9065,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QFileSystemModel</name>
<message>
<location filename="../mainwindow.cpp" line="-6540"/>
<location filename="../mainwindow.cpp" line="-6546"/>
<source>&lt;b&gt;The name &quot;%1&quot; cannot be used.&lt;/b&gt;&lt;p&gt;Try using another name, with fewer characters or no punctuation marks.</source>
<translation>&lt;b&gt; &quot;%1&quot; 使&lt;/b&gt;&lt;p&gt;使</translation>
</message>
@ -9066,7 +9074,7 @@ p, li { white-space: pre-wrap; }
<name>QObject</name>
<message>
<location filename="../editorlist.cpp" line="+178"/>
<location filename="../mainwindow.cpp" line="+3227"/>
<location filename="../mainwindow.cpp" line="+3233"/>
<source>Save</source>
<translation></translation>
</message>
@ -9551,7 +9559,7 @@ p, li { white-space: pre-wrap; }
<translation type="vanished">&quot;%1&quot;</translation>
</message>
<message>
<location filename="../utils.cpp" line="+488"/>
<location filename="../utils.cpp" line="+486"/>
<source>bytes</source>
<translation></translation>
</message>
@ -11782,7 +11790,7 @@ p, li { white-space: pre-wrap; }
<translation type="vanished"></translation>
</message>
<message>
<location line="+28"/>
<location line="+32"/>
<location line="+13"/>
<source>Read tools config failed</source>
<translation></translation>

View File

@ -1297,12 +1297,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+260"/>
<location line="+262"/>
<source>Readonly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-5452"/>
<location line="-5454"/>
<location line="+505"/>
<source>Error Load File</source>
<translation type="unfinished"></translation>
@ -4061,7 +4061,7 @@
<name>MainWindow</name>
<message>
<location filename="../mainwindow.ui" line="+14"/>
<location filename="../mainwindow.cpp" line="+1324"/>
<location filename="../mainwindow.cpp" line="+1330"/>
<source>Red Panda C++</source>
<translation type="unfinished"></translation>
</message>
@ -5255,13 +5255,13 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="-8406"/>
<location filename="../mainwindow.cpp" line="-8412"/>
<location line="+72"/>
<location line="+9"/>
<location line="+8"/>
<location line="+9"/>
<location line="+61"/>
<location line="+1359"/>
<location line="+1365"/>
<location line="+1799"/>
<location line="+117"/>
<location line="+1866"/>
@ -5273,7 +5273,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="-9506"/>
<location line="-9512"/>
<source>New</source>
<translation type="unfinished"></translation>
</message>
@ -5299,18 +5299,18 @@
</message>
<message>
<location line="+85"/>
<location line="+8310"/>
<location line="+8316"/>
<source>Problem Set %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-7663"/>
<location line="-7669"/>
<location line="+6"/>
<source>Load Theme Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+325"/>
<location line="+331"/>
<location line="+2"/>
<location line="+30"/>
<location line="+2"/>
@ -6711,7 +6711,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="-5173"/>
<location filename="../mainwindow.cpp" line="-5179"/>
<source>Exact</source>
<translation type="unfinished"></translation>
</message>
@ -6726,7 +6726,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7043"/>
<location line="+7049"/>
<source>Folder Not Empty</source>
<translation type="unfinished"></translation>
</message>
@ -7762,21 +7762,25 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<location filename="../settingsdialog/projectoutputwidget.cpp" line="+67"/>
<source>Executable output directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<location filename="../settingsdialog/projectoutputwidget.ui" line="+15"/>
<location line="+19"/>
<location line="+25"/>
<source>browse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-34"/>
<source>Object file output directory</source>
<location line="-53"/>
<source>Directory for output</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>Directory for obj files</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -7981,7 +7985,7 @@
<context>
<name>QFileSystemModel</name>
<message>
<location filename="../mainwindow.cpp" line="-1214"/>
<location filename="../mainwindow.cpp" line="-1220"/>
<source>&lt;b&gt;The name &quot;%1&quot; cannot be used.&lt;/b&gt;&lt;p&gt;Try using another name, with fewer characters or no punctuation marks.</source>
<translation type="unfinished"></translation>
</message>
@ -8274,7 +8278,7 @@
</message>
<message>
<location filename="../editorlist.cpp" line="+178"/>
<location filename="../mainwindow.cpp" line="+3227"/>
<location filename="../mainwindow.cpp" line="+3233"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
@ -8483,7 +8487,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../utils.cpp" line="+488"/>
<location filename="../utils.cpp" line="+486"/>
<source>bytes</source>
<translation type="unfinished"></translation>
</message>
@ -10097,7 +10101,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+28"/>
<location line="+32"/>
<location line="+13"/>
<source>Read tools config failed</source>
<translation type="unfinished"></translation>

View File

@ -201,8 +201,8 @@ QMap<QString, QString> devCppMacroVariables()
result["PROJECTFILENAME"] = extractFileName(e->filename());
result["PROJECTPATH"] = localizePath(extractFileDir(e->filename()));
} else if (pMainWindow->project()) {
result["EXENAME"] = extractFileName(pMainWindow->project()->executable());
result["EXEFILE"] = localizePath(pMainWindow->project()->executable());
result["EXENAME"] = extractFileName(pMainWindow->project()->outputFilename());
result["EXEFILE"] = localizePath(pMainWindow->project()->outputFilename());
result["PROJECTNAME"] = pMainWindow->project()->name();
result["PROJECTFILE"] = localizePath(pMainWindow->project()->filename());
result["PROJECTFILENAME"] = extractFileName(pMainWindow->project()->filename());

View File

@ -60,4 +60,5 @@ extern const QChar SoftBreakGlyph;
}
#endif // CONSTANTS_H

View File

@ -113,8 +113,8 @@ QSynEdit::QSynEdit(QWidget *parent) : QAbstractScrollArea(parent),
this->setFrameShape(QFrame::Panel);
this->setFrameShadow(QFrame::Sunken);
this->setLineWidth(1);
mInsertCaret = EditCaretType::ctVerticalLine;
mOverwriteCaret = EditCaretType::ctBlock;
mInsertCaret = EditCaretType::VerticalLine;
mOverwriteCaret = EditCaretType::Block;
mActiveSelectionMode = SelectionMode::Normal;
mReadOnly = false;
@ -3675,7 +3675,7 @@ void QSynEdit::paintCaret(QPainter &painter, const QRect rcClip)
caretColor = mCaretColor;
}
switch(ct) {
case EditCaretType::ctVerticalLine: {
case EditCaretType::VerticalLine: {
QRect caretRC;
int size = std::max(1, mTextHeight/15);
caretRC.setLeft(rcClip.left()+1);
@ -3685,7 +3685,7 @@ void QSynEdit::paintCaret(QPainter &painter, const QRect rcClip)
painter.fillRect(caretRC,caretColor);
break;
}
case EditCaretType::ctHorizontalLine: {
case EditCaretType::HorizontalLine: {
QRect caretRC;
int size = std::max(1,mTextHeight/15);
caretRC.setLeft(rcClip.left());
@ -3695,10 +3695,10 @@ void QSynEdit::paintCaret(QPainter &painter, const QRect rcClip)
painter.fillRect(caretRC,caretColor);
break;
}
case EditCaretType::ctBlock:
case EditCaretType::Block:
painter.fillRect(rcClip, caretColor);
break;
case EditCaretType::ctHalfBlock:
case EditCaretType::HalfBlock:
QRect rc=rcClip;
rc.setTop(rcClip.top()+rcClip.height() / 2);
painter.fillRect(rcClip, caretColor);

View File

@ -39,7 +39,7 @@ enum class ScrollStyle {
};
enum class EditCaretType {
ctVerticalLine=0, ctHorizontalLine=1, ctHalfBlock=2, ctBlock=3
VerticalLine=0, HorizontalLine=1, HalfBlock=2, Block=3
};
enum class StatusChange {
@ -113,12 +113,6 @@ enum class SearchAction {
Exit
};
enum class TransientType {
ttBefore, ttAfter
};
/*
using SynPaintTransientProc = std::function<void(const QPaintDevice& paintDevice,
SynTransientType transientType)>;

View File

@ -4288,7 +4288,7 @@
<context>
<name>QSynedit::Document</name>
<message>
<location filename="qsynedit/document.cpp" line="+616"/>
<location filename="qsynedit/document.cpp" line="+618"/>
<source>Can&apos;t open file &apos;%1&apos; for read!</source>
<translation>&quot;%1&quot;.</translation>
</message>