Tue, 29 Aug 2006 02:22:08 +0000
[gaim-migrate @ 17076]
SF Patch #1547720 from Hilbert
Fixes SF Bug #1541097
If you search, leave the Find dialog open, switch tabs, and search again, the search happens in the original tab. This patch fixes that bug. Now when you search, it searches in the active conversation window.
committer: Richard Laager <rlaager@pidgin.im>
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
1 | #include <string.h> |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
2 | #include <glib.h> |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
3 | |
|
11331
6e06ed40a312
[gaim-migrate @ 13544]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11187
diff
changeset
|
4 | #include "dbus-useful.h" |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
5 | #include "conversation.h" |
|
11187
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
6 | #include "util.h" |
|
27beea38898f
[gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
7 | |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
8 | |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
9 | GaimAccount * |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
10 | gaim_accounts_find_ext(const char *name, const char *protocol_id, |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
11 | gboolean (*account_test)(const GaimAccount *account)) |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
12 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
13 | GaimAccount *result = NULL; |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
14 | GList *l; |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
15 | char *who; |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
16 | |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
17 | if (name) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
18 | who = g_strdup(gaim_normalize(NULL, name)); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
19 | else |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
20 | who = NULL; |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
21 | |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
22 | for (l = gaim_accounts_get_all(); l != NULL; l = l->next) { |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
23 | GaimAccount *account = (GaimAccount *)l->data; |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
24 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
25 | if (who && strcmp(gaim_normalize(NULL, gaim_account_get_username(account)), who)) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
26 | continue; |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
27 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
28 | if (protocol_id && strcmp(account->protocol_id, protocol_id)) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
29 | continue; |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
30 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
31 | if (account_test && !account_test(account)) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
32 | continue; |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
33 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
34 | result = account; |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
35 | break; |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
36 | } |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
37 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
38 | g_free(who); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
39 | |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
40 | return result; |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
41 | } |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
42 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
43 | GaimAccount *gaim_accounts_find_any(const char *name, const char *protocol) |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
44 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
45 | return gaim_accounts_find_ext(name, protocol, NULL); |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
46 | } |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
47 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
48 | GaimAccount *gaim_accounts_find_connected(const char *name, const char *protocol) |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
49 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11903
diff
changeset
|
50 | return gaim_accounts_find_ext(name, protocol, gaim_account_is_connected); |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
51 | } |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
52 | |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
53 |