Core: Add suppression call back for info bar

Change-Id: I56bc10adcd101ed38c463096f1cf9396f0ff8b1e
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Nikolai Kosjar
2016-10-11 13:08:00 +02:00
parent 1cece95f9a
commit b5023bda5a
2 changed files with 10 additions and 1 deletions

View File

@@ -68,6 +68,11 @@ void InfoBarEntry::setCancelButtonInfo(const QString &_cancelButtonText, CallBac
m_cancelButtonCallBack = callBack; m_cancelButtonCallBack = callBack;
} }
void InfoBarEntry::setSuppressionButtonInfo(InfoBarEntry::CallBack callback)
{
m_suppressionButtonCallBack = callback;
}
void InfoBarEntry::setShowDefaultCancelButton(bool yesno) void InfoBarEntry::setShowDefaultCancelButton(bool yesno)
{ {
m_showDefaultCancelButton = yesno; m_showDefaultCancelButton = yesno;
@@ -266,7 +271,9 @@ void InfoBarDisplay::update()
if (info.globalSuppression == InfoBarEntry::GlobalSuppressionEnabled) { if (info.globalSuppression == InfoBarEntry::GlobalSuppressionEnabled) {
infoWidgetSuppressButton = new QToolButton; infoWidgetSuppressButton = new QToolButton;
infoWidgetSuppressButton->setText(tr("Do Not Show Again")); infoWidgetSuppressButton->setText(tr("Do Not Show Again"));
connect(infoWidgetSuppressButton, &QAbstractButton::clicked, this, [this, id] { connect(infoWidgetSuppressButton, &QAbstractButton::clicked, this, [this, info, id] {
if (info.m_suppressionButtonCallBack)
info.m_suppressionButtonCallBack();
m_infoBar->removeInfo(id); m_infoBar->removeInfo(id);
InfoBar::globallySuppressInfo(id); InfoBar::globallySuppressInfo(id);
}); });

View File

@@ -58,6 +58,7 @@ public:
void setCustomButtonInfo(const QString &_buttonText, CallBack callBack); void setCustomButtonInfo(const QString &_buttonText, CallBack callBack);
void setCancelButtonInfo(CallBack callBack); void setCancelButtonInfo(CallBack callBack);
void setCancelButtonInfo(const QString &_cancelButtonText, CallBack callBack); void setCancelButtonInfo(const QString &_cancelButtonText, CallBack callBack);
void setSuppressionButtonInfo(CallBack callback);
void setShowDefaultCancelButton(bool yesno); void setShowDefaultCancelButton(bool yesno);
using DetailsWidgetCreator = std::function<QWidget*()>; using DetailsWidgetCreator = std::function<QWidget*()>;
@@ -70,6 +71,7 @@ private:
CallBack m_buttonCallBack; CallBack m_buttonCallBack;
QString cancelButtonText; QString cancelButtonText;
CallBack m_cancelButtonCallBack; CallBack m_cancelButtonCallBack;
CallBack m_suppressionButtonCallBack;
GlobalSuppressionMode globalSuppression; GlobalSuppressionMode globalSuppression;
DetailsWidgetCreator m_detailsWidgetCreator; DetailsWidgetCreator m_detailsWidgetCreator;
bool m_showDefaultCancelButton = true; bool m_showDefaultCancelButton = true;