summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey V. Udaltsov <svu@gnome.org>2012-02-22 23:41:59 +0000
committerSergey V. Udaltsov <svu@gnome.org>2012-02-22 23:41:59 +0000
commitd63547c01abff6a24920445455c8d2ede2eadd02 (patch)
tree3525df5c194cc2b63910882e6d507752e549d0dc
parente588c409c80fee159bc3603870abd93f7f80bf24 (diff)
downloadlibgnomekbd-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.am2
-rw-r--r--capplet/.gitignore9
-rw-r--r--capplet/.indent.pro2
-rw-r--r--capplet/Makefile.am46
-rw-r--r--capplet/gkbd-indicator-plugins-add.c220
-rw-r--r--capplet/gkbd-indicator-plugins-capplet.c462
-rw-r--r--capplet/gkbd-indicator-plugins-capplet.desktop.in.in15
-rw-r--r--capplet/gkbd-indicator-plugins-capplet.h63
-rw-r--r--capplet/gkbd-indicator-plugins-capplet.pngbin2378 -> 0 bytes
-rw-r--r--capplet/gkbd-indicator-plugins.ui255
-rw-r--r--capplet/gkbd-indicator-plugins_add.ui142
-rw-r--r--configure.in2
-rw-r--r--libgnomekbd/Makefile.am9
-rw-r--r--libgnomekbd/gkbd-indicator-config.c13
-rw-r--r--libgnomekbd/gkbd-indicator-config.h2
-rw-r--r--libgnomekbd/gkbd-indicator-plugin-manager.c409
-rw-r--r--libgnomekbd/gkbd-indicator-plugin-manager.h123
-rw-r--r--libgnomekbd/gkbd-indicator-plugin.h132
-rw-r--r--libgnomekbd/gkbd-indicator.c56
-rw-r--r--libgnomekbd/libgnomekbd.convert1
-rw-r--r--libgnomekbd/org.gnome.libgnomekbd.gschema.xml.in.in5
-rw-r--r--po/POTFILES.in6
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
deleted file mode 100644
index acedf80..0000000
--- a/capplet/gkbd-indicator-plugins-capplet.png
+++ /dev/null
Binary files differ
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