chiark / gitweb /
Display track length and playing state in Disobedience choose tab. We
[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   CHOOSEDATA_COLUMN
41 };
42
43 /** @brief @ref choosedata node is a file */
44 #define CHOOSE_FILE 0
45
46 /** @brief @ref choosedata node is a directory */
47 #define CHOOSE_DIRECTORY 1
48
49 extern GtkTreeStore *choose_store;
50 extern GtkWidget *choose_view;
51 extern GtkTreeSelection *choose_selection;
52 extern const struct tabtype choose_tabtype;
53
54 struct choosedata *choose_iter_to_data(GtkTreeIter *iter);
55 struct choosedata *choose_path_to_data(GtkTreePath *path);
56 gboolean choose_button_event(GtkWidget *widget,
57                              GdkEventButton *event,
58                              gpointer user_data);
59
60 #endif /* CHOOSE_H */
61
62 /*
63 Local Variables:
64 c-basic-offset:2
65 comment-column:40
66 fill-column:79
67 indent-tabs-mode:nil
68 End:
69 */