パスワードを忘れた? アカウント作成
610453 journal

kzkの日記: Re: 根回し 2

日記 by kzk
Yamakenさんの根回しへの返信。
コメントだとパッチの部分でフィルターに引っかかる。
スラド使えねぇなぁと思った。

>・XIMではなくQMultiInputContextをデフォルトIMにしたいと考えてます。普通の人はそのままそれを使い続けるという前提で。ただQMultiInputContext上でのデフォルトも指定できないとまずいんで、うまい解決策がないか考え中です
前半は考えが完全に一致してます。後半は考えていませんでした。
とりあえず突発で思い付いたのは、

1.QUimInputContextをQMultiInputContextのサブクラスにする。
これだと、uim-qtがslaveとしてuim-qtを持つことも有るので非効率的かも。

もしくは。

2.
QMultiInputContextがデフォルトのIMを決定する為にqtrcを用いる.
↓みたいな感じで。

Index: kernel/qapplication_x11.cpp
===================================================================
--- kernel/qapplication_x11.cpp (revision 29)
+++ kernel/qapplication_x11.cpp (working copy)
@@ -527,7 +527,7 @@
/*!
     This code initializes defaultIM of a static member variable of QApplication.
*/
-QString        QApplication::defaultIM = "xim";
+QString        QApplication::defaultIM = "multi";

/*!
@@ -1017,13 +1017,6 @@
        xim_preferred_style = XIMPreeditArea | XIMStatusArea;
     else if ( ximInputStyle == "root" )
        xim_preferred_style = XIMPreeditNothing | XIMStatusNothing;
-
-    /*
-        The name of input method set up as a default is acquired from
-       a configuration file. However, If not set up, "xim" become
-       the name of default input method.
-     */
-    defaultIM = settings.readEntry( "/qt/DefaultInputMethod", QObject::trUtf8( "xim" ) );
#endif

     if (update_timestamp) {
Index: input/qmultiinputcontext.cpp
===================================================================
--- input/qmultiinputcontext.cpp        (revision 29)
+++ input/qmultiinputcontext.cpp        (working copy)
@@ -49,6 +49,13 @@
       cachedFocusWidget( 0 ), cachedHolderWidget( 0 ),
       beIndirectlyConnected( FALSE ), popup( NULL ), lastCreatedIMKey( QString::null )
{
+    /*
+        The name of input method set up as a default is acquired from
+       a configuration file. However, If not set up, "xim" become
+       the name of default input method.
+     */
+    QString defaultIM = settings.readEntry( "/qt/DefaultInputMethod", QObject::trUtf8( "xim" ) );
+    changeInputMethod( defaultIM );
}

QMultiInputContext::~QMultiInputContext()

>・dead/multi keys対応はtemporary solutionとしてQtUimで実装してみるのがいいと思います。SCIMとIIIMFでは不要(になった)みたいなんで
了解す。
とりあえず日曜までには完成させたい所です。

> あといくつかTODOが片付いたらその辺の開発/議論に合流するんで、とりあえずSimpleInputContextをtrunkにcommitしといてください。
うぃ。Qt4も有りますしね。
なんかすいません、Yamakenさんの負荷が高くて。。。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by YamaKenZ (12605) on 2004年07月22日 14時21分 (#593970)
    いや、QMultiInputContext自体はあくまでもIMの一つとして扱って、別のIMをmulti抜きでデフォルトに指定できるようにもしときたいんですよ。例えばscimとか。

    技術的にはDefaultInputMethodForMultiを増設して2段構えにするのが一番シンプルなんですが、ユーザ的には理解不能。かといってQMultiInputContextを特別扱いしてEnableMultiInputContextとDefaultInputMethodという組み合わせではIM選択機構のpluggabilityが失われるし。

    柔軟性の観点からuimとの抱き合わせもNGです。

    というわけで悩ましいです。何かいいアイディア思い付いてください。

    ちなみに私の負荷は気にしなくて大丈夫っすよ。コード書きは少ないけど割と楽しい作業だし。打ち上げももうすぐ?だし。
typodupeerror

物事のやり方は一つではない -- Perlな人

読み込み中...