Revision: 7163
Author:   nogu.dev
Date:     Sun Jun 26 09:12:45 2011
Log:      * qt4/immodule/quiminputcontext.cpp
  - (QUimInputContext::createCandidateWindow): Add check for
    candidate-window-style custom variable.
http://code.google.com/p/uim/source/detail?r=7163

Modified:
 /trunk/qt4/immodule/quiminputcontext.cpp

=======================================
--- /trunk/qt4/immodule/quiminputcontext.cpp    Sun Jun 26 09:04:13 2011
+++ /trunk/qt4/immodule/quiminputcontext.cpp    Sun Jun 26 09:12:45 2011
@@ -183,18 +183,29 @@

 void QUimInputContext::createCandidateWindow()
 {
+    cwin = 0;
+    // deprecated
     char *candwinprog = uim_scm_symbol_value_str( "uim-candwin-prog" );
     if ( candwinprog ) {
         if ( !strncmp( candwinprog, "uim-candwin-tbl", 15 ) )
             cwin = new CandidateTableWindow( 0 );
         else if ( !strncmp( candwinprog, "uim-candwin-horizontal", 22 ) )
             cwin = new CandidateWindow( 0, false );
-        else
-            cwin = new CandidateWindow( 0 );
-    }
-    else
-        cwin = new CandidateWindow( 0 );
+    } else {
+        char *style = uim_scm_symbol_value_str( "candidate-window-style" );
+        if ( style ) {
+            if ( !strcmp( style, "table" ) )
+                cwin = new CandidateTableWindow( 0 );
+            else if ( !strcmp( style, "horizontal" ) )
+                cwin = new CandidateWindow( 0, false );
+        }
+        free( style );
+    }
     free( candwinprog );
+
+    if ( !cwin )
+        cwin = new CandidateWindow( 0 );
+
     cwin->setQUimInputContext( this );
     cwin->hide();
 }

Reply via email to