Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: Unified Extensions Subsystem #517

Draft
wants to merge 12 commits into
base: master
Choose a base branch
from
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,7 @@ meson setup _build
ninja -C _build
ninja install -C _build
```

## 👫 Code of Conduct
This project follows the [GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct). Please
mjakeman marked this conversation as resolved.
Show resolved Hide resolved
adhere to it in all project spaces and interactions.
2 changes: 1 addition & 1 deletion build-aux/com.mattjakeman.ExtensionManager.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id" : "com.mattjakeman.ExtensionManager",
"runtime" : "org.gnome.Platform",
"runtime-version" : "45",
"runtime-version" : "46",
"sdk" : "org.gnome.Sdk",
"command" : "extension-manager",
"finish-args" : [
Expand Down
4 changes: 2 additions & 2 deletions data/com.mattjakeman.ExtensionManager.metainfo.xml.in.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-or-later</project_license>
<name>Extension Manager</name>
<summary>Browse, install, and manage GNOME Shell Extensions</summary>
<summary>Install GNOME Extensions</summary>
<content_rating type="oars-1.1" />
<developer id="com.mattjakeman">
<name translatable="no">Matthew Jakeman</name>
</developer>
<description>
<p>A utility for browsing and installing GNOME Shell Extensions.</p>
<p>Browse and install GNOME Shell extensions to customise your desktop.</p>
<p>Features:</p>
<ul>
<li>Browse extensions.gnome.org right inside the app</li>
Expand Down
33 changes: 33 additions & 0 deletions extension-manager.doap
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:gnome="http://api.gnome.org/doap-extensions#"
xmlns="http://usefulinc.com/ns/doap#">

<name xml:lang="en">Extension Manager</name>
<shortdesc xml:lang="en">Install GNOME Extensions</shortdesc>
<homepage rdf:resource="https://github.com/mjakeman/extension-manager" />
<bug-database rdf:resource="https://github.com/mjakeman/extension-manager/issues"/>
<programming-language>C</programming-language>

<maintainer>
<foaf:Person>
<foaf:name>Matthew Jakeman</foaf:name>
<foaf:account>
<foaf:OnlineAccount>
<foaf:accountServiceHomepage rdf:resource="https://github.com"/>
<foaf:accountName>mjakeman</foaf:accountName>
</foaf:OnlineAccount>
</foaf:account>
</foaf:Person>
<foaf:Person>
<foaf:name>Óscar Fernández Díaz</foaf:name>
<foaf:account>
<foaf:OnlineAccount>
<foaf:accountServiceHomepage rdf:resource="https://github.com"/>
<foaf:accountName>oscfdezdz</foaf:accountName>
</foaf:OnlineAccount>
</foaf:account>
</foaf:Person>
</maintainer>
</Project>
2 changes: 1 addition & 1 deletion po/POTFILES
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ src/exm-search-row.blp
src/exm-search-row.c
src/exm-upgrade-assistant.blp
src/exm-upgrade-assistant.c
src/exm-upgrade-result.c
src/exm-unified-data.c
src/exm-utils.c
src/exm-window.blp
src/exm-window.c
Expand Down
71 changes: 65 additions & 6 deletions src/exm-detail-view.blp
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,17 @@ using Gtk 4.0;
using Adw 1;

template $ExmDetailView : Adw.NavigationPage {

title: bind template.data as <$ExmUnifiedData>.name;

Adw.ToolbarView {

[top]
Adw.HeaderBar header_bar {
title-widget: Adw.WindowTitle title {};
title-widget: Adw.WindowTitle title {
title: bind template.data as <$ExmUnifiedData>.name;
subtitle: bind template.data as <$ExmUnifiedData>.uuid;
};
}

content: Adw.BreakpointBin {
Expand Down Expand Up @@ -92,20 +98,67 @@ template $ExmDetailView : Adw.NavigationPage {
styles ["title-1"]
xalign: 0;
ellipsize: end;
label: bind template.data as <$ExmUnifiedData>.name;
}

Gtk.Label ext_author {
styles ["dim-label"]
label: "Author";
xalign: 0;
ellipsize: end;
label: bind template.data as <$ExmUnifiedData>.creator;
}
}

$ExmInstallButton ext_install {
valign: center;
halign: center;
}
Gtk.Stack tools_stack {
Gtk.StackPage {
name: "uninstalled-tools-page";
child: $ExmInstallButton ext_install {
valign: center;
halign: center;
};
}
Gtk.StackPage {
name: "installed-tools-page";
child: Gtk.Box {
spacing: 16;

Gtk.Box {
styles ["linked"]

Gtk.Button delete_btn {
styles ["destructive-action"]

icon-name: "user-trash-symbolic";
valign: center;
halign: center;

action-name: 'page.remove';

tooltip-text: _("Remove the extension");
}

Gtk.Button prefs_btn {

icon-name: "settings-symbolic";
valign: center;
halign: center;

action-name: 'page.open-prefs';

tooltip-text: _("Open extension preferences");
}
}

Gtk.Switch ext_toggle {
valign: center;
active: bind template.extension as <$ExmExtension>.enabled;
sensitive: bind template.extension as <$ExmExtension>.can-change;
state-set => $on_state_changed();
}

};
}
}
}
}

Expand Down Expand Up @@ -145,6 +198,8 @@ template $ExmDetailView : Adw.NavigationPage {
wrap: true;
wrap-mode: word_char;
selectable: true;

label: bind template.data as <$ExmUnifiedData>.description;
}
}

Expand Down Expand Up @@ -175,6 +230,8 @@ template $ExmDetailView : Adw.NavigationPage {
activatable: true;
action-name: "detail.open-homepage";

// subtitle: bind template.data as <$ExmUnifiedData>.homepage;

[suffix]
Gtk.Image {
styles ["dim-label"]
Expand All @@ -192,6 +249,8 @@ template $ExmDetailView : Adw.NavigationPage {
activatable: true;
action-name: "detail.open-extensions";

// subtitle: bind template.data as <$ExmUnifiedData>.link;

[suffix]
Gtk.Image {
styles ["dim-label"]
Expand Down
Loading