check for, but do not require nautilus libs. These is necessary if we move

2004-05-17  Jody Goldberg <jody@gnome.org>

	* configure.in : check for, but do not require nautilus libs.  These
	  is necessary if we move to the osx/ximian style shell.
This commit is contained in:
Jody Goldberg 2004-05-17 17:03:38 +00:00 committed by Jody Goldberg
parent 9ed37401fb
commit 8342be7cba
12 changed files with 2228 additions and 14 deletions

View file

@ -1,3 +1,8 @@
2004-05-17 Jody Goldberg <jody@gnome.org>
* configure.in : check for, but do not require nautilus libs. These
is necessary if we move to the osx/ximian style shell.
2004-04-16 Jody Goldberg <jody@gnome.org> 2004-04-16 Jody Goldberg <jody@gnome.org>
* configure.in : post branch release bump to 2.7.0 * configure.in : post branch release bump to 2.7.0

3
NEWS
View file

@ -1,5 +1,8 @@
gnome-control-center 2.7.0 gnome-control-center 2.7.0
Michael Terry:
* Fix ui-review comments for keybinding capplet
Shailesh Mittal: Shailesh Mittal:
http://bugzilla.gnome.org/show_bug.cgi?id=114832 http://bugzilla.gnome.org/show_bug.cgi?id=114832
* IPV6 support in the file types capplet * IPV6 support in the file types capplet

View file

@ -260,6 +260,11 @@ AC_SUBST(LIBBONOBO_IDL_DIR)
BONOBO_ACTIVATION_IDL_DIR="`$PKG_CONFIG --variable=idldir bonobo-activation-2.0`" BONOBO_ACTIVATION_IDL_DIR="`$PKG_CONFIG --variable=idldir bonobo-activation-2.0`"
AC_SUBST(BONOBO_ACTIVATION_IDL_DIR) AC_SUBST(BONOBO_ACTIVATION_IDL_DIR)
# check for nautilus
PKG_CHECK_MODULES(NAUTILUS, libnautilus)
AC_SUBST(NAUTILUS_LIBS)
AC_SUBST(NAUTILUS_CFLAGS)
# esd # esd
ESDSERVERDIR=`$PKG_CONFIG --variable=esd_serverdir esound` ESDSERVERDIR=`$PKG_CONFIG --variable=esd_serverdir esound`
if test x"$ESDSERVERDIR" = x; then if test x"$ESDSERVERDIR" = x; then

View file

