[X2Go-Commits] [x2goclient] 01/08: general: define wrap_legacy_resources() function and use it to wrap legacy resource locations stored in old session config files.
git-admin at x2go.org
git-admin at x2go.org
Sat Feb 14 23:59:59 CET 2015
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch feature/cleanup
in repository x2goclient.
commit 0a9a0a64b3fd6bdc3646520269252443acca31da
Author: Mihai Moldovan <ionic at ionic.de>
Date: Sat Feb 14 23:17:07 2015 +0100
general: define wrap_legacy_resources() function and use it to wrap legacy resource locations stored in old session config files.
---
debian/changelog | 2 ++
src/onmainwindow.cpp | 10 +++++-----
src/sessionbutton.cpp | 9 ++++-----
src/x2goutils.cpp | 29 +++++++++++++++++++++++++++++
src/x2goutils.h | 1 +
5 files changed, 41 insertions(+), 10 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index b15dc3a..f01bfe9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -191,6 +191,8 @@ x2goclient (4.0.3.2-0x2go1) UNRELEASED; urgency=medium
- Work around a bug in qmake generating incorrect make rules for embedding
the OS X app bundle Info.plist file.
- Work around another bug in qmake and copy icon "manually".
+ - Define wrap_legacy_resources() function and use it to wrap legacy
+ resource locations stored in old session config files.
-- Mike Gabriel <mike.gabriel at das-netzwerkteam.de> Thu, 27 Nov 2014 12:01:43 +0100
diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp
index c5b8769..f09a683 100644
--- a/src/onmainwindow.cpp
+++ b/src/onmainwindow.cpp
@@ -2533,11 +2533,11 @@ void ONMainWindow::slotSelectedFromList ( SessionButton* session )
- sessIcon=st->setting()->value (
- sid+"/icon",
- ( QVariant ) ":/img/icons/128x128/x2gosession.png"
- ).toString();
- sessIcon=expandHome(sessIcon);
+ sessIcon = wrap_legacy_resources (st->setting()->value (
+ sid+"/icon",
+ (QVariant) ":/img/icons/128x128/x2gosession.png"
+ ).toString ());
+ sessIcon = expandHome(sessIcon);
command=st->setting()->value (
sid+"/command",
diff --git a/src/sessionbutton.cpp b/src/sessionbutton.cpp
index 8967d77..10bf4d8 100644
--- a/src/sessionbutton.cpp
+++ b/src/sessionbutton.cpp
@@ -310,11 +310,10 @@ void SessionButton::redraw()
sessStatus->setText("("+tr("suspended")+")");
}
- QString sessIcon=st->setting()->value (
- sid+"/icon",
- ( QVariant )
- ":/img/icons/128x128/x2gosession.png"
- ).toString();
+ QString sessIcon = wrap_legacy_resources (st->setting()->value (sid+"/icon",
+ (QVariant)
+ ":/img/icons/128x128/x2gosession.png"
+ ).toString ());
sessIcon = expandHome(sessIcon);
QPixmap* pix;
diff --git a/src/x2goutils.cpp b/src/x2goutils.cpp
index bd38b2a..5226c47 100644
--- a/src/x2goutils.cpp
+++ b/src/x2goutils.cpp
@@ -15,6 +15,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
+#include <vector>
+#include <algorithm>
#include <QString>
#include <QDir>
@@ -26,3 +28,30 @@ QString expandHome( QString path )
}
return path;
}
+
+QString wrap_legacy_resources (const QString res_path) {
+ QString ret (res_path);
+
+ if (!(res_path.isEmpty ())) {
+ std::vector<QString> legacy_locations;
+ legacy_locations.push_back (QString (":/icons/"));
+ legacy_locations.push_back (QString (":/png/"));
+ legacy_locations.push_back (QString (":/svg/"));
+
+ bool detected = false;
+
+ /* This would be so much easier with C++ and lambdas... */
+ QString::const_iterator it = legacy_locations.begin ();
+ while (it != legacy_locations.end ()) {
+ if (res_path.startsWith (*(it++))) {
+ detected = true;
+ break;
+ }
+ }
+
+ if (detected)
+ ret.insert (1, QString ("/img"));
+ }
+
+ return (ret);
+}
diff --git a/src/x2goutils.h b/src/x2goutils.h
index cf9ce08..84bed3c 100644
--- a/src/x2goutils.h
+++ b/src/x2goutils.h
@@ -21,5 +21,6 @@
#include <QString>
QString expandHome( QString path );
+QString wrap_legacy_resources (const QString res_path);
#endif
--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
More information about the x2go-commits
mailing list