Revision: 6248
Author: nogu.dev
Date: Thu Mar 11 04:30:09 2010
Log: * qt4/immodule/quiminputcontext.cpp
  - (QUimInputContext::getPreeditAttrs):
    Honor reversed-separator-background, separator-background,
    reversed-separator-foreground, and separator-foreground settings.
http://code.google.com/p/uim/source/detail?r=6248

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

=======================================
--- /trunk/qt4/immodule/quiminputcontext.cpp    Thu Mar 11 04:29:59 2010
+++ /trunk/qt4/immodule/quiminputcontext.cpp    Thu Mar 11 04:30:09 2010
@@ -751,6 +751,15 @@
         } else if ( uimAttr & UPreeditAttr_Separator ) {
             if ( !segStrLen )
                 segStrLen = QString( DEFAULT_SEPARATOR_STR ).length();
+            if ( !( uimAttr & UPreeditAttr_Reverse ) ) {
+ QColor color = getUserDefinedColor( "separator-foreground" );
+                if ( color.isValid() )
+                    segFmt.setForeground( color );
+                color = getUserDefinedColor( "separator-background" );
+                if ( color.isValid() )
+                    segFmt.setBackground( color );
+
+            }
         }

         if ( segStrLen ) {
@@ -762,11 +771,20 @@
                 segFmt.setBackground( fmt.foreground() );
 #else
                 // FIXME: Retrieve customized colors from the text widget
-                QColor color = getUserDefinedColor(
-                    "reversed-preedit-foreground" );
+                // foreground symbol
+                const char *fgSymbol;
+                // background symbol
+                const char *bgSymbol;
+                if ( uimAttr & UPreeditAttr_Separator ) {
+                    fgSymbol = "reversed-separator-foreground";
+                    bgSymbol = "reversed-separator-background";
+                } else {
+                    fgSymbol = "reversed-preedit-foreground";
+                    bgSymbol = "reversed-preedit-background";
+                }
+                QColor color = getUserDefinedColor( fgSymbol );
segFmt.setForeground( color.isValid() ? color : Qt::white );
-                color = getUserDefinedColor(
-                    "reversed-preedit-background" );
+                color = getUserDefinedColor( bgSymbol );
segFmt.setBackground( color.isValid() ? color : Qt::black );
 #endif
             }

Reply via email to