* mug.cc: add an about-box

This commit is contained in:
Dirk-Jan C. Binnema 2010-11-07 11:11:50 +02:00
parent f93b6ecbbd
commit bb6d9a0ff1
1 changed files with 27 additions and 11 deletions

View File

@ -17,9 +17,7 @@
** **
*/ */
#if HAVE_CONFIG_H #include "config.h"
#include <config.h>
#endif /*HAVE_CONFIG_H*/
#include <gtk/gtk.h> #include <gtk/gtk.h>
@ -32,6 +30,7 @@
#include "mug-msg-view.h" #include "mug-msg-view.h"
struct _MugData { struct _MugData {
GtkWidget *win;
GtkWidget *statusbar; GtkWidget *statusbar;
GtkWidget *mlist; GtkWidget *mlist;
GtkWidget *toolbar; GtkWidget *toolbar;
@ -51,6 +50,23 @@ mug_menu (void)
return menu; return menu;
} }
static void
about_mug (MugData *mugdata)
{
GtkWidget *about;
about = gtk_message_dialog_new
(GTK_WINDOW(mugdata->win), GTK_DIALOG_MODAL,
GTK_MESSAGE_INFO,GTK_BUTTONS_OK,
"Mug version %s\n"
"A graphical frontend to the 'mu' e-mail search engine\n\n"
"(c) 2008-2010 Dirk-Jan C. Binnema\n"
"Released under the terms of the GPLv3+", VERSION);
gtk_dialog_run (GTK_DIALOG(about));
gtk_widget_destroy (about);
}
enum _ToolAction { enum _ToolAction {
ACTION_PREV_MSG = 1, ACTION_PREV_MSG = 1,
ACTION_NEXT_MSG, ACTION_NEXT_MSG,
@ -78,7 +94,7 @@ on_tool_button_clicked (GtkToolButton *btn, MugData *mugdata)
mug_msg_list_view_move_prev (MUG_MSG_LIST_VIEW(mugdata->mlist)); mug_msg_list_view_move_prev (MUG_MSG_LIST_VIEW(mugdata->mlist));
break; break;
case ACTION_ABOUT: case ACTION_ABOUT:
g_print ("About Mug\n"); about_mug (mugdata);
break; break;
default: default:
g_print ("%u\n", action); g_print ("%u\n", action);
@ -244,10 +260,10 @@ mug_main_area (MugData *mugdata)
GtkWidget* GtkWidget*
mug_shell (MugData *mugdata) mug_shell (MugData *mugdata)
{ {
GtkWidget *win, *vbox; GtkWidget *vbox;
win = gtk_window_new (GTK_WINDOW_TOPLEVEL); mugdata->win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW(win), "mu"); gtk_window_set_title (GTK_WINDOW(mugdata->win), "mu");
vbox = gtk_vbox_new (FALSE, 2); vbox = gtk_vbox_new (FALSE, 2);
@ -260,13 +276,13 @@ mug_shell (MugData *mugdata)
mugdata->statusbar = mug_statusbar(); mugdata->statusbar = mug_statusbar();
gtk_box_pack_start (GTK_BOX(vbox), mugdata->statusbar, FALSE, FALSE, 2); gtk_box_pack_start (GTK_BOX(vbox), mugdata->statusbar, FALSE, FALSE, 2);
gtk_container_add (GTK_CONTAINER(win), vbox); gtk_container_add (GTK_CONTAINER(mugdata->win), vbox);
gtk_widget_show_all (vbox); gtk_widget_show_all (vbox);
gtk_window_set_default_size (GTK_WINDOW(win), 500, 500); gtk_window_set_default_size (GTK_WINDOW(mugdata->win), 500, 500);
gtk_window_set_resizable (GTK_WINDOW(win), TRUE); gtk_window_set_resizable (GTK_WINDOW(mugdata->win), TRUE);
return win; return mugdata->win;
} }
int int