Mercurial > pidgin
view plugins/idle.c @ 11549:8b494b5763c2
[gaim-migrate @ 13804]
We were both adding and removing /gaim/gtk/conversations/send_formatting,
I figured that wasn't right so I removed it completely.
Also, do we really want to be calling stylize in gtkutils.c? It seems
like that would conflict with all the formatting done by the gtkimhtml.
Can someone please look at that? It shouldn't take too long to figure
it out if you're familiar with gtkimhtml.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 15 Sep 2005 04:54:26 +0000 |
parents | bb0d7b719af2 |
children | 78aad676fdb2 |
line wrap: on
line source
/* a nifty little plugin to set your idle time to whatever you want it to be. * useful for almost nothing. mostly just a demo plugin. but it's fun to have * 40-day idle times. */ #include "internal.h" #include "connection.h" #include "debug.h" #include "plugin.h" #include "request.h" #include "server.h" #include "version.h" #define IDLE_PLUGIN_ID "gtk-idle" static void idle_action_ok(void *ignored, GaimRequestFields *fields) { time_t t; int tm; GaimAccount *acct; GaimConnection *gc; tm = gaim_request_fields_get_integer(fields, "mins"); acct = gaim_request_fields_get_account(fields, "acct"); gc = gaim_account_get_connection(acct); gaim_debug(GAIM_DEBUG_INFO, "idle", "setting idle time for %s to %d\n", gaim_account_get_username(acct), tm); time(&t); t -= 60 * tm; gc->last_sent_time = t; serv_set_idle(gc, 60 * tm); gc->is_idle = 0; } static void idle_action(GaimPluginAction *action) { /* Use the super fancy request API */ GaimRequestFields *request; GaimRequestFieldGroup *group; GaimRequestField *field; group = gaim_request_field_group_new(NULL); field = gaim_request_field_account_new("acct", _("Account"), NULL); gaim_request_field_account_set_show_all(field, FALSE); gaim_request_field_group_add_field(group, field); field = gaim_request_field_int_new("mins", _("Minutes"), 10); gaim_request_field_group_add_field(group, field); request = gaim_request_fields_new(); gaim_request_fields_add_group(request, group); gaim_request_fields(action->plugin, N_("I'dle Mak'er"), _("Set Account Idle Time"), NULL, request, _("_Set"), G_CALLBACK(idle_action_ok), _("_Cancel"), NULL, NULL); } static GList * actions(GaimPlugin *plugin, gpointer context) { GList *l = NULL; GaimPluginAction *act = NULL; act = gaim_plugin_action_new(_("Set Account Idle Time"), idle_action); l = g_list_append(l, act); return l; } static GaimPluginInfo info = { GAIM_PLUGIN_MAGIC, GAIM_MAJOR_VERSION, GAIM_MINOR_VERSION, GAIM_PLUGIN_STANDARD, NULL, 0, NULL, GAIM_PRIORITY_DEFAULT, IDLE_PLUGIN_ID, N_("I'dle Mak'er"), VERSION, N_("Allows you to hand-configure how long you've been idle for"), N_("Allows you to hand-configure how long you've been idle for"), "Eric Warmenhoven <eric@warmenhoven.org>", GAIM_WEBSITE, NULL, NULL, NULL, NULL, NULL, NULL, actions }; static void init_plugin(GaimPlugin *plugin) { } GAIM_INIT_PLUGIN(idle, init_plugin, info)