summarylogtreecommitdiffstats
path: root/autoreload.patch
blob: de2ffd366028cee3dd7e91afc21b02cadf215fb0 (plain)
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
From 64be2db10c330e442272db5c661cb39c3e6340ef Mon Sep 17 00:00:00 2001
From: NexAdn <nexadn@yandex.com>
Date: Wed, 29 Nov 2017 16:29:47 +0100
Subject: [PATCH] Implement automatic reload on source activation. (#40)

---
 data/locale/de-DE.ini |  6 ++++++
 data/locale/en-US.ini |  1 +
 src/plugin/main.c     | 11 +++++++++++
 3 files changed, 18 insertions(+)

diff --git a/data/locale/de-DE.ini b/data/locale/de-DE.ini
index a2d8649..cedbf7f 100644
--- a/data/locale/de-DE.ini
+++ b/data/locale/de-DE.ini
@@ -5,7 +5,13 @@ Width="Breite"
 Height="Höhe"
 FPS="FPS"
 ReloadPage="Seite Neuladen"
+ReloadOnScene="Bei Aktivierung neuladen"
 FlashPath="Flash Plugin Pfad"
 FlashVersion="Flash Plugin Version"
 RestartBrowser="Browser Neustarten"
 CustomCSS="Eigenes CSS"
+CommandLineArguments="Kommandozeilen-Argumente"
+HideScrollbars="Scrolleisten verstecken"
+Zoom="Zoom"
+ScrollVertical="Vertikal scrollen"
+ScrollHorizontal="Horizontal scrollen"
\ No newline at end of file
diff --git a/data/locale/en-US.ini b/data/locale/en-US.ini
index 0ac91db..ee7edd3 100644
--- a/data/locale/en-US.ini
+++ b/data/locale/en-US.ini
@@ -5,6 +5,7 @@ Width="Width"
 Height="Height"
 FPS="FPS"
 ReloadPage="Reload Page"
+ReloadOnScene="Reload on activate"
 FlashPath="Flash Plugin Path"
 FlashVersion="Flash Plugin Version"
 RestartBrowser="Restart Browser"
diff --git a/src/plugin/main.c b/src/plugin/main.c
index 56a398e..1e6ef9a 100644
--- a/src/plugin/main.c
+++ b/src/plugin/main.c
@@ -34,6 +34,7 @@ struct browser_data {
 	uint32_t zoom;
 	uint32_t scroll_vertical;
 	uint32_t scroll_horizontal;
+	bool reload_on_scene;
 
 	/* internal data */
 	obs_source_t *source;
@@ -66,6 +67,7 @@ static void browser_update(void *vptr, obs_data_t *settings)
 	uint32_t zoom = obs_data_get_int(settings, "zoom");
 	uint32_t scroll_vertical = obs_data_get_int(settings, "scroll_vertical");
 	uint32_t scroll_horizontal = obs_data_get_int(settings, "scroll_horizontal");
+	data->reload_on_scene = obs_data_get_bool(settings, "reload_on_scene");
 
 	bool is_local = obs_data_get_bool(settings, "is_local_file");
 	const char *url;
@@ -200,6 +202,13 @@ static bool reload_button_clicked(obs_properties_t *props, obs_property_t *prope
 	return true;
 }
 
+static void reload_on_scene(void* vptr)
+{
+	struct browser_data* data = vptr;
+	if (data->reload_on_scene)
+		browser_manager_reload_page(data->manager);
+}
+
 static bool restart_button_clicked(obs_properties_t *props, obs_property_t *property, void *vptr)
 {
 	UNUSED_PARAMETER(props);
@@ -251,6 +260,7 @@ static obs_properties_t *browser_get_properties(void *vptr)
 			0, 10000000, 1);
 
 	obs_properties_add_button(props, "reload", obs_module_text("ReloadPage"), reload_button_clicked);
+	obs_properties_add_bool(props, "reload_on_scene", obs_module_text("ReloadOnScene"));
 
 	obs_properties_add_path(props, "css_file", obs_module_text("CustomCSS"),
 			OBS_PATH_FILE, "*.css", NULL);
@@ -376,6 +386,7 @@ bool obs_module_load(void)
 	info.video_tick     = browser_tick;
 	info.video_render   = browser_render;
 
+	info.activate		= reload_on_scene;
 	info.mouse_click    = browser_mouse_click;
 	info.mouse_move     = browser_mouse_move;
 	info.mouse_wheel    = browser_mouse_wheel;
--
libgit2 0.26.0