annotate src/view_file.c @ 572:4dee80352786

Prepare switch to ViewFile (unused yet).
author zas_
date Sun, 04 May 2008 11:47:36 +0000
parents ebb2c2b1454d
children 2996f1bbc305
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
554
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
1 /*
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
2 * Geeqie
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
3 * Copyright (C) 2008 The Geeqie Team
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
4 *
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
5 * Author: Laurent Monin
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
6 *
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
7 * This software is released under the GNU General Public License (GNU GPL).
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
8 * Please read the included file COPYING for more information.
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
9 * This software comes with no warranty of any kind, use at your own risk!
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
10 */
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
11
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
12 #include "main.h"
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
13 #include "view_file.h"
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
14
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
15 #include "debug.h"
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
16 #include "view_file_list.h"
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
17 #include "view_file_icon.h"
2da72a136070 Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
diff changeset
18
560
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
19
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
20 void vf_thumb_set(ViewFile *vf, gint enable);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
21 void vf_marks_set(ViewFile *vf, gint enable);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
22 void vf_sort_set(ViewFile *vf, SortType type, gint ascend);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
23
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
24 FileData *vf_index_get_data(ViewFile *vf, gint row);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
25 gchar *vf_index_get_path(ViewFile *vf, gint row);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
26 gint vf_index_by_path(ViewFile *vf, const gchar *path);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
27 gint vf_index_by_fd(ViewFile *vf, FileData *in_fd);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
28 gint vf_count(ViewFile *vf, gint64 *bytes);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
29 GList *vf_get_list(ViewFile *vf);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
30
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
31 gint vf_index_is_selected(ViewFile *vf, gint row);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
32 gint vf_selection_count(ViewFile *vf, gint64 *bytes);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
33 GList *vf_selection_get_list(ViewFile *vf);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
34 GList *vf_selection_get_list_by_index(ViewFile *vf);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
35
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
36 void vf_select_all(ViewFile *vf);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
37 void vf_select_none(ViewFile *vf);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
38 void vf_select_by_path(ViewFile *vf, const gchar *path);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
39 void vf_select_by_fd(ViewFile *vf, FileData *fd);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
40
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
41 void vf_mark_to_selection(ViewFile *vf, gint mark, MarkToSelectionMode mode);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
42 void vf_selection_to_mark(ViewFile *vf, gint mark, SelectionToMarkMode mode);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
43
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
44 void vf_select_marked(ViewFile *vf, gint mark);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
45 void vf_mark_selected(ViewFile *vf, gint mark, gint value);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
46
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
47 gint vf_maint_renamed(ViewFile *vf, FileData *fd);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
48 gint vf_maint_removed(ViewFile *vf, FileData *fd, GList *ignore_list);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
49 gint vf_maint_moved(ViewFile *vf, FileData *fd, GList *ignore_list);
ebb2c2b1454d Add function prototypes (yet unused).
zas_
parents: 554
diff changeset
50
572
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
51
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
52 static gint vf_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
53 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
54 gint ret = FALSE;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
55
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
56 return ret;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
57 }
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
58
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
59 static gint vf_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
60 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
61 gint ret = FALSE;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
62
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
63 return ret;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
64 }
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
65
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
66 static gint vf_release_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
67 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
68 gint ret = FALSE;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
69
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
70 return ret;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
71 }
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
72
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
73 static void vf_dnd_init(ViewFile *vf)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
74 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
75 }
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
76
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
77 gint vf_refresh(ViewFile *vf)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
78 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
79 gint ret = TRUE;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
80
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
81 return ret;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
82 }
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
83
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
84 gint vf_set_path(ViewFile *vf, const gchar *path)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
85 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
86 return FALSE;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
87 }
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
88
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
89 static void vf_destroy_cb(GtkWidget *widget, gpointer data)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
90 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
91 ViewFile *vf = data;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
92
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
93 if (vf->popup)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
94 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
95 g_signal_handlers_disconnect_matched(G_OBJECT(vf->popup), G_SIGNAL_MATCH_DATA,
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
96 0, 0, 0, NULL, vf);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
97 gtk_widget_destroy(vf->popup);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
98 }
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
99
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
100 g_free(vf->path);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
101 g_free(vf);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
102 }
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
103
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
104 ViewFile *vf_new(FileViewType type, const gchar *path)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
105 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
106 ViewFile *vf;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
107
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
108 vf = g_new0(ViewFile, 1);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
109
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
110 vf->path = NULL;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
111 vf->list = NULL;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
112
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
113 vf->sort_method = SORT_NAME;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
114 vf->sort_ascend = TRUE;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
115
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
116 vf->thumbs_running = FALSE;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
117 vf->thumbs_count = 0;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
118 vf->thumbs_loader = NULL;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
119 vf->thumbs_filedata = NULL;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
120
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
121 vf->popup = NULL;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
122
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
123 vf->widget = gtk_scrolled_window_new(NULL, NULL);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
124 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(vf->widget), GTK_SHADOW_IN);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
125 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(vf->widget),
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
126 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
127
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
128 vf->listview = NULL; /* FIXME */
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
129
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
130 g_signal_connect(G_OBJECT(vf->widget), "destroy",
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
131 G_CALLBACK(vf_destroy_cb), vf);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
132
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
133 g_signal_connect(G_OBJECT(vf->listview), "key_press_event",
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
134 G_CALLBACK(vf_press_key_cb), vf);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
135 g_signal_connect(G_OBJECT(vf->listview), "button_press_event",
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
136 G_CALLBACK(vf_press_cb), vf);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
137 g_signal_connect(G_OBJECT(vf->listview), "button_release_event",
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
138 G_CALLBACK(vf_release_cb), vf);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
139
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
140 gtk_container_add(GTK_CONTAINER(vf->widget), vf->listview);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
141 gtk_widget_show(vf->listview);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
142
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
143 vf_dnd_init(vf);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
144
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
145 if (path) vf_set_path(vf, path);
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
146
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
147 return vf;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
148 }
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
149
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
150 void vf_set_status_func(ViewFile *vf, void (*func)(ViewFile *vf, gpointer data), gpointer data)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
151 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
152 vf->func_status = func;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
153 vf->data_status = data;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
154 }
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
155
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
156 void vf_set_thumb_status_func(ViewFile *vf, void (*func)(ViewFile *vf, gdouble val, const gchar *text, gpointer data), gpointer data)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
157 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
158 vf->func_thumb_status = func;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
159 vf->data_thumb_status = data;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
160 }
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
161
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
162 void vf_set_layout(ViewFile *vf, LayoutWindow *layout)
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
163 {
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
164 vf->layout = layout;
4dee80352786 Prepare switch to ViewFile (unused yet).
zas_
parents: 560
diff changeset
165 }