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