tDon't use GTK stock buttons - vaccinewars - be a doctor and try to vaccinate the world
(HTM) git clone git://src.adamsgaard.dk/vaccinewars
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit fe3bdabeb6b584fc226aa242eb58aace0875323c
(DIR) parent 23d277d41e6577856ff102654fe776e310e60b65
(HTM) Author: Ben Webb <ben@salilab.org>
Date: Wed, 30 Dec 2020 21:21:43 -0800
Don't use GTK stock buttons
Stock buttons are deprecated in GTK3 and removed
entirely in GTK4. Use plain labeled buttons instead.
Diffstat:
M src/gtkport/gtkport.c | 25 +++++--------------------
M src/gtkport/gtkport.h | 6 +-----
M src/gui_client/gtk_client.c | 32 ++++++++++++++++----------------
M src/gui_client/newgamedia.c | 6 +++---
M src/gui_client/optdialog.c | 6 +++---
5 files changed, 28 insertions(+), 47 deletions(-)
---
(DIR) diff --git a/src/gtkport/gtkport.c b/src/gtkport/gtkport.c
t@@ -45,18 +45,8 @@
#include "mac_helpers.h"
#endif
-#if CYGWIN
-#include "unicodewrap.h"
-const gchar *GTK_STOCK_OK = N_("_OK");
-const gchar *GTK_STOCK_CLOSE = N_("_Close");
-const gchar *GTK_STOCK_CANCEL = N_("_Cancel");
-const gchar *GTK_STOCK_REFRESH = N_("_Refresh");
-const gchar *GTK_STOCK_YES = N_("_Yes");
-const gchar *GTK_STOCK_NO = N_("_No");
-const gchar *GTK_STOCK_HELP = N_("_Help");
-#endif
-
#ifdef CYGWIN
+#include "unicodewrap.h"
#include <winsock2.h>
#include <windows.h>
t@@ -5121,9 +5111,9 @@ gboolean dp_g_source_remove(guint tag)
return TRUE;
}
-GtkWidget *NewStockButton(const gchar *label, GtkAccelGroup *accel_group)
+GtkWidget *gtk_button_new_with_mnemonic(const gchar *label)
{
- return gtk_button_new_with_label(_(label));
+ return gtk_button_new_with_label(label);
}
/* We don't really handle styles, so these are just placeholder functions */
t@@ -5362,7 +5352,7 @@ gint OldGtkMessageBox(GtkWidget *parent, const gchar *Text,
static gint retval;
gboolean imm_return;
const gchar *ButtonData[MB_MAX] = {
- GTK_STOCK_OK, GTK_STOCK_CANCEL, GTK_STOCK_YES, GTK_STOCK_NO
+ N_("_OK"), N_("_Cancel"), N_("_Yes"), N_("_No")
};
imm_return = Options & MB_IMMRETURN;
t@@ -5395,7 +5385,7 @@ gint OldGtkMessageBox(GtkWidget *parent, const gchar *Text,
hbbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
for (i = 0; i < MB_MAX; i++) {
if (Options & (1 << i)) {
- button = NewStockButton(ButtonData[i], accel_group);
+ button = gtk_button_new_with_mnemonic(_(ButtonData[i]));
if (!imm_return) {
g_object_set_data(G_OBJECT(button), "retval", &retval);
}
t@@ -5413,11 +5403,6 @@ gint OldGtkMessageBox(GtkWidget *parent, const gchar *Text,
return retval;
}
-GtkWidget *NewStockButton(const gchar *label, GtkAccelGroup *accel_group)
-{
- return gtk_button_new_from_stock(label);
-}
-
gint GtkMessageBox(GtkWidget *parent, const gchar *Text,
const gchar *Title, GtkMessageType type, gint Options)
{
(DIR) diff --git a/src/gtkport/gtkport.h b/src/gtkport/gtkport.h
t@@ -367,6 +367,7 @@ void gtk_container_add(GtkContainer *container, GtkWidget *widget);
void gtk_container_set_border_width(GtkContainer *container,
guint border_width);
GtkWidget *gtk_button_new_with_label(const gchar *label);
+GtkWidget *gtk_button_new_with_mnemonic(const gchar *label);
GtkWidget *gtk_label_new(const gchar *text);
GtkWidget *gtk_box_new(GtkOrientation orientation, gint spacing);
void gtk_box_set_homogeneous(GtkBox *box, gboolean homogeneous);
t@@ -612,10 +613,6 @@ struct _GtkUrl {
#endif /* CYGWIN */
#if CYGWIN
-extern const gchar *GTK_STOCK_OK, *GTK_STOCK_CLOSE, *GTK_STOCK_CANCEL,
- *GTK_STOCK_REFRESH, *GTK_STOCK_YES, *GTK_STOCK_NO,
- *GTK_STOCK_HELP;
-
typedef enum
{
GTK_MESSAGE_INFO,
t@@ -643,7 +640,6 @@ void TextViewAppend(GtkTextView *textview, const gchar *text,
void TextViewClear(GtkTextView *textview);
GtkWidget *gtk_url_new(const gchar *text, const gchar *target,
const gchar *bin);
-GtkWidget *NewStockButton(const gchar *label, GtkAccelGroup *accel_group);
gchar *GtkGetFile(const GtkWidget *parent, const gchar *oldname,
const gchar *title);
void DisplayHTML(GtkWidget *parent, const gchar *bin, const gchar *target);
(DIR) diff --git a/src/gui_client/gtk_client.c b/src/gui_client/gtk_client.c
t@@ -350,7 +350,7 @@ void ListInventory(GtkWidget *widget, gpointer data)
gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0);
hbbox = my_hbbox_new();
- button = NewStockButton(GTK_STOCK_CLOSE, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Close"));
g_signal_connect_swapped(G_OBJECT(button), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(window));
t@@ -785,7 +785,7 @@ void CompleteHighScoreDialog(gboolean AtEnd)
}
hbbox = my_hbbox_new();
- button = NewStockButton(GTK_STOCK_CLOSE, HiScoreDialog.accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Close"));
g_signal_connect_swapped(G_OBJECT(button), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(dialog));
t@@ -1787,14 +1787,14 @@ void DealDrugs(GtkWidget *widget, gpointer data)
gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0);
hbbox = my_hbbox_new();
- button = NewStockButton(GTK_STOCK_OK, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_OK"));
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(DealOKCallback), data);
gtk_widget_set_can_default(button, TRUE);
defbutton = button;
my_gtk_box_pack_start_defaults(GTK_BOX(hbbox), button);
- button = NewStockButton(GTK_STOCK_CANCEL, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Cancel"));
g_signal_connect_swapped(G_OBJECT(button), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(dialog));
t@@ -1952,10 +1952,10 @@ void QuestionDialog(char *Data, Player *From)
for (i = 0; i < strlen(Responses); i++) {
switch (Responses[i]) {
case 'Y':
- button = NewStockButton(GTK_STOCK_YES, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Yes"));
break;
case 'N':
- button = NewStockButton(GTK_STOCK_NO, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_No"));
break;
default:
for (j = 0, trword = NULL; j < numWords && !trword; j++) {
t@@ -2480,7 +2480,7 @@ void display_intro(GtkWidget *widget, gpointer data)
gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0);
hbbox = my_hbbox_new();
- OKButton = NewStockButton(GTK_STOCK_OK, accel_group);
+ OKButton = gtk_button_new_with_mnemonic(_("_OK"));
g_signal_connect_swapped(G_OBJECT(OKButton), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(dialog));
t@@ -2649,7 +2649,7 @@ void TransferDialog(gboolean Debt)
gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0);
hbbox = my_hbbox_new();
- button = NewStockButton(GTK_STOCK_OK, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_OK"));
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(TransferOK), dialog);
my_gtk_box_pack_start_defaults(GTK_BOX(hbbox), button);
t@@ -2661,7 +2661,7 @@ void TransferDialog(gboolean Debt)
G_CALLBACK(TransferPayAll), dialog);
my_gtk_box_pack_start_defaults(GTK_BOX(hbbox), button);
}
- button = NewStockButton(GTK_STOCK_CANCEL, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Cancel"));
g_signal_connect_swapped(G_OBJECT(button), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(dialog));
t@@ -2708,7 +2708,7 @@ void ListPlayers(GtkWidget *widget, gpointer data)
gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0);
hbbox = my_hbbox_new();
- button = NewStockButton(GTK_STOCK_CLOSE, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Close"));
g_signal_connect_swapped(G_OBJECT(button), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(dialog));
t@@ -2848,7 +2848,7 @@ void TalkDialog(gboolean TalkToAll)
G_CALLBACK(TalkSend), (gpointer)&TalkData);
my_gtk_box_pack_start_defaults(GTK_BOX(hbbox), button);
- button = NewStockButton(GTK_STOCK_CLOSE, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Close"));
g_signal_connect_swapped(G_OBJECT(button), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(dialog));
t@@ -3008,14 +3008,14 @@ void ErrandDialog(gint ErrandType)
gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0);
hbbox = my_hbbox_new();
- button = NewStockButton(GTK_STOCK_OK, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_OK"));
g_object_set_data(G_OBJECT(button), "dialog", dialog);
g_object_set_data(G_OBJECT(button), "errandtype",
GINT_TO_POINTER(ErrandType));
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(ErrandOK), (gpointer)clist);
my_gtk_box_pack_start_defaults(GTK_BOX(hbbox), button);
- button = NewStockButton(GTK_STOCK_CANCEL, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Cancel"));
g_signal_connect_swapped(G_OBJECT(button), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(dialog));
t@@ -3237,7 +3237,7 @@ void NewNameDialog(void)
hsep = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0);
- button = NewStockButton(GTK_STOCK_OK, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_OK"));
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(NewNameOK), window);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
t@@ -3291,7 +3291,7 @@ void GunShopDialog(void)
gtk_box_pack_start(GTK_BOX(vbox), hsep, FALSE, FALSE, 0);
hbbox = my_hbbox_new();
- button = NewStockButton(GTK_STOCK_CLOSE, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Close"));
g_signal_connect_swapped(G_OBJECT(button), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(window));
t@@ -3351,7 +3351,7 @@ static void CreateSpyReports(void)
gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0);
- button = NewStockButton(GTK_STOCK_CLOSE, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Close"));
g_signal_connect_swapped(G_OBJECT(button), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(window));
(DIR) diff --git a/src/gui_client/newgamedia.c b/src/gui_client/newgamedia.c
t@@ -635,7 +635,7 @@ void NewGameDialog(Player *play)
hbbox = my_hbbox_new();
/* Button to update metaserver information */
- button = NewStockButton(GTK_STOCK_REFRESH, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Refresh"));
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(UpdateMetaServerList), NULL);
my_gtk_box_pack_start_defaults(GTK_BOX(hbbox), button);
t@@ -773,12 +773,12 @@ static void SocksAuthDialog(NetworkBuffer *netbuf, gpointer data)
hbbox = my_hbbox_new();
- button = NewStockButton(GTK_STOCK_OK, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_OK"));
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(OKSocksAuth), (gpointer)window);
my_gtk_box_pack_start_defaults(GTK_BOX(hbbox), button);
- button = NewStockButton(GTK_STOCK_CANCEL, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Cancel"));
g_signal_connect_swapped(G_OBJECT(button), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(window));
(DIR) diff --git a/src/gui_client/optdialog.c b/src/gui_client/optdialog.c
t@@ -1067,17 +1067,17 @@ void OptDialog(GtkWidget *widget, gpointer data)
hbbox = my_hbbox_new();
- button = NewStockButton(GTK_STOCK_OK, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_OK"));
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(OKCallback), (gpointer)dialog);
my_gtk_box_pack_start_defaults(GTK_BOX(hbbox), button);
- button = NewStockButton(GTK_STOCK_HELP, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Help"));
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(HelpCallback), (gpointer)notebook);
my_gtk_box_pack_start_defaults(GTK_BOX(hbbox), button);
- button = NewStockButton(GTK_STOCK_CANCEL, accel_group);
+ button = gtk_button_new_with_mnemonic(_("_Cancel"));
g_signal_connect_swapped(G_OBJECT(button), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(dialog));