Skip to content

Commit be53ad9

Browse files
committed
Add in-app links to professional services and donations
- Add Help menu items "Professional services" (Art Plus Code) and "Support the project", with matching links in the About dialog. - Replace the redundant "Technical support" item; reorganize the Help menu into free-help / community / commercial groups. - Add SERVICES_URL and DONATE_URL string constants (MM.h/MM.cpp). - Consolidate funding: FUNDING.yml points to GitHub Sponsors (mapmapteam) as the primary destination, keeping Open Collective as a secondary option.
1 parent cad62dc commit be53ad9

6 files changed

Lines changed: 50 additions & 24 deletions

File tree

.github/FUNDING.yml

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,5 @@
1-
# These are supported funding model platforms
2-
3-
github: [ @artpluscode, @mapmapteam ] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4-
patreon: # Replace with a single Patreon username
5-
open_collective: # Replace with a single Open Collective username
6-
ko_fi: # Replace with a single Ko-fi username
7-
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8-
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9-
liberapay: # Replace with a single Liberapay username
10-
issuehunt: # Replace with a single IssueHunt username
11-
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12-
polar: # Replace with a single Polar username
13-
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
14-
thanks_dev: # Replace with a single thanks.dev username
15-
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
1+
# Funding for MapMap.
2+
# GitHub Sponsors (the project account) is the primary destination.
3+
# Open Collective is kept for organisations that need a receipt/invoice.
4+
github: [mapmapteam]
5+
open_collective: mapmap

src/core/MM.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,15 @@ const QString MM::COPYRIGHT_OWNERS = "Alexandre Quessy, Sofian Audry, Dame Diong
2828
const QString MM::ORGANIZATION_NAME = "MapMap";
2929
const QString MM::ORGANIZATION_DOMAIN = "artpluscode.com";
3030
const QString MM::WEBSITE_URL = "https://mapmapteam.github.io";
31+
// Commercial services landing page operated by Art Plus Code, the company that
32+
// sponsors MapMap. This is the high-intent lead-generation entry point for paid
33+
// work (installations, custom development, integration, training, support).
34+
const QString MM::SERVICES_URL = "https://www.artpluscode.com/en/services/video-mapping-projection/";
35+
// Primary, consolidated destination for project donations. GitHub Sponsors is
36+
// the simplest path for the typical donor (already on GitHub); the project's
37+
// Open Collective (opencollective.com/mapmap) remains for organisations that
38+
// need a receipt.
39+
const QString MM::DONATE_URL = "https://github.com/sponsors/mapmapteam";
3140
const QString MM::FILE_EXTENSION = "mmp";
3241
const QString MM::VIDEO_FILES_FILTER = "*.mov *.mp4 *.avi *.ogg *.ogv *.mpeg *.mpeg1 *.mpeg4 *.mpg *.mpg2 *.mp2 *.mjpq *.mjp *.wmv *.webm *sock";
3342
const QString MM::IMAGE_FILES_FILTER = "*.jpg *.jpeg *.gif *.png *.tiff *.tif *.bmp";

src/core/MM.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ class MM
5656
static const QString ORGANIZATION_NAME;
5757
static const QString ORGANIZATION_DOMAIN;
5858
static const QString WEBSITE_URL;
59+
static const QString SERVICES_URL;
60+
static const QString DONATE_URL;
5961
static const QString FILE_EXTENSION;
6062
static const QString VIDEO_FILES_FILTER;
6163
static const QString IMAGE_FILES_FILTER;

src/gui/AboutDialog.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,14 @@ void AboutDialog::createAboutTab()
104104
// Visit our website for more information
105105
QString projectWebsiteText = "<p>" + tr("See the ") + QString("<a href=\"%1\">").arg(MM::WEBSITE_URL) +
106106
tr("%1 website").arg(MM::APPLICATION_NAME) + "</a> for more information on this software.</p>";
107+
// Sponsor + commercial services. MapMap is the funnel; Art Plus Code is the
108+
// business. Keep the two calls to action distinct (services vs. donation).
109+
QString servicesText = "<p>" + tr("%1 is developed and sponsored by Art Plus Code. "
110+
"Need a custom video mapping installation, a new feature, integration or training? ")
111+
.arg(MM::APPLICATION_NAME)
112+
+ QString("<a href=\"%1\">").arg(MM::SERVICES_URL) + tr("Hire us") + "</a>.</p>";
113+
QString supportText = "<p>" + tr("Enjoying %1? ").arg(MM::APPLICATION_NAME)
114+
+ QString("<a href=\"%1\">").arg(MM::DONATE_URL) + tr("Support the project") + "</a>.</p>";
107115

