From 2ae3c4cd7a4d5678f89f9e104571a934418ea265 Mon Sep 17 00:00:00 2001 From: ConfuSomu Date: Mon, 8 Jan 2024 08:45:17 +0100 Subject: Make mastodonpp support configurable --- src/net/instance.cpp | 4 ++++ src/widgets/tab_activity_list.cpp | 15 ++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/net/instance.cpp b/src/net/instance.cpp index c3af86c..6982f64 100644 --- a/src/net/instance.cpp +++ b/src/net/instance.cpp @@ -1,5 +1,7 @@ #include "instance.h" +#ifdef MASTODONPP_BUILD #include "mastodon_instance.h" +#endif #include "src/settings_interface.h" Instance* Instance::create_instance() { @@ -8,8 +10,10 @@ Instance* Instance::create_instance() { Instance* Instance::create_instance(AppSettingsTypes::InstanceType type) { switch (type) { +#ifdef MASTODONPP_BUILD case AppSettingsTypes::InstanceType::MASTODON: return new MastodonInstance; +#endif default: return nullptr; } diff --git a/src/widgets/tab_activity_list.cpp b/src/widgets/tab_activity_list.cpp index faa6138..63d6fbf 100644 --- a/src/widgets/tab_activity_list.cpp +++ b/src/widgets/tab_activity_list.cpp @@ -9,6 +9,7 @@ #include #include #include +#include TabActivityList::TabActivityList(Archive** archive, QWidget* parent) : data_archive(archive), QWidget(parent), ui(new Ui::TabActivityList) @@ -91,11 +92,15 @@ void TabActivityList::actionOpen_URL_triggered(bool checked) { // Really hacky code but works as a PoC and allows testing if (ok and not url.isEmpty()) { Instance* instance = Instance::create_instance(); - APPost* post = instance->get_post_from_url(url); - // Activity will be freed by StatusInfoWidget - APActivity* activity = new APActivity({.object = post}); - status_info_widget->do_process_activity(activity); - delete instance; instance = nullptr; + if (instance) { + APPost* post = instance->get_post_from_url(url); + // Activity will be freed by StatusInfoWidget + APActivity* activity = new APActivity({.object = post}); + status_info_widget->do_process_activity(activity); + delete instance; instance = nullptr; + } else + // Best is to remove option from menu, should be douable if the preprocessor touches .ui files + QMessageBox::critical(this, tr("Open status from URL"), tr("Could not create Instance object.\nPerhaps network support was disabled at compile time?")); } } -- cgit v1.2.3-54-g00ecf