Remove non-existent file
2001-01-04 JP Rosevear <jpr@helixcode.com> * POTFILES.in: Remove non-existent file 2001-01-04 JP Rosevear <jpr@helixcode.com> * conduit/Makefile.am: Fix hard coded library names that were accidentally committed (i'm looking at you miggie) * contact-editor/e-contact-editor.c (categories_clicked): Reflect renaming. * contact-editor/e-contact-editor-categories.[hc]: These are living in gal now svn path=/trunk/; revision=7261
This commit is contained in:
@ -1,3 +1,14 @@
|
||||
2001-01-04 JP Rosevear <jpr@helixcode.com>
|
||||
|
||||
* conduit/Makefile.am: Fix hard coded library names that were
|
||||
accidentally committed (i'm looking at you miggie)
|
||||
|
||||
* contact-editor/e-contact-editor.c (categories_clicked): Reflect
|
||||
renaming.
|
||||
|
||||
* contact-editor/e-contact-editor-categories.[hc]: These are
|
||||
living in gal now
|
||||
|
||||
2001-01-04 JP Rosevear <jpr@helixcode.com>
|
||||
|
||||
* backend/pas/pas-backend-file.c (pas_backend_file_book_view_free):
|
||||
|
||||
@ -12,8 +12,17 @@ bin_PROGRAMS = e-address-conduit-control-applet
|
||||
|
||||
e_address_conduit_control_applet_SOURCES = address-conduit-control-applet.c
|
||||
|
||||
e_address_conduit_control_applet_LDFLAGS = \
|
||||
-rdynamic -L/usr/lib -L/usr/X11R6/lib -lcapplet -lgnorba -lgpilotd -lgpilotdcm -lgpilotdconduit -lgnomevfs -lgthread -lpthread -lbonobo -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgnome -lgnomesupport -lesd -laudiofile -ldb1 -lgdk_pixbuf -ltiff -ljpeg -lpng -lgtk -lgdk -lgmodule -ldl -lXi -lXext -lX11 -loaf -lORBitCosNaming -lORBit -lIIOP -lORBitutil -lglib -lnsl -lm -lxml -lz -lpisock
|
||||
e_address_conduit_control_applet_LDADD = \
|
||||
$(CAPPLET_LIBS) \
|
||||
$(GNOME_LIBDIR) \
|
||||
$(GNOME_PILOT_LIBS) \
|
||||
$(PISOCK_LIBDIR) $(PISOCK_LIBS) \
|
||||
$(GNOME_CAPPLET_LIBS) \
|
||||
$(BONOBO_VFS_GNOME_LIBS) \
|
||||
$(GNOME_XML_LIB) \
|
||||
$(GNOMEUI_LIBS) \
|
||||
$(INTLLIBS)
|
||||
|
||||
|
||||
# Address Conduit
|
||||
e_address_conduitsdir=$(libdir)/gnome-pilot/conduits
|
||||
|
||||
@ -17,8 +17,6 @@ noinst_LIBRARIES = \
|
||||
libecontacteditor_a_SOURCES = \
|
||||
e-contact-editor-address.c \
|
||||
e-contact-editor-address.h \
|
||||
e-contact-editor-categories.c \
|
||||
e-contact-editor-categories.h \
|
||||
e-contact-editor-fullname.c \
|
||||
e-contact-editor-fullname.h \
|
||||
e-contact-editor.c \
|
||||
@ -56,7 +54,6 @@ glade_DATA = \
|
||||
contact-editor.glade \
|
||||
fulladdr.glade \
|
||||
fullname.glade \
|
||||
categories.glade \
|
||||
e-contact-editor-confirm-delete.glade
|
||||
|
||||
EXTRA_DIST = $(evolution_DATA) \
|
||||
@ -64,5 +61,4 @@ EXTRA_DIST = $(evolution_DATA) \
|
||||
e-contact-editor-strings.h \
|
||||
fulladdr.glade.h \
|
||||
fullname-strings.h \
|
||||
categories-strings.h \
|
||||
e-contact-editor-confirm-delete.glade.h
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
/*
|
||||
* Translatable strings file generated by Glade.
|
||||
* Add this file to your project's POTFILES.in.
|
||||
* DO NOT compile it as part of your application.
|
||||
*/
|
||||
|
||||
gchar *s = N_("categories");
|
||||
gchar *s = N_("Item(s) belong to these categories:");
|
||||
gchar *s = N_("Available Categories:");
|
||||
@ -1,190 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<GTK-Interface>
|
||||
|
||||
<project>
|
||||
<name>categories</name>
|
||||
<program_name>categories</program_name>
|
||||
<directory></directory>
|
||||
<source_directory>src</source_directory>
|
||||
<pixmaps_directory>pixmaps</pixmaps_directory>
|
||||
<language>C</language>
|
||||
<gnome_support>True</gnome_support>
|
||||
<gettext_support>False</gettext_support>
|
||||
<use_widget_names>False</use_widget_names>
|
||||
<output_main_file>False</output_main_file>
|
||||
<output_support_files>False</output_support_files>
|
||||
<output_build_files>False</output_build_files>
|
||||
<backup_source_files>False</backup_source_files>
|
||||
<main_source_file>interface.c</main_source_file>
|
||||
<main_header_file>interface.h</main_header_file>
|
||||
<handler_source_file>callbacks.c</handler_source_file>
|
||||
<handler_header_file>callbacks.h</handler_header_file>
|
||||
<support_source_file>support.c</support_source_file>
|
||||
<support_header_file>support.h</support_header_file>
|
||||
<output_translatable_strings>True</output_translatable_strings>
|
||||
<translatable_strings_file>categories-strings.h</translatable_strings_file>
|
||||
</project>
|
||||
|
||||
<widget>
|
||||
<class>GnomeDialog</class>
|
||||
<name>categories</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<visible>False</visible>
|
||||
<title>categories</title>
|
||||
<type>GTK_WINDOW_TOPLEVEL</type>
|
||||
<position>GTK_WIN_POS_NONE</position>
|
||||
<modal>False</modal>
|
||||
<allow_shrink>False</allow_shrink>
|
||||
<allow_grow>True</allow_grow>
|
||||
<auto_shrink>False</auto_shrink>
|
||||
<auto_close>False</auto_close>
|
||||
<hide_on_close>False</hide_on_close>
|
||||
|
||||
<widget>
|
||||
<class>GtkVBox</class>
|
||||
<child_name>GnomeDialog:vbox</child_name>
|
||||
<name>dialog-vbox1</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<homogeneous>False</homogeneous>
|
||||
<spacing>8</spacing>
|
||||
<child>
|
||||
<padding>4</padding>
|
||||
<expand>True</expand>
|
||||
<fill>True</fill>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkTable</class>
|
||||
<name>table-categories</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<rows>4</rows>
|
||||
<columns>1</columns>
|
||||
<homogeneous>False</homogeneous>
|
||||
<row_spacing>0</row_spacing>
|
||||
<column_spacing>0</column_spacing>
|
||||
<child>
|
||||
<padding>0</padding>
|
||||
<expand>True</expand>
|
||||
<fill>True</fill>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkAccelLabel</class>
|
||||
<name>accellabel1</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<label>Item(s) belong to these categories:</label>
|
||||
<justify>GTK_JUSTIFY_LEFT</justify>
|
||||
<wrap>False</wrap>
|
||||
<xalign>0</xalign>
|
||||
<yalign>0.5</yalign>
|
||||
<xpad>0</xpad>
|
||||
<ypad>0</ypad>
|
||||
<child>
|
||||
<left_attach>0</left_attach>
|
||||
<right_attach>1</right_attach>
|
||||
<top_attach>0</top_attach>
|
||||
<bottom_attach>1</bottom_attach>
|
||||
<xpad>0</xpad>
|
||||
<ypad>0</ypad>
|
||||
<xexpand>False</xexpand>
|
||||
<yexpand>False</yexpand>
|
||||
<xshrink>False</xshrink>
|
||||
<yshrink>False</yshrink>
|
||||
<xfill>True</xfill>
|
||||
<yfill>True</yfill>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkAccelLabel</class>
|
||||
<name>accellabel2</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<label>Available Categories:</label>
|
||||
<justify>GTK_JUSTIFY_LEFT</justify>
|
||||
<wrap>False</wrap>
|
||||
<xalign>0</xalign>
|
||||
<yalign>0.5</yalign>
|
||||
<xpad>0</xpad>
|
||||
<ypad>0</ypad>
|
||||
<child>
|
||||
<left_attach>0</left_attach>
|
||||
<right_attach>1</right_attach>
|
||||
<top_attach>2</top_attach>
|
||||
<bottom_attach>3</bottom_attach>
|
||||
<xpad>0</xpad>
|
||||
<ypad>0</ypad>
|
||||
<xexpand>False</xexpand>
|
||||
<yexpand>False</yexpand>
|
||||
<xshrink>False</xshrink>
|
||||
<yshrink>False</yshrink>
|
||||
<xfill>True</xfill>
|
||||
<yfill>True</yfill>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkEntry</class>
|
||||
<name>entry-categories</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<can_focus>True</can_focus>
|
||||
<editable>True</editable>
|
||||
<text_visible>True</text_visible>
|
||||
<text_max_length>0</text_max_length>
|
||||
<text></text>
|
||||
<child>
|
||||
<left_attach>0</left_attach>
|
||||
<right_attach>1</right_attach>
|
||||
<top_attach>1</top_attach>
|
||||
<bottom_attach>2</bottom_attach>
|
||||
<xpad>0</xpad>
|
||||
<ypad>0</ypad>
|
||||
<xexpand>True</xexpand>
|
||||
<yexpand>False</yexpand>
|
||||
<xshrink>False</xshrink>
|
||||
<yshrink>False</yshrink>
|
||||
<xfill>True</xfill>
|
||||
<yfill>False</yfill>
|
||||
</child>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkHButtonBox</class>
|
||||
<child_name>GnomeDialog:action_area</child_name>
|
||||
<name>dialog-action_area1</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<layout_style>GTK_BUTTONBOX_END</layout_style>
|
||||
<spacing>8</spacing>
|
||||
<child_min_width>85</child_min_width>
|
||||
<child_min_height>27</child_min_height>
|
||||
<child_ipad_x>7</child_ipad_x>
|
||||
<child_ipad_y>0</child_ipad_y>
|
||||
<child>
|
||||
<padding>0</padding>
|
||||
<expand>False</expand>
|
||||
<fill>True</fill>
|
||||
<pack>GTK_PACK_END</pack>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkButton</class>
|
||||
<name>button1</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<can_default>True</can_default>
|
||||
<can_focus>True</can_focus>
|
||||
<stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkButton</class>
|
||||
<name>button3</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<can_default>True</can_default>
|
||||
<can_focus>True</can_focus>
|
||||
<stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
</GTK-Interface>
|
||||
@ -1,452 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
||||
/*
|
||||
* e-contact-editor-categories.c
|
||||
* Copyright (C) 2000 Helix Code, Inc.
|
||||
* Author: Chris Lahey <clahey@helixcode.com>
|
||||
*
|
||||
* This library 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 library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <gnome.h>
|
||||
#include <e-contact-editor-categories.h>
|
||||
#include <gal/e-table/e-table-scrolled.h>
|
||||
#include <gal/e-table/e-table.h>
|
||||
#include <gal/e-table/e-table-simple.h>
|
||||
#include <gal/widgets/e-unicode.h>
|
||||
|
||||
static void e_contact_editor_categories_init (EContactEditorCategories *card);
|
||||
static void e_contact_editor_categories_class_init (EContactEditorCategoriesClass *klass);
|
||||
static void e_contact_editor_categories_set_arg (GtkObject *o, GtkArg *arg, guint arg_id);
|
||||
static void e_contact_editor_categories_get_arg (GtkObject *object, GtkArg *arg, guint arg_id);
|
||||
static void e_contact_editor_categories_destroy (GtkObject *object);
|
||||
static int e_contact_editor_categories_col_count (ETableModel *etc, gpointer data);
|
||||
static int e_contact_editor_categories_row_count (ETableModel *etc, gpointer data);
|
||||
static void *e_contact_editor_categories_value_at (ETableModel *etc, int col, int row, gpointer data);
|
||||
static void e_contact_editor_categories_set_value_at (ETableModel *etc, int col, int row, const void *val, gpointer data);
|
||||
static gboolean e_contact_editor_categories_is_cell_editable (ETableModel *etc, int col, int row, gpointer data);
|
||||
static void *e_contact_editor_categories_duplicate_value (ETableModel *etc, int col, const void *value, gpointer data);
|
||||
static void e_contact_editor_categories_free_value (ETableModel *etc, int col, void *value, gpointer data);
|
||||
static void *e_contact_editor_categories_initialize_value (ETableModel *etc, int col, gpointer data);
|
||||
static gboolean e_contact_editor_categories_value_is_empty (ETableModel *etc, int col, const void *value, gpointer data);
|
||||
static char * e_contact_editor_categories_value_to_string (ETableModel *etc, int col, const void *value, gpointer data);
|
||||
|
||||
static GnomeDialogClass *parent_class = NULL;
|
||||
|
||||
/* The arguments we take */
|
||||
enum {
|
||||
ARG_0,
|
||||
ARG_CATEGORIES
|
||||
};
|
||||
|
||||
GtkType
|
||||
e_contact_editor_categories_get_type (void)
|
||||
{
|
||||
static GtkType contact_editor_categories_type = 0;
|
||||
|
||||
if (!contact_editor_categories_type)
|
||||
{
|
||||
static const GtkTypeInfo contact_editor_categories_info =
|
||||
{
|
||||
"EContactEditorCategories",
|
||||
sizeof (EContactEditorCategories),
|
||||
sizeof (EContactEditorCategoriesClass),
|
||||
(GtkClassInitFunc) e_contact_editor_categories_class_init,
|
||||
(GtkObjectInitFunc) e_contact_editor_categories_init,
|
||||
/* reserved_1 */ NULL,
|
||||
/* reserved_2 */ NULL,
|
||||
(GtkClassInitFunc) NULL,
|
||||
};
|
||||
|
||||
contact_editor_categories_type = gtk_type_unique (gnome_dialog_get_type (), &contact_editor_categories_info);
|
||||
}
|
||||
|
||||
return contact_editor_categories_type;
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_categories_class_init (EContactEditorCategoriesClass *klass)
|
||||
{
|
||||
GtkObjectClass *object_class;
|
||||
GnomeDialogClass *dialog_class;
|
||||
|
||||
object_class = (GtkObjectClass*) klass;
|
||||
dialog_class = (GnomeDialogClass *) klass;
|
||||
|
||||
parent_class = gtk_type_class (gnome_dialog_get_type ());
|
||||
|
||||
gtk_object_add_arg_type ("EContactEditorCategories::categories", GTK_TYPE_STRING,
|
||||
GTK_ARG_READWRITE, ARG_CATEGORIES);
|
||||
|
||||
object_class->set_arg = e_contact_editor_categories_set_arg;
|
||||
object_class->get_arg = e_contact_editor_categories_get_arg;
|
||||
object_class->destroy = e_contact_editor_categories_destroy;
|
||||
}
|
||||
|
||||
gchar *builtin_categories[] = {
|
||||
"Business",
|
||||
"Competition",
|
||||
"Favorites",
|
||||
"Gifts",
|
||||
"Goals/Objectives",
|
||||
"Holiday",
|
||||
"Holiday Cards",
|
||||
"Hot Contacts",
|
||||
"Ideas",
|
||||
"International",
|
||||
"Key Customer",
|
||||
"Miscellaneous",
|
||||
"Personal",
|
||||
"Phone Calls",
|
||||
"Status",
|
||||
"Strategies",
|
||||
"Suppliers",
|
||||
"Time & Expenses",
|
||||
"VIP",
|
||||
"Waiting",
|
||||
};
|
||||
|
||||
#define BUILTIN_CATEGORY_COUNT (sizeof(builtin_categories) / sizeof(builtin_categories[0]))
|
||||
|
||||
static void
|
||||
add_list_unique(EContactEditorCategories *categories, char *string)
|
||||
{
|
||||
int k;
|
||||
char *temp = e_strdup_strip(string);
|
||||
char **list = categories->category_list;
|
||||
|
||||
if (!*temp) {
|
||||
g_free(temp);
|
||||
return;
|
||||
}
|
||||
for (k = 0; k < categories->list_length; k++) {
|
||||
if (!strcmp(list[k], temp)) {
|
||||
categories->selected_list[k] = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (k == categories->list_length) {
|
||||
categories->selected_list[categories->list_length] = TRUE;
|
||||
list[categories->list_length++] = temp;
|
||||
} else {
|
||||
g_free(temp);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
do_parse_categories(EContactEditorCategories *categories)
|
||||
{
|
||||
char *str = categories->categories;
|
||||
int length = strlen(str);
|
||||
char *copy = g_new(char, length + 1);
|
||||
int i, j;
|
||||
char **list;
|
||||
int count = 1;
|
||||
|
||||
e_table_model_pre_change(categories->model);
|
||||
|
||||
for (i = 0; i < categories->list_length; i++)
|
||||
g_free(categories->category_list[i]);
|
||||
g_free(categories->category_list);
|
||||
g_free(categories->selected_list);
|
||||
|
||||
for (i = 0; str[i]; i++) {
|
||||
switch (str[i]) {
|
||||
case '\\':
|
||||
i++;
|
||||
if (!str[i])
|
||||
i--;
|
||||
break;
|
||||
case ',':
|
||||
count ++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
list = g_new(char *, count + 1 + BUILTIN_CATEGORY_COUNT);
|
||||
categories->category_list = list;
|
||||
|
||||
categories->selected_list = g_new(gboolean, count + 1 + BUILTIN_CATEGORY_COUNT);
|
||||
|
||||
for (count = 0; count < BUILTIN_CATEGORY_COUNT; count++) {
|
||||
list[count] = g_strdup(builtin_categories[count]);
|
||||
categories->selected_list[count] = 0;
|
||||
}
|
||||
|
||||
categories->list_length = count;
|
||||
|
||||
for (i = 0, j = 0; str[i]; i++, j++) {
|
||||
switch (str[i]) {
|
||||
case '\\':
|
||||
i++;
|
||||
if (str[i]) {
|
||||
copy[j] = str[i];
|
||||
} else
|
||||
i--;
|
||||
break;
|
||||
case ',':
|
||||
copy[j] = 0;
|
||||
add_list_unique(categories, copy);
|
||||
j = -1;
|
||||
break;
|
||||
default:
|
||||
copy[j] = str[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
copy[j] = 0;
|
||||
add_list_unique(categories, copy);
|
||||
g_free(copy);
|
||||
e_table_model_changed(categories->model);
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_categories_entry_change (GtkWidget *entry,
|
||||
EContactEditorCategories *categories)
|
||||
{
|
||||
g_free(categories->categories);
|
||||
categories->categories = e_utf8_gtk_entry_get_text(GTK_ENTRY(entry));
|
||||
do_parse_categories(categories);
|
||||
}
|
||||
|
||||
#define INITIAL_SPEC "<ETableSpecification no-headers=\"true\" draw-grid=\"true\" cursor-mode=\"line\">\
|
||||
<ETableColumn model_col=\"0\" _title=\" \" expansion=\"0.0\" minimum_width=\"20\" resizable=\"false\" cell=\"checkbox\" compare=\"integer\"/> \
|
||||
<ETableColumn model_col=\"1\" _title=\"Category\" expansion=\"1.0\" minimum_width=\"20\" resizable=\"true\" cell=\"string\" compare=\"string\"/> \
|
||||
<ETableState> \
|
||||
<column source=\"0\"/> \
|
||||
<column source=\"1\"/> \
|
||||
<grouping> <leaf column=\"1\" ascending=\"true\"/> </grouping> \
|
||||
</ETableState> \
|
||||
</ETableSpecification>"
|
||||
|
||||
static void
|
||||
e_contact_editor_categories_init (EContactEditorCategories *categories)
|
||||
{
|
||||
GladeXML *gui;
|
||||
GtkWidget *table;
|
||||
GtkWidget *e_table;
|
||||
|
||||
categories->list_length = 0;
|
||||
categories->category_list = NULL;
|
||||
categories->selected_list = NULL;
|
||||
categories->categories = NULL;
|
||||
|
||||
gnome_dialog_append_button ( GNOME_DIALOG(categories),
|
||||
GNOME_STOCK_BUTTON_OK);
|
||||
|
||||
gnome_dialog_append_button ( GNOME_DIALOG(categories),
|
||||
GNOME_STOCK_BUTTON_CANCEL);
|
||||
|
||||
gtk_window_set_policy(GTK_WINDOW(categories), FALSE, TRUE, FALSE);
|
||||
|
||||
gui = glade_xml_new (EVOLUTION_GLADEDIR "/categories.glade", NULL);
|
||||
categories->gui = gui;
|
||||
|
||||
table = glade_xml_get_widget(gui, "table-categories");
|
||||
gtk_widget_ref(table);
|
||||
gtk_container_remove(GTK_CONTAINER(table->parent), table);
|
||||
gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (categories)->vbox), table, TRUE, TRUE, 0);
|
||||
gtk_widget_unref(table);
|
||||
|
||||
categories->entry = glade_xml_get_widget(gui, "entry-categories");
|
||||
|
||||
gtk_signal_connect(GTK_OBJECT(categories->entry), "changed",
|
||||
GTK_SIGNAL_FUNC(e_contact_editor_categories_entry_change), categories);
|
||||
|
||||
categories->model = e_table_simple_new(e_contact_editor_categories_col_count,
|
||||
e_contact_editor_categories_row_count,
|
||||
e_contact_editor_categories_value_at,
|
||||
e_contact_editor_categories_set_value_at,
|
||||
e_contact_editor_categories_is_cell_editable,
|
||||
e_contact_editor_categories_duplicate_value,
|
||||
e_contact_editor_categories_free_value,
|
||||
e_contact_editor_categories_initialize_value,
|
||||
e_contact_editor_categories_value_is_empty,
|
||||
e_contact_editor_categories_value_to_string,
|
||||
categories);
|
||||
|
||||
e_table = e_table_scrolled_new (categories->model, NULL, INITIAL_SPEC, NULL);
|
||||
|
||||
gtk_object_sink(GTK_OBJECT(categories->model));
|
||||
|
||||
gtk_widget_show(e_table);
|
||||
|
||||
gtk_table_attach_defaults(GTK_TABLE(table),
|
||||
e_table,
|
||||
0, 1,
|
||||
3, 4);
|
||||
}
|
||||
|
||||
void
|
||||
e_contact_editor_categories_destroy (GtkObject *object)
|
||||
{
|
||||
EContactEditorCategories *categories = E_CONTACT_EDITOR_CATEGORIES(object);
|
||||
int i;
|
||||
|
||||
if (categories->gui)
|
||||
gtk_object_unref(GTK_OBJECT(categories->gui));
|
||||
|
||||
g_free(categories->categories);
|
||||
for (i = 0; i < categories->list_length; i++)
|
||||
g_free(categories->category_list[i]);
|
||||
g_free(categories->category_list);
|
||||
g_free(categories->selected_list);
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
e_contact_editor_categories_new (char *categories)
|
||||
{
|
||||
GtkWidget *widget = GTK_WIDGET (gtk_type_new (e_contact_editor_categories_get_type ()));
|
||||
gtk_object_set (GTK_OBJECT(widget),
|
||||
"categories", categories,
|
||||
NULL);
|
||||
return widget;
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_categories_set_arg (GtkObject *o, GtkArg *arg, guint arg_id)
|
||||
{
|
||||
EContactEditorCategories *e_contact_editor_categories;
|
||||
|
||||
e_contact_editor_categories = E_CONTACT_EDITOR_CATEGORIES (o);
|
||||
|
||||
switch (arg_id){
|
||||
case ARG_CATEGORIES:
|
||||
e_utf8_gtk_entry_set_text(GTK_ENTRY(e_contact_editor_categories->entry), GTK_VALUE_STRING (*arg));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_categories_get_arg (GtkObject *object, GtkArg *arg, guint arg_id)
|
||||
{
|
||||
EContactEditorCategories *e_contact_editor_categories;
|
||||
|
||||
e_contact_editor_categories = E_CONTACT_EDITOR_CATEGORIES (object);
|
||||
|
||||
switch (arg_id) {
|
||||
case ARG_CATEGORIES:
|
||||
GTK_VALUE_STRING (*arg) = g_strdup(e_contact_editor_categories->categories);
|
||||
break;
|
||||
default:
|
||||
arg->type = GTK_TYPE_INVALID;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* This function returns the number of columns in our ETableModel. */
|
||||
static int
|
||||
e_contact_editor_categories_col_count (ETableModel *etc, gpointer data)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
/* This function returns the number of rows in our ETableModel. */
|
||||
static int
|
||||
e_contact_editor_categories_row_count (ETableModel *etc, gpointer data)
|
||||
{
|
||||
EContactEditorCategories *categories = E_CONTACT_EDITOR_CATEGORIES(data);
|
||||
return categories->list_length;
|
||||
}
|
||||
|
||||
/* This function returns the value at a particular point in our ETableModel. */
|
||||
static void *
|
||||
e_contact_editor_categories_value_at (ETableModel *etc, int col, int row, gpointer data)
|
||||
{
|
||||
EContactEditorCategories *categories = E_CONTACT_EDITOR_CATEGORIES(data);
|
||||
if (col == 0)
|
||||
return (void *) categories->selected_list[row];
|
||||
else
|
||||
return categories->category_list[row];
|
||||
}
|
||||
|
||||
/* This function sets the value at a particular point in our ETableModel. */
|
||||
static void
|
||||
e_contact_editor_categories_set_value_at (ETableModel *etc, int col, int row, const void *val, gpointer data)
|
||||
{
|
||||
EContactEditorCategories *categories = E_CONTACT_EDITOR_CATEGORIES(data);
|
||||
if ( col == 0 ) {
|
||||
char **strs;
|
||||
int i, j;
|
||||
char *string;
|
||||
categories->selected_list[row] = (gboolean) val;
|
||||
strs = g_new(char *, categories->list_length + 1);
|
||||
for (i = 0, j = 0; i < categories->list_length; i++) {
|
||||
if (categories->selected_list[i])
|
||||
strs[j++] = categories->category_list[i];
|
||||
}
|
||||
strs[j] = 0;
|
||||
string = g_strjoinv(", ", strs);
|
||||
e_utf8_gtk_entry_set_text(GTK_ENTRY(categories->entry), string);
|
||||
g_free(string);
|
||||
g_free(strs);
|
||||
}
|
||||
if ( col == 1 )
|
||||
return;
|
||||
}
|
||||
|
||||
/* This function returns whether a particular cell is editable. */
|
||||
static gboolean
|
||||
e_contact_editor_categories_is_cell_editable (ETableModel *etc, int col, int row, gpointer data)
|
||||
{
|
||||
return col == 0;
|
||||
}
|
||||
|
||||
/* This function duplicates the value passed to it. */
|
||||
static void *
|
||||
e_contact_editor_categories_duplicate_value (ETableModel *etc, int col, const void *value, gpointer data)
|
||||
{
|
||||
if (col == 0)
|
||||
return (void *)value;
|
||||
else
|
||||
return g_strdup(value);
|
||||
}
|
||||
|
||||
/* This function frees the value passed to it. */
|
||||
static void
|
||||
e_contact_editor_categories_free_value (ETableModel *etc, int col, void *value, gpointer data)
|
||||
{
|
||||
if (col == 0)
|
||||
return;
|
||||
else
|
||||
g_free(value);
|
||||
}
|
||||
|
||||
static void *
|
||||
e_contact_editor_categories_initialize_value (ETableModel *etc, int col, gpointer data)
|
||||
{
|
||||
if (col == 0)
|
||||
return NULL;
|
||||
else
|
||||
return g_strdup("");
|
||||
}
|
||||
|
||||
static gboolean
|
||||
e_contact_editor_categories_value_is_empty (ETableModel *etc, int col, const void *value, gpointer data)
|
||||
{
|
||||
if (col == 0)
|
||||
return value == NULL;
|
||||
else
|
||||
return !(value && *(char *)value);
|
||||
}
|
||||
|
||||
static char *
|
||||
e_contact_editor_categories_value_to_string (ETableModel *etc, int col, const void *value, gpointer data)
|
||||
{
|
||||
if (col == 0)
|
||||
return g_strdup_printf("%d", (int) value);
|
||||
else
|
||||
return g_strdup(value);
|
||||
}
|
||||
@ -1,81 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
||||
/* e-contact-editor-categories.h
|
||||
* Copyright (C) 2000 Helix Code, Inc.
|
||||
* Author: Chris Lahey <clahey@helixcode.com>
|
||||
*
|
||||
* This library 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 library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
#ifndef __E_CONTACT_EDITOR_CATEGORIES_H__
|
||||
#define __E_CONTACT_EDITOR_CATEGORIES_H__
|
||||
|
||||
#include <gnome.h>
|
||||
#include <glade/glade.h>
|
||||
#include <gal/e-table/e-table-model.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#pragma }
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/* EContactEditorCategories - A dialog displaying information about a contact.
|
||||
*
|
||||
* The following arguments are available:
|
||||
*
|
||||
* name type read/write description
|
||||
* --------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#define E_CONTACT_EDITOR_CATEGORIES_TYPE (e_contact_editor_categories_get_type ())
|
||||
#define E_CONTACT_EDITOR_CATEGORIES(obj) (GTK_CHECK_CAST ((obj), E_CONTACT_EDITOR_CATEGORIES_TYPE, EContactEditorCategories))
|
||||
#define E_CONTACT_EDITOR_CATEGORIES_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_CONTACT_EDITOR_CATEGORIES_TYPE, EContactEditorCategoriesClass))
|
||||
#define E_IS_CONTACT_EDITOR_CATEGORIES(obj) (GTK_CHECK_TYPE ((obj), E_CONTACT_EDITOR_CATEGORIES_TYPE))
|
||||
#define E_IS_CONTACT_EDITOR_CATEGORIES_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_CONTACT_EDITOR_CATEGORIES_TYPE))
|
||||
|
||||
|
||||
typedef struct _EContactEditorCategories EContactEditorCategories;
|
||||
typedef struct _EContactEditorCategoriesClass EContactEditorCategoriesClass;
|
||||
|
||||
struct _EContactEditorCategories
|
||||
{
|
||||
GnomeDialog parent;
|
||||
|
||||
/* item specific fields */
|
||||
char *categories;
|
||||
GtkWidget *entry;
|
||||
ETableModel *model;
|
||||
|
||||
int list_length;
|
||||
char **category_list;
|
||||
gboolean *selected_list;
|
||||
|
||||
GladeXML *gui;
|
||||
};
|
||||
|
||||
struct _EContactEditorCategoriesClass
|
||||
{
|
||||
GnomeDialogClass parent_class;
|
||||
};
|
||||
|
||||
|
||||
GtkWidget *e_contact_editor_categories_new(char *categories);
|
||||
GtkType e_contact_editor_categories_get_type (void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
#endif /* __E_CONTACT_EDITOR_CATEGORIES_H__ */
|
||||
@ -25,7 +25,6 @@
|
||||
#include "e-contact-editor.h"
|
||||
#include <e-contact-editor-fullname.h>
|
||||
#include <e-contact-editor-address.h>
|
||||
#include <e-contact-editor-categories.h>
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
#include <gdk-pixbuf/gnome-canvas-pixbuf.h>
|
||||
#include "e-util/e-gui-utils.h"
|
||||
@ -570,7 +569,7 @@ categories_clicked(GtkWidget *button, EContactEditor *editor)
|
||||
gtk_object_get(GTK_OBJECT(editor->card),
|
||||
"categories", &categories,
|
||||
NULL);
|
||||
dialog = GNOME_DIALOG(e_contact_editor_categories_new(categories));
|
||||
dialog = GNOME_DIALOG(e_categories_new(categories));
|
||||
gtk_widget_show(GTK_WIDGET(dialog));
|
||||
result = gnome_dialog_run (dialog);
|
||||
g_free (categories);
|
||||
|
||||
@ -17,8 +17,6 @@ noinst_LIBRARIES = \
|
||||
libecontacteditor_a_SOURCES = \
|
||||
e-contact-editor-address.c \
|
||||
e-contact-editor-address.h \
|
||||
e-contact-editor-categories.c \
|
||||
e-contact-editor-categories.h \
|
||||
e-contact-editor-fullname.c \
|
||||
e-contact-editor-fullname.h \
|
||||
e-contact-editor.c \
|
||||
@ -56,7 +54,6 @@ glade_DATA = \
|
||||
contact-editor.glade \
|
||||
fulladdr.glade \
|
||||
fullname.glade \
|
||||
categories.glade \
|
||||
e-contact-editor-confirm-delete.glade
|
||||
|
||||
EXTRA_DIST = $(evolution_DATA) \
|
||||
@ -64,5 +61,4 @@ EXTRA_DIST = $(evolution_DATA) \
|
||||
e-contact-editor-strings.h \
|
||||
fulladdr.glade.h \
|
||||
fullname-strings.h \
|
||||
categories-strings.h \
|
||||
e-contact-editor-confirm-delete.glade.h
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
/*
|
||||
* Translatable strings file generated by Glade.
|
||||
* Add this file to your project's POTFILES.in.
|
||||
* DO NOT compile it as part of your application.
|
||||
*/
|
||||
|
||||
gchar *s = N_("categories");
|
||||
gchar *s = N_("Item(s) belong to these categories:");
|
||||
gchar *s = N_("Available Categories:");
|
||||
@ -1,190 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<GTK-Interface>
|
||||
|
||||
<project>
|
||||
<name>categories</name>
|
||||
<program_name>categories</program_name>
|
||||
<directory></directory>
|
||||
<source_directory>src</source_directory>
|
||||
<pixmaps_directory>pixmaps</pixmaps_directory>
|
||||
<language>C</language>
|
||||
<gnome_support>True</gnome_support>
|
||||
<gettext_support>False</gettext_support>
|
||||
<use_widget_names>False</use_widget_names>
|
||||
<output_main_file>False</output_main_file>
|
||||
<output_support_files>False</output_support_files>
|
||||
<output_build_files>False</output_build_files>
|
||||
<backup_source_files>False</backup_source_files>
|
||||
<main_source_file>interface.c</main_source_file>
|
||||
<main_header_file>interface.h</main_header_file>
|
||||
<handler_source_file>callbacks.c</handler_source_file>
|
||||
<handler_header_file>callbacks.h</handler_header_file>
|
||||
<support_source_file>support.c</support_source_file>
|
||||
<support_header_file>support.h</support_header_file>
|
||||
<output_translatable_strings>True</output_translatable_strings>
|
||||
<translatable_strings_file>categories-strings.h</translatable_strings_file>
|
||||
</project>
|
||||
|
||||
<widget>
|
||||
<class>GnomeDialog</class>
|
||||
<name>categories</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<visible>False</visible>
|
||||
<title>categories</title>
|
||||
<type>GTK_WINDOW_TOPLEVEL</type>
|
||||
<position>GTK_WIN_POS_NONE</position>
|
||||
<modal>False</modal>
|
||||
<allow_shrink>False</allow_shrink>
|
||||
<allow_grow>True</allow_grow>
|
||||
<auto_shrink>False</auto_shrink>
|
||||
<auto_close>False</auto_close>
|
||||
<hide_on_close>False</hide_on_close>
|
||||
|
||||
<widget>
|
||||
<class>GtkVBox</class>
|
||||
<child_name>GnomeDialog:vbox</child_name>
|
||||
<name>dialog-vbox1</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<homogeneous>False</homogeneous>
|
||||
<spacing>8</spacing>
|
||||
<child>
|
||||
<padding>4</padding>
|
||||
<expand>True</expand>
|
||||
<fill>True</fill>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkTable</class>
|
||||
<name>table-categories</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<rows>4</rows>
|
||||
<columns>1</columns>
|
||||
<homogeneous>False</homogeneous>
|
||||
<row_spacing>0</row_spacing>
|
||||
<column_spacing>0</column_spacing>
|
||||
<child>
|
||||
<padding>0</padding>
|
||||
<expand>True</expand>
|
||||
<fill>True</fill>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkAccelLabel</class>
|
||||
<name>accellabel1</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<label>Item(s) belong to these categories:</label>
|
||||
<justify>GTK_JUSTIFY_LEFT</justify>
|
||||
<wrap>False</wrap>
|
||||
<xalign>0</xalign>
|
||||
<yalign>0.5</yalign>
|
||||
<xpad>0</xpad>
|
||||
<ypad>0</ypad>
|
||||
<child>
|
||||
<left_attach>0</left_attach>
|
||||
<right_attach>1</right_attach>
|
||||
<top_attach>0</top_attach>
|
||||
<bottom_attach>1</bottom_attach>
|
||||
<xpad>0</xpad>
|
||||
<ypad>0</ypad>
|
||||
<xexpand>False</xexpand>
|
||||
<yexpand>False</yexpand>
|
||||
<xshrink>False</xshrink>
|
||||
<yshrink>False</yshrink>
|
||||
<xfill>True</xfill>
|
||||
<yfill>True</yfill>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkAccelLabel</class>
|
||||
<name>accellabel2</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<label>Available Categories:</label>
|
||||
<justify>GTK_JUSTIFY_LEFT</justify>
|
||||
<wrap>False</wrap>
|
||||
<xalign>0</xalign>
|
||||
<yalign>0.5</yalign>
|
||||
<xpad>0</xpad>
|
||||
<ypad>0</ypad>
|
||||
<child>
|
||||
<left_attach>0</left_attach>
|
||||
<right_attach>1</right_attach>
|
||||
<top_attach>2</top_attach>
|
||||
<bottom_attach>3</bottom_attach>
|
||||
<xpad>0</xpad>
|
||||
<ypad>0</ypad>
|
||||
<xexpand>False</xexpand>
|
||||
<yexpand>False</yexpand>
|
||||
<xshrink>False</xshrink>
|
||||
<yshrink>False</yshrink>
|
||||
<xfill>True</xfill>
|
||||
<yfill>True</yfill>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkEntry</class>
|
||||
<name>entry-categories</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<can_focus>True</can_focus>
|
||||
<editable>True</editable>
|
||||
<text_visible>True</text_visible>
|
||||
<text_max_length>0</text_max_length>
|
||||
<text></text>
|
||||
<child>
|
||||
<left_attach>0</left_attach>
|
||||
<right_attach>1</right_attach>
|
||||
<top_attach>1</top_attach>
|
||||
<bottom_attach>2</bottom_attach>
|
||||
<xpad>0</xpad>
|
||||
<ypad>0</ypad>
|
||||
<xexpand>True</xexpand>
|
||||
<yexpand>False</yexpand>
|
||||
<xshrink>False</xshrink>
|
||||
<yshrink>False</yshrink>
|
||||
<xfill>True</xfill>
|
||||
<yfill>False</yfill>
|
||||
</child>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkHButtonBox</class>
|
||||
<child_name>GnomeDialog:action_area</child_name>
|
||||
<name>dialog-action_area1</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<layout_style>GTK_BUTTONBOX_END</layout_style>
|
||||
<spacing>8</spacing>
|
||||
<child_min_width>85</child_min_width>
|
||||
<child_min_height>27</child_min_height>
|
||||
<child_ipad_x>7</child_ipad_x>
|
||||
<child_ipad_y>0</child_ipad_y>
|
||||
<child>
|
||||
<padding>0</padding>
|
||||
<expand>False</expand>
|
||||
<fill>True</fill>
|
||||
<pack>GTK_PACK_END</pack>
|
||||
</child>
|
||||
|
||||
<widget>
|
||||
<class>GtkButton</class>
|
||||
<name>button1</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<can_default>True</can_default>
|
||||
<can_focus>True</can_focus>
|
||||
<stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkButton</class>
|
||||
<name>button3</name>
|
||||
<cxx_use_heap>True</cxx_use_heap>
|
||||
<can_default>True</can_default>
|
||||
<can_focus>True</can_focus>
|
||||
<stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
|
||||
</GTK-Interface>
|
||||
@ -1,452 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
||||
/*
|
||||
* e-contact-editor-categories.c
|
||||
* Copyright (C) 2000 Helix Code, Inc.
|
||||
* Author: Chris Lahey <clahey@helixcode.com>
|
||||
*
|
||||
* This library 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 library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <gnome.h>
|
||||
#include <e-contact-editor-categories.h>
|
||||
#include <gal/e-table/e-table-scrolled.h>
|
||||
#include <gal/e-table/e-table.h>
|
||||
#include <gal/e-table/e-table-simple.h>
|
||||
#include <gal/widgets/e-unicode.h>
|
||||
|
||||
static void e_contact_editor_categories_init (EContactEditorCategories *card);
|
||||
static void e_contact_editor_categories_class_init (EContactEditorCategoriesClass *klass);
|
||||
static void e_contact_editor_categories_set_arg (GtkObject *o, GtkArg *arg, guint arg_id);
|
||||
static void e_contact_editor_categories_get_arg (GtkObject *object, GtkArg *arg, guint arg_id);
|
||||
static void e_contact_editor_categories_destroy (GtkObject *object);
|
||||
static int e_contact_editor_categories_col_count (ETableModel *etc, gpointer data);
|
||||
static int e_contact_editor_categories_row_count (ETableModel *etc, gpointer data);
|
||||
static void *e_contact_editor_categories_value_at (ETableModel *etc, int col, int row, gpointer data);
|
||||
static void e_contact_editor_categories_set_value_at (ETableModel *etc, int col, int row, const void *val, gpointer data);
|
||||
static gboolean e_contact_editor_categories_is_cell_editable (ETableModel *etc, int col, int row, gpointer data);
|
||||
static void *e_contact_editor_categories_duplicate_value (ETableModel *etc, int col, const void *value, gpointer data);
|
||||
static void e_contact_editor_categories_free_value (ETableModel *etc, int col, void *value, gpointer data);
|
||||
static void *e_contact_editor_categories_initialize_value (ETableModel *etc, int col, gpointer data);
|
||||
static gboolean e_contact_editor_categories_value_is_empty (ETableModel *etc, int col, const void *value, gpointer data);
|
||||
static char * e_contact_editor_categories_value_to_string (ETableModel *etc, int col, const void *value, gpointer data);
|
||||
|
||||
static GnomeDialogClass *parent_class = NULL;
|
||||
|
||||
/* The arguments we take */
|
||||
enum {
|
||||
ARG_0,
|
||||
ARG_CATEGORIES
|
||||
};
|
||||
|
||||
GtkType
|
||||
e_contact_editor_categories_get_type (void)
|
||||
{
|
||||
static GtkType contact_editor_categories_type = 0;
|
||||
|
||||
if (!contact_editor_categories_type)
|
||||
{
|
||||
static const GtkTypeInfo contact_editor_categories_info =
|
||||
{
|
||||
"EContactEditorCategories",
|
||||
sizeof (EContactEditorCategories),
|
||||
sizeof (EContactEditorCategoriesClass),
|
||||
(GtkClassInitFunc) e_contact_editor_categories_class_init,
|
||||
(GtkObjectInitFunc) e_contact_editor_categories_init,
|
||||
/* reserved_1 */ NULL,
|
||||
/* reserved_2 */ NULL,
|
||||
(GtkClassInitFunc) NULL,
|
||||
};
|
||||
|
||||
contact_editor_categories_type = gtk_type_unique (gnome_dialog_get_type (), &contact_editor_categories_info);
|
||||
}
|
||||
|
||||
return contact_editor_categories_type;
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_categories_class_init (EContactEditorCategoriesClass *klass)
|
||||
{
|
||||
GtkObjectClass *object_class;
|
||||
GnomeDialogClass *dialog_class;
|
||||
|
||||
object_class = (GtkObjectClass*) klass;
|
||||
dialog_class = (GnomeDialogClass *) klass;
|
||||
|
||||
parent_class = gtk_type_class (gnome_dialog_get_type ());
|
||||
|
||||
gtk_object_add_arg_type ("EContactEditorCategories::categories", GTK_TYPE_STRING,
|
||||
GTK_ARG_READWRITE, ARG_CATEGORIES);
|
||||
|
||||
object_class->set_arg = e_contact_editor_categories_set_arg;
|
||||
object_class->get_arg = e_contact_editor_categories_get_arg;
|
||||
object_class->destroy = e_contact_editor_categories_destroy;
|
||||
}
|
||||
|
||||
gchar *builtin_categories[] = {
|
||||
"Business",
|
||||
"Competition",
|
||||
"Favorites",
|
||||
"Gifts",
|
||||
"Goals/Objectives",
|
||||
"Holiday",
|
||||
"Holiday Cards",
|
||||
"Hot Contacts",
|
||||
"Ideas",
|
||||
"International",
|
||||
"Key Customer",
|
||||
"Miscellaneous",
|
||||
"Personal",
|
||||
"Phone Calls",
|
||||
"Status",
|
||||
"Strategies",
|
||||
"Suppliers",
|
||||
"Time & Expenses",
|
||||
"VIP",
|
||||
"Waiting",
|
||||
};
|
||||
|
||||
#define BUILTIN_CATEGORY_COUNT (sizeof(builtin_categories) / sizeof(builtin_categories[0]))
|
||||
|
||||
static void
|
||||
add_list_unique(EContactEditorCategories *categories, char *string)
|
||||
{
|
||||
int k;
|
||||
char *temp = e_strdup_strip(string);
|
||||
char **list = categories->category_list;
|
||||
|
||||
if (!*temp) {
|
||||
g_free(temp);
|
||||
return;
|
||||
}
|
||||
for (k = 0; k < categories->list_length; k++) {
|
||||
if (!strcmp(list[k], temp)) {
|
||||
categories->selected_list[k] = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (k == categories->list_length) {
|
||||
categories->selected_list[categories->list_length] = TRUE;
|
||||
list[categories->list_length++] = temp;
|
||||
} else {
|
||||
g_free(temp);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
do_parse_categories(EContactEditorCategories *categories)
|
||||
{
|
||||
char *str = categories->categories;
|
||||
int length = strlen(str);
|
||||
char *copy = g_new(char, length + 1);
|
||||
int i, j;
|
||||
char **list;
|
||||
int count = 1;
|
||||
|
||||
e_table_model_pre_change(categories->model);
|
||||
|
||||
for (i = 0; i < categories->list_length; i++)
|
||||
g_free(categories->category_list[i]);
|
||||
g_free(categories->category_list);
|
||||
g_free(categories->selected_list);
|
||||
|
||||
for (i = 0; str[i]; i++) {
|
||||
switch (str[i]) {
|
||||
case '\\':
|
||||
i++;
|
||||
if (!str[i])
|
||||
i--;
|
||||
break;
|
||||
case ',':
|
||||
count ++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
list = g_new(char *, count + 1 + BUILTIN_CATEGORY_COUNT);
|
||||
categories->category_list = list;
|
||||
|
||||
categories->selected_list = g_new(gboolean, count + 1 + BUILTIN_CATEGORY_COUNT);
|
||||
|
||||
for (count = 0; count < BUILTIN_CATEGORY_COUNT; count++) {
|
||||
list[count] = g_strdup(builtin_categories[count]);
|
||||
categories->selected_list[count] = 0;
|
||||
}
|
||||
|
||||
categories->list_length = count;
|
||||
|
||||
for (i = 0, j = 0; str[i]; i++, j++) {
|
||||
switch (str[i]) {
|
||||
case '\\':
|
||||
i++;
|
||||
if (str[i]) {
|
||||
copy[j] = str[i];
|
||||
} else
|
||||
i--;
|
||||
break;
|
||||
case ',':
|
||||
copy[j] = 0;
|
||||
add_list_unique(categories, copy);
|
||||
j = -1;
|
||||
break;
|
||||
default:
|
||||
copy[j] = str[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
copy[j] = 0;
|
||||
add_list_unique(categories, copy);
|
||||
g_free(copy);
|
||||
e_table_model_changed(categories->model);
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_categories_entry_change (GtkWidget *entry,
|
||||
EContactEditorCategories *categories)
|
||||
{
|
||||
g_free(categories->categories);
|
||||
categories->categories = e_utf8_gtk_entry_get_text(GTK_ENTRY(entry));
|
||||
do_parse_categories(categories);
|
||||
}
|
||||
|
||||
#define INITIAL_SPEC "<ETableSpecification no-headers=\"true\" draw-grid=\"true\" cursor-mode=\"line\">\
|
||||
<ETableColumn model_col=\"0\" _title=\" \" expansion=\"0.0\" minimum_width=\"20\" resizable=\"false\" cell=\"checkbox\" compare=\"integer\"/> \
|
||||
<ETableColumn model_col=\"1\" _title=\"Category\" expansion=\"1.0\" minimum_width=\"20\" resizable=\"true\" cell=\"string\" compare=\"string\"/> \
|
||||
<ETableState> \
|
||||
<column source=\"0\"/> \
|
||||
<column source=\"1\"/> \
|
||||
<grouping> <leaf column=\"1\" ascending=\"true\"/> </grouping> \
|
||||
</ETableState> \
|
||||
</ETableSpecification>"
|
||||
|
||||
static void
|
||||
e_contact_editor_categories_init (EContactEditorCategories *categories)
|
||||
{
|
||||
GladeXML *gui;
|
||||
GtkWidget *table;
|
||||
GtkWidget *e_table;
|
||||
|
||||
categories->list_length = 0;
|
||||
categories->category_list = NULL;
|
||||
categories->selected_list = NULL;
|
||||
categories->categories = NULL;
|
||||
|
||||
gnome_dialog_append_button ( GNOME_DIALOG(categories),
|
||||
GNOME_STOCK_BUTTON_OK);
|
||||
|
||||
gnome_dialog_append_button ( GNOME_DIALOG(categories),
|
||||
GNOME_STOCK_BUTTON_CANCEL);
|
||||
|
||||
gtk_window_set_policy(GTK_WINDOW(categories), FALSE, TRUE, FALSE);
|
||||
|
||||
gui = glade_xml_new (EVOLUTION_GLADEDIR "/categories.glade", NULL);
|
||||
categories->gui = gui;
|
||||
|
||||
table = glade_xml_get_widget(gui, "table-categories");
|
||||
gtk_widget_ref(table);
|
||||
gtk_container_remove(GTK_CONTAINER(table->parent), table);
|
||||
gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (categories)->vbox), table, TRUE, TRUE, 0);
|
||||
gtk_widget_unref(table);
|
||||
|
||||
categories->entry = glade_xml_get_widget(gui, "entry-categories");
|
||||
|
||||
gtk_signal_connect(GTK_OBJECT(categories->entry), "changed",
|
||||
GTK_SIGNAL_FUNC(e_contact_editor_categories_entry_change), categories);
|
||||
|
||||
categories->model = e_table_simple_new(e_contact_editor_categories_col_count,
|
||||
e_contact_editor_categories_row_count,
|
||||
e_contact_editor_categories_value_at,
|
||||
e_contact_editor_categories_set_value_at,
|
||||
e_contact_editor_categories_is_cell_editable,
|
||||
e_contact_editor_categories_duplicate_value,
|
||||
e_contact_editor_categories_free_value,
|
||||
e_contact_editor_categories_initialize_value,
|
||||
e_contact_editor_categories_value_is_empty,
|
||||
e_contact_editor_categories_value_to_string,
|
||||
categories);
|
||||
|
||||
e_table = e_table_scrolled_new (categories->model, NULL, INITIAL_SPEC, NULL);
|
||||
|
||||
gtk_object_sink(GTK_OBJECT(categories->model));
|
||||
|
||||
gtk_widget_show(e_table);
|
||||
|
||||
gtk_table_attach_defaults(GTK_TABLE(table),
|
||||
e_table,
|
||||
0, 1,
|
||||
3, 4);
|
||||
}
|
||||
|
||||
void
|
||||
e_contact_editor_categories_destroy (GtkObject *object)
|
||||
{
|
||||
EContactEditorCategories *categories = E_CONTACT_EDITOR_CATEGORIES(object);
|
||||
int i;
|
||||
|
||||
if (categories->gui)
|
||||
gtk_object_unref(GTK_OBJECT(categories->gui));
|
||||
|
||||
g_free(categories->categories);
|
||||
for (i = 0; i < categories->list_length; i++)
|
||||
g_free(categories->category_list[i]);
|
||||
g_free(categories->category_list);
|
||||
g_free(categories->selected_list);
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
e_contact_editor_categories_new (char *categories)
|
||||
{
|
||||
GtkWidget *widget = GTK_WIDGET (gtk_type_new (e_contact_editor_categories_get_type ()));
|
||||
gtk_object_set (GTK_OBJECT(widget),
|
||||
"categories", categories,
|
||||
NULL);
|
||||
return widget;
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_categories_set_arg (GtkObject *o, GtkArg *arg, guint arg_id)
|
||||
{
|
||||
EContactEditorCategories *e_contact_editor_categories;
|
||||
|
||||
e_contact_editor_categories = E_CONTACT_EDITOR_CATEGORIES (o);
|
||||
|
||||
switch (arg_id){
|
||||
case ARG_CATEGORIES:
|
||||
e_utf8_gtk_entry_set_text(GTK_ENTRY(e_contact_editor_categories->entry), GTK_VALUE_STRING (*arg));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_categories_get_arg (GtkObject *object, GtkArg *arg, guint arg_id)
|
||||
{
|
||||
EContactEditorCategories *e_contact_editor_categories;
|
||||
|
||||
e_contact_editor_categories = E_CONTACT_EDITOR_CATEGORIES (object);
|
||||
|
||||
switch (arg_id) {
|
||||
case ARG_CATEGORIES:
|
||||
GTK_VALUE_STRING (*arg) = g_strdup(e_contact_editor_categories->categories);
|
||||
break;
|
||||
default:
|
||||
arg->type = GTK_TYPE_INVALID;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* This function returns the number of columns in our ETableModel. */
|
||||
static int
|
||||
e_contact_editor_categories_col_count (ETableModel *etc, gpointer data)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
/* This function returns the number of rows in our ETableModel. */
|
||||
static int
|
||||
e_contact_editor_categories_row_count (ETableModel *etc, gpointer data)
|
||||
{
|
||||
EContactEditorCategories *categories = E_CONTACT_EDITOR_CATEGORIES(data);
|
||||
return categories->list_length;
|
||||
}
|
||||
|
||||
/* This function returns the value at a particular point in our ETableModel. */
|
||||
static void *
|
||||
e_contact_editor_categories_value_at (ETableModel *etc, int col, int row, gpointer data)
|
||||
{
|
||||
EContactEditorCategories *categories = E_CONTACT_EDITOR_CATEGORIES(data);
|
||||
if (col == 0)
|
||||
return (void *) categories->selected_list[row];
|
||||
else
|
||||
return categories->category_list[row];
|
||||
}
|
||||
|
||||
/* This function sets the value at a particular point in our ETableModel. */
|
||||
static void
|
||||
e_contact_editor_categories_set_value_at (ETableModel *etc, int col, int row, const void *val, gpointer data)
|
||||
{
|
||||
EContactEditorCategories *categories = E_CONTACT_EDITOR_CATEGORIES(data);
|
||||
if ( col == 0 ) {
|
||||
char **strs;
|
||||
int i, j;
|
||||
char *string;
|
||||
categories->selected_list[row] = (gboolean) val;
|
||||
strs = g_new(char *, categories->list_length + 1);
|
||||
for (i = 0, j = 0; i < categories->list_length; i++) {
|
||||
if (categories->selected_list[i])
|
||||
strs[j++] = categories->category_list[i];
|
||||
}
|
||||
strs[j] = 0;
|
||||
string = g_strjoinv(", ", strs);
|
||||
e_utf8_gtk_entry_set_text(GTK_ENTRY(categories->entry), string);
|
||||
g_free(string);
|
||||
g_free(strs);
|
||||
}
|
||||
if ( col == 1 )
|
||||
return;
|
||||
}
|
||||
|
||||
/* This function returns whether a particular cell is editable. */
|
||||
static gboolean
|
||||
e_contact_editor_categories_is_cell_editable (ETableModel *etc, int col, int row, gpointer data)
|
||||
{
|
||||
return col == 0;
|
||||
}
|
||||
|
||||
/* This function duplicates the value passed to it. */
|
||||
static void *
|
||||
e_contact_editor_categories_duplicate_value (ETableModel *etc, int col, const void *value, gpointer data)
|
||||
{
|
||||
if (col == 0)
|
||||
return (void *)value;
|
||||
else
|
||||
return g_strdup(value);
|
||||
}
|
||||
|
||||
/* This function frees the value passed to it. */
|
||||
static void
|
||||
e_contact_editor_categories_free_value (ETableModel *etc, int col, void *value, gpointer data)
|
||||
{
|
||||
if (col == 0)
|
||||
return;
|
||||
else
|
||||
g_free(value);
|
||||
}
|
||||
|
||||
static void *
|
||||
e_contact_editor_categories_initialize_value (ETableModel *etc, int col, gpointer data)
|
||||
{
|
||||
if (col == 0)
|
||||
return NULL;
|
||||
else
|
||||
return g_strdup("");
|
||||
}
|
||||
|
||||
static gboolean
|
||||
e_contact_editor_categories_value_is_empty (ETableModel *etc, int col, const void *value, gpointer data)
|
||||
{
|
||||
if (col == 0)
|
||||
return value == NULL;
|
||||
else
|
||||
return !(value && *(char *)value);
|
||||
}
|
||||
|
||||
static char *
|
||||
e_contact_editor_categories_value_to_string (ETableModel *etc, int col, const void *value, gpointer data)
|
||||
{
|
||||
if (col == 0)
|
||||
return g_strdup_printf("%d", (int) value);
|
||||
else
|
||||
return g_strdup(value);
|
||||
}
|
||||
@ -1,81 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
||||
/* e-contact-editor-categories.h
|
||||
* Copyright (C) 2000 Helix Code, Inc.
|
||||
* Author: Chris Lahey <clahey@helixcode.com>
|
||||
*
|
||||
* This library 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 library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
#ifndef __E_CONTACT_EDITOR_CATEGORIES_H__
|
||||
#define __E_CONTACT_EDITOR_CATEGORIES_H__
|
||||
|
||||
#include <gnome.h>
|
||||
#include <glade/glade.h>
|
||||
#include <gal/e-table/e-table-model.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#pragma }
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/* EContactEditorCategories - A dialog displaying information about a contact.
|
||||
*
|
||||
* The following arguments are available:
|
||||
*
|
||||
* name type read/write description
|
||||
* --------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#define E_CONTACT_EDITOR_CATEGORIES_TYPE (e_contact_editor_categories_get_type ())
|
||||
#define E_CONTACT_EDITOR_CATEGORIES(obj) (GTK_CHECK_CAST ((obj), E_CONTACT_EDITOR_CATEGORIES_TYPE, EContactEditorCategories))
|
||||
#define E_CONTACT_EDITOR_CATEGORIES_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_CONTACT_EDITOR_CATEGORIES_TYPE, EContactEditorCategoriesClass))
|
||||
#define E_IS_CONTACT_EDITOR_CATEGORIES(obj) (GTK_CHECK_TYPE ((obj), E_CONTACT_EDITOR_CATEGORIES_TYPE))
|
||||
#define E_IS_CONTACT_EDITOR_CATEGORIES_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_CONTACT_EDITOR_CATEGORIES_TYPE))
|
||||
|
||||
|
||||
typedef struct _EContactEditorCategories EContactEditorCategories;
|
||||
typedef struct _EContactEditorCategoriesClass EContactEditorCategoriesClass;
|
||||
|
||||
struct _EContactEditorCategories
|
||||
{
|
||||
GnomeDialog parent;
|
||||
|
||||
/* item specific fields */
|
||||
char *categories;
|
||||
GtkWidget *entry;
|
||||
ETableModel *model;
|
||||
|
||||
int list_length;
|
||||
char **category_list;
|
||||
gboolean *selected_list;
|
||||
|
||||
GladeXML *gui;
|
||||
};
|
||||
|
||||
struct _EContactEditorCategoriesClass
|
||||
{
|
||||
GnomeDialogClass parent_class;
|
||||
};
|
||||
|
||||
|
||||
GtkWidget *e_contact_editor_categories_new(char *categories);
|
||||
GtkType e_contact_editor_categories_get_type (void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
#endif /* __E_CONTACT_EDITOR_CATEGORIES_H__ */
|
||||
@ -25,7 +25,6 @@
|
||||
#include "e-contact-editor.h"
|
||||
#include <e-contact-editor-fullname.h>
|
||||
#include <e-contact-editor-address.h>
|
||||
#include <e-contact-editor-categories.h>
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
#include <gdk-pixbuf/gnome-canvas-pixbuf.h>
|
||||
#include "e-util/e-gui-utils.h"
|
||||
@ -570,7 +569,7 @@ categories_clicked(GtkWidget *button, EContactEditor *editor)
|
||||
gtk_object_get(GTK_OBJECT(editor->card),
|
||||
"categories", &categories,
|
||||
NULL);
|
||||
dialog = GNOME_DIALOG(e_contact_editor_categories_new(categories));
|
||||
dialog = GNOME_DIALOG(e_categories_new(categories));
|
||||
gtk_widget_show(GTK_WIDGET(dialog));
|
||||
result = gnome_dialog_run (dialog);
|
||||
g_free (categories);
|
||||
|
||||
@ -314,14 +314,14 @@ fi
|
||||
dnl ******************************
|
||||
dnl Gnome App Lib checking
|
||||
dnl ******************************
|
||||
AC_MSG_CHECKING(for Gnome App libraries (GAL) >= 0.4)
|
||||
AC_MSG_CHECKING(for Gnome App libraries (GAL) >= 0.4.99.2)
|
||||
if gnome-config --libs gal > /dev/null 2>&1; then
|
||||
vers=`gnome-config --modversion gal | sed -e "s/gal-//" -e 's/cvs$//' -e 's/pre$//' | \
|
||||
awk 'BEGIN { FS = "."; } { print $1 * 1000000 + $2 * 10000 + $3 * 100 + $4;}'`
|
||||
if test "$vers" -ge 40000; then
|
||||
if test "$vers" -ge 49902; then
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
AC_MSG_ERROR(You need at least GNOME Application libs 0.4 for this version of Evolution)
|
||||
AC_MSG_ERROR(You need at least GNOME Application libs 0.4.99.2 for this version of Evolution)
|
||||
fi
|
||||
else
|
||||
AC_MSG_ERROR(Did not find GnomeAppLib (GAL) installed)
|
||||
|
||||
@ -1,13 +1,3 @@
|
||||
<!-- ##### FUNCTION cal_client_get_events_in_range ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@client:
|
||||
@start:
|
||||
@end:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_client_update_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
@ -18,6 +8,16 @@
|
||||
@pilot_id:
|
||||
@pilot_status:
|
||||
|
||||
<!-- ##### FUNCTION cal_client_get_events_in_range ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@client:
|
||||
@start:
|
||||
@end:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_client_get_uid_by_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@ -1,75 +1,14 @@
|
||||
<!-- ##### ENUM CalComponentAlarmTriggerRelated ##### -->
|
||||
<!-- ##### ENUM CalComponentAlarmAction ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATED_START:
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATED_END:
|
||||
|
||||
<!-- ##### FUNCTION cal_recur_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@r:
|
||||
|
||||
<!-- ##### ENUM CalRecurType ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_RECUR_YEARLY:
|
||||
@CAL_RECUR_MONTHLY:
|
||||
@CAL_RECUR_WEEKLY:
|
||||
@CAL_RECUR_DAILY:
|
||||
@CAL_RECUR_HOURLY:
|
||||
@CAL_RECUR_MINUTELY:
|
||||
@CAL_RECUR_SECONDLY:
|
||||
|
||||
<!-- ##### TYPEDEF CalComponentAlarmTrigger ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cal_component_get_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_id:
|
||||
|
||||
<!-- ##### FUNCTION get_time_t_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@t:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_alarm_free_trigger ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@trigger:
|
||||
|
||||
<!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../../../evolution-devel-guide.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
<!-- ##### FUNCTION time_day_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@t:
|
||||
@hour:
|
||||
@Returns:
|
||||
@CAL_COMPONENT_ALARM_NONE:
|
||||
@CAL_COMPONENT_ALARM_AUDIO:
|
||||
@CAL_COMPONENT_ALARM_DISPLAY:
|
||||
@CAL_COMPONENT_ALARM_EMAIL:
|
||||
@CAL_COMPONENT_ALARM_PROCEDURE:
|
||||
@CAL_COMPONENT_ALARM_UNKNOWN:
|
||||
|
||||
<!-- ##### FUNCTION time_from_isodate ##### -->
|
||||
<para>
|
||||
@ -87,6 +26,164 @@ End:
|
||||
@comp:
|
||||
@pilot_status:
|
||||
|
||||
<!-- ##### FUNCTION cal_recur_from_icalrecurrencetype ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@ir:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION get_time_t_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@t:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION time_from_start_duration ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@start:
|
||||
@duration:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### ENUM CalRecurType ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_RECUR_YEARLY:
|
||||
@CAL_RECUR_MONTHLY:
|
||||
@CAL_RECUR_WEEKLY:
|
||||
@CAL_RECUR_DAILY:
|
||||
@CAL_RECUR_HOURLY:
|
||||
@CAL_RECUR_MINUTELY:
|
||||
@CAL_RECUR_SECONDLY:
|
||||
|
||||
<!-- ##### FUNCTION parse_date ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@str:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_get_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_id:
|
||||
|
||||
<!-- ##### ENUM CalComponentAlarmTriggerRelated ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATED_START:
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATED_END:
|
||||
|
||||
<!-- ##### FUNCTION isodiff_to_secs ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@str:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_recur_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@r:
|
||||
|
||||
<!-- ##### FUNCTION time_from_icaltimetype ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@itt:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION time_day_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@t:
|
||||
@hour:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_get_first_alarm ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### STRUCT CalComponentPrivate ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION isodiff_from_secs ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@secs:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_alarm_free_trigger ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@trigger:
|
||||
<!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../../../evolution-devel-guide.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
<!-- ##### TYPEDEF CalRecurrence ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cal_alarm_instance_list_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@list:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_set_pilot_status ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_status:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_set_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_id:
|
||||
|
||||
<!-- ##### STRUCT CalObjTime ##### -->
|
||||
<para>
|
||||
|
||||
@ -99,63 +196,13 @@ End:
|
||||
@minute:
|
||||
@second:
|
||||
|
||||
<!-- ##### STRUCT CalComponentPrivate ##### -->
|
||||
<!-- ##### FUNCTION format_simple_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ENUM CalComponentAlarmTriggerType ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATIVE:
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE:
|
||||
|
||||
<!-- ##### FUNCTION cal_recur_from_icalrecurrencetype ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@ir:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_alarm_instance_list_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@list:
|
||||
|
||||
<!-- ##### FUNCTION isodiff_to_secs ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@str:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_get_first_alarm ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### TYPEDEF CalRecurrence ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION time_from_icaltimetype ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@itt:
|
||||
@hour:
|
||||
@use_am_pm:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_get_next_alarm ##### -->
|
||||
@ -166,65 +213,17 @@ End:
|
||||
@comp:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### ENUM CalComponentAlarmAction ##### -->
|
||||
<!-- ##### ENUM CalComponentAlarmTriggerType ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_COMPONENT_ALARM_NONE:
|
||||
@CAL_COMPONENT_ALARM_AUDIO:
|
||||
@CAL_COMPONENT_ALARM_DISPLAY:
|
||||
@CAL_COMPONENT_ALARM_EMAIL:
|
||||
@CAL_COMPONENT_ALARM_PROCEDURE:
|
||||
@CAL_COMPONENT_ALARM_UNKNOWN:
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATIVE:
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE:
|
||||
|
||||
<!-- ##### FUNCTION time_from_start_duration ##### -->
|
||||
<!-- ##### TYPEDEF CalComponentAlarmTrigger ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@start:
|
||||
@duration:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_set_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_id:
|
||||
|
||||
<!-- ##### FUNCTION isodiff_from_secs ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@secs:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION format_simple_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@hour:
|
||||
@use_am_pm:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_set_pilot_status ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_status:
|
||||
|
||||
<!-- ##### FUNCTION parse_date ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@str:
|
||||
@Returns:
|
||||
|
||||
|
||||
@ -1,13 +1,3 @@
|
||||
<!-- ##### FUNCTION cal_client_get_events_in_range ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@client:
|
||||
@start:
|
||||
@end:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_client_update_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
@ -18,6 +8,16 @@
|
||||
@pilot_id:
|
||||
@pilot_status:
|
||||
|
||||
<!-- ##### FUNCTION cal_client_get_events_in_range ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@client:
|
||||
@start:
|
||||
@end:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_client_get_uid_by_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@ -1,75 +1,14 @@
|
||||
<!-- ##### ENUM CalComponentAlarmTriggerRelated ##### -->
|
||||
<!-- ##### ENUM CalComponentAlarmAction ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATED_START:
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATED_END:
|
||||
|
||||
<!-- ##### FUNCTION cal_recur_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@r:
|
||||
|
||||
<!-- ##### ENUM CalRecurType ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_RECUR_YEARLY:
|
||||
@CAL_RECUR_MONTHLY:
|
||||
@CAL_RECUR_WEEKLY:
|
||||
@CAL_RECUR_DAILY:
|
||||
@CAL_RECUR_HOURLY:
|
||||
@CAL_RECUR_MINUTELY:
|
||||
@CAL_RECUR_SECONDLY:
|
||||
|
||||
<!-- ##### TYPEDEF CalComponentAlarmTrigger ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cal_component_get_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_id:
|
||||
|
||||
<!-- ##### FUNCTION get_time_t_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@t:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_alarm_free_trigger ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@trigger:
|
||||
|
||||
<!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../../../evolution-devel-guide.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
<!-- ##### FUNCTION time_day_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@t:
|
||||
@hour:
|
||||
@Returns:
|
||||
@CAL_COMPONENT_ALARM_NONE:
|
||||
@CAL_COMPONENT_ALARM_AUDIO:
|
||||
@CAL_COMPONENT_ALARM_DISPLAY:
|
||||
@CAL_COMPONENT_ALARM_EMAIL:
|
||||
@CAL_COMPONENT_ALARM_PROCEDURE:
|
||||
@CAL_COMPONENT_ALARM_UNKNOWN:
|
||||
|
||||
<!-- ##### FUNCTION time_from_isodate ##### -->
|
||||
<para>
|
||||
@ -87,6 +26,164 @@ End:
|
||||
@comp:
|
||||
@pilot_status:
|
||||
|
||||
<!-- ##### FUNCTION cal_recur_from_icalrecurrencetype ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@ir:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION get_time_t_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@t:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION time_from_start_duration ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@start:
|
||||
@duration:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### ENUM CalRecurType ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_RECUR_YEARLY:
|
||||
@CAL_RECUR_MONTHLY:
|
||||
@CAL_RECUR_WEEKLY:
|
||||
@CAL_RECUR_DAILY:
|
||||
@CAL_RECUR_HOURLY:
|
||||
@CAL_RECUR_MINUTELY:
|
||||
@CAL_RECUR_SECONDLY:
|
||||
|
||||
<!-- ##### FUNCTION parse_date ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@str:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_get_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_id:
|
||||
|
||||
<!-- ##### ENUM CalComponentAlarmTriggerRelated ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATED_START:
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATED_END:
|
||||
|
||||
<!-- ##### FUNCTION isodiff_to_secs ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@str:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_recur_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@r:
|
||||
|
||||
<!-- ##### FUNCTION time_from_icaltimetype ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@itt:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION time_day_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@t:
|
||||
@hour:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_get_first_alarm ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### STRUCT CalComponentPrivate ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION isodiff_from_secs ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@secs:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_alarm_free_trigger ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@trigger:
|
||||
<!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../../../evolution-devel-guide.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
<!-- ##### TYPEDEF CalRecurrence ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION cal_alarm_instance_list_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@list:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_set_pilot_status ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_status:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_set_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_id:
|
||||
|
||||
<!-- ##### STRUCT CalObjTime ##### -->
|
||||
<para>
|
||||
|
||||
@ -99,63 +196,13 @@ End:
|
||||
@minute:
|
||||
@second:
|
||||
|
||||
<!-- ##### STRUCT CalComponentPrivate ##### -->
|
||||
<!-- ##### FUNCTION format_simple_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ENUM CalComponentAlarmTriggerType ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATIVE:
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE:
|
||||
|
||||
<!-- ##### FUNCTION cal_recur_from_icalrecurrencetype ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@ir:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_alarm_instance_list_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@list:
|
||||
|
||||
<!-- ##### FUNCTION isodiff_to_secs ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@str:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_get_first_alarm ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### TYPEDEF CalRecurrence ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION time_from_icaltimetype ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@itt:
|
||||
@hour:
|
||||
@use_am_pm:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_get_next_alarm ##### -->
|
||||
@ -166,65 +213,17 @@ End:
|
||||
@comp:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### ENUM CalComponentAlarmAction ##### -->
|
||||
<!-- ##### ENUM CalComponentAlarmTriggerType ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@CAL_COMPONENT_ALARM_NONE:
|
||||
@CAL_COMPONENT_ALARM_AUDIO:
|
||||
@CAL_COMPONENT_ALARM_DISPLAY:
|
||||
@CAL_COMPONENT_ALARM_EMAIL:
|
||||
@CAL_COMPONENT_ALARM_PROCEDURE:
|
||||
@CAL_COMPONENT_ALARM_UNKNOWN:
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_RELATIVE:
|
||||
@CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE:
|
||||
|
||||
<!-- ##### FUNCTION time_from_start_duration ##### -->
|
||||
<!-- ##### TYPEDEF CalComponentAlarmTrigger ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@start:
|
||||
@duration:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_set_pilot_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_id:
|
||||
|
||||
<!-- ##### FUNCTION isodiff_from_secs ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@secs:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION format_simple_hour ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@hour:
|
||||
@use_am_pm:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION cal_component_set_pilot_status ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@comp:
|
||||
@pilot_status:
|
||||
|
||||
<!-- ##### FUNCTION parse_date ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@str:
|
||||
@Returns:
|
||||
|
||||
|
||||
@ -1,3 +1,7 @@
|
||||
2001-01-04 JP Rosevear <jpr@helixcode.com>
|
||||
|
||||
* POTFILES.in: Remove non-existent file
|
||||
|
||||
2001-01-03 Christian Rose <menthos@menthos.com>
|
||||
|
||||
* sv.po: Updated Swedish translation.
|
||||
|
||||
@ -6,7 +6,6 @@ addressbook/backend/ebook/test-client-list.c
|
||||
addressbook/backend/ebook/test-client.c
|
||||
addressbook/conduit/address-conduit-control-applet.c
|
||||
addressbook/conduit/address-conduit.c
|
||||
addressbook/contact-editor/categories-strings.h
|
||||
addressbook/contact-editor/e-contact-editor-confirm-delete.glade
|
||||
addressbook/contact-editor/e-contact-editor-strings.h
|
||||
addressbook/contact-editor/e-contact-editor.c
|
||||
|
||||
Reference in New Issue
Block a user