Compare commits

...

16 Commits

Author SHA1 Message Date
Simon Rozman
1b41ff7aab Version set to 2.0-alpha2 2016-04-06 13:21:24 +02:00
Simon Rozman
61af77e7b6 Main window size and position is remembered now 2016-04-06 13:15:03 +02:00
Simon Rozman
ee7f94d776 Old configuration delete added 2016-04-06 13:12:44 +02:00
Simon Rozman
1cb4f470c6 Application's config is global now 2016-04-06 13:09:33 +02:00
Simon Rozman
8fd0437502 GUI upgrade: Edit menu added, tool bar added, status bar added 2016-04-06 12:33:38 +02:00
Simon Rozman
93361f0edb Partial key sequence match no longer propagates the event 2016-04-06 12:29:07 +02:00
Simon Rozman
2007d04812 Non-Slovenian setup no longer include Slovenian localization 2016-04-05 14:54:54 +02:00
Simon Rozman
a4aff5151e Merged consecutive characters issue fixed 2016-04-05 14:38:59 +02:00
Simon Rozman
ce43a99b30 Sub-module update 2016-04-04 15:36:28 +02:00
Simon Rozman
06dae56c66 Shortcut monitor handles raw keyboard events now to get untranslated key codes 2016-04-04 14:22:33 +02:00
Simon Rozman
31869a9094 Comment fixed 2016-04-04 14:21:28 +02:00
Simon Rozman
799ef2da6b Sending capital Latin letters as lowercase issue fixed 2016-04-04 13:43:36 +02:00
Simon Rozman
80941d968f Cleanup 2016-04-04 13:21:40 +02:00
Simon Rozman
041ce03f09 Keyboard shortcuts changed to:
- ZRCola Compose: Win+Z => Win+F5
- Send composed: Ctrl+Enter => F5
- ZRCola Decompose: Win+Shift+Z => Win+F6
- Send decomposed: Ctrl+Enter => F6
- Cancel (de)composition: Esc
2016-04-04 13:15:26 +02:00
Simon Rozman
06c0ee790d Version set to 2.0-alpha1 2016-04-04 10:05:06 +02:00
Simon Rozman
e9535d5ee4 Cleanup 2016-04-04 10:03:57 +02:00
32 changed files with 10723 additions and 145 deletions

View File

@@ -53,7 +53,9 @@ All :: "$(LANG).$(PLAT).$(CFG).Component-1.idt"
Component ComponentId Directory_ Attributes Condition KeyPath
s$(MSIBUILD_LENGTH_ID) S38 s$(MSIBUILD_LENGTH_ID) i2 S255 S$(MSIBUILD_LENGTH_ID)
Component Component
!IF "$(LANG)" == "Sl"
compwxstd.mo.sl_SI {A5FEEA94-08CA-4E12-993F-A115601EF258} ZRCOLALOCSLSIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxstd.mo.sl_SI
!ENDIF
compLocalizationRepositoryPath {0E96110A-C38D-4600-9AE2-B8B59AF53A00} ZRCOLALOCDIR $(MSIBUILD_COMPONENT_ATTRIB_REGISTRY) regLocalizationRepositoryPath
compLanguage {B78359AC-9484-402C-8384-3A4595B39389} ZRCOLALOCDIR $(MSIBUILD_COMPONENT_ATTRIB_REGISTRY) regLanguage
compDatabasePath {DF3C720D-50BB-4377-9EE0-9AC21C02B9DD} ZRCOLADATADIR $(MSIBUILD_COMPONENT_ATTRIB_REGISTRY) regDatabasePath
@@ -226,7 +228,9 @@ All :: "$(LANG).$(PLAT).$(CFG).File-1.idt"
File Component_ FileName FileSize Version Language Attributes Sequence
s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID) l255 i4 S$(MSIBUILD_LENGTH_ID) S20 I2 i2
File File
!IF "$(LANG)" == "Sl"
filewxstd.mo.sl_SI compwxstd.mo.sl_SI wxstd.mo 0 1060 0 1
!ENDIF
fileZRCola.zrcdb compZRCola.zrcdb ZRCOLA~1.ZRC|ZRCola.zrcdb 0 0 1
file00_ZRCola_Re.ttf comp00_ZRCola_Re.ttf 00_ZRC~1.TTF|00_ZRCola_Re.ttf 0 0 1
file00_ZRCola_It.ttf comp00_ZRCola_It.ttf 00_ZRC~2.TTF|00_ZRCola_It.ttf 0 0 1

Submodule Updater updated: e88f1b429f...f1a3ae730a

View File

@@ -74,7 +74,9 @@ compZRCola.exe.Win32 {F30B6545-6203-4B7D-8575-85245A0F90E5} ZRCOLABINDIR 0 file
!IF "$(PLAT)" == "x64"
compZRCola.exe.x64 {D45B105D-2303-459A-AF4B-52AC3AAD5510} ZRCOLABINDIR 256 fileZRCola.exe.x64
!ENDIF
!IF "$(LANG)" == "Sl"
compZRCola.mo.sl_SI {7FF95C71-D8DE-4D2B-A26D-FEB5A1F54D63} ZRCOLALOCSLSIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) fileZRCola.mo.sl_SI
!ENDIF
<<NOKEEP
@@ -117,17 +119,19 @@ Feature_ Component_
s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID)
FeatureComponents Feature_ Component_
featZRCola compZRCola.exe.$(PLAT)
featZRCola compZRCola.mo.sl_SI
featZRCola complibZRCola.dll.$(PLAT)
featZRCola complibZRColaUI.dll.$(PLAT)
featZRCola compwxExtend.dll.$(PLAT)
featZRCola compwxExtend.mo.sl_SI
featZRCola compwxstd.mo.sl_SI
featZRCola compLocalizationRepositoryPath
featZRCola compLanguage
featZRCola compDatabasePath
featZRCola compZRCola.zrcdb
featZRCola comp00_ZRCola_Re.ttf
!IF "$(LANG)" == "Sl"
featZRCola compZRCola.mo.sl_SI
featZRCola compwxExtend.mo.sl_SI
featZRCola compwxstd.mo.sl_SI
!ENDIF
<<NOKEEP
@@ -143,7 +147,9 @@ File Component_ FileName FileSize Version Language Attributes Sequence
s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID) l255 i4 S$(MSIBUILD_LENGTH_ID) S20 I2 i2
File File
fileZRCola.exe.$(PLAT) compZRCola.exe.$(PLAT) ZRCola.exe 0 0 1536 1
!IF "$(LANG)" == "Sl"
fileZRCola.mo.sl_SI compZRCola.mo.sl_SI ZRCola.mo 0 1060 0 1
!ENDIF
<<NOKEEP

