Ref T154, resize rows height for overlay messages

* for smaller container sizes switch to row content resizing
* row content resizing is slow -> only for small container sizes
* user still can switch manually (context menu) to row resizing
* default is interactive row resizing
This commit is contained in:
Klaus Basan
2017-09-17 04:22:47 +02:00
committed by Mathew Sutcliffe
parent d2b364c291
commit f8e672b04f
3 changed files with 40 additions and 11 deletions

View File

@@ -60,7 +60,6 @@ namespace BlackGui
ui->tvp_StatusMessages->setResizeMode(CStatusMessageView::ResizingAlways);
ui->tvp_StatusMessages->setForceColumnsToMaxSize(false); // problems with multiline entries, with T138 we need multiline messages
ui->tvp_StatusMessages->setWordWrap(true);
ui->tvp_StatusMessages->menuAddItems(CStatusMessageView::MenuSave);
ui->fr_Confirmation->setVisible(false);
this->setDefaultConfirmationButton(QMessageBox::Cancel);
@@ -159,15 +158,18 @@ namespace BlackGui
return;
}
//! \fixme KB 2017-09 a possible alternative maybe is to resize rows always to content -> performance?
if (appendOldMessages && !ui->tvp_StatusMessages->isEmpty())
{
CStatusMessageList messagesWithOld(messages);
messagesWithOld.push_back(ui->tvp_StatusMessages->container());
ui->tvp_StatusMessages->rowsResizeModeBasedOnThreshold(messages.size());
ui->tvp_StatusMessages->updateContainerMaybeAsync(messagesWithOld);
this->setModeToMessages(messagesWithOld.hasErrorMessages());
}
else
{
ui->tvp_StatusMessages->rowsResizeModeBasedOnThreshold(messages.size());
ui->tvp_StatusMessages->updateContainerMaybeAsync(messages);
this->setModeToMessages(messages.hasErrorMessages());
}