#if MAEMO_VERSION >= 5
#include <hildon/hildon-gtk.h>
+#include <hildon/hildon-pannable-area.h>
+#include <hildon/hildon-button.h>
#include <hildon/hildon-check-button.h>
#include <hildon/hildon-picker-button.h>
#include <hildon/hildon-touch-selector.h>
static GtkDialog* dialog;
#if MAEMO_VERSION >= 5
+static HildonButton* player1_btn;
static HildonCheckButton* accu_check;
static HildonPickerButton* scaler_picker;
+static HildonPickerButton* speedhacks_picker;
#else
static GtkComboBox* scaler_combo;
#endif
hildon_check_button_set_active(accu_check,
gconf_client_get_bool(gcc, kGConfTransparency, NULL));
hildon_picker_button_set_active(scaler_picker, scaler_num);
+ hildon_picker_button_set_active(speedhacks_picker,
+ gconf_client_get_int(gcc, kGConfSpeedhacks, NULL));
#else
gtk_combo_box_set_active(scaler_combo, scaler_num);
#endif
static void save_settings()
{
+ int scaler_num = 0;
#if MAEMO_VERSION >= 5
gconf_client_set_bool(gcc, kGConfTransparency,
hildon_check_button_get_active(accu_check), NULL);
+ scaler_num = hildon_picker_button_get_active(scaler_picker);
+ gconf_client_set_int(gcc, kGConfSpeedhacks,
+ hildon_picker_button_get_active(speedhacks_picker), NULL);
#else
- gconf_client_set_bool(gcc, kGConfXSP,
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(xsp_check)), NULL);
+ scaler_num = gtk_combo_box_get_active(scaler_combo);
#endif
+ if (scaler_num < 0) scaler_num = 0;
+ gconf_client_set_string(gcc, kGConfScaler, scalers[scaler_num].id, NULL);
}
static void cb_dialog_response(GtkWidget * button, gint response, gpointer data)
}
#if MAEMO_VERSION >= 5
-static void set_button_layout(HildonButton* button, GtkSizeGroup* sizegroup)
+static void controls_btn_callback(GtkWidget * button, gpointer data)
+{
+ controls_dialog(GTK_WINDOW(dialog));
+}
+
+static void set_button_layout(HildonButton* button,
+ GtkSizeGroup* titles_size_group, GtkSizeGroup* values_size_group)
{
- hildon_button_add_title_size_group(button, sizegroup);
- hildon_button_add_value_size_group(button, sizegroup);
+ hildon_button_add_title_size_group(button, titles_size_group);
+ hildon_button_add_value_size_group(button, values_size_group);
hildon_button_set_alignment(button, 0.0, 0.5, 1.0, 0.0);
- hildon_button_set_title_alignment(button, 0.0, 0.5);
- hildon_button_set_value_alignment(button, 0.0, 0.5);
+ /*hildon_button_set_title_alignment(button, 0.0, 0.5);
+ hildon_button_set_value_alignment(button, 0.0, 0.5);*/
}
#endif
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL));
#if MAEMO_VERSION >= 5
- GtkSizeGroup * size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+ GtkBox * box = GTK_BOX(gtk_vbox_new(FALSE, HILDON_MARGIN_HALF));
+ HildonPannableArea * pannable =
+ HILDON_PANNABLE_AREA(hildon_pannable_area_new());
+ GtkSizeGroup * titles_size_group =
+ gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+ GtkSizeGroup * values_size_group =
+ gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
PangoAttrList *pattrlist = pango_attr_list_new();
PangoAttribute *attr = pango_attr_size_new(22 * PANGO_SCALE);
attr->start_index = 0;
gtk_label_set_attributes(separator_1, pattrlist);
gtk_label_set_justify(separator_1, GTK_JUSTIFY_CENTER);
+ player1_btn = HILDON_BUTTON(hildon_button_new_with_text(
+ HILDON_SIZE_AUTO_WIDTH | HILDON_SIZE_FINGER_HEIGHT,
+ HILDON_BUTTON_ARRANGEMENT_HORIZONTAL,
+ _("Player 1"), _("Keyboard")));
+ set_button_layout(HILDON_BUTTON(player1_btn),
+ titles_size_group, values_size_group);
+ g_signal_connect(G_OBJECT(player1_btn), "clicked",
+ G_CALLBACK(controls_btn_callback), GINT_TO_POINTER(1));
+
GtkLabel* separator_2 = GTK_LABEL(gtk_label_new(_("Advanced")));
gtk_label_set_attributes(separator_2, pattrlist);
gtk_label_set_justify(separator_2, GTK_JUSTIFY_CENTER);
accu_check = HILDON_CHECK_BUTTON(hildon_check_button_new(
- HILDON_SIZE_FULLSCREEN_WIDTH | HILDON_SIZE_FINGER_HEIGHT));
+ HILDON_SIZE_AUTO_WIDTH | HILDON_SIZE_FINGER_HEIGHT));
gtk_button_set_label(GTK_BUTTON(accu_check), _("Accurate graphics"));
- set_button_layout(HILDON_BUTTON(accu_check), size_group);
+ set_button_layout(HILDON_BUTTON(accu_check),
+ titles_size_group, values_size_group);
scaler_picker = HILDON_PICKER_BUTTON(hildon_picker_button_new(
- HILDON_SIZE_FULLSCREEN_WIDTH | HILDON_SIZE_FINGER_HEIGHT,
- HILDON_BUTTON_ARRANGEMENT_VERTICAL));
+ HILDON_SIZE_AUTO_WIDTH | HILDON_SIZE_FINGER_HEIGHT,
+ HILDON_BUTTON_ARRANGEMENT_HORIZONTAL));
hildon_button_set_title(HILDON_BUTTON(scaler_picker), _("Zoom"));
- set_button_layout(HILDON_BUTTON(scaler_picker), size_group);
+ set_button_layout(HILDON_BUTTON(scaler_picker),
+ titles_size_group, values_size_group);
HildonTouchSelector* scaler_sel =
HILDON_TOUCH_SELECTOR(hildon_touch_selector_new_text());
fill_scaler_list(GTK_WIDGET(scaler_sel));
hildon_picker_button_set_selector(scaler_picker, scaler_sel);
- gtk_box_pack_start(GTK_BOX(dialog->vbox), GTK_WIDGET(separator_1),
- FALSE, FALSE, HILDON_MARGIN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(dialog->vbox), GTK_WIDGET(separator_2),
- FALSE, FALSE, HILDON_MARGIN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(dialog->vbox), GTK_WIDGET(accu_check),
+ speedhacks_picker = HILDON_PICKER_BUTTON(hildon_picker_button_new(
+ HILDON_SIZE_AUTO_WIDTH | HILDON_SIZE_FINGER_HEIGHT,
+ HILDON_BUTTON_ARRANGEMENT_HORIZONTAL));
+ hildon_button_set_title(HILDON_BUTTON(speedhacks_picker), _("Speedhacks"));
+ set_button_layout(HILDON_BUTTON(speedhacks_picker),
+ titles_size_group, values_size_group);
+
+ HildonTouchSelector* speedhacks_sel =
+ HILDON_TOUCH_SELECTOR(hildon_touch_selector_new_text());
+ hildon_touch_selector_append_text(speedhacks_sel, _("No speedhacks"));
+ hildon_touch_selector_append_text(speedhacks_sel, _("Safe hacks only"));
+ hildon_touch_selector_append_text(speedhacks_sel, _("All speedhacks"));
+ hildon_picker_button_set_selector(speedhacks_picker, speedhacks_sel);
+
+ gtk_box_pack_start(box, GTK_WIDGET(separator_1),
+ FALSE, FALSE, HILDON_MARGIN_HALF);
+ gtk_box_pack_start(box, GTK_WIDGET(player1_btn),
+ FALSE, FALSE, 0);
+ gtk_box_pack_start(box, GTK_WIDGET(separator_2),
+ FALSE, FALSE, HILDON_MARGIN_HALF);
+ gtk_box_pack_start(box, GTK_WIDGET(accu_check),
FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(dialog->vbox), GTK_WIDGET(scaler_picker),
+ gtk_box_pack_start(box, GTK_WIDGET(scaler_picker),
FALSE, FALSE, 0);
+ gtk_box_pack_start(box, GTK_WIDGET(speedhacks_picker),
+ FALSE, FALSE, 0);
+
+ hildon_pannable_area_add_with_viewport(pannable, GTK_WIDGET(box));
+ gtk_box_pack_start_defaults(GTK_BOX(dialog->vbox), GTK_WIDGET(pannable));
pango_attr_list_unref(pattrlist);
- g_object_unref(size_group);
+ g_object_unref(titles_size_group);
+ g_object_unref(values_size_group);
#else
xsp_check = GTK_CHECK_BUTTON(gtk_check_button_new());
GtkWidget* xsp_caption = hildon_caption_new(NULL,
load_settings();
#if MAEMO_VERSION >= 5
- gtk_window_resize(GTK_WINDOW(dialog), 800, 300);
+ gtk_window_resize(GTK_WINDOW(dialog), 800, 350);
#else
gtk_window_resize(GTK_WINDOW(dialog), 400, 200);
#endif