]> Nutra Git (v2) - gamesguru/feather.git/commitdiff
main: remove donations
authortobtoht <tob@featherwallet.org>
Thu, 17 Jul 2025 09:11:14 +0000 (11:11 +0200)
committertobtoht <tob@featherwallet.org>
Sun, 3 Aug 2025 17:27:12 +0000 (19:27 +0200)
CMakeLists.txt
README.md
contrib/guix/libexec/build.sh
external/feather-docs
src/MainWindow.cpp
src/MainWindow.h
src/MainWindow.ui
src/SendWidget.cpp
src/constants.h
src/libwalletqt/Wallet.cpp
src/libwalletqt/Wallet.h

index fb53063e0b347a478353b978a8c8491a477cb789..31a7872fed962189d12068ea1eaf3fc093724cf9 100644 (file)
@@ -24,7 +24,6 @@ option(TOR_DIR "Directory containing Tor binaries to embed inside Feather" OFF)
 option(CHECK_UPDATES "Enable checking for application updates" OFF)
 option(PLATFORM_INSTALLER "Built-in updater fetches installer (windows-only)" OFF)
 option(USE_DEVICE_TREZOR "Trezor support compilation" ON)
-option(DONATE_BEG "Prompt donation window every once in a while" OFF)
 option(WITH_SCANNER "Enable webcam QR scanner" ON)
 option(STACK_TRACE "Dump stack trace on crash (Linux only)" OFF)
 
