Mercurial > pidgin.yaz
annotate plugins/timestamp.c @ 13761:ec858948d292
[gaim-migrate @ 16173]
SF Patch #1482854 from Sadrul
"This exposes the savedstatuses-api to dbus and makes
the "setstatus" command work for gaim-remot
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Wed, 10 May 2006 17:31:25 +0000 |
parents | c066473fff04 |
children | 8bda65b88e49 |
rev | line source |
---|---|
7237 | 1 /* |
2 * Gaim - iChat-like timestamps | |
3 * | |
4 * Copyright (C) 2002-2003, Sean Egan | |
5 * Copyright (C) 2003, Chris J. Friesen <Darth_Sebulba04@yahoo.com> | |
6 * | |
7 * This program is free software; you can redistribute it and/or modify | |
8 * it under the terms of the GNU General Public License as published by | |
9 * the Free Software Foundation; either version 2 of the License, or | |
10 * (at your option) any later version. | |
4220 | 11 * |
7237 | 12 * This program is distributed in the hope that it will be useful, |
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 * GNU General Public License for more details. | |
16 * | |
17 * You should have received a copy of the GNU General Public License | |
18 * along with this program; if not, write to the Free Software | |
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
20 * | |
21 */ | |
22 | |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
23 #include "internal.h" |
4202
59751fe608c5
[gaim-migrate @ 4438]
Christian Hammond <chipx86@chipx86.com>
parents:
4201
diff
changeset
|
24 |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
25 #include "conversation.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
26 #include "debug.h" |
7237 | 27 #include "prefs.h" |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
28 #include "signals.h" |
9943 | 29 #include "version.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
30 |
3598 | 31 #include "gtkimhtml.h" |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
32 #include "gtkplugin.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
33 #include "gtkutils.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
34 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
35 #define TIMESTAMP_PLUGIN_ID "gtk-timestamp" |
3598 | 36 |
6050 | 37 /* Set the default to 5 minutes. */ |
7237 | 38 static int interval = 5 * 60 * 1000; |
3598 | 39 |
9191 | 40 static GSList *timestamp_timeouts = NULL; |
3598 | 41 |
10404 | 42 static gboolean |
43 do_timestamp(gpointer data) | |
3598 | 44 { |
5676
dae79aefac8d
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
45 GaimConversation *c = (GaimConversation *)data; |
10389 | 46 GaimGtkConversation *conv = GAIM_GTK_CONVERSATION(c); |
47 GtkTextIter iter; | |
13104
e1e5462b7d81
[gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
48 const char *mdate; |
9191 | 49 int is_conversation_active; |
3598 | 50 time_t tim = time(NULL); |
10404 | 51 |
4376
2c985a9e994c
[gaim-migrate @ 4642]
Christian Hammond <chipx86@chipx86.com>
parents:
4359
diff
changeset
|
52 if (!g_list_find(gaim_get_conversations(), c)) |
3598 | 53 return FALSE; |
54 | |
9191 | 55 /* is_conversation_active is true if an im has been displayed since the last timestamp */ |
56 is_conversation_active = GPOINTER_TO_INT(gaim_conversation_get_data(c, "timestamp-conv-active")); | |
10404 | 57 |
9191 | 58 if (is_conversation_active){ |
10400 | 59 int y, height; |
60 GdkRectangle rect; | |
61 gboolean scroll = TRUE; | |
62 GtkWidget *imhtml = conv->imhtml; | |
63 GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(imhtml)); | |
10389 | 64 gtk_text_buffer_get_end_iter(buffer, &iter); |
9191 | 65 gaim_conversation_set_data(c, "timestamp-conv-active", GINT_TO_POINTER(FALSE)); |
13104
e1e5462b7d81
[gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents:
12604
diff
changeset
|
66 mdate = gaim_utf8_strftime("\n%H:%M", localtime(&tim)); |
10400 | 67 gtk_text_view_get_visible_rect(GTK_TEXT_VIEW(imhtml), &rect); |
68 gtk_text_view_get_line_yrange(GTK_TEXT_VIEW(imhtml), &iter, &y, &height); | |
69 if(((y + height) - (rect.y + rect.height)) > height | |
70 && gtk_text_buffer_get_char_count(buffer)){ | |
71 scroll = FALSE; | |
72 } | |
10389 | 73 gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, mdate, strlen(mdate), "TIMESTAMP", NULL); |
10400 | 74 if (scroll) |
12560
d6b513c74e1f
[gaim-migrate @ 14879]
Richard Laager <rlaager@wiktel.com>
parents:
12559
diff
changeset
|
75 gtk_imhtml_scroll_to_end(GTK_IMHTML(imhtml), gaim_prefs_get_bool("/gaim/gtk/conversations/use_smooth_scrolling")); |
9191 | 76 } |
77 else | |
78 gaim_conversation_set_data(c, "timestamp-enabled", GINT_TO_POINTER(FALSE)); | |
10404 | 79 |
3598 | 80 return TRUE; |
81 } | |
82 | |
9191 | 83 |
84 static gboolean | |
13233
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
13104
diff
changeset
|
85 timestamp_displaying_conv_msg(GaimAccount *account, const char *who, char **buffer, |
f09c6e8df82c
[gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents:
13104
diff
changeset
|
86 GaimConversation *conv, GaimMessageFlags flags, void *data) |
9191 | 87 { |
88 int is_timestamp_enabled; | |
10404 | 89 |
9191 | 90 if (!g_list_find(gaim_get_conversations(), conv)) |
91 return FALSE; | |
10404 | 92 |
9191 | 93 /* set to true, since there has been an im since the last timestamp */ |
94 gaim_conversation_set_data(conv, "timestamp-conv-active", GINT_TO_POINTER(TRUE)); | |
10404 | 95 |
9191 | 96 is_timestamp_enabled = GPOINTER_TO_INT(gaim_conversation_get_data(conv, "timestamp-enabled")); |
10404 | 97 |
9191 | 98 if (!is_timestamp_enabled){ |
99 gaim_conversation_set_data(conv, "timestamp-enabled", GINT_TO_POINTER(TRUE)); | |
100 do_timestamp((gpointer)conv); | |
101 } | |
10404 | 102 |
9191 | 103 return FALSE; |
104 } | |
105 | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
106 static void timestamp_new_convo(GaimConversation *conv) |
3598 | 107 { |
10389 | 108 GaimGtkConversation *c = GAIM_GTK_CONVERSATION(conv); |
10404 | 109 |
9191 | 110 if (!g_list_find(gaim_get_conversations(), conv)) |
111 return; | |
10404 | 112 |
9191 | 113 /* |
114 This if statement stops conversations that have already been initialized for timestamps | |
115 from being reinitialized. This prevents every active conversation from immediately being spammed | |
116 with a new timestamp when the user modifies the timer interval. | |
117 */ | |
118 if (!gaim_conversation_get_data(conv, "timestamp-initialized")){ | |
10389 | 119 GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(c->imhtml)); |
9191 | 120 gaim_conversation_set_data(conv, "timestamp-initialized", GINT_TO_POINTER(TRUE)); |
121 gaim_conversation_set_data(conv, "timestamp-enabled", GINT_TO_POINTER(TRUE)); | |
122 gaim_conversation_set_data(conv, "timestamp-conv-active", GINT_TO_POINTER(TRUE)); | |
10389 | 123 gtk_text_buffer_create_tag (buffer, "TIMESTAMP", "foreground", "#888888", "justification", GTK_JUSTIFY_CENTER, |
124 "weight", PANGO_WEIGHT_BOLD, NULL); | |
9191 | 125 do_timestamp(conv); |
126 } | |
4168 | 127 |
3727 | 128 timestamp_timeouts = g_slist_append(timestamp_timeouts, |
7237 | 129 GINT_TO_POINTER(g_timeout_add(interval, do_timestamp, conv))); |
9191 | 130 } |
3598 | 131 |
9191 | 132 |
133 static void destroy_timer_list() | |
134 { | |
135 GSList *to; | |
136 | |
137 for (to = timestamp_timeouts; to != NULL; to = to->next) | |
138 g_source_remove(GPOINTER_TO_INT(to->data)); | |
139 | |
140 g_slist_free(timestamp_timeouts); | |
10404 | 141 |
9191 | 142 timestamp_timeouts = NULL; |
3598 | 143 } |
4220 | 144 |
9191 | 145 static void init_timer_list() |
146 { | |
147 GList *cnvs; | |
148 GaimConversation *c; | |
10404 | 149 |
9191 | 150 if (timestamp_timeouts != NULL) |
151 destroy_timer_list(); | |
10404 | 152 |
9191 | 153 for (cnvs = gaim_get_conversations(); cnvs != NULL; cnvs = cnvs->next) { |
154 c = cnvs->data; | |
155 timestamp_new_convo(c); | |
156 } | |
157 } | |
158 | |
159 | |
160 | |
11740 | 161 static void set_timestamp(GtkWidget *spinner, void *null) { |
4220 | 162 int tm; |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
163 |
12204
2c7e79b6d7b2
[gaim-migrate @ 14506]
Richard Laager <rlaager@wiktel.com>
parents:
11740
diff
changeset
|
164 tm = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spinner)); |
7237 | 165 gaim_debug(GAIM_DEBUG_MISC, "timestamp", "setting time to %d mins\n", tm); |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
166 |
12204
2c7e79b6d7b2
[gaim-migrate @ 14506]
Richard Laager <rlaager@wiktel.com>
parents:
11740
diff
changeset
|
167 interval = tm * 60 * 1000; |
7237 | 168 gaim_prefs_set_int("/plugins/gtk/timestamp/interval", interval); |
10404 | 169 |
9191 | 170 destroy_timer_list(); |
171 init_timer_list(); | |
4220 | 172 } |
173 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
174 static GtkWidget * |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
175 get_config_frame(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
176 { |
4220 | 177 GtkWidget *ret; |
178 GtkWidget *frame, *label; | |
179 GtkWidget *vbox, *hbox; | |
180 GtkAdjustment *adj; | |
11740 | 181 GtkWidget *spinner; |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
182 |
4220 | 183 ret = gtk_vbox_new(FALSE, 18); |
184 gtk_container_set_border_width (GTK_CONTAINER (ret), 12); | |
185 | |
5530
2c4c975620f0
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5314
diff
changeset
|
186 frame = gaim_gtk_make_frame(ret, _("iChat Timestamp")); |
4220 | 187 vbox = gtk_vbox_new(FALSE, 5); |
188 gtk_container_add(GTK_CONTAINER(frame), vbox); | |
189 | |
190 hbox = gtk_hbox_new(FALSE, 5); | |
191 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); | |
192 | |
4586 | 193 label = gtk_label_new(_("Delay")); |
4220 | 194 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
195 |
7237 | 196 adj = (GtkAdjustment *)gtk_adjustment_new(interval/(60*1000), 1, G_MAXINT, 1, 0, 0); |
4220 | 197 spinner = gtk_spin_button_new(adj, 0, 0); |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
198 gtk_box_pack_start(GTK_BOX(hbox), spinner, TRUE, TRUE, 0); |
11740 | 199 g_signal_connect(G_OBJECT(spinner), "value-changed", G_CALLBACK(set_timestamp), NULL); |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
200 label = gtk_label_new(_("minutes.")); |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
201 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
4220 | 202 |
203 gtk_widget_show_all(ret); | |
204 return ret; | |
205 } | |
206 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
207 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
208 plugin_load(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
209 { |
9191 | 210 void *conv_handle = gaim_conversations_get_handle(); |
13753
c066473fff04
[gaim-migrate @ 16164]
Richard Laager <rlaager@wiktel.com>
parents:
13397
diff
changeset
|
211 void *gtkconv_handle = gaim_gtk_conversations_get_handle(); |
10404 | 212 |
9191 | 213 init_timer_list(); |
3598 | 214 |
9191 | 215 gaim_signal_connect(conv_handle, "conversation-created", |
216 plugin, GAIM_CALLBACK(timestamp_new_convo), NULL); | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
217 |
13753
c066473fff04
[gaim-migrate @ 16164]
Richard Laager <rlaager@wiktel.com>
parents:
13397
diff
changeset
|
218 gaim_signal_connect(gtkconv_handle, "displaying-chat-msg", |
c066473fff04
[gaim-migrate @ 16164]
Richard Laager <rlaager@wiktel.com>
parents:
13397
diff
changeset
|
219 plugin, GAIM_CALLBACK(timestamp_displaying_conv_msg), NULL); |
c066473fff04
[gaim-migrate @ 16164]
Richard Laager <rlaager@wiktel.com>
parents:
13397
diff
changeset
|
220 gaim_signal_connect(gtkconv_handle, "displaying-im-msg", |
9191 | 221 plugin, GAIM_CALLBACK(timestamp_displaying_conv_msg), NULL); |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
222 |
7237 | 223 interval = gaim_prefs_get_int("/plugins/gtk/timestamp/interval"); |
224 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
225 return TRUE; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
226 } |
3598 | 227 |
9191 | 228 |
229 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
230 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
231 plugin_unload(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
232 { |
9191 | 233 destroy_timer_list(); |
10389 | 234 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
235 return TRUE; |
3598 | 236 } |
237 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
238 static GaimGtkPluginUiInfo ui_info = |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
239 { |
12600
e856f985a0b9
[gaim-migrate @ 14934]
Richard Laager <rlaager@wiktel.com>
parents:
12560
diff
changeset
|
240 get_config_frame, |
e856f985a0b9
[gaim-migrate @ 14934]
Richard Laager <rlaager@wiktel.com>
parents:
12560
diff
changeset
|
241 0 /* page_num (Reserved) */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
242 }; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
243 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
244 static GaimPluginInfo info = |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
245 { |
9943 | 246 GAIM_PLUGIN_MAGIC, |
247 GAIM_MAJOR_VERSION, | |
248 GAIM_MINOR_VERSION, | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
249 GAIM_PLUGIN_STANDARD, /**< type */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
250 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
251 0, /**< flags */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
252 NULL, /**< dependencies */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
253 GAIM_PRIORITY_DEFAULT, /**< priority */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
254 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
255 TIMESTAMP_PLUGIN_ID, /**< id */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
256 N_("Timestamp"), /**< name */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
257 VERSION, /**< version */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
258 /** summary */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
259 N_("Adds iChat-style timestamps to conversations every N minutes."), |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
260 /** description */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
261 N_("Adds iChat-style timestamps to conversations every N minutes."), |
12406
bc45ab9756b5
[gaim-migrate @ 14713]
Richard Laager <rlaager@wiktel.com>
parents:
12204
diff
changeset
|
262 "Sean Egan <seanegan@gmail.com>", /**< author */ |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
263 GAIM_WEBSITE, /**< homepage */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
264 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
265 plugin_load, /**< load */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
266 plugin_unload, /**< unload */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
267 NULL, /**< destroy */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
268 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
269 &ui_info, /**< ui_info */ |
8993 | 270 NULL, /**< extra_info */ |
10404 | 271 NULL, |
8993 | 272 NULL |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
273 }; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
274 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
275 static void |
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
276 init_plugin(GaimPlugin *plugin) |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4586
diff
changeset
|
277 { |
7237 | 278 gaim_prefs_add_none("/plugins/gtk/timestamp"); |
279 gaim_prefs_add_int("/plugins/gtk/timestamp/interval", interval); | |
3598 | 280 } |
281 | |
7237 | 282 GAIM_INIT_PLUGIN(interval, init_plugin, info) |