Logo Search packages:      
Sourcecode: gnome-compiz-manager version File versions

gcp-page-desktop.c

/* Generated by GOB (v2.0.14)   (do not edit directly) */

/* End world hunger, donate to the World Food Programme, http://www.wfp.org */

#define GOB_VERSION_MAJOR 2
#define GOB_VERSION_MINOR 0
#define GOB_VERSION_PATCHLEVEL 14

#define selfp (self->_priv)

#include <string.h> /* memset() */

#include "gcp-page-desktop.h"

#ifdef G_LIKELY
#define ___GOB_LIKELY(expr) G_LIKELY(expr)
#define ___GOB_UNLIKELY(expr) G_UNLIKELY(expr)
#else /* ! G_LIKELY */
#define ___GOB_LIKELY(expr) (expr)
#define ___GOB_UNLIKELY(expr) (expr)
#endif /* G_LIKELY */

#line 31 "gcp-page-desktop.gob"

#include "gcm-plugin.h"
#include "gcm-entry-shortcut.h"     
#include "gcp-mouse-shortcut.h"     

/* For testing propose use the local (not installed) glade file */
#define GCP_PAGE_DESKTOP_GLADE_FILE PACKAGE_DATA_DIR"/gnome-compiz-manager/glade/gcp-page-desktop.glade"
/*#define GCP_PAGE_DESKTOP_GLADE_FILE "data/gcp-page-desktop.glade" */

GCM_PLUGIN_DEFINE(gcp_page_desktop);

static gchar *GCPPageMouseImage[6] = {
      PACKAGE_DATA_DIR"/gnome-compiz-manager/mouse.svg",
    PACKAGE_DATA_DIR"/gnome-compiz-manager/left-button-mouse.svg",
    PACKAGE_DATA_DIR"/gnome-compiz-manager/middle-button-mouse.svg",
    PACKAGE_DATA_DIR"/gnome-compiz-manager/right-button-mouse.svg",
    PACKAGE_DATA_DIR"/gnome-compiz-manager/up-button-mouse.svg",
    PACKAGE_DATA_DIR"/gnome-compiz-manager/down-button-mouse.svg"
};

#line 45 "gcp-page-desktop.c"
/* self casting macros */
#define SELF(x) GCP_PAGE_DESKTOP(x)
#define SELF_CONST(x) GCP_PAGE_DESKTOP_CONST(x)
#define IS_SELF(x) GCP_IS_PAGE_DESKTOP(x)
#define TYPE_SELF GCP_TYPE_PAGE_DESKTOP
#define SELF_CLASS(x) GCP_PAGE_DESKTOP_CLASS(x)

#define SELF_GET_CLASS(x) GCP_PAGE_DESKTOP_GET_CLASS(x)

/* self typedefs */
typedef GCPPageDesktop Self;
typedef GCPPageDesktopClass SelfClass;

struct _GCPPageDesktopPrivate {
#line 0 "gcp-page-desktop.gob"
      GladeXML * _glade_xml;
#line 54 "gcp-page-desktop.gob"
      GCMGLOption * in_button;
#line 56 "gcp-page-desktop.gob"
      GCMGLOption * out_button;
#line 58 "gcp-page-desktop.gob"
      GHashTable * edge_keys;
#line 60 "gcp-page-desktop.gob"
      GHashTable * edge_button_keys;
#line 62 "gcp-page-desktop.gob"
      GCMGLOption * show_desktop_key;
#line 64 "gcp-page-desktop.gob"
      GCMGLOption * scale_initiate_key;
#line 66 "gcp-page-desktop.gob"
      GCMGLOption * scale_initiate_all_key;
#line 68 "gcp-page-desktop.gob"
      GCMGLOption * scale_initiate_group_key;
#line 70 "gcp-page-desktop.gob"
      GCMGLOption * water_initiate_key;
#line 72 "gcp-page-desktop.gob"
      GCMGLOption * toggle_rain_key;
#line 74 "gcp-page-desktop.gob"
      GtkWidget * mouse_shortcut_dialog;
#line 76 "gcp-page-desktop.gob"
      GtkTable * desktop_zoom_table;
#line 77 "gcp-page-desktop.gob"
      GtkCheckButton * desktop_zoom_checkbutton;
#line 78 "gcp-page-desktop.gob"
      GtkAlignment * desktop_zoom_alignment;
#line 79 "gcp-page-desktop.gob"
      GtkComboBox * edge_topleft_combobox;
#line 80 "gcp-page-desktop.gob"
      GtkComboBox * edge_bottomleft_combobox;
#line 81 "gcp-page-desktop.gob"
      GtkComboBox * edge_topright_combobox;
#line 82 "gcp-page-desktop.gob"
      GtkComboBox * edge_bottomright_combobox;
#line 83 "gcp-page-desktop.gob"
      GHashTable * edge_combobox;
#line 85 "gcp-page-desktop.gob"
      GtkImage * edge_topleft_mouse_image;
#line 86 "gcp-page-desktop.gob"
      GtkImage * edge_bottomleft_mouse_image;
#line 87 "gcp-page-desktop.gob"
      GtkImage * edge_topright_mouse_image;
#line 88 "gcp-page-desktop.gob"
      GtkImage * edge_bottomright_mouse_image;
#line 89 "gcp-page-desktop.gob"
      GHashTable * edge_image;
#line 91 "gcp-page-desktop.gob"
      GtkTable * desktop_shortcuts_table;
#line 92 "gcp-page-desktop.gob"
      GtkLabel * shortcuts_all_windows_label;
#line 93 "gcp-page-desktop.gob"
      GtkLabel * shortcuts_viewport_windows_label;
#line 94 "gcp-page-desktop.gob"
      GtkLabel * shortcuts_show_desktop_label;
#line 95 "gcp-page-desktop.gob"
      GtkCheckButton * effects_water_checkbutton;
#line 96 "gcp-page-desktop.gob"
      GtkAlignment * effects_water_alignment;
#line 97 "gcp-page-desktop.gob"
      GtkTable * effects_water_table;
#line 98 "gcp-page-desktop.gob"
      GtkFrame * desktop_effects_frame;
#line 126 "gcp-page-desktop.c"
};
/* here are local prototypes */
static void gcp_page_desktop_init (GCPPageDesktop * o) G_GNUC_UNUSED;
static void gcp_page_desktop_class_init (GCPPageDesktopClass * c) G_GNUC_UNUSED;
static gboolean ___2_gcp_page_desktop_construct (GCMPage * page) G_GNUC_UNUSED;
static void gcp_page_desktop_get_options (GCPPageDesktop * self) G_GNUC_UNUSED;
static void gcp_page_desktop_init_zoom (GCPPageDesktop * self) G_GNUC_UNUSED;
void  gcp_page_desktop_on_desktop_zoom_checkbutton_toggled  (GCPPageDesktop * self, GtkWidget * button);
static void gcp_page_desktop_on_desktop_zoom_in_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry) G_GNUC_UNUSED;
static void gcp_page_desktop_on_desktop_zoom_out_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry) G_GNUC_UNUSED;
static void gcp_page_desktop_init_edge (GCPPageDesktop * self) G_GNUC_UNUSED;
static void gcp_page_desktop_foreach_edge (gchar * label, GCMGLOption * option, GCPPageDesktop * self) G_GNUC_UNUSED;
static void gcp_page_desktop_foreach_remove_edge (gchar * label, GCMGLOption * option, gchar * edge) G_GNUC_UNUSED;
void  gcp_page_desktop_on_edge_topleft_mouse_button_clicked (GCPPageDesktop * self, GtkWidget * button);
void  gcp_page_desktop_on_edge_topleft_combobox_changed     (GCPPageDesktop * self, GtkWidget * button);
void  gcp_page_desktop_on_edge_bottomleft_mousebutton_clicked     (GCPPageDesktop * self, GtkWidget * button);
void  gcp_page_desktop_on_edge_bottomleft_combobox_changed  (GCPPageDesktop * self, GtkWidget * button);
void  gcp_page_desktop_on_edge_toprigth_mouse_button_clicked      (GCPPageDesktop * self, GtkWidget * button);
void  gcp_page_desktop_on_edge_topright_combobox_changed    (GCPPageDesktop * self, GtkWidget * button);
void  gcp_page_desktop_on_edge_bottomrigth_mouse_button_clicked   (GCPPageDesktop * self, GtkWidget * button);
void  gcp_page_desktop_on_edge_bottomright_combobox_changed (GCPPageDesktop * self, GtkWidget * button);
static void gcp_page_desktop_init_shortcuts (GCPPageDesktop * self) G_GNUC_UNUSED;
static void gcp_page_desktop_on_desktop_show_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry) G_GNUC_UNUSED;
static void gcp_page_desktop_on_viewport_all_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry) G_GNUC_UNUSED;
static void gcp_page_desktop_on_all_windows_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry) G_GNUC_UNUSED;
static void gcp_page_desktop_on_group_windows_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry) G_GNUC_UNUSED;
static void gcp_page_desktop_init_effects (GCPPageDesktop * self) G_GNUC_UNUSED;
void  gcp_page_desktop_on_effects_water_checkbutton_toggled (GCPPageDesktop * self, GtkWidget * button);
static void gcp_page_desktop_on_effects_water_toggle_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry) G_GNUC_UNUSED;
static void gcp_page_desktop_on_effects_water_pointer_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry) G_GNUC_UNUSED;
static void gcp_page_desktop_change_button_image (GCPPageDesktop * self, gint button, gchar * edge, gboolean active) G_GNUC_UNUSED;
static void gcp_page_desktop_on_mouse_shorcut_button_changed (GCPPageDesktop * self, gint button, gchar * edge, GCPMouseShortcut * dialog) G_GNUC_UNUSED;

