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