Control: tags -1 + patch

Please find attached a patch -- note that it applies against the
latest upstream release (0.1) which I assumed you would want to
package anyway.
Description: Port to GTK 3.
Bug-Debian: https://bugs.debian.org/967242
Author: Yavor Doganov <ya...@gnu.org>
Forwarded: no
Last-Update: 2024-01-11
---

--- abx-0.1.orig/configure.ac
+++ abx-0.1/configure.ac
@@ -18,7 +18,7 @@
 PKG_CHECK_MODULES(portaudio, portaudio-2.0 >= 19)
 PKG_CHECK_MODULES(sndfile, sndfile)
 AM_PATH_GLIB_2_0(2.0.0, [], AC_MSG_ERROR([cannot find glib version 2.0 or 
later with thread support]), gthread)
-AM_PATH_GTK_2_0(2.6.0, [], AC_MSG_ERROR([cannot find gtk version 2.6 or 
later]), gthread)
+PKG_CHECK_MODULES([GTK], [gtk+-3.0 >= 3.9.12])
 
 AC_CONFIG_FILES([Makefile
                  src/Makefile])
--- abx-0.1.orig/src/decidewin.c
+++ abx-0.1/src/decidewin.c
@@ -34,7 +34,7 @@
     case 0:
     case 1:
         set_guess(current_trial, response);
-        gtk_widget_hide_all(dialog);
+        gtk_widget_hide(dialog);
         if (current_trial == num_test_trials() - 1) {
             /* test over */
             show_result_window();
@@ -49,7 +49,7 @@
         break;
     case GTK_RESPONSE_DELETE_EVENT:
     case GTK_RESPONSE_CANCEL:
-        gtk_widget_hide_all(dialog);
+        gtk_widget_hide(dialog);
         break;
     }
 }
@@ -73,7 +73,7 @@
         gtk_dialog_add_button(GTK_DIALOG(dialog), "_A", 0);
         gtk_dialog_add_button(GTK_DIALOG(dialog), "_B", 1);
         gtk_dialog_add_button(GTK_DIALOG(dialog),
-                              GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
+                              _("_Cancel"), GTK_RESPONSE_CANCEL);
         g_signal_connect(dialog, "response",
                          G_CALLBACK(response_handler), NULL);
         gtk_widget_show_all(dialog);
@@ -84,6 +84,6 @@
 hide_decide_dialog(void)
 {
     if (dialog) {
-        gtk_widget_hide_all(dialog);
+        gtk_widget_hide(dialog);
     }
 }
--- abx-0.1.orig/src/mainwin.c
+++ abx-0.1/src/mainwin.c
@@ -45,7 +45,7 @@
 static GtkWidget *prev_marker;
 static GtkWidget *next_marker;
 
-static GtkObject *adjustment;
+static GtkAdjustment *adjustment;
 static GtkWidget *scale;
 static int is_user_seeking;
 
@@ -223,17 +223,17 @@
     menu_bar = create_menu_bar();
     create_status_bar();
 
-    left_box = gtk_vbox_new(FALSE, 10);
+    left_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
     gtk_box_pack_start(GTK_BOX(left_box), test_box, TRUE, FALSE, 0);
     gtk_box_pack_start(GTK_BOX(left_box), meta_box, TRUE, FALSE, 0);
     gtk_box_pack_start(GTK_BOX(left_box), playback_box, TRUE, FALSE, 0);
 
-    main_hbox = gtk_hbox_new(FALSE, 10);
+    main_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10);
     gtk_container_set_border_width(GTK_CONTAINER(main_hbox), 10);
     gtk_box_pack_start(GTK_BOX(main_hbox), left_box, TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(main_hbox), marker_box, FALSE, FALSE, 0);
 
