diff -ur guvcview-src-1.7.1/configure.ac guvcview-1.7.1-james/configure.ac --- guvcview-src-1.7.1/configure.ac 2013-07-22 21:00:46.000000000 +0700 +++ guvcview-1.7.1-james/configure.ac 2013-09-26 22:37:33.111327692 +0700 @@ -97,7 +97,7 @@ dnl -------------------------------------------------------------------------- dnl check for dependencies dnl -------------------------------------------------------------------------- -PKG_CHECK_MODULES(DEPS, [gtk+-3.0 >= 3.0.0 glib-2.0 >= 2.10.0 sdl >= 1.2.10 portaudio-2.0 libpng libavcodec libavutil libv4l2 libudev]) +PKG_CHECK_MODULES(DEPS, [gtk+-2.0 >= 2.16.0 glib-2.0 >= 2.10.0 sdl >= 1.2.10 portaudio-2.0 libpng libavcodec libavutil libv4l2 libudev]) AC_SUBST(DEPS_CFLAGS) AC_SUBST(DEPS_LIBS) diff -ur guvcview-src-1.7.1/src/audio_tab.c guvcview-1.7.1-james/src/audio_tab.c --- guvcview-src-1.7.1/src/audio_tab.c 2013-07-22 21:00:46.000000000 +0700 +++ guvcview-1.7.1-james/src/audio_tab.c 2013-09-27 00:59:08.107444786 +0700 @@ -57,13 +57,9 @@ int line = 0; int i = 0; //TABLE - table3 = gtk_grid_new(); - gtk_grid_set_column_homogeneous (GTK_GRID(table3), FALSE); - gtk_widget_set_hexpand (table3, TRUE); - gtk_widget_set_halign (table3, GTK_ALIGN_FILL); - - gtk_grid_set_row_spacing (GTK_GRID(table3), 4); - gtk_grid_set_column_spacing (GTK_GRID (table3), 4); + table3 = gtk_table_new(1,3,FALSE); + gtk_table_set_row_spacings (GTK_TABLE (table3), 4); + gtk_table_set_col_spacings (GTK_TABLE (table3), 4); gtk_container_set_border_width (GTK_CONTAINER (table3), 2); gtk_widget_show (table3); @@ -76,7 +72,7 @@ gtk_widget_show(scroll3); //new grid for tab label and icon - Tab3 = gtk_grid_new(); + Tab3 = gtk_hbox_new(FALSE,2); Tab3Label = gtk_label_new(_("Audio")); gtk_widget_show (Tab3Label); //check for files @@ -86,8 +82,8 @@ Tab3Icon = gtk_image_new_from_file(Tab3IconPath); g_free(Tab3IconPath); gtk_widget_show (Tab3Icon); - gtk_grid_attach (GTK_GRID(Tab3), Tab3Icon, 0, 0, 1, 1); - gtk_grid_attach (GTK_GRID(Tab3), Tab3Label, 1, 0, 1, 1); + gtk_box_pack_start (GTK_BOX(Tab3), Tab3Icon, FALSE, FALSE,1); + gtk_box_pack_start (GTK_BOX(Tab3), Tab3Label, FALSE, FALSE,1); gtk_widget_show (Tab3); //ADD SCROLL to NOTEBOOK (TAB) @@ -96,7 +92,8 @@ //enable sound line++; gwidget->SndEnable=gtk_check_button_new_with_label (_(" Sound")); - gtk_grid_attach(GTK_GRID(table3), gwidget->SndEnable, 1, line, 1, 1); + gtk_table_attach(GTK_TABLE(table3), gwidget->SndEnable, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gwidget->SndEnable), (global->Sound_enable > 0)); @@ -108,7 +105,8 @@ // VU meter on the image (OSD) GtkWidget* vuMeterEnable=gtk_check_button_new_with_label(_(" Show VU meter")); g_object_set_data(G_OBJECT(vuMeterEnable), "flag", GINT_TO_POINTER(OSD_METER)); - gtk_grid_attach(GTK_GRID(table3), vuMeterEnable, 1, line, 1, 1); + gtk_table_attach(GTK_TABLE(table3), vuMeterEnable, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(vuMeterEnable),(global->osdFlags & OSD_METER)>0); gtk_widget_show(vuMeterEnable); @@ -121,13 +119,13 @@ gwidget->label_SndAPI = gtk_label_new(_("Audio API:")); gtk_misc_set_alignment (GTK_MISC (gwidget->label_SndAPI), 1, 0.5); - gtk_grid_attach (GTK_GRID(table3), gwidget->label_SndAPI, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table3), gwidget->label_SndAPI, 0, 1, line, line+1, + GTK_FILL, 0, 0, 0); gtk_widget_show (gwidget->label_SndAPI); gwidget->SndAPI = gtk_combo_box_text_new (); - gtk_widget_set_halign (gwidget->SndAPI, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (gwidget->SndAPI, TRUE); - gtk_grid_attach(GTK_GRID(table3), gwidget->SndAPI, 1, line, 1, 1); + gtk_table_attach(GTK_TABLE(table3), gwidget->SndAPI, 1, 3, line, line+1, + GTK_SHRINK | GTK_FILL , 0, 0, 0); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(gwidget->SndAPI),_("PORTAUDIO")); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(gwidget->SndAPI),_("PULSEAUDIO")); @@ -149,15 +147,15 @@ label_SndDevice = gtk_label_new(_("Input Device:")); gtk_misc_set_alignment (GTK_MISC (label_SndDevice), 1, 0.5); - gtk_grid_attach (GTK_GRID(table3), label_SndDevice, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table3), label_SndDevice, 0, 1, line, line+1, + GTK_FILL, 0, 0, 0); gtk_widget_show (label_SndDevice); // get sound device list and info gwidget->SndDevice = list_snd_devices (global); - gtk_widget_set_halign (gwidget->SndDevice, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (gwidget->SndDevice, TRUE); - gtk_grid_attach(GTK_GRID(table3), gwidget->SndDevice, 1, line, 1, 1); + gtk_table_attach(GTK_TABLE(table3), gwidget->SndDevice, 1, 3, line, line+1, + GTK_SHRINK | GTK_FILL , 0, 0, 0); gtk_widget_show (gwidget->SndDevice); //using default device if(global->Sound_UseDev < 0) global->Sound_UseDev=global->Sound_DefDev; @@ -172,7 +170,8 @@ label_SndDevice = gtk_label_new(_("Input Device:")); gtk_misc_set_alignment (GTK_MISC (label_SndDevice), 1, 0.5); - gtk_grid_attach (GTK_GRID(table3), label_SndDevice, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table3), label_SndDevice, 0, 1, line, line+1, + GTK_FILL, 0, 0, 0); gtk_widget_show (label_SndDevice); @@ -188,9 +187,8 @@ } if (global->Sound_SampRateInd>(i-1)) global->Sound_SampRateInd=0; /*out of range*/ - gtk_widget_set_halign (gwidget->SndSampleRate, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (gwidget->SndSampleRate, TRUE); - gtk_grid_attach(GTK_GRID(table3), gwidget->SndSampleRate, 1, line, 1, 1); + gtk_table_attach(GTK_TABLE(table3), gwidget->SndSampleRate, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (gwidget->SndSampleRate); global->Sound_SampRate=stdSampleRates[global->Sound_SampRateInd]; @@ -204,7 +202,8 @@ label_SndSampRate = gtk_label_new(_("Sample Rate:")); gtk_misc_set_alignment (GTK_MISC (label_SndSampRate), 1, 0.5); - gtk_grid_attach (GTK_GRID(table3), label_SndSampRate, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table3), label_SndSampRate, 0, 1, line, line+1, + GTK_FILL, 0, 0, 0); gtk_widget_show (label_SndSampRate); @@ -215,9 +214,8 @@ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(gwidget->SndNumChan),_("1 - mono")); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(gwidget->SndNumChan),_("2 - stereo")); - gtk_widget_set_halign (gwidget->SndNumChan, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (gwidget->SndNumChan, TRUE); - gtk_grid_attach(GTK_GRID(table3), gwidget->SndNumChan, 1, line, 1, 1); + gtk_table_attach(GTK_TABLE(table3), gwidget->SndNumChan, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (gwidget->SndNumChan); switch (global->Sound_NumChanInd) { @@ -251,7 +249,8 @@ label_SndNumChan = gtk_label_new(_("Channels:")); gtk_misc_set_alignment (GTK_MISC (label_SndNumChan), 1, 0.5); - gtk_grid_attach (GTK_GRID(table3), label_SndNumChan, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table3), label_SndNumChan, 0, 1, line, line+1, + GTK_FILL, 0, 0, 0); gtk_widget_show (label_SndNumChan); if (global->debug) g_print("SampleRate:%d Channels:%d\n",global->Sound_SampRate,global->Sound_NumChan); @@ -302,27 +301,26 @@ label_audioFilters = gtk_label_new(_("---- Audio Effects ----")); gtk_misc_set_alignment (GTK_MISC (label_audioFilters), 0.5, 0.5); - gtk_grid_attach (GTK_GRID(table3), label_audioFilters, 0, line, 3, 1); + gtk_table_attach (GTK_TABLE(table3), label_audioFilters, 0, 3, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL , 0, 0, 0); gtk_widget_show (label_audioFilters); line++; - table_snd_eff = gtk_grid_new(); - gtk_grid_set_row_spacing (GTK_GRID (table_snd_eff), 4); - gtk_grid_set_column_spacing (GTK_GRID (table_snd_eff), 4); + table_snd_eff = gtk_table_new(1,4,FALSE); + gtk_table_set_row_spacings (GTK_TABLE (table_snd_eff), 4); + gtk_table_set_col_spacings (GTK_TABLE (table_snd_eff), 4); gtk_container_set_border_width (GTK_CONTAINER (table_snd_eff), 4); gtk_widget_set_size_request (table_snd_eff, -1, -1); - - gtk_widget_set_halign (table_snd_eff, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (table_snd_eff, TRUE); - gtk_grid_attach (GTK_GRID(table3), table_snd_eff, 0, line, 3, 1); + + gtk_table_attach (GTK_TABLE(table3), table_snd_eff, 0, 3, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL , 0, 0, 0); gtk_widget_show (table_snd_eff); // Echo EffEchoEnable=gtk_check_button_new_with_label (_(" Echo")); g_object_set_data (G_OBJECT (EffEchoEnable), "effect_info", GINT_TO_POINTER(SND_ECHO)); - gtk_widget_set_halign (EffEchoEnable, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (EffEchoEnable, TRUE); - gtk_grid_attach(GTK_GRID(table_snd_eff), EffEchoEnable, 0, 0, 1, 1); + gtk_table_attach(GTK_TABLE(table_snd_eff), EffEchoEnable, 0, 1, 0, 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(EffEchoEnable),(pdata->snd_Flags & SND_ECHO)>0); gtk_widget_show (EffEchoEnable); g_signal_connect (GTK_CHECK_BUTTON(EffEchoEnable), "toggled", @@ -331,9 +329,8 @@ // FUZZ EffFuzzEnable=gtk_check_button_new_with_label (_(" Fuzz")); g_object_set_data (G_OBJECT (EffFuzzEnable), "effect_info", GINT_TO_POINTER(SND_FUZZ)); - gtk_widget_set_halign (EffFuzzEnable, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (EffFuzzEnable, TRUE); - gtk_grid_attach(GTK_GRID(table_snd_eff), EffFuzzEnable, 1, 0, 1, 1); + gtk_table_attach(GTK_TABLE(table_snd_eff), EffFuzzEnable, 1, 2, 0, 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(EffFuzzEnable),(pdata->snd_Flags & SND_FUZZ)>0); gtk_widget_show (EffFuzzEnable); @@ -343,9 +340,8 @@ // Reverb EffRevEnable=gtk_check_button_new_with_label (_(" Reverb")); g_object_set_data (G_OBJECT (EffRevEnable), "effect_info", GINT_TO_POINTER(SND_REVERB)); - gtk_widget_set_halign (EffRevEnable, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (EffRevEnable, TRUE); - gtk_grid_attach(GTK_GRID(table_snd_eff), EffRevEnable, 2, 0, 1, 1); + gtk_table_attach(GTK_TABLE(table_snd_eff), EffRevEnable, 2, 3, 0, 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(EffRevEnable),(pdata->snd_Flags & SND_REVERB)>0); gtk_widget_show (EffRevEnable); @@ -355,9 +351,8 @@ // WahWah EffWahEnable=gtk_check_button_new_with_label (_(" WahWah")); g_object_set_data (G_OBJECT (EffWahEnable), "effect_info", GINT_TO_POINTER(SND_WAHWAH)); - gtk_widget_set_halign (EffWahEnable, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (EffWahEnable, TRUE); - gtk_grid_attach(GTK_GRID(table_snd_eff), EffWahEnable, 3, 0, 1, 1); + gtk_table_attach(GTK_TABLE(table_snd_eff), EffWahEnable, 3, 4, 0, 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(EffWahEnable),(pdata->snd_Flags & SND_WAHWAH)>0); gtk_widget_show (EffWahEnable); @@ -367,9 +362,8 @@ // Ducky EffDuckyEnable=gtk_check_button_new_with_label (_(" Ducky")); g_object_set_data (G_OBJECT (EffDuckyEnable), "effect_info", GINT_TO_POINTER(SND_DUCKY)); - gtk_widget_set_halign (EffDuckyEnable, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (EffDuckyEnable, TRUE); - gtk_grid_attach(GTK_GRID(table_snd_eff), EffDuckyEnable, 4, 0, 1, 1); + gtk_table_attach(GTK_TABLE(table_snd_eff), EffDuckyEnable, 0, 1, 1, 2, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(EffDuckyEnable),(pdata->snd_Flags & SND_DUCKY)>0); gtk_widget_show (EffDuckyEnable); diff -ur guvcview-src-1.7.1/src/callbacks.c guvcview-1.7.1-james/src/callbacks.c --- guvcview-src-1.7.1/src/callbacks.c 2013-07-22 21:00:46.000000000 +0700 +++ guvcview-1.7.1-james/src/callbacks.c 2013-09-27 01:11:56.160728414 +0700 @@ -114,18 +114,20 @@ GTK_RESPONSE_REJECT, NULL); - GtkWidget *table = gtk_grid_new(); + GtkWidget *table = gtk_table_new(4,2,FALSE); GtkWidget *title = gtk_label_new (gettext(err_title)); gtk_widget_modify_font(title, pango_font_description_from_string ("Sans bold 10")); gtk_misc_set_alignment (GTK_MISC (title), 0, 0); - gtk_grid_attach (GTK_GRID (table), title, 0, 0, 2, 1); + gtk_table_attach (GTK_TABLE (table), title, 0, 2, 0, 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (title); GtkWidget *text = gtk_label_new (gettext(err_msg)); gtk_widget_modify_font(text, pango_font_description_from_string ("Sans italic 8")); gtk_misc_set_alignment (GTK_MISC (text), 0, 0); - gtk_grid_attach (GTK_GRID (table), text, 0, 1, 2, 1); + gtk_table_attach (GTK_TABLE (table), text, 0, 2, 1, 2, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (text); @@ -133,12 +135,14 @@ "Do you want to try another one ?\n")); gtk_widget_modify_font(text2, pango_font_description_from_string ("Sans 10")); gtk_misc_set_alignment (GTK_MISC (text2), 0, 0); - gtk_grid_attach (GTK_GRID (table), text2, 0, 2, 2, 1); + gtk_table_attach (GTK_TABLE (table), text2, 0, 2, 2, 3, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (text2); GtkWidget *lbl_dev = gtk_label_new(_("Device:")); gtk_misc_set_alignment (GTK_MISC (lbl_dev), 0.5, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_dev, 0, 3, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_dev, 0, 1, 3, 4, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_dev); Devices = gtk_combo_box_text_new (); @@ -150,7 +154,8 @@ } gtk_combo_box_set_active(GTK_COMBO_BOX(Devices),videoIn->listDevices->num_devices-1); - gtk_grid_attach(GTK_GRID(table), Devices, 1, 3, 1, 1); + gtk_table_attach(GTK_TABLE(table), Devices, 1, 2, 3, 4, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (Devices); GtkWidget *content_area = gtk_dialog_get_content_area (GTK_DIALOG (errdialog)); @@ -279,11 +284,8 @@ /** create a file filter */ GtkFileFilter *filter = gtk_file_filter_new(); - GtkWidget *FBox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 2); + GtkWidget *FBox = gtk_hbox_new(FALSE, 2); GtkWidget *format_label = gtk_label_new(_("File Format:")); - gtk_widget_set_halign (FBox, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (FBox, TRUE); - gtk_widget_set_hexpand (format_label, FALSE); gtk_widget_show(FBox); gtk_widget_show(format_label); gtk_box_pack_start(GTK_BOX(FBox), format_label, FALSE, FALSE, 2); @@ -298,8 +300,6 @@ /** add format file filters*/ GtkWidget *VidFormat = gtk_combo_box_text_new (); - gtk_widget_set_halign (VidFormat, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (VidFormat, TRUE); int vformat_ind =0; for (vformat_ind =0; vformat_indfps); - gtk_grid_attach (GTK_GRID(table), enc_fps, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), enc_fps, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (enc_fps); line++; GtkWidget *monotonic_pts = gtk_check_button_new_with_label (_(" monotonic pts")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(monotonic_pts),(codec_defaults->monotonic_pts != 0)); - - gtk_grid_attach (GTK_GRID(table), monotonic_pts, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), monotonic_pts, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (monotonic_pts); line++; GtkWidget *lbl_bit_rate = gtk_label_new(_("bit rate: ")); gtk_misc_set_alignment (GTK_MISC (lbl_bit_rate), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_bit_rate, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_bit_rate, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_bit_rate); GtkWidget *bit_rate = gtk_spin_button_new_with_range(160000,4000000,10000); gtk_editable_set_editable(GTK_EDITABLE(bit_rate),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(bit_rate), codec_defaults->bit_rate); - gtk_grid_attach (GTK_GRID(table), bit_rate, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), bit_rate, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (bit_rate); line++; GtkWidget *lbl_qmax = gtk_label_new(_("qmax: ")); gtk_misc_set_alignment (GTK_MISC (lbl_qmax), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_qmax, 0, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), lbl_qmax, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_qmax); GtkWidget *qmax = gtk_spin_button_new_with_range(1,60,1); gtk_editable_set_editable(GTK_EDITABLE(qmax),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(qmax), codec_defaults->qmax); - gtk_grid_attach (GTK_GRID(table), qmax, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), qmax, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (qmax); line++; GtkWidget *lbl_qmin = gtk_label_new(_("qmin: ")); gtk_misc_set_alignment (GTK_MISC (lbl_qmin), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_qmin, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_qmin, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_qmin); GtkWidget *qmin = gtk_spin_button_new_with_range(1,31,1); gtk_editable_set_editable(GTK_EDITABLE(qmin),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(qmin), codec_defaults->qmin); - gtk_grid_attach (GTK_GRID(table), qmin, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), qmin, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (qmin); line++; GtkWidget *lbl_max_qdiff = gtk_label_new(_("max. qdiff: ")); gtk_misc_set_alignment (GTK_MISC (lbl_max_qdiff), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_max_qdiff, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_max_qdiff, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_max_qdiff); GtkWidget *max_qdiff = gtk_spin_button_new_with_range(1,4,1); gtk_editable_set_editable(GTK_EDITABLE(max_qdiff),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(max_qdiff), codec_defaults->max_qdiff); - gtk_grid_attach (GTK_GRID(table), max_qdiff, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), max_qdiff, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (max_qdiff); line++; GtkWidget *lbl_dia = gtk_label_new(_("dia size: ")); gtk_misc_set_alignment (GTK_MISC (lbl_dia), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_dia, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_dia, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_dia); GtkWidget *dia = gtk_spin_button_new_with_range(-1,4,1); gtk_editable_set_editable(GTK_EDITABLE(dia),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(dia), codec_defaults->dia); - gtk_grid_attach (GTK_GRID(table), dia, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), dia, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (dia); line++; GtkWidget *lbl_pre_dia = gtk_label_new(_("pre dia size: ")); gtk_misc_set_alignment (GTK_MISC (lbl_pre_dia), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_pre_dia, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_pre_dia, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_pre_dia); GtkWidget *pre_dia = gtk_spin_button_new_with_range(1,4,1); gtk_editable_set_editable(GTK_EDITABLE(pre_dia),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(pre_dia), codec_defaults->pre_dia); - gtk_grid_attach (GTK_GRID(table), pre_dia, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), pre_dia, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (pre_dia); line++; GtkWidget *lbl_pre_me = gtk_label_new(_("pre me: ")); gtk_misc_set_alignment (GTK_MISC (lbl_pre_me), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_pre_me, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_pre_me, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_pre_me); GtkWidget *pre_me = gtk_spin_button_new_with_range(0,2,1); gtk_editable_set_editable(GTK_EDITABLE(pre_me),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(pre_me), codec_defaults->pre_me); - gtk_grid_attach (GTK_GRID(table), pre_me, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), pre_me, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (pre_me); line++; GtkWidget *lbl_me_pre_cmp = gtk_label_new(_("pre cmp: ")); gtk_misc_set_alignment (GTK_MISC (lbl_me_pre_cmp), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_me_pre_cmp, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_me_pre_cmp, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_me_pre_cmp); GtkWidget *me_pre_cmp = gtk_spin_button_new_with_range(0,6,1); gtk_editable_set_editable(GTK_EDITABLE(me_pre_cmp),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(me_pre_cmp), codec_defaults->me_pre_cmp); - gtk_grid_attach (GTK_GRID(table), me_pre_cmp, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), me_pre_cmp, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (me_pre_cmp); line++; GtkWidget *lbl_me_cmp = gtk_label_new(_("cmp: ")); gtk_misc_set_alignment (GTK_MISC (lbl_me_cmp), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_me_cmp, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_me_cmp, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_me_cmp); GtkWidget *me_cmp = gtk_spin_button_new_with_range(0,6,1); gtk_editable_set_editable(GTK_EDITABLE(me_cmp),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(me_cmp), codec_defaults->me_cmp); - gtk_grid_attach (GTK_GRID(table), me_cmp, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), me_cmp, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (me_cmp); line++; GtkWidget *lbl_me_sub_cmp = gtk_label_new(_("sub cmp: ")); gtk_misc_set_alignment (GTK_MISC (lbl_me_sub_cmp), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_me_sub_cmp, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_me_sub_cmp, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_me_sub_cmp); GtkWidget *me_sub_cmp = gtk_spin_button_new_with_range(0,6,1); gtk_editable_set_editable(GTK_EDITABLE(me_sub_cmp),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(me_sub_cmp), codec_defaults->me_sub_cmp); - gtk_grid_attach (GTK_GRID(table), me_sub_cmp, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), me_sub_cmp, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (me_sub_cmp); line++; GtkWidget *lbl_last_pred = gtk_label_new(_("last predictor count: ")); gtk_misc_set_alignment (GTK_MISC (lbl_last_pred), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_last_pred, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_last_pred, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_last_pred); GtkWidget *last_pred = gtk_spin_button_new_with_range(1,3,1); gtk_editable_set_editable(GTK_EDITABLE(last_pred),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(last_pred), codec_defaults->last_pred); - gtk_grid_attach (GTK_GRID(table), last_pred, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), last_pred, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (last_pred); line++; GtkWidget *lbl_gop_size = gtk_label_new(_("gop size: ")); gtk_misc_set_alignment (GTK_MISC (lbl_gop_size), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_gop_size, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_gop_size, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_gop_size); GtkWidget *gop_size = gtk_spin_button_new_with_range(1,250,1); gtk_editable_set_editable(GTK_EDITABLE(gop_size),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(gop_size), codec_defaults->gop_size); - gtk_grid_attach (GTK_GRID(table), gop_size, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), gop_size, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (gop_size); line++; GtkWidget *lbl_qcompress = gtk_label_new(_("qcompress: ")); gtk_misc_set_alignment (GTK_MISC (lbl_qcompress), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_qcompress, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_qcompress, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_qcompress); GtkWidget *qcompress = gtk_spin_button_new_with_range(0,1,0.1); gtk_editable_set_editable(GTK_EDITABLE(qcompress),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(qcompress), codec_defaults->qcompress); - gtk_grid_attach (GTK_GRID(table), qcompress, 1, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), qcompress, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (qcompress); line++; GtkWidget *lbl_qblur = gtk_label_new(_("qblur: ")); gtk_misc_set_alignment (GTK_MISC (lbl_qblur), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_qblur, 0, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), lbl_qblur, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_qblur); GtkWidget *qblur = gtk_spin_button_new_with_range(0,1,0.1); gtk_editable_set_editable(GTK_EDITABLE(qblur),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(qblur), codec_defaults->qblur); - gtk_grid_attach (GTK_GRID(table), qblur, 1, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), qblur, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (qblur); line++; GtkWidget *lbl_subq = gtk_label_new(_("subq: ")); gtk_misc_set_alignment (GTK_MISC (lbl_subq), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_subq, 0, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), lbl_subq, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_subq); GtkWidget *subq = gtk_spin_button_new_with_range(0,8,1); gtk_editable_set_editable(GTK_EDITABLE(subq),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(subq), codec_defaults->subq); - gtk_grid_attach (GTK_GRID(table), subq, 1, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), subq, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (subq); line++; GtkWidget *lbl_framerefs = gtk_label_new(_("framerefs: ")); gtk_misc_set_alignment (GTK_MISC (lbl_framerefs), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_framerefs, 0, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), lbl_framerefs, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_framerefs); GtkWidget *framerefs = gtk_spin_button_new_with_range(0,12,1); gtk_editable_set_editable(GTK_EDITABLE(framerefs),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(framerefs), codec_defaults->framerefs); - gtk_grid_attach (GTK_GRID(table), framerefs, 1, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), framerefs, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (framerefs); line++; GtkWidget *lbl_me_method = gtk_label_new(_("me method: ")); gtk_misc_set_alignment (GTK_MISC (lbl_me_method), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_me_method, 0, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), lbl_me_method, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_me_method); GtkWidget *me_method = gtk_spin_button_new_with_range(1,10,1); gtk_editable_set_editable(GTK_EDITABLE(me_method),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(me_method), codec_defaults->me_method); - gtk_grid_attach (GTK_GRID(table), me_method, 1, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), me_method, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (me_method); line++; GtkWidget *lbl_mb_decision = gtk_label_new(_("mb decision: ")); gtk_misc_set_alignment (GTK_MISC (lbl_mb_decision), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_mb_decision, 0, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), lbl_mb_decision, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_mb_decision); GtkWidget *mb_decision = gtk_spin_button_new_with_range(0,2,1); gtk_editable_set_editable(GTK_EDITABLE(mb_decision),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(mb_decision), codec_defaults->mb_decision); - gtk_grid_attach (GTK_GRID(table), mb_decision, 1, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), mb_decision, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (mb_decision); line++; GtkWidget *lbl_max_b_frames = gtk_label_new(_("max B frames: ")); gtk_misc_set_alignment (GTK_MISC (lbl_max_b_frames), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_max_b_frames, 0, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), lbl_max_b_frames, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_max_b_frames); GtkWidget *max_b_frames = gtk_spin_button_new_with_range(0,4,1); gtk_editable_set_editable(GTK_EDITABLE(max_b_frames),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(max_b_frames), codec_defaults->max_b_frames); - gtk_grid_attach (GTK_GRID(table), max_b_frames, 1, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), max_b_frames, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (max_b_frames); line++; GtkWidget *lbl_num_threads = gtk_label_new(_("num threads: ")); gtk_misc_set_alignment (GTK_MISC (lbl_num_threads), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_num_threads, 0, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), lbl_num_threads, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_num_threads); GtkWidget *num_threads = gtk_spin_button_new_with_range(0,8,1); gtk_editable_set_editable(GTK_EDITABLE(num_threads),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(num_threads), codec_defaults->num_threads); - gtk_grid_attach (GTK_GRID(table), num_threads, 1, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table), num_threads, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (num_threads); line++; @@ -801,34 +841,37 @@ GTK_RESPONSE_REJECT, NULL); - GtkWidget *table = gtk_grid_new(); - gtk_grid_set_column_homogeneous (GTK_GRID(table), TRUE); - + GtkWidget *table = gtk_table_new(1,2,FALSE); + /*bit rate*/ GtkWidget *lbl_bit_rate = gtk_label_new(_("bit rate: ")); gtk_misc_set_alignment (GTK_MISC (lbl_bit_rate), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_bit_rate, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_bit_rate, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_bit_rate); GtkWidget *bit_rate = gtk_spin_button_new_with_range(48000,384000,8000); gtk_editable_set_editable(GTK_EDITABLE(bit_rate),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(bit_rate), codec_defaults->bit_rate); - gtk_grid_attach (GTK_GRID(table), bit_rate, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), bit_rate, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (bit_rate); line++; /*sample format*/ GtkWidget *lbl_sample_fmt = gtk_label_new(_("sample format: ")); gtk_misc_set_alignment (GTK_MISC (lbl_sample_fmt), 1, 0.5); - gtk_grid_attach (GTK_GRID(table), lbl_sample_fmt, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), lbl_sample_fmt, 0, 1, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (lbl_sample_fmt); GtkWidget *sample_fmt = gtk_spin_button_new_with_range(0, AV_SAMPLE_FMT_NB, 1); gtk_editable_set_editable(GTK_EDITABLE(sample_fmt),TRUE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(sample_fmt), codec_defaults->sample_format); - gtk_grid_attach (GTK_GRID(table), sample_fmt, 1, line, 1, 1); + gtk_table_attach (GTK_TABLE(table), sample_fmt, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (sample_fmt); line++; @@ -874,7 +917,9 @@ void set_sensitive_snd_contrls (const int flag, struct GWIDGET *gwidget) { +#ifdef PULSEAUDIO gtk_widget_set_sensitive (gwidget->SndAPI, flag); +#endif gtk_widget_set_sensitive (gwidget->SndSampleRate, flag); gtk_widget_set_sensitive (gwidget->SndDevice, flag); gtk_widget_set_sensitive (gwidget->SndNumChan, flag); diff -ur guvcview-src-1.7.1/src/guvcview.c guvcview-1.7.1-james/src/guvcview.c --- guvcview-src-1.7.1/src/guvcview.c 2013-07-22 21:00:46.000000000 +0700 +++ guvcview-1.7.1-james/src/guvcview.c 2013-09-27 00:50:56.387476597 +0700 @@ -250,8 +250,7 @@ GtkWidget *VidButton_Img; GtkWidget *QButton_Img; GtkWidget *HButtonBox; - - + s = g_new0(struct VidState, 1); if(!control_only) /*control_only exclusion (video and Audio) */ @@ -461,7 +460,7 @@ if(!(global->no_display)) { - gwidget->maintable = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2); + gwidget->maintable = gtk_vbox_new(FALSE, 2); gtk_widget_show (gwidget->maintable); @@ -486,7 +485,7 @@ gtk_widget_show(scroll1); - Tab1 = gtk_grid_new(); + Tab1 = gtk_hbox_new(FALSE,2); Tab1Label = gtk_label_new(_("Image Controls")); gtk_widget_show (Tab1Label); /** check for files */ @@ -496,17 +495,15 @@ Tab1Icon = gtk_image_new_from_file(Tab1IconPath); g_free(Tab1IconPath); gtk_widget_show (Tab1Icon); - gtk_grid_attach (GTK_GRID(Tab1), Tab1Icon, 0, 0, 1, 1); - gtk_grid_attach (GTK_GRID(Tab1), Tab1Label, 1, 0, 1, 1); + gtk_box_pack_start (GTK_BOX(Tab1), Tab1Icon, FALSE, FALSE,1); + gtk_box_pack_start (GTK_BOX(Tab1), Tab1Label, FALSE, FALSE,1); gtk_widget_show (Tab1); gtk_notebook_append_page(GTK_NOTEBOOK(gwidget->boxh),scroll1,Tab1); /*---------------------- Add Buttons ---------------------------------*/ - HButtonBox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); - gtk_widget_set_halign (HButtonBox, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (HButtonBox, TRUE); + HButtonBox = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(HButtonBox),GTK_BUTTONBOX_SPREAD); gtk_box_set_homogeneous(GTK_BOX(HButtonBox),TRUE); diff -ur guvcview-src-1.7.1/src/guvcview.h guvcview-1.7.1-james/src/guvcview.h --- guvcview-src-1.7.1/src/guvcview.h 2013-07-22 21:00:46.000000000 +0700 +++ guvcview-1.7.1-james/src/guvcview.h 2013-09-27 01:06:12.514083995 +0700 @@ -42,7 +42,7 @@ /* A restart Dialog */ GtkWidget *restartdialog; /*Paned containers*/ - GtkWidget *maintable; + GtkWidget *maintable; GtkWidget *boxh; //group list for menu video codecs diff -ur guvcview-src-1.7.1/src/img_controls.c guvcview-1.7.1-james/src/img_controls.c --- guvcview-src-1.7.1/src/img_controls.c 2013-07-22 21:00:46.000000000 +0700 +++ guvcview-1.7.1-james/src/img_controls.c 2013-09-26 23:54:44.921028042 +0700 @@ -70,14 +70,10 @@ get_ctrl_values (videoIn->fd, s->control_list, s->num_controls, NULL); - s->table = gtk_grid_new (); - gtk_grid_set_column_homogeneous (GTK_GRID(s->table), FALSE); - gtk_widget_set_hexpand (s->table, TRUE); - gtk_widget_set_halign (s->table, GTK_ALIGN_FILL); - - gtk_grid_set_row_spacing (GTK_GRID(s->table), 4); - gtk_grid_set_column_spacing (GTK_GRID (s->table), 4); - gtk_container_set_border_width (GTK_CONTAINER (s->table), 2); + s->table = gtk_table_new (1, 3, FALSE); + gtk_table_set_row_spacings (GTK_TABLE (s->table), 4); + gtk_table_set_col_spacings (GTK_TABLE (s->table), 4); + gtk_container_set_border_width (GTK_CONTAINER (s->table), 2); //add control widgets to control list create_control_widgets(s->control_list, (void *) all_data, global->control_only, global->debug); @@ -117,7 +113,7 @@ global->AFcontrol = 0; else { - GtkWidget *Focus_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + GtkWidget *Focus_box = gtk_hbox_new(FALSE,0); //gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); GtkWidget *AutoFocus = gtk_check_button_new_with_label (_("Auto Focus (continuous)")); GtkWidget *FocusButton = gtk_button_new_with_label (_("set Focus")); gtk_box_pack_start (GTK_BOX (Focus_box), AutoFocus, TRUE, TRUE, 0); @@ -125,8 +121,9 @@ gtk_widget_show (Focus_box); gtk_widget_show (AutoFocus); gtk_widget_show (FocusButton); - gtk_grid_attach(GTK_GRID(s->table), Focus_box, 1, row, 1, 1); - + gtk_table_attach (GTK_TABLE (s->table), Focus_box, 1, 2, row, row+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (AutoFocus), global->autofocus ? TRUE: FALSE); @@ -142,15 +139,16 @@ if(current->label) - gtk_grid_attach(GTK_GRID(s->table), current->label, 0, row, 1 , 1); + gtk_table_attach (GTK_TABLE (s->table), current->label, 0, 1, row, row+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); if(current->widget) { - gtk_grid_attach(GTK_GRID(s->table), current->widget, 1, row, 1 , 1); - gtk_widget_set_halign (current->widget, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (current->widget, TRUE); + gtk_table_attach (GTK_TABLE (s->table), current->widget, 1, 2, row, row+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); } if(current->spinbutton) - gtk_grid_attach(GTK_GRID(s->table), current->spinbutton, 2, row, 1 , 1); + gtk_table_attach (GTK_TABLE (s->table), current->spinbutton, 2, 3, row, row+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); if(next == NULL) diff -ur guvcview-src-1.7.1/src/v4l2_controls.c guvcview-1.7.1-james/src/v4l2_controls.c --- guvcview-src-1.7.1/src/v4l2_controls.c 2013-07-22 21:00:46.000000000 +0700 +++ guvcview-1.7.1-james/src/v4l2_controls.c 2013-09-27 01:19:31.090698997 +0700 @@ -702,7 +702,7 @@ case V4L2_CID_TILT_RELATIVE: { //videoIn->PanTilt++; - current->widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); + current->widget = gtk_hbox_new (FALSE, 1); //gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); GtkWidget *PanTilt1 = NULL; GtkWidget *PanTilt2 = NULL; @@ -864,7 +864,7 @@ current->control.step*10, 0); - current->widget = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, adjustment); + current->widget = gtk_hscale_new (adjustment); gtk_scale_set_draw_value (GTK_SCALE (current->widget), FALSE); gtk_range_set_round_digits(GTK_RANGE (current->widget), 0); @@ -872,7 +872,7 @@ gtk_widget_show (current->widget); current->spinbutton = gtk_spin_button_new(adjustment,current->control.step, 0); - + /*can't edit the spin value by hand*/ gtk_editable_set_editable(GTK_EDITABLE(current->spinbutton),TRUE); diff -ur guvcview-src-1.7.1/src/video_tab.c guvcview-1.7.1-james/src/video_tab.c --- guvcview-src-1.7.1/src/video_tab.c 2013-07-22 21:00:46.000000000 +0700 +++ guvcview-1.7.1-james/src/video_tab.c 2013-09-27 00:13:58.980953383 +0700 @@ -66,13 +66,9 @@ VidFormats *listVidFormats; //TABLE - table2 = gtk_grid_new(); - gtk_grid_set_column_homogeneous (GTK_GRID(table2), FALSE); - gtk_widget_set_hexpand (table2, TRUE); - gtk_widget_set_halign (table2, GTK_ALIGN_FILL); - - gtk_grid_set_row_spacing (GTK_GRID(table2), 4); - gtk_grid_set_column_spacing (GTK_GRID (table2), 4); + table2 = gtk_table_new(1,3,FALSE); + gtk_table_set_row_spacings (GTK_TABLE (table2), 4); + gtk_table_set_col_spacings (GTK_TABLE (table2), 4); gtk_container_set_border_width (GTK_CONTAINER (table2), 2); gtk_widget_show (table2); //SCROLL @@ -83,7 +79,7 @@ gtk_widget_show(scroll2); //new hbox for tab label and icon - Tab2 = gtk_grid_new(); + Tab2 = gtk_hbox_new(FALSE,2); Tab2Label = gtk_label_new(_("Video")); gtk_widget_show (Tab2Label); @@ -93,8 +89,8 @@ Tab2Icon = gtk_image_new_from_file(Tab2IconPath); g_free(Tab2IconPath); gtk_widget_show (Tab2Icon); - gtk_grid_attach (GTK_GRID(Tab2), Tab2Icon, 0, 0, 1, 1); - gtk_grid_attach (GTK_GRID(Tab2), Tab2Label, 1, 0, 1, 1); + gtk_box_pack_start (GTK_BOX(Tab2), Tab2Icon, FALSE, FALSE,1); + gtk_box_pack_start (GTK_BOX(Tab2), Tab2Label, FALSE, FALSE,1); gtk_widget_show (Tab2); gtk_notebook_append_page(GTK_NOTEBOOK(gwidget->boxh),scroll2,Tab2); @@ -103,14 +99,13 @@ label_Device = gtk_label_new(_("Device:")); gtk_misc_set_alignment (GTK_MISC (label_Device), 1, 0.5); - gtk_grid_attach (GTK_GRID(table2), label_Device, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table2), label_Device, 0, 1, line, line+1, + GTK_FILL, 0, 0, 0); gtk_widget_show (label_Device); gwidget->Devices = gtk_combo_box_text_new (); - gtk_widget_set_halign (gwidget->Devices, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (gwidget->Devices, TRUE); if (videoIn->listDevices->num_devices < 1) { //use current @@ -128,15 +123,14 @@ gtk_combo_box_set_active(GTK_COMBO_BOX(gwidget->Devices),i); } } - gtk_grid_attach (GTK_GRID(table2), gwidget->Devices, 1, line, 1 ,1); + gtk_table_attach(GTK_TABLE(table2), gwidget->Devices, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (gwidget->Devices); g_signal_connect (GTK_COMBO_BOX_TEXT(gwidget->Devices), "changed", G_CALLBACK (Devices_changed), all_data); // Resolution gwidget->Resolution = gtk_combo_box_text_new (); - gtk_widget_set_halign (gwidget->Resolution, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (gwidget->Resolution, TRUE); char temp_str[20]; int defres=0; @@ -168,8 +162,6 @@ line++; gwidget->FrameRate = gtk_combo_box_text_new (); - gtk_widget_set_halign (gwidget->FrameRate, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (gwidget->FrameRate, TRUE); int deffps=0; if (global->debug) g_print("frame rates of %dÂș resolution=%d \n", @@ -186,7 +178,8 @@ deffps=i;//set selected } - gtk_grid_attach (GTK_GRID(table2), gwidget->FrameRate, 1, line, 1 ,1); + gtk_table_attach(GTK_TABLE(table2), gwidget->FrameRate, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (gwidget->FrameRate); @@ -208,12 +201,14 @@ label_FPS = gtk_label_new(_("Frame Rate:")); gtk_misc_set_alignment (GTK_MISC (label_FPS), 1, 0.5); - gtk_grid_attach (GTK_GRID(table2), label_FPS, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table2), label_FPS, 0, 1, line, line+1, + GTK_FILL, 0, 0, 0); gtk_widget_show (label_FPS); ShowFPS=gtk_check_button_new_with_label (_(" Show")); - gtk_grid_attach (GTK_GRID(table2), ShowFPS, 2, line, 1, 1); + gtk_table_attach(GTK_TABLE(table2), ShowFPS, 2, 3, line, line+1, + GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(ShowFPS),(global->FpsCount > 0)); gtk_widget_show (ShowFPS); @@ -227,7 +222,8 @@ if(global->debug) g_print("Def. Res: %i numb. fps:%i\n",defres,videoIn->listFormats->listVidFormats[videoIn->listFormats->current_format].listVidCap[defres].numb_frates); - gtk_grid_attach (GTK_GRID(table2), gwidget->Resolution, 1, line, 1 ,1); + gtk_table_attach(GTK_TABLE(table2), gwidget->Resolution, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_show (gwidget->Resolution); gtk_widget_set_sensitive (gwidget->Resolution, TRUE); @@ -236,14 +232,13 @@ labelResol = gtk_label_new(_("Resolution:")); gtk_misc_set_alignment (GTK_MISC (labelResol), 1, 0.5); - gtk_grid_attach (GTK_GRID(table2), labelResol, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table2), labelResol, 0, 1, line, line+1, + GTK_FILL, 0, 0, 0); gtk_widget_show (labelResol); // Input Format line++; gwidget->InpType= gtk_combo_box_text_new (); - gtk_widget_set_halign (gwidget->InpType, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (gwidget->InpType, TRUE); int fmtind=0; for (fmtind=0; fmtind < videoIn->listFormats->numb_formats; fmtind++) @@ -253,7 +248,8 @@ gtk_combo_box_set_active(GTK_COMBO_BOX(gwidget->InpType),fmtind); /*set active*/ } - gtk_grid_attach (GTK_GRID(table2), gwidget->InpType, 1, line, 1 ,1); + gtk_table_attach(GTK_TABLE(table2), gwidget->InpType, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_set_sensitive (gwidget->InpType, TRUE); g_signal_connect (GTK_COMBO_BOX_TEXT(gwidget->InpType), "changed", @@ -263,7 +259,8 @@ label_InpType = gtk_label_new(_("Camera Output:")); gtk_misc_set_alignment (GTK_MISC (label_InpType), 1, 0.5); - gtk_grid_attach (GTK_GRID(table2), label_InpType, 0, line, 1, 1); + gtk_table_attach (GTK_TABLE(table2), label_InpType, 0, 1, line, line+1, + GTK_FILL, 0, 0, 0); gtk_widget_show (label_InpType); @@ -272,18 +269,18 @@ { line++; gwidget->jpeg_comp = gtk_spin_button_new_with_range(0,100,1); - gtk_widget_set_halign (gwidget->jpeg_comp, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (gwidget->jpeg_comp, TRUE); /*can't edit the spin value by hand*/ gtk_editable_set_editable(GTK_EDITABLE(gwidget->jpeg_comp),FALSE); gtk_spin_button_set_value (GTK_SPIN_BUTTON(gwidget->jpeg_comp), videoIn->jpgcomp.quality); - gtk_grid_attach (GTK_GRID(table2), gwidget->jpeg_comp, 1, line, 1 ,1); + gtk_table_attach(GTK_TABLE(table2), gwidget->jpeg_comp, 1, 2, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_set_sensitive (gwidget->jpeg_comp, TRUE); gtk_widget_show (gwidget->jpeg_comp); set_jpeg_comp = gtk_button_new_with_label(_("Apply")); - gtk_grid_attach (GTK_GRID(table2), set_jpeg_comp, 2, line, 1 ,1); + gtk_table_attach(GTK_TABLE(table2), set_jpeg_comp, 2, 3, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); g_signal_connect (GTK_BUTTON (set_jpeg_comp), "clicked", G_CALLBACK (set_jpeg_comp_clicked), all_data); gtk_widget_set_sensitive (set_jpeg_comp, TRUE); @@ -292,7 +289,8 @@ label_jpeg_comp = gtk_label_new(_("Quality:")); gtk_misc_set_alignment (GTK_MISC (label_jpeg_comp), 1, 0.5); - gtk_grid_attach (GTK_GRID(table2), label_jpeg_comp, 0, line, 1 ,1); + gtk_table_attach (GTK_TABLE(table2), label_jpeg_comp, 0, 1, line, line+1, + GTK_FILL, 0, 0, 0); gtk_widget_show (label_jpeg_comp); } @@ -302,27 +300,26 @@ label_videoFilters = gtk_label_new(_("---- Video Filters ----")); gtk_misc_set_alignment (GTK_MISC (label_videoFilters), 0.5, 0.5); - gtk_grid_attach (GTK_GRID(table2), label_videoFilters, 0, line, 3, 1); + gtk_table_attach (GTK_TABLE(table2), label_videoFilters, 0, 3, line, line+1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL , 0, 0, 0); gtk_widget_show (label_videoFilters); line++; - table_filt = gtk_grid_new(); - gtk_grid_set_row_spacing (GTK_GRID (table_filt), 4); - gtk_grid_set_column_spacing (GTK_GRID (table_filt), 4); + table_filt = gtk_table_new(1,4,FALSE); + gtk_table_set_row_spacings (GTK_TABLE (table_filt), 4); + gtk_table_set_col_spacings (GTK_TABLE (table_filt), 4); gtk_container_set_border_width (GTK_CONTAINER (table_filt), 4); gtk_widget_set_size_request (table_filt, -1, -1); - gtk_widget_set_halign (table_filt, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (table_filt, TRUE); - gtk_grid_attach (GTK_GRID(table2), table_filt, 0, line, 3, 1); + gtk_table_attach (GTK_TABLE(table2), table_filt, 0, 3, line, line+1, + GTK_FILL, 0, 0, 0); gtk_widget_show (table_filt); // Mirror FiltMirrorEnable=gtk_check_button_new_with_label (_(" Mirror")); g_object_set_data (G_OBJECT (FiltMirrorEnable), "filt_info", GINT_TO_POINTER(YUV_MIRROR)); - gtk_widget_set_halign (FiltMirrorEnable, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (FiltMirrorEnable, TRUE); - gtk_grid_attach(GTK_GRID(table_filt), FiltMirrorEnable, 0, 0, 1, 1); + gtk_table_attach(GTK_TABLE(table_filt), FiltMirrorEnable, 0, 1, 0, 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(FiltMirrorEnable),(global->Frame_Flags & YUV_MIRROR)>0); gtk_widget_show (FiltMirrorEnable); @@ -331,9 +328,8 @@ // Upturn FiltUpturnEnable=gtk_check_button_new_with_label (_(" Invert")); g_object_set_data (G_OBJECT (FiltUpturnEnable), "filt_info", GINT_TO_POINTER(YUV_UPTURN)); - gtk_widget_set_halign (FiltUpturnEnable, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (FiltUpturnEnable, TRUE); - gtk_grid_attach(GTK_GRID(table_filt), FiltUpturnEnable, 1, 0, 1, 1); + gtk_table_attach(GTK_TABLE(table_filt), FiltUpturnEnable, 1, 2, 0, 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(FiltUpturnEnable),(global->Frame_Flags & YUV_UPTURN)>0); gtk_widget_show (FiltUpturnEnable); @@ -342,9 +338,8 @@ // Negate FiltNegateEnable=gtk_check_button_new_with_label (_(" Negative")); g_object_set_data (G_OBJECT (FiltNegateEnable), "filt_info", GINT_TO_POINTER(YUV_NEGATE)); - gtk_widget_set_halign (FiltNegateEnable, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (FiltNegateEnable, TRUE); - gtk_grid_attach(GTK_GRID(table_filt), FiltNegateEnable, 2, 0, 1, 1); + gtk_table_attach(GTK_TABLE(table_filt), FiltNegateEnable, 2, 3, 0, 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(FiltNegateEnable),(global->Frame_Flags & YUV_NEGATE)>0); gtk_widget_show (FiltNegateEnable); @@ -353,9 +348,8 @@ // Mono FiltMonoEnable=gtk_check_button_new_with_label (_(" Mono")); g_object_set_data (G_OBJECT (FiltMonoEnable), "filt_info", GINT_TO_POINTER(YUV_MONOCR)); - gtk_widget_set_halign (FiltMonoEnable, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (FiltMonoEnable, TRUE); - gtk_grid_attach(GTK_GRID(table_filt), FiltMonoEnable, 3, 0, 1, 1); + gtk_table_attach(GTK_TABLE(table_filt), FiltMonoEnable, 3, 4, 0, 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(FiltMonoEnable),(global->Frame_Flags & YUV_MONOCR)>0); gtk_widget_show (FiltMonoEnable); @@ -365,9 +359,8 @@ // Pieces FiltPiecesEnable=gtk_check_button_new_with_label (_(" Pieces")); g_object_set_data (G_OBJECT (FiltPiecesEnable), "filt_info", GINT_TO_POINTER(YUV_PIECES)); - gtk_widget_set_halign (FiltPiecesEnable, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (FiltPiecesEnable, TRUE); - gtk_grid_attach(GTK_GRID(table_filt), FiltPiecesEnable, 4, 0, 1, 1); + gtk_table_attach(GTK_TABLE(table_filt), FiltPiecesEnable, 0, 1, 1, 2, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(FiltPiecesEnable),(global->Frame_Flags & YUV_PIECES)>0); gtk_widget_show (FiltPiecesEnable); @@ -377,9 +370,8 @@ // Particles FiltParticlesEnable=gtk_check_button_new_with_label (_(" Particles")); g_object_set_data (G_OBJECT (FiltParticlesEnable), "filt_info", GINT_TO_POINTER(YUV_PARTICLES)); - gtk_widget_set_halign (FiltParticlesEnable, GTK_ALIGN_FILL); - gtk_widget_set_hexpand (FiltParticlesEnable, TRUE); - gtk_grid_attach(GTK_GRID(table_filt), FiltParticlesEnable, 5, 0, 1, 1); + gtk_table_attach(GTK_TABLE(table_filt), FiltParticlesEnable, 1, 2, 1, 2, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(FiltParticlesEnable),(global->Frame_Flags & YUV_PARTICLES)>0); gtk_widget_show (FiltParticlesEnable);