From 6650ec89d3539e60cbf6b3e43666f49f8ac5ed30 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 12 Nov 2017 04:08:11 +0100 Subject: [PATCH] Ref T189, formatting --- .../models/aircraftmodellistmodel.cpp | 127 +++++++++--------- src/blackgui/models/listmodelbase.cpp | 106 +++++++-------- src/blackgui/models/listmodeldbobjects.h | 6 + src/blackgui/views/aircraftmodelview.h | 2 +- src/blackgui/views/viewbase.cpp | 11 +- src/blackgui/views/viewbase.h | 28 ++-- 6 files changed, 141 insertions(+), 139 deletions(-) diff --git a/src/blackgui/models/aircraftmodellistmodel.cpp b/src/blackgui/models/aircraftmodellistmodel.cpp index ffaec9616..263245882 100644 --- a/src/blackgui/models/aircraftmodellistmodel.cpp +++ b/src/blackgui/models/aircraftmodellistmodel.cpp @@ -44,111 +44,111 @@ namespace BlackGui void CAircraftModelListModel::setAircraftModelMode(CAircraftModelListModel::AircraftModelMode mode) { - if (this->m_mode == mode) { return; } - this->m_mode = mode; - this->m_columns.clear(); + if (m_mode == mode) { return; } + m_mode = mode; + m_columns.clear(); switch (mode) { case NotSet: case OwnAircraftModelClient: - this->m_columns.addColumn(CColumn::standardString("model", { CAircraftModel::IndexModelString})); - this->m_columns.addColumn(CColumn("DB", "DB metadata", CAircraftModel::IndexDatabaseIcon, new CPixmapFormatter())); - this->m_columns.addColumn(CColumn::standardString("DB", "parts from DB", { CAircraftModel::IndexMembersDbStatus})); - this->m_columns.addColumn(CColumn("mode", "model mode(include, exclude)", CAircraftModel::IndexModelModeAsIcon, new CPixmapFormatter())); - this->m_columns.addColumn(CColumn::standardString("description", { CAircraftModel::IndexDescription})); - this->m_columns.addColumn(CColumn::standardString("sim.", "simulator supported", CAircraftModel::IndexSimulatorInfoAsString)); + m_columns.addColumn(CColumn::standardString("model", { CAircraftModel::IndexModelString})); + m_columns.addColumn(CColumn("DB", "DB metadata", CAircraftModel::IndexDatabaseIcon, new CPixmapFormatter())); + m_columns.addColumn(CColumn::standardString("DB", "parts from DB", { CAircraftModel::IndexMembersDbStatus})); + m_columns.addColumn(CColumn("mode", "model mode(include, exclude)", CAircraftModel::IndexModelModeAsIcon, new CPixmapFormatter())); + m_columns.addColumn(CColumn::standardString("description", { CAircraftModel::IndexDescription})); + m_columns.addColumn(CColumn::standardString("sim.", "simulator supported", CAircraftModel::IndexSimulatorInfoAsString)); - this->m_columns.addColumn(CColumn::standardString("dist.", "distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey})); + m_columns.addColumn(CColumn::standardString("dist.", "distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey})); - this->m_columns.addColumn(CColumn::standardString("aircraft", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexDesignatorManufacturer})); - this->m_columns.addColumn(CColumn::standardString("livery", { CAircraftModel::IndexLivery, CLivery::IndexCombinedCode})); - this->m_columns.addColumn(CColumn::standardString("airline", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexDesignatorNameCountry})); + m_columns.addColumn(CColumn::standardString("aircraft", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexDesignatorManufacturer})); + m_columns.addColumn(CColumn::standardString("livery", { CAircraftModel::IndexLivery, CLivery::IndexCombinedCode})); + m_columns.addColumn(CColumn::standardString("airline", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexDesignatorNameCountry})); - this->m_columns.addColumn(CColumn::standardString("name", { CAircraftModel::IndexName})); - this->m_columns.addColumn(CColumn::standardString("filename", { CAircraftModel::IndexFileName})); + m_columns.addColumn(CColumn::standardString("name", { CAircraftModel::IndexName})); + m_columns.addColumn(CColumn::standardString("filename", { CAircraftModel::IndexFileName})); // default sort order this->setSortColumnByPropertyIndex(CAircraftModel::IndexModelString); - this->m_sortOrder = Qt::AscendingOrder; + m_sortOrder = Qt::AscendingOrder; break; case OwnModelSet: // intentional fall thru - this->m_columns.addColumn(CColumn::orderColumn()); + m_columns.addColumn(CColumn::orderColumn()); case OwnAircraftModelMappingTool: case StashModel: - this->m_columns.addColumn(CColumn::standardString("model", CAircraftModel::IndexModelString)); - this->m_columns.addColumn(CColumn("DB", "DB metadata", CAircraftModel::IndexDatabaseIcon, new CPixmapFormatter())); + m_columns.addColumn(CColumn::standardString("model", CAircraftModel::IndexModelString)); + m_columns.addColumn(CColumn("DB", "DB metadata", CAircraftModel::IndexDatabaseIcon, new CPixmapFormatter())); if (mode == StashModel) { - this->m_columns.addColumn(CColumn::standardString("flags", "parts from DB", { CAircraftModel::IndexMembersDbStatus})); + m_columns.addColumn(CColumn::standardString("flags", "parts from DB", { CAircraftModel::IndexMembersDbStatus})); } - this->m_columns.addColumn(CColumn("mode", "model mode(include, exclude)", CAircraftModel::IndexModelModeAsIcon, new CPixmapFormatter())); - this->m_columns.addColumn(CColumn::standardString("dist.", "distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey})); + m_columns.addColumn(CColumn("mode", "model mode(include, exclude)", CAircraftModel::IndexModelModeAsIcon, new CPixmapFormatter())); + m_columns.addColumn(CColumn::standardString("dist.", "distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey})); if (mode == OwnModelSet) { - this->m_columns.addColumn(CColumn::standardString("d#", "distributor order", { CAircraftModel::IndexDistributor, CDistributor::IndexOrderString})); + m_columns.addColumn(CColumn::standardString("d#", "distributor order", { CAircraftModel::IndexDistributor, CDistributor::IndexOrderString})); } - this->m_columns.addColumn(CColumn::standardString("ac", "aircraft ICAO", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexAircraftDesignator})); - this->m_columns.addColumn(CColumn::standardString("fam.", "aircraft family", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexFamily})); - this->m_columns.addColumn(CColumn::standardString("livery", { CAircraftModel::IndexLivery, CLivery::IndexCombinedCode})); - this->m_columns.addColumn(CColumn::standardString("al", "airline ICAO", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineDesignator})); - this->m_columns.addColumn(CColumn::standardString("description", CAircraftModel::IndexDescription)); - this->m_columns.addColumn(CColumn::standardString("filename", CAircraftModel::IndexFileName)); - this->m_columns.addColumn(CColumn::standardString("file ts.", "file timestamp", CAircraftModel::IndexFileTimestampFormattedYmdhms)); - this->m_columns.addColumn(CColumn::standardString("icon", CAircraftModel::IndexIconPath)); - this->m_columns.addColumn(CColumn::standardString("changed", CAircraftModel::IndexUtcTimestampFormattedYmdhms)); + m_columns.addColumn(CColumn::standardString("ac", "aircraft ICAO", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexAircraftDesignator})); + m_columns.addColumn(CColumn::standardString("fam.", "aircraft family", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexFamily})); + m_columns.addColumn(CColumn::standardString("livery", { CAircraftModel::IndexLivery, CLivery::IndexCombinedCode})); + m_columns.addColumn(CColumn::standardString("al", "airline ICAO", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineDesignator})); + m_columns.addColumn(CColumn::standardString("description", CAircraftModel::IndexDescription)); + m_columns.addColumn(CColumn::standardString("filename", CAircraftModel::IndexFileName)); + m_columns.addColumn(CColumn::standardString("file ts.", "file timestamp", CAircraftModel::IndexFileTimestampFormattedYmdhms)); + m_columns.addColumn(CColumn::standardString("icon", CAircraftModel::IndexIconPath)); + m_columns.addColumn(CColumn::standardString("changed", CAircraftModel::IndexUtcTimestampFormattedYmdhms)); // default sort order this->setSortColumnByPropertyIndex(CAircraftModel::IndexModelString); - this->m_sortOrder = Qt::AscendingOrder; + m_sortOrder = Qt::AscendingOrder; break; case Database: - this->m_columns.addColumn(CColumn::standardString("id", CAircraftModel::IndexDbIntegerKey, CDefaultFormatter::alignRightVCenter())); - this->m_columns.addColumn(CColumn::standardString("model", CAircraftModel::IndexModelString)); - this->m_columns.addColumn(CColumn("mode", "model mode(include, exclude)", CAircraftModel::IndexModelModeAsIcon, new CPixmapFormatter())); + m_columns.addColumn(CColumn::standardString("id", CAircraftModel::IndexDbIntegerKey, CDefaultFormatter::alignRightVCenter())); + m_columns.addColumn(CColumn::standardString("model", CAircraftModel::IndexModelString)); + m_columns.addColumn(CColumn("mode", "model mode(include, exclude)", CAircraftModel::IndexModelModeAsIcon, new CPixmapFormatter())); - this->m_columns.addColumn(CColumn::standardString("dist.", "distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey})); - this->m_columns.addColumn(CColumn::standardString("name", CAircraftModel::IndexName)); - this->m_columns.addColumn(CColumn::standardString("description", CAircraftModel::IndexDescription)); - this->m_columns.addColumn(CColumn::standardString("sim.", "simulator supported", CAircraftModel::IndexSimulatorInfoAsString)); + m_columns.addColumn(CColumn::standardString("dist.", "distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey})); + m_columns.addColumn(CColumn::standardString("name", CAircraftModel::IndexName)); + m_columns.addColumn(CColumn::standardString("description", CAircraftModel::IndexDescription)); + m_columns.addColumn(CColumn::standardString("sim.", "simulator supported", CAircraftModel::IndexSimulatorInfoAsString)); - this->m_columns.addColumn(CColumn::standardString("ac", "aircraft ICAO", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexAircraftDesignator})); - this->m_columns.addColumn(CColumn::standardString("fam.", "aircraft family", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexFamily})); - this->m_columns.addColumn(CColumn::standardString("manufacturer", "aircraft ICAO", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexManufacturer})); + m_columns.addColumn(CColumn::standardString("ac", "aircraft ICAO", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexAircraftDesignator})); + m_columns.addColumn(CColumn::standardString("fam.", "aircraft family", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexFamily})); + m_columns.addColumn(CColumn::standardString("manufacturer", "aircraft ICAO", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexManufacturer})); - this->m_columns.addColumn(CColumn::standardString("code", { CAircraftModel::IndexLivery, CLivery::IndexCombinedCode})); - this->m_columns.addColumn(CColumn::standardString("liv.desc.", "livery description", { CAircraftModel::IndexLivery, CLivery::IndexDescription})); - this->m_columns.addColumn(CColumn::standardString("al", "airline ICAO", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineDesignator})); - this->m_columns.addColumn(CColumn::standardString("al.name", "airline name", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineName })); + m_columns.addColumn(CColumn::standardString("code", { CAircraftModel::IndexLivery, CLivery::IndexCombinedCode})); + m_columns.addColumn(CColumn::standardString("liv.desc.", "livery description", { CAircraftModel::IndexLivery, CLivery::IndexDescription})); + m_columns.addColumn(CColumn::standardString("al", "airline ICAO", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineDesignator})); + m_columns.addColumn(CColumn::standardString("al.name", "airline name", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineName })); - this->m_columns.addColumn(CColumn("fuse.", "fuselage color", { CAircraftModel::IndexLivery, CLivery::IndexColorFuselage }, new CColorFormatter())); - this->m_columns.addColumn(CColumn("tail", "tail color", { CAircraftModel::IndexLivery, CLivery::IndexColorTail }, new CColorFormatter())); - this->m_columns.addColumn(CColumn("mil.", "military livery", { CAircraftModel::IndexLivery, CLivery::IndexIsMilitary}, new CBoolIconFormatter("military", "civil"))); - this->m_columns.addColumn(CColumn::standardString("changed", CAircraftModel::IndexUtcTimestampFormattedYmdhms)); + m_columns.addColumn(CColumn("fuse.", "fuselage color", { CAircraftModel::IndexLivery, CLivery::IndexColorFuselage }, new CColorFormatter())); + m_columns.addColumn(CColumn("tail", "tail color", { CAircraftModel::IndexLivery, CLivery::IndexColorTail }, new CColorFormatter())); + m_columns.addColumn(CColumn("mil.", "military livery", { CAircraftModel::IndexLivery, CLivery::IndexIsMilitary}, new CBoolIconFormatter("military", "civil"))); + m_columns.addColumn(CColumn::standardString("changed", CAircraftModel::IndexUtcTimestampFormattedYmdhms)); // default sort order this->setSortColumnByPropertyIndex(CAircraftModel::IndexModelString); - this->m_sortOrder = Qt::AscendingOrder; + m_sortOrder = Qt::AscendingOrder; break; case VPilotRuleModel: - this->m_columns.addColumn(CColumn::standardString("model", CAircraftModel::IndexModelString)); - this->m_columns.addColumn(CColumn::standardString("dist.", "distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey})); - this->m_columns.addColumn(CColumn::standardString("sim.", "simulator supported", CAircraftModel::IndexSimulatorInfoAsString)); + m_columns.addColumn(CColumn::standardString("model", CAircraftModel::IndexModelString)); + m_columns.addColumn(CColumn::standardString("dist.", "distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey})); + m_columns.addColumn(CColumn::standardString("sim.", "simulator supported", CAircraftModel::IndexSimulatorInfoAsString)); - this->m_columns.addColumn(CColumn::standardString("ac", "aircraft ICAO", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexAircraftDesignator})); + m_columns.addColumn(CColumn::standardString("ac", "aircraft ICAO", { CAircraftModel::IndexAircraftIcaoCode, CAircraftIcaoCode::IndexAircraftDesignator})); - this->m_columns.addColumn(CColumn::standardString("al", "airline ICAO", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineDesignator})); - this->m_columns.addColumn(CColumn::standardString("al.name", "airline name", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineName })); + m_columns.addColumn(CColumn::standardString("al", "airline ICAO", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineDesignator})); + m_columns.addColumn(CColumn::standardString("al.name", "airline name", { CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineName })); - this->m_columns.addColumn(CColumn::standardString("changed", CAircraftModel::IndexUtcTimestampFormattedYmdhms)); + m_columns.addColumn(CColumn::standardString("changed", CAircraftModel::IndexUtcTimestampFormattedYmdhms)); // default sort order this->setSortColumnByPropertyIndex(CAircraftModel::IndexModelString); - this->m_sortOrder = Qt::AscendingOrder; + m_sortOrder = Qt::AscendingOrder; break; default: @@ -201,7 +201,7 @@ namespace BlackGui // highlight stashed first if (m_highlightStrings.contains(model.getModelString(), Qt::CaseInsensitive)) { - return this->m_highlightColor; + return m_highlightColor; } return QVariant(); @@ -217,10 +217,11 @@ namespace BlackGui void CAircraftModelListModel::clearHighlighting() { - this->m_highlightModelStrings = false; - this->m_highlightStrings.clear(); + m_highlightModelStrings = false; + m_highlightStrings.clear(); COrderableListModelDbObjects::clearHighlighting(); } + bool CAircraftModelListModel::hasHighlightedRows() const { return !m_highlightStrings.isEmpty(); diff --git a/src/blackgui/models/listmodelbase.cpp b/src/blackgui/models/listmodelbase.cpp index 79b0fb800..083e6c56b 100644 --- a/src/blackgui/models/listmodelbase.cpp +++ b/src/blackgui/models/listmodelbase.cpp @@ -74,7 +74,7 @@ namespace BlackGui int CListModelBaseNonTemplate::columnCount(const QModelIndex &modelIndex) const { Q_UNUSED(modelIndex); - int c = this->m_columns.size(); + int c = m_columns.size(); return c; } @@ -89,19 +89,19 @@ namespace BlackGui { return QVariant(); } - if (section < 0 || section >= this->m_columns.size()) + if (section < 0 || section >= m_columns.size()) { return QVariant(); } if (role == Qt::DisplayRole) { - QString header = this->m_columns.at(section).getColumnName(false); + QString header = m_columns.at(section).getColumnName(false); return QVariant(header); } else if (role == Qt::ToolTipRole) { - QString header = this->m_columns.at(section).getColumnToolTip(false); + QString header = m_columns.at(section).getColumnToolTip(false); return header.isEmpty() ? QVariant() : QVariant(header); } return QVariant(); @@ -121,7 +121,7 @@ namespace BlackGui BlackMisc::CPropertyIndex CListModelBaseNonTemplate::columnToPropertyIndex(int column) const { - return this->m_columns.columnToPropertyIndex(column); + return m_columns.columnToPropertyIndex(column); } int CListModelBaseNonTemplate::propertyIndexToColumn(const CPropertyIndex &propertyIndex) const @@ -142,31 +142,31 @@ namespace BlackGui void CListModelBaseNonTemplate::setSortColumnByPropertyIndex(const BlackMisc::CPropertyIndex &propertyIndex) { - this->m_sortColumn = this->m_columns.propertyIndexToColumn(propertyIndex); + m_sortColumn = m_columns.propertyIndexToColumn(propertyIndex); } void CListModelBaseNonTemplate::setSorting(const CPropertyIndex &propertyIndex, Qt::SortOrder order) { this->setSortColumnByPropertyIndex(propertyIndex); - this->m_sortOrder = order; + m_sortOrder = order; } bool CListModelBaseNonTemplate::hasValidSortColumn() const { - if (!(this->m_sortColumn >= 0 && this->m_sortColumn < this->m_columns.size())) { return false; } - return this->m_columns.isSortable(this->m_sortColumn); + if (!(m_sortColumn >= 0 && m_sortColumn < m_columns.size())) { return false; } + return m_columns.isSortable(m_sortColumn); } Qt::ItemFlags CListModelBaseNonTemplate::flags(const QModelIndex &index) const { Qt::ItemFlags f = QStandardItemModel::flags(index); if (!index.isValid()) { return f; } - const bool editable = this->m_columns.isEditable(index); + const bool editable = m_columns.isEditable(index); f = editable ? (f | Qt::ItemIsEditable) : (f & ~Qt::ItemIsEditable); // flags from formatter - const CDefaultFormatter *formatter = this->m_columns.getFormatter(index); + const CDefaultFormatter *formatter = m_columns.getFormatter(index); if (formatter) { f = formatter->flags(f, editable); } // drag and drop @@ -186,7 +186,7 @@ namespace BlackGui Qt::DropActions CListModelBaseNonTemplate::supportedDropActions() const { - return this->m_dropActions; + return m_dropActions; } QStringList CListModelBaseNonTemplate::mimeTypes() const @@ -197,7 +197,7 @@ namespace BlackGui void CListModelBaseNonTemplate::markDestroyed() { - this->m_modelDestroyed = true; + m_modelDestroyed = true; } bool CListModelBaseNonTemplate::isModelDestroyed() @@ -305,7 +305,7 @@ namespace BlackGui } // Formatter - const CDefaultFormatter *formatter = this->m_columns.getFormatter(index); + const CDefaultFormatter *formatter = m_columns.getFormatter(index); Q_ASSERT_X(formatter, Q_FUNC_INFO, "Missing formatter"); // Upfront checking avoids unnecessary data fetching @@ -333,12 +333,12 @@ namespace BlackGui // check / init if (!this->isValidIndex(index)) { return false; } - if (!this->m_columns.isEditable(index)) { return false; } - const CDefaultFormatter *formatter = this->m_columns.getFormatter(index); + if (!m_columns.isEditable(index)) { return false; } + const CDefaultFormatter *formatter = m_columns.getFormatter(index); Q_ASSERT(formatter); if (!formatter) { return false; } - ObjectType obj = this->m_container[index.row()]; + ObjectType obj = m_container[index.row()]; ObjectType currentObject(obj); BlackMisc::CPropertyIndex propertyIndex = this->columnToPropertyIndex(index.column()); obj.setPropertyByIndex(propertyIndex, value); @@ -347,7 +347,7 @@ namespace BlackGui { const QModelIndex topLeft = index.sibling(index.row(), 0); const QModelIndex bottomRight = index.sibling(index.row(), this->columnCount() - 1); - this->m_container[index.row()] = obj; + m_container[index.row()] = obj; const CVariant co = CVariant::fromValue(obj); emit objectChanged(co, propertyIndex); emit this->dataChanged(topLeft, bottomRight); @@ -375,29 +375,29 @@ namespace BlackGui // Keep sorting out of begin/end reset model ContainerType sortedContainer; ContainerType selection; - if (this->m_selectionModel) + if (m_selectionModel) { - selection = this->m_selectionModel->selectedObjects(); + selection = m_selectionModel->selectedObjects(); } - const int oldSize = this->m_container.size(); + const int oldSize = m_container.size(); const bool performSort = sort && container.size() > 1 && this->hasValidSortColumn(); if (performSort) { const int sortColumn = this->getSortColumn(); - sortedContainer = this->sortContainerByColumn(container, sortColumn, this->m_sortOrder); + sortedContainer = this->sortContainerByColumn(container, sortColumn, m_sortOrder); } this->beginResetModel(); - this->m_container = performSort ? sortedContainer : container; + m_container = performSort ? sortedContainer : container; this->updateFilteredContainer(); this->endResetModel(); if (!selection.isEmpty()) { - this->m_selectionModel->selectObjects(selection); + m_selectionModel->selectObjects(selection); } - const int newSize = this->m_container.size(); + const int newSize = m_container.size(); Q_UNUSED(oldSize); // I have to update even with same size because I cannot tell what/if data are changed this->emitModelDataChanged(); @@ -408,8 +408,8 @@ namespace BlackGui void CListModelBase::update(const QModelIndex &index, const ObjectType &object) { if (m_modelDestroyed) { return; } - if (index.row() >= this->m_container.size()) { return; } - this->m_container[index.row()] = object; + if (index.row() >= m_container.size()) { return; } + m_container[index.row()] = object; QModelIndex i1 = index.sibling(index.row(), 0); QModelIndex i2 = index.sibling(index.row(), this->columnCount(index) - 1); @@ -435,7 +435,7 @@ namespace BlackGui }); worker->thenWithResult(this, [this](const ContainerType & sortedContainer) { - if (this->m_modelDestroyed) { return; } + if (m_modelDestroyed) { return; } this->update(sortedContainer, false); }); worker->then(this, &CListModelBase::asyncUpdateFinished); @@ -468,7 +468,7 @@ namespace BlackGui void CListModelBase::removeFilter() { if (!this->hasFilter()) { return; } - this->m_filter.reset(nullptr); + m_filter.reset(nullptr); this->beginResetModel(); this->updateFilteredContainer(); this->endResetModel(); @@ -485,7 +485,7 @@ namespace BlackGui } if (filter->isValid()) { - this->m_filter = std::move(filter); + m_filter = std::move(filter); this->beginResetModel(); this->updateFilteredContainer(); this->endResetModel(); @@ -515,13 +515,13 @@ namespace BlackGui template const ContainerType &CListModelBase::container() const { - return this->m_container; + return m_container; } template const ContainerType &CListModelBase::containerFiltered() const { - return this->m_containerFiltered; + return m_containerFiltered; } template @@ -530,20 +530,20 @@ namespace BlackGui if (this->hasFilter()) { if (filtered) { *filtered = true; } - return this->m_containerFiltered; + return m_containerFiltered; } else { if (filtered) { *filtered = false; } - return this->m_container; + return m_container; } } template void CListModelBase::push_back(const ObjectType &object) { - beginInsertRows(QModelIndex(), this->m_container.size(), this->m_container.size()); - this->m_container.push_back(object); + beginInsertRows(QModelIndex(), m_container.size(), m_container.size()); + m_container.push_back(object); endInsertRows(); this->updateFilteredContainer(); this->emitModelDataChanged(); @@ -553,7 +553,7 @@ namespace BlackGui void CListModelBase::insert(const ObjectType &object) { beginInsertRows(QModelIndex(), 0, 0); - this->m_container.insert(this->m_container.begin(), object); + m_container.insert(m_container.begin(), object); endInsertRows(); if (this->hasFilter()) @@ -570,7 +570,7 @@ namespace BlackGui { if (container.isEmpty()) { return; } beginInsertRows(QModelIndex(), 0, 0); - this->m_container.insert(container); + m_container.insert(container); endInsertRows(); if (this->hasFilter()) @@ -585,11 +585,11 @@ namespace BlackGui template void CListModelBase::remove(const ObjectType &object) { - int oldSize = this->m_container.size(); + int oldSize = m_container.size(); beginRemoveRows(QModelIndex(), 0, 0); - this->m_container.remove(object); + m_container.remove(object); endRemoveRows(); - int newSize = this->m_container.size(); + int newSize = m_container.size(); if (oldSize != newSize) { this->emitModelDataChanged(); @@ -606,8 +606,8 @@ namespace BlackGui void CListModelBase::clear() { beginResetModel(); - this->m_container.clear(); - this->m_containerFiltered.clear(); + m_container.clear(); + m_containerFiltered.clear(); endResetModel(); this->emitModelDataChanged(); } @@ -615,7 +615,7 @@ namespace BlackGui template bool CListModelBase::isEmpty() const { - return this->m_container.isEmpty(); + return m_container.isEmpty(); } template @@ -623,11 +623,11 @@ namespace BlackGui { if (this->hasFilter()) { - this->m_containerFiltered = this->m_filter->filter(this->m_container); + m_containerFiltered = m_filter->filter(m_container); } else { - this->m_containerFiltered.clear(); + m_containerFiltered.clear(); } } @@ -674,18 +674,18 @@ namespace BlackGui template void CListModelBase::sort(int column, Qt::SortOrder order) { - if (column == this->m_sortColumn && order == this->m_sortOrder) { return; } + if (column == m_sortColumn && order == m_sortOrder) { return; } // new order - this->m_sortColumn = column; - this->m_sortOrder = order; - if (this->m_container.size() < 2) + m_sortColumn = column; + m_sortOrder = order; + if (m_container.size() < 2) { return; // nothing to do } // sort the values - this->updateContainerMaybeAsync(this->m_container, true); + this->updateContainerMaybeAsync(m_container, true); } template @@ -705,13 +705,13 @@ namespace BlackGui ContainerType CListModelBase::sortContainerByColumn(const ContainerType &container, int column, Qt::SortOrder order) const { if (m_modelDestroyed) { return container; } - if (container.size() < 2 || !this->m_columns.isSortable(column)) + if (container.size() < 2 || !m_columns.isSortable(column)) { return container; // nothing to do } // this is the only part not really thread safe, but columns do not change so far - BlackMisc::CPropertyIndex propertyIndex = this->m_columns.columnToSortPropertyIndex(column); + BlackMisc::CPropertyIndex propertyIndex = m_columns.columnToSortPropertyIndex(column); Q_ASSERT(!propertyIndex.isEmpty()); if (propertyIndex.isEmpty()) { diff --git a/src/blackgui/models/listmodeldbobjects.h b/src/blackgui/models/listmodeldbobjects.h index d2a826108..f17388b24 100644 --- a/src/blackgui/models/listmodeldbobjects.h +++ b/src/blackgui/models/listmodeldbobjects.h @@ -48,6 +48,12 @@ namespace BlackGui CListModelBase::clearHighlighting(); } + //! \copydoc BlackGui::Models::CListModelBaseNonTemplate::hasHighlightedRows + virtual bool hasHighlightedRows() const override + { + return !m_highlightKeys.isEmpty(); + } + //! Set color for highlighting void setHighlightColor(QColor color) { m_highlightColor = color; } diff --git a/src/blackgui/views/aircraftmodelview.h b/src/blackgui/views/aircraftmodelview.h index bc5f545e9..0c77a9ce5 100644 --- a/src/blackgui/views/aircraftmodelview.h +++ b/src/blackgui/views/aircraftmodelview.h @@ -112,7 +112,7 @@ namespace BlackGui //! Request to stash if applicable void requestStash(const BlackMisc::Simulation::CAircraftModelList &models); - //! Highligh stashed models has been toggled + //! Highlight stashed models has been toggled void toggledHighlightStashedModels(); //! Request further handling of drops I cannot handle on my own diff --git a/src/blackgui/views/viewbase.cpp b/src/blackgui/views/viewbase.cpp index a53d82e3b..59e0801d6 100644 --- a/src/blackgui/views/viewbase.cpp +++ b/src/blackgui/views/viewbase.cpp @@ -1509,14 +1509,9 @@ namespace BlackGui // save file const bool ok = CFileUtils::writeStringToFileInBackground(json, fileName); - if (ok) - { - return CStatusMessage(this, CStatusMessage::SeverityInfo, "Writing " + fileName + " in progress", true); - } - else - { - return CStatusMessage(this, CStatusMessage::SeverityError, "Writing " + fileName + " failed", true); - } + return ok ? + CStatusMessage(this, CStatusMessage::SeverityInfo, "Writing " + fileName + " in progress", true) : + CStatusMessage(this, CStatusMessage::SeverityError, "Writing " + fileName + " failed", true); } template diff --git a/src/blackgui/views/viewbase.h b/src/blackgui/views/viewbase.h index 775f0ede7..c482f15b0 100644 --- a/src/blackgui/views/viewbase.h +++ b/src/blackgui/views/viewbase.h @@ -221,16 +221,16 @@ namespace BlackGui bool isCurrentlyAllowingMultipleRowSelections() const; //! Filter dialog - void setFilterDialog(BlackGui::Filters::CFilterDialog *filterDialog); + void setFilterDialog(Filters::CFilterDialog *filterDialog); //! Filter widget if any QWidget *getFilterWidget() const { return m_filterWidget; } //! Set filter widget - void setFilterWidget(BlackGui::Filters::CFilterWidget *filterWidget); + void setFilterWidget(Filters::CFilterWidget *filterWidget); //! Set custom menu if applicable - BlackGui::Menus::IMenuDelegate *setCustomMenu(BlackGui::Menus::IMenuDelegate *menu, bool nestPreviousMenu = true); + Menus::IMenuDelegate *setCustomMenu(Menus::IMenuDelegate *menu, bool nestPreviousMenu = true); //! Enable loading indicator void enableLoadIndicator(bool enable); @@ -366,7 +366,7 @@ namespace BlackGui //! Method creating the menu //! \remarks override this method to contribute to the menu //! \sa BlackGui::Views::CViewBaseNonTemplate::ps_customMenuRequested - virtual void customMenu(BlackGui::Menus::CMenuActions &menuActions); + virtual void customMenu(Menus::CMenuActions &menuActions); //! \name Functions from QTableView //! @{ @@ -406,7 +406,7 @@ namespace BlackGui QString getSettingsFileName(bool load) const; //! Init menu actions - BlackGui::Menus::CMenuActions initMenuActions(MenuFlag menu); + Menus::CMenuActions initMenuActions(MenuFlag menu); //! Set the sort indicator to the current sort column virtual void updateSortIndicator() = 0; @@ -440,12 +440,12 @@ namespace BlackGui bool m_forceColumnsToMaxSize = true; //!< force that columns are extended to full viewport width QWidget *m_filterWidget = nullptr; //!< filter widget or dialog Menu m_menus = MenuDefault; //!< Default menu settings - BlackGui::Menus::IMenuDelegate *m_menu = nullptr; //!< custom menu if any - BlackGui::Menus::CFontMenu *m_fontMenu = nullptr; //!< font menu if applicable - BlackGui::CLoadIndicator *m_loadIndicator = nullptr; //!< load indicator if needed - QMap m_menuFlagActions; //!< initialized actions - BlackMisc::CSettingReadOnly m_guiSettings { this, &CViewBaseNonTemplate::settingsChanged }; //!< general GUI settings - BlackMisc::CSetting m_dirSettings { this }; //!< directory for load/save + Menus::IMenuDelegate *m_menu = nullptr; //!< custom menu if any + Menus::CFontMenu *m_fontMenu = nullptr; //!< font menu if applicable + CLoadIndicator *m_loadIndicator = nullptr; //!< load indicator if needed + QMap m_menuFlagActions; //!< initialized actions + BlackMisc::CSettingReadOnly m_guiSettings { this, &CViewBaseNonTemplate::settingsChanged }; //!< general GUI settings + BlackMisc::CSetting m_dirSettings { this }; //!< directory for load/save protected slots: //! Helper method with template free signature serving as callback from threaded worker @@ -544,7 +544,7 @@ namespace BlackGui //! Base class for views template class CViewBase : public CViewBaseNonTemplate, - public BlackGui::Models::ISelectionModel + public Models::ISelectionModel { // I cannot use Q_OBJECT here, because: Template classes are not supported by Q_OBJECT // and I cannot declare slots as SLOT because I have no Q_OBJECT macro @@ -657,7 +657,7 @@ namespace BlackGui virtual void setObjectName(const QString &name); //! Set filter and take ownership, any previously set filter will be destroyed - void takeFilterOwnership(std::unique_ptr> &filter); + void takeFilterOwnership(std::unique_ptr> &filter); //! Removes filter and destroys filter object void removeFilter(); @@ -707,7 +707,7 @@ namespace BlackGui virtual void jsonLoadedAndModelUpdated(const ContainerType &data); //! \copydoc CViewBaseNonTemplate::customMenu - virtual void customMenu(BlackGui::Menus::CMenuActions &menuActions) override; + virtual void customMenu(Menus::CMenuActions &menuActions) override; // --------------------------------------------- SLOTS start here -----------------------------------------