]> Nutra Git (v2) - gamesguru/feather.git/commitdiff
plugins: remove reddit
authortobtoht <tob@featherwallet.org>
Tue, 7 May 2024 19:45:57 +0000 (21:45 +0200)
committertobtoht <tob@featherwallet.org>
Tue, 7 May 2024 19:45:57 +0000 (21:45 +0200)
16 files changed:
CMakeLists.txt
src/SettingsDialog.cpp
src/SettingsDialog.ui
src/dialog/AboutDialog.ui
src/plugins/reddit/RedditModel.cpp [deleted file]
src/plugins/reddit/RedditModel.h [deleted file]
src/plugins/reddit/RedditPlugin.cpp [deleted file]
src/plugins/reddit/RedditPlugin.h [deleted file]
src/plugins/reddit/RedditPost.h [deleted file]
src/plugins/reddit/RedditProxyModel.cpp [deleted file]
src/plugins/reddit/RedditProxyModel.h [deleted file]
src/plugins/reddit/RedditWidget.cpp [deleted file]
src/plugins/reddit/RedditWidget.h [deleted file]
src/plugins/reddit/RedditWidget.ui [deleted file]
src/utils/config.cpp
src/utils/config.h

index 7418190e0968342607a66493ff0d38187f33d2c9..6023cfdeb25cf50c3c35b3aa10679d8de07bd9ae 100644 (file)
@@ -31,7 +31,6 @@ option(WITH_PLUGIN_HOME "Include Home tab plugin" ON)
 option(WITH_PLUGIN_TICKERS "Include Tickers Home plugin" ON)
 option(WITH_PLUGIN_CROWDFUNDING "Include Crowdfunding Home plugin" ON)
 option(WITH_PLUGIN_BOUNTIES "Include Bounties Home plugin" ON)
-option(WITH_PLUGIN_REDDIT "Include Reddit Home plugin" ON)
 option(WITH_PLUGIN_REVUO "Include Revuo Home plugin" ON)
 option(WITH_PLUGIN_CALC "Include Calc tab plugin" ON)
 option(WITH_PLUGIN_XMRIG "Include XMRig plugin" ON)
