mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Display the Subsurface manual in the help widget
This adds a helper function to determine the Subsurface data directory (are we running from build directory? installed on Linux? installed on Mac? - still need to add support for Windows). This same function is then used by both the setup for Marble and for the help browser. This assumes that the user-manual.html file has actually been built and installed (which we don't do by default with the current Makefile). Right now there are rendering issues with our manual in the help browser widget - I'm sure this can be fixed... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
422e0f94d6
commit
c972c7cbd9
4 changed files with 41 additions and 29 deletions
|
@ -1,6 +1,7 @@
|
|||
#include "globe.h"
|
||||
#include "kmessagewidget.h"
|
||||
#include "../dive.h"
|
||||
#include "../helpers.h"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
|
@ -24,39 +25,16 @@ GlobeGPS::GlobeGPS(QWidget* parent) : MarbleWidget(parent), loadedDives(0)
|
|||
// if not, check if they are in a known location
|
||||
MapThemeManager mtm;
|
||||
QStringList list = mtm.mapThemeIds();
|
||||
QString theme, execdir;
|
||||
QString theme, subsurfaceDataPath;
|
||||
QDir marble;
|
||||
bool foundGoogleMap = false;
|
||||
Q_FOREACH(theme, list)
|
||||
if (theme == "earth/googlesat/googlesat.dgml")
|
||||
foundGoogleMap = true;
|
||||
if (!foundGoogleMap) {
|
||||
// first check if we are running from the build directory
|
||||
execdir = QCoreApplication::applicationDirPath();
|
||||
marble = QDir(execdir.append("/marbledata"));
|
||||
if (marble.exists()) {
|
||||
MarbleDirs::setMarbleDataPath(marble.absolutePath());
|
||||
foundGoogleMap = true;
|
||||
}
|
||||
}
|
||||
if (!foundGoogleMap) {
|
||||
// next check if we can guess an installed location by replacing
|
||||
// "bin" with "share/subsurface" - so /usr/local/bin/subsurface would
|
||||
// have us check /usr/local/share/subsurface/marbledata
|
||||
marble = execdir.replace("bin", "share/subsurface");
|
||||
if (marble.exists()) {
|
||||
MarbleDirs::setMarbleDataPath(marble.absolutePath());
|
||||
foundGoogleMap = true;
|
||||
}
|
||||
}
|
||||
if (!foundGoogleMap) {
|
||||
// then check if we're running as an app on MacOSX
|
||||
execdir = QCoreApplication::applicationDirPath();
|
||||
marble = QDir(execdir.append("/../Resources/share/marbledata"));
|
||||
if (marble.exists()) {
|
||||
MarbleDirs::setMarbleDataPath(marble.absolutePath());
|
||||
foundGoogleMap = true;
|
||||
}
|
||||
subsurfaceDataPath = getSubsurfaceDataPath("marbledata");
|
||||
if (subsurfaceDataPath != "")
|
||||
MarbleDirs::setMarbleDataPath(subsurfaceDataPath);
|
||||
}
|
||||
messageWidget = new KMessageWidget(this);
|
||||
messageWidget->setCloseButtonVisible(false);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue