Remove unused files
I forgot to remove unused files from sources in the commit for GN-bug #572348
This commit is contained in:
@ -1,624 +0,0 @@
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) version 3.
|
||||
*
|
||||
* 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
* Chris Lahey <clahey@ximian.com>
|
||||
*
|
||||
* Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
|
||||
*
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <e-contact-editor-address.h>
|
||||
#include <e-util/e-util-private.h>
|
||||
|
||||
#include <glib/gi18n.h>
|
||||
#include <misc/e-gui-utils.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <locale.h>
|
||||
|
||||
static void e_contact_editor_address_init (EContactEditorAddress *card);
|
||||
static void e_contact_editor_address_class_init (EContactEditorAddressClass *klass);
|
||||
static void e_contact_editor_address_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
|
||||
static void e_contact_editor_address_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
|
||||
static void e_contact_editor_address_dispose (GObject *object);
|
||||
|
||||
static void fill_in_info(EContactEditorAddress *editor);
|
||||
static void extract_info(EContactEditorAddress *editor);
|
||||
|
||||
static GtkDialogClass *parent_class = NULL;
|
||||
|
||||
/* The arguments we take */
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_ADDRESS,
|
||||
PROP_EDITABLE
|
||||
};
|
||||
|
||||
GType
|
||||
e_contact_editor_address_get_type (void)
|
||||
{
|
||||
static GType contact_editor_address_type = 0;
|
||||
|
||||
if (!contact_editor_address_type) {
|
||||
static const GTypeInfo contact_editor_address_info = {
|
||||
sizeof (EContactEditorAddressClass),
|
||||
NULL, /* base_init */
|
||||
NULL, /* base_finalize */
|
||||
(GClassInitFunc) e_contact_editor_address_class_init,
|
||||
NULL, /* class_finalize */
|
||||
NULL, /* class_data */
|
||||
sizeof (EContactEditorAddress),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) e_contact_editor_address_init,
|
||||
};
|
||||
|
||||
contact_editor_address_type = g_type_register_static (GTK_TYPE_DIALOG, "EContactEditorAddress", &contact_editor_address_info, 0);
|
||||
}
|
||||
|
||||
return contact_editor_address_type;
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_address_class_init (EContactEditorAddressClass *klass)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
|
||||
object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
parent_class = g_type_class_ref (GTK_TYPE_DIALOG);
|
||||
|
||||
object_class->set_property = e_contact_editor_address_set_property;
|
||||
object_class->get_property = e_contact_editor_address_get_property;
|
||||
object_class->dispose = e_contact_editor_address_dispose;
|
||||
|
||||
g_object_class_install_property (object_class, PROP_ADDRESS,
|
||||
g_param_spec_boxed ("address",
|
||||
_("Address"),
|
||||
/*_( */"XXX blurb" /*)*/,
|
||||
e_contact_address_get_type (),
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_object_class_install_property (object_class, PROP_EDITABLE,
|
||||
g_param_spec_boolean ("editable",
|
||||
_("Editable"),
|
||||
/*_( */"XXX blurb" /*)*/,
|
||||
FALSE,
|
||||
G_PARAM_READWRITE));
|
||||
}
|
||||
|
||||
static GList *
|
||||
add_to_tab_order(GList *list, GladeXML *gui, char *name)
|
||||
{
|
||||
GtkWidget *widget = glade_xml_get_widget(gui, name);
|
||||
return g_list_prepend(list, widget);
|
||||
}
|
||||
|
||||
static void
|
||||
setup_tab_order(GladeXML *gui)
|
||||
{
|
||||
GtkWidget *container;
|
||||
GList *list = NULL;
|
||||
|
||||
container = glade_xml_get_widget(gui, "table-checkaddress");
|
||||
|
||||
if (container) {
|
||||
list = add_to_tab_order(list, gui, "entry-city");
|
||||
list = add_to_tab_order(list, gui, "entry-region");
|
||||
list = add_to_tab_order(list, gui, "entry-code");
|
||||
list = add_to_tab_order(list, gui, "combo-country");
|
||||
list = g_list_reverse(list);
|
||||
e_container_change_tab_order(GTK_CONTAINER(container), list);
|
||||
g_list_free(list);
|
||||
}
|
||||
}
|
||||
|
||||
static char * countries [] = {
|
||||
N_("United States"),
|
||||
N_("Afghanistan"),
|
||||
N_("Albania"),
|
||||
N_("Algeria"),
|
||||
N_("American Samoa"),
|
||||
N_("Andorra"),
|
||||
N_("Angola"),
|
||||
N_("Anguilla"),
|
||||
N_("Antarctica"),
|
||||
N_("Antigua And Barbuda"),
|
||||
N_("Argentina"),
|
||||
N_("Armenia"),
|
||||
N_("Aruba"),
|
||||
N_("Australia"),
|
||||
N_("Austria"),
|
||||
N_("Azerbaijan"),
|
||||
N_("Bahamas"),
|
||||
N_("Bahrain"),
|
||||
N_("Bangladesh"),
|
||||
N_("Barbados"),
|
||||
N_("Belarus"),
|
||||
N_("Belgium"),
|
||||
N_("Belize"),
|
||||
N_("Benin"),
|
||||
N_("Bermuda"),
|
||||
N_("Bhutan"),
|
||||
N_("Bolivia"),
|
||||
N_("Bosnia And Herzegowina"),
|
||||
N_("Botswana"),
|
||||
N_("Bouvet Island"),
|
||||
N_("Brazil"),
|
||||
N_("British Indian Ocean Territory"),
|
||||
N_("Brunei Darussalam"),
|
||||
N_("Bulgaria"),
|
||||
N_("Burkina Faso"),
|
||||
N_("Burundi"),
|
||||
N_("Cambodia"),
|
||||
N_("Cameroon"),
|
||||
N_("Canada"),
|
||||
N_("Cape Verde"),
|
||||
N_("Cayman Islands"),
|
||||
N_("Central African Republic"),
|
||||
N_("Chad"),
|
||||
N_("Chile"),
|
||||
N_("China"),
|
||||
N_("Christmas Island"),
|
||||
N_("Cocos (Keeling) Islands"),
|
||||
N_("Colombia"),
|
||||
N_("Comoros"),
|
||||
N_("Congo"),
|
||||
N_("Congo, The Democratic Republic Of The"),
|
||||
N_("Cook Islands"),
|
||||
N_("Costa Rica"),
|
||||
N_("Cote d'Ivoire"),
|
||||
N_("Croatia"),
|
||||
N_("Cuba"),
|
||||
N_("Cyprus"),
|
||||
N_("Czech Republic"),
|
||||
N_("Denmark"),
|
||||
N_("Djibouti"),
|
||||
N_("Dominica"),
|
||||
N_("Dominican Republic"),
|
||||
N_("Ecuador"),
|
||||
N_("Egypt"),
|
||||
N_("El Salvador"),
|
||||
N_("Equatorial Guinea"),
|
||||
N_("Eritrea"),
|
||||
N_("Estonia"),
|
||||
N_("Ethiopia"),
|
||||
N_("Falkland Islands"),
|
||||
N_("Faroe Islands"),
|
||||
N_("Fiji"),
|
||||
N_("Finland"),
|
||||
N_("France"),
|
||||
N_("French Guiana"),
|
||||
N_("French Polynesia"),
|
||||
N_("French Southern Territories"),
|
||||
N_("Gabon"),
|
||||
N_("Gambia"),
|
||||
N_("Georgia"),
|
||||
N_("Germany"),
|
||||
N_("Ghana"),
|
||||
N_("Gibraltar"),
|
||||
N_("Greece"),
|
||||
N_("Greenland"),
|
||||
N_("Grenada"),
|
||||
N_("Guadeloupe"),
|
||||
N_("Guam"),
|
||||
N_("Guatemala"),
|
||||
N_("Guernsey"),
|
||||
N_("Guinea"),
|
||||
N_("Guinea-Bissau"),
|
||||
N_("Guyana"),
|
||||
N_("Haiti"),
|
||||
N_("Heard And McDonald Islands"),
|
||||
N_("Holy See"),
|
||||
N_("Honduras"),
|
||||
N_("Hong Kong"),
|
||||
N_("Hungary"),
|
||||
N_("Iceland"),
|
||||
N_("India"),
|
||||
N_("Indonesia"),
|
||||
N_("Iran"),
|
||||
N_("Iraq"),
|
||||
N_("Ireland"),
|
||||
N_("Isle of Man"),
|
||||
N_("Israel"),
|
||||
N_("Italy"),
|
||||
N_("Jamaica"),
|
||||
N_("Japan"),
|
||||
N_("Jersey"),
|
||||
N_("Jordan"),
|
||||
N_("Kazakhstan"),
|
||||
N_("Kenya"),
|
||||
N_("Kiribati"),
|
||||
N_("Korea, Democratic People's Republic Of"),
|
||||
N_("Korea, Republic Of"),
|
||||
N_("Kuwait"),
|
||||
N_("Kyrgyzstan"),
|
||||
N_("Laos"),
|
||||
N_("Latvia"),
|
||||
N_("Lebanon"),
|
||||
N_("Lesotho"),
|
||||
N_("Liberia"),
|
||||
N_("Libya"),
|
||||
N_("Liechtenstein"),
|
||||
N_("Lithuania"),
|
||||
N_("Luxembourg"),
|
||||
N_("Macao"),
|
||||
N_("Macedonia"),
|
||||
N_("Madagascar"),
|
||||
N_("Malawi"),
|
||||
N_("Malaysia"),
|
||||
N_("Maldives"),
|
||||
N_("Mali"),
|
||||
N_("Malta"),
|
||||
N_("Marshall Islands"),
|
||||
N_("Martinique"),
|
||||
N_("Mauritania"),
|
||||
N_("Mauritius"),
|
||||
N_("Mayotte"),
|
||||
N_("Mexico"),
|
||||
N_("Micronesia"),
|
||||
N_("Moldova, Republic Of"),
|
||||
N_("Monaco"),
|
||||
N_("Mongolia"),
|
||||
N_("Montserrat"),
|
||||
N_("Morocco"),
|
||||
N_("Mozambique"),
|
||||
N_("Myanmar"),
|
||||
N_("Namibia"),
|
||||
N_("Nauru"),
|
||||
N_("Nepal"),
|
||||
N_("Netherlands"),
|
||||
N_("Netherlands Antilles"),
|
||||
N_("New Caledonia"),
|
||||
N_("New Zealand"),
|
||||
N_("Nicaragua"),
|
||||
N_("Niger"),
|
||||
N_("Nigeria"),
|
||||
N_("Niue"),
|
||||
N_("Norfolk Island"),
|
||||
N_("Northern Mariana Islands"),
|
||||
N_("Norway"),
|
||||
N_("Oman"),
|
||||
N_("Pakistan"),
|
||||
N_("Palau"),
|
||||
N_("Palestinian Territory"),
|
||||
N_("Panama"),
|
||||
N_("Papua New Guinea"),
|
||||
N_("Paraguay"),
|
||||
N_("Peru"),
|
||||
N_("Philippines"),
|
||||
N_("Pitcairn"),
|
||||
N_("Poland"),
|
||||
N_("Portugal"),
|
||||
N_("Puerto Rico"),
|
||||
N_("Qatar"),
|
||||
N_("Reunion"),
|
||||
N_("Romania"),
|
||||
N_("Russian Federation"),
|
||||
N_("Rwanda"),
|
||||
N_("Saint Kitts And Nevis"),
|
||||
N_("Saint Lucia"),
|
||||
N_("Saint Vincent And The Grenadines"),
|
||||
N_("Samoa"),
|
||||
N_("San Marino"),
|
||||
N_("Sao Tome And Principe"),
|
||||
N_("Saudi Arabia"),
|
||||
N_("Senegal"),
|
||||
N_("Serbia And Montenegro"),
|
||||
N_("Seychelles"),
|
||||
N_("Sierra Leone"),
|
||||
N_("Singapore"),
|
||||
N_("Slovakia"),
|
||||
N_("Slovenia"),
|
||||
N_("Solomon Islands"),
|
||||
N_("Somalia"),
|
||||
N_("South Africa"),
|
||||
N_("South Georgia And The South Sandwich Islands"),
|
||||
N_("Spain"),
|
||||
N_("Sri Lanka"),
|
||||
N_("St. Helena"),
|
||||
N_("St. Pierre And Miquelon"),
|
||||
N_("Sudan"),
|
||||
N_("Suriname"),
|
||||
N_("Svalbard And Jan Mayen Islands"),
|
||||
N_("Swaziland"),
|
||||
N_("Sweden"),
|
||||
N_("Switzerland"),
|
||||
N_("Syria"),
|
||||
N_("Taiwan"),
|
||||
N_("Tajikistan"),
|
||||
N_("Tanzania, United Republic Of"),
|
||||
N_("Thailand"),
|
||||
N_("Timor-Leste"),
|
||||
N_("Togo"),
|
||||
N_("Tokelau"),
|
||||
N_("Tonga"),
|
||||
N_("Trinidad And Tobago"),
|
||||
N_("Tunisia"),
|
||||
N_("Turkey"),
|
||||
N_("Turkmenistan"),
|
||||
N_("Turks And Caicos Islands"),
|
||||
N_("Tuvalu"),
|
||||
N_("Uganda"),
|
||||
N_("Ukraine"),
|
||||
N_("United Arab Emirates"),
|
||||
N_("United Kingdom"),
|
||||
N_("United States Minor Outlying Islands"),
|
||||
N_("Uruguay"),
|
||||
N_("Uzbekistan"),
|
||||
N_("Vanuatu"),
|
||||
N_("Venezuela"),
|
||||
N_("Viet Nam"),
|
||||
N_("Virgin Islands, British"),
|
||||
N_("Virgin Islands, U.S."),
|
||||
N_("Wallis And Futuna Islands"),
|
||||
N_("Western Sahara"),
|
||||
N_("Yemen"),
|
||||
N_("Zambia"),
|
||||
N_("Zimbabwe"),
|
||||
NULL
|
||||
};
|
||||
|
||||
static int
|
||||
compare_func (const void *voida, const void *voidb)
|
||||
{
|
||||
char * const *stringa = voida, * const *stringb = voidb;
|
||||
|
||||
return strcoll (*stringa, *stringb);
|
||||
}
|
||||
|
||||
static void
|
||||
fill_in_countries (GladeXML *gui)
|
||||
{
|
||||
GtkCombo *combo;
|
||||
combo = (GtkCombo *) glade_xml_get_widget(gui, "combo-country");
|
||||
if (combo && GTK_IS_COMBO (combo)) {
|
||||
static gboolean sorted = FALSE;
|
||||
static GList *country_list;
|
||||
if (!sorted) {
|
||||
int i;
|
||||
|
||||
for (i = 0; countries[i]; i++) {
|
||||
countries[i] = _(countries[i]);
|
||||
}
|
||||
|
||||
if (setlocale (LC_COLLATE, NULL) != NULL) {
|
||||
qsort (countries + 1, i - 1, sizeof (countries[0]), compare_func);
|
||||
country_list = NULL;
|
||||
for (i = 0; countries[i]; i++) {
|
||||
country_list = g_list_prepend (country_list, countries[i]);
|
||||
}
|
||||
country_list = g_list_reverse (country_list);
|
||||
sorted = TRUE;
|
||||
} else
|
||||
return;
|
||||
}
|
||||
gtk_combo_set_popdown_strings (combo, country_list);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_address_init (EContactEditorAddress *e_contact_editor_address)
|
||||
{
|
||||
GladeXML *gui;
|
||||
GtkWidget *widget;
|
||||
char *gladefile;
|
||||
|
||||
gtk_dialog_add_buttons (GTK_DIALOG (e_contact_editor_address),
|
||||
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||
GTK_STOCK_OK, GTK_RESPONSE_OK,
|
||||
NULL);
|
||||
|
||||
gtk_window_set_resizable(GTK_WINDOW(e_contact_editor_address), TRUE);
|
||||
|
||||
e_contact_editor_address->address = NULL;
|
||||
|
||||
gladefile = g_build_filename (EVOLUTION_GLADEDIR,
|
||||
"fulladdr.glade",
|
||||
NULL);
|
||||
gui = glade_xml_new (gladefile, NULL, NULL);
|
||||
g_free (gladefile);
|
||||
|
||||
e_contact_editor_address->gui = gui;
|
||||
|
||||
setup_tab_order (gui);
|
||||
fill_in_countries (gui);
|
||||
|
||||
widget = glade_xml_get_widget(gui, "dialog-checkaddress");
|
||||
gtk_window_set_title (GTK_WINDOW (e_contact_editor_address),
|
||||
GTK_WINDOW (widget)->title);
|
||||
|
||||
widget = glade_xml_get_widget(gui, "table-checkaddress");
|
||||
g_object_ref(widget);
|
||||
gtk_container_remove(GTK_CONTAINER(widget->parent), widget);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (e_contact_editor_address)->vbox), widget, TRUE, TRUE, 0);
|
||||
g_object_unref(widget);
|
||||
|
||||
gtk_window_set_icon_name (
|
||||
GTK_WINDOW (e_contact_editor_address), "contact-new");
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_address_dispose (GObject *object)
|
||||
{
|
||||
EContactEditorAddress *e_contact_editor_address = E_CONTACT_EDITOR_ADDRESS(object);
|
||||
|
||||
if (e_contact_editor_address->gui) {
|
||||
g_object_unref(e_contact_editor_address->gui);
|
||||
e_contact_editor_address->gui = NULL;
|
||||
}
|
||||
|
||||
if (e_contact_editor_address->address) {
|
||||
e_contact_address_free (e_contact_editor_address->address);
|
||||
e_contact_editor_address->address = NULL;
|
||||
}
|
||||
|
||||
if (G_OBJECT_CLASS (parent_class)->dispose)
|
||||
(* G_OBJECT_CLASS (parent_class)->dispose) (object);
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
e_contact_editor_address_new (const EContactAddress *address)
|
||||
{
|
||||
GtkWidget *widget = g_object_new (E_TYPE_CONTACT_EDITOR_ADDRESS, NULL);
|
||||
|
||||
g_object_set (widget,
|
||||
"address", address,
|
||||
NULL);
|
||||
|
||||
return widget;
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_address_set_property (GObject *object, guint prop_id,
|
||||
const GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
EContactEditorAddress *e_contact_editor_address;
|
||||
|
||||
e_contact_editor_address = E_CONTACT_EDITOR_ADDRESS (object);
|
||||
|
||||
switch (prop_id){
|
||||
case PROP_ADDRESS:
|
||||
if (e_contact_editor_address->address)
|
||||
g_boxed_free (e_contact_address_get_type (), e_contact_editor_address->address);
|
||||
|
||||
e_contact_editor_address->address = g_value_dup_boxed (value);
|
||||
fill_in_info (e_contact_editor_address);
|
||||
break;
|
||||
case PROP_EDITABLE: {
|
||||
int i;
|
||||
char *widget_names[] = {
|
||||
"entry-street",
|
||||
"entry-city",
|
||||
"entry-ext",
|
||||
"entry-po",
|
||||
"entry-region",
|
||||
"combo-country",
|
||||
"entry-code",
|
||||
"label-street",
|
||||
"label-city",
|
||||
"label-ext",
|
||||
"label-po",
|
||||
"label-region",
|
||||
"label-country",
|
||||
"label-code",
|
||||
NULL
|
||||
};
|
||||
e_contact_editor_address->editable = g_value_get_boolean (value) ? TRUE : FALSE;
|
||||
for (i = 0; widget_names[i] != NULL; i ++) {
|
||||
GtkWidget *w = glade_xml_get_widget(e_contact_editor_address->gui, widget_names[i]);
|
||||
if (GTK_IS_ENTRY (w)) {
|
||||
gtk_editable_set_editable (GTK_EDITABLE (w),
|
||||
e_contact_editor_address->editable);
|
||||
}
|
||||
else if (GTK_IS_COMBO (w)) {
|
||||
gtk_editable_set_editable (GTK_EDITABLE (GTK_COMBO (w)->entry),
|
||||
e_contact_editor_address->editable);
|
||||
gtk_widget_set_sensitive (GTK_COMBO (w)->button, e_contact_editor_address->editable);
|
||||
}
|
||||
else if (GTK_IS_LABEL (w)) {
|
||||
gtk_widget_set_sensitive (w, e_contact_editor_address->editable);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_address_get_property (GObject *object, guint prop_id,
|
||||
GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
EContactEditorAddress *e_contact_editor_address;
|
||||
|
||||
e_contact_editor_address = E_CONTACT_EDITOR_ADDRESS (object);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_ADDRESS:
|
||||
extract_info (e_contact_editor_address);
|
||||
g_value_set_static_boxed (value, e_contact_editor_address->address);
|
||||
break;
|
||||
case PROP_EDITABLE:
|
||||
g_value_set_boolean (value, e_contact_editor_address->editable ? TRUE : FALSE);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
fill_in_field(EContactEditorAddress *editor, char *field, char *string)
|
||||
{
|
||||
GtkEntry *entry = GTK_ENTRY(glade_xml_get_widget(editor->gui, field));
|
||||
if (entry) {
|
||||
if (string)
|
||||
gtk_entry_set_text(entry, string);
|
||||
else
|
||||
gtk_entry_set_text(entry, "");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
fill_in_info(EContactEditorAddress *editor)
|
||||
{
|
||||
EContactAddress *address = editor->address;
|
||||
|
||||
if (address) {
|
||||
fill_in_field (editor, "entry-street" , address->street );
|
||||
fill_in_field (editor, "entry-po" , address->po );
|
||||
fill_in_field (editor, "entry-ext" , address->ext );
|
||||
fill_in_field (editor, "entry-city" , address->locality);
|
||||
fill_in_field (editor, "entry-region" , address->region );
|
||||
fill_in_field (editor, "entry-code" , address->code );
|
||||
fill_in_field (editor, "entry-country", address->country );
|
||||
}
|
||||
}
|
||||
|
||||
static char *
|
||||
extract_field(EContactEditorAddress *editor, char *field)
|
||||
{
|
||||
GtkEntry *entry = GTK_ENTRY(glade_xml_get_widget(editor->gui, field));
|
||||
if (entry)
|
||||
return g_strdup (gtk_entry_get_text(entry));
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
extract_info(EContactEditorAddress *editor)
|
||||
{
|
||||
EContactAddress *address = editor->address;
|
||||
|
||||
if (address) {
|
||||
g_boxed_free (e_contact_address_get_type (), address);
|
||||
}
|
||||
|
||||
address = g_new0 (EContactAddress, 1);
|
||||
editor->address = address;
|
||||
|
||||
address->street = extract_field(editor, "entry-street" );
|
||||
address->po = extract_field(editor, "entry-po" );
|
||||
address->ext = extract_field(editor, "entry-ext" );
|
||||
address->locality = extract_field(editor, "entry-city" );
|
||||
address->region = extract_field(editor, "entry-region" );
|
||||
address->code = extract_field(editor, "entry-code" );
|
||||
address->country = extract_field(editor, "entry-country");
|
||||
}
|
||||
@ -1,74 +0,0 @@
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) version 3.
|
||||
*
|
||||
* 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
* Chris Lahey <clahey@ximian.com>
|
||||
*
|
||||
* Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __E_CONTACT_EDITOR_ADDRESS_H__
|
||||
#define __E_CONTACT_EDITOR_ADDRESS_H__
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <glade/glade.h>
|
||||
#include <libebook/e-contact.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/* EContactEditorAddress - A dialog displaying information about a contact.
|
||||
*
|
||||
* The following arguments are available:
|
||||
*
|
||||
* name type read/write description
|
||||
* --------------------------------------------------------------------------------
|
||||
* name ECardName * RW The card currently being edited. Returns a copy.
|
||||
*/
|
||||
|
||||
#define E_TYPE_CONTACT_EDITOR_ADDRESS (e_contact_editor_address_get_type ())
|
||||
#define E_CONTACT_EDITOR_ADDRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_CONTACT_EDITOR_ADDRESS, EContactEditorAddress))
|
||||
#define E_CONTACT_EDITOR_ADDRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_CONTACT_EDITOR_ADDRESS, EContactEditorAddressClass))
|
||||
#define E_IS_CONTACT_EDITOR_ADDRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_CONTACT_EDITOR_ADDRESS))
|
||||
#define E_IS_CONTACT_EDITOR_ADDRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_TYPE_CONTACT_EDITOR_ADDRESS))
|
||||
|
||||
|
||||
typedef struct _EContactEditorAddress EContactEditorAddress;
|
||||
typedef struct _EContactEditorAddressClass EContactEditorAddressClass;
|
||||
|
||||
struct _EContactEditorAddress
|
||||
{
|
||||
GtkDialog parent;
|
||||
|
||||
/* item specific fields */
|
||||
EContactAddress *address;
|
||||
|
||||
guint editable : 1;
|
||||
|
||||
GladeXML *gui;
|
||||
};
|
||||
|
||||
struct _EContactEditorAddressClass
|
||||
{
|
||||
GtkDialogClass parent_class;
|
||||
};
|
||||
|
||||
|
||||
GtkWidget *e_contact_editor_address_new (const EContactAddress *address);
|
||||
GType e_contact_editor_address_get_type (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __E_CONTACT_EDITOR_ADDRESS_H__ */
|
||||
@ -1,513 +0,0 @@
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) version 3.
|
||||
*
|
||||
* 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
* Christian Hammond <chipx86@gnupdate.org>
|
||||
*
|
||||
* Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
|
||||
*
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include "e-contact-editor-im.h"
|
||||
#include <glib/gi18n.h>
|
||||
#include <string.h>
|
||||
#include <e-util/e-util-private.h>
|
||||
|
||||
static void e_contact_editor_im_init (EContactEditorIm *card);
|
||||
static void e_contact_editor_im_class_init (EContactEditorImClass *klass);
|
||||
static void e_contact_editor_im_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
|
||||
static void e_contact_editor_im_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
|
||||
static void e_contact_editor_im_dispose (GObject *object);
|
||||
|
||||
static void fill_in_info(EContactEditorIm *editor);
|
||||
static void extract_info(EContactEditorIm *editor);
|
||||
|
||||
static GtkDialogClass *parent_class = NULL;
|
||||
|
||||
/* The arguments we take */
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_SERVICE,
|
||||
PROP_LOCATION,
|
||||
PROP_USERNAME,
|
||||
PROP_EDITABLE
|
||||
};
|
||||
|
||||
/*#define FIRST_IM_TYPE E_CONTACT_IM_AIM
|
||||
#define LAST_IM_TYPE E_CONTACT_IM_ICQ*/
|
||||
|
||||
static const char *im_labels[] = {
|
||||
N_("AOL Instant Messenger"),
|
||||
N_("Novell GroupWise"),
|
||||
N_("Jabber"),
|
||||
N_("Yahoo Messenger"),
|
||||
N_("Gadu-Gadu Messenger"),
|
||||
N_("MSN Messenger"),
|
||||
N_("ICQ"),
|
||||
N_("Skype")
|
||||
};
|
||||
|
||||
static const char *im_images[] = {
|
||||
"im-aim",
|
||||
"im-nov",
|
||||
"im-jabber",
|
||||
"im-yahoo",
|
||||
"im-gadugadu",
|
||||
"im-msn",
|
||||
"im-icq",
|
||||
"stock_people"
|
||||
};
|
||||
|
||||
/**
|
||||
* Decodes from service (E_CONTACT_IM_ value to the index in the above
|
||||
* fields and back, depending on the second parameter.
|
||||
* @param val Value to decode
|
||||
* @param val_is_service TRUE, if val is E_CONTACT_IM_ value, otherwise it's an index number.
|
||||
**/
|
||||
static int
|
||||
decode_service (int val, gboolean val_is_service)
|
||||
{
|
||||
static const int fields[] = {
|
||||
E_CONTACT_IM_AIM,
|
||||
E_CONTACT_IM_GROUPWISE,
|
||||
E_CONTACT_IM_JABBER,
|
||||
E_CONTACT_IM_YAHOO,
|
||||
E_CONTACT_IM_GADUGADU,
|
||||
E_CONTACT_IM_MSN,
|
||||
E_CONTACT_IM_ICQ,
|
||||
E_CONTACT_IM_SKYPE
|
||||
};
|
||||
|
||||
int i, sz = G_N_ELEMENTS (fields);
|
||||
if (val_is_service) {
|
||||
for (i = 0; i < sz; i++) {
|
||||
if (val == fields[i])
|
||||
break;
|
||||
}
|
||||
if (i >= sz)
|
||||
i = 0;
|
||||
} else if (val >= 0 && val < sz) {
|
||||
i = fields [val];
|
||||
} else {
|
||||
i = fields [0];
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
GType
|
||||
e_contact_editor_im_get_type (void)
|
||||
{
|
||||
static GType contact_editor_im_type = 0;
|
||||
|
||||
if (!contact_editor_im_type) {
|
||||
static const GTypeInfo contact_editor_im_info = {
|
||||
sizeof (EContactEditorImClass),
|
||||
NULL, /* base_init */
|
||||
NULL, /* base_finalize */
|
||||
(GClassInitFunc) e_contact_editor_im_class_init,
|
||||
NULL, /* class_finalize */
|
||||
NULL, /* class_data */
|
||||
sizeof (EContactEditorIm),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) e_contact_editor_im_init,
|
||||
};
|
||||
|
||||
contact_editor_im_type = g_type_register_static (GTK_TYPE_DIALOG, "EContactEditorIm", &contact_editor_im_info, 0);
|
||||
}
|
||||
|
||||
return contact_editor_im_type;
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_im_class_init (EContactEditorImClass *klass)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
|
||||
object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
parent_class = g_type_class_ref (GTK_TYPE_DIALOG);
|
||||
|
||||
object_class->set_property = e_contact_editor_im_set_property;
|
||||
object_class->get_property = e_contact_editor_im_get_property;
|
||||
object_class->dispose = e_contact_editor_im_dispose;
|
||||
|
||||
g_object_class_install_property (object_class, PROP_SERVICE,
|
||||
g_param_spec_int ("service",
|
||||
_("Service"),
|
||||
/*_( */"XXX blurb" /*)*/,
|
||||
E_CONTACT_IM_AIM,
|
||||
E_CONTACT_IM_SKYPE,
|
||||
E_CONTACT_IM_AIM,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_object_class_install_property (object_class, PROP_LOCATION,
|
||||
g_param_spec_string ("location",
|
||||
_("Location"),
|
||||
/*_( */"XXX blurb" /*)*/,
|
||||
"HOME",
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_object_class_install_property (object_class, PROP_USERNAME,
|
||||
g_param_spec_string ("username",
|
||||
_("Username"),
|
||||
/*_( */"XXX blurb" /*)*/,
|
||||
NULL,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_object_class_install_property (object_class, PROP_EDITABLE,
|
||||
g_param_spec_boolean ("editable",
|
||||
_("Editable"),
|
||||
/*_( */"XXX blurb" /*)*/,
|
||||
FALSE,
|
||||
G_PARAM_READWRITE));
|
||||
}
|
||||
|
||||
static void
|
||||
service_changed_cb(GtkWidget *optmenu, EContactEditorIm *editor)
|
||||
{
|
||||
editor->service = decode_service (gtk_option_menu_get_history(GTK_OPTION_MENU(optmenu)), FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
location_changed_cb(GtkWidget *optmenu, EContactEditorIm *editor)
|
||||
{
|
||||
int i = gtk_option_menu_get_history(GTK_OPTION_MENU(optmenu));
|
||||
|
||||
if (editor->location != NULL)
|
||||
g_free(editor->location);
|
||||
|
||||
if (i == 0)
|
||||
editor->location = g_strdup("HOME");
|
||||
else if (i == 1)
|
||||
editor->location = g_strdup("WORK");
|
||||
else
|
||||
editor->location = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
setup_service_optmenu(EContactEditorIm *editor)
|
||||
{
|
||||
GtkWidget *optmenu;
|
||||
GtkWidget *menu;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *item;
|
||||
GtkWidget *label;
|
||||
GtkWidget *image;
|
||||
GtkSizeGroup *sg;
|
||||
int i;
|
||||
|
||||
optmenu = glade_xml_get_widget(editor->gui, "optmenu-service");
|
||||
g_signal_connect(G_OBJECT(optmenu), "changed",
|
||||
G_CALLBACK(service_changed_cb), editor);
|
||||
|
||||
menu = gtk_menu_new();
|
||||
gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu);
|
||||
gtk_widget_show(menu);
|
||||
|
||||
sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
|
||||
|
||||
for (i = 0; i < G_N_ELEMENTS(im_labels); i++) {
|
||||
item = gtk_menu_item_new();
|
||||
|
||||
hbox = gtk_hbox_new(FALSE, 4);
|
||||
gtk_container_add(GTK_CONTAINER(item), hbox);
|
||||
gtk_widget_show(hbox);
|
||||
|
||||
image = gtk_image_new_from_icon_name (
|
||||
im_images[i], GTK_ICON_SIZE_MENU);
|
||||
|
||||
gtk_size_group_add_widget(sg, image);
|
||||
|
||||
gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0);
|
||||
gtk_widget_show(image);
|
||||
|
||||
label = gtk_label_new(im_labels[i]);
|
||||
gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
|
||||
gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
|
||||
gtk_widget_show(label);
|
||||
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
|
||||
gtk_widget_show(item);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
setup_location_optmenu(EContactEditorIm *editor)
|
||||
{
|
||||
GtkWidget *item;
|
||||
GtkWidget *optmenu;
|
||||
GtkWidget *menu;
|
||||
|
||||
optmenu = glade_xml_get_widget(editor->gui, "optmenu-location");
|
||||
|
||||
g_signal_connect(G_OBJECT(optmenu), "changed",
|
||||
G_CALLBACK(location_changed_cb), editor);
|
||||
|
||||
menu = gtk_menu_new();
|
||||
gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu);
|
||||
gtk_widget_show(menu);
|
||||
|
||||
item = gtk_menu_item_new_with_label(_("Home"));
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
|
||||
gtk_widget_show(item);
|
||||
|
||||
item = gtk_menu_item_new_with_label(_("Work"));
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
|
||||
gtk_widget_show(item);
|
||||
|
||||
item = gtk_menu_item_new_with_label(_("Other"));
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
|
||||
gtk_widget_show(item);
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_im_init (EContactEditorIm *e_contact_editor_im)
|
||||
{
|
||||
GladeXML *gui;
|
||||
GtkWidget *widget;
|
||||
char *gladefile;
|
||||
|
||||
gtk_dialog_add_buttons (GTK_DIALOG (e_contact_editor_im),
|
||||
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||
GTK_STOCK_OK, GTK_RESPONSE_OK,
|
||||
NULL);
|
||||
gtk_dialog_set_has_separator (GTK_DIALOG (e_contact_editor_im), FALSE);
|
||||
|
||||
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (e_contact_editor_im)->action_area), 12);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (e_contact_editor_im)->vbox), 0);
|
||||
|
||||
gtk_window_set_resizable(GTK_WINDOW(e_contact_editor_im), TRUE);
|
||||
|
||||
e_contact_editor_im->service = decode_service (0, FALSE);
|
||||
e_contact_editor_im->location = g_strdup("HOME");
|
||||
e_contact_editor_im->username = NULL;
|
||||
|
||||
gladefile = g_build_filename (EVOLUTION_GLADEDIR, "im.glade", NULL);
|
||||
gui = glade_xml_new (gladefile, NULL, NULL);
|
||||
g_free (gladefile);
|
||||
|
||||
e_contact_editor_im->gui = gui;
|
||||
|
||||
widget = glade_xml_get_widget(gui, "dialog-im");
|
||||
gtk_window_set_title (GTK_WINDOW (e_contact_editor_im),
|
||||
GTK_WINDOW (widget)->title);
|
||||
|
||||
widget = glade_xml_get_widget(gui, "table-im");
|
||||
g_object_ref(widget);
|
||||
gtk_container_remove(GTK_CONTAINER(widget->parent), widget);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (e_contact_editor_im)->vbox), widget, TRUE, TRUE, 0);
|
||||
g_object_unref(widget);
|
||||
|
||||
setup_service_optmenu(e_contact_editor_im);
|
||||
setup_location_optmenu(e_contact_editor_im);
|
||||
|
||||
gtk_widget_grab_focus(glade_xml_get_widget(gui, "entry-username"));
|
||||
|
||||
gtk_window_set_icon_name (
|
||||
GTK_WINDOW (e_contact_editor_im), "contact-new");
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_im_dispose (GObject *object)
|
||||
{
|
||||
EContactEditorIm *e_contact_editor_im = E_CONTACT_EDITOR_IM(object);
|
||||
|
||||
if (e_contact_editor_im->gui) {
|
||||
g_object_unref(e_contact_editor_im->gui);
|
||||
e_contact_editor_im->gui = NULL;
|
||||
}
|
||||
|
||||
if (e_contact_editor_im->location) {
|
||||
g_free(e_contact_editor_im->location);
|
||||
e_contact_editor_im->location = NULL;
|
||||
}
|
||||
|
||||
if (e_contact_editor_im->username) {
|
||||
g_free(e_contact_editor_im->username);
|
||||
e_contact_editor_im->username = NULL;
|
||||
}
|
||||
|
||||
if (G_OBJECT_CLASS (parent_class)->dispose)
|
||||
(* G_OBJECT_CLASS (parent_class)->dispose) (object);
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
e_contact_editor_im_new (EContactField service, const char *location, const char *username)
|
||||
{
|
||||
GtkWidget *widget = g_object_new (E_TYPE_CONTACT_EDITOR_IM, NULL);
|
||||
g_object_set (widget,
|
||||
"service", GINT_TO_POINTER(service),
|
||||
"location", location,
|
||||
"username", username,
|
||||
NULL);
|
||||
return widget;
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_im_set_property (GObject *object, guint prop_id,
|
||||
const GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
EContactEditorIm *e_contact_editor_im;
|
||||
const char *str;
|
||||
|
||||
e_contact_editor_im = E_CONTACT_EDITOR_IM (object);
|
||||
|
||||
switch (prop_id){
|
||||
case PROP_SERVICE:
|
||||
e_contact_editor_im->service = g_value_get_int(value);
|
||||
fill_in_info(e_contact_editor_im);
|
||||
break;
|
||||
|
||||
case PROP_LOCATION:
|
||||
if (e_contact_editor_im->location != NULL)
|
||||
g_free(e_contact_editor_im->location);
|
||||
|
||||
str = g_value_get_string(value);
|
||||
|
||||
if (str == NULL)
|
||||
e_contact_editor_im->location = NULL;
|
||||
else if (!g_ascii_strcasecmp(str, "HOME"))
|
||||
e_contact_editor_im->location = g_strdup("HOME");
|
||||
else if (!g_ascii_strcasecmp(str, "WORK"))
|
||||
e_contact_editor_im->location = g_strdup("WORK");
|
||||
else
|
||||
e_contact_editor_im->location = NULL;
|
||||
|
||||
fill_in_info(e_contact_editor_im);
|
||||
break;
|
||||
|
||||
case PROP_USERNAME:
|
||||
if (e_contact_editor_im->username != NULL)
|
||||
g_free(e_contact_editor_im->username);
|
||||
|
||||
e_contact_editor_im->username = g_strdup(g_value_get_string(value));
|
||||
fill_in_info(e_contact_editor_im);
|
||||
break;
|
||||
|
||||
case PROP_EDITABLE: {
|
||||
int i;
|
||||
char *widget_names[] = {
|
||||
"optmenu-service",
|
||||
"optmenu-location",
|
||||
"entry-username",
|
||||
"label-service",
|
||||
"label-location",
|
||||
"label-username",
|
||||
NULL
|
||||
};
|
||||
e_contact_editor_im->editable = g_value_get_boolean (value) ? TRUE : FALSE;
|
||||
for (i = 0; widget_names[i] != NULL; i ++) {
|
||||
GtkWidget *w = glade_xml_get_widget(e_contact_editor_im->gui, widget_names[i]);
|
||||
if (GTK_IS_ENTRY (w)) {
|
||||
gtk_editable_set_editable (GTK_EDITABLE (w),
|
||||
e_contact_editor_im->editable);
|
||||
}
|
||||
else {
|
||||
gtk_widget_set_sensitive (w, e_contact_editor_im->editable);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_editor_im_get_property (GObject *object, guint prop_id,
|
||||
GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
EContactEditorIm *e_contact_editor_im;
|
||||
|
||||
e_contact_editor_im = E_CONTACT_EDITOR_IM (object);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_SERVICE:
|
||||
g_value_set_int (value, e_contact_editor_im->service);
|
||||
break;
|
||||
case PROP_LOCATION:
|
||||
g_value_set_string (value, e_contact_editor_im->location);
|
||||
break;
|
||||
case PROP_USERNAME:
|
||||
extract_info(e_contact_editor_im);
|
||||
g_value_set_string (value, e_contact_editor_im->username);
|
||||
break;
|
||||
case PROP_EDITABLE:
|
||||
g_value_set_boolean (value, e_contact_editor_im->editable ? TRUE : FALSE);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
fill_in_field(EContactEditorIm *editor, char *field, char *string)
|
||||
{
|
||||
GtkEntry *entry = GTK_ENTRY(glade_xml_get_widget(editor->gui, field));
|
||||
if (entry) {
|
||||
if (string)
|
||||
gtk_entry_set_text(entry, string);
|
||||
else
|
||||
gtk_entry_set_text(entry, "");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
fill_in_info(EContactEditorIm *editor)
|
||||
{
|
||||
GtkWidget *optmenu;
|
||||
|
||||
fill_in_field(editor, "entry-username", editor->username);
|
||||
|
||||
optmenu = glade_xml_get_widget(editor->gui, "optmenu-service");
|
||||
|
||||
if (optmenu != NULL)
|
||||
gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), decode_service (editor->service, TRUE));
|
||||
|
||||
optmenu = glade_xml_get_widget(editor->gui, "optmenu-location");
|
||||
|
||||
if (optmenu != NULL)
|
||||
gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu),
|
||||
(editor->location == NULL ? 2 :
|
||||
!strcmp(editor->location, "WORK") ? 1 : 0));
|
||||
}
|
||||
|
||||
static char *
|
||||
extract_field(EContactEditorIm *editor, char *field)
|
||||
{
|
||||
GtkEntry *entry = GTK_ENTRY(glade_xml_get_widget(editor->gui, field));
|
||||
if (entry)
|
||||
return g_strdup (gtk_entry_get_text(entry));
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
extract_info(EContactEditorIm *editor)
|
||||
{
|
||||
if (editor->username != NULL)
|
||||
g_free(editor->username);
|
||||
|
||||
editor->username = extract_field(editor, "entry-username");
|
||||
|
||||
/*
|
||||
* NOTE: We don't need to handle the option menus.
|
||||
* These are set by the callbacks.
|
||||
*/
|
||||
}
|
||||
@ -1,79 +0,0 @@
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) version 3.
|
||||
*
|
||||
* 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
* Christian Hammond <chipx86@gnupdate.org>
|
||||
*
|
||||
* Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __E_CONTACT_EDITOR_IM_H__
|
||||
#define __E_CONTACT_EDITOR_IM_H__
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <glade/glade.h>
|
||||
#include <libebook/e-contact.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/* EContactEditorIm - A dialog allowing the user to add an IM account to a contact.
|
||||
*
|
||||
* The following arguments are available:
|
||||
*
|
||||
* name type read/write description
|
||||
* --------------------------------------------------------------------------------
|
||||
* service EContactField RW The field of the IM service.
|
||||
* location char * RW The location type.
|
||||
* username char * RW The username of the account.
|
||||
*/
|
||||
|
||||
#define E_TYPE_CONTACT_EDITOR_IM (e_contact_editor_im_get_type ())
|
||||
#define E_CONTACT_EDITOR_IM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_CONTACT_EDITOR_IM, EContactEditorIm))
|
||||
#define E_CONTACT_EDITOR_IM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_CONTACT_EDITOR_IM, EContactEditorImClass))
|
||||
#define E_IS_CONTACT_EDITOR_IM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_CONTACT_EDITOR_IM))
|
||||
#define E_IS_CONTACT_EDITOR_IM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_TYPE_CONTACT_EDITOR_IM))
|
||||
|
||||
|
||||
typedef struct _EContactEditorIm EContactEditorIm;
|
||||
typedef struct _EContactEditorImClass EContactEditorImClass;
|
||||
|
||||
struct _EContactEditorIm
|
||||
{
|
||||
GtkDialog parent;
|
||||
|
||||
/* item specific fields */
|
||||
EContactField service;
|
||||
char *location;
|
||||
char *username;
|
||||
GladeXML *gui;
|
||||
|
||||
/* Whether the dialog will accept modifications */
|
||||
guint editable : 1;
|
||||
};
|
||||
|
||||
struct _EContactEditorImClass
|
||||
{
|
||||
GtkDialogClass parent_class;
|
||||
};
|
||||
|
||||
|
||||
GtkWidget *e_contact_editor_im_new(EContactField service, const char *location, const char *username);
|
||||
GType e_contact_editor_im_get_type (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __E_CONTACT_EDITOR_IM_H__ */
|
||||
|
||||
@ -1,446 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
||||
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
|
||||
|
||||
<glade-interface>
|
||||
|
||||
<widget class="GtkDialog" id="dialog-checkaddress">
|
||||
<property name="title" translatable="yes">Full Address</property>
|
||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||
<property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
|
||||
<property name="modal">True</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="has_separator">True</property>
|
||||
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="vbox-container">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">8</property>
|
||||
|
||||
<child internal-child="action_area">
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="has_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-ok</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-cancel</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkTable" id="table-checkaddress">
|
||||
<property name="border_width">6</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">4</property>
|
||||
<property name="n_columns">4</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="row_spacing">6</property>
|
||||
<property name="column_spacing">6</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label-street">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_Address:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="mnemonic_widget">entry-street</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label-city">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Ci_ty:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="mnemonic_widget">entry-city</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkEntry" id="entry-city">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="editable">True</property>
|
||||
<property name="visibility">True</property>
|
||||
<property name="max_length">0</property>
|
||||
<property name="text" translatable="yes"></property>
|
||||
<property name="has_frame">True</property>
|
||||
<property name="invisible_char">*</property>
|
||||
<property name="activates_default">False</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkEntry" id="entry-ext">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="editable">True</property>
|
||||
<property name="visibility">True</property>
|
||||
<property name="max_length">0</property>
|
||||
<property name="text" translatable="yes"></property>
|
||||
<property name="has_frame">True</property>
|
||||
<property name="invisible_char">*</property>
|
||||
<property name="activates_default">False</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label-po">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_PO Box:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="mnemonic_widget">entry-po</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label-ext">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Address _2:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="mnemonic_widget">entry-ext</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkEntry" id="entry-po">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="editable">True</property>
|
||||
<property name="visibility">True</property>
|
||||
<property name="max_length">0</property>
|
||||
<property name="text" translatable="yes"></property>
|
||||
<property name="has_frame">True</property>
|
||||
<property name="invisible_char">*</property>
|
||||
<property name="activates_default">False</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
<property name="right_attach">4</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkEntry" id="entry-street">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="has_focus">True</property>
|
||||
<property name="editable">True</property>
|
||||
<property name="visibility">True</property>
|
||||
<property name="max_length">0</property>
|
||||
<property name="text" translatable="yes"></property>
|
||||
<property name="has_frame">True</property>
|
||||
<property name="invisible_char">*</property>
|
||||
<property name="activates_default">False</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">4</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label-region">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_State/Province:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="mnemonic_widget">entry-region</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="bottom_attach">4</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkEntry" id="entry-region">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="editable">True</property>
|
||||
<property name="visibility">True</property>
|
||||
<property name="max_length">0</property>
|
||||
<property name="text" translatable="yes"></property>
|
||||
<property name="has_frame">True</property>
|
||||
<property name="invisible_char">*</property>
|
||||
<property name="activates_default">False</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="bottom_attach">4</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkCombo" id="combo-country">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="value_in_list">False</property>
|
||||
<property name="allow_empty">True</property>
|
||||
<property name="case_sensitive">False</property>
|
||||
<property name="enable_arrow_keys">True</property>
|
||||
<property name="enable_arrows_always">False</property>
|
||||
|
||||
<child internal-child="entry">
|
||||
<widget class="GtkEntry" id="entry-country">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="editable">True</property>
|
||||
<property name="visibility">True</property>
|
||||
<property name="max_length">0</property>
|
||||
<property name="text" translatable="yes"></property>
|
||||
<property name="has_frame">True</property>
|
||||
<property name="invisible_char">*</property>
|
||||
<property name="activates_default">False</property>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child internal-child="list">
|
||||
<widget class="GtkList" id="convertwidget1">
|
||||
<property name="visible">True</property>
|
||||
<property name="selection_mode">GTK_SELECTION_BROWSE</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkListItem" id="convertwidget2">
|
||||
<property name="visible">True</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="convertwidget3">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes"></property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
<property name="right_attach">4</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="bottom_attach">4</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkEntry" id="entry-code">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="editable">True</property>
|
||||
<property name="visibility">True</property>
|
||||
<property name="max_length">0</property>
|
||||
<property name="text" translatable="yes"></property>
|
||||
<property name="has_frame">True</property>
|
||||
<property name="invisible_char">*</property>
|
||||
<property name="activates_default">False</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
<property name="right_attach">4</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label-code">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_ZIP Code:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="mnemonic_widget">entry-code</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label-country">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Countr_y:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="mnemonic_widget">entry-country</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="bottom_attach">4</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
</glade-interface>
|
||||
@ -1,206 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
||||
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
|
||||
|
||||
<glade-interface>
|
||||
|
||||
<widget class="GtkDialog" id="dialog-im">
|
||||
<property name="title" translatable="yes">Add IM Account</property>
|
||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||
<property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
|
||||
<property name="modal">True</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="has_separator">False</property>
|
||||
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="dialog-vbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">2</property>
|
||||
|
||||
<child internal-child="action_area">
|
||||
<widget class="GtkHButtonBox" id="dialog-action_area1">
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="cancelbutton1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-cancel</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">-6</property>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="okbutton1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-ok</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">-5</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkTable" id="table-im">
|
||||
<property name="border_width">6</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">3</property>
|
||||
<property name="n_columns">2</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="row_spacing">6</property>
|
||||
<property name="column_spacing">12</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label-service">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_IM Service:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="mnemonic_widget">optmenu-service</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkOptionMenu" id="optmenu-service">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="history">-1</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label-username">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_Account name:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="mnemonic_widget">entry-username</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkEntry" id="entry-username">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="editable">True</property>
|
||||
<property name="visibility">True</property>
|
||||
<property name="max_length">0</property>
|
||||
<property name="text" translatable="yes"></property>
|
||||
<property name="has_frame">True</property>
|
||||
<property name="invisible_char">*</property>
|
||||
<property name="activates_default">False</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label-location">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_Location:</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="mnemonic_widget">optmenu-location</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkOptionMenu" id="optmenu-location">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="history">-1</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
</glade-interface>
|
||||
@ -1,123 +0,0 @@
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) version 3.
|
||||
*
|
||||
* 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
* Chris Lahey <clahey@ximian.com>
|
||||
*
|
||||
* Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
|
||||
*
|
||||
*/
|
||||
|
||||
#include "e-contact-print-style-editor.h"
|
||||
#include "e-util/e-util-private.h"
|
||||
|
||||
static void e_contact_print_style_editor_init (EContactPrintStyleEditor *card);
|
||||
static void e_contact_print_style_editor_class_init (EContactPrintStyleEditorClass *class);
|
||||
static void e_contact_print_style_editor_finalize (GObject *object);
|
||||
|
||||
static gpointer parent_class;
|
||||
|
||||
GType
|
||||
e_contact_print_style_editor_get_type (void)
|
||||
{
|
||||
static GType type = 0;
|
||||
|
||||
if (G_UNLIKELY (type == 0)) {
|
||||
static const GTypeInfo type_info = {
|
||||
sizeof (EContactPrintStyleEditorClass),
|
||||
(GBaseInitFunc) NULL,
|
||||
(GBaseFinalizeFunc) NULL,
|
||||
(GClassInitFunc) e_contact_print_style_editor_class_init,
|
||||
(GClassFinalizeFunc) NULL,
|
||||
NULL, /* class_data */
|
||||
sizeof (EContactPrintStyleEditor),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) e_contact_print_style_editor_init,
|
||||
NULL /* value_table */
|
||||
};
|
||||
|
||||
type = g_type_register_static (
|
||||
GTK_TYPE_VBOX, "EContactPrintStyleEditor",
|
||||
&type_info, 0);
|
||||
}
|
||||
|
||||
return type;
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_print_style_editor_class_init (EContactPrintStyleEditorClass *class)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
|
||||
parent_class = g_type_class_peek_parent (class);
|
||||
|
||||
object_class = G_OBJECT_CLASS (class);
|
||||
object_class->finalize = e_contact_print_style_editor_finalize;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void
|
||||
_add_image(GtkTable *table, gchar *image, int left, int right, int top, int bottom)
|
||||
{
|
||||
gtk_table_attach(table,
|
||||
gtk_widget_new(gtk_alignment_get_type(),
|
||||
"child", gnome_pixmap_new_from_file(image),
|
||||
"xalign", (double) 0,
|
||||
"yalign", (double) 0,
|
||||
"xscale", (double) 0,
|
||||
"yscale", (double) 0,
|
||||
NULL),
|
||||
left, right, top, bottom,
|
||||
GTK_FILL, GTK_FILL,
|
||||
0, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
e_contact_print_style_editor_init (EContactPrintStyleEditor *e_contact_print_style_editor)
|
||||
{
|
||||
GladeXML *gui;
|
||||
char *gladefile;
|
||||
|
||||
/* e_contact_print_style_editor->card = NULL;*/
|
||||
gladefile = g_build_filename (EVOLUTION_GLADEDIR,
|
||||
"e-contact-print.glade",
|
||||
NULL);
|
||||
gui = glade_xml_new (gladefile, NULL, NULL);
|
||||
g_free (gladefile);
|
||||
|
||||
e_contact_print_style_editor->gui = gui;
|
||||
gtk_widget_reparent(glade_xml_get_widget(gui, "vbox-contact-print-style-editor"),
|
||||
GTK_WIDGET(e_contact_print_style_editor));
|
||||
}
|
||||
|
||||
static void
|
||||
e_contact_print_style_editor_finalize (GObject *object)
|
||||
{
|
||||
EContactPrintStyleEditor *e_contact_print_style_editor = E_CONTACT_PRINT_STYLE_EDITOR(object);
|
||||
|
||||
if (e_contact_print_style_editor->gui != NULL) {
|
||||
g_object_unref(e_contact_print_style_editor->gui);
|
||||
e_contact_print_style_editor->gui = NULL;
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
e_contact_print_style_editor_new (char *filename)
|
||||
{
|
||||
return g_object_new (e_contact_print_style_editor_get_type (), NULL);
|
||||
}
|
||||
@ -1,75 +0,0 @@
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) version 3.
|
||||
*
|
||||
* 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
* Chris Lahey <clahey@ximian.com>
|
||||
*
|
||||
* Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __E_CONTACT_PRINT_STYLE_EDITOR_H__
|
||||
#define __E_CONTACT_PRINT_STYLE_EDITOR_H__
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <glade/glade.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#pragma }
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/* EContactPrintStyleEditor - A dialog displaying information about a contact.
|
||||
*
|
||||
* The following arguments are available:
|
||||
*
|
||||
* name type read/write description
|
||||
* --------------------------------------------------------------------------------
|
||||
* card ECard * R The card currently being edited
|
||||
*/
|
||||
|
||||
#define E_CONTACT_PRINT_STYLE_EDITOR_TYPE (e_contact_print_style_editor_get_type ())
|
||||
#define E_CONTACT_PRINT_STYLE_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_CONTACT_PRINT_STYLE_EDITOR_TYPE, EContactPrintStyleEditor))
|
||||
#define E_CONTACT_PRINT_STYLE_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_CONTACT_PRINT_STYLE_EDITOR_TYPE, EContactPrintStyleEditorClass))
|
||||
#define E_IS_MINICARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_CONTACT_PRINT_STYLE_EDITOR_TYPE))
|
||||
#define E_IS_MINICARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_CONTACT_PRINT_STYLE_EDITOR_TYPE))
|
||||
|
||||
|
||||
typedef struct _EContactPrintStyleEditor EContactPrintStyleEditor;
|
||||
typedef struct _EContactPrintStyleEditorClass EContactPrintStyleEditorClass;
|
||||
|
||||
struct _EContactPrintStyleEditor
|
||||
{
|
||||
GtkVBox parent;
|
||||
|
||||
/* item specific fields */
|
||||
GladeXML *gui;
|
||||
};
|
||||
|
||||
struct _EContactPrintStyleEditorClass
|
||||
{
|
||||
GtkVBoxClass parent_class;
|
||||
};
|
||||
|
||||
|
||||
GtkWidget *e_contact_print_style_editor_new(char *filename);
|
||||
GType e_contact_print_style_editor_get_type (void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
#endif /* __E_CONTACT_PRINT_STYLE_EDITOR_H__ */
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,58 +0,0 @@
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) version 3.
|
||||
*
|
||||
* 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
* Chris Lahey <clahey@ximian.com>
|
||||
*
|
||||
* Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
|
||||
*
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include "e-contact-print-style-editor.h"
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
GtkWidget *editor;
|
||||
GtkWidget *window;
|
||||
const gchar *title;
|
||||
|
||||
title = "Contact Print Style Editor Test";
|
||||
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
glade_init ();
|
||||
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
gtk_window_set_title (GTK_WINDOW (window), title);
|
||||
|
||||
editor = e_contact_print_style_editor_new ("");
|
||||
gtk_container_add (GTK_CONTAINER (window), editor);
|
||||
|
||||
g_signal_connect (
|
||||
window, "delete-event",
|
||||
G_CALLBACK (gtk_main_quit), NULL);
|
||||
|
||||
gtk_widget_show_all (window);
|
||||
|
||||
gtk_main ();
|
||||
|
||||
/* Not reached. */
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user