Skip to content

Commit

Permalink
Add plugin version metadata to help users and authors communicate wit…
Browse files Browse the repository at this point in the history
…h each other on issues
  • Loading branch information
nirvn committed Apr 23, 2024
1 parent b198afb commit f14df8a
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 5 deletions.
4 changes: 3 additions & 1 deletion src/core/pluginmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,7 @@ void PluginManager::refreshAppPlugins()
QString description;
QString author;
QString icon;
QString version;

const QString metadataPath = QStringLiteral( "%1/metadata.txt" ).arg( candidate.absoluteFilePath() );
if ( QFileInfo::exists( metadataPath ) )
Expand All @@ -241,8 +242,9 @@ void PluginManager::refreshAppPlugins()
{
icon = QStringLiteral( "%1/%2" ).arg( candidate.absoluteFilePath(), metadata.value( "icon" ).toString() );
}
version = metadata.value( "version" ).toString();
}
mAvailableAppPlugins.insert( candidate.fileName(), PluginInformation( candidate.fileName(), name, description, author, icon, path ) );
mAvailableAppPlugins.insert( candidate.fileName(), PluginInformation( candidate.fileName(), name, description, author, icon, version, path ) );
}
}
}
Expand Down
6 changes: 5 additions & 1 deletion src/core/pluginmanager.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,16 @@ class PluginInformation
Q_PROPERTY( QString description READ description )
Q_PROPERTY( QString author READ author )
Q_PROPERTY( QString icon READ icon )
Q_PROPERTY( QString version READ version )

public:
PluginInformation( const QString &uuid = QString(), const QString &name = QString(), const QString &description = QString(), const QString &author = QString(), const QString &icon = QString(), const QString &path = QString() )
PluginInformation( const QString &uuid = QString(), const QString &name = QString(), const QString &description = QString(), const QString &author = QString(), const QString &icon = QString(), const QString &version = QString(), const QString &path = QString() )
: mUuid( uuid )
, mName( name )
, mDescription( description )
, mAuthor( author )
, mIcon( icon )
, mVersion( version )
, mPath( path )
{}
~PluginInformation() = default;
Expand All @@ -46,6 +48,7 @@ class PluginInformation
QString description() const { return mDescription; }
QString author() const { return mAuthor; }
QString icon() const { return mIcon; }
QString version() const { return mVersion; }
QString path() const { return mPath; }

private:
Expand All @@ -54,6 +57,7 @@ class PluginInformation
QString mDescription;
QString mAuthor;
QString mIcon;
QString mVersion;
QString mPath;
};

Expand Down
6 changes: 3 additions & 3 deletions src/qml/PluginManagerSettings.qml
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ Popup {

Label {
Layout.fillWidth: true
text: qsTr('Authored by %1').arg(Author)
text: qsTr('Authored by %1').arg(Author) + (Version != "" ? ' (' + Version + ')' : '')
font: Theme.tipFont
color: Theme.secondaryTextColor
wrapMode: Text.WordWrap
Expand All @@ -147,7 +147,7 @@ Popup {

Label {
Layout.fillWidth: true
text: "<a href='delete'>" + qsTr("Uninstall") + "</a>"
text: "<a href='delete'>" + qsTr("Uninstall this plugin") + "</a>"
font: Theme.tipFont
color: Theme.secondaryTextColor
wrapMode: Text.WordWrap
Expand Down Expand Up @@ -319,7 +319,7 @@ Popup {
pluginsList.model.clear()

for (const plugin of pluginManager.availableAppPlugins) {
pluginsList.model.append({"Uuid":plugin.uuid, "Enabled":pluginManager.isAppPluginEnabled(plugin.uuid), "Name":plugin.name, "Description":plugin.description, "Author":plugin.author, "Icon": plugin.icon})
pluginsList.model.append({"Uuid":plugin.uuid, "Enabled":pluginManager.isAppPluginEnabled(plugin.uuid), "Name":plugin.name, "Description":plugin.description, "Author":plugin.author, "Icon": plugin.icon, "Version": plugin.version})
}
}

Expand Down

0 comments on commit f14df8a

Please sign in to comment.