Tue, 07 Apr 2020 00:55:43 -0500
Move the menu trac to PidginBuddyListMenu
|
39887
9c8f874c74a0
Clean up all of the license headers
Gary Kramlich <grim@reaperworld.com>
parents:
39411
diff
changeset
|
1 | /* |
|
15931
716b5fac1895
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents:
15914
diff
changeset
|
2 | * finch |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
3 | * |
|
15931
716b5fac1895
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents:
15914
diff
changeset
|
4 | * Finch is the legal property of its developers, whose names are too numerous |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
5 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
6 | * source distribution. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
7 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
8 | * This program is free software; you can redistribute it and/or modify |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
9 | * it under the terms of the GNU General Public License as published by |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
11 | * (at your option) any later version. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
12 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
16 | * GNU General Public License for more details. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
17 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
19 | * along with this program; if not, write to the Free Software |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19733
diff
changeset
|
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
21 | */ |
|
39887
9c8f874c74a0
Clean up all of the license headers
Gary Kramlich <grim@reaperworld.com>
parents:
39411
diff
changeset
|
22 | |
|
29106
51c7b2177e42
Fix all the remaining files for which internal.h doesn't end up being the first include.
Paul Aurich <darkrain42@pidgin.im>
parents:
27945
diff
changeset
|
23 | #include <internal.h> |
|
39372
43e3da39daf6
Include 'locale.h' directly in files which use setlocale()
Mike Ruprecht <cmaiku@gmail.com>
parents:
39121
diff
changeset
|
24 | #include <locale.h> |
|
18273
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
18075
diff
changeset
|
25 | #include "finch.h" |
|
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
18075
diff
changeset
|
26 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
27 | #include "account.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
28 | #include "conversation.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
29 | #include "core.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
30 | #include "debug.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
31 | #include "log.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
32 | #include "notify.h" |
|
38802
afb1c8302e49
The start of the libpurple option group
Gary Kramlich <grim@reaperworld.com>
parents:
38800
diff
changeset
|
33 | #include "options.h" |
|
36510
c00f65ba575f
Refactored finch to report plugin load/unload errors
Ankit Vani <a@nevitus.org>
parents:
36485
diff
changeset
|
34 | #include "plugins.h" |
|
36543
a8c3fecee2d3
Renamed prpl.[ch] to protocol.[ch]
Ankit Vani <a@nevitus.org>
parents:
36510
diff
changeset
|
35 | #include "protocol.h" |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
36 | #include "pounce.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
37 | #include "savedstatuses.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
38 | #include "sound.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
39 | #include "status.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
40 | #include "util.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
41 | #include "whiteboard.h" |
|
35191
e884b8670dc2
finch: Fix build and warnings with glib 2.24
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
42 | #include "xfer.h" |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
43 | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
44 | #include "gntdebug.h" |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
45 | #include "gntprefs.h" |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
46 | #include "gntui.h" |
|
15802
1e124a68997e
gntgaim idle reporting, this fixes idle return
Richard Nelson <wabz@pidgin.im>
parents:
15746
diff
changeset
|
47 | #include "gntidle.h" |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
48 | |
|
14253
b63ebf84c42b
This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
14078
diff
changeset
|
49 | #include "config.h" |
|
27945
93ece0c6a9ad
Add the MTN revision in the Pidgin About and finch --version dialogs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27829
diff
changeset
|
50 | #include "package_revision.h" |
|
14253
b63ebf84c42b
This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
14078
diff
changeset
|
51 | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
52 | static void |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
21720
diff
changeset
|
53 | debug_init(void) |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
54 | { |
|
38644
8ba616e7c69c
Convert Finch debug into a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38421
diff
changeset
|
55 | FinchDebugUi *ui = finch_debug_ui_new(); |
|
8ba616e7c69c
Convert Finch debug into a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38421
diff
changeset
|
56 | purple_debug_set_ui(PURPLE_DEBUG_UI(ui)); |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
57 | } |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
58 | |
|
40312
956745ff3ee8
Replace the ui info GHashTable with a gobject.
Gary Kramlich <grim@reaperworld.com>
parents:
40195
diff
changeset
|
59 | static PurpleUiInfo * |
|
40336
4e766d681de5
purple_core_get_ui_info now transfers the PurpleUiInfo to the caller, so we need to make sure to not cache it.
Gary Kramlich <grim@reaperworld.com>
parents:
40312
diff
changeset
|
60 | finch_ui_get_info(void) { |
|
4e766d681de5
purple_core_get_ui_info now transfers the PurpleUiInfo to the caller, so we need to make sure to not cache it.
Gary Kramlich <grim@reaperworld.com>
parents:
40312
diff
changeset
|
61 | return purple_ui_info_new(_("Finch"), VERSION, "https://pidgin.im", |
|
4e766d681de5
purple_core_get_ui_info now transfers the PurpleUiInfo to the caller, so we need to make sure to not cache it.
Gary Kramlich <grim@reaperworld.com>
parents:
40312
diff
changeset
|
62 | "https://developer.pidgin.im", "console"); |
|
18442
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
63 | } |
|
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
64 | |
|
19239
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
65 | static void |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
66 | finch_quit(void) |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
67 | { |
|
35494
e631108a5464
Fix namespace issues in libgnt and finch.
Ankit Vani <a@nevitus.org>
parents:
35387
diff
changeset
|
68 | finch_ui_uninit(); |
|
19239
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
69 | } |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
70 | |
| 15884 | 71 | static PurpleCoreUiOps core_ops = |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
72 | { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15802
diff
changeset
|
73 | finch_prefs_init, |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
74 | debug_init, |
|
35494
e631108a5464
Fix namespace issues in libgnt and finch.
Ankit Vani <a@nevitus.org>
parents:
35387
diff
changeset
|
75 | finch_ui_init, |
|
19239
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
76 | finch_quit, |
|
18442
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
77 | finch_ui_get_info, |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
78 | }; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
79 | |
| 15884 | 80 | static PurpleCoreUiOps * |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
21720
diff
changeset
|
81 | gnt_core_get_ui_ops(void) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
82 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
83 | return &core_ops; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
84 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
85 | |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
86 | static int |
| 15884 | 87 | init_libpurple(int argc, char **argv) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
88 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
89 | char *path; |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
90 | gboolean opt_nologin = FALSE; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
91 | gboolean opt_version = FALSE; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
92 | char *opt_config_dir_arg = NULL; |
| 13990 | 93 | gboolean debug_enabled = FALSE; |
|
38596
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
94 | GOptionContext *context; |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
95 | gchar **args; |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
96 | GError *error = NULL; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
97 | |
|
38596
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
98 | GOptionEntry option_entries[] = { |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
99 | {"config", 'c', 0, |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
100 | G_OPTION_ARG_FILENAME, &opt_config_dir_arg, |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
101 | _("use DIR for config files"), _("DIR")}, |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
102 | {"nologin", 'n', 0, |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
103 | G_OPTION_ARG_NONE, &opt_nologin, |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
104 | _("don't automatically login"), NULL}, |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
105 | {"version", 'v', 0, |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
106 | G_OPTION_ARG_NONE, &opt_version, |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
107 | _("display the current version and exit"), NULL}, |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
108 | {NULL} |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
109 | }; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
110 | |
|
35850
1abeda205d6c
cross-win32: make dirs more flexible, add them to the config.h
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35494
diff
changeset
|
111 | bindtextdomain(PACKAGE, PURPLE_LOCALEDIR); |
|
15098
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
112 | bind_textdomain_codeset(PACKAGE, "UTF-8"); |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
113 | textdomain(PACKAGE); |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
114 | |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
115 | setlocale(LC_ALL, ""); |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
116 | |
|
38596
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
117 | context = g_option_context_new(NULL); |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
118 | g_option_context_set_summary(context, DISPLAY_VERSION); |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
119 | g_option_context_add_main_entries(context, option_entries, PACKAGE); |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
120 | |
|
38802
afb1c8302e49
The start of the libpurple option group
Gary Kramlich <grim@reaperworld.com>
parents:
38800
diff
changeset
|
121 | g_option_context_add_group(context, purple_get_option_group()); |
|
38800
8a2ea9672bcb
Add the gplugin GOptionGroup to the GOptionContext of both Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents:
38647
diff
changeset
|
122 | g_option_context_add_group(context, gplugin_get_option_group()); |
|
8a2ea9672bcb
Add the gplugin GOptionGroup to the GOptionContext of both Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents:
38647
diff
changeset
|
123 | |
|
38596
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
124 | #ifdef G_OS_WIN32 |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
125 | /* Handle Unicode filenames on Windows. See GOptionContext docs. */ |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
126 | args = g_win32_get_command_line(); |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
127 | #else |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
128 | args = g_strdupv(argv); |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
129 | #endif |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
130 | |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
131 | if (!g_option_context_parse_strv(context, &args, &error)) { |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
132 | g_strfreev(args); |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
133 | g_printerr(_("%s: %s\nTry `%s -h' for more information.\n"), |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
134 | DISPLAY_VERSION, error->message, argv[0]); |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
135 | g_clear_error(&error); |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
136 | return 1; |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
137 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
138 | |
|
38596
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
139 | g_strfreev(args); |
|
0504444b6c25
libfinch: Port to use GOptionContext for parsing command line args
Mike Ruprecht <cmaiku@gmail.com>
parents:
38421
diff
changeset
|
140 | |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
141 | /* show version message */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
142 | if (opt_version) { |
|
17001
09ceabd6b129
Clarify the comments on the names for translators.
Richard Laager <rlaager@pidgin.im>
parents:
16987
diff
changeset
|
143 | /* Translators may want to transliterate the name. |
|
09ceabd6b129
Clarify the comments on the names for translators.
Richard Laager <rlaager@pidgin.im>
parents:
16987
diff
changeset
|
144 | It is not to be translated. */ |
|
27945
93ece0c6a9ad
Add the MTN revision in the Pidgin About and finch --version dialogs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27829
diff
changeset
|
145 | printf("%s %s (%s)\n", _("Finch"), DISPLAY_VERSION, REVISION); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
146 | return 0; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
147 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
148 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
149 | /* set a user-specified config directory */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
150 | if (opt_config_dir_arg != NULL) { |
|
32785
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
151 | if (g_path_is_absolute(opt_config_dir_arg)) { |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
152 | purple_util_set_user_dir(opt_config_dir_arg); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
153 | } else { |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
154 | /* Make an absolute (if not canonical) path */ |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
155 | char *cwd = g_get_current_dir(); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
156 | char *path = g_build_path(G_DIR_SEPARATOR_S, cwd, opt_config_dir_arg, NULL); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
157 | purple_util_set_user_dir(path); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
158 | g_free(path); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
159 | g_free(cwd); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
160 | } |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
161 | |
| 14786 | 162 | g_free(opt_config_dir_arg); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
163 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
164 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
165 | /* |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
166 | * We're done piddling around with command line arguments. |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
167 | * Fire up this baby. |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
168 | */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
169 | |
|
16445
634622ab1c7b
Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents:
16158
diff
changeset
|
170 | /* We don't want debug-messages to show up and corrupt the display */ |
| 15884 | 171 | purple_debug_set_enabled(debug_enabled); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
172 | |
| 15884 | 173 | purple_core_set_ui_ops(gnt_core_get_ui_ops()); |
| 174 | purple_idle_set_ui_ops(finch_idle_get_ui_ops()); | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
175 | |
| 15884 | 176 | if (!purple_core_init(FINCH_UI)) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
177 | { |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
178 | fprintf(stderr, |
| 15884 | 179 | "Initialization of the Purple core failed. Dumping core.\n" |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
180 | "Please report this!\n"); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
181 | abort(); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
182 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
183 | |
|
39954
e843e8fab70c
Move Pidgin/Finch plugins to XDG data directory.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39887
diff
changeset
|
184 | path = g_build_filename(purple_data_dir(), "plugins", NULL); |
|
35995
d0bbb2dad7f3
Fix some CWE-367 coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35991
diff
changeset
|
185 | if (g_mkdir(path, S_IRUSR | S_IWUSR | S_IXUSR) != 0 && errno != EEXIST) |
|
d0bbb2dad7f3
Fix some CWE-367 coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35991
diff
changeset
|
186 | fprintf(stderr, "Couldn't create plugins dir\n"); |
| 15884 | 187 | purple_plugins_add_search_path(path); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
188 | g_free(path); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
189 | |
|
35850
1abeda205d6c
cross-win32: make dirs more flexible, add them to the config.h
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35494
diff
changeset
|
190 | purple_plugins_add_search_path(FINCH_LIBDIR); |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36393
diff
changeset
|
191 | purple_plugins_refresh(); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
192 | |
|
19681
8399d8f69f1b
Make a note about purple_prefs_load no longer needing to be called by the UI and update finch accordingly. There doesn't appear to be any negative effects of having the purple_prefs_load called twice.
Daniel Atallah <datallah@pidgin.im>
parents:
19239
diff
changeset
|
193 | /* TODO: should this be moved into finch_prefs_init() ? */ |
|
16629
781a662d1fc3
Pref migration for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16593
diff
changeset
|
194 | finch_prefs_update_old(); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
195 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
196 | /* load plugins we had when we quit */ |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16158
diff
changeset
|
197 | purple_plugins_load_saved("/finch/plugins/loaded"); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
198 | |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
199 | if (opt_nologin) |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
200 | { |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
201 | /* Set all accounts to "offline" */ |
| 15884 | 202 | PurpleSavedStatus *saved_status; |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
203 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
204 | /* If we've used this type+message before, lookup the transient status */ |
| 15884 | 205 | saved_status = purple_savedstatus_find_transient_by_type_and_message( |
| 206 | PURPLE_STATUS_OFFLINE, NULL); | |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
207 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
208 | /* If this type+message is unique then create a new transient saved status */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
209 | if (saved_status == NULL) |
| 15884 | 210 | saved_status = purple_savedstatus_new(NULL, PURPLE_STATUS_OFFLINE); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
211 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
212 | /* Set the status for each account */ |
| 15884 | 213 | purple_savedstatus_activate(saved_status); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
214 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
215 | else |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
216 | { |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
217 | /* Everything is good to go--sign on already */ |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16158
diff
changeset
|
218 | if (!purple_prefs_get_bool("/purple/savedstatus/startup_current_status")) |
| 15884 | 219 | purple_savedstatus_activate(purple_savedstatus_get_startup()); |
| 220 | purple_accounts_restore_current_statuses(); | |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
221 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
222 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
223 | return 1; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
224 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
225 | |
|
35494
e631108a5464
Fix namespace issues in libgnt and finch.
Ankit Vani <a@nevitus.org>
parents:
35387
diff
changeset
|
226 | gboolean finch_start(int *argc, char ***argv) |
|
19239
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
227 | { |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
228 | /* Initialize the libpurple stuff */ |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
229 | if (!init_libpurple(*argc, *argv)) |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
230 | return FALSE; |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30477
diff
changeset
|
231 | |
|
19239
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
232 | purple_blist_show(); |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
233 | return TRUE; |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
234 | } |