/* pointer to the class of our parent */
static GCMPageClass *parent_class = NULL;

/* Short form macros */
#define self_get_type gcp_page_desktop_get_type
#define self_get_options gcp_page_desktop_get_options
#define self_init_zoom gcp_page_desktop_init_zoom
#define self_on_desktop_zoom_checkbutton_toggled gcp_page_desktop_on_desktop_zoom_checkbutton_toggled
#define self_on_desktop_zoom_in_entryshortcut_changed gcp_page_desktop_on_desktop_zoom_in_entryshortcut_changed
#define self_on_desktop_zoom_out_entryshortcut_changed gcp_page_desktop_on_desktop_zoom_out_entryshortcut_changed
#define self_init_edge gcp_page_desktop_init_edge
#define self_foreach_edge gcp_page_desktop_foreach_edge
#define self_foreach_remove_edge gcp_page_desktop_foreach_remove_edge
#define self_on_edge_topleft_mouse_button_clicked gcp_page_desktop_on_edge_topleft_mouse_button_clicked
#define self_on_edge_topleft_combobox_changed gcp_page_desktop_on_edge_topleft_combobox_changed
#define self_on_edge_bottomleft_mousebutton_clicked gcp_page_desktop_on_edge_bottomleft_mousebutton_clicked
#define self_on_edge_bottomleft_combobox_changed gcp_page_desktop_on_edge_bottomleft_combobox_changed
#define self_on_edge_toprigth_mouse_button_clicked gcp_page_desktop_on_edge_toprigth_mouse_button_clicked
#define self_on_edge_topright_combobox_changed gcp_page_desktop_on_edge_topright_combobox_changed
#define self_on_edge_bottomrigth_mouse_button_clicked gcp_page_desktop_on_edge_bottomrigth_mouse_button_clicked
#define self_on_edge_bottomright_combobox_changed gcp_page_desktop_on_edge_bottomright_combobox_changed
#define self_init_shortcuts gcp_page_desktop_init_shortcuts
#define self_on_desktop_show_entryshortcut_changed gcp_page_desktop_on_desktop_show_entryshortcut_changed
#define self_on_viewport_all_entryshortcut_changed gcp_page_desktop_on_viewport_all_entryshortcut_changed
#define self_on_all_windows_entryshortcut_changed gcp_page_desktop_on_all_windows_entryshortcut_changed
#define self_on_group_windows_entryshortcut_changed gcp_page_desktop_on_group_windows_entryshortcut_changed
#define self_init_effects gcp_page_desktop_init_effects
#define self_on_effects_water_checkbutton_toggled gcp_page_desktop_on_effects_water_checkbutton_toggled
#define self_on_effects_water_toggle_entryshortcut_changed gcp_page_desktop_on_effects_water_toggle_entryshortcut_changed
#define self_on_effects_water_pointer_entryshortcut_changed gcp_page_desktop_on_effects_water_pointer_entryshortcut_changed
#define self_change_button_image gcp_page_desktop_change_button_image
#define self_on_mouse_shorcut_button_changed gcp_page_desktop_on_mouse_shorcut_button_changed
/* a macro for creating a new object of our type */
#define GET_NEW ((GCPPageDesktop *)g_object_new(gcp_page_desktop_get_type(), NULL))

/* a function for creating a new object of our type */
#include <stdarg.h>
static GCPPageDesktop * GET_NEW_VARG (const char *first, ...) G_GNUC_UNUSED;
static GCPPageDesktop *
GET_NEW_VARG (const char *first, ...)
{
      GCPPageDesktop *ret;
      va_list ap;
      va_start (ap, first);
      ret = (GCPPageDesktop *)g_object_new_valist (gcp_page_desktop_get_type (), first, ap);
      va_end (ap);
      return ret;
}

/* a function to connect glade callback */
static void
___glade_xml_connect_foreach(const gchar *handler_name,
GObject *object,
const gchar *signal_name,
const gchar *signal_data,
GObject *connect_object,
gboolean after,
gpointer user_data)
{
      static GModule * allsymbols = NULL;
      
      if (!allsymbols) allsymbols = g_module_open(NULL, 0);
      if (allsymbols) {
            gchar * func_name = g_strdup_printf("gcp_page_desktop_%s", handler_name);
            GCallback func;

            if (!g_module_symbol(allsymbols, func_name, (gpointer)&func)){
                  if (!g_module_symbol(allsymbols, handler_name, (gpointer)&func)) {
                        g_warning("could not find signal handler '%s'.", func_name);
                        g_free(func_name);
                        return;
                  }
            }
            if (after)
                  g_signal_connect_data(object, signal_name, func, user_data, NULL, G_CONNECT_AFTER | G_CONNECT_SWAPPED);
            else
                  g_signal_connect_data(object, signal_name, func, user_data, NULL, G_CONNECT_SWAPPED);
            g_free(func_name);
      }
}


static void
___finalize(GObject *obj_self)
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::finalize"
      GCPPageDesktop *self G_GNUC_UNUSED = GCP_PAGE_DESKTOP (obj_self);
      gpointer priv G_GNUC_UNUSED = self->_priv;
      if(G_OBJECT_CLASS(parent_class)->finalize) \
            (* G_OBJECT_CLASS(parent_class)->finalize)(obj_self);
      if(self->_priv->_glade_xml) { g_object_unref ((gpointer) self->_priv->_glade_xml); self->_priv->_glade_xml = NULL; }
#line 55 "gcp-page-desktop.gob"
      if(self->_priv->in_button) { g_object_unref ((gpointer) self->_priv->in_button); self->_priv->in_button = NULL; }
#line 253 "gcp-page-desktop.c"
#line 57 "gcp-page-desktop.gob"
      if(self->_priv->out_button) { g_object_unref ((gpointer) self->_priv->out_button); self->_priv->out_button = NULL; }
#line 256 "gcp-page-desktop.c"
#line 59 "gcp-page-desktop.gob"
      if(self->_priv->edge_keys) { g_hash_table_unref ((gpointer) self->_priv->edge_keys); self->_priv->edge_keys = NULL; }
#line 259 "gcp-page-desktop.c"
#line 61 "gcp-page-desktop.gob"
      if(self->_priv->edge_button_keys) { g_hash_table_unref ((gpointer) self->_priv->edge_button_keys); self->_priv->edge_button_keys = NULL; }
#line 262 "gcp-page-desktop.c"
#line 63 "gcp-page-desktop.gob"
      if(self->_priv->show_desktop_key) { g_object_unref ((gpointer) self->_priv->show_desktop_key); self->_priv->show_desktop_key = NULL; }
#line 265 "gcp-page-desktop.c"
#line 65 "gcp-page-desktop.gob"
      if(self->_priv->scale_initiate_key) { g_object_unref ((gpointer) self->_priv->scale_initiate_key); self->_priv->scale_initiate_key = NULL; }
#line 268 "gcp-page-desktop.c"
#line 67 "gcp-page-desktop.gob"
      if(self->_priv->scale_initiate_all_key) { g_object_unref ((gpointer) self->_priv->scale_initiate_all_key); self->_priv->scale_initiate_all_key = NULL; }
#line 271 "gcp-page-desktop.c"
#line 69 "gcp-page-desktop.gob"
      if(self->_priv->scale_initiate_group_key) { g_object_unref ((gpointer) self->_priv->scale_initiate_group_key); self->_priv->scale_initiate_group_key = NULL; }
