X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fmainwin.cpp;h=96786528d0554e3b4daeb0a4afa2398ee54c10f8;hb=285215315e6f2420724532323a4b1bccae156cb1;hp=dae50296e37e85e735c9947ef8bef85a2c6ada09;hpb=1a5c1814a0c52f6f35e65c7033b2f896bf1188e3;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index dae50296..96786528 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -466,7 +466,14 @@ void MainWin::setupActions() coll, this, &MainWin::onFormatUnderlineTriggered, - QKeySequence::Underline)}}); + QKeySequence::Underline)}, + {"FormatStrikethrough", + new Action(icon::get("format-text-strikethrough"), + tr("Toggle strikethrough"), + coll, + this, + &MainWin::onFormatStrikethroughTriggered, + QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S))}}); // Navigation coll = QtUi::actionCollection("Navigation", tr("Navigation")); @@ -916,12 +923,12 @@ void MainWin::showNotificationsDlg() void MainWin::onConfigureNetworksTriggered() { - SettingsPageDlg{new NetworksSettingsPage{}}.exec(); + SettingsPageDlg{new NetworksSettingsPage{}, this}.exec(); } void MainWin::onConfigureViewsTriggered() { - SettingsPageDlg{new BufferViewSettingsPage{}}.exec(); + SettingsPageDlg{new BufferViewSettingsPage{}, this}.exec(); } void MainWin::onLockLayoutToggled(bool lock) @@ -1377,8 +1384,14 @@ void MainWin::handleNoSslInCore(bool* accepted) void MainWin::handleSslErrors(const QSslSocket* socket, bool* accepted, bool* permanently) { QString errorString = ""; QMessageBox box(QMessageBox::Warning, @@ -1506,7 +1519,7 @@ void MainWin::awayLogDestroyed() void MainWin::showSettingsDlg() { - auto dlg = new SettingsDlg(); + auto dlg = new SettingsDlg(this); // Category: Interface dlg->registerSettingsPage(new AppearanceSettingsPage(dlg)); @@ -1520,8 +1533,15 @@ void MainWin::showSettingsDlg() #ifdef HAVE_SONNET dlg->registerSettingsPage(new SonnetSettingsPage(dlg)); #endif - dlg->registerSettingsPage(new HighlightSettingsPage(dlg)); - dlg->registerSettingsPage(new CoreHighlightSettingsPage(dlg)); + auto coreHighlightsPage = new CoreHighlightSettingsPage(dlg); + auto localHighlightsPage = new HighlightSettingsPage(dlg); + // Let CoreHighlightSettingsPage reload HighlightSettingsPage after doing an import with + // cleaning up. Otherwise, HighlightSettingsPage won't show that the local rules were deleted. + connect(coreHighlightsPage, &CoreHighlightSettingsPage::localHighlightsChanged, + localHighlightsPage, &HighlightSettingsPage::load); + // Put core-side highlights before local/legacy highlights + dlg->registerSettingsPage(coreHighlightsPage); + dlg->registerSettingsPage(localHighlightsPage); dlg->registerSettingsPage(new NotificationsSettingsPage(dlg)); dlg->registerSettingsPage(new BacklogSettingsPage(dlg)); @@ -1544,7 +1564,7 @@ void MainWin::showSettingsDlg() void MainWin::showAboutDlg() { - AboutDlg{}.exec(); + AboutDlg{this}.exec(); } void MainWin::showShortcutsDlg() @@ -1556,7 +1576,7 @@ void MainWin::showShortcutsDlg() } dlg.configure(true); #else - SettingsPageDlg{new ShortcutsSettingsPage{QtUi::actionCollections()}}.exec(); + SettingsPageDlg{new ShortcutsSettingsPage{QtUi::actionCollections()}, this}.exec(); #endif } @@ -1834,6 +1854,15 @@ void MainWin::onFormatUnderlineTriggered() _inputWidget->toggleFormatUnderline(); } +void MainWin::onFormatStrikethroughTriggered() +{ + if (!_inputWidget) + return; + + _inputWidget->toggleFormatStrikethrough(); +} + + void MainWin::onJumpHotBufferTriggered() { if (!_bufferHotList->rowCount())