View File

@@ -50,7 +50,7 @@
<property name="title">ZRCola</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_name">ZRCola</property>
<property name="window_style">wxTAB_TRAVERSAL</property>
<property name="xrc_skip_sizer">1</property>
<event name="OnActivate"></event>
@@ -134,8 +134,8 @@
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
<object class="wxMenu" expanded="1">
<property name="label">&amp;File</property>
<property name="name">m_menuFile</property>
<property name="label">&amp;Program</property>
<property name="name">m_menuProgram</property>
<property name="permission">protected</property>
<object class="wxMenuItem" expanded="1">
<property name="bitmap"></property>
@@ -153,6 +153,105 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="wxMenu" expanded="1">
<property name="label">&amp;Edit</property>
<property name="name">m_menuEdit</property>
<property name="permission">protected</property>
<object class="wxMenuItem" expanded="1">
<property name="bitmap">Load From Icon Resource; edit_cut.ico; [16; 16]</property>
<property name="checked">0</property>
<property name="enabled">1</property>
<property name="help">Cuts selected text and puts it on the clipboard</property>
<property name="id">wxID_CUT</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">Cut</property>
<property name="name">m_menuItemEditCut</property>
<property name="permission">none</property>
<property name="shortcut">Ctrl+X</property>
<property name="unchecked_bitmap"></property>
<event name="OnMenuSelection"></event>
<event name="OnUpdateUI"></event>
</object>
<object class="wxMenuItem" expanded="1">
<property name="bitmap">Load From Icon Resource; edit_copy.ico; [16; 16]</property>
<property name="checked">0</property>
<property name="enabled">1</property>
<property name="help">Copies selected text to the clipboard</property>
<property name="id">wxID_COPY</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">&amp;Copy</property>
<property name="name">m_menuItemEditCopy</property>
<property name="permission">none</property>
<property name="shortcut">Ctrl+C</property>
<property name="unchecked_bitmap"></property>
<event name="OnMenuSelection"></event>
<event name="OnUpdateUI"></event>
</object>
<object class="wxMenuItem" expanded="1">
<property name="bitmap">Load From Icon Resource; edit_paste.ico; [16; 16]</property>
<property name="checked">0</property>
<property name="enabled">1</property>
<property name="help">Inserts text from the clipboard</property>
<property name="id">wxID_PASTE</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">&amp;Paste</property>
<property name="name">m_menuItemEditPaste</property>
<property name="permission">none</property>
<property name="shortcut">Ctrl+V</property>
<property name="unchecked_bitmap"></property>
<event name="OnMenuSelection"></event>
<event name="OnUpdateUI"></event>
</object>
<object class="separator" expanded="1">
<property name="name">m_separatorEdit1</property>
<property name="permission">none</property>
</object>
<object class="wxMenuItem" expanded="1">
<property name="bitmap">Load From Icon Resource; send_composed.ico; [16; 16]</property>
<property name="checked">0</property>
<property name="enabled">1</property>
<property name="help">Sends composed text to source window</property>
<property name="id">wxID_SEND_COMPOSED</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">&amp;Send Composed</property>
<property name="name">m_menuItemSendComposed</property>
<property name="permission">none</property>
<property name="shortcut">F5</property>
<property name="unchecked_bitmap"></property>
<event name="OnMenuSelection"></event>
<event name="OnUpdateUI"></event>
</object>
<object class="wxMenuItem" expanded="1">
<property name="bitmap">Load From Icon Resource; send_decomposed.ico; [16; 16]</property>
<property name="checked">0</property>
<property name="enabled">1</property>
<property name="help">Sends decomposed text to source window</property>
<property name="id">wxID_SEND_DECOMPOSED</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">Send &amp;Decomposed</property>
<property name="name">m_menuItemSendDecomposed</property>
<property name="permission">none</property>
<property name="shortcut">F6</property>
<property name="unchecked_bitmap"></property>
<event name="OnMenuSelection"></event>
<event name="OnUpdateUI"></event>
</object>
<object class="wxMenuItem" expanded="1">
<property name="bitmap">Load From Icon Resource; send_abort.ico; [16; 16]</property>
<property name="checked">0</property>
<property name="enabled">1</property>
<property name="help">Aborts composition and returns focus to source window</property>
<property name="id">wxID_SEND_ABORT</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">Abort (De)composition</property>
<property name="name">m_menuItemSendAbort</property>
<property name="permission">none</property>
<property name="shortcut">Esc</property>
<property name="unchecked_bitmap"></property>
<event name="OnMenuSelection"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="wxMenu" expanded="1">
<property name="label">&amp;Help</property>
<property name="name">m_menuHelp</property>
@@ -174,7 +273,195 @@
</object>
</object>
</object>
<object class="wxBoxSizer" expanded="1">
<object class="wxToolBar" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="bitmapsize"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="margins"></property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_toolbar</property>
<property name="packing">1</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="separation">5</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style">wxTB_HORIZONTAL</property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
<object class="tool" expanded="1">
<property name="bitmap">Load From Icon Resource; edit_cut.ico; [24; 24]</property>
<property name="context_menu">0</property>
<property name="id">wxID_CUT</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">Cut</property>
<property name="name">m_toolEditCut</property>
<property name="permission">protected</property>
<property name="statusbar">Cuts selected text and puts it on the clipboard</property>
<property name="tooltip">Cut</property>
<event name="OnAuiToolBarBeginDrag"></event>
<event name="OnAuiToolBarMiddleClick"></event>
<event name="OnAuiToolBarOverflowClick"></event>
<event name="OnAuiToolBarRightClick"></event>
<event name="OnAuiToolBarToolDropDown"></event>
<event name="OnMenuSelection"></event>
<event name="OnToolClicked"></event>
<event name="OnToolEnter"></event>
<event name="OnToolRClicked"></event>
<event name="OnUpdateUI"></event>
</object>
<object class="tool" expanded="1">
<property name="bitmap">Load From Icon Resource; edit_copy.ico; [24; 24]</property>
<property name="context_menu">0</property>
<property name="id">wxID_COPY</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">Copy</property>
<property name="name">m_toolEditCopy</property>
<property name="permission">protected</property>
<property name="statusbar">Copies selected text to the clipboard</property>
<property name="tooltip">Copy</property>
<event name="OnAuiToolBarBeginDrag"></event>
<event name="OnAuiToolBarMiddleClick"></event>
<event name="OnAuiToolBarOverflowClick"></event>
<event name="OnAuiToolBarRightClick"></event>
<event name="OnAuiToolBarToolDropDown"></event>
<event name="OnMenuSelection"></event>
<event name="OnToolClicked"></event>
<event name="OnToolEnter"></event>
<event name="OnToolRClicked"></event>
<event name="OnUpdateUI"></event>
</object>
<object class="tool" expanded="1">
<property name="bitmap">Load From Icon Resource; edit_paste.ico; [24; 24]</property>
<property name="context_menu">0</property>
<property name="id">wxID_PASTE</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">Paste</property>
<property name="name">m_toolEditPaste</property>
<property name="permission">protected</property>
<property name="statusbar">Inserts text from the clipboard</property>
<property name="tooltip">Paste</property>
<event name="OnAuiToolBarBeginDrag"></event>
<event name="OnAuiToolBarMiddleClick"></event>
<event name="OnAuiToolBarOverflowClick"></event>
<event name="OnAuiToolBarRightClick"></event>
<event name="OnAuiToolBarToolDropDown"></event>
<event name="OnMenuSelection"></event>
<event name="OnToolClicked"></event>
<event name="OnToolEnter"></event>
<event name="OnToolRClicked"></event>
<event name="OnUpdateUI"></event>
</object>
<object class="toolSeparator" expanded="1">
<property name="permission">protected</property>
</object>
<object class="tool" expanded="1">
<property name="bitmap">Load From Icon Resource; send_composed.ico; [24; 24]</property>
<property name="context_menu">0</property>
<property name="id">wxID_SEND_COMPOSED</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">Send Composed</property>
<property name="name">m_toolSendComposed</property>
<property name="permission">protected</property>
<property name="statusbar">Sends composed text to source window</property>
<property name="tooltip">Send Composed</property>
<event name="OnAuiToolBarBeginDrag"></event>
<event name="OnAuiToolBarMiddleClick"></event>
<event name="OnAuiToolBarOverflowClick"></event>
<event name="OnAuiToolBarRightClick"></event>
<event name="OnAuiToolBarToolDropDown"></event>
<event name="OnMenuSelection"></event>
<event name="OnToolClicked"></event>
<event name="OnToolEnter"></event>
<event name="OnToolRClicked"></event>
<event name="OnUpdateUI"></event>
</object>
<object class="tool" expanded="1">
<property name="bitmap">Load From Icon Resource; send_decomposed.ico; [24; 24]</property>
<property name="context_menu">0</property>
<property name="id">wxID_SEND_DECOMPOSED</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">Send Decomposed</property>
<property name="name">m_toolSendDecomposed</property>
<property name="permission">protected</property>
<property name="statusbar">Sends decomposed text to source window</property>
<property name="tooltip">Send Decomposed</property>
<event name="OnAuiToolBarBeginDrag"></event>
<event name="OnAuiToolBarMiddleClick"></event>
<event name="OnAuiToolBarOverflowClick"></event>
<event name="OnAuiToolBarRightClick"></event>
<event name="OnAuiToolBarToolDropDown"></event>
<event name="OnMenuSelection"></event>
<event name="OnToolClicked"></event>
<event name="OnToolEnter"></event>
<event name="OnToolRClicked"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">bSizerMain</property>
<property name="orient">wxVERTICAL</property>
@@ -265,6 +552,52 @@
</object>
</object>
</object>
<object class="wxStatusBar" expanded="1">
<property name="bg"></property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="fields">1</property>
<property name="font"></property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="maximum_size"></property>
<property name="minimum_size"></property>
<property name="name">m_statusBar</property>
<property name="permission">protected</property>
<property name="pos"></property>
<property name="size"></property>
<property name="style">wxST_SIZEGRIP</property>
<property name="subclass"></property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="Panel" expanded="1">
<property name="aui_managed">0</property>
@@ -354,7 +687,7 @@
<property name="font">00 ZRCola,90,90,20,70,0</property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_DECOMPOSED</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
@@ -445,7 +778,7 @@
<property name="font">00 ZRCola,90,90,20,70,0</property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_COMPOSED</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>

