Add paste command (Ctrl-V) in GUIChatConsole
parent
cfba55ba0a
commit
daefd0ab36
|
@ -407,6 +407,15 @@ void ChatPrompt::input(wchar_t ch)
|
||||||
m_nick_completion_end = 0;
|
m_nick_completion_end = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ChatPrompt::input(const std::wstring &str)
|
||||||
|
{
|
||||||
|
m_line.insert(m_cursor, str);
|
||||||
|
m_cursor += str.size();
|
||||||
|
clampView();
|
||||||
|
m_nick_completion_start = 0;
|
||||||
|
m_nick_completion_end = 0;
|
||||||
|
}
|
||||||
|
|
||||||
std::wstring ChatPrompt::submit()
|
std::wstring ChatPrompt::submit()
|
||||||
{
|
{
|
||||||
std::wstring line = m_line;
|
std::wstring line = m_line;
|
||||||
|
|
|
@ -142,8 +142,9 @@ public:
|
||||||
ChatPrompt(std::wstring prompt, u32 history_limit);
|
ChatPrompt(std::wstring prompt, u32 history_limit);
|
||||||
~ChatPrompt();
|
~ChatPrompt();
|
||||||
|
|
||||||
// Input character
|
// Input character or string
|
||||||
void input(wchar_t ch);
|
void input(wchar_t ch);
|
||||||
|
void input(const std::wstring &str);
|
||||||
|
|
||||||
// Submit, clear and return current line
|
// Submit, clear and return current line
|
||||||
std::wstring submit();
|
std::wstring submit();
|
||||||
|
|
|
@ -507,6 +507,19 @@ bool GUIChatConsole::OnEvent(const SEvent& event)
|
||||||
scope);
|
scope);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else if(event.KeyInput.Key == KEY_KEY_V && event.KeyInput.Control)
|
||||||
|
{
|
||||||
|
// Ctrl-V pressed
|
||||||
|
// paste text from clipboard
|
||||||
|
IOSOperator *os_operator = Environment->getOSOperator();
|
||||||
|
const c8 *text = os_operator->getTextFromClipboard();
|
||||||
|
if (text)
|
||||||
|
{
|
||||||
|
std::wstring wtext = narrow_to_wide(text);
|
||||||
|
m_chat_backend->getPrompt().input(wtext);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
else if(event.KeyInput.Key == KEY_KEY_U && event.KeyInput.Control)
|
else if(event.KeyInput.Key == KEY_KEY_U && event.KeyInput.Control)
|
||||||
{
|
{
|
||||||
// Ctrl-U pressed
|
// Ctrl-U pressed
|
||||||
|
|
Loading…
Reference in New Issue