Author: yamakenz
Date: Thu Sep 20 05:59:37 2007
New Revision: 4985

Modified:
   trunk/qt/quiminputcontextplugin-qt4/candidatewindow.cpp
   trunk/qt/quiminputcontextplugin-qt4/candidatewindow.h
   trunk/qt/quiminputcontextplugin-qt4/plugin.cpp
   trunk/qt/quiminputcontextplugin-qt4/quiminputcontext.cpp
   trunk/qt/quiminputcontextplugin-qt4/quiminputcontextplugin.pro

Log:
* This commit update the obsolete code written for Qt4 technical
  previews to Qt4.3 release. Now it can be built but not working yet

* qt/quiminputcontextplugin-qt4/quiminputcontext.cpp
  - Include uim.h and uim-scm.h
  - (QUimInputContext::commitString):
    * Replace withdrawn sendIMEvent() with sendEvent()
    * Comment out Japanese fullwidth-space hack
  - (QUimInputContext::updatePreedit): Replace withdrawn sendIMEvent()
    with sendEvent()
  - (QUimInputContext::readIMConf): Follow the removal of
    uim_symbol_value_str()
* qt/quiminputcontextplugin-qt4/candidatewindow.h
  - Replace qvboxwidget.h with Qt3Support/Q3VBox
  - (class CandidateWindow): Replace the withdrawn base class
    QVBoxWidget with Q3VBox
* qt/quiminputcontextplugin-qt4/candidatewindow.cpp
  - (candidateFlag): Replace Qt3 flags with Qt4's
  - (CandidateWindow::CandidateWindow): Replace the withdrawn base
    class QVBoxWidget with Q3VBox
  - (CandidateWindow::setIndex, CandidateWindow::setIndexInPage):
    Follow the removal of QListWidget::isSelected() and setSelected()
* qt/quiminputcontextplugin-qt4/plugin.cpp
  - Replace Q_EXPORT_PLUGIN() with Q_EXPORT_PLUGIN2() and specify
    uiminputcontextplugin as identifier
* qt/quiminputcontextplugin-qt4/quiminputcontextplugin.pro
  - (TARGET): New and specify uiminputcontextplugin


Modified: trunk/qt/quiminputcontextplugin-qt4/candidatewindow.cpp
==============================================================================
--- trunk/qt/quiminputcontextplugin-qt4/candidatewindow.cpp     (original)
+++ trunk/qt/quiminputcontextplugin-qt4/candidatewindow.cpp     Thu Sep 20 
05:59:37 2007
@@ -8,18 +8,17 @@
 
 #include "quiminputcontext.h"
 
