mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-14 08:45:36 +08:00
Some fixes of status message view
* push_front as default (in most cases we have "latest first" * as follow up of t270 use CListModelTimestampObjects
This commit is contained in:
@@ -26,6 +26,7 @@ namespace BlackGui
|
||||
connect(ui->tvp_StatusMessages, &CStatusMessageView::objectSelected, ui->form_StatusMessage, &CStatusMessageForm::setVariant);
|
||||
connect(ui->tvp_StatusMessages, &CStatusMessageView::modelDataChangedDigest, this, &CStatusMessagesDetail::modelDataChangedDigest);
|
||||
ui->tvp_StatusMessages->setAutoResizeFrequency(3);
|
||||
ui->tvp_StatusMessages->setSorting(CStatusMessage::IndexUtcTimestamp, Qt::DescendingOrder);
|
||||
ui->tvp_StatusMessages->setCustomMenu(new CMessageMenu(this));
|
||||
ui->tvp_StatusMessages->menuAddItems(CStatusMessageView::MenuSave);
|
||||
this->showFilterBar(); // default
|
||||
@@ -37,14 +38,14 @@ namespace BlackGui
|
||||
void CStatusMessagesDetail::appendStatusMessageToList(const CStatusMessage &message)
|
||||
{
|
||||
if (message.isEmpty()) { return; }
|
||||
m_pending.push_back(message);
|
||||
m_pending.push_front(message); // in many cases we want to havethe latest "on top"
|
||||
m_dsDeferredUpdate.inputSignal();
|
||||
}
|
||||
|
||||
void CStatusMessagesDetail::appendStatusMessagesToList(const CStatusMessageList &messages)
|
||||
{
|
||||
if (messages.isEmpty()) { return; }
|
||||
m_pending.push_back(messages);
|
||||
m_pending.push_front(messages);
|
||||
m_dsDeferredUpdate.inputSignal();
|
||||
}
|
||||
|
||||
@@ -93,9 +94,9 @@ namespace BlackGui
|
||||
m_pending.clear();
|
||||
|
||||
CStatusMessageList newMsgs(ui->tvp_StatusMessages->container());
|
||||
newMsgs.push_back(add);
|
||||
newMsgs.push_front(add); // default in many cases, latest first
|
||||
|
||||
// do not remove every time, but when a threshold is reached
|
||||
// cleanup outdated: do not remove every time, but when a threshold is reached
|
||||
if (m_maxLogMessages < 0)
|
||||
{
|
||||
// do not restrict
|
||||
|
||||
@@ -76,7 +76,7 @@ namespace BlackGui
|
||||
private:
|
||||
QScopedPointer<Ui::CStatusMessagesDetail> ui;
|
||||
int m_maxLogMessages = -1;
|
||||
BlackMisc::CStatusMessageList m_pending;
|
||||
BlackMisc::CStatusMessageList m_pending; //!< pending messages which will be added with next CStatusMessagesDetail::deferredUpdate
|
||||
BlackMisc::CDigestSignal m_dsDeferredUpdate { this, &CStatusMessagesDetail::deferredUpdate, 2000, 10 };
|
||||
|
||||
//! Do not update each message, but deferred
|
||||
|
||||
Reference in New Issue
Block a user