Disobedience choose 'select all' now only selects tracks (and
[disorder] / disobedience / choose.h
1 /*
2 * This file is part of DisOrder
3 * Copyright (C) 2008 Richard Kettlewell
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
18 * USA
19 */
20 #ifndef CHOOSE_H
21 #define CHOOSE_H
22
23 /** @brief Extra data at each node */
24 struct choosedata {
25 /** @brief Node type */
26 int type;
27
28 /** @brief Full track or directory name */
29 gchar *track;
30
31 /** @brief Sort key */
32 gchar *sort;
33 };
34
35 /** @brief Track name column number */
36 #define NAME_COLUMN 0
37
38 /** @brief Hidden column number */
39 #define CHOOSEDATA_COLUMN 1
40
41 /** @brief @ref choosedata node is a file */
42 #define CHOOSE_FILE 0
43
44 /** @brief @ref choosedata node is a directory */
45 #define CHOOSE_DIRECTORY 1
46
47 extern GtkTreeStore *choose_store;
48 extern GtkWidget *choose_view;
49 extern GtkTreeSelection *choose_selection;
50 extern const struct tabtype choose_tabtype;
51
52 struct choosedata *choose_iter_to_data(GtkTreeIter *iter);
53 struct choosedata *choose_path_to_data(GtkTreePath *path);
54 gboolean choose_button_event(GtkWidget *widget,
55 GdkEventButton *event,
56 gpointer user_data);
57
58 #endif /* CHOOSE_H */
59
60 /*
61 Local Variables:
62 c-basic-offset:2
63 comment-column:40
64 fill-column:79
65 indent-tabs-mode:nil
66 End:
67 */