Skip to content
Snippets Groups Projects
Commit e1672084 authored by Aline Gondim Santos's avatar Aline Gondim Santos Committed by Sébastien Blin
Browse files

pluginpreferences: code change to handle windows errors

Change-Id: I885a8d8287511d6769d3c33a255c5216f12c6cac
parent 9b1899ef
No related branches found
No related tags found
No related merge requests found
......@@ -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
......@@ -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_;
};
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment