From cf25a065b6df8a797ff7631497585e8b17fcf074 Mon Sep 17 00:00:00 2001 From: MeiyongYu Date: Sun, 22 Sep 2024 06:17:09 +0800 Subject: [PATCH 1/2] ignore src/build/** --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 48b02884c..efb24d97e 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,4 @@ CMakeLists.txt.user* /build /icon/*.png /icon/ImageMagick +src/build/** From f44eb3927a1abca0b493b0f44e867a190916e764 Mon Sep 17 00:00:00 2001 From: MeiyongYu Date: Sun, 22 Sep 2024 06:17:40 +0800 Subject: [PATCH 2/2] support usbTabs config --- src/NotepadNext/ApplicationSettings.cpp | 1 + src/NotepadNext/ApplicationSettings.h | 1 + src/NotepadNext/EditorManager.cpp | 6 ++++++ src/NotepadNext/NotepadNextApplication.cpp | 7 ++++--- src/NotepadNext/dialogs/PreferencesDialog.cpp | 1 + src/NotepadNext/dialogs/PreferencesDialog.ui | 7 +++++++ 6 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/NotepadNext/ApplicationSettings.cpp b/src/NotepadNext/ApplicationSettings.cpp index 6f18558eb..2a04e6ea4 100644 --- a/src/NotepadNext/ApplicationSettings.cpp +++ b/src/NotepadNext/ApplicationSettings.cpp @@ -45,6 +45,7 @@ CREATE_SETTING(Gui, ShowToolBar, showToolBar, bool, true) CREATE_SETTING(Gui, ShowTabBar, showTabBar, bool, true) CREATE_SETTING(Gui, ShowStatusBar, showStatusBar, bool, true) CREATE_SETTING(Gui, CenterSearchDialog, centerSearchDialog, bool, true) +CREATE_SETTING(Gui, UseTabs, useTabs, bool, true) CREATE_SETTING(Gui, TabsClosable, tabsClosable, bool, true) CREATE_SETTING(Gui, ExitOnLastTabClosed, exitOnLastTabClosed, bool, false) diff --git a/src/NotepadNext/ApplicationSettings.h b/src/NotepadNext/ApplicationSettings.h index 3150b14d9..c35c1bab9 100644 --- a/src/NotepadNext/ApplicationSettings.h +++ b/src/NotepadNext/ApplicationSettings.h @@ -87,6 +87,7 @@ class ApplicationSettings : public QSettings DEFINE_SETTING(ShowTabBar, showTabBar, bool) DEFINE_SETTING(ShowStatusBar, showStatusBar, bool) DEFINE_SETTING(CenterSearchDialog, centerSearchDialog, bool) + DEFINE_SETTING(UseTabs, useTabs, bool) DEFINE_SETTING(TabsClosable, tabsClosable, bool) DEFINE_SETTING(ExitOnLastTabClosed, exitOnLastTabClosed, bool) diff --git a/src/NotepadNext/EditorManager.cpp b/src/NotepadNext/EditorManager.cpp index b6e91ee63..b44e07c3c 100644 --- a/src/NotepadNext/EditorManager.cpp +++ b/src/NotepadNext/EditorManager.cpp @@ -57,6 +57,11 @@ EditorManager::EditorManager(ApplicationSettings *settings, QObject *parent) } }); + connect(settings, &ApplicationSettings::useTabsChanged, this, [=](bool b) { + for (auto &editor : getEditors()) { + editor->setUseTabs((b ? true : false)); + } + }); connect(settings, &ApplicationSettings::showWhitespaceChanged, this, [=](bool b) { // TODO: could make SCWS_VISIBLEALWAYS configurable via settings. Probably not worth @@ -199,6 +204,7 @@ void EditorManager::setupEditor(ScintillaNext *editor) editor->setTabDrawMode(SCTD_STRIKEOUT); editor->setTabWidth(4); editor->setBackSpaceUnIndents(true); + editor->setUseTabs(settings->useTabs() ? true : false); editor->setCaretLineVisible(true); editor->setCaretLineVisibleAlways(true); diff --git a/src/NotepadNext/NotepadNextApplication.cpp b/src/NotepadNext/NotepadNextApplication.cpp index 3e79b55df..ea68c5e77 100644 --- a/src/NotepadNext/NotepadNextApplication.cpp +++ b/src/NotepadNext/NotepadNextApplication.cpp @@ -161,6 +161,7 @@ bool NotepadNextApplication::init() .addFunction("showToolBar", &ApplicationSettings::setShowToolBar) .addFunction("showTabBar", &ApplicationSettings::setShowTabBar) .addFunction("showStatusBar", &ApplicationSettings::setShowStatusBar) + .addFunction("getUseTabs", &ApplicationSettings::useTabs) .endClass() .endNamespace(); luabridge::setGlobal(luaState->L, settings, "settings"); @@ -315,9 +316,9 @@ void NotepadNextApplication::setEditorLanguage(ScintillaNext *editor, const QStr getLuaState()->execute(R"( local L = languages[languageName] - if not skip_tabs then - editor.UseTabs = (L.tabSettings or "tabs") == "tabs" - end + --if not skip_tabs then + -- editor.UseTabs = (L.tabSettings or "tabs") == "tabs" + --end if not skip_tabwidth then editor.TabWidth = L.tabSize or 4 end diff --git a/src/NotepadNext/dialogs/PreferencesDialog.cpp b/src/NotepadNext/dialogs/PreferencesDialog.cpp index c58fe7cb0..b4b69e6ec 100644 --- a/src/NotepadNext/dialogs/PreferencesDialog.cpp +++ b/src/NotepadNext/dialogs/PreferencesDialog.cpp @@ -42,6 +42,7 @@ PreferencesDialog::PreferencesDialog(ApplicationSettings *settings, QWidget *par MapSettingToCheckBox(ui->checkBoxToolBar, &ApplicationSettings::showToolBar, &ApplicationSettings::setShowToolBar, &ApplicationSettings::showToolBarChanged); MapSettingToCheckBox(ui->checkBoxStatusBar, &ApplicationSettings::showStatusBar, &ApplicationSettings::setShowStatusBar, &ApplicationSettings::showStatusBarChanged); MapSettingToCheckBox(ui->checkBoxRecenterSearchDialog, &ApplicationSettings::centerSearchDialog, &ApplicationSettings::setCenterSearchDialog, &ApplicationSettings::centerSearchDialogChanged); + MapSettingToCheckBox(ui->checkBoxSetUseTabs, &ApplicationSettings::useTabs, &ApplicationSettings::setUseTabs, &ApplicationSettings::useTabsChanged); MapSettingToGroupBox(ui->gbxRestorePreviousSession, &ApplicationSettings::restorePreviousSession, &ApplicationSettings::setRestorePreviousSession, &ApplicationSettings::restorePreviousSessionChanged); connect(ui->gbxRestorePreviousSession, &QGroupBox::toggled, this, [=](bool checked) { diff --git a/src/NotepadNext/dialogs/PreferencesDialog.ui b/src/NotepadNext/dialogs/PreferencesDialog.ui index ee7df5ec5..d752cca09 100644 --- a/src/NotepadNext/dialogs/PreferencesDialog.ui +++ b/src/NotepadNext/dialogs/PreferencesDialog.ui @@ -37,6 +37,13 @@ + + + + Set use tabs + + +