1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

Focus current chat widget text input when window is activated or empty window space clicked.

This commit is contained in:
rku 2015-12-15 19:31:45 +02:00
parent 63f7dee6cf
commit 5cb5f2e367
2 changed files with 20 additions and 1 deletions

View File

@ -1577,6 +1577,10 @@ bool Widget::event(QEvent * e)
{
switch (e->type())
{
case QEvent::MouseButtonPress:
case QEvent::MouseButtonDblClick:
focusChatInput();
break;
case QEvent::WindowActivate:
if (activeChatroomWidget != nullptr)
{
@ -1584,6 +1588,7 @@ bool Widget::event(QEvent * e)
activeChatroomWidget->updateStatusLight();
setWindowTitle(activeChatroomWidget->getTitle());
}
if (eventFlag)
{
eventFlag = false;
@ -1591,13 +1596,15 @@ bool Widget::event(QEvent * e)
updateIcons();
}
focusChatInput();
#ifdef Q_OS_MAC
emit windowStateChanged(windowState());
case QEvent::WindowStateChange:
Nexus::getInstance().updateWindowsStates();
#endif
break;
default:
break;
}
@ -2080,3 +2087,14 @@ void Widget::retranslateUi()
previousConversationAction->setText(tr("Previous Conversation"));
#endif
}
void Widget::focusChatInput()
{
if (activeChatroomWidget)
{
if (Friend* f = activeChatroomWidget->getFriend())
f->getChatForm()->focusInput();
else if (Group* g = activeChatroomWidget->getGroup())
g->getChatForm()->focusInput();
}
}

View File

@ -221,6 +221,7 @@ private:
static bool filterOnline(int index);
static bool filterOffline(int index);
void retranslateUi();
void focusChatInput();
private:
SystemTrayIcon *icon;