- /* Announcement Advance Notice. */
- gtk_table_attach(GTK_TABLE(table),
- label = gtk_label_new(_("Advance Notice")),
- 0, 1, 0, 1, GTK_FILL, 0, 2, 4);
- gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
- gtk_table_attach(GTK_TABLE(table), num_announce_notice = hildon_controlbar_new(),
- 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 2, 4);
- hildon_controlbar_set_range(HILDON_CONTROLBAR(num_announce_notice), 1, 20);
- force_min_visible_bars(HILDON_CONTROLBAR(num_announce_notice), 1);
-
- /* Enable Voice. */
- gtk_table_attach(GTK_TABLE(table),
- chk_enable_voice =
- gtk_check_button_new_with_label(_
- ("Enable Voice Synthesis (requires flite)")),
- 0, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 2, 4);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(chk_enable_voice),
- _enable_voice);
-
- /* Voice Speed and Pitch. */
- gtk_table_attach(GTK_TABLE(table),
- hbox = gtk_hbox_new(FALSE, 12),
- 0, 2, 2, 3, 0, 0, 2, 6);
- gtk_box_pack_start(GTK_BOX(hbox),
- hbox2 = gtk_hbox_new(FALSE, 4), TRUE, TRUE, 4);
- gtk_box_pack_start(GTK_BOX(hbox2),
- lbl_voice_speed = gtk_label_new(_("Speed")),
- TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(hbox2),
- num_voice_speed = hildon_controlbar_new(),
- TRUE, TRUE, 0);
- hildon_controlbar_set_range(HILDON_CONTROLBAR(num_voice_speed), 1, 10);
- force_min_visible_bars(HILDON_CONTROLBAR(num_voice_speed), 1);
-
- gtk_box_pack_start(GTK_BOX(hbox),
- hbox2 = gtk_hbox_new(FALSE, 4), TRUE, TRUE, 4);
- gtk_box_pack_start(GTK_BOX(hbox2),
- lbl_voice_pitch = gtk_label_new(_("Pitch")),
- TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(hbox2),
- num_voice_pitch = hildon_controlbar_new(),
- TRUE, TRUE, 0);
- hildon_controlbar_set_range(HILDON_CONTROLBAR(num_voice_pitch), -2, 8);
- force_min_visible_bars(HILDON_CONTROLBAR(num_voice_pitch), 1);
-
- /* Display settings page. */
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- table = gtk_table_new(2, 3, FALSE),
- label = gtk_label_new(_("Display")));
-
- /* Line Width. */
- gtk_table_attach(GTK_TABLE(table),
- label = gtk_label_new(_("Line Width")),
- 0, 1, 0, 1, GTK_FILL, 0, 2, 4);
- gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
- gtk_table_attach(GTK_TABLE(table),
- num_draw_width = hildon_controlbar_new(),
- 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 2, 4);
- hildon_controlbar_set_range(HILDON_CONTROLBAR(num_draw_width), 1, 20);
- force_min_visible_bars(HILDON_CONTROLBAR(num_draw_width), 1);
-
- /* Keep Display On Only When Fullscreen. */
- gtk_table_attach(GTK_TABLE(table),
- chk_always_keep_on =
- gtk_check_button_new_with_label(_("Keep Display On Only in Fullscreen Mode")),
- 0, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 2, 4);
-
- /* Information Font Size. */
- gtk_table_attach(GTK_TABLE(table),
- hbox = gtk_hbox_new(FALSE, 4),
- 0, 2, 2, 3, GTK_FILL, 0, 2, 4);
- gtk_box_pack_start(GTK_BOX(hbox),
- label = gtk_label_new(_("Information Font Size")),
- FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox),
- cmb_info_font_size = gtk_combo_box_new_text(),
- FALSE, FALSE, 0);
- for (i = 0; i < INFO_FONT_ENUM_COUNT; i++)
- gtk_combo_box_append_text(GTK_COMBO_BOX(cmb_info_font_size),
- INFO_FONT_TEXT[i]);
-
- /* Units page. */
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- table = gtk_table_new(2, 3, FALSE),
- label = gtk_label_new(_("Units")));
-
- /* Units. */
- gtk_table_attach(GTK_TABLE(table),
- label = gtk_label_new(_("Units")),
- 0, 1, 0, 1, GTK_FILL, 0, 2, 4);
- gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
- gtk_table_attach(GTK_TABLE(table),
- cmb_units = gtk_combo_box_new_text(),
- 1, 2, 0, 1, GTK_FILL, 0, 2, 4);
- for (i = 0; i < UNITS_ENUM_COUNT; i++)
- gtk_combo_box_append_text(GTK_COMBO_BOX(cmb_units),
- UNITS_TEXT[i]);
-
- /* Degrees format */
- gtk_table_attach(GTK_TABLE(table), label = gtk_label_new(_("Degrees Format")),
- 0, 1, 1, 2, GTK_FILL, 0, 2, 4);
- gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
- gtk_table_attach(GTK_TABLE(table), label = gtk_alignment_new(0.f, 0.5f, 0.f, 0.f),
- 1, 2, 1, 2, GTK_FILL, 0, 2, 4);
- gtk_container_add(GTK_CONTAINER(label),
- cmb_degformat = gtk_combo_box_new_text());
- for (i = 0; i < DEG_FORMAT_ENUM_COUNT; i++)
- gtk_combo_box_append_text(GTK_COMBO_BOX(cmb_degformat),
- DEG_FORMAT_TEXT[i]);
-
- gtk_table_attach(GTK_TABLE(table),
- gtk_label_new(""),
- 2, 3, 0, 2, GTK_FILL | GTK_EXPAND, 0, 2, 4);
-
- /* Speed warner. */
- gtk_table_attach(GTK_TABLE(table),
- hbox = gtk_hbox_new(FALSE, 4),
- 0, 3, 2, 3, GTK_FILL, 0, 2, 4);
-
- gtk_box_pack_start(GTK_BOX(hbox),
- chk_speed_limit_on =
- gtk_check_button_new_with_label(_("Speed Limit")),
- FALSE, FALSE, 0);
-
- gtk_box_pack_start(GTK_BOX(hbox),
- label = gtk_alignment_new(0.f, 0.5f, 0.f, 0.f),
- FALSE, FALSE, 0);
- gtk_container_add(GTK_CONTAINER(label),
- num_speed = hildon_number_editor_new(0, 999));
-
- gtk_box_pack_start(GTK_BOX(hbox),
- label = gtk_label_new(_("Location")),
- FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox),
- label = gtk_alignment_new(0.f, 0.5f, 0.f, 0.f),
- FALSE, FALSE, 0);
- gtk_container_add(GTK_CONTAINER(label),
- cmb_speed_location = gtk_combo_box_new_text());
- for (i = 0; i < SPEED_LOCATION_ENUM_COUNT; i++)
- gtk_combo_box_append_text(GTK_COMBO_BOX(cmb_speed_location),
- SPEED_LOCATION_TEXT[i]);
-
- /* Database page */
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- table = gtk_table_new(2, 3, FALSE),
- label = gtk_label_new(_("Database")));
-
- /* Database. */
- gtk_table_attach(GTK_TABLE(table),
- label = gtk_label_new(_("Database")),
- 0, 1, 1, 2, GTK_FILL, 0, 2, 4);
- gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
- gtk_table_attach(GTK_TABLE(table),
- hbox = gtk_hbox_new(FALSE, 4),
- 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 2, 4);
- gtk_box_pack_start(GTK_BOX(hbox),
- txt_mapper_db = gtk_entry_new(), TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(hbox),
- btn_browsedb =
- gtk_button_new_with_label(_("Browse...")), FALSE,
- FALSE, 0);
-
- /* Show POI below zoom. */
- gtk_table_attach(GTK_TABLE(table),
- label = gtk_label_new(_("Show POI below zoom")),
- 0, 1, 2, 3, GTK_FILL, 0, 2, 4);
- gtk_misc_set_alignment(GTK_MISC(label), 1.f, 0.5f);
- gtk_table_attach(GTK_TABLE(table),
- label = gtk_alignment_new(0.f, 0.5f, 0.f, 0.f),
- 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 2, 4);
- gtk_container_add(GTK_CONTAINER(label),
- num_poi_zoom = hildon_number_editor_new(0, MAX_ZOOM));
-
- /* Connect signals. */
- scan_info.settings_dialog = dialog;
- scan_info.txt_rcvr_mac = txt_rcvr_mac;
- g_signal_connect(G_OBJECT(btn_scan), "clicked", G_CALLBACK(scan_bluetooth), &scan_info);
- g_signal_connect(G_OBJECT(btn_colors), "clicked", G_CALLBACK(settings_dialog_colors), dialog);
-
- browse_info.dialog = dialog;
- browse_info.txt = txt_mapper_db;
- g_signal_connect(G_OBJECT(btn_browsedb), "clicked", G_CALLBACK(settings_dialog_browse_forfile), &browse_info);
-
- /* Initialize fields. */
- if (_rcvr_mac)
- gtk_entry_set_text(GTK_ENTRY(txt_rcvr_mac), _rcvr_mac);
-
- if (_mapper_db)
- gtk_entry_set_text(GTK_ENTRY(txt_mapper_db), _mapper_db);
-
- hildon_number_editor_set_value(HILDON_NUMBER_EDITOR(num_poi_zoom),
- _poi_zoom);
- hildon_controlbar_set_value(HILDON_CONTROLBAR(num_center_ratio),
- _center_ratio);
- hildon_controlbar_set_value(HILDON_CONTROLBAR(num_lead_ratio),
- _lead_ratio);
- hildon_controlbar_set_value(HILDON_CONTROLBAR(num_announce_notice),
- _announce_notice_ratio);
- hildon_controlbar_set_value(HILDON_CONTROLBAR(num_voice_speed),
- (gint) (_voice_speed * 3 + 0.5));
- hildon_controlbar_set_value(HILDON_CONTROLBAR(num_voice_pitch),
- _voice_pitch);
- hildon_controlbar_set_value(HILDON_CONTROLBAR(num_draw_width),
- _draw_width);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(chk_always_keep_on),
- !_always_keep_on);
- gtk_combo_box_set_active(GTK_COMBO_BOX(cmb_units), _units);
- gtk_combo_box_set_active(GTK_COMBO_BOX(cmb_degformat), _degformat);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(chk_speed_limit_on),
- _speed_limit_on);
- hildon_number_editor_set_range(HILDON_NUMBER_EDITOR(num_speed), 1, 300);
- hildon_number_editor_set_value(HILDON_NUMBER_EDITOR(num_speed), _speed_limit);
- gtk_combo_box_set_active(GTK_COMBO_BOX(cmb_speed_location), _speed_location);
- gtk_combo_box_set_active(GTK_COMBO_BOX(cmb_info_font_size), _info_font_size);
-
- gtk_range_set_value(num_hdop, _filter_hdop);
- gtk_range_set_value(num_vdop, _filter_vdop);
- gtk_range_set_value(num_angle, _filter_angle);
- gtk_range_set_value(num_osm_dist, _filter_osm);
-
- gtk_widget_show_all(dialog);
-
- /* TODO: Uncomment the following hide function calls if moimart ever
- * releases his dbus-based flite software. */
- gtk_widget_hide(lbl_voice_speed);
- gtk_widget_hide(num_voice_speed);
- gtk_widget_hide(lbl_voice_pitch);
- gtk_widget_hide(num_voice_pitch);
-
- while (GTK_RESPONSE_ACCEPT == gtk_dialog_run(GTK_DIALOG(dialog))) {
- /* Set _rcvr_mac if necessary. */
- if (!*gtk_entry_get_text(GTK_ENTRY(txt_rcvr_mac))) {
- /* User specified no rcvr mac - set _rcvr_mac to NULL. */
- if (_rcvr_mac) {
- g_free(_rcvr_mac);
- _rcvr_mac = NULL;
- rcvr_changed = TRUE;
- gtk_widget_set_sensitive(GTK_WIDGET
- (_menu_gps_details_item),
- FALSE);
- }
- if (_enable_gps) {
- gtk_check_menu_item_set_active
- (GTK_CHECK_MENU_ITEM(_menu_enable_gps_item),
- FALSE);
- popup_error(dialog,
- _("No GPS Receiver MAC provided.\n"
- "GPS will be disabled."));
- rcvr_changed = TRUE;
- gtk_widget_set_sensitive(GTK_WIDGET
- (_menu_gps_details_item),
- FALSE);
- }
- } else if (!_rcvr_mac || strcmp(_rcvr_mac, gtk_entry_get_text(GTK_ENTRY(txt_rcvr_mac)))) {
- /* User specified a new rcvr mac. */
- g_free(_rcvr_mac);
- _rcvr_mac = g_strdup(gtk_entry_get_text(GTK_ENTRY(txt_rcvr_mac)));
- rcvr_changed = TRUE;
- }