aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2010-12-30 22:45:07 +0000
committerGravatar Szymon Tomasz Stefanek2010-12-30 22:45:07 +0000
commitb428ab53f3d7dda66e9321cb4ed05a027171f495 (patch)
tree2db1b2b253ded9000abd0d2b46a612a1d57898a5 /src
parentyet more splitting; (diff)
downloadKVIrc-b428ab53f3d7dda66e9321cb4ed05a027171f495.tar.gz
KVIrc-b428ab53f3d7dda66e9321cb4ed05a027171f495.tar.bz2
KVIrc-b428ab53f3d7dda66e9321cb4ed05a027171f495.zip
Fix resurrecting dead queries.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5276 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
-rw-r--r--src/kvirc/ui/KviQueryWindow.cpp32
1 files changed, 28 insertions, 4 deletions
diff --git a/src/kvirc/ui/KviQueryWindow.cpp b/src/kvirc/ui/KviQueryWindow.cpp
index e6ec38958..3919aae2b 100644
--- a/src/kvirc/ui/KviQueryWindow.cpp
+++ b/src/kvirc/ui/KviQueryWindow.cpp
@@ -106,7 +106,7 @@ KviQueryWindow::KviQueryWindow(KviMainWindow * lpFrm, KviConsoleWindow * lpConso
// FIXME: #warning "Maybe tell the user all that we know about the remote szEnd(s)....channels..."
m_pIrcView->enableDnd(TRUE);
- connect(m_pIrcView,SIGNAL(fileDropped(const QString &)),this,SLOT(slotDndEvents(const QString &)));
+ connect(m_pIrcView,SIGNAL(fileDropped(const QString &)),this,SLOT(slotDndEvents(const QString &)));
updateCaption();
}
@@ -390,6 +390,7 @@ void KviQueryWindow::userAction(KviIrcMask * user, unsigned int uActionType)
KviUserListEntry * KviQueryWindow::setTarget(const QString & szNick, const QString & szUser, const QString & szHost)
{
KviUserListEntry * e = m_pUserListView->join(szNick,szUser,szHost);
+
if((!e->globalData()->avatar()) && (!szUser.isEmpty()) && (szUser != "*"))
m_pConsole->checkDefaultAvatar(e->globalData(),szNick,szUser,szHost);
@@ -499,20 +500,43 @@ void KviQueryWindow::setDeadQuery()
void KviQueryWindow::setAliveQuery()
{
m_iFlags &= ~KVI_QUERY_FLAG_DEAD;
- m_pUserListView->setUserDataBase(connection()->userDataBase());
+
+ KviIrcUserDataBase * pUserDataBase = connection()->userDataBase();
+
+ m_pUserListView->setUserDataBase(pUserDataBase);
+
setType(KVI_WINDOW_TYPE_QUERY);
+
if(context())
context()->unregisterDeadQuery(this);
if(connection())
connection()->registerQuery(this);
+ QString szNick = target();
+
+ if(!szNick.isEmpty())
+ {
+ QString szUser;
+ QString szHost;
+
+ if(pUserDataBase)
+ {
+ KviIrcUserEntry * e = pUserDataBase->find(szNick);
+ if(e)
+ {
+ szUser = e->user();
+ szHost = e->host();
+ }
+ }
+
+ setTarget(szNick,szUser,szHost);
+ }
+
// Update log file name
if(m_pIrcView->isLogging())
m_pIrcView->startLogging();
updateIcon();
- updateCaption();
- updateLabelText();
}
void KviQueryWindow::applyOptions()