From e16720841fef44dc5c97abefee5b5bb60110b0eb Mon Sep 17 00:00:00 2001 From: agsantos <aline.gondimsantos@savoirfairelinux.com> Date: Mon, 10 Aug 2020 12:49:56 -0400 Subject: [PATCH] pluginpreferences: code change to handle windows errors Change-Id: I885a8d8287511d6769d3c33a255c5216f12c6cac --- src/preferenceitemlistmodel.cpp | 57 ++++++++++--------- src/preferenceitemlistmodel.h | 35 +++++++----- .../components/PluginListPreferencesView.qml | 3 +- 3 files changed, 55 insertions(+), 40 deletions(-) diff --git a/src/preferenceitemlistmodel.cpp b/src/preferenceitemlistmodel.cpp index 245ee77de..eb7ce5218 100644 --- a/src/preferenceitemlistmodel.cpp +++ b/src/preferenceitemlistmodel.cpp @@ -21,14 +21,14 @@ std::map<QString, int> mapType {{QString("List"), PreferenceItemListModel::Type::LIST}}; -PreferenceItemListModel::PreferenceItemListModel(QObject *parent) +PreferenceItemListModel::PreferenceItemListModel(QObject* parent) : QAbstractListModel(parent) {} PreferenceItemListModel::~PreferenceItemListModel() {} int -PreferenceItemListModel::rowCount(const QModelIndex &parent) const +PreferenceItemListModel::rowCount(const QModelIndex& parent) const { if (!parent.isValid()) { /* @@ -43,7 +43,7 @@ PreferenceItemListModel::rowCount(const QModelIndex &parent) const } int -PreferenceItemListModel::columnCount(const QModelIndex &parent) const +PreferenceItemListModel::columnCount(const QModelIndex& parent) const { Q_UNUSED(parent); /* @@ -53,36 +53,35 @@ PreferenceItemListModel::columnCount(const QModelIndex &parent) const } QVariant -PreferenceItemListModel::data(const QModelIndex &index, int role) const +PreferenceItemListModel::data(const QModelIndex& index, int role) const { auto preferenceList = LRCInstance::pluginModel().getPluginPreferences(pluginId_); if (!index.isValid() || preferenceList.size() <= index.row()) { return QVariant(); - } + } auto details = preferenceList.at(index.row()); int type = Type::DEFAULT; auto it = mapType.find(details["type"]); - if (it != mapType.end()) - { + if (it != mapType.end()) { type = mapType[details["type"]]; } switch (role) { - case Role::PreferenceKey: - return QVariant(details["key"]); - case Role::PreferenceName: - return QVariant(details["title"]); - case Role::PreferenceSummary: - return QVariant(details["summary"]); - case Role::PreferenceType: - return QVariant(type); - case Role::PreferenceDefaultValue: - return QVariant(details["defaultValue"]); - case Role::PreferenceEntries: - return QVariant(details["entries"]); - case Role::PreferenceEntryValues: - return QVariant(details["entryValues"]); + case Role::PreferenceKey: + return QVariant(details["key"]); + case Role::PreferenceName: + return QVariant(details["title"]); + case Role::PreferenceSummary: + return QVariant(details["summary"]); + case Role::PreferenceType: + return QVariant(type); + case Role::PreferenceDefaultValue: + return QVariant(details["defaultValue"]); + case Role::PreferenceEntries: + return QVariant(details["entries"]); + case Role::PreferenceEntryValues: + return QVariant(details["entryValues"]); } return QVariant(); } @@ -98,12 +97,12 @@ PreferenceItemListModel::roleNames() const roles[PreferenceDefaultValue] = "PreferenceDefaultValue"; roles[PreferenceEntries] = "PreferenceEntries"; roles[PreferenceEntryValues] = "PreferenceEntryValues"; - + return roles; } QModelIndex -PreferenceItemListModel::index(int row, int column, const QModelIndex &parent) const +PreferenceItemListModel::index(int row, int column, const QModelIndex& parent) const { Q_UNUSED(parent); if (column != 0) { @@ -117,14 +116,14 @@ PreferenceItemListModel::index(int row, int column, const QModelIndex &parent) c } QModelIndex -PreferenceItemListModel::parent(const QModelIndex &child) const +PreferenceItemListModel::parent(const QModelIndex& child) const { Q_UNUSED(child); return QModelIndex(); } Qt::ItemFlags -PreferenceItemListModel::flags(const QModelIndex &index) const +PreferenceItemListModel::flags(const QModelIndex& index) const { auto flags = QAbstractItemModel::flags(index) | Qt::ItemNeverHasChildren | Qt::ItemIsSelectable; if (!index.isValid()) { @@ -147,7 +146,13 @@ PreferenceItemListModel::pluginId() const } void -PreferenceItemListModel::setPluginId(const QString &pluginId) +PreferenceItemListModel::setPluginId(const QString& pluginId) { pluginId_ = pluginId; } + +int +PreferenceItemListModel::preferencesCount() +{ + return LRCInstance::pluginModel().getPluginPreferences(pluginId_).size(); +} \ No newline at end of file diff --git a/src/preferenceitemlistmodel.h b/src/preferenceitemlistmodel.h index 4c53d74cc..931c00e39 100644 --- a/src/preferenceitemlistmodel.h +++ b/src/preferenceitemlistmodel.h @@ -29,32 +29,41 @@ class PreferenceItemListModel : public QAbstractListModel Q_OBJECT Q_PROPERTY(QString pluginId READ pluginId WRITE setPluginId) + Q_PROPERTY(int preferencesCount READ preferencesCount) public: - enum Role { PreferenceKey = Qt::UserRole + 1, PreferenceName, PreferenceSummary, PreferenceType, PreferenceDefaultValue, PreferenceEntries, PreferenceEntryValues}; + enum Role { + PreferenceKey = Qt::UserRole + 1, + PreferenceName, + PreferenceSummary, + PreferenceType, + PreferenceDefaultValue, + PreferenceEntries, + PreferenceEntryValues + }; typedef enum { - LIST, - DEFAULT, + LIST, + DEFAULT, } Type; Q_ENUM(Role) - explicit PreferenceItemListModel(QObject *parent = 0); + explicit PreferenceItemListModel(QObject* parent = 0); ~PreferenceItemListModel(); /* * QAbstractListModel override. */ - int rowCount(const QModelIndex &parent = QModelIndex()) const override; - int columnCount(const QModelIndex &parent) const override; - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + int rowCount(const QModelIndex& parent = QModelIndex()) const override; + int columnCount(const QModelIndex& parent) const override; + QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; /* * Override role name as access point in qml. */ QHash<int, QByteArray> roleNames() const override; - QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const; - QModelIndex parent(const QModelIndex &child) const; - Qt::ItemFlags flags(const QModelIndex &index) const; + QModelIndex index(int row, int column = 0, const QModelIndex& parent = QModelIndex()) const; + QModelIndex parent(const QModelIndex& child) const; + Qt::ItemFlags flags(const QModelIndex& index) const; /* * This function is to reset the model when there's new plugin added or modified. @@ -62,9 +71,9 @@ public: Q_INVOKABLE void reset(); QString pluginId() const; - void setPluginId(const QString &pluginId); -// signals: -// void pluginIdChanged(); + void setPluginId(const QString& pluginId); + int preferencesCount(); + private: QString pluginId_; }; diff --git a/src/settingsview/components/PluginListPreferencesView.qml b/src/settingsview/components/PluginListPreferencesView.qml index 2bce00218..5635dfbf8 100644 --- a/src/settingsview/components/PluginListPreferencesView.qml +++ b/src/settingsview/components/PluginListPreferencesView.qml @@ -70,7 +70,8 @@ Rectangle { } function getSize(pluginId, show){ - size = 50 * ClientWrapper.pluginModel.getPluginPreferences(pluginId).length + preferenceItemListModel.pluginId = pluginId + size = 50 * preferenceItemListModel.preferencesCount if (show) { height = 200 + size pluginPreferenceView.height = size -- GitLab