-const Qt::WFlags candidateFlag = ( Qt::WType_TopLevel
-                                   | Qt::WStyle_Customize
-                                   | Qt::WStyle_StaysOnTop
-                                   | Qt::WStyle_NoBorder
-                                   | Qt::WStyle_Tool
+const Qt::WFlags candidateFlag = ( Qt::Window
+                                   | Qt::WindowStaysOnTopHint
+                                   | Qt::FramelessWindowHint
+                                   | Qt::Tool
 #if defined(Q_WS_X11)
-                                   | Qt::WX11BypassWM
+                                   | Qt::X11BypassWindowManagerHint
 #endif
                                  );
 
 CandidateWindow::CandidateWindow( QWidget * parent )
-        : QVBoxWidget( parent, candidateFlag ),
+        : Q3VBox( parent, 0, candidateFlag ),
         ic( NULL ), nrCandidates( 0 ), candidateIndex( -1 ),
         displayLimit( 0 ), pageIndex( -1 ), isAlwaysLeft( false )
 {
@@ -199,8 +198,9 @@
         if ( displayLimit )
             pos = candidateIndex % displayLimit;
 
-        if ( cList->item( pos ) && ! ( cList->isSelected( cList->item( pos ) ) 
) )
-            cList->setSelected( cList->item( pos ), true );
+        if ( cList->item( pos )
+            && ! ( cList->currentItem() == cList->item( pos ) ) )
+            cList->setCurrentItem( cList->item( pos ) );
     }
     else
     {
@@ -211,7 +211,7 @@
 void CandidateWindow::setIndexInPage( int index )
 {
     QListWidgetItem * selectedItem = cList->item( index );
-    cList->setSelected( selectedItem, true );
+    cList->setCurrentItem( selectedItem );
 
     slotCandidateSelected( selectedItem );
 }

Modified: trunk/qt/quiminputcontextplugin-qt4/candidatewindow.h
==============================================================================
--- trunk/qt/quiminputcontextplugin-qt4/candidatewindow.h       (original)
+++ trunk/qt/quiminputcontextplugin-qt4/candidatewindow.h       Thu Sep 20 
05:59:37 2007
@@ -1,19 +1,17 @@
 #ifndef _CANDIDATE_WINDOW_H_
 #define _CANDIDATE_WINDOW_H_
 
-class QUimInputContext;
+#include <Qt3Support/Q3VBox>
 
 #include <uim/uim.h>
 
-#include <qvboxwidget.h>
-
 class QLabel;
 class QListWidget;
 class QListWidgetItem;
 
 class QUimInputContext;
 
-class CandidateWindow : public QVBoxWidget
+class CandidateWindow : public Q3VBox
 {
     Q_OBJECT
 

Modified: trunk/qt/quiminputcontextplugin-qt4/plugin.cpp
==============================================================================
--- trunk/qt/quiminputcontextplugin-qt4/plugin.cpp      (original)
+++ trunk/qt/quiminputcontextplugin-qt4/plugin.cpp      Thu Sep 20 05:59:37 2007
@@ -129,4 +129,4 @@
     return QStringList();
 }
 
-Q_EXPORT_PLUGIN( UimInputContextPlugin )
+Q_EXPORT_PLUGIN2( uiminputcontextplugin, UimInputContextPlugin )

Modified: trunk/qt/quiminputcontextplugin-qt4/quiminputcontext.cpp
==============================================================================
--- trunk/qt/quiminputcontextplugin-qt4/quiminputcontext.cpp    (original)
+++ trunk/qt/quiminputcontextplugin-qt4/quiminputcontext.cpp    Thu Sep 20 
05:59:37 2007
@@ -17,6 +17,9 @@
 #include "candidatewindow.h"
 #include "qhelpermanager.h"
 
+#include <uim/uim.h>
+#include <uim/uim-scm.h>
+
 #define DEFAULT_SEPARATOR_STR "|"
 
 QUimInputContext *focusedInputContext = NULL;
@@ -393,11 +396,14 @@
     if ( isComposing() )
     {
         preeditString = QString::null;
-        sendIMEvent( QEvent::InputMethodEnd, str );
+        QInputMethodEvent e;
+        e.setCommitString( str );
+        sendEvent( e );
         m_isComposing = false;
         return ;
     }
 
+#if 0
     // for hitting Space-Key when IM is On.
     // in this case, we should commit the string (Zenkaku-Space)
     // directly.
@@ -406,6 +412,7 @@
         sendIMEvent( QEvent::InputMethodStart );
         sendIMEvent( QEvent::InputMethodEnd, str );
     }
+#endif
 
 }
 void QUimInputContext::clearPreedit()
@@ -436,14 +443,21 @@
     // Activating the IM
     if ( ! newString.isEmpty() && ! isComposing() )
     {
-        sendIMEvent( QEvent::InputMethodStart );
+        sendEvent( QInputMethodEvent() );
         m_isComposing = true;
     }
 
     if ( ! newString.isEmpty() )
     {
         qDebug( "cursor = %d, length = %d", cursor, newString.length() );
-        sendIMEvent( QEvent::InputMethodCompose, newString, cursor, selLength 
);
+
+        QInputMethodEvent::Attribute cursor_attr( QInputMethodEvent::Cursor,
+                                                  cursor, selLength, 0 );
+        QList<QInputMethodEvent::Attribute> attrs;
+        attrs.append( cursor_attr );
+        QInputMethodEvent e( newString, attrs );
+
+        sendEvent( e );
     }
 
     // Preedit's length is Zero, we should deactivate IM and
@@ -451,7 +465,10 @@
     // empty string.
     if ( newString.isEmpty() && isComposing() )
     {
-        sendIMEvent( QEvent::InputMethodEnd );
+       QInputMethodEvent e;
+       e.setCommitString( "" );
+
+        sendEvent( e );
         m_isComposing = false;
     }
 
@@ -600,7 +617,7 @@
 
 void QUimInputContext::readIMConf()
 {
-    char * leftp = uim_symbol_value_str( "candidate-window-position" );
+    char * leftp = uim_scm_symbol_value_str( "candidate-window-position" );
     if ( leftp && !strcmp( leftp, "left" ) )
         cwin->setAlwaysLeftPosition( true );
     else

Modified: trunk/qt/quiminputcontextplugin-qt4/quiminputcontextplugin.pro
==============================================================================
--- trunk/qt/quiminputcontextplugin-qt4/quiminputcontextplugin.pro      
(original)
+++ trunk/qt/quiminputcontextplugin-qt4/quiminputcontextplugin.pro      Thu Sep 
20 05:59:37 2007
@@ -18,3 +18,5 @@
            qhelpermanager.cpp \
            quiminputcontext.cpp \
            candidatewindow.cpp
+
+TARGET = uiminputcontextplugin

Reply via email to