[mythtv] [PATCH] Server Status Episode Descriptions
Brett Lucey
brett at happykoala.com
Sun Nov 9 01:15:14 EST 2003
Here's a quick patch which will allow you to click on a program title (in the web status screen) to pop-up the description of the episode being taped.
-Brett
Index: programs/mythbackend/mainserver.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/programs/mythbackend/mainserver.cpp,v
retrieving revision 1.88
diff -u -r1.88 mainserver.cpp
--- programs/mythbackend/mainserver.cpp 1 Nov 2003 18:08:35 -0000 1.88
+++ programs/mythbackend/mainserver.cpp 9 Nov 2003 06:15:11 -0000
@@ -2356,6 +2356,37 @@
playbackList.push_back(masterServer);
}
+string MainServer::escapeString(string source)
+{
+ unsigned int i;
+ string result = "";
+
+ for (i = 0; i < source.length(); i++) {
+
+ switch(source[i]) {
+
+ case '\\':
+ result += "\\\\"; break;
+ case '>':
+ result += ">"; break;
+ case '<':
+ result += "<"; break;
+ case '&':
+ result += "&"; break;
+ case '\"':
+ result += """; break;
+ case '\'':
+ result += "\\\'"; break;
+ default:
+ result += source[i];
+ }
+ }
+
+ return result;
+}
+
+
+
void MainServer::PrintStatus(QSocket *socket)
{
QTextStream os(socket);
@@ -2451,6 +2482,15 @@
<< " that " << (iNum == 1 ? "is" : "are")
<< " scheduled for recording:<BR>\r\n";
+ os << "<Script language=JavaScript>";
+ os << "function dispDesc(txt) {\r\n";
+ os << "wnd=window.open(\"\", \"min\",\"width=250 height=180\");";
+ os << "wnd.document.write(\"<font face=helvetica size=-1>\");";
+ os << "wnd.document.write(txt);";
+ os << "wnd.document.write(\"</font>\");";
+ os << "}";
+ os << "</script>";
+
os << "<TABLE BORDER WIDTH=80%>\r\n";
os << "<TR><TH>Start Time</TH><TH>Show</TH><TH>Encoder</TH></TR>\r\n";
list<ProgramInfo *>::iterator iter = recordinglist->begin();
@@ -2467,7 +2507,9 @@
os << "<TR " << ((i % 2 == 0) ? "BGCOLOR=EEEEEE" : "") << ">"
<< "<TD>" << ((*iter)->startts).toString(shortdateformat)
<< " " << ((*iter)->startts).toString(timeformat) << "</TD>"
- << "<TD>" << (*iter)->title << "</TD>"
+ << "<TD>" << "<a href=\"javascript:dispDesc('" <<
+ escapeString((*iter)->description) << "')\">"
+ << (*iter)->title << "</a></TD>"
<< "<TD>" << (*iter)->cardid << "</TD></TR>\r\n";
}
}
Index: programs/mythbackend/mainserver.h
===================================================================
RCS file: /var/lib/mythcvs/mythtv/programs/mythbackend/mainserver.h,v
retrieving revision 1.35
diff -u -r1.35 mainserver.h
--- programs/mythbackend/mainserver.h 1 Nov 2003 18:08:35 -0000 1.35
+++ programs/mythbackend/mainserver.h 9 Nov 2003 06:15:11 -0000
@@ -29,6 +29,7 @@
~MainServer();
void customEvent(QCustomEvent *e);
+ string escapeString(string);
void PrintStatus(QSocket *socket);
void ProcessRequest(QSocket *sock);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-dev/attachments/20031109/3b4d5aa2/attachment-0001.html
More information about the mythtv-dev
mailing list