Playing checkbox in Disobedience choose tab is now only visible for
[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 Column numbers */
36 enum {
37 STATE_COLUMN,
38 NAME_COLUMN,
39 LENGTH_COLUMN,
40 ISFILE_COLUMN,
41 CHOOSEDATA_COLUMN
42 };
43
44 /** @brief @ref choosedata node is a file */
45 #define CHOOSE_FILE 0
46
47 /** @brief @ref choosedata node is a directory */
48 #define CHOOSE_DIRECTORY 1
49
50 extern GtkTreeStore *choose_store;
51 extern GtkWidget *choose_view;
52 extern GtkTreeSelection *choose_selection;
53 extern const struct tabtype choose_tabtype;
54
55 struct choosedata *choose_iter_to_data(GtkTreeIter *iter);
56 struct choosedata *choose_path_to_data(GtkTreePath *path);
57 gboolean choose_button_event(GtkWidget *widget,
58 GdkEventButton *event,
59 gpointer user_data);
60 void choose_play_completed(void attribute((unused)) *v,
61 const char *error);
62
63 #endif /* CHOOSE_H */
64
65 /*
66 Local Variables:
67 c-basic-offset:2
68 comment-column:40
69 fill-column:79
70 indent-tabs-mode:nil
71 End:
72 */