]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Reload the DVB mux list when a new mux is created
authorAndreas Öman <andreas@lonelycoder.com>
Wed, 16 Apr 2008 16:19:34 +0000 (16:19 +0000)
committerAndreas Öman <andreas@lonelycoder.com>
Wed, 16 Apr 2008 16:19:34 +0000 (16:19 +0000)
ajaxui/ajaxui_config_dvb.c
ajaxui/ajaxui_mailbox.c
ajaxui/ajaxui_mailbox.h
dvb.c
notify.c
notify.h

index 50f437ac2691064daabd7e6ffd1f22656e4e0fcc..1e20f4f1590498db133c2ac8e3e6c1371443c139 100644 (file)
@@ -218,11 +218,11 @@ ajax_adaptereditor(http_connection_t *hc, http_reply_t *hr,
 
   ajax_box_begin(tq, AJAX_BOX_SIDEBOX, NULL, NULL, "Multiplexes");
 
-  tcp_qprintf(tq, "<div id=\"dvbmuxlist%s\"></div>",
+  tcp_qprintf(tq, "<div id=\"dvbmuxlist_%s\"></div>",
              tda->tda_identifier);
 
   ajax_js(tq, 
-         "new Ajax.Updater('dvbmuxlist%s', "
+         "new Ajax.Updater('dvbmuxlist_%s', "
          "'/ajax/dvbadaptermuxlist/%s', {method: 'get', evalScripts: true})",
          tda->tda_identifier, tda->tda_identifier);
 
@@ -515,7 +515,7 @@ ajax_adaptercreatemux(http_connection_t *hc, http_reply_t *hr,
   dvb_make_add_link(tq, tda, "Successfully created");
 
   ajax_js(tq, 
-         "new Ajax.Updater('dvbmuxlist%s', "
+         "new Ajax.Updater('dvbmuxlist_%s', "
          "'/ajax/dvbadaptermuxlist/%s', {method: 'get', evalScripts: true})",
          tda->tda_identifier, tda->tda_identifier);
 
@@ -569,7 +569,7 @@ ajax_adaptermuxlist(http_connection_t *hc, http_reply_t *hr,
   if(nmuxes < displines)
     v = nmuxes;
 
-  tcp_qprintf(tq, "<div id=\"dvbmuxlist%s\" "
+  tcp_qprintf(tq, "<div id=\"dvbmuxinnerlist%s\" "
              "style=\"height: %dpx; overflow: auto\" class=\"normallist\">",
              tda->tda_identifier, v * 14);
 
index 27bcd29287da07b88d5692899e1e886c26a5c0f5..a4bdee7cdf5168306c871f2c65b18a8cfd2b98df 100644 (file)
@@ -270,6 +270,21 @@ ajax_mailbox_update_div(const char *subscription, const char *prefix,
 
 
 
+static void
+ajax_mailbox_reload_div(const char *subscription, const char *prefix,
+                       const char *postfix, const char *url)
+{
+  char buf[1000];
+
+  snprintf(buf, sizeof(buf), "new Ajax.Updater('%s_%s', '%s', "
+          "{method: 'get', evalScripts: true});\r\n",
+          prefix, postfix, url);
+
+  ajax_mailbox_add_to_subscription(subscription, buf);
+}
+
+
+
 void
 ajax_mailbox_tdmi_state_change(th_dvb_mux_instance_t *tdmi)
 {
@@ -304,3 +319,18 @@ ajax_mailbox_tdmi_status_change(th_dvb_mux_instance_t *tdmi)
                          "status", tdmi->tdmi_identifier,
                          tdmi->tdmi_last_status);
 }
+
+
+
+void
+ajax_mailbox_tda_change(th_dvb_adapter_t *tda)
+{
+  char buf[500];
+
+  snprintf(buf, sizeof(buf), "/ajax/dvbadaptermuxlist/%s",
+          tda->tda_identifier);
+
+  ajax_mailbox_reload_div(tda->tda_identifier,
+                         "dvbmuxlist", tda->tda_identifier,
+                         buf);
+}
index 661c9337cf731aed9fa1d46d71345c899c237201..2a0ba5e5f2581b4e9f5e6d32cee470c8f64e9a6b 100644 (file)
@@ -25,4 +25,6 @@ void ajax_mailbox_tdmi_name_change(th_dvb_mux_instance_t *tdmi);
 
 void ajax_mailbox_tdmi_status_change(th_dvb_mux_instance_t *tdmi);
 
+void ajax_mailbox_tda_change(th_dvb_adapter_t *tda);
+
 #endif /* AJAXUI_MAILBOX_H_ */
diff --git a/dvb.c b/dvb.c
index 34d6b5b4a9c986bda7d35769299bd4c4150d2c35..5a8de521ac0756441b297ef231b46d45663f2be0 100644 (file)
Binary files a/dvb.c and b/dvb.c differ
index c181e6d762189ec57394b3325085029955ea7df5..d6d11043d3e708ec4ced938d3530ec4fcebe6acb 100644 (file)
--- a/notify.c
+++ b/notify.c
@@ -45,3 +45,10 @@ notify_tdmi_status_change(th_dvb_mux_instance_t *tdmi)
 {
   ajax_mailbox_tdmi_status_change(tdmi);
 }
+
+
+void
+notify_tda_change(th_dvb_adapter_t *tda)
+{
+  ajax_mailbox_tda_change(tda);
+}
index 70fe7164eb140ec631d2c62c23b88434f1f84e7e..ad92bd941ca40fb80c0fdc40fd4b65126c20daa9 100644 (file)
--- a/notify.h
+++ b/notify.h
@@ -25,4 +25,6 @@ void notify_tdmi_name_change(th_dvb_mux_instance_t *tdmi);
 
 void notify_tdmi_status_change(th_dvb_mux_instance_t *tdmi);
 
+void notify_tda_change(th_dvb_adapter_t *tda);
+
 #endif /* NOTIFY_H_ */