aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorConfuSomu2024-01-08 08:45:17 +0100
committerConfuSomu2024-01-08 08:45:17 +0100
commit2ae3c4cd7a4d5678f89f9e104571a934418ea265 (patch)
tree4d39af7381df4db44db6a0b20b88c083a80ef3a3 /src
parent58240fa2e1ac4234cf67374349ce606f1b6df643 (diff)
downloadActorViewer-2ae3c4cd7a4d5678f89f9e104571a934418ea265.tar
ActorViewer-2ae3c4cd7a4d5678f89f9e104571a934418ea265.tar.gz
ActorViewer-2ae3c4cd7a4d5678f89f9e104571a934418ea265.zip
Make mastodonpp support configurable
Diffstat (limited to 'src')
-rw-r--r--src/net/instance.cpp4
-rw-r--r--src/widgets/tab_activity_list.cpp15
2 files changed, 14 insertions, 5 deletions
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 <QRandomGenerator>
#include <QClipboard>
#include <QMimeData>
+#include <QMessageBox>
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?"));
}
}