refs #452 details textbox for logs

* details can be displayed en detail
* feature can be switched on/off via context menu
* signals in view to select message
This commit is contained in:
Klaus Basan
2015-09-23 23:23:41 +02:00
committed by Mathew Sutcliffe
parent 6ca0d480d3
commit 25471730e3
8 changed files with 291 additions and 14 deletions

View File

@@ -18,13 +18,24 @@ namespace BlackGui
{
namespace Views
{
/*
* Constructor
*/
CStatusMessageView::CStatusMessageView(QWidget *parent) : CViewBase(parent)
{
m_withMenuItemClear = true;
this->standardInit(new CStatusMessageListModel(this));
connect(this, &CStatusMessageView::clicked, this, &CStatusMessageView::ps_messageSelected);
}
void CStatusMessageView::setMode(CStatusMessageListModel::Mode mode)
{
this->derivedModel()->setMode(mode);
}
void CStatusMessageView::ps_messageSelected(const QModelIndex &index)
{
if (!index.isValid()) { return; }
emit messageSelected(
this->at(index)
);
}
} // namespace

View File

@@ -21,13 +21,26 @@ namespace BlackGui
namespace Views
{
//! Status message view
class BLACKGUI_EXPORT CStatusMessageView : public CViewBase<Models::CStatusMessageListModel, BlackMisc::CStatusMessageList, BlackMisc::CStatusMessage>
class BLACKGUI_EXPORT CStatusMessageView :
public CViewBase<Models::CStatusMessageListModel, BlackMisc::CStatusMessageList, BlackMisc::CStatusMessage>
{
Q_OBJECT
public:
//! Constructor
explicit CStatusMessageView(QWidget *parent = nullptr);
//! Set mode
void setMode(BlackGui::Models::CStatusMessageListModel::Mode mode);
signals:
//! Message has been selected
void messageSelected(const BlackMisc::CStatusMessage &statusMessage);
private:
//! Message selected
void ps_messageSelected(const QModelIndex &index);
};
}
}
} // ns
} // ns
#endif // guard