diff options
author | Sergey V. Udaltsov <svu@gnome.org> | 2012-02-22 23:41:59 +0000 |
---|---|---|
committer | Sergey V. Udaltsov <svu@gnome.org> | 2012-02-22 23:41:59 +0000 |
commit | d63547c01abff6a24920445455c8d2ede2eadd02 (patch) | |
tree | 3525df5c194cc2b63910882e6d507752e549d0dc | |
parent | e588c409c80fee159bc3603870abd93f7f80bf24 (diff) | |
download | libgnomekbd-d63547c01abff6a24920445455c8d2ede2eadd02.tar.gz |
Got rid of the obsolete plugins architecture
In the GNOME 3 world, there are gnome-shell extensions, there is introspection - so plugins are not necessary any more
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | capplet/.gitignore | 9 | ||||
-rw-r--r-- | capplet/.indent.pro | 2 | ||||
-rw-r--r-- | capplet/Makefile.am | 46 | ||||
-rw-r--r-- | capplet/gkbd-indicator-plugins-add.c | 220 | ||||
-rw-r--r-- | capplet/gkbd-indicator-plugins-capplet.c | 462 | ||||
-rw-r--r-- | capplet/gkbd-indicator-plugins-capplet.desktop.in.in | 15 | ||||
-rw-r--r-- | capplet/gkbd-indicator-plugins-capplet.h | 63 | ||||
-rw-r--r-- | capplet/gkbd-indicator-plugins-capplet.png | bin | 2378 -> 0 bytes | |||
-rw-r--r-- | capplet/gkbd-indicator-plugins.ui | 255 | ||||
-rw-r--r-- | capplet/gkbd-indicator-plugins_add.ui | 142 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | libgnomekbd/Makefile.am | 9 | ||||
-rw-r--r-- | libgnomekbd/gkbd-indicator-config.c | 13 | ||||
-rw-r--r-- | libgnomekbd/gkbd-indicator-config.h | 2 | ||||
-rw-r--r-- | libgnomekbd/gkbd-indicator-plugin-manager.c | 409 | ||||
-rw-r--r-- | libgnomekbd/gkbd-indicator-plugin-manager.h | 123 | ||||
-rw-r--r-- | libgnomekbd/gkbd-indicator-plugin.h | 132 | ||||
-rw-r--r-- | libgnomekbd/gkbd-indicator.c | 56 | ||||
-rw-r--r-- | libgnomekbd/libgnomekbd.convert | 1 | ||||
-rw-r--r-- | libgnomekbd/org.gnome.libgnomekbd.gschema.xml.in.in | 5 | ||||
-rw-r--r-- | po/POTFILES.in | 6 |
22 files changed, 4 insertions, 1970 deletions
diff --git a/Makefile.am b/Makefile.am index 83aba99..53f246c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,7 +2,7 @@ if BUILD_TESTS TEST = test endif -SUBDIRS = libgnomekbd $(TEST) capplet po +SUBDIRS = libgnomekbd $(TEST) po ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} diff --git a/capplet/.gitignore b/capplet/.gitignore deleted file mode 100644 index f789bf8..0000000 --- a/capplet/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -.deps -gkbd-indicator-plugins-capplet -gkbd-indicator-plugins-capplet.desktop -gkbd-indicator-plugins-capplet.desktop.in -.libs -*.lo -Makefile -Makefile.in -*.o diff --git a/capplet/.indent.pro b/capplet/.indent.pro deleted file mode 100644 index bdff074..0000000 --- a/capplet/.indent.pro +++ /dev/null @@ -1,2 +0,0 @@ --kr -i8 -pcs -lps -psl - diff --git a/capplet/Makefile.am b/capplet/Makefile.am deleted file mode 100644 index dfe73ad..0000000 --- a/capplet/Makefile.am +++ /dev/null @@ -1,46 +0,0 @@ -bin_PROGRAMS = gkbd-indicator-plugins-capplet - -uidir="$(pkgdatadir)/ui" -ui_DATA = gkbd-indicator-plugins.ui \ - gkbd-indicator-plugins_add.ui - -@INTLTOOL_DESKTOP_RULE@ - -desktopdir = $(datadir)/applications -Desktop_in_files = gkbd-indicator-plugins-capplet.desktop.in -desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop) - -gkbd_indicator_plugins_capplet_CFLAGS = \ - -I$(top_srcdir) -Wall \ - $(GCONF_CFLAGS) \ - $(GTK_CFLAGS) \ - $(LIBXKLAVIER_CFLAGS) \ - -I$(top_srcdir)/intl \ - -DSYS_PLUGIN_DIR=\"$(libdir)/gnomekbd/\" \ - -DG_LOG_DOMAIN=\"GnomeKbdIndicatorPluginsCapplet\" \ - -DPREFIX=\"$(prefix)\" \ - -DUIDIR=\"$(uidir)\" \ - -DDATADIR=\"$(datadir)\" \ - -DSYSCONFDIR=\"$(sysconfdir)\" \ - -DGNOMELOCALEDIR="\"$(datadir)/locale\"" \ - -DLIBDIR=\"$(libdir)\" - -gkbd_indicator_plugins_capplet_SOURCES = gkbd-indicator-plugins-capplet.c \ - gkbd-indicator-plugins-add.c \ - gkbd-indicator-plugins-capplet.h - -gkbd_indicator_plugins_capplet_LDFLAGS = -export-dynamic - -gkbd_indicator_plugins_capplet_LDADD = \ - $(GCONF_LIBS) \ - $(GTK_LIBS) \ - $(LIBXKLAVIER_LIBS) \ - $(top_builddir)/libgnomekbd/libgnomekbd.la \ - $(top_builddir)/libgnomekbd/libgnomekbdui.la - -EXTRA_DIST = gkbd-indicator-plugins-capplet.desktop.in.in \ - $(ui_DATA) \ - $(pixmap_DATA) - -DISTCLEANFILES = $(desktop_DATA) - diff --git a/capplet/gkbd-indicator-plugins-add.c b/capplet/gkbd-indicator-plugins-add.c deleted file mode 100644 index 83611ad..0000000 --- a/capplet/gkbd-indicator-plugins-add.c +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Copyright (C) 2006 Sergey V. Udaltsov <svu@gnome.org> - * - * This library 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) any later version. - * - * This 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include <config.h> - -#include "gkbd-indicator-plugins-capplet.h" - -#include <string.h> -#include <sys/stat.h> - -#include <gtk/gtk.h> -#include <gdk/gdkx.h> -#include <glib/gi18n.h> - -#include <libxklavier/xklavier.h> - -static void -CappletAddAvailablePluginFunc (const char *fullPath, - GkbdIndicatorPluginManagerRecord * rec, - GkbdIndicatorPluginsCapplet * gipc) -{ - GtkListStore *availablePluginsModel; - GtkTreeIter iter; - const GkbdIndicatorPlugin *plugin = rec->plugin; - - gchar **p = gipc->applet_cfg.enabled_plugins; - if (p != NULL) { - while (*p != NULL) { - if (!strcmp (*p, fullPath)) - return; - p++; - } - } - - availablePluginsModel = - GTK_LIST_STORE (g_object_get_data (G_OBJECT (gipc->capplet), - "gkbd_indicator_plugins_add.availablePluginsModel")); - if (availablePluginsModel == NULL) - return; - - if (plugin != NULL) { - gtk_list_store_append (availablePluginsModel, &iter); - gtk_list_store_set (availablePluginsModel, &iter, - NAME_COLUMN, plugin->name, - FULLPATH_COLUMN, fullPath, -1); - } -} - -static void -CappletFillAvailablePluginList (GtkTreeView * - availablePluginsList, - GkbdIndicatorPluginsCapplet * gipc) -{ - GtkListStore *availablePluginsModel = - GTK_LIST_STORE (gtk_tree_view_get_model - (GTK_TREE_VIEW (availablePluginsList))); - GHashTable *allPluginRecs = gipc->plugin_manager.all_plugin_recs; - - gtk_list_store_clear (availablePluginsModel); - if (allPluginRecs == NULL) - return; - - g_object_set_data (G_OBJECT (gipc->capplet), - "gkbd_indicator_plugins_add.availablePluginsModel", - availablePluginsModel); - g_hash_table_foreach (allPluginRecs, - (GHFunc) CappletAddAvailablePluginFunc, - gipc); - g_object_set_data (G_OBJECT (gipc->capplet), - "gkbd_indicator_plugins_add.availablePluginsModel", - NULL); -} - -static void -CappletAvailablePluginsSelectionChanged (GtkTreeSelection * - selection, - GkbdIndicatorPluginsCapplet * - gipc) -{ - GtkWidget *availablePluginsList = - GTK_WIDGET (gtk_tree_selection_get_tree_view (selection)); - gboolean isAnythingSelected = FALSE; - GtkWidget *lblDescription = - GTK_WIDGET (g_object_get_data (G_OBJECT (gipc->capplet), - "gkbd_indicator_plugins_add.lblDescription")); - - char *fullPath = - CappletGetSelectedPluginPath (GTK_TREE_VIEW - (availablePluginsList), - gipc); - isAnythingSelected = fullPath != NULL; - gtk_label_set_text (GTK_LABEL (lblDescription), - g_strconcat ("<small><i>", - _("No description."), - "</i></small>", NULL)); - gtk_label_set_use_markup (GTK_LABEL (lblDescription), TRUE); - - if (fullPath != NULL) { - const GkbdIndicatorPlugin *plugin = - gkbd_indicator_plugin_manager_get_plugin (&gipc-> - plugin_manager, - fullPath); - if (plugin != NULL && plugin->description != NULL) - gtk_label_set_text (GTK_LABEL (lblDescription), - g_strconcat ("<small><i>", - plugin->description, - "</i></small>", - NULL)); - gtk_label_set_use_markup (GTK_LABEL (lblDescription), - TRUE); - } - gtk_widget_set_sensitive (GTK_WIDGET - (g_object_get_data - (G_OBJECT (gipc->capplet), - "gkbd_indicator_plugins_add.btnOK")), - isAnythingSelected); -} - -void -CappletEnablePlugin (GtkWidget * btnAdd, - GkbdIndicatorPluginsCapplet * gipc) -{ - /* default domain! */ - GtkBuilder *builder; - GError *error = NULL; - GtkWidget *popup; - GtkWidget *availablePluginsList; - GtkTreeModel *availablePluginsModel; - GtkCellRenderer *renderer = - GTK_CELL_RENDERER (gtk_cell_renderer_text_new ()); - GtkTreeViewColumn *column = - gtk_tree_view_column_new_with_attributes (NULL, - renderer, - "text", - 0, - NULL); - GtkTreeSelection *selection; - gint response; - - builder = gtk_builder_new (); - - if (!gtk_builder_add_from_file (builder, - UIDIR - "/gkbd-indicator-plugins_add.ui", - &error)) { - g_warning ("Could not load builder file: %s", - error->message); - g_error_free (error); - return; - } - - popup = GTK_WIDGET (gtk_builder_get_object (builder, - "gkbd_indicator_plugins_add")); - - availablePluginsList = GTK_WIDGET (gtk_builder_get_object (builder, - "allPlugins")); - availablePluginsModel = - GTK_TREE_MODEL (gtk_list_store_new - (2, G_TYPE_STRING, G_TYPE_STRING)); - gtk_tree_view_set_model (GTK_TREE_VIEW (availablePluginsList), - availablePluginsModel); - gtk_tree_view_append_column (GTK_TREE_VIEW (availablePluginsList), - column); - selection = - gtk_tree_view_get_selection (GTK_TREE_VIEW - (availablePluginsList)); - gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); - CappletFillAvailablePluginList (GTK_TREE_VIEW - (availablePluginsList), gipc); - g_signal_connect (G_OBJECT (selection), "changed", - G_CALLBACK - (CappletAvailablePluginsSelectionChanged), gipc); - g_object_set_data (G_OBJECT (gipc->capplet), - "gkbd_indicator_plugins_add.btnOK", - GTK_WIDGET (gtk_builder_get_object - (builder, "btnOK"))); - g_object_set_data (G_OBJECT (gipc->capplet), - "gkbd_indicator_plugins_add.lblDescription", - GTK_WIDGET (gtk_builder_get_object - (builder, "lblDescription"))); - CappletAvailablePluginsSelectionChanged (selection, gipc); - response = gtk_dialog_run (GTK_DIALOG (popup)); - g_object_set_data (G_OBJECT (gipc->capplet), - "gkbd_indicator_plugins_add.lblDescription", - NULL); - g_object_set_data (G_OBJECT (gipc->capplet), - "gkbd_indicator_plugins_add.btnOK", NULL); - gtk_widget_hide (popup); - if (response == GTK_RESPONSE_OK) { - char *fullPath = - CappletGetSelectedPluginPath (GTK_TREE_VIEW - (availablePluginsList), - gipc); - if (fullPath != NULL) { - gkbd_indicator_plugin_manager_enable_plugin - (&gipc->plugin_manager, - &gipc->applet_cfg.enabled_plugins, fullPath); - CappletFillActivePluginList (gipc); - g_free (fullPath); - gkbd_indicator_config_save (&gipc->applet_cfg); - } - } - gtk_widget_destroy (popup); -} diff --git a/capplet/gkbd-indicator-plugins-capplet.c b/capplet/gkbd-indicator-plugins-capplet.c deleted file mode 100644 index 474f6ca..0000000 --- a/capplet/gkbd-indicator-plugins-capplet.c +++ /dev/null @@ -1,462 +0,0 @@ -/* - * Copyright (C) 2006 Sergey V. Udaltsov <svu@gnome.org> - * - * This library 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) any later version. - * - * This 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include <config.h> - -#include "gkbd-indicator-plugins-capplet.h" - -#include <string.h> -#include <sys/stat.h> - -#include <gtk/gtk.h> -#include <glib/gi18n.h> -#include <gdk/gdkx.h> - -static GkbdKeyboardConfig initialSysKbdConfig; -static GMainLoop *loop; - -extern void -CappletFillActivePluginList (GkbdIndicatorPluginsCapplet * gipc) -{ - GtkWidget *activePlugins = - CappletGetUiWidget (gipc, "activePlugins"); - GtkListStore *activePluginsModel = - GTK_LIST_STORE (gtk_tree_view_get_model - (GTK_TREE_VIEW (activePlugins))); - gchar **pluginPathNode = gipc->applet_cfg.enabled_plugins; - GHashTable *allPluginRecs = gipc->plugin_manager.all_plugin_recs; - - gtk_list_store_clear (activePluginsModel); - if (allPluginRecs == NULL) - return; - - if (pluginPathNode != NULL) { - while (*pluginPathNode != NULL) { - GtkTreeIter iter; - const char *fullPath = *pluginPathNode; - const GkbdIndicatorPlugin *plugin = - gkbd_indicator_plugin_manager_get_plugin - (&gipc->plugin_manager, - fullPath); - if (plugin != NULL) { - gtk_list_store_append (activePluginsModel, - &iter); - gtk_list_store_set (activePluginsModel, - &iter, NAME_COLUMN, - plugin->name, - FULLPATH_COLUMN, - fullPath, -1); - } - - pluginPathNode++; - } - } -} - -static char * -CappletGetSelectedActivePluginPath (GkbdIndicatorPluginsCapplet * gipc) -{ - GtkTreeView *pluginsList = - GTK_TREE_VIEW (CappletGetUiWidget (gipc, "activePlugins")); - return CappletGetSelectedPluginPath (pluginsList, gipc); -} - -char * -CappletGetSelectedPluginPath (GtkTreeView * pluginsList, - GkbdIndicatorPluginsCapplet * gipc) -{ - GtkTreeModel *model = - gtk_tree_view_get_model (GTK_TREE_VIEW (pluginsList)); - GtkTreeSelection *selection = - gtk_tree_view_get_selection (GTK_TREE_VIEW (pluginsList)); - GtkTreeIter selectedIter; - - if (gtk_tree_selection_get_selected - (selection, NULL, &selectedIter)) { - char *fullPath = NULL; - - gtk_tree_model_get (model, &selectedIter, - FULLPATH_COLUMN, &fullPath, -1); - return fullPath; - } - return NULL; -} - -static void -CappletActivePluginsSelectionChanged (GtkTreeSelection * - selection, - GkbdIndicatorPluginsCapplet * gipc) -{ - GtkWidget *activePlugins = - CappletGetUiWidget (gipc, "activePlugins"); - GtkTreeModel *model = - gtk_tree_view_get_model (GTK_TREE_VIEW (activePlugins)); - GtkTreeIter selectedIter; - gboolean isAnythingSelected = FALSE; - gboolean isFirstSelected = FALSE; - gboolean isLastSelected = FALSE; - gboolean hasConfigurationUi = FALSE; - GtkWidget *btnRemove = CappletGetUiWidget (gipc, "btnRemove"); - GtkWidget *btnUp = CappletGetUiWidget (gipc, "btnUp"); - GtkWidget *btnDown = CappletGetUiWidget (gipc, "btnDown"); - GtkWidget *btnProperties = - CappletGetUiWidget (gipc, "btnProperties"); - GtkWidget *lblDescription = - CappletGetUiWidget (gipc, "lblDescription"); - - gtk_label_set_text (GTK_LABEL (lblDescription), - g_strconcat ("<small><i>", - _("No description."), - "</i></small>", NULL)); - gtk_label_set_use_markup (GTK_LABEL (lblDescription), TRUE); - - if (gtk_tree_selection_get_selected - (selection, NULL, &selectedIter)) { - int counter = gtk_tree_model_iter_n_children (model, NULL); - GtkTreePath *treePath = - gtk_tree_model_get_path (model, &selectedIter); - gint *indices = gtk_tree_path_get_indices (treePath); - char *fullPath = CappletGetSelectedActivePluginPath (gipc); - const GkbdIndicatorPlugin *plugin = - gkbd_indicator_plugin_manager_get_plugin - (&gipc->plugin_manager, - fullPath); - - isAnythingSelected = TRUE; - - isFirstSelected = indices[0] == 0; - isLastSelected = indices[0] == counter - 1; - - if (plugin != NULL) { - hasConfigurationUi = - (plugin->configure_properties_callback != - NULL); - gtk_label_set_text (GTK_LABEL (lblDescription), - g_strconcat ("<small><i>", - plugin->description, - "</i></small>", - NULL)); - gtk_label_set_use_markup (GTK_LABEL - (lblDescription), TRUE); - } - g_free (fullPath); - - gtk_tree_path_free (treePath); - } - gtk_widget_set_sensitive (btnRemove, isAnythingSelected); - gtk_widget_set_sensitive (btnUp, isAnythingSelected - && !isFirstSelected); - gtk_widget_set_sensitive (btnDown, isAnythingSelected - && !isLastSelected); - gtk_widget_set_sensitive (btnProperties, isAnythingSelected - && hasConfigurationUi); -} - -static void -CappletPromotePlugin (GtkWidget * btnUp, - GkbdIndicatorPluginsCapplet * gipc) -{ - char *fullPath = CappletGetSelectedActivePluginPath (gipc); - if (fullPath != NULL) { - gkbd_indicator_plugin_manager_promote_plugin - (&gipc->plugin_manager, - gipc->applet_cfg.enabled_plugins, fullPath); - g_free (fullPath); - CappletFillActivePluginList (gipc); - gkbd_indicator_config_save (&gipc->applet_cfg); - } -} - -static void -CappletDemotePlugin (GtkWidget * btnUp, GkbdIndicatorPluginsCapplet * gipc) -{ - char *fullPath = CappletGetSelectedActivePluginPath (gipc); - if (fullPath != NULL) { - gkbd_indicator_plugin_manager_demote_plugin - (&gipc->plugin_manager, - gipc->applet_cfg.enabled_plugins, fullPath); - g_free (fullPath); - CappletFillActivePluginList (gipc); - gkbd_indicator_config_save (&gipc->applet_cfg); - } -} - -static void -CappletDisablePlugin (GtkWidget * btnRemove, - GkbdIndicatorPluginsCapplet * gipc) -{ - char *fullPath = CappletGetSelectedActivePluginPath (gipc); - if (fullPath != NULL) { - gkbd_indicator_plugin_manager_disable_plugin - (&gipc->plugin_manager, - &gipc->applet_cfg.enabled_plugins, fullPath); - g_free (fullPath); - CappletFillActivePluginList (gipc); - gkbd_indicator_config_save (&gipc->applet_cfg); - } -} - -static void -CappletConfigurePlugin (GtkWidget * btnRemove, - GkbdIndicatorPluginsCapplet * gipc) -{ - char *fullPath = CappletGetSelectedActivePluginPath (gipc); - if (fullPath != NULL) { - gkbd_indicator_plugin_manager_configure_plugin - (&gipc->plugin_manager, &gipc->plugin_container, - fullPath, GTK_WINDOW (gipc->capplet)); - g_free (fullPath); - } -} - -static void -CappletResponse (GtkDialog * dialog, gint response) -{ - if (response == GTK_RESPONSE_HELP) { - GError *error = NULL; - GdkAppLaunchContext *ctx = - gdk_display_get_app_launch_context - (gtk_widget_get_display (GTK_WIDGET (dialog))); - - g_app_info_launch_default_for_uri - ("ghelp:gkbd?gkb-indicator-applet-plugins", - G_APP_LAUNCH_CONTEXT (ctx), &error); - - if (error) { - GtkWidget *d = NULL; - - d = gtk_message_dialog_new (GTK_WINDOW (dialog), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_CLOSE, - "%s", _ - ("Unable to open help file")); - gtk_message_dialog_format_secondary_text - (GTK_MESSAGE_DIALOG (d), "%s", error->message); - g_signal_connect (d, "response", - G_CALLBACK (gtk_widget_destroy), - NULL); - gtk_window_present (GTK_WINDOW (d)); - - g_error_free (error); - } - - return; - } - - g_main_loop_quit (loop); -} - -static void -CappletSetup (GkbdIndicatorPluginsCapplet * gipc) -{ - GtkBuilder *builder; - GError *error = NULL; - GtkWidget *button; - GtkWidget *capplet; - GtkWidget *activePlugins; - GtkTreeModel *activePluginsModel; - GtkCellRenderer *renderer = - GTK_CELL_RENDERER (gtk_cell_renderer_text_new ()); - GtkTreeViewColumn *column = - gtk_tree_view_column_new_with_attributes (NULL, renderer, - "text", 0, - NULL); - GtkTreeSelection *selection; - builder = gtk_builder_new (); - - gtk_window_set_default_icon_name ("input-keyboard"); - - /* default domain! */ - if (!gtk_builder_add_from_file (builder, - UIDIR "/gkbd-indicator-plugins.ui", - &error)) { - g_warning ("Could not load builder file: %s", - error->message); - g_error_free (error); - return; - } - - gipc->capplet = capplet = - GTK_WIDGET (gtk_builder_get_object - (builder, "gkbd_indicator_plugins")); - - gtk_builder_connect_signals (builder, NULL); - - g_object_set_data (G_OBJECT (capplet), "uiData", builder); - g_signal_connect_swapped (capplet, - "destroy", G_CALLBACK (g_object_unref), - builder); - g_signal_connect_swapped (G_OBJECT (capplet), "unrealize", - G_CALLBACK (g_main_loop_quit), loop); - - g_signal_connect (capplet, - "response", G_CALLBACK (CappletResponse), NULL); - - button = GTK_WIDGET (gtk_builder_get_object (builder, "btnUp")); - g_signal_connect (button, "clicked", - G_CALLBACK (CappletPromotePlugin), gipc); - button = GTK_WIDGET (gtk_builder_get_object (builder, "btnDown")); - g_signal_connect (button, - "clicked", - G_CALLBACK (CappletDemotePlugin), gipc); - button = GTK_WIDGET (gtk_builder_get_object (builder, "btnAdd")); - g_signal_connect (button, "clicked", - G_CALLBACK (CappletEnablePlugin), gipc); - button = - GTK_WIDGET (gtk_builder_get_object (builder, "btnRemove")); - g_signal_connect (button, "clicked", - G_CALLBACK (CappletDisablePlugin), gipc); - button = - GTK_WIDGET (gtk_builder_get_object (builder, "btnProperties")); - g_signal_connect (button, "clicked", - G_CALLBACK (CappletConfigurePlugin), gipc); - - activePlugins = CappletGetUiWidget (gipc, "activePlugins"); - activePluginsModel = - GTK_TREE_MODEL (gtk_list_store_new - (2, G_TYPE_STRING, G_TYPE_STRING)); - gtk_tree_view_set_model (GTK_TREE_VIEW (activePlugins), - activePluginsModel); - gtk_tree_view_append_column (GTK_TREE_VIEW (activePlugins), - column); - selection = - gtk_tree_view_get_selection (GTK_TREE_VIEW (activePlugins)); - gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); - g_signal_connect (G_OBJECT (selection), "changed", - G_CALLBACK - (CappletActivePluginsSelectionChanged), gipc); - CappletFillActivePluginList (gipc); - CappletActivePluginsSelectionChanged (selection, gipc); - gtk_widget_show_all (capplet); -} - -int -main (int argc, char **argv) -{ - GkbdIndicatorPluginsCapplet gipc; - - bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - textdomain (GETTEXT_PACKAGE); - memset (&gipc, 0, sizeof (gipc)); - gtk_init_with_args (&argc, &argv, "gkbd", NULL, NULL, NULL); - /*GkbdIndicatorInstallGlibLogAppender( ); */ - gipc.engine = - xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY - (gdk_display_get_default ())); - gipc.config_registry = - xkl_config_registry_get_instance (gipc.engine); - - gkbd_indicator_plugin_container_init (&gipc.plugin_container); - - gkbd_keyboard_config_init (&gipc.kbd_cfg, gipc.engine); - gkbd_keyboard_config_init (&initialSysKbdConfig, gipc.engine); - - gkbd_indicator_config_init (&gipc.applet_cfg, gipc.engine); - - gkbd_indicator_plugin_manager_init (&gipc.plugin_manager); - - gkbd_keyboard_config_load_from_x_initial (&initialSysKbdConfig, - NULL); - gkbd_keyboard_config_load (&gipc.kbd_cfg, &initialSysKbdConfig); - - gkbd_indicator_config_load (&gipc.applet_cfg); - - loop = g_main_loop_new (NULL, TRUE); - - CappletSetup (&gipc); - - g_main_loop_run (loop); - - gkbd_indicator_plugin_manager_term (&gipc.plugin_manager); - - gkbd_indicator_config_term (&gipc.applet_cfg); - - gkbd_keyboard_config_term (&gipc.kbd_cfg); - gkbd_keyboard_config_term (&initialSysKbdConfig); - - gkbd_indicator_plugin_container_term (&gipc.plugin_container); - g_object_unref (G_OBJECT (gipc.config_registry)); - g_object_unref (G_OBJECT (gipc.engine)); - return 0; -} - -/* functions just for plugins - otherwise ldd is not happy */ -void -gkbd_indicator_plugin_container_reinit_ui (GkbdIndicatorPluginContainer * - pc) -{ -} - -gchar **gkbd_indicator_plugin_load_localized_group_names - (GkbdIndicatorPluginContainer * pc) { - GkbdDesktopConfig *config = - &((GkbdIndicatorPluginsCapplet *) pc)->cfg; - XklConfigRegistry *config_registry = - ((GkbdIndicatorPluginsCapplet *) pc)->config_registry; - - int i; - const gchar **native_names = - xkl_engine_get_groups_names (config->engine); - guint total_groups = xkl_engine_get_num_groups (config->engine); - guint total_layouts; - gchar **rv = g_new0 (char *, total_groups + 1); - gchar **current_descr = rv; - - if ((xkl_engine_get_features (config->engine) & - XKLF_MULTIPLE_LAYOUTS_SUPPORTED) - && config->layout_names_as_group_names) { - XklConfigRec *xkl_config = xkl_config_rec_new (); - if (xkl_config_rec_get_from_server - (xkl_config, config->engine)) { - gchar **sgn = NULL; - gchar **fgn = NULL; - gkbd_desktop_config_load_group_descriptions - (config, config_registry, - (const gchar **) xkl_config->layouts, - (const gchar **) xkl_config->variants, &sgn, - &fgn); - g_strfreev (sgn); - rv = fgn; - } - g_object_unref (G_OBJECT (xkl_config)); - /* Worst case - multiple layous - but SOME of them are multigrouped :((( - * We cannot do much - just add empty descriptions. - * The UI is going to be messy. - * Canadian layouts are famous for this sh.t. */ - total_layouts = g_strv_length (rv); - if (total_layouts != total_groups) { - xkl_debug (0, - "The mismatch between " - "the number of groups: %d and number of layouts: %d\n", - total_groups, total_layouts); - current_descr = rv + total_layouts; - for (i = total_groups - total_layouts; --i >= 0;) - *current_descr++ = g_strdup (""); - } - } - total_layouts = g_strv_length (rv); - if (!total_layouts) - for (i = total_groups; --i >= 0;) - *current_descr++ = g_strdup (*native_names++); - - return rv; -} diff --git a/capplet/gkbd-indicator-plugins-capplet.desktop.in.in b/capplet/gkbd-indicator-plugins-capplet.desktop.in.in deleted file mode 100644 index 2b6f0a9..0000000 --- a/capplet/gkbd-indicator-plugins-capplet.desktop.in.in +++ /dev/null @@ -1,15 +0,0 @@ -[Desktop Entry] -_Name=Keyboard Indicator plugins -_Comment=Enable/disable installed plugins -Exec=gkbd-indicator-plugins-capplet -Icon=input-keyboard -Terminal=false -Type=Application -StartupNotify=true -Categories=GTK;GNOME;Settings;DesktopSettings; -OnlyShowIn=GNOME; -NoDisplay=true -X-GNOME-Bugzilla-Bugzilla=GNOME -X-GNOME-Bugzilla-Product=libgnomekbd -X-GNOME-Bugzilla-Component=Capplet -X-GNOME-Bugzilla-Version=@VERSION@ diff --git a/capplet/gkbd-indicator-plugins-capplet.h b/capplet/gkbd-indicator-plugins-capplet.h deleted file mode 100644 index 1efa317..0000000 --- a/capplet/gkbd-indicator-plugins-capplet.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (C) 2006 Sergey V. Udaltsov <svu@gnome.org> - * - * This library 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) any later version. - * - * This 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GKBD_INDICATOR_PLUGINS_CAPPLET_H__ -#define __GKBD_INDICATOR_PLUGINS_CAPPLET_H__ - -#include <glib-object.h> -#include <gtk/gtk.h> - -#include "libgnomekbd/gkbd-desktop-config.h" -#include "libgnomekbd/gkbd-indicator-config.h" -#include "libgnomekbd/gkbd-keyboard-config.h" - -#include "libgnomekbd/gkbd-indicator-plugin-manager.h" -#include "libgnomekbd/gkbd-util.h" - -typedef struct _GkbdIndicatorPluginsCapplet { - GkbdIndicatorPluginContainer plugin_container; - GkbdDesktopConfig cfg; - GkbdIndicatorConfig applet_cfg; - GkbdKeyboardConfig kbd_cfg; - GkbdIndicatorPluginManager plugin_manager; - XklEngine *engine; - XklConfigRegistry *config_registry; - - GtkWidget *capplet; -} GkbdIndicatorPluginsCapplet; - -#define NAME_COLUMN 0 -#define FULLPATH_COLUMN 1 - -#define CappletGetUiWidget( gipc, name ) \ - GTK_WIDGET ( gtk_builder_get_object ( \ - GTK_BUILDER( g_object_get_data( G_OBJECT( (gipc)->capplet ), "uiData" ) ), \ - name ) ) - -extern void CappletFillActivePluginList (GkbdIndicatorPluginsCapplet * - gipc); - -extern char *CappletGetSelectedPluginPath (GtkTreeView * plugins_list, - GkbdIndicatorPluginsCapplet * - gipc); - -extern void CappletEnablePlugin (GtkWidget * btnAdd, - GkbdIndicatorPluginsCapplet * gipc); - -#endif diff --git a/capplet/gkbd-indicator-plugins-capplet.png b/capplet/gkbd-indicator-plugins-capplet.png Binary files differdeleted file mode 100644 index acedf80..0000000 --- a/capplet/gkbd-indicator-plugins-capplet.png +++ /dev/null diff --git a/capplet/gkbd-indicator-plugins.ui b/capplet/gkbd-indicator-plugins.ui deleted file mode 100644 index 54e02c3..0000000 --- a/capplet/gkbd-indicator-plugins.ui +++ /dev/null @@ -1,255 +0,0 @@ -<?xml version="1.0"?> -<interface> - <!-- interface-requires gtk+ 2.12 --> - <!-- interface-naming-policy toplevel-contextual --> - <object class="GtkDialog" id="gkbd_indicator_plugins"> - <property name="visible">True</property> - <property name="border_width">5</property> - <property name="title" translatable="yes">Keyboard Indicator Plugins</property> - <property name="type_hint">dialog</property> - <property name="has_separator">False</property> - <child internal-child="vbox"> - <object class="GtkVBox" id="dialog-vbox1"> - <property name="visible">True</property> - <property name="spacing">2</property> - <child> - <object class="GtkVBox" id="vbox5"> - <property name="visible">True</property> - <property name="border_width">5</property> - <property name="spacing">6</property> - <child> - <object class="GtkHBox" id="hbox1"> - <property name="visible">True</property> - <property name="spacing">12</property> - <child> - <object class="GtkAlignment" id="alignment1"> - <property name="visible">True</property> - <child> - <object class="GtkVBox" id="vbox1"> - <property name="visible">True</property> - <property name="spacing">6</property> - <child> - <object class="GtkLabel" id="label3"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Active _plugins:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">activePlugins</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkScrolledWindow" id="scrolledwindow1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">automatic</property> - <property name="vscrollbar_policy">automatic</property> - <property name="shadow_type">in</property> - <child> - <object class="GtkTreeView" id="activePlugins"> - <property name="width_request">160</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="tooltip_text" translatable="yes">The list of active plugins</property> - <property name="headers_visible">False</property> - </object> - </child> - </object> - <packing> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkAlignment" id="alignment12"> - <property name="visible">True</property> - <child> - <object class="GtkVBox" id="vbox3"> - <property name="visible">True</property> - <property name="spacing">6</property> - <child> - <object class="GtkLabel" id="label10"> - <property name="visible">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkButton" id="btnAdd"> - <property name="label">gtk-add</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Activate more plugins</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="btnRemove"> - <property name="label">gtk-remove</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Deactivate selected plugin</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> - <child> - <object class="GtkButton" id="btnUp"> - <property name="label">gtk-go-up</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Increase the plugin priority</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">3</property> - </packing> - </child> - <child> - <object class="GtkButton" id="btnDown"> - <property name="label">gtk-go-down</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Decrease the plugin priority</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">4</property> - </packing> - </child> - <child> - <object class="GtkButton" id="btnProperties"> - <property name="label">gtk-properties</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Configure the selected plugin</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">5</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label11"> - <property name="visible">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">6</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="lblDescription"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="use_markup">True</property> - <property name="wrap">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="position">1</property> - </packing> - </child> - <child internal-child="action_area"> - <object class="GtkHButtonBox" id="dialog-action_area1"> - <property name="visible">True</property> - <property name="layout_style">end</property> - <child> - <object class="GtkButton" id="btnClose"> - <property name="label">gtk-close</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Close the dialog</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkButton" id="btnHelp"> - <property name="label">gtk-help</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="pack_type">end</property> - <property name="position">0</property> - </packing> - </child> - </object> - </child> - <action-widgets> - <action-widget response="-7">btnClose</action-widget> - <action-widget response="-11">btnHelp</action-widget> - </action-widgets> - </object> -</interface> diff --git a/capplet/gkbd-indicator-plugins_add.ui b/capplet/gkbd-indicator-plugins_add.ui deleted file mode 100644 index dcfa3cc..0000000 --- a/capplet/gkbd-indicator-plugins_add.ui +++ /dev/null @@ -1,142 +0,0 @@ -<?xml version="1.0"?> -<interface> - <!-- interface-requires gtk+ 2.12 --> - <!-- interface-naming-policy toplevel-contextual --> - <object class="GtkDialog" id="gkbd_indicator_plugins_add"> - <property name="visible">True</property> - <property name="border_width">5</property> - <property name="title" translatable="yes">Add Plugin</property> - <property name="modal">True</property> - <property name="destroy_with_parent">True</property> - <property name="type_hint">dialog</property> - <property name="has_separator">False</property> - <child internal-child="vbox"> - <object class="GtkVBox" id="dialog-vbox2"> - <property name="visible">True</property> - <property name="spacing">2</property> - <child> - <object class="GtkAlignment" id="alignment13"> - <property name="visible">True</property> - <property name="border_width">5</property> - <child> - <object class="GtkVBox" id="vbox4"> - <property name="visible">True</property> - <property name="spacing">6</property> - <child> - <object class="GtkLabel" id="label18"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">_Available plugins:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">allPlugins</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkScrolledWindow" id="scrolledwindow2"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">automatic</property> - <property name="vscrollbar_policy">automatic</property> - <property name="shadow_type">in</property> - <child> - <object class="GtkTreeView" id="allPlugins"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="headers_visible">False</property> - </object> - </child> - </object> - <packing> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="lblDescription"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="use_markup">True</property> - <property name="wrap">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="position">1</property> - </packing> - </child> - <child internal-child="action_area"> - <object class="GtkHButtonBox" id="dialog-action_area2"> - <property name="visible">True</property> - <property name="layout_style">end</property> - <child> - <object class="GtkButton" id="helpbutton1"> - <property name="label">gtk-help</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkButton" id="cancelbutton1"> - <property name="label">gtk-cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="btnOK"> - <property name="label">gtk-ok</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="pack_type">end</property> - <property name="position">0</property> - </packing> - </child> - </object> - </child> - <action-widgets> - <action-widget response="-11">helpbutton1</action-widget> - <action-widget response="-6">cancelbutton1</action-widget> - <action-widget response="-5">btnOK</action-widget> - </action-widgets> - </object> -</interface> diff --git a/configure.in b/configure.in index 37c888d..c36c165 100644 --- a/configure.in +++ b/configure.in @@ -101,6 +101,4 @@ libgnomekbd/org.gnome.libgnomekbd.keyboard.gschema.xml.in libgnomekbd/org.gnome.libgnomekbd.gschema.xml.in libgnomekbd/gkbd-keyboard-display.desktop.in test/Makefile -capplet/Makefile -capplet/gkbd-indicator-plugins-capplet.desktop.in ]) diff --git a/libgnomekbd/Makefile.am b/libgnomekbd/Makefile.am index 7117f97..ed71260 100644 --- a/libgnomekbd/Makefile.am +++ b/libgnomekbd/Makefile.am @@ -23,7 +23,6 @@ common_CFLAGS = \ $(LIBXKLAVIER_CFLAGS) \ $(XLIB_CFLAGS) \ -I$(top_srcdir)/intl \ - -DSYS_PLUGIN_DIR=\"$(libdir)/gnomekbd/\" \ -DG_LOG_DOMAIN=\"GnomeKbdIndicator\" \ -DDATADIR=\"$(datadir)\" \ -DICONSDIR=\"$(iconsdir)\" \ @@ -65,7 +64,6 @@ libgnomekbdui_la_SOURCES = \ gkbd-indicator.c \ gkbd-status.c \ gkbd-indicator-marshal.c \ - gkbd-indicator-plugin-manager.c \ gkbd-keyboard-drawing-marshal.c \ gkbd-keyboard-drawing.c @@ -107,7 +105,6 @@ gnomekbdinc_HEADERS = \ gkbd-indicator.h \ gkbd-status.h \ gkbd-indicator-config.h \ - gkbd-indicator-plugin.h \ gkbd-keyboard-drawing.h \ gkbd-util.h @@ -117,8 +114,7 @@ sys_DATA = $(sys_in_in_files:.desktop.in.in=.desktop) @INTLTOOL_DESKTOP_RULE@ -noinst_HEADERS = gkbd-indicator-plugin-manager.h \ - $(extra_nih) \ +noinst_HEADERS = $(extra_nih) \ gkbd-config-private.h convertdir = $(datadir)/GConf/gsettings @@ -161,8 +157,7 @@ INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) if HAVE_INTROSPECTION introspection_sources = $(gnomekbdinc_HEADERS) \ $(libgnomekbd_la_SOURCES) \ - $(libgnomekbdui_la_SOURCES) \ - gkbd-indicator-plugin-manager.h + $(libgnomekbdui_la_SOURCES) Gkbd-3.0.gir: libgnomekbd.la libgnomekbdui.la Gkbd_3_0_gir_INCLUDES = GObject-2.0 Gtk-3.0 xlib-2.0 Xkl-1.0 diff --git a/libgnomekbd/gkbd-indicator-config.c b/libgnomekbd/gkbd-indicator-config.c index c678643..fce70b2 100644 --- a/libgnomekbd/gkbd-indicator-config.c +++ b/libgnomekbd/gkbd-indicator-config.c @@ -39,8 +39,6 @@ */ const gchar GKBD_INDICATOR_CONFIG_KEY_SHOW_FLAGS[] = "show-flags"; -const gchar GKBD_INDICATOR_CONFIG_KEY_ENABLED_PLUGINS[] = - "enabled-plugins"; const gchar GKBD_INDICATOR_CONFIG_KEY_SECONDARIES[] = "secondary"; const gchar GKBD_INDICATOR_CONFIG_KEY_FONT_FAMILY[] = "font-family"; const gchar GKBD_INDICATOR_CONFIG_KEY_FONT_SIZE[] = "font-size"; @@ -280,8 +278,6 @@ gkbd_indicator_config_term (GkbdIndicatorConfig * ind_config) gkbd_indicator_config_free_image_filenames (ind_config); - g_strfreev (ind_config->enabled_plugins); - ind_config->enabled_plugins = NULL; g_object_unref (ind_config->settings); ind_config->settings = NULL; } @@ -299,11 +295,6 @@ gkbd_indicator_config_load (GkbdIndicatorConfig * ind_config) gkbd_indicator_config_load_font (ind_config); gkbd_indicator_config_load_colors (ind_config); - - g_strfreev (ind_config->enabled_plugins); - ind_config->enabled_plugins = - g_settings_get_strv (ind_config->settings, - GKBD_INDICATOR_CONFIG_KEY_ENABLED_PLUGINS); } void @@ -317,10 +308,6 @@ gkbd_indicator_config_save (GkbdIndicatorConfig * ind_config) g_settings_set_boolean (ind_config->settings, GKBD_INDICATOR_CONFIG_KEY_SHOW_FLAGS, ind_config->show_flags); - g_settings_set_strv (ind_config->settings, - GKBD_INDICATOR_CONFIG_KEY_ENABLED_PLUGINS, - (const gchar * - const *) ind_config->enabled_plugins); g_settings_apply (ind_config->settings); } diff --git a/libgnomekbd/gkbd-indicator-config.h b/libgnomekbd/gkbd-indicator-config.h index 9b9d935..3c1515b 100644 --- a/libgnomekbd/gkbd-indicator-config.h +++ b/libgnomekbd/gkbd-indicator-config.h @@ -37,8 +37,6 @@ struct _GkbdIndicatorConfig { gchar *foreground_color; gchar *background_color; - gchar **enabled_plugins; - /* private, transient */ GSettings *settings; GSList *image_filenames; diff --git a/libgnomekbd/gkbd-indicator-plugin-manager.c b/libgnomekbd/gkbd-indicator-plugin-manager.c deleted file mode 100644 index 53aa35b..0000000 --- a/libgnomekbd/gkbd-indicator-plugin-manager.c +++ /dev/null @@ -1,409 +0,0 @@ -/* - * Copyright (C) 2006 Sergey V. Udaltsov <svu@gnome.org> - * - * This library 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) any later version. - * - * This 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include <config.h> - -#include <string.h> - -#include <libxklavier/xklavier.h> - -#include <gkbd-indicator-plugin-manager.h> -#include <gkbd-config-private.h> -#include <gkbd-util.h> - -#define FOREACH_INITED_PLUGIN() \ -{ \ - GSList *prec; \ - for( prec = manager->inited_plugin_recs; prec != NULL; prec = prec->next ) \ - { \ - const GkbdIndicatorPlugin *plugin = \ - ( ( GkbdIndicatorPluginManagerRecord * ) ( prec->data ) )->plugin; \ - if( plugin != NULL ) \ - { - -#define NEXT_INITED_PLUGIN() \ - } \ - } \ -} - -static void -gkbd_indicator_plugin_manager_add_plugins_dir (GkbdIndicatorPluginManager * - manager, - const char *dirname) -{ - GDir *dir = g_dir_open (dirname, 0, NULL); - const gchar *filename; - const GkbdIndicatorPlugin *plugin; - - if (dir == NULL) - return; - - xkl_debug (100, "Scanning [%s]...\n", dirname); - while ((filename = g_dir_read_name (dir)) != NULL) { - gchar *full_path = - g_build_filename (dirname, filename, NULL); - xkl_debug (100, "Loading plugin module [%s]...\n", - full_path); - if (full_path != NULL) { - GModule *module = g_module_open (full_path, 0); - if (module != NULL) { - gpointer get_plugin_func; - if (g_module_symbol - (module, "GetPlugin", - &get_plugin_func)) { - plugin = - ((GkbdIndicatorPluginGetPluginFunc) - get_plugin_func) (); - if (plugin != NULL) { - GkbdIndicatorPluginManagerRecord - * rec = - g_new0 - (GkbdIndicatorPluginManagerRecord, - 1); - xkl_debug (100, - "Loaded plugin from [%s]: [%s]/[%s]...\n", - full_path, - plugin->name, - plugin-> - description); - rec->full_path = full_path; - rec->module = module; - rec->plugin = plugin; - g_hash_table_insert - (manager-> - all_plugin_recs, - full_path, rec); - continue; - } - } else - xkl_debug (0, - "Bad plugin: [%s]\n", - full_path); - g_module_close (module); - } else - xkl_debug (0, "Bad module: [%s], %s\n", - full_path, g_module_error ()); - g_free (full_path); - } - } - g_dir_close (dir); -} - -static void -gkbd_indicator_plugin_manager_load_all (GkbdIndicatorPluginManager * - manager) -{ - if (!g_module_supported ()) { - xkl_debug (0, "Modules are not supported - no plugins!\n"); - return; - } - gkbd_indicator_plugin_manager_add_plugins_dir (manager, - SYS_PLUGIN_DIR); -} - -static void -gkbd_indicator_plugin_manager_rec_term (GkbdIndicatorPluginManagerRecord * - rec, void *user_data) -{ - const GkbdIndicatorPlugin *plugin = rec->plugin; - if (plugin != NULL) { - xkl_debug (100, "Terminating plugin: [%s]...\n", - plugin->name); - if (plugin->term_callback) - (*plugin->term_callback) (); - } -} - -static void -gkbd_indicator_plugin_manager_rec_destroy (GkbdIndicatorPluginManagerRecord - * rec) -{ - xkl_debug (100, "Unloading plugin: [%s]...\n", rec->plugin->name); - - g_module_close (rec->module); - g_free (rec); -} - -void -gkbd_indicator_plugin_manager_init (GkbdIndicatorPluginManager * manager) -{ - manager->all_plugin_recs = - g_hash_table_new_full (g_str_hash, g_str_equal, - (GDestroyNotify) g_free, - (GDestroyNotify) - gkbd_indicator_plugin_manager_rec_destroy); - gkbd_indicator_plugin_manager_load_all (manager); -} - -void -gkbd_indicator_plugin_manager_term (GkbdIndicatorPluginManager * manager) -{ - gkbd_indicator_plugin_manager_term_initialized_plugins (manager); - if (manager->all_plugin_recs != NULL) { - g_hash_table_destroy (manager->all_plugin_recs); - manager->all_plugin_recs = NULL; - } -} - -void - gkbd_indicator_plugin_manager_init_enabled_plugins - (GkbdIndicatorPluginManager * manager, - GkbdIndicatorPluginContainer * pc, gchar ** enabled_plugins) { - gchar **plugin_name_node = enabled_plugins; - if (manager->all_plugin_recs == NULL) - return; - xkl_debug (100, "Initializing all enabled plugins...\n"); - if (plugin_name_node != NULL) { - while (*plugin_name_node != NULL) { - const char *full_path = *plugin_name_node; - if (full_path != NULL) { - GkbdIndicatorPluginManagerRecord *rec = - (GkbdIndicatorPluginManagerRecord *) - g_hash_table_lookup - (manager->all_plugin_recs, - full_path); - - if (rec != NULL) { - const GkbdIndicatorPlugin *plugin = - rec->plugin; - gboolean initialized = FALSE; - xkl_debug (100, - "Initializing plugin: [%s] from [%s]...\n", - plugin->name, - full_path); - if (plugin->init_callback != NULL) - initialized = - (*plugin-> - init_callback) - (pc); - else - initialized = TRUE; - - manager->inited_plugin_recs = - g_slist_append - (manager->inited_plugin_recs, - rec); - xkl_debug (100, - "Plugin [%s] initialized: %d\n", - plugin->name, - initialized); - } - } - plugin_name_node++; - } - } -} - -void - gkbd_indicator_plugin_manager_term_initialized_plugins - (GkbdIndicatorPluginManager * manager) { - - if (manager->inited_plugin_recs == NULL) - return; - g_slist_foreach (manager->inited_plugin_recs, - (GFunc) gkbd_indicator_plugin_manager_rec_term, - NULL); - g_slist_free (manager->inited_plugin_recs); - manager->inited_plugin_recs = NULL; -} - -void -gkbd_indicator_plugin_manager_toggle_plugins (GkbdIndicatorPluginManager * - manager, - GkbdIndicatorPluginContainer - * pc, - gchar ** enabled_plugins) -{ - gkbd_indicator_plugin_manager_term_initialized_plugins (manager); - gkbd_indicator_plugin_manager_init_enabled_plugins (manager, pc, - enabled_plugins); -} - -void -gkbd_indicator_plugin_manager_group_changed (GkbdIndicatorPluginManager * - manager, GtkWidget * notebook, - int new_group) -{ - FOREACH_INITED_PLUGIN (); - if (plugin->group_changed_callback) - (*plugin->group_changed_callback) (notebook, new_group); - NEXT_INITED_PLUGIN (); -} - -void -gkbd_indicator_plugin_manager_config_changed (GkbdIndicatorPluginManager * - manager, - GkbdKeyboardConfig * from, - GkbdKeyboardConfig * to) -{ - FOREACH_INITED_PLUGIN (); - if (plugin->config_changed_callback) - (*plugin->config_changed_callback) (from, to); - NEXT_INITED_PLUGIN (); -} - -const GkbdIndicatorPlugin * -gkbd_indicator_plugin_manager_get_plugin (GkbdIndicatorPluginManager * - manager, const char *full_path) -{ - GkbdIndicatorPluginManagerRecord *rec = - (GkbdIndicatorPluginManagerRecord *) - g_hash_table_lookup (manager->all_plugin_recs, - full_path); - if (rec == NULL) - return NULL; - return rec->plugin; -} - -void -gkbd_indicator_plugin_manager_promote_plugin (GkbdIndicatorPluginManager * - manager, - gchar ** enabled_plugins, - const char *full_path) -{ - gchar **the_node = enabled_plugins; - gchar **prev_node = NULL; - - if (the_node != NULL) { - while (*the_node != NULL) { - if (!strcmp (*the_node, full_path)) { - if (prev_node != NULL) { - char *tmp = *prev_node; - *prev_node = *the_node; - *the_node = tmp; - } - break; - } - prev_node = the_node; - the_node++; - } - } -} - -void -gkbd_indicator_plugin_manager_demote_plugin (GkbdIndicatorPluginManager * - manager, - gchar ** enabled_plugins, - const char *full_path) -{ - gchar **the_node = enabled_plugins; - if (the_node != NULL) { - while (*the_node != NULL) { - if (!strcmp (*the_node, full_path)) { - gchar **next_node = the_node + 1; - if (*next_node != NULL) { - char *tmp = *next_node; - *next_node = *the_node; - *the_node = tmp; - } - } - the_node++; - } - } -} - -void - gkbd_indicator_plugin_manager_enable_plugin - (GkbdIndicatorPluginManager * manager, - gchar *** enabled_plugins, const char *full_path) { - if (NULL != - gkbd_indicator_plugin_manager_get_plugin (manager, - full_path)) { - *enabled_plugins = - gkbd_strv_append (*enabled_plugins, - g_strdup (full_path)); - } -} - -void - gkbd_indicator_plugin_manager_disable_plugin - (GkbdIndicatorPluginManager * manager, - gchar *** enabled_plugins, const char *full_path) { - gkbd_strv_remove (*enabled_plugins, full_path); -} - -int - gkbd_indicator_plugin_manager_window_created - (GkbdIndicatorPluginManager * manager, Window win, Window parent) { - FOREACH_INITED_PLUGIN (); - if (plugin->window_created_callback) { - int group_to_assign = - (*plugin->window_created_callback) (win, - parent); - if (group_to_assign != -1) { - xkl_debug (100, - "Plugin [%s] assigned group %d to new window %ld\n", - plugin->name, group_to_assign, win); - return group_to_assign; - } - } - NEXT_INITED_PLUGIN (); - return -1; -} - -/** - * gkbd_indicator_plugin_manager_decorate_widget: - * Returns: (transfer full): A widget to use - */ -GtkWidget - * gkbd_indicator_plugin_manager_decorate_widget - (GkbdIndicatorPluginManager * manager, GtkWidget * widget, - const gint group, const char *group_description, - GkbdKeyboardConfig * kbd_config) { - FOREACH_INITED_PLUGIN (); - if (plugin->decorate_widget_callback) { - GtkWidget *decorated_widget = - (*plugin->decorate_widget_callback) (widget, - group, - group_description, - kbd_config); - if (decorated_widget != NULL) { - xkl_debug (100, - "Plugin [%s] decorated widget %p to %p\n", - plugin->name, widget, decorated_widget); - return decorated_widget; - } - } - NEXT_INITED_PLUGIN (); - return NULL; -} - -void - gkbd_indicator_plugin_manager_configure_plugin - (GkbdIndicatorPluginManager * manager, - GkbdIndicatorPluginContainer * pc, const char *full_path, - GtkWindow * parent) { - const GkbdIndicatorPlugin *plugin = - gkbd_indicator_plugin_manager_get_plugin (manager, - full_path); - if (plugin->configure_properties_callback != NULL) - plugin->configure_properties_callback (pc, parent); -} - -void -gkbd_indicator_plugin_container_init (GkbdIndicatorPluginContainer * pc) -{ - pc->settings = g_settings_new ("org.gnome.libgnomekbd.indicator"); -} - -void -gkbd_indicator_plugin_container_term (GkbdIndicatorPluginContainer * pc) -{ - g_object_unref (pc->settings); -} diff --git a/libgnomekbd/gkbd-indicator-plugin-manager.h b/libgnomekbd/gkbd-indicator-plugin-manager.h deleted file mode 100644 index f1371c3..0000000 --- a/libgnomekbd/gkbd-indicator-plugin-manager.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (C) 2006 Sergey V. Udaltsov <svu@gnome.org> - * - * This library 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) any later version. - * - * This 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GSWITCHIT_PLUGIN_MANAGER_H__ -#define __GSWITCHIT_PLUGIN_MANAGER_H__ - -#include <gmodule.h> -#include <libgnomekbd/gkbd-indicator-plugin.h> - -typedef struct _GkbdIndicatorPluginManager GkbdIndicatorPluginManager; -struct _GkbdIndicatorPluginManager { - GHashTable *all_plugin_recs; - GSList *inited_plugin_recs; -}; - -typedef struct _GkbdIndicatorPluginManagerRecord GkbdIndicatorPluginManagerRecord; -struct _GkbdIndicatorPluginManagerRecord { - const char *full_path; - GModule *module; - const GkbdIndicatorPlugin *plugin; -}; - -extern void - gkbd_indicator_plugin_manager_init (GkbdIndicatorPluginManager * manager); - -extern void - gkbd_indicator_plugin_manager_term (GkbdIndicatorPluginManager * manager); - -extern void - gkbd_indicator_plugin_manager_init_enabled_plugins - (GkbdIndicatorPluginManager * manager, - GkbdIndicatorPluginContainer * pc, gchar ** enabled_plugins); - -extern void - gkbd_indicator_plugin_manager_term_initialized_plugins - (GkbdIndicatorPluginManager * manager); - -extern void -gkbd_indicator_plugin_manager_toggle_plugins (GkbdIndicatorPluginManager * - manager, - GkbdIndicatorPluginContainer - * pc, - gchar ** enabled_plugins); - -extern const GkbdIndicatorPlugin * -gkbd_indicator_plugin_manager_get_plugin (GkbdIndicatorPluginManager * - manager, const char *full_path); - -extern void -gkbd_indicator_plugin_manager_promote_plugin (GkbdIndicatorPluginManager * - manager, - gchar ** enabled_plugins, - const char *full_path); - -extern void -gkbd_indicator_plugin_manager_demote_plugin (GkbdIndicatorPluginManager * - manager, - gchar ** enabled_plugins, - const char *full_path); - -extern void -gkbd_indicator_plugin_manager_enable_plugin (GkbdIndicatorPluginManager * - manager, - gchar *** enabled_plugins, - const char *full_path); - -extern void -gkbd_indicator_plugin_manager_disable_plugin (GkbdIndicatorPluginManager * - manager, - gchar *** enabled_plugins, - const char *full_path); - -extern void -gkbd_indicator_plugin_manager_configure_plugin (GkbdIndicatorPluginManager - * manager, - GkbdIndicatorPluginContainer - * pc, - const char *full_path, - GtkWindow * parent); - -/* actual calling plugin notification methods */ - -extern void -gkbd_indicator_plugin_manager_group_changed (GkbdIndicatorPluginManager * - manager, GtkWidget * notebook, - int new_group); - -extern void -gkbd_indicator_plugin_manager_config_changed (GkbdIndicatorPluginManager * - manager, - GkbdKeyboardConfig * from, - GkbdKeyboardConfig * to); - -extern int -gkbd_indicator_plugin_manager_window_created (GkbdIndicatorPluginManager * - manager, Window win, - Window parent); - -extern GtkWidget * -gkbd_indicator_plugin_manager_decorate_widget (GkbdIndicatorPluginManager * - manager, GtkWidget * widget, - const gint group, const char - *group_description, - GkbdKeyboardConfig * - config); - -#endif diff --git a/libgnomekbd/gkbd-indicator-plugin.h b/libgnomekbd/gkbd-indicator-plugin.h deleted file mode 100644 index fe77842..0000000 --- a/libgnomekbd/gkbd-indicator-plugin.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (C) 2006 Sergey V. Udaltsov <svu@gnome.org> - * - * This library 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) any later version. - * - * This 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GKBD_INDICATOR_PLUGIN_H__ -#define __GKBD_INDICATOR_PLUGIN_H__ - -#include <gtk/gtk.h> -#include <libgnomekbd/gkbd-keyboard-config.h> - -#define MAX_LOCAL_NAME_BUF_LENGTH 512 - -struct _GkbdIndicatorPlugin; - -typedef struct _GkbdIndicatorPluginContainer GkbdIndicatorPluginContainer; -struct _GkbdIndicatorPluginContainer { - GSettings *settings; -}; - -typedef const struct _GkbdIndicatorPlugin -*(*GkbdIndicatorPluginGetPluginFunc) (void); - -typedef - - - -gboolean (*GkbdIndicatorPluginInitFunc) (GkbdIndicatorPluginContainer * - pc); - -typedef void (*GkbdIndicatorPluginGroupChangedFunc) (GtkWidget * notebook, - int new_group); - -typedef void (*GkbdIndicatorPluginConfigChangedFunc) (const - GkbdKeyboardConfig * - from, - const - GkbdKeyboardConfig * - to); - -typedef int (*GkbdIndicatorPluginWindowCreatedFunc) (const Window win, - const Window parent); - -typedef void (*GkbdIndicatorPluginTermFunc) (void); - -typedef GtkWidget *(*GkbdIndicatorPluginCreateWidget) (void); - -typedef GtkWidget *(*GkbdIndicatorPluginDecorateWidget) (GtkWidget * - widget, - const gint group, - const char - *group_description, - GkbdKeyboardConfig - * config); - -typedef -void (*GkbdIndicatorPluginConfigureProperties) - (GkbdIndicatorPluginContainer * pc, GtkWindow * parent); - -typedef struct _GkbdIndicatorPlugin GkbdIndicatorPlugin; -struct _GkbdIndicatorPlugin { - const char *name; - - const char *description; - -/* implemented */ - GkbdIndicatorPluginInitFunc init_callback; - -/* implemented */ - GkbdIndicatorPluginTermFunc term_callback; - -/* implemented */ - GkbdIndicatorPluginConfigureProperties - configure_properties_callback; - -/* implemented */ - GkbdIndicatorPluginGroupChangedFunc group_changed_callback; - -/* implemented */ - GkbdIndicatorPluginWindowCreatedFunc window_created_callback; - -/* implemented */ - GkbdIndicatorPluginDecorateWidget decorate_widget_callback; - -/* not implemented */ - GkbdIndicatorPluginConfigChangedFunc config_changed_callback; - -/* not implemented */ - GkbdIndicatorPluginCreateWidget create_widget_callback; - -}; - -/** - * Functions accessible for plugins - */ - -extern void - gkbd_indicator_plugin_container_init (GkbdIndicatorPluginContainer * pc); - -extern void - gkbd_indicator_plugin_container_term (GkbdIndicatorPluginContainer * pc); - -extern void - - - -gkbd_indicator_plugin_container_reinit_ui (GkbdIndicatorPluginContainer * - pc); - -extern guint -gkbd_indicator_plugin_get_num_groups (GkbdIndicatorPluginContainer * pc); - -extern gchar - ** - gkbd_indicator_plugin_load_localized_group_names - (GkbdIndicatorPluginContainer * pc); - -#endif diff --git a/libgnomekbd/gkbd-indicator.c b/libgnomekbd/gkbd-indicator.c index d85339a..413284b 100644 --- a/libgnomekbd/gkbd-indicator.c +++ b/libgnomekbd/gkbd-indicator.c @@ -32,14 +32,9 @@ #include <gkbd-indicator-config.h> #include <gkbd-configuration.h> -#include <gkbd-indicator-plugin-manager.h> - typedef struct _gki_globals { GkbdConfiguration *config; - GkbdIndicatorPluginContainer plugin_container; - GkbdIndicatorPluginManager plugin_manager; - GSList *images; } gki_globals; @@ -110,7 +105,7 @@ gkbd_indicator_fill (GkbdIndicator * gki) gkbd_configuration_get_group_names (globals.config); for (grp = 0; grp < total_groups; grp++) { - GtkWidget *page, *decorated_page = NULL; + GtkWidget *page = NULL; gchar *full_group_name = (grp < g_strv_length (full_group_names)) ? @@ -120,15 +115,6 @@ gkbd_indicator_fill (GkbdIndicator * gki) if (page == NULL) page = gtk_label_new (""); - decorated_page = - gkbd_indicator_plugin_manager_decorate_widget - (&globals.plugin_manager, page, grp, - full_group_name, - gkbd_configuration_get_keyboard_config - (globals.config)); - - page = decorated_page == NULL ? page : decorated_page; - gtk_notebook_append_page (notebook, page, NULL); gtk_widget_show_all (page); } @@ -299,11 +285,6 @@ gkbd_indicator_reinit_ui (GkbdIndicator * gki) static void gkbd_indicator_cfg_callback (GkbdConfiguration * configuration) { - gkbd_indicator_plugin_manager_toggle_plugins - (&globals.plugin_manager, &globals.plugin_container, - gkbd_configuration_get_indicator_config (globals. - config)->enabled_plugins); - ForAllObjects (configuration) { gkbd_indicator_reinit_ui (GKBD_INDICATOR (gki)); } NextObject () @@ -315,8 +296,6 @@ gkbd_indicator_state_callback (GkbdConfiguration * configuration, gint group) { ForAllObjects (configuration) { - gkbd_indicator_plugin_manager_group_changed - (&globals.plugin_manager, GTK_WIDGET (gki), group); xkl_debug (200, "do repaint\n"); gkbd_indicator_set_current_page_for_group (GKBD_INDICATOR (gki), group); @@ -487,11 +466,6 @@ gkbd_indicator_global_term (void) gkbd_configuration_free_images (globals.config, globals.images); globals.images = NULL; - gkbd_indicator_plugin_manager_term_initialized_plugins - (&globals.plugin_manager); - gkbd_indicator_plugin_manager_term (&globals.plugin_manager); - gkbd_indicator_plugin_container_term (&globals.plugin_container); - gkbd_indicator_stop_listen (); g_object_unref (globals.config); globals.config = NULL; @@ -534,16 +508,8 @@ gkbd_indicator_global_init (void) g_signal_connect (globals.config, "changed", G_CALLBACK (gkbd_indicator_cfg_callback), NULL); - gkbd_indicator_plugin_container_init (&globals.plugin_container); - globals.images = gkbd_configuration_load_images (globals.config); - gkbd_indicator_plugin_manager_init (&globals.plugin_manager); - gkbd_indicator_plugin_manager_init_enabled_plugins - (&globals.plugin_manager, &globals.plugin_container, - gkbd_configuration_get_indicator_config (globals. - config)->enabled_plugins); - gkbd_indicator_start_listen (); xkl_debug (100, "*** Inited globals *** \n"); @@ -616,23 +582,3 @@ gkbd_indicator_set_angle (GkbdIndicator * gki, gdouble angle) gki->priv->angle = angle; } -/* Plugin support */ -/* Preserve the plugin container functions during the linking */ -void -gkbd_indicator_plugin_container_reinit_ui (GkbdIndicatorPluginContainer * - pc) -{ - ForAllObjects (globals.config) { - gkbd_indicator_reinit_ui (GKBD_INDICATOR (gki)); - } NextObject () -} - -/** - * gkbd_indicator_plugin_load_localized_group_names: - * Returns: (transfer none) (array zero-terminated=1): all group names - */ -gchar **gkbd_indicator_plugin_load_localized_group_names - (GkbdIndicatorPluginContainer * pc) { - return (gchar **) - gkbd_configuration_get_group_names (globals.config); -} diff --git a/libgnomekbd/libgnomekbd.convert b/libgnomekbd/libgnomekbd.convert index 388edf2..991a8ae 100644 --- a/libgnomekbd/libgnomekbd.convert +++ b/libgnomekbd/libgnomekbd.convert @@ -18,7 +18,6 @@ font-family = /desktop/gnome/peripherals/keyboard/indicator/fontFamily font-size = /desktop/gnome/peripherals/keyboard/indicator/fontSize foreground-color = /desktop/gnome/peripherals/keyboard/indicator/foregroundColor background-color = /desktop/gnome/peripherals/keyboard/indicator/backgroundColor -enabled-plugins = /desktop/gnome/peripherals/keyboard/indicator/enabledPlugins [org.gnome.libgnomekbd.keyboard] model = /desktop/gnome/peripherals/keyboard/kbd/model diff --git a/libgnomekbd/org.gnome.libgnomekbd.gschema.xml.in.in b/libgnomekbd/org.gnome.libgnomekbd.gschema.xml.in.in index 450d6a4..ea3dcce 100644 --- a/libgnomekbd/org.gnome.libgnomekbd.gschema.xml.in.in +++ b/libgnomekbd/org.gnome.libgnomekbd.gschema.xml.in.in @@ -63,10 +63,5 @@ <_summary>The background color</_summary> <_description>The background color for the layout indicator</_description> </key> - <key name="enabled-plugins" type="as"> - <default>[]</default> - <_summary>The list of enabled Keyboard Indicator plugins</_summary> - <_description>The list of enabled Keyboard Indicator plugins</_description> - </key> </schema> </schemalist> diff --git a/po/POTFILES.in b/po/POTFILES.in index ff1d54b..5ce4cd1 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,7 +1,6 @@ libgnomekbd/gkbd-desktop-config.c libgnomekbd/gkbd-indicator.c libgnomekbd/gkbd-indicator-config.c -libgnomekbd/gkbd-indicator-plugin-manager.c libgnomekbd/gkbd-keyboard-drawing.c libgnomekbd/gkbd-keyboard-config.c libgnomekbd/gkbd-status.c @@ -11,9 +10,4 @@ libgnomekbd/gkbd-keyboard-display.desktop.in.in [type: gettext/xml]libgnomekbd/org.gnome.libgnomekbd.gschema.xml.in.in [type: gettext/xml]libgnomekbd/org.gnome.libgnomekbd.keyboard.gschema.xml.in.in [type: gettext/glade]libgnomekbd/show-layout.ui -[type: gettext/glade]capplet/gkbd-indicator-plugins.ui -[type: gettext/glade]capplet/gkbd-indicator-plugins_add.ui -capplet/gkbd-indicator-plugins-capplet.c -capplet/gkbd-indicator-plugins-capplet.desktop.in.in -capplet/gkbd-indicator-plugins-add.c test/gkbd-indicator-test.c |