#line 274 "gcp-page-desktop.c"
#line 71 "gcp-page-desktop.gob"
      if(self->_priv->water_initiate_key) { g_object_unref ((gpointer) self->_priv->water_initiate_key); self->_priv->water_initiate_key = NULL; }
#line 277 "gcp-page-desktop.c"
#line 73 "gcp-page-desktop.gob"
      if(self->_priv->toggle_rain_key) { g_object_unref ((gpointer) self->_priv->toggle_rain_key); self->_priv->toggle_rain_key = NULL; }
#line 280 "gcp-page-desktop.c"
#line 75 "gcp-page-desktop.gob"
      if(self->_priv->mouse_shortcut_dialog) { g_object_unref ((gpointer) self->_priv->mouse_shortcut_dialog); self->_priv->mouse_shortcut_dialog = NULL; }
#line 283 "gcp-page-desktop.c"
#line 75 "gcp-page-desktop.gob"
      if(self->_priv->desktop_zoom_table) { g_object_unref ((gpointer) self->_priv->desktop_zoom_table); self->_priv->desktop_zoom_table = NULL; }
#line 286 "gcp-page-desktop.c"
#line 75 "gcp-page-desktop.gob"
      if(self->_priv->desktop_zoom_checkbutton) { g_object_unref ((gpointer) self->_priv->desktop_zoom_checkbutton); self->_priv->desktop_zoom_checkbutton = NULL; }
#line 289 "gcp-page-desktop.c"
#line 75 "gcp-page-desktop.gob"
      if(self->_priv->desktop_zoom_alignment) { g_object_unref ((gpointer) self->_priv->desktop_zoom_alignment); self->_priv->desktop_zoom_alignment = NULL; }
#line 292 "gcp-page-desktop.c"
#line 75 "gcp-page-desktop.gob"
      if(self->_priv->edge_topleft_combobox) { g_object_unref ((gpointer) self->_priv->edge_topleft_combobox); self->_priv->edge_topleft_combobox = NULL; }
#line 295 "gcp-page-desktop.c"
#line 75 "gcp-page-desktop.gob"
      if(self->_priv->edge_bottomleft_combobox) { g_object_unref ((gpointer) self->_priv->edge_bottomleft_combobox); self->_priv->edge_bottomleft_combobox = NULL; }
#line 298 "gcp-page-desktop.c"
#line 75 "gcp-page-desktop.gob"
      if(self->_priv->edge_topright_combobox) { g_object_unref ((gpointer) self->_priv->edge_topright_combobox); self->_priv->edge_topright_combobox = NULL; }
#line 301 "gcp-page-desktop.c"
#line 75 "gcp-page-desktop.gob"
      if(self->_priv->edge_bottomright_combobox) { g_object_unref ((gpointer) self->_priv->edge_bottomright_combobox); self->_priv->edge_bottomright_combobox = NULL; }
#line 304 "gcp-page-desktop.c"
#line 84 "gcp-page-desktop.gob"
      if(self->_priv->edge_combobox) { g_hash_table_destroy ((gpointer) self->_priv->edge_combobox); self->_priv->edge_combobox = NULL; }
#line 307 "gcp-page-desktop.c"
#line 84 "gcp-page-desktop.gob"
      if(self->_priv->edge_topleft_mouse_image) { g_hash_table_destroy ((gpointer) self->_priv->edge_topleft_mouse_image); self->_priv->edge_topleft_mouse_image = NULL; }
#line 310 "gcp-page-desktop.c"
#line 84 "gcp-page-desktop.gob"
      if(self->_priv->edge_bottomleft_mouse_image) { g_hash_table_destroy ((gpointer) self->_priv->edge_bottomleft_mouse_image); self->_priv->edge_bottomleft_mouse_image = NULL; }
#line 313 "gcp-page-desktop.c"
#line 84 "gcp-page-desktop.gob"
      if(self->_priv->edge_topright_mouse_image) { g_hash_table_destroy ((gpointer) self->_priv->edge_topright_mouse_image); self->_priv->edge_topright_mouse_image = NULL; }
#line 316 "gcp-page-desktop.c"
#line 84 "gcp-page-desktop.gob"
      if(self->_priv->edge_bottomright_mouse_image) { g_hash_table_destroy ((gpointer) self->_priv->edge_bottomright_mouse_image); self->_priv->edge_bottomright_mouse_image = NULL; }
#line 319 "gcp-page-desktop.c"
#line 90 "gcp-page-desktop.gob"
      if(self->_priv->edge_image) { g_hash_table_destroy ((gpointer) self->_priv->edge_image); self->_priv->edge_image = NULL; }
#line 322 "gcp-page-desktop.c"
#line 90 "gcp-page-desktop.gob"
      if(self->_priv->desktop_shortcuts_table) { g_hash_table_destroy ((gpointer) self->_priv->desktop_shortcuts_table); self->_priv->desktop_shortcuts_table = NULL; }
#line 325 "gcp-page-desktop.c"
#line 90 "gcp-page-desktop.gob"
      if(self->_priv->shortcuts_all_windows_label) { g_hash_table_destroy ((gpointer) self->_priv->shortcuts_all_windows_label); self->_priv->shortcuts_all_windows_label = NULL; }
#line 328 "gcp-page-desktop.c"
#line 90 "gcp-page-desktop.gob"
      if(self->_priv->shortcuts_viewport_windows_label) { g_hash_table_destroy ((gpointer) self->_priv->shortcuts_viewport_windows_label); self->_priv->shortcuts_viewport_windows_label = NULL; }
#line 331 "gcp-page-desktop.c"
#line 90 "gcp-page-desktop.gob"
      if(self->_priv->shortcuts_show_desktop_label) { g_hash_table_destroy ((gpointer) self->_priv->shortcuts_show_desktop_label); self->_priv->shortcuts_show_desktop_label = NULL; }
#line 334 "gcp-page-desktop.c"
#line 90 "gcp-page-desktop.gob"
      if(self->_priv->effects_water_checkbutton) { g_hash_table_destroy ((gpointer) self->_priv->effects_water_checkbutton); self->_priv->effects_water_checkbutton = NULL; }
#line 337 "gcp-page-desktop.c"
#line 90 "gcp-page-desktop.gob"
      if(self->_priv->effects_water_alignment) { g_hash_table_destroy ((gpointer) self->_priv->effects_water_alignment); self->_priv->effects_water_alignment = NULL; }
#line 340 "gcp-page-desktop.c"
#line 90 "gcp-page-desktop.gob"
      if(self->_priv->effects_water_table) { g_hash_table_destroy ((gpointer) self->_priv->effects_water_table); self->_priv->effects_water_table = NULL; }
#line 343 "gcp-page-desktop.c"
#line 90 "gcp-page-desktop.gob"
      if(self->_priv->desktop_effects_frame) { g_hash_table_destroy ((gpointer) self->_priv->desktop_effects_frame); self->_priv->desktop_effects_frame = NULL; }
#line 346 "gcp-page-desktop.c"
}
#undef __GOB_FUNCTION__

