projects
/
quassel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d446bac
)
tabcompleter works now for queries and statusbuffer (own nick) too
author
Marcus Eggenberger
<egs@quassel-irc.org>
Fri, 11 Jul 2008 11:49:38 +0000
(13:49 +0200)
committer
Marcus Eggenberger
<egs@quassel-irc.org>
Fri, 11 Jul 2008 11:49:38 +0000
(13:49 +0200)
src/uisupport/tabcompleter.cpp
patch
|
blob
|
history
diff --git
a/src/uisupport/tabcompleter.cpp
b/src/uisupport/tabcompleter.cpp
index
03d49ec
..
e9edf03
100644
(file)
--- a/
src/uisupport/tabcompleter.cpp
+++ b/
src/uisupport/tabcompleter.cpp
@@
-50,34
+50,37
@@
void TabCompleter::buildCompletionList() {
return;
NetworkId networkId = currentIndex.data(NetworkModel::NetworkIdRole).value<NetworkId>();
return;
NetworkId networkId = currentIndex.data(NetworkModel::NetworkIdRole).value<NetworkId>();
- QString
channel
Name = currentIndex.sibling(currentIndex.row(), 0).data().toString();
+ QString
buffer
Name = currentIndex.sibling(currentIndex.row(), 0).data().toString();
const Network *network = Client::network(networkId);
if(!network)
return;
const Network *network = Client::network(networkId);
if(!network)
return;
- IrcChannel *channel = network->ircChannel(channelName);
- if(!channel)
- return;
-
- // FIXME commented for debugging
- /*
- disconnect(this, SLOT(ircUserJoinedOrParted(IrcUser *)));
- connect(channel, SIGNAL(ircUserJoined(IrcUser *)),
- this, SLOT(ircUserJoinedOrParted(IrcUser *)));
- connect(channel, SIGNAL(ircUserParted(IrcUser *)),
- this, SLOT(ircUserJoinedOrParted(IrcUser *)));
- */
QString tabAbbrev = inputLine->text().left(inputLine->cursorPosition()).section(' ',-1,-1);
QRegExp regex(QString("^[^a-zA-Z]*").append(QRegExp::escape(tabAbbrev)), Qt::CaseInsensitive);
QString tabAbbrev = inputLine->text().left(inputLine->cursorPosition()).section(' ',-1,-1);
QRegExp regex(QString("^[^a-zA-Z]*").append(QRegExp::escape(tabAbbrev)), Qt::CaseInsensitive);
- foreach(IrcUser *ircUser, channel->ircUsers()) {
- if(regex.indexIn(ircUser->nick()) > -1) {
- completionMap[ircUser->nick().toLower()] = ircUser->nick();
+ switch(static_cast<BufferInfo::Type>(currentIndex.data(NetworkModel::BufferTypeRole).toInt())) {
+ case BufferInfo::ChannelBuffer:
+ IrcChannel *channel = network->ircChannel(bufferName);
+ if(!channel)
+ return;
+ foreach(IrcUser *ircUser, channel->ircUsers()) {
+ if(regex.indexIn(ircUser->nick()) > -1)
+ completionMap[ircUser->nick().toLower()] = ircUser->nick();
}
}
+ break;
+ case BufferInfo::QueryBuffer:
+ if(regex.indexIn(bufferName) > -1)
+ completionMap[bufferName.toLower()] = bufferName;
+ case BufferInfo::StatusBuffer:
+ if(!network->myNick().isEmpty() && regex.indexIn(network->myNick()) > -1)
+ completionMap[network->myNick().toLower()] = network->myNick();
+ break;
+ default:
+ return;
}
}
-
+
nextCompletion = completionMap.begin();
lastCompletionLength = tabAbbrev.length();
}
nextCompletion = completionMap.begin();
lastCompletionLength = tabAbbrev.length();
}