diff options
Diffstat (limited to 'rbutil/rbutilqt/base/utils.cpp')
-rw-r--r-- | rbutil/rbutilqt/base/utils.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/base/utils.cpp b/rbutil/rbutilqt/base/utils.cpp index 4b76c6497a..966ce335ea 100644 --- a/rbutil/rbutilqt/base/utils.cpp +++ b/rbutil/rbutilqt/base/utils.cpp | |||
@@ -130,6 +130,35 @@ qulonglong filesystemFree(QString path) | |||
130 | return size; | 130 | return size; |
131 | } | 131 | } |
132 | 132 | ||
133 | //! \brief searches for a Executable in the Environement Path | ||
134 | QString findExecutable(QString name) | ||
135 | { | ||
136 | QString exepath; | ||
137 | //try autodetect tts | ||
138 | #if defined(Q_OS_LINUX) || defined(Q_OS_MACX) || defined(Q_OS_OPENBSD) | ||
139 | QStringList path = QString(getenv("PATH")).split(":", QString::SkipEmptyParts); | ||
140 | #elif defined(Q_OS_WIN) | ||
141 | QStringList path = QString(getenv("PATH")).split(";", QString::SkipEmptyParts); | ||
142 | #endif | ||
143 | qDebug() << path; | ||
144 | for(int i = 0; i < path.size(); i++) | ||
145 | { | ||
146 | QString executable = QDir::fromNativeSeparators(path.at(i)) + "/" + name; | ||
147 | #if defined(Q_OS_WIN) | ||
148 | executable += ".exe"; | ||
149 | QStringList ex = executable.split("\"", QString::SkipEmptyParts); | ||
150 | executable = ex.join(""); | ||
151 | #endif | ||
152 | qDebug() << executable; | ||
153 | if(QFileInfo(executable).isExecutable()) | ||
154 | { | ||
155 | return QDir::toNativeSeparators(executable); | ||
156 | } | ||
157 | } | ||
158 | return ""; | ||
159 | } | ||
160 | |||
161 | |||
133 | RockboxInfo::RockboxInfo(QString mountpoint) | 162 | RockboxInfo::RockboxInfo(QString mountpoint) |
134 | { | 163 | { |
135 | m_path = mountpoint +"/.rockbox/rockbox-info.txt"; | 164 | m_path = mountpoint +"/.rockbox/rockbox-info.txt"; |