diff --git a/.clang-tidy b/.clang-tidy index 01d514dcf04527a1bdbcfe2f3de6cef63925fb78..e09f26750cfe33b13428d3353184ea0af75413ef 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -43,6 +43,7 @@ Checks: '*, -cppcoreguidelines-pro-type-member-init, -cppcoreguidelines-pro-type-reinterpret-cast, -cppcoreguidelines-pro-type-vararg, +-cppcoreguidelines-slicing, -fuchsia-default-arguments-calls, -fuchsia-default-arguments-declarations, -fuchsia-overloaded-operator, @@ -72,6 +73,7 @@ Checks: '*, -readability-isolate-declaration, -performance-inefficient-vector-operation, +-performance-unnecessary-copy-initialization, -SectionComment_Disabled_unless_3rdparty_libraries_are_improved, @@ -140,6 +142,7 @@ Checks: '*, -bugprone-exception-escape, -bugprone-misplaced-widening-cast, +-bugprone-copy-constructor-init, ' # keep the closing quotation mark \ No newline at end of file diff --git a/GUI/Model/Session/SessionModel.cpp b/GUI/Model/Session/SessionModel.cpp index 6ab92413c6ee9561c42d4916cd7da75393392e0c..f60ff7adbb24cdfd9e699386e85abd9c73781156 100644 --- a/GUI/Model/Session/SessionModel.cpp +++ b/GUI/Model/Session/SessionModel.cpp @@ -59,21 +59,18 @@ Qt::ItemFlags SessionModel::flags(const QModelIndex& index) const && item->isEditable() && item->isEnabled()) result_flags |= Qt::ItemIsEditable; QVector<QString> acceptable_child_items = acceptableDefaultItemTypes(index); - if (acceptable_child_items.contains(m_dragged_item_type)) { + if (acceptable_child_items.contains(m_dragged_item_type)) result_flags |= Qt::ItemIsDropEnabled; - } - } else { + } else result_flags |= Qt::ItemIsDropEnabled; - } return result_flags; } QVariant SessionModel::data(const QModelIndex& index, int role) const { if (!m_root_item || !index.isValid() || index.column() < 0 - || index.column() >= columnCount(QModelIndex())) { - return QVariant(); - } + || index.column() >= columnCount(QModelIndex())) + return {}; if (SessionItem* item = itemForIndex(index)) { if (role == Qt::DisplayRole || role == Qt::EditRole) { if (index.column() == SessionFlags::ITEM_VALUE) @@ -86,24 +83,24 @@ QVariant SessionModel::data(const QModelIndex& index, int role) const return GUI::Session::ItemUtils::ForegroundRole(*item); } else if (role == Qt::CheckStateRole && index.column() == SessionFlags::ITEM_VALUE) { return GUI::Session::ItemUtils::CheckStateRole(*item); - } else { + } else return item->roleProperty(role); - } } - return QVariant(); + return {}; } QVariant SessionModel::headerData(int section, Qt::Orientation orientation, int role) const { - if (orientation == Qt::Horizontal && role == Qt::DisplayRole) { - switch (section) { - case SessionFlags::ITEM_NAME: - return "Name"; - case SessionFlags::ITEM_VALUE: - return "Value"; - } + if (orientation != Qt::Horizontal || role != Qt::DisplayRole) + return {}; + switch (section) { + case SessionFlags::ITEM_NAME: + return "Name"; + case SessionFlags::ITEM_VALUE: + return "Value"; + default: + return {}; } - return QVariant(); } int SessionModel::rowCount(const QModelIndex& parent) const @@ -143,7 +140,6 @@ QModelIndex SessionModel::parent(const QModelIndex& child) const if (SessionItem* parent_item = child_item->parent()) { if (parent_item == m_root_item) return QModelIndex(); - return createIndex(GUI::Session::ItemUtils::ParentRow(*parent_item), 0, parent_item); } } @@ -271,12 +267,10 @@ SessionItem* SessionModel::insertNewItem(QString model_type, SessionItem* parent } SessionItem* new_item = GUI::Model::ItemFactory::CreateItem(model_type); + ASSERT(new_item); - if (!new_item) - throw Error("SessionModel::insertNewItem() -> Wrong model type " + model_type); - - if (!parent_item->insertItem(row, new_item, tag)) - throw Error("SessionModel::insertNewItem -> Error. Can't insert item"); + const auto success = parent_item->insertItem(row, new_item, tag); + ASSERT(success); return new_item; } diff --git a/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp b/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp index cf85fa823742a5545e8e9d8a1b14fcbf98de2581..61217352e073b04609a56b8e1cf4ab34987e9115 100644 --- a/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp +++ b/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp @@ -47,8 +47,9 @@ QString AutomaticDataLoader1DResultModel::headerTextOfCalculatedColumn(int colum return "Q [1/nm]"; case 1: return "R"; + default: + return ""; } - return QString(); } int AutomaticDataLoader1DResultModel::columnCount(ColumnType type) const diff --git a/GUI/View/Loaders/QREDataLoaderResultModel.cpp b/GUI/View/Loaders/QREDataLoaderResultModel.cpp index 6ef2485f0cd8a6a7cda927662b84bba778709ea0..e08d323534b8992a87e82aab1ec45d5c5ae62055 100644 --- a/GUI/View/Loaders/QREDataLoaderResultModel.cpp +++ b/GUI/View/Loaders/QREDataLoaderResultModel.cpp @@ -33,7 +33,6 @@ bool QREDataLoaderResultModel::rowIsSkipped(int row) const { if (row >= 0 && row < m_importResult->lines.size()) return m_importResult->lines[row].first; - return false; } @@ -46,8 +45,9 @@ QString QREDataLoaderResultModel::headerTextOfCalculatedColumn(int column) const return "R"; case 2: return "sigma_R"; + default: + return ""; } - return QString(); } int QREDataLoaderResultModel::columnCount(ColumnType type) const @@ -61,7 +61,6 @@ int QREDataLoaderResultModel::columnCount(ColumnType type) const case ColumnType::processed: { const bool showErrorColumn = m_importResult->importSettings.columnDefinitions[QREDataLoader::DataType::dR].enabled; - return showErrorColumn ? 3 : 2; } case ColumnType::error: @@ -74,19 +73,19 @@ int QREDataLoaderResultModel::columnCount(ColumnType type) const QString QREDataLoaderResultModel::cellText(ColumnType type, int row, int col) const { if (col < 0 || row < 0 || row >= m_importResult->lines.size()) - return QString(); + return ""; if (type == ColumnType::fileContent) return (col == 0) ? m_importResult->lines[row].second : QString(); const bool isSkippedLine = m_importResult->lines[row].first; if (isSkippedLine) - return QString(); + return ""; switch (type) { case ColumnType::raw: { if (row >= m_importResult->rawValues.size()) - return QString(); + return ""; const auto& d = m_importResult->rawValues[row]; return (col < d.size()) ? QString::number(d[col]) : QString(); } @@ -104,12 +103,12 @@ QString QREDataLoaderResultModel::cellText(ColumnType type, int row, int col) co return (row < m_importResult->eValues.size()) ? QString::number(m_importResult->eValues[row]) : QString(); - return QString(); + return ""; case ColumnType::error: return (col == 0) ? m_importResult->errorText(row) : QString(); default: - return QString(); + return ""; } }