summaryrefslogtreecommitdiff
path: root/capplets/theme-switcher/control/control.c
diff options
context:
space:
mode:
Diffstat (limited to 'capplets/theme-switcher/control/control.c')
-rw-r--r--capplets/theme-switcher/control/control.c213
1 files changed, 0 insertions, 213 deletions
diff --git a/capplets/theme-switcher/control/control.c b/capplets/theme-switcher/control/control.c
deleted file mode 100644
index c9b4e3e84..000000000
--- a/capplets/theme-switcher/control/control.c
+++ /dev/null
@@ -1,213 +0,0 @@
-#include <config.h>
-#include <libbonoboui.h>
-#include <string.h>
-
-static gchar* current_theme = NULL;
-static gchar **new_rc_files = NULL;
-
-#define GNOME_PAD_SMALL 4
-
-static GtkWidget*
-create_form (void)
-{
- GtkWidget *widget, *table, *hbox;
- GtkWidget *scrolled_window, *menubar, *menu;
- GtkListStore *store;
- GtkTreeIter iter;
- GSList *group;
- const gchar *text = _("Eenie Meenie Mynie Moe Catcha Tiger By Its Toe");
- gchar **textarr;
- gint i;
- gint col = 0, newcol;
-
- store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
- textarr = g_strsplit (text, " ", -1);
-
- for (i = 0; textarr && textarr[i]; i++) {
- if (!col) {
- gtk_list_store_append (store, &iter);
- newcol = 1;
- }
- else
- newcol = 0;
-
- gtk_list_store_set (store,
- &iter,
- col, textarr[i],
- -1);
- col = newcol;
- }
-
- table = gtk_table_new (5, 3, FALSE);
-
- widget = gtk_label_new (_("Selected themes from above will be tested by previewing here."));
- gtk_label_set_justify (GTK_LABEL (widget), GTK_JUSTIFY_LEFT);
- gtk_table_attach (GTK_TABLE (table), widget, 0, 3, 0, 1, 0, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
-
- /* column one */
- widget = gtk_button_new_with_label (_("Sample Button"));
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
- gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
- widget = gtk_check_button_new_with_label (_("Sample Check Button"));
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
- gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 3, 4, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, 0);
- widget = gtk_entry_new ();
- gtk_entry_set_max_length (GTK_ENTRY (widget), 50);
- gtk_entry_set_text (GTK_ENTRY (widget), _("Sample Text Entry Field"));
- gtk_widget_set_size_request (widget, 70, -1);
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0);
- gtk_table_attach (GTK_TABLE (table), hbox, 0, 1, 4, 5, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
-
- /* column two */
-
- menubar = gtk_menu_bar_new();
- gtk_table_attach (GTK_TABLE (table), menubar, 1, 2, 2, 3, 0, 0, GNOME_PAD_SMALL, GNOME_PAD_SMALL);
-
- widget = gtk_menu_item_new_with_label(_("Submenu"));
- gtk_menu_shell_append (GTK_MENU_SHELL (menubar), widget);
-
- menu = gtk_menu_new();
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(widget), menu);
- widget = gtk_menu_item_new_with_label(_("Item 1"));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), widget);
- widget = gtk_menu_item_new_with_label(_("Another item"));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), widget);
-
-
- widget = gtk_radio_button_new_with_label (NULL, _("Radio Button 1"));
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
- group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget));
- gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, 0, 0, 0);
-
- widget = gtk_radio_button_new_with_label (group, _("Radio Button 2"));
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0);
- group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget));
- gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 4, 5, GTK_EXPAND | GTK_FILL, 0, 0, 0);
-
- /* column three */
- scrolled_window = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window),
- GTK_SHADOW_ETCHED_IN);
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled_window),
- GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
-
- gtk_table_attach (GTK_TABLE (table), scrolled_window, 2, 3, 2, 5, GTK_EXPAND | GTK_FILL, 0, GNOME_PAD_SMALL, 0);
-
- widget = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
- gtk_widget_set_size_request (widget, 150, 75);
- g_object_unref (store);
-
- gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget),
- -1,
- _("One"),
- gtk_cell_renderer_text_new (),
- "text", 0,
- NULL);
- gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget),
- -1,
- _("Two"),
- gtk_cell_renderer_text_new (),
- "text", 1,
- NULL);
-
- gtk_container_add (GTK_CONTAINER (scrolled_window), widget);
-
- return table;
-}
-
-static void
-get_prop_cb (BonoboPropertyBag *bag, BonoboArg *arg, guint arg_id,
- CORBA_Environment *ev, gpointer data)
-{
- BONOBO_ARG_SET_STRING (arg, current_theme);
-}
-
-static void
-set_prop_cb (BonoboPropertyBag *bag, const BonoboArg *arg, guint arg_id,
- CORBA_Environment *ev, gpointer data)
-{
- GtkWidget *form = GTK_WIDGET (data);
-
- if (!new_rc_files)
- {
- gchar **rc_files = gtk_rc_get_default_files ();
- int i, j;
- for (i = 0; rc_files[i] != NULL; i++)
- {
- }
- new_rc_files = g_new0 (gchar *, i + 2);
- for (j = 0; j < i; j++)
- new_rc_files[j] = g_strdup (rc_files[j]);
- current_theme = g_strdup (BONOBO_ARG_GET_STRING (arg));
- new_rc_files[j] = current_theme;
- }
- else
- {
- gchar **rc_files = gtk_rc_get_default_files ();
- int i;
- for (i = 0; rc_files[i] != NULL; i++)
- {
- if (!strcmp (rc_files[i], current_theme))
- {
- g_free (current_theme);
- current_theme = g_strdup (BONOBO_ARG_GET_STRING (arg));
- new_rc_files[i] = current_theme;
- }
- else
- {
- g_free (new_rc_files[i]);
- new_rc_files[i] = g_strdup (rc_files[i]);
- }
- }
- }
-
- gtk_rc_set_default_files (new_rc_files);
-
- gtk_rc_reparse_all_for_settings (gtk_settings_get_default (), TRUE);
- gtk_widget_reset_rc_styles (form);
-}
-
-BonoboObject *
-gnome_theme_preview_new (void)
-{
- BonoboPropertyBag *pb;
- BonoboControl *control;
- GtkWidget *form;
-
- form = create_form ();
- gtk_widget_show_all (form);
-
- control = bonobo_control_new (form);
- pb = bonobo_property_bag_new (get_prop_cb, set_prop_cb, form);
- bonobo_property_bag_add (pb, "theme", 0, BONOBO_ARG_STRING, NULL,
- "The currently previewed theme",
- BONOBO_PROPERTY_READABLE |
- BONOBO_PROPERTY_WRITEABLE);
- bonobo_control_set_properties (control, BONOBO_OBJREF (pb), NULL);
- bonobo_object_unref (BONOBO_OBJECT (pb));
-
- return BONOBO_OBJECT (control);
-}
-
-static BonoboObject *
-control_factory (BonoboGenericFactory *factory, const char *id, gpointer data)
-{
- BonoboObject *object = NULL;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- if (!strcmp (id, "OAFIID:GNOME_Theme_Preview"))
- object = gnome_theme_preview_new ();
-
- return object;
-}
-
-BONOBO_ACTIVATION_FACTORY ("OAFIID:GNOME_Theme_PreviewFactory",
- "gnome-theme-preview", VERSION,
- control_factory, NULL);
-