summaryrefslogtreecommitdiff
path: root/utils/wpseditor/gui/src/qwpsdrawer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/wpseditor/gui/src/qwpsdrawer.cpp')
-rw-r--r--utils/wpseditor/gui/src/qwpsdrawer.cpp27
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;
17proxy_api QWpsDrawer::api; 17proxy_api QWpsDrawer::api;
18 18
19QWpsDrawer::QWpsDrawer( QWpsState *ws,QTrackState *ms, QWidget *parent ) 19QWpsDrawer::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
26bool QWpsDrawer::tryResolve() { 26bool 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) {
222QList<QString> QWpsDrawer::getTargets() { 222QList<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}
236bool QWpsDrawer::setTarget(QString target) { 238bool 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}