Tue, 14 Feb 2006 05:43:43 +0000
[gaim-migrate @ 15646]
Always show a vertical scrollbar on conversations imhtmls. This will solve the shrinking conversation window bug. I chose this approach instead of saving the size of the window (as I had previous talked about), as this prevents the contents of the scrollback from rewrapping when the scrollbars appear or disappear. It also just seems to feel like the right thing to do, but maybe that's me being lazy.
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
1 | /* |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
2 | * Music messaging plugin for Gaim |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
3 | * |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
4 | * Copyright (C) 2005 Christian Muise. |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
5 | * |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
6 | * This program is free software; you can redistribute it and/or |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
7 | * modify it under the terms of the GNU General Public License as |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
8 | * published by the Free Software Foundation; either version 2 of the |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
9 | * License, or (at your option) any later version. |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
10 | * |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
11 | * This program is distributed in the hope that it will be useful, but |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
12 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
14 | * General Public License for more details. |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
15 | * |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
16 | * You should have received a copy of the GNU General Public License |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
17 | * along with this program; if not, write to the Free Software |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
18 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
19 | * 02111-1307, USA. |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
20 | */ |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
21 | |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
22 | #include "internal.h" |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
23 | #include "gtkgaim.h" |
|
11088
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
24 | |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
25 | #include "conversation.h" |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
26 | |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
27 | #include "gtkconv.h" |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
28 | #include "gtkplugin.h" |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
29 | #include "gtkutils.h" |
|
11088
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
30 | |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
31 | #include "notify.h" |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
32 | #include "version.h" |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
33 | #include "debug.h" |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
34 | |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
35 | #define DBUS_API_SUBJECT_TO_CHANGE |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
36 | #include <dbus/dbus.h> |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
37 | #include "dbus-maybe.h" |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
38 | #include "dbus-bindings.h" |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
39 | #include "dbus-server.h" |
|
11365
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
40 | #include "dbus-gaim.h" |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
41 | |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
42 | #define MUSICMESSAGING_PLUGIN_ID "gtk-hazure-musicmessaging" |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
43 | #define MUSICMESSAGING_PREFIX "##MM##" |
|
13090
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
44 | #define MUSICMESSAGING_START_MSG _("A music messaging session has been requested. Please click the MM icon to accept.") |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
45 | #define MUSICMESSAGING_CONFIRM_MSG _("Music messaging session confirmed.") |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
46 | |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
47 | typedef struct { |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
48 | GaimConversation *conv; /* pointer to the conversation */ |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
49 | GtkWidget *seperator; /* seperator in the conversation */ |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
50 | GtkWidget *button; /* button in the conversation */ |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
51 | GPid pid; /* the pid of the score editor */ |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
52 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
53 | gboolean started; /* session has started and editor run */ |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
54 | gboolean originator; /* started the mm session */ |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
55 | gboolean requested; /* received a request to start a session */ |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
56 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
57 | } MMConversation; |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
58 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
59 | static gboolean start_session(MMConversation *mmconv); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
60 | static void run_editor(MMConversation *mmconv); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
61 | static void kill_editor(MMConversation *mmconv); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
62 | static void add_button (MMConversation *mmconv); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
63 | static void remove_widget (GtkWidget *button); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
64 | static void init_conversation (GaimConversation *conv); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
65 | static void conv_destroyed(GaimConversation *conv); |
|
13234
1d8e569b2053
[gaim-migrate @ 15598]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13090
diff
changeset
|
66 | static gboolean intercept_sent(GaimAccount *account, const char *who, char **message, void* pData); |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
67 | static gboolean intercept_received(GaimAccount *account, char **sender, char **message, GaimConversation *conv, int *flags); |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
68 | static gboolean send_change_request (const int session, const char *id, const char *command, const char *parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
69 | static gboolean send_change_confirmed (const int session, const char *command, const char *parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
70 | static void session_end (MMConversation *mmconv); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
71 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
72 | /* Globals */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
73 | /* List of sessions */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
74 | GList *conversations; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
75 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
76 | /* Pointer to this plugin */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
77 | GaimPlugin *plugin_pointer; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
78 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
79 | /* Define types needed for DBus */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
80 | DBusGConnection *connection; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
81 | DBusGProxy *proxy; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
82 | #define DBUS_SERVICE_GSCORE "org.gscore.GScoreService" |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
83 | #define DBUS_PATH_GSCORE "/org/gscore/GScoreObject" |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
84 | #define DBUS_INTERFACE_GSCORE "org.gscore.GScoreInterface" |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
85 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
86 | /* Define the functions to export for use with DBus */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
87 | DBUS_EXPORT void music_messaging_change_request (const int session, const char *command, const char *parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
88 | DBUS_EXPORT void music_messaging_change_confirmed (const int session, const char *command, const char *parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
89 | DBUS_EXPORT void music_messaging_change_failed (const int session, const char *id, const char *command, const char *parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
90 | DBUS_EXPORT void music_messaging_done_session (const int session); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
91 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
92 | /* This file has been generated by the #dbus-analize-functions.py |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
93 | script. It contains dbus wrappers for the four functions declared |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
94 | above. */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
95 | #include "music-messaging-bindings.c" |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
96 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
97 | /* Exported functions */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
98 | void music_messaging_change_request(const int session, const char *command, const char *parameters) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
99 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
100 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
101 | MMConversation *mmconv = (MMConversation *)g_list_nth_data(conversations, session); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
102 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
103 | if (mmconv->started) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
104 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
105 | if (mmconv->originator) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
106 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
107 | char *name = (mmconv->conv)->name; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
108 | send_change_request (session, name, command, parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
109 | } else |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
110 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
111 | GString *to_send = g_string_new(""); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
112 | g_string_append_printf(to_send, "##MM## request %s %s##MM##", command, parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
113 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
114 | gaim_conv_im_send(GAIM_CONV_IM(mmconv->conv), to_send->str); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
115 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
116 | gaim_debug_misc("Sent request: %s\n", to_send->str); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
117 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
118 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
119 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
120 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
121 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
122 | void music_messaging_change_confirmed(const int session, const char *command, const char *parameters) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
123 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
124 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
125 | MMConversation *mmconv = (MMConversation *)g_list_nth_data(conversations, session); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
126 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
127 | if (mmconv->started) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
128 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
129 | if (mmconv->originator) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
130 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
131 | GString *to_send = g_string_new(""); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
132 | g_string_append_printf(to_send, "##MM## confirm %s %s##MM##", command, parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
133 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
134 | gaim_conv_im_send(GAIM_CONV_IM(mmconv->conv), to_send->str); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
135 | } else |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
136 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
137 | /* Do nothing. If they aren't the originator, then they can't confirm. */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
138 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
139 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
140 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
141 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
142 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
143 | void music_messaging_change_failed(const int session, const char *id, const char *command, const char *parameters) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
144 | { |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
145 | MMConversation *mmconv = (MMConversation *)g_list_nth_data(conversations, session); |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
146 | |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
147 | gaim_notify_message(plugin_pointer, GAIM_NOTIFY_MSG_INFO, command, |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
148 | parameters, NULL, NULL, NULL); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
149 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
150 | if (mmconv->started) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
151 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
152 | if (mmconv->originator) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
153 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
154 | GString *to_send = g_string_new(""); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
155 | g_string_append_printf(to_send, "##MM## failed %s %s %s##MM##", id, command, parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
156 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
157 | gaim_conv_im_send(GAIM_CONV_IM(mmconv->conv), to_send->str); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
158 | } else |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
159 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
160 | /* Do nothing. If they aren't the originator, then they can't confirm. */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
161 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
162 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
163 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
164 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
165 | void music_messaging_done_session(const int session) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
166 | { |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
167 | MMConversation *mmconv = (MMConversation *)g_list_nth_data(conversations, session); |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
168 | |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
169 | gaim_notify_message(plugin_pointer, GAIM_NOTIFY_MSG_INFO, "Session", |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
170 | "Session Complete", NULL, NULL, NULL); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
171 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
172 | session_end(mmconv); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
173 | } |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
174 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
175 | |
|
11355
8c34a2d54284
[gaim-migrate @ 13574]
Christian Muise <christian.muise@gmail.com>
parents:
11254
diff
changeset
|
176 | /* DBus commands that can be sent to the editor */ |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
177 | G_BEGIN_DECLS |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
178 | DBusConnection *gaim_dbus_get_connection(void); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
179 | G_END_DECLS |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
180 | |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
181 | static gboolean send_change_request (const int session, const char *id, const char *command, const char *parameters) |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
182 | { |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
183 | DBusMessage *message; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
184 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
185 | /* Create the signal we need */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
186 | message = dbus_message_new_signal (DBUS_PATH_GAIM, DBUS_INTERFACE_GAIM, "GscoreChangeRequest"); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
187 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
188 | /* Append the string "Ping!" to the signal */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
189 | dbus_message_append_args (message, |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
190 | DBUS_TYPE_INT32, &session, |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
191 | DBUS_TYPE_STRING, &id, |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
192 | DBUS_TYPE_STRING, &command, |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
193 | DBUS_TYPE_STRING, ¶meters, |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
194 | DBUS_TYPE_INVALID); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
195 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
196 | /* Send the signal */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
197 | dbus_connection_send (gaim_dbus_get_connection(), message, NULL); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
198 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
199 | /* Free the signal now we have finished with it */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
200 | dbus_message_unref (message); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
201 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
202 | /* Tell the user we sent a signal */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
203 | g_printerr("Sent change request signal: %d %s %s %s\n", session, id, command, parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
204 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
205 | return TRUE; |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
206 | } |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
207 | |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
208 | static gboolean send_change_confirmed (const int session, const char *command, const char *parameters) |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
209 | { |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
210 | DBusMessage *message; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
211 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
212 | /* Create the signal we need */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
213 | message = dbus_message_new_signal (DBUS_PATH_GAIM, DBUS_INTERFACE_GAIM, "GscoreChangeConfirmed"); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
214 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
215 | /* Append the string "Ping!" to the signal */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
216 | dbus_message_append_args (message, |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
217 | DBUS_TYPE_INT32, &session, |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
218 | DBUS_TYPE_STRING, &command, |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
219 | DBUS_TYPE_STRING, ¶meters, |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
220 | DBUS_TYPE_INVALID); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
221 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
222 | /* Send the signal */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
223 | dbus_connection_send (gaim_dbus_get_connection(), message, NULL); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
224 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
225 | /* Free the signal now we have finished with it */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
226 | dbus_message_unref (message); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
227 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
228 | /* Tell the user we sent a signal */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
229 | g_printerr("Sent change confirmed signal.\n"); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
230 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
231 | return TRUE; |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
232 | } |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
233 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
234 | |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
235 | static int |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
236 | mmconv_from_conv_loc(GaimConversation *conv) |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
237 | { |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
238 | MMConversation *mmconv_current = NULL; |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
239 | guint i; |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
240 | |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
241 | for (i = 0; i < g_list_length(conversations); i++) |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
242 | { |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
243 | mmconv_current = (MMConversation *)g_list_nth_data(conversations, i); |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
244 | if (conv == mmconv_current->conv) |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
245 | { |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
246 | return i; |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
247 | } |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
248 | } |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
249 | return -1; |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
250 | } |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
251 | |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
252 | static MMConversation* |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
253 | mmconv_from_conv(GaimConversation *conv) |
|
11365
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
254 | { |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
255 | return (MMConversation *)g_list_nth_data(conversations, mmconv_from_conv_loc(conv)); |
|
11365
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
256 | } |
|
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
257 | |
|
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
258 | static gboolean |
|
11088
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
259 | plugin_load(GaimPlugin *plugin) { |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
260 | void *conv_list_handle; |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
261 | |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
262 | /* First, we have to register our four exported functions with the |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
263 | main gaim dbus loop. Without this statement, the gaim dbus |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
264 | code wouldn't know about our functions. */ |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
265 | GAIM_DBUS_REGISTER_BINDINGS(plugin); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
266 | |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
267 | /* Keep the plugin for reference (needed for notify's) */ |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
268 | plugin_pointer = plugin; |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
269 | |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
270 | /* Add the button to all the current conversations */ |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
271 | gaim_conversation_foreach (init_conversation); |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
272 | |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
273 | /* Listen for any new conversations */ |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
274 | conv_list_handle = gaim_conversations_get_handle(); |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
275 | |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
276 | gaim_signal_connect(conv_list_handle, "conversation-created", |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
277 | plugin, GAIM_CALLBACK(init_conversation), NULL); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
278 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
279 | /* Listen for conversations that are ending */ |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
280 | gaim_signal_connect(conv_list_handle, "deleting-conversation", |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
281 | plugin, GAIM_CALLBACK(conv_destroyed), NULL); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
282 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
283 | /* Listen for sending/receiving messages to replace tags */ |
|
13234
1d8e569b2053
[gaim-migrate @ 15598]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13090
diff
changeset
|
284 | gaim_signal_connect(conv_list_handle, "sending-im-msg", |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
285 | plugin, GAIM_CALLBACK(intercept_sent), NULL); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
286 | gaim_signal_connect(conv_list_handle, "receiving-im-msg", |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
287 | plugin, GAIM_CALLBACK(intercept_received), NULL); |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
288 | |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
289 | return TRUE; |
|
11088
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
290 | } |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
291 | |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
292 | static gboolean |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
293 | plugin_unload(GaimPlugin *plugin) { |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
294 | MMConversation *mmconv = NULL; |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
295 | |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
296 | while (g_list_length(conversations) > 0) |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
297 | { |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
298 | mmconv = g_list_first(conversations)->data; |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
299 | conv_destroyed(mmconv->conv); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
300 | } |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
301 | return TRUE; |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
302 | } |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
303 | |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
304 | |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
305 | |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
306 | static gboolean |
|
13234
1d8e569b2053
[gaim-migrate @ 15598]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13090
diff
changeset
|
307 | intercept_sent(GaimAccount *account, const char *who, char **message, void* pData) |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
308 | { |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
309 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
310 | if (0 == strncmp(*message, MUSICMESSAGING_PREFIX, strlen(MUSICMESSAGING_PREFIX))) |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
311 | { |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
312 | gaim_debug_misc("gaim-musicmessaging", "Sent MM Message: %s\n", *message); |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
313 | message = 0; |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
314 | } |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
315 | else if (0 == strncmp(*message, MUSICMESSAGING_START_MSG, strlen(MUSICMESSAGING_START_MSG))) |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
316 | { |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
317 | gaim_debug_misc("gaim-musicmessaging", "Sent MM request.\n"); |
|
11420
7e38dc3d0f48
[gaim-migrate @ 13657]
Christian Muise <christian.muise@gmail.com>
parents:
11418
diff
changeset
|
318 | return FALSE; |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
319 | } |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
320 | else if (0 == strncmp(*message, MUSICMESSAGING_CONFIRM_MSG, strlen(MUSICMESSAGING_CONFIRM_MSG))) |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
321 | { |
|
11365
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
322 | gaim_debug_misc("gaim-musicmessaging", "Sent MM confirm.\n"); |
|
11420
7e38dc3d0f48
[gaim-migrate @ 13657]
Christian Muise <christian.muise@gmail.com>
parents:
11418
diff
changeset
|
323 | return FALSE; |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
324 | } |
|
11365
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
325 | else if (0 == strncmp(*message, "test1", strlen("test1"))) |
|
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
326 | { |
|
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
327 | gaim_debug_misc("gaim-musicmessaging", "\n\nTEST 1\n\n"); |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
328 | send_change_request(0, "test-id", "test-command", "test-parameters"); |
|
11365
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
329 | return FALSE; |
|
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
330 | } |
|
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
331 | else if (0 == strncmp(*message, "test2", strlen("test2"))) |
|
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
332 | { |
|
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
333 | gaim_debug_misc("gaim-musicmessaging", "\n\nTEST 2\n\n"); |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
334 | send_change_confirmed(1, "test-command", "test-parameters"); |
|
11365
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
335 | return FALSE; |
|
9138f01151d7
[gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents:
11362
diff
changeset
|
336 | } |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
337 | else |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
338 | { |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
339 | return FALSE; |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
340 | /* Do nothing...procceed as normal */ |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
341 | } |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
342 | return TRUE; |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
343 | } |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
344 | |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
345 | static gboolean |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
346 | intercept_received(GaimAccount *account, char **sender, char **message, GaimConversation *conv, int *flags) |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
347 | { |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
348 | MMConversation *mmconv = mmconv_from_conv(conv); |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
349 | |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
350 | gaim_debug_misc("gaim-musicmessaging", "Intercepted: %s\n", *message); |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
351 | if (strstr(*message, MUSICMESSAGING_PREFIX)) |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
352 | { |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
353 | char *parsed_message = strtok(strstr(*message, MUSICMESSAGING_PREFIX), "<"); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
354 | gaim_debug_misc("gaim-musicmessaging", "Received an MM Message: %s\n", parsed_message); |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
355 | |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
356 | if (mmconv->started) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
357 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
358 | if (strstr(parsed_message, "request")) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
359 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
360 | if (mmconv->originator) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
361 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
362 | int session = mmconv_from_conv_loc(conv); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
363 | char *id = (mmconv->conv)->name; |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
364 | char *command; |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
365 | char *parameters; |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
366 | |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
367 | gaim_debug_misc("gaim-musicmessaging", "Sending request to gscore.\n"); |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
368 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
369 | /* Get past the first two terms - '##MM##' and 'request' */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
370 | strtok(parsed_message, " "); /* '##MM##' */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
371 | strtok(NULL, " "); /* 'request' */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
372 | |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
373 | command = strtok(NULL, " "); |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
374 | parameters = strtok(NULL, "#"); |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
375 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
376 | send_change_request (session, id, command, parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
377 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
378 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
379 | } else if (strstr(parsed_message, "confirm")) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
380 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
381 | if (!mmconv->originator) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
382 | { |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
383 | int session = mmconv_from_conv_loc(conv); |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
384 | char *command; |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
385 | char *parameters; |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
386 | |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
387 | gaim_debug_misc("gaim-musicmessaging", "Sending confirmation to gscore.\n"); |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
388 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
389 | /* Get past the first two terms - '##MM##' and 'confirm' */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
390 | strtok(parsed_message, " "); /* '##MM##' */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
391 | strtok(NULL, " "); /* 'confirm' */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
392 | |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
393 | command = strtok(NULL, " "); |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
394 | parameters = strtok(NULL, "#"); |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
395 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
396 | send_change_confirmed (session, command, parameters); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
397 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
398 | } else if (strstr(parsed_message, "failed")) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
399 | { |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
400 | char *id; |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
401 | char *command; |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
402 | |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
403 | /* Get past the first two terms - '##MM##' and 'confirm' */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
404 | strtok(parsed_message, " "); /* '##MM##' */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
405 | strtok(NULL, " "); /* 'failed' */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
406 | |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
407 | id = strtok(NULL, " "); |
|
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
408 | command = strtok(NULL, " "); |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
409 | /* char *parameters = strtok(NULL, "#"); DONT NEED PARAMETERS */ |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
410 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
411 | if ((mmconv->conv)->name == id) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
412 | { |
|
13090
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
413 | gaim_notify_message(plugin_pointer, GAIM_NOTIFY_MSG_ERROR, |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
414 | _("Music Messaging"), |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
415 | _("There was a conflict in running the command:"), command, NULL, NULL); |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
416 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
417 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
418 | } |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
419 | |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
420 | message = 0; |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
421 | } |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
422 | else if (strstr(*message, MUSICMESSAGING_START_MSG)) |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
423 | { |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
424 | gaim_debug_misc("gaim-musicmessaging", "Received MM request.\n"); |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
425 | if (!(mmconv->originator)) |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
426 | { |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
427 | mmconv->requested = TRUE; |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
428 | return FALSE; |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
429 | } |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
430 | |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
431 | } |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
432 | else if (strstr(*message, MUSICMESSAGING_CONFIRM_MSG)) |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
433 | { |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
434 | gaim_debug_misc("gaim-musicmessagin", "Received MM confirm.\n"); |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
435 | |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
436 | if (mmconv->originator) |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
437 | { |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
438 | start_session(mmconv); |
|
11420
7e38dc3d0f48
[gaim-migrate @ 13657]
Christian Muise <christian.muise@gmail.com>
parents:
11418
diff
changeset
|
439 | return FALSE; |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
440 | } |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
441 | } |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
442 | else |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
443 | { |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
444 | return FALSE; |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
445 | /* Do nothing. */ |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
446 | } |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
447 | return TRUE; |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
448 | } |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
449 | |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
450 | static void send_request(MMConversation *mmconv) |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
451 | { |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
452 | GaimConnection *connection = gaim_conversation_get_gc(mmconv->conv); |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
453 | const char *convName = gaim_conversation_get_name(mmconv->conv); |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
454 | serv_send_im(connection, convName, MUSICMESSAGING_START_MSG, GAIM_MESSAGE_SEND); |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
455 | } |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
456 | |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
457 | static void send_request_confirmed(MMConversation *mmconv) |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
458 | { |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
459 | GaimConnection *connection = gaim_conversation_get_gc(mmconv->conv); |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
460 | const char *convName = gaim_conversation_get_name(mmconv->conv); |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
461 | serv_send_im(connection, convName, MUSICMESSAGING_CONFIRM_MSG, GAIM_MESSAGE_SEND); |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
462 | } |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
463 | |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
464 | |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
465 | static gboolean |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
466 | start_session(MMConversation *mmconv) |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
467 | { |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
468 | run_editor(mmconv); |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
469 | return TRUE; |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
470 | } |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
471 | |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
472 | static void session_end (MMConversation *mmconv) |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
473 | { |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
474 | mmconv->started = FALSE; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
475 | mmconv->originator = FALSE; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
476 | mmconv->requested = FALSE; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
477 | kill_editor(mmconv); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
478 | } |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
479 | |
|
11169
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
480 | static void music_button_toggled (GtkWidget *widget, gpointer data) |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
481 | { |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
482 | MMConversation *mmconv = mmconv_from_conv(((MMConversation *) data)->conv); |
|
11169
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
483 | if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
484 | { |
|
11418
9a84d5b27748
[gaim-migrate @ 13655]
Christian Muise <christian.muise@gmail.com>
parents:
11417
diff
changeset
|
485 | if (((MMConversation *) data)->requested) |
|
9a84d5b27748
[gaim-migrate @ 13655]
Christian Muise <christian.muise@gmail.com>
parents:
11417
diff
changeset
|
486 | { |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
487 | start_session(mmconv); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
488 | send_request_confirmed(mmconv); |
|
11418
9a84d5b27748
[gaim-migrate @ 13655]
Christian Muise <christian.muise@gmail.com>
parents:
11417
diff
changeset
|
489 | } |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
490 | else |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
491 | { |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
492 | ((MMConversation *) data)->originator = TRUE; |
|
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
493 | send_request((MMConversation *) data); |
|
11418
9a84d5b27748
[gaim-migrate @ 13655]
Christian Muise <christian.muise@gmail.com>
parents:
11417
diff
changeset
|
494 | } |
|
11169
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
495 | } else { |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
496 | session_end((MMConversation *)data); |
|
11169
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
497 | } |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
498 | } |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
499 | |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
500 | static void set_editor_path (GtkWidget *button, GtkWidget *text_field) |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
501 | { |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
502 | const char * path = gtk_entry_get_text((GtkEntry*)text_field); |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
503 | gaim_prefs_set_string("/plugins/gtk/musicmessaging/editor_path", path); |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
504 | |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
505 | } |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
506 | |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
507 | static void run_editor (MMConversation *mmconv) |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
508 | { |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
509 | GError *spawn_error = NULL; |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
510 | GString *session_id; |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
511 | gchar * args[4]; |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
512 | args[0] = (gchar *)gaim_prefs_get_string("/plugins/gtk/musicmessaging/editor_path"); |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
513 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
514 | args[1] = "-session_id"; |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
515 | session_id = g_string_new(""); |
|
11417
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
516 | g_string_sprintfa(session_id, "%d", mmconv_from_conv_loc(mmconv->conv)); |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
517 | args[2] = session_id->str; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
518 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
519 | args[3] = NULL; |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
520 | |
|
f5fea1b5986f
[gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents:
11365
diff
changeset
|
521 | if (!(g_spawn_async (".", args, NULL, 4, NULL, NULL, &(mmconv->pid), &spawn_error))) |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
522 | { |
|
13090
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
523 | gaim_notify_error(plugin_pointer, _("Error Running Editor"), |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
524 | _("The following error has occured:"), spawn_error->message); |
|
11254
3cbf29bdc44a
[gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents:
11216
diff
changeset
|
525 | mmconv->started = FALSE; |
|
3cbf29bdc44a
[gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents:
11216
diff
changeset
|
526 | } |
|
3cbf29bdc44a
[gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents:
11216
diff
changeset
|
527 | else |
|
3cbf29bdc44a
[gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents:
11216
diff
changeset
|
528 | { |
|
3cbf29bdc44a
[gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents:
11216
diff
changeset
|
529 | mmconv->started = TRUE; |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
530 | } |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
531 | } |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
532 | |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
533 | static void kill_editor (MMConversation *mmconv) |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
534 | { |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
535 | if (mmconv->pid) |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
536 | { |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
537 | kill(mmconv->pid, SIGINT); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
538 | mmconv->pid = 0; |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
539 | } |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
540 | } |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
541 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
542 | static void init_conversation (GaimConversation *conv) |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
543 | { |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
544 | MMConversation *mmconv; |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
545 | mmconv = g_malloc(sizeof(MMConversation)); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
546 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
547 | mmconv->conv = conv; |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
548 | mmconv->started = FALSE; |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
549 | mmconv->originator = FALSE; |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
550 | mmconv->requested = FALSE; |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
551 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
552 | add_button(mmconv); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
553 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
554 | conversations = g_list_append(conversations, mmconv); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
555 | } |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
556 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
557 | static void conv_destroyed (GaimConversation *conv) |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
558 | { |
|
11362
d28bb616f412
[gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents:
11355
diff
changeset
|
559 | MMConversation *mmconv = mmconv_from_conv(conv); |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
560 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
561 | remove_widget(mmconv->button); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
562 | remove_widget(mmconv->seperator); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
563 | if (mmconv->started) |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
564 | { |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
565 | kill_editor(mmconv); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
566 | } |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
567 | conversations = g_list_remove(conversations, mmconv); |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
568 | } |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
569 | |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
570 | static void add_button (MMConversation *mmconv) |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
571 | { |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
572 | GaimConversation *conv = mmconv->conv; |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
573 | |
|
11169
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
574 | GtkWidget *button, *image, *sep; |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
575 | gchar *file_path; |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
576 | |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
577 | button = gtk_toggle_button_new(); |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
578 | gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
579 | |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
580 | g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(music_button_toggled), mmconv); |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
581 | |
|
11900
26ddf2b8a8fe
[gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11659
diff
changeset
|
582 | file_path = g_build_filename(DATADIR, "pixmaps", "gaim", "buttons", |
|
11659
65d522cdb2d6
[gaim-migrate @ 13944]
Gary Kramlich <grim@reaperworld.com>
parents:
11420
diff
changeset
|
583 | "music.png", NULL); |
|
11254
3cbf29bdc44a
[gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents:
11216
diff
changeset
|
584 | image = gtk_image_new_from_file(file_path); |
|
11659
65d522cdb2d6
[gaim-migrate @ 13944]
Gary Kramlich <grim@reaperworld.com>
parents:
11420
diff
changeset
|
585 | g_free(file_path); |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
586 | |
|
11169
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
587 | gtk_container_add((GtkContainer *)button, image); |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
588 | |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
589 | sep = gtk_vseparator_new(); |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
590 | |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
591 | mmconv->seperator = sep; |
|
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
592 | mmconv->button = button; |
|
11169
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
593 | |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
594 | gtk_widget_show(sep); |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
595 | gtk_widget_show(image); |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
596 | gtk_widget_show(button); |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
597 | |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
598 | gtk_box_pack_start(GTK_BOX(GAIM_GTK_CONVERSATION(conv)->toolbar), sep, FALSE, FALSE, 0); |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
599 | gtk_box_pack_start(GTK_BOX(GAIM_GTK_CONVERSATION(conv)->toolbar), button, FALSE, FALSE, 0); |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
600 | } |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
601 | |
|
11200
082b8c63d9b1
[gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents:
11169
diff
changeset
|
602 | static void remove_widget (GtkWidget *button) |
|
11169
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
603 | { |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
604 | gtk_widget_hide(button); |
|
96612b706d45
[gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents:
11166
diff
changeset
|
605 | gtk_widget_destroy(button); |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
606 | } |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
607 | |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
608 | static GtkWidget * |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
609 | get_config_frame(GaimPlugin *plugin) |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
610 | { |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
611 | GtkWidget *ret; |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
612 | GtkWidget *vbox; |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
613 | |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
614 | GtkWidget *editor_path; |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
615 | GtkWidget *editor_path_label; |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
616 | GtkWidget *editor_path_button; |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
617 | |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
618 | /* Outside container */ |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
619 | ret = gtk_vbox_new(FALSE, 18); |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
620 | gtk_container_set_border_width(GTK_CONTAINER(ret), 10); |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
621 | |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
622 | /* Configuration frame */ |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
623 | vbox = gaim_gtk_make_frame(ret, _("Music Messaging Configuration")); |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
624 | |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
625 | /* Path to the score editor */ |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
626 | editor_path = gtk_entry_new(); |
|
13090
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
627 | editor_path_label = gtk_label_new(_("Score Editor Path")); |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
628 | editor_path_button = gtk_button_new_with_mnemonic(_("_Apply")); |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
629 | |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
630 | gtk_entry_set_text((GtkEntry*)editor_path, "/usr/local/bin/gscore"); |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
631 | |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
632 | g_signal_connect(G_OBJECT(editor_path_button), "clicked", |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
633 | G_CALLBACK(set_editor_path), editor_path); |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
634 | |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
635 | gtk_box_pack_start(GTK_BOX(vbox), editor_path_label, FALSE, FALSE, 0); |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
636 | gtk_box_pack_start(GTK_BOX(vbox), editor_path, FALSE, FALSE, 0); |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
637 | gtk_box_pack_start(GTK_BOX(vbox), editor_path_button, FALSE, FALSE, 0); |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
638 | |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
639 | gtk_widget_show_all(ret); |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
640 | |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
641 | return ret; |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
642 | } |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
643 | |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
644 | static GaimGtkPluginUiInfo ui_info = |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
645 | { |
|
12627
fa4c64a821d2
[gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
12604
diff
changeset
|
646 | get_config_frame, |
|
fa4c64a821d2
[gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
12604
diff
changeset
|
647 | 0 /* page_num (reserved) */ |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
648 | }; |
|
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
649 | |
|
11088
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
650 | static GaimPluginInfo info = { |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
651 | GAIM_PLUGIN_MAGIC, |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
652 | GAIM_MAJOR_VERSION, |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
653 | GAIM_MINOR_VERSION, |
|
13090
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
654 | GAIM_PLUGIN_STANDARD, /**< type */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
655 | GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
656 | 0, /**< flags */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
657 | NULL, /**< dependencies */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
658 | GAIM_PRIORITY_DEFAULT, /**< priority */ |
|
11088
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
659 | |
|
13090
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
660 | MUSICMESSAGING_PLUGIN_ID, /**< id */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
661 | "Music Messaging", /**< name */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
662 | VERSION, /**< version */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
663 | N_("Music Messaging Plugin for collaborative composition."), |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
664 | /** summary */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
665 | N_("The Music Messaging Plugin allows a number of users to simultaneously work on a piece of music by editting a common score in real-time."), |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
666 | /** description */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
667 | "Christian Muise <christian.muise@gmail.com>", /**< author */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
668 | GAIM_WEBSITE, /**< homepage */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
669 | plugin_load, /**< load */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
670 | plugin_unload, /**< unload */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
671 | NULL, /**< destroy */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
672 | &ui_info, /**< ui_info */ |
|
aee4ed853ff3
[gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12627
diff
changeset
|
673 | NULL, /**< extra_info */ |
|
11088
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
674 | NULL, |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
675 | NULL |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
676 | }; |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
677 | |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
678 | static void |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
679 | init_plugin(GaimPlugin *plugin) { |
|
11166
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
680 | gaim_prefs_add_none("/plugins/gtk/musicmessaging"); |
|
61bc885358db
[gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents:
11108
diff
changeset
|
681 | gaim_prefs_add_string("/plugins/gtk/musicmessaging/editor_path", "/usr/local/bin/gscore"); |
|
11088
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
682 | } |
|
a27865ae1e2b
[gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff
changeset
|
683 | |
|
11108
cd88f2093c73
[gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents:
11088
diff
changeset
|
684 | GAIM_INIT_PLUGIN(musicmessaging, init_plugin, info); |