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:
parent
63f7dee6cf
commit
5cb5f2e367
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -221,6 +221,7 @@ private:
|
||||
static bool filterOnline(int index);
|
||||
static bool filterOffline(int index);
|
||||
void retranslateUi();
|
||||
void focusChatInput();
|
||||
|
||||
private:
|
||||
SystemTrayIcon *icon;
|
||||
|
Loading…
x
Reference in New Issue
Block a user