7
#include <gdk/gdkkeysyms.h>
11
#include <gdk/gdkkeysyms.h>
16
#include "ADM_toolkit_gtk/ADM_gladeSupport.h"
17
#include "ADM_toolkit_gtk/toolkit_gtk.h"
18
#include "ADM_toolkit_gtk/toolkit_gtk_include.h"
19
#include "ADM_toolkit/toolkit.hxx"
20
#include "ADM_toolkit/filesel.h"
21
#include "avidemutils.h"
23
static GtkWidget *create_dialog1 (void);
25
#define actionBrowse 31
28
uint8_t DIA_job_select(char **jobname, char **filename)
31
char *tmp=NULL,*tmp2=NULL;
37
dialog=create_dialog1();
38
gtk_register_dialog(dialog);
39
gtk_dialog_add_action_widget (GTK_DIALOG (dialog), WID(buttonBrowse),actionBrowse);
42
switch(gtk_dialog_run(GTK_DIALOG(dialog)))
49
GUI_FileSelWrite(QT_TR_NOOP("Select Video to Write"),&tmp);
51
escape=ADM_escape((ADM_filename *)tmp);
52
gtk_editable_delete_text(GTK_EDITABLE(WID(entryOutputFileName)), 0,-1);
53
gtk_editable_insert_text(GTK_EDITABLE(WID(entryOutputFileName)), escape, strlen(escape), &r);
60
tmp=gtk_editable_get_chars(GTK_EDITABLE (WID(entryOutputFileName)), 0, -1);
63
GUI_Error_HIG(QT_TR_NOOP("Invalid filename"),QT_TR_NOOP("Please select or enter a valid filename."));
66
tmp2=gtk_editable_get_chars(GTK_EDITABLE (WID(entryJobName)), 0, -1);
69
GUI_Error_HIG(QT_TR_NOOP("Invalid jobname"),QT_TR_NOOP("Please select or enter a valid jobname."));
72
*jobname=ADM_strdup(tmp2);
73
*filename=ADM_strdup(tmp);
80
gtk_unregister_dialog(dialog);
81
gtk_widget_destroy(dialog);
84
//**************************************************
85
//*************************************
87
GtkWidget *create_dialog1 (void)
90
GtkWidget *dialog_vbox1;
92
GtkWidget *buttonBrowse;
93
GtkWidget *alignment1;
97
GtkWidget *entryJobName;
98
GtkWidget *entryOutputFileName;
101
GtkWidget *dialog_action_area1;
102
GtkWidget *cancelbutton1;
103
GtkWidget *okbutton1;
104
GtkTooltips *tooltips;
106
tooltips = gtk_tooltips_new ();
108
SaveJob = gtk_dialog_new ();
109
gtk_container_set_border_width (GTK_CONTAINER (SaveJob), 6);
110
gtk_window_set_title (GTK_WINDOW (SaveJob), QT_TR_NOOP("Save Job"));
111
gtk_window_set_type_hint (GTK_WINDOW (SaveJob), GDK_WINDOW_TYPE_HINT_DIALOG);
112
gtk_window_set_resizable (GTK_WINDOW (SaveJob), FALSE);
113
gtk_dialog_set_has_separator (GTK_DIALOG (SaveJob), FALSE);
115
dialog_vbox1 = GTK_DIALOG (SaveJob)->vbox;
116
gtk_box_set_spacing (GTK_BOX(dialog_vbox1), 12);
117
gtk_widget_show (dialog_vbox1);
119
table1 = gtk_table_new (2, 3, FALSE);
120
gtk_widget_show (table1);
121
gtk_box_pack_start (GTK_BOX (dialog_vbox1), table1, FALSE, FALSE, 0);
122
gtk_container_set_border_width (GTK_CONTAINER (table1), 6);
123
gtk_table_set_row_spacings (GTK_TABLE (table1), 6);
124
gtk_table_set_col_spacings (GTK_TABLE (table1), 12);
126
buttonBrowse = gtk_button_new ();
127
gtk_widget_show (buttonBrowse);
128
gtk_table_attach (GTK_TABLE (table1), buttonBrowse, 2, 3, 1, 2,
129
(GtkAttachOptions) (GTK_FILL),
130
(GtkAttachOptions) (0), 0, 0);
131
gtk_tooltips_set_tip (tooltips, buttonBrowse, QT_TR_NOOP("Select the output file"), NULL);
133
alignment1 = gtk_alignment_new (0.5, 0.5, 0, 0);
134
gtk_widget_show (alignment1);
135
gtk_container_add (GTK_CONTAINER (buttonBrowse), alignment1);
137
hbox1 = gtk_hbox_new (FALSE, 2);
138
gtk_widget_show (hbox1);
139
gtk_container_add (GTK_CONTAINER (alignment1), hbox1);
141
image1 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON);
142
gtk_widget_show (image1);
143
gtk_box_pack_start (GTK_BOX (hbox1), image1, FALSE, FALSE, 0);
145
label3 = gtk_label_new_with_mnemonic (QT_TR_NOOP("_Browse..."));
146
gtk_widget_show (label3);
147
gtk_box_pack_start (GTK_BOX (hbox1), label3, FALSE, FALSE, 0);
149
entryJobName = gtk_entry_new ();
150
gtk_widget_show (entryJobName);
151
gtk_table_attach (GTK_TABLE (table1), entryJobName, 1, 2, 0, 1,
152
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
153
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
154
gtk_tooltips_set_tip (tooltips, entryJobName, QT_TR_NOOP("Job name displayed in the job list and used as the script filename"), NULL);
155
gtk_entry_set_max_length (GTK_ENTRY (entryJobName), 40);
156
gtk_entry_set_width_chars (GTK_ENTRY (entryJobName), 40);
158
entryOutputFileName = gtk_entry_new ();
159
gtk_widget_show (entryOutputFileName);
160
gtk_table_attach (GTK_TABLE (table1), entryOutputFileName, 1, 2, 1, 2,
161
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
162
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
163
gtk_tooltips_set_tip (tooltips, entryOutputFileName, QT_TR_NOOP("Filename of the audio/video output"), NULL);
164
gtk_entry_set_width_chars (GTK_ENTRY (entryOutputFileName), 40);
166
label1 = gtk_label_new_with_mnemonic (QT_TR_NOOP("_Job name:"));
167
gtk_widget_show (label1);
168
gtk_table_attach (GTK_TABLE (table1), label1, 0, 1, 0, 1,
169
(GtkAttachOptions) (GTK_FILL),
170
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
171
gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5);
173
label2 = gtk_label_new_with_mnemonic (QT_TR_NOOP("Output _file:"));
174
gtk_widget_show (label2);
175
gtk_table_attach (GTK_TABLE (table1), label2, 0, 1, 1, 2,
176
(GtkAttachOptions) (GTK_FILL),
177
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
178
gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5);
180
dialog_action_area1 = GTK_DIALOG (SaveJob)->action_area;
181
gtk_widget_show (dialog_action_area1);
182
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
184
cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel");
185
gtk_widget_show (cancelbutton1);
186
gtk_dialog_add_action_widget (GTK_DIALOG (SaveJob), cancelbutton1, GTK_RESPONSE_CANCEL);
187
GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT);
189
okbutton1 = gtk_button_new_from_stock ("gtk-ok");
190
gtk_widget_show (okbutton1);
191
gtk_dialog_add_action_widget (GTK_DIALOG (SaveJob), okbutton1, GTK_RESPONSE_OK);
192
GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT);
194
gtk_label_set_mnemonic_widget (GTK_LABEL (label1), entryJobName);
195
gtk_label_set_mnemonic_widget (GTK_LABEL (label2), entryOutputFileName);
197
/* Store pointers to all widgets, for use by lookup_widget(). */
198
GLADE_HOOKUP_OBJECT_NO_REF (SaveJob, SaveJob, "SaveJob");
199
GLADE_HOOKUP_OBJECT_NO_REF (SaveJob, dialog_vbox1, "dialog_vbox1");
200
GLADE_HOOKUP_OBJECT (SaveJob, table1, "table1");
201
GLADE_HOOKUP_OBJECT (SaveJob, buttonBrowse, "buttonBrowse");
202
GLADE_HOOKUP_OBJECT (SaveJob, alignment1, "alignment1");
203
GLADE_HOOKUP_OBJECT (SaveJob, hbox1, "hbox1");
204
GLADE_HOOKUP_OBJECT (SaveJob, image1, "image1");
205
GLADE_HOOKUP_OBJECT (SaveJob, label3, "label3");
206
GLADE_HOOKUP_OBJECT (SaveJob, entryJobName, "entryJobName");
207
GLADE_HOOKUP_OBJECT (SaveJob, entryOutputFileName, "entryOutputFileName");
208
GLADE_HOOKUP_OBJECT (SaveJob, label1, "label1");
209
GLADE_HOOKUP_OBJECT (SaveJob, label2, "label2");
210
GLADE_HOOKUP_OBJECT_NO_REF (SaveJob, dialog_action_area1, "dialog_action_area1");
211
GLADE_HOOKUP_OBJECT (SaveJob, cancelbutton1, "cancelbutton1");
212
GLADE_HOOKUP_OBJECT (SaveJob, okbutton1, "okbutton1");
213
GLADE_HOOKUP_OBJECT_NO_REF (SaveJob, tooltips, "tooltips");
215
gtk_widget_grab_focus (entryJobName);
216
gtk_widget_grab_default (okbutton1);