summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--file.c2
-rw-r--r--file.h1
-rw-r--r--fileset.h3
-rw-r--r--ui/gtk/fileset_dlg.c6
-rw-r--r--ui/gtk/fileset_dlg.h6
-rw-r--r--ui/gtk/main.c5
-rw-r--r--ui/gtk/main_statusbar.c2
7 files changed, 18 insertions, 7 deletions
diff --git a/file.c b/file.c
index ced94b7d0b..c162d1f9c3 100644
--- a/file.c
+++ b/file.c
@@ -340,7 +340,7 @@ cf_open(capture_file *cf, const char *fname, gboolean is_tempfile, int *err)
cf_timestamp_auto_precision(cf);
/* XXX needed ? */
packet_list_queue_draw();
- fileset_file_opened(fname);
+ cf_callback_invoke(cf_cb_file_opened, cf);
if (cf->cd_t == WTAP_FILE_BER) {
/* tell the BER dissector the file name */
diff --git a/file.h b/file.h
index 4e8c3ef7e4..912f71dfbc 100644
--- a/file.h
+++ b/file.h
@@ -66,6 +66,7 @@ typedef enum {
} cf_print_status_t;
typedef enum {
+ cf_cb_file_opened,
cf_cb_file_closing,
cf_cb_file_closed,
cf_cb_file_read_started,
diff --git a/fileset.h b/fileset.h
index f3e1093e8a..be4862664f 100644
--- a/fileset.h
+++ b/fileset.h
@@ -61,8 +61,6 @@ extern fileset_entry *fileset_get_previous(void);
/* this file is a part of the current file set */
extern void fileset_dlg_add_file(fileset_entry *entry);
-extern void fileset_file_opened(const char *fname);
-
extern void fileset_file_closed(void);
extern void fileset_update_dlg(void);
@@ -74,4 +72,3 @@ extern void fileset_update_file(const char *path);
#endif /* __cplusplus */
#endif /* __FILESET_H__ */
-
diff --git a/ui/gtk/fileset_dlg.c b/ui/gtk/fileset_dlg.c
index 97b7ce9550..cbe95c88b0 100644
--- a/ui/gtk/fileset_dlg.c
+++ b/ui/gtk/fileset_dlg.c
@@ -32,6 +32,7 @@
#include <gtk/gtk.h>
+#include "file.h"
#include <epan/filesystem.h>
#include "ui/simple_dialog.h"
@@ -364,8 +365,8 @@ fileset_previous_cb(GtkWidget *w _U_, gpointer d _U_)
/* a new capture file was opened, browse the dir and look for files matching the given file set */
void
-fileset_file_opened(const char *fname) {
- fileset_add_dir(fname);
+fileset_file_opened(const capture_file *cf) {
+ fileset_add_dir(cf->filename);
if(fs_w) {
window_present(fs_w);
}
@@ -396,4 +397,3 @@ fileset_file_closed(void)
fileset_get_previous() != NULL,
fileset_get_next() != NULL );
}
-
diff --git a/ui/gtk/fileset_dlg.h b/ui/gtk/fileset_dlg.h
index 0da6a66ec9..3d86361eaf 100644
--- a/ui/gtk/fileset_dlg.h
+++ b/ui/gtk/fileset_dlg.h
@@ -30,6 +30,12 @@
* @ingroup dialog_group
*/
+/** Enable file set menu items
+ *
+ * @param cf Capture file struct
+ */
+extern void fileset_file_opened(const capture_file *cf);
+
/** Open the fileset dialog.
*
* @param w calling widget (unused)
diff --git a/ui/gtk/main.c b/ui/gtk/main.c
index 5576e98ef6..80fa029e9f 100644
--- a/ui/gtk/main.c
+++ b/ui/gtk/main.c
@@ -140,6 +140,7 @@
#include "ui/gtk/gui_utils.h"
#include "ui/gtk/color_dlg.h"
#include "ui/gtk/filter_dlg.h"
+#include "ui/gtk/fileset_dlg.h"
#include "ui/gtk/uat_gui.h"
#include "ui/gtk/main.h"
#include "ui/gtk/main_80211_toolbar.h"
@@ -1810,6 +1811,10 @@ static void
main_cf_callback(gint event, gpointer data, gpointer user_data _U_)
{
switch(event) {
+ case(cf_cb_file_opened):
+ g_log(LOG_DOMAIN_MAIN, G_LOG_LEVEL_DEBUG, "Callback: Opened");
+ fileset_file_opened(data);
+ break;
case(cf_cb_file_closing):
g_log(LOG_DOMAIN_MAIN, G_LOG_LEVEL_DEBUG, "Callback: Closing");
main_cf_cb_file_closing(data);
diff --git a/ui/gtk/main_statusbar.c b/ui/gtk/main_statusbar.c
index f9141e67e4..f579c0c35e 100644
--- a/ui/gtk/main_statusbar.c
+++ b/ui/gtk/main_statusbar.c
@@ -988,6 +988,8 @@ void
statusbar_cf_callback(gint event, gpointer data, gpointer user_data _U_)
{
switch(event) {
+ case(cf_cb_file_opened):
+ break;
case(cf_cb_file_closing):
statusbar_cf_file_closing_cb(data);
break;