![Guy Harris](/assets/img/avatar_default.png)
the logic, making it easier to get it right (fewer interactions between components of the dialog - the file type doesn't affect whether we can save some but not all packets). It also means we don't offer a file type for saving, only to take it away if you choose anything other than saving all packets. If the capture file is a temporary file from a capture done in the current Ethereal session, it's libpcap format, which we can write to, so you would be able to save it. If it's a saved file we read in, saving the file in its entirety in its own format is just copying the file, and it's not clear supporting that adds enough useful functionality to justify the extra complication. Fix "range_update_dynamics()" to update all the rows of the range button/count table properly (make the button active iff there's a non-zero count in the currently-selected column, make a count active iff the column is selected), to select the "Captured" column if the count of displayed packets goes to zero, and to select the "Save all packets" row if the count of packets in the currently-selected row and column goes to zero. (XXX - we should perhaps do that with the "user-defined range" counts as well, which would involve updating the counts on every change to the range field.) svn path=/trunk/; revision=17251
69 lines
1.9 KiB
C
69 lines
1.9 KiB
C
/* range_utils.h
|
|
* Declarations of utilities to with range_utils.c (packet range dialog)
|
|
*
|
|
* $Id$
|
|
*
|
|
* Ulf Lamping <ulf.lamping@web.de>
|
|
*
|
|
* 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 __RANGE_UTILS_H__
|
|
#define __RANGE_UTILS_H__
|
|
|
|
/** @file
|
|
* Packet range widget used for example in the "Save" and "Print" dialogs.
|
|
*/
|
|
|
|
/** Check the validity of a packet_range_t, and put up an alert box if
|
|
** it's not valid.
|
|
*
|
|
* @param range the range to check
|
|
* @return a Boolean that's TRUE if it's valid and FALSE if it isn't
|
|
*/
|
|
extern gboolean range_check_validity(packet_range_t *range);
|
|
|
|
#if GTK_MAJOR_VERSION < 2
|
|
/** Create a new range widget.
|
|
*
|
|
* @param range the range to set
|
|
* @param accel_group accelerator group (GTK1 only)
|
|
* @return the new range widget
|
|
*/
|
|
#else
|
|
/** Create a new range widget.
|
|
*
|
|
* @param range the range to set
|
|
* @return the new range widget
|
|
*/
|
|
#endif
|
|
extern GtkWidget *range_new(packet_range_t *range
|
|
#if GTK_MAJOR_VERSION < 2
|
|
, GtkAccelGroup *accel_group
|
|
#endif
|
|
);
|
|
|
|
/* Update all "dynamic" range things.
|
|
*
|
|
* @param data range widget
|
|
*/
|
|
extern void range_update_dynamics(gpointer data);
|
|
|
|
#endif
|