static void 
gcp_page_desktop_init (GCPPageDesktop * o G_GNUC_UNUSED)
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::init"
      o->_priv = G_TYPE_INSTANCE_GET_PRIVATE(o,GCP_TYPE_PAGE_DESKTOP,GCPPageDesktopPrivate);
      {
      GtkWidget * root;
      o->_priv->_glade_xml = glade_xml_new(GCP_PAGE_DESKTOP_GLADE_FILE, "desktop_page", NULL);
      root = glade_xml_get_widget(o->_priv->_glade_xml, "desktop_page");
      gtk_widget_show(root);
      gtk_container_add(GTK_CONTAINER(o), root);
      glade_xml_signal_autoconnect_full(o->_priv->_glade_xml, (GladeXMLConnectFunc)___glade_xml_connect_foreach, (gpointer)o);
}
      o->_priv->desktop_zoom_table = (GtkTable * )glade_xml_get_widget(o->_priv->_glade_xml, "desktop_zoom_table");
      o->_priv->desktop_zoom_checkbutton = (GtkCheckButton * )glade_xml_get_widget(o->_priv->_glade_xml, "desktop_zoom_checkbutton");
      o->_priv->desktop_zoom_alignment = (GtkAlignment * )glade_xml_get_widget(o->_priv->_glade_xml, "desktop_zoom_alignment");
      o->_priv->edge_topleft_combobox = (GtkComboBox * )glade_xml_get_widget(o->_priv->_glade_xml, "edge_topleft_combobox");
      o->_priv->edge_bottomleft_combobox = (GtkComboBox * )glade_xml_get_widget(o->_priv->_glade_xml, "edge_bottomleft_combobox");
      o->_priv->edge_topright_combobox = (GtkComboBox * )glade_xml_get_widget(o->_priv->_glade_xml, "edge_topright_combobox");
      o->_priv->edge_bottomright_combobox = (GtkComboBox * )glade_xml_get_widget(o->_priv->_glade_xml, "edge_bottomright_combobox");
      o->_priv->edge_topleft_mouse_image = (GtkImage * )glade_xml_get_widget(o->_priv->_glade_xml, "edge_topleft_mouse_image");
      o->_priv->edge_bottomleft_mouse_image = (GtkImage * )glade_xml_get_widget(o->_priv->_glade_xml, "edge_bottomleft_mouse_image");
      o->_priv->edge_topright_mouse_image = (GtkImage * )glade_xml_get_widget(o->_priv->_glade_xml, "edge_topright_mouse_image");
      o->_priv->edge_bottomright_mouse_image = (GtkImage * )glade_xml_get_widget(o->_priv->_glade_xml, "edge_bottomright_mouse_image");
      o->_priv->desktop_shortcuts_table = (GtkTable * )glade_xml_get_widget(o->_priv->_glade_xml, "desktop_shortcuts_table");
      o->_priv->shortcuts_all_windows_label = (GtkLabel * )glade_xml_get_widget(o->_priv->_glade_xml, "shortcuts_all_windows_label");
      o->_priv->shortcuts_viewport_windows_label = (GtkLabel * )glade_xml_get_widget(o->_priv->_glade_xml, "shortcuts_viewport_windows_label");
      o->_priv->shortcuts_show_desktop_label = (GtkLabel * )glade_xml_get_widget(o->_priv->_glade_xml, "shortcuts_show_desktop_label");
      o->_priv->effects_water_checkbutton = (GtkCheckButton * )glade_xml_get_widget(o->_priv->_glade_xml, "effects_water_checkbutton");
      o->_priv->effects_water_alignment = (GtkAlignment * )glade_xml_get_widget(o->_priv->_glade_xml, "effects_water_alignment");
      o->_priv->effects_water_table = (GtkTable * )glade_xml_get_widget(o->_priv->_glade_xml, "effects_water_table");
      o->_priv->desktop_effects_frame = (GtkFrame * )glade_xml_get_widget(o->_priv->_glade_xml, "desktop_effects_frame");
}
#undef __GOB_FUNCTION__
static void 
gcp_page_desktop_class_init (GCPPageDesktopClass * c G_GNUC_UNUSED)
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::class_init"
      GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) c;
      GCMPageClass *gcm_page_class = (GCMPageClass *)c;

      g_type_class_add_private(c,sizeof(GCPPageDesktopPrivate));

      parent_class = g_type_class_ref (GCM_TYPE_PAGE);

#line 106 "gcp-page-desktop.gob"
      gcm_page_class->construct = ___2_gcp_page_desktop_construct;
#line 397 "gcp-page-desktop.c"
      g_object_class->finalize = ___finalize;
}
#undef __GOB_FUNCTION__



#line 100 "gcp-page-desktop.gob"
GType 
gcp_page_desktop_get_type (void)
#line 407 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::get_type"
{
#line 102 "gcp-page-desktop.gob"
      
            return gcp_page_desktop_type;
      }}
#line 415 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 106 "gcp-page-desktop.gob"
static gboolean 
___2_gcp_page_desktop_construct (GCMPage * page G_GNUC_UNUSED)
#line 421 "gcp-page-desktop.c"
#define PARENT_HANDLER(___page) \
      ((GCM_PAGE_CLASS(parent_class)->construct)? \
            (* GCM_PAGE_CLASS(parent_class)->construct)(___page): \
            ((gboolean )0))
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::construct"
{
#line 108 "gcp-page-desktop.gob"
      
            GCPPageDesktop * self = SELF(page);
                  
            gtk_frame_set_shadow_type(GTK_FRAME(self), GTK_SHADOW_NONE);
            
            /* Activate plugin */
            gcm_gl_desktop_enable_plugin(GCM_PAGE(self)->gl_desktop, "gconf");
            gcm_gl_desktop_enable_plugin(GCM_PAGE(self)->gl_desktop, "scale");
            
            selfp->edge_keys = g_hash_table_new_full(g_str_hash, g_str_equal, 
                                                                         NULL, g_object_unref);
        selfp->edge_button_keys = g_hash_table_new_full(g_str_hash, g_str_equal, 
                                                                                    NULL, g_object_unref);
        selfp->mouse_shortcut_dialog = gcp_mouse_shortcut_new();
            g_signal_connect_swapped(GCP_MOUSE_SHORTCUT(selfp->mouse_shortcut_dialog),
                                                 "button_changed", 
                                                 G_CALLBACK(self_on_mouse_shorcut_button_changed), 
                                                 self);
            self_get_options(self);
            self_init_zoom(self);
            self_init_edge(self);
            self_init_shortcuts(self);
            self_init_effects(self);
            
            return TRUE;
      }}
#line 456 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__
#undef PARENT_HANDLER

#line 135 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_get_options (GCPPageDesktop * self)
#line 463 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::get_options"
#line 135 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 135 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 470 "gcp-page-desktop.c"
{
#line 137 "gcp-page-desktop.gob"
      
            GCMGLPlugin * scale = gcm_gl_desktop_get_plugin(GCM_PAGE(self)->gl_desktop, 
                                                                                    "scale");
            GCMGLPlugin * water = gcm_gl_desktop_get_plugin(GCM_PAGE(self)->gl_desktop, 
                                                                                       "water");
            GCMGLPlugin * annotate = gcm_gl_desktop_get_plugin(GCM_PAGE(self)->gl_desktop, 
                                                                                     "annotate");
            
            g_hash_table_insert(selfp->edge_keys, "-", NULL);
            
            g_hash_table_insert(selfp->edge_keys, _("Viewport windows"),
                                          gcm_gl_plugin_get_option(scale, "initiate_edge", 
                                                                             GCM_GL_OPTION_SCREEN_ALL));
            
            g_hash_table_insert(selfp->edge_button_keys, _("Viewport windows"),
                                          gcm_gl_plugin_get_option(scale, "initiate_edgebutton", 
                                                                             GCM_GL_OPTION_SCREEN_ALL));
            
            selfp->scale_initiate_key = gcm_gl_plugin_get_option(scale, "initiate_key",
                                                                                           GCM_GL_OPTION_SCREEN_ALL);
            
            if (gcm_gl_desktop_get_version(GCM_PAGE(self)->gl_desktop) >= 3003)
            {
                  g_hash_table_insert(selfp->edge_keys, _("All windows"),
                                                gcm_gl_plugin_get_option(scale, "initiate_all_edge", 
                                                                                   GCM_GL_OPTION_SCREEN_ALL));
            
                  g_hash_table_insert(selfp->edge_button_keys, _("All windows"),
                                                gcm_gl_plugin_get_option(scale, "initiate_all_edgebutton", 
                                                                                   GCM_GL_OPTION_SCREEN_ALL));
            
                  selfp->scale_initiate_all_key = gcm_gl_plugin_get_option(scale, "initiate_all_key",
                                                                                                       GCM_GL_OPTION_SCREEN_ALL);

                  g_hash_table_insert(selfp->edge_keys, _("Application windows"),
                                                gcm_gl_plugin_get_option(scale, "initiate_group_edge", 
                                                                                   GCM_GL_OPTION_SCREEN_ALL));

                  g_hash_table_insert(selfp->edge_button_keys, _("Application windows"),
                                                gcm_gl_plugin_get_option(scale, "initiate_group_edgebutton", 
                                                                                   GCM_GL_OPTION_SCREEN_ALL));

                  selfp->scale_initiate_group_key = gcm_gl_plugin_get_option(scale, "initiate_group_key",
                                                                                                       GCM_GL_OPTION_SCREEN_ALL);
            }
            /* If annotate plugin is installed use it */
            gcm_gl_desktop_register_and_enable_plugin(GCM_PAGE(self)->gl_desktop, "annotate");
            if (gcm_gl_desktop_plugin_is_active(GCM_PAGE(self)->gl_desktop, "annotate"))
            {
                  g_hash_table_insert(selfp->edge_keys, _("Clear annotations"),
                                                gcm_gl_plugin_get_option(annotate, "clear_edge", 
                                                                                   GCM_GL_OPTION_SCREEN_ALL));
                  g_hash_table_insert(selfp->edge_button_keys, _("Clear annotations"),
                                                gcm_gl_plugin_get_option(annotate, "clear_edgebutton", 
                                                                                   GCM_GL_OPTION_SCREEN_ALL));
            }
            
            /* If showdesktop plugin is installed use it */
            gcm_gl_desktop_register_and_enable_plugin(GCM_PAGE(self)->gl_desktop, "showdesktop");
            if (gcm_gl_desktop_plugin_is_active(GCM_PAGE(self)->gl_desktop, "showdesktop"))
            {
                  GCMGLPlugin * showdesktop = gcm_gl_desktop_get_plugin(GCM_PAGE(self)->gl_desktop, 
                                                                                    "showdesktop");
                  
                  g_hash_table_insert(selfp->edge_keys, _("Show desktop"),
                                                gcm_gl_plugin_get_option(showdesktop, 
                                                                                "initiate_edge",
                                                                                GCM_GL_OPTION_SCREEN_ALL));
                  g_hash_table_insert(selfp->edge_button_keys, _("Show desktop"),
                                                gcm_gl_plugin_get_option(showdesktop, 
                                                                                "initiate_edgebutton",
                                                                                GCM_GL_OPTION_SCREEN_ALL));
                  selfp->show_desktop_key = gcm_gl_plugin_get_option(showdesktop, 
                                                                                       "initiate_key",
                                                                                       GCM_GL_OPTION_SCREEN_ALL);
            }
            else
            {
                  selfp->show_desktop_key = gcm_gl_desktop_get_option(GCM_PAGE(self)->gl_desktop, 
                                                                                       "show_desktop_key",
                                                                                       GCM_GL_OPTION_SCREEN_ALL);
            }
            
            if (gcm_gl_desktop_register_plugin(GCM_PAGE(self)->gl_desktop, "inputzoom"))
            {
                  GCMGLPlugin * inputzoom = gcm_gl_desktop_get_plugin(GCM_PAGE(self)->gl_desktop, 
                                                                                 "inputzoom");
                  selfp->in_button = gcm_gl_plugin_get_option(inputzoom, "zoom_in_button",
                                                                              GCM_GL_OPTION_SCREEN_ALL);
                  selfp->out_button = gcm_gl_plugin_get_option(inputzoom, "zoom_out_button",
                                                                               GCM_GL_OPTION_SCREEN_ALL);
            }
            else
            {
                  GCMGLPlugin * zoom = gcm_gl_desktop_get_plugin(GCM_PAGE(self)->gl_desktop, 
                                                                                       "zoom");
                  selfp->in_button = gcm_gl_plugin_get_option(zoom, "zoom_in_button",
                                                                              GCM_GL_OPTION_SCREEN_ALL);
                  selfp->out_button = gcm_gl_plugin_get_option(zoom, "zoom_out_button",
                                                                               GCM_GL_OPTION_SCREEN_ALL);
            }
            
            selfp->water_initiate_key = gcm_gl_plugin_get_option(water, "initiate_key",
                                                                                           GCM_GL_OPTION_SCREEN_ALL);
            selfp->toggle_rain_key = gcm_gl_plugin_get_option(water, "toggle_rain_key",
                                                                                    GCM_GL_OPTION_SCREEN_ALL);

      }}
