File: fma-schemes-list.h

package info (click to toggle)
filemanager-actions 3.4-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 27,428 kB
  • sloc: ansic: 48,857; xml: 17,767; sh: 4,662; makefile: 1,375; lisp: 9
file content (92 lines) | stat: -rw-r--r-- 3,619 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/*
 * FileManager-Actions
 * A file-manager extension which offers configurable context menu actions.
 *
 * Copyright (C) 2005 The GNOME Foundation
 * Copyright (C) 2006-2008 Frederic Ruaudel and others (see AUTHORS)
 * Copyright (C) 2009-2015 Pierre Wieser and others (see AUTHORS)
 *
 * FileManager-Actions is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
 *
 * FileManager-Actions is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with FileManager-Actions; see the file COPYING. If not, see
 * <http://www.gnu.org/licenses/>.
 *
 * Authors:
 *   Frederic Ruaudel <grumz@grumz.net>
 *   Rodrigo Moya <rodrigo@gnome-db.org>
 *   Pierre Wieser <pwieser@trychlos.org>
 *   ... and many others (see AUTHORS)
 */

#ifndef __UI_FMA_SCHEMES_LIST_H__
#define __UI_FMA_SCHEMES_LIST_H__

/**
 * SECTION: fma_schemes_list
 * @short_description: Schemes list view management.
 * @include: ui/fma-schemes-list.h
 *
 * This set of functions manages the schemes list view.
 *
 * Up to 2.30.x, two modes were possible:
 * - for action: the full list is displayed, and a check box is made active
 *   when the scheme is actually selected in the profile.
 *   Adding a scheme insert an editable new row (without the description).
 *   Inline edition of the scheme is possible.
 *   Removing a scheme is possible.
 * - in preferences, when editing the default list of schemes
 *   the 'active' checkbox is not displayed
 *   the two columns 'scheme' and 'description' are editable inline
 *   adding/removing a scheme is possible
 *
 * Starting with 2.31.x series (future 3.0), the scheme conditions of a
 * #FMAIContext are handled by fma-match-list.{c,h} set of function.
 * This set of functions is only used:
 *  a) to edit the preferences
 *     add/remove scheme
 *     edit keyword and description
 *     In this mode, the widget is embedded in the Preferences notebook.
 *     Modifications are saved when user clicks the global OK button.
 *  b) to select a scheme from the default list
 *     schemes already used by the current #FMAIContext are marked as used
 *     edition of the current list is not available
 *     In this mode, widget is embedded in a dedicated #FMAAddSchemeDialog
 *     dialog box
 *     OK returns the current selection (only available if current scheme
 *     is not already used)
 *     Cancel returns NULL.
 */

#include <gtk/gtk.h>

#include "base-window.h"

G_BEGIN_DECLS

typedef void ( *pf_new_selection_cb )( const gchar *, gboolean, void * );

enum {
	SCHEMES_LIST_FOR_PREFERENCES = 1,
	SCHEMES_LIST_FOR_ADD_FROM_DEFAULTS
};

void    fma_schemes_list_create_model      ( GtkTreeView *treeview, guint mode );
void    fma_schemes_list_init_view         ( GtkTreeView *treeview, BaseWindow *window, pf_new_selection_cb pf, void *user_data );
void    fma_schemes_list_setup_values      ( BaseWindow *window, GSList *schemes );
void    fma_schemes_list_show_all          ( BaseWindow *window );
gchar  *fma_schemes_list_get_current_scheme( BaseWindow *window );
void    fma_schemes_list_save_defaults     ( BaseWindow *window );
void    fma_schemes_list_dispose           ( BaseWindow *window );

G_END_DECLS

#endif /* __UI_FMA_SCHEMES_LIST_H__ */