~ubuntu-branches/ubuntu/lucid/imagination/lucid

« back to all changes in this revision

Viewing changes to src/new_slideshow.c

  • Committer: Bazaar Package Importer
  • Author(s): Alessio Treglia
  • Date: 2009-07-07 09:09:38 UTC
  • mfrom: (2.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20090707090938-jvaub13ijh53oawy
Tags: 1.5-1ubuntu1
* Merge with debian unstable (LP: #392874), Ubuntu remaining changes:
  - debian/control:
    + Move libav*-unstripped-* packages to Recommends as suggested by
      upstream.
    + Improve long description.
    + Add watch file.
  - debian/copyright: Replace deprecated symbol (C) with ©.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
        GtkWidget *alignment_main_frame;
33
33
        GtkWidget *vbox_frame1;
34
34
        GtkWidget *hbox_slideshow_options;
35
 
        GtkWidget *hbox_slideshow_name;
36
 
        GtkWidget *hbox_slideshow_fmt;
37
 
        GtkWidget *label2;
38
 
        GtkWidget *label3;
39
 
        GtkWidget *slideshow_fmt_combo;
40
 
        GtkWidget *slideshow_title_entry;
41
35
        GtkWidget *frame1;
42
36
        GtkWidget *label_frame1;
43
37
        GtkWidget *alignment_frame1;
44
 
        GtkWidget *frame2;
45
 
        GtkWidget *label_frame2;
46
38
        GtkWidget *ex_vbox;
47
39
        GtkWidget *ex_hbox;
48
40
        GtkWidget *frame3;
52
44
        GtkWidget *bg_button;
53
45
        GtkWidget *bg_label;
54
46
        GdkColor   color;
55
 
        GtkWidget *alignment_frame2;
56
 
        GtkWidget *vbox_video_format, *vbox_aspect_ratio;
57
 
        GtkWidget *pal,*ntsc,*tv,*wide;
 
47
        GtkWidget *vbox_video_format;
 
48
        GtkWidget *pal,*ntsc;
58
49
        GtkWidget *label1;
59
50
        gint       response;
60
51
        gchar     *string;
71
62
        gtk_window_set_default_size(GTK_WINDOW(dialog1),520,-1);
72
63
        gtk_dialog_set_has_separator (GTK_DIALOG (dialog1), FALSE);
73
64
 
74
 
        dialog_vbox1 = GTK_DIALOG (dialog1)->vbox;
 
65
        #if GTK_CHECK_VERSION( 2, 14, 0 )
 
66
        dialog_vbox1 = gtk_dialog_get_content_area( GTK_DIALOG( dialog1 ) );
 
67
#else
 
68
        dialog_vbox1 = GTK_DIALOG( dialog )->vbox;
 
69
#endif
75
70
 
76
71
        vbox1 = gtk_vbox_new (FALSE, 5);
77
72
        gtk_container_set_border_width (GTK_CONTAINER (vbox1), 5);
89
84
        gtk_container_add (GTK_CONTAINER (main_frame), alignment_main_frame);
90
85
        gtk_alignment_set_padding (GTK_ALIGNMENT (alignment_main_frame), 5, 15, 10, 10);
91
86
 
92
 
        vbox_frame1 = gtk_vbox_new (FALSE, 5);
93
 
        gtk_container_add (GTK_CONTAINER (alignment_main_frame), vbox_frame1);
94
 
 
95
 
        hbox_slideshow_name = gtk_hbox_new (TRUE, 0);
96
 
        gtk_box_pack_start (GTK_BOX (vbox_frame1), hbox_slideshow_name, TRUE, TRUE, 0);
97
 
 
98
 
        label2 = gtk_label_new (_("Filename of the slideshow:"));
99
 
        gtk_box_pack_start (GTK_BOX (hbox_slideshow_name), label2, FALSE, TRUE, 0);
100
 
        gtk_misc_set_alignment(GTK_MISC(label2), 0, 0.5);
101
 
 
102
 
        slideshow_title_entry = sexy_icon_entry_new();
103
 
        sexy_icon_entry_add_clear_button( SEXY_ICON_ENTRY(slideshow_title_entry), img, img_show_file_chooser);
104
 
    sexy_icon_entry_set_icon_highlight( SEXY_ICON_ENTRY(slideshow_title_entry), SEXY_ICON_ENTRY_PRIMARY, TRUE);
105
 
        gtk_box_pack_start (GTK_BOX (hbox_slideshow_name), slideshow_title_entry, TRUE, TRUE, 0);
106
 
 
107
 
        hbox_slideshow_fmt = gtk_hbox_new (TRUE, 0);
108
 
        gtk_box_pack_start (GTK_BOX (vbox_frame1), hbox_slideshow_fmt, FALSE, TRUE, 0);
109
 
 
110
 
        label3 = gtk_label_new (_("Export the slideshow as:"));
111
 
        gtk_box_pack_start (GTK_BOX (hbox_slideshow_fmt), label3, FALSE, TRUE, 0);
112
 
        gtk_misc_set_alignment(GTK_MISC(label3), 0, 0.5);
113
 
 
114
 
        slideshow_fmt_combo = _gtk_combo_box_new_text(FALSE);
115
 
        gtk_box_pack_start (GTK_BOX (hbox_slideshow_fmt), slideshow_fmt_combo, TRUE, TRUE, 0);
116
 
        gtk_combo_box_append_text(GTK_COMBO_BOX(slideshow_fmt_combo),"VOB (DVD VIDEO)");
117
 
        gtk_combo_box_append_text(GTK_COMBO_BOX(slideshow_fmt_combo),"FLV (FLash Video)");
118
 
        gtk_combo_box_set_active(GTK_COMBO_BOX(slideshow_fmt_combo),0);
 
87
        vbox_frame1 = gtk_vbox_new( FALSE, 10 );
 
88
        gtk_container_add( GTK_CONTAINER( alignment_main_frame ), vbox_frame1 );
119
89
 
120
90
        hbox_slideshow_options = gtk_hbox_new(TRUE, 10);
121
91
        gtk_box_pack_start(GTK_BOX (vbox_frame1), hbox_slideshow_options, TRUE, TRUE, 10);
128
98
        gtk_container_add (GTK_CONTAINER (frame1), alignment_frame1);
129
99
        gtk_alignment_set_padding (GTK_ALIGNMENT (alignment_frame1), 5, 5, 5, 5);
130
100
 
131
 
        vbox_video_format = gtk_vbox_new (FALSE, 0);
 
101
        vbox_video_format = gtk_hbox_new (FALSE, 0);
132
102
        gtk_container_add (GTK_CONTAINER (alignment_frame1), vbox_video_format);
133
103
 
134
104
        pal = gtk_radio_button_new_with_mnemonic (NULL, "PAL 720 x 576");
143
113
        gtk_frame_set_label_widget (GTK_FRAME (frame1), label_frame1);
144
114
        gtk_label_set_use_markup (GTK_LABEL (label_frame1), TRUE);
145
115
 
146
 
        frame2 = gtk_frame_new (NULL);
147
 
        gtk_box_pack_start (GTK_BOX (hbox_slideshow_options), frame2, TRUE, TRUE, 0);
148
 
        gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_IN);
149
 
 
150
 
        label_frame2 = gtk_label_new (_("<b>Television Format</b>"));
151
 
        gtk_frame_set_label_widget (GTK_FRAME (frame2), label_frame2);
152
 
        gtk_label_set_use_markup (GTK_LABEL (label_frame2), TRUE);
153
 
 
154
 
        alignment_frame2 = gtk_alignment_new (0.5, 0.5, 1, 1);
155
 
        gtk_container_add (GTK_CONTAINER (frame2), alignment_frame2);
156
 
        gtk_alignment_set_padding (GTK_ALIGNMENT (alignment_frame2), 5, 5, 5, 5);
157
 
 
158
 
        vbox_aspect_ratio = gtk_vbox_new (FALSE, 0);
159
 
        gtk_container_add (GTK_CONTAINER (alignment_frame2), vbox_aspect_ratio);
160
 
 
161
 
        tv = gtk_radio_button_new_with_mnemonic (NULL, _("Normal 4:3"));
162
 
        gtk_box_pack_start (GTK_BOX (vbox_aspect_ratio), tv, TRUE, TRUE, 0);
163
 
        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tv), TRUE);
