Skip to content

Commit c18a9d3

Browse files
committed
Allow toggling visibility of line numbers
Closes #772
1 parent abe8125 commit c18a9d3

File tree

5 files changed

+25
-6
lines changed

5 files changed

+25
-6
lines changed

src/NotepadNext/ApplicationSettings.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,4 @@ CREATE_SETTING(Editor, FontSize, fontSize, int, []() { return qApp->font().point
6767
CREATE_SETTING(Editor, AdditionalWordChars, additionalWordChars, QString, QStringLiteral(""));
6868
CREATE_SETTING(Editor, DefaultEOLMode, defaultEOLMode, QString, QStringLiteral(""))
6969
CREATE_SETTING(Editor, URLHighlighting, urlHighlighting, bool, true)
70+
CREATE_SETTING(Editor, ShowLineNumbers, showLineNumbers, bool, true)

src/NotepadNext/ApplicationSettings.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,5 @@ class ApplicationSettings : public QSettings
109109
DEFINE_SETTING(AdditionalWordChars, additionalWordChars, QString);
110110
DEFINE_SETTING(DefaultEOLMode, defaultEOLMode, QString)
111111
DEFINE_SETTING(URLHighlighting, urlHighlighting, bool)
112+
DEFINE_SETTING(ShowLineNumbers, showLineNumbers, bool)
112113
};

src/NotepadNext/EditorManager.cpp

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,18 @@ EditorManager::EditorManager(ApplicationSettings *settings, QObject *parent)
113113

114114
connect(settings, &ApplicationSettings::urlHighlightingChanged, this, [=](bool b){
115115
for (auto &editor : getEditors()) {
116-
URLFinder *urlFinder = editor->findChild<URLFinder *>(QString(), Qt::FindDirectChildrenOnly);
117-
if (urlFinder) {
118-
urlFinder->setEnabled(b);
116+
URLFinder *decorator = editor->findChild<URLFinder *>(QString(), Qt::FindDirectChildrenOnly);
117+
if (decorator) {
118+
decorator->setEnabled(b);
119+
}
120+
}
121+
});
122+
123+
connect(settings, &ApplicationSettings::showLineNumbersChanged, this, [=](bool b){
124+
for (auto &editor : getEditors()) {
125+
LineNumbers *decorator = editor->findChild<LineNumbers *>(QString(), Qt::FindDirectChildrenOnly);
126+
if (decorator) {
127+
decorator->setEnabled(b);
119128
}
120129
}
121130
});
@@ -302,7 +311,7 @@ void EditorManager::setupEditor(ScintillaNext *editor)
302311
b->setEnabled(true);
303312

304313
LineNumbers *l = new LineNumbers(editor);
305-
l->setEnabled(true);
314+
l->setEnabled(settings->showLineNumbers());
306315

307316
SurroundSelection *ss = new SurroundSelection(editor);
308317
ss->setEnabled(true);

src/NotepadNext/dialogs/PreferencesDialog.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ PreferencesDialog::PreferencesDialog(ApplicationSettings *settings, QWidget *par
9898
});
9999

100100
MapSettingToCheckBox(ui->checkBoxHighlightURLs, &ApplicationSettings::urlHighlighting, &ApplicationSettings::setURLHighlighting, &ApplicationSettings::urlHighlightingChanged);
101+
MapSettingToCheckBox(ui->checkBoxShowLineNumbers, &ApplicationSettings::showLineNumbers, &ApplicationSettings::setShowLineNumbers, &ApplicationSettings::showLineNumbersChanged);
101102
}
102103

103104
PreferencesDialog::~PreferencesDialog()

src/NotepadNext/dialogs/PreferencesDialog.ui

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<x>0</x>
88
<y>0</y>
99
<width>803</width>
10-
<height>564</height>
10+
<height>597</height>
1111
</rect>
1212
</property>
1313
<property name="windowTitle">
@@ -25,7 +25,7 @@
2525
<x>0</x>
2626
<y>0</y>
2727
<width>783</width>
28-
<height>512</height>
28+
<height>545</height>
2929
</rect>
3030
</property>
3131
<layout class="QVBoxLayout" name="verticalLayout_4">
@@ -201,6 +201,13 @@
201201
</property>
202202
</widget>
203203
</item>
204+
<item>
205+
<widget class="QCheckBox" name="checkBoxShowLineNumbers">
206+
<property name="text">
207+
<string>Show Line Numbers</string>
208+
</property>
209+
</widget>
210+
</item>
204211
<item>
205212
<spacer name="verticalSpacer">
206213
<property name="orientation">

0 commit comments

Comments
 (0)