summaryrefslogtreecommitdiff
path: root/thunar-volman/tvm-prompt.c
diff options
context:
space:
mode:
Diffstat (limited to 'thunar-volman/tvm-prompt.c')
-rw-r--r--thunar-volman/tvm-prompt.c173
1 files changed, 0 insertions, 173 deletions
diff --git a/thunar-volman/tvm-prompt.c b/thunar-volman/tvm-prompt.c
deleted file mode 100644
index 756bfa5..0000000
--- a/thunar-volman/tvm-prompt.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/* $Id$ */
-/*-
- * Copyright (c) 2007 Benedikt Meurer <benny@xfce.org>.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#ifdef HAVE_STDARG_H
-#include <stdarg.h>
-#endif
-
-#include <thunar-volman/tvm-pango-extensions.h>
-#include <thunar-volman/tvm-prompt.h>
-
-
-
-static void
-hal_device_removed (LibHalContext *context,
- const gchar *udi)
-{
- const gchar *dialog_udi;
- GtkWidget *dialog = libhal_ctx_get_user_data (context);
-
- /* check if the active UDI of the dialog was removed */
- dialog_udi = g_object_get_data (G_OBJECT (dialog), "udi");
- if (exo_str_is_equal (dialog_udi, udi))
- {
- /* cancel the dialog */
- gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_CANCEL);
- }
-}
-
-
-
-/**
- * tvm_prompt:
- * @context : a #LibHalContext.
- * @udi : the UDI of the device being added, which is watched for removal.
- * @icon : the icon or %NULL.
- * @title : the prompt title.
- * @primary_text : the primary prompt text.
- * @secondary_text : the secondary prompt text.
- * @first_button_text : the first button text.
- * @... : %NULL-terminated list of button text, response id pairs.
- *
- * Return value: the selected response.
- **/
-gint
-tvm_prompt (LibHalContext *context,
- const gchar *udi,
- const gchar *icon,
- const gchar *title,
- const gchar *primary_text,
- const gchar *secondary_text,
- const gchar *first_button_text,
- ...)
-{
- GtkWidget *dialog;
- GtkWidget *image;
- GtkWidget *label;
- GtkWidget *hbox;
- GtkWidget *vbox;
- DBusError derror;
- va_list args;
- gint response;
-
- g_return_val_if_fail (exo_hal_udi_validate (udi, -1, NULL), GTK_RESPONSE_CANCEL);
- g_return_val_if_fail (context != NULL, GTK_RESPONSE_CANCEL);
-
- /* allocate a new dialog */
- dialog = gtk_dialog_new ();
- gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
- gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
- g_object_set_data_full (G_OBJECT (dialog), "udi", g_strdup (udi), g_free);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), 6);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area), 12);
-
- /* setup the specified title */
- if (G_LIKELY (title != NULL))
- gtk_window_set_title (GTK_WINDOW (dialog), title);
-
- /* setup the specified buttons */
- if (G_LIKELY (first_button_text != NULL))
- {
- va_start (args, first_button_text);
- for (response = va_arg (args, gint); first_button_text != NULL; )
- {
- /* insert the button */
- gtk_dialog_add_button (GTK_DIALOG (dialog), first_button_text, response);
- first_button_text = va_arg (args, const gchar *);
- if (G_UNLIKELY (first_button_text == NULL))
- break;
- response = va_arg (args, gint);
- }
- va_end (args);
- }
-
- /* setup the hbox */
- hbox = gtk_hbox_new (FALSE, 12);
- gtk_container_set_border_width (GTK_CONTAINER (hbox), 12);
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
-
- /* setup the specified icon */
- if (G_LIKELY (icon != NULL))
- {
- /* setup an image for the icon */
- image = gtk_image_new_from_icon_name (icon, GTK_ICON_SIZE_DIALOG);
- gtk_misc_set_alignment (GTK_MISC (image), 0.0f, 0.0f);
- gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
- gtk_widget_show (image);
- }
-
- /* setup the vbox */
- vbox = gtk_vbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
- gtk_widget_show (vbox);
-
- /* setup the primary text */
- label = gtk_label_new (primary_text);
- gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f);
- gtk_label_set_attributes (GTK_LABEL (label), tvm_pango_attr_list_big_bold ());
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
- gtk_widget_show (label);
-
- /* setup the secondary text */
- if (G_LIKELY (secondary_text != NULL))
- {
- label = gtk_label_new (secondary_text);
- gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
- gtk_widget_show (label);
- }
-
- /* initialize D-Bus error */
- dbus_error_init (&derror);
-
- /* setup HAL to watch the UDI for removal */
- libhal_ctx_set_user_data (context, dialog);
- libhal_ctx_set_device_removed (context, hal_device_removed);
- libhal_device_property_watch_all (context, &derror);
-
- /* run the dialog */
- response = gtk_dialog_run (GTK_DIALOG (dialog));
-
- /* cleanup */
- libhal_ctx_set_device_removed (context, NULL);
- libhal_ctx_set_user_data (context, NULL);
- gtk_widget_destroy (dialog);
- dbus_error_free (&derror);
-
- return response;
-}
-
-