diff options
| author | 2010-12-30 22:45:07 +0000 | |
|---|---|---|
| committer | 2010-12-30 22:45:07 +0000 | |
| commit | b428ab53f3d7dda66e9321cb4ed05a027171f495 (patch) | |
| tree | 2db1b2b253ded9000abd0d2b46a612a1d57898a5 /src | |
| parent | yet more splitting; (diff) | |
| download | KVIrc-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.cpp | 32 |
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() |
