folder-opts.c

来自「一个功能全面的电子邮件客户端」· C语言 代码 · 共 100 行

C
100
字号
/* TradeClient <http://tradeclient.sourceforge.net> * $Id: folder-opts.c,v 1.7 2001/03/20 22:19:33 ttabner Exp $ * * Copyright (C) 1999-2000 Bynari Inc. * Copyright (C) 2001 Project TradeClient * * LGPL * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Library General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. * * 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 Library * General Public License for more details. * * You should have received a copy of the GNU Library 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. */#include "puma.h"GList *folder_create_glist () {	GList *seek=NULL;	Folder *fl=folder_first ();	while (fl) {		seek=g_list_append (seek, fl->name);		fl=fl->next;	}	return seek;}GList *folder_create_storeable_glist () {	GList *seek=NULL;	Folder *fl=folder_first ();	while (fl) {		if (fl->flags & CAN_STORE_NEW_MAIL)			seek=g_list_append (seek, fl->name);		fl=fl->next;	}	return seek;}void create_new_folder (Folder *fl) {	GtkWidget *folder_tree=lookup_widget (tm_globs->main_window, "folder_tree");	GtkWidget *create_folder_tree=lookup_widget (tm_globs->create_folder, "folder_tree");	GtkCTreeNode *newwidget=NULL;	GtkWidget *ti=NULL;	Folder *parent;	char *data[3];	data[0]=strdup (fl->name);	data[1]=(char *)calloc (5, sizeof(char));	data[2]=(char *)calloc (5, sizeof(char));	snprintf (data[1], 5, "%d", fl->unread);	snprintf (data[2], 5, "%d", fl->total);        if (fl->flags & F_INDEX_MISSING) {        	folder_reindex (fl);        	folder_display (GTK_CLIST (lookup_widget (tm_globs->main_window,        	                "message_clist")), fl);	}	parent=folder_seek (folder_seek_by_name (fl->parent));	if (parent) {		newwidget=gtk_ctree_insert_node (GTK_CTREE (folder_tree), parent->tree_item, 										NULL, data, 0, NULL, NULL, NULL, NULL, FALSE, FALSE);		ti=gtk_tree_item_new_with_label (fl->name);		gtk_signal_connect (GTK_OBJECT (ti), "select", 												GTK_SIGNAL_FUNC (clicked_on_folder_in_create), (gpointer)ti);		gtk_signal_connect (GTK_OBJECT (ti), "deselect", 												GTK_SIGNAL_FUNC (unclicked_on_folder_in_create), (gpointer)ti);		if (parent->submenu==NULL) {			parent->submenu=gtk_tree_new ();			gtk_widget_show (parent->submenu);			if( (parent->ti) && (parent -> submenu) ) gtk_tree_item_set_subtree (GTK_TREE_ITEM (parent->ti), parent->submenu);		}		if( ti && parent -> submenu ) gtk_tree_append (GTK_TREE (parent->submenu), ti);		gtk_widget_show (ti);	} else {		newwidget=gtk_ctree_insert_node (GTK_CTREE (folder_tree), NULL, 									NULL, data, 0, NULL, NULL, NULL, NULL, FALSE, FALSE);		ti=gtk_tree_item_new_with_label (fl->name);		gtk_signal_connect (GTK_OBJECT (ti), "select", 											GTK_SIGNAL_FUNC (clicked_on_folder_in_create), (gpointer)ti);		gtk_signal_connect (GTK_OBJECT (ti), "deselect", 												GTK_SIGNAL_FUNC (unclicked_on_folder_in_create), (gpointer)ti);		gtk_tree_append (GTK_TREE (create_folder_tree), ti);		gtk_widget_show (ti);	}	fl->ti=ti;	fl->tree_item=newwidget;	gtk_ctree_node_set_row_data (GTK_CTREE (folder_tree), newwidget, (gpointer)fl);	free (data[0]);	free (data[1]);	free (data[2]);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?