#line 581 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 246 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_init_zoom (GCPPageDesktop * self)
#line 587 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::init_zoom"
#line 246 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 246 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 594 "gcp-page-desktop.c"
{
#line 248 "gcp-page-desktop.gob"
      
            GCMGLPlugin * zoom = gcm_gl_desktop_get_plugin(GCM_PAGE(self)->gl_desktop, 
                                                                                 "zoom");
            GCMGLPlugin * inputzoom = gcm_gl_desktop_get_plugin(GCM_PAGE(self)->gl_desktop, 
                                                                                 "inputzoom");
            gboolean zoom_enabled =  gcm_gl_desktop_plugin_is_active(GCM_PAGE(self)->gl_desktop,
                                                                                                inputzoom ? "inputzoom" : "zoom");
            GtkWidget * desktop_zoom_in_entryshortcut;
            GtkWidget * desktop_zoom_out_entryshortcut;
            gchar * desktop_zoom_in = gcm_gl_option_get_string(selfp->in_button);
            gchar * desktop_zoom_out = gcm_gl_option_get_string(selfp->out_button);
            GtkTooltips * tooltips;
            
            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(selfp->desktop_zoom_checkbutton),
                                                       zoom_enabled);
            gtk_widget_set_sensitive(GTK_WIDGET(selfp->desktop_zoom_alignment),
                                                 zoom_enabled);
            
            desktop_zoom_in_entryshortcut = gcm_entry_shortcut_new(desktop_zoom_in, TRUE);
            g_free(desktop_zoom_in);
            gtk_widget_show(desktop_zoom_in_entryshortcut);
            gtk_table_attach_defaults(selfp->desktop_zoom_table, 
                                                  desktop_zoom_in_entryshortcut, 1, 2, 0, 1);
            g_signal_connect_swapped(desktop_zoom_in_entryshortcut,
                                                 "edited",
                                                 G_CALLBACK(self_on_desktop_zoom_in_entryshortcut_changed),
                                                 self);
      
            desktop_zoom_out_entryshortcut = gcm_entry_shortcut_new(desktop_zoom_out, TRUE);
            g_free(desktop_zoom_out);
            gtk_widget_show(desktop_zoom_out_entryshortcut);
            gtk_table_attach_defaults(selfp->desktop_zoom_table, 
                                                  desktop_zoom_out_entryshortcut, 3, 4, 0, 1);
            
            g_signal_connect_swapped(desktop_zoom_out_entryshortcut,
                                                 "edited",
                                                 G_CALLBACK(self_on_desktop_zoom_out_entryshortcut_changed),
                                                 self);
            
            tooltips = gtk_tooltips_new();
            gtk_tooltips_set_tip(tooltips, GTK_WIDGET(selfp->desktop_zoom_checkbutton),
                                           zoom->info,
                                           NULL);
            gtk_tooltips_set_tip(tooltips, GTK_WIDGET(desktop_zoom_in_entryshortcut),
                                           gcm_gl_option_get_description(selfp->in_button),
                                           NULL);
            gtk_tooltips_set_tip(tooltips, GTK_WIDGET(desktop_zoom_out_entryshortcut),
                                           gcm_gl_option_get_description(selfp->out_button),
                                           NULL);
      }}
#line 647 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 299 "gcp-page-desktop.gob"
void 
gcp_page_desktop_on_desktop_zoom_checkbutton_toggled (GCPPageDesktop * self, GtkWidget * button)
#line 653 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_desktop_zoom_checkbutton_toggled"
#line 299 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 299 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 660 "gcp-page-desktop.c"
{
#line 301 "gcp-page-desktop.gob"
      
            gboolean zoom = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(selfp->desktop_zoom_checkbutton));
            GCMGLPlugin * inputzoom = gcm_gl_desktop_get_plugin(GCM_PAGE(self)->gl_desktop, 
                                                                                 "inputzoom");
            
            if (zoom)
                  gcm_gl_desktop_enable_plugin(GCM_PAGE(self)->gl_desktop,
                                                             inputzoom ? "inputzoom" : "zoom");
            else
                  gcm_gl_desktop_disable_plugin(GCM_PAGE(self)->gl_desktop,
                                                              inputzoom ? "inputzoom" : "zoom");
            
            gtk_widget_set_sensitive(GTK_WIDGET(selfp->desktop_zoom_alignment), zoom);
      }}
#line 677 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 316 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_on_desktop_zoom_in_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry)
#line 683 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_desktop_zoom_in_entryshortcut_changed"
#line 316 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 316 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 690 "gcp-page-desktop.c"
{
#line 318 "gcp-page-desktop.gob"
      
            const gchar * value = gtk_entry_get_text(GTK_ENTRY(entry));
            
            gcm_gl_option_set_string(selfp->in_button, (gchar *)value);
      }}
#line 698 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 324 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_on_desktop_zoom_out_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry)
#line 704 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_desktop_zoom_out_entryshortcut_changed"
#line 324 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 324 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 711 "gcp-page-desktop.c"
{
#line 326 "gcp-page-desktop.gob"
      
            const gchar * value = gtk_entry_get_text(GTK_ENTRY(entry));
            
            gcm_gl_option_set_string(selfp->out_button, (gchar *)value);
      }}