index 03248bddcbc63d637a2dbfd4b231d49f5745a61d..cbdd3d32cd967675f7a48354549dd58d57735ed9 100644 (file)
@@ -352,13 +352,6 @@ void Settings::setupPluginsTab() {
 void Settings::setupMiscTab() {
     // [Block explorer]
     ui->blockExplorerConfigureWidget->setup("Block explorers", Config::blockExplorers, Config::blockExplorer, {"%txid%"});
-
-    // [Reddit frontend]
-    ui->comboBox_redditFrontend->setCurrentIndex(ui->comboBox_redditFrontend->findText(conf()->get(Config::redditFrontend).toString()));
-    connect(ui->comboBox_redditFrontend, QOverload<int>::of(&QComboBox::currentIndexChanged), [this]{
-        QString redditFrontend = ui->comboBox_redditFrontend->currentText();
-        conf()->set(Config::redditFrontend, redditFrontend);
-    });
 }
 
 void Settings::onProxySettingsChanged() {
index 71dece50e8de90ad459f126fd0c7d9f2bb1c19f5..578dfa74f6a932ece96b43ab0b0a733e89d0be8c 100644 (file)
              <item>
               <widget class="UrlListConfigureWidget" name="blockExplorerConfigureWidget" native="true"/>
              </item>
-             <item>
-              <widget class="QLabel" name="label_18">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="text">
-                <string>Reddit frontend:</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QComboBox" name="comboBox_redditFrontend">
-               <item>
-                <property name="text">
-                 <string>old.reddit.com</string>
-                </property>
-               </item>
-               <item>
-                <property name="text">
-                 <string>old.reddittorjg6rue252oqsxryoxengawnmo46qy4kyii5wtqnwfj4ooad.onion</string>
-                </property>
-               </item>
-               <item>
-                <property name="text">
-                 <string>reddit.com</string>
-                </property>
-               </item>
-               <item>
-                <property name="text">
-                 <string>reddittorjg6rue252oqsxryoxengawnmo46qy4kyii5wtqnwfj4ooad.onion</string>
-                </property>
-               </item>
-               <item>
-                <property name="text">
-                 <string>teddit.net</string>
-                </property>
-               </item>
-              </widget>
-             </item>
              <item>
               <spacer name="verticalSpacer_7">
                <property name="orientation">
index 35e6e3140ea035b4c4430f25036df836e37e5428..d5a71627a9a7368393ceb4d60b2ffc38847c7b1b 100644 (file)
        <item row="4" column="0">
         <widget class="QLabel" name="label_5">
          <property name="text">
-          <string>Reddit:</string>
+          <string>Lemmy:</string>
          </property>
         </widget>
        </item>
        <item row="4" column="1">
         <widget class="QLabel" name="label_12">
          <property name="text">
-          <string>/r/FeatherWallet</string>
+          <string>monero.town/c/featherwallet</string>
          </property>
          <property name="textInteractionFlags">
           <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
diff --git a/src/plugins/reddit/RedditModel.cpp b/src/plugins/reddit/RedditModel.cpp
deleted file mode 100644 (file)
index 85e6b44..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-// SPDX-License-Identifier: BSD-3-Clause
-// SPDX-FileCopyrightText: 2020-2024 The Monero Project
-
-#include "RedditModel.h"
-
-RedditModel::RedditModel(QObject *parent)
-    : QAbstractTableModel(parent)
-{
-
-}
-
-void RedditModel::clear() {
-    beginResetModel();
-
-    m_posts.clear();
-
-    endResetModel();
-}
-
-void RedditModel::updatePosts(const QList<QSharedPointer<RedditPost>>& posts) {
-    beginResetModel();
-
-    m_posts.clear();
-    for (const auto& post : posts) {
-        m_posts.push_back(post);
-    }
-
-    endResetModel();
-}
-
-int RedditModel::rowCount(const QModelIndex &parent) const{
-    if (parent.isValid()) {
-        return 0;
-    }
-    return m_posts.count();
-}
-
-int RedditModel::columnCount(const QModelIndex &parent) const
-{
-    if (parent.isValid()) {
-        return 0;
-    }
-    return ModelColumn::COUNT;
-}
-
-QVariant RedditModel::data(const QModelIndex &index, int role) const
-{
-    if (!index.isValid() || index.row() < 0 || index.row() >= m_posts.count())
-        return QVariant();
-
-    QSharedPointer<RedditPost> post = m_posts.at(index.row());
-
-    if(role == Qt::DisplayRole || role == Qt::UserRole) {
-        switch(index.column()) {
-            case Title:
-                return post->title;
-            case Author:
-                return post->author;
-            case Comments: {
-                if (role == Qt::UserRole) {
-                    return post->comments;
-                }
-                return QString::number(post->comments);
-            }
-            default:
-                return QVariant();
-        }
-    }
-    else if (role == Qt::TextAlignmentRole) {
-        switch(index.column()) {
-            case Comments:
-                return Qt::AlignRight;
-            default:
-                return QVariant();
-        }
-    }
-    return QVariant();
-}
-
-QVariant RedditModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
-    if (role != Qt::DisplayRole) {
-        return QVariant();
-    }
-    if (orientation == Qt::Horizontal)
-    {
-        switch(section) {
-            case Title:
-                return QString("Reddit Post");
-            case Author:
-                return QString("Author");
-            case Comments:
-                return QString(" Comments ");
-            default:
-                return QVariant();
-        }
-    }
-    return QVariant();
-}
-
-QSharedPointer<RedditPost> RedditModel::post(int row) {
-    if (row < 0 || row >= m_posts.size()) {
-        qCritical("%s: no reddit post for index %d", __FUNCTION__, row);
-        return QSharedPointer<RedditPost>();
-    }
-
-    return m_posts.at(row);
-}
\ No newline at end of file
diff --git a/src/plugins/reddit/RedditModel.h b/src/plugins/reddit/RedditModel.h
deleted file mode 100644 (file)
index c4db675..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// SPDX-License-Identifier: BSD-3-Clause
-// SPDX-FileCopyrightText: 2020-2024 The Monero Project
-
-#ifndef FEATHER_REDDITMODEL_H
-#define FEATHER_REDDITMODEL_H
-
-#include <QAbstractTableModel>
-#include <QSharedPointer>
-
-#include "RedditPost.h"
-
-class RedditModel : public QAbstractTableModel
-{
-Q_OBJECT
-
-public:
-    enum ModelColumn
-    {
-        Title = 0,
-        Author,
-        Comments,
-        COUNT
-    };
-
-    explicit RedditModel(QObject *parent);
-
-    int rowCount(const QModelIndex &parent) const override;
-    int columnCount(const QModelIndex &parent) const override;
-    QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
-    QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
-
-    void clear();
-    void updatePosts(const QList<QSharedPointer<RedditPost>>& posts);
-
-    QSharedPointer<RedditPost> post(int row);
-
-private:
-    QList<QSharedPointer<RedditPost>> m_posts;
-};
-
-#endif //FEATHER_REDDITMODEL_H
diff --git a/src/plugins/reddit/RedditPlugin.cpp b/src/plugins/reddit/RedditPlugin.cpp
deleted file mode 100644 (file)
index 7556a85..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-// SPDX-License-Identifier: BSD-3-Clause
-// SPDX-FileCopyrightText: 2020-2024 The Monero Project
-
-#include "RedditPlugin.h"
-
-#include "plugins/PluginRegistry.h"
-#include "RedditWidget.h"
-
-RedditPlugin::RedditPlugin()
-{
-}
-
-void RedditPlugin::initialize(Wallet *wallet, QObject *parent) {
-    this->setParent(parent);
-    m_redditWidget = new RedditWidget(nullptr);
-    connect(m_redditWidget, &RedditWidget::setStatusText, this, &Plugin::setStatusText);
-}
-
-QString RedditPlugin::id() {
-    return "reddit";
-}
-
-int RedditPlugin::idx() const {
-    return 30;
-}
-
-QString RedditPlugin::parent() {
-    return "home";
-}
-
-QString RedditPlugin::displayName() {
-    return "Reddit";
-}
-
-QString RedditPlugin::description() {
-    return {};
-}
-
-QString RedditPlugin::icon() {
-    return {};
-}
-
-QStringList RedditPlugin::socketData() {
-    return {"reddit"};
-}
-
-Plugin::PluginType RedditPlugin::type() {
-    return Plugin::PluginType::TAB;
-}
-
-QWidget* RedditPlugin::tab() {
-    return m_redditWidget;
-}
-
-const bool RedditPlugin::registered = [] {
-    PluginRegistry::registerPlugin(RedditPlugin::create());
-    PluginRegistry::getInstance().registerPluginCreator(&RedditPlugin::create);
-    return true;
-}();
diff --git a/src/plugins/reddit/RedditPlugin.h b/src/plugins/reddit/RedditPlugin.h
deleted file mode 100644 (file)
index 0b138eb..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// SPDX-License-Identifier: BSD-3-Clause
-// SPDX-FileCopyrightText: 2020-2024 The Monero Project
-
-#ifndef REDDITPLUGIN_H
-#define REDDITPLUGIN_H
-
-#include "plugins/Plugin.h"
-#include "RedditWidget.h"
-#include "plugins/PluginRegistry.h"
-
-class RedditPlugin : public Plugin {
-    Q_OBJECT
-
-public:
-    explicit RedditPlugin();
-
-    QString id() override;
-    int idx() const override;
-    QString parent() override;
-    QString displayName() override;
-    QString description() override;
-    QString icon() override;
-    QStringList socketData() override;
-    PluginType type() override;
-    QWidget* tab() override;
-
-    void initialize(Wallet *wallet, QObject *parent) override;
-
-    static RedditPlugin* create() { return new RedditPlugin(); }
-
-private:
-    RedditWidget* m_redditWidget = nullptr;
-    static const bool registered;
-};
-
-
-
-
-#endif //REDDITPLUGIN_H
diff --git a/src/plugins/reddit/RedditPost.h b/src/plugins/reddit/RedditPost.h
deleted file mode 100644 (file)
index 030c9ea..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// SPDX-License-Identifier: BSD-3-Clause
-// SPDX-FileCopyrightText: 2020-2024 The Monero Project
-
-#ifndef FEATHER_REDDITPOST_H
-#define FEATHER_REDDITPOST_H
-
-#include <QString>
-
-struct RedditPost {
-    RedditPost(const QString &title, const QString &author, const QString &permalink, int comments)
-            : title(title), author(author), permalink(permalink), comments(comments){};
-
-    QString title;
-    QString author;
-    QString permalink;
-    int comments;
-};
-
-#endif //FEATHER_REDDITPOST_H
diff --git a/src/plugins/reddit/RedditProxyModel.cpp b/src/plugins/reddit/RedditProxyModel.cpp
deleted file mode 100644 (file)
index bbd9c98..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-// SPDX-License-Identifier: BSD-3-Clause
-// SPDX-FileCopyrightText: 2020-2024 The Monero Project
-
-#include "RedditProxyModel.h"
-
-RedditProxyModel::RedditProxyModel(QObject *parent)
-        : QSortFilterProxyModel(parent)
-{
-    setSortRole(Qt::UserRole);
-}
diff --git a/src/plugins/reddit/RedditProxyModel.h b/src/plugins/reddit/RedditProxyModel.h
deleted file mode 100644 (file)
index 4526a9d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// SPDX-License-Identifier: BSD-3-Clause
-// SPDX-FileCopyrightText: 2020-2024 The Monero Project
-
-#ifndef REDDITPROXYMODEL_H
-#define REDDITPROXYMODEL_H
-
-#include <QSortFilterProxyModel>
-
-class RedditProxyModel : public QSortFilterProxyModel
-{
-    Q_OBJECT
-
-public:
-    explicit RedditProxyModel(QObject* parent = nullptr);
-};
-
-#endif //REDDITPROXYMODEL_H
diff --git a/src/plugins/reddit/RedditWidget.cpp b/src/plugins/reddit/RedditWidget.cpp
deleted file mode 100644 (file)
index 8067de7..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-// SPDX-License-Identifier: BSD-3-Clause
-// SPDX-FileCopyrightText: 2020-2024 The Monero Project
-
-#include "RedditWidget.h"
-#include "ui_RedditWidget.h"
-
-#include <QTableWidget>
-
-#include "RedditModel.h"
-#include "utils/Utils.h"
-#include "utils/config.h"
-#include "utils/WebsocketNotifier.h"
-
-RedditWidget::RedditWidget(QWidget *parent)
-        : QWidget(parent)
-        , ui(new Ui::RedditWidget)
-        , m_model(new RedditModel(this))
-        , m_contextMenu(new QMenu(this))
-{
-    ui->setupUi(this);
-
-    m_proxyModel = new RedditProxyModel(this);
-    m_proxyModel->setSourceModel(m_model);
-
-    ui->tableView->setModel(m_proxyModel);
-    ui->tableView->setSortingEnabled(true);
-    ui->tableView->sortByColumn(2, Qt::DescendingOrder);
-    this->setupTable();
-
-    m_contextMenu->addAction("View thread", this, &RedditWidget::linkClicked);
-    m_contextMenu->addAction("Copy link", this, &RedditWidget::copyUrl);
-    connect(ui->tableView, &QHeaderView::customContextMenuRequested, this, &RedditWidget::showContextMenu);
-
-    connect(ui->tableView, &QTableView::doubleClicked, this, &RedditWidget::linkClicked);
-
-    ui->tableView->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
-
-    connect(websocketNotifier(), &WebsocketNotifier::dataReceived, this, [this](const QString& type, const QJsonValue& json) {
-        if (type == "reddit") {
-            QJsonArray reddit_data = json.toArray();
-            QList<QSharedPointer<RedditPost>> l;
-
-            for (auto &&entry: reddit_data) {
-                auto obj = entry.toObject();
-                auto redditPost = new RedditPost(
-                        obj.value("title").toString(),
-                        obj.value("author").toString(),
-                        obj.value("permalink").toString(),
-                        obj.value("comments").toInt());
-                QSharedPointer<RedditPost> r = QSharedPointer<RedditPost>(redditPost);
-                l.append(r);
-            }
-
-            m_model->updatePosts(l);
-        }
-    });
-}
-
-void RedditWidget::linkClicked() {
-    QModelIndex index = m_proxyModel->mapToSource(ui->tableView->currentIndex());
-    auto post = m_model->post(index.row());
-
-    if (post)
-        Utils::externalLinkWarning(this, this->getLink(post->permalink));
-}
-
-void RedditWidget::copyUrl() {
-    QModelIndex index = m_proxyModel->mapToSource(ui->tableView->currentIndex());
-    auto post = m_model->post(index.row());
-
-    if (post) {
-        Utils::copyToClipboard(this->getLink(post->permalink));
-        emit setStatusText("Link copied to clipboard", true, 1000);
-    }
-}
-
-void RedditWidget::setupTable() {
-    ui->tableView->verticalHeader()->setVisible(false);
-    ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
-
-    ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
-    ui->tableView->horizontalHeader()->setSectionResizeMode( 0, QHeaderView::Stretch);
-}
-
-void RedditWidget::showContextMenu(const QPoint &pos) {
-    QModelIndex index = ui->tableView->indexAt(pos);
-        if (!index.isValid()) {
-        return;
-    }
-
-    m_contextMenu->exec(ui->tableView->viewport()->mapToGlobal(pos));
-}
-
-QString RedditWidget::getLink(const QString &permaLink) {
-    QString redditFrontend = conf()->get(Config::redditFrontend).toString();
-    return QString("https://%1%2").arg(redditFrontend, permaLink);
-}
-
-RedditWidget::~RedditWidget() = default;
\ No newline at end of file
diff --git a/src/plugins/reddit/RedditWidget.h b/src/plugins/reddit/RedditWidget.h
deleted file mode 100644 (file)
index 98515a2..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// SPDX-License-Identifier: BSD-3-Clause
-// SPDX-FileCopyrightText: 2020-2024 The Monero Project
-
-#ifndef FEATHER_REDDITWIDGET_H
-#define FEATHER_REDDITWIDGET_H
-
-#include <QItemSelection>
-#include <QMenu>
-#include <QWidget>
-
-#include "RedditModel.h"
-#include "RedditProxyModel.h"
-
-namespace Ui {
-    class RedditWidget;
-}
-
-class RedditWidget : public QWidget
-{
-    Q_OBJECT
-
-public:
-    explicit RedditWidget(QWidget *parent = nullptr);
-    ~RedditWidget();
-
-public slots:
-    void linkClicked();
-
-signals:
-    void setStatusText(const QString &msg, bool override, int timeout);
-
-private:
-    void setupTable();
-    void showContextMenu(const QPoint &pos);
-    void copyUrl();
-    QString getLink(const QString &permaLink);
-
-    QScopedPointer<Ui::RedditWidget> ui;
-    RedditModel* const m_model;
-    RedditProxyModel* m_proxyModel;
-    QMenu *m_contextMenu;
-};
-
-#endif // FEATHER_REDDITWIDGET_H
diff --git a/src/plugins/reddit/RedditWidget.ui b/src/plugins/reddit/RedditWidget.ui
deleted file mode 100644 (file)
index ef63a43..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>RedditWidget</class>
- <widget class="QWidget" name="RedditWidget">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>492</width>
-    <height>409</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <property name="spacing">
-    <number>4</number>
-   </property>
-   <property name="leftMargin">
-    <number>0</number>
-   </property>
-   <property name="topMargin">
-    <number>0</number>
-   </property>
-   <property name="rightMargin">
-    <number>0</number>
-   </property>
-   <property name="bottomMargin">
-    <number>0</number>
-   </property>
-   <item>
-    <widget class="QTableView" name="tableView">
-     <property name="contextMenuPolicy">
-      <enum>Qt::CustomContextMenu</enum>
-     </property>
-     <property name="editTriggers">
-      <set>QAbstractItemView::NoEditTriggers</set>
-     </property>
-     <property name="selectionMode">
-      <enum>QAbstractItemView::SingleSelection</enum>
-     </property>
-     <property name="selectionBehavior">
-      <enum>QAbstractItemView::SelectRows</enum>
-     </property>
-     <property name="sortingEnabled">
-      <bool>false</bool>
-     </property>
-     <attribute name="horizontalHeaderStretchLastSection">
-      <bool>false</bool>
-     </attribute>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
- <slots>
-  <slot>linkClicked()</slot>
- </slots>
-</ui>
index 9e6cc6de78106b84a53214fd2602a42a18435af2..722eb5595ccad2f36578a76a81cf64e3e5b096b7 100644 (file)
@@ -104,7 +104,6 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
                                                                     "http://blkchairbknpn73cfjhevhla7rkp4ed5gg2knctvv7it4lioy22defid.onion/monero/transaction/%txid%",
                                                                     "http://127.0.0.1:31312/tx?id=%txid%"}}},
         {Config::blockExplorer,{QS("blockExplorer"), "https://xmrchain.net/tx/%txid%"}},
