CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
+!IFDEF ETHEREAL_EUG_DIR
+EUG_CFLAGS=-DETHEREAL_EUG_DIR
+!ENDIF
+
.c.obj::
- $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
+ $(CC) $(CVARSDLL) $(CFLAGS) $(EUG_CFLAGS) -Fd.\ -c $<
include Makefile.common
#if GTK_MAJOR_VERSION >= 2 || GTK_MINOR_VERSION >= 3
#include "text_page.h"
#endif
-#include "webbrowser.h"
#include "svnversion.h"
}
-void
-url_onlinepage_cb( GtkWidget *widget _U_, gpointer data _U_, onlinepage_action_e action)
-{
- switch(action) {
- case(ONLINEPAGE_HOME):
- browser_open_url ("http://www.ethereal.com");
- break;
- case(ONLINEPAGE_DOWNLOAD):
- browser_open_url ("http://www.ethereal.com/download.html");
- break;
- case(ONLINEPAGE_USERGUIDE):
- browser_open_url ("http://www.ethereal.com/docs/user-guide");
- break;
- case(ONLINEPAGE_FAQ):
- browser_open_url ("http://www.ethereal.com/faq.html");
- break;
- case(ONLINEPAGE_SAMPLE):
- browser_open_url ("http://www.ethereal.com/sample");
- break;
- default:
- g_assert_not_reached();
- }
-}
-
-void
-url_localpage_cb( GtkWidget *w _U_, gpointer data _U_, localpage_action_e action)
-{
- switch(action) {
- case(LOCALPAGE_MAN_ETHEREAL):
- browser_open_data_file("ethereal.html");
- break;
- case(LOCALPAGE_MAN_ETHEREAL_FILTER):
- browser_open_data_file("ethereal-filter.html");
- break;
- case(LOCALPAGE_MAN_TETHEREAL):
- browser_open_data_file("tethereal.html");
- break;
- case(LOCALPAGE_MAN_MERGECAP):
- browser_open_data_file("mergecap.html");
- break;
- case(LOCALPAGE_MAN_EDITCAP):
- browser_open_data_file("editcap.html");
- break;
- case(LOCALPAGE_MAN_TEXT2PCAP):
- browser_open_data_file("text2pcap.html");
- break;
- default:
- g_assert_not_reached();
- }
-}
-
*/
extern void about_ethereal_cb( GtkWidget *widget, gpointer data);
-typedef enum {
- ONLINEPAGE_HOME,
- ONLINEPAGE_USERGUIDE,
- ONLINEPAGE_FAQ,
- ONLINEPAGE_DOWNLOAD,
- ONLINEPAGE_SAMPLE
-} onlinepage_action_e;
-
-
-/** User requested one of the online pages by menu.
- *
- * @param widget parent widget (unused)
- * @param data unused
- */
-extern void url_onlinepage_cb( GtkWidget *widget, gpointer data, onlinepage_action_e action);
-
-typedef enum {
- LOCALPAGE_MAN_ETHEREAL,
- LOCALPAGE_MAN_ETHEREAL_FILTER,
- LOCALPAGE_MAN_TETHEREAL,
- LOCALPAGE_MAN_MERGECAP,
- LOCALPAGE_MAN_EDITCAP,
- LOCALPAGE_MAN_TEXT2PCAP
-} localpage_action_e;
-
-/** User requested one of the local html pages by menu.
- *
- * @param widget parent widget (unused)
- * @param data unused
- */
-extern void url_localpage_cb( GtkWidget *widget, gpointer data, localpage_action_e action);
#endif /* __ABOUT_DLG_H__ */
help_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_HELP);
gtk_tooltips_set_tip(tooltips, help_bt,
"Show help about capturing.", NULL);
+#ifdef ETHEREAL_EUG_DIR
+ SIGNAL_CONNECT(help_bt, "clicked", url_page_cb, HELP_CAPTURE_OPTIONS_DIALOG);
+#else
SIGNAL_CONNECT(help_bt, "clicked", help_topic_cb, "Capturing");
+#endif
gtk_widget_grab_default(ok_bt);
help_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_HELP);
if (list == CFILTER_LIST) {
+#ifdef ETHEREAL_EUG_DIR
+ SIGNAL_CONNECT(help_bt, "clicked", url_page_cb, HELP_CAPTURE_FILTERS_DIALOG);
+#else
SIGNAL_CONNECT(help_bt, "clicked", help_topic_cb, "Capture Filters");
+#endif
} else {
+#ifdef ETHEREAL_EUG_DIR
+ SIGNAL_CONNECT(help_bt, "clicked", url_page_cb, HELP_DISPLAY_FILTERS_DIALOG);
+#else
SIGNAL_CONNECT(help_bt, "clicked", help_topic_cb, "Display Filters");
+#endif
}
gtk_tooltips_set_tip (tooltips, help_bt, ("Show topic specific help"), NULL);
#include "compat_macros.h"
#include "dlg_utils.h"
#include "simple_dialog.h"
+#include "webbrowser.h"
#define HELP_DIR "help"
}
}
}
+
+
+void
+url_page_action(url_page_action_e action)
+{
+ /* pages online at www.ethereal.com */
+ switch(action) {
+ case(ONLINEPAGE_HOME):
+ browser_open_url ("http://www.ethereal.com");
+ break;
+ case(ONLINEPAGE_DOWNLOAD):
+ browser_open_url ("http://www.ethereal.com/download.html");
+ break;
+ case(ONLINEPAGE_USERGUIDE):
+ browser_open_url ("http://www.ethereal.com/docs/user-guide");
+ break;
+ case(ONLINEPAGE_FAQ):
+ browser_open_url ("http://www.ethereal.com/faq.html");
+ break;
+ case(ONLINEPAGE_SAMPLE_FILES):
+ browser_open_url ("http://www.ethereal.com/sample");
+ break;
+
+ /* local manual pages */
+ case(LOCALPAGE_MAN_ETHEREAL):
+ browser_open_data_file("ethereal.html");
+ break;
+ case(LOCALPAGE_MAN_ETHEREAL_FILTER):
+ browser_open_data_file("ethereal-filter.html");
+ break;
+ case(LOCALPAGE_MAN_TETHEREAL):
+ browser_open_data_file("tethereal.html");
+ break;
+ case(LOCALPAGE_MAN_MERGECAP):
+ browser_open_data_file("mergecap.html");
+ break;
+ case(LOCALPAGE_MAN_EDITCAP):
+ browser_open_data_file("editcap.html");
+ break;
+ case(LOCALPAGE_MAN_TEXT2PCAP):
+ browser_open_data_file("text2pcap.html");
+ break;
+
+#ifdef ETHEREAL_EUG_DIR
+ /* local help pages (User's Guide) */
+ case(HELP_CONTENT):
+ browser_open_data_file("eug_html_chunked/index.html");
+ break;
+ case(HELP_CAPTURE_OPTIONS_DIALOG):
+ browser_open_data_file("eug_html_chunked/ChCapCaptureOptions.html");
+ break;
+ case(HELP_CAPTURE_FILTERS_DIALOG):
+ browser_open_data_file("eug_html_chunked/ChWorkDefineFilterSection.html");
+ break;
+ case(HELP_DISPLAY_FILTERS_DIALOG):
+ browser_open_data_file("eug_html_chunked/ChWorkDefineFilterSection.html");
+ break;
+#endif
+
+ default:
+ g_assert_not_reached();
+ }
+}
+
+
+void
+url_page_cb(GtkWidget *w _U_, url_page_action_e action)
+{
+ url_page_action(action);
+}
+
+
+void
+url_page_menu_cb( GtkWidget *w _U_, gpointer data _U_, url_page_action_e action)
+{
+ url_page_action(action);
+}
+
/** Redraw all the text widgets, to use a new font. */
void help_redraw(void);
+typedef enum {
+ /* pages online at www.ethereal.com */
+ ONLINEPAGE_HOME,
+ ONLINEPAGE_USERGUIDE,
+ ONLINEPAGE_FAQ,
+ ONLINEPAGE_DOWNLOAD,
+ ONLINEPAGE_SAMPLE_FILES,
+
+ /* local manual pages */
+ LOCALPAGE_MAN_ETHEREAL = 100,
+ LOCALPAGE_MAN_ETHEREAL_FILTER,
+ LOCALPAGE_MAN_TETHEREAL,
+ LOCALPAGE_MAN_MERGECAP,
+ LOCALPAGE_MAN_EDITCAP,
+ LOCALPAGE_MAN_TEXT2PCAP,
+
+ /* local help pages (User's Guide) */
+#ifdef ETHEREAL_EUG_DIR
+ HELP_CONTENT = 200,
+ HELP_CAPTURE_OPTIONS_DIALOG,
+ HELP_CAPTURE_FILTERS_DIALOG,
+ HELP_DISPLAY_FILTERS_DIALOG
+#endif
+} url_page_action_e;
+
+
+/** User requested one of the html pages.
+ *
+ * @param action the page to show
+ */
+extern void
+url_page_action(url_page_action_e action);
+
+/** User requested one of the html pages by button click.
+ *
+ * @param widget parent widget (unused)
+ * @param action the page to show
+ */
+extern void
+url_page_cb(GtkWidget *w _U_, url_page_action_e action);
+
+/** User requested one of the html pages by menu.
+ *
+ * @param widget parent widget (unused)
+ * @param data unused
+ * @param action the page to show
+ */
+extern void url_page_menu_cb( GtkWidget *widget, gpointer data, url_page_action_e action);
+
#endif
#include "follow_dlg.h"
#include "font_utils.h"
#include "about_dlg.h"
+#include "help_dlg.h"
#include "decode_as_dlg.h"
ITEM_FACTORY_STOCK_ENTRY("/Help/_Contents", "F1", help_cb, 0, GTK_STOCK_HELP),
ITEM_FACTORY_ENTRY("/Help/_Supported Protocols", NULL, supported_cb, 0, NULL, NULL),
#if (GLIB_MAJOR_VERSION >= 2)
- /* currently, glib1.x can't start a webbrowser, see webbrowser.c for details */
+#ifdef ETHEREAL_EUG_DIR
+ ITEM_FACTORY_ENTRY("/Help/User's Guide", NULL, url_page_menu_cb, HELP_CONTENT, NULL, NULL),
+#endif
ITEM_FACTORY_ENTRY("/Help/Manual Pages", NULL, NULL, 0, "<Branch>", NULL),
- ITEM_FACTORY_ENTRY("/Help/Manual Pages/Ethereal", NULL, url_localpage_cb, LOCALPAGE_MAN_ETHEREAL, NULL, NULL),
- ITEM_FACTORY_ENTRY("/Help/Manual Pages/Ethereal Filter", NULL, url_localpage_cb, LOCALPAGE_MAN_ETHEREAL_FILTER, NULL, NULL),
+ ITEM_FACTORY_ENTRY("/Help/Manual Pages/Ethereal", NULL, url_page_menu_cb, LOCALPAGE_MAN_ETHEREAL, NULL, NULL),
+ ITEM_FACTORY_ENTRY("/Help/Manual Pages/Ethereal Filter", NULL, url_page_menu_cb, LOCALPAGE_MAN_ETHEREAL_FILTER, NULL, NULL),
ITEM_FACTORY_ENTRY("/Help/Manual Pages/<separator>", NULL, NULL, 0, "<Separator>", NULL),
- ITEM_FACTORY_ENTRY("/Help/Manual Pages/Tethereal", NULL, url_localpage_cb, LOCALPAGE_MAN_TETHEREAL, NULL, NULL),
- ITEM_FACTORY_ENTRY("/Help/Manual Pages/Mergecap", NULL, url_localpage_cb, LOCALPAGE_MAN_MERGECAP, NULL, NULL),
- ITEM_FACTORY_ENTRY("/Help/Manual Pages/Editcap", NULL, url_localpage_cb, LOCALPAGE_MAN_EDITCAP, NULL, NULL),
- ITEM_FACTORY_ENTRY("/Help/Manual Pages/Text2pcap", NULL, url_localpage_cb, LOCALPAGE_MAN_TEXT2PCAP, NULL, NULL),
+ ITEM_FACTORY_ENTRY("/Help/Manual Pages/Tethereal", NULL, url_page_menu_cb, LOCALPAGE_MAN_TETHEREAL, NULL, NULL),
+ ITEM_FACTORY_ENTRY("/Help/Manual Pages/Mergecap", NULL, url_page_menu_cb, LOCALPAGE_MAN_MERGECAP, NULL, NULL),
+ ITEM_FACTORY_ENTRY("/Help/Manual Pages/Editcap", NULL, url_page_menu_cb, LOCALPAGE_MAN_EDITCAP, NULL, NULL),
+ ITEM_FACTORY_ENTRY("/Help/Manual Pages/Text2pcap", NULL, url_page_menu_cb, LOCALPAGE_MAN_TEXT2PCAP, NULL, NULL),
ITEM_FACTORY_ENTRY("/Help/Ethereal Online", NULL, NULL, 0, "<Branch>", NULL),
- ITEM_FACTORY_STOCK_ENTRY("/Help/Ethereal Online/Home Page", NULL, url_onlinepage_cb, ONLINEPAGE_HOME, GTK_STOCK_HOME),
- ITEM_FACTORY_ENTRY("/Help/Ethereal Online/User's Guide", NULL, url_onlinepage_cb, ONLINEPAGE_USERGUIDE, NULL, NULL),
- ITEM_FACTORY_ENTRY("/Help/Ethereal Online/FAQ's", NULL, url_onlinepage_cb, ONLINEPAGE_FAQ, NULL, NULL),
- ITEM_FACTORY_ENTRY("/Help/Ethereal Online/Downloads", NULL, url_onlinepage_cb, ONLINEPAGE_DOWNLOAD, NULL, NULL),
- ITEM_FACTORY_ENTRY("/Help/Ethereal Online/Example Files", NULL, url_onlinepage_cb, ONLINEPAGE_SAMPLE, NULL, NULL),
+ ITEM_FACTORY_STOCK_ENTRY("/Help/Ethereal Online/Home Page", NULL, url_page_menu_cb, ONLINEPAGE_HOME, GTK_STOCK_HOME),
+ ITEM_FACTORY_ENTRY("/Help/Ethereal Online/User's Guide", NULL, url_page_menu_cb, ONLINEPAGE_USERGUIDE, NULL, NULL),
+ ITEM_FACTORY_ENTRY("/Help/Ethereal Online/FAQ's", NULL, url_page_menu_cb, ONLINEPAGE_FAQ, NULL, NULL),
+ ITEM_FACTORY_ENTRY("/Help/Ethereal Online/Downloads", NULL, url_page_menu_cb, ONLINEPAGE_DOWNLOAD, NULL, NULL),
+ ITEM_FACTORY_ENTRY("/Help/Ethereal Online/Example Files", NULL, url_page_menu_cb, ONLINEPAGE_SAMPLE_FILES, NULL, NULL),
#endif
ITEM_FACTORY_ENTRY("/Help/<separator>", NULL, NULL, 0, "<Separator>", NULL),
ITEM_FACTORY_ENTRY("/Help/_About Ethereal", NULL, about_ethereal_cb,