index f8969507cc0b383282468c857c2c5f4121b0bb08..ea3ef180789e714145a74bebe5ea82c4034ec572 100644 (file)
--- a/README.md
+++ b/README.md
@@ -53,14 +53,6 @@ For information on how Feather is maintained, see: [MAINTENANCE.md](https://gith
 
 To report a security vulnerability, see: [SECURITY.md](https://github.com/feather-wallet/feather/blob/master/SECURITY.md)
 
-## Support
-
-Feather is funded entirely through donations. We don't take a cut from transaction fees and make no money from exchange integrations.
-
-Donations help pay for hosting, build servers, domain names, e-mail and other recurring costs. Any amount helps.
-
-`47ntfT2Z5384zku39pTM6hGcnLnvpRYW2Azm87GiAAH2bcTidtq278TL6HmwyL8yjMeERqGEBs3cqC8vvHPJd1cWQrGC65f`
-
 ## License
 
 Feather is free and open-source software, [licensed under BSD-3](https://raw.githubusercontent.com/feather-wallet/feather/master/LICENSE).
index 7a939c728047a10685f48d7c03963f64f37ab5d7..7383d5c7a6b8a3e31d99d28b70c814917eb15666 100755 (executable)
@@ -289,7 +289,7 @@ export PATH="${BASEPREFIX}/${HOST}/native/bin:${PATH}"
 
 
     # Set appropriate CMake options for build type
-    CMAKEVARS="-DWITH_SCANNER=On -DCHECK_UPDATES=On -DSELF_CONTAINED=On -DDONATE_BEG=On -DFEATHER_TARGET_TRIPLET=${HOST} -DWITH_PLUGIN_REDDIT=Off"
+    CMAKEVARS="-DWITH_SCANNER=On -DCHECK_UPDATES=On -DSELF_CONTAINED=On -DFEATHER_TARGET_TRIPLET=${HOST} -DWITH_PLUGIN_REDDIT=Off"
 
     if [[ -n "${TAG}" ]]; then
         CMAKEVARS+=" -DOFFICIAL_BUILD=On"
index 39397f45347131ab87a4ae322b949fd00bd0fe80..08d68bf5c49a7fe82733106679055923d18d811b 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 39397f45347131ab87a4ae322b949fd00bd0fe80
+Subproject commit 08d68bf5c49a7fe82733106679055923d18d811b
index 656e24e8812217a61a3100f2f893caa73ec7278e..6a2d6b80368eeea58d95b0e776fce0173e06af23 100644 (file)
@@ -120,10 +120,6 @@ MainWindow::MainWindow(WindowManager *windowManager, Wallet *wallet, QWidget *pa
     connect(&appData()->prices, &Prices::fiatPricesUpdated, this, &MainWindow::updateBalance);
     connect(&appData()->prices, &Prices::cryptoPricesUpdated, this, &MainWindow::updateBalance);
 
-#ifdef DONATE_BEG
-    this->donationNag();
-#endif
-
     connect(m_windowManager->eventFilter, &EventFilter::userActivity, this, &MainWindow::userActivity);
     connect(&m_checkUserActivity, &QTimer::timeout, this, &MainWindow::checkUserActivity);
     m_checkUserActivity.setInterval(5000);
@@ -407,7 +403,6 @@ void MainWindow::initMenu() {
 #endif
 
     connect(ui->actionOfficialWebsite,   &QAction::triggered, [this](){Utils::externalLinkWarning(this, "https://featherwallet.org");});
-    connect(ui->actionDonate_to_Feather, &QAction::triggered, this, &MainWindow::donateButtonClicked);
     connect(ui->actionDocumentation,     &QAction::triggered, this, &MainWindow::onShowDocumentation);
     connect(ui->actionReport_bug,        &QAction::triggered, this, &MainWindow::onReportBug);
     connect(ui->actionShow_debug_info,   &QAction::triggered, this, &MainWindow::showDebugInfo);
@@ -514,10 +509,6 @@ void MainWindow::initWalletContext() {
     connect(m_wallet, &Wallet::deviceButtonRequest, this, &MainWindow::onDeviceButtonRequest);
     connect(m_wallet, &Wallet::deviceButtonPressed, this, &MainWindow::onDeviceButtonPressed);
     connect(m_wallet, &Wallet::deviceError,         this, &MainWindow::onDeviceError);
-
-    connect(m_wallet, &Wallet::donationSent,        this, []{
-        conf()->set(Config::donateBeg, -1);
-    });
     
     connect(m_wallet, &Wallet::multiBroadcast,      this, &MainWindow::onMultiBroadcast);
 }
@@ -1288,11 +1279,6 @@ void MainWindow::changeEvent(QEvent* event)
     }
 }
 
-void MainWindow::donateButtonClicked() {
-    m_sendWidget->fill(constants::donationAddress, constants::donationDescription);
-    ui->tabWidget->setCurrentIndex(this->findTab("Send"));
-}
-
 void MainWindow::showHistoryTab() {
     this->raise();
     ui->tabWidget->setCurrentIndex(this->findTab("History"));
@@ -1776,32 +1762,6 @@ void MainWindow::updateTitle() {
     this->setWindowTitle(title);
 }
 
-void MainWindow::donationNag() {
-    if (m_wallet->nettype() != NetworkType::Type::MAINNET)
-        return;
-
-    if (m_wallet->viewOnly())
-        return;
-
-    if (m_wallet->balanceAll() == 0)
-        return;
-
-    auto donationCounter = conf()->get(Config::donateBeg).toInt();
-    if (donationCounter == -1)
-        return;
-
-    donationCounter++;
-    if (donationCounter % constants::donationBoundary == 0) {
-        auto msg = "Feather development is funded entirely through donations.\n\nPlease consider supporting "
-                   "the project. Donate any amount to remove this reminder.";
-        int ret = QMessageBox::information(this, "Donate to Feather", msg, QMessageBox::Yes, QMessageBox::No);
-        if (ret == QMessageBox::Yes) {
-            this->donateButtonClicked();
-        }
-    }
-    conf()->set(Config::donateBeg, donationCounter);
-}
-
 void MainWindow::addToRecentlyOpened(QString keysFile) {
     auto recent = conf()->get(Config::recentlyOpenedWallets).toList();
 
index 666c0a14c9f236b46b8196a877cfdb1be77ee2f3..c44270d32dd8a91bdf243ddbc57a68875913dd7f 100644 (file)
@@ -152,7 +152,6 @@ private slots:
     void showAddressChecker();
     void showURDialog();
     
-    void donateButtonClicked();
     void payToMany();
     void showHistoryTab();
     void skinChanged(const QString &skinName);
index 753e850385e56bf7b950bc6b01fea4bb3facc4bd..9a349d084e07ffd3121a4a4b3e613d3054d8494a 100644 (file)
     <addaction name="actionDocumentation"/>
     <addaction name="actionReport_bug"/>
     <addaction name="actionShow_debug_info"/>
-    <addaction name="separator"/>
-    <addaction name="actionDonate_to_Feather"/>
    </widget>
    <widget class="QMenu" name="menuView">
     <property name="title">
index f60229b27b9b8cfab668e5a857e271ce077a530e..e0ce2dea4c55f593c5852ba275398cf01ac7db0b 100644 (file)
@@ -94,11 +94,6 @@ void SendWidget::addressEdited() {
     }
 
     ui->btn_openAlias->setVisible(ui->lineAddress->isOpenAlias());
-
-    // Clear donation description if address no longer matches
-    if (ui->lineDescription->text() == constants::donationDescription && ui->lineAddress->text() != constants::donationAddress) {
-        ui->lineDescription->clear();
-    }
 }
 
 void SendWidget::amountEdited(const QString &text) {
index abbbffffdf1abc70259acaf989d538e32bdf3413..567cc143c3a98c2555124fd7f66443e07a5cc7ec 100644 (file)
@@ -19,11 +19,6 @@ namespace constants
     const quint64 kdfRounds = 1;
 
     const QString seedLanguage = "English"; // todo: move me
-
-    // donation constants
-    const QString donationAddress = "47ntfT2Z5384zku39pTM6hGcnLnvpRYW2Azm87GiAAH2bcTidtq278TL6HmwyL8yjMeERqGEBs3cqC8vvHPJd1cWQrGC65f";
-    const QString donationDescription = "Donation to the Feather development team";
-    const int donationBoundary = 25;
 }
 
 #endif //FEATHER_CONSTANTS_H
index fb693f0c5b7e15f3eae550e7543b7ed50880d7cd..c26e40d99a8e6aca7dc12d305a046c5914ebabe1 100644 (file)
@@ -957,12 +957,6 @@ void Wallet::onTransactionCreated(Monero::PendingTransaction *mtx, const QVector
 
     PendingTransaction *tx = new PendingTransaction(mtx, this);
 
-    for (auto &addr : address) {
-        if (addr == constants::donationAddress) {
-            this->donationSending = true;
-        }
-    }
-
     // tx created, but not sent yet. ask user to verify first.
     emit transactionCreated(tx, address);
 }
@@ -1014,12 +1008,6 @@ void Wallet::onTransactionCommitted(bool success, PendingTransaction *tx, const
         // Let MainWindow handle this
         emit multiBroadcast(txHexMap);
     }
-
-    // this tx was a donation to Feather, stop our nagging
-    if (this->donationSending) {
-        this->donationSending = false;
-        emit donationSent();
-    }
 }
 
 void Wallet::disposeTransaction(PendingTransaction *t) {
index 2a658f140f5834d935a11aa8cee226f9517745c1..20d21af496352baf59fd8d88530ad23c43d0c5a9 100644 (file)
@@ -463,7 +463,6 @@ signals:
 
     void transactionCreated(PendingTransaction *tx, const QVector<QString> &address);
 
-    void donationSent();
     void walletRefreshed();
 
     void initiateTransaction();
@@ -525,7 +524,6 @@ private:
     FutureScheduler m_scheduler;
 
     bool m_useSSL;
-    bool donationSending = false;
     bool m_newWallet = false;
     bool m_forceKeyImageSync = false;