tPort to Gtk2 to be more inclusive with users of older free software. - cancel - free software for cancelling people and organizations HTML git clone https://git.parazyd.org/cancel DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit 66983a1eb5094fc474563e1b105c1cec0cc3f521 DIR parent 6d5a1f242cbcb684a0eca65fa4e757c246d11f78 HTML Author: parazyd <parazyd@dyne.org> Date: Thu, 25 Mar 2021 15:33:51 +0100 Port to Gtk2 to be more inclusive with users of older free software. Diffstat: M Makefile | 2 +- M cancel.c | 50 +++++++++++++------------------- M screenshot.png | 0 3 files changed, 21 insertions(+), 31 deletions(-) --- DIR diff --git a/Makefile b/Makefile t@@ -1,5 +1,5 @@ all: - gcc -o cancel $(shell pkg-config --cflags --libs gtk+-3.0) cancel.c + gcc -o cancel $(shell pkg-config --cflags --libs gtk+-2.0) cancel.c clean: rm -f cancel DIR diff --git a/cancel.c b/cancel.c t@@ -1,5 +1,5 @@ /* - * gcc -o cancel $(pkg-config --cflags --libs gtk+-3.0) cancel.c + * gcc -o cancel $(pkg-config --cflags --libs gtk+-2.0) cancel.c * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by t@@ -17,12 +17,12 @@ #include <gtk/gtk.h> -static void cancel(GtkButton *btn, gpointer data) +static void cancel(GtkWidget *window, gpointer data) { - GtkWidget *dialog, *karen, *content_area, *label; + GtkWidget *dialog, *content_area, *label, *karen; dialog = gtk_dialog_new_with_buttons("Cancelled", NULL, - GTK_DIALOG_MODAL, "OK", GTK_RESPONSE_ACCEPT, NULL); + GTK_DIALOG_MODAL, "OK", GTK_RESPONSE_ACCEPT, NULL); content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); label = gtk_label_new("\nSuccessfully cancelled!\n"); t@@ -34,27 +34,30 @@ static void cancel(GtkButton *btn, gpointer data) gtk_widget_show_all(dialog); g_signal_connect_swapped(dialog, "response", - G_CALLBACK (g_application_quit), data); + G_CALLBACK(gtk_main_quit), window); } -static void activate(GtkApplication *app, gpointer data) +int main(int argc, char **argv) { - GtkWidget *window, *box, *label, *entry, *button; - GtkWidget *lynch_mob; + GtkWidget *window, *align, *box, *label, *entry, *lynch_mob, *button; + + gtk_init(&argc, &argv); - window = gtk_application_window_new(app); + window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(window), 320, 240); - gtk_window_set_gravity(GTK_WINDOW(window), GDK_GRAVITY_CENTER); - box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10); - gtk_widget_set_halign(box, GTK_ALIGN_CENTER); - gtk_widget_set_valign(box, GTK_ALIGN_CENTER); + align = gtk_alignment_new(0, 0, 1, 0); + gtk_alignment_set_padding(GTK_ALIGNMENT(align), 15, 15, 50, 50); + gtk_container_add(GTK_CONTAINER(window), align); + + box = gtk_vbox_new(TRUE, 10); + gtk_container_add(GTK_CONTAINER(align), box); label = gtk_label_new("Who should we cancel today?"); gtk_container_add(GTK_CONTAINER(box), label); entry = gtk_entry_new(); - gtk_entry_set_text(GTK_ENTRY(entry), "FSF"); + gtk_entry_set_text(GTK_ENTRY(entry), "Freedom of speech"); gtk_container_add(GTK_CONTAINER(box), entry); lynch_mob = gtk_check_button_new_with_label( t@@ -63,23 +66,10 @@ static void activate(GtkApplication *app, gpointer data) button = gtk_button_new_with_label("CANCEL"); gtk_container_add(GTK_CONTAINER(box), button); - g_signal_connect(button, "clicked", G_CALLBACK(cancel), app); - - gtk_window_set_title(GTK_WINDOW(window), "Cancel"); - gtk_container_add(GTK_CONTAINER(window), box); + g_signal_connect(button, "clicked", G_CALLBACK(cancel), window); gtk_widget_show_all(window); -} - -int main(int argc, char **argv) -{ - GtkApplication *app; - int status; - - app = gtk_application_new(NULL, G_APPLICATION_FLAGS_NONE); - g_signal_connect(app, "activate", G_CALLBACK(activate), NULL); - status = g_application_run(G_APPLICATION(app), argc, argv); - g_object_unref(app); + gtk_main(); - return status; + return 0; } DIR diff --git a/screenshot.png b/screenshot.png Binary files differ.