/* Change virtual keyboard active layout, * uses private: vkbLayoutIsTohkbd * true = change to harbour-tohkbd2.qml * false = change to last non-tohkbd layout */ void Tohkbd::changeActiveLayout(bool justGetIt) { QString __currentActiveLayout = tohkbd2user->call(QDBus::AutoDetect, "getActiveLayout").arguments().at(0).toString(); printf("Current layout is %s\n", qPrintable(__currentActiveLayout)); if (__currentActiveLayout.contains("harbour-tohkbd2.qml") && vkbLayoutIsTohkbd) { return; } else if (!__currentActiveLayout.contains("harbour-tohkbd2.qml")) { if (__currentActiveLayout.contains("qml")) { if (__currentActiveLayout != currentActiveLayout) { currentActiveLayout = __currentActiveLayout; saveActiveLayout(); } } } if (justGetIt) return; if (vkbLayoutIsTohkbd) { printf("Changing to tohkbd\n"); QList<QVariant> args; args.append("harbour-tohkbd2.qml"); tohkbd2user->callWithArgumentList(QDBus::AutoDetect, "setActiveLayout", args); } else if (currentActiveLayout.contains("qml")) { printf("Changing to %s\n", qPrintable(currentActiveLayout)); QList<QVariant> args; args.append(currentActiveLayout); tohkbd2user->callWithArgumentList(QDBus::AutoDetect, "setActiveLayout", args); } }
/* Change virtual keyboard active layout, * uses private: vkbLayoutIsTohkbd * true = change to harbour-tohkbd2.qml * false = change to last non-tohkbd layout */ void Tohkbd::changeActiveLayout(bool justGetIt) { QString __currentActiveLayout = tohkbd2user->getActiveLayout(); printf("Current layout is %s\n", qPrintable(__currentActiveLayout)); if (__currentActiveLayout.contains("harbour-tohkbd2.qml") && vkbLayoutIsTohkbd) { return; } else if (!__currentActiveLayout.contains("harbour-tohkbd2.qml")) { if (__currentActiveLayout.contains("qml")) { if (__currentActiveLayout != currentActiveLayout) { currentActiveLayout = __currentActiveLayout; saveActiveLayout(); } } } if (justGetIt) return; if (vkbLayoutIsTohkbd) { printf("Changing to tohkbd\n"); tohkbd2user->setActiveLayout("harbour-tohkbd2.qml"); } else if (currentActiveLayout.contains("qml")) { printf("Changing to %s\n", qPrintable(currentActiveLayout)); tohkbd2user->setActiveLayout(currentActiveLayout); } }