[maemo-commits] [maemo-commits] r15878 - projects/haf/branches/hildon-fm/fremantle/hildon-fm
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu Aug 14 16:50:45 EEST 2008
- Previous message: [maemo-commits] r15877 - in projects/haf/branches/hildon-fm/fremantle: . debian hildon-fm
- Next message: [maemo-commits] r15879 - projects/haf/branches/hildon-fm/fremantle/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: yangli
Date: 2008-08-14 16:45:59 +0300 (Thu, 14 Aug 2008)
New Revision: 15878
Modified:
projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-chooser-dialog.c
projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-selection.c
projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-selection.h
projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-system-model.c
Log:
changes on file chooser temporatory
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-14 13:37:13 UTC (rev 15877)
+++ projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-chooser-dialog.c 2008-08-14 13:45:59 UTC (rev 15878)
@@ -52,6 +52,7 @@
#include <gtk/gtkimage.h>
#include <gtk/gtklabel.h>
#include <string.h>
+#include <hildon/hildon.h>
#include <hildon/hildon-caption.h>
#include <hildon/hildon-defines.h>
#include <hildon/hildon-banner.h>
@@ -68,13 +69,22 @@
#define HILDON_RESPONSE_FOLDER_BUTTON 12345
#define HILDON_RESPONSE_FOLDER_CREATED 54321
+
+#define HILDON_RESPONSE_UP_BUTTON 12346
+#define HILDON_RESPONSE_PATH_BUTTON 64321
+
/* Common height for filetrees. About 8 lines. Filetree sets default margins,
so we need to take them into account. See #9962. */
#define FILE_SELECTION_HEIGHT (8 * 30 + 2 * HILDON_MARGIN_DEFAULT)
#define FILE_SELECTION_WIDTH_LIST 240 /* Width used in select folder
mode */
+#define FILE_SELECTION_UPBUTTON_WIDTH 40 /* the width of the up level button */
+#define FILE_SELECTION_ADDRESS_HEIGHT FILE_SELECTION_HEIGHT/9
+
#define FILE_SELECTION_WIDTH_TOTAL 590 /* Width for full filetree (both
content and navigation pane) */
+#define FOLDER_CHANGE_DIALOG_WIDTH 400
+#define FOLDER_CHANGE_DIALOG_HEIGHT 600
#ifdef DEBUG
#define DBG(args...) fprintf (stderr, ## args)
@@ -118,6 +128,9 @@
};
struct _HildonFileChooserDialogPrivate {
+ GtkWidget *up_button;
+ GtkWidget *path_button;
+
GtkWidget *action_button;
GtkWidget *folder_button;
GtkWidget *cancel_button;
@@ -129,6 +142,17 @@
GtkWidget *entry_name;
GtkWidget *eventbox_location;
GtkWidget *hbox_location, *image_location, *title_location;
+ /* horizontal address box containing the up level button
+ and the path button */
+ GtkWidget *hbox_address;
+ /* vertical box containing the address and the tree view */
+ GtkWidget *hbox_browser;
+ /* vertical box containing the new button and two dummy labels */
+ GtkWidget *vbox_new;
+ /* horizontal box containing the vbox_browser and the new button */
+ GtkWidget *hbox_whole;
+ /* fixed container for complexy dialog UI, folder change, move */
+ GtkWidget *fixed;
GtkWidget *extensions_combo;
GtkFileChooserAction action;
GtkWidget *popup;
@@ -157,6 +181,12 @@
gboolean show_upnp;
};
+static void hildon_response_up_button_clicked(GtkWidget *widget,
+ gpointer data);
+
+static void hildon_response_path_button_clicked(GtkWidget *widget,
+ gpointer data);
+
static void hildon_file_chooser_dialog_iface_init(GtkFileChooserIface *
iface);
static GObject *
@@ -1102,11 +1132,45 @@
case GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER:
gtk_widget_hide(priv->caption_control_name);
gtk_widget_hide(priv->hbox_items);
- gtk_widget_set_size_request(GTK_WIDGET(priv->filetree),
+
+ gtk_widget_set_size_request(GTK_WIDGET(self),
+ FOLDER_CHANGE_DIALOG_WIDTH,
+ FOLDER_CHANGE_DIALOG_HEIGHT);
+
+ gtk_widget_set_size_request(GTK_WIDGET(priv->hbox_browser),
FILE_SELECTION_WIDTH_LIST,
- FILE_SELECTION_HEIGHT);
- gtk_widget_show(GTK_WIDGET(priv->filetree));
- hildon_file_selection_hide_content_pane(priv->filetree);
+ FILE_SELECTION_HEIGHT +
+ FILE_SELECTION_ADDRESS_HEIGHT +
+ HILDON_MARGIN_DEFAULT);
+
+ gtk_widget_set_size_request(GTK_WIDGET(priv->filetree),
+ FILE_SELECTION_WIDTH_LIST,
+ FILE_SELECTION_HEIGHT);
+
+ /*gtk_widget_set_size_request(GTK_WIDGET(priv->up_button),
+ FILE_SELECTION_UPBUTTON_WIDTH,
+ FILE_SELECTION_ADDRESS_HEIGHT);
+ gtk_widget_set_size_request(GTK_WIDGET(priv->hbox_address),
+ FILE_SELECTION_WIDTH_LIST,
+ FILE_SELECTION_ADDRESS_HEIGHT);
+ gtk_widget_set_size_request(GTK_WIDGET(priv->path_button),
+ FILE_SELECTION_WIDTH_LIST - FILE_SELECTION_UPBUTTON_WIDTH,
+ FILE_SELECTION_ADDRESS_HEIGHT);*/
+
+ gtk_widget_show(priv->hbox_address);
+ gtk_widget_show(GTK_WIDGET(priv->filetree));
+ gtk_widget_show_all(GTK_WIDGET(priv->hbox_browser));
+ hildon_file_selection_show_content_pane(priv->filetree);
+ hildon_file_selection_hide_navigation_pane(priv->filetree);
+
+ /*gchar *uri;
+ uri = g_malloc(100); //to be changed
+ get_current_tree_path(priv->filetree, uri);
+ gtk_button_set_label(GTK_BUTTON(priv->folder_button),
+ uri);
+ delete(uri);*/
+
+ //hildon_file_selection_hide_content_pane(priv->filetree);
gtk_window_set_title(GTK_WINDOW(self), _("ckdg_ti_change_folder"));
gtk_button_set_label(GTK_BUTTON(priv->action_button),
_("ckdg_bd_change_folder_ok"));
@@ -1120,8 +1184,8 @@
case GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER:
hildon_caption_set_label(HILDON_CAPTION(priv->caption_control_name),
_("ckdg_fi_new_folder_name"));
- hildon_caption_set_label (HILDON_CAPTION (priv->caption_control_location),
- _("ckdg_fi_new_folder_location"));
+ hildon_caption_set_label (HILDON_CAPTION (priv->caption_control_location),
+ _("ckdg_fi_new_folder_location"));
gtk_widget_show_all(priv->caption_control_name);
gtk_widget_hide(GTK_WIDGET(priv->filetree));
_hildon_file_selection_realize_help(priv->filetree);
@@ -1474,6 +1538,7 @@
}
g_free(entry_text);
}
+ printf("yang : here is ok\n");
break;
case HILDON_RESPONSE_FOLDER_BUTTON:
g_signal_stop_emission_by_name(widget, "response");
@@ -1966,6 +2031,31 @@
strlen(gtk_entry_get_text(GTK_ENTRY(widget))) > 0);
}
+static void hildon_response_up_button_clicked( GtkWidget *widget,
+ gpointer data )
+{
+ g_print ("up button is clicked\n");
+}
+
+static void hildon_response_path_button_clicked( GtkWidget *widget,
+ gpointer data )
+
+{
+ g_return_if_fail(HILDON_IS_FILE_CHOOSER_DIALOG(data));
+ g_signal_emit_by_name(data, "response", GTK_RESPONSE_OK, NULL);
+
+ g_print ("path button is clicked\n");
+}
+
+static void hildon_response_folder_button_clicked( GtkWidget *widget,
+ gpointer data )
+{
+ g_return_if_fail(HILDON_IS_FILE_CHOOSER_DIALOG(data));
+ g_signal_emit_by_name(data, "response", HILDON_RESPONSE_FOLDER_BUTTON, NULL);
+
+ g_print ("folder button is clicked\n");
+}
+
static void hildon_file_chooser_dialog_init(HildonFileChooserDialog * self)
{
GtkMenuShell *shell;
@@ -1973,7 +2063,9 @@
HildonFileChooserDialogPrivate *priv;
GtkBox *box;
GtkWidget *eventbox, *label_items;
+ GtkWidget *label_up, *label_down;
GtkSizeGroup *size_group;
+ GtkWidget *image = NULL;
ULOG_INFO("Initializing");
@@ -1989,14 +2081,33 @@
priv->should_show_location = TRUE;
priv->stub_name = priv->ext_name = NULL;
priv->action = GTK_FILE_CHOOSER_ACTION_OPEN;
- priv->action_button =
+
+ image = gtk_image_new_from_stock(GTK_STOCK_GO_BACK, GTK_ICON_SIZE_BUTTON);
+ priv->up_button = g_object_new(GTK_TYPE_BUTTON, "gtk-button-images", TRUE );
+ gtk_button_set_image(priv->up_button, image);
+ g_signal_connect (G_OBJECT (priv->up_button), "clicked",
+ G_CALLBACK (hildon_response_up_button_clicked), NULL);
+ gtk_widget_show(priv->up_button);
+
+ priv->path_button = g_object_new(GTK_TYPE_BUTTON, "label", "Nokia Nxxx/", NULL);
+ g_signal_connect (G_OBJECT (priv->path_button), "clicked",
+ G_CALLBACK (hildon_response_path_button_clicked), self);
+ gtk_widget_show(priv->path_button);
+
+ priv->folder_button = g_object_new(GTK_TYPE_BUTTON, "label", _("ckdg_bd_change_folder_new_folder"));
+ g_signal_connect (G_OBJECT (priv->folder_button), "clicked",
+ G_CALLBACK (hildon_response_folder_button_clicked), self);
+ gtk_widget_show(priv->folder_button);
+
+
+ /*priv->action_button =
gtk_dialog_add_button(GTK_DIALOG(self),
_("ckdg_bd_select_object_ok_open"),
- GTK_RESPONSE_OK);
- priv->folder_button =
+ GTK_RESPONSE_OK);*/
+ /*priv->folder_button =
gtk_dialog_add_button(GTK_DIALOG(self),
_("ckdg_bd_change_folder_new_folder"),
- HILDON_RESPONSE_FOLDER_BUTTON);
+ HILDON_RESPONSE_FOLDER_BUTTON);*/
priv->cancel_button =
gtk_dialog_add_button(GTK_DIALOG(self),
_("ckdg_bd_select_object_cancel"),
@@ -2022,6 +2133,7 @@
priv->hbox_items = gtk_hbox_new(FALSE, HILDON_MARGIN_DEFAULT);
priv->image_location = gtk_image_new();
priv->title_location = gtk_label_new(NULL);
+
gtk_misc_set_alignment(GTK_MISC(priv->title_location), 0.0f, 0.5f);
gtk_box_pack_start(GTK_BOX(priv->hbox_location), priv->image_location,
FALSE, TRUE, 0);
@@ -2034,6 +2146,36 @@
gtk_widget_add_events(eventbox, GDK_BUTTON_PRESS_MASK);
g_object_set (G_OBJECT (eventbox), "can-focus", FALSE, NULL);
+ /* organize address area */
+ priv->hbox_address = gtk_hbox_new(FALSE, HILDON_MARGIN_DEFAULT);
+ gtk_box_pack_start(GTK_BOX(priv->hbox_address), priv->up_button,
+ FALSE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(priv->hbox_address), priv->path_button,
+ TRUE, FALSE, 0);
+ /* organize the new button and centralized it */
+ priv->vbox_new = gtk_vbox_new(FALSE, HILDON_MARGIN_DEFAULT);
+ label_up = gtk_label_new("");
+ label_down = gtk_label_new("");
+ gtk_box_pack_start(GTK_BOX(priv->vbox_new), label_up,
+ TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(priv->vbox_new), priv->folder_button,
+ FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(priv->vbox_new), label_down,
+ TRUE, TRUE, 0);
+ /* organize the folder browser */
+ priv->hbox_browser = gtk_hbox_new(FALSE, HILDON_MARGIN_DEFAULT);
+ gtk_box_pack_start(GTK_BOX(priv->hbox_browser), GTK_WIDGET(priv->filetree),
+ TRUE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(priv->hbox_browser), priv->vbox_new,
+ FALSE, FALSE, 0);
+ gtk_widget_show(priv->filetree);
+ /* organize the box containing the vbox_browser and a new button */
+ /*priv->hbox_whole = gtk_hbox_new(FALSE, HILDON_MARGIN_DEFAULT);
+ gtk_box_pack_start(GTK_BOX(priv->hbox_whole), priv->vbox_browser,
+ FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(priv->hbox_whole), priv->vbox_new,
+ TRUE, FALSE, 0);*/
+
priv->caption_control_location =
hildon_caption_new(size_group, _("sfil_fi_save_objects_items"),
eventbox, NULL,
@@ -2147,8 +2289,13 @@
"pane-position", get_global_pane_position (),
NULL);
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(obj)->vbox),
+ priv->hbox_address, FALSE, TRUE, 0);
+ /*gtk_box_pack_start(GTK_BOX(GTK_DIALOG(obj)->vbox),
+ priv->hbox_browser, TRUE, FALSE, 0);*/
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(obj)->vbox),
- GTK_WIDGET(priv->filetree), TRUE, TRUE, 0);
+ GTK_WIDGET(priv->filetree), TRUE, TRUE, 0);
+
g_signal_connect(priv->filetree, "content-pane-context-menu",
G_CALLBACK(hildon_file_chooser_dialog_context), priv);
g_signal_connect_swapped(priv->filetree, "selection-changed",
@@ -2190,7 +2337,6 @@
GtkFileChooserAction action)
{
GtkWidget *dialog;
-
dialog =
g_object_new(HILDON_TYPE_FILE_CHOOSER_DIALOG, "action", action,
NULL);
@@ -2220,7 +2366,7 @@
{
GtkWidget *dialog;
va_list args;
-
+
va_start(args, first_property);
dialog =
GTK_WIDGET(g_object_new_valist
Modified: projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-selection.c
===================================================================
--- projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-selection.c 2008-08-14 13:37:13 UTC (rev 15877)
+++ projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-selection.c 2008-08-14 13:45:59 UTC (rev 15878)
@@ -50,7 +50,7 @@
#include "hildon-file-selection.h"
#include <hildon/hildon-banner.h>
#include <hildon/hildon-defines.h>
-
+#include <hildon/hildon.h>
#include "hildon-file-common-private.h"
/* I wonder where does that additional +2 come from.
@@ -191,6 +191,10 @@
gchar **drag_data_uris;
gchar *cursor_goal_uri;
+
+ /* 1: use pannable area widget
+ 0: use scrolled wnidow widget */
+ gboolean pannable_flag;
};
#if 0
@@ -1433,7 +1437,7 @@
GtkTreePath *sort_path = NULL;
gboolean found = FALSE;
- GDK_THREADS_ENTER();
+ //GDK_THREADS_ENTER();
self = HILDON_FILE_SELECTION(data);
priv = self->priv;
@@ -1486,7 +1490,7 @@
/* We have to return TRUE, because cancel removes the handler now */
hildon_file_selection_cancel_delayed_select(priv);
- GDK_THREADS_LEAVE();
+ //GDK_THREADS_LEAVE();
return TRUE;
}
@@ -3007,46 +3011,42 @@
self->priv->mode = HILDON_FILE_SELECTION_MODE_THUMBNAILS;
GTK_WIDGET_SET_FLAGS(GTK_WIDGET(self), GTK_NO_WINDOW);
+ // yang : to be set up by caller
+ self->priv->pannable_flag = FALSE;
+ if(self->priv->pannable_flag){
+ self->priv->scroll_dir = hildon_pannable_area_new();
+ self->priv->scroll_list = hildon_pannable_area_new();
+ self->priv->scroll_thumb = hildon_pannable_area_new();
+ }
+ else {
+ self->priv->scroll_dir = gtk_scrolled_window_new(NULL, NULL);
+ self->priv->scroll_list = gtk_scrolled_window_new(NULL, NULL);
+ self->priv->scroll_thumb = gtk_scrolled_window_new(NULL, NULL);
- self->priv->scroll_dir = gtk_scrolled_window_new(NULL, NULL);
- self->priv->scroll_list = gtk_scrolled_window_new(NULL, NULL);
- self->priv->scroll_thumb = gtk_scrolled_window_new(NULL, NULL);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW
+ (self->priv->scroll_dir),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW
+ (self->priv->scroll_list),
+ GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW
+ (self->priv->scroll_thumb),
+ GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+
+ gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW
+ (self->priv->scroll_dir),
+ GTK_SHADOW_NONE);
+ gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW
+ (self->priv->scroll_list),
+ GTK_SHADOW_NONE);
+ gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW
+ (self->priv->scroll_thumb),
+ GTK_SHADOW_NONE);
+ }
+
self->priv->view_selector = gtk_hbox_new (FALSE, 0);
- self->priv->hpaned = gtk_hpaned_new();
- gtk_container_set_border_width(GTK_CONTAINER(self->priv->scroll_dir),
- HILDON_MARGIN_DEFAULT);
- gtk_container_set_border_width(GTK_CONTAINER(self->priv->view_selector),
- HILDON_MARGIN_DEFAULT);
-
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW
- (self->priv->scroll_dir),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW
- (self->priv->scroll_list),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW
- (self->priv->scroll_thumb),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
- gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW
- (self->priv->scroll_dir),
- GTK_SHADOW_NONE);
- gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW
- (self->priv->scroll_list),
- GTK_SHADOW_NONE);
- gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW
- (self->priv->scroll_thumb),
- GTK_SHADOW_NONE);
-
- gtk_paned_pack1(GTK_PANED(self->priv->hpaned),
- GTK_WIDGET(self->priv->scroll_dir), TRUE, FALSE);
- gtk_paned_pack2(GTK_PANED(self->priv->hpaned),
- GTK_WIDGET(self->priv->view_selector), TRUE, FALSE);
-
- gtk_widget_set_parent(self->priv->hpaned, GTK_WIDGET(self));
-
self->priv->column_headers_visible = FALSE;
/* This needs to exist before set properties are called */
@@ -3088,9 +3088,23 @@
self->priv->view[3] = vbox;
gtk_box_pack_start (GTK_BOX (self->priv->view_selector),
- self->priv->view[3], TRUE, TRUE, 0);
+ self->priv->view[3], TRUE, TRUE, 0);
}
+ self->priv->hpaned = gtk_hpaned_new();
+ gtk_container_set_border_width(GTK_CONTAINER(self->priv->scroll_dir),
+ HILDON_MARGIN_DEFAULT);
+ gtk_container_set_border_width(GTK_CONTAINER(self->priv->view_selector),
+ HILDON_MARGIN_DEFAULT);
+
+ gtk_paned_pack1(GTK_PANED(self->priv->hpaned),
+ GTK_WIDGET(self->priv->scroll_dir), TRUE, FALSE);
+
+ gtk_paned_pack2(GTK_PANED(self->priv->hpaned),
+ GTK_WIDGET(self->priv->view_selector), TRUE, FALSE);
+
+ gtk_widget_set_parent(self->priv->hpaned, GTK_WIDGET(self));
+
g_signal_connect(self, "grab-notify",
G_CALLBACK(hildon_file_selection_check_scroll), NULL);
}
@@ -3133,15 +3147,24 @@
hildon_file_selection_create_dir_view(self);
hildon_file_selection_create_list_view(self);
hildon_file_selection_create_thumbnail_view(self);
+ printf("prepare to enter pannarea attached \n");
- gtk_container_add(GTK_CONTAINER(priv->scroll_dir), priv->dir_tree);
- gtk_container_add(GTK_CONTAINER(priv->scroll_list), priv->view[0]);
- gtk_container_add(GTK_CONTAINER(priv->scroll_thumb), priv->view[1]);
+ if(self->priv->pannable_flag){
+ printf("pannarea attached \n");
+ gtk_container_add(HILDON_PANNABLE_AREA(priv->scroll_dir), GTK_WIDGET(priv->dir_tree));
+ gtk_container_add(HILDON_PANNABLE_AREA(priv->scroll_list), GTK_WIDGET(priv->view[0]));
+ gtk_container_add(HILDON_PANNABLE_AREA(priv->scroll_thumb), GTK_WIDGET(priv->view[1]));
+ }
+ else{
+ gtk_container_add(GTK_CONTAINER(priv->scroll_dir), priv->dir_tree);
+ gtk_container_add(GTK_CONTAINER(priv->scroll_list), priv->view[0]);
+ gtk_container_add(GTK_CONTAINER(priv->scroll_thumb), priv->view[1]);
+ }
gtk_box_pack_start (GTK_BOX (self->priv->view_selector),
self->priv->scroll_list, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (self->priv->view_selector),
- self->priv->scroll_thumb, TRUE, TRUE, 0);
+ self->priv->scroll_thumb, TRUE, TRUE, 0);
/* Also the views of the navigation pane are trees (and this is
needed). Let's deny expanding */
@@ -3197,7 +3220,7 @@
(hildon_file_selection_check_close_load_banner),
self, 0);
g_signal_connect_object(priv->main_model, "device-disconnected",
- G_CALLBACK(hildon_file_selection_check_location), self, 0);
+ G_CALLBACK(hildon_file_selection_check_location), self, 0);
hildon_file_selection_set_select_multiple(self, FALSE);
@@ -3433,9 +3456,8 @@
g_return_val_if_fail(folder != NULL, FALSE);
ULOG_INFO_F("Setting folder to %s", (const char *) folder);
-
+
file_system_model = HILDON_FILE_SYSTEM_MODEL(self->priv->main_model);
-
if (hildon_file_system_model_load_path (file_system_model,
folder, &main_iter))
{
@@ -3447,7 +3469,6 @@
ULOG_INFO_F("Directory changed successfully");
return TRUE;
}
-
ULOG_INFO_F("Directory change failed");
return FALSE;
}
@@ -3941,6 +3962,18 @@
}
/**
+ * hildon_file_selection_hide_navigation_pane:
+ * @self: a pointer to #HildonFileSelection
+ *
+ * Hides the content pane. This is used in certain file management dialogs.
+ */
+void hildon_file_selection_hide_navigation_pane(HildonFileSelection * self)
+{
+ g_return_if_fail(HILDON_IS_FILE_SELECTION(self));
+ gtk_widget_hide(self->priv->scroll_dir);
+}
+
+/**
* hildon_file_selection_show_content_pane:
* @self: a pointer to #HildonFileSelection
*
@@ -4407,14 +4440,14 @@
{
struct idle_cursor_data *c = (struct idle_cursor_data *)data;
- GDK_THREADS_ENTER ();
+ //GDK_THREADS_ENTER ();
if (c->stubbornly)
hildon_file_selection_set_cursor_stubbornly (c->self, c->view, c->path);
else
gtk_tree_view_set_cursor (c->view, c->path, NULL, FALSE);
gtk_tree_path_free (c->path);
- GDK_THREADS_LEAVE ();
+ //GDK_THREADS_LEAVE ();
g_free (c);
return FALSE;
@@ -4685,3 +4718,20 @@
return ret;
}
+void get_current_tree_path(HildonFileSelection *self, char* uri)
+{
+ 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 *device;
+
+ gtk_tree_model_get (model, &iter,
+ HILDON_FILE_SYSTEM_MODEL_COLUMN_URI, &uri,
+ -1);
+ }
+}
+
Modified: projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-selection.h
===================================================================
--- projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-selection.h 2008-08-14 13:37:13 UTC (rev 15877)
+++ projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-selection.h 2008-08-14 13:45:59 UTC (rev 15878)
@@ -205,6 +205,8 @@
HildonFileSelectionPane hildon_file_selection_get_active_pane(HildonFileSelection *self);
+void hildon_file_selection_hide_navigation_pane(HildonFileSelection * self);
+
void hildon_file_selection_hide_content_pane(HildonFileSelection * self);
void hildon_file_selection_show_content_pane(HildonFileSelection * self);
@@ -220,5 +222,7 @@
void hildon_file_selection_move_cursor_to_uri (HildonFileSelection *self,
const gchar *uri);
+void get_current_tree_path(HildonFileSelection *self, char* uri);
+
G_END_DECLS
#endif
Modified: projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-system-model.c
===================================================================
--- projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-system-model.c 2008-08-14 13:37:13 UTC (rev 15877)
+++ projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-system-model.c 2008-08-14 13:45:59 UTC (rev 15878)
@@ -1166,7 +1166,7 @@
dfa_clos *c = (dfa_clos *)data;
- GDK_THREADS_ENTER ();
+ //GDK_THREADS_ENTER ();
node = hildon_file_system_model_search_folder (c->monitor);
if (node)
@@ -1177,7 +1177,7 @@
hildon_file_system_model_files_added (c->monitor, c->paths, c->data);
}
- GDK_THREADS_LEAVE ();
+ //GDK_THREADS_LEAVE ();
g_object_unref (c->monitor);
gtk_file_paths_free (c->paths);
@@ -1474,7 +1474,7 @@
GNode *node;
g_object_unref (handle);
-
+ printf("yang hello here\n");
/* When the operation has been cancelled, handle_data->node is no
longer valid.
*/
@@ -1542,7 +1542,6 @@
/* The following has to be done last since it might do anything to
model_node, including loading it again.
*/
-
if (gtk_file_folder_is_finished_loading (folder))
{
GSList *children = NULL;
@@ -1565,7 +1564,9 @@
if (model_node->location
&& HILDON_IS_FILE_SYSTEM_ROOT (model_node->location))
model->priv->first_root_scan_completed = TRUE;
+ printf("yang : step completed");
+
hildon_file_system_model_folder_finished_loading
(model_node->folder, model);
gtk_file_paths_free (children);
@@ -1589,7 +1590,6 @@
g_assert(node != NULL && path != NULL);
model_node = node->data;
g_assert(model_node != NULL);
-
/* Folder already exists or we have already asked for it.
*/
if (model_node->folder || model_node->get_folder_handle)
@@ -2606,7 +2606,7 @@
file_path = gtk_file_system_filename_to_path(priv->filesystem,
priv->alternative_root_dir);
-
+
priv->first_root_scan_completed = TRUE;
if (priv->multiroot)
@@ -2837,18 +2837,17 @@
g_return_val_if_fail(iter != NULL, FALSE);
DBG ("LOAD %s\n", (char *)path);
-
/* Block until the first scanning of the root folder is complete
so that we know about all memory cards, usb mass storage
devices, etc.
*/
- while (!priv->first_root_scan_completed)
+ while (!priv->first_root_scan_completed)
{
DBG ("+");
gtk_main_iteration();
}
DBG ("DONE\n");
-
+
/* Let's see if given path is already in the tree */
if (hildon_file_system_model_search_path(model, path, iter,
NULL, TRUE))
- Previous message: [maemo-commits] r15877 - in projects/haf/branches/hildon-fm/fremantle: . debian hildon-fm
- Next message: [maemo-commits] r15879 - projects/haf/branches/hildon-fm/fremantle/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
