[maemo-commits] [maemo-commits] r15882 - projects/haf/branches/hildon-fm/fremantle/hildon-fm
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Aug 19 11:45:16 EEST 2008
- Previous message: [maemo-commits] r15881 - projects/haf/tags/osso-gnome-vfs2
- Next message: [maemo-commits] r15883 - projects/haf/branches/hildon-fm/fremantle/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: yangli
Date: 2008-08-19 11:45:09 +0300 (Tue, 19 Aug 2008)
New Revision: 15882
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
Log:
filter out the files in folder change dialog and disable the up button when in the most upper level were done, backup
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-19 07:03:18 UTC (rev 15881)
+++ projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-chooser-dialog.c 2008-08-19 08:45:09 UTC (rev 15882)
@@ -2041,7 +2041,7 @@
HildonFileChooserDialogPrivate *priv = HILDON_FILE_CHOOSER_DIALOG(self)->priv;
GtkTreeIter iter;
GtkTreeIter cur_iter;
- //gchar *gtk_tree_path_str;
+ gchar *gtk_tree_path_str;
gchar *title;
gchar *path_string;
GList *list = NULL;
@@ -2051,30 +2051,30 @@
gtk_tree_model_get(GTK_TREE_MODEL(priv->model), &iter,
HILDON_FILE_SYSTEM_MODEL_COLUMN_DISPLAY_NAME,
&title, -1);
+ gtk_tree_path_str = gtk_tree_model_get_string_from_iter(GTK_TREE_MODEL(priv->model),
+ &iter);
+ } else
+ ULOG_INFO("Failed to get current folder iter");
+ if(!g_strcasecmp(gtk_tree_path_str, "0")) {
+ gtk_widget_set_sensitive(priv->up_button, FALSE);
+ }
+ else {
+ gtk_widget_set_sensitive(priv->up_button, TRUE);
+ }
+ printf("yang: the path string is %s\n", gtk_tree_path_str);
+ free(gtk_tree_path_str);
+ while(g_strcasecmp(title, "/")/*!g_strcasecmp(gtk_tree_path_str, "0")*/){
+ //free(title);
if(strlen(title) == 0)
list = g_list_append(list, "Nokia");
else
list = g_list_append(list, title);
- printf("yang : before the loop, the title is %s\n", title);
-
- /*gtk_tree_path_str = gtk_tree_model_get_string_from_iter(GTK_TREE_MODEL(priv->model),
- &iter);*/
- } else
- ULOG_INFO("Failed to get current folder iter");
-
- while(g_strcasecmp(title, "/")/*!g_strcasecmp(gtk_tree_path_str, "0")*/){
- //free(title);
- //free(gtk_tree_path_str);
cur_iter = iter;
gtk_tree_model_iter_parent(GTK_TREE_MODEL(priv->model), &iter, &cur_iter);
gtk_tree_model_get(GTK_TREE_MODEL(priv->model), &iter,
HILDON_FILE_SYSTEM_MODEL_COLUMN_DISPLAY_NAME,
&title, -1);
- printf("yang : in the loop, the title is %s\n", title);
- if(strlen(title) == 0)
- list = g_list_append(list, "Nokia");
- else
- list = g_list_append(list, title);
+
/*gtk_tree_path_str = gtk_tree_model_get_string_from_iter(GTK_TREE_MODEL(priv->model),
&iter);*/
}
@@ -2082,7 +2082,6 @@
path_string = g_malloc(100);
memset(path_string, 0, 100);
for (list = g_list_last(list); list; list = list->prev) {
- printf("yang : content is %s", list->data);
if(strlen(path_string) == 0)
strcpy(path_string, list->data);
else
@@ -2226,7 +2225,7 @@
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);
+ FALSE, TRUE, 0);
/* organize the new button and centralized it */
priv->vbox_new = gtk_vbox_new(FALSE, HILDON_MARGIN_DEFAULT);
label_up = gtk_label_new("");
@@ -2244,12 +2243,6 @@
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"),
@@ -2364,6 +2357,8 @@
"pane-position", get_global_pane_position (),
NULL);
+ hildon_file_selection_set_invisible_files(priv->filetree, TRUE);
+
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),
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-19 07:03:18 UTC (rev 15881)
+++ projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-selection.c 2008-08-19 08:45:09 UTC (rev 15882)
@@ -138,7 +138,6 @@
GtkWidget *view[4]; /* List, thumbnail, empty, repair */
/* the pointer to the file_chooser_dialog to
notify to change the text in the path button */
- GtkWidget *chooser_dialog;
int cur_view;
GtkWidget *hpaned;
@@ -186,6 +185,9 @@
gboolean show_hidden;
gboolean show_upnp;
gboolean currently_dragging;
+ /* ignoring listing the folders in the
+ content pane, file_chooser dialog needs this */
+ gboolean folders_ignoring;
GtkFilePath *safe_folder;
gchar **drag_data_uris;
@@ -195,6 +197,9 @@
/* 1: use pannable area widget
0: use scrolled wnidow widget */
gboolean pannable_flag;
+ /* set this flag to true, files will be filtered out, used
+ in for example, folder chooser dialog and some other similar dialogs */
+ gboolean invisible_files;
};
#if 0
@@ -673,17 +678,24 @@
return FALSE;
}
- /* All files are shown if no filter is present */
- if (!priv->filter)
- return TRUE;
-
gtk_tree_model_get(model, iter,
HILDON_FILE_SYSTEM_MODEL_COLUMN_IS_FOLDER,
&is_folder, -1);
- if (is_folder) /* Folders are always displayed */
+ if ((is_folder == FALSE) && priv->invisible_files) {
+ /* Files are NOT displayed in for example,
+ folder chooser dialog..., maybe more etc */
+ return FALSE;
+ }
+ else {
+ /* Files are always displayed in most of the cases */
return TRUE;
+ }
+ /* All files are shown if no filter is present */
+ if (!priv->filter)
+ return TRUE;
+
memset(&info, 0, sizeof(GtkFileFilterInfo));
info.contains = gtk_file_filter_get_needed(priv->filter);
@@ -3131,6 +3143,8 @@
priv->view_filter = gtk_tree_model_filter_new(priv->main_model, temp_path);
gtk_tree_path_free (temp_path);
+ hildon_file_selection_set_invisible_files(self, FALSE);
+
gtk_tree_model_filter_set_visible_func
(GTK_TREE_MODEL_FILTER (priv->view_filter), filter_func, priv, NULL);
@@ -3234,7 +3248,7 @@
gtk_widget_hide (priv->view[3]);
hildon_file_selection_inspect_view (priv);
-
+ priv->folders_ignoring = FALSE;
return obj;
}
@@ -4719,21 +4733,11 @@
priv->chooser_dialog = chooser_dialog;
}*/
-void get_current_tree_path(HildonFileSelection *self, char* uri)
+void hildon_file_selection_set_invisible_files(HildonFileSelection *self,
+ gboolean visible)
{
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);
- }
+ priv->invisible_files = visible;
}
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-19 07:03:18 UTC (rev 15881)
+++ projects/haf/branches/hildon-fm/fremantle/hildon-fm/hildon-file-selection.h 2008-08-19 08:45:09 UTC (rev 15882)
@@ -171,7 +171,10 @@
void
hildon_file_selection_set_current_folder_iter(HildonFileSelection * self,
GtkTreeIter * main_iter);
+void hildon_file_selection_set_invisible_files(HildonFileSelection *self,
+ gboolean visible);
+
#ifndef HILDON_DISABLE_DEPRECATED
gboolean hildon_file_selection_get_active_content_iter(HildonFileSelection
*self, GtkTreeIter *iter);
- Previous message: [maemo-commits] r15881 - projects/haf/tags/osso-gnome-vfs2
- Next message: [maemo-commits] r15883 - projects/haf/branches/hildon-fm/fremantle/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
