Add an about box. Still need to add an icon, and implement the callbacks
2003-01-14 Glynn Foster <glynn.foster@sun.com> * src/Makefile.am, src/about.c, src/main.c, src/zenity.glade: Add an about box. Still need to add an icon, and implement the callbacks for Help and Credits. Extra hassle for not linking against libgnomeui. Sigh.
This commit is contained in:
parent
f00eb34c06
commit
15538e120d
@ -1,3 +1,10 @@
|
|||||||
|
2003-01-14 Glynn Foster <glynn.foster@sun.com>
|
||||||
|
|
||||||
|
* src/Makefile.am, src/about.c, src/main.c,
|
||||||
|
src/zenity.glade: Add an about box. Still need to add
|
||||||
|
an icon, and implement the callbacks for Help and Credits. Extra
|
||||||
|
hassle for not linking against libgnomeui. Sigh.
|
||||||
|
|
||||||
2003-01-14 Glynn Foster <glynn.foster@sun.com>
|
2003-01-14 Glynn Foster <glynn.foster@sun.com>
|
||||||
|
|
||||||
* src/tree.c, src/zenity.h, src/main.c: Add support to
|
* src/tree.c, src/zenity.h, src/main.c: Add support to
|
||||||
|
@ -10,6 +10,7 @@ zenity_SOURCES = \
|
|||||||
text.c \
|
text.c \
|
||||||
progress.c \
|
progress.c \
|
||||||
tree.c \
|
tree.c \
|
||||||
|
about.c \
|
||||||
util.h \
|
util.h \
|
||||||
util.c
|
util.c
|
||||||
|
|
||||||
|
104
src/about.c
Normal file
104
src/about.c
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
/*
|
||||||
|
* about.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2002 Sun Microsystems, Inc.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Library General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* 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
|
||||||
|
* License along with this library; if not, write to the
|
||||||
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
* Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Authors: Glynn Foster <glynn.foster@sun.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <glade/glade.h>
|
||||||
|
#include "config.h"
|
||||||
|
#include "zenity.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
#define GTK_RESPONSE_CREDITS 1
|
||||||
|
|
||||||
|
static void zenity_about_dialog_response (GtkWidget *widget, int response, gpointer data);
|
||||||
|
|
||||||
|
void
|
||||||
|
zenity_about (ZenityData *data)
|
||||||
|
{
|
||||||
|
GladeXML *glade_dialog = NULL;
|
||||||
|
GtkWidget *dialog;
|
||||||
|
GtkWidget *label;
|
||||||
|
gchar *text;
|
||||||
|
|
||||||
|
glade_dialog = zenity_util_load_glade_file ("zenity_about_dialog");
|
||||||
|
|
||||||
|
if (glade_dialog == NULL) {
|
||||||
|
data->exit_code = -1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
glade_xml_signal_autoconnect (glade_dialog);
|
||||||
|
|
||||||
|
dialog = glade_xml_get_widget (glade_dialog, "zenity_about_dialog");
|
||||||
|
|
||||||
|
g_signal_connect (G_OBJECT (dialog), "response",
|
||||||
|
G_CALLBACK (zenity_about_dialog_response), data);
|
||||||
|
|
||||||
|
/* FIXME: Set an appropriate window icon for the dialog
|
||||||
|
* zenity_util_set_window_icon (dialog, ZENITY_IMAGE_FULLPATH (""));
|
||||||
|
*/
|
||||||
|
|
||||||
|
label = glade_xml_get_widget (glade_dialog, "zenity_about_version");
|
||||||
|
text = g_strdup_printf ("<span size=\"xx-large\" weight=\"bold\">Zenity %s</span>", VERSION);
|
||||||
|
gtk_label_set_markup (GTK_LABEL (label), text);
|
||||||
|
g_free (text);
|
||||||
|
|
||||||
|
label = glade_xml_get_widget (glade_dialog, "zenity_about_description");
|
||||||
|
gtk_label_set_text (GTK_LABEL (label), _("Display dialog boxes from shell scripts"));
|
||||||
|
|
||||||
|
label = glade_xml_get_widget (glade_dialog, "zenity_about_copyright");
|
||||||
|
text = g_strdup_printf ("<span size=\"small\">%s</span>", _("(C) 2003 Sun Microsystems"));
|
||||||
|
gtk_label_set_markup (GTK_LABEL (label), text);
|
||||||
|
g_free (text);
|
||||||
|
|
||||||
|
if (glade_dialog)
|
||||||
|
g_object_unref (glade_dialog);
|
||||||
|
|
||||||
|
gtk_widget_show (dialog);
|
||||||
|
gtk_main ();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
zenity_about_dialog_response (GtkWidget *widget, int response, gpointer data)
|
||||||
|
{
|
||||||
|
ZenityData *zen_data = data;
|
||||||
|
|
||||||
|
switch (response) {
|
||||||
|
case GTK_RESPONSE_OK:
|
||||||
|
zen_data->exit_code = 0;
|
||||||
|
gtk_main_quit ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GTK_RESPONSE_HELP:
|
||||||
|
zen_data->exit_code = 1;
|
||||||
|
gtk_main_quit ();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GTK_RESPONSE_CREDITS:
|
||||||
|
zen_data->exit_code = 1;
|
||||||
|
gtk_main_quit ();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
/* Esc dialog */
|
||||||
|
zen_data->exit_code = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
@ -37,6 +37,7 @@ typedef enum {
|
|||||||
MODE_TEXTINFO,
|
MODE_TEXTINFO,
|
||||||
MODE_WARNING,
|
MODE_WARNING,
|
||||||
MODE_INFO,
|
MODE_INFO,
|
||||||
|
MODE_ABOUT,
|
||||||
MODE_LAST
|
MODE_LAST
|
||||||
} ZenityDialogMode;
|
} ZenityDialogMode;
|
||||||
|
|
||||||
@ -849,6 +850,9 @@ main (gint argc, gchar **argv) {
|
|||||||
case MODE_TEXTINFO:
|
case MODE_TEXTINFO:
|
||||||
zenity_text (results->data, results->text_data);
|
zenity_text (results->data, results->text_data);
|
||||||
break;
|
break;
|
||||||
|
case MODE_ABOUT:
|
||||||
|
zenity_about (results->data);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
zenity_free_parsing_options ();
|
zenity_free_parsing_options ();
|
||||||
@ -1204,8 +1208,7 @@ void zenity_parse_options_callback (poptContext ctx,
|
|||||||
zenity_free_parsing_options ();
|
zenity_free_parsing_options ();
|
||||||
exit (-1);
|
exit (-1);
|
||||||
}
|
}
|
||||||
g_print ("This does nothing at the moment\n");
|
results->mode = MODE_ABOUT;
|
||||||
exit (0);
|
|
||||||
break;
|
break;
|
||||||
case OPTION_VERSION:
|
case OPTION_VERSION:
|
||||||
if (results->mode != MODE_LAST) {
|
if (results->mode != MODE_LAST) {
|
||||||
|
165
src/zenity.glade
165
src/zenity.glade
@ -1099,4 +1099,169 @@
|
|||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
||||||
|
<widget class="GtkDialog" id="zenity_about_dialog">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="title" translatable="yes">About Zenity</property>
|
||||||
|
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||||
|
<property name="window_position">GTK_WIN_POS_NONE</property>
|
||||||
|
<property name="modal">False</property>
|
||||||
|
<property name="resizable">True</property>
|
||||||
|
<property name="destroy_with_parent">False</property>
|
||||||
|
<property name="has_separator">True</property>
|
||||||
|
<signal name="destroy" handler="gtk_main_quit" last_modification_time="Tue, 14 Jan 2003 02:38:19 GMT"/>
|
||||||
|
|
||||||
|
<child internal-child="vbox">
|
||||||
|
<widget class="GtkVBox" id="dialog-vbox9">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
|
||||||
|
<child internal-child="action_area">
|
||||||
|
<widget class="GtkHButtonBox" id="dialog-action_area9">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="helpbutton1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="label">gtk-help</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||||
|
<property name="response_id">-11</property>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="zenity_about_credits_button">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="label" translatable="yes">_Credits</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||||
|
<property name="response_id">0</property>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="zenity_about_ok_button">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="has_default">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="label">gtk-ok</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||||
|
<property name="response_id">-5</property>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="pack_type">GTK_PACK_END</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkVBox" id="vbox11">
|
||||||
|
<property name="border_width">7</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="homogeneous">False</property>
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkImage" id="zenity_about_image">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="xalign">0.5</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
<property name="xpad">0</property>
|
||||||
|
<property name="ypad">0</property>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkLabel" id="zenity_about_version">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="label" translatable="yes">zenity_about_version</property>
|
||||||
|
<property name="use_underline">False</property>
|
||||||
|
<property name="use_markup">True</property>
|
||||||
|
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||||
|
<property name="wrap">False</property>
|
||||||
|
<property name="selectable">True</property>
|
||||||
|
<property name="xalign">0.5</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
<property name="xpad">0</property>
|
||||||
|
<property name="ypad">0</property>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">False</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkLabel" id="zenity_about_description">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="label" translatable="yes">zenity_about_description</property>
|
||||||
|
<property name="use_underline">False</property>
|
||||||
|
<property name="use_markup">True</property>
|
||||||
|
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||||
|
<property name="wrap">True</property>
|
||||||
|
<property name="selectable">True</property>
|
||||||
|
<property name="xalign">0.5</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
<property name="xpad">0</property>
|
||||||
|
<property name="ypad">0</property>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">False</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkLabel" id="zenity_about_copyright">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="label" translatable="yes">zenity_about_copyright</property>
|
||||||
|
<property name="use_underline">False</property>
|
||||||
|
<property name="use_markup">True</property>
|
||||||
|
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||||
|
<property name="wrap">False</property>
|
||||||
|
<property name="selectable">True</property>
|
||||||
|
<property name="xalign">0.5</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
<property name="xpad">0</property>
|
||||||
|
<property name="ypad">0</property>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">False</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
|
||||||
</glade-interface>
|
</glade-interface>
|
||||||
|
Reference in New Issue
Block a user