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

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

?? callbacks.c

?? Linux下的飛鴿傳書
?? C
?? 第 1 頁 / 共 5 頁
字號:
voidon_viewwindowCloseBtn_clicked          (GtkButton       *button,                                        gpointer         user_data){  GtkWidget *top;  top=lookup_widget(GTK_WIDGET(button),"viewWindow");  g_assert(top);  gtk_widget_destroy(top);}voidselect_user_list_by_addr(GtkTreeView *treeview,const char *ipaddr) {  GtkTreeSelection *sel;  GtkTreeModel *model;  GtkTreeIter iter;  gboolean valid;  g_assert((treeview) && (ipaddr));  sel=gtk_tree_view_get_selection(treeview);  model = gtk_tree_view_get_model(treeview);  valid = gtk_tree_model_get_iter_first (model, &iter);  while(valid) {      gchar *tree_ipaddr;      gtk_tree_model_get (model, &iter,                           USER_VIEW_IPADDR_ID, &tree_ipaddr,                          -1);      dbg_out("Addr:%s\n",tree_ipaddr);      if (!strcmp(tree_ipaddr,ipaddr)) {	dbg_out("Select : %s\n",tree_ipaddr);	gtk_tree_selection_select_iter(sel,&iter);      }      g_free(tree_ipaddr);      valid = gtk_tree_model_iter_next (model, &iter);  }  }voidon_viewwindowReplyBtn_clicked          (GtkButton       *button,                                        gpointer         user_data){  GtkWidget *view;  GtkWidget *messageWindow;  GtkTextView *text_view;  GtkTextIter start_iter,end_iter;  GtkTextBuffer *buffer;  GtkTextView *new_view;  GtkTextBuffer *new_buffer;  GtkWidget *cite_toggle;  gint text_line;  gchar *string;  ipmsg_private_data_t *priv=NULL;  ipmsg_recvmsg_private_t *sender_info;  GtkWidget *messageUserTree;  int i;  dbg_out("here\n");  messageWindow = internal_create_messageWindow();  g_assert(messageWindow);  messageUserTree=lookup_widget(messageWindow,"messageUserTree");  g_assert(messageUserTree);  view=lookup_widget(GTK_WIDGET(button),"viewWindow");  text_view=GTK_TEXT_VIEW(lookup_widget(GTK_WIDGET(button),"viewwindowTextView"));  cite_toggle=lookup_widget(GTK_WIDGET(button),"viewwindowCitationCheck");  priv=(ipmsg_private_data_t *)lookup_widget(GTK_WIDGET(button),"senderInfo");  g_assert(cite_toggle);  g_assert(text_view);  g_assert(view);  g_assert(priv);  IPMSG_ASSERT_PRIVATE(priv,IPMSG_PRIVATE_RECVMSG);  sender_info=priv->data;  dbg_out("sender_info:%p\n",sender_info);  if (sender_info->ipaddr) {    update_users_on_message_window(messageWindow,FALSE);    select_user_list_by_addr(GTK_TREE_VIEW(messageUserTree),sender_info->ipaddr);      }  if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cite_toggle))) {    new_view=GTK_TEXT_VIEW(lookup_widget(messageWindow,"textview1"));    new_buffer=gtk_text_view_get_buffer(new_view);        g_assert(new_view);    g_assert(new_buffer);    /* following codes assume gtk_text_view_get_buffer(text_view) does not     * allocate new reference     * as gtk manual says.     */    buffer=gtk_text_view_get_buffer(text_view);    text_line=gtk_text_buffer_get_line_count(buffer);    dbg_out("lines:%d\n",text_line);    for(i=0;i<text_line;++i) {            gtk_text_buffer_get_iter_at_line(buffer,&start_iter,i);      if (i<(text_line-1))	gtk_text_buffer_get_iter_at_line(buffer,&end_iter,i+1);      else	gtk_text_buffer_get_end_iter(buffer,&end_iter);      string=gtk_text_buffer_get_text(buffer,				      &start_iter,				      &end_iter,				      FALSE);      g_assert(string);      gtk_text_buffer_insert_at_cursor(new_buffer,hostinfo_refer_ipmsg_cite_string(),-1);      gtk_text_buffer_insert_at_cursor(new_buffer," ",-1);      gtk_text_buffer_insert_at_cursor(new_buffer,string,-1);      dbg_out("string:%s\n",string);      g_free(string);    }  }  gtk_widget_show (messageWindow);  return;}voidon_comboboxentry1_editing_done         (GtkCellEditable *celleditable,                                        gpointer         user_data){  dbg_out("here\n");}voidon_comboboxentry1_set_focus_child      (GtkContainer    *container,                                        GtkWidget       *widget,                                        gpointer         user_data){}voidon_entry1_activate                     (GtkEntry        *entry,                                        gpointer         user_data){}voidon_configWindow_show                   (GtkWidget       *widget,                                        gpointer         user_data){  GtkWidget *nickname_entry;  GtkWidget *groupEntry;  GtkWidget *logfile_entry;  GtkWidget *configOpenCheckChkBtn;  GtkWidget *configNonPopupCheckBtn;  GtkWidget *configNoSoundCheckBtn;  GtkWidget *configEncloseEnableCheckBtn;  GtkWidget *configCitationCheckBtn;  GtkWidget *configIPV6CheckBtn;  GtkWidget *configDialUpCheckBtn;  GtkWidget *enableLogToggle;  GtkWidget *loginNameLoggingToggle;  GtkWidget *logIPAddrToggle;  GtkTreeView *treeview;  GtkWidget *addr_entry;  GtkWidget *configAddBcastBtn;  GtkTreeIter  selected_row;  GtkWidget *configRemoveBcastBtn;  GtkTreeSelection *sel;  gchar  *entry_string;  GSList *addr_list,*addr_top;  int group_index;  int err_count;  groupEntry=lookup_widget(widget,"comboboxentry1");  g_assert(groupEntry);  nickname_entry=lookup_widget(widget,"entry2");  g_assert(nickname_entry);  logfile_entry=lookup_widget(widget,"entry1");  g_assert(logfile_entry);  configOpenCheckChkBtn=lookup_widget(widget,"configOpenCheckChkBtn");  g_assert(configOpenCheckChkBtn);  configNonPopupCheckBtn=lookup_widget(widget,"configNonPopupCheckBtn");  g_assert(configNonPopupCheckBtn);  configNoSoundCheckBtn=lookup_widget(widget,"configNoSoundCheckBtn");  g_assert(configNoSoundCheckBtn);  configEncloseEnableCheckBtn=lookup_widget(widget,"configEncloseEnableCheckBtn");  g_assert(configEncloseEnableCheckBtn);  configCitationCheckBtn=lookup_widget(widget,"configCitationCheckBtn");  g_assert(configCitationCheckBtn);  configIPV6CheckBtn=lookup_widget(widget,"configIPV6CheckBtn");  g_assert(configIPV6CheckBtn);  configDialUpCheckBtn=lookup_widget(widget,"configDialUpCheckBtn");  g_assert(configDialUpCheckBtn);  enableLogToggle=lookup_widget(widget,"enableLogToggle");  g_assert(enableLogToggle);  loginNameLoggingToggle=lookup_widget(widget,"loginNameLoggingToggle");  g_assert(loginNameLoggingToggle);  logIPAddrToggle=lookup_widget(widget,"logIPAddrToggle");  g_assert(logIPAddrToggle);  treeview = GTK_TREE_VIEW(lookup_widget(widget,"treeview4"));  g_assert(treeview);  gtk_entry_set_text(GTK_ENTRY(nickname_entry), hostinfo_refer_nick_name());  for(err_count=0,group_index=-1;      ( (err_count<IPMSG_COMMON_MAX_RETRY) && (group_index<0) );      ++err_count) {    updateConfigWindowGroups(groupEntry);    group_index=get_current_group_index(GTK_COMBO_BOX(groupEntry));  }  g_assert(group_index>=0);  gtk_combo_box_set_active(GTK_COMBO_BOX(groupEntry),group_index);  gtk_entry_set_text(GTK_ENTRY(logfile_entry), hostinfo_refer_ipmsg_logfile());  if (hostinfo_refer_ipmsg_default_confirm())    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configOpenCheckChkBtn),TRUE);  else    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configOpenCheckChkBtn),FALSE);  if (hostinfo_refer_ipmsg_default_popup())    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configNonPopupCheckBtn),TRUE);  else    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configNonPopupCheckBtn),FALSE);  if (is_sound_system_available()) {    if (hostinfo_refer_ipmsg_default_sound())      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configNoSoundCheckBtn),TRUE);    else      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configNoSoundCheckBtn),FALSE);  }else{    gtk_widget_set_sensitive(configNoSoundCheckBtn, FALSE);  }  if (hostinfo_refer_ipmsg_default_enclose())     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configEncloseEnableCheckBtn),TRUE);  else    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configEncloseEnableCheckBtn),FALSE);  if (hostinfo_refer_ipmsg_default_citation())    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configCitationCheckBtn),TRUE);  else    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configCitationCheckBtn),FALSE);  if (hostinfo_refer_ipmsg_ipv6_mode())    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configIPV6CheckBtn),TRUE);  else    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configIPV6CheckBtn),FALSE);  if (hostinfo_refer_ipmsg_dialup_mode())    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configDialUpCheckBtn),TRUE);  else    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configDialUpCheckBtn),FALSE);  if (hostinfo_refer_ipmsg_enable_log())    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enableLogToggle),TRUE);  else    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enableLogToggle),FALSE);  if (hostinfo_refer_ipmsg_logname_logging())    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(loginNameLoggingToggle),TRUE);  else    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(loginNameLoggingToggle),FALSE);  if (hostinfo_refer_ipmsg_ipaddr_logging())    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(logIPAddrToggle),TRUE);  else    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(logIPAddrToggle),FALSE);  addr_top=addr_list=hostinfo_get_ipmsg_broadcast_list();  while(addr_list != NULL) {      GtkTreeModel *model;      GtkTreeIter   newrow;      gchar *element = addr_list->data;      model = gtk_tree_view_get_model(treeview);      gtk_list_store_append(GTK_LIST_STORE(model), &newrow);      gtk_list_store_set(GTK_LIST_STORE(model), &newrow, 0, element, -1);      g_free(element);      addr_list=g_slist_next(addr_list);  }  if (addr_top)    g_slist_free(addr_top);  /*   * button state   */  configAddBcastBtn=lookup_widget(widget,"configAddBcastBtn");  g_assert(configAddBcastBtn);  addr_entry=lookup_widget(widget,"entry3");  g_assert(addr_entry);  entry_string=(char *)gtk_entry_get_text(GTK_ENTRY(addr_entry));  if ( (entry_string) && (*entry_string) )     gtk_widget_set_sensitive(configAddBcastBtn,TRUE);  else    gtk_widget_set_sensitive(configAddBcastBtn,FALSE);  sel=gtk_tree_view_get_selection(treeview);  configRemoveBcastBtn=lookup_widget(widget,"configRemoveBcastBtn");  g_assert(configRemoveBcastBtn);  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(configRemoveBcastBtn, TRUE);    }  else    {      gtk_widget_set_sensitive(configRemoveBcastBtn, FALSE);    }}voidon_configWindow_clicked                (GtkButton       *button,                                        gpointer         user_data){}voidupdate_one_group_entry(gpointer data,GtkComboBox *user_data) {  userdb_t *current_user;  GtkWidget *comboEntry=GTK_WIDGET(user_data);  GtkTreeModel *model;  GtkTreeIter iter;  gboolean valid;  if ( (!data) || (!user_data) )    return;  current_user=(userdb_t *)data;  dbg_out("NickName: %s\n",current_user->nickname);  dbg_out("Group: %s\n",current_user->group);  dbg_out("User: %s\n",current_user->user);  dbg_out("Host: %s\n",current_user->host);  dbg_out("IP Addr: %s\n",current_user->ipaddr);  model=gtk_combo_box_get_model(GTK_COMBO_BOX(comboEntry));  if (!model)    return;  valid = gtk_tree_model_get_iter_first (model, &iter);  while (valid) {      gchar *str_data;      /* Make sure you terminate calls to gtk_tree_model_get()       * with a '-1' value       */      gtk_tree_model_get (model, &iter,                           0, &str_data,                          -1);	dbg_out("check: %s\n",str_data);      if (!strcmp(current_user->group,str_data)) {	dbg_out("found: %s\n",current_user->group);	g_free(str_data);	return; /* Already appended */      }      g_free(str_data);      valid = gtk_tree_model_iter_next (model, &iter);    }  gtk_combo_box_append_text(GTK_COMBO_BOX(comboEntry),current_user->group);  return;}voidon_configWindowAddGroupBtn_clicked     (GtkButton       *button,                                        gpointer         user_data){  GtkWidget *comboEntry;  ipmsg_send_br_absence(udp_con,0);  comboEntry=lookup_widget(GTK_WIDGET(button),"comboboxentry1");  g_assert(comboEntry);  updateConfigWindowGroups(comboEntry);}voidon_sendFailDialog_show                 (GtkWidget       *widget,                                        gpointer         user_data){}voidon_sendFailDialog_destroy              (GtkObject       *object,                                        gpointer         user_data){}voidon_sendFailDialog_response             (GtkDialog       *dialog,                                        gint             response_id,                                        gpointer         user_data){  dbg_out("Response:%d\n",response_id);}voidon_sendFailDialog_close                (GtkDialog       *dialog,                                        gpointer         user_data){}voidon_cancelbutton1_clicked               (GtkButton       *button,                                        gpointer         user_data){}voidon_okbutton1_clicked                   (GtkButton       *button,                                        gpointer         user_data){  GtkWidget *dialog;  dialog=lookup_widget(GTK_WIDGET(button),"sendFailDialog");  gtk_dialog_response(GTK_DIALOG(dialog),GTK_RESPONSE_OK);}static inthandle_attachment_drag_data(GtkSelectionData *data,GtkWidget *attachment_editor){  GList *files,*list;  gchar *path;  if ( (!data) || (!(data->data)) || (!attachment_editor) )    return -EINVAL;  files= gnome_vfs_uri_list_parse((gchar *)data->data);  for(list = files; list != NULL; list = g_list_next(list) ) {    path=gnome_vfs_unescape_string(gnome_vfs_uri_get_path(list->data),NULL);    dbg_out("draged file: %s\n",path);    on_add_new_file(path,attachment_editor,FALSE);    g_free(path);  }  gnome_vfs_uri_list_free(files);  return 0;}static int on_message_window_drag_data_received(GtkWidget *widget,GtkSelectionData *data){  GtkWidget *window;  GtkWidget *attachment_editor;  int rc;  if (!data)    return -EINVAL;  dbg_out("here:data %s\n",(char *)data->data);    window=lookup_widget(widget,"messageWindow");  g_assert(window);  attachment_editor=setup_attachment_editor(window);  g_assert(attachment_editor);  gtk_widget_show(attachment_editor);  rc=handle_attachment_drag_data(data,attachment_editor);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品福利| 久久久国产精品午夜一区ai换脸 | 依依成人精品视频| 日本美女一区二区| 不卡视频一二三四| 日韩一区二区在线免费观看| 中文字幕一区二区三区四区不卡 | 国产精品99久久久久久似苏梦涵| 91视频免费看| 久久综合精品国产一区二区三区 | 欧美肥妇bbw| 最近日韩中文字幕| 国产电影一区二区三区| 欧美电影在哪看比较好| 亚洲男帅同性gay1069| 国产精品一区二区果冻传媒| 91精品国产欧美日韩| 亚洲综合无码一区二区| av电影天堂一区二区在线观看| 日韩一区二区精品在线观看| 亚洲大尺度视频在线观看| 成人小视频免费在线观看| 精品国产麻豆免费人成网站| 婷婷综合久久一区二区三区| 91在线porny国产在线看| 中文无字幕一区二区三区| 久久精品国产精品亚洲红杏| 欧美肥大bbwbbw高潮| 亚洲成av人片一区二区| 欧美体内she精高潮| 亚洲精品少妇30p| 91麻豆高清视频| 亚洲欧美日韩人成在线播放| av电影在线不卡| 亚洲摸摸操操av| 色偷偷久久人人79超碰人人澡| **欧美大码日韩| 一本一道波多野结衣一区二区| 18成人在线观看| 91麻豆精品视频| 亚洲成人自拍偷拍| 日韩精品在线一区二区| 裸体健美xxxx欧美裸体表演| 日韩欧美黄色影院| 精品一区二区三区影院在线午夜| 精品国产凹凸成av人导航| 国产伦理精品不卡| 国产欧美日本一区二区三区| 国产ts人妖一区二区| 中文字幕一区二区三区蜜月 | 国产裸体歌舞团一区二区| 国产日产精品一区| 99九九99九九九视频精品| 亚洲免费观看在线视频| 欧美日韩电影一区| 久99久精品视频免费观看| 久久久www免费人成精品| 成人国产在线观看| 亚洲资源在线观看| 欧美成人精品福利| 成人免费看片app下载| 亚洲三级小视频| 91精品福利在线一区二区三区 | 日韩一二三四区| 高清在线成人网| 亚洲同性同志一二三专区| 欧美日韩亚洲综合一区二区三区| 美日韩一区二区| 欧美激情一区二区| 欧美精品色一区二区三区| 国产乱国产乱300精品| 亚洲免费毛片网站| 精品成人一区二区三区四区| 99久久久国产精品免费蜜臀| 日韩国产精品久久久| 国产嫩草影院久久久久| 欧美午夜视频网站| 国产91丝袜在线播放0| 亚洲愉拍自拍另类高清精品| 日韩精品一区在线| 日本高清免费不卡视频| 精品一区二区综合| 亚洲综合视频在线| 久久久精品蜜桃| 欧美一区二区三区免费在线看| 成人毛片视频在线观看| 蜜桃av噜噜一区| 亚洲黄一区二区三区| 久久精品日韩一区二区三区| 欧美三级三级三级| 成人久久久精品乱码一区二区三区| 亚洲一区二区三区四区在线观看 | 高清久久久久久| 日本少妇一区二区| 亚洲精品视频在线| 国产精品久久久久久久久免费桃花| 日韩一卡二卡三卡四卡| 一本一道综合狠狠老| 成人性生交大片免费看在线播放| 久久国产夜色精品鲁鲁99| 亚洲成人免费观看| 一区二区三区免费在线观看| 欧美国产精品专区| 久久久亚洲精品一区二区三区| 欧美少妇bbb| 色综合久久综合| 99久久婷婷国产精品综合| 成人高清视频在线观看| 国产精品自拍av| 国产一区二区三区黄视频 | 91精品欧美综合在线观看最新 | 亚洲黄色小视频| 综合分类小说区另类春色亚洲小说欧美| 久久日韩粉嫩一区二区三区| 精品国产一区二区三区久久久蜜月| 6080午夜不卡| 51精品久久久久久久蜜臀| 欧美三级韩国三级日本一级| 91国产成人在线| 欧美日韩国产精品自在自线| 欧洲国产伦久久久久久久| 欧洲精品一区二区| 欧美色视频在线| 欧美精品粉嫩高潮一区二区| 欧美精品tushy高清| 欧美一区二区高清| 日韩网站在线看片你懂的| 日韩亚洲欧美高清| 精品少妇一区二区三区在线视频| 欧美变态口味重另类| 国产日韩精品视频一区| 国产精品色一区二区三区| 亚洲视频一区在线| 亚洲午夜免费福利视频| 日韩精品视频网| 国产一区二区三区久久久| 不卡电影免费在线播放一区| 99久久亚洲一区二区三区青草| 色婷婷综合久色| 日韩午夜激情av| 久久这里都是精品| 亚洲日本在线a| 日本亚洲三级在线| 床上的激情91.| 欧美日韩精品电影| 欧美成人精品二区三区99精品| 欧美激情一区在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 日韩福利电影在线| 国产成人在线视频免费播放| 日本高清成人免费播放| 日韩一级大片在线观看| 中文字幕一区二区在线播放 | 国产一区二区伦理片| aaa国产一区| 欧美妇女性影城| 日本一区二区三区免费乱视频| 樱花草国产18久久久久| 久久精品国产在热久久| 色婷婷久久久综合中文字幕| 欧美一区二区视频免费观看| 不卡的av在线| 一本色道久久综合亚洲aⅴ蜜桃| 欧美一区二区性放荡片| 国产精品伦一区二区三级视频| 亚洲国产另类av| 成人综合在线视频| 日韩欧美色电影| 一区二区在线观看免费| 激情综合网激情| 欧美日韩中文另类| 1024精品合集| 国产成人亚洲综合a∨猫咪| 欧美日韩一区久久| 国产精品久久久久影院老司| 美女诱惑一区二区| 91精品1区2区| 国产精品电影一区二区三区| 韩国三级电影一区二区| 欧美日韩小视频| 亚洲另类在线一区| 丁香六月综合激情| 26uuu另类欧美亚洲曰本| 偷偷要91色婷婷| 欧美在线视频不卡| 中文字幕视频一区| 国产a精品视频| 久久久影院官网| 韩国在线一区二区| 日韩精品中文字幕一区二区三区 | 欧美高清dvd| 亚洲福利国产精品| 欧美在线不卡一区| 亚洲黄色在线视频| 色婷婷av久久久久久久| 亚洲免费色视频| 91久久香蕉国产日韩欧美9色| 中文字幕一区二区三区精华液| 成人一区在线观看| 国产精品伦一区|