"mi">600, 256, &vbox, 0);
gtkutil_destroy_on_esc (ignorewin);
view = ignore_treeview_new (vbox);
g_object_set_data (G_OBJECT (ignorewin), "view", view);
frame = gtk_frame_new (_("Ignore Stats:"));
gtk_widget_show (frame);
stat_box = gtk_hbox_new (0, 2);
gtk_container_set_border_width (GTK_CONTAINER (stat_box), 6);
gtk_container_add (GTK_CONTAINER (frame), stat_box);
gtk_widget_show (stat_box);
num_chan = ignore_stats_entry (stat_box, _("Channel:"), ignored_chan);
num_priv = ignore_stats_entry (stat_box, _("Private:"), ignored_priv);
num_noti = ignore_stats_entry (stat_box, _("Notice:"), ignored_noti);
num_ctcp = ignore_stats_entry (stat_box, _("CTCP:"), ignored_ctcp);
num_invi = ignore_stats_entry (stat_box, _("Invite:"), ignored_invi);
gtk_box_pack_start (GTK_BOX (vbox), frame, 0, 0, 5);
box = gtk_hbutton_box_new ();
gtk_button_box_set_layout (GTK_BUTTON_BOX (box), GTK_BUTTONBOX_SPREAD);
gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, FALSE, 2);
gtk_container_set_border_width (GTK_CONTAINER (box), 5);
gtk_widget_show (box);
gtkutil_button (box, GTK_STOCK_NEW, 0, ignore_new_entry_clicked, 0,
_("Add..."));
gtkutil_button (box, GTK_STOCK_DELETE, 0, ignore_delete_entry_clicked,
0, _("Delete"));
gtkutil_button (box, GTK_STOCK_CLEAR, 0, ignore_clear_entry_clicked,
0, _("Clear"));
store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (view)));
while (temp)
{
struct ignore *ignore = temp->data;
mask = ignore->mask;
chan = (ignore->type & IG_CHAN);
private = (ignore->type & IG_PRIV);
notice = (ignore->type & IG_NOTI);
ctcp = (ignore->type & IG_CTCP);
dcc = (ignore->type & IG_DCC);
invite = (ignore->type & IG_INVI);
unignore = (ignore->type & IG_UNIG);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
MASK_COLUMN, mask,
CHAN_COLUMN, chan,
PRIV_COLUMN, private,
NOTICE_COLUMN, notice,
CTCP_COLUMN, ctcp,
DCC_COLUMN, dcc,
INVITE_COLUMN, invite,
UNIGNORE_COLUMN, unignore,
-1);
temp = temp->next;
}
gtk_widget_show (ignorewin);
}
void
fe_ignore_update (int level)
{
/* some ignores have changed via /ignore, we should update
the gui now */
/* level 1 = the list only. */
/* level 2 = the numbers only. */
/* for now, ignore level 1, since the ignore GUI isn't realtime,
only saved when you click OK */
char buf[16];
if (level == 2 && ignorewin)
{
sprintf (buf, "%d", ignored_ctcp);
gtk_entry_set_text (GTK_ENTRY (num_ctcp), buf);
sprintf (buf, "%d", ignored_noti);
gtk_entry_set_text (GTK_ENTRY (num_noti), buf);
sprintf (buf, "%d", ignored_chan);
gtk_entry_set_text (GTK_ENTRY (num_chan), buf);
sprintf (buf, "%d", ignored_invi);
gtk_entry_set_text (GTK_ENTRY (num_invi), buf);
sprintf (buf, "%d", ignored_priv);
gtk_entry_set_text (GTK_ENTRY (num_priv), buf);
}
}