Allow to reset/disable overlay messages with one click

This commit is contained in:
Klaus Basan
2019-07-10 17:28:51 +02:00
committed by Mat Sutcliffe
parent 242bea3636
commit 70f9420da5
5 changed files with 101 additions and 7 deletions

View File

@@ -11,6 +11,11 @@
#include "settingstextmessageinlinecomponent.h"
#include "ui_settingstextmessageinlinecomponent.h"
#include <QPushButton>
#include <QCheckBox>
#include <QTimer>
#include <QPointer>
using namespace BlackGui::Settings;
using namespace BlackMisc;
@@ -23,11 +28,14 @@ namespace BlackGui
ui(new Ui::CSettingsTextMessageInlineComponent)
{
ui->setupUi(this);
connect(ui->cb_All, &QCheckBox::released, this, &CSettingsTextMessageInlineComponent::changeSettings);
connect(ui->cb_Frequency, &QCheckBox::released, this, &CSettingsTextMessageInlineComponent::changeSettings);
connect(ui->cb_Private, &QCheckBox::released, this, &CSettingsTextMessageInlineComponent::changeSettings);
connect(ui->cb_Supervisor, &QCheckBox::released, this, &CSettingsTextMessageInlineComponent::changeSettings);
connect(ui->cb_Focus, &QCheckBox::released, this, &CSettingsTextMessageInlineComponent::changeSettings);
connect(ui->cb_All, &QCheckBox::released, this, &CSettingsTextMessageInlineComponent::changeSettings);
connect(ui->cb_Frequency, &QCheckBox::released, this, &CSettingsTextMessageInlineComponent::changeSettings);
connect(ui->cb_Private, &QCheckBox::released, this, &CSettingsTextMessageInlineComponent::changeSettings);
connect(ui->cb_Supervisor, &QCheckBox::released, this, &CSettingsTextMessageInlineComponent::changeSettings);
connect(ui->cb_Focus, &QCheckBox::released, this, &CSettingsTextMessageInlineComponent::changeSettings);
connect(ui->pb_Disable, &QPushButton::released, this, &CSettingsTextMessageInlineComponent::disableAllOverlayMessages);
connect(ui->pb_Reset, &QPushButton::released, this, &CSettingsTextMessageInlineComponent::resetOverlayMessages);
this->settingsChanged();
}
@@ -57,5 +65,32 @@ namespace BlackGui
const CStatusMessage m = m_settings.setAndSave(s);
CLogMessage::preformatted(m);
}
void CSettingsTextMessageInlineComponent::disableAllOverlayMessages()
{
CTextMessageSettings s(m_settings.get());
s.disableAllPopups();
const CStatusMessage m = m_settings.setAndSave(s);
CLogMessage::preformatted(m);
QPointer<CSettingsTextMessageInlineComponent> myself(this);
QTimer::singleShot(500, this, [ = ]
{
if (myself) { myself->settingsChanged(); }
});
}
void CSettingsTextMessageInlineComponent::resetOverlayMessages()
{
CTextMessageSettings s;
const CStatusMessage m = m_settings.setAndSave(s);
CLogMessage::preformatted(m);
QPointer<CSettingsTextMessageInlineComponent> myself(this);
QTimer::singleShot(500, this, [ = ]
{
if (myself) { myself->settingsChanged(); }
});
}
} // ns
} // ns