2000-08-08 12:28:50 +00:00
|
|
|
/* help_dlg.c
|
|
|
|
*
|
2003-11-27 23:25:55 +00:00
|
|
|
* $Id: help_dlg.c,v 1.38 2003/11/27 23:25:55 ulfl Exp $
|
2000-08-08 12:28:50 +00:00
|
|
|
*
|
2003-01-26 19:35:31 +00:00
|
|
|
* Laurent Deniel <laurent.deniel@free.fr>
|
2000-08-08 12:28:50 +00:00
|
|
|
*
|
|
|
|
* Ethereal - Network traffic analyzer
|
On Windows, use the directory in which the binary resides as the
directory in which global data files are stored. If an installed binary
is being run, that's the correct directory for them; if a build-tree
binary is being run, the "manuf" file will be there, and you can put
other data files there as well, if necessary.
Do the same with plugins, except that, if there's no
"plugins\\{version}" subdirectory of that directory, fall back on the
default installation directory, so you at least have a place where you
can put plugins for use by build-tree binaries. (Should we, instead,
have the Windows build procedure create a subdirectory of the "plugins"
source directory, with the plugin version number as its name, and copy
the plugins there, so you'd use the build-tree plugin binaries?)
Move "test_for_directory()" out of "util.c" and into
"epan/filesystem.c", with the other file system access portability
wrappers and convenience routines. Fix "util.h" not to declare it - or
other routines moved to "epan/filesystem.c" a while ago.
svn path=/trunk/; revision=3858
2001-08-21 06:39:18 +00:00
|
|
|
* By Gerald Combs <gerald@ethereal.com>
|
2000-08-08 12:28:50 +00:00
|
|
|
* Copyright 2000 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.
|
2002-08-28 21:04:11 +00:00
|
|
|
*
|
2000-08-08 12:28:50 +00:00
|
|
|
* 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.
|
2002-08-28 21:04:11 +00:00
|
|
|
*
|
2000-08-08 12:28:50 +00:00
|
|
|
* 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.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
# include "config.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <gtk/gtk.h>
|
2002-09-06 21:27:57 +00:00
|
|
|
#include <string.h>
|
2003-11-27 00:22:12 +00:00
|
|
|
#include <stdio.h>
|
2000-08-08 12:28:50 +00:00
|
|
|
|
|
|
|
#include "help_dlg.h"
|
|
|
|
#include "prefs.h"
|
|
|
|
#include "gtkglobals.h"
|
|
|
|
#include "ui_util.h"
|
2002-11-11 15:39:06 +00:00
|
|
|
#include "compat_macros.h"
|
2003-11-27 23:25:55 +00:00
|
|
|
#include "dlg_utils.h"
|
2000-08-08 12:28:50 +00:00
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
|
|
|
|
/* include texts from converted ascii ".txt" files */
|
|
|
|
#include "../help/overview.h"
|
|
|
|
#include "../help/capture_filters.h"
|
|
|
|
#include "../help/display_filters.h"
|
|
|
|
#include "../help/well_known.h"
|
|
|
|
#include "../help/faq.h"
|
|
|
|
|
|
|
|
|
2000-08-08 12:28:50 +00:00
|
|
|
typedef enum {
|
|
|
|
OVERVIEW_HELP,
|
2003-01-29 12:58:48 +00:00
|
|
|
CFILTER_HELP,
|
2003-11-27 00:22:12 +00:00
|
|
|
DFILTER_HELP,
|
|
|
|
WELL_KNOWN_HELP,
|
2003-01-29 12:58:48 +00:00
|
|
|
FAQ_HELP
|
2000-08-08 12:28:50 +00:00
|
|
|
} help_type_t;
|
|
|
|
|
|
|
|
static void help_close_cb(GtkWidget *w, gpointer data);
|
2000-08-17 08:17:38 +00:00
|
|
|
static void help_destroy_cb(GtkWidget *w, gpointer data);
|
2003-03-03 21:59:42 +00:00
|
|
|
static void insert_text(GtkWidget *w, const char *buffer, int nchars);
|
2000-08-08 12:28:50 +00:00
|
|
|
static void set_help_text(GtkWidget *w, help_type_t type);
|
|
|
|
|
2000-08-17 08:17:38 +00:00
|
|
|
/*
|
|
|
|
* Keep a static pointer to the current "Help" window, if any, so that
|
|
|
|
* if somebody tries to do "Help->Help" while there's already a
|
|
|
|
* "Help" window up, we just pop up the existing one, rather than
|
|
|
|
* creating a new one.
|
2003-01-29 12:58:48 +00:00
|
|
|
*/
|
2000-08-08 12:28:50 +00:00
|
|
|
static GtkWidget *help_w = NULL;
|
|
|
|
|
2000-09-08 10:59:21 +00:00
|
|
|
/*
|
2003-11-27 00:22:12 +00:00
|
|
|
* Keep static pointers to the text widgets as well (for text format changes).
|
2000-09-08 10:59:21 +00:00
|
|
|
*/
|
2003-11-27 00:22:12 +00:00
|
|
|
static GtkWidget *overview_text, *cfilter_text, *dfilter_text;
|
|
|
|
static GtkWidget *well_known_text, *faq_text;
|
2000-09-08 10:59:21 +00:00
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Helper function to show a simple help text page.
|
|
|
|
*/
|
|
|
|
static GtkWidget * help_page(help_type_t page_type, GtkWidget **page_text)
|
2000-08-08 12:28:50 +00:00
|
|
|
{
|
2003-11-27 00:22:12 +00:00
|
|
|
GtkWidget *page_vb, *txt_scrollw;
|
2000-08-08 12:28:50 +00:00
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
page_vb = gtk_vbox_new(FALSE, 0);
|
|
|
|
gtk_container_border_width(GTK_CONTAINER(page_vb), 1);
|
|
|
|
txt_scrollw = scrolled_window_new(NULL, NULL);
|
|
|
|
gtk_box_pack_start(GTK_BOX(page_vb), txt_scrollw, TRUE, TRUE, 0);
|
2002-11-03 17:38:45 +00:00
|
|
|
#if GTK_MAJOR_VERSION < 2
|
2003-11-27 00:22:12 +00:00
|
|
|
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(txt_scrollw),
|
|
|
|
GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
|
|
|
|
*page_text = gtk_text_new(NULL, NULL );
|
|
|
|
gtk_text_set_editable(GTK_TEXT(*page_text), FALSE);
|
|
|
|
gtk_text_set_word_wrap(GTK_TEXT(*page_text), TRUE);
|
|
|
|
gtk_text_set_line_wrap(GTK_TEXT(*page_text), TRUE);
|
2002-11-03 17:38:45 +00:00
|
|
|
#else
|
2003-11-27 00:22:12 +00:00
|
|
|
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(txt_scrollw),
|
|
|
|
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
|
|
|
|
*page_text = gtk_text_view_new();
|
|
|
|
gtk_text_view_set_editable(GTK_TEXT_VIEW(*page_text), FALSE);
|
|
|
|
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(*page_text), GTK_WRAP_WORD);
|
2002-11-03 17:38:45 +00:00
|
|
|
#endif
|
2003-11-27 00:22:12 +00:00
|
|
|
set_help_text(*page_text, page_type);
|
|
|
|
gtk_container_add(GTK_CONTAINER(txt_scrollw), *page_text);
|
|
|
|
gtk_widget_show(txt_scrollw);
|
|
|
|
gtk_widget_show(*page_text);
|
|
|
|
gtk_widget_show(page_vb);
|
|
|
|
|
|
|
|
return page_vb;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void help_cb(GtkWidget *w _U_, gpointer data _U_)
|
|
|
|
{
|
|
|
|
|
|
|
|
GtkWidget *main_vb, *bbox, *help_nb, *close_bt, *label,
|
|
|
|
*overview_vb,
|
|
|
|
*cfilter_vb,
|
|
|
|
*dfilter_vb,
|
|
|
|
*well_known_vb,
|
|
|
|
*faq_vb;
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2000-08-08 12:28:50 +00:00
|
|
|
if (help_w != NULL) {
|
2000-08-17 08:17:38 +00:00
|
|
|
/* There's already a "Help" dialog box; reactivate it. */
|
2000-08-08 12:28:50 +00:00
|
|
|
reactivate_window(help_w);
|
|
|
|
return;
|
|
|
|
}
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2003-11-27 23:25:55 +00:00
|
|
|
help_w = dlg_window_new("Ethereal: Help");
|
2002-11-11 15:39:06 +00:00
|
|
|
SIGNAL_CONNECT(help_w, "destroy", help_destroy_cb, NULL);
|
2003-11-27 00:22:12 +00:00
|
|
|
/* XXX: improve this, e.g. remember the last window size in a file */
|
2002-11-11 15:39:06 +00:00
|
|
|
WIDGET_SET_SIZE(help_w, DEF_WIDTH * 2/3, DEF_HEIGHT * 2/3);
|
2000-08-08 12:28:50 +00:00
|
|
|
gtk_container_border_width(GTK_CONTAINER(help_w), 2);
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2000-08-08 12:28:50 +00:00
|
|
|
/* Container for each row of widgets */
|
|
|
|
main_vb = gtk_vbox_new(FALSE, 1);
|
|
|
|
gtk_container_border_width(GTK_CONTAINER(main_vb), 1);
|
|
|
|
gtk_container_add(GTK_CONTAINER(help_w), main_vb);
|
|
|
|
gtk_widget_show(main_vb);
|
|
|
|
|
|
|
|
/* help topics container */
|
|
|
|
help_nb = gtk_notebook_new();
|
|
|
|
gtk_container_add(GTK_CONTAINER(main_vb), help_nb);
|
|
|
|
|
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
/* Overview panel */
|
|
|
|
overview_vb = help_page(OVERVIEW_HELP, &overview_text);
|
2000-08-08 12:28:50 +00:00
|
|
|
label = gtk_label_new("Overview");
|
|
|
|
gtk_notebook_append_page(GTK_NOTEBOOK(help_nb), overview_vb, label);
|
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
/* capture filter help (this one has no horizontal scrollbar) */
|
|
|
|
cfilter_vb = help_page(CFILTER_HELP, &cfilter_text);
|
|
|
|
label = gtk_label_new("Capture Filters");
|
|
|
|
gtk_notebook_append_page(GTK_NOTEBOOK(help_nb), cfilter_vb, label);
|
2002-11-03 17:38:45 +00:00
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
/* display filter help (this one has no horizontal scrollbar) */
|
|
|
|
dfilter_vb = help_page(DFILTER_HELP, &dfilter_text);
|
2000-08-08 12:28:50 +00:00
|
|
|
label = gtk_label_new("Display Filters");
|
2002-11-03 17:38:45 +00:00
|
|
|
gtk_notebook_append_page(GTK_NOTEBOOK(help_nb), dfilter_vb, label);
|
2000-08-08 12:28:50 +00:00
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
/* well known things help (this one has no horizontal scrollbar) */
|
|
|
|
well_known_vb = help_page(WELL_KNOWN_HELP, &well_known_text);
|
|
|
|
label = gtk_label_new("Well Known");
|
|
|
|
gtk_notebook_append_page(GTK_NOTEBOOK(help_nb), well_known_vb, label);
|
2000-08-08 12:28:50 +00:00
|
|
|
|
2003-03-03 21:59:42 +00:00
|
|
|
/* FAQ help (this one has no horizontal scrollbar) */
|
2003-11-27 00:22:12 +00:00
|
|
|
faq_vb = help_page(FAQ_HELP, &faq_text);
|
2003-03-03 21:59:42 +00:00
|
|
|
label = gtk_label_new("FAQ");
|
|
|
|
gtk_notebook_append_page(GTK_NOTEBOOK(help_nb), faq_vb, label);
|
|
|
|
|
2000-08-08 12:28:50 +00:00
|
|
|
/* XXX add other help panels here ... */
|
|
|
|
|
|
|
|
gtk_widget_show(help_nb);
|
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
/* Buttons (only "Close" for now) */
|
|
|
|
bbox = gtk_hbutton_box_new();
|
|
|
|
/*bbox = gtk_hbox_new(FALSE, 1);*/
|
2000-08-08 12:28:50 +00:00
|
|
|
gtk_box_pack_end(GTK_BOX(main_vb), bbox, FALSE, FALSE, 0);
|
|
|
|
gtk_widget_show(bbox);
|
2002-11-03 17:38:45 +00:00
|
|
|
#if GTK_MAJOR_VERSION < 2
|
2003-11-27 00:22:12 +00:00
|
|
|
close_bt = gtk_button_new_with_label("OK");
|
2002-11-03 17:38:45 +00:00
|
|
|
#else
|
2003-11-27 00:22:12 +00:00
|
|
|
close_bt = gtk_button_new_from_stock(GTK_STOCK_OK);
|
2002-11-03 17:38:45 +00:00
|
|
|
#endif
|
2002-11-11 15:39:06 +00:00
|
|
|
SIGNAL_CONNECT(close_bt, "clicked", help_close_cb, help_w);
|
2000-08-08 12:28:50 +00:00
|
|
|
GTK_WIDGET_SET_FLAGS(close_bt, GTK_CAN_DEFAULT);
|
|
|
|
gtk_container_add(GTK_CONTAINER(bbox), close_bt);
|
|
|
|
gtk_widget_grab_default(close_bt);
|
|
|
|
gtk_widget_show(close_bt);
|
2002-08-28 21:04:11 +00:00
|
|
|
|
2000-08-08 12:28:50 +00:00
|
|
|
gtk_quit_add_destroy(gtk_main_level(), GTK_OBJECT(help_w));
|
2003-11-27 23:25:55 +00:00
|
|
|
|
|
|
|
/* Catch the "key_press_event" signal in the window, so that we can catch
|
|
|
|
the ESC key being pressed and act as if the "Cancel" button had
|
|
|
|
been selected. */
|
|
|
|
dlg_set_cancel(help_w, close_bt);
|
|
|
|
|
2000-08-08 12:28:50 +00:00
|
|
|
gtk_widget_show(help_w);
|
|
|
|
|
|
|
|
} /* help_cb */
|
|
|
|
|
2002-03-05 11:56:00 +00:00
|
|
|
static void help_close_cb(GtkWidget *w _U_, gpointer data)
|
2000-08-08 12:28:50 +00:00
|
|
|
{
|
2000-08-17 08:17:38 +00:00
|
|
|
gtk_widget_destroy(GTK_WIDGET(data));
|
2000-08-08 12:28:50 +00:00
|
|
|
}
|
|
|
|
|
2002-03-05 11:56:00 +00:00
|
|
|
static void help_destroy_cb(GtkWidget *w _U_, gpointer data _U_)
|
2000-08-17 08:17:38 +00:00
|
|
|
{
|
|
|
|
/* Note that we no longer have a Help window. */
|
|
|
|
help_w = NULL;
|
|
|
|
}
|
2000-08-08 12:28:50 +00:00
|
|
|
|
2003-03-03 21:59:42 +00:00
|
|
|
static void insert_text(GtkWidget *w, const char *buffer, int nchars)
|
2000-08-08 12:28:50 +00:00
|
|
|
{
|
2002-11-03 17:38:45 +00:00
|
|
|
#if GTK_MAJOR_VERSION < 2
|
|
|
|
gtk_text_insert(GTK_TEXT(w), m_r_font, NULL, NULL, buffer, nchars);
|
|
|
|
#else
|
|
|
|
GtkTextBuffer *buf= gtk_text_view_get_buffer(GTK_TEXT_VIEW(w));
|
|
|
|
GtkTextIter iter;
|
|
|
|
|
|
|
|
gtk_text_buffer_get_end_iter(buf, &iter);
|
|
|
|
gtk_widget_modify_font(w, m_r_font);
|
|
|
|
if (!g_utf8_validate(buffer, -1, NULL))
|
|
|
|
printf(buffer);
|
|
|
|
gtk_text_buffer_insert(buf, &iter, buffer, nchars);
|
|
|
|
#endif
|
2000-08-08 12:28:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void set_help_text(GtkWidget *w, help_type_t type)
|
|
|
|
{
|
2003-11-27 00:22:12 +00:00
|
|
|
int i;
|
|
|
|
#ifndef HAVE_LIBPCAP
|
|
|
|
char *tmp;
|
2002-11-03 17:38:45 +00:00
|
|
|
#endif
|
2000-08-08 12:28:50 +00:00
|
|
|
|
|
|
|
|
2002-11-03 17:38:45 +00:00
|
|
|
#if GTK_MAJOR_VERSION < 2
|
2000-08-08 12:28:50 +00:00
|
|
|
gtk_text_freeze(GTK_TEXT(w));
|
2002-11-03 17:38:45 +00:00
|
|
|
#endif
|
2000-08-08 12:28:50 +00:00
|
|
|
|
|
|
|
switch(type) {
|
|
|
|
|
|
|
|
case OVERVIEW_HELP :
|
2003-11-27 00:22:12 +00:00
|
|
|
for (i=0; i<OVERVIEW_PARTS; i++) {
|
|
|
|
insert_text(w, overview_part[i], strlen(overview_part[i]));
|
2000-08-08 12:28:50 +00:00
|
|
|
}
|
2003-11-27 00:22:12 +00:00
|
|
|
break;
|
|
|
|
case CFILTER_HELP :
|
|
|
|
#ifndef HAVE_LIBPCAP
|
|
|
|
tmp = "NOTE: packet capturing is not enabled in this version!\n \n";
|
|
|
|
insert_text(w, tmp, strlen(tmp));
|
2002-11-03 17:38:45 +00:00
|
|
|
#endif
|
2003-11-27 00:22:12 +00:00
|
|
|
for (i=0; i<CAPTURE_FILTERS_PARTS; i++) {
|
|
|
|
insert_text(w, capture_filters_part[i], strlen(capture_filters_part[i]));
|
2000-08-08 12:28:50 +00:00
|
|
|
}
|
|
|
|
break;
|
2003-11-27 00:22:12 +00:00
|
|
|
case DFILTER_HELP :
|
|
|
|
for (i=0; i<DISPLAY_FILTERS_PARTS; i++) {
|
|
|
|
insert_text(w, display_filters_part[i], strlen(display_filters_part[i]));
|
2000-08-08 12:28:50 +00:00
|
|
|
}
|
2003-11-27 00:22:12 +00:00
|
|
|
break;
|
|
|
|
case WELL_KNOWN_HELP :
|
|
|
|
for (i=0; i<WELL_KNOWN_PARTS; i++) {
|
|
|
|
insert_text(w, well_known_part[i], strlen(well_known_part[i]));
|
2001-05-12 19:45:37 +00:00
|
|
|
}
|
2000-08-08 12:28:50 +00:00
|
|
|
break;
|
2003-01-29 12:58:48 +00:00
|
|
|
case FAQ_HELP :
|
2003-03-02 17:42:37 +00:00
|
|
|
for (i=0; i<FAQ_PARTS; i++) {
|
2003-03-03 21:59:42 +00:00
|
|
|
insert_text(w, faq_part[i], strlen(faq_part[i]));
|
2003-03-02 17:42:37 +00:00
|
|
|
}
|
2003-01-29 12:58:48 +00:00
|
|
|
break;
|
2000-08-08 12:28:50 +00:00
|
|
|
default :
|
|
|
|
g_assert_not_reached();
|
|
|
|
break;
|
|
|
|
} /* switch(type) */
|
2002-11-03 17:38:45 +00:00
|
|
|
#if GTK_MAJOR_VERSION < 2
|
2000-08-08 12:28:50 +00:00
|
|
|
gtk_text_thaw(GTK_TEXT(w));
|
2002-11-03 17:38:45 +00:00
|
|
|
#endif
|
2000-08-08 12:28:50 +00:00
|
|
|
} /* set_help_text */
|
2000-09-08 10:59:21 +00:00
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
|
2000-09-08 10:59:21 +00:00
|
|
|
static void clear_help_text(GtkWidget *w)
|
|
|
|
{
|
2002-11-03 17:38:45 +00:00
|
|
|
#if GTK_MAJOR_VERSION < 2
|
2000-09-08 10:59:21 +00:00
|
|
|
GtkText *txt = GTK_TEXT(w);
|
|
|
|
|
|
|
|
gtk_text_set_point(txt, 0);
|
2002-08-28 21:04:11 +00:00
|
|
|
/* Keep GTK+ 1.2.3 through 1.2.6 from dumping core - see
|
2000-11-22 04:07:04 +00:00
|
|
|
http://www.ethereal.com/lists/ethereal-dev/199912/msg00312.html and
|
2000-09-08 10:59:21 +00:00
|
|
|
http://www.gnome.org/mailing-lists/archives/gtk-devel-list/1999-October/0051.shtml
|
|
|
|
for more information */
|
|
|
|
gtk_adjustment_set_value(txt->vadj, 0.0);
|
|
|
|
gtk_text_forward_delete(txt, gtk_text_get_length(txt));
|
2002-11-03 17:38:45 +00:00
|
|
|
#else
|
|
|
|
GtkTextBuffer *buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(w));
|
|
|
|
|
|
|
|
gtk_text_buffer_set_text(buf, "", 0);
|
|
|
|
#endif
|
2000-09-08 10:59:21 +00:00
|
|
|
}
|
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
|
2000-09-08 10:59:21 +00:00
|
|
|
/* Redraw all the text widgets, to use a new font. */
|
|
|
|
void help_redraw(void)
|
|
|
|
{
|
|
|
|
if (help_w != NULL) {
|
2002-11-03 17:38:45 +00:00
|
|
|
#if GTK_MAJOR_VERSION < 2
|
2000-09-08 10:59:21 +00:00
|
|
|
gtk_text_freeze(GTK_TEXT(overview_text));
|
2002-11-03 17:38:45 +00:00
|
|
|
#endif
|
2000-09-08 10:59:21 +00:00
|
|
|
clear_help_text(overview_text);
|
|
|
|
set_help_text(overview_text, OVERVIEW_HELP);
|
2002-11-03 17:38:45 +00:00
|
|
|
#if GTK_MAJOR_VERSION < 2
|
2000-09-08 10:59:21 +00:00
|
|
|
gtk_text_thaw(GTK_TEXT(overview_text));
|
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
gtk_text_freeze(GTK_TEXT(cfilter_text));
|
2002-11-03 17:38:45 +00:00
|
|
|
#endif
|
2003-11-27 00:22:12 +00:00
|
|
|
clear_help_text(cfilter_text);
|
|
|
|
set_help_text(cfilter_text, CFILTER_HELP);
|
2002-11-03 17:38:45 +00:00
|
|
|
#if GTK_MAJOR_VERSION < 2
|
2003-11-27 00:22:12 +00:00
|
|
|
gtk_text_thaw(GTK_TEXT(cfilter_text));
|
2000-09-08 10:59:21 +00:00
|
|
|
|
|
|
|
gtk_text_freeze(GTK_TEXT(dfilter_text));
|
2002-11-03 17:38:45 +00:00
|
|
|
#endif
|
2000-09-08 10:59:21 +00:00
|
|
|
clear_help_text(dfilter_text);
|
|
|
|
set_help_text(dfilter_text, DFILTER_HELP);
|
2002-11-03 17:38:45 +00:00
|
|
|
#if GTK_MAJOR_VERSION < 2
|
2000-09-08 10:59:21 +00:00
|
|
|
gtk_text_thaw(GTK_TEXT(dfilter_text));
|
|
|
|
|
2003-11-27 00:22:12 +00:00
|
|
|
gtk_text_freeze(GTK_TEXT(well_known_text));
|
2002-11-03 17:38:45 +00:00
|
|
|
#endif
|
2003-11-27 00:22:12 +00:00
|
|
|
clear_help_text(well_known_text);
|
|
|
|
set_help_text(well_known_text, WELL_KNOWN_HELP);
|
2002-11-03 17:38:45 +00:00
|
|
|
#if GTK_MAJOR_VERSION < 2
|
2003-11-27 00:22:12 +00:00
|
|
|
gtk_text_thaw(GTK_TEXT(well_known_text));
|
2003-03-03 21:59:42 +00:00
|
|
|
|
|
|
|
gtk_text_freeze(GTK_TEXT(faq_text));
|
|
|
|
#endif
|
|
|
|
clear_help_text(faq_text);
|
|
|
|
set_help_text(faq_text, FAQ_HELP);
|
|
|
|
#if GTK_MAJOR_VERSION < 2
|
|
|
|
gtk_text_thaw(GTK_TEXT(faq_text));
|
2002-11-03 17:38:45 +00:00
|
|
|
#endif
|
2000-09-08 10:59:21 +00:00
|
|
|
}
|
|
|
|
}
|