Marble

MarbleDeclarativeObject.cpp
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2012 Dennis Nienhüser <[email protected]>
9 //
10 
11 #include "MarbleDeclarativeObject.h"
12 
13 #include "MarbleDirs.h"
14 #include "MarbleGlobal.h"
15 
16 #include <QProcessEnvironment>
17 
18 class MarbleDeclarativeObjectPrivate
19 {
20 public:
21  // Yet empty
22 };
23 
24 MarbleDeclarativeObject::MarbleDeclarativeObject( QObject *parent ) :
25  QObject( parent ),
26  d( new MarbleDeclarativeObjectPrivate )
27 {
28  // nothing to do
29 }
30 
31 MarbleDeclarativeObject::~MarbleDeclarativeObject()
32 {
33  delete d;
34 }
35 
37 {
38  return Marble::MARBLE_VERSION_STRING;
39 }
40 
42 {
43  return Marble::MarbleDirs::path( path );
44 }
45 
46 bool MarbleDeclarativeObject::canExecute(const QString &program) const
47 {
48  QString path = QProcessEnvironment::systemEnvironment().value(QStringLiteral("PATH"), QStringLiteral("/usr/local/bin:/usr/bin:/bin"));
49  for( const QString &dir: path.split( QLatin1Char( ':' ) ) ) {
50  QFileInfo const executable( QDir( dir ), program );
51  if ( executable.exists() && executable.isExecutable() ) {
52  return true;
53  }
54  }
55 
56  return false;
57 }
58 
59 #include "moc_MarbleDeclarativeObject.cpp"
QString version() const
Returns the Marble library version.
QString resolvePath(const QString &path) const
resolvePath Resolves files in the marble data path
QString value(const QString &name, const QString &defaultValue) const const
QStringList split(const QString &sep, QString::SplitBehavior behavior, Qt::CaseSensitivity cs) const const
bool canExecute(const QString &program) const
canExecute Check whether a given program is found in the path
bool exists() const const
QProcessEnvironment systemEnvironment()
bool isExecutable() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Wed Jan 20 2021 23:26:25 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.