164
 
 
165
 
        wide = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON (tv), _("Widescreen 16:9"));
166
 
        gtk_box_pack_start (GTK_BOX (vbox_aspect_ratio), wide, TRUE, TRUE, 0);
167
 
        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tv), TRUE);
168
 
 
169
116
        frame3 = gtk_frame_new( NULL );
170
117
        gtk_box_pack_start (GTK_BOX (vbox_frame1), frame3, TRUE, TRUE, 0);
171
118
        gtk_frame_set_shadow_type (GTK_FRAME (frame3), GTK_SHADOW_IN);
192
139
        bg_label = gtk_label_new( _("Select background color:") );
193
140
        gtk_box_pack_start( GTK_BOX( ex_hbox ), bg_label, FALSE, FALSE, 0 );
194
141
 
195
 
        color.red   = ( ( img->background_color >> 24 ) & 0xff ) / 0xff * 0xffff;
196
 
        color.green = ( ( img->background_color >> 16 ) & 0xff ) / 0xff * 0xffff;
197
 
        color.blue  = ( ( img->background_color >>  8 ) & 0xff ) / 0xff * 0xffff;
 
142
        color.red   = ( ( img->background_color >> 24 ) & 0xff ) / (gdouble)0xff * 0xffff;
 
143
        color.green = ( ( img->background_color >> 16 ) & 0xff ) / (gdouble)0xff * 0xffff;
 
