X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=HomeScreen%2Fsrc2%2Fapplicationmodel.cpp;fp=HomeScreen%2Fsrc2%2Fapplicationmodel.cpp;h=ff7276e3d574cb3f7cff934c651153cf6613868e;hb=e64b4751e3a6fc70b7a83c6aae2cd180a4284807;hp=136161a282a039b60a62df4b481cb249120251f4;hpb=a523ed5e0691c548af8f787dc37f04be0db52d84;p=staging%2FHomeScreen.git diff --git a/HomeScreen/src2/applicationmodel.cpp b/HomeScreen/src2/applicationmodel.cpp index 136161a..ff7276e 100644 --- a/HomeScreen/src2/applicationmodel.cpp +++ b/HomeScreen/src2/applicationmodel.cpp @@ -25,7 +25,8 @@ class ApplicationModel::Private { public: Private(ApplicationModel *parent); - + QList > orders; + QList originalData; private: ApplicationModel *q; public: @@ -51,29 +52,59 @@ ApplicationModel::Private::Private(ApplicationModel *parent) data.append(AppInfo(QStringLiteral("Settings"), QStringLiteral("SETTINGS"), QStringLiteral("settings@0.1"))); data.append(AppInfo(QStringLiteral("POI"), QStringLiteral("POINT OF\nINTEREST"), QStringLiteral("poi@0.1"))); } + originalData = data; + QList o; + o << 5 << 4 << 3 << 7 << 8 << 0 << 2 << 1 << 6; + orders.append(o); + o.clear(); + o << 0 << 1 << 2 << 3 << 4 << 5 << 6 << 7 << 8 ; + orders.append(o); + o.clear(); + o << 3 << 8 << 1 << 0 << 2 << 7 << 5 << 4 << 6; + orders.append(o); + o.clear(); + o << 2 << 7 << 3 << 8 << 4 << 0 << 1 << 5 << 6; + orders.append(o); + o.clear(); + o << 2 << 7 << 3 << 8 << 4 << 0 << 1 << 5 << 6; + orders.append(o); + o.clear(); + o << 6 << 0 << 2 << 1 << 7 << 3 << 5 << 4 << 8; + orders.append(o); } +void ApplicationModel::changeOrder(const int &hash) +{ + int order = qAbs(hash) % 7; + QList o = d->orders.at(order); + QList newData; + for(int i = 0; i < o.size(); ++i) { + newData.append(d->originalData.at(o.at(i))); + } + d->data = newData; +} + void ApplicationModel::changeLanguage(const QString &lang) { //todo: use QT translator instead of hardcoded strings. if(lang == "fr") { - d->data[0].setName("CLIMATISATION"); - d->data[1].setName("NAVIGATION"); - d->data[2].setName("TÉLÉPHONE"); - d->data[3].setName("RADIO"); - d->data[4].setName("MULTIMÉDIA"); - d->data[5].setName("CONNEXIONS"); - d->data[6].setName("TABLEAU DE\nBORD"); - d->data[7].setName("PARAMÈTRES"); - d->data[8].setName("POINT D'INTÉRÊT"); + d->originalData[0].setName("CLIMATISATION"); + d->originalData[1].setName("NAVIGATION"); + d->originalData[2].setName("TÉLÉPHONE"); + d->originalData[3].setName("RADIO"); + d->originalData[4].setName("MULTIMÉDIA"); + d->originalData[5].setName("CONNEXIONS"); + d->originalData[6].setName("TABLEAU DE\nBORD"); + d->originalData[7].setName("PARAMÈTRES"); + d->originalData[8].setName("POINT D'INTÉRÊT"); } else { - d->data[0].setName("HVAC"); - d->data[1].setName("NAVIGATION"); - d->data[2].setName("PHONE"); - d->data[3].setName("RADIO"); - d->data[4].setName("MULTIMEDIA"); - d->data[5].setName("CONNECTIVITY"); - d->data[6].setName("DASHBOARD"); - d->data[7].setName("SETTINGS"); - d->data[8].setName("POINT OF\nINTEREST"); + d->originalData[0].setName("HVAC"); + d->originalData[1].setName("NAVIGATION"); + d->originalData[2].setName("PHONE"); + d->originalData[3].setName("RADIO"); + d->originalData[4].setName("MULTIMEDIA"); + d->originalData[5].setName("CONNECTIVITY"); + d->originalData[6].setName("DASHBOARD"); + d->originalData[7].setName("SETTINGS"); + d->originalData[8].setName("POINT OF\nINTEREST"); } }