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 <[email protected]>
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;