static void fill_connection (EAPMethod *parent, NMConnection *connection) { EAPMethodTLS *method = (EAPMethodTLS *) parent; NMSetting8021xCKFormat format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN; NMSetting8021x *s_8021x; GtkWidget *widget; char *ca_filename, *pk_filename, *cc_filename; const char *password = NULL; GError *error = NULL; const char *secret_flag_prop = NULL; s_8021x = nm_connection_get_setting_802_1x (connection); g_assert (s_8021x); if (parent->phase2) g_object_set (s_8021x, NM_SETTING_802_1X_PHASE2_AUTH, "tls", NULL); else nm_setting_802_1x_add_eap_method (s_8021x, "tls"); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_identity_entry")); g_assert (widget); g_object_set (s_8021x, NM_SETTING_802_1X_IDENTITY, gtk_entry_get_text (GTK_ENTRY (widget)), NULL); /* TLS private key */ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_private_key_password_entry")); g_assert (widget); password = gtk_entry_get_text (GTK_ENTRY (widget)); g_assert (password); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_private_key_button")); g_assert (widget); pk_filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget)); g_assert (pk_filename); if (parent->phase2) { if (!nm_setting_802_1x_set_phase2_private_key (s_8021x, pk_filename, password, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read phase2 private key '%s': %s", pk_filename, error ? error->message : "(unknown)"); g_clear_error (&error); } secret_flag_prop = NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD_FLAGS; } else { if (!nm_setting_802_1x_set_private_key (s_8021x, pk_filename, password, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read private key '%s': %s", pk_filename, error ? error->message : "(unknown)"); g_clear_error (&error); } secret_flag_prop = NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD_FLAGS; } g_free (pk_filename); /* Default to agent-owned secrets for new connections */ if (method->new_connection) { g_object_set (s_8021x, secret_flag_prop, NM_SETTING_SECRET_FLAG_AGENT_OWNED, NULL); } /* TLS client certificate */ if (format != NM_SETTING_802_1X_CK_FORMAT_PKCS12) { /* If the key is pkcs#12 nm_setting_802_1x_set_private_key() already * set the client certificate for us. */ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_user_cert_button")); g_assert (widget); cc_filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget)); g_assert (cc_filename); format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN; if (parent->phase2) { if (!nm_setting_802_1x_set_phase2_client_cert (s_8021x, cc_filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read phase2 client certificate '%s': %s", cc_filename, error ? error->message : "(unknown)"); g_clear_error (&error); } } else { if (!nm_setting_802_1x_set_client_cert (s_8021x, cc_filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read client certificate '%s': %s", cc_filename, error ? error->message : "(unknown)"); g_clear_error (&error); } } g_free (cc_filename); } /* TLS CA certificate */ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")); g_assert (widget); ca_filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget)); format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN; if (parent->phase2) { if (!nm_setting_802_1x_set_phase2_ca_cert (s_8021x, ca_filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read phase2 CA certificate '%s': %s", ca_filename, error ? error->message : "(unknown)"); g_clear_error (&error); } } else { if (!nm_setting_802_1x_set_ca_cert (s_8021x, ca_filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read CA certificate '%s': %s", ca_filename, error ? error->message : "(unknown)"); g_clear_error (&error); } } }
EAPMethodTLS * eap_method_tls_new (WirelessSecurity *ws_parent, NMConnection *connection, gboolean phase2, gboolean secrets_only) { EAPMethodTLS *method; EAPMethod *parent; GtkWidget *widget; NMSetting8021x *s_8021x = NULL; parent = eap_method_init (sizeof (EAPMethodTLS), validate, add_to_size_group, fill_connection, update_secrets, NULL, UIDIR "/eap-method-tls.ui", "eap_tls_notebook", "eap_tls_identity_entry", phase2); if (!parent) return NULL; method = (EAPMethodTLS *) parent; method->new_connection = secrets_only ? FALSE : TRUE; eap_method_nag_init (parent, "eap_tls_ca_cert_button", connection); if (connection) s_8021x = nm_connection_get_setting_802_1x (connection); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_identity_entry")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "changed", (GCallback) wireless_security_changed_cb, ws_parent); if (s_8021x && nm_setting_802_1x_get_identity (s_8021x)) gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_identity (s_8021x)); setup_filepicker (parent->builder, "eap_tls_user_cert_button", _("Choose your personal certificate..."), ws_parent, parent, s_8021x, phase2 ? nm_setting_802_1x_get_phase2_client_cert_scheme : nm_setting_802_1x_get_client_cert_scheme, phase2 ? nm_setting_802_1x_get_phase2_client_cert_path : nm_setting_802_1x_get_client_cert_path, FALSE, TRUE); setup_filepicker (parent->builder, "eap_tls_ca_cert_button", _("Choose a Certificate Authority certificate..."), ws_parent, parent, s_8021x, phase2 ? nm_setting_802_1x_get_phase2_ca_cert_scheme : nm_setting_802_1x_get_ca_cert_scheme, phase2 ? nm_setting_802_1x_get_phase2_ca_cert_path : nm_setting_802_1x_get_ca_cert_path, FALSE, FALSE); setup_filepicker (parent->builder, "eap_tls_private_key_button", _("Choose your private key..."), ws_parent, parent, s_8021x, phase2 ? nm_setting_802_1x_get_phase2_private_key_scheme : nm_setting_802_1x_get_private_key_scheme, phase2 ? nm_setting_802_1x_get_phase2_private_key_path : nm_setting_802_1x_get_private_key_path, TRUE, FALSE); /* Fill secrets, if any */ if (connection) update_secrets (parent, connection); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_private_key_password_entry")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "changed", (GCallback) wireless_security_changed_cb, ws_parent); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "show_checkbutton_eaptls")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "toggled", (GCallback) show_toggled_cb, parent); if (secrets_only) { widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_identity_entry")); gtk_widget_set_sensitive (widget, FALSE); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_user_cert_label")); gtk_widget_hide (widget); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_user_cert_button")); gtk_widget_hide (widget); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_private_key_label")); gtk_widget_hide (widget); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_private_key_button")); gtk_widget_hide (widget); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_label")); gtk_widget_hide (widget); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")); gtk_widget_hide (widget); } return method; }
void stickynotes_applet_init_prefs(void) { stickynotes->builder = gtk_builder_new (); gtk_builder_add_from_file (stickynotes->builder, BUILDER_PATH, NULL); stickynotes->w_prefs = GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "preferences_dialog")); stickynotes->w_prefs_width = gtk_spin_button_get_adjustment ( GTK_SPIN_BUTTON (gtk_builder_get_object ( stickynotes->builder, "width_spin"))); stickynotes->w_prefs_height = gtk_spin_button_get_adjustment ( GTK_SPIN_BUTTON (gtk_builder_get_object ( stickynotes->builder, "height_spin"))); stickynotes->w_prefs_color = GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "default_color")); stickynotes->w_prefs_font_color = GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "prefs_font_color")); stickynotes->w_prefs_sys_color = GTK_WIDGET (>K_CHECK_BUTTON ( gtk_builder_get_object (stickynotes->builder, "sys_color_check"))->toggle_button); stickynotes->w_prefs_font = GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "default_font")); stickynotes->w_prefs_sys_font = GTK_WIDGET (>K_CHECK_BUTTON ( gtk_builder_get_object (stickynotes->builder, "sys_font_check"))->toggle_button); stickynotes->w_prefs_sticky = GTK_WIDGET (>K_CHECK_BUTTON ( gtk_builder_get_object (stickynotes->builder, "sticky_check"))->toggle_button); stickynotes->w_prefs_force = GTK_WIDGET (>K_CHECK_BUTTON ( gtk_builder_get_object (stickynotes->builder, "force_default_check"))->toggle_button); stickynotes->w_prefs_desktop = GTK_WIDGET (>K_CHECK_BUTTON ( gtk_builder_get_object (stickynotes->builder, "desktop_hide_check"))->toggle_button); g_signal_connect (G_OBJECT (stickynotes->w_prefs), "response", G_CALLBACK (preferences_response_cb), NULL); g_signal_connect (G_OBJECT (stickynotes->w_prefs), "delete-event", G_CALLBACK (preferences_delete_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_width), "value-changed", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_height), "value-changed", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_sys_color), "toggled", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect_swapped (G_OBJECT(stickynotes->w_prefs_sys_font), "toggled", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect (G_OBJECT (stickynotes->w_prefs_color), "color-set", G_CALLBACK (preferences_color_cb), NULL); g_signal_connect (G_OBJECT (stickynotes->w_prefs_font_color), "color-set", G_CALLBACK (preferences_color_cb), NULL); g_signal_connect (G_OBJECT (stickynotes->w_prefs_font), "font-set", G_CALLBACK (preferences_font_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_sticky), "toggled", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_force), "toggled", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_desktop), "toggled", G_CALLBACK (preferences_save_cb), NULL); { GtkSizeGroup *group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); gtk_size_group_add_widget(group, GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "width_label"))); gtk_size_group_add_widget(group, GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "height_label"))); gtk_size_group_add_widget(group, GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "prefs_color_label"))); g_object_unref(group); } if (!gconf_client_key_is_writable(stickynotes->gconf, GCONF_PATH "/defaults/width", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "width_label")), FALSE); gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "width_spin")), FALSE); } if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/defaults/height", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "height_label")), FALSE); gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "height_spin")), FALSE); } if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/defaults/color", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "prefs_color_label")), FALSE); gtk_widget_set_sensitive (stickynotes->w_prefs_color, FALSE); } if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/defaults/font_color", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "prefs_font_color_label")), FALSE); gtk_widget_set_sensitive (stickynotes->w_prefs_font_color, FALSE); } if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/settings/use_system_color", NULL)) gtk_widget_set_sensitive (stickynotes->w_prefs_sys_color, FALSE); if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/defaults/font", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "prefs_font_label")), FALSE); gtk_widget_set_sensitive (stickynotes->w_prefs_font, FALSE); } if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/settings/use_system_font", NULL)) gtk_widget_set_sensitive (stickynotes->w_prefs_sys_font, FALSE); if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/settings/sticky", NULL)) gtk_widget_set_sensitive (stickynotes->w_prefs_sticky, FALSE); if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/settings/force_default", NULL)) gtk_widget_set_sensitive (stickynotes->w_prefs_force, FALSE); stickynotes_applet_update_prefs(); }
static GtkWidget* create_window (void) { GtkWidget *window; GtkBuilder *builder; GError* error = NULL; /* Load UI from file */ builder = gtk_builder_new (); if (!gtk_builder_add_from_file (builder, UI_FILE, &error)) { g_warning ("Couldn't load builder file: %s", error->message); g_error_free (error); } /* Auto-connect signal handlers */ gtk_builder_connect_signals (builder, NULL); btn1 = GTK_WIDGET (gtk_builder_get_object (builder, "button1")); btn2 = GTK_WIDGET (gtk_builder_get_object (builder, "button2")); btn3 = GTK_WIDGET (gtk_builder_get_object (builder, "button3")); btn4 = GTK_WIDGET (gtk_builder_get_object (builder, "button4")); btn5 = GTK_WIDGET (gtk_builder_get_object (builder, "button5")); btn6 = GTK_WIDGET (gtk_builder_get_object (builder, "button6")); btn7 = GTK_WIDGET (gtk_builder_get_object (builder, "button7")); btn8 = GTK_WIDGET (gtk_builder_get_object (builder, "button8")); btn9 = GTK_WIDGET (gtk_builder_get_object (builder, "button9")); /* Get the window object from the ui file */ window1 = GTK_WIDGET (gtk_builder_get_object (builder, "window")); window = GTK_WIDGET (gtk_builder_get_object (builder, "window")); g_object_unref (builder); return window; }
static void nemo_file_management_properties_dialog_setup (GtkBuilder *builder, GtkWindow *window) { GtkWidget *dialog; /* setup UI */ nemo_file_management_properties_size_group_create (builder, "views_label", 5); nemo_file_management_properties_size_group_create (builder, "captions_label", 3); nemo_file_management_properties_size_group_create (builder, "preview_label", 4); create_date_format_menu (builder); /* nemo patch */ bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_UP_ICON_TOOLBAR_WIDGET, NEMO_PREFERENCES_SHOW_UP_ICON_TOOLBAR); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_RELOAD_ICON_TOOLBAR_WIDGET, NEMO_PREFERENCES_SHOW_RELOAD_ICON_TOOLBAR); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_EDIT_ICON_TOOLBAR_WIDGET, NEMO_PREFERENCES_SHOW_EDIT_ICON_TOOLBAR); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_HOME_ICON_TOOLBAR_WIDGET, NEMO_PREFERENCES_SHOW_HOME_ICON_TOOLBAR); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_COMPUTER_ICON_TOOLBAR_WIDGET, NEMO_PREFERENCES_SHOW_COMPUTER_ICON_TOOLBAR); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_SEARCH_ICON_TOOLBAR_WIDGET, NEMO_PREFERENCES_SHOW_SEARCH_ICON_TOOLBAR); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_LABEL_SEARCH_ICON_TOOLBAR_WIDGET, NEMO_PREFERENCES_SHOW_LABEL_SEARCH_ICON_TOOLBAR); /* setup preferences */ bind_builder_bool (builder, nemo_icon_view_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_COMPACT_LAYOUT_WIDGET, NEMO_PREFERENCES_ICON_VIEW_DEFAULT_USE_TIGHTER_LAYOUT); bind_builder_bool (builder, nemo_icon_view_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_LABELS_BESIDE_ICONS_WIDGET, NEMO_PREFERENCES_ICON_VIEW_LABELS_BESIDE_ICONS); bind_builder_bool (builder, nemo_compact_view_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_ALL_COLUMNS_SAME_WIDTH, NEMO_PREFERENCES_COMPACT_VIEW_ALL_COLUMNS_SAME_WIDTH); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_FOLDERS_FIRST_WIDGET, NEMO_PREFERENCES_SORT_DIRECTORIES_FIRST); bind_builder_bool_inverted (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_ALWAYS_USE_BROWSER_WIDGET, NEMO_PREFERENCES_ALWAYS_USE_BROWSER); bind_builder_bool (builder, nemo_desktop_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_DESKTOP_TOOLTIPS_WIDGET, NEMO_PREFERENCES_DESKTOP_SHOW_TOOLTIPS); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_TRASH_CONFIRM_WIDGET, NEMO_PREFERENCES_CONFIRM_TRASH); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_TRASH_DELETE_WIDGET, NEMO_PREFERENCES_ENABLE_DELETE); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SWAP_TRASH_DELETE, NEMO_PREFERENCES_SWAP_TRASH_DELETE); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_FULL_PATH_IN_TITLE_BARS_WIDGET, NEMO_PREFERENCES_SHOW_FULL_PATH_TITLES); bind_builder_bool (builder, nemo_tree_sidebar_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_TREE_VIEW_FOLDERS_WIDGET, NEMO_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES); bind_builder_enum (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_DEFAULT_VIEW_WIDGET, NEMO_PREFERENCES_DEFAULT_FOLDER_VIEWER, (const char **) default_view_values); bind_builder_enum (builder, nemo_icon_view_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_ICON_VIEW_ZOOM_WIDGET, NEMO_PREFERENCES_ICON_VIEW_DEFAULT_ZOOM_LEVEL, (const char **) zoom_values); bind_builder_enum (builder, nemo_compact_view_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_COMPACT_VIEW_ZOOM_WIDGET, NEMO_PREFERENCES_COMPACT_VIEW_DEFAULT_ZOOM_LEVEL, (const char **) zoom_values); bind_builder_enum (builder, nemo_list_view_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_LIST_VIEW_ZOOM_WIDGET, NEMO_PREFERENCES_LIST_VIEW_DEFAULT_ZOOM_LEVEL, (const char **) zoom_values); bind_builder_enum (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SORT_ORDER_WIDGET, NEMO_PREFERENCES_DEFAULT_SORT_ORDER, (const char **) sort_order_values); bind_builder_enum (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_PREVIEW_TEXT_WIDGET, NEMO_PREFERENCES_SHOW_TEXT_IN_ICONS, (const char **) preview_values); bind_builder_enum (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_PREVIEW_IMAGE_WIDGET, NEMO_PREFERENCES_SHOW_IMAGE_FILE_THUMBNAILS, (const char **) preview_values); bind_builder_enum (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_PREVIEW_FOLDER_WIDGET, NEMO_PREFERENCES_SHOW_DIRECTORY_ITEM_COUNTS, (const char **) preview_values); bind_builder_enum (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SIZE_PREFIXES_WIDGET, NEMO_PREFERENCES_SIZE_PREFIXES, (const char **) size_prefixes_values); bind_builder_enum (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_DATE_FORMAT_WIDGET, NEMO_PREFERENCES_DATE_FORMAT, (const char **) date_format_values); bind_builder_radio (builder, nemo_preferences, (const char **) click_behavior_components, NEMO_PREFERENCES_CLICK_POLICY, (const char **) click_behavior_values); bind_builder_radio (builder, nemo_preferences, (const char **) executable_text_components, NEMO_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION, (const char **) executable_text_values); bind_builder_uint_enum (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_THUMBNAIL_LIMIT_WIDGET, NEMO_PREFERENCES_IMAGE_FILE_THUMBNAIL_LIMIT, thumbnail_limit_values, G_N_ELEMENTS (thumbnail_limit_values)); bind_builder_bool (builder, gnome_media_handling_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_AUTOMOUNT_MEDIA_WIDGET, GNOME_DESKTOP_MEDIA_HANDLING_AUTOMOUNT); bind_builder_bool (builder, gnome_media_handling_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_AUTOOPEN_MEDIA_WIDGET, GNOME_DESKTOP_MEDIA_HANDLING_AUTOMOUNT_OPEN); bind_builder_bool_inverted (builder, gnome_media_handling_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_AUTORUN_MEDIA_WIDGET, GNOME_DESKTOP_MEDIA_HANDLING_AUTORUN); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_CLOSE_DEVICE_VIEW_ON_EJECT_WIDGET, NEMO_PREFERENCES_CLOSE_DEVICE_VIEW_ON_EJECT); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_ADVANCED_PERMISSIONS_WIDGET, NEMO_PREFERENCES_SHOW_ADVANCED_PERMISSIONS); bind_builder_string_entry (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_BULK_RENAME_WIDGET, NEMO_PREFERENCES_BULK_RENAME_TOOL); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_START_WITH_DUAL_PANE_WIDGET, NEMO_PREFERENCES_START_WITH_DUAL_PANE); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_IGNORE_VIEW_METADATA_WIDGET, NEMO_PREFERENCES_IGNORE_VIEW_METADATA); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_BOOKMARKS_IN_TO_MENUS_WIDGET, NEMO_PREFERENCES_SHOW_BOOKMARKS_IN_TO_MENUS); bind_builder_bool (builder, nemo_preferences, NEMO_FILE_MANAGEMENT_PROPERTIES_PLACES_IN_TO_MENUS_WIDGET, NEMO_PREFERENCES_SHOW_PLACES_IN_TO_MENUS); nemo_file_management_properties_dialog_setup_icon_caption_page (builder); nemo_file_management_properties_dialog_setup_list_column_page (builder); /* UI callbacks */ dialog = GTK_WIDGET (gtk_builder_get_object (builder, "file_management_dialog")); g_signal_connect_data (dialog, "response", G_CALLBACK (nemo_file_management_properties_dialog_response_cb), g_object_ref (builder), (GClosureNotify)g_object_unref, 0); g_signal_connect (dialog, "delete-event", G_CALLBACK (gtk_widget_destroy), NULL); gtk_window_set_icon_name (GTK_WINDOW (dialog), "folder"); if (window) { gtk_window_set_screen (GTK_WINDOW (dialog), gtk_window_get_screen(window)); } preferences_dialog = dialog; g_object_add_weak_pointer (G_OBJECT (dialog), (gpointer *) &preferences_dialog); gtk_widget_show (dialog); }
static gint sxftd_init( SXFromTransInfo *sxfti ) { GtkWidget *w; const char *transName; gint pos; GList *schedule = NULL; time64 start_tt; GDate date, nextDate; if ( ! sxfti->sx ) { return -1; } if ( ! sxfti->trans ) { return -2; } if ( xaccTransIsOpen( sxfti->trans ) ) { return SXFTD_ERRNO_OPEN_XACTION; } /* Setup Widgets */ { sxfti->ne_but = GTK_TOGGLE_BUTTON(gtk_builder_get_object(sxfti->builder, "never_end_button")); sxfti->ed_but = GTK_TOGGLE_BUTTON(gtk_builder_get_object(sxfti->builder, "end_on_date_button")); sxfti->oc_but = GTK_TOGGLE_BUTTON(gtk_builder_get_object(sxfti->builder, "n_occurrences_button")); sxfti->n_occurences = GTK_ENTRY(gtk_builder_get_object(sxfti->builder, "n_occurrences_entry")); } /* Get the name from the transaction, try that as the initial SX name. */ transName = xaccTransGetDescription( sxfti->trans ); xaccSchedXactionSetName( sxfti->sx, transName ); sxfti->name = GTK_ENTRY(gtk_builder_get_object(sxfti->builder, "name_entry" )); pos = 0; gtk_editable_insert_text( GTK_EDITABLE(sxfti->name), transName, (strlen(transName) * sizeof(char)), &pos ); sxfti_attach_callbacks(sxfti); /* Setup the example calendar and related data structures. */ { int num_marks = SXFTD_EXCAL_NUM_MONTHS * 31; w = GTK_WIDGET(gtk_builder_get_object(sxfti->builder, "ex_cal_frame" )); sxfti->dense_cal_model = gnc_dense_cal_store_new(num_marks); sxfti->example_cal = GNC_DENSE_CAL(gnc_dense_cal_new_with_model(GNC_DENSE_CAL_MODEL(sxfti->dense_cal_model))); g_object_ref_sink(sxfti->example_cal); g_assert(sxfti->example_cal); gnc_dense_cal_set_num_months( sxfti->example_cal, SXFTD_EXCAL_NUM_MONTHS ); gnc_dense_cal_set_months_per_col( sxfti->example_cal, SXFTD_EXCAL_MONTHS_PER_COL ); gtk_container_add( GTK_CONTAINER(w), GTK_WIDGET(sxfti->example_cal) ); } /* Setup the start and end dates as GNCDateEdits */ { GtkWidget *paramTable = GTK_WIDGET(gtk_builder_get_object(sxfti->builder, "param_table" )); sxfti->startDateGDE = GNC_DATE_EDIT( gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE)); gtk_grid_attach (GTK_GRID(paramTable), GTK_WIDGET(sxfti->startDateGDE), 1, 2, 1, 1); gtk_widget_set_halign (GTK_WIDGET(sxfti->startDateGDE), GTK_ALIGN_FILL); gtk_widget_set_valign (GTK_WIDGET(sxfti->startDateGDE), GTK_ALIGN_FILL); gtk_widget_set_hexpand (GTK_WIDGET(sxfti->startDateGDE), TRUE); gtk_widget_set_vexpand (GTK_WIDGET(sxfti->startDateGDE), FALSE); g_object_set (GTK_WIDGET(sxfti->startDateGDE), "margin", 0, NULL); g_signal_connect( sxfti->startDateGDE, "date-changed", G_CALLBACK( sxftd_update_excal_adapt ), sxfti ); } { GtkWidget *endDateBox = GTK_WIDGET(gtk_builder_get_object(sxfti->builder, "end_date_hbox" )); sxfti->endDateGDE = GNC_DATE_EDIT( gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE)); gtk_box_pack_start( GTK_BOX( endDateBox ), GTK_WIDGET( sxfti->endDateGDE ), TRUE, TRUE, 0 ); g_signal_connect( sxfti->endDateGDE, "date-changed", G_CALLBACK( sxftd_update_excal_adapt ), sxfti ); } /* Setup the initial start date for user display/confirmation */ /* compute good initial date. */ start_tt = xaccTransGetDate( sxfti->trans ); gnc_gdate_set_time64( &date, start_tt ); sxfti->freq_combo = GTK_COMBO_BOX(gtk_builder_get_object(sxfti->builder, "freq_combo_box")); gtk_combo_box_set_active(GTK_COMBO_BOX(sxfti->freq_combo), 0); g_signal_connect( sxfti->freq_combo, "changed", G_CALLBACK(sxftd_freq_combo_changed), sxfti ); sxftd_update_schedule( sxfti, &date, &schedule); recurrenceListNextInstance(schedule, &date, &nextDate); recurrenceListFree(&schedule); start_tt = gnc_time64_get_day_start_gdate (&nextDate); gnc_date_edit_set_time( sxfti->startDateGDE, start_tt ); g_signal_connect( G_OBJECT(sxfti->name), "destroy", G_CALLBACK(sxftd_destroy), sxfti ); sxftd_update_example_cal( sxfti ); return 0; }
GtkWidget* create_sheets_main_dialog (void) { GtkWidget *sheets_main_dialog; GtkWidget *optionmenu_left, *optionmenu_right; GtkWidget *optionmenu_left_menu, *optionmenu_right_menu; GtkWidget *glade_menuitem; GtkBuilder *builder; builder = builder_new_from_file ("ui/sheets-main-dialog.xml"); sheets_main_dialog = GTK_WIDGET (gtk_builder_get_object (builder, "sheets_main_dialog")); g_object_set_data (G_OBJECT(sheets_main_dialog), "_sheet_dialogs_builder", builder); g_signal_connect (G_OBJECT (sheets_main_dialog), "destroy", G_CALLBACK (sheets_dialog_destroyed), NULL); optionmenu_right = GTK_WIDGET (gtk_builder_get_object (builder, "optionmenu_right")); optionmenu_right_menu = gtk_menu_new (); gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu_right), optionmenu_right_menu); optionmenu_left = GTK_WIDGET (gtk_builder_get_object (builder, "optionmenu_left")); optionmenu_left_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (""); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_left_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu_left), optionmenu_left_menu); g_signal_connect (gtk_builder_get_object (builder,"sheets_main_dialog"), "delete_event", G_CALLBACK (on_sheets_main_dialog_delete_event), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_copy"), "clicked", G_CALLBACK (on_sheets_dialog_button_copy_clicked), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_copy_all"), "clicked", G_CALLBACK (on_sheets_dialog_button_copy_all_clicked), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_move"), "clicked", G_CALLBACK (on_sheets_dialog_button_move_clicked), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_move_all"), "clicked", G_CALLBACK (on_sheets_dialog_button_move_all_clicked), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_new"), "clicked", G_CALLBACK (on_sheets_dialog_button_new_clicked), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_move_up"), "clicked", G_CALLBACK (on_sheets_dialog_button_move_up_clicked), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_move_down"), "clicked", G_CALLBACK (on_sheets_dialog_button_move_down_clicked), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_edit"), "clicked", G_CALLBACK (on_sheets_dialog_button_edit_clicked), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_remove"), "clicked", G_CALLBACK (on_sheets_dialog_button_remove_clicked), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_apply"), "clicked", G_CALLBACK (on_sheets_dialog_button_apply_clicked), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_revert"), "clicked", G_CALLBACK (on_sheets_dialog_button_revert_clicked), NULL); g_signal_connect (gtk_builder_get_object (builder,"button_close"), "clicked", G_CALLBACK (on_sheets_dialog_button_close_clicked), NULL); persistence_register_window(GTK_WINDOW(sheets_main_dialog)); return sheets_main_dialog; }
/******************************************************* * Create the Assistant *******************************************************/ static GtkWidget * csv_import_assistant_create (CsvImportInfo *info) { GtkBuilder *builder; GtkWidget *window; GtkWidget *box, *h_box; GtkWidget *button; GtkCellRenderer *renderer; GtkTreeViewColumn *column; gchar *mnemonic_desc = NULL; builder = gtk_builder_new(); gnc_builder_add_from_file (builder, "assistant-csv-account-import.glade", "num_hrows_adj"); gnc_builder_add_from_file (builder, "assistant-csv-account-import.glade", "CSV Account Import Assistant"); window = GTK_WIDGET(gtk_builder_get_object (builder, "CSV Account Import Assistant")); info->window = window; /* Load default settings */ load_settings (info); /* Enable buttons on all page. */ gtk_assistant_set_page_complete (GTK_ASSISTANT(window), GTK_WIDGET(gtk_builder_get_object(builder, "start_page")), TRUE); gtk_assistant_set_page_complete (GTK_ASSISTANT(window), GTK_WIDGET(gtk_builder_get_object(builder, "file_page")), FALSE); gtk_assistant_set_page_complete (GTK_ASSISTANT(window), GTK_WIDGET(gtk_builder_get_object(builder, "import_tree_page")), TRUE); gtk_assistant_set_page_complete (GTK_ASSISTANT(window), GTK_WIDGET(gtk_builder_get_object(builder, "end_page")), FALSE); gtk_assistant_set_page_complete (GTK_ASSISTANT(window), GTK_WIDGET(gtk_builder_get_object(builder, "summary_page")), TRUE); /* Start Page */ /* File chooser Page */ info->file_chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_OPEN); g_signal_connect (G_OBJECT(info->file_chooser), "file-activated", G_CALLBACK(csv_import_file_chooser_confirm_cb), info); button = gtk_button_new_from_stock (GTK_STOCK_OK); gtk_widget_set_size_request (button, 100, -1); gtk_widget_show (button); h_box = gtk_hbox_new (TRUE, 0); gtk_box_pack_start (GTK_BOX(h_box), button, FALSE, FALSE, 0); gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(info->file_chooser), h_box); g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(csv_import_file_chooser_confirm_cb), info); box = GTK_WIDGET(gtk_builder_get_object(builder, "file_page")); gtk_box_pack_start (GTK_BOX(box), info->file_chooser, TRUE, TRUE, 6); gtk_widget_show (info->file_chooser); /* Account Tree Page */ info->header_row_spin = GTK_WIDGET(gtk_builder_get_object (builder, "num_hrows")); info->tree_view = GTK_WIDGET(gtk_builder_get_object (builder, "treeview")); /* Comma Separated file default */ info->regexp = g_string_new (""); create_regex (info->regexp, ","); /* create model and bind to view */ info->store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model (GTK_TREE_VIEW(info->tree_view), GTK_TREE_MODEL(info->store)); #define CREATE_COLUMN(description,column_id) \ renderer = gtk_cell_renderer_text_new (); \ mnemonic_desc = mnemonic_escape (_(description)); \ column = gtk_tree_view_column_new_with_attributes (mnemonic_desc, renderer, "text", column_id, NULL); \ gtk_tree_view_column_add_attribute (column, renderer, "background", ROW_COLOR); \ gtk_tree_view_column_set_resizable (column, TRUE); \ gtk_tree_view_append_column (GTK_TREE_VIEW(info->tree_view), column); \ g_free (mnemonic_desc); CREATE_COLUMN ("type", TYPE); CREATE_COLUMN ("full_name", FULL_NAME); CREATE_COLUMN ("name", NAME); CREATE_COLUMN ("code", CODE); CREATE_COLUMN ("description", DESCRIPTION); CREATE_COLUMN ("color", COLOR); CREATE_COLUMN ("notes", NOTES); CREATE_COLUMN ("commoditym", COMMODITYM); CREATE_COLUMN ("commodityn", COMMODITYN); CREATE_COLUMN ("hidden", HIDDEN); CREATE_COLUMN ("tax", TAX); CREATE_COLUMN ("place_holder", PLACE_HOLDER); /* Finish Page */ info->finish_label = GTK_WIDGET(gtk_builder_get_object (builder, "end_page")); /* Summary Page */ info->summary_label = GTK_WIDGET(gtk_builder_get_object (builder, "summary_label")); info->summary_error_view = GTK_WIDGET(gtk_builder_get_object (builder, "summary_error_view")); g_signal_connect (G_OBJECT(window), "destroy", G_CALLBACK(csv_import_assistant_destroy_cb), info); gnc_restore_window_size (GNC_PREFS_GROUP, GTK_WINDOW(info->window)); gtk_builder_connect_signals (builder, info); g_object_unref (G_OBJECT(builder)); return window; }
static EmployeeWindow * gnc_employee_new_window (QofBook *bookp, GncEmployee *employee) { EmployeeWindow *ew; GtkBuilder *builder; GtkWidget *hbox, *edit; gnc_commodity *currency; GNCPrintAmountInfo print_info; GList *acct_types; Account *ccard_acct; /* * Find an existing window for this employee. If found, bring it to * the front. */ if (employee) { GncGUID employee_guid; employee_guid = *gncEmployeeGetGUID (employee); ew = gnc_find_first_gui_component (DIALOG_EDIT_EMPLOYEE_CM_CLASS, find_handler, &employee_guid); if (ew) { gtk_window_present (GTK_WINDOW(ew->dialog)); return(ew); } } /* Find the default currency */ if (employee) currency = gncEmployeeGetCurrency (employee); else currency = gnc_default_currency (); /* * No existing employee window found. Build a new one. */ ew = g_new0 (EmployeeWindow, 1); ew->book = bookp; /* Find the dialog */ builder = gtk_builder_new(); gnc_builder_add_from_file (builder, "dialog-employee.glade", "Employee Dialog"); ew->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Employee Dialog")); g_object_set_data (G_OBJECT (ew->dialog), "dialog_info", ew); /* Get entry points */ ew->id_entry = GTK_WIDGET(gtk_builder_get_object (builder, "id_entry")); ew->username_entry = GTK_WIDGET(gtk_builder_get_object (builder, "username_entry")); ew->name_entry = GTK_WIDGET(gtk_builder_get_object (builder, "name_entry")); ew->addr1_entry = GTK_WIDGET(gtk_builder_get_object (builder, "addr1_entry")); ew->addr2_entry = GTK_WIDGET(gtk_builder_get_object (builder, "addr2_entry")); ew->addr3_entry = GTK_WIDGET(gtk_builder_get_object (builder, "addr3_entry")); ew->addr4_entry = GTK_WIDGET(gtk_builder_get_object (builder, "addr4_entry")); ew->phone_entry = GTK_WIDGET(gtk_builder_get_object (builder, "phone_entry")); ew->fax_entry = GTK_WIDGET(gtk_builder_get_object (builder, "fax_entry")); ew->email_entry = GTK_WIDGET(gtk_builder_get_object (builder, "email_entry")); ew->language_entry = GTK_WIDGET(gtk_builder_get_object (builder, "language_entry")); ew->active_check = GTK_WIDGET(gtk_builder_get_object (builder, "active_check")); /* Currency */ edit = gnc_currency_edit_new(); gnc_currency_edit_set_currency (GNC_CURRENCY_EDIT(edit), currency); ew->currency_edit = edit; hbox = GTK_WIDGET(gtk_builder_get_object (builder, "currency_box")); gtk_box_pack_start (GTK_BOX (hbox), edit, TRUE, TRUE, 0); /* WORKDAY: Value */ edit = gnc_amount_edit_new(); gnc_amount_edit_set_evaluate_on_enter (GNC_AMOUNT_EDIT (edit), TRUE); print_info = gnc_integral_print_info (); print_info.max_decimal_places = 5; gnc_amount_edit_set_print_info (GNC_AMOUNT_EDIT (edit), print_info); gnc_amount_edit_set_fraction (GNC_AMOUNT_EDIT (edit), 100000); ew->workday_amount = edit; gtk_widget_show (edit); hbox = GTK_WIDGET(gtk_builder_get_object (builder, "hours_hbox")); gtk_box_pack_start (GTK_BOX (hbox), edit, TRUE, TRUE, 0); /* RATE: Monetary Value */ edit = gnc_amount_edit_new(); print_info = gnc_commodity_print_info (currency, FALSE); gnc_amount_edit_set_evaluate_on_enter (GNC_AMOUNT_EDIT (edit), TRUE); gnc_amount_edit_set_print_info (GNC_AMOUNT_EDIT (edit), print_info); gnc_amount_edit_set_fraction (GNC_AMOUNT_EDIT (edit), gnc_commodity_get_fraction (currency)); ew->rate_amount = edit; gtk_widget_show (edit); hbox = GTK_WIDGET(gtk_builder_get_object (builder, "rate_hbox")); gtk_box_pack_start (GTK_BOX (hbox), edit, TRUE, TRUE, 0); /* CCard Account Selection */ ew->ccard_acct_check = GTK_WIDGET(gtk_builder_get_object (builder, "ccard_check")); edit = gnc_account_sel_new(); acct_types = g_list_prepend(NULL, (gpointer)ACCT_TYPE_CREDIT); gnc_account_sel_set_acct_filters (GNC_ACCOUNT_SEL(edit), acct_types, NULL); g_list_free (acct_types); ew->ccard_acct_sel = edit; gtk_widget_show (edit); hbox = GTK_WIDGET(gtk_builder_get_object (builder, "ccard_acct_hbox")); gtk_box_pack_start (GTK_BOX (hbox), edit, TRUE, TRUE, 0); /* Setup signals */ gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, ew); /* Setup initial values */ if (employee != NULL) { GncAddress *addr; ew->dialog_type = EDIT_EMPLOYEE; ew->employee_guid = *gncEmployeeGetGUID (employee); addr = gncEmployeeGetAddr (employee); gtk_entry_set_text (GTK_ENTRY (ew->id_entry), gncEmployeeGetID (employee)); gtk_entry_set_text (GTK_ENTRY (ew->username_entry), gncEmployeeGetUsername (employee)); /* Setup Address */ gtk_entry_set_text (GTK_ENTRY (ew->name_entry), gncAddressGetName (addr)); gtk_entry_set_text (GTK_ENTRY (ew->addr1_entry), gncAddressGetAddr1 (addr)); gtk_entry_set_text (GTK_ENTRY (ew->addr2_entry), gncAddressGetAddr2 (addr)); gtk_entry_set_text (GTK_ENTRY (ew->addr3_entry), gncAddressGetAddr3 (addr)); gtk_entry_set_text (GTK_ENTRY (ew->addr4_entry), gncAddressGetAddr4 (addr)); gtk_entry_set_text (GTK_ENTRY (ew->phone_entry), gncAddressGetPhone (addr)); gtk_entry_set_text (GTK_ENTRY (ew->fax_entry), gncAddressGetFax (addr)); gtk_entry_set_text (GTK_ENTRY (ew->email_entry), gncAddressGetEmail (addr)); gtk_entry_set_text (GTK_ENTRY (ew->language_entry), gncEmployeeGetLanguage (employee)); /* Set toggle buttons */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ew->active_check), gncEmployeeGetActive (employee)); ew->component_id = gnc_register_gui_component (DIALOG_EDIT_EMPLOYEE_CM_CLASS, gnc_employee_window_refresh_handler, gnc_employee_window_close_handler, ew); } else { employee = gncEmployeeCreate (bookp); ew->employee_guid = *gncEmployeeGetGUID (employee); ew->dialog_type = NEW_EMPLOYEE; ew->component_id = gnc_register_gui_component (DIALOG_NEW_EMPLOYEE_CM_CLASS, gnc_employee_window_refresh_handler, gnc_employee_window_close_handler, ew); } /* I know that employee exists here -- either passed in or just created */ /* Set the workday and rate values */ gnc_amount_edit_set_amount (GNC_AMOUNT_EDIT (ew->workday_amount), gncEmployeeGetWorkday (employee)); gnc_amount_edit_set_amount (GNC_AMOUNT_EDIT (ew->rate_amount), gncEmployeeGetRate (employee)); ccard_acct = gncEmployeeGetCCard (employee); if (ccard_acct == NULL) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ew->ccard_acct_check), FALSE); gtk_widget_set_sensitive (ew->ccard_acct_sel, FALSE); } else { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ew->ccard_acct_check), TRUE); gnc_account_sel_set_account (GNC_ACCOUNT_SEL (ew->ccard_acct_sel), ccard_acct, FALSE); } /* XXX: Set the ACL */ gnc_gui_component_watch_entity_type (ew->component_id, GNC_EMPLOYEE_MODULE_NAME, QOF_EVENT_MODIFY | QOF_EVENT_DESTROY); gtk_widget_show_all (ew->dialog); if (ccard_acct == NULL) gtk_widget_hide (ew->ccard_acct_sel); g_object_unref(G_OBJECT(builder)); return ew; }
GtkWidget * warlock_get_widget (const char *widget_name) { return GTK_WIDGET (gtk_builder_get_object (warlock_xml, widget_name)); }
static void update_device_list (GtkTreeIter *parent) { GtkUIManager *uimanager; GtkTreeIter iter; gboolean cont; guint num_devices; GList *actions, *l; num_devices = 0; uimanager = GTK_UI_MANAGER (gtk_builder_get_object (xml, "bluetooth-applet-ui-manager")); if (parent == NULL) { /* No default adapter? Remove everything */ actions = gtk_action_group_list_actions (devices_action_group); g_list_foreach (actions, (GFunc) remove_action_item, uimanager); g_list_free (actions); goto done; } /* Get a list of actions, and we'll remove the ones with a * device in the list. We remove the submenu items first */ actions = gtk_action_group_list_actions (devices_action_group); for (l = actions; l != NULL; l = l->next) { if (bluetooth_verify_address (gtk_action_get_name (l->data)) == FALSE) l->data = NULL; } actions = g_list_remove_all (actions, NULL); cont = gtk_tree_model_iter_children (devices_model, &iter, parent); while (cont) { GHashTable *services; DBusGProxy *proxy; char *alias, *address, **uuids, *name; gboolean is_connected; BluetoothType type; GtkAction *action, *status, *oper; gtk_tree_model_get (devices_model, &iter, BLUETOOTH_COLUMN_PROXY, &proxy, BLUETOOTH_COLUMN_ADDRESS, &address, BLUETOOTH_COLUMN_SERVICES, &services, BLUETOOTH_COLUMN_ALIAS, &alias, BLUETOOTH_COLUMN_UUIDS, &uuids, BLUETOOTH_COLUMN_TYPE, &type, -1); if (device_has_submenu ((const char **) uuids, services, type) == FALSE || address == NULL || proxy == NULL || alias == NULL) { if (proxy != NULL) g_object_unref (proxy); if (services != NULL) g_hash_table_unref (services); g_strfreev (uuids); g_free (alias); g_free (address); cont = gtk_tree_model_iter_next (devices_model, &iter); continue; } action = gtk_action_group_get_action (devices_action_group, address); oper = NULL; status = NULL; if (action) { char *action_name; actions = g_list_remove (actions, action); action_name = g_strdup_printf ("%s-status", address); status = gtk_action_group_get_action (devices_action_group, action_name); g_free (action_name); action_name = g_strdup_printf ("%s-action", address); oper = gtk_action_group_get_action (devices_action_group, action_name); g_free (action_name); } /* If one service is connected, then we're connected */ is_connected = FALSE; if (services != NULL) { GList *list, *l; list = g_hash_table_get_values (services); for (l = list; l != NULL; l = l->next) { BluetoothStatus val = GPOINTER_TO_INT (l->data); if (val == BLUETOOTH_STATUS_CONNECTED || val == BLUETOOTH_STATUS_PLAYING) { is_connected = TRUE; break; } } g_list_free (list); } name = escape_label_for_action (alias); if (action == NULL) { guint menu_merge_id; char *action_path; /* The menu item with descendants */ action = gtk_action_new (address, name, NULL, NULL); gtk_action_group_add_action (devices_action_group, action); g_object_unref (action); menu_merge_id = gtk_ui_manager_new_merge_id (uimanager); gtk_ui_manager_add_ui (uimanager, menu_merge_id, "/bluetooth-applet-popup/devices-placeholder", address, address, GTK_UI_MANAGER_MENU, FALSE); g_object_set_data_full (G_OBJECT (action), "merge-id", GUINT_TO_POINTER (menu_merge_id), NULL); /* The status menu item */ status = add_menu_item (address, "status", is_connected ? _("Connected") : _("Disconnected"), uimanager, menu_merge_id, NULL); gtk_action_set_sensitive (status, FALSE); if (services != NULL) { action_path = g_strdup_printf ("/bluetooth-applet-popup/devices-placeholder/%s/%s-status", address, address); action_set_bold (uimanager, status, action_path); g_free (action_path); } else { gtk_action_set_visible (status, FALSE); } /* The connect button */ oper = add_menu_item (address, "action", is_connected ? _("Disconnect") : _("Connect"), uimanager, menu_merge_id, G_CALLBACK (on_connect_activate)); if (services == NULL) gtk_action_set_visible (oper, FALSE); add_separator_item (address, "connect-sep", uimanager, menu_merge_id); /* The Send to... button */ if (device_has_uuid ((const char **) uuids, "OBEXObjectPush") != FALSE) { add_menu_item (address, "sendto", _("Send files..."), uimanager, menu_merge_id, G_CALLBACK (sendto_callback)); g_object_set_data_full (G_OBJECT (action), "alias", g_strdup (alias), g_free); } if (device_has_uuid ((const char **) uuids, "OBEXFileTransfer") != FALSE) { add_menu_item (address, "browse", _("Browse files..."), uimanager, menu_merge_id, G_CALLBACK (browse_callback)); } add_separator_item (address, "files-sep", uimanager, menu_merge_id); if (type == BLUETOOTH_TYPE_KEYBOARD && program_available (KEYBOARD_PREFS)) { add_menu_item (address, "keyboard", _("Open Keyboard Preferences..."), uimanager, menu_merge_id, G_CALLBACK (keyboard_callback)); } if (type == BLUETOOTH_TYPE_MOUSE && program_available (MOUSE_PREFS)) { add_menu_item (address, "mouse", _("Open Mouse Preferences..."), uimanager, menu_merge_id, G_CALLBACK (mouse_callback)); } if ((type == BLUETOOTH_TYPE_HEADSET || type == BLUETOOTH_TYPE_HEADPHONES || type == BLUETOOTH_TYPE_OTHER_AUDIO) && program_available (SOUND_PREFS)) { add_menu_item (address, "sound", _("Open Sound Preferences..."), uimanager, menu_merge_id, G_CALLBACK (sound_callback)); } } else { gtk_action_set_label (action, name); gtk_action_set_visible (status, services != NULL); gtk_action_set_visible (oper, services != NULL); if (services != NULL) { set_device_status_label (address, is_connected ? CONNECTED : DISCONNECTED); gtk_action_set_label (oper, is_connected ? _("Disconnect") : _("Connect")); } } g_free (name); if (oper != NULL) { g_object_set_data_full (G_OBJECT (oper), "connected", GINT_TO_POINTER (is_connected ? CONNECTED : DISCONNECTED), NULL); g_object_set_data_full (G_OBJECT (oper), "device-path", g_strdup (dbus_g_proxy_get_path (proxy)), g_free); } /* And now for the trick of the day */ if (is_connected != FALSE) { char *path; path = g_strdup_printf ("/bluetooth-applet-popup/devices-placeholder/%s", address); action_set_bold (uimanager, action, path); g_free (path); } num_devices++; if (proxy != NULL) g_object_unref (proxy); if (services != NULL) g_hash_table_unref (services); g_strfreev (uuids); g_free (alias); g_free (address); cont = gtk_tree_model_iter_next (devices_model, &iter); } /* Remove the left-over devices */ g_list_foreach (actions, (GFunc) remove_action_item, uimanager); g_list_free (actions); done: gtk_ui_manager_ensure_update (uimanager); gtk_action_set_visible (GTK_ACTION (gtk_builder_get_object (xml, "devices-label")), num_devices > 0); }
void dialog_preferences (Ignuit *ig) { Dialog *d; GtkWidget *btn_close, *btn_card_font; GtkWidget *btn_restore_colors, *btn_restore_schedules; GtkWidget *toggle_backup; GtkBuilder *builder; gchar *glade_file; const gchar *font; if (dialog != NULL) { gtk_window_present (GTK_WINDOW(dialog->window)); return; } glade_file = g_build_filename (DATADIR, F_GLADE_PREFERENCES, NULL); if (glade_file == NULL) { g_warning ("Can't find file: %s\n", F_GLADE_PREFERENCES); return; } dialog = d = g_new0 (Dialog, 1); builder = gtk_builder_new (); gtk_builder_add_from_file (builder, glade_file, NULL); g_free (glade_file); d->ig = ig; d->window = GTK_WIDGET (gtk_builder_get_object (builder, "dialog")); btn_card_font = GTK_WIDGET (gtk_builder_get_object (builder, "btn_font_small")); d->btn_color_fg = GTK_WIDGET (gtk_builder_get_object (builder, "btn_color_fg")); d->btn_color_bg = GTK_WIDGET (gtk_builder_get_object (builder, "btn_color_bg")); d->btn_color_bg_known = GTK_WIDGET (gtk_builder_get_object (builder, "btn_color_bg_known")); d->btn_color_bg_unknown = GTK_WIDGET (gtk_builder_get_object (builder, "btn_color_bg_unknown")); d->btn_color_bg_end = GTK_WIDGET (gtk_builder_get_object (builder, "btn_color_bg_end")); d->btn_color_expired = GTK_WIDGET (gtk_builder_get_object (builder, "btn_color_expired")); btn_restore_colors = GTK_WIDGET (gtk_builder_get_object (builder, "btn_restore_colors")); d->spin_0 = GTK_WIDGET (gtk_builder_get_object (builder, "spin_0")); d->spin_1 = GTK_WIDGET (gtk_builder_get_object (builder, "spin_1")); d->spin_2 = GTK_WIDGET (gtk_builder_get_object (builder, "spin_2")); d->spin_3 = GTK_WIDGET (gtk_builder_get_object (builder, "spin_3")); d->spin_4 = GTK_WIDGET (gtk_builder_get_object (builder, "spin_4")); d->spin_5 = GTK_WIDGET (gtk_builder_get_object (builder, "spin_5")); d->spin_6 = GTK_WIDGET (gtk_builder_get_object (builder, "spin_6")); d->spin_7 = GTK_WIDGET (gtk_builder_get_object (builder, "spin_7")); d->spin_8 = GTK_WIDGET (gtk_builder_get_object (builder, "spin_8")); btn_restore_schedules = GTK_WIDGET (gtk_builder_get_object (builder, "btn_restore_schedules")); d->spin_latex_dpi = GTK_WIDGET (gtk_builder_get_object (builder, "spin_latex_dpi")); gtk_spin_button_set_value (GTK_SPIN_BUTTON(d->spin_latex_dpi), prefs_get_latex_dpi (d->ig->prefs)); toggle_backup = GTK_WIDGET (gtk_builder_get_object (builder, "toggle_backup")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(toggle_backup), prefs_get_backup (d->ig->prefs)); btn_close = GTK_WIDGET (gtk_builder_get_object (builder, "btn_close")); set_color_buttons (d); set_spin_buttons (d); if ((font = prefs_get_card_font (d->ig->prefs)) != NULL) gtk_font_button_set_font_name (GTK_FONT_BUTTON(btn_card_font), font); g_signal_connect (G_OBJECT(d->window), "destroy", G_CALLBACK(cb_destroy), d); g_signal_connect (G_OBJECT(btn_card_font), "font-set", G_CALLBACK(cb_card_font), d); g_signal_connect (G_OBJECT(d->btn_color_fg), "color-set", G_CALLBACK(cb_color_fg), d); g_signal_connect (G_OBJECT(d->btn_color_expired), "color-set", G_CALLBACK(cb_color_expired), d); g_signal_connect (G_OBJECT(d->btn_color_bg), "color-set", G_CALLBACK(cb_color_bg), d); g_signal_connect (G_OBJECT(d->btn_color_bg_known), "color-set", G_CALLBACK(cb_color_bg_known), d); g_signal_connect (G_OBJECT(d->btn_color_bg_unknown), "color-set", G_CALLBACK(cb_color_bg_unknown), d); g_signal_connect (G_OBJECT(d->btn_color_bg_end), "color-set", G_CALLBACK(cb_color_bg_end), d); g_signal_connect (G_OBJECT(btn_restore_colors), "clicked", G_CALLBACK(cb_restore_colors), d); g_signal_connect (G_OBJECT(d->spin_0), "value-changed", G_CALLBACK(cb_schedule_changed), d); g_signal_connect (G_OBJECT(d->spin_1), "value-changed", G_CALLBACK(cb_schedule_changed), d); g_signal_connect (G_OBJECT(d->spin_2), "value-changed", G_CALLBACK(cb_schedule_changed), d); g_signal_connect (G_OBJECT(d->spin_3), "value-changed", G_CALLBACK(cb_schedule_changed), d); g_signal_connect (G_OBJECT(d->spin_4), "value-changed", G_CALLBACK(cb_schedule_changed), d); g_signal_connect (G_OBJECT(d->spin_5), "value-changed", G_CALLBACK(cb_schedule_changed), d); g_signal_connect (G_OBJECT(d->spin_6), "value-changed", G_CALLBACK(cb_schedule_changed), d); g_signal_connect (G_OBJECT(d->spin_7), "value-changed", G_CALLBACK(cb_schedule_changed), d); g_signal_connect (G_OBJECT(d->spin_8), "value-changed", G_CALLBACK(cb_schedule_changed), d); g_signal_connect (G_OBJECT(d->spin_latex_dpi), "value-changed", G_CALLBACK(cb_latex_dpi_changed), d); g_signal_connect (G_OBJECT(toggle_backup), "toggled", G_CALLBACK(cb_toggle_backup), d); g_signal_connect (G_OBJECT(btn_restore_schedules), "clicked", G_CALLBACK(cb_restore_schedules), d); g_signal_connect (G_OBJECT(btn_close), "clicked", G_CALLBACK(cb_close), d); gtk_window_set_transient_for (GTK_WINDOW(d->window), GTK_WINDOW(ig->app)); gtk_window_set_modal (GTK_WINDOW(d->window), FALSE); gtk_widget_show_all (d->window); g_object_unref (G_OBJECT(builder)); }
inline GObject * app_get_ui_element (App * app, const gchar * name) { return gtk_builder_get_object(app->definitions, name); }
void rb_media_player_source_show_properties (RBMediaPlayerSource *source) { RBMediaPlayerSourcePrivate *priv = MEDIA_PLAYER_SOURCE_GET_PRIVATE (source); RBMediaPlayerSourceClass *klass = RB_MEDIA_PLAYER_SOURCE_GET_CLASS (source); GtkBuilder *builder; GtkContainer *container; const char *ui_file; char *name; char *text; if (priv->properties_dialog != NULL) { gtk_window_present (GTK_WINDOW (priv->properties_dialog)); return; } /* load dialog UI */ ui_file = rb_file ("media-player-properties.ui"); if (ui_file == NULL) { g_warning ("Couldn't find media-player-properties.ui"); return; } builder = rb_builder_load (ui_file, NULL); if (builder == NULL) { g_warning ("Couldn't load media-player-properties.ui"); return; } priv->properties_dialog = GTK_DIALOG (gtk_builder_get_object (builder, "media-player-properties")); g_object_ref (priv->properties_dialog); g_signal_connect_object (priv->properties_dialog, "response", G_CALLBACK (properties_dialog_response_cb), source, 0); g_object_get (source, "name", &name, NULL); text = g_strdup_printf (_("%s Properties"), name); gtk_window_set_title (GTK_WINDOW (priv->properties_dialog), text); g_free (text); g_free (name); /* ensure device usage information is available and up to date */ update_sync (source); /* * fill in some common details: * - volume usage (need to hook up signals etc. to update this live) */ rb_sync_state_ui_create_bar (&priv->volume_usage, rb_media_player_source_get_capacity (source), NULL); rb_sync_state_ui_update_volume_usage (&priv->volume_usage, priv->sync_state); gtk_widget_show_all (priv->volume_usage.widget); container = GTK_CONTAINER (gtk_builder_get_object (builder, "device-usage-container")); gtk_container_add (container, priv->volume_usage.widget); /* let the subclass fill in device type specific details (model names, device names, * .. battery levels?) and add more tabs to the notebook to display 'advanced' stuff. */ if (klass->impl_show_properties) { klass->impl_show_properties (source, GTK_WIDGET (gtk_builder_get_object (builder, "device-info-box")), GTK_WIDGET (gtk_builder_get_object (builder, "media-player-notebook"))); } /* create sync UI */ container = GTK_CONTAINER (gtk_builder_get_object (builder, "sync-settings-ui-container")); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (container), rb_sync_settings_ui_new (source, priv->sync_settings)); container = GTK_CONTAINER (gtk_builder_get_object (builder, "sync-state-ui-container")); gtk_box_pack_start (GTK_BOX (container), rb_sync_state_ui_new (priv->sync_state), TRUE, TRUE, 0); gtk_widget_show_all (GTK_WIDGET (container)); gtk_widget_show (GTK_WIDGET (priv->properties_dialog)); g_object_unref (builder); }
void init_prefs_window(worddic *worddic){ ////appearance tab //set the font button //init the kanji font chooser GtkFontButton *font_button = (GtkFontButton*)gtk_builder_get_object(worddic->definitions, "fontbutton_results"); gtk_font_button_set_font_name (font_button, worddic->conf->resultsfont); //set the color of the color chooser button GtkColorChooser *color_chooser = (GtkColorChooser*) gtk_builder_get_object(worddic->definitions, "colorbutton_results_highlight"); gtk_color_chooser_set_rgba(color_chooser, worddic->conf->results_highlight_color); //japanese definition GtkFontButton *font_button_jap_def = (GtkFontButton*) gtk_builder_get_object(worddic->definitions, "fontbutton_jap_def"); gtk_font_button_set_font_name (font_button_jap_def, worddic->conf->jap_def.font); //set the color of the color chooser button GtkColorChooser *color_chooser_jap_def = (GtkColorChooser*) gtk_builder_get_object(worddic->definitions, "colorbutton_jap_def"); gtk_color_chooser_set_rgba(color_chooser_jap_def, worddic->conf->jap_def.color); //start and end entries GtkEntry *entry_jap_def_start = (GtkEntry*) gtk_builder_get_object(worddic->definitions, "entry_jap_def_start"); gtk_entry_set_text(entry_jap_def_start, worddic->conf->jap_def.start); GtkEntry *entry_jap_def_end = (GtkEntry*) gtk_builder_get_object(worddic->definitions, "entry_jap_def_end"); gtk_entry_set_text(entry_jap_def_end, worddic->conf->jap_def.end); //japanese reading GtkFontButton *font_button_jap_reading = (GtkFontButton*) gtk_builder_get_object(worddic->definitions, "fontbutton_jap_reading"); gtk_font_button_set_font_name (font_button_jap_reading, worddic->conf->jap_reading.font); //set the color of the color chooser button GtkColorChooser *color_chooser_jap_reading = (GtkColorChooser*) gtk_builder_get_object(worddic->definitions, "colorbutton_jap_reading"); gtk_color_chooser_set_rgba(color_chooser_jap_reading, worddic->conf->jap_reading.color); //start and end entries GtkEntry *entry_jap_reading_start = (GtkEntry*) gtk_builder_get_object(worddic->definitions, "entry_jap_reading_start"); gtk_entry_set_text(entry_jap_reading_start, worddic->conf->jap_reading.start); GtkEntry *entry_jap_reading_end = (GtkEntry*) gtk_builder_get_object(worddic->definitions, "entry_jap_reading_end"); gtk_entry_set_text(entry_jap_reading_end, worddic->conf->jap_reading.end); //gloss //start and end entries GtkEntry *entry_gloss_start = (GtkEntry*) gtk_builder_get_object(worddic->definitions, "entry_gloss_start"); gtk_entry_set_text(entry_gloss_start, worddic->conf->gloss.start); GtkEntry *entry_gloss_end = (GtkEntry*) gtk_builder_get_object(worddic->definitions, "entry_gloss_end"); gtk_entry_set_text(entry_gloss_end, worddic->conf->gloss.end); //subgloss GtkFontButton *font_button_subgloss = (GtkFontButton*) gtk_builder_get_object(worddic->definitions, "fontbutton_subgloss"); gtk_font_button_set_font_name (font_button_subgloss, worddic->conf->subgloss.font); //set the color of the color chooser button GtkColorChooser *color_chooser_subgloss = (GtkColorChooser*) gtk_builder_get_object(worddic->definitions, "colorbutton_subgloss"); gtk_color_chooser_set_rgba(color_chooser_subgloss, worddic->conf->subgloss.color); //start and end entries GtkEntry *entry_subgloss_start = (GtkEntry*) gtk_builder_get_object(worddic->definitions, "entry_subgloss_start"); gtk_entry_set_text(entry_subgloss_start, worddic->conf->subgloss.start); GtkEntry *entry_subgloss_end = (GtkEntry*) gtk_builder_get_object(worddic->definitions, "entry_subgloss_end"); gtk_entry_set_text(entry_subgloss_end, worddic->conf->subgloss.end); //notes GtkFontButton *font_button_notes = (GtkFontButton*) gtk_builder_get_object(worddic->definitions, "fontbutton_notes"); gtk_font_button_set_font_name (font_button_notes, worddic->conf->notes.font); //set the color of the color chooser button GtkColorChooser *color_chooser_notes = (GtkColorChooser*) gtk_builder_get_object(worddic->definitions, "colorbutton_notes"); gtk_color_chooser_set_rgba(color_chooser_notes, worddic->conf->notes.color); //start and end entries GtkEntry *entry_notes_start = (GtkEntry*) gtk_builder_get_object(worddic->definitions, "entry_notes_start"); gtk_entry_set_text(entry_notes_start, worddic->conf->notes.start); GtkEntry *entry_notes_end = (GtkEntry*) gtk_builder_get_object(worddic->definitions, "entry_notes_end"); gtk_entry_set_text(entry_notes_end, worddic->conf->notes.end); ////Dictionary tab GtkTreeIter iter; GtkTreeView *view = (GtkTreeView*)gtk_builder_get_object(worddic->definitions, "treeview_dic"); GtkListStore *store = GTK_LIST_STORE(gtk_tree_view_get_model(view)); //populate the list of dictionaries WorddicDicfile *dicfile; GSList *dicfile_node = worddic->conf->dicfile_list; while (dicfile_node != NULL) { dicfile = dicfile_node->data; //insert a new row in the model gtk_list_store_insert (store, &iter, -1); //put the name and path of the dictionary in the row gtk_list_store_set (store, &iter, COL_NAME, dicfile->name, COL_PATH, dicfile->path, COL_ACTIVE, dicfile->is_active, COL_LOADED, dicfile->is_loaded, -1); dicfile_node = g_slist_next(dicfile_node); } ////Search tab GtkToggleButton *check_button; check_button = (GtkToggleButton*)gtk_builder_get_object(worddic->definitions, "checkbutton_verbadj_deinflection"); gtk_toggle_button_set_active(check_button, worddic->conf->verb_deinflection); check_button = (GtkToggleButton*)gtk_builder_get_object(worddic->definitions, "checkbutton_search_hiragana_on_katakana"); gtk_toggle_button_set_active(check_button, worddic->conf->search_hira_on_kata); check_button = (GtkToggleButton*)gtk_builder_get_object(worddic->definitions, "checkbutton_search_katakana_on_hiragana"); gtk_toggle_button_set_active(check_button, worddic->conf->search_kata_on_hira); }
static void display_sync_settings_dialog (RBMediaPlayerSource *source) { RBMediaPlayerSourcePrivate *priv = MEDIA_PLAYER_SOURCE_GET_PRIVATE (source); GtkWidget *content; GtkWidget *widget; GtkBuilder *builder; const char *ui_file; char *name; char *title; g_object_get (source, "name", &name, NULL); title = g_strdup_printf (_("%s Sync Settings"), name); priv->sync_dialog = gtk_dialog_new_with_buttons (title, NULL, 0, _("Sync with the device"), GTK_RESPONSE_YES, _("Don't sync"), GTK_RESPONSE_CANCEL, NULL); g_free (title); priv->sync_dialog_update_id = g_signal_connect_object (priv->sync_state, "updated", G_CALLBACK (sync_dialog_state_update), source, 0); g_signal_connect_object (priv->sync_dialog, "response", G_CALLBACK (sync_confirm_dialog_cb), source, 0); /* display the sync settings, the sync state, and some helpful text indicating why * we're not syncing already */ content = gtk_dialog_get_content_area (GTK_DIALOG (priv->sync_dialog)); ui_file = rb_file ("sync-dialog.ui"); if (ui_file == NULL) { g_warning ("Couldn't find sync-state.ui"); gtk_widget_show_all (priv->sync_dialog); return; } builder = rb_builder_load (ui_file, NULL); if (builder == NULL) { g_warning ("Couldn't load sync-state.ui"); gtk_widget_show_all (priv->sync_dialog); return; } priv->sync_dialog_label = GTK_WIDGET (gtk_builder_get_object (builder, "sync-dialog-reason")); priv->sync_dialog_error_box = GTK_WIDGET (gtk_builder_get_object (builder, "sync-dialog-message")); widget = GTK_WIDGET (gtk_builder_get_object (builder, "sync-settings-ui-container")); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (widget), rb_sync_settings_ui_new (source, priv->sync_settings)); widget = GTK_WIDGET (gtk_builder_get_object (builder, "sync-state-ui-container")); gtk_box_pack_start (GTK_BOX (widget), rb_sync_state_ui_new (priv->sync_state), TRUE, TRUE, 0); widget = GTK_WIDGET (gtk_builder_get_object (builder, "sync-dialog")); gtk_box_pack_start (GTK_BOX (content), widget, TRUE, TRUE, 0); gtk_widget_show_all (priv->sync_dialog); update_sync_settings_dialog (source); g_object_unref (builder); }
G_MODULE_EXPORT gboolean on_button_OK_clicked(GtkWidget *widget, worddic *worddic) { GtkDialog *prefs = (GtkDialog*)gtk_builder_get_object(worddic->definitions, "prefs"); gtk_widget_hide (GTK_WIDGET(prefs)); }
/*! * Set up the dialog. */ GtkWidget * AP_UnixDialog_Spell::_constructWindow (void) { // load the dialog from the UI file #if GTK_CHECK_VERSION(3,0,0) GtkBuilder* builder = newDialogBuilder("ap_UnixDialog_Spell.ui"); #else GtkBuilder* builder = newDialogBuilder("ap_UnixDialog_Spell-2.ui"); #endif m_wDialog = GTK_WIDGET(gtk_builder_get_object(builder, "ap_UnixDialog_Spell")); const XAP_StringSet * pSS = m_pApp->getStringSet(); std::string s; pSS->getValueUTF8(AP_STRING_ID_DLG_Spell_SpellTitle,s); gtk_window_set_title (GTK_WINDOW( m_wDialog), s.c_str()); localizeLabelUnderline(GTK_WIDGET(gtk_builder_get_object(builder, "lbNotInDict")), pSS, AP_STRING_ID_DLG_Spell_UnknownWord); localizeLabelUnderline(GTK_WIDGET(gtk_builder_get_object(builder, "lbChangeTo")), pSS, AP_STRING_ID_DLG_Spell_ChangeTo); m_txWrong = GTK_WIDGET(gtk_builder_get_object(builder, "txWrong")); m_eChange = GTK_WIDGET(gtk_builder_get_object(builder, "eChange")); m_lvSuggestions = GTK_WIDGET(gtk_builder_get_object(builder, "tvSuggestions")); // localise localizeButtonUnderline (GTK_WIDGET(gtk_builder_get_object(builder, "btIgnore")), pSS, AP_STRING_ID_DLG_Spell_Ignore); localizeButtonUnderline (GTK_WIDGET(gtk_builder_get_object(builder, "btIgnoreAll")), pSS, AP_STRING_ID_DLG_Spell_IgnoreAll); localizeButtonUnderline (GTK_WIDGET(gtk_builder_get_object(builder, "btChange")), pSS, AP_STRING_ID_DLG_Spell_Change); localizeButtonUnderline (GTK_WIDGET(gtk_builder_get_object(builder, "btChangeAll")), pSS, AP_STRING_ID_DLG_Spell_ChangeAll); // attach signals g_signal_connect (GTK_WIDGET(gtk_builder_get_object(builder, "btAdd")), "clicked", G_CALLBACK (AP_UnixDialog_Spell__onAddClicked), (gpointer)this); g_signal_connect (GTK_WIDGET(gtk_builder_get_object(builder, "btIgnore")), "clicked", G_CALLBACK (AP_UnixDialog_Spell__onIgnoreClicked), (gpointer)this); g_signal_connect (GTK_WIDGET(gtk_builder_get_object(builder, "btIgnoreAll")), "clicked", G_CALLBACK (AP_UnixDialog_Spell__onIgnoreAllClicked), (gpointer)this); g_signal_connect (GTK_WIDGET(gtk_builder_get_object(builder, "btChange")), "clicked", G_CALLBACK (AP_UnixDialog_Spell__onChangeClicked), (gpointer)this); g_signal_connect (GTK_WIDGET(gtk_builder_get_object(builder, "btChangeAll")), "clicked", G_CALLBACK (AP_UnixDialog_Spell__onChangeAllClicked), (gpointer)this); g_signal_connect (GTK_TREE_VIEW (m_lvSuggestions), "row-activated", G_CALLBACK (AP_UnixDialog_Spell__onSuggestionDblClicked), (gpointer)this); m_replaceHandlerID = g_signal_connect (G_OBJECT(m_eChange), "changed", G_CALLBACK (AP_UnixDialog_Spell__onSuggestionChanged), (gpointer)this); // highlight our misspelled word in red m_highlight.red = 0xffff; m_highlight.green = 0x0000; m_highlight.blue = 0x0000; // Liststore and -view GtkListStore *store = gtk_list_store_new (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_UINT); gtk_tree_view_set_model (GTK_TREE_VIEW (m_lvSuggestions), GTK_TREE_MODEL (store)); g_object_unref (G_OBJECT (store)); // Column Suggestion GtkCellRenderer *renderer = NULL; renderer = gtk_cell_renderer_text_new (); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (m_lvSuggestions), -1, "Name", renderer, "text", COLUMN_SUGGESTION, NULL); GtkTreeViewColumn *column = gtk_tree_view_get_column (GTK_TREE_VIEW (m_lvSuggestions), 0); gtk_tree_view_column_set_sort_column_id (column, COLUMN_SUGGESTION); m_listHandlerID = g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (m_lvSuggestions)), "changed", G_CALLBACK (AP_UnixDialog_Spell__onSuggestionSelected), (gpointer)this); gtk_widget_show_all (m_wDialog); g_object_unref(G_OBJECT(builder)); return m_wDialog; }
G_MODULE_EXPORT gboolean on_button_dic_edit_OK_clicked(GtkWidget *widget, worddic *worddic) { GtkListStore *store = (GtkListStore*)gtk_builder_get_object(worddic->definitions, "liststore_dic"); GtkEntry* entry_edit_dic_name = (GtkEntry*)gtk_builder_get_object(worddic->definitions, "entry_edit_dic_name"); GtkFileChooserButton* fcb_edit_dic_path = NULL; fcb_edit_dic_path = (GtkFileChooserButton*)gtk_builder_get_object(worddic->definitions, "filechooserbutton_edit_dic_path"); GtkTreeView *treeview_dic = (GtkTreeView*)gtk_builder_get_object(worddic->definitions, "treeview_dic"); GtkTreeIter iter ; WorddicDicfile *dicfile = NULL; //update or add a dictionary if(is_update){ //get the dictionary to update (index according the the nth element clicked) gint index = getsingleselect(treeview_dic, &iter); GSList *selected_element = g_slist_nth(worddic->conf->dicfile_list, index); dicfile = selected_element->data; gchar *path = g_strdup(gtk_file_chooser_get_filename((GtkFileChooser*) fcb_edit_dic_path)); gchar *name = g_strdup(gtk_entry_get_text(entry_edit_dic_name)); //if the dictionary is loaded, free the memory if(dicfile->is_loaded){ if(!strcmp(dicfile->path, path)){ worddic_dicfile_free_entries(dicfile); } dicfile->is_loaded = FALSE; dicfile->is_active = TRUE; } //set the new name and path dicfile->name = name; dicfile->path = path; //replace the current row with a new one gtk_list_store_remove(store, &iter); } else{ //create a new dictionary and add it in the conf dicfile = g_new0(WorddicDicfile, 1); dicfile->name = g_strdup(gtk_entry_get_text(entry_edit_dic_name)); dicfile->path = g_strdup(gtk_file_chooser_get_filename((GtkFileChooser*)fcb_edit_dic_path)); dicfile->is_loaded = FALSE; dicfile->is_active = TRUE; worddic->conf->dicfile_list = g_slist_append(worddic->conf->dicfile_list, dicfile); } //insert a new row in the model gtk_list_store_insert (store, &iter, -1); //put the name and path of the dictionary in the row gtk_list_store_set (store, &iter, COL_NAME, dicfile->name, COL_PATH, dicfile->path, COL_ACTIVE, dicfile->is_active, COL_LOADED, dicfile->is_loaded, -1); worddic_conf_save(worddic->settings, worddic->conf); GtkDialog *dialog_dic_edit = (GtkDialog*)gtk_builder_get_object(worddic->definitions, "dialog_dic_edit"); gtk_widget_hide (GTK_WIDGET(dialog_dic_edit)); }
static void nautilus_file_management_properties_dialog_setup (GtkBuilder *builder, GtkWindow *window) { GtkWidget *dialog; /* setup UI */ nautilus_file_management_properties_size_group_create (builder, "views_label", 4); nautilus_file_management_properties_size_group_create (builder, "captions_label", 3); nautilus_file_management_properties_size_group_create (builder, "preview_label", 3); /* setup preferences */ bind_builder_bool (builder, nautilus_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_FOLDERS_FIRST_WIDGET, NAUTILUS_PREFERENCES_SORT_DIRECTORIES_FIRST); bind_builder_bool (builder, nautilus_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TRASH_CONFIRM_WIDGET, NAUTILUS_PREFERENCES_CONFIRM_TRASH); bind_builder_bool (builder, nautilus_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TRASH_DELETE_WIDGET, NAUTILUS_PREFERENCES_ENABLE_DELETE); bind_builder_bool (builder, gtk_filechooser_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_SHOW_HIDDEN_WIDGET, NAUTILUS_PREFERENCES_SHOW_HIDDEN_FILES); bind_builder_bool (builder, nautilus_list_view_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_LIST_VIEW_USE_TREE_WIDGET, NAUTILUS_PREFERENCES_LIST_VIEW_USE_TREE); bind_builder_enum (builder, nautilus_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_DEFAULT_VIEW_WIDGET, NAUTILUS_PREFERENCES_DEFAULT_FOLDER_VIEWER, (const char **) default_view_values); bind_builder_enum (builder, nautilus_icon_view_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_ICON_VIEW_ZOOM_WIDGET, NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_ZOOM_LEVEL, (const char **) zoom_values); bind_builder_enum (builder, nautilus_list_view_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_LIST_VIEW_ZOOM_WIDGET, NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_ZOOM_LEVEL, (const char **) zoom_values); bind_builder_enum (builder, nautilus_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_SORT_ORDER_WIDGET, NAUTILUS_PREFERENCES_DEFAULT_SORT_ORDER, (const char **) sort_order_values); bind_builder_enum (builder, nautilus_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_PREVIEW_FILES_WIDGET, NAUTILUS_PREFERENCES_SHOW_FILE_THUMBNAILS, (const char **) preview_values); bind_builder_enum (builder, nautilus_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_PREVIEW_FOLDER_WIDGET, NAUTILUS_PREFERENCES_SHOW_DIRECTORY_ITEM_COUNTS, (const char **) preview_values); bind_builder_radio (builder, nautilus_preferences, (const char **) click_behavior_components, NAUTILUS_PREFERENCES_CLICK_POLICY, (const char **) click_behavior_values); bind_builder_radio (builder, nautilus_preferences, (const char **) executable_text_components, NAUTILUS_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION, (const char **) executable_text_values); bind_builder_uint_enum (builder, nautilus_preferences, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_THUMBNAIL_LIMIT_WIDGET, NAUTILUS_PREFERENCES_FILE_THUMBNAIL_LIMIT, thumbnail_limit_values, G_N_ELEMENTS (thumbnail_limit_values)); nautilus_file_management_properties_dialog_setup_icon_caption_page (builder); nautilus_file_management_properties_dialog_setup_list_column_page (builder); /* UI callbacks */ dialog = GTK_WIDGET (gtk_builder_get_object (builder, "file_management_dialog")); g_signal_connect_data (dialog, "response", G_CALLBACK (nautilus_file_management_properties_dialog_response_cb), g_object_ref (builder), (GClosureNotify)g_object_unref, 0); g_signal_connect (dialog, "delete-event", G_CALLBACK (gtk_widget_destroy), NULL); gtk_window_set_icon_name (GTK_WINDOW (dialog), "system-file-manager"); if (window) { gtk_window_set_screen (GTK_WINDOW (dialog), gtk_window_get_screen(window)); } preferences_dialog = dialog; g_object_add_weak_pointer (G_OBJECT (dialog), (gpointer *) &preferences_dialog); gtk_widget_show (dialog); }
static void fill_connection (EAPMethod *parent, NMConnection *connection) { EAPMethodTLS *method = (EAPMethodTLS *) parent; NMSetting8021xCKType key_type = NM_SETTING_802_1X_CK_TYPE_UNKNOWN; NMSetting8021xCKFormat format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN; NMSetting8021x *s_8021x; NMSettingConnection *s_con; GtkWidget *widget; char *filename, *pk_filename, *cc_filename; char *password = NULL; GError *error = NULL; s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION)); g_assert (s_con); s_8021x = NM_SETTING_802_1X (nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X)); g_assert (s_8021x); if (method->phase2) g_object_set (s_8021x, NM_SETTING_802_1X_PHASE2_AUTH, "tls", NULL); else nm_setting_802_1x_add_eap_method (s_8021x, "tls"); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_identity_entry")); g_assert (widget); g_object_set (s_8021x, NM_SETTING_802_1X_IDENTITY, gtk_entry_get_text (GTK_ENTRY (widget)), NULL); /* TLS private key */ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_private_key_password_entry")); g_assert (widget); password = g_strdup (gtk_entry_get_text (GTK_ENTRY (widget))); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_private_key_button")); g_assert (widget); pk_filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget)); g_assert (pk_filename); if (method->phase2) { if (!nm_setting_802_1x_set_phase2_private_key (s_8021x, pk_filename, password, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read phase2 private key '%s': %s", pk_filename, error ? error->message : "(unknown)"); g_clear_error (&error); } } else { if (!nm_setting_802_1x_set_private_key (s_8021x, pk_filename, password, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read private key '%s': %s", pk_filename, error ? error->message : "(unknown)"); g_clear_error (&error); } } /* TLS client certificate */ if (key_type == NM_SETTING_802_1X_CK_TYPE_PKCS12) { /* if the key is pkcs#12, the cert is filled with the same data */ cc_filename = g_strdup (pk_filename); } else { widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_user_cert_button")); g_assert (widget); cc_filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget)); } g_assert (cc_filename); if (method->phase2) { if (!nm_setting_802_1x_set_phase2_client_cert (s_8021x, cc_filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read phase2 client certificate '%s': %s", cc_filename, error ? error->message : "(unknown)"); g_clear_error (&error); } } else { if (!nm_setting_802_1x_set_client_cert (s_8021x, cc_filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read client certificate '%s': %s", cc_filename, error ? error->message : "(unknown)"); g_clear_error (&error); } } g_free (cc_filename); g_free (pk_filename); /* TLS CA certificate */ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")); g_assert (widget); filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget)); format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN; if (method->phase2) { if (!nm_setting_802_1x_set_phase2_ca_cert (s_8021x, filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read phase2 CA certificate '%s': %s", filename, error ? error->message : "(unknown)"); g_clear_error (&error); } } else { if (!nm_setting_802_1x_set_ca_cert (s_8021x, filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { g_warning ("Couldn't read CA certificate '%s': %s", filename, error ? error->message : "(unknown)"); g_clear_error (&error); } } nm_gconf_set_ignore_ca_cert (nm_setting_connection_get_uuid (s_con), method->phase2, eap_method_get_ignore_ca_cert (parent)); }
NautilusCompressDialogController * nautilus_compress_dialog_controller_new (GtkWindow *parent_window, NautilusDirectory *destination_directory, gchar *initial_name) { NautilusCompressDialogController *self; g_autoptr (GtkBuilder) builder = NULL; GtkWidget *compress_dialog; GtkWidget *error_revealer; GtkWidget *error_label; GtkWidget *name_entry; GtkWidget *activate_button; GtkWidget *description_stack; GtkWidget *zip_radio_button; GtkWidget *tar_xz_radio_button; GtkWidget *seven_zip_radio_button; NautilusCompressionFormat format; builder = gtk_builder_new_from_resource ("/org/gnome/nautilus/ui/nautilus-compress-dialog.ui"); compress_dialog = GTK_WIDGET (gtk_builder_get_object (builder, "compress_dialog")); error_revealer = GTK_WIDGET (gtk_builder_get_object (builder, "error_revealer")); error_label = GTK_WIDGET (gtk_builder_get_object (builder, "error_label")); name_entry = GTK_WIDGET (gtk_builder_get_object (builder, "name_entry")); activate_button = GTK_WIDGET (gtk_builder_get_object (builder, "activate_button")); zip_radio_button = GTK_WIDGET (gtk_builder_get_object (builder, "zip_radio_button")); tar_xz_radio_button = GTK_WIDGET (gtk_builder_get_object (builder, "tar_xz_radio_button")); seven_zip_radio_button = GTK_WIDGET (gtk_builder_get_object (builder, "seven_zip_radio_button")); description_stack = GTK_WIDGET (gtk_builder_get_object (builder, "description_stack")); gtk_window_set_transient_for (GTK_WINDOW (compress_dialog), parent_window); self = g_object_new (NAUTILUS_TYPE_COMPRESS_DIALOG_CONTROLLER, "error-revealer", error_revealer, "error-label", error_label, "name-entry", name_entry, "activate-button", activate_button, "containing-directory", destination_directory, NULL); self->compress_dialog = compress_dialog; self->zip_radio_button = zip_radio_button; self->tar_xz_radio_button = tar_xz_radio_button; self->seven_zip_radio_button = seven_zip_radio_button; self->description_stack = description_stack; self->name_entry = name_entry; self->response_handler_id = g_signal_connect (compress_dialog, "response", (GCallback) compress_dialog_controller_on_response, self); gtk_builder_add_callback_symbols (builder, "zip_radio_button_on_toggled", G_CALLBACK (zip_radio_button_on_toggled), "tar_xz_radio_button_on_toggled", G_CALLBACK (tar_xz_radio_button_on_toggled), "seven_zip_radio_button_on_toggled", G_CALLBACK (seven_zip_radio_button_on_toggled), NULL); gtk_builder_connect_signals (builder, self); format = g_settings_get_enum (nautilus_compression_preferences, NAUTILUS_PREFERENCES_DEFAULT_COMPRESSION_FORMAT); update_selected_format (self, format); if (initial_name != NULL) { gtk_entry_set_text (GTK_ENTRY (name_entry), initial_name); } gtk_widget_show_all (compress_dialog); return self; }
EAPMethodTLS * eap_method_tls_new (WirelessSecurity *parent, NMConnection *connection, gboolean phase2) { EAPMethodTLS *method; GtkBuilder *builder; GtkWidget *widget; NMSetting8021x *s_8021x = NULL; method = g_slice_new0 (EAPMethodTLS); if (!eap_method_init (EAP_METHOD (method), validate, add_to_size_group, fill_connection, destroy, "eap-tls.ui", "eap_tls_notebook")) { g_slice_free (EAPMethodTLS, method); return NULL; } builder = EAP_METHOD (method)->builder; eap_method_nag_init (EAP_METHOD (method), "ca-nag-dialog.ui", "eap_tls_ca_cert_button", connection, phase2); method->phase2 = phase2; if (connection) s_8021x = NM_SETTING_802_1X (nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X)); widget = GTK_WIDGET (gtk_builder_get_object (builder, "eap_tls_identity_entry")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "changed", (GCallback) wireless_security_changed_cb, parent); if (s_8021x && nm_setting_802_1x_get_identity (s_8021x)) gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_identity (s_8021x)); widget = GTK_WIDGET (gtk_builder_get_object (builder, "eap_tls_private_key_password_entry")); g_assert (widget); /* Fill secrets, if any */ if (connection) { helper_fill_secret_entry (connection, GTK_ENTRY (widget), NM_TYPE_SETTING_802_1X, phase2 ? (HelperSecretFunc) nm_setting_802_1x_get_phase2_private_key_password : (HelperSecretFunc) nm_setting_802_1x_get_private_key_password, NM_SETTING_802_1X_SETTING_NAME, phase2 ? NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD : NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD); } g_signal_connect (G_OBJECT (widget), "changed", (GCallback) wireless_security_changed_cb, parent); setup_filepicker (builder, "eap_tls_user_cert_button", _("Choose your personal certificate..."), parent, method, s_8021x, phase2 ? nm_setting_802_1x_get_phase2_client_cert_scheme : nm_setting_802_1x_get_client_cert_scheme, phase2 ? nm_setting_802_1x_get_phase2_client_cert_path : nm_setting_802_1x_get_client_cert_path, FALSE, TRUE); setup_filepicker (builder, "eap_tls_ca_cert_button", _("Choose a Certificate Authority certificate..."), parent, method, s_8021x, phase2 ? nm_setting_802_1x_get_phase2_ca_cert_scheme : nm_setting_802_1x_get_ca_cert_scheme, phase2 ? nm_setting_802_1x_get_phase2_ca_cert_path : nm_setting_802_1x_get_ca_cert_path, FALSE, FALSE); setup_filepicker (builder, "eap_tls_private_key_button", _("Choose your private key..."), parent, method, s_8021x, phase2 ? nm_setting_802_1x_get_phase2_private_key_scheme : nm_setting_802_1x_get_private_key_scheme, phase2 ? nm_setting_802_1x_get_phase2_private_key_path : nm_setting_802_1x_get_private_key_path, TRUE, FALSE); widget = GTK_WIDGET (gtk_builder_get_object (builder, "eap_tls_show_checkbutton")); g_assert (widget); g_signal_connect (G_OBJECT (widget), "toggled", (GCallback) show_toggled_cb, method); return method; }
void stickynotes_applet_update_prefs (void) { int height; gboolean sys_color, sys_font, sticky, force_default, desktop_hide; char *font_str; char *color_str, *font_color_str; GdkColor color, font_color; gint width = gconf_client_get_int(stickynotes->gconf, GCONF_PATH "/defaults/width", NULL); width = MAX (width, 1); height = gconf_client_get_int (stickynotes->gconf, GCONF_PATH "/defaults/height", NULL); height = MAX (height, 1); sys_color = gconf_client_get_bool (stickynotes->gconf, GCONF_PATH "/settings/use_system_color", NULL); sys_font = gconf_client_get_bool (stickynotes->gconf, GCONF_PATH "/settings/use_system_font", NULL); sticky = gconf_client_get_bool (stickynotes->gconf, GCONF_PATH "/settings/sticky", NULL); force_default = gconf_client_get_bool (stickynotes->gconf, GCONF_PATH "/settings/force_default", NULL); font_str = gconf_client_get_string (stickynotes->gconf, GCONF_PATH "/defaults/font", NULL); desktop_hide = gconf_client_get_bool (stickynotes->gconf, GCONF_PATH "/settings/desktop_hide", NULL); if (!font_str) { font_str = g_strdup ("Sans 10"); } color_str = gconf_client_get_string (stickynotes->gconf, GCONF_PATH "/defaults/color", NULL); if (!color_str) { color_str = g_strdup ("#ECF833"); } font_color_str = gconf_client_get_string (stickynotes->gconf, GCONF_PATH "/defaults/font_color", NULL); if (!font_color_str) { font_color_str = g_strdup ("#000000"); } gdk_color_parse (color_str, &color); g_free (color_str); gdk_color_parse (font_color_str, &font_color); g_free (font_color_str); gtk_adjustment_set_value (stickynotes->w_prefs_width, width); gtk_adjustment_set_value (stickynotes->w_prefs_height, height); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (stickynotes->w_prefs_sys_color), sys_color); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(stickynotes->w_prefs_sys_font), sys_font); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (stickynotes->w_prefs_sticky), sticky); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (stickynotes->w_prefs_force), force_default); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON (stickynotes->w_prefs_desktop), desktop_hide); gtk_color_button_set_color ( GTK_COLOR_BUTTON (stickynotes->w_prefs_color), &color); gtk_color_button_set_color ( GTK_COLOR_BUTTON (stickynotes->w_prefs_font_color), &font_color); gtk_font_button_set_font_name ( GTK_FONT_BUTTON (stickynotes->w_prefs_font), font_str); g_free (font_str); if (gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/defaults/color", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "prefs_color_label")), !sys_color); gtk_widget_set_sensitive (stickynotes->w_prefs_color, !sys_color); } if (gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/defaults/prefs_font_color", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "prefs_font_color_label")), !sys_color); gtk_widget_set_sensitive (stickynotes->w_prefs_font_color, !sys_color); } if (gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/defaults/font", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "prefs_font_label")), !sys_font); gtk_widget_set_sensitive (stickynotes->w_prefs_font, !sys_font); } }
void fl_init(GtkBuilder *builder) { GEList *dir_list; /* * get the widgets from glade */ w_main = GTK_WINDOW(gtk_builder_get_object(builder, "w_main")); combo_wd = GTK_COMBO_BOX_TEXT(gtk_builder_get_object(builder, "combo_wd")); ent_wd = GTK_ENTRY(gtk_builder_get_object(builder, "ent_wd")); cb_recurse = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "cb_recurse")); tv_files = GTK_TREE_VIEW(gtk_builder_get_object(builder, "tv_files")); lab_file_count = GTK_LABEL(gtk_builder_get_object(builder, "lab_file_count")); menu_file_list = GTK_MENU(gtk_builder_get_object(builder, "menu_file_list")); m_ctx_manual_rename = GTK_MENU_ITEM(gtk_builder_get_object(builder, "m_ctx_manual_rename")); m_ctx_delete = GTK_MENU_ITEM(gtk_builder_get_object(builder, "m_ctx_delete")); m_ctx_unselect_all = GTK_MENU_ITEM(gtk_builder_get_object(builder, "m_ctx_unselect_all")); l_help_title = GTK_LABEL(gtk_builder_get_object(builder, "l_help_title")); l_help_secondary = GTK_LABEL(gtk_builder_get_object(builder, "l_help_secondary")); /* * create the file chooser */ dlg_wd_select = GTK_DIALOG(gtk_file_chooser_dialog_new( _("Select Directory"), w_main, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, "Cancel", GTK_RESPONSE_CANCEL, "Open", GTK_RESPONSE_ACCEPT, NULL)); /* * load file list icons */ pix_file = gdk_pixbuf_new_from_file(DATADIR"/file.png", NULL); pix_folder = gdk_pixbuf_new_from_file(DATADIR"/folder.png", NULL); /* * setup the file list treeview */ setup_tree_view(); g_signal_connect(gtk_tree_view_get_selection(tv_files), "changed", G_CALLBACK(cb_file_selection_changed), NULL); gtk_tree_selection_set_select_function(gtk_tree_view_get_selection(tv_files), cb_file_selection_changing, NULL, NULL); /* * get the preference values, or set them to defaults */ /* recurse */ recurse = pref_get_ref("ds:recurse"); if (!recurse) { gboolean temp = FALSE; recurse = pref_set("ds:recurse", PREF_BOOLEAN, &temp); } gtk_toggle_button_set_active(cb_recurse, *recurse); /* dir_mru */ dir_list = pref_get_ref("ds:dir_mru"); if (!dir_list) { GEList *temp_list = g_elist_new(); g_elist_append(temp_list, (void*)g_get_home_dir()); dir_list = pref_set("ds:dir_mru", PREF_STRING | PREF_LIST, temp_list); g_elist_free_data(temp_list); } dir_mru = mru_new_from_list(10, dir_list); }