[maemo-commits] [maemo-commits] r11793 - projects/haf/trunk/hildon-fm/hildon-fm
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed May 23 20:29:37 EEST 2007
- Previous message: [maemo-commits] r11792 - projects/haf/trunk/hildon-fm/hildon-fm
- Next message: [maemo-commits] r11794 - in projects/haf/trunk/hildon-fm: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: marivoll
Date: 2007-05-23 20:29:37 +0300 (Wed, 23 May 2007)
New Revision: 11793
Modified:
projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c
Log:
* hildon-fm/hildon-file-selection.c (HildonFileSelectionPrivate):
Added fourth view for the "Repair" button.
(get_view_to_be_displayed): Select the "Repair" view for drives.
(repair_button_clicked): New (does nothing interesting for now).
(hildon_file_selection_init): Construct "Repair" view.
Modified: projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c
===================================================================
--- projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c 2007-05-23 17:13:42 UTC (rev 11792)
+++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c 2007-05-23 17:29:37 UTC (rev 11793)
@@ -145,7 +145,7 @@
GtkWidget *scroll_list;
GtkWidget *scroll_thumb;
GtkWidget *dir_tree;
- GtkWidget *view[3]; /* List, thumbnail, empty */
+ GtkWidget *view[4]; /* List, thumbnail, empty, repair */
#ifndef HILDON_FM_HPANED
GtkWidget *separator;
#else
@@ -312,15 +312,28 @@
if (gtk_tree_model_get_iter_first(model, &iter))
return priv->mode;
- /* We have currently nothing, check if we are loading */
- g_object_get(model, "child-model", &child_model, "virtual-root", &path, NULL);
+ /* We have currently nothing, check if we are loading or if we
+ should offer the repair button. */
+ g_object_get(model, "child-model", &child_model,
+ "virtual-root", &path, NULL);
+
if (gtk_tree_model_get_iter(child_model, &iter, path))
- {
- gboolean ready;
- gtk_tree_model_get(child_model, &iter, HILDON_FILE_SYSTEM_MODEL_COLUMN_LOAD_READY, &ready, -1);
- result = ready ? 2 : gtk_notebook_get_current_page(priv->view_selector);
- }
+ {
+ gboolean ready, is_drive;
+
+ gtk_tree_model_get (child_model, &iter,
+ HILDON_FILE_SYSTEM_MODEL_COLUMN_LOAD_READY, &ready,
+ HILDON_FILE_SYSTEM_MODEL_COLUMN_IS_DRIVE, &is_drive,
+ -1);
+
+ if (is_drive)
+ result = 3;
+ else if (!ready)
+ result = gtk_notebook_get_current_page(priv->view_selector);
+ else
+ result = 2;
+ }
else /* Virtual root is almost certainly found, EXCEPT when
that node is destroyed and row_reference is invalidated... */
result = 2;
@@ -2904,6 +2917,29 @@
G_CALLBACK(drag_data_delete), self); */
}
+static void
+repair_button_clicked (GtkWidget *button, HildonFileSelection *self)
+{
+ HildonFileSelectionPrivate *priv = self->priv;
+ GtkTreeSelection *selection =
+ gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->dir_tree));
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+
+ if (gtk_tree_selection_get_selected (selection, &model, &iter))
+ {
+ char *uri;
+
+ gtk_tree_model_get (model, &iter,
+ HILDON_FILE_SYSTEM_MODEL_COLUMN_URI, &uri,
+ -1);
+
+ fprintf (stderr, "REPAIR %s\n", uri);
+
+ g_free (uri);
+ }
+}
+
static void hildon_file_selection_init(HildonFileSelection * self)
{
self->priv =
@@ -2973,6 +3009,27 @@
gtk_misc_set_alignment(GTK_MISC(self->priv->view[2]), 0.5f, 0.0f);
gtk_notebook_append_page(self->priv->view_selector, self->priv->view[2], NULL);
+ {
+ GtkWidget *vbox, *label, *button;
+
+ label = gtk_label_new (_("hfil_li_memory_card_corrupted"));
+ gtk_widget_show (label);
+
+ button = gtk_button_new_with_label (_("sfil_bd_repair_memory_card"));
+ g_signal_connect_object (button, "clicked",
+ G_CALLBACK (repair_button_clicked), self,
+ 0);
+ gtk_widget_show (button);
+
+ vbox = gtk_vbox_new (FALSE, 10);
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 10);
+ gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 10);
+
+ self->priv->view[3] = vbox;
+ gtk_notebook_append_page(self->priv->view_selector,
+ self->priv->view[3], NULL);
+ }
+
g_signal_connect(self, "grab-notify",
G_CALLBACK(hildon_file_selection_check_scroll), NULL);
}
- Previous message: [maemo-commits] r11792 - projects/haf/trunk/hildon-fm/hildon-fm
- Next message: [maemo-commits] r11794 - in projects/haf/trunk/hildon-fm: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
