PKG_CHECK_MODULES(ISF,[isf >= $ISF_VERSION])
PKG_CHECK_MODULES(SQLITE, [sqlite3 >= 0.0])
PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.0])
+PKG_CHECK_MODULES(ECORE, [ecore >= 0.0])
# Check if we should build setup module
PKG_CHECK_MODULES(ISF_GTKUTILS,[isf-gtkutils >= $ISF_VERSION],
BuildRequires: pkgconfig(isf)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(sqlite3)
+BuildRequires: pkgconfig(ecore)
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
sunpinyin_utils.h
-############### ise-engine-xt9.la ###################
moduledir = @SUNPINYIN_MODULE_DIR@/IMEngine
module_LTLIBRARIES = ise-engine-sunpinyin.la
sunpinyin_lookup_table.cpp\
sunpinyin_utils.cpp
-ise_engine_sunpinyin_la_CXXFLAGS = @ISF_CFLAGS@ ${ise_engine_sunpinyin_DEFINES}
+ise_engine_sunpinyin_la_CXXFLAGS = @ISF_CFLAGS@ @ECORE_CFLAGS@ ${ise_engine_sunpinyin_DEFINES}
ise_engine_sunpinyin_la_LDFLAGS = -avoid-version \
-module \
-export-dynamic\
@ISF_LIBS@\
+ @ECORE_LIBS@\
-lstdc++
ise_engine_sunpinyin_la_LIBADD = $(top_builddir)/src/libsunpinyin.la
#include <sys/stat.h>
#include <unistd.h>
+#include <Ecore_IMF.h>
+
#include <imi_options.h>
#include <imi_view.h>
#include <ic_history.h>
//hide_aux_string ();
//m_pv->updateWindows(m_pv->clearIC());
//refresh_all_properties ();
- show_lookup_table ();
+ if (m_lookup_table_always_on) {
+ show_lookup_table ();
+ } else {
+ hide_lookup_table ();
+ }
m_pv->updateWindows(CIMIView::PREEDIT_MASK | CIMIView::CANDIDATE_MASK);
}
{
SCIM_DEBUG_IMENGINE(3) << get_id() << ": focus_in ()\n";
m_focused = true;
- show_lookup_table ();
+ //show_lookup_table ();
initialize_all_properties ();
hide_preedit_string ();
}
}
+void
+SunPyInstance::set_layout (unsigned int layout)
+{
+ switch (layout)
+ {
+ case ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL:
+ case ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBER:
+ case ECORE_IMF_INPUT_PANEL_LAYOUT_EMAIL:
+ case ECORE_IMF_INPUT_PANEL_LAYOUT_URL:
+ show_lookup_table ();
+ m_lookup_table_always_on = true;
+ break;
+ case ECORE_IMF_INPUT_PANEL_LAYOUT_PHONENUMBER:
+ case ECORE_IMF_INPUT_PANEL_LAYOUT_IP:
+ case ECORE_IMF_INPUT_PANEL_LAYOUT_MONTH:
+ case ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY:
+ hide_lookup_table ();
+ m_lookup_table_always_on = false;
+ break;
+ }
+}
void
SunPyInstance::init_lookup_table_labels ()
CommonLookupTable *m_common_lookup_table;
Connection m_reload_signal_connection;
bool m_focused;
+ bool m_lookup_table_always_on;
public:
SunPyInstance(SunPyFactory *factory,
* update the configuration of the input method
*/
virtual void trigger_property (const String &property);
+ /**
+ * decide whether to display candidate window according to layout
+ */
+ virtual void set_layout (unsigned int layout);
public:
/**