Mercurial > pidgin.yaz
annotate pidgin/plugins/timestamp_format.c @ 32586:8e7dcf8cce44
If we don't find an IM theme warn the user and continue.
author | masca@cpw.pidgin.im |
---|---|
date | Tue, 23 Aug 2011 06:18:42 +0000 |
parents | 43c58f23c4b0 |
children |
rev | line source |
---|---|
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1 #include "internal.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3 #include "debug.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4 #include "log.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5 #include "plugin.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
6 #include "util.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
7 #include "version.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
8 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
9 #include "gtkconv.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
10 #include "gtkplugin.h" |
30128
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
11 #include "gtkimhtml.h" |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
12 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
13 #include <time.h> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
14 |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
15 static const char *format_12hour_hour(const struct tm *tm) |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
16 { |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
17 static char hr[3]; |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
18 int hour = tm->tm_hour % 12; |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
19 if (hour == 0) |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
20 hour = 12; |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
21 |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
22 g_snprintf(hr, sizeof(hr), "%d", hour); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
23 return hr; |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
24 } |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
25 |
15823 | 26 static PurplePluginPrefFrame * |
27 get_plugin_pref_frame(PurplePlugin *plugin) | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
28 { |
15823 | 29 PurplePluginPrefFrame *frame; |
30 PurplePluginPref *ppref; | |
16012
765cfc73182f
more help for translators (I removed a few PIDGIN_NAME references
Nathan Walp <nwalp@pidgin.im>
parents:
15878
diff
changeset
|
31 char *tmp; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
32 |
15823 | 33 frame = purple_plugin_pref_frame_new(); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
34 |
15823 | 35 ppref = purple_plugin_pref_new_with_label(_("Timestamp Format Options")); |
36 purple_plugin_pref_frame_add(frame, ppref); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
37 |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
38 tmp = g_strdup_printf(_("_Force timestamp format:")); |
15823 | 39 ppref = purple_plugin_pref_new_with_name_and_label( |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
40 "/plugins/gtk/timestamp_format/force", |
16012
765cfc73182f
more help for translators (I removed a few PIDGIN_NAME references
Nathan Walp <nwalp@pidgin.im>
parents:
15878
diff
changeset
|
41 tmp); |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
42 purple_plugin_pref_set_type(ppref, PURPLE_PLUGIN_PREF_CHOICE); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
43 purple_plugin_pref_add_choice(ppref, _("Use system default"), "default"); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
44 purple_plugin_pref_add_choice(ppref, _("12 hour time format"), "force12"); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
45 purple_plugin_pref_add_choice(ppref, _("24 hour time format"), "force24"); |
15823 | 46 purple_plugin_pref_frame_add(frame, ppref); |
16012
765cfc73182f
more help for translators (I removed a few PIDGIN_NAME references
Nathan Walp <nwalp@pidgin.im>
parents:
15878
diff
changeset
|
47 g_free(tmp); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
48 |
15823 | 49 ppref = purple_plugin_pref_new_with_label(_("Show dates in...")); |
50 purple_plugin_pref_frame_add(frame, ppref); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
51 |
15823 | 52 ppref = purple_plugin_pref_new_with_name_and_label( |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
53 "/plugins/gtk/timestamp_format/use_dates/conversation", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
54 _("Co_nversations:")); |
15823 | 55 purple_plugin_pref_set_type(ppref, PURPLE_PLUGIN_PREF_CHOICE); |
56 purple_plugin_pref_add_choice(ppref, _("For delayed messages"), "automatic"); | |
57 purple_plugin_pref_add_choice(ppref, _("For delayed messages and in chats"), "chats"); | |
58 purple_plugin_pref_add_choice(ppref, _("Always"), "always"); | |
59 purple_plugin_pref_frame_add(frame, ppref); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
60 |
15823 | 61 ppref = purple_plugin_pref_new_with_name_and_label( |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
62 "/plugins/gtk/timestamp_format/use_dates/log", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
63 _("_Message Logs:")); |
15823 | 64 purple_plugin_pref_set_type(ppref, PURPLE_PLUGIN_PREF_CHOICE); |
65 purple_plugin_pref_add_choice(ppref, _("For delayed messages"), "automatic"); | |
66 purple_plugin_pref_add_choice(ppref, _("For delayed messages and in chats"), "chats"); | |
67 purple_plugin_pref_add_choice(ppref, _("Always"), "always"); | |
68 purple_plugin_pref_frame_add(frame, ppref); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
69 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
70 return frame; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
71 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
72 |
15823 | 73 static char *timestamp_cb_common(PurpleConversation *conv, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
74 time_t t, |
15519
b15cc37605c4
In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@wiktel.com>
parents:
15501
diff
changeset
|
75 gboolean show_date, |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
76 const char *force, |
16819 | 77 const char *dates, |
78 gboolean parens) | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
79 { |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
80 struct tm *tm; |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
81 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
82 g_return_val_if_fail(dates != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
83 |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
84 tm = localtime(&t); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
85 |
15519
b15cc37605c4
In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@wiktel.com>
parents:
15501
diff
changeset
|
86 if (show_date || |
b15cc37605c4
In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@wiktel.com>
parents:
15501
diff
changeset
|
87 !strcmp(dates, "always") || |
15823 | 88 (conv != NULL && purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT && !strcmp(dates, "chats"))) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
89 { |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
90 if (g_str_equal(force, "force24")) |
16819 | 91 return g_strdup_printf("%s%s%s", parens ? "(" : "", purple_utf8_strftime("%Y-%m-%d %H:%M:%S", tm), parens ? ")" : ""); |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
92 else if (g_str_equal(force, "force12")) { |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
93 char *date = g_strdup_printf("%s", purple_utf8_strftime("%Y-%m-%d ", tm)); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
94 char *remtime = g_strdup_printf("%s", purple_utf8_strftime(":%M:%S %p", tm)); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
95 const char *hour = format_12hour_hour(tm); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
96 char *output; |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
97 |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
98 output = g_strdup_printf("%s%s%s%s%s", |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
99 parens ? "(" : "", date, |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
100 hour, remtime, parens ? ")" : ""); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
101 |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
102 g_free(date); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
103 g_free(remtime); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
104 |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
105 return output; |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
106 } else |
16819 | 107 return g_strdup_printf("%s%s%s", parens ? "(" : "", purple_date_format_long(tm), parens ? ")" : ""); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
108 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
109 |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
110 if (g_str_equal(force, "force24")) |
16819 | 111 return g_strdup_printf("%s%s%s", parens ? "(" : "", purple_utf8_strftime("%H:%M:%S", tm), parens ? ")" : ""); |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
112 else if (g_str_equal(force, "force12")) { |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
113 const char *hour = format_12hour_hour(tm); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
114 char *remtime = g_strdup_printf("%s", purple_utf8_strftime(":%M:%S %p", tm)); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
115 char *output = g_strdup_printf("%s%s%s%s", parens ? "(" : "", hour, remtime, parens ? ")" : ""); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
116 |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
117 g_free(remtime); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
118 |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
119 return output; |
15519
b15cc37605c4
In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@wiktel.com>
parents:
15501
diff
changeset
|
120 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
121 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
122 return NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
123 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
124 |
15823 | 125 static char *conversation_timestamp_cb(PurpleConversation *conv, |
15519
b15cc37605c4
In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@wiktel.com>
parents:
15501
diff
changeset
|
126 time_t t, gboolean show_date, gpointer data) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
127 { |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
128 const char *force = purple_prefs_get_string( |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
129 "/plugins/gtk/timestamp_format/force"); |
15823 | 130 const char *dates = purple_prefs_get_string( |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
131 "/plugins/gtk/timestamp_format/use_dates/conversation"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
132 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
133 g_return_val_if_fail(conv != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
134 |
16819 | 135 return timestamp_cb_common(conv, t, show_date, force, dates, TRUE); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
136 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
137 |
15823 | 138 static char *log_timestamp_cb(PurpleLog *log, time_t t, gboolean show_date, gpointer data) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
139 { |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
140 const char *force = purple_prefs_get_string( |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
141 "/plugins/gtk/timestamp_format/force"); |
15823 | 142 const char *dates = purple_prefs_get_string( |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
143 "/plugins/gtk/timestamp_format/use_dates/log"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
144 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
145 g_return_val_if_fail(log != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
146 |
16819 | 147 return timestamp_cb_common(log->conv, t, show_date, force, dates, FALSE); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
148 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
149 |
30128
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
150 static void |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
151 menu_cb(GtkWidget *item, gpointer data) |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
152 { |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
153 PurplePlugin *plugin = data; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
154 GtkWidget *frame = pidgin_plugin_get_config_frame(plugin), *dialog; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
155 if (!frame) |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
156 return; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
157 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
158 dialog = gtk_dialog_new_with_buttons(PIDGIN_ALERT_TITLE, NULL, |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
159 GTK_DIALOG_NO_SEPARATOR | GTK_DIALOG_DESTROY_WITH_PARENT, |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
160 GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
161 NULL); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
162 g_signal_connect_after(G_OBJECT(dialog), "response", G_CALLBACK(gtk_widget_destroy), dialog); |
30137
4e7a9940627e
Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30128
diff
changeset
|
163 #if GTK_CHECK_VERSION(2,14,0) |
4e7a9940627e
Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30128
diff
changeset
|
164 gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), frame); |
4e7a9940627e
Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30128
diff
changeset
|
165 #else |
30128
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
166 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), frame); |
30137
4e7a9940627e
Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30128
diff
changeset
|
167 #endif |
30128
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
168 gtk_window_set_role(GTK_WINDOW(dialog), "plugin_config"); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
169 gtk_window_set_title(GTK_WINDOW(dialog), _(purple_plugin_get_name(plugin))); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
170 gtk_widget_show_all(dialog); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
171 } |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
172 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
173 static gboolean |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
174 textview_emission_hook(GSignalInvocationHint *hint, guint n_params, |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
175 const GValue *pvalues, gpointer data) |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
176 { |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
177 GtkTextView *view = GTK_TEXT_VIEW(g_value_get_object(pvalues)); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
178 GtkWidget *menu, *item; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
179 GtkTextBuffer *buffer; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
180 GtkTextIter cursor; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
181 int cx, cy, bx, by; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
182 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
183 if (!GTK_IS_IMHTML(view)) |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
184 return TRUE; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
185 |
30137
4e7a9940627e
Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30128
diff
changeset
|
186 #if GTK_CHECK_VERSION(2,14,0) |
4e7a9940627e
Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30128
diff
changeset
|
187 if (!gdk_window_get_pointer(gtk_widget_get_window(GTK_WIDGET(view)), &cx, &cy, NULL)) |
4e7a9940627e
Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30128
diff
changeset
|
188 return TRUE; |
4e7a9940627e
Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30128
diff
changeset
|
189 #else |
30128
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
190 if (!gdk_window_get_pointer(GTK_WIDGET(view)->window, &cx, &cy, NULL)) |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
191 return TRUE; |
30137
4e7a9940627e
Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30128
diff
changeset
|
192 #endif |
30128
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
193 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
194 buffer = gtk_text_view_get_buffer(view); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
195 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
196 gtk_text_view_window_to_buffer_coords(view, GTK_TEXT_WINDOW_TEXT, cx, cy, &bx, &by); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
197 gtk_text_view_get_iter_at_location(view, &cursor, bx, by); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
198 if (!gtk_text_iter_has_tag(&cursor, |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
199 gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(buffer), "comment"))) |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
200 return TRUE; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
201 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
202 menu = g_value_get_object(&pvalues[1]); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
203 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
204 item = gtk_menu_item_new_with_label(_("Timestamp Format Options")); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
205 gtk_widget_show_all(item); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
206 g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(menu_cb), data); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
207 gtk_menu_shell_insert(GTK_MENU_SHELL(menu), item, 0); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
208 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
209 item = gtk_separator_menu_item_new(); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
210 gtk_widget_show(item); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
211 gtk_menu_shell_insert(GTK_MENU_SHELL(menu), item, 1); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
212 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
213 return TRUE; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
214 } |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
215 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
216 static guint signal_id; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
217 static gulong hook_id; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
218 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
219 static gboolean |
15823 | 220 plugin_load(PurplePlugin *plugin) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
221 { |
30128
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
222 gpointer klass = NULL; |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
223 |
15823 | 224 purple_signal_connect(pidgin_conversations_get_handle(), "conversation-timestamp", |
225 plugin, PURPLE_CALLBACK(conversation_timestamp_cb), NULL); | |
226 purple_signal_connect(purple_log_get_handle(), "log-timestamp", | |
227 plugin, PURPLE_CALLBACK(log_timestamp_cb), NULL); | |
30128
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
228 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
229 klass = g_type_class_ref(GTK_TYPE_TEXT_VIEW); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
230 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
231 /* In 3.0.0, use purple_g_signal_connect_flags */ |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
232 g_signal_parse_name("populate_popup", GTK_TYPE_TEXT_VIEW, &signal_id, NULL, FALSE); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
233 hook_id = g_signal_add_emission_hook(signal_id, 0, textview_emission_hook, |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
234 plugin, NULL); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
235 |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
236 g_type_class_unref(klass); |
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
237 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
238 return TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
239 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
240 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
241 static gboolean |
15823 | 242 plugin_unload(PurplePlugin *plugin) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
243 { |
30128
9ec94a37446a
Add a context option for the timestamps in the conversation log.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21030
diff
changeset
|
244 g_signal_remove_emission_hook(signal_id, hook_id); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
245 return TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
246 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
247 |
15823 | 248 static PurplePluginUiInfo prefs_info = { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
249 get_plugin_pref_frame, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
250 0, /* page num (Reserved) */ |
16678
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
251 NULL,/* frame (Reserved) */ |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
252 |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
253 /* padding */ |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
254 NULL, |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
255 NULL, |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
256 NULL, |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
257 NULL |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
258 }; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
259 |
15823 | 260 static PurplePluginInfo info = |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
261 { |
15823 | 262 PURPLE_PLUGIN_MAGIC, |
263 PURPLE_MAJOR_VERSION, | |
264 PURPLE_MINOR_VERSION, | |
15878
fde34f782314
The Message Timestamp Formats plugin lacked an ID before.
Richard Laager <rlaager@wiktel.com>
parents:
15823
diff
changeset
|
265 PURPLE_PLUGIN_STANDARD, /**< type */ |
15519
b15cc37605c4
In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@wiktel.com>
parents:
15501
diff
changeset
|
266 PIDGIN_PLUGIN_TYPE, /**< ui_requirement */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
267 0, /**< flags */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
268 NULL, /**< dependencies */ |
15878
fde34f782314
The Message Timestamp Formats plugin lacked an ID before.
Richard Laager <rlaager@wiktel.com>
parents:
15823
diff
changeset
|
269 PURPLE_PRIORITY_DEFAULT, /**< priority */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
270 |
15878
fde34f782314
The Message Timestamp Formats plugin lacked an ID before.
Richard Laager <rlaager@wiktel.com>
parents:
15823
diff
changeset
|
271 "core-timestamp_format", /**< id */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
272 N_("Message Timestamp Formats"), /**< name */ |
21030
3cc856ca2338
Add a --with-extraversion option to ./configure so packagers can fine tune
Stu Tomlinson <stu@nosnilmot.com>
parents:
16931
diff
changeset
|
273 DISPLAY_VERSION, /**< version */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
274 /** summary */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
275 N_("Customizes the message timestamp formats."), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
276 /** description */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
277 N_("This plugin allows the user to customize " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
278 "conversation and logging message timestamp " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
279 "formats."), |
15567
b6615958d87c
Switching to my pidgin.im e-mail address, which I think fits nicely and seems professional.
Richard Laager <rlaager@wiktel.com>
parents:
15565
diff
changeset
|
280 "Richard Laager <rlaager@pidgin.im>", /**< author */ |
15878
fde34f782314
The Message Timestamp Formats plugin lacked an ID before.
Richard Laager <rlaager@wiktel.com>
parents:
15823
diff
changeset
|
281 PURPLE_WEBSITE, /**< homepage */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
282 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
283 plugin_load, /**< load */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
284 plugin_unload, /**< unload */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
285 NULL, /**< destroy */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
286 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
287 NULL, /**< ui_info */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
288 NULL, /**< extra_info */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
289 &prefs_info, /**< prefs_info */ |
16678
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
290 NULL, /**< actions */ |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
291 |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
292 /* padding */ |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
293 NULL, |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
294 NULL, |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
295 NULL, |
3d41d0d7fb9b
Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents:
16012
diff
changeset
|
296 NULL |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
297 }; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
298 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
299 static void |
15823 | 300 init_plugin(PurplePlugin *plugin) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
301 { |
15823 | 302 purple_prefs_add_none("/plugins/gtk"); |
303 purple_prefs_add_none("/plugins/gtk/timestamp_format"); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
304 |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
305 if (!purple_prefs_exists("/plugins/gtk/timestamp_format/force") && |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
306 purple_prefs_exists("/plugins/gtk/timestamp_format/force_24hr")) |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
307 { |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
308 if (purple_prefs_get_bool( |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
309 "/plugins/gtk/timestamp_format/force_24hr")) |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
310 purple_prefs_add_string("/plugins/gtk/timestamp_format/force", "force24"); |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
311 else |
30192
43c58f23c4b0
timestamp formats: Default to the 'default' ones (as pointed out by Jonathan)
Paul Aurich <paul@darkrain42.org>
parents:
30191
diff
changeset
|
312 purple_prefs_add_string("/plugins/gtk/timestamp_format/force", "default"); |
30191
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
313 } |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
314 else |
446f208e5765
timestamp formats: Allow forcing 12-hour time formats. Closes #11667.
jemaltz@gmail.com
parents:
30137
diff
changeset
|
315 purple_prefs_add_string("/plugins/gtk/timestamp_format/force", "default"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
316 |
15823 | 317 purple_prefs_add_none("/plugins/gtk/timestamp_format/use_dates"); |
318 purple_prefs_add_string("/plugins/gtk/timestamp_format/use_dates/conversation", "automatic"); | |
319 purple_prefs_add_string("/plugins/gtk/timestamp_format/use_dates/log", "automatic"); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
320 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
321 |
15823 | 322 PURPLE_INIT_PLUGIN(timestamp_format, init_plugin, info) |