static void apply_preset (GtkWidget *w, GtkTreeSelection *selection) { GtkTreeIter iter; GtkTreeModel *model; if (gtk_tree_selection_get_selected (selection, &model, &iter)) { gchar *preset; gtk_tree_model_get (model, &iter, PRESETS_LIST_COLUMN_FILENAME, &preset, -1); select_preset (preset); restore_values (); /* g_free (preset); */ g_free (selected_preset_filename); selected_preset_filename = preset; } }
bool diag_run_exploit(struct diag_values *data, int data_length, bool(*exploit_callback)(void* user_data), void *user_data) { bool success; int fd; fd = open("/dev/diag", O_RDWR); if (fd < 0) { printf("failed to open /dev/diag due to %s.\n", strerror(errno)); return false; } success = diag_inject_with_fd(data, data_length, fd); if (success) { success = exploit_callback(user_data); restore_values(data, data_length, fd); } close(fd); return success; }
int main (int argc, char *argv[]) { GtkBuilder *builder; GObject *item; GtkWidget *dlg; int maj, min, sub; #ifdef ENABLE_NLS setlocale (LC_ALL, ""); bindtextdomain ( GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR ); bind_textdomain_codeset ( GETTEXT_PACKAGE, "UTF-8" ); textdomain ( GETTEXT_PACKAGE ); #endif // check to see if lxsession will auto-refresh - version 0.4.9 or later read_version ("lxsession", &maj, &min, &sub); if (min >= 5) needs_refresh = 0; else if (min == 4 && sub == 9) needs_refresh = 0; else needs_refresh = 1; // load data from config files check_themes (); load_lxsession_settings (); load_obpix_settings (); load_pcman_settings (); load_lxpanel_settings (); backup_values (); // GTK setup gtk_init (&argc, &argv); gtk_icon_theme_prepend_search_path (gtk_icon_theme_get_default(), PACKAGE_DATA_DIR); // build the UI builder = gtk_builder_new (); gtk_builder_add_from_file (builder, PACKAGE_DATA_DIR "/pipanel.ui", NULL); dlg = (GtkWidget *) gtk_builder_get_object (builder, "dialog1"); gtk_dialog_set_alternative_button_order (GTK_DIALOG (dlg), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); font = gtk_builder_get_object (builder, "fontbutton1"); gtk_font_button_set_font_name (GTK_FONT_BUTTON (font), desktop_font); g_signal_connect (font, "font-set", G_CALLBACK (on_desktop_font_set), NULL); dpic = gtk_builder_get_object (builder, "filechooserbutton1"); gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dpic), desktop_picture); g_signal_connect (dpic, "file-set", G_CALLBACK (on_desktop_picture_set), NULL); if (!strcmp (desktop_mode, "color")) gtk_widget_set_sensitive (GTK_WIDGET (dpic), FALSE); else gtk_widget_set_sensitive (GTK_WIDGET (dpic), TRUE); hcol = gtk_builder_get_object (builder, "colorbutton1"); gtk_color_button_set_color (GTK_COLOR_BUTTON (hcol), &theme_colour); g_signal_connect (hcol, "color-set", G_CALLBACK (on_theme_colour_set), NULL); dcol = gtk_builder_get_object (builder, "colorbutton2"); gtk_color_button_set_color (GTK_COLOR_BUTTON (dcol), &desktop_colour); g_signal_connect (dcol, "color-set", G_CALLBACK (on_desktop_colour_set), NULL); bcol = gtk_builder_get_object (builder, "colorbutton3"); gtk_color_button_set_color (GTK_COLOR_BUTTON (bcol), &bar_colour); g_signal_connect (bcol, "color-set", G_CALLBACK (on_bar_colour_set), NULL); btcol = gtk_builder_get_object (builder, "colorbutton4"); gtk_color_button_set_color (GTK_COLOR_BUTTON (btcol), &bartext_colour); g_signal_connect (btcol, "color-set", G_CALLBACK (on_bartext_colour_set), NULL); htcol = gtk_builder_get_object (builder, "colorbutton5"); gtk_color_button_set_color (GTK_COLOR_BUTTON (htcol), &themetext_colour); g_signal_connect (htcol, "color-set", G_CALLBACK (on_themetext_colour_set), NULL); dtcol = gtk_builder_get_object (builder, "colorbutton6"); gtk_color_button_set_color (GTK_COLOR_BUTTON (dtcol), &desktoptext_colour); g_signal_connect (dtcol, "color-set", G_CALLBACK (on_desktoptext_colour_set), NULL); dmod = gtk_builder_get_object (builder, "comboboxtext1"); if (!strcmp (desktop_mode, "center")) gtk_combo_box_set_active (GTK_COMBO_BOX (dmod), 1); else if (!strcmp (desktop_mode, "fit")) gtk_combo_box_set_active (GTK_COMBO_BOX (dmod), 2); else if (!strcmp (desktop_mode, "crop")) gtk_combo_box_set_active (GTK_COMBO_BOX (dmod), 3); else if (!strcmp (desktop_mode, "stretch")) gtk_combo_box_set_active (GTK_COMBO_BOX (dmod), 4); else if (!strcmp (desktop_mode, "tile")) gtk_combo_box_set_active (GTK_COMBO_BOX (dmod), 5); else gtk_combo_box_set_active (GTK_COMBO_BOX (dmod), 0); g_signal_connect (dmod, "changed", G_CALLBACK (on_desktop_mode_set), gtk_builder_get_object (builder, "filechooserbutton1")); item = gtk_builder_get_object (builder, "button3"); g_signal_connect (item, "clicked", G_CALLBACK (on_set_defaults), gtk_builder_get_object (builder, "button3")); rb1 = gtk_builder_get_object (builder, "radiobutton1"); g_signal_connect (rb1, "toggled", G_CALLBACK (on_bar_pos_set), NULL); rb2 = gtk_builder_get_object (builder, "radiobutton2"); g_signal_connect (rb2, "toggled", G_CALLBACK (on_bar_pos_set), NULL); if (barpos) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb2), TRUE); else gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb1), TRUE); rb3 = gtk_builder_get_object (builder, "radiobutton3"); g_signal_connect (rb3, "toggled", G_CALLBACK (on_menu_size_set), NULL); rb4 = gtk_builder_get_object (builder, "radiobutton4"); g_signal_connect (rb4, "toggled", G_CALLBACK (on_menu_size_set), NULL); rb5 = gtk_builder_get_object (builder, "radiobutton5"); g_signal_connect (rb5, "toggled", G_CALLBACK (on_menu_size_set), NULL); if (icon_size <= 20) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb5), TRUE); else if (icon_size <= 28) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb4), TRUE); else gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb3), TRUE); cb1 = gtk_builder_get_object (builder, "checkbutton1"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cb1), show_docs); g_signal_connect (cb1, "toggled", G_CALLBACK (on_toggle_docs), NULL); cb2 = gtk_builder_get_object (builder, "checkbutton2"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cb2), show_trash); g_signal_connect (cb2, "toggled", G_CALLBACK (on_toggle_trash), NULL); cb3 = gtk_builder_get_object (builder, "checkbutton3"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cb3), show_mnts); g_signal_connect (cb3, "toggled", G_CALLBACK (on_toggle_mnts), NULL); g_object_unref (builder); if (gtk_dialog_run (GTK_DIALOG (dlg)) == GTK_RESPONSE_CANCEL) { if (restore_values ()) { save_lxsession_settings (); save_pcman_settings (); save_obconf_settings (); save_obpix_settings (); save_gtk3_settings (); save_lxpanel_settings (); if (needs_refresh) system (RELOAD_LXSESSION); system (RELOAD_LXPANEL); system (RELOAD_OPENBOX); system (RELOAD_PCMANFM); } } else save_greeter_settings (); gtk_widget_destroy (dlg); return 0; }
static GtkWidget * create_dialog (void) { GtkWidget *notebook; GtkWidget *hbox; GtkWidget *preview_box; gimp_ui_init (PLUG_IN_BINARY, TRUE); dialog = gimp_dialog_new (_("GIMPressionist"), PLUG_IN_ROLE, NULL, 0, gimp_standard_help_func, PLUG_IN_PROC, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); gimp_window_set_transient (GTK_WINDOW (dialog)); g_signal_connect (dialog, "response", G_CALLBACK (dialog_response), NULL); g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_main_quit), NULL); hbox = gtk_hbox_new (FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (hbox), 12); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), hbox, TRUE, TRUE, 0); gtk_widget_show (hbox); preview_box = create_preview (); gtk_box_pack_start (GTK_BOX (hbox), preview_box, FALSE, FALSE, 0); gtk_widget_show (preview_box); notebook = gtk_notebook_new (); gtk_box_pack_start (GTK_BOX (hbox), notebook, TRUE, TRUE, 5); gtk_widget_show (notebook); create_presetpage (GTK_NOTEBOOK (notebook)); create_paperpage (GTK_NOTEBOOK (notebook)); create_brushpage (GTK_NOTEBOOK (notebook)); create_orientationpage (GTK_NOTEBOOK (notebook)); create_sizepage (GTK_NOTEBOOK (notebook)); create_placementpage (GTK_NOTEBOOK (notebook)); create_colorpage (GTK_NOTEBOOK (notebook)); create_generalpage (GTK_NOTEBOOK (notebook)); updatepreview (NULL, NULL); /* * This is to make sure the values from the pcvals will be reflected * in the GUI here. Otherwise they will be set to the defaults. * */ restore_values (); gtk_widget_show (dialog); return dialog; }