diff --git a/MSI/MSM/wxMSW_wxmsw30u_aui_vc100.lst b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100.lst new file mode 100644 index 0000000..f489e2e --- /dev/null +++ b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100.lst @@ -0,0 +1 @@ +System Folder\wxmsw30u_aui_vc100.dll diff --git a/MSI/MSM/wxMSW_wxmsw30u_aui_vc100.msm b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100.msm new file mode 100644 index 0000000..1c6d4a9 Binary files /dev/null and b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100.msm differ diff --git a/MSI/MSM/wxMSW_wxmsw30u_aui_vc100.msmcfg b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100.msmcfg new file mode 100644 index 0000000..efed822 --- /dev/null +++ b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100.msmcfg @@ -0,0 +1,24 @@ +# +# Copyright 1991-2016 Amebis +# +# This file is part of ZRCola. +# +# ZRCola is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# ZRCola is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with ZRCola. If not, see . +# + +[splosno] +jezik=0 +deli=featZRCola + +[parametri] diff --git a/MSI/MSM/wxMSW_wxmsw30u_aui_vc100_x64.lst b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100_x64.lst new file mode 100644 index 0000000..45b2122 --- /dev/null +++ b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100_x64.lst @@ -0,0 +1 @@ +System (64-bit) Folder\wxmsw30u_aui_vc100_x64.dll diff --git a/MSI/MSM/wxMSW_wxmsw30u_aui_vc100_x64.msm b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100_x64.msm new file mode 100644 index 0000000..fa04153 Binary files /dev/null and b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100_x64.msm differ diff --git a/MSI/MSM/wxMSW_wxmsw30u_aui_vc100_x64.msmcfg b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100_x64.msmcfg new file mode 100644 index 0000000..efed822 --- /dev/null +++ b/MSI/MSM/wxMSW_wxmsw30u_aui_vc100_x64.msmcfg @@ -0,0 +1,24 @@ +# +# Copyright 1991-2016 Amebis +# +# This file is part of ZRCola. +# +# ZRCola is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# ZRCola is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with ZRCola. If not, see . +# + +[splosno] +jezik=0 +deli=featZRCola + +[parametri] diff --git a/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100.lst b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100.lst new file mode 100644 index 0000000..0c6d477 --- /dev/null +++ b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100.lst @@ -0,0 +1 @@ +System Folder\wxmsw30ud_aui_vc100.dll diff --git a/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100.msm b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100.msm new file mode 100644 index 0000000..0b8d3f9 Binary files /dev/null and b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100.msm differ diff --git a/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100.msmcfg b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100.msmcfg new file mode 100644 index 0000000..efed822 --- /dev/null +++ b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100.msmcfg @@ -0,0 +1,24 @@ +# +# Copyright 1991-2016 Amebis +# +# This file is part of ZRCola. +# +# ZRCola is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# ZRCola is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with ZRCola. If not, see . +# + +[splosno] +jezik=0 +deli=featZRCola + +[parametri] diff --git a/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100_x64.lst b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100_x64.lst new file mode 100644 index 0000000..49ec4c7 --- /dev/null +++ b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100_x64.lst @@ -0,0 +1 @@ +System (64-bit) Folder\wxmsw30ud_aui_vc100_x64.dll diff --git a/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100_x64.msm b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100_x64.msm new file mode 100644 index 0000000..061cc90 Binary files /dev/null and b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100_x64.msm differ diff --git a/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100_x64.msmcfg b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100_x64.msmcfg new file mode 100644 index 0000000..efed822 --- /dev/null +++ b/MSI/MSM/wxMSW_wxmsw30ud_aui_vc100_x64.msmcfg @@ -0,0 +1,24 @@ +# +# Copyright 1991-2016 Amebis +# +# This file is part of ZRCola. +# +# ZRCola is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# ZRCola is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with ZRCola. If not, see . +# + +[splosno] +jezik=0 +deli=featZRCola + +[parametri] diff --git a/ZRCola/ZRCola.fbp b/ZRCola/ZRCola.fbp index eba6b92..8f1a4ac 100644 --- a/ZRCola/ZRCola.fbp +++ b/ZRCola/ZRCola.fbp @@ -27,7 +27,7 @@ 1 0 - 0 + 1 wxAUI_MGR_DEFAULT wxBOTH @@ -315,6 +315,41 @@ + + &View + m_menuView + protected + + + 0 + 1 + Toggle edit toolbar + wxID_TOOLBAR_EDIT + wxITEM_CHECK + Edit Toolbar + m_menuItemToolbarEdit + none + + + + + + + + 0 + 1 + Toggle compose toolbar + wxID_TOOLBAR_COMPOSE + wxITEM_CHECK + Compose Toolbar + m_menuItemToolbarCompose + none + + + + + + &Help m_menuHelp @@ -336,19 +371,19 @@ - + 1 - 1 - 1 + 0 + 0 1 - - + 0 + toolbarEdit - + 1 - 16,16 - + -1,-1 + Edit 1 0 1 @@ -357,7 +392,7 @@ 0 Dock 0 - Left + Top 1 1 @@ -365,19 +400,20 @@ 0 0 wxID_ANY + 0 0 - + -1,-1 0 1 - m_toolbar + m_toolbarEdit 1 1 - - + -1,-1 + -1,-1 protected 1 @@ -385,10 +421,12 @@ 5 1 - wxTB_HORIZONTAL + wxAUI_TB_HORZ_LAYOUT - 0 + + 1 + 0 @@ -478,9 +516,89 @@ - - protected - + + + 1 + 0 + 0 + 1 + 0 + toolbarCompose + + 1 + + + -1,-1 + Compose + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Top + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + + + 0 + + -1,-1 + 0 + + 1 + m_toolbarCompose + 1 + 1 + -1,-1 + -1,-1 + protected + 1 + + Resizable + 5 + 1 + + wxAUI_TB_HORZ_LAYOUT + + + 1 + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + Load From Icon Resource; send_composed.ico; [24; 24] 0 @@ -523,83 +641,8 @@ - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Language: - - 0 - - - 0 - - 1 - m_toolDecompLanguageLbl - 1 - - + protected - 1 - - Resizable - 1 - - wxALIGN_RIGHT - - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - 1 @@ -685,96 +728,85 @@ - + + 1 + 1 + 1 + 1 + + composerPanel + + + + + (De)Composer + 0 + 0 + wxZRColaComposerPanel + 0 + m_panel = new wxZRColaComposerPanel( this ); + + 1 + wxZRColaComposerPanel* m_panel; + 0 + Dock + 0 + Center + 1 + + 0 + + 0 + 0 + wxID_ANY + #include "zrcolacomppnl.h" + + 0 + + + 0 - bSizerMain - wxVERTICAL - none - - 5 - wxEXPAND - 100 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - wxZRColaComposerPanel - 1 - m_panel = new wxZRColaComposerPanel( this ); - - 1 - wxZRColaComposerPanel* m_panel; - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - #include "zrcolacomppnl.h" - - 0 - - - 0 - - 1 - m_panel - 1 - - - protected - 1 - - Resizable - - 1 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1 + m_panel + 0 + + + protected + 0 + + Resizable + + 1 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ZRCola/locale/sl_SI.po b/ZRCola/locale/sl_SI.po index 4cf107d..a4939ea 100644 --- a/ZRCola/locale/sl_SI.po +++ b/ZRCola/locale/sl_SI.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: ZRCola\n" -"POT-Creation-Date: 2016-04-29 12:50+0200\n" -"PO-Revision-Date: 2016-04-29 12:50+0200\n" +"POT-Creation-Date: 2016-05-03 13:27+0200\n" +"PO-Revision-Date: 2016-05-03 13:27+0200\n" "Last-Translator: Simon Rozman \n" "Language-Team: Amebis, d. o. o., Kamnik \n" "Language: sl_SI\n" @@ -17,12 +17,12 @@ msgstr "" "X-Poedit-KeywordsList: _\n" "X-Poedit-SearchPath-0: .\n" -#: zrcolafrm.cpp:76 +#: zrcolafrm.cpp:93 #, c-format msgid "Select %s language for decomposition" msgstr "Izberi jezik %s za razstavljanje" -#: zrcolafrm.cpp:87 +#: zrcolafrm.cpp:104 msgid "" "ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality " "will not be available." @@ -30,11 +30,11 @@ msgstr "" "ZRColine bližnjice na tipkovnici Win+F5 ni mogoče registrirati. Nekaj " "funkcionalnosti ne bo na voljo." -#: zrcolafrm.cpp:87 zrcolafrm.cpp:89 +#: zrcolafrm.cpp:104 zrcolafrm.cpp:106 msgid "Warning" msgstr "Opozorilo" -#: zrcolafrm.cpp:89 +#: zrcolafrm.cpp:106 msgid "" "ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality " "will not be available." @@ -42,11 +42,11 @@ msgstr "" "ZRColine bližnjice na tipkovnici Win+F6 ni mogoče registrirati. Nekaj " "funkcionalnosti ne bo na voljo." -#: zrcolafrm.cpp:151 +#: zrcolafrm.cpp:174 msgid "Start ZRCola automatically on logon" msgstr "Samodejno zaženi ZRColo ob prijavi" -#: zrcolafrm.cpp:309 +#: zrcolafrm.cpp:360 #, c-format msgid "" "ZRCola v%s\n" @@ -55,156 +55,191 @@ msgstr "" "ZRCola v%s\n" "Vse pravice pridržane 2015-%s Amebis" -#: zrcolafrm.cpp:309 +#: zrcolafrm.cpp:360 msgid "About ZRCola" msgstr "O ZRColi" -#: zrcolagui.cpp:32 +#: zrcolagui.cpp:34 msgid "&Start on Logon" msgstr "Z&aženi ob prijavi" -#: zrcolagui.cpp:32 +#: zrcolagui.cpp:34 msgid "Start this program automatically on logon" msgstr "Samodejno zaženi ta program ob prijavi" -#: zrcolagui.cpp:38 +#: zrcolagui.cpp:40 msgid "E&xit" msgstr "I&zhod" -#: zrcolagui.cpp:38 +#: zrcolagui.cpp:40 msgid "Quit this program" msgstr "Zapri ta program" -#: zrcolagui.cpp:41 +#: zrcolagui.cpp:43 msgid "&Program" msgstr "&Program" -#: zrcolagui.cpp:74 +#: zrcolagui.cpp:76 msgid "Select &All" msgstr "Izberi &vse" -#: zrcolagui.cpp:74 +#: zrcolagui.cpp:76 msgid "Select all text" msgstr "Izberi celotno besedilo" -#: zrcolagui.cpp:80 +#: zrcolagui.cpp:82 msgid "&Send Composed" msgstr "Pošlji &sestavljeno" -#: zrcolagui.cpp:80 zrcolagui.cpp:137 +#: zrcolagui.cpp:82 zrcolagui.cpp:151 msgid "Send composed text to source window" msgstr "Pošlji sestavljeno besedilo izvornemu oknu" -#: zrcolagui.cpp:89 +#: zrcolagui.cpp:91 msgid "Send &Decomposed" msgstr "Pošlji &razstavljeno" -#: zrcolagui.cpp:89 zrcolagui.cpp:139 +#: zrcolagui.cpp:91 zrcolagui.cpp:153 msgid "Send decomposed text to source window" msgstr "Pošlji razstavljeno besedilo izvornemu oknu" -#: zrcolagui.cpp:98 +#: zrcolagui.cpp:100 msgid "Abort (De)composition" msgstr "Prekini raz/sestavljanje" -#: zrcolagui.cpp:98 +#: zrcolagui.cpp:100 msgid "Abort composition and return focus to source window" msgstr "Prekini sestavljanje in vrni fokus nazaj izvornemu oknu" -#: zrcolagui.cpp:107 +#: zrcolagui.cpp:109 msgid "&Language" msgstr "&Jezik" -#: zrcolagui.cpp:109 +#: zrcolagui.cpp:111 msgid "&Automatic" msgstr "S&amodejno" -#: zrcolagui.cpp:109 +#: zrcolagui.cpp:111 msgid "Set language according to keyboard layout automatically" msgstr "Samodejno nastavi jezik glede na izbrano tipkovnico" -#: zrcolagui.cpp:116 +#: zrcolagui.cpp:118 msgid "&Edit" msgstr "Ur&edi" -#: zrcolagui.cpp:123 -msgid "&Help" -msgstr "&Pomoč" +#: zrcolagui.cpp:122 +msgid "Edit Toolbar" +msgstr "Orodna vrstica za urejanje" + +#: zrcolagui.cpp:122 +msgid "Toggle edit toolbar" +msgstr "Prikaži/skrij orodno vrstico za urejanje" + +#: zrcolagui.cpp:126 +msgid "Compose Toolbar" +msgstr "Orodna vrstica za sestavljanje" + +#: zrcolagui.cpp:126 +msgid "Toggle compose toolbar" +msgstr "Prikaži/skrij orodno vrstico za sestavljanje" #: zrcolagui.cpp:129 +msgid "&View" +msgstr "Po&gled" + +#: zrcolagui.cpp:136 +msgid "&Help" +msgstr "Po&moč" + +#: zrcolagui.cpp:141 msgid "Cut" msgstr "Izreži" -#: zrcolagui.cpp:129 +#: zrcolagui.cpp:141 msgid "Cut selection" msgstr "Izreži izbor" -#: zrcolagui.cpp:131 +#: zrcolagui.cpp:143 msgid "Copy" msgstr "Kopiraj" -#: zrcolagui.cpp:131 +#: zrcolagui.cpp:143 msgid "Copy selection" msgstr "Kopiraj izbor" -#: zrcolagui.cpp:133 +#: zrcolagui.cpp:145 msgid "Paste" msgstr "Prilepi" -#: zrcolagui.cpp:133 +#: zrcolagui.cpp:145 msgid "Paste selection" msgstr "Prilepi izbor" -#: zrcolagui.cpp:137 +#: zrcolagui.cpp:148 +msgid "Edit" +msgstr "Urejanje" + +#: zrcolagui.cpp:151 msgid "Send Composed" msgstr "Pošlji sestavljeno" -#: zrcolagui.cpp:139 +#: zrcolagui.cpp:153 msgid "Send Decomposed" msgstr "Pošlji razstavljeno" -#: zrcolagui.cpp:141 -msgid "Language:" -msgstr "Jezik:" +#: zrcolagui.cpp:162 +msgid "Compose" +msgstr "Sestavljanje" -#: zrcolagui.cpp:190 +#: zrcolagui.cpp:166 +msgid "(De)Composer" +msgstr "Raz/Sestavljalnik" + +#: zrcolagui.cpp:201 msgid "Decomposed Text" msgstr "Razstavljeno besedilo" -#: zrcolagui.cpp:210 +#: zrcolagui.cpp:221 msgid "Decomposed Unicode Dump" msgstr "Unicode razstavljenega" -#: zrcolagui.cpp:237 +#: zrcolagui.cpp:248 msgid "Composed Text" msgstr "Sestavljeno besedilo" -#: zrcolagui.cpp:257 +#: zrcolagui.cpp:268 msgid "Composed Unicode Dump" msgstr "Unicode sestavljenega" -#: zrcolagui.h:77 MSIBuild/En.Win32.Release.Feature-2.idtx:4 -#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4 -#: MSIBuild/En.x64.Release.Feature-2.idtx:4 -#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4 +#: zrcolakeyhndlr.cpp:65 zrcolakeyhndlr.cpp:74 +msgid "INS" +msgstr "INS" + +#: zrcolagui.h:80 MSIBuild/En.Win32.Debug.Feature-2.idtx:4 +#: MSIBuild/En.Win32.Debug.Shortcut-2.idtx:4 +#: MSIBuild/En.x64.Debug.Feature-2.idtx:4 +#: MSIBuild/En.x64.Debug.Shortcut-2.idtx:4 msgid "ZRCola" msgstr "ZRCola" # Windows charset for this language (decimal) -#: MSIBuild/En.Win32.Release.Feature-2.idtx:3 -#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3 -#: MSIBuild/En.x64.Release.Feature-2.idtx:3 -#: MSIBuild/En.x64.Release.Shortcut-2.idtx:3 +#: MSIBuild/En.Win32.Debug.Feature-2.idtx:3 +#: MSIBuild/En.Win32.Debug.Shortcut-2.idtx:3 +#: MSIBuild/En.x64.Debug.Feature-2.idtx:3 +#: MSIBuild/En.x64.Debug.Shortcut-2.idtx:3 msgid "1252" msgstr "1250" -#: MSIBuild/En.Win32.Release.Feature-2.idtx:4 -#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4 -#: MSIBuild/En.x64.Release.Feature-2.idtx:4 -#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4 +#: MSIBuild/En.Win32.Debug.Feature-2.idtx:4 +#: MSIBuild/En.Win32.Debug.Shortcut-2.idtx:4 +#: MSIBuild/En.x64.Debug.Feature-2.idtx:4 +#: MSIBuild/En.x64.Debug.Shortcut-2.idtx:4 msgid "Input system for linguistic use" msgstr "Vnašalni sistem za jezikoslovno rabo" +#~ msgid "Language:" +#~ msgstr "Jezik:" + #~ msgid "&About" #~ msgstr "O progr&amu" diff --git a/ZRCola/stdafx.h b/ZRCola/stdafx.h index 0aadbd9..1551680 100644 --- a/ZRCola/stdafx.h +++ b/ZRCola/stdafx.h @@ -30,6 +30,7 @@ #include #include #include +#include #include #include diff --git a/ZRCola/zrcolafrm.cpp b/ZRCola/zrcolafrm.cpp index 0814990..4ba60e4 100644 --- a/ZRCola/zrcolafrm.cpp +++ b/ZRCola/zrcolafrm.cpp @@ -44,6 +44,11 @@ wxBEGIN_EVENT_TABLE(wxZRColaFrame, wxZRColaFrameBase) EVT_UPDATE_UI_RANGE(wxID_DECOMP_LANGUAGE_START, wxID_DECOMP_LANGUAGE_END, wxZRColaFrame::OnDecomposedLanguageUpdate ) EVT_MENU_RANGE (wxID_DECOMP_LANGUAGE_START, wxID_DECOMP_LANGUAGE_END, wxZRColaFrame::OnDecomposedLanguage ) + EVT_UPDATE_UI (wxID_TOOLBAR_EDIT , wxZRColaFrame::OnToolbarEditUpdate ) + EVT_MENU (wxID_TOOLBAR_EDIT , wxZRColaFrame::OnToolbarEdit ) + EVT_UPDATE_UI (wxID_TOOLBAR_COMPOSE , wxZRColaFrame::OnToolbarComposeUpdate ) + EVT_MENU (wxID_TOOLBAR_COMPOSE , wxZRColaFrame::OnToolbarCompose ) + EVT_MENU (wxID_ABOUT , wxZRColaFrame::OnAbout ) wxEND_EVENT_TABLE() @@ -53,6 +58,18 @@ wxZRColaFrame::wxZRColaFrame() : m_hWndSource(NULL), wxZRColaFrameBase(NULL) { + { + // wxFrameBuilder 3.5 does not support wxAUI_TB_HORIZONTAL flag. Add it manually. + wxAuiPaneInfo &paneInfo = m_mgr.GetPane(m_toolbarCompose); + paneInfo.LeftDockable(false); + paneInfo.RightDockable(false); + m_toolbarCompose->SetWindowStyleFlag(m_toolbarCompose->GetWindowStyleFlag() | wxAUI_TB_HORIZONTAL); + } + + // Restore the wxAuiManager's state here to keep symmetric with save in the destructor below. + // See the comment in destructor why. + wxPersistentAuiManager(&m_mgr).Restore(); + // Load main window icons. #ifdef __WINDOWS__ wxIconBundle icons; @@ -122,6 +139,10 @@ wxZRColaFrame::~wxZRColaFrame() // Unregister global hotkey(s). UnregisterHotKey(wxZRColaHKID_INVOKE_DECOMPOSE); UnregisterHotKey(wxZRColaHKID_INVOKE_COMPOSE); + + // Save wxAuiManager's state before return to parent's destructor. + // Since the later calls m_mgr.UnInit() the regular persistence mechanizm is useless to save wxAuiManager's state. + wxPersistentAuiManager((wxAuiManager*)&m_mgr).Save(); } @@ -179,7 +200,7 @@ void wxZRColaFrame::OnExit(wxCommandEvent& event) void wxZRColaFrame::OnForwardEventUpdate(wxUpdateUIEvent& event) { wxControl *focusWnd = wxDynamicCast(FindFocus(), wxControl); - if (focusWnd && !m_toolbar->IsDescendant(focusWnd)) + if (focusWnd && !m_toolbarCompose->IsDescendant(focusWnd)) focusWnd->GetEventHandler()->ProcessEvent(event); else event.Enable(false); @@ -306,6 +327,34 @@ void wxZRColaFrame::OnDecompLanguageChoice(wxCommandEvent& event) } +void wxZRColaFrame::OnToolbarEditUpdate(wxUpdateUIEvent& event) +{ + event.Check(m_mgr.GetPane(m_toolbarEdit).IsShown()); +} + + +void wxZRColaFrame::OnToolbarEdit(wxCommandEvent& event) +{ + wxAuiPaneInfo &paneInfo = m_mgr.GetPane(m_toolbarEdit); + paneInfo.Show(!paneInfo.IsShown()); + m_mgr.Update(); +} + + +void wxZRColaFrame::OnToolbarComposeUpdate(wxUpdateUIEvent& event) +{ + event.Check(m_mgr.GetPane(m_toolbarCompose).IsShown()); +} + + +void wxZRColaFrame::OnToolbarCompose(wxCommandEvent& event) +{ + wxAuiPaneInfo &paneInfo = m_mgr.GetPane(m_toolbarCompose); + paneInfo.Show(!paneInfo.IsShown()); + m_mgr.Update(); +} + + void wxZRColaFrame::OnAbout(wxCommandEvent& event) { wxMessageBox(wxString::Format(_("ZRCola v%s\nCopyright 2015-%s Amebis"), wxT(ZRCOLA_VERSION_STR), wxT(ZRCOLA_BUILD_YEAR_STR)), _("About ZRCola"), wxOK | wxICON_INFORMATION); diff --git a/ZRCola/zrcolafrm.h b/ZRCola/zrcolafrm.h index 0aba720..12636c2 100644 --- a/ZRCola/zrcolafrm.h +++ b/ZRCola/zrcolafrm.h @@ -78,6 +78,10 @@ protected: void OnDecomposedLanguageUpdate(wxUpdateUIEvent& event); void OnDecomposedLanguage(wxCommandEvent& event); virtual void OnDecompLanguageChoice(wxCommandEvent& event); + void OnToolbarEditUpdate(wxUpdateUIEvent& event); + void OnToolbarEdit(wxCommandEvent& event); + void OnToolbarComposeUpdate(wxUpdateUIEvent& event); + void OnToolbarCompose(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); wxDECLARE_EVENT_TABLE(); diff --git a/ZRCola/zrcolagui.cpp b/ZRCola/zrcolagui.cpp index adb8950..a5ff875 100644 --- a/ZRCola/zrcolagui.cpp +++ b/ZRCola/zrcolagui.cpp @@ -25,6 +25,8 @@ static wxFBContextSensitiveHelpSetter s_wxFBSetTheHelpProvider; 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_mgr.SetManagedWindow(this); + m_mgr.SetFlags(wxAUI_MGR_DEFAULT); m_menubar = new wxMenuBar( 0 ); m_menuProgram = new wxMenu(); @@ -115,6 +117,17 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS m_menubar->Append( m_menuEdit, _("&Edit") ); + m_menuView = new wxMenu(); + wxMenuItem* m_menuItemToolbarEdit; + m_menuItemToolbarEdit = new wxMenuItem( m_menuView, wxID_TOOLBAR_EDIT, wxString( _("Edit Toolbar") ) , _("Toggle edit toolbar"), wxITEM_CHECK ); + m_menuView->Append( m_menuItemToolbarEdit ); + + wxMenuItem* m_menuItemToolbarCompose; + m_menuItemToolbarCompose = new wxMenuItem( m_menuView, wxID_TOOLBAR_COMPOSE, wxString( _("Compose Toolbar") ) , _("Toggle compose toolbar"), wxITEM_CHECK ); + m_menuView->Append( m_menuItemToolbarCompose ); + + m_menubar->Append( m_menuView, _("&View") ); + m_menuHelp = new wxMenu(); wxMenuItem* m_menuItemAbout; m_menuItemAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( wxEmptyString ) , wxEmptyString, wxITEM_NORMAL ); @@ -124,41 +137,37 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS this->SetMenuBar( m_menubar ); - m_toolbar = this->CreateToolBar( wxTB_HORIZONTAL, wxID_ANY ); - m_toolbar->SetToolBitmapSize( wxSize( 16,16 ) ); - m_toolEditCut = m_toolbar->AddTool( wxID_CUT, _("Cut"), wxIcon( wxT("edit_cut.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Cut"), _("Cut selection"), NULL ); + m_toolbarEdit = new wxAuiToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_LAYOUT ); + m_toolEditCut = m_toolbarEdit->AddTool( wxID_CUT, _("Cut"), wxIcon( wxT("edit_cut.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Cut"), _("Cut selection"), NULL ); - m_toolEditCopy = m_toolbar->AddTool( wxID_COPY, _("Copy"), wxIcon( wxT("edit_copy.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Copy"), _("Copy selection"), NULL ); + m_toolEditCopy = m_toolbarEdit->AddTool( wxID_COPY, _("Copy"), wxIcon( wxT("edit_copy.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Copy"), _("Copy selection"), NULL ); - m_toolEditPaste = m_toolbar->AddTool( wxID_PASTE, _("Paste"), wxIcon( wxT("edit_paste.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Paste"), _("Paste selection"), NULL ); + m_toolEditPaste = m_toolbarEdit->AddTool( wxID_PASTE, _("Paste"), wxIcon( wxT("edit_paste.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Paste"), _("Paste selection"), NULL ); - m_toolbar->AddSeparator(); + m_toolbarEdit->Realize(); + m_mgr.AddPane( m_toolbarEdit, wxAuiPaneInfo().Name( wxT("toolbarEdit") ).Top().Caption( _("Edit") ).PinButton( true ).Dock().Resizable().FloatingSize( wxSize( -1,-1 ) ).LeftDockable( false ).RightDockable( false ).Row( 1 ).Layer( 0 ).ToolbarPane() ); - 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"), _("Send composed text to source window"), NULL ); + m_toolbarCompose = new wxAuiToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_LAYOUT ); + m_toolSendComposed = m_toolbarCompose->AddTool( wxID_SEND_COMPOSED, _("Send Composed"), wxIcon( wxT("send_composed.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Send Composed"), _("Send 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"), _("Send decomposed text to source window"), NULL ); + m_toolSendDecomposed = m_toolbarCompose->AddTool( wxID_SEND_DECOMPOSED, _("Send Decomposed"), wxIcon( wxT("send_decomposed.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Send Decomposed"), _("Send decomposed text to source window"), NULL ); + + m_toolbarCompose->AddSeparator(); - m_toolDecompLanguageLbl = new wxStaticText( m_toolbar, wxID_ANY, _("Language:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); - m_toolDecompLanguageLbl->Wrap( -1 ); - m_toolbar->AddControl( m_toolDecompLanguageLbl ); wxArrayString m_toolDecompLanguageChoices; - m_toolDecompLanguage = new wxChoice( m_toolbar, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_toolDecompLanguageChoices, 0 ); + m_toolDecompLanguage = new wxChoice( m_toolbarCompose, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_toolDecompLanguageChoices, 0 ); m_toolDecompLanguage->SetSelection( 0 ); - m_toolbar->AddControl( m_toolDecompLanguage ); - m_toolbar->Realize(); - - wxBoxSizer* bSizerMain; - bSizerMain = new wxBoxSizer( wxVERTICAL ); + m_toolbarCompose->AddControl( m_toolDecompLanguage ); + m_toolbarCompose->Realize(); + m_mgr.AddPane( m_toolbarCompose, wxAuiPaneInfo().Name( wxT("toolbarCompose") ).Top().Caption( _("Compose") ).PinButton( true ).Dock().Resizable().FloatingSize( wxSize( -1,-1 ) ).LeftDockable( false ).RightDockable( false ).Row( 1 ).Layer( 0 ).ToolbarPane() ); m_panel = new wxZRColaComposerPanel( this ); - bSizerMain->Add( m_panel, 100, wxEXPAND, 5 ); + m_mgr.AddPane( m_panel, wxAuiPaneInfo() .Name( wxT("composerPanel") ).Center() .Caption( _("(De)Composer") ).CaptionVisible( false ).CloseButton( false ).PaneBorder( false ).Dock().Resizable().FloatingSize( wxDefaultSize ).Floatable( false ) ); - - this->SetSizer( bSizerMain ); - this->Layout(); m_statusBar = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY ); + m_mgr.Update(); this->Centre( wxBOTH ); // Connect Events @@ -170,6 +179,8 @@ wxZRColaFrameBase::~wxZRColaFrameBase() // Disconnect Events m_toolDecompLanguage->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( wxZRColaFrameBase::OnDecompLanguageChoice ), NULL, this ); + m_mgr.UnInit(); + } wxZRColaComposerPanelBase::wxZRColaComposerPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name ) diff --git a/ZRCola/zrcolagui.h b/ZRCola/zrcolagui.h index 4ef271d..17465a9 100644 --- a/ZRCola/zrcolagui.h +++ b/ZRCola/zrcolagui.h @@ -21,14 +21,14 @@ #include #include #include -#include +#include +#include #include -#include #include "zrcolacomppnl.h" -#include #include #include #include +#include #include #include #include @@ -49,21 +49,24 @@ class wxZRColaFrameBase : public wxFrame wxID_SEND_COMPOSED, wxID_SEND_DECOMPOSED, wxID_SEND_ABORT, - wxID_DECOMP_LANG_AUTO + wxID_DECOMP_LANG_AUTO, + wxID_TOOLBAR_EDIT, + wxID_TOOLBAR_COMPOSE }; wxMenuBar* m_menubar; wxMenu* m_menuProgram; wxMenu* m_menuEdit; wxMenu* m_menuDecompLanguage; + wxMenu* m_menuView; wxMenu* m_menuHelp; - wxToolBar* m_toolbar; - wxToolBarToolBase* m_toolEditCut; - wxToolBarToolBase* m_toolEditCopy; - wxToolBarToolBase* m_toolEditPaste; - wxToolBarToolBase* m_toolSendComposed; - wxToolBarToolBase* m_toolSendDecomposed; - wxStaticText* m_toolDecompLanguageLbl; + wxAuiToolBar* m_toolbarEdit; + wxAuiToolBarItem* m_toolEditCut; + wxAuiToolBarItem* m_toolEditCopy; + wxAuiToolBarItem* m_toolEditPaste; + wxAuiToolBar* m_toolbarCompose; + wxAuiToolBarItem* m_toolSendComposed; + wxAuiToolBarItem* m_toolSendDecomposed; wxChoice* m_toolDecompLanguage; wxZRColaComposerPanel* m_panel; wxStatusBar* m_statusBar; @@ -75,6 +78,7 @@ class wxZRColaFrameBase : public wxFrame 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, const wxString& name = wxT("ZRCola") ); + wxAuiManager m_mgr; ~wxZRColaFrameBase(); diff --git a/include/MSIBuildCfg.mak b/include/MSIBuildCfg.mak index 59e32c4..269f0a2 100644 Binary files a/include/MSIBuildCfg.mak and b/include/MSIBuildCfg.mak differ diff --git a/lib/wxExtend b/lib/wxExtend index 7627cab..5a372f9 160000 --- a/lib/wxExtend +++ b/lib/wxExtend @@ -1 +1 @@ -Subproject commit 7627cabc1bd12eb295e6ad6b0984475c6163f190 +Subproject commit 5a372f955bac3d61beab94585a28038b97d7dae6