Binary file not shown.

View File

@@ -106,7 +106,12 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="res\send.ico" />
<None Include="res\edit_copy.ico" />
<None Include="res\edit_cut.ico" />
<None Include="res\edit_paste.ico" />
<None Include="res\send_abort.ico" />
<None Include="res\send_composed.ico" />
<None Include="res\send_decomposed.ico" />
<None Include="res\zrcola.ico" />
</ItemGroup>
<ItemGroup>

View File

@@ -59,10 +59,25 @@
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="res\send.ico">
<None Include="res\zrcola.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="res\zrcola.ico">
<None Include="res\send_abort.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="res\send_composed.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="res\send_decomposed.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="res\edit_copy.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="res\edit_cut.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="res\edit_paste.ico">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>

View File

@@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: ZRCola\n"
"POT-Creation-Date: 2016-03-14 17:18+0100\n"
"PO-Revision-Date: 2016-03-14 17:18+0100\n"
"POT-Creation-Date: 2016-04-06 12:31+0200\n"
"PO-Revision-Date: 2016-04-06 12:31+0200\n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
"Language: sl_SI\n"
@@ -17,27 +17,27 @@ msgstr ""
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
#: zrcolafrm.cpp:58
#: zrcolafrm.cpp:56
msgid ""
"ZRCola keyboard shortcut Win+Z could not be registered. Some functionality "
"ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality "
"will not be available."
msgstr ""
"ZRColine bližnjice na tipkovnici Win+Z ni mogoče registrirati. Nekaj "
"ZRColine bližnjice na tipkovnici Win+F5 ni mogoče registrirati. Nekaj "
"funkcionalnosti ne bo na voljo."
#: zrcolafrm.cpp:58 zrcolafrm.cpp:60
#: zrcolafrm.cpp:56 zrcolafrm.cpp:58
msgid "Warning"
msgstr "Opozorilo"
#: zrcolafrm.cpp:60
#: zrcolafrm.cpp:58
msgid ""
"ZRCola keyboard shortcut Win+Shift+Z could not be registered. Some "
"functionality will not be available."
"ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality "
"will not be available."
msgstr ""
"ZRColine bližnjice na tipkovnici Win+Shift+Z ni mogoče registrirati. Nekaj "
"ZRColine bližnjice na tipkovnici Win+F6 ni mogoče registrirati. Nekaj "
"funkcionalnosti ne bo na voljo."
#: zrcolafrm.cpp:140
#: zrcolafrm.cpp:119
#, c-format
msgid ""
"ZRCola v%s\n"
@@ -46,7 +46,7 @@ msgstr ""
"ZRCola v%s\n"
"Vse pravice pridržane 2015-%s Amebis"
#: zrcolafrm.cpp:140
#: zrcolafrm.cpp:119
msgid "About ZRCola"
msgstr "O ZRColi"
@@ -55,51 +55,123 @@ msgid "E&xit"
msgstr "I&zhod"
#: zrcolagui.cpp:35
msgid "&File"
msgstr "&Datoteka"
msgid "&Program"
msgstr "&Program"
#: zrcolagui.cpp:39
#: zrcolagui.cpp:39 zrcolagui.cpp:106
msgid "Cut"
msgstr "Izreži"
#: zrcolagui.cpp:39 zrcolagui.cpp:106
msgid "Cuts selected text and puts it on the clipboard"
msgstr "Izreže izbrano besedilo in ga shrani na odložišče"
#: zrcolagui.cpp:48
msgid "&Copy"
msgstr "&Kopiraj"
#: zrcolagui.cpp:48 zrcolagui.cpp:108
msgid "Copies selected text to the clipboard"
msgstr "Kopira izbrano besedilo na odložišče"
#: zrcolagui.cpp:57
msgid "&Paste"
msgstr "&Prilepi"
#: zrcolagui.cpp:57 zrcolagui.cpp:110
msgid "Inserts text from the clipboard"
msgstr "Vstavi besedilo z odložišča"
#: zrcolagui.cpp:68
msgid "&Send Composed"
msgstr "Pošlji &sestavljeno"
#: zrcolagui.cpp:68 zrcolagui.cpp:114
msgid "Sends composed text to source window"
msgstr "Pošlje sestavljeno besedilo izvornemu oknu"
#: zrcolagui.cpp:77
msgid "Send &Decomposed"
msgstr "Pošlji &razstavljeno"
#: zrcolagui.cpp:77 zrcolagui.cpp:116
msgid "Sends decomposed text to source window"
msgstr "Pošlje razstavljeno besedilo izvornemu oknu"
#: zrcolagui.cpp:86
msgid "Abort (De)composition"
msgstr "Prekini raz/sestavljanje"
#: zrcolagui.cpp:86
msgid "Aborts composition and returns focus to source window"
msgstr "Prekine sestavljanje in vrne fokus nazaj izvornemu oknu"
#: zrcolagui.cpp:94
msgid "&Edit"
msgstr "Ur&edi"
#: zrcolagui.cpp:98
msgid "&About"
msgstr "O progr&amu"
#: zrcolagui.cpp:42
#: zrcolagui.cpp:101
msgid "&Help"
msgstr "&Pomoč"
#: zrcolagui.h:47 MSIBuild/En.Win32.Debug.Feature-2.idtx:4
#: MSIBuild/En.Win32.Debug.Shortcut-2.idtx:4
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: zrcolagui.cpp:108
msgid "Copy"
msgstr "Kopiraj"
#: zrcolagui.cpp:110
msgid "Paste"
msgstr "Prilepi"
#: zrcolagui.cpp:114
msgid "Send Composed"
msgstr "Pošlji sestavljeno"
#: zrcolagui.cpp:116
msgid "Send Decomposed"
msgstr "Pošlji razstavljeno"
#: zrcolagui.h:64 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Debug.Feature-2.idtx:4
#: MSIBuild/En.x64.Debug.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "ZRCola"
msgstr "ZRCola"
# Windows charset for this language (decimal)
#: MSIBuild/En.Win32.Debug.Feature-2.idtx:3
#: MSIBuild/En.Win32.Debug.Shortcut-2.idtx:3
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3
#: MSIBuild/En.x64.Debug.Feature-2.idtx:3
#: MSIBuild/En.x64.Debug.Shortcut-2.idtx:3
#: MSIBuild/En.x64.Release.Feature-2.idtx:3
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:3
msgid "1252"
msgstr "1250"
#: MSIBuild/En.Win32.Debug.Feature-2.idtx:4
#: MSIBuild/En.Win32.Debug.Shortcut-2.idtx:4
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Debug.Feature-2.idtx:4
#: MSIBuild/En.x64.Debug.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "Input system for linguistic use"
msgstr "Vnašalni sistem za jezikoslovno rabo"
#~ msgid "&File"
#~ msgstr "&Datoteka"
#~ msgid "Send Decomposed (F6)"
#~ msgstr "Pošlji razstavljeno (F6)"
#~ msgid "Send Composed (F5)"
#~ msgstr "Pošlji sestavljeno (F5)"
#~ msgid ""
#~ "ZRCola keyboard shortcut Win+Shift+Z could not be registered. Some "
#~ "functionality will not be available."
#~ msgstr ""
#~ "ZRColine bližnjice na tipkovnici Win+Shift+Z ni mogoče registrirati. "
#~ "Nekaj funkcionalnosti ne bo na voljo."
#, fuzzy
#~ msgid "Authentication progress real time monitor"
#~ msgstr "Nadzira postopek overovljanja v realnem času"

