diff options
Diffstat (limited to 'utils/wpseditor/gui/src/qwpsdrawer.cpp')
-rw-r--r-- | utils/wpseditor/gui/src/qwpsdrawer.cpp | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/utils/wpseditor/gui/src/qwpsdrawer.cpp b/utils/wpseditor/gui/src/qwpsdrawer.cpp index a506d5c03b..096d835491 100644 --- a/utils/wpseditor/gui/src/qwpsdrawer.cpp +++ b/utils/wpseditor/gui/src/qwpsdrawer.cpp | |||
@@ -17,14 +17,14 @@ QImage QWpsDrawer::backdrop; | |||
17 | proxy_api QWpsDrawer::api; | 17 | proxy_api QWpsDrawer::api; |
18 | 18 | ||
19 | QWpsDrawer::QWpsDrawer( QWpsState *ws,QTrackState *ms, QWidget *parent ) | 19 | QWpsDrawer::QWpsDrawer( QWpsState *ws,QTrackState *ms, QWidget *parent ) |
20 | : QWidget(parent),wpsState(ws),trackState(ms),showGrid(false),mCurTarget("h10_5gb") { | 20 | : QWidget(parent),wpsState(ws),trackState(ms),showGrid(false),mCurTarget(qApp->applicationDirPath()+"/libwps_IRIVER_H10_5GB") { |
21 | 21 | ||
22 | tryResolve(); | 22 | tryResolve(); |
23 | newTempWps(); | 23 | newTempWps(); |
24 | } | 24 | } |
25 | 25 | ||
26 | bool QWpsDrawer::tryResolve() { | 26 | bool QWpsDrawer::tryResolve() { |
27 | QLibrary lib(qApp->applicationDirPath()+"/libwps_"+mCurTarget); | 27 | QLibrary lib(mCurTarget); |
28 | lib_wps_init = (pfwps_init)lib.resolve("wps_init"); | 28 | lib_wps_init = (pfwps_init)lib.resolve("wps_init"); |
29 | lib_wps_display = (pfwps_display)lib.resolve("wps_display"); | 29 | lib_wps_display = (pfwps_display)lib.resolve("wps_display"); |
30 | lib_wps_refresh = (pfwps_refresh)lib.resolve("wps_refresh"); | 30 | lib_wps_refresh = (pfwps_refresh)lib.resolve("wps_refresh"); |
@@ -47,7 +47,7 @@ bool QWpsDrawer::tryResolve() { | |||
47 | api.load_wps_backdrop = &QWpsDrawer::load_wps_backdrop; | 47 | api.load_wps_backdrop = &QWpsDrawer::load_wps_backdrop; |
48 | api.read_bmp_file = &QWpsDrawer::read_bmp_file; | 48 | api.read_bmp_file = &QWpsDrawer::read_bmp_file; |
49 | api.debugf = &qlogger; | 49 | api.debugf = &qlogger; |
50 | qDebug()<<(qApp->applicationDirPath()+"/libwps_"+mCurTarget+" resolved"); | 50 | qDebug()<<(mCurTarget+" resolved"); |
51 | } | 51 | } |
52 | return mResolved; | 52 | return mResolved; |
53 | } | 53 | } |
@@ -222,7 +222,7 @@ QString QWpsDrawer::getModelName(QString libraryName) { | |||
222 | QList<QString> QWpsDrawer::getTargets() { | 222 | QList<QString> QWpsDrawer::getTargets() { |
223 | QList<QString> list ; | 223 | QList<QString> list ; |
224 | QDir d = QDir(qApp->applicationDirPath()); | 224 | QDir d = QDir(qApp->applicationDirPath()); |
225 | QFileInfoList libs = d.entryInfoList(QStringList("libwps*")); | 225 | QFileInfoList libs = d.entryInfoList(QStringList("libwps_*")); |
226 | qDebug() << libs.size()<<"libs found"; | 226 | qDebug() << libs.size()<<"libs found"; |
227 | for (int i = 0; i < libs.size(); i++) { | 227 | for (int i = 0; i < libs.size(); i++) { |
228 | QString modelName = getModelName(libs[i].absoluteFilePath()); | 228 | QString modelName = getModelName(libs[i].absoluteFilePath()); |
@@ -230,15 +230,24 @@ QList<QString> QWpsDrawer::getTargets() { | |||
230 | if (modelName == "unknown") | 230 | if (modelName == "unknown") |
231 | continue; | 231 | continue; |
232 | list.append(modelName); | 232 | list.append(modelName); |
233 | libs_array[i].target_name = modelName; | ||
234 | libs_array[i].lib = libs[i].absoluteFilePath(); | ||
233 | } | 235 | } |
234 | return list; | 236 | return list; |
235 | } | 237 | } |
236 | bool QWpsDrawer::setTarget(QString target) { | 238 | bool QWpsDrawer::setTarget(QString target) { |
237 | QLibrary lib(qApp->applicationDirPath()+"/libwps_"+mCurTarget); | 239 | foreach(lib_t cur_lib, libs_array) |
238 | //lib.unload(); | 240 | { |
239 | if (getModelName("libwps_"+target)!="unknown") { | 241 | if(cur_lib.target_name == target) |
240 | mCurTarget = target; | 242 | { |
241 | return tryResolve(); | 243 | QLibrary lib(cur_lib.lib); |
244 | //lib.unload(); | ||
245 | if (getModelName(cur_lib.lib) != "unknown") | ||
246 | { | ||
247 | mCurTarget = cur_lib.lib; | ||
248 | return tryResolve(); | ||
249 | } | ||
250 | } | ||
242 | } | 251 | } |
243 | return false; | 252 | return false; |
244 | } | 253 | } |