2001-09-17 Damon Chaplin <damon@ximian.com> * gui/calendar-model.c: added a timeout to refresh the list every 10 minutes. Not ideal, as the user may be editing a task when it gets refreshed. (adjust_query_sexp): use the 'completed-before?' operator to filter out tasks according to the config settings. * gui/dialogs/task-details-page.c (task_details_page_fill_widgets): added support for the 'Completed' date. This code must have got lost somewhere, as it used to work. (date_changed_cb): set the priv->updating flag while updating the other widgets. * pcs/cal-backend-file.c (cal_backend_file_update_objects): made sure we freed the components. * pcs/query.c (func_completed_before): added 'completed-before?' operator. * gui/calendar-config.c (calendar_config_configure_e_cell_date_edit): don't set the lower & upper hour. Use 0-24 like the EDateEdit does. * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config): set the 12/24-hour time format options sensitive only if we support both. * gui/calendar-config.c (config_read): if the locale doesn't define 'am' and 'pm' strings then we must use 24-hour format. * gui/calendar-commands.c (calendar_set_folder_bar_label): don't translate the '%d' as it doesn't make much sense. Resolves bug #8027. svn path=/trunk/; revision=12925
100 lines
3.2 KiB
C
100 lines
3.2 KiB
C
/* Evolution calendar - Data model for ETable
|
||
*
|
||
* Copyright (C) 2000 Ximian, Inc.
|
||
* Copyright (C) 2000 Ximian, Inc.
|
||
*
|
||
* Authors: Federico Mena-Quintero <federico@ximian.com>
|
||
*
|
||
* This program is free software; you can redistribute it and/or modify
|
||
* it under the terms of the GNU General Public License as published by
|
||
* the Free Software Foundation; either version 2 of the License, or
|
||
* (at your option) any later version.
|
||
*
|
||
* This program 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 General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU General Public License
|
||
* along with this program; if not, write to the Free Software
|
||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||
*/
|
||
|
||
#ifndef CALENDAR_MODEL_H
|
||
#define CALENDAR_MODEL_H
|
||
|
||
#include <libgnome/gnome-defs.h>
|
||
#include <gal/e-table/e-table-model.h>
|
||
#include <cal-client/cal-client.h>
|
||
|
||
BEGIN_GNOME_DECLS
|
||
|
||
|
||
|
||
#define TYPE_CALENDAR_MODEL (calendar_model_get_type ())
|
||
#define CALENDAR_MODEL(obj) (GTK_CHECK_CAST ((obj), TYPE_CALENDAR_MODEL, CalendarModel))
|
||
#define CALENDAR_MODEL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), TYPE_CALENDAR_MODEL, \
|
||
CalendarModelClass))
|
||
#define IS_CALENDAR_MODEL(obj) (GTK_CHECK_TYPE ((obj), TYPE_CALENDAR_MODEL))
|
||
#define IS_CALENDAR_MODEL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), TYPE_CALENDAR_MODEL))
|
||
|
||
typedef struct _CalendarModel CalendarModel;
|
||
typedef struct _CalendarModelClass CalendarModelClass;
|
||
|
||
typedef struct _CalendarModelPrivate CalendarModelPrivate;
|
||
|
||
struct _CalendarModel {
|
||
ETableModel model;
|
||
|
||
/* Private data */
|
||
CalendarModelPrivate *priv;
|
||
};
|
||
|
||
struct _CalendarModelClass {
|
||
ETableModelClass parent_class;
|
||
};
|
||
|
||
GtkType calendar_model_get_type (void);
|
||
|
||
CalendarModel* calendar_model_new (void);
|
||
|
||
CalClient* calendar_model_get_cal_client (CalendarModel *model);
|
||
void calendar_model_set_cal_client (CalendarModel *model,
|
||
CalClient *client,
|
||
CalObjType type);
|
||
|
||
void calendar_model_set_query (CalendarModel *model,
|
||
const char *sexp);
|
||
|
||
void calendar_model_refresh (CalendarModel *model);
|
||
|
||
void calendar_model_set_new_comp_vtype (CalendarModel *model,
|
||
CalComponentVType vtype);
|
||
CalComponentVType calendar_model_get_new_comp_vtype (CalendarModel *model);
|
||
|
||
void calendar_model_mark_task_complete (CalendarModel *model,
|
||
gint row);
|
||
|
||
CalComponent* calendar_model_get_component (CalendarModel *model,
|
||
gint row);
|
||
|
||
/* Whether we use 24 hour format to display the times. */
|
||
gboolean calendar_model_get_use_24_hour_format (CalendarModel *model);
|
||
void calendar_model_set_use_24_hour_format (CalendarModel *model,
|
||
gboolean use_24_hour_format);
|
||
|
||
/* The current timezone. */
|
||
icaltimezone* calendar_model_get_timezone (CalendarModel *model);
|
||
void calendar_model_set_timezone (CalendarModel *model,
|
||
icaltimezone *zone);
|
||
|
||
void calendar_model_set_default_category (CalendarModel *model,
|
||
const char *default_category);
|
||
|
||
|
||
|
||
|
||
END_GNOME_DECLS
|
||
|
||
#endif
|