-    main_box = gtk_vbox_new(FALSE, 0);
+    main_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
     gtk_box_pack_start(GTK_BOX(main_box), menu_bar, FALSE, FALSE, 0);
     gtk_box_pack_start(GTK_BOX(main_box), main_hbox, TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(main_box), status_bar, FALSE, FALSE, 0);
@@ -252,10 +252,11 @@
 static GtkWidget *
 create_play_button(gchar *label)
 {
-    GtkWidget *aligned_box = gtk_hbox_new(TRUE, 0);
-    GtkWidget *box = gtk_hbox_new(FALSE, 3);
+    GtkWidget *aligned_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+    gtk_box_set_homogeneous(GTK_BOX(aligned_box), TRUE);
+    GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3);
     gtk_box_pack_start(GTK_BOX(box),
-                       gtk_image_new_from_stock(GTK_STOCK_MEDIA_PLAY,
+                       gtk_image_new_from_icon_name("media-playback-start",
                                                 GTK_ICON_SIZE_BUTTON),
                        FALSE, FALSE, 0);
     gtk_box_pack_start(GTK_BOX(box), gtk_label_new_with_mnemonic(label),
@@ -276,8 +277,7 @@
     GtkWidget *first_row;
     GtkWidget *second_row;
     adjustment = gtk_adjustment_new(0, 0, 60, 1.0, 15.0, 0);
-    scale = gtk_hscale_new(GTK_ADJUSTMENT(adjustment));
-    gtk_range_set_update_policy(GTK_RANGE(scale), GTK_UPDATE_DISCONTINUOUS);
+    scale = gtk_scale_new(GTK_ORIENTATION_HORIZONTAL, adjustment);
     is_user_seeking = 0;
     g_signal_connect(G_OBJECT(scale), "button_press_event",
                      G_CALLBACK(scale_button_pressed_or_released), NULL);
@@ -299,19 +299,25 @@
                       create_play_button("Play _X"));
     g_signal_connect(G_OBJECT(test_sample), "clicked",
                      G_CALLBACK(play_button_clicked), NULL);
-    pause_button = gtk_button_new_from_stock(GTK_STOCK_MEDIA_PAUSE);
+    pause_button = gtk_button_new_from_icon_name("media-playback-pause",
+                                                 GTK_ICON_SIZE_BUTTON);
     g_signal_connect(G_OBJECT(pause_button), "clicked",
                      G_CALLBACK(pause_button_clicked), NULL);
-    prev_marker = gtk_button_new_from_stock(GTK_STOCK_MEDIA_PREVIOUS);
+    prev_marker = gtk_button_new_from_icon_name("media-skip-backward",
+                                                GTK_ICON_SIZE_BUTTON);
     g_signal_connect(G_OBJECT(prev_marker), "clicked",
                      G_CALLBACK(rewind_button_clicked), NULL);
-    next_marker = gtk_button_new_from_stock(GTK_STOCK_MEDIA_NEXT);
+    next_marker = gtk_button_new_from_icon_name("media-skip-forward",
+                                                GTK_ICON_SIZE_BUTTON);
     g_signal_connect(G_OBJECT(next_marker), "clicked",
                      G_CALLBACK(rewind_button_clicked), NULL);
 
-    button_box = gtk_vbox_new(TRUE, 5);
-    first_row = gtk_hbox_new(TRUE, 5);
-    second_row = gtk_hbox_new(TRUE, 5);
+    button_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
+    gtk_box_set_homogeneous(GTK_BOX(button_box), TRUE);
+    first_row = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous(GTK_BOX(first_row), TRUE);
+    second_row = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous(GTK_BOX(second_row), TRUE);
     gtk_box_pack_start(GTK_BOX(first_row), first_sample, TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(first_row), second_sample, TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(first_row), test_sample, TRUE, TRUE, 0);
@@ -321,7 +327,7 @@
     gtk_box_pack_start(GTK_BOX(button_box), first_row, TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(button_box), second_row, TRUE, TRUE, 0);
 
-    playback_box = gtk_vbox_new(FALSE, 5);
+    playback_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
     gtk_box_pack_start(GTK_BOX(playback_box), scale, TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(playback_box), button_box, FALSE, FALSE, 0);
     return playback_box;
@@ -352,9 +358,10 @@
                "text", 0, NULL));
     gtk_tree_view_append_column(GTK_TREE_VIEW(markers), column);
 
