QStringList QInputContextPluginHangul::keys() const { int n = hangul_ic_get_n_keyboards(); QStringList keys; for (int i = 0; i < n; ++i) { const char* id = hangul_ic_get_keyboard_id(i); keys += QString("hangul").append(id); } return keys; }
QHangulPlatformInputContext::QHangulPlatformInputContext(const QString &keyboardType) { int i, n; n = hangul_ic_get_n_keyboards(); m_hic = NULL; for(i = 0; i < n; i++) { const char *s = hangul_ic_get_keyboard_id(i); if (keyboardType == s) { m_hic = hangul_ic_new(s); break; } } if (m_hic == NULL) { m_hic = hangul_ic_new("2"); } hangul_ic_connect_callback(m_hic, "transition", (void*)onTransition, NULL); m_candidateList = NULL; m_focusObject = NULL; }
QString QInputContextPluginHangul::displayName( const QString &key ) { int i; int n; const char* name; QString id = key.mid(sizeof("hangul") - 1, -1); n = hangul_ic_get_n_keyboards(); for (i = 0; i < n; ++i) { const char* s = hangul_ic_get_keyboard_id(i); if (id == s) { name = hangul_ic_get_keyboard_name(i); return QString::fromUtf8(name); } } return ""; }