BIN
ZRCola/res/edit_copy.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

1593
ZRCola/res/edit_copy.pdf Normal file

File diff suppressed because one or more lines are too long

BIN
ZRCola/res/edit_cut.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

1707
ZRCola/res/edit_cut.pdf Normal file

File diff suppressed because one or more lines are too long

BIN
ZRCola/res/edit_paste.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

1727
ZRCola/res/edit_paste.pdf Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

BIN
ZRCola/res/send_abort.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

1603
ZRCola/res/send_abort.pdf Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

1688
ZRCola/res/send_composed.pdf Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

File diff suppressed because one or more lines are too long

View File

@@ -26,6 +26,8 @@
#include "zrcolakeyhndlr.h"
#include <wx/msgdlg.h>
#include <wx/persist.h>
#include <wx/persist/toplevel.h>
#include <wxex/common.h>
#include <fstream>

View File

@@ -27,23 +27,24 @@
wxIMPLEMENT_APP(ZRColaApp);
ZRColaApp::ZRColaApp() :
m_config(wxT(ZRCOLA_CFG_APPLICATION), wxT(ZRCOLA_CFG_VENDOR)),
wxApp()
ZRColaApp::ZRColaApp() : wxApp()
{
}
bool ZRColaApp::OnInit()
{
wxConfigBase *cfgPrev = wxConfigBase::Set(new wxConfig(wxT(ZRCOLA_CFG_APPLICATION), wxT(ZRCOLA_CFG_VENDOR)));
if (cfgPrev) wxDELETE(cfgPrev);
if (!wxApp::OnInit())
return false;
// Set desired locale.
wxLanguage language = (wxLanguage)m_config.Read(wxT("Language"), wxLANGUAGE_DEFAULT);
wxLanguage language = (wxLanguage)wxConfigBase::Get()->Read(wxT("Language"), wxLANGUAGE_DEFAULT);
if (wxLocale::IsAvailable(language)) {
wxString sPath;
if (m_config.Read(wxT("LocalizationRepositoryPath"), &sPath))
if (wxConfigBase::Get()->Read(wxT("LocalizationRepositoryPath"), &sPath))
m_locale.AddCatalogLookupPathPrefix(sPath);
wxVERIFY(m_locale.Init(language));
wxVERIFY(m_locale.AddCatalog(wxT("wxExtend")));
@@ -51,7 +52,7 @@ bool ZRColaApp::OnInit()
}
wxZRColaFrame* mainFrame = new wxZRColaFrame();
wxPersistentRegisterAndRestore<wxTopLevelWindow>(mainFrame);
mainFrame->Show();
return true;

View File

@@ -55,7 +55,6 @@ public:
protected:
wxConfig m_config; ///< Application configuration
wxLocale m_locale; ///< Current locale
};
@@ -66,7 +65,7 @@ wxDECLARE_APP(ZRColaApp);
inline wxString ZRColaApp::GetDatabasePath() const
{
wxString sPath;
if (m_config.Read(wxT("DatabasePath"), &sPath)) {
if (wxConfigBase::Get()->Read(wxT("DatabasePath"), &sPath)) {
if (!wxEndsWithPathSeparator(sPath))
sPath << wxFILE_SEP_PATH;
} else {

View File

@@ -25,20 +25,18 @@
//////////////////////////////////////////////////////////////////////////
wxBEGIN_EVENT_TABLE(wxZRColaFrame, wxZRColaFrameBase)
EVT_UPDATE_UI_RANGE(wxZRColaFrame::wxID_SEND, wxZRColaFrame::wxID_SEND_DECOMPOSED, wxZRColaFrame::OnSendUpdate)
EVT_UPDATE_UI_RANGE(wxID_SEND_COMPOSED, wxID_SEND_ABORT, wxZRColaFrame::OnSendUpdate)
EVT_MENU(wxZRColaFrame::wxID_SEND , wxZRColaFrame::OnSend )
EVT_MENU(wxZRColaFrame::wxID_SEND_COMPOSED , wxZRColaFrame::OnSendComposed )
EVT_MENU(wxZRColaFrame::wxID_SEND_DECOMPOSED , wxZRColaFrame::OnSendDecomposed )
EVT_MENU(wxZRColaFrame::wxID_SEND_ABORT , wxZRColaFrame::OnSendAbort )
EVT_MENU( wxID_EXIT , wxZRColaFrame::OnExit )
EVT_MENU( wxID_ABOUT , wxZRColaFrame::OnAbout )
EVT_MENU(wxID_SEND_COMPOSED , wxZRColaFrame::OnSendComposed )
EVT_MENU(wxID_SEND_DECOMPOSED, wxZRColaFrame::OnSendDecomposed )
EVT_MENU(wxID_SEND_ABORT , wxZRColaFrame::OnSendAbort )
EVT_MENU(wxID_EXIT , wxZRColaFrame::OnExit )
EVT_MENU(wxID_ABOUT , wxZRColaFrame::OnAbout )
wxEND_EVENT_TABLE()
wxZRColaFrame::wxZRColaFrame() :
m_hWndSource(NULL),
m_hotkey(-1),
wxZRColaFrameBase(NULL)
{
// Load main window icons.
@@ -54,18 +52,10 @@ wxZRColaFrame::wxZRColaFrame() :
m_panel->m_decomposed->SetFocus();
// Register global hotkey(s).
if (!RegisterHotKey(wxZRColaHKID_INVOKE_COMPOSE, MOD_WIN, 'Z'))
wxMessageBox(_("ZRCola keyboard shortcut Win+Z could not be registered. Some functionality will not be available."), _("Warning"), wxOK | wxICON_WARNING);
if (!RegisterHotKey(wxZRColaHKID_INVOKE_DECOMPOSE, MOD_WIN | MOD_SHIFT, 'Z'))
wxMessageBox(_("ZRCola keyboard shortcut Win+Shift+Z could not be registered. Some functionality will not be available."), _("Warning"), wxOK | wxICON_WARNING);
// Register frame specific hotkey(s).
{
wxAcceleratorEntry entries[2];
entries[0].Set(wxACCEL_CTRL , WXK_RETURN, wxID_SEND);
entries[1].Set(wxACCEL_NORMAL, WXK_ESCAPE, wxID_SEND_ABORT);
SetAcceleratorTable(wxAcceleratorTable(_countof(entries), entries));
}
if (!RegisterHotKey(wxZRColaHKID_INVOKE_COMPOSE, wxMOD_WIN, VK_F5))
wxMessageBox(_("ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality will not be available."), _("Warning"), wxOK | wxICON_WARNING);
if (!RegisterHotKey(wxZRColaHKID_INVOKE_DECOMPOSE, wxMOD_WIN, VK_F6))
wxMessageBox(_("ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality will not be available."), _("Warning"), wxOK | wxICON_WARNING);
}
@@ -83,16 +73,6 @@ void wxZRColaFrame::OnSendUpdate(wxUpdateUIEvent& event)
}
void wxZRColaFrame::OnSend(wxCommandEvent& event)
{
switch (m_hotkey) {
case wxZRColaHKID_INVOKE_COMPOSE : wxZRColaFrame::OnSendComposed (event); break;
case wxZRColaHKID_INVOKE_DECOMPOSE: wxZRColaFrame::OnSendDecomposed(event); break;
default : event.Skip();
}
}
void wxZRColaFrame::OnSendComposed(wxCommandEvent& event)
{
if (m_hWndSource)
@@ -118,13 +98,12 @@ void wxZRColaFrame::OnSendAbort(wxCommandEvent& event)
::SetActiveWindow(m_hWndSource);
::SetForegroundWindow(m_hWndSource);
m_hWndSource = NULL;
m_hotkey = -1;
// Select all input in composer to prepare for the overwrite next time.
m_panel->m_decomposed->SelectAll();
m_panel->m_composed->SelectAll();
}
// Select all input in composer to prepare for the overwrite next time.
m_panel->m_decomposed->SelectAll();
m_panel->m_composed->SelectAll();
event.Skip();
}
@@ -146,30 +125,20 @@ void wxZRColaFrame::DoSend(const wxString& str)
// Prepare the INPUT table.
wxString::size_type n = str.length();
wxString::const_iterator i_str = str.begin();
std::vector<INPUT> input(n);
std::vector<INPUT> input;
input.reserve(n*2);
for (std::vector<INPUT>::size_type i = 0; i < n; i++, i_str++) {
wxString::char_type c = *i_str;
INPUT &inp = input[i];
inp.type = INPUT_KEYBOARD;
inp.ki.dwFlags = KEYEVENTF_UNICODE;
inp.ki.time = 0;
inp.ki.dwExtraInfo = 0;
if (c == L'\n') {
// Enter (Return) key is sent as CR virtual key code.
inp.ki.wVk = VK_RETURN;
inp.ki.wScan = L'\r';
} else if (L'a' <= c && c <= L'z') {
// Small letters have the same virtual key code as their uppercase counterparts.
inp.ki.wVk = (WORD)c + L'A' - L'a';
inp.ki.wScan = c;
} else if (L'A' <= c && c <= L'Z' || L'0' <= c && c <= L'0' || c == L' ') {
// Letters and symbols with matching virtual key codes.
inp.ki.wVk = c;
inp.ki.wScan = c;
} else {
inp.ki.wVk = 0;
inp.ki.wScan = c;
}
// Add key down event.
INPUT inp = { INPUT_KEYBOARD };
inp.ki.dwFlags = KEYEVENTF_UNICODE;
inp.ki.wScan = c != L'\n' ? c : L'\r'; // Enter (Return) key is sent as CR.
input.push_back(inp);
// Add key up event.
inp.ki.dwFlags |= KEYEVENTF_KEYUP;
input.push_back(inp);
}
// Return focus to the source window and send the input.
@@ -178,7 +147,6 @@ void wxZRColaFrame::DoSend(const wxString& str)
::Sleep(200);
::SendInput(input.size(), input.data(), sizeof(INPUT));
m_hWndSource = NULL;
m_hotkey = -1;
// Select all input in composer and decomposed to prepare for the overwrite next time.
m_panel->m_decomposed->SelectAll();
@@ -206,7 +174,6 @@ WXLRESULT wxZRColaFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM
}
m_hWndSource = hWndSource;
m_hotkey = wParam;
//if (m_state == wxABS_FLOAT) {
if (IsIconized()) {

View File

@@ -41,21 +41,12 @@ class wxZRColaFrame;
///
class wxZRColaFrame : public wxZRColaFrameBase
{
protected:
enum {
wxID_SEND = wxID_HIGHEST,
wxID_SEND_COMPOSED,
wxID_SEND_DECOMPOSED,
wxID_SEND_ABORT,
};
public:
wxZRColaFrame();
virtual ~wxZRColaFrame();
protected:
void OnSendUpdate(wxUpdateUIEvent& event);
void OnSend(wxCommandEvent& event);
void OnSendComposed(wxCommandEvent& event);
void OnSendDecomposed(wxCommandEvent& event);
void OnSendAbort(wxCommandEvent& event);
@@ -71,5 +62,4 @@ protected:
protected:
WXHWND m_hWndSource; ///< handle of the active window, when the ZRCola hotkey was pressed
int m_hotkey; ///< hotkey ID that was pressed
};

View File

@@ -22,17 +22,76 @@ wxHelpProvider::Set( new wxHelpControllerHelpProvider );
static wxFBContextSensitiveHelpSetter s_wxFBSetTheHelpProvider;
///////////////////////////////////////////////////////////////////////////
wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxFrame( parent, id, title, pos, size, style, name )
{
this->SetSizeHints( wxSize( 150,150 ), wxDefaultSize );
m_menubar = new wxMenuBar( 0 );
m_menuFile = new wxMenu();
m_menuProgram = new wxMenu();
wxMenuItem* m_menuItemExit;
m_menuItemExit = new wxMenuItem( m_menuFile, wxID_EXIT, wxString( _("E&xit") ) + wxT('\t') + wxT("Alt+F4"), wxEmptyString, wxITEM_NORMAL );
m_menuFile->Append( m_menuItemExit );
m_menuItemExit = new wxMenuItem( m_menuProgram, wxID_EXIT, wxString( _("E&xit") ) + wxT('\t') + wxT("Alt+F4"), wxEmptyString, wxITEM_NORMAL );
m_menuProgram->Append( m_menuItemExit );
m_menubar->Append( m_menuFile, _("&File") );
m_menubar->Append( m_menuProgram, _("&Program") );
m_menuEdit = new wxMenu();
wxMenuItem* m_menuItemEditCut;
m_menuItemEditCut = new wxMenuItem( m_menuEdit, wxID_CUT, wxString( _("Cut") ) + wxT('\t') + wxT("Ctrl+X"), _("Cuts selected text and puts it on the clipboard"), wxITEM_NORMAL );
#ifdef __WXMSW__
m_menuItemEditCut->SetBitmaps( wxIcon( wxT("edit_cut.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#elif (defined( __WXGTK__ ) || defined( __WXOSX__ ))
m_menuItemEditCut->SetBitmap( wxIcon( wxT("edit_cut.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#endif
m_menuEdit->Append( m_menuItemEditCut );
wxMenuItem* m_menuItemEditCopy;
m_menuItemEditCopy = new wxMenuItem( m_menuEdit, wxID_COPY, wxString( _("&Copy") ) + wxT('\t') + wxT("Ctrl+C"), _("Copies selected text to the clipboard"), wxITEM_NORMAL );
#ifdef __WXMSW__
m_menuItemEditCopy->SetBitmaps( wxIcon( wxT("edit_copy.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#elif (defined( __WXGTK__ ) || defined( __WXOSX__ ))
m_menuItemEditCopy->SetBitmap( wxIcon( wxT("edit_copy.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#endif
m_menuEdit->Append( m_menuItemEditCopy );
wxMenuItem* m_menuItemEditPaste;
m_menuItemEditPaste = new wxMenuItem( m_menuEdit, wxID_PASTE, wxString( _("&Paste") ) + wxT('\t') + wxT("Ctrl+V"), _("Inserts text from the clipboard"), wxITEM_NORMAL );
#ifdef __WXMSW__
m_menuItemEditPaste->SetBitmaps( wxIcon( wxT("edit_paste.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#elif (defined( __WXGTK__ ) || defined( __WXOSX__ ))
m_menuItemEditPaste->SetBitmap( wxIcon( wxT("edit_paste.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#endif
m_menuEdit->Append( m_menuItemEditPaste );
m_menuEdit->AppendSeparator();
wxMenuItem* m_menuItemSendComposed;
m_menuItemSendComposed = new wxMenuItem( m_menuEdit, wxID_SEND_COMPOSED, wxString( _("&Send Composed") ) + wxT('\t') + wxT("F5"), _("Sends composed text to source window"), wxITEM_NORMAL );
#ifdef __WXMSW__
m_menuItemSendComposed->SetBitmaps( wxIcon( wxT("send_composed.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#elif (defined( __WXGTK__ ) || defined( __WXOSX__ ))
m_menuItemSendComposed->SetBitmap( wxIcon( wxT("send_composed.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#endif
m_menuEdit->Append( m_menuItemSendComposed );
wxMenuItem* m_menuItemSendDecomposed;
m_menuItemSendDecomposed = new wxMenuItem( m_menuEdit, wxID_SEND_DECOMPOSED, wxString( _("Send &Decomposed") ) + wxT('\t') + wxT("F6"), _("Sends decomposed text to source window"), wxITEM_NORMAL );
#ifdef __WXMSW__
m_menuItemSendDecomposed->SetBitmaps( wxIcon( wxT("send_decomposed.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#elif (defined( __WXGTK__ ) || defined( __WXOSX__ ))
m_menuItemSendDecomposed->SetBitmap( wxIcon( wxT("send_decomposed.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#endif
m_menuEdit->Append( m_menuItemSendDecomposed );
wxMenuItem* m_menuItemSendAbort;
m_menuItemSendAbort = new wxMenuItem( m_menuEdit, wxID_SEND_ABORT, wxString( _("Abort (De)composition") ) + wxT('\t') + wxT("Esc"), _("Aborts composition and returns focus to source window"), wxITEM_NORMAL );
#ifdef __WXMSW__
m_menuItemSendAbort->SetBitmaps( wxIcon( wxT("send_abort.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#elif (defined( __WXGTK__ ) || defined( __WXOSX__ ))
m_menuItemSendAbort->SetBitmap( wxIcon( wxT("send_abort.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#endif
m_menuEdit->Append( m_menuItemSendAbort );
m_menubar->Append( m_menuEdit, _("&Edit") );
m_menuHelp = new wxMenu();
wxMenuItem* m_menuItemAbout;
@@ -43,6 +102,21 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
this->SetMenuBar( m_menubar );
m_toolbar = this->CreateToolBar( wxTB_HORIZONTAL, wxID_ANY );
m_toolEditCut = m_toolbar->AddTool( wxID_CUT, _("Cut"), wxIcon( wxT("edit_cut.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Cut"), _("Cuts selected text and puts it on the clipboard"), NULL );
m_toolEditCopy = m_toolbar->AddTool( wxID_COPY, _("Copy"), wxIcon( wxT("edit_copy.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Copy"), _("Copies selected text to the clipboard"), NULL );
m_toolEditPaste = m_toolbar->AddTool( wxID_PASTE, _("Paste"), wxIcon( wxT("edit_paste.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Paste"), _("Inserts text from the clipboard"), NULL );
m_toolbar->AddSeparator();
m_toolSendComposed = m_toolbar->AddTool( wxID_SEND_COMPOSED, _("Send Composed"), wxIcon( wxT("send_composed.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Send Composed"), _("Sends composed text to source window"), NULL );
m_toolSendDecomposed = m_toolbar->AddTool( wxID_SEND_DECOMPOSED, _("Send Decomposed"), wxIcon( wxT("send_decomposed.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Send Decomposed"), _("Sends decomposed text to source window"), NULL );
m_toolbar->Realize();
wxBoxSizer* bSizerMain;
bSizerMain = new wxBoxSizer( wxVERTICAL );
@@ -53,6 +127,7 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
this->SetSizer( bSizerMain );
this->Layout();
m_statusBar = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );
this->Centre( wxBOTH );
}
@@ -66,13 +141,13 @@ wxZRColaComposerPanelBase::wxZRColaComposerPanelBase( wxWindow* parent, wxWindow
wxBoxSizer* bSizerEditor;
bSizerEditor = new wxBoxSizer( wxVERTICAL );
m_decomposed = new wxTextCtrl( this, wxID_DECOMPOSED, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_CENTRE|wxTE_MULTILINE );
m_decomposed = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_CENTRE|wxTE_MULTILINE );
m_decomposed->SetFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_decomposed->SetMinSize( wxSize( 100,25 ) );
bSizerEditor->Add( m_decomposed, 50, wxALL|wxEXPAND, 5 );
m_composed = new wxTextCtrl( this, wxID_COMPOSED, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_CENTRE|wxTE_MULTILINE );
m_composed = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_CENTRE|wxTE_MULTILINE );
m_composed->SetFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_composed->SetMinSize( wxSize( 100,25 ) );

View File

@@ -21,8 +21,10 @@
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/toolbar.h>
#include "zrcolacomppnl.h"
#include <wx/sizer.h>
#include <wx/statusbr.h>
#include <wx/frame.h>
#include <wx/textctrl.h>
#include <wx/panel.h>
@@ -37,14 +39,29 @@ class wxZRColaFrameBase : public wxFrame
private:
protected:
enum
{
wxID_SEND_COMPOSED = 1000,
wxID_SEND_DECOMPOSED,
wxID_SEND_ABORT
};
wxMenuBar* m_menubar;
wxMenu* m_menuFile;
wxMenu* m_menuProgram;
wxMenu* m_menuEdit;
wxMenu* m_menuHelp;
wxToolBar* m_toolbar;
wxToolBarToolBase* m_toolEditCut;
wxToolBarToolBase* m_toolEditCopy;
wxToolBarToolBase* m_toolEditPaste;
wxToolBarToolBase* m_toolSendComposed;
wxToolBarToolBase* m_toolSendDecomposed;
wxZRColaComposerPanel* m_panel;
wxStatusBar* m_statusBar;
public:
wxZRColaFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("ZRCola"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 600,400 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
wxZRColaFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("ZRCola"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 600,400 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL, const wxString& name = wxT("ZRCola") );
~wxZRColaFrameBase();
@@ -58,12 +75,6 @@ class wxZRColaComposerPanelBase : public wxPanel
private:
protected:
enum
{
wxID_DECOMPOSED = 1000,
wxID_COMPOSED
};
wxTextCtrl* m_decomposed;
wxTextCtrl* m_composed;

View File

@@ -52,16 +52,17 @@ wxZRColaKeyHandler::wxZRColaKeyHandler() : wxEvtHandler()
bool wxZRColaKeyHandler::ProcessEvent(wxEvent& event)
{
if (event.GetEventType() == wxEVT_CHAR) {
if (event.GetEventType() == wxEVT_KEY_DOWN) {
// The character event occured.
ZRCola::keyseq_db::indexKey::size_type start, end;
bool found;
wxFrame *pFrame = wxDynamicCast(wxTheApp->GetTopWindow(), wxFrame);
{
// Parse key event and save it at the end of the key sequence.
wxKeyEvent &e = (wxKeyEvent&)event;
ZRCola::keyseq_db::keyseq::key_t key;
key.key = wxToupper(e.m_uniChar);
key.key = e.GetKeyCode(); //wxToupper(e.m_uniChar);
key.modifiers =
(e.ShiftDown() ? ZRCola::keyseq_db::keyseq::SHIFT : 0) |
(e.ControlDown() ? ZRCola::keyseq_db::keyseq::CTRL : 0) |
@@ -82,6 +83,9 @@ bool wxZRColaKeyHandler::ProcessEvent(wxEvent& event)
const ZRCola::keyseq_db::keyseq &ks = m_ks_db.idxKey[start];
m_seq.clear();
if (pFrame && pFrame->GetStatusBar())
pFrame->SetStatusText(wxEmptyString);
wxObject *obj = event.GetEventObject();
if (obj && obj->IsKindOf(wxCLASSINFO(wxTextCtrl))) {
// Push text to source control.
@@ -95,11 +99,17 @@ bool wxZRColaKeyHandler::ProcessEvent(wxEvent& event)
ZRCola::keyseq_db::keyseq::CompareSequence(m_seq.data(), m_seq.size(), m_ks_db.idxKey[start].seq, std::min<unsigned __int16>(m_ks_db.idxKey[start].seq_len, m_seq.size())) == 0)
{
// The sequence is a partial match. Continue watching.
if (pFrame && pFrame->GetStatusBar())
pFrame->SetStatusText(ZRCola::keyseq_db::GetSequenceAsText(m_seq.data(), m_seq.size()));
event.StopPropagation();
return true;
} else {
// The key sequence has no future chance to match. Start all over again.
m_seq.clear();
if (pFrame && pFrame->GetStatusBar())
pFrame->SetStatusText(wxEmptyString);
}
}

View File

@@ -274,11 +274,11 @@ int _tmain(int argc, _TCHAR *argv[])
db.idxKey.reserve(count);
db.data .reserve(count*4);
// Parse translations and build index and data.
// Parse key sequences and build index and data.
while (!ZRCola::DBSource::IsEOF(rs)) {
// Read translation from the database.
// Read key sequence from the database.
if (src.GetKeySequence(rs, ks)) {
// Add translation to index and data.
// Add key sequence to index and data.
unsigned __int32 idx = db.data.size();
db.data.push_back(ks.chr);
std::vector<ZRCola::DBSource::keyseq::keycode>::size_type n = ks.seq.size();

View File

@@ -23,7 +23,7 @@
// Product version as a single DWORD
// Note: Used for version comparison within C/C++ code.
//
#define ZRCOLA_VERSION 0x01ff0000
#define ZRCOLA_VERSION 0x01ff0200
//
// Product version by components
@@ -33,26 +33,26 @@
//
#define ZRCOLA_VERSION_MAJ 1
#define ZRCOLA_VERSION_MIN 255
#define ZRCOLA_VERSION_REV 0
#define ZRCOLA_VERSION_REV 2
#define ZRCOLA_VERSION_BUILD 0
//
// Human readable product version and build year for UI
//
#define ZRCOLA_VERSION_STR "2.0-alpha"
#define ZRCOLA_VERSION_STR "2.0-alpha2"
#define ZRCOLA_BUILD_YEAR_STR "2016"
//
// Numerical version presentation for ProductVersion propery in
// MSI packages (syntax: N.N[.N[.N]])
//
#define ZRCOLA_VERSION_INST "1.255"
#define ZRCOLA_VERSION_INST "1.255.2"
//
// The product code for ProductCode property in MSI packages
// Replace with new on every version change, regardless how minor it is.
//
#define ZRCOLA_VERSION_GUID "{F0ECB49B-1EF8-487F-9BE3-B0CC3CADE8AE}"
#define ZRCOLA_VERSION_GUID "{221AC7C3-020F-4A9B-8005-D49F8B5FE815}"
//
// The product vendor and application name for configuration keeping.