Thu, 29 Jun 2017 15:33:29 -0500
gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Modern Linux desktops use one of 3 DBus interfaces for querying if
the screensaver is currently active. There's a FreeDesktop one, a
GNOME one, and a KDE one. Rather than querying XScreensaver, which
may not be available, such as with Wayland, this patch ports Pidgin's
idle checking function to use these modern DBus interfaces.
Because Gio includes built-in DBus API, this patch also drops the
guards around pidgin_get_time_idle(), which also re-enables the
Win32 code which wasn't enabled with the previous guards.
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
1 | /* |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2 | * pidgin |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
3 | * |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
4 | * Pidgin is the legal property of its developers, whose names are too numerous |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
5 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
6 | * source distribution. |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
7 | * |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
8 | * This program is free software; you can redistribute it and/or modify |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
9 | * it under the terms of the GNU General Public License as published by |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
11 | * (at your option) any later version. |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
12 | * |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
16 | * GNU General Public License for more details. |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
17 | * |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
19 | * along with this program; if not, write to the Free Software |
|
35718
83486b5d34ab
Drop PidginSmiley, rename gtksmiley to gtksmiley-manager
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35714
diff
changeset
|
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
21 | */ |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
22 | |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
23 | #include "internal.h" |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
24 | |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
25 | #include "debug.h" |
|
34225
3bba206f27f6
HTTP: migrate purple_util_fetch_url to new API for Pidgin UI
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33424
diff
changeset
|
26 | #include "http.h" |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
27 | #include "notify.h" |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
28 | #include "smiley.h" |
|
35723
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
29 | #include "smiley-custom.h" |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
30 | #include "smiley-list.h" |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
31 | |
|
35718
83486b5d34ab
Drop PidginSmiley, rename gtksmiley to gtksmiley-manager
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35714
diff
changeset
|
32 | #include "gtksmiley-manager.h" |
|
22898
206c1f2a1fd7
Patch from Masca to use the buddy-icon selector to select a custom
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22655
diff
changeset
|
33 | #include "gtkutils.h" |
|
206c1f2a1fd7
Patch from Masca to use the buddy-icon selector to select a custom
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22655
diff
changeset
|
34 | #include "pidginstock.h" |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
35 | |
|
33170
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33158
diff
changeset
|
36 | #include "gtk3compat.h" |
|
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33158
diff
changeset
|
37 | |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
38 | typedef struct |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
39 | { |
|
35724
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
40 | PurpleSmiley *smiley; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
41 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
42 | gchar *filename; |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
43 | PurpleImage *new_image; |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
44 | |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
45 | GtkDialog *window; |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
46 | GtkImage *thumbnail; |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
47 | GtkEntry *shortcut; |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
48 | } SmileyEditDialog; |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
49 | |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
50 | typedef struct |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
51 | { |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
52 | GtkDialog *window; |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
53 | GtkListStore *model; |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
54 | GtkTreeView *tree; |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
55 | |
|
34225
3bba206f27f6
HTTP: migrate purple_util_fetch_url to new API for Pidgin UI
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33424
diff
changeset
|
56 | PurpleHttpConnection *running_request; |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
57 | } SmileyManager; |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
58 | |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
59 | enum |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
60 | { |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
61 | SMILEY_LIST_MODEL_ICON, |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
62 | SMILEY_LIST_MODEL_SHORTCUT, |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
63 | SMILEY_LIST_MODEL_PURPLESMILEY, |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
64 | SMILEY_LIST_MODEL_N_COL |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
65 | }; |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
66 | |
|
35726
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
67 | enum |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
68 | { |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
69 | PIDGIN_RESPONSE_MODIFY |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
70 | }; |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
71 | |
|
35726
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
72 | static SmileyManager *smiley_manager = NULL; |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
73 | |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
74 | static void |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
75 | edit_dialog_update_buttons(SmileyEditDialog *edit_dialog); |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
76 | |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
77 | static void |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
78 | manager_list_fill(SmileyManager *manager); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
79 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
80 | |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
81 | /******************************************************************************* |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
82 | * Custom smiley edit dialog image. |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
83 | ******************************************************************************/ |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
84 | |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
85 | static void |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
86 | edit_dialog_image_update_thumb(SmileyEditDialog *edit_dialog) |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
87 | { |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
88 | GdkPixbuf *pixbuf = NULL; |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
89 | |
|
35735
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
90 | if (edit_dialog->new_image) { |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
91 | pixbuf = pidgin_pixbuf_from_image(edit_dialog->new_image); |
|
35735
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
92 | } else if (edit_dialog->filename) { |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
93 | pixbuf = pidgin_pixbuf_new_from_file(edit_dialog->filename); |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
94 | if (!pixbuf) { |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
95 | g_free(edit_dialog->filename); |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
96 | edit_dialog->filename = NULL; |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
97 | } |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
98 | } |
|
35735
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
99 | |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
100 | if (pixbuf) { |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
101 | pixbuf = pidgin_pixbuf_scale_down(pixbuf, 64, 64, |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
102 | GDK_INTERP_HYPER, TRUE); |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
103 | } |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
104 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
105 | if (!pixbuf) { |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
106 | GtkIconSize icon_size = |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
107 | gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_SMALL); |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
108 | pixbuf = gtk_widget_render_icon(GTK_WIDGET(edit_dialog->window), |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
109 | PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR, icon_size, |
|
35726
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
110 | "PidginSmileyManager"); |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
111 | } |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
112 | g_return_if_fail(pixbuf != NULL); |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
113 | |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
114 | gtk_image_set_from_pixbuf(GTK_IMAGE(edit_dialog->thumbnail), pixbuf); |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
115 | |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
116 | g_object_unref(G_OBJECT(pixbuf)); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
117 | } |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
118 | |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
119 | static gboolean |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
120 | edit_dialog_set_image(SmileyEditDialog *edit_dialog, PurpleImage *image) |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
121 | { |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
122 | GdkPixbuf *tmp = NULL; |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
123 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
124 | if (edit_dialog->new_image) |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
125 | g_object_unref(edit_dialog->new_image); |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
126 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
127 | if (edit_dialog->smiley) { |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
128 | g_object_set_data(G_OBJECT(edit_dialog->smiley), |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
129 | "pidgin-smiley-manager-list-thumb", NULL); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
130 | } |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
131 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
132 | /* check, if image is valid */ |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
133 | if (image) |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
134 | tmp = pidgin_pixbuf_from_image(image); |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
135 | if (tmp) |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
136 | g_object_unref(tmp); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
137 | else { |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
138 | g_object_unref(image); |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
139 | image = NULL; |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
140 | } |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
141 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
142 | edit_dialog->new_image = image; |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
143 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
144 | edit_dialog_image_update_thumb(edit_dialog); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
145 | edit_dialog_update_buttons(edit_dialog); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
146 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
147 | return (image != NULL); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
148 | } |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
149 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
150 | static void |
|
35785
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
151 | edit_dialog_set_shortcut(SmileyEditDialog *edit_dialog, |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
152 | const gchar *shortcut) |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
153 | { |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
154 | gtk_entry_set_text(edit_dialog->shortcut, shortcut ? shortcut : ""); |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
155 | } |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
156 | |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
157 | static void |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
158 | edit_dialog_image_choosen(const char *filename, gpointer _edit_dialog) |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
159 | { |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
160 | PurpleImage *image; |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
161 | SmileyEditDialog *edit_dialog = _edit_dialog; |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
162 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
163 | if (!filename) |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
164 | return; |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
165 | |
|
38285
72824d3b7190
Update pidgin for the PurpleImage and PurpleSmiley changes
Gary Kramlich <grim@reaperworld.com>
parents:
38277
diff
changeset
|
166 | image = purple_image_new_from_file(filename, NULL); |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
167 | if (!image) |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
168 | return; |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
169 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
170 | g_free(edit_dialog->filename); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
171 | edit_dialog->filename = NULL; |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
172 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
173 | if (!edit_dialog_set_image(edit_dialog, image)) |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
174 | return; |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
175 | edit_dialog->filename = g_strdup(filename); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
176 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
177 | gtk_widget_grab_focus(GTK_WIDGET(edit_dialog->shortcut)); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
178 | } |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
179 | |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
180 | static void |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
181 | edit_dialog_image_choose(GtkWidget *widget, gpointer _edit_dialog) |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
182 | { |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
183 | GtkWidget *file_chooser; |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
184 | file_chooser = pidgin_buddy_icon_chooser_new( |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
185 | GTK_WINDOW(gtk_widget_get_toplevel(widget)), |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
186 | edit_dialog_image_choosen, _edit_dialog); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
187 | gtk_window_set_title(GTK_WINDOW(file_chooser), _("Custom Smiley")); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
188 | gtk_window_set_role(GTK_WINDOW(file_chooser), |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
189 | "file-selector-custom-smiley"); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
190 | gtk_widget_show_all(file_chooser); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
191 | } |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
192 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
193 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
194 | /******************************************************************************* |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
195 | * Custom smiley edit dialog. |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
196 | ******************************************************************************/ |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
197 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
198 | static void |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
199 | edit_dialog_destroy(GtkWidget *window, gpointer _edit_dialog) |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
200 | { |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
201 | SmileyEditDialog *edit_dialog = _edit_dialog; |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
202 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
203 | if (edit_dialog->smiley) { |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
204 | g_object_set_data(G_OBJECT(edit_dialog->smiley), |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
205 | "pidgin-smiley-manager-edit-dialog", NULL); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
206 | g_object_unref(edit_dialog->smiley); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
207 | } |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
208 | |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
209 | if (edit_dialog->new_image) |
|
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
210 | g_object_unref(edit_dialog->new_image); |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
211 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
212 | g_free(edit_dialog->filename); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
213 | g_free(edit_dialog); |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
214 | } |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
215 | |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
216 | static void |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
217 | edit_dialog_save(SmileyEditDialog *edit_dialog) |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
218 | { |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
219 | const gchar *shortcut; |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
220 | PurpleSmiley *existing_smiley; |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
221 | gboolean shortcut_changed, image_changed; |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
222 | |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
223 | shortcut = gtk_entry_get_text(edit_dialog->shortcut); |
|
24155
0747d1bba8a7
Do not allow setting empty shortcut for a custom smiley.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24102
diff
changeset
|
224 | |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
225 | existing_smiley = purple_smiley_list_get_by_shortcut( |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
226 | purple_smiley_custom_get_list(), shortcut); |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
227 | |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
228 | if (existing_smiley && existing_smiley != edit_dialog->smiley) { |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
229 | gchar *msg = g_strdup_printf( |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
230 | _("A custom smiley for '%s' already exists. " |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
231 | "Please use a different shortcut."), shortcut); |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
232 | purple_notify_error(edit_dialog, _("Custom Smiley"), |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
233 | _("Duplicate Shortcut"), msg, NULL); |
|
25878
d6ef15a065c6
Use the shortcut in the error message to give people more context
Mark Doliner <markdoliner@pidgin.im>
parents:
25877
diff
changeset
|
234 | g_free(msg); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
235 | return; |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
236 | } |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
237 | |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
238 | if (edit_dialog->smiley == NULL) |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
239 | shortcut_changed = image_changed = TRUE; |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
240 | else { |
| 38358 | 241 | shortcut_changed = purple_strequal(purple_smiley_get_shortcut( |
| 242 | edit_dialog->smiley), shortcut); | |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
243 | image_changed = (edit_dialog->new_image != NULL); |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
244 | } |
|
25876
6dafeb78324a
Try to improve the wording in our custom smiley manager
Mark Doliner <markdoliner@pidgin.im>
parents:
25390
diff
changeset
|
245 | |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
246 | if (!shortcut_changed && !image_changed) { |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
247 | gtk_widget_destroy(GTK_WIDGET(edit_dialog->window)); |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
248 | return; |
|
22898
206c1f2a1fd7
Patch from Masca to use the buddy-icon selector to select a custom
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22655
diff
changeset
|
249 | } |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
250 | |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
251 | if (edit_dialog->new_image == NULL) { |
|
38285
72824d3b7190
Update pidgin for the PurpleImage and PurpleSmiley changes
Gary Kramlich <grim@reaperworld.com>
parents:
38277
diff
changeset
|
252 | edit_dialog->new_image = PURPLE_IMAGE(edit_dialog->smiley); |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
253 | g_return_if_fail(edit_dialog->new_image); |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
254 | } |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
255 | |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
256 | if (edit_dialog->smiley) |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
257 | purple_smiley_custom_remove(edit_dialog->smiley); |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
258 | purple_smiley_custom_add(edit_dialog->new_image, shortcut); |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
259 | |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
260 | if (smiley_manager) |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
261 | manager_list_fill(smiley_manager); |
|
35727
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
262 | |
|
9025074cda55
Smiley manager: saving smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35726
diff
changeset
|
263 | gtk_widget_destroy(GTK_WIDGET(edit_dialog->window)); |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
264 | } |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
265 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
266 | static void |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
267 | edit_dialog_update_buttons(SmileyEditDialog *edit_dialog) |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
268 | { |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
269 | gboolean shortcut_ok, image_ok; |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
270 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
271 | shortcut_ok = (gtk_entry_get_text_length(edit_dialog->shortcut) > 0); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
272 | image_ok = (edit_dialog->filename || edit_dialog->new_image); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
273 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
274 | gtk_dialog_set_response_sensitive(edit_dialog->window, |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
275 | GTK_RESPONSE_ACCEPT, shortcut_ok && image_ok); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
276 | } |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
277 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
278 | static void |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
279 | edit_dialog_shortcut_changed(GtkEditable *shortcut, gpointer _edit_dialog) |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
280 | { |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
281 | SmileyEditDialog *edit_dialog = _edit_dialog; |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
282 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
283 | edit_dialog_update_buttons(edit_dialog); |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
284 | } |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
285 | |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
286 | static void |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
287 | edit_dialog_response(GtkDialog *window, gint response_id, |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
288 | gpointer _edit_dialog) |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
289 | { |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
290 | SmileyEditDialog *edit_dialog = _edit_dialog; |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
291 | |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
292 | switch (response_id) { |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
293 | case GTK_RESPONSE_ACCEPT: |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
294 | edit_dialog_save(edit_dialog); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
295 | break; |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
296 | case GTK_RESPONSE_DELETE_EVENT: |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
297 | case GTK_RESPONSE_CANCEL: |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
298 | gtk_widget_destroy(GTK_WIDGET(edit_dialog->window)); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
299 | break; |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
300 | default: |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
301 | g_warn_if_reached(); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
302 | } |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
303 | } |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
304 | |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
305 | static SmileyEditDialog * |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
306 | edit_dialog_show(SmileyManager *manager, PurpleSmiley *smiley) |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
307 | { |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
308 | SmileyEditDialog *edit_dialog; |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
309 | GtkWidget *vbox, *hbox; |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
310 | GtkLabel *label; |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
311 | GtkButton *filech; |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
312 | |
|
35726
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
313 | if (smiley) { |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
314 | edit_dialog = g_object_get_data(G_OBJECT(smiley), |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
315 | "pidgin-smiley-manager-edit-dialog"); |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
316 | if (edit_dialog) { |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
317 | gtk_window_present(GTK_WINDOW(edit_dialog->window)); |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
318 | return edit_dialog; |
|
35726
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
319 | } |
|
35724
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
320 | } |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
321 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
322 | edit_dialog = g_new0(SmileyEditDialog, 1); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
323 | |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
324 | edit_dialog->window = GTK_DIALOG(gtk_dialog_new_with_buttons( |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
325 | smiley ? _("Edit Smiley") : _("Add Smiley"), |
|
35785
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
326 | manager ? GTK_WINDOW(manager->window) : NULL, |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
327 | GTK_DIALOG_DESTROY_WITH_PARENT, |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
328 | GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
329 | smiley ? GTK_STOCK_SAVE : GTK_STOCK_ADD, GTK_RESPONSE_ACCEPT, |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
330 | NULL)); |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
331 | gtk_dialog_set_default_response( |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
332 | edit_dialog->window, GTK_RESPONSE_ACCEPT); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
333 | |
|
35726
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
334 | if (smiley) { |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
335 | edit_dialog->smiley = smiley; |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
336 | g_object_set_data(G_OBJECT(smiley), |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
337 | "pidgin-smiley-manager-edit-dialog", edit_dialog); |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
338 | g_object_ref(smiley); |
|
ac781ed58d2d
Smiley manager: more cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35725
diff
changeset
|
339 | } |
|
35724
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
340 | |
|
33170
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33158
diff
changeset
|
341 | |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
342 | /* The vbox */ |
|
33412
4fd6fe073c8f
Migrate some bits to GTK3 API.
Jorge Villaseñor <salinasv@pidgin.im>
parents:
33170
diff
changeset
|
343 | vbox = gtk_grid_new(); |
|
4fd6fe073c8f
Migrate some bits to GTK3 API.
Jorge Villaseñor <salinasv@pidgin.im>
parents:
33170
diff
changeset
|
344 | gtk_grid_set_row_spacing(GTK_GRID(vbox), PIDGIN_HIG_BORDER); |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
345 | gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area( |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
346 | edit_dialog->window)), vbox); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
347 | gtk_widget_show(vbox); |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
348 | |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
349 | /* The hbox */ |
|
33412
4fd6fe073c8f
Migrate some bits to GTK3 API.
Jorge Villaseñor <salinasv@pidgin.im>
parents:
33170
diff
changeset
|
350 | hbox = gtk_grid_new(); |
|
4fd6fe073c8f
Migrate some bits to GTK3 API.
Jorge Villaseñor <salinasv@pidgin.im>
parents:
33170
diff
changeset
|
351 | gtk_grid_set_column_spacing(GTK_GRID(hbox), PIDGIN_HIG_BORDER); |
|
4fd6fe073c8f
Migrate some bits to GTK3 API.
Jorge Villaseñor <salinasv@pidgin.im>
parents:
33170
diff
changeset
|
352 | gtk_grid_attach(GTK_GRID(vbox), hbox, 0, 0, 1, 1); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
353 | |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
354 | label = GTK_LABEL(gtk_label_new_with_mnemonic(_("_Image:"))); |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
355 | gtk_grid_attach(GTK_GRID(hbox), GTK_WIDGET(label), 0, 0, 1, 1); |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
356 | gtk_widget_show(GTK_WIDGET(label)); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
357 | |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
358 | filech = GTK_BUTTON(gtk_button_new()); |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
359 | gtk_grid_attach_next_to(GTK_GRID(hbox), GTK_WIDGET(filech), NULL, |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
360 | GTK_POS_RIGHT, 1, 1); |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
361 | pidgin_set_accessible_label(GTK_WIDGET(filech), label); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
362 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
363 | edit_dialog->thumbnail = GTK_IMAGE(gtk_image_new()); |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
364 | gtk_container_add(GTK_CONTAINER(filech), |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
365 | GTK_WIDGET(edit_dialog->thumbnail)); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
366 | |
|
22898
206c1f2a1fd7
Patch from Masca to use the buddy-icon selector to select a custom
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22655
diff
changeset
|
367 | gtk_widget_show_all(hbox); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
368 | |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
369 | /* info */ |
|
33412
4fd6fe073c8f
Migrate some bits to GTK3 API.
Jorge Villaseñor <salinasv@pidgin.im>
parents:
33170
diff
changeset
|
370 | hbox = gtk_grid_new(); |
|
4fd6fe073c8f
Migrate some bits to GTK3 API.
Jorge Villaseñor <salinasv@pidgin.im>
parents:
33170
diff
changeset
|
371 | gtk_grid_set_column_spacing(GTK_GRID(hbox), PIDGIN_HIG_BORDER); |
|
4fd6fe073c8f
Migrate some bits to GTK3 API.
Jorge Villaseñor <salinasv@pidgin.im>
parents:
33170
diff
changeset
|
372 | |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
373 | gtk_grid_attach_next_to(GTK_GRID(vbox), hbox, NULL, |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
374 | GTK_POS_BOTTOM, 1, 1); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
375 | |
|
25876
6dafeb78324a
Try to improve the wording in our custom smiley manager
Mark Doliner <markdoliner@pidgin.im>
parents:
25390
diff
changeset
|
376 | /* Shortcut text */ |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
377 | label = GTK_LABEL(gtk_label_new_with_mnemonic(_("S_hortcut text:"))); |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
378 | gtk_grid_attach(GTK_GRID(hbox), GTK_WIDGET(label), 0, 0, 1, 1); |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
379 | gtk_widget_show(GTK_WIDGET(label)); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
380 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
381 | edit_dialog->shortcut = GTK_ENTRY(gtk_entry_new()); |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
382 | gtk_entry_set_activates_default(edit_dialog->shortcut, TRUE); |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
383 | pidgin_set_accessible_label(GTK_WIDGET(edit_dialog->shortcut), label); |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
384 | |
|
35735
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
385 | gtk_grid_attach_next_to(GTK_GRID(hbox), |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
386 | GTK_WIDGET(edit_dialog->shortcut), NULL, GTK_POS_RIGHT, 1, 1); |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
387 | |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
388 | gtk_widget_show(GTK_WIDGET(edit_dialog->shortcut)); |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
389 | gtk_widget_show(hbox); |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
390 | gtk_widget_show(GTK_WIDGET(edit_dialog->window)); |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
391 | |
|
27498
67b5d40e47c8
Automatically enable and disable the Add/Save button in the PidginSmiley
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27259
diff
changeset
|
392 | if (smiley) { |
|
35839
a7f91bd51911
Drop purple_smiley_get_path in favor of purple_image_get_path (or don't use it at all)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35812
diff
changeset
|
393 | edit_dialog->filename = g_strdup(purple_image_get_path( |
|
38285
72824d3b7190
Update pidgin for the PurpleImage and PurpleSmiley changes
Gary Kramlich <grim@reaperworld.com>
parents:
38277
diff
changeset
|
394 | PURPLE_IMAGE(smiley))); |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
395 | gtk_entry_set_text(edit_dialog->shortcut, |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
396 | purple_smiley_get_shortcut(smiley)); |
|
27498
67b5d40e47c8
Automatically enable and disable the Add/Save button in the PidginSmiley
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27259
diff
changeset
|
397 | } |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
398 | |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
399 | edit_dialog_image_update_thumb(edit_dialog); |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
400 | edit_dialog_update_buttons(edit_dialog); |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
401 | |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
402 | g_signal_connect(edit_dialog->window, "response", |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
403 | G_CALLBACK(edit_dialog_response), edit_dialog); |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
404 | g_signal_connect(filech, "clicked", |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
405 | G_CALLBACK(edit_dialog_image_choose), edit_dialog); |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
406 | g_signal_connect(edit_dialog->shortcut, "changed", |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
407 | G_CALLBACK(edit_dialog_shortcut_changed), edit_dialog); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
408 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
409 | g_signal_connect(edit_dialog->window, "destroy", |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
410 | G_CALLBACK(edit_dialog_destroy), edit_dialog); |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
411 | g_signal_connect(edit_dialog->window, "destroy", |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
412 | G_CALLBACK(purple_notify_close_with_handle), edit_dialog); |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
413 | |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
414 | return edit_dialog; |
|
23304
3aba02105818
Modified patch from malu to "Add context menu alternative to add received
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23020
diff
changeset
|
415 | } |
|
3aba02105818
Modified patch from malu to "Add context menu alternative to add received
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23020
diff
changeset
|
416 | |
|
35785
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
417 | void |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
418 | pidgin_smiley_manager_add(PurpleImage *image, const gchar *shortcut) |
|
35785
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
419 | { |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
420 | SmileyEditDialog *edit_dialog; |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
421 | |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
422 | g_return_if_fail(image != NULL); |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
423 | |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
424 | g_object_ref(image); |
|
35785
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
425 | |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
426 | edit_dialog = edit_dialog_show(NULL, NULL); |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
427 | edit_dialog_set_shortcut(edit_dialog, shortcut); |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
428 | if (!edit_dialog_set_image(edit_dialog, image)) |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
429 | gtk_widget_destroy(GTK_WIDGET(edit_dialog->window)); |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
430 | } |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
431 | |
|
65ced7f8beaa
Fix regression: saving small WebView images as a custom smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35771
diff
changeset
|
432 | |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
433 | /******************************************************************************* |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
434 | * Custom smiley list Drag-and-drop support. |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
435 | ******************************************************************************/ |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
436 | |
|
35718
83486b5d34ab
Drop PidginSmiley, rename gtksmiley to gtksmiley-manager
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35714
diff
changeset
|
437 | static void |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
438 | smiley_list_dnd_url_got(PurpleHttpConnection *http_conn, |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
439 | PurpleHttpResponse *response, gpointer _manager) |
|
23304
3aba02105818
Modified patch from malu to "Add context menu alternative to add received
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23020
diff
changeset
|
440 | { |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
441 | SmileyManager *manager = _manager; |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
442 | SmileyEditDialog *edit_dialog; |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
443 | PurpleImage *image; |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
444 | const gchar *image_data; |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
445 | size_t image_size; |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
446 | |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
447 | g_return_if_fail(manager == smiley_manager); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
448 | g_return_if_fail(manager->running_request == http_conn); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
449 | manager->running_request = NULL; |
|
29315
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
450 | |
|
34287
6cd0c77b1f6a
HTTP: successful is spelled with one l
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34233
diff
changeset
|
451 | if (!purple_http_response_is_successful(response)) |
|
29315
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
452 | return; |
|
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
453 | |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
454 | image_data = purple_http_response_get_data(response, &image_size); |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
455 | image = purple_image_new_from_data(g_memdup(image_data, image_size), |
|
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
456 | image_size); |
|
31889
96183796df0c
Start looking at the GError parameter every time we call these functions:
Mark Doliner <markdoliner@pidgin.im>
parents:
31321
diff
changeset
|
457 | if (!image) |
|
29315
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
458 | return; |
|
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
459 | |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
460 | edit_dialog = edit_dialog_show(manager, NULL); |
|
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
461 | if (!edit_dialog_set_image(edit_dialog, image)) |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
462 | gtk_widget_destroy(GTK_WIDGET(edit_dialog->window)); |
|
29315
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
463 | } |
|
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
464 | |
|
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
465 | static void |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
466 | smiley_list_dnd_recv(GtkWidget *widget, GdkDragContext *dc, gint x, gint y, |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
467 | GtkSelectionData *sd, guint info, guint time, gpointer _manager) |
|
29315
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
468 | { |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
469 | SmileyManager *manager = _manager; |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
470 | gchar content[1024]; |
|
33158
ad941796372e
Remove some added trailing spaces.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33141
diff
changeset
|
471 | |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
472 | /* We don't need anything, that is not 8-bit per element (char). */ |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
473 | if (gtk_selection_data_get_format(sd) != 8) { |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
474 | gtk_drag_finish(dc, FALSE, FALSE, time); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
475 | return; |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
476 | } |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
477 | |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
478 | if (gtk_selection_data_get_length(sd) <= 0) { |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
479 | gtk_drag_finish(dc, FALSE, FALSE, time); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
480 | return; |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
481 | } |
|
29315
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
482 | |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
483 | memset(&content, 0, sizeof(content)); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
484 | memcpy(&content, gtk_selection_data_get_data(sd), |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
485 | MIN((guint)gtk_selection_data_get_length(sd), sizeof(content))); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
486 | g_strstrip(content); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
487 | if (content[0] == '\0') { |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
488 | gtk_drag_finish(dc, FALSE, FALSE, time); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
489 | return; |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
490 | } |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
491 | |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
492 | /* Well, it looks like the drag event was cool. |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
493 | * Let's do something with it */ |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
494 | |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
495 | if (purple_str_has_caseprefix(content, "file://")) { |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
496 | SmileyEditDialog *edit_dialog; |
|
35812
48c6ee645ca1
Imgstore vs PurpleImage: rip and fix
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35785
diff
changeset
|
497 | PurpleImage *image; |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
498 | gchar *filename; |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
499 | |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
500 | filename = g_filename_from_uri(content, NULL, NULL); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
501 | if (!filename || !g_file_test(filename, G_FILE_TEST_EXISTS)) { |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
502 | purple_debug_warning("gtksmiley-manager", |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
503 | "dropped file does not exists"); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
504 | gtk_drag_finish(dc, FALSE, FALSE, time); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
505 | return; |
|
29315
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
506 | } |
|
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
507 | |
|
38285
72824d3b7190
Update pidgin for the PurpleImage and PurpleSmiley changes
Gary Kramlich <grim@reaperworld.com>
parents:
38277
diff
changeset
|
508 | image = purple_image_new_from_file(filename, NULL); |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
509 | if (!image) { |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
510 | purple_debug_warning("gtksmiley-manager", |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
511 | "dropped file is not a valid image"); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
512 | gtk_drag_finish(dc, FALSE, FALSE, time); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
513 | return; |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
514 | } |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
515 | edit_dialog = edit_dialog_show(manager, NULL); |
|
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
516 | if (!edit_dialog_set_image(edit_dialog, image)) { |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
517 | gtk_widget_destroy(GTK_WIDGET(edit_dialog->window)); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
518 | gtk_drag_finish(dc, FALSE, FALSE, time); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
519 | return; |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
520 | } |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
521 | |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
522 | gtk_drag_finish(dc, TRUE, FALSE, time); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
523 | return; |
|
29315
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
524 | } |
|
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
525 | |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
526 | if (purple_str_has_caseprefix(content, "http://") || |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
527 | purple_str_has_caseprefix(content, "https://")) |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
528 | { |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
529 | purple_http_conn_cancel(smiley_manager-> |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
530 | running_request); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
531 | smiley_manager->running_request = purple_http_get(NULL, |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
532 | smiley_list_dnd_url_got, manager, content); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
533 | |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
534 | gtk_drag_finish(dc, TRUE, FALSE, time); |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
535 | return; |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
536 | } |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
537 | |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
538 | gtk_drag_finish(dc, FALSE, FALSE, time); |
|
29315
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
539 | } |
|
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
540 | |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
541 | /******************************************************************************* |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
542 | * Custom smiley list. |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
543 | ******************************************************************************/ |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
544 | |
|
35723
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
545 | static void |
|
35724
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
546 | smiley_list_selected(GtkTreeSelection *sel, gpointer _manager) |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
547 | { |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
548 | SmileyManager *manager = _manager; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
549 | gboolean sens; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
550 | |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
551 | sens = (gtk_tree_selection_count_selected_rows(sel) > 0); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
552 | |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
553 | gtk_dialog_set_response_sensitive(manager->window, |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
554 | GTK_RESPONSE_NO, sens); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
555 | gtk_dialog_set_response_sensitive(manager->window, |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
556 | PIDGIN_RESPONSE_MODIFY, sens); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
557 | } |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
558 | |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
559 | static void |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
560 | smiley_list_activated(GtkTreeView *tree, GtkTreePath *path, |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
561 | GtkTreeViewColumn *col, gpointer _manager) |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
562 | { |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
563 | SmileyManager *manager = _manager; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
564 | GtkTreeIter iter; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
565 | PurpleSmiley *smiley = NULL; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
566 | |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
567 | if (!gtk_tree_model_get_iter( |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
568 | GTK_TREE_MODEL(manager->model), &iter, path)) |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
569 | { |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
570 | return; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
571 | } |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
572 | |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
573 | gtk_tree_model_get(GTK_TREE_MODEL(manager->model), &iter, |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
574 | SMILEY_LIST_MODEL_PURPLESMILEY, &smiley, -1); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
575 | g_return_if_fail(PURPLE_IS_SMILEY(smiley)); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
576 | |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
577 | edit_dialog_show(manager, smiley); |
|
35724
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
578 | } |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
579 | |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
580 | static void |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
581 | manager_list_add(SmileyManager *manager, PurpleSmiley *smiley) |
|
35723
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
582 | { |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
583 | GdkPixbuf *smiley_image; |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
584 | GtkTreeIter iter; |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
585 | |
|
35735
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
586 | smiley_image = g_object_get_data(G_OBJECT(smiley), |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
587 | "pidgin-smiley-manager-list-thumb"); |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
588 | if (smiley_image == NULL) { |
|
38285
72824d3b7190
Update pidgin for the PurpleImage and PurpleSmiley changes
Gary Kramlich <grim@reaperworld.com>
parents:
38277
diff
changeset
|
589 | smiley_image = pidgin_pixbuf_from_image(PURPLE_IMAGE(smiley)); |
|
35735
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
590 | smiley_image = pidgin_pixbuf_scale_down(smiley_image, |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
591 | 22, 22, GDK_INTERP_BILINEAR, TRUE); |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
592 | g_object_set_data_full(G_OBJECT(smiley), |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
593 | "pidgin-smiley-manager-list-thumb", |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
594 | smiley_image, g_object_unref); |
|
39ba84113a68
Smiley manager: fill TODOs, do some polishing
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35734
diff
changeset
|
595 | } |
|
35723
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
596 | |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
597 | gtk_list_store_append(manager->model, &iter); |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
598 | gtk_list_store_set(manager->model, &iter, |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
599 | SMILEY_LIST_MODEL_ICON, smiley_image, |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
600 | SMILEY_LIST_MODEL_SHORTCUT, purple_smiley_get_shortcut(smiley), |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
601 | SMILEY_LIST_MODEL_PURPLESMILEY, smiley, |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
602 | -1); |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
603 | } |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
604 | |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
605 | static void |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
606 | manager_list_fill(SmileyManager *manager) |
|
35723
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
607 | { |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
608 | GList *custom_smileys, *it; |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
609 | gtk_list_store_clear(manager->model); |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
610 | |
|
35728
6cd9aee7f276
Smiley manager: edit, delete
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35727
diff
changeset
|
611 | custom_smileys = purple_smiley_list_get_all( |
|
35723
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
612 | purple_smiley_custom_get_list()); |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
613 | |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
614 | for (it = custom_smileys; it; it = g_list_next(it)) { |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
615 | PurpleSmiley *smiley = it->data; |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
616 | |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
617 | manager_list_add(manager, smiley); |
|
35723
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
618 | } |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
619 | g_list_free(custom_smileys); |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
620 | } |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
621 | |
|
63d3826975d9
Smiley manager: fill the list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35722
diff
changeset
|
622 | static GtkWidget * |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
623 | manager_list_create(SmileyManager *manager) |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
624 | { |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
625 | GtkTreeView *tree; |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
626 | GtkTreeSelection *sel; |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
627 | GtkCellRenderer *cellrend; |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
628 | GtkTreeViewColumn *column; |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
629 | GtkTargetEntry targets[3] = { |
|
29315
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
630 | {"text/plain", 0, 0}, |
|
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
631 | {"text/uri-list", 0, 1}, |
|
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
632 | {"STRING", 0, 2} |
|
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
633 | }; |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
634 | |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
635 | manager->model = gtk_list_store_new(SMILEY_LIST_MODEL_N_COL, |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
636 | GDK_TYPE_PIXBUF, /* icon */ |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
637 | G_TYPE_STRING, /* shortcut */ |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
638 | G_TYPE_OBJECT /* PurpleSmiley */ |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
639 | ); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
640 | |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
641 | manager->tree = tree = GTK_TREE_VIEW(gtk_tree_view_new_with_model( |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
642 | GTK_TREE_MODEL(manager->model))); |
|
22898
206c1f2a1fd7
Patch from Masca to use the buddy-icon selector to select a custom
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22655
diff
changeset
|
643 | |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
644 | gtk_tree_view_set_rules_hint(tree, TRUE); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
645 | gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(manager->model), |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
646 | SMILEY_LIST_MODEL_SHORTCUT, GTK_SORT_ASCENDING); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
647 | |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
648 | g_object_unref(manager->model); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
649 | |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
650 | sel = gtk_tree_view_get_selection(tree); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
651 | gtk_tree_selection_set_mode(sel, GTK_SELECTION_MULTIPLE); |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
652 | |
|
35724
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
653 | g_signal_connect(sel, "changed", |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
654 | G_CALLBACK(smiley_list_selected), manager); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
655 | g_signal_connect(tree, "row-activated", |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
656 | G_CALLBACK(smiley_list_activated), manager); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
657 | |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
658 | gtk_drag_dest_set(GTK_WIDGET(tree), GTK_DEST_DEFAULT_MOTION | |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
659 | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
660 | targets, G_N_ELEMENTS(targets), |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
661 | GDK_ACTION_COPY | GDK_ACTION_MOVE); |
|
35734
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
662 | g_signal_connect(tree, "drag-data-received", |
|
ddad7176a0ec
Smiley manager: drag and drop
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35731
diff
changeset
|
663 | G_CALLBACK(smiley_list_dnd_recv), manager); |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
664 | |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
665 | gtk_widget_show(GTK_WIDGET(tree)); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
666 | |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
667 | /* setting up columns */ |
|
29315
bc075251b3fd
Add support for dropping an image on the Custom Smiley window to add that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29314
diff
changeset
|
668 | |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
669 | column = gtk_tree_view_column_new(); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
670 | gtk_tree_view_column_set_title(column, _("Smiley")); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
671 | gtk_tree_view_column_set_resizable(column, TRUE); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
672 | gtk_tree_view_append_column(tree, column); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
673 | cellrend = gtk_cell_renderer_pixbuf_new(); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
674 | gtk_tree_view_column_pack_start(column, cellrend, FALSE); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
675 | gtk_tree_view_column_add_attribute(column, cellrend, |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
676 | "pixbuf", SMILEY_LIST_MODEL_ICON); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
677 | |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
678 | column = gtk_tree_view_column_new(); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
679 | gtk_tree_view_column_set_title(column, _("Shortcut Text")); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
680 | gtk_tree_view_column_set_resizable(column, TRUE); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
681 | gtk_tree_view_append_column(tree, column); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
682 | cellrend = gtk_cell_renderer_text_new(); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
683 | gtk_tree_view_column_pack_start(column, cellrend, TRUE); |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
684 | gtk_tree_view_column_add_attribute(column, cellrend, |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
685 | "text", SMILEY_LIST_MODEL_SHORTCUT); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
686 | |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
687 | manager_list_fill(manager); |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
688 | |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
689 | return pidgin_make_scrollable(GTK_WIDGET(tree), GTK_POLICY_AUTOMATIC, |
|
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
690 | GTK_POLICY_AUTOMATIC, GTK_SHADOW_IN, -1, -1); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
691 | } |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
692 | |
|
35737
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
693 | /******************************************************************************* |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
694 | * Custom smiley manager window. |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
695 | ******************************************************************************/ |
|
e5a0ccfb57e0
Smiley manager: rearrange some code and add section-comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35736
diff
changeset
|
696 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
697 | static void |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
698 | manager_select_cb(GtkWidget *widget, gint resp, SmileyManager *manager) |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
699 | { |
|
23020
9ff3135a6478
Modified patch from malu to add an 'Edit' button in the smiley manager
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23017
diff
changeset
|
700 | GtkTreeSelection *selection = NULL; |
|
35724
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
701 | GList *selected_rows, *selected_smileys = NULL, *it; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
702 | GtkTreeModel *model = GTK_TREE_MODEL(manager->model); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
703 | |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
704 | selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(manager->tree)); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
705 | selected_rows = gtk_tree_selection_get_selected_rows(selection, NULL); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
706 | for (it = selected_rows; it; it = g_list_next(it)) { |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
707 | GtkTreePath *path = it->data; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
708 | GtkTreeIter iter; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
709 | PurpleSmiley *smiley = NULL; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
710 | |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
711 | if (!gtk_tree_model_get_iter(model, &iter, path)) |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
712 | continue; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
713 | |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
714 | gtk_tree_model_get(model, &iter, |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
715 | SMILEY_LIST_MODEL_PURPLESMILEY, &smiley, -1); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
716 | if (!smiley) |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
717 | continue; |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
718 | |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
719 | selected_smileys = g_list_prepend(selected_smileys, smiley); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
720 | } |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
721 | g_list_free_full(selected_rows, (GDestroyNotify)gtk_tree_path_free); |
|
23020
9ff3135a6478
Modified patch from malu to add an 'Edit' button in the smiley manager
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23017
diff
changeset
|
722 | |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
723 | switch (resp) { |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
724 | case GTK_RESPONSE_YES: |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
725 | edit_dialog_show(manager, NULL); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
726 | break; |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
727 | case GTK_RESPONSE_NO: |
|
35728
6cd9aee7f276
Smiley manager: edit, delete
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35727
diff
changeset
|
728 | for (it = selected_smileys; it; it = g_list_next(it)) |
|
6cd9aee7f276
Smiley manager: edit, delete
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35727
diff
changeset
|
729 | purple_smiley_custom_remove(it->data); |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
730 | manager_list_fill(manager); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
731 | break; |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
732 | case GTK_RESPONSE_DELETE_EVENT: |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
733 | case GTK_RESPONSE_CLOSE: |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
734 | gtk_widget_destroy(GTK_WIDGET(manager->window)); |
|
35724
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
735 | purple_http_conn_cancel(manager->running_request); |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
736 | g_free(manager); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
737 | smiley_manager = NULL; |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
738 | break; |
|
25390
02100938b030
Make dialogs that double as add and save dialogs indicate the current action
Etan Reisner <deryni@pidgin.im>
parents:
24847
diff
changeset
|
739 | case PIDGIN_RESPONSE_MODIFY: |
|
35725
301fdb5e342e
Cleanup pidgin_smiley_edit calls
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35724
diff
changeset
|
740 | for (it = selected_smileys; it; it = g_list_next(it)) |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
741 | edit_dialog_show(manager, it->data); |
|
23020
9ff3135a6478
Modified patch from malu to add an 'Edit' button in the smiley manager
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23017
diff
changeset
|
742 | break; |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
743 | default: |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
744 | g_warn_if_reached(); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
745 | } |
|
35724
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
746 | |
|
baf1255d0a3b
Smiley manager: edit dialog
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35723
diff
changeset
|
747 | g_list_free(selected_smileys); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
748 | } |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
749 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
750 | void |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
751 | pidgin_smiley_manager_show(void) |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
752 | { |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
753 | SmileyManager *manager; |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
754 | GtkDialog *win; |
|
35722
1177d6b4c769
Smiley manager: (empty) smiley list
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35720
diff
changeset
|
755 | GtkWidget *sw, *vbox; |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
756 | |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
757 | if (smiley_manager) { |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
758 | gtk_window_present(GTK_WINDOW(smiley_manager->window)); |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
759 | return; |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
760 | } |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
761 | |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
762 | manager = g_new0(SmileyManager, 1); |
|
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
763 | smiley_manager = manager; |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
764 | |
|
35720
863f87bfc06e
Smiley manager: cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35719
diff
changeset
|
765 | manager->window = win = GTK_DIALOG(gtk_dialog_new_with_buttons( |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
766 | _("Custom Smiley Manager"), NULL, |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
767 | GTK_DIALOG_DESTROY_WITH_PARENT, |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
768 | PIDGIN_STOCK_ADD, GTK_RESPONSE_YES, |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
769 | PIDGIN_STOCK_MODIFY, PIDGIN_RESPONSE_MODIFY, |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
770 | GTK_STOCK_DELETE, GTK_RESPONSE_NO, |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
771 | GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
772 | NULL)); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
773 | |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
774 | gtk_window_set_default_size(GTK_WINDOW(win), 50, 400); |
|
23017
82f6abec236d
Some little usability changes in the custom smiley dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23013
diff
changeset
|
775 | gtk_window_set_role(GTK_WINDOW(win), "custom_smiley_manager"); |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
776 | gtk_dialog_set_response_sensitive(win, GTK_RESPONSE_NO, FALSE); |
|
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
777 | gtk_dialog_set_response_sensitive(win, PIDGIN_RESPONSE_MODIFY, FALSE); |
|
23304
3aba02105818
Modified patch from malu to "Add context menu alternative to add received
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23020
diff
changeset
|
778 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
779 | g_signal_connect(win, "response", |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
780 | G_CALLBACK(manager_select_cb), manager); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
781 | |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
782 | /* The vbox */ |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
783 | vbox = gtk_dialog_get_content_area(win); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
784 | |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
785 | /* get the scrolled window with all stuff */ |
|
35736
43740dbe6229
Smiley manager: do some renames
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35735
diff
changeset
|
786 | sw = manager_list_create(manager); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
787 | gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
788 | gtk_widget_show(sw); |
|
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
789 | |
|
35719
6bf3252bf6db
Smiley manager: edit window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35718
diff
changeset
|
790 | gtk_widget_show(GTK_WIDGET(win)); |
|
22443
7b8772af6bb7
Apply the custom smiley patches from #1187, from Jorge Villaseño (Masca) and
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
791 | } |