/* is actually placed inside the submenu there */ void style_select(appdata_t *appdata) { g_debug("select style"); /* ------------------ style dialog ---------------- */ osm2go_platform::DialogGuard dialog(gtk_dialog_new_with_buttons(_("Select style"), GTK_WINDOW(appdata_t::window), GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, nullptr)); gtk_dialog_set_default_response(dialog, GTK_RESPONSE_ACCEPT); GtkWidget *cbox = style_select_widget(settings_t::instance()->style, style_scan()); GtkWidget *hbox = gtk_hbox_new(FALSE, 8); gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(_("Style:")), TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox), cbox, TRUE, TRUE, 0); gtk_box_pack_start(dialog.vbox(), hbox, TRUE, TRUE, 0); gtk_widget_show_all(dialog.get()); if(GTK_RESPONSE_ACCEPT != gtk_dialog_run(dialog)) { g_debug("user clicked cancel"); return; } const std::string &style = osm2go_platform::select_widget_value(cbox); g_debug("user clicked ok on %s", style.c_str()); dialog.reset(); style_change(*appdata, style); }
void style_change(appdata_t &appdata, GtkWidget *widget) { const std::string &style = osm2go_platform::select_widget_value(widget); if(style.empty()) return; style_change(appdata, style); }
/* is actually placed inside the submenu there */ void style_select(GtkWidget *parent, appdata_t *appdata) { printf("select style\n"); /* ------------------ style dialog ---------------- */ GtkWidget *dialog = misc_dialog_new(MISC_DIALOG_NOSIZE,_("Select style"), GTK_WINDOW(parent), GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); GtkWidget *cbox = style_select_widget(appdata); GtkWidget *hbox = gtk_hbox_new(FALSE, 8); gtk_box_pack_start_defaults(GTK_BOX(hbox), gtk_label_new(_("Style:"))); gtk_box_pack_start_defaults(GTK_BOX(hbox), cbox); gtk_box_pack_start_defaults(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox); gtk_widget_show_all(dialog); if(GTK_RESPONSE_ACCEPT != gtk_dialog_run(GTK_DIALOG(dialog))) { printf("user clicked cancel\n"); gtk_widget_destroy(dialog); return; } const char *ptr = combo_box_get_active_text(cbox); printf("user clicked ok on %s\n", ptr); gtk_widget_destroy(dialog); style_change(appdata, ptr); }