X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgfilenamecompleter.c;h=f1d9f8a18d8cae142c450420c666105baf197486;hb=c3842d1969feace4bfb12919be730e75e53877d9;hp=cccc7229f93f82cdeb48b6cbaadd479fb30439f6;hpb=d922bf632a2f4ffcb03206f1e2e660e0b6f36152;p=platform%2Fupstream%2Fglib.git
diff --git a/gio/gfilenamecompleter.c b/gio/gfilenamecompleter.c
index cccc722..f1d9f8a 100644
--- a/gio/gfilenamecompleter.c
+++ b/gio/gfilenamecompleter.c
@@ -13,20 +13,21 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Public License along with this library; if not, see .
*
* Author: Alexander Larsson
*/
-#include
+#include "config.h"
#include "gfilenamecompleter.h"
+#include "gfileenumerator.h"
+#include "gfileattribute.h"
#include "gfile.h"
+#include "gfileinfo.h"
+#include "gcancellable.h"
#include
#include "glibintl.h"
-#include "gioalias.h"
/**
* SECTION:gfilenamecompleter
@@ -61,8 +62,8 @@ struct _GFilenameCompleter {
GFile *basenames_dir;
gboolean basenames_are_escaped;
- GList *basenames;
gboolean dirs_only;
+ GList *basenames;
LoadBasenamesData *basename_loader;
};
@@ -83,11 +84,9 @@ g_filename_completer_finalize (GObject *object)
if (completer->basenames_dir)
g_object_unref (completer->basenames_dir);
- g_list_foreach (completer->basenames, (GFunc)g_free, NULL);
- g_list_free (completer->basenames);
-
- if (G_OBJECT_CLASS (g_filename_completer_parent_class)->finalize)
- (*G_OBJECT_CLASS (g_filename_completer_parent_class)->finalize) (object);
+ g_list_free_full (completer->basenames, g_free);
+
+ G_OBJECT_CLASS (g_filename_completer_parent_class)->finalize (object);
}
static void
@@ -101,7 +100,7 @@ g_filename_completer_class_init (GFilenameCompleterClass *klass)
*
* Emitted when the file name completion information comes available.
**/
- signals[GOT_COMPLETION_DATA] = g_signal_new (I_("got_completion_data"),
+ signals[GOT_COMPLETION_DATA] = g_signal_new (I_("got-completion-data"),
G_TYPE_FILENAME_COMPLETER,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GFilenameCompleterClass, got_completion_data),
@@ -153,8 +152,7 @@ load_basenames_data_free (LoadBasenamesData *data)
g_object_unref (data->cancellable);
g_object_unref (data->dir);
- g_list_foreach (data->basenames, (GFunc)g_free, NULL);
- g_list_free (data->basenames);
+ g_list_free_full (data->basenames, g_free);
g_free (data);
}
@@ -241,8 +239,7 @@ got_more_files (GObject *source_object,
if (data->completer->basenames_dir)
g_object_unref (data->completer->basenames_dir);
- g_list_foreach (data->completer->basenames, (GFunc)g_free, NULL);
- g_list_free (data->completer->basenames);
+ g_list_free_full (data->completer->basenames, g_free);
data->completer->basenames_dir = g_object_ref (data->dir);
data->completer->basenames = data->basenames;
@@ -279,8 +276,7 @@ got_enum (GObject *source_object,
if (data->completer->basenames_dir)
g_object_unref (data->completer->basenames_dir);
- g_list_foreach (data->completer->basenames, (GFunc)g_free, NULL);
- g_list_free (data->completer->basenames);
+ g_list_free_full (data->completer->basenames, g_free);
/* Mark uptodate with no basenames */
data->completer->basenames_dir = g_object_ref (data->dir);
@@ -462,12 +458,12 @@ g_filename_completer_get_completion_suffix (GFilenameCompleter *completer,
*
* Gets an array of completion strings for a given initial text.
*
- * Returns: array of strings with possible completions for @initial_text.
+ * Returns: (array zero-terminated=1) (transfer full): array of strings with possible completions for @initial_text.
* This array must be freed by g_strfreev() when finished.
**/
char **
g_filename_completer_get_completions (GFilenameCompleter *completer,
- const char *initial_text)
+ const char *initial_text)
{
GList *possible_matches, *l;
char *prefix;
@@ -483,14 +479,16 @@ g_filename_completer_get_completions (GFilenameCompleter *completer,
for (l = possible_matches; l != NULL; l = l->next)
{
possible_match = l->data;
-
+
if (g_str_has_prefix (possible_match, prefix))
g_ptr_array_add (res,
g_strconcat (initial_text, possible_match + strlen (prefix), NULL));
}
g_free (prefix);
-
+
+ g_ptr_array_add (res, NULL);
+
return (char**)g_ptr_array_free (res, FALSE);
}
@@ -510,6 +508,3 @@ g_filename_completer_set_dirs_only (GFilenameCompleter *completer,
completer->dirs_only = dirs_only;
}
-
-#define __G_FILENAME_COMPLETER_C__
-#include "gioaliasdef.c"