#line 719 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 332 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_init_edge (GCPPageDesktop * self)
#line 725 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::init_edge"
#line 332 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 332 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 732 "gcp-page-desktop.c"
{
#line 334 "gcp-page-desktop.gob"
      
            selfp->edge_image = g_hash_table_new_full(g_str_hash, g_str_equal,
                                                                          g_free, NULL);
            
            g_hash_table_insert(selfp->edge_image, g_strdup("TopRight"), 
                                          selfp->edge_topright_mouse_image);
            g_hash_table_insert(selfp->edge_image, g_strdup("BottomRight"), 
                                          selfp->edge_bottomright_mouse_image);
            g_hash_table_insert(selfp->edge_image, g_strdup("TopLeft"), 
                                          selfp->edge_topleft_mouse_image);
            g_hash_table_insert(selfp->edge_image, g_strdup("BottomLeft"), 
                                          selfp->edge_bottomleft_mouse_image);
            
            selfp->edge_combobox = g_hash_table_new(g_str_hash, g_str_equal);
            
            g_hash_table_insert(selfp->edge_combobox, "TopRight", 
                                          selfp->edge_topright_combobox);
            g_hash_table_insert(selfp->edge_combobox, "BottomRight", 
                                          selfp->edge_bottomright_combobox);
            g_hash_table_insert(selfp->edge_combobox, "TopLeft", 
                                          selfp->edge_topleft_combobox);
            g_hash_table_insert(selfp->edge_combobox, "BottomLeft", 
                                          selfp->edge_bottomleft_combobox);
            
            g_hash_table_foreach(selfp->edge_keys, (GHFunc)self_foreach_edge, self);
      }}
#line 761 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 361 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_foreach_edge (gchar * label, GCMGLOption * option, GCPPageDesktop * self)
#line 767 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::foreach_edge"
{
#line 363 "gcp-page-desktop.gob"
      
            static gint nb = 0;
            GCMGLOption *option_button = g_hash_table_lookup(selfp->edge_button_keys,
                                                                                     label);
            
            gtk_combo_box_append_text(selfp->edge_topright_combobox, label);
            gtk_combo_box_append_text(selfp->edge_bottomright_combobox, label);
            gtk_combo_box_append_text(selfp->edge_topleft_combobox, label);
            gtk_combo_box_append_text(selfp->edge_bottomleft_combobox, label);
            
            if (option)
            {
                  GSList * item, * value = gcm_gl_option_get_string_list(option);
                  
                  for (item = value; item; item = item->next)
                  {
                        GtkComboBox * combobox = g_hash_table_lookup(selfp->edge_combobox,
                                                                                           item->data);
                        if (combobox)
                        {
                              gtk_combo_box_set_active(combobox, nb);
                              
                              if (option_button)
                              {
                                    gint button = gcm_gl_option_get_integer(option_button);
                                    self_change_button_image(self, button, item->data, TRUE);
                              }
                              break;
                        }
                  }
                  g_slist_free(value);
            }
            nb++;
      }}
#line 806 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 398 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_foreach_remove_edge (gchar * label, GCMGLOption * option, gchar * edge)
#line 812 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::foreach_remove_edge"
{
#line 400 "gcp-page-desktop.gob"
      
            if (option)
            {
                  GSList * item, * value = gcm_gl_option_get_string_list(option);
            
                  for (item = value; item; item = item->next)
                  {
                        if (!g_ascii_strcasecmp(item->data, edge))
                        {
                              value = g_slist_remove(value, item->data);
                              break;
                        }
                  }
                  if (!value) value = g_slist_append(value, "Disabled");
                  gcm_gl_option_set_string_list(option, value);
                  g_slist_free(value);
            }
      }}
#line 835 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 419 "gcp-page-desktop.gob"
void 
gcp_page_desktop_on_edge_topleft_mouse_button_clicked (GCPPageDesktop * self, GtkWidget * button)
#line 841 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_edge_topleft_mouse_button_clicked"
#line 419 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 419 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 848 "gcp-page-desktop.c"
{
#line 421 "gcp-page-desktop.gob"
      
            gcp_mouse_shortcut_set_edge(GCP_MOUSE_SHORTCUT(selfp->mouse_shortcut_dialog),
                                                      "TopLeft");
        gtk_widget_show(selfp->mouse_shortcut_dialog);
    }}
#line 856 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 427 "gcp-page-desktop.gob"
void 
gcp_page_desktop_on_edge_topleft_combobox_changed (GCPPageDesktop * self, GtkWidget * button)
#line 862 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_edge_topleft_combobox_changed"
#line 427 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 427 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 869 "gcp-page-desktop.c"
{
#line 429 "gcp-page-desktop.gob"
      
            gchar * label = gtk_combo_box_get_active_text(selfp->edge_topleft_combobox);
            if (label)
            {
                  GCMGLOption * option = g_hash_table_lookup(selfp->edge_keys, label);
                  GCMGLOption * option_button = 
                                          g_hash_table_lookup(selfp->edge_button_keys, label);
                  
                  g_hash_table_foreach(selfp->edge_keys, (GHFunc)self_foreach_remove_edge,
                                                 "TopLeft");
                  self_change_button_image(self, 0, "TopLeft", FALSE);
                  if (option)
                  {
                        GSList * item, * value = gcm_gl_option_get_string_list(option);
                        
                        for (item = value; item; item = item->next)
                        {
                              GtkComboBox * combobox = g_hash_table_lookup(selfp->edge_combobox,
                                                                                                 item->data);
                              if (combobox)
                                    gtk_combo_box_set_active(combobox, 0);
                        }
                        g_slist_free(value);
                        value = g_slist_append(NULL, "TopLeft");
                        gcm_gl_option_set_string_list(option, value);
                        g_slist_free(value);
                  }
                  if (option_button)
                  {
                        gint button = gcm_gl_option_get_integer(option_button);
                        
                        self_change_button_image(self, button, "TopLeft", TRUE);
                  }
            }
      }}
#line 907 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 465 "gcp-page-desktop.gob"
void 
gcp_page_desktop_on_edge_bottomleft_mousebutton_clicked (GCPPageDesktop * self, GtkWidget * button)
#line 913 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_edge_bottomleft_mousebutton_clicked"
#line 465 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 465 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 920 "gcp-page-desktop.c"
{
#line 467 "gcp-page-desktop.gob"
      
            gcp_mouse_shortcut_set_edge(GCP_MOUSE_SHORTCUT(selfp->mouse_shortcut_dialog),
                                                      "BottomLeft");
        gtk_widget_show(selfp->mouse_shortcut_dialog);
    }}
#line 928 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 473 "gcp-page-desktop.gob"
void 
gcp_page_desktop_on_edge_bottomleft_combobox_changed (GCPPageDesktop * self, GtkWidget * button)
#line 934 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_edge_bottomleft_combobox_changed"
#line 473 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 473 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 941 "gcp-page-desktop.c"
{
#line 475 "gcp-page-desktop.gob"
      
            gchar * label = gtk_combo_box_get_active_text(selfp->edge_bottomleft_combobox);
            if (label)
            {
                  GCMGLOption * option = g_hash_table_lookup(selfp->edge_keys, label);
                  GCMGLOption * option_button = 
                                          g_hash_table_lookup(selfp->edge_button_keys, label);
                  
                  g_hash_table_foreach(selfp->edge_keys, (GHFunc)self_foreach_remove_edge,
                                                 "BottomLeft");
                  self_change_button_image(self, 0, "BottomLeft", FALSE);
                  if (option)
                  {
                        GSList * item, * value = gcm_gl_option_get_string_list(option);
                        
                        for (item = value; item; item = item->next)
                        {
                              GtkComboBox * combobox = g_hash_table_lookup(selfp->edge_combobox,
                                                                                                 item->data);
                              if (combobox)
                                    gtk_combo_box_set_active(combobox, 0);
                        }
                        g_slist_free(value);
                        
                        value = g_slist_append(NULL, "BottomLeft");
                        gcm_gl_option_set_string_list(option, value);
                        g_slist_free(value);
                  }
                  if (option_button)
                  {
                        gint button = gcm_gl_option_get_integer(option_button);
                        
                        self_change_button_image(self, button, "BottomLeft", TRUE);
                  }
            }
      }}
#line 980 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 512 "gcp-page-desktop.gob"
void 
gcp_page_desktop_on_edge_toprigth_mouse_button_clicked (GCPPageDesktop * self, GtkWidget * button)
#line 986 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_edge_toprigth_mouse_button_clicked"
#line 512 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 512 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 993 "gcp-page-desktop.c"
{
#line 514 "gcp-page-desktop.gob"
      
            gcp_mouse_shortcut_set_edge(GCP_MOUSE_SHORTCUT(selfp->mouse_shortcut_dialog),
                                                      "TopRight");
        gtk_widget_show(selfp->mouse_shortcut_dialog);
    }}
