logic: More fixes for release

* Fixed crash on undoing aggregation edge
* Avoid mutex locking in logging classes when logging is disabled
* Readded dark color scheme
* Fixed font size of type label in autocompletion list
* Fixed text drawing in autocompletion list
* Only give camelcase score when no noletter score was given
* Added MessageShowErrors to undo stack
* Select error line in table when undoing MessageShowErrors
* Notify user about new Plugin in description of From Visual Studio project setup
* Fixed row height of Project File Location label in project setup
This commit is contained in:
Eberhard Graether
2016-10-14 00:45:37 +02:00
parent 2dc9995cc1
commit 30d222b7db
19 changed files with 626 additions and 137 deletions
+18 -2
View File
@@ -24,6 +24,8 @@ QtErrorView::QtErrorView(ViewLayout* viewLayout)
, m_clearFunctor(std::bind(&QtErrorView::doClear, this))
, m_refreshFunctor(std::bind(&QtErrorView::doRefreshView, this))
, m_addErrorFunctor(std::bind(&QtErrorView::doAddError, this, std::placeholders::_1))
, m_setErrorIdFunctor(std::bind(&QtErrorView::doSetErrorId, this, std::placeholders::_1))
, m_ignoreNextSelection(false)
{
}
@@ -76,7 +78,7 @@ void QtErrorView::initView()
connect(m_table->selectionModel(), &QItemSelectionModel::currentRowChanged,
[=](const QModelIndex& index, const QModelIndex& previousIndex)
{
if (index.isValid())
if (index.isValid() && !m_ignoreNextSelection)
{
if (m_model->item(index.row(), COLUMN::FILE) == nullptr)
{
@@ -85,6 +87,8 @@ void QtErrorView::initView()
MessageShowErrors(m_model->item(index.row(), COLUMN::ID)->text().toUInt()).dispatch();
}
m_ignoreNextSelection = false;
});
layout->addWidget(m_table);
@@ -120,8 +124,9 @@ void QtErrorView::addError(const StorageError& error)
m_addErrorFunctor(error);
}
void QtErrorView::clickedInEmptySpace()
void QtErrorView::setErrorId(Id errorId)
{
m_setErrorIdFunctor(errorId);
}
void QtErrorView::doRefreshView()
@@ -151,6 +156,17 @@ void QtErrorView::doAddError(const StorageError& error)
addErrorToTable(error);
}
void QtErrorView::doSetErrorId(Id errorId)
{
QList<QStandardItem*> items = m_model->findItems(QString::number(errorId), Qt::MatchExactly, COLUMN::ID);
if (items.size() == 1)
{
m_ignoreNextSelection = true;
m_table->selectRow(items.at(0)->row());
}
}
void QtErrorView::setStyleSheet() const
{
QWidget* widget = QtViewWidgetWrapper::getWidgetOfView(this);