29 |
GtkWidget *loc; |
GtkWidget *loc; |
30 |
} settings_dialog_state_t; |
} settings_dialog_state_t; |
31 |
|
|
|
/* ------------------------ special gui elements for fremantle ------------------ */ |
|
|
|
|
|
static GtkWidget *toggle_button_new_with_label(char *label) { |
|
|
#if !defined(USE_MAEMO) || (MAEMO_VERSION_MAJOR < 5) |
|
|
return gtk_check_button_new_with_label(label); |
|
|
#else |
|
|
GtkWidget *cbut = gtk_toggle_button_new_with_label(label); |
|
|
hildon_gtk_widget_set_theme_size(cbut, |
|
|
(HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH)); |
|
|
gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(cbut), FALSE); |
|
|
return cbut; |
|
|
#endif |
|
|
} |
|
|
|
|
|
static void toggle_button_set_active(GtkWidget *button, gboolean active) { |
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), active); |
|
|
} |
|
|
|
|
|
static gboolean toggle_button_get_active(GtkWidget *button) { |
|
|
return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)); |
|
|
} |
|
|
|
|
|
static GtkWidget *check_button_new_with_label(char *label) { |
|
|
#if !defined(USE_MAEMO) || (MAEMO_VERSION_MAJOR < 5) |
|
|
return gtk_check_button_new_with_label(label); |
|
|
#else |
|
|
GtkWidget *cbut = |
|
|
hildon_check_button_new(HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH); |
|
|
gtk_button_set_label(GTK_BUTTON(cbut), label); |
|
|
return cbut; |
|
|
#endif |
|
|
} |
|
|
|
|
|
static void check_button_set_active(GtkWidget *button, gboolean active) { |
|
|
#if !defined(USE_MAEMO) || (MAEMO_VERSION_MAJOR < 5) |
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), active); |
|
|
#else |
|
|
hildon_check_button_set_active(HILDON_CHECK_BUTTON(button), active); |
|
|
#endif |
|
|
} |
|
|
|
|
|
static gboolean check_button_get_active(GtkWidget *button) { |
|
|
#if !defined(USE_MAEMO) || (MAEMO_VERSION_MAJOR < 5) |
|
|
return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)); |
|
|
#else |
|
|
return hildon_check_button_get_active(HILDON_CHECK_BUTTON(button)); |
|
|
#endif |
|
|
} |
|
|
|
|
32 |
/* Our usual callback function */ |
/* Our usual callback function */ |
33 |
static void settings_update(GtkWidget *widget, gpointer data) { |
static void settings_update(GtkWidget *widget, gpointer data) { |
34 |
settings_dialog_state_t *hstate = (settings_dialog_state_t *)data; |
settings_dialog_state_t *hstate = (settings_dialog_state_t *)data; |
132 |
lonw = lon_entry_new(pos.lon), 1, 2, 2, 3); |
lonw = lon_entry_new(pos.lon), 1, 2, 2, 3); |
133 |
|
|
134 |
gtk_table_attach_defaults(GTK_TABLE(table), |
gtk_table_attach_defaults(GTK_TABLE(table), |
135 |
coo_popup(context->appdata, latw, lonw), 2, 3, 1, 2); |
preset_coordinate_picker(context->appdata, latw, lonw), 2, 3, 1, 2); |
136 |
|
gtk_table_attach_defaults(GTK_TABLE(table), |
137 |
|
goto_coordinate(context->appdata, latw, lonw), 2, 3, 2, 3); |
138 |
|
|
139 |
if(loc) |
if(loc) |
140 |
gtk_entry_set_text(GTK_ENTRY(name), loc->name); |
gtk_entry_set_text(GTK_ENTRY(name), loc->name); |
150 |
if(GTK_RESPONSE_ACCEPT == gtk_dialog_run(GTK_DIALOG(dialog))) { |
if(GTK_RESPONSE_ACCEPT == gtk_dialog_run(GTK_DIALOG(dialog))) { |
151 |
pos_t pos; |
pos_t pos; |
152 |
|
|
153 |
pos.lat = lat_get(latw); |
pos.lat = lat_entry_get(latw); |
154 |
pos.lon = lon_get(lonw); |
pos.lon = lon_entry_get(lonw); |
155 |
|
|
156 |
if(isnan(pos.lat) || isnan(pos.lon)) |
if(isnan(pos.lat) || isnan(pos.lon)) |
157 |
errorf(_("Ignoring invalid position")); |
errorf(_("Ignoring invalid position")); |