📄 callbacks.c
字号:
voidon_configEncloseEnableCheckBtn_toggled (GtkToggleButton *togglebutton, gpointer user_data){ dbg_out("here\n");}voidon_configCitationCheckBtn_toggled (GtkToggleButton *togglebutton, gpointer user_data){ dbg_out("here\n");}voidon_configLoggingEnableCheckBtn_toggled (GtkToggleButton *togglebutton, gpointer user_data){ dbg_out("here\n");}voidon_configUserEnableCheckBtn_toggled (GtkToggleButton *togglebutton, gpointer user_data){ dbg_out("here\n");}voidon_logFileDialogBtn_pressed (GtkButton *button, gpointer user_data){ GtkWidget *parent_window; GtkWidget *dialog; GtkWidget *file_entry; dbg_out("here\n"); parent_window=lookup_widget(GTK_WIDGET(button),"configWindow1"); dialog = gtk_file_chooser_dialog_new (_("LogFile"), GTK_WINDOW(parent_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); if (gtk_dialog_run(GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { char *filename; filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); file_entry=lookup_widget(GTK_WIDGET(button),"entry1"); gtk_entry_set_text(GTK_ENTRY(file_entry), filename); g_free (filename); } gtk_widget_destroy (dialog);}voidon_logFileDialogBtn_released (GtkButton *button, gpointer user_data){ dbg_out("here\n");}voidon_logFileDialogBtn_clicked (GtkButton *button, gpointer user_data){ dbg_out("here\n");}voidon_entry1_editing_done (GtkCellEditable *celleditable, gpointer user_data){ dbg_out("here\n");}voidon_configAddBcastBtn_clicked (GtkButton *button, gpointer user_data){ GtkEntry *entry; GtkTreeView *treeview; const gchar *txt; dbg_out("here\n"); entry = GTK_ENTRY(lookup_widget(GTK_WIDGET(button),"entry3")); treeview = GTK_TREE_VIEW(lookup_widget(GTK_WIDGET(button),"treeview4")); txt = gtk_entry_get_text(GTK_ENTRY(entry)); if (txt && *txt) { GtkTreeModel *model; GtkTreeIter newrow; if (has_dupulicated_string_in_cell(txt,treeview)){ model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); gtk_list_store_append(GTK_LIST_STORE(model), &newrow); gtk_list_store_set(GTK_LIST_STORE(model), &newrow, 0, txt, -1); gtk_entry_set_text(GTK_ENTRY(entry), ""); /* clear entry */ } }}voidon_configRemoveBcastBtn_pressed (GtkButton *button, gpointer user_data){ dbg_out("here\n");}voidon_configRemoveBcastBtn_released (GtkButton *button, gpointer user_data){ dbg_out("here\n");}voidon_configRemoveBcastBtn_clicked (GtkButton *button, gpointer user_data){ GtkEntry *entry; GtkTreeView *treeview; GtkTreeSelection *sel; GtkTreeModel *model; GtkTreeIter selected_row; dbg_out("here\n"); entry = GTK_ENTRY(lookup_widget(GTK_WIDGET(button),"entry3")); treeview = GTK_TREE_VIEW(lookup_widget(GTK_WIDGET(button),"treeview4")); sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); g_assert(gtk_tree_selection_get_mode(sel) == GTK_SELECTION_SINGLE); if (gtk_tree_selection_get_selected(sel, &model, &selected_row)) { gchar *str_data; gtk_tree_model_get (model, &selected_row, 0, &str_data, -1); gtk_list_store_remove(GTK_LIST_STORE(model), &selected_row); dbg_out("Data:%s\n",str_data); gtk_entry_set_text(GTK_ENTRY(entry), str_data); g_free(str_data); } else { g_assert_not_reached(); } }voidon_configApplySettingBtn_clicked (GtkButton *button, gpointer user_data){ GtkWidget *top; 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; GtkTreeModel *model; GtkTreeIter iter; GSList *addr_top,*addr_list; gchar *string; gboolean valid; dbg_out("here\n"); top=lookup_widget(GTK_WIDGET(button),"configWindow1"); g_assert(top); groupEntry=lookup_widget(GTK_WIDGET(button),"comboboxentry1"); g_assert(groupEntry); nickname_entry=lookup_widget(GTK_WIDGET(button),"entry2"); g_assert(nickname_entry); logfile_entry=lookup_widget(GTK_WIDGET(button),"entry1"); g_assert(logfile_entry); treeview = GTK_TREE_VIEW(lookup_widget(GTK_WIDGET(button),"treeview4")); g_assert(treeview); configOpenCheckChkBtn=lookup_widget(GTK_WIDGET(button),"configOpenCheckChkBtn"); g_assert(configOpenCheckChkBtn); configNonPopupCheckBtn=lookup_widget(GTK_WIDGET(button),"configNonPopupCheckBtn"); g_assert(configNonPopupCheckBtn); configNoSoundCheckBtn=lookup_widget(GTK_WIDGET(button),"configNoSoundCheckBtn"); g_assert(configNoSoundCheckBtn); configEncloseEnableCheckBtn=lookup_widget(GTK_WIDGET(button),"configEncloseEnableCheckBtn"); g_assert(configEncloseEnableCheckBtn); configCitationCheckBtn=lookup_widget(GTK_WIDGET(button),"configCitationCheckBtn"); g_assert(configCitationCheckBtn); configIPV6CheckBtn=lookup_widget(GTK_WIDGET(button),"configIPV6CheckBtn"); g_assert(configIPV6CheckBtn); configDialUpCheckBtn=lookup_widget(GTK_WIDGET(button),"configDialUpCheckBtn"); g_assert(configDialUpCheckBtn); enableLogToggle=lookup_widget(GTK_WIDGET(button),"enableLogToggle"); g_assert(enableLogToggle); loginNameLoggingToggle=lookup_widget(GTK_WIDGET(button),"loginNameLoggingToggle"); g_assert(loginNameLoggingToggle); logIPAddrToggle=lookup_widget(GTK_WIDGET(button),"logIPAddrToggle"); g_assert(logIPAddrToggle); hostinfo_set_nick_name(gtk_entry_get_text (GTK_ENTRY(nickname_entry))); string=gtk_combo_box_get_active_text(GTK_COMBO_BOX(groupEntry)); hostinfo_set_group_name(string); g_free(string); hostinfo_set_ipmsg_logfile(gtk_entry_get_text(GTK_ENTRY(logfile_entry))); hostinfo_set_ipmsg_default_confirm(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configOpenCheckChkBtn))); hostinfo_set_ipmsg_default_popup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configNonPopupCheckBtn))); if (is_sound_system_available()) hostinfo_set_ipmsg_default_sound(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configNoSoundCheckBtn))); hostinfo_set_ipmsg_default_enclose(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configEncloseEnableCheckBtn))); hostinfo_set_ipmsg_default_citation(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configCitationCheckBtn))); hostinfo_set_ipmsg_ipv6_mode(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configIPV6CheckBtn))); hostinfo_set_ipmsg_dialup_mode(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configDialUpCheckBtn))); hostinfo_set_ipmsg_enable_log(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(enableLogToggle))); hostinfo_set_ipmsg_logname_logging(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(loginNameLoggingToggle))); hostinfo_set_ipmsg_ipaddr_logging(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(logIPAddrToggle))); addr_top = NULL; model = gtk_tree_view_get_model(treeview); valid = gtk_tree_model_get_iter_first (model, &iter); while(valid) { gchar *str_data; gtk_tree_model_get (model, &iter, 0, &str_data, -1); dbg_out("Addr:%s\n",str_data); addr_top=g_slist_append(addr_top,str_data); valid = gtk_tree_model_iter_next (model, &iter); } if (addr_top) { hostinfo_set_ipmsg_broadcast_list(addr_top); addr_list=addr_top; while(addr_list) { g_free(addr_list->data); addr_list=g_slist_next(addr_list); } g_slist_free(addr_top); g_assert(g_slist_length(addr_top)==1); } ipmsg_send_br_absence(udp_con,0); gtk_widget_destroy(top);}voidon_configApplySettingBtn_pressed (GtkButton *button, gpointer user_data){ dbg_out("here\n");}voidon_configApplySettingBtn_released (GtkButton *button, gpointer user_data){ dbg_out("here\n");}voidon_configCancelBtn_pressed (GtkButton *button, gpointer user_data){ dbg_out("here\n");}voidon_configCancelBtn_released (GtkButton *button, gpointer user_data){ dbg_out("here\n");}voidon_configCancelBtn_clicked (GtkButton *button, gpointer user_data){ GtkWidget *top; dbg_out("here\n"); top=lookup_widget(GTK_WIDGET(button),"configWindow1"); g_assert(top); gtk_widget_destroy(top);}GtkWidget *internal_create_messageWindow(void){ GtkWidget *messageWindow; GtkWidget *userview; GtkWidget *textview; GtkWidget *usersEntry; GtkWidget *usersVPane; gint width,height; messageWindow = create_messageWindow (); g_assert(messageWindow); userview = lookup_widget(messageWindow,"messageUserTree"); g_assert(userview); textview = lookup_widget(messageWindow,"textview1"); g_assert(textview); usersVPane = lookup_widget(messageWindow,"vpaned1"); g_assert(usersVPane); setup_message_tree_view(userview); gtk_drag_dest_set(userview, GTK_DEST_DEFAULT_ALL, targetentries, 1, GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK); gtk_drag_dest_set(usersVPane, GTK_DEST_DEFAULT_ALL, targetentries, 1, GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK); gtk_tree_view_set_column_drag_function(GTK_TREE_VIEW(userview),NULL,NULL,NULL); gtk_drag_dest_unset(textview); gtk_drag_dest_set(textview, GTK_DEST_DEFAULT_ALL, targetentries, 1, GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK); if (!hostinfo_get_ipmsg_message_window_size(&width,&height)){ dbg_out("Resize:(%d,%d)\n",width,height); gtk_window_resize (GTK_WINDOW(messageWindow),width,height); } gtk_widget_set_events (GTK_WIDGET(messageWindow),GDK_KEY_RELEASE); gtk_signal_connect (GTK_OBJECT (messageWindow), "key_release_event", GTK_SIGNAL_FUNC (on_messageWindow_key_release_event), NULL); /* * 表示を中央寄せに設定 */ usersEntry=lookup_widget(GTK_WIDGET(messageWindow),"messageWinUsersEntry"); g_assert(usersEntry); gtk_entry_set_alignment(GTK_ENTRY(usersEntry),0.5); userdb_add_waiter_window(messageWindow); return messageWindow;}voidon_startBtn_clicked (GtkButton *button, gpointer user_data){ GtkWidget *messageWindow; /* We can not use button widget because this is called from applet/systray */ dbg_out("here\n"); if (recv_windows_are_stored()) { show_stored_windows(); } else { messageWindow = internal_create_messageWindow(); g_assert(messageWindow); gtk_widget_show (messageWindow); update_users_on_message_window(messageWindow,FALSE); }}static voidonAttachFileSelectionChanged (GtkTreeSelection *sel, GtkListStore *liststore){ 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),"AttachFileRemoveBtn"); 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); }}static GtkWidget *setup_attachment_editor(GtkWidget *mainwindow){ GtkWidget *attachment_editor; GtkWidget *mainframe; GtkWidget *entry; GtkTreeView *view; GtkListStore *liststore; GtkTreeViewColumn *col; GtkCellRenderer *renderer; GtkTreeSelection *sel; gint width,height; dbg_out("here\n"); attachment_editor = (GtkWidget*) g_object_get_data (G_OBJECT (mainwindow), "attach_win"); if (attachment_editor) { gtk_widget_grab_focus (attachment_editor); gtk_window_present (GTK_WINDOW(attachment_editor)); /* 前面移動 */ return attachment_editor; } dbg_out("Create new editor\n"); attachment_editor=create_attachFileEditor (); g_assert(attachment_editor); view=GTK_TREE_VIEW(lookup_widget(attachment_editor,"attachedFilesView")); g_assert(view); liststore = gtk_list_store_new(3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); 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();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -