亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? menu.c

?? Linux下的飛鴿傳書
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* *  Copyright (C) 2006 Takeharu KATO * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */#ifdef HAVE_CONFIG_H#include <config.h>#endif#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string.h>#include <stdio.h>#include <bonobo.h>#include <gnome.h>#include <glib.h>#include <libgnomevfs/gnome-vfs.h>#include <libgnomevfs/gnome-vfs-utils.h>#include <libgnomevfs/gnome-vfs-mime-handlers.h>#include <gdk/gdkx.h>#include "callbacks.h"#include "interface.h"#include "support.h"#include "common.h"#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \  g_object_set_data (G_OBJECT (component), name, widget)#define GLADE_HOOKUP_OBJECT(component,widget,name) \  g_object_set_data_full (G_OBJECT (component), name, \    gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)static GList *monitor_wins=NULL;GStaticMutex monitor_win_mutex = G_STATIC_MUTEX_INIT;static void light_weight_flush (void){  GdkDisplay *display = gdk_display_get_default ();  XFlush (GDK_DISPLAY_XDISPLAY (display));}GtkWidget *create_menu_item(const char *name,const char *label,gpointer data,		 void (*menu_item_callback_function)		 (gpointer user_data)){  GtkWidget *new_item;  int index=(int)data;  dbg_out("Create item with:%d\n",index);  new_item=gtk_menu_item_new_with_label(label);  if (menu_item_callback_function){    dbg_out("connect:data %x\n",(unsigned int)data);    if (data)      gtk_signal_connect_object( (gpointer)new_item, "activate",				 GTK_SIGNAL_FUNC(menu_item_callback_function), 				 data);    else      gtk_signal_connect_object( (gpointer)new_item, "activate",				 GTK_SIGNAL_FUNC(menu_item_callback_function), 				 (gpointer )new_item);  }  gtk_widget_show(new_item);  return new_item;}static GtkWidget *create_stock_menu_item(const char *name,const gchar *stock_id,gpointer data,		 void (*menu_item_callback_function)		 (gpointer user_data)){  GtkWidget *new_item;  new_item=gtk_image_menu_item_new_from_stock(stock_id,NULL);  if (menu_item_callback_function) {    if (data)      gtk_signal_connect_object( GTK_OBJECT(new_item), "activate",				 GTK_SIGNAL_FUNC(menu_item_callback_function), 				 data);    else      gtk_signal_connect_object( GTK_OBJECT(new_item), "activate",				 GTK_SIGNAL_FUNC(menu_item_callback_function), 				 new_item);  }  gtk_widget_show(new_item);  return new_item;}static GtkWidget *create_menu_separator(const char *name){  GtkWidget *new_item;  new_item=gtk_separator_menu_item_new ();  gtk_widget_show(new_item);  return new_item;}static voidonDownloadMonitorSelectionChanged (GtkTreeSelection *sel, GtkListStore *liststore) {  update_download_monitor_button(sel);}voidupdate_download_monitor_button(GtkTreeSelection *sel) {  GtkTreeIter  selected_row;  GtkWidget    *view;  GtkWidget    *remove_btn;  view=GTK_WIDGET(gtk_tree_selection_get_tree_view(sel));  g_assert(view);  remove_btn=lookup_widget(GTK_WIDGET(view),"deleteBtn");  g_assert(remove_btn);  g_assert(gtk_tree_selection_get_mode(sel) == GTK_SELECTION_SINGLE);    if (gtk_tree_selection_get_selected(sel, NULL, &selected_row))    {      gtk_widget_set_sensitive(remove_btn, TRUE);    }  else    {      gtk_widget_set_sensitive(remove_btn, FALSE);    }}voidsetup_download_window(GtkWidget *window){  GtkWidget *view;  GtkListStore        *liststore;  GtkTreeViewColumn   *col;  GtkCellRenderer     *renderer;  GtkTreeSelection    *sel;  dbg_out("here\n");  g_assert(window);  view=lookup_widget(GTK_WIDGET(window),"treeview5");  g_assert(view);  dbg_out("Create new monitor\n");  liststore = gtk_list_store_new(4, 				 G_TYPE_STRING,				 G_TYPE_UINT,				 G_TYPE_STRING,				 G_TYPE_INT);  g_assert(liststore);  gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL(liststore));  g_object_unref(liststore);  /*   * タイトル設定   */  /* --- Column #1 --- */  col = gtk_tree_view_column_new();  gtk_tree_view_column_set_title(col, _("FileNames"));  /* pack tree view column into tree view */  gtk_tree_view_append_column(GTK_TREE_VIEW(view), col);  renderer = gtk_cell_renderer_text_new();  /* pack cell renderer into tree view column */  gtk_tree_view_column_pack_start(col, renderer, TRUE);  /* connect 'text' property of the cell renderer to   *  model column that contains the first name */  gtk_tree_view_column_add_attribute(col, renderer, "text", 0);  gtk_tree_view_column_set_resizable (col,TRUE);  /* --- Column #2 --- */  col = gtk_tree_view_column_new();  gtk_tree_view_column_set_title(col, _("Remains"));  /* pack tree view column into tree view */  gtk_tree_view_append_column(GTK_TREE_VIEW(view), col);  renderer = gtk_cell_renderer_text_new();  /* pack cell renderer into tree view column */  gtk_tree_view_column_pack_start(col, renderer, TRUE);  /* connect 'text' property of the cell renderer to   *  model column that contains the first name */  gtk_tree_view_column_add_attribute(col, renderer, "text", 1);  gtk_tree_view_column_set_resizable (col,TRUE);  /* --- Column #3 --- */  col = gtk_tree_view_column_new();  gtk_tree_view_column_set_title(col, _("Receivers"));  /* pack tree view column into tree view */  gtk_tree_view_append_column(GTK_TREE_VIEW(view), col);  renderer = gtk_cell_renderer_text_new();  /* pack cell renderer into tree view column */  gtk_tree_view_column_pack_start(col, renderer, TRUE);  /* connect 'text' property of the cell renderer to   *  model column that contains the first name */  gtk_tree_view_column_add_attribute(col, renderer, "text", 2);  gtk_tree_view_column_set_resizable (col,TRUE);  sel=gtk_tree_view_get_selection(GTK_TREE_VIEW(view));  gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE);  g_signal_connect(sel, "changed", 		   G_CALLBACK(onDownloadMonitorSelectionChanged),		   liststore);}voidon_create_download_monitor(void) {  GtkWidget *window;  dbg_out("here\n");  g_static_mutex_lock(&monitor_win_mutex);  if (g_list_length(monitor_wins)>0) {    GList *node; /* FIXME */    node=g_list_first (monitor_wins);    g_assert(node->data);    gtk_window_present (GTK_WINDOW(node->data));    g_static_mutex_unlock(&monitor_win_mutex);    return;   }      window=create_downloadMonitor();  g_assert(window);  setup_download_window(window);  g_static_mutex_unlock(&monitor_win_mutex);  download_monitor_add_waiter_window(window);  gtk_widget_show(window);}voidon_mainmenu_new_message_item(gpointer menuitem){  dbg_out("here\n");  on_startBtn_clicked (NULL,NULL);}voidon_mainmenu_download_item(gpointer menuitem){  on_create_download_monitor();}voidon_mainmenu_preferences_item(gpointer menuitem){  dbg_out("here\n");  on_preferences1_activate(menuitem,NULL);}voidon_mainmenu_about_item(gpointer menuitem){  dbg_out("here\n");  ipmsg_show_about_dialog();}voidon_mainmenu_log_item(gpointer menuitem){  dbg_out("here\n");  show_ipmsg_log();}voidon_mainmenu_absent_item(gpointer menuitem){  dbg_out("here\n");}voidon_mainmenu_attend_item(gpointer menuitem){  dbg_out("here\n");  hostinfo_set_ipmsg_absent(FALSE);  ipmsg_send_br_absence(udp_con,0);}voidon_mainmenu_foreground_win_item(gpointer menuitem){  dbg_out("here\n");  present_all_displayed_windows();}voidon_mainmenu_remove_win_item(gpointer menuitem){  dbg_out("here\n");  destroy_all_opened_windows();}voidon_mainmenu_quit_item (gpointer menuitem){  dbg_out("here\n");  on_initialWindow_destroy(GTK_OBJECT(menuitem),NULL);}voidon_fuzai_item_activate (gpointer user_data){  int max_index;  int index;  index=(int)user_data - 1;  dbg_out("here:%x\n",index);  if (hostinfo_refer_absent_length(&max_index)) {    g_assert_not_reached();  }  dbg_out("Max index:%d\n",max_index);  if ( (index >= max_index) || (index < 0) )    return;  hostinfo_set_absent_id(index);  hostinfo_set_ipmsg_absent(TRUE);  ipmsg_send_br_absence(udp_con,0);  return;}voidon_fuzai_config_activate (gpointer menuitem){  GtkWidget *window;  dbg_out("here:%x\n",(unsigned int)menuitem);  window=internal_create_fuzai_editor();  gtk_widget_show(window);}static GtkWidget *create_fuzai_menu(void){  GtkWidget *menu;  GtkWidget *new_item;  GtkWidget *separator4_item;  GtkWidget *config_item;  gchar name[16];  gchar *title;  int i,max_index=0;  menu=gtk_menu_new();   if (hostinfo_refer_absent_length(&max_index)) {    g_assert_not_reached();  }  dbg_out("Max index:%d\n",max_index);  for(i=0;i<max_index;++i) {    snprintf(name,15,"fuzai%d",i);    name[15]='\0';    title=NULL;    hostinfo_get_absent_title(i,(const char **)&title);    /*  埋め込みのindexは, NULLと區別するため, +1する */    if (title) {      new_item=create_menu_item(name,title,(gpointer)(i+1),on_fuzai_item_activate);      g_free(title);    }else      new_item=create_menu_item(name,name,(gpointer)(i+1),on_fuzai_item_activate);    gtk_menu_append( GTK_MENU(menu), new_item);    GLADE_HOOKUP_OBJECT(menu,new_item,name);  }  separator4_item=create_menu_separator("separator4");  config_item=create_stock_menu_item("fuzai_config_item",GTK_STOCK_PREFERENCES,NULL,on_fuzai_config_activate);  gtk_menu_append( GTK_MENU(menu), separator4_item);  gtk_menu_append( GTK_MENU(menu), config_item);  GLADE_HOOKUP_OBJECT(menu,separator4_item,"separator4_item");  GLADE_HOOKUP_OBJECT(menu,config_item,"fuzai_config_item");  return menu;}GtkWidget *create_main_menu(void){  GtkWidget *menu;  GtkWidget *new_message_item;  GtkWidget *separator0_item;  GtkWidget *download_item;  GtkWidget *separator1_item;  GtkWidget *remove_win_item;  GtkWidget *foreground_win_item;  GtkWidget *separator2_item;  GtkWidget *preferences_item;  GtkWidget *about_item;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清在线视频| 精品久久久久久久久久久久包黑料| 亚洲一区二区三区影院| 国产免费观看久久| 欧美一区二区福利视频| 欧洲精品在线观看| 免费欧美日韩国产三级电影| 狠狠久久亚洲欧美| 日本久久精品电影| 国产婷婷色一区二区三区四区| 亚洲国产综合视频在线观看| 国产91高潮流白浆在线麻豆| 欧美人动与zoxxxx乱| 国产精品第四页| 激情五月激情综合网| 精品视频免费在线| 亚洲男人电影天堂| 丁香另类激情小说| 精品久久久久久久久久久院品网 | 奇米综合一区二区三区精品视频| 99久久99久久综合| 欧美国产丝袜视频| 国产成人h网站| 久久一二三国产| 美国欧美日韩国产在线播放| 欧美日韩中文字幕一区| 亚洲精品成a人| 99riav久久精品riav| 国产精品欧美综合在线| 大白屁股一区二区视频| 精品成人一区二区| 国产精品一区二区三区乱码 | 色中色一区二区| 中文字幕一区二区三区av| 国产精品一区二区三区99| 精品嫩草影院久久| 精品午夜久久福利影院| 日韩女优毛片在线| 国产一区二区在线电影| 国产蜜臀av在线一区二区三区| 国产一区亚洲一区| 国产精品女主播在线观看| 国产99精品国产| 国产精品久久久99| 99久久精品国产一区二区三区 | 亚洲精品在线观看视频| 国产盗摄女厕一区二区三区| 国产亚洲精品久| 99精品久久只有精品| 亚洲五码中文字幕| 日韩欧美一区二区在线视频| 麻豆一区二区三区| 国产午夜精品一区二区三区视频 | 精品国产不卡一区二区三区| 国产一区二区美女诱惑| 国产精品国产馆在线真实露脸| a级精品国产片在线观看| 亚洲综合久久久| 日韩欧美一区二区三区在线| 国产91丝袜在线播放| 亚洲精品成人悠悠色影视| 3d成人h动漫网站入口| 韩国一区二区视频| 亚洲乱码一区二区三区在线观看| 欧美视频一二三区| 国产一本一道久久香蕉| 亚洲欧美欧美一区二区三区| 7777精品伊人久久久大香线蕉的| 麻豆精品在线播放| 国产精品白丝在线| 91精品国产欧美日韩| 国产成人午夜99999| 亚洲一区二区三区激情| 精品少妇一区二区三区视频免付费| 成人免费观看视频| 午夜亚洲国产au精品一区二区| 精品久久久久一区二区国产| 91毛片在线观看| 国内精品在线播放| 亚洲一区二区三区四区在线观看 | 久久久久国产免费免费 | 精品少妇一区二区| 欧美性受极品xxxx喷水| 极品少妇一区二区三区精品视频 | 日韩成人午夜电影| 国产精品国产三级国产aⅴ中文| 欧美一区二区三区婷婷月色| 91一区一区三区| 国产露脸91国语对白| 午夜精品视频在线观看| 亚洲品质自拍视频| 国产精品网站在线| 精品日韩在线一区| 欧美酷刑日本凌虐凌虐| 99久久国产综合色|国产精品| 黑人巨大精品欧美一区| 天堂va蜜桃一区二区三区漫画版| 国产精品福利一区二区三区| 久久综合精品国产一区二区三区| 欧美四级电影在线观看| 色视频成人在线观看免| 高清不卡一区二区| 国内精品久久久久影院薰衣草| 天天影视网天天综合色在线播放| 一区二区在线观看免费 | 亚洲国产精品久久不卡毛片 | 91麻豆swag| 丁香六月久久综合狠狠色| 韩国av一区二区三区在线观看| 天堂久久久久va久久久久| 夜色激情一区二区| 一个色妞综合视频在线观看| 成人欧美一区二区三区黑人麻豆 | 国产精品成人免费| 国产精品女主播在线观看| 久久精品视频一区二区三区| 精品欧美乱码久久久久久 | 美女视频黄 久久| 久久爱www久久做| 精品无码三级在线观看视频| 国产一区二区成人久久免费影院| 久久国产免费看| 国产精品综合二区| 国产黄人亚洲片| 成人性视频免费网站| www.av亚洲| 色视频欧美一区二区三区| 欧美日韩中文字幕一区二区| 欧美老人xxxx18| 精品国产伦一区二区三区观看体验 | 精品一区二区三区蜜桃| 国产一区二区免费视频| 成人av网站免费观看| 成人av资源站| 欧美日韩一卡二卡| 欧美一二三四在线| 久久午夜色播影院免费高清 | 欧美电影免费提供在线观看| 久久综合色之久久综合| 国产精品美女久久久久aⅴ国产馆| 国产日韩精品视频一区| 亚洲激情校园春色| 日韩和欧美一区二区| 国产一区在线看| 99天天综合性| 777xxx欧美| 日本一二三不卡| 亚洲第一主播视频| 国产九色sp调教91| 色婷婷av一区二区三区软件| 日韩欧美中文一区| 亚洲人吸女人奶水| 青青草一区二区三区| 国产91丝袜在线18| 欧美日韩极品在线观看一区| 久久丝袜美腿综合| 亚洲综合偷拍欧美一区色| 免费观看成人鲁鲁鲁鲁鲁视频| 成人综合在线观看| 欧美日韩电影在线| 日本一区二区三区国色天香| 亚洲成人tv网| 成人av网站在线| 欧美tickling网站挠脚心| 亚洲欧美精品午睡沙发| 韩国av一区二区| 欧美剧在线免费观看网站| 国产精品污网站| 另类小说视频一区二区| 色欧美片视频在线观看| 国产亚洲欧洲一区高清在线观看| 一区二区三区四区精品在线视频| 国产一区在线不卡| 日韩一区二区三区免费看| 亚洲免费成人av| 国产高清不卡一区| 91精品免费在线观看| 亚洲精品福利视频网站| 成人高清免费观看| 精品国内二区三区| 调教+趴+乳夹+国产+精品| 91极品视觉盛宴| 中文字幕中文字幕一区二区| 久久99精品久久久久久动态图| 欧美综合在线视频| 亚洲视频狠狠干| 成人av免费在线| 欧美国产日韩一二三区| 精品亚洲免费视频| 欧美成人一区二区三区在线观看| 亚洲二区在线观看| 欧美主播一区二区三区| 亚洲色图欧洲色图婷婷| 91视频在线看| 国产精品全国免费观看高清 | 久久亚洲一区二区三区四区| 美女网站在线免费欧美精品| 91精品国产综合久久精品app | 欧美调教femdomvk| 亚洲一区二区三区自拍|