108116
// Append texts
109117
QString aboutText;
@@ -112,6 +120,8 @@ void AboutDialog::createAboutTab()
112120
aboutText.append(licenseNoticeText);
113121
aboutText.append(aboutMappingText);
114122
aboutText.append(projectWebsiteText);
123+
aboutText.append(servicesText);
124+
aboutText.append(supportText);
115125

116126
// Set about text
117127
aboutTextBrowser->setText(aboutText);

src/gui/MainWindow.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2365,9 +2365,14 @@ void MainWindow::createActions()
23652365
// Bug report
23662366
bugReportAction = new QAction(tr("Report an issue"), this);
23672367
connect(bugReportAction, SIGNAL(triggered()), this, SLOT(reportBug()));
2368-
// Support
2369-
supportAction = new QAction(tr("Technical support"), this);
2370-
connect(supportAction, SIGNAL(triggered()), this, SLOT(technicalSupport()));
2368+
// Professional services & custom development by Art Plus Code (sponsor).
2369+
servicesAction = new QAction(tr("Professional services && custom development…"), this);
2370+
servicesAction->setToolTip(tr("Hire Art Plus Code for video mapping installations, custom features, integration and training"));
2371+
connect(servicesAction, SIGNAL(triggered()), this, SLOT(professionalServices()));
2372+
// Support the project (donations, consolidated on Open Collective).
2373+
donateAction = new QAction(tr("Support the project (donate)…"), this);
2374+
donateAction->setToolTip(tr("Help fund MapMap's ongoing development"));
2375+
connect(donateAction, SIGNAL(triggered()), this, SLOT(donate()));
23712376
// Documentation
23722377
docAction = new QAction(tr("Documentation"), this);
23732378
connect(docAction, SIGNAL(triggered()), this, SLOT(documentation()));
@@ -2526,9 +2531,12 @@ void MainWindow::createMenus()
25262531
helpMenu = menuBar->addMenu(tr("&Help"));
25272532
helpMenu->addAction(docAction);
25282533
helpMenu->addAction(shortcutAction);
2529-
helpMenu->addAction(feedbackAction);
2530-
helpMenu->addAction(supportAction);
2534+
helpMenu->addSeparator();
25312535
helpMenu->addAction(bugReportAction);
2536+
helpMenu->addAction(feedbackAction);
2537+
helpMenu->addSeparator();
2538+
helpMenu->addAction(servicesAction);
2539+
helpMenu->addAction(donateAction);
25322540
helpMenu->addSeparator();
25332541
helpMenu->addAction(aboutAction);
25342542

src/gui/MainWindow.h

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,15 @@ private slots:
158158
void sendFeedback() {
159159
QDesktopServices::openUrl(QUrl("mailto:mapmap@artpluscode.com"));
160160
}
161-
// Technical support
162-
void technicalSupport() {
163-
QDesktopServices::openUrl(QUrl(MM::WEBSITE_URL));
161+
// Professional services and custom development by Art Plus Code, the company
162+
// that sponsors MapMap (video mapping installations, custom features,
163+
// integration, training and paid support).
164+
void professionalServices() {
165+
QDesktopServices::openUrl(QUrl(MM::SERVICES_URL));
166+
}
167+
// Support the project with a donation (consolidated on Open Collective).
168+
void donate() {
169+
QDesktopServices::openUrl(QUrl(MM::DONATE_URL));
164170
}
165171
// Report an issues
166172
void reportBug() {
@@ -472,7 +478,8 @@ public slots:
472478

473479
// help actions
474480
QAction *bugReportAction;
475-
QAction *supportAction;
481+
QAction *servicesAction;
482+
QAction *donateAction;
476483
QAction *docAction;
477484
QAction *feedbackAction;
478485
QAction *shortcutAction;

0 commit comments

Comments
 (0)