Esempio n. 1
0
static void prefs_display_header_list_view_set_row(gboolean hidden)
{
	GtkTreeView *list_view;
	DisplayHeaderProp *dp;
	gchar *entry_text;
	GtkTreeModel *model;

#if !GTK_CHECK_VERSION(2, 24, 0)
	entry_text = gtk_combo_box_get_active_text(GTK_COMBO_BOX(dispheader.hdr_combo));
#else
	entry_text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(dispheader.hdr_combo));
#endif
	if (!entry_text)
		entry_text = gtk_editable_get_chars(
				GTK_EDITABLE(gtk_bin_get_child(GTK_BIN(dispheader.hdr_combo))),0,-1);
	if (!entry_text || entry_text[0] == '\0') {
		alertpanel_error(_("Header name is not set."));
		return;
	}

	if (hidden)
		list_view = GTK_TREE_VIEW(dispheader.hidden_headers_list_view);
	else
		list_view = GTK_TREE_VIEW(dispheader.headers_list_view);

	if (prefs_display_header_find_header(list_view, entry_text) != -1) {
		alertpanel_error(_("This header is already in the list."));
		return;
	}

	dp = g_new0(DisplayHeaderProp, 1);

	dp->name = g_strdup(entry_text);
	dp->hidden = hidden;

	model = gtk_tree_view_get_model(list_view);
	prefs_display_header_insert_header(GTK_LIST_STORE(model),
					   dp->name, dp);

	prefs_display_header_set_list();
	
	g_free(entry_text);
}
static gint prefs_display_header_clist_set_row(gboolean hidden)
{
    GtkCList *clist;
    DisplayHeaderProp *dp;
    const gchar *entry_text;
    gchar *dp_str[1];
    gint row;

    entry_text = gtk_entry_get_text(GTK_ENTRY(dispheader.hdr_entry));
    if (entry_text[0] == '\0') {
        alertpanel_error(_("Header name is not set."));
        return -1;
    }

    if (hidden)
        clist = GTK_CLIST(dispheader.hidden_headers_clist);
    else
        clist = GTK_CLIST(dispheader.headers_clist);

    if (prefs_display_header_find_header(clist, entry_text) != -1) {
        alertpanel_error(_("This header is already in the list."));
        return -1;
    }

    dp = g_new0(DisplayHeaderProp, 1);

    dp->name = g_strdup(entry_text);
    dp->hidden = hidden;

    dp_str[0] = dp->name;
    row = gtk_clist_append(clist, dp_str);
    gtk_clist_set_row_data(clist, row, dp);

    prefs_display_header_set_list();

    return row;
}
static void prefs_display_header_row_moved(GtkCList *clist, gint source_row,
        gint dest_row, gpointer data)
{
    prefs_display_header_set_list();
}