diff options
| author | 2010-03-19 14:24:09 +0000 | |
|---|---|---|
| committer | 2010-03-19 14:24:09 +0000 | |
| commit | f112ff76dd05cd57e1441b33be28c94a5afafc97 (patch) | |
| tree | 64cba79a294b4116e6e526f93a0b8d6fc70d5ca9 /src/modules/help | |
| parent | fix for missing first console on kvirc startup (diff) | |
| download | KVIrc-f112ff76dd05cd57e1441b33be28c94a5afafc97.tar.gz KVIrc-f112ff76dd05cd57e1441b33be28c94a5afafc97.tar.bz2 KVIrc-f112ff76dd05cd57e1441b33be28c94a5afafc97.zip | |
fixed lcd object documentation
fixed help for local help files (script documentation)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4154 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/help')
| -rw-r--r-- | src/modules/help/libkvihelp.cpp | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/src/modules/help/libkvihelp.cpp b/src/modules/help/libkvihelp.cpp index c46df04d8..9d634afe8 100644 --- a/src/modules/help/libkvihelp.cpp +++ b/src/modules/help/libkvihelp.cpp @@ -90,31 +90,47 @@ static bool help_kvs_cmd_open(KviKvsModuleCommandCall * c) KVSM_PARAMETER("document",KVS_PT_STRING,KVS_PF_OPTIONAL | KVS_PF_APPENDREMAINING,szParam) KVSM_PARAMETERS_END(c) - szDoc=szParam; - g_pApp->getGlobalKvircDirectory(szHelpDir,KviApp::Help); - dirHelp = QDir(szHelpDir); - // no document => index - if(szDoc.isEmpty()) + if(szParam.isEmpty()) { - szDoc = dirHelp.absoluteFilePath("index.html"); - //qDebug ("No file, use default at path %s",szDoc.toUtf8().data()); + szParam = dirHelp.absoluteFilePath("index.html"); + qDebug ("No file, use default at path %s",szDoc.toUtf8().data()); } + /* + * Path checking order: + * 1) absolute path + * 2) local help (in user directory) + * 3) global help (in kvirc directory) + */ + // try absolute path - QFileInfo * f= new QFileInfo(szDoc); + QFileInfo * f= new QFileInfo(szParam); if(!f->exists()) { - //try relative path - szDoc = dirHelp.absoluteFilePath(szDoc); - //qDebug("No abs path, trying relative path: %s",szDoc.toUtf8().data()); + // try relative path (to local help) + g_pApp->getLocalKvircDirectory(szHelpDir,KviApp::Help); + dirHelp = QDir(szHelpDir); + szDoc = dirHelp.absoluteFilePath(szParam); + qDebug("No abs path, trying local relative path: %s",szDoc.toUtf8().data()); f->setFile(szDoc); + + if(!f->exists()) + { + //try relative path (to global help) + g_pApp->getGlobalKvircDirectory(szHelpDir,KviApp::Help); + dirHelp = QDir(szHelpDir); + + szDoc = dirHelp.absoluteFilePath(szParam); + qDebug("No local relative, trying global relative path: %s",szDoc.toUtf8().data()); + f->setFile(szDoc); + } } + // Search in help if(!f->exists()) { - //try search - //qDebug("No rel path, trying search.."); + qDebug("No path, trying search.."); if(g_pDocIndex) { if (!g_pDocIndex->documentList().count()) @@ -150,12 +166,12 @@ static bool help_kvs_cmd_open(KviKvsModuleCommandCall * c) } } + // Everything failed => error if(!f->exists()) { - //everything failed => error szDoc = dirHelp.absoluteFilePath("nohelpavailable.html"); - //qDebug("Document not found, defaulting to error page: %s",szDoc.toUtf8().data()); + qDebug("Document not found, defaulting to error page: %s",szDoc.toUtf8().data()); f->setFile(szDoc); } |
