[rkward-cvs] SF.net SVN: rkward: [1097] trunk/rkward/rkward/windows/rkhtmlwindow.cpp

tfry at users.sourceforge.net tfry at users.sourceforge.net
Mon Jan 8 16:10:08 UTC 2007


Revision: 1097
          http://svn.sourceforge.net/rkward/?rev=1097&view=rev
Author:   tfry
Date:     2007-01-08 08:10:08 -0800 (Mon, 08 Jan 2007)

Log Message:
-----------
fetch titles for help pages, and some corrections / cleanups

Modified Paths:
--------------
    trunk/rkward/rkward/windows/rkhtmlwindow.cpp

Modified: trunk/rkward/rkward/windows/rkhtmlwindow.cpp
===================================================================
--- trunk/rkward/rkward/windows/rkhtmlwindow.cpp	2007-01-08 16:09:10 UTC (rev 1096)
+++ trunk/rkward/rkward/windows/rkhtmlwindow.cpp	2007-01-08 16:10:08 UTC (rev 1097)
@@ -359,9 +359,7 @@
 bool RKHelpWindow::openURL (const KURL &url) {
 	RK_TRACE (APP);
 
-	// TODO: real error handling
 	bool ok = true;
-	qDebug ("here1 %s", url.prettyURL ().latin1 ());
 	if (url.protocol () == "rkward") {
 		if (url.host () == "component") {
 			ok = renderRKHelp (url);
@@ -450,7 +448,7 @@
 		for (XMLChildList::iterator it = src_elements.begin (); it != src_elements.end (); ++it) {
 			QString src = (*it).attribute ("src");
 			if (KURL::isRelativeURL (src)) {
-				src = QDir::cleanDirPath (base_path.filePath (src));
+				src = "file://" + QDir::cleanDirPath (base_path.filePath (src));
 				(*it).setAttribute ("src", src);
 			}
 		}
@@ -542,7 +540,7 @@
 	ret.append ("</p>");
 	ret.replace ("\n\n", "</p>\n<p>");
 
-	qDebug ("%s", ret.latin1 ());
+	RK_DO (qDebug ("%s", ret.latin1 ()), APP, DL_DEBUG);
 	return ret;
 }
 
@@ -564,7 +562,16 @@
 			} else if (url.host () == "rhelp") {
 				text = i18n ("R Reference on '%1'").arg (url.path ().mid (1));
 			} else if (url.host () == "page") {
-				text = "TODO: some help page";
+				QString help_base_dir = RKCommonFunctions::getRKWardDataDir () + "pages/";
+		
+				QString help_file_name = help_base_dir + url.path () + ".rkh";
+				XMLHelper *xml = new XMLHelper ();
+
+				QDomElement doc_element = xml->openXMLFile (help_file_name, DL_WARNING);
+				QDomElement title_element = xml->getChildElement (doc_element, "title", DL_WARNING);
+				text = title_element.text ();
+
+				delete xml;
 			}
 			link_element->appendChild (link_element->ownerDocument ().createTextNode (text));
 		}


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the rkward-tracker mailing list