Mercurial > pidgin.yaz
comparison libpurple/status.c @ 17646:27ee01859e9a
disapproval of revision '882bec7b9240768133433a448e9ff4e31e130832'
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Sat, 02 Jun 2007 04:34:56 +0000 |
parents | 3f11fad07eda |
children | 7b8725f898b3 |
comparison
equal
deleted
inserted
replaced
17645:3f11fad07eda | 17646:27ee01859e9a |
---|---|
1273 | 1273 |
1274 void | 1274 void |
1275 purple_presence_set_idle(PurplePresence *presence, gboolean idle, time_t idle_time) | 1275 purple_presence_set_idle(PurplePresence *presence, gboolean idle, time_t idle_time) |
1276 { | 1276 { |
1277 gboolean old_idle; | 1277 gboolean old_idle; |
1278 time_t current_time; | |
1279 | 1278 |
1280 g_return_if_fail(presence != NULL); | 1279 g_return_if_fail(presence != NULL); |
1281 | 1280 |
1282 if (presence->idle == idle && presence->idle_time == idle_time) | 1281 if (presence->idle == idle && presence->idle_time == idle_time) |
1283 return; | 1282 return; |
1284 | 1283 |
1285 old_idle = presence->idle; | 1284 old_idle = presence->idle; |
1286 presence->idle = idle; | 1285 presence->idle = idle; |
1287 presence->idle_time = (idle ? idle_time : 0); | 1286 presence->idle_time = (idle ? idle_time : 0); |
1288 | 1287 |
1289 current_time = time(NULL); | |
1290 | |
1291 if (purple_presence_get_context(presence) == PURPLE_PRESENCE_CONTEXT_BUDDY) | 1288 if (purple_presence_get_context(presence) == PURPLE_PRESENCE_CONTEXT_BUDDY) |
1292 { | 1289 { |
1290 time_t current_time = time(NULL); | |
1291 | |
1293 update_buddy_idle(purple_presence_get_buddy(presence), presence, current_time, | 1292 update_buddy_idle(purple_presence_get_buddy(presence), presence, current_time, |
1294 old_idle, idle); | 1293 old_idle, idle); |
1295 } | 1294 } |
1296 else if (purple_presence_get_context(presence) == PURPLE_PRESENCE_CONTEXT_ACCOUNT) | 1295 else if(purple_presence_get_context(presence) == PURPLE_PRESENCE_CONTEXT_ACCOUNT) |
1297 { | 1296 { |
1298 PurpleAccount *account; | 1297 PurpleAccount *account; |
1299 PurpleConnection *gc; | 1298 PurpleConnection *gc; |
1300 PurplePluginProtocolInfo *prpl_info = NULL; | 1299 PurplePluginProtocolInfo *prpl_info = NULL; |
1301 | 1300 |
1311 | 1310 |
1312 if (idle) | 1311 if (idle) |
1313 msg = g_strdup_printf(_("+++ %s became idle"), purple_account_get_username(account)); | 1312 msg = g_strdup_printf(_("+++ %s became idle"), purple_account_get_username(account)); |
1314 else | 1313 else |
1315 msg = g_strdup_printf(_("+++ %s became unidle"), purple_account_get_username(account)); | 1314 msg = g_strdup_printf(_("+++ %s became unidle"), purple_account_get_username(account)); |
1316 | |
1317 purple_log_write(log, PURPLE_MESSAGE_SYSTEM, | 1315 purple_log_write(log, PURPLE_MESSAGE_SYSTEM, |
1318 purple_account_get_username(account), | 1316 purple_account_get_username(account), |
1319 (idle ? idle_time : current_time), msg); | 1317 idle_time, msg); |
1320 g_free(msg); | 1318 g_free(msg); |
1321 } | 1319 } |
1322 } | 1320 } |
1323 | 1321 |
1324 gc = purple_account_get_connection(account); | 1322 gc = purple_account_get_connection(account); |
1326 if (gc != NULL && PURPLE_CONNECTION_IS_CONNECTED(gc) && | 1324 if (gc != NULL && PURPLE_CONNECTION_IS_CONNECTED(gc) && |
1327 gc->prpl != NULL) | 1325 gc->prpl != NULL) |
1328 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); | 1326 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); |
1329 | 1327 |
1330 if (prpl_info && prpl_info->set_idle) | 1328 if (prpl_info && prpl_info->set_idle) |
1331 prpl_info->set_idle(gc, (idle ? (current_time - idle_time) : 0)); | 1329 prpl_info->set_idle(gc, (idle ? (time(NULL) - idle_time) : 0)); |
1332 } | 1330 } |
1333 } | 1331 } |
1334 | 1332 |
1335 void | 1333 void |
1336 purple_presence_set_login_time(PurplePresence *presence, time_t login_time) | 1334 purple_presence_set_login_time(PurplePresence *presence, time_t login_time) |