-2001-05-08 [hoa]
+2001-05-09 [hoa]
* src/prefs_matcher.c
finished UI to define matching properties
+ added ok and cancel button
+ * src/prefs_filter.c
+ added ok and cancel button
+ * src/news.c
+ fixed some bug in xhdr parsing
2001-05-08 [alfons]
gchar buf[NNTPBUFSIZE];
gchar *p;
gint num;
+ gchar * tmp;
p = strchr(xover_str, ' ');
if (!p)
if (info->msgnum != num)
return NULL;
- return g_strdup(p);
+ tmp = strchr(p, '\r');
+ if (!tmp) tmp = strchr(p, '\n');
+
+ if (tmp)
+ return g_strndup(p, tmp - p);
+ else
+ return g_strdup(p);
}
static GSList *news_delete_old_article(GSList *alist, gint first)
static struct Filter {
GtkWidget *window;
- GtkWidget *close_btn;
+ GtkWidget *ok_btn;
GtkWidget *hdr_combo1;
GtkWidget *hdr_combo2;
static void prefs_filter_key_pressed (GtkWidget *widget,
GdkEventKey *event,
gpointer data);
-static void prefs_filter_close (void);
+static void prefs_filter_cancel (void);
+static void prefs_filter_ok (void);
void prefs_filter_open(void)
{
}
manage_window_set_transient(GTK_WINDOW(filter.window));
- gtk_widget_grab_focus(filter.close_btn);
+ gtk_widget_grab_focus(filter.ok_btn);
prefs_filter_set_dialog();
{
GtkWidget *window;
GtkWidget *vbox;
- GtkWidget *close_btn;
+ GtkWidget *ok_btn;
+ GtkWidget *cancel_btn;
GtkWidget *confirm_area;
GtkWidget *vbox1;
gtk_widget_show (vbox);
gtk_container_add (GTK_CONTAINER (window), vbox);
+ gtkut_button_set_create(&confirm_area, &ok_btn, _("OK"),
+ &cancel_btn, _("Cancel"), NULL, NULL);
+ gtk_widget_show (confirm_area);
+ gtk_box_pack_end (GTK_BOX(vbox), confirm_area, FALSE, FALSE, 0);
+ gtk_widget_grab_default (ok_btn);
+
+ /*
gtkut_button_set_create (&confirm_area, &close_btn, _("Close"),
NULL, NULL, NULL, NULL);
gtk_widget_show (confirm_area);
gtk_box_pack_end (GTK_BOX(vbox), confirm_area, FALSE, FALSE, 0);
gtk_widget_grab_default (close_btn);
+ */
gtk_window_set_title (GTK_WINDOW(window),
_("Filter setting"));
GTK_SIGNAL_FUNC(manage_window_focus_in), NULL);
gtk_signal_connect (GTK_OBJECT(window), "focus_out_event",
GTK_SIGNAL_FUNC(manage_window_focus_out), NULL);
- gtk_signal_connect (GTK_OBJECT(close_btn), "clicked",
- GTK_SIGNAL_FUNC(prefs_filter_close), NULL);
+ gtk_signal_connect (GTK_OBJECT(ok_btn), "clicked",
+ GTK_SIGNAL_FUNC(prefs_filter_ok), NULL);
+ gtk_signal_connect (GTK_OBJECT(cancel_btn), "clicked",
+ GTK_SIGNAL_FUNC(prefs_filter_cancel), NULL);
vbox1 = gtk_vbox_new (FALSE, VSPACING);
gtk_widget_show (vbox1);
gtk_widget_show_all(window);
filter.window = window;
- filter.close_btn = close_btn;
+ filter.ok_btn = ok_btn;
filter.hdr_combo1 = hdr_combo1;
filter.hdr_combo2 = hdr_combo2;
static gint prefs_filter_deleted(GtkWidget *widget, GdkEventAny *event,
gpointer data)
{
- prefs_filter_close();
+ prefs_filter_cancel();
return TRUE;
}
gpointer data)
{
if (event && event->keyval == GDK_Escape)
- prefs_filter_close();
+ prefs_filter_cancel();
}
-static void prefs_filter_close(void)
+static void prefs_filter_ok(void)
{
prefs_filter_write_config();
gtk_widget_hide(filter.window);
inc_autocheck_timer_set();
}
+
+static void prefs_filter_cancel(void)
+{
+ prefs_filter_read_config();
+ gtk_widget_hide(filter.window);
+ inc_autocheck_timer_set();
+}
static struct Matcher {
GtkWidget *window;
- GtkWidget *close_btn;
+ GtkWidget *ok_btn;
GtkWidget *predicate_combo;
GtkWidget *header_combo;
static void prefs_matcher_key_pressed (GtkWidget *widget,
GdkEventKey *event,
gpointer data);
-static void prefs_matcher_close (void);
+static void prefs_matcher_ok (void);
+static void prefs_matcher_cancel (void);
static gint prefs_matcher_deleted(GtkWidget *widget, GdkEventAny *event,
gpointer data);
static void prefs_matcher_criteria_select(GtkList *list,
}
manage_window_set_transient(GTK_WINDOW(matcher.window));
- gtk_widget_grab_focus(matcher.close_btn);
+ gtk_widget_grab_focus(matcher.ok_btn);
tmp_matchers = matchers;
prefs_matcher_set_dialog();
{
GtkWidget *window;
GtkWidget *vbox;
- GtkWidget *close_btn;
+ GtkWidget *ok_btn;
+ GtkWidget *cancel_btn;
GtkWidget *confirm_area;
GtkWidget *vbox1;
gtk_widget_show (vbox);
gtk_container_add (GTK_CONTAINER (window), vbox);
+ gtkut_button_set_create(&confirm_area, &ok_btn, _("OK"),
+ &cancel_btn, _("Cancel"), NULL, NULL);
+ gtk_widget_show (confirm_area);
+ gtk_box_pack_end (GTK_BOX(vbox), confirm_area, FALSE, FALSE, 0);
+ gtk_widget_grab_default (ok_btn);
+
+ /*
gtkut_button_set_create (&confirm_area, &close_btn, _("Close"),
NULL, NULL, NULL, NULL);
gtk_widget_show (confirm_area);
gtk_box_pack_end (GTK_BOX(vbox), confirm_area, FALSE, FALSE, 0);
- gtk_widget_grab_default (close_btn);
+ gtk_widget_grab_default (close_btn);*/
gtk_window_set_title (GTK_WINDOW(window),
_("Condition setting"));
GTK_SIGNAL_FUNC(manage_window_focus_in), NULL);
gtk_signal_connect (GTK_OBJECT(window), "focus_out_event",
GTK_SIGNAL_FUNC(manage_window_focus_out), NULL);
- gtk_signal_connect (GTK_OBJECT(close_btn), "clicked",
- GTK_SIGNAL_FUNC(prefs_matcher_close), NULL);
+ gtk_signal_connect (GTK_OBJECT(ok_btn), "clicked",
+ GTK_SIGNAL_FUNC(prefs_matcher_ok), NULL);
+ gtk_signal_connect (GTK_OBJECT(cancel_btn), "clicked",
+ GTK_SIGNAL_FUNC(prefs_matcher_cancel), NULL);
vbox1 = gtk_vbox_new (FALSE, VSPACING);
gtk_widget_show (vbox1);
gtk_widget_show_all(window);
matcher.window = window;
- matcher.close_btn = close_btn;
+
+ matcher.ok_btn = ok_btn;
matcher.criteria_list = criteria_list;
matcher.header_combo = header_combo;
gpointer data)
{
if (event && event->keyval == GDK_Escape)
- prefs_matcher_close();
+ prefs_matcher_cancel();
+}
+
+static void prefs_matcher_cancel(void)
+{
+ gtk_widget_hide(matcher.window);
}
-static void prefs_matcher_close(void)
+static void prefs_matcher_ok(void)
{
prefs_matcher_set_list();
gtk_widget_hide(matcher.window);
static gint prefs_matcher_deleted(GtkWidget *widget, GdkEventAny *event,
gpointer data)
{
- prefs_matcher_close();
+ prefs_matcher_cancel();
return TRUE;
}