refs #506, allow to set dialog or filter widget for log component

Added filter widget, dialog and filter can be toggled
This commit is contained in:
Klaus Basan
2016-12-26 22:01:56 +01:00
committed by Mathew Sutcliffe
parent 59eb0247a7
commit 1a7c11f49c
3 changed files with 34 additions and 1 deletions

View File

@@ -53,7 +53,6 @@ namespace BlackGui
connect(ui->tvp_StatusMessages, &CStatusMessageView::objectSelected, ui->form_StatusMessage, &CStatusMessageForm::setVariant);
connect(ui->tvp_StatusMessages, &CStatusMessageView::modelDataChangedDigest, this, &CLogComponent::onStatusMessageDataChanged);
ui->tvp_StatusMessages->setAutoResizeFrequency(3);
ui->tvp_StatusMessages->addFilterDialog();
ui->tvp_StatusMessages->setCustomMenu(new CLogMenu(this));
ui->tvp_StatusMessages->menuAddItems(CStatusMessageView::MenuSave);
}
@@ -78,6 +77,18 @@ namespace BlackGui
ui->form_StatusMessage->setVisible(details);
}
void CLogComponent::showFilterDialog()
{
ui->tvp_StatusMessages->addFilterDialog();
ui->filter_LogMessages->hide();
}
void CLogComponent::showFilterBar()
{
ui->tvp_StatusMessages->setFilterWidget(ui->filter_LogMessages);
ui->filter_LogMessages->show();
}
void CLogComponent::clear()
{
ui->tvp_StatusMessages->clear();

View File

@@ -69,6 +69,12 @@ namespace BlackGui
//! Show log details
void showDetails(bool details);
//! Show filter dialog and disable bar
void showFilterDialog();
//! Show a filter bar
void showFilterBar();
//! Clear
void clear();

View File

@@ -69,6 +69,16 @@
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Filters::CStatusMessageFilterBar" name="filter_LogMessages">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item>
<widget class="BlackGui::Views::CStatusMessageView" name="tvp_StatusMessages">
<property name="selectionMode">
@@ -181,6 +191,12 @@
<extends>QPlainTextEdit</extends>
<header>blackgui/components/logcomponent.h</header>
</customwidget>
<customwidget>
<class>BlackGui::Filters::CStatusMessageFilterBar</class>
<extends>QFrame</extends>
<header>blackgui/filters/statusmessagefilterbar.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>