[maemo-commits] [maemo-commits] r11394 - projects/haf/trunk/hildon-fm/hildon-fm

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed May 2 19:56:22 EEST 2007
Author: marivoll
Date: 2007-05-02 19:56:21 +0300 (Wed, 02 May 2007)
New Revision: 11394

Modified:
   projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-chooser-dialog.c
Log:
	Support for setting the file selection view mode on a file chooser
	dialog widget.
	
	* hildon-fm/hildon-file-chooser-dialog.c
	(HILDON_FILE_CHOOSER_DIALOG_TYPE_SELECTION_MODE,
	hildon_file_chooser_dialog_selection_mode_get_type,
	PROP_SELECTION_MODE): New.
	(hildon_file_chooser_dialog_set_property): Handle
	PROP_SELECTION_MODE by passing it to our HildonFileSelection
	widget.
	(hildon_file_chooser_dialog_get_property): Likewise.
	(hildon_file_chooser_dialog_class_init): Register new
	"selection-mode" property.


Modified: projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-chooser-dialog.c
===================================================================
--- projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-chooser-dialog.c	2007-05-02 16:19:47 UTC (rev 11393)
+++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-chooser-dialog.c	2007-05-02 16:56:21 UTC (rev 11394)
@@ -70,6 +70,25 @@
 #define FILE_SELECTION_WIDTH_TOTAL 590  /* Width for full filetree (both
                                            content and navigation pane) */
 
+
+#define HILDON_FILE_CHOOSER_DIALOG_TYPE_SELECTION_MODE (hildon_file_chooser_dialog_selection_mode_get_type())
+static GType
+hildon_file_chooser_dialog_selection_mode_get_type(void)
+{
+  static GType selection_mode_type = 0;
+  static GEnumValue selection_mode[] = {
+    {HILDON_FILE_SELECTION_MODE_LIST, "1", "list"},
+    {HILDON_FILE_SELECTION_MODE_THUMBNAILS, "2", "thumbnails"}
+  };
+
+  if (!selection_mode_type) {
+    selection_mode_type =
+        g_enum_register_static ("HildonFileChooserDialogSelectionMode", selection_mode);
+  }
+  return selection_mode_type;
+}
+
+
 void hildon_gtk_file_chooser_install_properties(GObjectClass * klass);
 
 enum {
@@ -81,7 +100,8 @@
     PROP_OPEN_BUTTON_TEXT,
     PROP_MULTIPLE_TEXT,
     PROP_MAX_NAME_LENGTH,
-    PROP_MAX_FULL_PATH_LENGTH
+    PROP_MAX_FULL_PATH_LENGTH,
+    PROP_SELECTION_MODE
 };
 
 struct _HildonFileChooserDialogPrivate {
@@ -1406,6 +1426,11 @@
 
       break;
     }
+    case PROP_SELECTION_MODE:
+      g_assert(HILDON_IS_FILE_SELECTION(priv->filetree));
+      hildon_file_selection_set_mode(priv->filetree,
+				     g_value_get_enum (value));
+      break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;
@@ -1469,6 +1494,9 @@
     case PROP_MAX_FULL_PATH_LENGTH:
         g_value_set_int(value, priv->max_full_path_length);
         break;
+    case PROP_SELECTION_MODE:
+        g_value_set_enum(value, hildon_file_selection_get_mode(priv->filetree));
+        break;
     default:   /* Backend is not readable */
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;
@@ -1640,6 +1668,14 @@
                              "Use -1 for no limit or 0 to look the value "
                              "from MAX_FILENAME_LENGTH environment variable", 
                              -1, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+    pspec = g_param_spec_enum("selection-mode", "Selection mode",
+			      "View mode used for hildon file selection widget",
+			      HILDON_FILE_CHOOSER_DIALOG_TYPE_SELECTION_MODE,
+			      HILDON_FILE_SELECTION_MODE_LIST, 			      
+			      G_PARAM_READWRITE);
+    g_object_class_install_property(gobject_class, PROP_SELECTION_MODE, pspec);
+
     
     hildon_gtk_file_chooser_install_properties(gobject_class);
 }


More information about the maemo-commits mailing list