* 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 <http://www.gnu.org/licenses/>.
*
* Author: Alexander Larsson <alexl@redhat.com>
*/
#include "config.h"
#include "gfilenamecompleter.h"
+#include "gfileenumerator.h"
+#include "gfileattribute.h"
#include "gfile.h"
+#include "gfileinfo.h"
+#include "gcancellable.h"
#include <string.h>
#include "glibintl.h"
-#include "gioalias.h"
/**
* SECTION:gfilenamecompleter
GFile *basenames_dir;
gboolean basenames_are_escaped;
- GList *basenames;
gboolean dirs_only;
+ GList *basenames;
LoadBasenamesData *basename_loader;
};
if (completer->basenames_dir)
g_object_unref (completer->basenames_dir);
- g_list_foreach (completer->basenames, (GFunc)g_free, NULL);
- g_list_free (completer->basenames);
+ g_list_free_full (completer->basenames, g_free);
G_OBJECT_CLASS (g_filename_completer_parent_class)->finalize (object);
}
*
* 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),
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);
}
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;
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);
*
* 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;
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);
}
completer->dirs_only = dirs_only;
}
-
-#define __G_FILENAME_COMPLETER_C__
-#include "gioaliasdef.c"