-        {Config::redditFrontend, {QS("redditFrontend"), "old.reddit.com"}},
         {Config::bountiesFrontend, {QS("bountiesFrontend"), "https://bounties.monero.social"}},
         {Config::lastPath, {QS("lastPath"), QDir::homePath()}},
 
@@ -130,7 +129,7 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
         {Config::useLocalTor, {QS("useLocalTor"), false}},
         {Config::initSyncThreshold, {QS("initSyncThreshold"), 360}},
 
-        {Config::enabledPlugins, {QS("enabledPlugins"), QStringList{"tickers", "crowdfunding", "bounties", "reddit", "revuo", "calc", "xmrig"}}},
+        {Config::enabledPlugins, {QS("enabledPlugins"), QStringList{"tickers", "crowdfunding", "bounties", "revuo", "calc", "xmrig"}}},
         {Config::restartRequired, {QS("restartRequired"), false}},
 
         {Config::tickers, {QS("tickers"), QStringList{"XMR", "BTC", "XMR/BTC"}}},
index c76e946f1b2ac08ff6760f550e1db9b56efac072..215ec6bcf4a1d914381f850d8347b1f835ed6597 100644 (file)
@@ -127,7 +127,6 @@ public:
         // Misc
         blockExplorers,
         blockExplorer,
-        redditFrontend,
         bountiesFrontend, // unused
         lastPath,