-    add_marker = gtk_button_new_from_stock(GTK_STOCK_ADD);
-    remove_marker = gtk_button_new_from_stock(GTK_STOCK_REMOVE);
-    clear_markers = gtk_button_new_from_stock(GTK_STOCK_CLEAR);
+    add_marker = gtk_button_new_with_mnemonic(_("_Add"));
+    remove_marker = gtk_button_new_with_mnemonic(_("_Remove"));
+    clear_markers = gtk_button_new_from_icon_name("edit-clear",
+                                                  GTK_ICON_SIZE_BUTTON);
     g_signal_connect(G_OBJECT(add_marker), "clicked",
                      G_CALLBACK(add_marker_clicked),  NULL);
     g_signal_connect(G_OBJECT(remove_marker), "clicked",
@@ -363,25 +370,26 @@
                              G_CALLBACK(gtk_list_store_clear), 
                              G_OBJECT(marker_list));
 
-    upper_buttons_box = gtk_hbox_new(TRUE, 5);
+    upper_buttons_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous(GTK_BOX(upper_buttons_box), TRUE);
     gtk_box_pack_start(GTK_BOX(upper_buttons_box), add_marker, 
                        TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(upper_buttons_box), remove_marker,
                      TRUE, TRUE, 0);
-    marker_buttons_box = gtk_vbox_new(TRUE, 5);
+    marker_buttons_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
+    gtk_box_set_homogeneous(GTK_BOX(marker_buttons_box), TRUE);
     gtk_box_pack_start(GTK_BOX(marker_buttons_box), upper_buttons_box,
                      TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(marker_buttons_box), clear_markers,
                      TRUE, TRUE, 0);
 
     scrolled_window = gtk_scrolled_window_new(NULL, NULL);
