Mercurial > pidgin
annotate src/multi.h @ 5438:6e7ba9efd1f4
[gaim-migrate @ 5820]
I wrote sort-by-status.
Index: src/gtkblist.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/gtkblist.c,v
retrieving revision 1.28
diff -u -r1.28 gtkblist.c
--- src/gtkblist.c 18 May 2003 07:54:53 -0000 1.28
+++ src/gtkblist.c 18 May 2003 21:13:36 -0000
@@ -1319,11 +1320,11 @@
void gaim_gtk_blist_setup_sort_methods()
{
- gaim_gtk_blist_sort_method_reg("None", sort_method_none);
- gaim_gtk_blist_sort_method_reg("Alphabetical", sort_method_alphabetical);
- gaim_gtk_blist_sort_method_reg("By status", sort_method_status);
- gaim_gtk_blist_sort_method_reg("By log size", sort_method_log);
- gaim_gtk_blist_sort_method_set(sort_method[0] ? sort_method : "None");
+ gaim_gtk_blist_sort_method_reg(_("None"), sort_method_none);
+ gaim_gtk_blist_sort_method_reg(_("Alphabetical"), sort_method_alphabetical);
+ gaim_gtk_blist_sort_method_reg(_("By status"), sort_method_status);
+ gaim_gtk_blist_sort_method_reg(_("By log size"), sort_method_log);
+ gaim_gtk_blist_sort_method_set(sort_method[0] ? sort_method : _("None"));
}
@@ -2229,15 +2230,23 @@
if (n && GAIM_BLIST_NODE_IS_BUDDY(n)) {
struct buddy *new = (struct buddy*)node, *it = (struct buddy*)n;
- - if (it->idle > new->idle)
+ printf("Add %s (%d) before %s (%d)... ", new->name, new->idle, it->name, it->idle);
+ + /* This is the worst if statement ever. */
+ if ((it->present < new->present) ||
+ ((it->present == new->present) && (it->uc & UC_UNAVAILABLE) > (new->uc & UC_UNAVAILABLE)) ||
+ ((it->present == new->present) && ((it->uc & UC_UNAVAILABLE) == (new->uc & UC_UNAVAILABLE)) &&
+ ((it->idle && !new->idle) || (it->idle && (it->idle < new->idle)))) ||
+ + ((it->present == new->present) && (it->uc & UC_UNAVAILABLE) == (new->uc & UC_UNAVAILABLE) && (it->idle == new->idle) &&
+ (gaim_utf8_strcasecmp(gaim_get_buddy_alias((struct buddy*)node), gaim_get_buddy_alias((struct buddy*)n)) < 0)))
{
- printf("Inserting %s before %s\n", new->name, it->name);
+ printf("yes\n");
gtk_tree_store_insert_before(gtkblist->treemodel, &iter, &groupiter, &more_z);
newpath = gtk_tree_model_get_path(GTK_TREE_MODEL(gtkblist->treemodel), &iter);
gtknode->row = gtk_tree_row_reference_new(GTK_TREE_MODEL(gtkblist->treemodel), newpath);
gtk_tree_path_free(newpath);
return iter;
}
+ printf("no\n");
g_value_unset(&val);
}
} while (gtk_tree_model_iter_next (GTK_TREE_MODEL(gtkblist->treemodel), &more_z));
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sun, 18 May 2003 21:17:31 +0000 |
parents | 890b29f00b68 |
children | df653f6f2978 |
rev | line source |
---|---|
960 | 1 /* |
2 * gaim | |
3 * | |
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
5 * | |
6 * This program is free software; you can redistribute it and/or modify | |
7 * it under the terms of the GNU General Public License as published by | |
8 * the Free Software Foundation; either version 2 of the License, or | |
9 * (at your option) any later version. | |
10 * | |
11 * This program is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 * GNU General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
17 * along with this program; if not, write to the Free Software | |
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
19 * | |
20 */ | |
21 | |
2417
5473c8c5378d
[gaim-migrate @ 2430]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2402
diff
changeset
|
22 #ifndef _MULTI_H_ |
5473c8c5378d
[gaim-migrate @ 2430]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2402
diff
changeset
|
23 #define _MULTI_H_ |
960 | 24 |
2417
5473c8c5378d
[gaim-migrate @ 2430]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2402
diff
changeset
|
25 #include "core.h" |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
26 #include "plugin.h" |
960 | 27 |
28 /* ok. now the fun begins. first we create a connection structure */ | |
29 struct gaim_connection { | |
2438
5cbe86a444d9
[gaim-migrate @ 2451]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
30 int edittype; /* XXX CUI: this is ui-specific and should be removed */ |
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
31 |
960 | 32 /* we need to do either oscar or TOC */ |
33 /* we make this as an int in case if we want to add more protocols later */ | |
34 int protocol; | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
35 GaimPlugin *prpl; |
2706
e841b14b5b89
[gaim-migrate @ 2719]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
36 guint32 flags; |
e841b14b5b89
[gaim-migrate @ 2719]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
37 |
e841b14b5b89
[gaim-migrate @ 2719]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
38 /* erg. */ |
e841b14b5b89
[gaim-migrate @ 2719]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
39 char *checkbox; |
960 | 40 |
998
70c685de2be5
[gaim-migrate @ 1008]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
988
diff
changeset
|
41 /* all connections need an input watcher */ |
70c685de2be5
[gaim-migrate @ 1008]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
988
diff
changeset
|
42 int inpa; |
960 | 43 |
998
70c685de2be5
[gaim-migrate @ 1008]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
988
diff
changeset
|
44 /* all connections need a list of chats, even if they don't have chat */ |
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
45 GSList *buddy_chats; |
960 | 46 |
998
70c685de2be5
[gaim-migrate @ 1008]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
988
diff
changeset
|
47 /* each connection then can have its own protocol-specific data */ |
70c685de2be5
[gaim-migrate @ 1008]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
988
diff
changeset
|
48 void *proto_data; |
960 | 49 |
4491 | 50 struct gaim_account *account; |
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
51 |
960 | 52 char username[64]; |
2210
3a6fd1e8f00a
[gaim-migrate @ 2220]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2205
diff
changeset
|
53 char displayname[128]; |
960 | 54 char password[32]; |
1153
3063e6743913
[gaim-migrate @ 1163]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
55 guint keepalive; |
4111
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
3517
diff
changeset
|
56 |
960 | 57 /* stuff needed for per-connection idle times */ |
2438
5cbe86a444d9
[gaim-migrate @ 2451]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2417
diff
changeset
|
58 guint idle_timer; |
960 | 59 time_t login_time; |
4841 | 60 time_t login_time_official; |
960 | 61 time_t lastsent; |
62 int is_idle; | |
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
981
diff
changeset
|
63 |
4111
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
3517
diff
changeset
|
64 char *away; /* set by protos, is NULL when not away, or set * |
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
3517
diff
changeset
|
65 * to "" or a custom message when away */ |
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
3517
diff
changeset
|
66 char *away_state; /* updated by serv_set_away, keeps the last set * |
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
3517
diff
changeset
|
67 * away type */ |
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
3517
diff
changeset
|
68 int is_auto_away; /* used by idle.c */ |
1771
213607e89598
[gaim-migrate @ 1781]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1468
diff
changeset
|
69 |
4111
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
3517
diff
changeset
|
70 int evil; /* warning level for AIM (why is this here?) */ |
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
3517
diff
changeset
|
71 gboolean wants_to_die; /* defaults to FALSE */ |
960 | 72 }; |
73 | |
2706
e841b14b5b89
[gaim-migrate @ 2719]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
74 #define OPT_CONN_HTML 0x00000001 |
4111
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
3517
diff
changeset
|
75 /* set this flag on a gc if you want serv_got_im to autoreply when away */ |
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
3517
diff
changeset
|
76 #define OPT_CONN_AUTO_RESP 0x00000002 |
2706
e841b14b5b89
[gaim-migrate @ 2719]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2438
diff
changeset
|
77 |
4966 | 78 struct proto_user_split { |
79 char sep; | |
80 char *label; | |
81 char *def; | |
82 }; | |
83 | |
2154
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
84 struct proto_user_opt { |
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
85 char *label; |
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
86 char *def; |
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
87 int pos; |
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
88 }; |
cff133e0ec0c
[gaim-migrate @ 2164]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2153
diff
changeset
|
89 |
4333 | 90 struct proto_actions_menu { |
91 char *label; | |
92 void (*callback)(struct gaim_connection *); | |
93 struct gaim_connection *gc; | |
94 }; | |
95 | |
2170
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2154
diff
changeset
|
96 struct proto_buddy_menu { |
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2154
diff
changeset
|
97 char *label; |
5136 | 98 void (*callback)(struct gaim_connection *, const char *); |
2170
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2154
diff
changeset
|
99 struct gaim_connection *gc; |
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2154
diff
changeset
|
100 }; |
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2154
diff
changeset
|
101 |
2204
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2197
diff
changeset
|
102 struct proto_chat_entry { |
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2197
diff
changeset
|
103 char *label; |
5234 | 104 char *identifier; |
2205
cff4fbe01c7b
[gaim-migrate @ 2215]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2204
diff
changeset
|
105 char *def; |
2204
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2197
diff
changeset
|
106 gboolean is_int; |
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2197
diff
changeset
|
107 int min; |
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2197
diff
changeset
|
108 int max; |
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2197
diff
changeset
|
109 }; |
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2197
diff
changeset
|
110 |
960 | 111 /* now that we have our struct, we're going to need lots of them. Maybe even a list of them. */ |
112 extern GSList *connections; | |
113 | |
3517 | 114 /* number of accounts that are currently in the process of connecting */ |
115 extern int connecting_count; | |
116 | |
4491 | 117 struct gaim_account *gaim_account_new(const char *, int, int); |
118 struct gaim_connection *new_gaim_conn(struct gaim_account *); | |
960 | 119 void destroy_gaim_conn(struct gaim_connection *); |
120 | |
2204
5014b802eb41
[gaim-migrate @ 2214]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2197
diff
changeset
|
121 void regenerate_user_list(); |
960 | 122 |
1089
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
123 void account_online(struct gaim_connection *); |
960 | 124 void account_offline(struct gaim_connection *); |
125 | |
126 void auto_login(); | |
127 | |
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
981
diff
changeset
|
128 void set_login_progress(struct gaim_connection *, float, char *); |
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
981
diff
changeset
|
129 void hide_login_progress(struct gaim_connection *, char *); |
2956 | 130 void hide_login_progress_notice(struct gaim_connection *, char *); |
3074 | 131 void hide_login_progress_error(struct gaim_connection *, char *); |
988
9523b772e546
[gaim-migrate @ 998]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
981
diff
changeset
|
132 |
2417
5473c8c5378d
[gaim-migrate @ 2430]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2402
diff
changeset
|
133 #endif /* _MULTI_H_ */ |