static void mate_panel_applet_locked_change_notify (GSettings *settings, gchar *key, GtkWidget *applet) { gboolean locked; gboolean applet_locked; AppletInfo *info; PanelWidget *panel_widget; g_assert (applet != NULL); info = (AppletInfo *) g_object_get_data (G_OBJECT (applet), "applet_info"); if (info == NULL) return; locked = g_settings_get_boolean (settings, key); panel_widget = mate_panel_applet_get_panel_widget (info); applet_locked = panel_widget_get_applet_locked (panel_widget, info->widget); if ((locked && applet_locked) || !(locked || applet_locked)) return; mate_panel_applet_toggle_locked (info); if (info->type == PANEL_OBJECT_APPLET) mate_panel_applet_frame_sync_menu_state (MATE_PANEL_APPLET_FRAME (info->widget)); else mate_panel_applet_recreate_menu (info); }
static void mate_panel_applet_lock (GtkCheckMenuItem *menuitem, AppletInfo *info) { gboolean locked; locked = mate_panel_applet_toggle_locked (info); gtk_check_menu_item_set_active (menuitem, locked); if (info->move_item) gtk_widget_set_sensitive (info->move_item, !locked); }
static void mate_panel_applet_locked_change_notify (MateConfClient *client, guint cnxn_id, MateConfEntry *entry, GtkWidget *applet) { MateConfValue *value; gboolean locked; gboolean applet_locked; AppletInfo *info; PanelWidget *panel_widget; g_assert (applet != NULL); info = (AppletInfo *) g_object_get_data (G_OBJECT (applet), "applet_info"); if (info == NULL) return; value = mateconf_entry_get_value (entry); if (value == NULL || value->type != MATECONF_VALUE_BOOL) return; locked = mateconf_value_get_bool (value); panel_widget = mate_panel_applet_get_panel_widget (info); applet_locked = panel_widget_get_applet_locked (panel_widget, info->widget); if ((locked && applet_locked) || !(locked || applet_locked)) return; mate_panel_applet_toggle_locked (info); if (info->type == PANEL_OBJECT_APPLET) mate_panel_applet_frame_sync_menu_state (MATE_PANEL_APPLET_FRAME (info->widget)); else mate_panel_applet_recreate_menu (info); }