X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=84246b82db7922670f71f82b00b34268877955fb;hp=019216fd9281e63b3e478f87c4ed084f4ee28bdb;hb=HEAD;hpb=de6ee9a2a3389ebf62f181b12632e58d2ffb8879
diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp
index 019216fd..84a3a849 100644
--- a/src/qtui/mainwin.cpp
+++ b/src/qtui/mainwin.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2005-2020 by the Quassel Project *
+ * Copyright (C) 2005-2022 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -809,7 +809,7 @@ void MainWin::changeActiveBufferView(int bufferViewId)
void MainWin::showPasswordChangeDlg()
{
if (Client::isCoreFeatureEnabled(Quassel::Feature::PasswordChange)) {
- PasswordChangeDlg{}.exec();
+ PasswordChangeDlg{this}.exec();
}
else {
QMessageBox box(QMessageBox::Warning,
@@ -918,17 +918,17 @@ void MainWin::hideCurrentBuffer()
void MainWin::showNotificationsDlg()
{
- SettingsPageDlg{new NotificationsSettingsPage{}}.exec();
+ SettingsPageDlg{new NotificationsSettingsPage{}, this}.exec();
}
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)
@@ -1355,7 +1355,7 @@ void MainWin::setDisconnectedState()
void MainWin::userAuthenticationRequired(CoreAccount* account, bool* valid, const QString& errorMessage)
{
Q_UNUSED(errorMessage)
- CoreConnectAuthDlg dlg(account);
+ CoreConnectAuthDlg dlg(account, this);
*valid = (dlg.exec() == QDialog::Accepted);
}
@@ -1384,8 +1384,14 @@ void MainWin::handleNoSslInCore(bool* accepted)
void MainWin::handleSslErrors(const QSslSocket* socket, bool* accepted, bool* permanently)
{
QString errorString = "
";
- foreach (const QSslError error, socket->sslErrors())
+
+#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
+ for (const auto& error : socket->sslErrors()) {
+#else
+ for (const auto& error : socket->sslHandshakeErrors()) {
+#endif
errorString += QString("- %1
").arg(error.errorString());
+ }
errorString += "
";
QMessageBox box(QMessageBox::Warning,
@@ -1401,7 +1407,7 @@ void MainWin::handleSslErrors(const QSslSocket* socket, bool* accepted, bool* pe
box.exec();
role = box.buttonRole(box.clickedButton());
if (role == QMessageBox::HelpRole) {
- SslInfoDlg dlg(socket);
+ SslInfoDlg dlg(socket, this);
dlg.exec();
}
} while (role == QMessageBox::HelpRole);
@@ -1426,7 +1432,7 @@ void MainWin::handleCoreConnectionError(const QString& error)
void MainWin::showCoreConnectionDlg()
{
- CoreConnectDlg dlg;
+ CoreConnectDlg dlg{this};
if (dlg.exec() == QDialog::Accepted) {
AccountId accId = dlg.selectedAccount();
if (accId.isValid())
@@ -1474,7 +1480,7 @@ void MainWin::showChannelList(NetworkId netId, const QString& channelFilters, bo
void MainWin::showNetworkConfig(NetworkId netId)
{
- SettingsPageDlg dlg{new NetworksSettingsPage{}};
+ SettingsPageDlg dlg{new NetworksSettingsPage{}, this};
if (netId.isValid())
qobject_cast(dlg.currentPage())->bufferList_Open(netId);
dlg.exec();
@@ -1482,7 +1488,7 @@ void MainWin::showNetworkConfig(NetworkId netId)
void MainWin::showIgnoreList(QString newRule)
{
- SettingsPageDlg dlg{new IgnoreListSettingsPage{}};
+ SettingsPageDlg dlg{new IgnoreListSettingsPage{}, this};
// prepare config dialog for new rule
if (!newRule.isEmpty())
qobject_cast(dlg.currentPage())->editIgnoreRule(newRule);
@@ -1491,7 +1497,7 @@ void MainWin::showIgnoreList(QString newRule)
void MainWin::showCoreInfoDlg()
{
- CoreInfoDlg{}.exec();
+ CoreInfoDlg{this}.exec();
}
void MainWin::showAwayLog()
@@ -1513,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));
@@ -1527,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));
@@ -1551,7 +1564,7 @@ void MainWin::showSettingsDlg()
void MainWin::showAboutDlg()
{
- AboutDlg{}.exec();
+ AboutDlg{this}.exec();
}
void MainWin::showShortcutsDlg()
@@ -1563,7 +1576,7 @@ void MainWin::showShortcutsDlg()
}
dlg.configure(true);
#else
- SettingsPageDlg{new ShortcutsSettingsPage{QtUi::actionCollections()}}.exec();
+ SettingsPageDlg{new ShortcutsSettingsPage{QtUi::actionCollections()}, this}.exec();
#endif
}
@@ -1682,7 +1695,7 @@ void MainWin::messagesInserted(const QModelIndex& parent, int start, int end)
if (hasFocus && bufId == Client::bufferModel()->currentBuffer())
continue;
- // only show notifications for higlights or queries
+ // only show notifications for highlights or queries
if (bufType != BufferInfo::QueryBuffer && !(flags & Message::Highlight))
continue;