summaryrefslogtreecommitdiff
path: root/null_applet/null_applet.c
diff options
context:
space:
mode:
Diffstat (limited to 'null_applet/null_applet.c')
-rw-r--r--null_applet/null_applet.c173
1 files changed, 0 insertions, 173 deletions
diff --git a/null_applet/null_applet.c b/null_applet/null_applet.c
deleted file mode 100644
index c1a873b0..00000000
--- a/null_applet/null_applet.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/* -*- mode: C; c-basic-offset: 4 -*-
- * Null Applet - The Applet Deprecation Applet
- * Copyright (c) 2004, Davyd Madeley
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Author:
- * Davyd Madeley <[email protected]>
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-#include <mateconf/mateconf-client.h>
-#include <mate-panel-applet.h>
-
-static const char factory_iid[] = "OAFIID:MATE_NullApplet_Factory";
-
-static inline void
-insert_oafiids (GHashTable *hash_table)
-{
- /*
- * Add OAFIID's and descriptions of deprecated applets here
- */
- g_hash_table_insert (hash_table,
- "OAFIID:MATE_MailcheckApplet", _("Inbox Monitor"));
- g_hash_table_insert (hash_table,
- "OAFIID:MATE_CDPlayerApplet", _("CD Player"));
- g_hash_table_insert (hash_table,
- "OAFIID:MATE_MixerApplet_Factory", _("Volume Control"));
- g_hash_table_insert (hash_table,
- "OAFIID:MATE_MixerApplet", _("Volume Control"));
- g_hash_table_insert (hash_table,
- "OAFIID:MATE_KeyboardApplet", _("Keyboard Indicator"));
-}
-
-static gboolean already_running;
-
-static void
-response_cb (GtkWidget *dialog, gint arg1, gpointer user_data)
-{
- gtk_widget_destroy (dialog);
-}
-
-static char
-*get_all_applets (void)
-{
- MateConfClient *client;
- GError *error;
- GSList *list, *l;
- char *key, *oafiid, *name;
- GHashTable *hash_table;
- GString *string;
-
- error = NULL;
- hash_table = g_hash_table_new (g_str_hash, g_str_equal);
- insert_oafiids (hash_table);
-
- string = g_string_new ("");
-
- client = mateconf_client_get_default ();
-
- mateconf_client_suggest_sync (client, NULL);
-
- list = mateconf_client_all_dirs (client,
- "/apps/panel/applets",
- &error);
-
- if (error)
- {
- g_warning ("Error: %s", error->message);
- g_error_free (error);
- error = NULL;
- }
-
- for (l = list; l; l = l->next)
- {
- key = g_strdup_printf ("%s/matecomponent_iid", (gchar *)l->data);
- oafiid = mateconf_client_get_string (client, key, &error);
- if (error)
- {
- g_warning ("Error: %s", error->message);
- g_error_free (error);
- error = NULL;
- }
- g_free (key);
-
- if (oafiid)
- {
- name = g_hash_table_lookup (hash_table, oafiid);
- if (name)
- {
- mateconf_client_recursive_unset (client, l->data,
- MATECONF_UNSET_INCLUDING_SCHEMA_NAMES,
- &error);
- if (error)
- {
- g_warning ("Error: %s", error->message);
- g_error_free (error);
- error = NULL;
- }
- g_string_append_printf (string,
- " • %s\n", name);
- }
- g_free (oafiid);
- }
- g_free (l->data);
- }
-
- g_slist_free (list);
- g_hash_table_destroy (hash_table);
-
- return g_string_free (string, FALSE);
-}
-
-static gboolean
-applet_factory (MatePanelApplet *applet,
- const char *iid,
- gpointer user_data)
-{
- char *applet_list;
- GtkWidget *dialog;
-
- if (already_running)
- {
- return FALSE;
- }
- already_running = TRUE;
-
- applet_list = get_all_applets ();
-
- dialog = gtk_message_dialog_new_with_markup (NULL,
- GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
- "<span size=\"large\" weight=\"bold\">%s</span>"
- "\n\n%s\n\n%s\n%s\n%s",
- _("Some panel items are no longer available"),
- _("One or more panel items (also referred to as applets"
- ") are no longer available in the MATE desktop."),
- _("These items will now be removed from your "
- "configuration:"),
- applet_list,
- _("You will not receive this message again.")
- );
-
- g_free (applet_list);
-
- g_signal_connect (G_OBJECT (dialog), "response",
- G_CALLBACK (response_cb), applet);
-
- gtk_widget_show_all (dialog);
-
- return TRUE;
-}
-
-MATE_PANEL_APPLET_MATECOMPONENT_FACTORY (factory_iid,
- PANEL_TYPE_APPLET,
- "Null-Applet", "0",
- applet_factory, NULL)