From: <geo...@us...> - 2013-10-22 05:23:53
|
Revision: 6462 http://sourceforge.net/p/freeorion/code/6462 Author: geoffthemedio Date: 2013-10-22 05:23:51 +0000 (Tue, 22 Oct 2013) Log Message: ----------- -Added cut functions to GUI by chaining a Copy and Paste("") -Added hotkeys for cut to MapWnd. Modified Paths: -------------- trunk/FreeOrion/GG/GG/GUI.h trunk/FreeOrion/GG/src/GUI.cpp trunk/FreeOrion/UI/MapWnd.cpp Modified: trunk/FreeOrion/GG/GG/GUI.h =================================================================== --- trunk/FreeOrion/GG/GG/GUI.h 2013-10-20 20:32:58 UTC (rev 6461) +++ trunk/FreeOrion/GG/GG/GUI.h 2013-10-22 05:23:51 UTC (rev 6462) @@ -334,6 +334,8 @@ virtual bool PasteFocusWndText(const std::string& text); ///< attempts to paste \a text into the current focus Wnd virtual bool PasteWndText(Wnd* wnd, const std::string& text); ///< attempts to paste \a text into the Wnd \a wnd bool PasteFocusWndClipboardText(); ///< attempts to paste clipboard contents into the current focus Wnd + virtual bool CutFocusWndText(); ///< copies current focus Wnd as text to clipboard, then pastes an empty string into that Wnd + virtual bool CutWndText(Wnd* wnd); ///< copies \a wnd as text to clipboard, then pastes an empty string to that Wnd //@} static GUI* GetGUI(); ///< allows any GG code access to GUI framework by calling GUI::GetGUI() Modified: trunk/FreeOrion/GG/src/GUI.cpp =================================================================== --- trunk/FreeOrion/GG/src/GUI.cpp 2013-10-20 20:32:58 UTC (rev 6461) +++ trunk/FreeOrion/GG/src/GUI.cpp 2013-10-22 05:23:51 UTC (rev 6462) @@ -1122,6 +1122,19 @@ return PasteFocusWndText(s_impl->m_clipboard_text); } +bool GUI::CutFocusWndText() +{ + Wnd* focus_wnd = FocusWnd(); + if (!focus_wnd) + return false; + return CutWndText(focus_wnd); +} + +bool GUI::CutWndText(Wnd* wnd) +{ + return CopyWndText(wnd) && PasteWndText(wnd, ""); +} + GUI* GUI::GetGUI() { return s_gui; } Modified: trunk/FreeOrion/UI/MapWnd.cpp =================================================================== --- trunk/FreeOrion/UI/MapWnd.cpp 2013-10-20 20:32:58 UTC (rev 6461) +++ trunk/FreeOrion/UI/MapWnd.cpp 2013-10-22 05:23:51 UTC (rev 6462) @@ -5112,8 +5112,11 @@ GG::Connect(GG::GUI::GetGUI()->AcceleratorSignal(GG::GGK_b), &MapWnd::ZoomToNextFleet, this)); - // Keys for copy / paste + // Keys for cut / copy / paste m_keyboard_accelerator_signals.insert( + GG::Connect(GG::GUI::GetGUI()->AcceleratorSignal(GG::GGK_x, GG::MOD_KEY_CTRL), + &GG::GUI::CutFocusWndText, GG::GUI::GetGUI())); + m_keyboard_accelerator_signals.insert( GG::Connect(GG::GUI::GetGUI()->AcceleratorSignal(GG::GGK_c, GG::MOD_KEY_CTRL), &GG::GUI::CopyFocusWndText, GG::GUI::GetGUI())); m_keyboard_accelerator_signals.insert( @@ -5162,6 +5165,7 @@ GG::GUI::GetGUI()->SetAccelerator(GG::GGK_b); // Copy / Paste + GG::GUI::GetGUI()->SetAccelerator(GG::GGK_x, GG::MOD_KEY_CTRL); GG::GUI::GetGUI()->SetAccelerator(GG::GGK_c, GG::MOD_KEY_CTRL); GG::GUI::GetGUI()->SetAccelerator(GG::GGK_v, GG::MOD_KEY_CTRL); } |