144
        color.blue  = ( ( img->background_color >>  8 ) & 0xff ) / (gdouble)0xff * 0xffff;
198
145
        bg_button = gtk_color_button_new_with_color( &color );
199
146
        g_signal_connect( G_OBJECT( bg_button ), "color-set", G_CALLBACK( img_bg_color_changed ), img );
200
147
        gtk_box_pack_start( GTK_BOX( ex_hbox ), bg_button, FALSE, FALSE, 0 );
201
148
 
202
149
        gtk_widget_show_all(dialog_vbox1);
203
150
 
204
 
        /* Set parameters if some project file is already loaded and user clicked
205
 
         * selected Project properties menu entry. */
206
 
        if (img->slideshow_filename != NULL && flag)
207
 
        {
208
 
                gtk_entry_set_text(GTK_ENTRY(slideshow_title_entry),img->slideshow_filename);
209
 
                gtk_combo_box_set_active(GTK_COMBO_BOX(slideshow_fmt_combo),img->slideshow_format_index);
210
 
                if (strcmp(img->aspect_ratio,"4:3") == 0)
211
 
                        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tv), TRUE);
212
 
                else
213
 
                        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wide), TRUE);
214
 
 
215
 
                if (img->image_area->allocation.height == 480)
216
 
                        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ntsc), TRUE);
217
 
                else
218
 
                        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pal), TRUE);
219
 
        }
 
151
        /* Set parameters */
 
152
        if (img->image_area->allocation.height == 480)
 
153
                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ntsc), TRUE);
 
154
        else
 
155
                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pal), TRUE);
220
156
 
221
157
        response = gtk_dialog_run(GTK_DIALOG(dialog1));
222
158
 
223
159
        if (response == GTK_RESPONSE_ACCEPT)
224
160
        {
225
 
                img->slideshow_filename = g_strdup(gtk_entry_get_text(GTK_ENTRY(slideshow_title_entry)));
226
 
 
227
161
                if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (pal)))
228
162
                        gtk_widget_set_size_request(img->image_area,720,576);
229
163
                else
230
164
                        gtk_widget_set_size_request(img->image_area,720,480);
231
165
 
232
 
                if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (tv)))
233
 
                        img->aspect_ratio = "4:3";
234
 
                else
235
 
                        img->aspect_ratio = "16:9";
236
 
                img->slideshow_format_index = gtk_combo_box_get_active(GTK_COMBO_BOX(slideshow_fmt_combo));
237
 
        
238
 
                img_set_buttons_state(img, TRUE);
239
 
 
240
 
                string = g_path_get_basename(img->slideshow_filename);
241
 
                img_set_window_title(img,string);
242
 
                g_free(string);
243
 
 
244
166
                img->project_is_modified = TRUE;
245
167
        }
246
168
        gtk_widget_destroy(dialog1);
252
174
        gint     r, g, b;
253
175
 
254
176
        gtk_color_button_get_color( button, &color );
255
 
        r = ( color.red   / 0xffff * 0xff );
256
 
        g = ( color.green / 0xffff * 0xff );
257
 
        b = ( color.blue  / 0xffff * 0xff );
 
177
        r = ( (gdouble)color.red   / 0xffff * 0xff );
 
178
        g = ( (gdouble)color.green / 0xffff * 0xff );
 
179
        b = ( (gdouble)color.blue  / 0xffff * 0xff );
258
180
        img->background_color = r  << 24 | g << 16 | b <<  8 | 0xff;
259
181
        img->project_is_modified = TRUE;
260
182
}
264
186
        img->distort_images = gtk_toggle_button_get_active( button );
265
187
        img->project_is_modified = TRUE;
266
188
}
 
189