From 6a1d8bbc876a65583085ddb4c3debd6bae75870a Mon Sep 17 00:00:00 2001
From: David Helkowski
Date: Thu, 22 Jan 2026 18:48:06 +0900
Subject: [PATCH] Refactor About dialog by removing contributor information and
reducing height of the dialog. Update README.md to clarify the fork's source
and upstream repository links.
---
README.md | 14 +++--
src/dialogs/about.cpp | 127 ++----------------------------------------
src/dialogs/about.h | 16 ------
src/dialogs/about.ui | 15 +----
4 files changed, 17 insertions(+), 155 deletions(-)
diff --git a/README.md b/README.md
index 50fd092bc..095b68d25 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Strawberry (macOS-focused fork)
-This repository is a **macOS-focused fork** of the upstream Strawberry Music Player project originally created and maintained by **Jonas Kvinge** (itself originally forked from Clementine).
+This repository is a **macOS-focused fork** of upstream Strawberry.
The goal of this fork is to make Strawberry **build cleanly and repeatably on macOS**, with:
@@ -11,7 +11,13 @@ The goal of this fork is to make Strawberry **build cleanly and repeatably on ma
## Upstream vs this fork (macOS distribution)
-Upstream Strawberry is free/open-source, but upstream’s **macOS binaries** may be distributed via a **paid-access channel** depending on the release period and policy.
+Upstream Strawberry is where ongoing development happens:
+
+- Upstream: `https://github.com/strawberrymusicplayer/strawberry`
+
+This fork’s source (the code you are building here):
+
+- Fork: `https://gitea.dryark.com/dryark/strawberry`
This fork is intended for people who want to:
@@ -101,9 +107,9 @@ Also install GStreamer plugins **base**, **good**, and optionally **bad**, **ugl
## :wrench: Build from Source
-**Get the code:**
+**Get the code (this fork):**
- git clone --recursive https://github.com/strawberrymusicplayer/strawberry
+ git clone --recursive https://gitea.dryark.com/dryark/strawberry
**Build and install:**
diff --git a/src/dialogs/about.cpp b/src/dialogs/about.cpp
index 143624a31..50c4b734b 100644
--- a/src/dialogs/about.cpp
+++ b/src/dialogs/about.cpp
@@ -31,7 +31,6 @@
#include
#include
#include
-#include
#include "about.h"
#include "ui_about.h"
@@ -44,52 +43,6 @@ About::About(QWidget *parent) : QDialog(parent), ui_{} {
setWindowFlags(windowFlags()|Qt::WindowStaysOnTopHint);
setWindowTitle(tr("About Strawberry"));
- strawberry_authors_ \
- << Person(u"Jonas Kvinge"_s);
-
- strawberry_contributors_ \
- << Person(u"Gavin D. Howard"_s)
- << Person(u"Martin Delille"_s)
- << Person(u"Roman Lebedev"_s)
- << Person(u"Daniel Ostertag"_s)
- << Person(u"Gustavo L Conte"_s);
-
- clementine_authors_
- << Person(u"David Sansome"_s)
- << Person(u"John Maguire"_s)
- << Person(u"Paweł Bara"_s)
- << Person(u"Arnaud Bienner"_s);
-
- clementine_contributors_ \
- << Person(u"Jakub Stachowski"_s)
- << Person(u"Paul Cifarelli"_s)
- << Person(u"Felipe Rivera"_s)
- << Person(u"Alexander Peitz"_s)
- << Person(u"Andreas Muttscheller"_s)
- << Person(u"Mark Furneaux"_s)
- << Person(u"Florian Bigard"_s)
- << Person(u"Alex Bikadorov"_s)
- << Person(u"Mattias Andersson"_s)
- << Person(u"Alan Briolat"_s)
- << Person(u"Arun Narayanankutty"_s)
- << Person(u"Bartłomiej Burdukiewicz"_s)
- << Person(u"Andre Siviero"_s)
- << Person(u"Santiago Gil"_s)
- << Person(u"Tyler Rhodes"_s)
- << Person(u"Vikram Ambrose"_s)
- << Person(u"David Guillen"_s)
- << Person(u"Krzysztof Sobiecki"_s)
- << Person(u"Valeriy Malov"_s)
- << Person(u"Nick Lanham"_s);
-
- strawberry_thanks_ \
- << Person(u"Mark Kretschmann"_s)
- << Person(u"Max Howell"_s)
- << Person(u"Artur Rona"_s)
- << Person(u"Robert-André Mauchin"_s)
- << Person(u"Thomas Pierson"_s)
- << Person(u"Fabio Loli"_s);
-
QFont title_font;
title_font.setBold(true);
title_font.setPointSize(title_font.pointSize() + 4);
@@ -97,8 +50,6 @@ About::About(QWidget *parent) : QDialog(parent), ui_{} {
ui_.label_title->setFont(title_font);
ui_.label_title->setText(windowTitle());
ui_.label_text->setText(MainHtml());
- ui_.text_contributors->document()->setDefaultStyleSheet(QStringLiteral("a {color: %1; }").arg(palette().text().color().name()));
- ui_.text_contributors->setText(ContributorsHtml());
ui_.buttonBox->button(QDialogButtonBox::Close)->setShortcut(QKeySequence::Close);
@@ -113,83 +64,17 @@ QString About::MainHtml() const {
ret += "
"_L1;
ret += ""_L1;
- ret += tr("Strawberry is a music player and music collection organizer.");
- ret += "
"_L1;
- ret += tr("It is a fork of Clementine released in 2018 aimed at music collectors and audiophiles.");
+ ret += tr("Fork of %1.").arg(QStringLiteral("Clementine").arg(palette().text().color().name()));
ret += "
"_L1;
ret += ""_L1;
- ret += tr("Strawberry is free software released under GPL. The source code is available on %1").arg(QStringLiteral("GitHub.").arg(palette().text().color().name()));
- ret += "
"_L1;
- ret += tr("You should have received a copy of the GNU General Public License along with this program. If not, see %1").arg(QStringLiteral("http://www.gnu.org/licenses/").arg(palette().text().color().name()));
+ ret += tr("Source code: %1").arg(QStringLiteral("gitea.dryark.com/dryark/strawberry").arg(palette().text().color().name()));
+ ret += "
"_L1;
+
+ ret += ""_L1;
+ ret += tr("License: %1").arg(QStringLiteral("GPLv3").arg(palette().text().color().name()));
ret += "
"_L1;
return ret;
}
-
-QString About::ContributorsHtml() const {
-
- QString ret;
-
- ret += ""_L1;
- ret += ""_L1;
- ret += tr("Author and maintainer");
- ret += ""_L1;
- for (const Person &person : strawberry_authors_) {
- ret += "
"_L1 + PersonToHtml(person);
- }
- ret += "
"_L1;
-
- ret += ""_L1;
- ret += ""_L1;
- ret += tr("Contributors");
- ret += ""_L1;
- for (const Person &person : strawberry_contributors_) {
- ret += "
"_L1 + PersonToHtml(person);
- }
- ret += "
"_L1;
-
- ret += ""_L1;
- ret += ""_L1;
- ret += tr("Clementine authors");
- ret += ""_L1;
- for (const Person &person : clementine_authors_) {
- ret += "
"_L1 + PersonToHtml(person);
- }
- ret += "
"_L1;
-
- ret += ""_L1;
- ret += ""_L1;
- ret += tr("Clementine contributors");
- ret += ""_L1;
- for (const Person &person : clementine_contributors_) {
- ret += "
"_L1 + PersonToHtml(person);
- }
- ret += "
"_L1;
-
- ret += ""_L1;
- ret += ""_L1;
- ret += tr("Thanks to");
- ret += ""_L1;
- for (const Person &person : strawberry_thanks_) {
- ret += "
"_L1 + PersonToHtml(person);
- }
- ret += "
"_L1;
-
- ret += ""_L1;
- ret += tr("Thanks to all the other Amarok and Clementine contributors.");
- ret += "
"_L1;
- return ret;
-
-}
-
-QString About::PersonToHtml(const Person &person) {
-
- if (person.email.isEmpty()) {
- return person.name;
- }
-
- return QStringLiteral("%1 <%3>").arg(person.name, person.email, person.email);
-
-}
diff --git a/src/dialogs/about.h b/src/dialogs/about.h
index dc7e734a7..a70f14b74 100644
--- a/src/dialogs/about.h
+++ b/src/dialogs/about.h
@@ -26,7 +26,6 @@
#include
#include
-#include
#include
#include "ui_about.h"
@@ -40,25 +39,10 @@ class About : public QDialog {
explicit About(QWidget *parent = nullptr);
private:
- struct Person {
- explicit Person(const QString &n, const QString &e = QString()) : name(n), email(e) {}
- bool operator<(const Person &other) const { return name < other.name; }
- QString name;
- QString email;
- };
-
QString MainHtml() const;
- QString ContributorsHtml() const;
- static QString PersonToHtml(const Person &person);
private:
Ui::About ui_;
-
- QList strawberry_authors_;
- QList strawberry_contributors_;
- QList strawberry_thanks_;
- QList clementine_authors_;
- QList clementine_contributors_;
};
#endif // ABOUT_H
diff --git a/src/dialogs/about.ui b/src/dialogs/about.ui
index a3980aa18..9db7532de 100644
--- a/src/dialogs/about.ui
+++ b/src/dialogs/about.ui
@@ -7,7 +7,7 @@
0
0
500
- 500
+ 320
@@ -149,19 +149,6 @@
- -
-
-
-
- 0
- 200
-
-
-
- true
-
-
-
-