Local hostname fix. remote now returns just text. New html element to return html

This commit is contained in:
Jonathan Corwin 2011-05-08 20:26:32 +01:00
parent 7103d98dba
commit a293be51e8
4 changed files with 31 additions and 21 deletions

View File

@ -63,8 +63,10 @@ window.OpenLP = {
var ul = $("#slide-controller > div[data-role=content] > ul[data-role=listview]"); var ul = $("#slide-controller > div[data-role=content] > ul[data-role=listview]");
ul.html(""); ul.html("");
for (idx in data.results.slides) { for (idx in data.results.slides) {
var text = data.results.slides[idx]["text"];
text = text.replace(/\n/g, '<br />');
var li = $("<li data-icon=\"false\">").append( var li = $("<li data-icon=\"false\">").append(
$("<a href=\"#\">").attr("value", parseInt(idx, 10)).html(data.results.slides[idx]["text"])); $("<a href=\"#\">").attr("value", parseInt(idx, 10)).html(text));
if (data.results.slides[idx]["selected"]) { if (data.results.slides[idx]["selected"]) {
li.attr("data-theme", "e"); li.attr("data-theme", "e");
} }

View File

@ -65,10 +65,15 @@ window.OpenLP = {
updateSlide: function() { updateSlide: function() {
$("#verseorder span").removeClass("currenttag"); $("#verseorder span").removeClass("currenttag");
$("#tag" + OpenLP.currentSlide).addClass("currenttag"); $("#tag" + OpenLP.currentSlide).addClass("currenttag");
$("#currentslide").html(OpenLP.currentSlides[OpenLP.currentSlide]["text"]); var text = OpenLP.currentSlides[OpenLP.currentSlide]["text"];
if (OpenLP.currentSlide < OpenLP.currentSlides.length - 1) text = text.replace(/\n/g, '<br />');
$("#nextslide").html(OpenLP.currentSlides[OpenLP.currentSlide + 1]["text"]); $("#currentslide").html(text);
else if (OpenLP.currentSlide < OpenLP.currentSlides.length - 1) {
text = OpenLP.currentSlides[OpenLP.currentSlide + 1]["text"];
text = text.replace(/\n/g, '<br />');
$("#nextslide").html(text);
}
else
$("#nextslide").html("Next: " + OpenLP.nextSong); $("#nextslide").html("Next: " + OpenLP.nextSong);
}, },
updateClock: function() { updateClock: function() {

View File

@ -115,6 +115,7 @@ import os
import urlparse import urlparse
import re import re
from pprint import pformat from pprint import pformat
from lxml import html
try: try:
import json import json
@ -402,10 +403,13 @@ class HttpConnection(object):
item = {} item = {}
if current_item.is_text(): if current_item.is_text():
item[u'tag'] = unicode(frame[u'verseTag']) item[u'tag'] = unicode(frame[u'verseTag'])
item[u'text'] = unicode(frame[u'html']) text = unicode(frame[u'html'].replace('<br>', '\n'))
item[u'text'] = html.fromstring(text).text_content()
item[u'html'] = unicode(frame[u'html'])
else: else:
item[u'tag'] = unicode(index) item[u'tag'] = unicode(index)
item[u'text'] = u'' item[u'text'] = u''
item[u'html'] = u''
item[u'selected'] = (self.parent.current_slide == index) item[u'selected'] = (self.parent.current_slide == index)
data.append(item) data.append(item)
json_data = {u'results': {u'slides': data}} json_data = {u'results': {u'slides': data}}

View File

@ -93,24 +93,23 @@ class RemoteTab(SettingsTab):
'Stage view URL:')) 'Stage view URL:'))
def setUrls(self): def setUrls(self):
ipAddress = None ipAddress = 'localhost'
if self.addressEdit.text() == ZERO_URL: if self.addressEdit.text() == ZERO_URL:
for ip in QtNetwork.QNetworkInterface.allAddresses(): ifaces = QtNetwork.QNetworkInterface.allInterfaces()
if ip.protocol() == 0 and ip != QtNetwork.QHostAddress.LocalHost: for iface in ifaces:
ipAddress = ip.toString() if not iface.isValid():
break continue
if not (iface.flags() & (QtNetwork.QNetworkInterface.IsUp |
QtNetwork.QNetworkInterface.IsRunning)):
continue
for addr in iface.addressEntries():
ip = addr.ip()
if ip.protocol() == 0 and \
ip != QtNetwork.QHostAddress.LocalHost:
ipAddress = ip.toString()
break
else: else:
ipAddress = self.addressEdit.text() ipAddress = self.addressEdit.text()
if not ipAddress:
self.remoteUrlLabel.setVisible(False)
self.remoteUrl.setVisible(False)
self.stageUrlLabel.setVisible(False)
self.stageUrl.setVisible(False)
return
self.remoteUrlLabel.setVisible(True)
self.remoteUrl.setVisible(True)
self.stageUrlLabel.setVisible(True)
self.stageUrl.setVisible(True)
url = u'http://%s:%s/' % (ipAddress, self.portSpinBox.value()) url = u'http://%s:%s/' % (ipAddress, self.portSpinBox.value())
self.remoteUrl.setText(u'<a href="%s">%s</a>' % (url, url)) self.remoteUrl.setText(u'<a href="%s">%s</a>' % (url, url))
url = url + u'stage' url = url + u'stage'