wireshark/ui/qt/packet_list.h
Gerald Combs ae7ee61e84 Rename the "saved_val" preference element to "stashed_val" in order to
more clearly indicate that it's a copy of a preference value rather than
something we've saved in the preferences file. Update
prefs_pref_to_str() to handle default, stashed, and current prefs.

Create ui/preference_utils.[ch] and move some common routines there. Use
prefs_pref_type_name() in the GTK+ preferences dialog.

Make the "OK" button in the Qt preferences dialog work. We simply write
the prefs and redissect on "OK" and do nothing on "Cancel". This is
intentionally different from the Apply/OK/Cancel behavior in the GTK+
version.

Add a general "emitAppSignal" method to wsApp and use it for packet
dissection and preference changes.

Suggest that we might want to create a WsString class to make conversion
between QStrings, gchar *s, and GStrings easier.

svn path=/trunk/; revision=47139
2013-01-18 00:50:14 +00:00

105 lines
2.9 KiB
C++

/* packet_list.h
*
* $Id$
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef PACKET_LIST_H
#define PACKET_LIST_H
#include "packet_list_model.h"
#include "proto_tree.h"
#include "byte_view_tab.h"
#include <QTreeView>
#include <QTreeWidget>
#include <QMenu>
// It might make more sense to subclass QTableView here.
class PacketList : public QTreeView
{
Q_OBJECT
public:
explicit PacketList(QWidget *parent = 0);
PacketListModel *packetListModel() const;
void setProtoTree(ProtoTree *proto_tree);
void setByteViewTab(ByteViewTab *byteViewTab);
void updateAll();
void clear();
void writeRecent(FILE *rf);
bool contextMenuActive();
QString &getFilterFromRowAndColumn();
QString packetComment();
void setPacketComment(QString new_comment);
QString allPacketComments();
protected:
void showEvent (QShowEvent *event);
void selectionChanged (const QItemSelection & selected, const QItemSelection & deselected);
void contextMenuEvent(QContextMenuEvent *event);
private:
PacketListModel *packet_list_model_;
ProtoTree *proto_tree_;
ByteViewTab *byte_view_tab_;
capture_file *cap_file_;
QMenu ctx_menu_;
QList<QMenu *> submenus_;
QList<QAction *> filter_actions_;
int ctx_column_;
void markFramesReady();
void setFrameMark(gboolean set, frame_data *fdata);
void setFrameIgnore(gboolean set, frame_data *fdata);
void setFrameReftime(gboolean set, frame_data *fdata);
signals:
void packetDissectionChanged();
public slots:
void setCaptureFile(capture_file *cf);
void goNextPacket();
void goPreviousPacket();
void goFirstPacket();
void goLastPacket();
void goToPacket(int packet);
void markFrame();
void markAllDisplayedFrames(bool set);
void ignoreFrame();
void ignoreAllDisplayedFrames(bool set);
void setTimeReference();
void unsetAllTimeReferences();
};
#endif // PACKET_LIST_H
/*
* Editor modelines
*
* Local Variables:
* c-basic-offset: 4
* tab-width: 8
* indent-tabs-mode: nil
* End:
*
* ex: set shiftwidth=4 tabstop=8 expandtab:
* :indentSize=4:tabSize=8:noTabs=true:
*/