#line 1001 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 520 "gcp-page-desktop.gob"
void 
gcp_page_desktop_on_edge_topright_combobox_changed (GCPPageDesktop * self, GtkWidget * button)
#line 1007 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_edge_topright_combobox_changed"
#line 520 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 520 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1014 "gcp-page-desktop.c"
{
#line 522 "gcp-page-desktop.gob"
      
            gchar * label = gtk_combo_box_get_active_text(selfp->edge_topright_combobox);
            if (label)
            {
                  GCMGLOption * option = g_hash_table_lookup(selfp->edge_keys, label);
                  GCMGLOption * option_button = 
                                          g_hash_table_lookup(selfp->edge_button_keys, label);
                  
                  g_hash_table_foreach(selfp->edge_keys, (GHFunc)self_foreach_remove_edge,
                                                 "TopRight");
                  self_change_button_image(self, 0, "TopRight", FALSE);
                  if (option)
                  {
                        GSList * item, * value = gcm_gl_option_get_string_list(option);
                        
                        for (item = value; item; item = item->next)
                        {
                              GtkComboBox * combobox = g_hash_table_lookup(selfp->edge_combobox,
                                                                                                 item->data);
                              if (combobox)
                                    gtk_combo_box_set_active(combobox, 0);
                        }
                        g_slist_free(value);
                        
                        value = g_slist_append(NULL, "TopRight");
                        gcm_gl_option_set_string_list(option, value);
                        g_slist_free(value);
                  }
                  if (option_button)
                  {
                        gint button = gcm_gl_option_get_integer(option_button);
                        
                        self_change_button_image(self, button, "TopRight", TRUE);
                  }
            }
      }}
#line 1053 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 559 "gcp-page-desktop.gob"
void 
gcp_page_desktop_on_edge_bottomrigth_mouse_button_clicked (GCPPageDesktop * self, GtkWidget * button)
#line 1059 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_edge_bottomrigth_mouse_button_clicked"
#line 559 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 559 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1066 "gcp-page-desktop.c"
{
#line 561 "gcp-page-desktop.gob"
      
            gcp_mouse_shortcut_set_edge(GCP_MOUSE_SHORTCUT(selfp->mouse_shortcut_dialog),
                                                      "BottomRight");
        gtk_widget_show(selfp->mouse_shortcut_dialog);
    }}
#line 1074 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 567 "gcp-page-desktop.gob"
void 
gcp_page_desktop_on_edge_bottomright_combobox_changed (GCPPageDesktop * self, GtkWidget * button)
#line 1080 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_edge_bottomright_combobox_changed"
#line 567 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 567 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1087 "gcp-page-desktop.c"
{
#line 569 "gcp-page-desktop.gob"
      
            gchar * label = gtk_combo_box_get_active_text(selfp->edge_bottomright_combobox);
            if (label)
            {
                  GCMGLOption * option = g_hash_table_lookup(selfp->edge_keys, label);
                  GCMGLOption * option_button = 
                                          g_hash_table_lookup(selfp->edge_button_keys, label);
                  
                  g_hash_table_foreach(selfp->edge_keys, (GHFunc)self_foreach_remove_edge,
                                                 "BottomRight");
                  self_change_button_image(self, 0, "BottomRight", FALSE);
                  if (option)
                  {
                        GSList * item, * value = gcm_gl_option_get_string_list(option);
                        
                        for (item = value; item; item = item->next)
                        {
                              GtkComboBox * combobox = g_hash_table_lookup(selfp->edge_combobox,
                                                                                                 item->data);
                              if (combobox)
                                    gtk_combo_box_set_active(combobox, 0);
                        }
                        g_slist_free(value);
                        
                        value = g_slist_append(NULL, "BottomRight");
                        gcm_gl_option_set_string_list(option, value);
                        g_slist_free(value);
                  }
                  if (option_button)
                  {
                        gint button = gcm_gl_option_get_integer(option_button);
                        
                        self_change_button_image(self, button, "BottomRight", TRUE);
                  }
            }
      }}
#line 1126 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 606 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_init_shortcuts (GCPPageDesktop * self)
#line 1132 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::init_shortcuts"
#line 606 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 606 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1139 "gcp-page-desktop.c"
{
#line 608 "gcp-page-desktop.gob"
      
            GtkWidget * desktop_show_entry_shortcut;
            gchar * desktop_show = gcm_gl_option_get_string(selfp->show_desktop_key);
            GtkWidget * viewport_all_entry_shortcut;
            gchar * viewport_all = gcm_gl_option_get_string(selfp->scale_initiate_key);
            GtkTooltips * tooltips;
            
            desktop_show_entry_shortcut = gcm_entry_shortcut_new(desktop_show, FALSE);
            g_free(desktop_show);
            gtk_widget_show(desktop_show_entry_shortcut);
            gtk_table_attach_defaults(selfp->desktop_shortcuts_table, 
                                                  desktop_show_entry_shortcut, 1, 2, 1, 2);
            g_signal_connect_swapped(desktop_show_entry_shortcut,
                                                 "edited",
                                                 G_CALLBACK(self_on_desktop_show_entryshortcut_changed),
                                                 self);
            
            viewport_all_entry_shortcut = gcm_entry_shortcut_new(viewport_all, FALSE);
            g_free(viewport_all);
            gtk_widget_show(viewport_all_entry_shortcut);
            gtk_table_attach_defaults(selfp->desktop_shortcuts_table, 
                                                viewport_all_entry_shortcut, 3, 4, 0, 1);
            g_signal_connect_swapped(viewport_all_entry_shortcut,
                                                "edited",
                                                G_CALLBACK(self_on_viewport_all_entryshortcut_changed),
                                                self);
            tooltips = gtk_tooltips_new();
            
            if (gcm_gl_desktop_get_version(GCM_PAGE(self)->gl_desktop) >= 3003)
            {
                  GtkWidget * all_windows_entry_shortcut;
                  gchar * all_windows = gcm_gl_option_get_string(selfp->scale_initiate_all_key);
                  GtkWidget * group_windows_entry_shortcut;
                  gchar * group_windows = gcm_gl_option_get_string(selfp->scale_initiate_group_key);
                        
                  all_windows_entry_shortcut = gcm_entry_shortcut_new(all_windows, FALSE);
                  g_free(all_windows);
                  gtk_widget_show(all_windows_entry_shortcut);
                  gtk_table_attach_defaults(selfp->desktop_shortcuts_table, 
                                                        all_windows_entry_shortcut, 1, 2, 0, 1);
                  g_signal_connect_swapped(all_windows_entry_shortcut,
                                                       "edited",
                                                       G_CALLBACK(self_on_all_windows_entryshortcut_changed),
                                                       self);
                  gtk_tooltips_set_tip(tooltips, GTK_WIDGET(all_windows_entry_shortcut),
                                           gcm_gl_option_get_description(selfp->scale_initiate_all_key),
                                           NULL);

                  group_windows_entry_shortcut = gcm_entry_shortcut_new(group_windows, FALSE);
                  g_free(group_windows);
                  gtk_widget_show(group_windows_entry_shortcut);
                  gtk_table_attach_defaults(selfp->desktop_shortcuts_table, 
                                                        group_windows_entry_shortcut, 3, 4, 1, 2);
                  g_signal_connect_swapped(group_windows_entry_shortcut,
                                                       "edited",
                                                       G_CALLBACK(self_on_group_windows_entryshortcut_changed),
                                                       self);
                  gtk_tooltips_set_tip(tooltips, GTK_WIDGET(group_windows_entry_shortcut),
                                           gcm_gl_option_get_description(selfp->scale_initiate_group_key),
                                           NULL);
            }
            else
                  gtk_widget_hide(GTK_WIDGET(selfp->shortcuts_all_windows_label));
            
            gtk_tooltips_set_tip(tooltips, GTK_WIDGET(desktop_show_entry_shortcut),
                                           gcm_gl_option_get_description(selfp->show_desktop_key),
                                           NULL);
            gtk_tooltips_set_tip(tooltips, GTK_WIDGET(viewport_all_entry_shortcut),
                                           gcm_gl_option_get_description(selfp->scale_initiate_key),
                                           NULL);
      }}
#line 1213 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 680 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_on_desktop_show_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry)
#line 1219 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_desktop_show_entryshortcut_changed"
#line 680 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 680 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1226 "gcp-page-desktop.c"
{
#line 682 "gcp-page-desktop.gob"
      
            const gchar * value = gtk_entry_get_text(GTK_ENTRY(entry));
            
            gcm_gl_option_set_string(selfp->show_desktop_key, (gchar *)value);
      }}
