~ubuntu-branches/debian/experimental/quassel/experimental

« back to all changes in this revision

Viewing changes to src/common/ircuser.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Thomas Mueller
  • Date: 2009-10-05 23:13:06 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20091005231306-ngiajv5r0gbxjfoq
Tags: 0.5.0~rc2-1
* New upstream release (rc2)
* Make puiparts happy (closes: #538182)
* manageusers.py added (closes: #549296)

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
#include <QTextCodec>
29
29
#include <QDebug>
30
30
 
 
31
INIT_SYNCABLE_OBJECT(IrcUser)
31
32
IrcUser::IrcUser(const QString &hostmask, Network *network) : SyncableObject(network),
32
33
    _initialized(false),
33
34
    _nick(nickFromMask(hostmask)),
109
110
void IrcUser::setUser(const QString &user) {
110
111
  if(!user.isEmpty() && _user != user) {
111
112
    _user = user;
112
 
    emit userSet(user);
 
113
    SYNC(ARG(user));
113
114
  }
114
115
}
115
116
 
116
117
void IrcUser::setRealName(const QString &realName) {
117
118
  if (!realName.isEmpty() && _realName != realName) {
118
119
    _realName = realName;
119
 
    emit realNameSet(realName);
 
120
    SYNC(ARG(realName))
120
121
  }
121
122
}
122
123
 
123
124
void IrcUser::setAway(const bool &away) {
124
125
  if(away != _away) {
125
126
    _away = away;
 
127
    SYNC(ARG(away))
126
128
    emit awaySet(away);
127
129
  }
128
130
}
130
132
void IrcUser::setAwayMessage(const QString &awayMessage) {
131
133
  if(!awayMessage.isEmpty() && _awayMessage != awayMessage) {
132
134
    _awayMessage = awayMessage;
133
 
    emit awayMessageSet(awayMessage);
 
135
    SYNC(ARG(awayMessage))
134
136
  }
135
137
}
136
138
 
138
140
  if(idleTime.isValid() && _idleTime != idleTime) {
139
141
    _idleTime = idleTime;
140
142
    _idleTimeSet = QDateTime::currentDateTime();
141
 
    emit idleTimeSet(idleTime);
 
143
    SYNC(ARG(idleTime))
142
144
  }
143
145
}
144
146
 
145
147
void IrcUser::setLoginTime(const QDateTime &loginTime) {
146
148
  if(loginTime.isValid() && _loginTime != loginTime) {
147
149
    _loginTime = loginTime;
148
 
    emit loginTimeSet(loginTime);
 
150
    SYNC(ARG(loginTime))
149
151
  }
150
152
}
151
153
 
152
154
void IrcUser::setServer(const QString &server) {
153
155
  if(!server.isEmpty() && _server != server) {
154
156
    _server = server;
155
 
    emit serverSet(server);
 
157
    SYNC(ARG(server))
156
158
  }
157
159
}
158
160
 
159
161
void IrcUser::setIrcOperator(const QString &ircOperator) {
160
162
  if(!ircOperator.isEmpty() && _ircOperator != ircOperator) {
161
163
    _ircOperator = ircOperator;
162
 
    emit ircOperatorSet(ircOperator);
 
164
    SYNC(ARG(ircOperator))
163
165
  }
164
166
}
165
167
 
166
168
void IrcUser::setLastAwayMessage(const int &lastAwayMessage) {
167
169
  if(lastAwayMessage > _lastAwayMessage) {
168
170
    _lastAwayMessage = lastAwayMessage;
169
 
    emit lastAwayMessageSet(lastAwayMessage);
 
171
    SYNC(ARG(lastAwayMessage))
170
172
  }
171
173
}
172
174
 
173
175
void IrcUser::setHost(const QString &host) {
174
176
  if(!host.isEmpty() && _host != host) {
175
177
    _host = host;
176
 
    emit hostSet(host);
 
178
    SYNC(ARG(host))
177
179
  }
178
180
}
179
181
 
180
182
void IrcUser::setNick(const QString &nick) {
181
183
  if(!nick.isEmpty() && nick != _nick) {
 
184
    qDebug() << "setNick" << this << _nick << nick;
182
185
    _nick = nick;
183
186
    updateObjectName();
 
187
    SYNC(ARG(nick))
184
188
    emit nickSet(nick);
185
189
  }
186
190
}
188
192
void IrcUser::setWhoisServiceReply(const QString &whoisServiceReply) {
189
193
  if(!whoisServiceReply.isEmpty() && whoisServiceReply != _whoisServiceReply) {
190
194
    _whoisServiceReply = whoisServiceReply;
191
 
    emit whoisServiceReplySet(whoisServiceReply);
 
195
    SYNC(ARG(whoisServiceReply))
192
196
  }
193
197
}
194
198
 
195
199
void IrcUser::setSuserHost(const QString &suserHost) {
196
200
  if(!suserHost.isEmpty() && suserHost != _suserHost) {
197
201
    _suserHost = suserHost;
198
 
    emit suserHostSet(suserHost);
 
202
    SYNC(ARG(suserHost))
199
203
  }
200
204
}
201
205
 
217
221
  Q_ASSERT(channel);
218
222
  if(!_channels.contains(channel)) {
219
223
    _channels.insert(channel);
220
 
    channel->joinIrcUsers(this);
 
224
    channel->joinIrcUser(this);
221
225
  }
222
226
}
223
227
 
230
234
    _channels.remove(channel);
231
235
    disconnect(channel, 0, this, 0);
232
236
    channel->part(this);
233
 
    emit channelParted(channel->name());
 
237
    QString channelName = channel->name();
 
238
    SYNC_OTHER(partChannel, ARG(channelName))
234
239
    if(_channels.isEmpty() && !network()->isMe(this))
235
240
      quit();
236
241
  }
253
258
    channel->part(this);
254
259
  }
255
260
  network()->removeIrcUser(this);
 
261
  SYNC(NO_ARG)
256
262
  emit quited();
257
263
}
258
264
 
268
274
 
269
275
void IrcUser::setUserModes(const QString &modes) {
270
276
  _userModes = modes;
 
277
  SYNC(ARG(modes))
271
278
  emit userModesSet(modes);
272
279
}
273
280
 
280
287
      _userModes += modes[i];
281
288
  }
282
289
 
 
290
  SYNC(ARG(modes))
283
291
  emit userModesAdded(modes);
284
292
}
285
293
 
290
298
  for(int i = 0; i < modes.count(); i++) {
291
299
    _userModes.remove(modes[i]);
292
300
  }
 
301
  SYNC(ARG(modes))
293
302
  emit userModesRemoved(modes);
294
303
}
 
304
 
 
305
void IrcUser::setLastChannelActivity(BufferId buffer, const QDateTime &time) {
 
306
  _lastActivity[buffer] = time;
 
307
  emit lastChannelActivityUpdated(buffer, time);
 
308
}
 
309
 
 
310
void IrcUser::setLastSpokenTo(BufferId buffer, const QDateTime &time) {
 
311
  _lastSpokenTo[buffer] = time;
 
312
  emit lastSpokenToUpdated(buffer, time);
 
313
}