Synchronize the selection of interfaces between the main welcome
[obnox/wireshark/wip.git] / gtk / main_welcome.h
index 0b52e8da9e3551def8f4f58463d6dd269597b133..b7da8adff4b479c1cc20b3e038f5a0192c12502b 100644 (file)
 #ifndef __MAIN_WELCOME_H__
 #define __MAIN_WELCOME_H__
 
+enum
+{
+  ICON = 0,
+  IFACE_DESCR,
+  IFACE_NAME,
+  NUMCOLUMNS
+};
 
+typedef struct selected_name_s {
+  gchar *name;
+  gboolean activate;
+} selected_name_t;
 GtkWidget *welcome_new(void);
 
 /* reset the list of recently used files */
-void main_welcome_reset_recent_capture_files();
+void main_welcome_reset_recent_capture_files(void);
 
 /* add a new file to the list of recently used files */
-void main_welcome_add_recent_capture_files(const char *widget_cf_name);
+void main_welcome_add_recent_capture_file(const char *widget_cf_name, GObject *menu_item);
 
 /* reload the list of interfaces */
 void welcome_if_panel_reload(void);
 
+/** Push a status message into the welcome screen header similar to
+ *  statusbar_push_*_msg(). This hides everything under the header.
+ *  If msg is dynamically allocated, it is up to the caller to free
+ *  it. If msg is NULL, the default message will be shown.
+ *
+ * @param msg The message
+ */
+void welcome_header_push_msg(const gchar *msg);
+
+void welcome_header_set_message(gchar *msg);
+
+/** Pop a status message from the welcome screen. If there are no
+ *  messages on the stack, the default message and the main columns
+ *  will be shown.
+ */
+void welcome_header_pop_msg(void);
+
+void select_ifaces(void);
+
+GtkWidget* get_welcome_window(void);
+
+void change_interface_selection(gchar* name, gboolean activate);
 
 #endif /* __MAIN_WELCOME_H__ */