@ -0,0 +1,656 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* capplet-dir.c
* Copyright (C) 2000, 2001 Ximian, Inc.
* Copyright (C) 1998 Red Hat Software, Inc.
*
* Written by Bradford Hovinen <hovinen@ximian.com>,
* Jonathan Blandford <jrb@redhat.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#include <config.h>
#include "control-center-categories.h"
#include <gnome.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <string.h>
#include <glib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <dirent.h>
#include <errno.h>
#include <libgnomevfs/gnome-vfs.h>
static char *
find_icon (GnomeDesktopItem *dentry)
{
char *icon_file = gnome_desktop_item_get_icon (dentry, NULL);
if (!icon_file)
icon_file = gnome_program_locate_file (NULL, GNOME_FILE_DOMAIN_PIXMAP,
"gnome-unknown.png", TRUE, NULL);
return icon_file;
}
#if 0
#include "capplet-dir.h"
#include "capplet-dir-view.h"
CappletDirView *(*get_view_cb) (CappletDir *dir, CappletDirView *launcher);
/* nice global table for capplet lookup */
GHashTable *capplet_hash = NULL;
CappletDirEntry *
capplet_new (CappletDir *dir, gchar *desktop_path)
{
Capplet *capplet;
CappletDirEntry *entry;
GnomeDesktopItem *dentry;
gchar *path, **vec;
const gchar *execstr;
g_return_val_if_fail (desktop_path != NULL, NULL);
entry = g_hash_table_lookup (capplet_hash, desktop_path);
if (entry) {
return entry;
}
dentry = gnome_desktop_item_new_from_uri (desktop_path,
GNOME_DESKTOP_ITEM_TYPE_NULL,
NULL);
if (dentry == NULL)
return NULL;
execstr = gnome_desktop_item_get_string (dentry,
GNOME_DESKTOP_ITEM_EXEC);
/* Perhaps use poptParseArgvString here */
vec = g_strsplit (execstr, " ", 0);
if (!(execstr && execstr[0]) || !(vec && (path = g_find_program_in_path (vec[0]))))
{
g_strfreev (vec);
gnome_desktop_item_unref (dentry);
return NULL;
}
g_free (path);
capplet = g_new0 (Capplet, 1);
capplet->launching = FALSE;
entry = CAPPLET_DIR_ENTRY (capplet);
entry->type = TYPE_CAPPLET;
entry->entry = dentry;
entry->label = g_strdup (gnome_desktop_item_get_localestring (dentry,
GNOME_DESKTOP_ITEM_NAME));
entry->icon = find_icon (, dentry);
entry->pb = gdk_pixbuf_new_from_file (entry->icon, NULL);
entry->uri = gnome_vfs_uri_new (desktop_path);
entry->exec = vec;
entry->dir = dir;
g_hash_table_insert (capplet_hash, g_strdup (desktop_path), entry);
return entry;
}
CappletDirEntry *
capplet_dir_new (CappletDir *dir, gchar *dir_path)
{
CappletDir *capplet_dir;
CappletDirEntry *entry;
GnomeVFSURI *desktop_uri;
GnomeVFSURI *dir_uri;
char *desktop_uri_string;
g_return_val_if_fail (dir_path != NULL, NULL);
entry = g_hash_table_lookup (capplet_hash, dir_path);
if (entry) {
return entry;
}
desktop_uri = gnome_vfs_uri_append_file_name (dir_uri, ".directory");
desktop_uri_string = gnome_vfs_uri_to_string (desktop_uri, GNOME_VFS_URI_HIDE_NONE);
capplet_dir = g_new0 (CappletDir, 1);
entry = CAPPLET_DIR_ENTRY (capplet_dir);
entry->type = TYPE_CAPPLET_DIR;
entry->entry = gnome_desktop_item_new_from_uri (desktop_uri_string,
GNOME_DESKTOP_ITEM_TYPE_NULL,
NULL);
entry->dir = dir;
entry->uri = dir_uri;
gnome_vfs_uri_unref (desktop_uri);
g_free (desktop_uri_string);
if (entry->entry) {
entry->label = g_strdup (gnome_desktop_item_get_localestring (
entry->entry,
GNOME_DESKTOP_ITEM_NAME));
entry->icon = find_icon (gnome_desktop_item_get_string (entry->entry,
GNOME_DESKTOP_ITEM_ICON),
entry->entry);
if (!entry->icon)
entry->icon = gnome_program_locate_file
(gnome_program_get (), GNOME_FILE_DOMAIN_APP_PIXMAP,
"control-center2.png", TRUE, NULL);
entry->pb = gdk_pixbuf_new_from_file (entry->icon, NULL);
} else {
/* If the .directory file could not be found or read, abort */
g_free (capplet_dir);
return NULL;
}
entry->dir = dir;
g_hash_table_insert (capplet_hash, g_strdup (dir_path), entry);
capplet_dir_load (CAPPLET_DIR (entry));
return entry;
}
CappletDirEntry *
capplet_lookup (const char *path)
{
return g_hash_table_lookup (capplet_hash, path);
}
void
capplet_dir_entry_destroy (CappletDirEntry *entry)
{
if (entry->type == TYPE_CAPPLET) {
capplet_shutdown (CAPPLET (entry));
} else {
capplet_dir_shutdown (CAPPLET_DIR (entry));
}
g_free (entry->label);
g_free (entry->icon);
gnome_vfs_uri_unref (entry->uri);
g_strfreev (entry->exec);
if (entry->entry)
gnome_desktop_item_unref (entry->entry);
g_free (entry);
}
void
capplet_dir_entry_activate (CappletDirEntry *entry,
CappletDirView *launcher)
{
g_return_if_fail (entry != NULL);
if (entry->type == TYPE_CAPPLET)
capplet_activate (CAPPLET (entry));
else if (entry->type == TYPE_CAPPLET_DIR)
capplet_dir_activate (CAPPLET_DIR (entry), launcher);
else
g_assert_not_reached ();
}
void
capplet_dir_entry_shutdown (CappletDirEntry *entry)
{
if (entry->type == TYPE_CAPPLET)
capplet_shutdown (CAPPLET (entry));
else if (entry->type == TYPE_CAPPLET_DIR)
capplet_dir_shutdown (CAPPLET_DIR (entry));
else
g_assert_not_reached ();
}
static gint
capplet_reset_cb (Capplet *capplet)
{
capplet->launching = FALSE;
return FALSE;
}
static void
capplet_activate (Capplet *capplet)
{
CappletDirEntry *entry;
entry = CAPPLET_DIR_ENTRY (capplet);
if (capplet->launching) {
return;
} else {
capplet->launching = TRUE;
gtk_timeout_add (1000, (GtkFunction) capplet_reset_cb, capplet);
gnome_desktop_item_launch (entry->entry, NULL, 0, NULL);
}
}
void
capplet_dir_load (CappletDir *capplet_dir)
{
if (capplet_dir->entries) return;
capplet_dir->entries = read_entries (capplet_dir);
}
static void
capplet_dir_activate (CappletDir *capplet_dir, CappletDirView *launcher)
{
capplet_dir_load (capplet_dir);
capplet_dir->view = get_view_cb (capplet_dir, launcher);
capplet_dir_view_load_dir (capplet_dir->view, capplet_dir);
capplet_dir_view_show (capplet_dir->view);
}
static void
capplet_shutdown (Capplet *capplet)
{
/* Can't do much here ... :-( */
}
static void
cde_destroy (CappletDirEntry *e, gpointer null)
{
capplet_dir_entry_destroy (e);
}
static void
capplet_dir_shutdown (CappletDir *capplet_dir)
{
if (capplet_dir->view)
g_object_unref (G_OBJECT (capplet_dir->view));
g_slist_foreach (capplet_dir->entries, (GFunc) cde_destroy, NULL);
g_slist_free (capplet_dir->entries);
}
static gint
node_compare (gconstpointer a, gconstpointer b)
{
return strcmp (CAPPLET_DIR_ENTRY (a)->label,
CAPPLET_DIR_ENTRY (b)->label);
}
#endif
/* Adapted from the original control center... */
GnomeDesktopItem *
get_directory_entry (GnomeVFSURI *uri)
{
GnomeVFSURI *desktop_uri;
char *desktop_uri_string;
GnomeDesktopItem *entry;
desktop_uri = gnome_vfs_uri_append_file_name (uri, ".directory");
desktop_uri_string = gnome_vfs_uri_to_string (desktop_uri, GNOME_VFS_URI_HIDE_NONE);
entry = gnome_desktop_item_new_from_uri (desktop_uri_string,
GNOME_DESKTOP_ITEM_LOAD_ONLY_IF_EXISTS,
NULL);
gnome_vfs_uri_unref (desktop_uri);
g_free (desktop_uri_string);
return entry;
}
typedef void (*DirectoryCallback) (GnomeVFSURI *uri, const char *name, GnomeDesktopItem *entry, gpointer user_data);
typedef void (*EntryCallback) (GnomeVFSURI *uri, const char *name, GnomeDesktopItem *entry, gpointer user_data);
static void
read_entries (GnomeVFSURI *uri, gint auto_recurse_level, DirectoryCallback dcb, EntryCallback ecb, gpointer user_data)
{
gchar *test;
GnomeVFSDirectoryHandle *parent_dir;
GnomeVFSResult result;
GnomeVFSFileInfo *child = gnome_vfs_file_info_new ();
result = gnome_vfs_directory_open_from_uri (&parent_dir, uri,
GNOME_VFS_FILE_INFO_DEFAULT);
if (result != GNOME_VFS_OK)
return;
while (gnome_vfs_directory_read_next (parent_dir, child) == GNOME_VFS_OK) {
GnomeVFSURI *fulluri;
char *fullpath;
if (child->name[0] == '.')
continue;
fulluri = gnome_vfs_uri_append_path (uri, child->name);
fullpath = gnome_vfs_uri_to_string (fulluri, GNOME_VFS_URI_HIDE_NONE);
if (child->type == GNOME_VFS_FILE_TYPE_DIRECTORY) {
if (auto_recurse_level != 0) {
gint recurse;
if (auto_recurse_level < 0)
recurse = auto_recurse_level;
else
recurse = auto_recurse_level - 1;
read_entries (fulluri, recurse, dcb, ecb, user_data);
} else {
GnomeDesktopItem *entry;
entry = get_directory_entry (fulluri);
dcb (fulluri, child->name, entry, user_data);
if (entry)
gnome_desktop_item_unref (entry);
}
} else {
test = rindex(child->name, '.');
/* if it's a .desktop file, it's interesting for sure! */
if (test && !strcmp (".desktop", test)) {
GnomeDesktopItem *entry;
entry = gnome_desktop_item_new_from_uri (fullpath,
GNOME_DESKTOP_ITEM_LOAD_ONLY_IF_EXISTS,
NULL);
if (entry) {
ecb (fulluri, child->name, entry, user_data);
gnome_desktop_item_unref (entry);
}
}
}
gnome_vfs_uri_unref (fulluri);
g_free (fullpath);
}
gnome_vfs_directory_close (parent_dir);
}
typedef struct {
GSList *entries;
GSList *names;
GnomeDesktopItem *directory_entry;
char *name;
} CategoryLoadInformation;
typedef struct {
CategoryLoadInformation *other;
GSList *categories;
} FullLoadInformation;
static void
do_sort (GnomeDesktopItem *item, void **base, size_t nmemb,
int (*compar)(const void *, const void *),
const char *(*get_name)(const void *))
{
char **sort_orders = NULL;
qsort (base, nmemb, sizeof (void *), compar);
if (item)
sort_orders = gnome_desktop_item_get_strings (item, GNOME_DESKTOP_ITEM_SORT_ORDER);
if (sort_orders) {
int i;
int j = 0;
for (i = 0; sort_orders[i]; i++) {
int k;
for (k = j; k < nmemb; k++) {
const char *name = get_name (base[k]);
if (name && !strcmp (name, sort_orders[i])) {
void *temp = base[k];
memmove (base + j + 1, base + j, (k - j) * sizeof (void *));
base[j] = temp;
j++;
/* if (j >= nmemb), then k >= j >= nmemb
and thus we don't need a break
here. */
}
}
if (j >= nmemb)
break;
}
g_strfreev (sort_orders);
}
}
static int
compare_entries (const void *ap, const void *bp)
{
ControlCenterEntry *a = *(ControlCenterEntry **)ap;
ControlCenterEntry *b = *(ControlCenterEntry **)bp;
if (a->title == NULL && b->title == NULL)
return 0;
if (a->title == NULL)
return 1;
if (b->title == NULL)
return -1;
return strcmp (a->title,
b->title);
}
static const char *
get_entry_name (const void *ap)
{
ControlCenterEntry *a = (ControlCenterEntry *)ap;
return a->name;
}
static void
free_entry (ControlCenterEntry *entry)
{
g_free (entry->icon);
g_free (entry->name);
if (entry->desktop_entry)
gnome_desktop_item_unref (entry->desktop_entry);
}
static void
free_category (ControlCenterCategory *category)
{
int i;
for (i = 0; i < category->count; i++) {
free_entry (category->entries[i]);
}
g_free (category->entries);
if (category->directory_entry)
gnome_desktop_item_unref (category->directory_entry);
}
static ControlCenterCategory *
load_information_to_category (CategoryLoadInformation *info, gboolean real_category)
{
ControlCenterCategory *category = g_new (ControlCenterCategory, 1);
int i;
GSList *iterator, *name_iterator;
category->count = g_slist_length (info->entries);
category->entries = g_new (ControlCenterEntry *, category->count);
category->directory_entry = info->directory_entry;
category->title = NULL;
category->name = info->name;
category->user_data = NULL;
category->real_category = real_category;
if (category->directory_entry)
category->title = gnome_desktop_item_get_localestring (category->directory_entry,
GNOME_DESKTOP_ITEM_NAME);
if (!category->title || !category->title[0])
category->title = category->name;
if (!category->title || !category->title[0])
category->title = _("Others");
for (i = 0, iterator = info->entries, name_iterator = info->names;
i < category->count;
i++, iterator = iterator->next, name_iterator = name_iterator->next) {
category->entries[i] = g_new (ControlCenterEntry, 1);
category->entries[i]->desktop_entry = iterator->data;
category->entries[i]->icon = find_icon (category->entries[i]->desktop_entry);
category->entries[i]->user_data = NULL;
category->entries[i]->name = name_iterator->data;
category->entries[i]->category = category;
if (category->entries[i]->desktop_entry) {
category->entries[i]->title =
gnome_desktop_item_get_localestring (category->entries[i]->desktop_entry,
GNOME_DESKTOP_ITEM_NAME);
category->entries[i]->comment =
gnome_desktop_item_get_localestring (category->entries[i]->desktop_entry,
GNOME_DESKTOP_ITEM_COMMENT);
} else {
category->entries[i]->title = NULL;
category->entries[i]->comment = NULL;
}
}
do_sort (category->directory_entry, (void **) category->entries, category->count, compare_entries, get_entry_name);
g_slist_free (info->entries);
g_slist_free (info->names);
return category;
}
static int
compare_categories (const void *ap, const void *bp)
{
ControlCenterCategory *a = *(ControlCenterCategory **)ap;
ControlCenterCategory *b = *(ControlCenterCategory **)bp;
if (a->title == NULL && b->title == NULL)
return 0;
if (a->title == NULL)
return 1;
if (b->title == NULL)
return -1;
return strcmp (a->title,
b->title);
}
static const char *
get_category_name (const void *ap)
{
ControlCenterCategory *a = (ControlCenterCategory *)ap;
return a->name;
}
static ControlCenterInformation *
load_information_to_information (GnomeVFSURI *base_uri, FullLoadInformation *info)
{
ControlCenterInformation *information = g_new (ControlCenterInformation, 1);
int i;
GSList *iterator;
information->count = g_slist_length (info->categories);
information->categories = g_new (ControlCenterCategory *, information->count);
i = 0;
for (iterator = info->categories; iterator != NULL; iterator = iterator->next) {
ControlCenterCategory *category = iterator->data;
if (category->count)
information->categories[i++] = category;
else {
free_category (category);
}
}
if (information->count != i) {
information->count = i;
information->categories = g_renew (ControlCenterCategory *, information->categories, information->count);
}
g_slist_free (info->categories);
information->directory_entry = get_directory_entry (base_uri);
information->title = NULL;
if (information->directory_entry) {
do_sort (information->directory_entry, (void **) information->categories, information->count, compare_categories, get_category_name);
information->title = gnome_desktop_item_get_localestring (information->directory_entry,
GNOME_DESKTOP_ITEM_NAME);
}
if (!information->title || !information->title[0])
information->title = _("Gnome Control Center");
return information;
}
static void
add_to_category (GnomeVFSURI *uri, const char *name, GnomeDesktopItem *entry, gpointer user_data)
{
CategoryLoadInformation *catinfo = user_data;
catinfo->entries = g_slist_prepend (catinfo->entries, entry);
catinfo->names = g_slist_prepend (catinfo->names, g_strdup (name));
gnome_desktop_item_ref (entry);
}
static void
add_to_other (GnomeVFSURI *uri, const char *name, GnomeDesktopItem *entry, gpointer user_data)
{
FullLoadInformation *info = user_data;
if (info->other == NULL) {
info->other = g_new (CategoryLoadInformation, 1);
info->other->entries = NULL;
info->other->names = NULL;
info->other->directory_entry = NULL;
info->other->name = NULL;
}
add_to_category (uri, name, entry, info->other);
}
static void
create_category (GnomeVFSURI *uri, const char *name, GnomeDesktopItem *entry, gpointer user_data)
{
FullLoadInformation *info = user_data;
CategoryLoadInformation catinfo;
catinfo.entries = NULL;
catinfo.names = NULL;
catinfo.directory_entry = entry;
catinfo.name = g_strdup (name);
if (entry)
gnome_desktop_item_ref (entry);
read_entries (uri, -1, NULL, add_to_category, &catinfo);
info->categories = g_slist_prepend (info->categories,
load_information_to_category (&catinfo, TRUE));
}
ControlCenterInformation *
control_center_get_categories (const gchar *prefsuri)
{
FullLoadInformation info;
GnomeVFSURI *uri;
ControlCenterInformation *information;
info.categories = NULL;
info.other = NULL;
uri = gnome_vfs_uri_new (prefsuri);
read_entries (uri, 0, create_category, add_to_other, &info);
if (info.other)
info.categories = g_slist_prepend (info.categories, load_information_to_category (info.other, FALSE));
g_free (info.other);
information = load_information_to_information (uri, &info);
gnome_vfs_uri_unref (uri);
return information;
}

