Forráskód Böngészése

TextEditorWidget: Added tab width submenu

lucastarche 4 éve
szülő
commit
f6892d1ede

+ 28 - 0
Userland/Applications/TextEditor/TextEditorWidget.cpp

@@ -480,6 +480,34 @@ void TextEditorWidget::initialize_menubar(GUI::MenuBar& menubar)
 
     m_no_wrapping_action->set_checked(true);
 
+    view_menu.add_separator();
+
+    m_soft_tab_width_actions.set_exclusive(true);
+    auto& soft_tab_width_menu = view_menu.add_submenu("Tab width");
+    m_soft_tab_1_width_action = GUI::Action::create_checkable("1", [&](auto&) {
+        m_editor->set_soft_tab_width(1);
+    });
+    m_soft_tab_2_width_action = GUI::Action::create_checkable("2", [&](auto&) {
+        m_editor->set_soft_tab_width(2);
+    });
+    m_soft_tab_4_width_action = GUI::Action::create_checkable("4", [&](auto&) {
+        m_editor->set_soft_tab_width(4);
+    });
+    m_soft_tab_8_width_action = GUI::Action::create_checkable("8", [&](auto&) {
+        m_editor->set_soft_tab_width(8);
+    });
+    m_soft_tab_16_width_action = GUI::Action::create_checkable("16", [&](auto&) {
+        m_editor->set_soft_tab_width(16);
+    });
+
+    soft_tab_width_menu.add_action(*m_soft_tab_1_width_action);
+    soft_tab_width_menu.add_action(*m_soft_tab_2_width_action);
+    soft_tab_width_menu.add_action(*m_soft_tab_4_width_action);
+    soft_tab_width_menu.add_action(*m_soft_tab_8_width_action);
+    soft_tab_width_menu.add_action(*m_soft_tab_16_width_action);
+
+    m_soft_tab_4_width_action->set_checked(true);
+
     view_menu.add_separator();
     view_menu.add_action(*m_no_preview_action);
     view_menu.add_action(*m_markdown_preview_action);

+ 7 - 0
Userland/Applications/TextEditor/TextEditorWidget.h

@@ -114,6 +114,13 @@ private:
     RefPtr<GUI::Action> m_wrap_anywhere_action;
     RefPtr<GUI::Action> m_wrap_at_words_action;
 
+    GUI::ActionGroup m_soft_tab_width_actions;
+    RefPtr<GUI::Action> m_soft_tab_1_width_action;
+    RefPtr<GUI::Action> m_soft_tab_2_width_action;
+    RefPtr<GUI::Action> m_soft_tab_4_width_action;
+    RefPtr<GUI::Action> m_soft_tab_8_width_action;
+    RefPtr<GUI::Action> m_soft_tab_16_width_action;
+
     GUI::ActionGroup syntax_actions;
     RefPtr<GUI::Action> m_plain_text_highlight;
     RefPtr<GUI::Action> m_cpp_highlight;