diff --git a/src/NotepadNext/dialogs/MainWindow.cpp b/src/NotepadNext/dialogs/MainWindow.cpp index 58ba49a00..30df2415c 100644 --- a/src/NotepadNext/dialogs/MainWindow.cpp +++ b/src/NotepadNext/dialogs/MainWindow.cpp @@ -872,6 +872,9 @@ MainWindow::MainWindow(NotepadNextApplication *app) : }); connect(app->getSettings(), &ApplicationSettings::showToolBarChanged, ui->mainToolBar, &QToolBar::setVisible); connect(app->getSettings(), &ApplicationSettings::showStatusBarChanged, ui->statusBar, &QStatusBar::setVisible); + connect(ui->statusBar, &EditorInfoStatusBar::customContextMenuRequestedForEOLLabel, this, [=](const QPoint &pos){ + ui->menuEOLConversion->popup(pos); + }); // It seems restoreState() does not affect the status bar so set it manually ui->statusBar->setVisible(app->getSettings()->showStatusBar()); diff --git a/src/NotepadNext/widgets/EditorInfoStatusBar.cpp b/src/NotepadNext/widgets/EditorInfoStatusBar.cpp index 6809d7a2d..f85c8b0c7 100644 --- a/src/NotepadNext/widgets/EditorInfoStatusBar.cpp +++ b/src/NotepadNext/widgets/EditorInfoStatusBar.cpp @@ -37,6 +37,10 @@ EditorInfoStatusBar::EditorInfoStatusBar(QMainWindow *window) : eolFormat = new StatusLabel(100); addPermanentWidget(eolFormat, 0); + eolFormat->setContextMenuPolicy(Qt::CustomContextMenu); + connect(qobject_cast(eolFormat), &StatusLabel::customContextMenuRequested, this, [=](const QPoint &pos) { + emit customContextMenuRequestedForEOLLabel(eolFormat->mapToGlobal(pos)); + }); unicodeType = new StatusLabel(125); addPermanentWidget(unicodeType, 0); @@ -44,18 +48,6 @@ EditorInfoStatusBar::EditorInfoStatusBar(QMainWindow *window) : overType = new StatusLabel(25); addPermanentWidget(overType, 0); - /* - docType->setContextMenuPolicy(Qt::CustomContextMenu); - connect(docType, &QLabel::customContextMenuRequested, [=](const QPoint &pos) { - ui->menuLanguage->popup(docType->mapToGlobal(pos)); - }); - - eolFormat->setContextMenuPolicy(Qt::CustomContextMenu); - connect(eolFormat, &QLabel::customContextMenuRequested, [=](const QPoint &pos) { - ui->menuEOLConversion->popup(eolFormat->mapToGlobal(pos)); - }); - */ - MainWindow *w = qobject_cast(window); connect(w, &MainWindow::editorActivated, this, &EditorInfoStatusBar::connectToEditor); diff --git a/src/NotepadNext/widgets/EditorInfoStatusBar.h b/src/NotepadNext/widgets/EditorInfoStatusBar.h index ad75bbdd8..a666f25d0 100644 --- a/src/NotepadNext/widgets/EditorInfoStatusBar.h +++ b/src/NotepadNext/widgets/EditorInfoStatusBar.h @@ -38,6 +38,9 @@ class EditorInfoStatusBar : public QStatusBar void refresh(ScintillaNext *editor); +signals: + void customContextMenuRequestedForEOLLabel(const QPoint &pos); + private slots: void connectToEditor(ScintillaNext *editor);