icons.c
来自「网络爬虫程序」· C语言 代码 · 共 153 行
C
153 行
/***************************************************************************//* This code is part of WWW grabber called pavuk *//* Copyright (c) 1997 - 2001 Stefan Ondrejicka *//* Distributed under GPL 2 or later *//***************************************************************************/#include "config.h"#include <string.h>#ifdef I_FACE#include "gui.h"#include "gui_api.h"#include "tools.h"#ifdef WITH_TREE#include "xpm/audio.xpm"#include "xpm/binary.xpm"#include "xpm/html.xpm"#include "xpm/image.xpm"#include "xpm/video.xpm"#include "xpm/text.xpm"#include "xpm/gopherdir.xpm"#include "xpm/ftpdir.xpm"#include "xpm/broken.xpm"#include "xpm/redirected.xpm"#include "xpm/rejected.xpm"#include "xpm/notprocessed.xpm"#include "xpm/cantaccess.xpm"#include "xpm/incomplete.xpm"#include "xpm/local.xpm"#include "xpm/compressed.xpm"#endifvoid icons_set_for_doc(doc * docp){#ifdef WITH_TREE Icon *icn; int i; icn = gui_cfg.icon.binary; if(docp->doc_url->status & URL_MOVED) icn = gui_cfg.icon.redirected; else if(docp->doc_url->status & URL_TRUNCATED) icn = gui_cfg.icon.incomplete; else if(docp->doc_url->status & URL_REJECTED) icn = gui_cfg.icon.rejected; else if((docp->doc_url->status & URL_NOT_FOUND) || (docp->doc_url->status & URL_ERR_UNREC)) icn = gui_cfg.icon.broken; else if(docp->doc_url->status & URL_ERR_REC) icn = gui_cfg.icon.cantaccess; else if((docp->doc_url->type == URLT_FTP || docp->doc_url->type == URLT_FTPS) && docp->doc_url->p.ftp.dir) icn = gui_cfg.icon.ftpdir; else if((docp->doc_url->type == URLT_GOPHER) && (docp->doc_url->p.gopher.selector[0] == 'I')) icn = gui_cfg.icon.image; else if((docp->doc_url->type == URLT_GOPHER) && (docp->doc_url->p.gopher.selector[0] == '0')) icn = gui_cfg.icon.text; else if((docp->doc_url->type == URLT_GOPHER) && (docp->doc_url->p.gopher.selector[0] == '1')) icn = gui_cfg.icon.gopherdir; else if(docp->type_str) { if(!strncasecmp(docp->type_str, "text/html", 9)) icn = gui_cfg.icon.html; else if(!strncasecmp(docp->type_str, "text/", 5)) icn = gui_cfg.icon.text; else if(!strncasecmp(docp->type_str, "audio/", 6)) icn = gui_cfg.icon.audio; else if(!strncasecmp(docp->type_str, "image/", 6)) icn = gui_cfg.icon.image; else if(!strncasecmp(docp->type_str, "video/", 6)) icn = gui_cfg.icon.video; else if(str_is_in_list(0, tl_get_extension(url_get_path(docp->doc_url)), "gz", "arj", "zip", "lha", "pak", "lzh", "bz", "bz2", "rar", "uc2", "ha", "tgz", NULL)) icn = gui_cfg.icon.compressed; else icn = gui_cfg.icon.binary; } else if(str_is_in_list(0, tl_get_extension(url_get_path(docp->doc_url)), "html", "htm", "shtml", "phtml", NULL)) icn = gui_cfg.icon.html; else if(str_is_in_list(0, tl_get_extension(url_get_path(docp->doc_url)), "txt", NULL)) icn = gui_cfg.icon.text; else if(str_is_in_list(0, tl_get_extension(url_get_path(docp->doc_url)), "mov", "avi", "mpg", "mpeg", "fli", "flc", NULL)) icn = gui_cfg.icon.video; else if(str_is_in_list(0, tl_get_extension(url_get_path(docp->doc_url)), "jpg", "jpeg", "png", "gif", "bmp", "pic", "ppm", "pbm", "pgm", "pnm", "xbm ", "xpm", NULL)) icn = gui_cfg.icon.image; else if(str_is_in_list(0, tl_get_extension(url_get_path(docp->doc_url)), "voc", "au", "wav", "midi", "mp3", NULL)) icn = gui_cfg.icon.audio; else if(str_is_in_list(0, tl_get_extension(url_get_path(docp->doc_url)), "gz", "arj", "zip", "lha", "pak", "lzh", "bz", "bz2", "rar", "uc2", "ha", "tgz", NULL)) icn = gui_cfg.icon.compressed; else if((docp->doc_url->type == URLT_FILE) || (docp->doc_url->status & URL_REDIRECT)) icn = gui_cfg.icon.local;#ifdef GTK_FACE LOCK_URL(docp->doc_url); for(i = 0; i < docp->doc_url->ref_cnt; i++) { char *p = url_to_urlstr(docp->doc_url, FALSE); LOCK_GTKTREE; GDK_THREADS_ENTER(); gtk_ctree_set_node_info(GTK_CTREE(gui_cfg.tree_widget), docp->doc_url->tree_nfo[i], p, 8, icn->pixmap, icn->shape, icn->pixmap, icn->shape, FALSE, TRUE); GDK_THREADS_LEAVE(); UNLOCK_GTKTREE; _free(p); } UNLOCK_URL(docp->doc_url);#endif _Xt_Serve;#endif}void icons_load(void){#ifdef WITH_TREE gui_cfg.icon.audio = guitl_load_pixmap(audio_xpm); gui_cfg.icon.binary = guitl_load_pixmap(binary_xpm); gui_cfg.icon.html = guitl_load_pixmap(html_xpm); gui_cfg.icon.image = guitl_load_pixmap(image_xpm); gui_cfg.icon.video = guitl_load_pixmap(video_xpm); gui_cfg.icon.text = guitl_load_pixmap(text_xpm); gui_cfg.icon.gopherdir = guitl_load_pixmap(gopherdir_xpm); gui_cfg.icon.ftpdir = guitl_load_pixmap(ftpdir_xpm); gui_cfg.icon.broken = guitl_load_pixmap(broken_xpm); gui_cfg.icon.redirected = guitl_load_pixmap(redirected_xpm); gui_cfg.icon.rejected = guitl_load_pixmap(rejected_xpm); gui_cfg.icon.notprocessed = guitl_load_pixmap(notprocessed_xpm); gui_cfg.icon.cantaccess = guitl_load_pixmap(cantaccess_xpm); gui_cfg.icon.incomplete = guitl_load_pixmap(incomplete_xpm); gui_cfg.icon.local = guitl_load_pixmap(local_xpm); gui_cfg.icon.compressed = guitl_load_pixmap(compressed_xpm);#endif}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?