aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/gncal.c63
1 files changed, 46 insertions, 17 deletions
diff --git a/calendar/gncal.c b/calendar/gncal.c
index 09bd007587..fd436a5494 100644
--- a/calendar/gncal.c
+++ b/calendar/gncal.c
@@ -12,11 +12,16 @@
#include <string.h>
#include <gtk/gtk.h>
#include <gnome.h>
+#include <config.h>
#include "gncal.h"
-#include "menus.h"
#include "calcs.h"
+static GtkMenuEntry menu_items[] =
+{
+ {"File/Exit", "<control>Q", menu_file_quit, NULL},
+ {"Help/About", NULL, menu_help_about, NULL},
+};
#define DAY_ARRAY_MAX 35
/* The naughty global variables */
@@ -28,8 +33,21 @@ GtkWidget *year_label;
GtkWidget *dailylist;
GtkWidget *calendar_days[DAY_ARRAY_MAX];
GtkWidget *calendar_buttons[DAY_ARRAY_MAX];
+GtkWidget *app;
+
+#define ELEMENTS(x) (sizeof (x) / sizeof (x [0]))
+
+GtkMenuFactory *
+create_menu ()
+{
+ GtkMenuFactory *subfactory;
+ int i;
+ subfactory = gtk_menu_factory_new (GTK_MENU_FACTORY_MENU_BAR);
+ gtk_menu_factory_add_entries (subfactory, menu_items, ELEMENTS(menu_items));
+ return subfactory;
+}
/* place marker until i get get something better */
void print_error(char *text)
@@ -56,9 +74,20 @@ void menu_file_quit(GtkWidget *widget, gpointer data)
void menu_help_about(GtkWidget *widget, gpointer data)
{
- GtkWidget *msgbox;
- msgbox = gnome_messagebox_new("gncal v0.01 by Craig Small <csmall@small.dropbear.id.au>", "info", "OK", NULL, NULL);
- gtk_widget_show(msgbox);
+ GtkWidget *about;
+ gchar *authors[] = {
+ "Craig Small <csmall@small.dropbear.id.au>",
+ NULL };
+ about = gnome_about_new("Gnome Calendar", VERSION,
+ "(C) 1998",
+ authors,
+ /* Comments */
+ "This program shows a nice pretty "
+ "calendar and will do scheduling "
+ "real soon now!",
+ NULL);
+
+ gtk_widget_show(about);
}
void dailylist_item_select(GtkWidget *widget, gpointer data)
@@ -251,10 +280,10 @@ void test_foreach(GtkWidget *widget, gpointer data)
void show_main_window()
{
- GtkWidget *window;
GtkWidget *main_vbox;
- GtkWidget *menubar;
- GtkAcceleratorTable *accel;
+ /*GtkWidget *menubar;
+ GtkAcceleratorTable *accel;*/
+ GtkMenuFactory *menuf;
GtkWidget *main_hbox;
GtkWidget *left_vbox;
GtkWidget *right_vbox;
@@ -281,20 +310,21 @@ void show_main_window()
char buf[50];
bzero((char*)&tm, sizeof(struct tm));
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_signal_connect(GTK_OBJECT(window), "destroy",
- GTK_SIGNAL_FUNC(menu_file_quit), NULL);
- gtk_window_set_title(GTK_WINDOW(window), "Gnome Calendar");
- gtk_widget_set_usize(GTK_WIDGET(window), 600, 400);
+ app = gnome_app_new("gncal", "Gnome Calendar");
+ gtk_widget_realize(app);
+ gtk_signal_connect(GTK_OBJECT(app), "delete_event",
+ GTK_SIGNAL_FUNC(menu_file_quit), NULL);
main_vbox = gtk_vbox_new(FALSE, 1);
- gtk_container_add(GTK_CONTAINER(window), main_vbox);
+ gnome_app_set_contents(GNOME_APP(app), main_vbox);
gtk_widget_show(main_vbox);
- get_main_menu(&menubar, &accel);
+ menuf = create_menu();
+ gnome_app_set_menus(GNOME_APP(app), GTK_MENU_BAR(menuf->widget));
+ /*get_main_menu(&menubar, &accel);
gtk_window_add_accelerator_table(GTK_WINDOW(window), accel);
gtk_box_pack_start(GTK_BOX(main_vbox), menubar, FALSE, FALSE, 0);
- gtk_widget_show(menubar);
+ gtk_widget_show(menubar);*/
main_hbox = gtk_hbox_new(FALSE,1);
gtk_box_pack_start(GTK_BOX(main_vbox), main_hbox, TRUE, TRUE, 0);
@@ -424,7 +454,7 @@ void show_main_window()
gtk_container_add(GTK_CONTAINER(dailylist_item), event_label);
gtk_widget_show(event_label);
}
- gtk_widget_show(window);
+ gtk_widget_show(app);
}
@@ -434,7 +464,6 @@ int main(int argc, char *argv[])
gnome_init(&argc, &argv);
-
show_main_window();
/* Initialse date to the current day */