summaryrefslogtreecommitdiff
path: root/src/about.c
diff options
context:
space:
mode:
authorLogan Rathbone <poprocks@gmail.com>2021-02-10 15:40:49 -0500
committerLogan Rathbone <poprocks@gmail.com>2021-02-10 15:40:49 -0500
commitcbf1311f90d4269d26088a2062669c5457ea4dca (patch)
tree2eea6eabb374ed18d1e4527f00802855b162e013 /src/about.c
parente5d841c208530e0d2ce412ba605062b680f6c9b8 (diff)
downloadzenity-cbf1311f90d4269d26088a2062669c5457ea4dca.tar.gz
convert .ui to gtk4; make calendar, color, about build against gtk4.
Diffstat (limited to 'src/about.c')
-rw-r--r--src/about.c242
1 files changed, 30 insertions, 212 deletions
diff --git a/src/about.c b/src/about.c
index 627aa1e..e01e0af 100644
--- a/src/about.c
+++ b/src/about.c
@@ -1,12 +1,15 @@
+/* vim: colorcolumn=80 ts=4 sw=4
+ */
/*
* about.c
*
- * Copyright (C) 2002 Sun Microsystems, Inc.
- * Copyright (C) 2001 CodeFactory AB
- * Copyright (C) 2001, 2002 Anders Carlsson
+ * Copyright © 2002 Sun Microsystems, Inc.
+ * Copyright © 2001 CodeFactory AB
+ * Copyright © 2001, 2002 Anders Carlsson
+ * Copyright © 2021 Logan Rathbone
*
* This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
+ * modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
@@ -15,7 +18,7 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
- * You should have received a copy of the GNU Library General Public
+ * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
@@ -24,12 +27,13 @@
* Anders Carlsson <andersca@gnu.org>
*/
-#include "config.h"
#include "util.h"
#include "zenity.h"
-#include <gdk/gdkkeysyms.h>
+
#include <string.h>
+#include <config.h>
+
#define GTK_RESPONSE_CREDITS 0
#define ZENITY_HELP_PATH ZENITY_DATADIR "/help/"
#define ZENITY_CLOTHES_PATH ZENITY_DATADIR "/clothes/"
@@ -39,8 +43,8 @@
static GtkWidget *dialog;
-static void zenity_about_dialog_response (
- GtkWidget *widget, int response, gpointer data);
+static void zenity_about_dialog_response (GtkWidget *widget,
+ int response, gpointer data);
/* Sync with the people in the THANKS file */
static const gchar *const authors[] = {"Glynn Foster <glynn foster sun com>",
@@ -72,197 +76,15 @@ static const char *license[] = {
"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA "
"02110-1301, USA.")};
-#if 0
-static gint
-zenity_move_clothes_event (GnomeCanvasItem *item,
- GdkEvent *event,
- gpointer data)
-{
- static double x, y;
- double new_x, new_y;
- static int dragging;
- double item_x, item_y;
-
- /* set item_[xy] to the event x,y position in the parent's
- * item-relative coordinates
- */
-
- item_x = event->button.x;
- item_y = event->button.y;
- gnome_canvas_item_w2i (item->parent, &item_x, &item_y);
-
- switch (event->type) {
- case GDK_BUTTON_PRESS:
- x = item_x;
- y = item_y;
- gnome_canvas_item_ungrab (item, event->button.time);
- gnome_canvas_item_raise_to_top (item);
- dragging = TRUE;
- break;
-
- case GDK_MOTION_NOTIFY:
- if (dragging && (event->motion.state & GDK_BUTTON1_MASK)) {
- new_x = item_x;
- new_y = item_y;
-
- gnome_canvas_item_move (item, new_x - x, new_y - y);
- x = new_x;
- y = new_y;
- }
- break;
-
- case GDK_BUTTON_RELEASE:
- gnome_canvas_item_ungrab (item, event->button.time);
- dragging = FALSE;
- break;
-
- default:
- break;
- }
-
- return FALSE;
-}
-
-typedef struct
-{
- const gchar *filename;
- gdouble x, y;
-} MonkClothes;
-
-static const MonkClothes monk_clothes[] = {
- {"gnome-tshirt.png", 30.0, 20.0},
- {"sunglasses.png", ZENITY_CANVAS_X - 100.0 , ZENITY_CANVAS_Y - 150.0 },
- {"surfboard.png", 30.0, ZENITY_CANVAS_Y - 200.0},
- {"hawaii-shirt.png", ZENITY_CANVAS_X - 50.0, 20.0}
-};
-
-static void
-zenity_create_clothes (GtkWidget *canvas_board)
-{
- GdkPixbuf *pixbuf;
- GnomeCanvasItem *canvas_item;
- gchar *pixbuf_path;
- size_t i;
-
- for (i = 0; i < G_N_ELEMENTS (monk_clothes); i++) {
- pixbuf_path = g_strconcat (ZENITY_CLOTHES_PATH, monk_clothes[i].filename, NULL);
- pixbuf = gdk_pixbuf_new_from_file (pixbuf_path, NULL);
-
- canvas_item = gnome_canvas_item_new (GNOME_CANVAS_GROUP (GNOME_CANVAS (canvas_board)->root),
- GNOME_TYPE_CANVAS_PIXBUF,
- "x", monk_clothes[i].x,
- "y", monk_clothes[i].y,
- "pixbuf", pixbuf,
- "anchor", GTK_ANCHOR_NW,
- NULL);
- g_signal_connect (G_OBJECT (canvas_item), "event",
- G_CALLBACK (zenity_move_clothes_event), NULL);
- }
-}
-
-static GtkWidget *
-zenity_create_monk (void)
-{
- GtkWidget *canvas_board;
- GnomeCanvasItem *canvas_item;
- GdkPixbuf *pixbuf;
- GdkColor color = { 0, 0xffff, 0xffff, 0xffff };
-
- canvas_board = gnome_canvas_new ();
-
- gnome_canvas_set_scroll_region (GNOME_CANVAS (canvas_board), 0, 0,
- ZENITY_CANVAS_X, ZENITY_CANVAS_Y);
-
- gtk_widget_set_size_request (canvas_board, ZENITY_CANVAS_X, ZENITY_CANVAS_Y);
-
- gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (canvas_board)),
- &color, FALSE, TRUE);
-
- gtk_widget_modify_bg (GTK_WIDGET (canvas_board), GTK_STATE_NORMAL, &color);
-
- pixbuf = gdk_pixbuf_new_from_file (ZENITY_CLOTHES_PATH "monk.png", NULL);
-
- canvas_item = gnome_canvas_item_new (GNOME_CANVAS_GROUP (GNOME_CANVAS (canvas_board)->root),
- GNOME_TYPE_CANVAS_PIXBUF,
- "x", (ZENITY_CANVAS_X / 2.0)/2.0 + 10.0,
- "y", (ZENITY_CANVAS_Y / 2.0)/2.0 - 50.0,
- "pixbuf", pixbuf,
- "anchor", GTK_ANCHOR_NW,
- NULL);
-
- zenity_create_clothes (canvas_board);
-
- return canvas_board;
-}
-
-static GtkWidget *
-zenity_create_boutique (void)
-{
- GtkWidget *window;
- GtkWidget *canvas;
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- zenity_util_set_window_icon (window, NULL, ZENITY_IMAGE_FULLPATH ("zenity.png"));
- canvas = zenity_create_monk ();
- gtk_container_add (GTK_CONTAINER (window), canvas);
-
- return window;
-}
-
-static gboolean
-zenity_zen_wisdom (GtkDialog *dialog, GdkEventKey *event, gpointer user_data)
-{
- static gint string_count;
-
- if (string_count >= 3)
- return FALSE;
-
- switch (event->keyval) {
- case GDK_N:
- case GDK_n:
- if (string_count == 2) {
- GtkWidget *window;
- window = zenity_create_boutique ();
- gtk_widget_show_all (window);
- string_count++;
- } else {
- string_count = 0;
- }
- break;
- case GDK_Z:
- case GDK_z:
- if (string_count == 0)
- string_count++;
- else
- string_count = 0;
- break;
- case GDK_E:
- case GDK_e:
- if (string_count == 1)
- string_count++;
- else
- string_count = 0;
- break;
- default:
- string_count = 0;
- }
-
- return FALSE;
-}
-#endif
-
void
-zenity_about (ZenityData *data) {
- GdkPixbuf *logo;
+zenity_about (ZenityData *data)
+{
char *license_trans;
- translators = _ ("translator-credits");
- logo =
- gdk_pixbuf_new_from_file (ZENITY_IMAGE_FULLPATH ("zenity.png"), NULL);
+ translators = _("translator-credits");
license_trans = g_strconcat (
- _ (license[0]), "\n", _ (license[1]), "\n", _ (license[2]), "\n", NULL);
+ _(license[0]), "\n", _(license[1]), "\n", _(license[2]), "\n", NULL);
dialog = gtk_about_dialog_new ();
@@ -272,9 +94,10 @@ zenity_about (ZenityData *data) {
"version",
VERSION,
"copyright",
- "Copyright \xc2\xa9 2003 Sun Microsystems",
+ "Copyright \xc2\xa9 2003 Sun Microsystems\n"
+ "Copyright \xc2\xa9 2021 Logan Rathbone\n",
"comments",
- _ ("Display dialog boxes from shell scripts"),
+ _("Display dialog boxes from shell scripts"),
"authors",
authors,
"documenters",
@@ -282,9 +105,7 @@ zenity_about (ZenityData *data) {
"translator-credits",
translators,
"website",
- "http://live.gnome.org/Zenity",
- "logo",
- logo,
+ "https://gitlab.gnome.org/GNOME/zenity",
"wrap-license",
TRUE,
"license",
@@ -293,27 +114,25 @@ zenity_about (ZenityData *data) {
g_free (license_trans);
- zenity_util_set_window_icon (
- dialog, NULL, ZENITY_IMAGE_FULLPATH ("zenity.png"));
+ zenity_util_set_window_icon (dialog,
+ NULL, ZENITY_IMAGE_FULLPATH ("zenity.png"));
g_signal_connect (G_OBJECT (dialog),
"response",
G_CALLBACK (zenity_about_dialog_response),
data);
-#if 0
- g_signal_connect (G_OBJECT (dialog), "key_press_event",
- G_CALLBACK (zenity_zen_wisdom), NULL);
-#endif
-
- zenity_util_show_dialog (dialog, data->attach);
- gtk_main ();
+ zenity_util_show_dialog (dialog);
+ zenity_util_gapp_main (GTK_WINDOW (dialog));
}
static void
-zenity_about_dialog_response (GtkWidget *widget, int response, gpointer data) {
+zenity_about_dialog_response (GtkWidget *widget, int response, gpointer data)
+{
ZenityData *zen_data = data;
+ g_return_if_fail (GTK_IS_WINDOW (GTK_WINDOW(widget)));
+
switch (response) {
case GTK_RESPONSE_CLOSE:
zen_data->exit_code = zenity_util_return_exit_code (ZENITY_OK);
@@ -324,6 +143,5 @@ zenity_about_dialog_response (GtkWidget *widget, int response, gpointer data) {
zen_data->exit_code = zenity_util_return_exit_code (ZENITY_ESC);
break;
}
-
- gtk_main_quit ();
+ zenity_util_gapp_quit (GTK_WINDOW(widget));
}