update: only define functions in class/namespace/global scopes.
update: add remove custom theme button
This commit is contained in:
parent
565e7914f8
commit
4797e53b61
|
@ -2332,20 +2332,14 @@ void CppParser::checkAndHandleMethodOrVar(KeywordType keywordType, int maxIndex)
|
||||||
//Won't implement: ignore function decl like int (text)(int x) { };
|
//Won't implement: ignore function decl like int (text)(int x) { };
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//it's a chain function call
|
|
||||||
if (mTokenizer[indexAfter]->text == "."
|
|
||||||
|| mTokenizer[indexAfter]->text == "->"
|
|
||||||
|| mTokenizer[indexAfter]->text == "::" ) {
|
|
||||||
mIndex = indexOfNextPeriodOrSemicolon(indexAfter, maxIndex);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//it's not a function define
|
//it's not a function define
|
||||||
if (mTokenizer[indexAfter]->text == ',') {
|
if (mTokenizer[indexAfter]->text == ',') {
|
||||||
// var decl with init
|
// var decl with init
|
||||||
handleVar(sType+" "+sName,isExtern,isStatic, maxIndex);
|
handleVar(sType+" "+sName,isExtern,isStatic, maxIndex);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mTokenizer[indexAfter]->text[0] == ';' && sType!="void") {
|
if (sType!="void") {
|
||||||
//function can only be defined in global/namespaces/classes
|
//function can only be defined in global/namespaces/classes
|
||||||
PStatement currentScope=getCurrentScope();
|
PStatement currentScope=getCurrentScope();
|
||||||
if (currentScope) {
|
if (currentScope) {
|
||||||
|
|
|
@ -88,6 +88,13 @@ void EnvironmentAppearanceWidget::doSave()
|
||||||
pMainWindow->applySettings();
|
pMainWindow->applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EnvironmentAppearanceWidget::updateIcons(const QSize &size)
|
||||||
|
{
|
||||||
|
pIconsManager->setIcon(ui->btnCustomize, IconsManager::ACTION_EDIT_COPY);
|
||||||
|
pIconsManager->setIcon(ui->btnOpenCustomThemeFolder, IconsManager::ACTION_MISC_FOLDER);
|
||||||
|
pIconsManager->setIcon(ui->btnRemoveCustomTheme, IconsManager::ACTION_MISC_REMOVE);
|
||||||
|
}
|
||||||
|
|
||||||
void EnvironmentAppearanceWidget::init()
|
void EnvironmentAppearanceWidget::init()
|
||||||
{
|
{
|
||||||
ThemeManager themeManager;
|
ThemeManager themeManager;
|
||||||
|
@ -112,6 +119,7 @@ void EnvironmentAppearanceWidget::on_cbTheme_currentIndexChanged(int /* index */
|
||||||
PAppTheme appTheme = themeManager.theme(ui->cbTheme->currentData().toString());
|
PAppTheme appTheme = themeManager.theme(ui->cbTheme->currentData().toString());
|
||||||
ui->btnCustomize->setVisible(appTheme->category() == AppTheme::ThemeCategory::BuiltIn);
|
ui->btnCustomize->setVisible(appTheme->category() == AppTheme::ThemeCategory::BuiltIn);
|
||||||
ui->btnOpenCustomThemeFolder->setVisible(appTheme->category() == AppTheme::ThemeCategory::Custom);
|
ui->btnOpenCustomThemeFolder->setVisible(appTheme->category() == AppTheme::ThemeCategory::Custom);
|
||||||
|
ui->btnRemoveCustomTheme->setVisible(appTheme->category() == AppTheme::ThemeCategory::Custom);
|
||||||
if(!appTheme->defaultIconSet().isEmpty()) {
|
if(!appTheme->defaultIconSet().isEmpty()) {
|
||||||
for (int i=0; i<ui->cbIconSet->count();i++) {
|
for (int i=0; i<ui->cbIconSet->count();i++) {
|
||||||
if (ui->cbIconSet->itemData(i) == appTheme->defaultIconSet()) {
|
if (ui->cbIconSet->itemData(i) == appTheme->defaultIconSet()) {
|
||||||
|
@ -133,8 +141,20 @@ void EnvironmentAppearanceWidget::on_btnCustomize_clicked()
|
||||||
dir.mkpath(customThemeFolder);
|
dir.mkpath(customThemeFolder);
|
||||||
}
|
}
|
||||||
appTheme->copyTo(customThemeFolder);
|
appTheme->copyTo(customThemeFolder);
|
||||||
|
refreshThemeList(appTheme->name());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EnvironmentAppearanceWidget::on_btnOpenCustomThemeFolder_clicked()
|
||||||
|
{
|
||||||
|
QString customThemeFolder = pSettings->dirs().config(Settings::Dirs::DataType::Theme);
|
||||||
|
openFileFolderInExplorer(customThemeFolder);
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnvironmentAppearanceWidget::refreshThemeList(const QString ¤tThemeName)
|
||||||
|
{
|
||||||
|
ThemeManager themeManager;
|
||||||
ui->cbTheme->clear();
|
ui->cbTheme->clear();
|
||||||
QString currentThemeName = appTheme->name();
|
|
||||||
QList<PAppTheme> appThemes = themeManager.getThemes();
|
QList<PAppTheme> appThemes = themeManager.getThemes();
|
||||||
for (int i=0; i<appThemes.count();i++) {
|
for (int i=0; i<appThemes.count();i++) {
|
||||||
const PAppTheme& appTheme =appThemes[i];
|
const PAppTheme& appTheme =appThemes[i];
|
||||||
|
@ -145,9 +165,13 @@ void EnvironmentAppearanceWidget::on_btnCustomize_clicked()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void EnvironmentAppearanceWidget::on_btnOpenCustomThemeFolder_clicked()
|
void EnvironmentAppearanceWidget::on_btnRemoveCustomTheme_clicked()
|
||||||
{
|
{
|
||||||
QString customThemeFolder = pSettings->dirs().config(Settings::Dirs::DataType::Theme);
|
ThemeManager themeManager;
|
||||||
openFileFolderInExplorer(customThemeFolder);
|
PAppTheme appTheme = themeManager.theme(ui->cbTheme->currentData().toString());
|
||||||
|
if (appTheme->category() != AppTheme::ThemeCategory::Custom)
|
||||||
|
return;
|
||||||
|
QFile::remove(appTheme->filename());
|
||||||
|
refreshThemeList(appTheme->name());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@ private:
|
||||||
protected:
|
protected:
|
||||||
void doLoad() override;
|
void doLoad() override;
|
||||||
void doSave() override;
|
void doSave() override;
|
||||||
|
void updateIcons(const QSize &size) override;
|
||||||
|
|
||||||
// SettingsWidget interface
|
// SettingsWidget interface
|
||||||
public:
|
public:
|
||||||
|
@ -47,6 +48,11 @@ private slots:
|
||||||
void on_cbTheme_currentIndexChanged(int index);
|
void on_cbTheme_currentIndexChanged(int index);
|
||||||
void on_btnCustomize_clicked();
|
void on_btnCustomize_clicked();
|
||||||
void on_btnOpenCustomThemeFolder_clicked();
|
void on_btnOpenCustomThemeFolder_clicked();
|
||||||
|
void on_btnRemoveCustomTheme_clicked();
|
||||||
|
|
||||||
|
private:
|
||||||
|
void refreshThemeList(const QString& currentThemeName);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ENVIRONMENTAPPEARANCEWIDGET_H
|
#endif // ENVIRONMENTAPPEARANCEWIDGET_H
|
||||||
|
|
|
@ -136,17 +136,33 @@
|
||||||
<widget class="QComboBox" name="cbTheme"/>
|
<widget class="QComboBox" name="cbTheme"/>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="btnCustomize">
|
<widget class="QToolButton" name="btnCustomize">
|
||||||
<property name="text">
|
<property name="toolTip">
|
||||||
<string>Create a customized copy</string>
|
<string>Create a customized copy</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Customize</string>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="btnOpenCustomThemeFolder">
|
<widget class="QToolButton" name="btnRemoveCustomTheme">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Remove custom theme</string>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
<string>Remove custom theme</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QToolButton" name="btnOpenCustomThemeFolder">
|
||||||
|
<property name="toolTip">
|
||||||
<string>Open custom themes folder</string>
|
<string>Open custom themes folder</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Open Folder</string>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
|
|
@ -337,8 +337,18 @@ const QString AppTheme::categoryIcon() const
|
||||||
bool AppTheme::copyTo(const QString &targetFolder)
|
bool AppTheme::copyTo(const QString &targetFolder)
|
||||||
{
|
{
|
||||||
QFileInfo fileInfo{mFilename};
|
QFileInfo fileInfo{mFilename};
|
||||||
return QFile::copy(fileInfo.absoluteFilePath(),
|
QFile originFile{fileInfo.absoluteFilePath()};
|
||||||
QDir(targetFolder).absoluteFilePath(fileInfo.fileName()));
|
QFile targetFile{QDir(targetFolder).absoluteFilePath(fileInfo.fileName())};
|
||||||
|
if (!originFile.open(QFile::ReadOnly))
|
||||||
|
return false;
|
||||||
|
if (!targetFile.open(QFile::WriteOnly))
|
||||||
|
return false;
|
||||||
|
QByteArray contents = originFile.readAll();
|
||||||
|
if (targetFile.write(contents)!=contents.length())
|
||||||
|
return false;
|
||||||
|
targetFile.close();
|
||||||
|
originFile.close();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString &AppTheme::defaultIconSet() const
|
const QString &AppTheme::defaultIconSet() const
|
||||||
|
|
|
@ -2357,10 +2357,26 @@
|
||||||
<translation>Fonte:</translation>
|
<translation>Fonte:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+83"/>
|
<location line="+79"/>
|
||||||
|
<source>Customize</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="+7"/>
|
||||||
<source>Open custom themes folder</source>
|
<source>Open custom themes folder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="+3"/>
|
||||||
|
<source>Open Folder</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="+7"/>
|
||||||
|
<location line="+3"/>
|
||||||
|
<source>Remove custom theme</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+103"/>
|
<location line="+103"/>
|
||||||
<source>*Needs restart</source>
|
<source>*Needs restart</source>
|
||||||
|
@ -2372,12 +2388,12 @@
|
||||||
<translation>Tema:</translation>
|
<translation>Tema:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-30"/>
|
<location line="-46"/>
|
||||||
<source>Create a customized copy</source>
|
<source>Create a customized copy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+85"/>
|
<location line="+101"/>
|
||||||
<source>Language:</source>
|
<source>Language:</source>
|
||||||
<translation>Idioma:</translation>
|
<translation>Idioma:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -2391,17 +2407,17 @@
|
||||||
<translation type="vanished">Usar tema personalizado</translation>
|
<translation type="vanished">Usar tema personalizado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-158"/>
|
<location line="-174"/>
|
||||||
<source>Icon Set:</source>
|
<source>Icon Set:</source>
|
||||||
<translation>Conjunto de ícones:</translation>
|
<translation>Conjunto de ícones:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+183"/>
|
<location line="+199"/>
|
||||||
<source>Use custom icon set</source>
|
<source>Use custom icon set</source>
|
||||||
<translation>Usar conjunto de ícones personalizado</translation>
|
<translation>Usar conjunto de ícones personalizado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog/environmentappearancewidget.cpp" line="+98"/>
|
<location filename="../settingsdialog/environmentappearancewidget.cpp" line="+105"/>
|
||||||
<source>English</source>
|
<source>English</source>
|
||||||
<translation>Inglês</translation>
|
<translation>Inglês</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
|
@ -2643,7 +2643,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>表单</translation>
|
<translation>表单</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+157"/>
|
<location line="+173"/>
|
||||||
<source>Theme:</source>
|
<source>Theme:</source>
|
||||||
<translation>主题:</translation>
|
<translation>主题:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -2652,12 +2652,12 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation type="vanished">使用自定义主题</translation>
|
<translation type="vanished">使用自定义主题</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-151"/>
|
<location line="-167"/>
|
||||||
<source>Icon Set:</source>
|
<source>Icon Set:</source>
|
||||||
<translation>图标集:</translation>
|
<translation>图标集:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+183"/>
|
<location line="+199"/>
|
||||||
<source>Use custom icon set</source>
|
<source>Use custom icon set</source>
|
||||||
<translation>使用自定义图标</translation>
|
<translation>使用自定义图标</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -2667,7 +2667,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>图标缩放:</translation>
|
<translation>图标缩放:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-209"/>
|
<location line="-225"/>
|
||||||
<source>Font:</source>
|
<source>Font:</source>
|
||||||
<translation>字体:</translation>
|
<translation>字体:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -2676,11 +2676,27 @@ p, li { white-space: pre-wrap; }
|
||||||
<source>Create a customized copy</source>
|
<source>Create a customized copy</source>
|
||||||
<translation>自定义</translation>
|
<translation>自定义</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="+3"/>
|
||||||
|
<source>Customize</source>
|
||||||
|
<translation>自定义</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+7"/>
|
<location line="+7"/>
|
||||||
<source>Open custom themes folder</source>
|
<source>Open custom themes folder</source>
|
||||||
<translation>打开自定义主题文件夹</translation>
|
<translation>打开自定义主题文件夹</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="+3"/>
|
||||||
|
<source>Open Folder</source>
|
||||||
|
<translation>打开文件夹</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="+7"/>
|
||||||
|
<location line="+3"/>
|
||||||
|
<source>Remove custom theme</source>
|
||||||
|
<translation>删除自定义主题</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+78"/>
|
<location line="+78"/>
|
||||||
<source>Language:</source>
|
<source>Language:</source>
|
||||||
|
@ -2697,7 +2713,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<translation>大小:</translation>
|
<translation>大小:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog/environmentappearancewidget.cpp" line="+98"/>
|
<location filename="../settingsdialog/environmentappearancewidget.cpp" line="+105"/>
|
||||||
<source>English</source>
|
<source>English</source>
|
||||||
<translation>英语</translation>
|
<translation>英语</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
|
@ -2130,7 +2130,7 @@
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+186"/>
|
<location line="+202"/>
|
||||||
<source>*Needs restart</source>
|
<source>*Needs restart</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -2150,7 +2150,7 @@
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="-158"/>
|
<location line="-174"/>
|
||||||
<source>Icon Set:</source>
|
<source>Icon Set:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -2159,18 +2159,34 @@
|
||||||
<source>Create a customized copy</source>
|
<source>Create a customized copy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="+3"/>
|
||||||
|
<source>Customize</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+7"/>
|
<location line="+7"/>
|
||||||
<source>Open custom themes folder</source>
|
<source>Open custom themes folder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="+3"/>
|
||||||
|
<source>Open Folder</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location line="+7"/>
|
||||||
|
<location line="+3"/>
|
||||||
|
<source>Remove custom theme</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location line="+55"/>
|
<location line="+55"/>
|
||||||
<source>Use custom icon set</source>
|
<source>Use custom icon set</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog/environmentappearancewidget.cpp" line="+98"/>
|
<location filename="../settingsdialog/environmentappearancewidget.cpp" line="+105"/>
|
||||||
<source>English</source>
|
<source>English</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
Loading…
Reference in New Issue