Usability fixes -mig
svn path=/trunk/; revision=156
This commit is contained in:
@ -291,10 +291,8 @@ gncal_day_view_update (GncalDayView *dview, iCalObject *ico, int flags)
|
||||
|
||||
g_return_if_fail (dview != NULL);
|
||||
g_return_if_fail (GNCAL_IS_DAY_VIEW (dview));
|
||||
g_return_if_fail (dview->calendar->cal);
|
||||
|
||||
if (!dview->calendar->cal)
|
||||
return;
|
||||
|
||||
if (dview->day_str)
|
||||
g_free (dview->day_str);
|
||||
|
||||
|
@ -137,8 +137,6 @@ gnome_calendar_init(GnomeCalendar *gcal)
|
||||
gcal->week_view = 0;
|
||||
gcal->year_view = 0;
|
||||
gcal->event_editor = 0;
|
||||
|
||||
setup_widgets (gcal);
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
@ -222,6 +220,7 @@ gnome_calendar_new (char *title)
|
||||
|
||||
gcal->current_display = time (NULL);
|
||||
gcal->cal = calendar_new (title);
|
||||
setup_widgets (gcal);
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -233,16 +232,17 @@ gnome_calendar_update_all (GnomeCalendar *cal, iCalObject *object, int flags)
|
||||
gncal_year_view_update (GNCAL_YEAR_VIEW (cal->year_view), object, flags);
|
||||
}
|
||||
|
||||
void
|
||||
int
|
||||
gnome_calendar_load (GnomeCalendar *gcal, char *file)
|
||||
{
|
||||
char *r;
|
||||
|
||||
if ((r = calendar_load (gcal->cal, file)) != NULL){
|
||||
printf ("Error loading calendar: %s\n", r);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
gnome_calendar_update_all (gcal, NULL, 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -40,7 +40,7 @@ typedef struct {
|
||||
|
||||
guint gnome_calendar_get_type (void);
|
||||
GtkWidget *gnome_calendar_new (char *title);
|
||||
void gnome_calendar_load (GnomeCalendar *gcal, char *file);
|
||||
int gnome_calendar_load (GnomeCalendar *gcal, char *file);
|
||||
void gnome_calendar_add_object (GnomeCalendar *gcal, iCalObject *obj);
|
||||
void gnome_calendar_remove_object (GnomeCalendar *gcal, iCalObject *obj);
|
||||
void gnome_calendar_next (GnomeCalendar *gcal);
|
||||
|
@ -291,10 +291,8 @@ gncal_day_view_update (GncalDayView *dview, iCalObject *ico, int flags)
|
||||
|
||||
g_return_if_fail (dview != NULL);
|
||||
g_return_if_fail (GNCAL_IS_DAY_VIEW (dview));
|
||||
g_return_if_fail (dview->calendar->cal);
|
||||
|
||||
if (!dview->calendar->cal)
|
||||
return;
|
||||
|
||||
if (dview->day_str)
|
||||
g_free (dview->day_str);
|
||||
|
||||
|
@ -137,8 +137,6 @@ gnome_calendar_init(GnomeCalendar *gcal)
|
||||
gcal->week_view = 0;
|
||||
gcal->year_view = 0;
|
||||
gcal->event_editor = 0;
|
||||
|
||||
setup_widgets (gcal);
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
@ -222,6 +220,7 @@ gnome_calendar_new (char *title)
|
||||
|
||||
gcal->current_display = time (NULL);
|
||||
gcal->cal = calendar_new (title);
|
||||
setup_widgets (gcal);
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -233,16 +232,17 @@ gnome_calendar_update_all (GnomeCalendar *cal, iCalObject *object, int flags)
|
||||
gncal_year_view_update (GNCAL_YEAR_VIEW (cal->year_view), object, flags);
|
||||
}
|
||||
|
||||
void
|
||||
int
|
||||
gnome_calendar_load (GnomeCalendar *gcal, char *file)
|
||||
{
|
||||
char *r;
|
||||
|
||||
if ((r = calendar_load (gcal->cal, file)) != NULL){
|
||||
printf ("Error loading calendar: %s\n", r);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
gnome_calendar_update_all (gcal, NULL, 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -40,7 +40,7 @@ typedef struct {
|
||||
|
||||
guint gnome_calendar_get_type (void);
|
||||
GtkWidget *gnome_calendar_new (char *title);
|
||||
void gnome_calendar_load (GnomeCalendar *gcal, char *file);
|
||||
int gnome_calendar_load (GnomeCalendar *gcal, char *file);
|
||||
void gnome_calendar_add_object (GnomeCalendar *gcal, iCalObject *obj);
|
||||
void gnome_calendar_remove_object (GnomeCalendar *gcal, iCalObject *obj);
|
||||
void gnome_calendar_next (GnomeCalendar *gcal);
|
||||
|
@ -130,6 +130,7 @@ display_objedit (GtkWidget *widget, GnomeCalendar *gcal)
|
||||
void
|
||||
close_cmd (GtkWidget *widget, GnomeCalendar *gcal)
|
||||
{
|
||||
all_calendars = g_list_remove (all_calendars, gcal);
|
||||
if (gcal->cal->modified){
|
||||
if (!gcal->cal->filename)
|
||||
save_calendar_cmd (widget, gcal);
|
||||
@ -137,9 +138,8 @@ close_cmd (GtkWidget *widget, GnomeCalendar *gcal)
|
||||
calendar_save (gcal->cal, gcal->cal->filename);
|
||||
}
|
||||
|
||||
gtk_widget_destroy (GTK_WIDGET (gcal));
|
||||
/* gtk_widget_destroy (GTK_WIDGET (gcal)); */
|
||||
active_calendars--;
|
||||
all_calendars = g_list_remove (all_calendars, gcal);
|
||||
|
||||
if (active_calendars == 0)
|
||||
gtk_main_quit ();
|
||||
@ -218,7 +218,14 @@ save_ok (GtkWidget *widget, GtkFileSelection *fs)
|
||||
|
||||
gcal->cal->filename = g_strdup (gtk_file_selection_get_filename (fs));
|
||||
calendar_save (gcal->cal, gcal->cal->filename);
|
||||
gtk_widget_destroy (GTK_WIDGET (fs));
|
||||
gtk_main_quit ();
|
||||
}
|
||||
|
||||
static gint
|
||||
close_save (GtkWidget *w)
|
||||
{
|
||||
gtk_main_quit ();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
@ -233,11 +240,15 @@ save_calendar_cmd (GtkWidget *widget, void *data)
|
||||
(GtkSignalFunc) save_ok,
|
||||
fs);
|
||||
gtk_signal_connect_object (GTK_OBJECT (fs->cancel_button), "clicked",
|
||||
(GtkSignalFunc) gtk_widget_destroy,
|
||||
(GtkSignalFunc) close_save,
|
||||
GTK_OBJECT (fs));
|
||||
gtk_signal_connect_object (GTK_OBJECT (fs), "delete_event",
|
||||
GTK_SIGNAL_FUNC (close_save),
|
||||
GTK_OBJECT (fs));
|
||||
|
||||
gtk_widget_show (GTK_WIDGET (fs));
|
||||
gtk_grab_add (GTK_WIDGET (fs)); /* Yes, it is modal, so sue me even more */
|
||||
gtk_main ();
|
||||
gtk_widget_destroy (GTK_WIDGET (fs));
|
||||
}
|
||||
|
||||
GnomeUIInfo gnome_cal_file_menu [] = {
|
||||
|
@ -130,6 +130,7 @@ display_objedit (GtkWidget *widget, GnomeCalendar *gcal)
|
||||
void
|
||||
close_cmd (GtkWidget *widget, GnomeCalendar *gcal)
|
||||
{
|
||||
all_calendars = g_list_remove (all_calendars, gcal);
|
||||
if (gcal->cal->modified){
|
||||
if (!gcal->cal->filename)
|
||||
save_calendar_cmd (widget, gcal);
|
||||
@ -137,9 +138,8 @@ close_cmd (GtkWidget *widget, GnomeCalendar *gcal)
|
||||
calendar_save (gcal->cal, gcal->cal->filename);
|
||||
}
|
||||
|
||||
gtk_widget_destroy (GTK_WIDGET (gcal));
|
||||
/* gtk_widget_destroy (GTK_WIDGET (gcal)); */
|
||||
active_calendars--;
|
||||
all_calendars = g_list_remove (all_calendars, gcal);
|
||||
|
||||
if (active_calendars == 0)
|
||||
gtk_main_quit ();
|
||||
@ -218,7 +218,14 @@ save_ok (GtkWidget *widget, GtkFileSelection *fs)
|
||||
|
||||
gcal->cal->filename = g_strdup (gtk_file_selection_get_filename (fs));
|
||||
calendar_save (gcal->cal, gcal->cal->filename);
|
||||
gtk_widget_destroy (GTK_WIDGET (fs));
|
||||
gtk_main_quit ();
|
||||
}
|
||||
|
||||
static gint
|
||||
close_save (GtkWidget *w)
|
||||
{
|
||||
gtk_main_quit ();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
@ -233,11 +240,15 @@ save_calendar_cmd (GtkWidget *widget, void *data)
|
||||
(GtkSignalFunc) save_ok,
|
||||
fs);
|
||||
gtk_signal_connect_object (GTK_OBJECT (fs->cancel_button), "clicked",
|
||||
(GtkSignalFunc) gtk_widget_destroy,
|
||||
(GtkSignalFunc) close_save,
|
||||
GTK_OBJECT (fs));
|
||||
gtk_signal_connect_object (GTK_OBJECT (fs), "delete_event",
|
||||
GTK_SIGNAL_FUNC (close_save),
|
||||
GTK_OBJECT (fs));
|
||||
|
||||
gtk_widget_show (GTK_WIDGET (fs));
|
||||
gtk_grab_add (GTK_WIDGET (fs)); /* Yes, it is modal, so sue me even more */
|
||||
gtk_main ();
|
||||
gtk_widget_destroy (GTK_WIDGET (fs));
|
||||
}
|
||||
|
||||
GnomeUIInfo gnome_cal_file_menu [] = {
|
||||
|
Reference in New Issue
Block a user