/* * 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 * * * Authors: * Ettore Perazzoli * * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) * */ #ifdef HAVE_CONFIG_H #include #endif #include "e-corba-config-page.h" #include "Evolution.h" #include #include #include #include #include struct _ECorbaConfigPagePrivate { GNOME_Evolution_ConfigControl config_control_interface; }; G_DEFINE_TYPE (ECorbaConfigPage, e_corba_config_page, E_TYPE_CONFIG_PAGE) /* GObject methods. */ static void impl_dispose (GObject *object) { ECorbaConfigPage *corba_config_page; ECorbaConfigPagePrivate *priv; CORBA_Environment ev; corba_config_page = E_CORBA_CONFIG_PAGE (object); priv = corba_config_page->priv; CORBA_exception_init (&ev); if (priv->config_control_interface != CORBA_OBJECT_NIL) { bonobo_object_release_unref (priv->config_control_interface, &ev); priv->config_control_interface = CORBA_OBJECT_NIL; } CORBA_exception_free (&ev); (* G_OBJECT_CLASS (e_corba_config_page_parent_class)->dispose) (object); } static void impl_finalize (GObject *object) { ECorbaConfigPage *corba_config_page; ECorbaConfigPagePrivate *priv; corba_config_page = E_CORBA_CONFIG_PAGE (object); priv = corba_config_page->priv; g_free (priv); (* G_OBJECT_CLASS (e_corba_config_page_parent_class)->finalize) (object); } /* GTK+ ctors. */ static void e_corba_config_page_class_init (ECorbaConfigPageClass *class) { GObjectClass *object_class; object_class = G_OBJECT_CLASS (class); object_class->dispose = impl_dispose; object_class->finalize = impl_finalize; } static void e_corba_config_page_init (ECorbaConfigPage *corba_config_page) { ECorbaConfigPagePrivate *priv; priv = g_new (ECorbaConfigPagePrivate, 1); priv->config_control_interface = CORBA_OBJECT_NIL; corba_config_page->priv = priv; } gboolean e_corba_config_page_construct (ECorbaConfigPage *corba_config_page, GNOME_Evolution_ConfigControl corba_object) { Bonobo_Control control; GtkWidget *control_widget; CORBA_Environment ev; g_return_val_if_fail (E_IS_CORBA_CONFIG_PAGE (corba_config_page), FALSE); g_return_val_if_fail (corba_object != CORBA_OBJECT_NIL, FALSE); CORBA_exception_init (&ev); control = GNOME_Evolution_ConfigControl__get_control (corba_object, &ev); if (BONOBO_EX (&ev)) { g_warning ("Can't get control from ::ConfigControl -- %s", BONOBO_EX_REPOID (&ev)); CORBA_exception_init (&ev); return FALSE; } control_widget = bonobo_widget_new_control_from_objref (control, CORBA_OBJECT_NIL); gtk_widget_show (control_widget); gtk_container_add (GTK_CONTAINER (corba_config_page), control_widget); /* Notice we *don't* unref the corba_object here as bonobo_widget_new_control_from_objref() effectively takes ownership for the object that we get from ::__get_control. */ CORBA_exception_free (&ev); return TRUE; } GtkWidget * e_corba_config_page_new_from_objref (GNOME_Evolution_ConfigControl corba_object) { ECorbaConfigPage *corba_config_page; g_return_val_if_fail (corba_object != CORBA_OBJECT_NIL, NULL); g_return_val_if_fail (corba_object != CORBA_OBJECT_NIL, NULL); corba_config_page = g_object_new (e_corba_config_page_get_type (), NULL); if (! e_corba_config_page_construct (corba_config_page, corba_object)) { gtk_widget_destroy (GTK_WIDGET (corba_config_page)); return NULL; } return GTK_WIDGET (corba_config_page); } l/electron6/files/serve-10.1.2 FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)
aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* Cleanup plistantoine2014-11-131-6/+1
* Add USES=alias to several portsmarino2014-10-201-1/+1
* Fix build when security/openssl is installed.hrs2014-09-221-1/+4
* Remove reference to my_init and my_fini. These functions were causinghrs2014-08-062-7/+13
* - Convert security/trousers to USES=libtool and bump dependent portstijl2014-07-174-13/+10
* - Fix build (ranlib: fatal: Failed to open 'libtddl.a') [*].hrs2014-07-152-2/+2
* Fix rc script: Use proper SERVERS dependency.bdrewery2014-07-102-2/+2
* Fix properties on pkg-plistbapt2014-01-221-1/+0
* Set tcsd_enable=NO by default if unset.hrs2013-12-092-2/+2
* Fix iconv and pthread dependency.hrs2013-12-054-12/+9
* - Fix pkg-plist [*].hrs2013-12-052-4/+10
* Fix build.hrs2013-12-052-1/+3
* Add STAGEDIR support.hrs2013-12-023-101/+92
* Add NO_STAGE all over the place in preparation for the staging support (cat: ...bapt2013-09-211-0/+1
* - Make ports use the libc provided iconv implementation on 10-CURRENTmadpilot2013-09-051-0/+4
* - Unbreak clang build.hrs2013-07-318-182/+107
* Update to 0.3.10.hrs2013-07-276-127/+87
* - Add WWW: line to pkg-descr.hrs2013-07-253-10/+11
* - Convert USE_ICONV=yes to USES=iconvmva2013-04-281-2/+1
* Finish converting the whole ports tree to USES=pkgconfigbapt2013-04-231-1/+1
* Variable that start with _ are considered private to the definingeadler2013-03-021-1/+1
* Force numerous ports that fail to build with clang over to instead alwayslinimon2012-10-101-0/+1
* Convert to new options frameworkbapt2012-10-041-12/+7