diff --git a/honoka/src/honoka_def.h b/honoka/src/honoka_def.h index 09cc72c..cfd6d15 100644 --- a/honoka/src/honoka_def.h +++ b/honoka/src/honoka_def.h @@ -127,6 +127,10 @@ #define HONOKA_DEFAULT_SELECT_PREDICTION_DIRECT false #define HONOKA_CONFIG_PREDICTION_DELAY "/IMEngine/Honoka/PredictionDelay" #define HONOKA_DEFAULT_PREDICTION_DELAY 3 +#define HONOKA_CONFIG_TB_AUTOSHRINK_TIMER "/IMEngine/Honoka/ToolbarAutoShrink" +#define HONOKA_DEFAULT_TB_AUTOSHRINK_TIMER 0 +#define HONOKA_CONFIG_TB_AUTOEXPAND "/IMEngine/Honoka/ToolbarAutoExpand" +#define HONOKA_DEFAULT_TB_AUTOEXPAND false #define HONOKA_CONFIG_SAVE_SETTING "/IMEngine/Honoka/SaveSetting" #define HONOKA_DEFAULT_SAVE_SETTING false diff --git a/honoka/src/honoka_imengine.cpp b/honoka/src/honoka_imengine.cpp index 2dfad2b..fa253a2 100644 --- a/honoka/src/honoka_imengine.cpp +++ b/honoka/src/honoka_imengine.cpp @@ -348,6 +348,8 @@ // @todo if connected to jserver, should disconnect this. alp = _scim_config->read(String(HONOKA_CONFIG_ALP),HONOKA_DEFAULT_ALP); + ast = _scim_config->read(String(HONOKA_CONFIG_TB_AUTOSHRINK_TIMER),HONOKA_DEFAULT_TB_AUTOSHRINK_TIMER); + aep = _scim_config->read(String(HONOKA_CONFIG_TB_AUTOEXPAND),HONOKA_DEFAULT_TB_AUTOEXPAND); mini_status = _scim_config->read(String(HONOKA_CONFIG_MINISTATUS),HONOKA_DEFAULT_MINISTATUS); numkeyselect = _scim_config->read(String(HONOKA_CONFIG_NUMKEY_SELECT),HONOKA_DEFAULT_NUMKEY_SELECT); prediction = _scim_config->read(String(HONOKA_CONFIG_PREDICTION),HONOKA_DEFAULT_PREDICTION); @@ -906,6 +908,14 @@ send_helper_event("e135e0ee-5588-423e-a027-f07d769c12a3",trans); */ + if (ast) { + ast_id = HonokaTimer::self()->appendDelayEvent(ast); + } + if (aep && shrunkToolbar) { + shrunkToolbar = false; + m_proplist.clear(); + updateProperty(); + } KeyEvent ke = key; if (ke.mask & SCIM_KEY_CapsLockMask) ke.mask -= SCIM_KEY_CapsLockMask; if (ke.mask & SCIM_KEY_NumLockMask) ke.mask -= SCIM_KEY_NumLockMask; @@ -2006,6 +2016,11 @@ hide_lookup_table(); } } + if (ast && (id == ast_id) && (!shrunkToolbar)) { + shrunkToolbar = true; + m_proplist.clear(); + updateProperty(); + } } diff --git a/honoka/src/honoka_imengine.h b/honoka/src/honoka_imengine.h index 0ae59e1..695b425 100644 --- a/honoka/src/honoka_imengine.h +++ b/honoka/src/honoka_imengine.h @@ -133,6 +133,9 @@ bool m_no_update; int alp; int alp_count; + uint32 ast; + int ast_id; + bool aep; bool changeable_splitter; bool numkeyselect; bool mini_status;