🔧 Use Adw.AboutWindow if available
This commit is contained in:
@@ -320,26 +320,78 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
});
|
||||
|
||||
const sponsors = this._getJSONResource('/credits/sponsors.json');
|
||||
let dialog;
|
||||
|
||||
// We try to use the special Adw.AboutWindow if it is available.
|
||||
if (utils.isADW() && Adw.AboutWindow) {
|
||||
let formatSponsors = (sponsors) => {
|
||||
return sponsors.map(s => {
|
||||
if (s.url == '')
|
||||
return s.name;
|
||||
else
|
||||
return `${s.name} ${s.url}`;
|
||||
});
|
||||
};
|
||||
|
||||
dialog = new Adw.AboutWindow({transient_for: window, modal: true});
|
||||
dialog.set_application_icon('burn-my-windows-symbolic');
|
||||
dialog.set_application_name('Burn-My-Windows');
|
||||
dialog.set_version(`${Me.metadata.version}`);
|
||||
dialog.set_developer_name('Simon Schneegans');
|
||||
dialog.set_issue_url('https://github.com/Schneegans/Burn-My-Windows/issues');
|
||||
if (sponsors.gold.length > 0) {
|
||||
dialog.add_credit_section(_('Gold Sponsors'),
|
||||
formatSponsors(sponsors.gold));
|
||||
}
|
||||
if (sponsors.silver.length > 0) {
|
||||
dialog.add_credit_section(_('Silver Sponsors'),
|
||||
formatSponsors(sponsors.silver));
|
||||
}
|
||||
if (sponsors.bronze.length > 0) {
|
||||
dialog.add_credit_section(_('Bronze Sponsors'),
|
||||
formatSponsors(sponsors.bronze));
|
||||
}
|
||||
if (sponsors.past.length > 0) {
|
||||
dialog.add_credit_section(_('Past Sponsors'),
|
||||
formatSponsors(sponsors.past));
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
let formatSponsors = (sponsors) => {
|
||||
return sponsors.map(s => {
|
||||
if (s.url == '')
|
||||
return s.name;
|
||||
else
|
||||
return `<a href="${s.url}">${s.name}</a>`;
|
||||
});
|
||||
};
|
||||
|
||||
dialog = new Gtk.AboutDialog({transient_for: window, modal: true});
|
||||
dialog.set_logo_icon_name('burn-my-windows-symbolic');
|
||||
dialog.set_program_name(`Burn-My-Windows ${Me.metadata.version}`);
|
||||
dialog.set_authors(['Simon Schneegans']);
|
||||
if (sponsors.gold.length > 0) {
|
||||
dialog.add_credit_section(_('Gold Sponsors'),
|
||||
formatSponsors(sponsors.gold));
|
||||
}
|
||||
if (sponsors.silver.length > 0) {
|
||||
dialog.add_credit_section(_('Silver Sponsors'),
|
||||
formatSponsors(sponsors.silver));
|
||||
}
|
||||
if (sponsors.bronze.length > 0) {
|
||||
dialog.add_credit_section(_('Bronze Sponsors'),
|
||||
formatSponsors(sponsors.bronze));
|
||||
}
|
||||
if (sponsors.past.length > 0) {
|
||||
dialog.add_credit_section(_('Past Sponsors'),
|
||||
formatSponsors(sponsors.past));
|
||||
}
|
||||
}
|
||||
|
||||
const dialog = new Gtk.AboutDialog({transient_for: window, modal: true});
|
||||
dialog.set_logo_icon_name('burn-my-windows-symbolic');
|
||||
dialog.set_program_name(`Burn-My-Windows ${Me.metadata.version}`);
|
||||
dialog.set_website('https://github.com/Schneegans/Burn-My-Windows');
|
||||
dialog.set_authors(['Simon Schneegans']);
|
||||
dialog.set_copyright('© 2022 Simon Schneegans');
|
||||
dialog.set_translator_credits([...translators].join('\n'));
|
||||
if (sponsors.gold.length > 0) {
|
||||
dialog.add_credit_section(_('Gold Sponsors'), sponsors.gold);
|
||||
}
|
||||
if (sponsors.silver.length > 0) {
|
||||
dialog.add_credit_section(_('Silver Sponsors'), sponsors.silver);
|
||||
}
|
||||
if (sponsors.bronze.length > 0) {
|
||||
dialog.add_credit_section(_('Bronze Sponsors'), sponsors.bronze);
|
||||
}
|
||||
if (sponsors.past.length > 0) {
|
||||
dialog.add_credit_section(_('Past Sponsors'), sponsors.past);
|
||||
}
|
||||
dialog.set_copyright('© 2022 Simon Schneegans');
|
||||
dialog.set_website('https://github.com/Schneegans/Burn-My-Windows');
|
||||
dialog.set_license_type(Gtk.License.GPL_3_0);
|
||||
|
||||
if (utils.isGTK4()) {
|
||||
@@ -348,6 +400,7 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
dialog.show_all();
|
||||
}
|
||||
});
|
||||
|
||||
group.add_action(aboutAction);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,27 +1,78 @@
|
||||
{
|
||||
"gold": [
|
||||
"<a href='https://github.com/D3vil0p3r'>D3vil0p3r</a>",
|
||||
"Maxence Sebald",
|
||||
"<a href='https://github.com/dennis1248'>Dennis ten Hoove</a>"
|
||||
{
|
||||
"name": "D3vil0p3r",
|
||||
"url": "https://github.com/D3vil0p3r"
|
||||
},
|
||||
{
|
||||
"name": "Maxence Sebald",
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"name": "Dennis ten Hoove",
|
||||
"url": "https://github.com/dennis1248"
|
||||
}
|
||||
],
|
||||
"silver": [
|
||||
"<a href='https://github.com/danielheadbang'>@danielheadbang</a>",
|
||||
"<a href='https://github.com/MRR-dev'>@MRR-dev</a>",
|
||||
"<a href='https://github.com/castrojo'>Jorge Castro</a>"
|
||||
{
|
||||
"name": "@danielheadbang",
|
||||
"url": "https://github.com/danielheadbang"
|
||||
},
|
||||
{
|
||||
"name": "@MRR-dev",
|
||||
"url": "https://github.com/MRR-dev"
|
||||
},
|
||||
{
|
||||
"name": "Jorge Castro",
|
||||
"url": "https://github.com/castrojo"
|
||||
}
|
||||
],
|
||||
"bronze": [
|
||||
"<a href='https://github.com/AngelBrielez'>Angel Brielez</a>"
|
||||
{
|
||||
"name": "Angel Brielez",
|
||||
"url": "https://github.com/AngelBrielez"
|
||||
}
|
||||
],
|
||||
"past": [
|
||||
"<a href='https://github.com/taconomix'>@taconomix</a>",
|
||||
"<a href='https://github.com/enolive'>@enolive</a>",
|
||||
"<a href='https://github.com/Aggraxis'>@Aggraxis</a>",
|
||||
"<a href='https://twitter.com/tjiiik'>tj3k</a>",
|
||||
"<a href='https://github.com/wolfyrion'>@wolfyrion</a>",
|
||||
"<a href='https://github.com/MrTomRod'>@MrTomRod</a>",
|
||||
"Pouhiou",
|
||||
"DAPREMONT Christophe",
|
||||
"<a href='https://github.com/manero6'>@manero6</a>",
|
||||
"<a href='https://github.com/RickStanley'>@RickStanley</a>"
|
||||
{
|
||||
"name": "@taconomix",
|
||||
"url": "https://github.com/taconomix"
|
||||
},
|
||||
{
|
||||
"name": "@enolive",
|
||||
"url": "https://github.com/enolive"
|
||||
},
|
||||
{
|
||||
"name": "@Aggraxis",
|
||||
"url": "https://github.com/Aggraxis"
|
||||
},
|
||||
{
|
||||
"name": "tj3k",
|
||||
"url": "https://twitter.com/tjiiik"
|
||||
},
|
||||
{
|
||||
"name": "@wolfyrion",
|
||||
"url": "https://github.com/wolfyrion"
|
||||
},
|
||||
{
|
||||
"name": "@MrTomRod",
|
||||
"url": "https://github.com/MrTomRod"
|
||||
},
|
||||
{
|
||||
"name": "Pouhiou",
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"name": "DAPREMONT Christophe",
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"name": "@manero6",
|
||||
"url": "https://github.com/manero6"
|
||||
},
|
||||
{
|
||||
"name": "@RickStanley",
|
||||
"url": "https://github.com/RickStanley"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user