#line 1234 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 688 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_on_viewport_all_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry)
#line 1240 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_viewport_all_entryshortcut_changed"
#line 688 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 688 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1247 "gcp-page-desktop.c"
{
#line 690 "gcp-page-desktop.gob"
      
            const gchar * value = gtk_entry_get_text(GTK_ENTRY(entry));
            
            gcm_gl_option_set_string(selfp->scale_initiate_key, (gchar *)value);
      }}
#line 1255 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 696 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_on_all_windows_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry)
#line 1261 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_all_windows_entryshortcut_changed"
#line 696 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 696 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1268 "gcp-page-desktop.c"
{
#line 698 "gcp-page-desktop.gob"
      
            const gchar * value = gtk_entry_get_text(GTK_ENTRY(entry));
            
            gcm_gl_option_set_string(selfp->scale_initiate_all_key, (gchar *)value);
      }}
#line 1276 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 704 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_on_group_windows_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry)
#line 1282 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_group_windows_entryshortcut_changed"
#line 704 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 704 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1289 "gcp-page-desktop.c"
{
#line 706 "gcp-page-desktop.gob"
      
            const gchar * value = gtk_entry_get_text(GTK_ENTRY(entry));
            
            gcm_gl_option_set_string(selfp->scale_initiate_group_key, (gchar *)value);
      }}
#line 1297 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 712 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_init_effects (GCPPageDesktop * self)
#line 1303 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::init_effects"
#line 712 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 712 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1310 "gcp-page-desktop.c"
{
#line 714 "gcp-page-desktop.gob"
      
            gboolean water_enabled =  gcm_gl_desktop_plugin_is_active(GCM_PAGE(self)->gl_desktop,
                                                                                      "water");
            GCMGLPlugin * water = gcm_gl_desktop_get_plugin(GCM_PAGE(self)->gl_desktop, 
                                                                                       "water");
            GtkWidget * effects_water_toggle_entryshortcut;
            GtkWidget * effects_water_pointer_entryshortcut;
            gchar * effects_water_toggle = gcm_gl_option_get_string(selfp->water_initiate_key);
            gchar * effects_water_pointer = gcm_gl_option_get_string(selfp->toggle_rain_key);
            GtkTooltips * tooltips;
            
            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(selfp->effects_water_checkbutton),
                                                       water_enabled);
            gtk_widget_set_sensitive(GTK_WIDGET(selfp->effects_water_alignment),
                                                 water_enabled);
                  
            effects_water_toggle_entryshortcut = gcm_entry_shortcut_new(effects_water_toggle, FALSE);
            g_free(effects_water_toggle);
            gtk_widget_show(effects_water_toggle_entryshortcut);
            gtk_table_attach_defaults(selfp->effects_water_table, 
                                                  effects_water_toggle_entryshortcut, 1, 2, 0, 1);
            g_signal_connect_swapped(effects_water_toggle_entryshortcut,
                                                 "edited",
                                                 G_CALLBACK(self_on_effects_water_toggle_entryshortcut_changed),
                                                 self);
            
            effects_water_pointer_entryshortcut = gcm_entry_shortcut_new(effects_water_pointer, FALSE);
            g_free(effects_water_pointer);
            gtk_widget_show(effects_water_pointer_entryshortcut);
            gtk_table_attach_defaults(selfp->effects_water_table, 
                                                  effects_water_pointer_entryshortcut, 3, 4, 0, 1);
            g_signal_connect_swapped(effects_water_pointer_entryshortcut,
                                                 "edited",
                                                 G_CALLBACK(self_on_effects_water_pointer_entryshortcut_changed),
                                                 self);
            
            tooltips = gtk_tooltips_new();
            gtk_tooltips_set_tip(tooltips, GTK_WIDGET(selfp->effects_water_checkbutton),
                                           water->info,
                                           NULL);
            gtk_tooltips_set_tip(tooltips, GTK_WIDGET(effects_water_toggle_entryshortcut),
                                           gcm_gl_option_get_description(selfp->water_initiate_key),
                                           NULL);
            gtk_tooltips_set_tip(tooltips, GTK_WIDGET(effects_water_pointer_entryshortcut),
                                           gcm_gl_option_get_description(selfp->toggle_rain_key),
                                           NULL);
      }}
#line 1360 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 762 "gcp-page-desktop.gob"
void 
gcp_page_desktop_on_effects_water_checkbutton_toggled (GCPPageDesktop * self, GtkWidget * button)
#line 1366 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_effects_water_checkbutton_toggled"
#line 762 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 762 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1373 "gcp-page-desktop.c"
{
#line 764 "gcp-page-desktop.gob"
      
            gboolean water = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(selfp->desktop_zoom_checkbutton));
            
            if (water)
                  gcm_gl_desktop_enable_plugin(GCM_PAGE(self)->gl_desktop,
                                                             "water");
            else
                  gcm_gl_desktop_disable_plugin(GCM_PAGE(self)->gl_desktop,
                                                              "water");
            
            gtk_widget_set_sensitive(GTK_WIDGET(selfp->effects_water_alignment), water);
      }}
#line 1388 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 777 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_on_effects_water_toggle_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry)
#line 1394 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_effects_water_toggle_entryshortcut_changed"
#line 777 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 777 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1401 "gcp-page-desktop.c"
{
#line 779 "gcp-page-desktop.gob"
      
            const gchar * value = gtk_entry_get_text(GTK_ENTRY(entry));
            
            gcm_gl_option_set_string(selfp->water_initiate_key, (gchar *)value);
      }}
#line 1409 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 785 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_on_effects_water_pointer_entryshortcut_changed (GCPPageDesktop * self, GCMEntryShortcut * entry)
#line 1415 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_effects_water_pointer_entryshortcut_changed"
#line 785 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 785 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1422 "gcp-page-desktop.c"
{
#line 787 "gcp-page-desktop.gob"
      
            const gchar * value = gtk_entry_get_text(GTK_ENTRY(entry));
            
            gcm_gl_option_set_string(selfp->toggle_rain_key, (gchar *)value);
      }}
#line 1430 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 793 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_change_button_image (GCPPageDesktop * self, gint button, gchar * edge, gboolean active)
#line 1436 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::change_button_image"
#line 793 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 793 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1443 "gcp-page-desktop.c"
{
#line 795 "gcp-page-desktop.gob"
      
            GtkImage *image = g_hash_table_lookup(selfp->edge_image,
                                                                    edge);
            if (image)
            {
                  GtkContainer * container = 
                                    GTK_CONTAINER(gtk_widget_get_parent(GTK_WIDGET(image)));
                        
                  gtk_widget_destroy(GTK_WIDGET(image));
                  image = GTK_IMAGE(gtk_image_new_from_file(GCPPageMouseImage[button]));
                  g_hash_table_replace(selfp->edge_image, g_strdup(edge), image);
                  gtk_widget_show(GTK_WIDGET(image));
                  gtk_container_add(container, GTK_WIDGET(image));
                  gtk_widget_set_sensitive(GTK_WIDGET(container), active);
            }
      }}
#line 1462 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 812 "gcp-page-desktop.gob"
static void 
gcp_page_desktop_on_mouse_shorcut_button_changed (GCPPageDesktop * self, gint button, gchar * edge, GCPMouseShortcut * dialog)
#line 1468 "gcp-page-desktop.c"
{
#define __GOB_FUNCTION__ "GCP:Page:Desktop::on_mouse_shorcut_button_changed"
#line 812 "gcp-page-desktop.gob"
      g_return_if_fail (self != NULL);
#line 812 "gcp-page-desktop.gob"
      g_return_if_fail (GCP_IS_PAGE_DESKTOP (self));
#line 1475 "gcp-page-desktop.c"
{
#line 815 "gcp-page-desktop.gob"
      
            GtkComboBox * combobox = g_hash_table_lookup(selfp->edge_combobox,
                                                                               edge);
            GCMGLOption *option_button = g_hash_table_lookup(selfp->edge_button_keys,
                                                            gtk_combo_box_get_active_text(combobox));
            self_change_button_image(self, button, edge, TRUE);
            if (option_button)
                  gcm_gl_option_set_integer(option_button, button);
      }}
#line 1487 "gcp-page-desktop.c"
#undef __GOB_FUNCTION__

#line 826 "gcp-page-desktop.gob"

GCM_PLUGIN_FACTORY(GCPPageDesktop, GCM_TYPE_PAGE, gcp_page_desktop);

#line 1494 "gcp-page-desktop.c"

Generated by  Doxygen 1.6.0   Back to index