[maemo-commits] [maemo-commits] r15891 - projects/haf/branches/hildon-fm/fremantle/hildon-fm
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Aug 26 14:49:13 EEST 2008
- Previous message: [maemo-commits] r15890 - projects/haf/branches/hildon-fm/fremantle/hildon-fm
- Next message: [maemo-commits] r15892 - projects/haf/branches/hildon-fm/fremantle/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: rabinovich Date: 2008-08-26 14:49:12 +0300 (Tue, 26 Aug 2008) New Revision: 15891 Modified: projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-chooser-dialog.c Log: ported "select file type" dialog to fremantle UI Modified: projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-chooser-dialog.c =================================================================== --- projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-chooser-dialog.c 2008-08-26 11:47:23 UTC (rev 15890) +++ projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-chooser-dialog.c 2008-08-26 11:49:12 UTC (rev 15891) @@ -2513,17 +2513,18 @@ GtkTreeModel *model; GtkTreeIter iter; gboolean valid; - int i; + HildonTouchSelector *selector; - model = gtk_combo_box_get_model (GTK_COMBO_BOX (priv->extensions_combo)); + selector = hildon_picker_button_get_selector(HILDON_PICKER_BUTTON(priv->extensions_combo)); + model = hildon_touch_selector_get_model(selector, 0); /* if there is a valid extension selected, just leave it */ - if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (priv->extensions_combo), &iter)) + if (hildon_touch_selector_get_active_iter (selector, 0, &iter)) { gboolean matches; gchar *ext; - gtk_tree_model_get (model, &iter, 1, &ext, -1); + gtk_tree_model_get (model, &iter, 0, &ext, -1); matches = (strcmp (ext, priv->ext_name + 1) == 0); g_free (ext); @@ -2531,22 +2532,21 @@ return; } - i = 0; valid = gtk_tree_model_get_iter_first (model, &iter); while (valid) { gchar *ext; - gtk_tree_model_get (model, &iter, 1, &ext, -1); + gtk_tree_model_get (model, &iter, 0, &ext, -1); if (strcmp (ext, priv->ext_name + 1) == 0) { - gtk_combo_box_set_active (GTK_COMBO_BOX (priv->extensions_combo), - i); + hildon_touch_selector_set_active_iter (selector, 0, &iter, TRUE); + hildon_button_set_value(HILDON_BUTTON(priv->extensions_combo), ext); + g_free (ext); break; } g_free (ext); - i++; valid = gtk_tree_model_iter_next (model, &iter); } } @@ -2555,22 +2555,12 @@ static void extension_changed (GtkComboBox *widget, gpointer data) { - gchar *ext; - GtkTreeModel *model; - GtkTreeIter iter; - HildonFileChooserDialogPrivate *priv = HILDON_FILE_CHOOSER_DIALOG (data)->priv; - model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget)); - gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter); - gtk_tree_model_get (model, &iter, 1, &ext, -1); - g_free (priv->ext_name); - priv->ext_name = g_strconcat (".", ext, NULL); + priv->ext_name = g_strconcat (".", hildon_button_get_value (HILDON_BUTTON (widget)), NULL); hildon_file_chooser_dialog_do_autonaming (priv); - - g_free (ext); } /** @@ -2597,54 +2587,42 @@ char **extensions, char **ext_names) { - GtkTreeIter iter; - GtkListStore *model; - GtkCellRenderer *renderer; + GtkWidget *button; + GtkWidget *selector; GtkWidget *caption; - GtkWidget *combo; gint i = 0; g_return_val_if_fail (self->priv->extensions_combo == NULL, NULL); - model = GTK_LIST_STORE (gtk_list_store_new (2, - G_TYPE_STRING, - G_TYPE_STRING)); - combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (model)); - self->priv->extensions_combo = combo; + button = hildon_picker_button_new(HILDON_SIZE_AUTO, HILDON_BUTTON_ARRANGEMENT_HORIZONTAL); + selector = hildon_touch_selector_new_text(); + self->priv->extensions_combo = button; + for (i = 0; extensions[i]; i++) { - gtk_list_store_append (model, &iter); - gtk_list_store_set (model, &iter, - 0, ext_names? ext_names[i] : extensions[i], - 1, extensions[i], - -1); + hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), extensions[i]); } - renderer = gtk_cell_renderer_text_new (); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), - renderer, TRUE); - gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), - renderer, "text", 0, NULL); + hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (button), HILDON_TOUCH_SELECTOR (selector)); + gtk_button_set_alignment(GTK_BUTTON(button), 0, 0.5); + hildon_button_set_title(HILDON_BUTTON(button), _("sfil_fi_save_object_dialog_type")); + hildon_button_set_title(HILDON_BUTTON(button), NULL); - g_object_unref(model); - - g_signal_connect (G_OBJECT (combo), "changed", + g_signal_connect (G_OBJECT (button), "value-changed", G_CALLBACK (extension_changed), self); - caption = hildon_caption_new (NULL, - _("sfil_fi_save_object_dialog_type"), - combo, NULL, - HILDON_CAPTION_OPTIONAL); + caption = hildon_caption_new (NULL, _("sfil_fi_save_object_dialog_type"), button, NULL, HILDON_CAPTION_OPTIONAL); + hildon_caption_set_separator(HILDON_CAPTION(caption), ""); hildon_file_chooser_dialog_add_extra (self, caption); - gtk_widget_show (combo); + gtk_widget_show (button); gtk_widget_show (caption); sync_extensions_combo (self->priv); - return combo; + return button; } /**
- Previous message: [maemo-commits] r15890 - projects/haf/branches/hildon-fm/fremantle/hildon-fm
- Next message: [maemo-commits] r15892 - projects/haf/branches/hildon-fm/fremantle/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]