Hid the chat window rather than close it in order to preserve sent

messages.
This commit is contained in:
Dimitar Dobrev 2014-03-13 14:07:21 +02:00
parent 727903b216
commit 442ca145da
5 changed files with 17 additions and 6 deletions

View file

@ -45,7 +45,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="src/ui/ChatWindow.cpp" line="110"/> <location filename="src/ui/ChatWindow.cpp" line="115"/>
<source>day</source> <source>day</source>
<translation> <translation>
<numerusform>%n day</numerusform> <numerusform>%n day</numerusform>
@ -53,7 +53,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="src/ui/ChatWindow.cpp" line="110"/> <location filename="src/ui/ChatWindow.cpp" line="115"/>
<source>hour</source> <source>hour</source>
<translation> <translation>
<numerusform>%n hour</numerusform> <numerusform>%n hour</numerusform>
@ -61,7 +61,7 @@
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="src/ui/ChatWindow.cpp" line="110"/> <location filename="src/ui/ChatWindow.cpp" line="115"/>
<source>minute</source> <source>minute</source>
<translation> <translation>
<numerusform>%n minute</numerusform> <numerusform>%n minute</numerusform>
@ -76,7 +76,7 @@
</translation> </translation>
</message> </message>
<message> <message>
<location filename="src/ui/ChatWindow.cpp" line="163"/> <location filename="src/ui/ChatWindow.cpp" line="170"/>
<source>%1 online now:</source> <source>%1 online now:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View file

@ -1043,6 +1043,8 @@ void Menu::showChat() {
mainWindow->geometry().y(), mainWindow->geometry().y(),
_chatWindow->width(), _chatWindow->width(),
mainWindow->height()); mainWindow->height());
}
if (!_chatWindow->isVisible()) {
_chatWindow->show(); _chatWindow->show();
} }
_chatWindow->raise(); _chatWindow->raise();

View file

@ -50,6 +50,7 @@ ChatWindow::ChatWindow() :
startTimerForTimeStamps(); startTimerForTimeStamps();
} else { } else {
ui->numOnlineLabel->hide(); ui->numOnlineLabel->hide();
ui->closeButton->hide();
ui->usersWidget->hide(); ui->usersWidget->hide();
ui->messagesScrollArea->hide(); ui->messagesScrollArea->hide();
ui->messagePlainTextEdit->hide(); ui->messagePlainTextEdit->hide();
@ -71,6 +72,10 @@ ChatWindow::~ChatWindow() {
delete ui; delete ui;
} }
void ChatWindow::reject() {
hide();
}
bool ChatWindow::eventFilter(QObject* sender, QEvent* event) { bool ChatWindow::eventFilter(QObject* sender, QEvent* event) {
Q_UNUSED(sender); Q_UNUSED(sender);
@ -136,9 +141,11 @@ void ChatWindow::startTimerForTimeStamps() {
void ChatWindow::connected() { void ChatWindow::connected() {
ui->connectingToXMPPLabel->hide(); ui->connectingToXMPPLabel->hide();
ui->numOnlineLabel->show(); ui->numOnlineLabel->show();
ui->closeButton->show();
ui->usersWidget->show(); ui->usersWidget->show();
ui->messagesScrollArea->show(); ui->messagesScrollArea->show();
ui->messagePlainTextEdit->show(); ui->messagePlainTextEdit->show();
ui->messagePlainTextEdit->setFocus();
#ifdef HAVE_QXMPP #ifdef HAVE_QXMPP
const QXmppMucRoom* publicChatRoom = XmppClient::getInstance().getPublicChatRoom(); const QXmppMucRoom* publicChatRoom = XmppClient::getInstance().getPublicChatRoom();
connect(publicChatRoom, SIGNAL(participantsChanged()), this, SLOT(participantsChanged())); connect(publicChatRoom, SIGNAL(participantsChanged()), this, SLOT(participantsChanged()));

View file

@ -33,6 +33,8 @@ public:
ChatWindow(); ChatWindow();
~ChatWindow(); ~ChatWindow();
virtual void reject();
protected: protected:
bool eventFilter(QObject* sender, QEvent* event); bool eventFilter(QObject* sender, QEvent* event);

View file

@ -185,10 +185,10 @@
<sender>closeButton</sender> <sender>closeButton</sender>
<signal>clicked()</signal> <signal>clicked()</signal>
<receiver>ChatWindow</receiver> <receiver>ChatWindow</receiver>
<slot>accept()</slot> <slot>hide()</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>342</x> <x>390</x>
<y>42</y> <y>42</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">