1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
Description: fix a FTBFS
Author: Exeldro <exelsor@hotmail.com>
Origin: https://github.com/exeldro/obs-scene-notes-dock/commit/db873c5
Bug: https://github.com/exeldro/obs-scene-notes-dock/issues/14
Bug-Debian: https://bugs.debian.org/1060974
Last-Update: 2024-05-10
Index: obs-scene-notes-dock/scene-notes-dock.cpp
===================================================================
--- obs-scene-notes-dock.orig/scene-notes-dock.cpp
+++ obs-scene-notes-dock/scene-notes-dock.cpp
@@ -22,6 +22,9 @@ OBS_DECLARE_MODULE()
OBS_MODULE_AUTHOR("Exeldro");
OBS_MODULE_USE_DEFAULT_LOCALE("scene-notes-dock", "en-US")
+#define QT_UTF8(str) QString::fromUtf8(str)
+#define QT_TO_UTF8(str) str.toUtf8().constData()
+
bool obs_module_load()
{
blog(LOG_INFO, "[Scene Notes Dock] loaded version %s", PROJECT_VERSION);
@@ -29,7 +32,22 @@ bool obs_module_load()
const auto main_window =
static_cast<QMainWindow *>(obs_frontend_get_main_window());
obs_frontend_push_ui_translation(obs_module_get_string);
- obs_frontend_add_dock(new SceneNotesDock(main_window));
+ auto dockContents = new SceneNotesDock(main_window);
+
+#if LIBOBS_API_VER >= MAKE_SEMANTIC_VERSION(30, 0, 0)
+ obs_frontend_add_dock_by_id(
+ "SceneNotesDock", obs_module_text("SceneNotes"), dockContents);
+#else
+ const auto dock = new QDockWidget(main_window);
+ dock->setFeatures(QDockWidget::DockWidgetMovable |
+ QDockWidget::DockWidgetFloatable);
+ dock->setWindowTitle(QT_UTF8(obs_module_text("SceneNotes")));
+ dock->setObjectName("SceneNotesDock");
+ dock->setFloating(true);
+ dock->hide();
+ dock->setWidget(dockContents);
+ obs_frontend_add_dock(dock);
+#endif
obs_frontend_pop_ui_translation();
return true;
@@ -47,9 +65,6 @@ MODULE_EXPORT const char *obs_module_nam
return obs_module_text("SceneNotesDock");
}
-#define QT_UTF8(str) QString::fromUtf8(str)
-#define QT_TO_UTF8(str) str.toUtf8().constData()
-
static void frontend_event(enum obs_frontend_event event, void *data)
{
if (event == OBS_FRONTEND_EVENT_SCENE_CHANGED ||
@@ -158,7 +173,7 @@ static bool StopAutoScrollPressed(void *
}
SceneNotesDock::SceneNotesDock(QWidget *parent)
- : QDockWidget(parent),
+ : QWidget(parent),
show_preview(config_get_bool(obs_frontend_get_global_config(),
"SceneNotesDock", "ShowPreview")),
textEdit(new QTextEdit(this)),
@@ -174,19 +189,11 @@ SceneNotesDock::SceneNotesDock(QWidget *
StartAutoScrollPressed, StopAutoScrollPressed, this, this)),
timer()
{
- setFeatures(DockWidgetMovable | DockWidgetFloatable);
- setWindowTitle(QT_UTF8(obs_module_text("SceneNotes")));
- setObjectName("SceneNotesDock");
- setFloating(true);
- hide();
-
auto *mainLayout = new QVBoxLayout(this);
mainLayout->addWidget(textEdit);
- auto *dockWidgetContents = new QWidget;
- dockWidgetContents->setLayout(mainLayout);
- setWidget(dockWidgetContents);
+ setLayout(mainLayout);
auto changeText = [this]() {
obs_source_t *scene =
Index: obs-scene-notes-dock/scene-notes-dock.hpp
===================================================================
--- obs-scene-notes-dock.orig/scene-notes-dock.hpp
+++ obs-scene-notes-dock/scene-notes-dock.hpp
@@ -6,7 +6,7 @@
#include <QTimer>
#include "obs.hpp"
-class SceneNotesDock : public QDockWidget {
+class SceneNotesDock : public QWidget {
Q_OBJECT
private:
@@ -14,6 +14,7 @@ private:
QTextEdit *textEdit;
private slots:
void InsertTime();
+
public:
SceneNotesDock(QWidget *parent = nullptr);
~SceneNotesDock();
|