~jeremywootten/pantheon-files/fix-sidebar-dragging

« back to all changes in this revision

Viewing changes to src/gof-file.h

  • Committer: am.monkeyd at gmail
  • Date: 2010-11-08 13:17:02 UTC
  • Revision ID: am.monkeyd@gmail.com-20101108131702-rqeywh4r5pyx2ycz
let's roll

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
 
2
/*
 
3
 * Copyright (C) 2010 ammonkey
 
4
 *
 
5
 * This library is free software; you can redistribute it and/or modify
 
6
 * it under the terms of the GNU Lesser General Public License
 
7
 * version 3.0 as published by the Free Software Foundation.
 
8
 *
 
9
 * This library is distributed in the hope that it will be useful,
 
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
 * GNU Lesser General Public License version 3.0 for more details.
 
13
 *
 
14
 * You should have received a copy of the GNU Lesser General Public
 
15
 * License along with this library. If not, see
 
16
 * <http://www.gnu.org/licenses/>.
 
17
 *
 
18
 * Author: ammonkey <am.monkeyd@gmail.com>
 
19
 */
 
20
 
 
21
#ifndef GOF_FILE_H
 
22
#define GOF_FILE_H
 
23
 
 
24
#include <glib.h>
 
25
#include <glib-object.h>
 
26
#include <gdk-pixbuf/gdk-pixbuf.h>
 
27
#include <gio/gio.h>
 
28
 
 
29
G_BEGIN_DECLS
 
30
 
 
31
#define GOF_TYPE_FILE (gof_file_get_type ())
 
32
#define GOF_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOF_TYPE_FILE, GOFFile))
 
33
#define GOF_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOF_TYPE_FILE, GOFFileClass))
 
34
#define GOF_IS_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOF_TYPE_FILE))
 
35
#define GOF_IS_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOF_TYPE_FILE))
 
36
#define GOF_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOF_TYPE_FILE, GOFFileClass))
 
37
 
 
38
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
 
39
#define _g_free0(var) (var = (g_free (var), NULL))
 
40
 
 
41
typedef struct _GOFFile GOFFile;
 
42
typedef struct _GOFFileClass GOFFileClass;
 
43
//typedef struct _GOFFilePrivate GOFFilePrivate;
 
44
 
 
45
struct _GOFFile {
 
46
        GObject parent_instance;
 
47
        //GOFFilePrivate * priv;
 
48
        /*gboolean selected;
 
49
        gboolean parent_directory_link;*/
 
50
 
 
51
        GFileInfo       *info;
 
52
        GFile           *location;
 
53
        GFile           *directory;
 
54
        const gchar     *name;
 
55
        const gchar     *ftype;
 
56
        gchar           *utf8_collation_key;
 
57
        guint64         size;
 
58
        gchar           *format_size;
 
59
        GFileType       file_type;
 
60
        gboolean        is_directory;
 
61
        gboolean        is_hidden;
 
62
        GIcon           *icon;
 
63
        GdkPixbuf       *pix;
 
64
        guint64         modified;
 
65
};
 
66
 
 
67
struct _GOFFileClass {
 
68
        GObjectClass parent_class;
 
69
};
 
70
 
 
71
GType gof_file_get_type (void);
 
72
 
 
73
//GOFFile*        gof_file_new (GFileInfo* file_info);
 
74
//GOFFile* gof_file_new (GFileInfo* file_info, GFileEnumerator *enumerator);
 
75
GOFFile* gof_file_new (GFileInfo* file_info, GFile *dir);
 
76
GFileInfo*      gof_file_get_file_info (GOFFile* self);
 
77
gint            gof_file_NameCompareFunc (GOFFile* a, GOFFile* b);
 
78
gint            gof_file_SizeCompareFunc (GOFFile* a, GOFFile* b);
 
79
 
 
80
int             gof_file_compare_for_sort (GOFFile *file_1,
 
81
                                           GOFFile *file_2,
 
82
                                           gint sort_type,
 
83
                                           gboolean directories_first,
 
84
                                           gboolean reversed);
 
85
GOFFile*        gof_file_ref (GOFFile *file);
 
86
void            gof_file_unref (GOFFile *file);
 
87
char *          gof_file_get_date_as_string (guint64 d);
 
88
 
 
89
void            gof_file_list_unref (GList *list);
 
90
void            gof_file_list_free (GList *list);
 
91
G_END_DECLS
 
92
 
 
93
#endif /* GOF_DIRECTORY_ASYNC_H */