16
16
#include " qgshelp.h"
17
17
18
18
#include < QSettings>
19
- #include < QLocale>
20
19
#include < QUrl>
21
20
#include < QFileInfo>
22
21
#include < QTcpSocket>
26
25
27
26
#include " qgis.h"
28
27
#include " qgsapplication.h"
28
+ #include " qgsexpressioncontext.h"
29
29
30
30
void QgsHelp::openHelp ( const QString& key )
31
31
{
@@ -43,39 +43,25 @@ QUrl QgsHelp::helpUrl( const QString& key )
43
43
return helpNotFound;
44
44
}
45
45
46
- QString qgisLocale;
47
- bool overrideLocale = settings.value ( QStringLiteral ( " locale/overrideFlag" ), false ).toBool ();
48
- if ( overrideLocale )
49
- {
50
- qgisLocale = settings.value ( QStringLiteral ( " locale/userLocale" ), QString () ).toString ();
51
- }
52
- else
53
- {
54
- qgisLocale = QLocale::system ().name ().left ( 2 );
55
- }
56
-
57
- QString qgisVersion;
58
- if ( Qgis::QGIS_VERSION_INT / 100 % 100 == 99 )
59
- {
60
- qgisVersion = QStringLiteral ( " testing" );
61
- qgisLocale = QStringLiteral ( " en" );
62
- }
63
- else
64
- {
65
- qgisVersion = QStringLiteral ( " %1.%2" ).arg ( Qgis::QGIS_VERSION_INT / 10000 ).arg ( Qgis::QGIS_VERSION_INT / 100 % 100 );
66
- }
67
-
68
- QString suffix = QStringLiteral ( " %1/%2/docs/user_manual/%3" ).arg ( qgisVersion ).arg ( qgisLocale ).arg ( key );
46
+ QgsExpressionContextScope *scope = QgsExpressionContextUtils::globalScope ();
69
47
70
48
QUrl helpUrl;
71
- QString helpPath;
49
+ QString helpPath, fullPath ;
72
50
bool helpFound = false ;
73
51
74
52
Q_FOREACH ( const QString& path, paths )
75
53
{
76
- helpPath = QStringLiteral ( " %1/%2" ).arg ( path ).arg ( suffix );
54
+ qDebug () << " PATH " << path;
55
+ fullPath = path;
56
+ Q_FOREACH ( const QString& var, scope->variableNames () )
57
+ {
58
+ fullPath.replace ( QStringLiteral ( " $%1" ).arg ( var ), scope->variable ( var ).toString () );
59
+ }
60
+
61
+ helpPath = QStringLiteral ( " %1/%2" ).arg ( fullPath ).arg ( key );
62
+ qDebug () << " HELP " << helpPath;
77
63
78
- if ( path .startsWith ( QStringLiteral ( " http" ) ) )
64
+ if ( helpPath .startsWith ( QStringLiteral ( " http" ) ) )
79
65
{
80
66
if ( !QgsHelp::urlExists ( helpPath ) )
81
67
{
0 commit comments