-    gtk_scrolled_window_add_with_viewport
-        (GTK_SCROLLED_WINDOW(scrolled_window), markers);
+    gtk_container_add(GTK_CONTAINER(scrolled_window), markers);
     gtk_scrolled_window_set_policy
         (GTK_SCROLLED_WINDOW(scrolled_window),
          GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
 
-    marker_box = gtk_vbox_new(FALSE, 5);
+    marker_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
     gtk_box_pack_start(GTK_BOX(marker_box), 
                        GTK_WIDGET(scrolled_window), TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(marker_box), 
@@ -396,7 +404,7 @@
 static GtkWidget *
 create_test_box(void)
 {
-    GtkWidget *test_box = gtk_hbox_new(FALSE, 5);
+    GtkWidget *test_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
     GtkWidget *decide = gtk_button_new_with_mnemonic("_Decide X");
     g_signal_connect(G_OBJECT(decide), "clicked",
                      G_CALLBACK(decide_button_clicked), NULL);
@@ -422,15 +430,16 @@
     sample_b_label = gtk_label_new("Sample B:");
     meta_a_label = gtk_label_new("(none)");
     meta_b_label = gtk_label_new("(none)");
-    meta_a_hbox = gtk_hbox_new(FALSE, 0);
-    meta_b_hbox = gtk_hbox_new(FALSE, 0);
+    meta_a_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+    meta_b_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
     gtk_box_set_spacing(GTK_BOX(meta_a_hbox), 5);
     gtk_box_set_spacing(GTK_BOX(meta_b_hbox), 5);
     gtk_box_pack_start(GTK_BOX(meta_a_hbox), sample_a_label, FALSE, FALSE, 0);
     gtk_box_pack_end(GTK_BOX(meta_a_hbox), meta_a_label, FALSE, FALSE, 0);
     gtk_box_pack_start(GTK_BOX(meta_b_hbox), sample_b_label, FALSE, FALSE, 0);
     gtk_box_pack_end(GTK_BOX(meta_b_hbox), meta_b_label, FALSE, FALSE, 0);
-    meta_vbox = gtk_vbox_new(TRUE, 5);
+    meta_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
+    gtk_box_set_homogeneous(GTK_BOX(meta_vbox), TRUE);
     gtk_box_pack_start(GTK_BOX(meta_vbox), meta_a_hbox, FALSE, FALSE, 0);
     gtk_box_pack_start(GTK_BOX(meta_vbox), meta_b_hbox, FALSE, FALSE, 0);
     return meta_vbox;
@@ -450,9 +459,8 @@
     GtkWidget *help_menu_item;
 
     test_menu = gtk_menu_new();
-    new_test_menu_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_NEW, 
-                                                       NULL);
-    quit_menu_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL);
+    new_test_menu_item = gtk_menu_item_new_with_mnemonic(_("_New"));
+    quit_menu_item = gtk_menu_item_new_with_mnemonic(_("_Quit"));
     gtk_menu_shell_append(GTK_MENU_SHELL (test_menu), new_test_menu_item);
     gtk_menu_shell_append(GTK_MENU_SHELL (test_menu), quit_menu_item);
     g_signal_connect(G_OBJECT (new_test_menu_item), "activate",
@@ -465,8 +473,7 @@
                               test_menu);
 
     help_menu = gtk_menu_new();
-    about_menu_item = gtk_image_menu_item_new_from_stock
-        (GTK_STOCK_ABOUT, NULL);
+    about_menu_item = gtk_menu_item_new_with_mnemonic(_("_About"));
     gtk_menu_shell_append(GTK_MENU_SHELL (help_menu), about_menu_item);
     g_signal_connect(G_OBJECT (about_menu_item), "activate",
                      G_CALLBACK (menu_item_clicked), 
@@ -476,8 +483,8 @@
                                help_menu);
 
     menu_bar = gtk_menu_bar_new();
-    gtk_menu_bar_append(GTK_MENU_BAR(menu_bar), test_menu_item);
-    gtk_menu_bar_append(GTK_MENU_BAR(menu_bar), help_menu_item);
+    gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), test_menu_item);
+    gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), help_menu_item);
 
     return menu_bar;
 }
--- abx-0.1.orig/src/newtestwin.c
+++ abx-0.1/src/newtestwin.c
@@ -28,7 +28,7 @@
 static GtkWidget *first_file_box;
 static GtkWidget *second_file_box;
 static GtkWidget *file_box;
-static GtkObject *adjustment;
+static GtkAdjustment *adjustment;
 static GtkWidget *spinner;
 static GtkWidget *spinner_box;
 static GtkWidget *ok;
@@ -130,17 +130,17 @@
     gtk_label_set_mnemonic_widget(GTK_LABEL(sample_b_label), 
                                   second_file_selector);
 
-    first_file_box = gtk_hbox_new(FALSE, 5);
+    first_file_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_pack_start(GTK_BOX(first_file_box), sample_a_label,
                        FALSE, FALSE, 0);
     gtk_box_pack_start(GTK_BOX(first_file_box), 
                        GTK_WIDGET(first_file_selector), TRUE, TRUE, 0);
-    second_file_box = gtk_hbox_new(FALSE, 5);
+    second_file_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_pack_start(GTK_BOX(second_file_box), sample_b_label,
                        FALSE, FALSE, 0);
     gtk_box_pack_start(GTK_BOX(second_file_box), 
                        second_file_selector, TRUE, TRUE, 0);
