1 /*
2 * DO NOT EDIT THIS FILE - it is generated by Glade.
3 */
4
5 #ifdef HAVE_CONFIG_H
6 # include <config.h>
7 #endif
8
9 #include <sys/types.h>
10 #include <sys/stat.h>
11 #include <unistd.h>
12 #include <string.h>
13 #include <stdio.h>
14
15 #include <gdk/gdkkeysyms.h>
16 #include <gtk/gtk.h>
17
18 #include "callbacks.h"
19 #include "interface.h"
20 #include "support.h"
21
22 #define GLADE_HOOKUP_OBJECT(component,widget,name) \
23 g_object_set_data_full (G_OBJECT (component), name, \
24 g_object_ref(G_OBJECT(widget)), (GDestroyNotify) g_object_unref)
25
26 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
27 g_object_set_data (G_OBJECT (component), name, widget)
28
29 GtkWidget*
create_shellexec_conf_dialog(void)30 create_shellexec_conf_dialog (void)
31 {
32 GtkWidget *shellexec_conf_dialog;
33 GtkWidget *dialog_vbox;
34 GtkWidget *vbox1;
35 GtkWidget *hbox1;
36 GtkWidget *add_button;
37 GtkWidget *remove_button;
38 GtkWidget *edit_button;
39 GtkWidget *scrolledwindow;
40 GtkWidget *command_treeview;
41 GtkWidget *dialog_action_area;
42 GtkWidget *save_button;
43
44 shellexec_conf_dialog = gtk_dialog_new ();
45 gtk_container_set_border_width (GTK_CONTAINER (shellexec_conf_dialog), 12);
46 gtk_window_set_title (GTK_WINDOW (shellexec_conf_dialog), _("Custom Shell Commands"));
47 gtk_window_set_destroy_with_parent (GTK_WINDOW (shellexec_conf_dialog), TRUE);
48 gtk_window_set_type_hint (GTK_WINDOW (shellexec_conf_dialog), GDK_WINDOW_TYPE_HINT_DIALOG);
49 gtk_dialog_set_has_separator (GTK_DIALOG (shellexec_conf_dialog), FALSE);
50
51 dialog_vbox = gtk_dialog_get_content_area (GTK_DIALOG (shellexec_conf_dialog));
52 gtk_widget_show (dialog_vbox);
53
54 vbox1 = gtk_vbox_new (FALSE, 8);
55 gtk_widget_show (vbox1);
56 gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox1, TRUE, TRUE, 0);
57
58 hbox1 = gtk_hbox_new (FALSE, 8);
59 gtk_widget_show (hbox1);
60 gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, TRUE, 0);
61
62 add_button = gtk_button_new_with_mnemonic (_("Add"));
63 gtk_widget_show (add_button);
64 gtk_box_pack_start (GTK_BOX (hbox1), add_button, TRUE, TRUE, 0);
65
66 remove_button = gtk_button_new_with_mnemonic (_("Remove"));
67 gtk_widget_show (remove_button);
68 gtk_box_pack_start (GTK_BOX (hbox1), remove_button, TRUE, TRUE, 0);
69
70 edit_button = gtk_button_new_with_mnemonic (_("Edit"));
71 gtk_widget_show (edit_button);
72 gtk_box_pack_start (GTK_BOX (hbox1), edit_button, TRUE, TRUE, 0);
73
74 scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
75 gtk_widget_show (scrolledwindow);
76 gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow, TRUE, TRUE, 0);
77 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
78 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_SHADOW_IN);
79
80 command_treeview = gtk_tree_view_new ();
81 gtk_widget_show (command_treeview);
82 gtk_container_add (GTK_CONTAINER (scrolledwindow), command_treeview);
83
84 dialog_action_area = gtk_dialog_get_action_area (GTK_DIALOG (shellexec_conf_dialog));
85 gtk_widget_show (dialog_action_area);
86 gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area), GTK_BUTTONBOX_END);
87
88 save_button = gtk_button_new_with_mnemonic (_("Close"));
89 gtk_widget_show (save_button);
90 gtk_dialog_add_action_widget (GTK_DIALOG (shellexec_conf_dialog), save_button, 0);
91 gtk_widget_set_can_default(save_button, TRUE);
92
93 g_signal_connect ((gpointer) shellexec_conf_dialog, "destroy",
94 G_CALLBACK (on_shellexec_conf_dialog_destroy),
95 NULL);
96 g_signal_connect ((gpointer) add_button, "clicked",
97 G_CALLBACK (on_add_button_clicked),
98 NULL);
99 g_signal_connect ((gpointer) remove_button, "clicked",
100 G_CALLBACK (on_remove_button_clicked),
101 NULL);
102 g_signal_connect ((gpointer) edit_button, "clicked",
103 G_CALLBACK (on_edit_button_clicked),
104 NULL);
105 g_signal_connect ((gpointer) save_button, "clicked",
106 G_CALLBACK (on_save_button_clicked),
107 NULL);
108
109 /* Store pointers to all widgets, for use by lookup_widget(). */
110 GLADE_HOOKUP_OBJECT_NO_REF (shellexec_conf_dialog, shellexec_conf_dialog, "shellexec_conf_dialog");
111 GLADE_HOOKUP_OBJECT_NO_REF (shellexec_conf_dialog, dialog_vbox, "dialog_vbox");
112 GLADE_HOOKUP_OBJECT (shellexec_conf_dialog, vbox1, "vbox1");
113 GLADE_HOOKUP_OBJECT (shellexec_conf_dialog, hbox1, "hbox1");
114 GLADE_HOOKUP_OBJECT (shellexec_conf_dialog, add_button, "add_button");
115 GLADE_HOOKUP_OBJECT (shellexec_conf_dialog, remove_button, "remove_button");
116 GLADE_HOOKUP_OBJECT (shellexec_conf_dialog, edit_button, "edit_button");
117 GLADE_HOOKUP_OBJECT (shellexec_conf_dialog, scrolledwindow, "scrolledwindow");
118 GLADE_HOOKUP_OBJECT (shellexec_conf_dialog, command_treeview, "command_treeview");
119 GLADE_HOOKUP_OBJECT_NO_REF (shellexec_conf_dialog, dialog_action_area, "dialog_action_area");
120 GLADE_HOOKUP_OBJECT (shellexec_conf_dialog, save_button, "save_button");
121
122 return shellexec_conf_dialog;
123 }
124
125 GtkWidget*
create_shellexec_conf_edit_dialog(void)126 create_shellexec_conf_edit_dialog (void)
127 {
128 GtkWidget *shellexec_conf_edit_dialog;
129 GtkWidget *dialog_vbox1;
130 GtkWidget *table1;
131 GtkWidget *title_label;
132 GtkWidget *cmd_label;
133 GtkWidget *cmd_entry;
134 GtkWidget *name_label;
135 GtkWidget *title_entry;
136 GtkWidget *name_entry;
137 GtkWidget *single_check;
138 GtkWidget *multiple_check;
139 GtkWidget *local_check;
140 GtkWidget *remote_check;
141 GtkWidget *common_check;
142 GtkWidget *label1;
143 GtkWidget *dialog_action_area1;
144 GtkWidget *edit_cancel_button;
145 GtkWidget *edit_ok_button;
146
147 shellexec_conf_edit_dialog = gtk_dialog_new ();
148 gtk_container_set_border_width (GTK_CONTAINER (shellexec_conf_edit_dialog), 12);
149 gtk_window_set_title (GTK_WINDOW (shellexec_conf_edit_dialog), _("Edit Command"));
150 gtk_window_set_modal (GTK_WINDOW (shellexec_conf_edit_dialog), TRUE);
151 gtk_window_set_type_hint (GTK_WINDOW (shellexec_conf_edit_dialog), GDK_WINDOW_TYPE_HINT_DIALOG);
152 gtk_dialog_set_has_separator (GTK_DIALOG (shellexec_conf_edit_dialog), FALSE);
153
154 dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (shellexec_conf_edit_dialog));
155 gtk_widget_show (dialog_vbox1);
156
157 table1 = gtk_table_new (3, 2, FALSE);
158 gtk_widget_show (table1);
159 gtk_box_pack_start (GTK_BOX (dialog_vbox1), table1, FALSE, TRUE, 0);
160 gtk_table_set_row_spacings (GTK_TABLE (table1), 8);
161 gtk_table_set_col_spacings (GTK_TABLE (table1), 8);
162
163 title_label = gtk_label_new (_("Title:"));
164 gtk_widget_show (title_label);
165 gtk_table_attach (GTK_TABLE (table1), title_label, 0, 1, 1, 2,
166 (GtkAttachOptions) (GTK_FILL),
167 (GtkAttachOptions) (0), 0, 0);
168 gtk_misc_set_alignment (GTK_MISC (title_label), 0, 0.5);
169
170 cmd_label = gtk_label_new (_("Command:"));
171 gtk_widget_show (cmd_label);
172 gtk_table_attach (GTK_TABLE (table1), cmd_label, 0, 1, 2, 3,
173 (GtkAttachOptions) (GTK_FILL),
174 (GtkAttachOptions) (0), 0, 0);
175 gtk_misc_set_alignment (GTK_MISC (cmd_label), 0, 0.5);
176
177 cmd_entry = gtk_entry_new ();
178 gtk_widget_show (cmd_entry);
179 gtk_table_attach (GTK_TABLE (table1), cmd_entry, 1, 2, 2, 3,
180 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
181 (GtkAttachOptions) (0), 0, 0);
182 gtk_widget_set_tooltip_text (cmd_entry, _("Arbitrary shell command. Will be executed in the shell context which the main application was started from. Title formatting can be used. Example: xdg-open %D"));
183 gtk_entry_set_invisible_char (GTK_ENTRY (cmd_entry), 8226);
184
185 name_label = gtk_label_new (_("ID:"));
186 gtk_widget_show (name_label);
187 gtk_table_attach (GTK_TABLE (table1), name_label, 0, 1, 0, 1,
188 (GtkAttachOptions) (GTK_FILL),
189 (GtkAttachOptions) (0), 0, 0);
190 gtk_misc_set_alignment (GTK_MISC (name_label), 0, 0.5);
191
192 title_entry = gtk_entry_new ();
193 gtk_widget_show (title_entry);
194 gtk_table_attach (GTK_TABLE (table1), title_entry, 1, 2, 1, 2,
195 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
196 (GtkAttachOptions) (0), 0, 0);
197 gtk_widget_set_tooltip_text (title_entry, _("Free-form name, for example \"My Shell Command\""));
198 gtk_entry_set_invisible_char (GTK_ENTRY (title_entry), 8226);
199
200 name_entry = gtk_entry_new ();
201 gtk_widget_show (name_entry);
202 gtk_table_attach (GTK_TABLE (table1), name_entry, 1, 2, 0, 1,
203 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
204 (GtkAttachOptions) (0), 0, 0);
205 gtk_widget_set_tooltip_text (name_entry, _("Command ID, normally it should be something short, for example \"youtube_open\". It must be unique."));
206 gtk_entry_set_invisible_char (GTK_ENTRY (name_entry), 8226);
207
208 single_check = gtk_check_button_new_with_mnemonic (_("Single Tracks"));
209 gtk_widget_show (single_check);
210 gtk_box_pack_start (GTK_BOX (dialog_vbox1), single_check, FALSE, FALSE, 0);
211 gtk_widget_set_tooltip_text (single_check, _("Works on single track."));
212
213 multiple_check = gtk_check_button_new_with_mnemonic (_("Multiple Tracks"));
214 gtk_widget_show (multiple_check);
215 gtk_box_pack_start (GTK_BOX (dialog_vbox1), multiple_check, FALSE, FALSE, 0);
216 gtk_widget_set_tooltip_text (multiple_check, _("Works on multiple tracks."));
217
218 local_check = gtk_check_button_new_with_mnemonic (_("Local"));
219 gtk_widget_show (local_check);
220 gtk_box_pack_start (GTK_BOX (dialog_vbox1), local_check, FALSE, FALSE, 0);
221 gtk_widget_set_tooltip_text (local_check, _("Works on local files."));
222
223 remote_check = gtk_check_button_new_with_mnemonic (_("Remote"));
224 gtk_widget_show (remote_check);
225 gtk_box_pack_start (GTK_BOX (dialog_vbox1), remote_check, FALSE, FALSE, 0);
226 gtk_widget_set_tooltip_text (remote_check, _("Works on remote files (e.g. http:// streams)"));
227
228 common_check = gtk_check_button_new_with_mnemonic (_("Generic (Main Menu)"));
229 gtk_widget_show (common_check);
230 gtk_box_pack_start (GTK_BOX (dialog_vbox1), common_check, FALSE, FALSE, 0);
231 gtk_widget_set_tooltip_text (common_check, _("Item should appear in the main menu"));
232
233 label1 = gtk_label_new (_("<small>If you want to add the command to main menu, make sure that title contains the menu path like this: \"File/My Command\", where File is the menu name in the English version.</small>"));
234 gtk_widget_show (label1);
235 gtk_box_pack_start (GTK_BOX (dialog_vbox1), label1, FALSE, FALSE, 0);
236 gtk_label_set_use_markup (GTK_LABEL (label1), TRUE);
237 gtk_label_set_line_wrap (GTK_LABEL (label1), TRUE);
238 gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5);
239
240 dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG (shellexec_conf_edit_dialog));
241 gtk_widget_show (dialog_action_area1);
242 gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
243
244 edit_cancel_button = gtk_button_new_from_stock ("gtk-cancel");
245 gtk_widget_show (edit_cancel_button);
246 gtk_dialog_add_action_widget (GTK_DIALOG (shellexec_conf_edit_dialog), edit_cancel_button, GTK_RESPONSE_CANCEL);
247 gtk_widget_set_can_default(edit_cancel_button, TRUE);
248
249 edit_ok_button = gtk_button_new_from_stock ("gtk-ok");
250 gtk_widget_show (edit_ok_button);
251 gtk_dialog_add_action_widget (GTK_DIALOG (shellexec_conf_edit_dialog), edit_ok_button, GTK_RESPONSE_OK);
252 gtk_widget_set_can_default(edit_ok_button, TRUE);
253
254 g_signal_connect ((gpointer) edit_cancel_button, "clicked",
255 G_CALLBACK (on_edit_cancel_button_clicked),
256 NULL);
257 g_signal_connect ((gpointer) edit_ok_button, "clicked",
258 G_CALLBACK (on_edit_ok_button_clicked),
259 NULL);
260
261 /* Store pointers to all widgets, for use by lookup_widget(). */
262 GLADE_HOOKUP_OBJECT_NO_REF (shellexec_conf_edit_dialog, shellexec_conf_edit_dialog, "shellexec_conf_edit_dialog");
263 GLADE_HOOKUP_OBJECT_NO_REF (shellexec_conf_edit_dialog, dialog_vbox1, "dialog_vbox1");
264 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, table1, "table1");
265 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, title_label, "title_label");
266 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, cmd_label, "cmd_label");
267 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, cmd_entry, "cmd_entry");
268 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, name_label, "name_label");
269 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, title_entry, "title_entry");
270 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, name_entry, "name_entry");
271 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, single_check, "single_check");
272 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, multiple_check, "multiple_check");
273 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, local_check, "local_check");
274 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, remote_check, "remote_check");
275 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, common_check, "common_check");
276 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, label1, "label1");
277 GLADE_HOOKUP_OBJECT_NO_REF (shellexec_conf_edit_dialog, dialog_action_area1, "dialog_action_area1");
278 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, edit_cancel_button, "edit_cancel_button");
279 GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, edit_ok_button, "edit_ok_button");
280
281 return shellexec_conf_edit_dialog;
282 }
283
284