View file

@ -0,0 +1,32 @@
#include <libgnome/gnome-desktop-item.h>
typedef struct ControlCenterCategory_ ControlCenterCategory;
typedef struct {
GnomeDesktopItem *desktop_entry;
char *icon;
const char *title;
const char *comment;
char *name;
ControlCenterCategory *category;
gpointer user_data;
} ControlCenterEntry;
struct ControlCenterCategory_ {
int count;
ControlCenterEntry **entries;
GnomeDesktopItem *directory_entry;
const char *title;
char *name;
gpointer user_data;
gboolean real_category;
};
typedef struct {
int count;
ControlCenterCategory **categories;
GnomeDesktopItem *directory_entry;
const char *title;
} ControlCenterInformation;
ControlCenterInformation *control_center_get_categories (const gchar *prefsuri); /* Of type Category * */

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,99 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation
* All rights reserved.
*
* This file is part of the Gnome Library.
*
* The Gnome Library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* The Gnome Library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/*
@NOTATION@
*/
/* Event box item type for GnomeCanvas widget
*
* GnomeCanvas is basically a port of the Tk toolkit's most excellent canvas widget. Tk is
* copyrighted by the Regents of the University of California, Sun Microsystems, and other parties.
*
*
* Author: Chris Lahey <clahey@ximian.com>
*/
#include <config.h>
#include "gnomecc-event-box.h"
#define noVERBOSE
static GnomeCanvasItemClass *parent_class;
static double
gnomecc_event_box_point (GnomeCanvasItem *item, double x, double y, int cx, int cy,
GnomeCanvasItem **actual_item)
{
double x1, x2, y1, y2;
g_object_get (item,
"x1", &x1,
"x2", &x2,
"y1", &y1,
"y2", &y2,
NULL);
if (x <= x2 && x >= x1 &&
y <= y2 && y >= y1) {
*actual_item = item;
return 0.0;
}
return 1e12;
}
static void
gnomecc_event_box_class_init (GnomeccEventBoxClass *class)
{
GnomeCanvasItemClass *item_class;
item_class = (GnomeCanvasItemClass *) class;
parent_class = g_type_class_peek_parent (class);
item_class->point = gnomecc_event_box_point;
}
GType
gnomecc_event_box_get_type (void)
{
static GType type;
if (!type) {
static const GTypeInfo object_info = {
sizeof (GnomeccEventBoxClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
(GClassInitFunc) gnomecc_event_box_class_init,
(GClassFinalizeFunc) NULL,
NULL, /* class_data */
sizeof (GnomeccEventBox),
0, /* n_preallocs */
(GInstanceInitFunc) NULL,
NULL /* value_table */
};
type = g_type_register_static (GNOME_TYPE_CANVAS_RECT, "GnomeccEventBox",
&object_info, 0);
}
return type;
}

View file

@ -0,0 +1,75 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation
* All rights reserved.
*
* This file is part of the Gnome Library.
*
* The Gnome Library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* The Gnome Library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/*
@NOTATION@
*/
/* Event Box item type for GnomeCanvas widget
*
* GnomeCanvas is basically a port of the Tk toolkit's most excellent canvas widget. Tk is
* copyrighted by the Regents of the University of California, Sun Microsystems, and other parties.
*
*
* Author: Chris Lahey <clahey@ximian.com>
*/
#ifndef GNOMECC_EVENT_BOX_H
#define GNOMECC_EVENT_BOX_H
#include <libgnomecanvas/gnome-canvas.h>
#include <libgnomecanvas/gnome-canvas-rect-ellipse.h>
G_BEGIN_DECLS
/* Event Box item. No configurable or queryable arguments are available (use those in
* GnomeCanvasRE).
*/
#define GNOMECC_TYPE_EVENT_BOX (gnomecc_event_box_get_type ())
#define GNOMECC_EVENT_BOX(obj) (GTK_CHECK_CAST ((obj), GNOMECC_TYPE_EVENT_BOX, GnomeccEventBox))
#define GNOMECC_EVENT_BOX_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GNOMECC_TYPE_EVENT_BOX, GnomeccEventBoxClass))
#define GNOMECC_IS_EVENT_BOX(obj) (GTK_CHECK_TYPE ((obj), GNOMECC_TYPE_EVENT_BOX))
#define GNOMECC_IS_EVENT_BOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GNOMECC_TYPE_EVENT_BOX))
#define GNOMECC_EVENT_BOX_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GNOMECC_TYPE_EVENT_BOX, GnomeccEventBoxClass))
typedef struct _GnomeccEventBox GnomeccEventBox;
typedef struct _GnomeccEventBoxClass GnomeccEventBoxClass;
struct _GnomeccEventBox {
GnomeCanvasRect item;
};
struct _GnomeccEventBoxClass {
GnomeCanvasRectClass parent_class;
};
/* Standard Gtk function */
GType gnomecc_event_box_get_type (void) G_GNUC_CONST;
G_END_DECLS
#endif

View file

@ -1,3 +1,8 @@
2004-05-17 Jody Goldberg <jody@gnome.org>
* POTFILES.in : add some files for the new shell
* POTFILES.skip : ditto.
2004-05-15 Alexander Winston <alexander.winston@comcast.net> 2004-05-15 Alexander Winston <alexander.winston@comcast.net>
* en_CA.po: Updated Canadian English translation. * en_CA.po: Updated Canadian English translation.

View file

@ -71,6 +71,8 @@ control-center/capplet-dir-view-list.c
control-center/capplet-dir-view.c control-center/capplet-dir-view.c
control-center/capplet-dir.c control-center/capplet-dir.c
control-center/gnomecc-ui.xml control-center/gnomecc-ui.xml
control-center/control-center-categories.c
control-center/control-center.c
control-center/gnomecc.desktop.in control-center/gnomecc.desktop.in
control-center/main.c control-center/main.c
gnome-settings-daemon/factory.c gnome-settings-daemon/factory.c

View file

@ -42,3 +42,4 @@ gnome-settings-daemon/GNOME_SettingsDaemon.server.in
root-manager/root-manager-helper.c root-manager/root-manager-helper.c
root-manager/root-manager-wrap.c root-manager/root-manager-wrap.c
root-manager/root-manager.c root-manager/root-manager.c
control-center/gnomecc-event-box.c

View file

@ -55,8 +55,8 @@
<type>string</type> <type>string</type>
<default></default> <default></default>
<locale name="C"> <locale name="C">
<short>Log Out</short> <short>Log out</short>
<long>Log Out's shortcut.</long> <long>Log out's shortcut.</long>
</locale> </locale>
</schema> </schema>
@ -79,8 +79,8 @@
<type>string</type> <type>string</type>
<default></default> <default></default>
<locale name="C"> <locale name="C">
<short>Home Folder</short> <short>Home folder</short>
<long>My Home Folder's shortcut.</long> <long>Home folder's shortcut.</long>
</locale> </locale>
</schema> </schema>
@ -127,8 +127,8 @@
<type>string</type> <type>string</type>
<default></default> <default></default>
<locale name="C"> <locale name="C">
<short>Lock Screen</short> <short>Lock screen</short>
<long>Lock Screen's shortcut.</long> <long>Lock screen's shortcut.</long>
</locale> </locale>
</schema> </schema>
@ -139,8 +139,8 @@
<type>string</type> <type>string</type>
<default></default> <default></default>
<locale name="C"> <locale name="C">
<short>Launch Help Browser</short> <short>Launch help browser</short>
<long>Launch Help Browser's shortcut.</long> <long>Launch help browser's shortcut.</long>
</locale> </locale>
</schema> </schema>
@ -151,8 +151,8 @@
<type>string</type> <type>string</type>
<default></default> <default></default>
<locale name="C"> <locale name="C">
<short>Launch Web Browser</short> <short>Launch web browser</short>
<long>Launch Web Browser's shortcut.</long> <long>Launch web browser's shortcut.</long>
</locale> </locale>
</schema> </schema>
@ -187,8 +187,8 @@
<type>string</type> <type>string</type>
<default></default> <default></default>
<locale name="C"> <locale name="C">
<short>Play (or Play/Pause)</short> <short>Play (or play/pause)</short>
<long>Play (or Play/Pause) key's shortcut.</long> <long>Play (or play/pause) key's shortcut.</long>
</locale> </locale>
</schema> </schema>
@ -223,7 +223,7 @@
<type>string</type> <type>string</type>
<default></default> <default></default>
<locale name="C"> <locale name="C">
<short>Skip to Previous track</short> <short>Skip to previous track</short>
<long>Previous track key's shortcut.</long> <long>Previous track key's shortcut.</long>
</locale> </locale>
</schema> </schema>
@ -235,7 +235,7 @@
<type>string</type> <type>string</type>
<default></default> <default></default>
<locale name="C"> <locale name="C">
<short>Skip to Next track</short> <short>Skip to next track</short>
<long>Next track key's shortcut.</long> <long>Next track key's shortcut.</long>
</locale> </locale>
</schema> </schema>