aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/file_dlg.h
blob: 9ad1511242e2f24b02200d048f18fc78b25ea0d1 (plain)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/* file_dlg.h
 * Definitions for dialog boxes for handling files
 *
 * $Id$
 *
 * Ethereal - Network traffic analyzer
 * By Gerald Combs <gerald@ethereal.com>
 * Copyright 1998 Gerald Combs
 *
 * This program 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.
 *
 * This program 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 this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

#ifndef __FILE_DLG_H__
#define __FILE_DLG_H__

/** @file
 *  "Open" / "Close" / "Save" / "Save As" / etc dialog boxes.
 *  @ingroup dialog_group
 */

/** the action to take, after save has been done */
typedef enum {
    after_save_no_action,           /**< no action to take */
    after_save_close_file,          /**< close the file */
    after_save_open_dialog,         /**< open the file open dialog */
    after_save_open_recent_file,    /**< open the specified recent file */
    after_save_open_dnd_file,       /**< open the specified file from drag and drop */
    after_save_merge_dialog,        /**< open the file merge dialog */
    after_save_capture_dialog,      /**< open the capture dialog */
    after_save_exit                 /**< exit program */
} action_after_save_e;

/** Open the "Save As" dialog box.
 *
 * @param action_after_save the action to take, when save completed
 * @param action_after_save_data data for action_after_save
 */
void file_save_as_cmd(action_after_save_e action_after_save, gpointer action_after_save_data);

/** Destroy the save as dialog.
 */
void file_save_as_destroy(void);

/** User requested the "Open" dialog box.
 *
 * @param widget parent widget
 * @param data unused
 */
void file_open_cmd_cb(GtkWidget *widget, gpointer data);

/** User requested the "Merge" dialog box.
 *
 * @param widget parent widget
 * @param data unused
 */
void file_merge_cmd_cb(GtkWidget *widget, gpointer data);

/** User requested the "Save" dialog box.
 *
 * @param widget parent widget
 * @param data unused
 */
void file_save_cmd_cb(GtkWidget *widget, gpointer data);

/** User requested the "Save As" dialog box.
 *
 * @param widget parent widget
 * @param data unused
 */
void file_save_as_cmd_cb(GtkWidget *widget, gpointer data);

/** User requested "Close".
 *
 * @param widget parent widget
 * @param data unused
 */
void file_close_cmd_cb(GtkWidget *widget, gpointer data);

/** User requested "Reload".
 *
 * @param widget parent widget
 * @param data unused
 */
void file_reload_cmd_cb(GtkWidget *widget, gpointer data);

/** User requested "Import". Currently only called from the color dialog.
 *
 * @param widget parent widget
 * @param data unused
 */
void file_color_import_cmd_cb(GtkWidget *widget, gpointer data);

/** User requested "Export". Currently only called from the color dialog.
 *
 * @param widget parent widget
 * @param data unused
 */
void file_color_export_cmd_cb(GtkWidget *widget, gpointer data);

/*
 * Set the "Save only marked packets" toggle button as appropriate for
 * the current output file type and count of marked packets.
 * Called when the "Save As..." dialog box is created and when either
 * the file type or the marked count changes.
 */
void file_save_update_dynamics(void);

#endif /* file_dlg.h */