diff options
author | Robert Xu <robxu9@gmail.com> | 2011-08-13 12:58:51 -0400 |
---|---|---|
committer | Robert Xu <robxu9@gmail.com> | 2011-08-13 12:58:51 -0400 |
commit | 46130378aea5fff80803409c2573e2ea31472cb9 (patch) | |
tree | cb5da908105e6577da7676f84ba9c7fbaba4fb52 /opensuse/tdelibs/fix-gnome-help-support.diff | |
parent | 53f2819f9af035a38ca08df1ede9e6cd24aa79ef (diff) | |
download | tde-packaging-46130378aea5fff80803409c2573e2ea31472cb9.tar.gz tde-packaging-46130378aea5fff80803409c2573e2ea31472cb9.zip |
add dbus-1-tqt and libdbus-1-tqt-0; add unmodified tdelibs from kdelibs3
Diffstat (limited to 'opensuse/tdelibs/fix-gnome-help-support.diff')
-rw-r--r-- | opensuse/tdelibs/fix-gnome-help-support.diff | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/opensuse/tdelibs/fix-gnome-help-support.diff b/opensuse/tdelibs/fix-gnome-help-support.diff new file mode 100644 index 000000000..c9778f9bf --- /dev/null +++ b/opensuse/tdelibs/fix-gnome-help-support.diff @@ -0,0 +1,130 @@ +Index: kdoctools/kio_help.cpp +=================================================================== +--- kdoctools/kio_help.cpp.orig ++++ kdoctools/kio_help.cpp +@@ -44,7 +44,27 @@ QString HelpProtocol::langLookup(const Q + // assemble the local search paths + const QStringList localDoc = KGlobal::dirs()->resourceDirs("html"); + ++ kdDebug( 7119 ) << "Looking up help for: " << fname << endl; ++ QString _fname = fname; ++ ++ QString path; ++ int slash = _fname.findRev ('/'); ++ if (slash == -1 || slash == 0) { ++ path = _fname; ++ _fname = ""; ++ } else { ++ path = _fname.left (slash); ++ _fname = _fname.right (_fname.length() - slash); ++ } ++ + QStringList langs = KGlobal::locale()->languageList(); ++ QStringList::ConstIterator lang; ++ for (lang = langs.begin(); lang != langs.end(); ++lang) ++ if ((*lang).left(2) == "en") ++ search.append(QString("/usr/share/gnome/help/%1/C%2").arg(path).arg(_fname)); ++ else ++ search.append(QString("/usr/share/gnome/help/%1/%2%3").arg(path).arg(*lang).arg(_fname)); ++ + langs.append( "en" ); + langs.remove( "C" ); + +@@ -60,7 +80,7 @@ QString HelpProtocol::langLookup(const Q + { + QStringList::ConstIterator lang; + for (lang = langs.begin(); lang != langs.end(); ++lang) +- search.append(QString("%1%2/%3").arg(localDoc[id], *lang, fname)); ++ search.append(QString("%1%2/%3").arg(localDoc[id], *lang, path + _fname)); + } + + // try to locate the file +@@ -81,6 +101,15 @@ QString HelpProtocol::langLookup(const Q + if (info.exists() && info.isFile() && info.isReadable()) + return *it; + } ++ ++ if ( ( *it ).right( 5 ) == ".html" ) ++ { ++ QString file = (*it).left((*it).findRev('/')) + "/" + path + ".xml"; ++ kdDebug( 7119 ) << "Looking for help in: " << file << endl; ++ info.setFile(file); ++ if (info.exists() && info.isFile() && info.isReadable()) ++ return *it; ++ } + } + + +@@ -100,7 +129,7 @@ QString HelpProtocol::lookupFile(const Q + result = langLookup(path); + if (result.isEmpty()) + { +- result = langLookup(path+"/index.html"); ++ result = langLookup(path + "/index.html"); + if (!result.isEmpty()) + { + KURL red( "help:/" ); +@@ -190,12 +219,26 @@ void HelpProtocol::get( const KURL& url + } + } else { + QString docbook_file = file.left(file.findRev('/')) + "/index.docbook"; ++ int last_slash = file.findRev('/'); ++ if (last_slash != -1 && last_slash != 0) { ++ int slash2 = file.findRev('/', last_slash -1); ++ if (slash2 != -1 && slash2 != 0) { ++ int slash3 = file.findRev('/', slash2 - 1); ++ if (slash3 != -1) { ++ QString xml_file = file.left(file.findRev('/')) + "/" + file.mid(slash3 + 1, slash2 - (slash3 + 1)) + ".xml"; ++ kdDebug( 7119 ) << "xml_file " << xml_file << endl; ++ QFileInfo fi(xml_file); ++ if (fi.exists()) ++ docbook_file = xml_file; ++ } ++ } ++ } + if (!KStandardDirs::exists(file)) { + file = docbook_file; + } else { + QFileInfo fi(file); + if (fi.isDir()) { +- file = file + "/index.docbook"; ++ file = docbook_file; + } else { + if ( file.right( 5 ) != ".html" || !compareTimeStamps( file, docbook_file ) ) { + get_file( target ); +@@ -238,7 +281,11 @@ void HelpProtocol::get( const KURL& url + mParsed = transform(file, locate("dtd", "customization/kde-chunk.xsl")); + if ( !mParsed.isEmpty() ) { + infoMessage( i18n( "Saving to cache" ) ); +- QString cache = file.left( file.length() - 7 ); ++ QString cache; ++ if (file.endsWith(".xml")) ++ cache = file.left( file.length() - strlen ("xml") ); ++ else ++ cache = file.left( file.length() - strlen ("docbook") ); + saveToCache( mParsed, locateLocal( "cache", + "kio_help" + cache + + "cache.bz2" ) ); +Index: kdoctools/xslt.cpp +=================================================================== +--- kdoctools/xslt.cpp.orig ++++ kdoctools/xslt.cpp +@@ -278,10 +278,16 @@ static bool readCache( const QString &fi + QString lookForCache( const QString &filename ) + { + kdDebug() << "lookForCache " << filename << endl; +- assert( filename.endsWith( ".docbook" ) ); ++ assert( filename.endsWith( ".docbook" ) || filename.endsWith( ".xml" ) ); + assert( filename.at( 0 ) == '/' ); + +- QString cache = filename.left( filename.length() - 7 ); ++ QString cache; ++ ++ if (filename.endsWith( ".xml" )) ++ cache = filename.left( filename.length() - strlen ("xml") ); ++ else ++ cache = filename.left( filename.length() - strlen ("docbook") ); ++ + QString output; + if ( readCache( filename, cache + "cache.bz2", output) ) + return output; |