From 604337540f95368056cca6eb9d808ef4fcc19765 Mon Sep 17 00:00:00 2001 From: Stefano Karapetsas Date: Wed, 10 Oct 2012 23:56:54 +0200 Subject: remove matecomponent --- matecomponent/panel-module/MATE_Panel_Popup.xml | 20 - matecomponent/panel-module/Makefile.am | 51 -- .../mate-panel-applet-frame-matecomponent.c | 759 --------------------- .../mate-panel-applet-frame-matecomponent.h | 65 -- .../mate-panel-applets-manager-matecomponent.c | 250 ------- .../mate-panel-applets-manager-matecomponent.h | 59 -- .../mate-panel-applets-matecomponent-module.c | 48 -- 7 files changed, 1252 deletions(-) delete mode 100644 matecomponent/panel-module/MATE_Panel_Popup.xml delete mode 100644 matecomponent/panel-module/Makefile.am delete mode 100644 matecomponent/panel-module/mate-panel-applet-frame-matecomponent.c delete mode 100644 matecomponent/panel-module/mate-panel-applet-frame-matecomponent.h delete mode 100644 matecomponent/panel-module/mate-panel-applets-manager-matecomponent.c delete mode 100644 matecomponent/panel-module/mate-panel-applets-manager-matecomponent.h delete mode 100644 matecomponent/panel-module/mate-panel-applets-matecomponent-module.c (limited to 'matecomponent/panel-module') diff --git a/matecomponent/panel-module/MATE_Panel_Popup.xml b/matecomponent/panel-module/MATE_Panel_Popup.xml deleted file mode 100644 index 9956f2e6..00000000 --- a/matecomponent/panel-module/MATE_Panel_Popup.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/matecomponent/panel-module/Makefile.am b/matecomponent/panel-module/Makefile.am deleted file mode 100644 index 8c353127..00000000 --- a/matecomponent/panel-module/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -panelmodule_LTLIBRARIES = libmate-panel-applets-matecomponent.la -panelmoduledir = $(modulesdir) - -libmate_panel_applets_matecomponent_la_SOURCES = \ - $(CORBA_SRCLIST) \ - mate-panel-applets-matecomponent-module.c \ - mate-panel-applets-manager-matecomponent.c \ - mate-panel-applets-manager-matecomponent.h \ - mate-panel-applet-frame-matecomponent.c \ - mate-panel-applet-frame-matecomponent.h - -libmate_panel_applets_matecomponent_la_CPPFLAGS = \ - $(MATECOMPONENT_CFLAGS) \ - -I$(top_srcdir) \ - -I$(top_srcdir)/mate-panel \ - -I$(top_builddir) \ - -DDATADIR=\""$(datadir)"\" - -libmate_panel_applets_matecomponent_la_LDFLAGS = \ - -export_dynamic -avoid-version -module -no-undefined \ - -export-symbols-regex '^g_io_module_(load|unload|query)' - -libmate_panel_applets_matecomponent_la_LIBADD = \ - $(MATECOMPONENT_LIBS) - -CORBA_SRCLIST = \ - MATE_Panel-stubs.c \ - MATE_Panel-skels.c \ - MATE_Panel-common.c \ - MATE_Panel.h - -$(CORBA_SRCLIST): $(top_srcdir)/matecomponent/idl/MATE_Panel.idl $(MATECORBA_IDL) - $(AM_V_GEN)$(MATECORBA_IDL) -I $(MATECOMPONENT_IDLDIR) -I $(MATECOMPONENT_ACT_IDLDIR) $(top_srcdir)/matecomponent/idl/MATE_Panel.idl - -xmluidir = $(datadir)/mate-2.0/ui -xmlui_DATA = MATE_Panel_Popup.xml - -install-data-hook: - if test -z "$(DESTDIR)" -a "$(GIO_QUERYMODULES)" != "no" ; then \ - $(GIO_QUERYMODULES) $(modulesdir) ; \ - fi -uninstall-local: - if test "$(GIO_QUERYMODULES)" != "no" ; then \ - $(GIO_QUERYMODULES) $(modulesdir) ; \ - fi - -EXTRA_DIST = $(xmlui_DATA) - -CLEANFILES = $(CORBA_SRCLIST) - --include $(top_srcdir)/git.mk diff --git a/matecomponent/panel-module/mate-panel-applet-frame-matecomponent.c b/matecomponent/panel-module/mate-panel-applet-frame-matecomponent.c deleted file mode 100644 index e62a13a7..00000000 --- a/matecomponent/panel-module/mate-panel-applet-frame-matecomponent.c +++ /dev/null @@ -1,759 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * mate-panel-applet-frame-matecomponent.c: panel side container for applets - * - * Copyright (C) 2001 - 2003 Sun Microsystems, Inc. - * Copyright (C) 2010 Vincent Untz - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - * - * Authors: - * Mark McLoughlin - */ - -#include - -#include - -#include - -#include -#include - -#include "MATE_Panel.h" - -#include "mate-panel-applet-frame-matecomponent.h" - -G_DEFINE_TYPE (MatePanelAppletFrameMateComponent, - mate_panel_applet_frame_matecomponent, - PANEL_TYPE_APPLET_FRAME) - -struct _MatePanelAppletFrameMateComponentPrivate -{ - MATE_Vertigo_MatePanelAppletShell applet_shell; - CORBA_Object control; - MateComponent_PropertyBag property_bag; - MateComponentUIComponent *ui_component; -}; - -#define PROPERTY_ORIENT "mate-panel-applet-orient" -#define PROPERTY_SIZE "mate-panel-applet-size" -#define PROPERTY_BACKGROUND "mate-panel-applet-background" -#define PROPERTY_FLAGS "mate-panel-applet-flags" -#define PROPERTY_SIZE_HINTS "mate-panel-applet-size-hints" -#define PROPERTY_LOCKED_DOWN "mate-panel-applet-locked-down" - -typedef enum { - PANEL_SIZE_XX_SMALL = MATE_Vertigo_PANEL_XX_SMALL, - PANEL_SIZE_X_SMALL = MATE_Vertigo_PANEL_X_SMALL, - PANEL_SIZE_SMALL = MATE_Vertigo_PANEL_SMALL, - PANEL_SIZE_MEDIUM = MATE_Vertigo_PANEL_MEDIUM, - PANEL_SIZE_LARGE = MATE_Vertigo_PANEL_LARGE, - PANEL_SIZE_X_LARGE = MATE_Vertigo_PANEL_X_LARGE, - PANEL_SIZE_XX_LARGE = MATE_Vertigo_PANEL_XX_LARGE -} PanelSize; - -/* Keep in sync with mate-panel-applet.h. Uggh. */ -typedef enum { - APPLET_FLAGS_NONE = 0, - APPLET_EXPAND_MAJOR = 1 << 0, - APPLET_EXPAND_MINOR = 1 << 1, - APPLET_HAS_HANDLE = 1 << 2 -} MatePanelAppletFlags; - -GQuark -mate_panel_applet_frame_matecomponent_error_quark (void) -{ - static GQuark ret = 0; - - if (ret == 0) { - ret = g_quark_from_static_string ("mate_panel_applet_frame_matecomponent_error"); - } - - return ret; -} - -static guint -get_mate_panel_applet_orient (PanelOrientation orientation) -{ - /* For some reason libmate-panel-applet and panel use a different logic for - * orientation, so we need to convert it. We should fix this. */ - switch (orientation) { - case PANEL_ORIENTATION_TOP: - return 1; - case PANEL_ORIENTATION_BOTTOM: - return 0; - case PANEL_ORIENTATION_LEFT: - return 3; - case PANEL_ORIENTATION_RIGHT: - return 2; - default: - g_assert_not_reached (); - break; - } -} - -static void -mate_panel_applet_frame_matecomponent_update_flags (MatePanelAppletFrame *frame, - const CORBA_any *any) -{ - int flags; - gboolean major; - gboolean minor; - gboolean has_handle; - - flags = MATECOMPONENT_ARG_GET_SHORT (any); - - major = (flags & APPLET_EXPAND_MAJOR) != 0; - minor = (flags & APPLET_EXPAND_MINOR) != 0; - has_handle = (flags & APPLET_HAS_HANDLE) != 0; - - _mate_panel_applet_frame_update_flags (frame, major, minor, has_handle); -} - -static void -mate_panel_applet_frame_matecomponent_update_size_hints (MatePanelAppletFrame *frame, - const CORBA_any *any) -{ - CORBA_sequence_CORBA_long *seq; - - seq = any->_value; - - _mate_panel_applet_frame_update_size_hints (frame, seq->_buffer, seq->_length); -} - -static void -mate_panel_applet_frame_matecomponent_init_properties (MatePanelAppletFrame *frame) -{ - MatePanelAppletFrameMateComponent *matecomponent_frame = MATE_PANEL_APPLET_FRAME_MATECOMPONENT (frame); - CORBA_any *any; - - any = matecomponent_pbclient_get_value (matecomponent_frame->priv->property_bag, - PROPERTY_FLAGS, - MATECOMPONENT_ARG_SHORT, - NULL); - if (any) { - mate_panel_applet_frame_matecomponent_update_flags (frame, any); - CORBA_free (any); - } - - any = matecomponent_pbclient_get_value (matecomponent_frame->priv->property_bag, - PROPERTY_SIZE_HINTS, - TC_CORBA_sequence_CORBA_long, - NULL); - if (any) { - mate_panel_applet_frame_matecomponent_update_size_hints (frame, any); - CORBA_free (any); - } -} - -static void -mate_panel_applet_frame_matecomponent_sync_menu_state (MatePanelAppletFrame *frame, - gboolean movable, - gboolean removable, - gboolean lockable, - gboolean locked, - gboolean locked_down) -{ - MatePanelAppletFrameMateComponent *matecomponent_frame = MATE_PANEL_APPLET_FRAME_MATECOMPONENT (frame); - - matecomponent_ui_component_set_prop (matecomponent_frame->priv->ui_component, - "/commands/LockAppletToPanel", - "state", - locked ? "1" : "0", - NULL); - - /* First sensitivity */ - matecomponent_ui_component_set_prop (matecomponent_frame->priv->ui_component, - "/commands/LockAppletToPanel", - "sensitive", - lockable ? "1" : "0", - NULL); - - matecomponent_ui_component_set_prop (matecomponent_frame->priv->ui_component, - "/commands/RemoveAppletFromPanel", - "sensitive", - (locked && !lockable) ? "0" : (removable ? "1" : "0"), - NULL); - - matecomponent_ui_component_set_prop (matecomponent_frame->priv->ui_component, - "/commands/MoveApplet", - "sensitive", - locked ? "0" : (movable ? "1" : "0"), - NULL); - - matecomponent_ui_component_set_prop (matecomponent_frame->priv->ui_component, - "/commands/LockAppletToPanel", - "hidden", - locked_down ? "1" : "0", - NULL); - - matecomponent_ui_component_set_prop (matecomponent_frame->priv->ui_component, - "/commands/LockSeparator", - "hidden", - locked_down ? "1" : "0", - NULL); - - matecomponent_ui_component_set_prop (matecomponent_frame->priv->ui_component, - "/commands/RemoveAppletFromPanel", - "hidden", - locked_down ? "1" : "0", - NULL); - - matecomponent_ui_component_set_prop (matecomponent_frame->priv->ui_component, - "/commands/MoveApplet", - "hidden", - locked_down ? "1" : "0", - NULL); -} - -static void -mate_panel_applet_frame_matecomponent_popup_menu (MatePanelAppletFrame *frame, - guint button, - guint32 timestamp) -{ - MatePanelAppletFrameMateComponent *matecomponent_frame = MATE_PANEL_APPLET_FRAME_MATECOMPONENT (frame); - CORBA_Environment env; - - CORBA_exception_init (&env); - - MATE_Vertigo_MatePanelAppletShell_popup_menu (matecomponent_frame->priv->applet_shell, - button, timestamp, &env); - if (MATECOMPONENT_EX (&env)) - g_warning ("Exception from popup_menu '%s'\n", env._id); - - CORBA_exception_free (&env); -} - -static void -mate_panel_applet_frame_matecomponent_change_orientation (MatePanelAppletFrame *frame, - PanelOrientation orientation) -{ - MatePanelAppletFrameMateComponent *matecomponent_frame = MATE_PANEL_APPLET_FRAME_MATECOMPONENT (frame); - CORBA_unsigned_short orient = 0; - - switch (orientation) { - case PANEL_ORIENTATION_TOP: - orient = MATE_Vertigo_PANEL_ORIENT_DOWN; - break; - case PANEL_ORIENTATION_BOTTOM: - orient = MATE_Vertigo_PANEL_ORIENT_UP; - break; - case PANEL_ORIENTATION_LEFT: - orient = MATE_Vertigo_PANEL_ORIENT_RIGHT; - break; - case PANEL_ORIENTATION_RIGHT: - orient = MATE_Vertigo_PANEL_ORIENT_LEFT; - break; - default: - g_assert_not_reached (); - break; - } - - matecomponent_pbclient_set_short (matecomponent_frame->priv->property_bag, - PROPERTY_ORIENT, - orient, - NULL); - - gtk_widget_queue_resize (GTK_WIDGET (frame)); -} - -static void -mate_panel_applet_frame_matecomponent_change_size (MatePanelAppletFrame *frame, - guint size) -{ - MatePanelAppletFrameMateComponent *matecomponent_frame = MATE_PANEL_APPLET_FRAME_MATECOMPONENT (frame); - - /* Normalise the size to the constants defined in the IDL. */ - size = size <= PANEL_SIZE_XX_SMALL ? PANEL_SIZE_XX_SMALL : - size <= PANEL_SIZE_X_SMALL ? PANEL_SIZE_X_SMALL : - size <= PANEL_SIZE_SMALL ? PANEL_SIZE_SMALL : - size <= PANEL_SIZE_MEDIUM ? PANEL_SIZE_MEDIUM : - size <= PANEL_SIZE_LARGE ? PANEL_SIZE_LARGE : - size <= PANEL_SIZE_X_LARGE ? PANEL_SIZE_X_LARGE : PANEL_SIZE_XX_LARGE; - - matecomponent_pbclient_set_short (matecomponent_frame->priv->property_bag, - PROPERTY_SIZE, - size, - NULL); -} - -static void -mate_panel_applet_frame_matecomponent_change_background (MatePanelAppletFrame *frame, - PanelBackgroundType type) -{ - MatePanelAppletFrameMateComponent *matecomponent_frame = MATE_PANEL_APPLET_FRAME_MATECOMPONENT (frame); - char *bg_str; - - bg_str = _mate_panel_applet_frame_get_background_string ( - frame, PANEL_WIDGET (GTK_WIDGET (frame)->parent), type); - - if (bg_str != NULL) { - matecomponent_pbclient_set_string (matecomponent_frame->priv->property_bag, - PROPERTY_BACKGROUND, - bg_str, NULL); - - g_free (bg_str); - } -} - -static void -mate_panel_applet_frame_matecomponent_applet_broken (MateCORBAConnection *cnx, - MatePanelAppletFrame *frame) -{ - _mate_panel_applet_frame_applet_broken (frame); -} - -static void -popup_handle_remove (MateComponentUIComponent *uic, - MatePanelAppletFrame *frame, - const gchar *verbname) -{ - _mate_panel_applet_frame_applet_remove (frame); -} - -static void -popup_handle_move (MateComponentUIComponent *uic, - MatePanelAppletFrame *frame, - const gchar *verbname) -{ - _mate_panel_applet_frame_applet_move (frame); -} - -static void -listener_popup_handle_lock (MateComponentUIComponent *uic, - const char *path, - MateComponent_UIComponent_EventType type, - const char *state, - gpointer data) -{ - MatePanelAppletFrame *frame; - gboolean locked; - - g_assert (!strcmp (path, "LockAppletToPanel")); - - if (type != MateComponent_UIComponent_STATE_CHANGED) - return; - - if (!state) - return; - - frame = (MatePanelAppletFrame *) data; - locked = (strcmp (state, "1") == 0); - - _mate_panel_applet_frame_applet_lock (frame, locked); - - mate_panel_applet_frame_sync_menu_state (frame); -} - -static MateComponentUIVerb popup_verbs [] = { - MATECOMPONENT_UI_UNSAFE_VERB ("RemoveAppletFromPanel", popup_handle_remove), - MATECOMPONENT_UI_UNSAFE_VERB ("MoveApplet", popup_handle_move), - - MATECOMPONENT_UI_VERB_END -}; - - -static void -mate_panel_applet_frame_matecomponent_finalize (GObject *object) -{ - MatePanelAppletFrameMateComponent *frame = MATE_PANEL_APPLET_FRAME_MATECOMPONENT (object); - - if (frame->priv->control) { - /* do this before unref'ing every matecomponent stuff since it looks - * like we can receive some events when unref'ing them */ - MateCORBA_small_unlisten_for_broken (frame->priv->control, - G_CALLBACK (mate_panel_applet_frame_matecomponent_applet_broken)); - matecomponent_object_release_unref (frame->priv->control, NULL); - frame->priv->control = CORBA_OBJECT_NIL; - } - - if (frame->priv->property_bag) - matecomponent_object_release_unref ( - frame->priv->property_bag, NULL); - - if (frame->priv->applet_shell) - matecomponent_object_release_unref ( - frame->priv->applet_shell, NULL); - - if (frame->priv->ui_component) - matecomponent_object_unref ( - MATECOMPONENT_OBJECT (frame->priv->ui_component)); - - G_OBJECT_CLASS (mate_panel_applet_frame_matecomponent_parent_class)->finalize (object); -} - -static void -mate_panel_applet_frame_matecomponent_init (MatePanelAppletFrameMateComponent *frame) -{ - GtkWidget *container; - - frame->priv = G_TYPE_INSTANCE_GET_PRIVATE (frame, - PANEL_TYPE_APPLET_FRAME_MATECOMPONENT, - MatePanelAppletFrameMateComponentPrivate); - - frame->priv->applet_shell = CORBA_OBJECT_NIL; - frame->priv->control = CORBA_OBJECT_NIL; - frame->priv->property_bag = CORBA_OBJECT_NIL; - frame->priv->ui_component = NULL; -} - -static void -mate_panel_applet_frame_matecomponent_class_init (MatePanelAppletFrameMateComponentClass *class) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (class); - MatePanelAppletFrameClass *frame_class = MATE_PANEL_APPLET_FRAME_CLASS (class); - - gobject_class->finalize = mate_panel_applet_frame_matecomponent_finalize; - - frame_class->init_properties = mate_panel_applet_frame_matecomponent_init_properties; - frame_class->sync_menu_state = mate_panel_applet_frame_matecomponent_sync_menu_state; - frame_class->popup_menu = mate_panel_applet_frame_matecomponent_popup_menu; - frame_class->change_orientation = mate_panel_applet_frame_matecomponent_change_orientation; - frame_class->change_size = mate_panel_applet_frame_matecomponent_change_size; - frame_class->change_background = mate_panel_applet_frame_matecomponent_change_background; - - g_type_class_add_private (class, sizeof (MatePanelAppletFrameMateComponentPrivate)); -} - -static MATE_Vertigo_MatePanelAppletShell -mate_panel_applet_frame_get_applet_shell (MateComponent_Control control) -{ - CORBA_Environment env; - MATE_Vertigo_MatePanelAppletShell retval; - - CORBA_exception_init (&env); - - retval = MateComponent_Unknown_queryInterface (control, - "IDL:MATE/Vertigo/MatePanelAppletShell:1.0", - &env); - if (MATECOMPONENT_EX (&env)) { - g_warning ("Unable to obtain AppletShell interface from control\n"); - - retval = CORBA_OBJECT_NIL; - } - - CORBA_exception_free (&env); - - return retval; -} - -static const char* mate_panel_applet_frame_get_orient_string(MatePanelAppletFrame* frame, MatePanelAppletFrameActivating* frame_act) -{ - PanelOrientation orientation; - const char* retval = NULL; - - orientation = mate_panel_applet_frame_activating_get_orientation(frame_act); - - switch (orientation) - { - case PANEL_ORIENTATION_TOP: - retval = "down"; - break; - case PANEL_ORIENTATION_BOTTOM: - retval = "up"; - break; - case PANEL_ORIENTATION_LEFT: - retval = "right"; - break; - case PANEL_ORIENTATION_RIGHT: - retval = "left"; - break; - default: - g_assert_not_reached(); - break; - } - - return retval; -} - -static const char* mate_panel_applet_frame_get_size_string (MatePanelAppletFrame* frame, MatePanelAppletFrameActivating* frame_act) -{ - const char* retval = NULL; - guint32 size; - - size = mate_panel_applet_frame_activating_get_size(frame_act); - - if (size <= PANEL_SIZE_XX_SMALL) - { - retval = "xx-small"; - } - else if (size <= PANEL_SIZE_X_SMALL) - { - retval = "x-small"; - } - else if (size <= PANEL_SIZE_SMALL) - { - retval = "small"; - } - else if (size <= PANEL_SIZE_MEDIUM) - { - retval = "medium"; - } - else if (size <= PANEL_SIZE_LARGE) - { - retval = "large"; - } - else if (size <= PANEL_SIZE_X_LARGE) - { - retval = "x-large"; - } - else - { - retval = "xx-large"; - } - - return retval; -} - -static char * -mate_panel_applet_frame_construct_item (MatePanelAppletFrame *frame, - MatePanelAppletFrameActivating *frame_act) -{ - char *retval; - char *conf_path = NULL; - char *bg_str = NULL; - gboolean locked_down; - - conf_path = mate_panel_applet_frame_activating_get_conf_path (frame_act); - //FIXME vuntz -#if 0 - bg_str = _mate_panel_applet_frame_get_background_string ( - frame, panel, panel->background.type); -#endif - - if (bg_str == NULL) - bg_str = g_strdup (""); - - locked_down = mate_panel_applet_frame_activating_get_locked_down (frame_act); - - retval = g_strdup_printf ( - "prefs_key=%s;" - "background=%s;orient=%s;size=%s;locked_down=%s", - conf_path, bg_str, - mate_panel_applet_frame_get_orient_string (frame, frame_act), - mate_panel_applet_frame_get_size_string (frame, frame_act), - locked_down ? "true" : "false"); - - g_free (conf_path); - g_free (bg_str); - - return retval; -} - -static void -mate_panel_applet_frame_event_listener (MateComponentListener *listener, - const char *event, - const CORBA_any *any, - CORBA_Environment *ev, - MatePanelAppletFrame *frame) -{ - if (!strcmp (event, "MateComponent/Property:change:" PROPERTY_FLAGS)) - mate_panel_applet_frame_matecomponent_update_flags (frame, any); - - else if (!strcmp (event, "MateComponent/Property:change:" PROPERTY_SIZE_HINTS)) - mate_panel_applet_frame_matecomponent_update_size_hints (frame, any); -} - -static void -mate_panel_applet_frame_matecomponent_activated (CORBA_Object object, - const char *error_reason, - gpointer data) -{ - MatePanelAppletFrameActivating *frame_act; - MatePanelAppletFrameMateComponent *matecomponent_frame; - MatePanelAppletFrame *frame; - GtkWidget *widget; - MateComponentControlFrame *control_frame; - MateComponent_Control control; - MateComponent_ItemContainer container; - CORBA_Environment corba_ev; - AppletInfo *info; - char *error; - char *item_name; - GError *gerror = NULL; - - widget = NULL; - matecomponent_frame = MATE_PANEL_APPLET_FRAME_MATECOMPONENT (data); - frame = MATE_PANEL_APPLET_FRAME (data); - frame_act = g_object_get_data (G_OBJECT (frame), "mate-panel-applet-frame-activating"); - g_object_set_data (G_OBJECT (frame), "mate-panel-applet-frame-activating", NULL); - - /* according to the source of matecomponent control == NULL && no - exception can happen, so handle it */ - if (error_reason != NULL || object == CORBA_OBJECT_NIL) { - gerror = g_error_new_literal (mate_panel_applet_frame_matecomponent_error_quark (), 0, error_reason); - goto error_out; - } - - CORBA_exception_init (&corba_ev); - - item_name = mate_panel_applet_frame_construct_item (frame, - frame_act); - - matecomponent_frame->priv->control = CORBA_OBJECT_NIL; - container = MateComponent_Unknown_queryInterface (object, - "IDL:MateComponent/ItemContainer:1.0", - &corba_ev); - if (!MATECOMPONENT_EX (&corba_ev) && container != CORBA_OBJECT_NIL) { - MateComponent_Unknown containee; - - containee = MateComponent_ItemContainer_getObjectByName (container, - item_name, - TRUE, - &corba_ev); - matecomponent_object_release_unref (container, NULL); - - if (!MATECOMPONENT_EX (&corba_ev) && containee != CORBA_OBJECT_NIL) { - matecomponent_frame->priv->control = - MateComponent_Unknown_queryInterface (containee, - "IDL:MateComponent/Control:1.0", - &corba_ev); - - matecomponent_object_release_unref (containee, NULL); - } - } - g_free (item_name); - - if (matecomponent_frame->priv->control == CORBA_OBJECT_NIL) { - error = matecomponent_exception_get_text (&corba_ev); - gerror = g_error_new (mate_panel_applet_frame_matecomponent_error_quark (), 0, "failed to get MateComponent/Control interface:\n", error); - CORBA_exception_free (&corba_ev); - matecomponent_object_release_unref (object, NULL); - g_free (error); - goto error_out; - } - - widget = matecomponent_widget_new_control_from_objref (matecomponent_frame->priv->control, - CORBA_OBJECT_NIL); - - CORBA_exception_free (&corba_ev); - matecomponent_object_release_unref (object, NULL); - - if (!widget) { - gerror = g_error_new_literal (mate_panel_applet_frame_matecomponent_error_quark (), 0, "no widget created"); - goto error_out; - } - - control_frame = matecomponent_widget_get_control_frame (MATECOMPONENT_WIDGET (widget)); - if (control_frame == NULL) { - gerror = g_error_new_literal (mate_panel_applet_frame_matecomponent_error_quark (), 0, "cannot get control frame"); - goto error_out; - } - - matecomponent_frame->priv->property_bag = - matecomponent_control_frame_get_control_property_bag (control_frame, - &corba_ev); - if (matecomponent_frame->priv->property_bag == NULL || MATECOMPONENT_EX (&corba_ev)) { - error = matecomponent_exception_get_text (&corba_ev); - CORBA_exception_free (&corba_ev); - gerror = g_error_new (mate_panel_applet_frame_matecomponent_error_quark (), 0, "cannot get property bag frame:\n%s", error); - g_free (error); - goto error_out; - } - - matecomponent_event_source_client_add_listener (matecomponent_frame->priv->property_bag, - (MateComponentListenerCallbackFn) mate_panel_applet_frame_event_listener, - "MateComponent/Property:change:mate-panel-applet", - NULL, - frame); - - matecomponent_frame->priv->ui_component = - matecomponent_control_frame_get_popup_component (control_frame, - &corba_ev); - if (matecomponent_frame->priv->ui_component == NULL || MATECOMPONENT_EX (&corba_ev)) { - error = matecomponent_exception_get_text (&corba_ev); - CORBA_exception_free (&corba_ev); - gerror = g_error_new (mate_panel_applet_frame_matecomponent_error_quark (), 0, "cannot get popup component:\n%s", error); - g_free (error); - goto error_out; - } - - matecomponent_ui_util_set_ui (matecomponent_frame->priv->ui_component, DATADIR, - "MATE_Panel_Popup.xml", "panel", NULL); - - matecomponent_ui_component_add_listener (matecomponent_frame->priv->ui_component, - "LockAppletToPanel", - listener_popup_handle_lock, - frame); - - matecomponent_ui_component_add_verb_list_with_data ( - matecomponent_frame->priv->ui_component, popup_verbs, frame); - - control = matecomponent_control_frame_get_control (control_frame); - if (!control) { - CORBA_exception_free (&corba_ev); - gerror = g_error_new_literal (mate_panel_applet_frame_matecomponent_error_quark (), 0, "cannot get control"); - goto error_out; - } - - matecomponent_frame->priv->applet_shell = mate_panel_applet_frame_get_applet_shell (control); - if (matecomponent_frame->priv->applet_shell == CORBA_OBJECT_NIL) { - CORBA_exception_free (&corba_ev); - gerror = g_error_new_literal (mate_panel_applet_frame_matecomponent_error_quark (), 0, "cannot get applet shell"); - goto error_out; - } - - CORBA_exception_free (&corba_ev); - - MateCORBA_small_listen_for_broken (object, - G_CALLBACK (mate_panel_applet_frame_matecomponent_applet_broken), - frame); - - gtk_container_add (GTK_CONTAINER (frame), widget); - - goto out; - -error_out: - if (widget) - g_object_unref (widget); - if (!gerror) - gerror = g_error_new_literal (mate_panel_applet_frame_matecomponent_error_quark (), 0, "unknown error"); - -out: - _mate_panel_applet_frame_activated (frame, frame_act, gerror); -} - -gboolean -mate_panel_applet_frame_matecomponent_load (const gchar *iid, - MatePanelAppletFrameActivating *frame_act) -{ - MatePanelAppletFrameMateComponent *matecomponent_frame; - MatePanelAppletFrame *frame; - CORBA_Environment ev; - - g_return_val_if_fail (iid != NULL, FALSE); - g_return_val_if_fail (frame_act != NULL, FALSE); - - if (!mate_panel_applets_manager_factory_activate (iid)) - return FALSE; - - matecomponent_frame = g_object_new (PANEL_TYPE_APPLET_FRAME_MATECOMPONENT, NULL); - frame = MATE_PANEL_APPLET_FRAME (matecomponent_frame); - _mate_panel_applet_frame_set_iid (frame, iid); - - g_object_set_data (G_OBJECT (frame), "mate-panel-applet-frame-activating", frame_act); - - CORBA_exception_init (&ev); - - matecomponent_activation_activate_from_id_async ((gchar *) iid, 0, - (MateComponentActivationCallback) mate_panel_applet_frame_matecomponent_activated, - frame, &ev); - - CORBA_exception_free (&ev); - - return TRUE; -} diff --git a/matecomponent/panel-module/mate-panel-applet-frame-matecomponent.h b/matecomponent/panel-module/mate-panel-applet-frame-matecomponent.h deleted file mode 100644 index b6246e26..00000000 --- a/matecomponent/panel-module/mate-panel-applet-frame-matecomponent.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * mate-panel-applet-frame-matecomponent.h: panel side container for applets - * - * Copyright (C) 2001 - 2003 Sun Microsystems, Inc. - * Copyright (C) 2010 Vincent Untz - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - * - * Authors: - * Mark McLoughlin - */ - -#ifndef __MATE_PANEL_APPLET_FRAME_MATECOMPONENT_H__ -#define __MATE_PANEL_APPLET_FRAME_MATECOMPONENT_H__ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define PANEL_TYPE_APPLET_FRAME_MATECOMPONENT (mate_panel_applet_frame_matecomponent_get_type ()) -#define MATE_PANEL_APPLET_FRAME_MATECOMPONENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PANEL_TYPE_APPLET_FRAME_MATECOMPONENT, MatePanelAppletFrameMateComponent)) -#define MATE_PANEL_APPLET_FRAME_MATECOMPONENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), PANEL_TYPE_APPLET_FRAME_MATECOMPONENT, MatePanelAppletFrameMateComponentClass)) -#define PANEL_IS_APPLET_FRAME_MATECOMPONENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PANEL_TYPE_APPLET_FRAME_MATECOMPONENT)) -#define PANEL_IS_APPLET_FRAME_MATECOMPONENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PANEL_TYPE_APPLET_FRAME_MATECOMPONENT)) -#define MATE_PANEL_APPLET_FRAME_MATECOMPONENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), PANEL_TYPE_APPLET_FRAME_MATECOMPONENT, MatePanelAppletFrameMateComponentClass)) - -typedef struct _MatePanelAppletFrameMateComponent MatePanelAppletFrameMateComponent; -typedef struct _MatePanelAppletFrameMateComponentClass MatePanelAppletFrameMateComponentClass; -typedef struct _MatePanelAppletFrameMateComponentPrivate MatePanelAppletFrameMateComponentPrivate; - -struct _MatePanelAppletFrameMateComponentClass { - MatePanelAppletFrameClass parent_class; -}; - -struct _MatePanelAppletFrameMateComponent{ - MatePanelAppletFrame parent; - - MatePanelAppletFrameMateComponentPrivate *priv; -}; - -GType mate_panel_applet_frame_matecomponent_get_type (void) G_GNUC_CONST; - -gboolean mate_panel_applet_frame_matecomponent_load (const gchar *iid, - MatePanelAppletFrameActivating *frame_act); - -#ifdef __cplusplus -} -#endif - -#endif /* __MATE_PANEL_APPLET_FRAME_MATECOMPONENT_H__ */ diff --git a/matecomponent/panel-module/mate-panel-applets-manager-matecomponent.c b/matecomponent/panel-module/mate-panel-applets-manager-matecomponent.c deleted file mode 100644 index 3a0187a8..00000000 --- a/matecomponent/panel-module/mate-panel-applets-manager-matecomponent.c +++ /dev/null @@ -1,250 +0,0 @@ -/* - * mate-panel-applets-manager-matecomponent.c - * - * Copyright (C) 2010 Vincent Untz - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - */ - -#include - -#include -#include - -#include - -#include "mate-panel-applet-frame-matecomponent.h" - -#include "mate-panel-applets-manager-matecomponent.h" - -G_DEFINE_DYNAMIC_TYPE (MatePanelAppletsManagerMateComponent, mate_panel_applets_manager_matecomponent, PANEL_TYPE_APPLETS_MANAGER); - -struct _MatePanelAppletsManagerMateComponentPrivate -{ - GHashTable *applets; -}; - -static const char applet_requirements [] = - "has_all (repo_ids, ['IDL:MateComponent/Control:1.0'," - " 'IDL:MATE/Vertigo/MatePanelAppletShell:1.0']) && " - "defined (panel:icon)"; - -static char *applet_sort_criteria [] = { - "name", - NULL - }; - -static void -mate_panel_applets_manager_matecomponent_load_applet_infos (MatePanelAppletsManagerMateComponent *manager) -{ - MateComponent_ServerInfoList *applet_list; - CORBA_Environment env; - const char * const *langs; - GSList *langs_gslist; - int i; - - CORBA_exception_init (&env); - - applet_list = matecomponent_activation_query (applet_requirements, - applet_sort_criteria, - &env); - if (MATECOMPONENT_EX (&env)) { - g_warning ("MateComponent query returned exception %s\n", - MATECOMPONENT_EX_REPOID (&env)); - - CORBA_exception_free (&env); - CORBA_free (applet_list); - - return; - } - - CORBA_exception_free (&env); - - langs = g_get_language_names (); - - langs_gslist = NULL; - for (i = 0; langs[i]; i++) - langs_gslist = g_slist_prepend (langs_gslist, (char *) langs[i]); - - langs_gslist = g_slist_reverse (langs_gslist); - - for (i = 0; i < applet_list->_length; i++) { - MateComponent_ServerInfo *info; - const char *name, *description, *icon; - MatePanelAppletInfo *applet_info; - - info = &applet_list->_buffer[i]; - - name = matecomponent_server_info_prop_lookup (info, - "name", - langs_gslist); - description = matecomponent_server_info_prop_lookup (info, - "description", - langs_gslist); - icon = matecomponent_server_info_prop_lookup (info, - "panel:icon", - NULL); - - applet_info = mate_panel_applet_info_new (info->iid, name, description, icon, NULL); - - g_hash_table_insert (manager->priv->applets, g_strdup (info->iid), applet_info); - } - - g_slist_free (langs_gslist); - CORBA_free (applet_list); -} - -static GList * -mate_panel_applets_manager_matecomponent_get_applets (MatePanelAppletsManager *manager) -{ - MatePanelAppletsManagerMateComponent *matecomponent_manager = MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT (manager); - - GHashTableIter iter; - gpointer key, value; - GList *retval = NULL; - - g_hash_table_iter_init (&iter, matecomponent_manager->priv->applets); - while (g_hash_table_iter_next (&iter, &key, &value)) - retval = g_list_prepend (retval, value); - - return g_list_reverse (retval);; -} - -static gboolean -mate_panel_applets_manager_matecomponent_factory_activate (MatePanelAppletsManager *manager, - const gchar *iid) -{ - MatePanelAppletsManagerMateComponent *matecomponent_manager = MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT (manager); - MatePanelAppletInfo *info; - - /* we let matecomponent deal with that, but we need to return the right value */ - - info = g_hash_table_lookup (matecomponent_manager->priv->applets, iid); - - return (info != NULL); -} - -static gboolean -mate_panel_applets_manager_matecomponent_factory_deactivate (MatePanelAppletsManager *manager, - const gchar *iid) -{ - MatePanelAppletsManagerMateComponent *matecomponent_manager = MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT (manager); - MatePanelAppletInfo *info; - - /* we let matecomponent deal with that, but we need to return the right value */ - - info = g_hash_table_lookup (matecomponent_manager->priv->applets, iid); - - return (info != NULL); -} - -static MatePanelAppletInfo * -mate_panel_applets_manager_matecomponent_get_applet_info (MatePanelAppletsManager *manager, - const gchar *iid) -{ - MatePanelAppletsManagerMateComponent *matecomponent_manager = MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT (manager); - - return g_hash_table_lookup (matecomponent_manager->priv->applets, iid); -} - -static MatePanelAppletInfo * -mate_panel_applets_manager_matecomponent_get_applet_info_from_old_id (MatePanelAppletsManager *manager, - const gchar *iid) -{ - MatePanelAppletsManagerMateComponent *matecomponent_manager = MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT (manager); - - return g_hash_table_lookup (matecomponent_manager->priv->applets, iid); -} - -static gboolean -mate_panel_applets_manager_matecomponent_load_applet (MatePanelAppletsManager *manager, - const gchar *iid, - MatePanelAppletFrameActivating *frame_act) -{ - return mate_panel_applet_frame_matecomponent_load (iid, frame_act); -} - -static void -mate_panel_applets_manager_matecomponent_finalize (GObject *object) -{ - MatePanelAppletsManagerMateComponent *manager = MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT (object); - - if (manager->priv->applets) { - g_hash_table_destroy (manager->priv->applets); - manager->priv->applets = NULL; - } - - G_OBJECT_CLASS (mate_panel_applets_manager_matecomponent_parent_class)->finalize (object); -} - -static void -mate_panel_applets_manager_matecomponent_init (MatePanelAppletsManagerMateComponent *manager) -{ - manager->priv = G_TYPE_INSTANCE_GET_PRIVATE (manager, - PANEL_TYPE_APPLETS_MANAGER_MATECOMPONENT, - MatePanelAppletsManagerMateComponentPrivate); - - manager->priv->applets = g_hash_table_new_full (g_str_hash, - g_str_equal, - (GDestroyNotify) g_free, - (GDestroyNotify) mate_panel_applet_info_free); - - mate_panel_applets_manager_matecomponent_load_applet_infos (manager); -} - -static void -mate_panel_applets_manager_matecomponent_class_finalize (MatePanelAppletsManagerMateComponentClass *class) -{ -} - -static void -mate_panel_applets_manager_matecomponent_class_init (MatePanelAppletsManagerMateComponentClass *class) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (class); - MatePanelAppletsManagerClass *manager_class = MATE_PANEL_APPLETS_MANAGER_CLASS (class); - - /* This is a horrible hack: we shouldn't call matecomponent_init() here, but - * in g_io_module_load() or even - * mate_panel_applets_manager_matecomponent_register(). However, it looks like if - * there's no giomodule.cache file, the module gets unloaded, and - * matecomponent_init() gets called twice, which makes everythings goes wrong: - * matecomponent has been unloaded so believes it has to get initialized, but - * the types are already registered in the GType system. And bam. */ - - matecomponent_init (NULL, NULL); - - gobject_class->finalize = mate_panel_applets_manager_matecomponent_finalize; - - manager_class->get_applets = mate_panel_applets_manager_matecomponent_get_applets; - manager_class->factory_activate = mate_panel_applets_manager_matecomponent_factory_activate; - manager_class->factory_deactivate = mate_panel_applets_manager_matecomponent_factory_deactivate; - manager_class->get_applet_info = mate_panel_applets_manager_matecomponent_get_applet_info; - manager_class->get_applet_info_from_old_id = mate_panel_applets_manager_matecomponent_get_applet_info_from_old_id; - manager_class->load_applet = mate_panel_applets_manager_matecomponent_load_applet; - - g_type_class_add_private (class, sizeof (MatePanelAppletsManagerMateComponentPrivate)); -} - - -void -mate_panel_applets_manager_matecomponent_register (GIOModule *module) -{ - mate_panel_applets_manager_matecomponent_register_type (G_TYPE_MODULE (module)); - g_io_extension_point_implement (MATE_PANEL_APPLETS_MANAGER_EXTENSION_POINT_NAME, - PANEL_TYPE_APPLETS_MANAGER_MATECOMPONENT, - "matecomponent", - 10); -} diff --git a/matecomponent/panel-module/mate-panel-applets-manager-matecomponent.h b/matecomponent/panel-module/mate-panel-applets-manager-matecomponent.h deleted file mode 100644 index 88741ed8..00000000 --- a/matecomponent/panel-module/mate-panel-applets-manager-matecomponent.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * mate-panel-applets-manager-matecomponent.h - * - * Copyright (C) 2010 Vincent Untz - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - */ - -#ifndef __MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT_H__ -#define __MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT_H__ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define PANEL_TYPE_APPLETS_MANAGER_MATECOMPONENT (mate_panel_applets_manager_matecomponent_get_type ()) -#define MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PANEL_TYPE_APPLETS_MANAGER_MATECOMPONENT, MatePanelAppletsManagerMateComponent)) -#define MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANEL_TYPE_APPLETS_MANAGER_MATECOMPONENT, MatePanelAppletsManagerMateComponentClass)) -#define PANEL_IS_APPLETS_MANAGER_MATECOMPONENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PANEL_TYPE_APPLETS_MANAGER_MATECOMPONENT)) -#define PANEL_IS_APPLETS_MANAGER_MATECOMPONENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANEL_TYPE_APPLETS_MANAGER_MATECOMPONENT)) -#define MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PANEL_TYPE_APPLETS_MANAGER_MATECOMPONENT, MatePanelAppletsManagerMateComponentClass)) - -typedef struct _MatePanelAppletsManagerMateComponent MatePanelAppletsManagerMateComponent; -typedef struct _MatePanelAppletsManagerMateComponentClass MatePanelAppletsManagerMateComponentClass; -typedef struct _MatePanelAppletsManagerMateComponentPrivate MatePanelAppletsManagerMateComponentPrivate; - -struct _MatePanelAppletsManagerMateComponentClass { - MatePanelAppletsManagerClass parent_class; -}; - -struct _MatePanelAppletsManagerMateComponent { - MatePanelAppletsManager parent; - - /*< private > */ - MatePanelAppletsManagerMateComponentPrivate *priv; -}; - -GType mate_panel_applets_manager_matecomponent_get_type (void); - -#ifdef __cplusplus -} -#endif - -#endif /* __MATE_PANEL_APPLETS_MANAGER_MATECOMPONENT_H__ */ diff --git a/matecomponent/panel-module/mate-panel-applets-matecomponent-module.c b/matecomponent/panel-module/mate-panel-applets-matecomponent-module.c deleted file mode 100644 index 5713ebc4..00000000 --- a/matecomponent/panel-module/mate-panel-applets-matecomponent-module.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2010 Novell, Inc. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - * - * Author: Vincent Untz - */ - -#include "config.h" - -#include - -#include -#include "mate-panel-applets-manager-matecomponent.h" - -void -g_io_module_load (GIOModule *module) -{ - mate_panel_applets_manager_matecomponent_register (module); -} - -void -g_io_module_unload (GIOModule *module) -{ -} - -char ** -g_io_module_query (void) -{ - char *eps[] = { - MATE_PANEL_APPLETS_MANAGER_EXTENSION_POINT_NAME, - NULL - }; - return g_strdupv (eps); -} -- cgit v1.2.1