-    file_box = gtk_vbox_new(FALSE, 5);
+    file_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
     gtk_box_pack_start(GTK_BOX(file_box),
                        first_file_box, TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(file_box),
@@ -151,14 +151,15 @@
     spinner = gtk_spin_button_new(GTK_ADJUSTMENT(adjustment), 1, 0);
     gtk_label_set_mnemonic_widget(GTK_LABEL(trials_label),
                                   spinner);
-    spinner_box = gtk_hbox_new(FALSE, 5);
+    spinner_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
     gtk_box_pack_start(GTK_BOX(spinner_box), trials_label, FALSE, FALSE, 0);
     gtk_box_pack_end(GTK_BOX(spinner_box), spinner, FALSE, FALSE, 0);
 
     /* buttons */
-    ok = gtk_button_new_from_stock(GTK_STOCK_OK);
-    cancel = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
-    button_box = gtk_hbox_new(TRUE, 5);
+    ok = gtk_button_new_with_mnemonic(_("_OK"));
+    cancel = gtk_button_new_with_mnemonic(_("_Cancel"));
+    button_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
+    gtk_box_set_homogeneous(GTK_BOX(button_box), TRUE);
     gtk_box_pack_start(GTK_BOX(button_box), ok, TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(button_box), cancel, TRUE, TRUE, 0);
     g_signal_connect(ok, "clicked", G_CALLBACK(button_clicked), NULL);
@@ -168,7 +169,7 @@
     /* main window */
     window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
     gtk_window_set_title(GTK_WINDOW(window), "New test");
-    main_box = gtk_vbox_new(FALSE, 5);
+    main_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
     gtk_container_set_border_width(GTK_CONTAINER(main_box), 10);
     gtk_box_pack_start(GTK_BOX(main_box), file_box, TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(main_box), spinner_box, TRUE, TRUE, 5);
--- abx-0.1.orig/src/resultwin.c
+++ abx-0.1/src/resultwin.c
@@ -61,7 +61,8 @@
     gtk_window_set_title(GTK_WINDOW(window), "Test results");
     g_signal_connect(G_OBJECT(window), "delete_event",
                      G_CALLBACK(delete_event_handler), NULL);
-    close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
+    close_button = gtk_button_new_from_icon_name("window-close",
+                                                 GTK_ICON_SIZE_BUTTON);
     g_signal_connect(close_button, "clicked",
                      G_CALLBACK(close_clicked), NULL);
 
@@ -83,11 +84,11 @@
     guesses = gtk_label_new(NULL);
     gtk_label_set_markup(GTK_LABEL (guesses), gs->str);
 
-    answers_box = gtk_hbox_new(FALSE, 5);
-    guesses_box = gtk_hbox_new(FALSE, 5);
-    ncorr_box = gtk_hbox_new(FALSE, 5);
-    pval_box = gtk_hbox_new(FALSE, 5);
-    close_box = gtk_hbox_new(FALSE, 5);
+    answers_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
+    guesses_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
+    ncorr_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
+    pval_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
+    close_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
 
     gtk_box_pack_start(GTK_BOX(answers_box), 
                        gtk_label_new("Correct decisions:"), 
@@ -114,7 +115,7 @@
     gtk_box_pack_start(GTK_BOX(close_box),
                        close_button, TRUE, FALSE, 0);
 
-    main_box = gtk_vbox_new(FALSE, 5);
+    main_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
     gtk_container_set_border_width(GTK_CONTAINER(main_box), 10);
     gtk_box_pack_start(GTK_BOX(main_box), answers_box, TRUE, TRUE, 0);
     gtk_box_pack_start(GTK_BOX(main_box), guesses_box, TRUE, TRUE, 0);
--- abx-0.1.orig/src/gtkui.h
+++ abx-0.1/src/gtkui.h
@@ -23,6 +23,7 @@
 
 #include "playback.h"
 #include <gtk/gtk.h>
+#include <glib/gi18n.h>
 
 extern Metadata metadata_a;
 extern Metadata metadata_b;

Reply via email to