Changeset - 3c0f8b47447b
[Not reviewed]
0 1 0
Jan Kaluza - 9 years ago 2016-02-28 14:48:24
jkaluza@redhat.com
Libcommuni: Default irc_away_timeout to 60 seconds
1 file changed with 1 insertions and 1 deletions:
0 comments (0 inline, 0 general)
backends/libcommuni/session.cpp
Show inline comments
 
@@ -60,49 +60,49 @@ MyIrcSession::~MyIrcSession() {
 

	
 
void MyIrcSession::createBufferModel() {
 
	m_bufferModel = new IrcBufferModel(this);
 
	connect(m_bufferModel, SIGNAL(added(IrcBuffer*)), this, SLOT(onBufferAdded(IrcBuffer*)));
 
	connect(m_bufferModel, SIGNAL(removed(IrcBuffer*)), this, SLOT(onBufferRemoved(IrcBuffer*)));
 

	
 
	// keep the command parser aware of the context
 
// 	connect(m_bufferModel, SIGNAL(channelsChanged(QStringList)), parser, SLOT(setChannels(QStringList)));
 

	
 
	// create a server buffer for non-targeted messages...
 
	IrcBuffer* serverBuffer = m_bufferModel->add(host());
 
	// ...and connect it to IrcBufferModel::messageIgnored()
 
	// TODO: Make this configurable, so users can show the MOTD and other stuff as in normal
 
	// IRC client.
 
	connect(m_bufferModel, SIGNAL(messageIgnored(IrcMessage*)), serverBuffer, SLOT(receiveMessage(IrcMessage*)));
 
}
 

	
 
void MyIrcSession::onBufferAdded(IrcBuffer* buffer) {
 
	LOG4CXX_INFO(logger, m_user << ": Created IrcBuffer " << TO_UTF8(buffer->name()));
 

	
 
	connect(buffer, SIGNAL(messageReceived(IrcMessage*)), this, SLOT(onMessageReceived(IrcMessage*)));
 

	
 
	if (buffer->isChannel()) {
 
		QVariantMap userData;
 
		userData["awayCycle"] = boost::lexical_cast<int>(CONFIG_STRING_DEFAULTED(m_np->getConfig(), "service.irc_away_timeout", "12")) + m_userModels.size();
 
		userData["awayCycle"] = boost::lexical_cast<int>(CONFIG_STRING_DEFAULTED(m_np->getConfig(), "service.irc_away_timeout", "60")) + m_userModels.size();
 
		userData["awayTick"] = 0;
 
		buffer->setUserData(userData);
 
	}
 

	
 
	// create a  model for buffer users
 
	IrcUserModel* userModel = new IrcUserModel(buffer);
 
	connect(userModel, SIGNAL(added(IrcUser*)), this, SLOT(onIrcUserAdded(IrcUser*)));
 
	connect(userModel, SIGNAL(removed(IrcUser*)), this, SLOT(onIrcUserRemoved(IrcUser*)));
 
	m_userModels.insert(buffer, userModel);
 
}
 

	
 
void MyIrcSession::onBufferRemoved(IrcBuffer* buffer) {
 
	LOG4CXX_INFO(logger, m_user << ": Removed IrcBuffer " << TO_UTF8(buffer->name()));
 
	// the buffer specific models and documents are no longer needed
 
	delete m_userModels.take(buffer);
 
}
 

	
 
bool MyIrcSession::hasIrcUser(const std::string &channel_, const std::string &name) {
 
	std::string channel = channel_;
 
	if (channel[0] != '#') {
 
		channel = "#" + channel;
 
	}
 

	
 
	IrcBuffer *buffer = m_bufferModel->find(FROM_UTF8(channel));
0 comments (0 inline, 0 general)