?? callbacks.c
字號:
if (rc<0) ipmsg_err_dialog(_("Can not handle drag data %s (%d)"),strerror(-rc),-rc); return rc;}voidon_close1_activate (GtkMenuItem *menuitem, gpointer user_data){ GtkWidget *top; dbg_out("here\n"); top=lookup_widget(GTK_WIDGET(menuitem),"messageWindow"); g_assert(top); gtk_widget_destroy(top);}voidon_attachFileEditor_destroy (GtkObject *object, gpointer user_data){ GtkWidget *mainwindow; GtkWidget *attachment_editor; dbg_out("here\n"); mainwindow = (GtkWidget*) g_object_get_data (G_OBJECT (object), "main_win"); g_assert(mainwindow); dbg_out("Remove Assosiation\n"); attachment_editor = (GtkWidget*) g_object_get_data (G_OBJECT (mainwindow), "attach_win"); g_assert(attachment_editor); g_object_set_data (G_OBJECT (attachment_editor), "main_win", NULL); g_object_set_data (G_OBJECT (mainwindow), "attach_win", NULL); attachment_editor = (GtkWidget*) g_object_get_data (G_OBJECT (mainwindow), "attach_win"); g_assert(!attachment_editor);}voidon_attachFileEditor_show (GtkWidget *widget, gpointer user_data){ GtkWidget *attachment_editor; GtkWidget *add_btn; GtkWidget *remove_btn; GtkWidget *view; GtkWidget *entry; GtkTreeSelection *sel; GtkTreeModel *model; GtkTreeIter selected_row; size_t size; time_t mtime; int type; int rc; gchar *filepath; dbg_out("here\n"); /* * setup button/entry */ attachment_editor=lookup_widget(widget,"attachFileEditor"); g_assert(attachment_editor); add_btn=lookup_widget(GTK_WIDGET(attachment_editor),"AttachFIleAddBtn"); g_assert(add_btn); remove_btn=lookup_widget(GTK_WIDGET(attachment_editor),"AttachFileRemoveBtn"); g_assert(remove_btn); entry=lookup_widget(GTK_WIDGET(attachment_editor),"AttachFilePathEntry"); g_assert(entry); filepath=(char *)gtk_entry_get_text(GTK_ENTRY(entry)); rc=get_file_info(filepath,&size,&mtime,&type); if ( (rc) || (!is_supported_file_type(type)) ) gtk_widget_set_sensitive(add_btn,FALSE); else gtk_widget_set_sensitive(add_btn,TRUE); view=lookup_widget(GTK_WIDGET(attachment_editor),"attachedFilesView"); g_assert(GTK_TREE_VIEW(view)); sel=gtk_tree_view_get_selection(GTK_TREE_VIEW(view)); g_assert(gtk_tree_selection_get_mode(sel) == GTK_SELECTION_SINGLE); if (gtk_tree_selection_get_selected(sel, &model, &selected_row)) gtk_widget_set_sensitive(remove_btn,TRUE); else gtk_widget_set_sensitive(remove_btn,FALSE);}voidon_AttachFIleAddBtn_clicked (GtkButton *button, gpointer user_data){ GtkWidget *parent_window; GtkWidget *file_entry; char *filename; dbg_out("here\n"); parent_window=lookup_widget(GTK_WIDGET(button),"attachFileEditor"); file_entry=lookup_widget(GTK_WIDGET(button),"AttachFilePathEntry"); filename=(char *)gtk_entry_get_text(GTK_ENTRY(file_entry)); on_add_new_file(filename,parent_window,TRUE);}voidon_AttachFileRemoveBtn_clicked (GtkButton *button, gpointer user_data){ GtkTreeIter selected_row; GtkWidget *view; GtkTreeSelection *sel; GtkTreeModel *model; GtkWidget *remove_btn; GtkWidget *file_entry; dbg_out("here\n"); view=lookup_widget(GTK_WIDGET(button),"attachedFilesView"); g_assert(view); remove_btn=lookup_widget(GTK_WIDGET(button),"AttachFileRemoveBtn"); g_assert(remove_btn); sel=gtk_tree_view_get_selection(GTK_TREE_VIEW(view)); g_assert(sel); file_entry=lookup_widget(GTK_WIDGET(button),"AttachFilePathEntry"); g_assert(file_entry); g_assert(gtk_tree_selection_get_mode(sel) == GTK_SELECTION_SINGLE); if (gtk_tree_selection_get_selected(sel, &model, &selected_row)) { gchar *tree_path; gtk_tree_model_get (model, &selected_row, 0, &tree_path, -1); dbg_out("Selected: %s\n",tree_path); gtk_entry_set_text(GTK_ENTRY(file_entry), tree_path); g_free(tree_path); gtk_list_store_remove(GTK_LIST_STORE(model), &selected_row); gtk_widget_set_sensitive(remove_btn, FALSE); }}static int on_attach_window_drag_data_received(GtkWidget *widget,GtkSelectionData *data){ GtkWidget *attachment_editor; int rc; if (!data) return -EINVAL; dbg_out("here:data %s\n",(char *)data->data); attachment_editor=lookup_widget(widget,"attachFileEditor"); g_assert(attachment_editor); gtk_widget_show(attachment_editor); rc=handle_attachment_drag_data(data,attachment_editor); if (rc<0) ipmsg_err_dialog(_("Can not handle drag data %s (%d)"),strerror(-rc),-rc); return rc;}voidon_attachedFilesView_drag_data_received (GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, GtkSelectionData *data, guint info, guint time, gpointer user_data){ int rc; dbg_out("here\n"); if (!data) return; rc=on_attach_window_drag_data_received(widget,data); if (rc<0) ipmsg_err_dialog(_("Can not handle drag data %s (%d)"),strerror(-rc),-rc); return;}static intelapsed_time(struct timeval *old,struct timeval *new,struct timeval *elaps){ time_t sec; suseconds_t usec; if ( (!old) || (!new) || (!elaps) ) return -EINVAL; if ( (!(old->tv_sec)) && (!(old->tv_usec)) ) return -ENOENT; sec=new->tv_sec; if (old->tv_usec > new->tv_usec) { --sec; usec=1000*1000 +(new->tv_usec - old->tv_usec); }else{ usec= new->tv_usec - old->tv_usec ; } sec -= old->tv_sec; elaps->tv_sec=sec; elaps->tv_usec=usec; return 0;}voidon_DownLoadOKBtn_clicked (GtkButton *button, gpointer user_data){ dbg_out("Recv start"); recv_attachments(button);}voidon_DownLoadCancelBtn_clicked (GtkButton *button, gpointer user_data){ GtkWidget *window; dbg_out("here:\n"); window=lookup_widget(GTK_WIDGET(button),"downloadWindow"); g_assert(window); gtk_widget_destroy (window); }voidon_DownLoadOpenBtn_clicked (GtkButton *button, gpointer user_data){ int rc; GtkWidget *parent_window; GtkWidget *dialog; GtkWidget *file_entry; struct stat stat_buf; dbg_out("here\n"); parent_window=lookup_widget(GTK_WIDGET(button),"downloadWindow"); file_entry=lookup_widget(GTK_WIDGET(button),"DownLoadDirectoryEntry"); /* * なんで, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDERが * アンドキュメンテッドなの? */ dialog = gtk_file_chooser_dialog_new ("Download Directory", GTK_WINDOW(parent_window), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); if (gtk_dialog_run(GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { char *filename; filename = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog)); rc=stat(filename,&stat_buf); if (rc<0) goto free_file_out; if (!(S_ISDIR(stat_buf.st_mode))) goto free_file_out; gtk_entry_set_text(GTK_ENTRY(file_entry), filename); free_file_out: g_free (filename); } gtk_widget_destroy (dialog);}voidon_attachFileEditorMainFrame_drag_data_received (GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, GtkSelectionData *data, guint info, guint time, gpointer user_data){ int rc; dbg_out("here\n"); if (!data) return; rc=on_attach_window_drag_data_received(widget,data); if (rc<0) ipmsg_err_dialog(_("Can not handle drag data %s (%d)"),strerror(-rc),-rc); return;}voidon_entry3_activate (GtkEntry *entry, gpointer user_data){ GtkTreeView *treeview; const gchar *txt; dbg_out("here\n"); g_assert(entry); treeview = GTK_TREE_VIEW(lookup_widget(GTK_WIDGET(entry),"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_entry3_changed (GtkEditable *editable, gpointer user_data){ GtkWidget *addr_entry; GtkWidget *configAddBcastBtn; gchar *addr; configAddBcastBtn=lookup_widget(GTK_WIDGET(editable),"configAddBcastBtn"); g_assert(configAddBcastBtn); addr_entry=lookup_widget(GTK_WIDGET(editable),"entry3"); g_assert(addr_entry); addr=(char *)gtk_entry_get_text(GTK_ENTRY(addr_entry)); if ( (addr) && (*addr) ) gtk_widget_set_sensitive(configAddBcastBtn,TRUE); else gtk_widget_set_sensitive(configAddBcastBtn,FALSE);}voidon_downloadMonitor_destroy (GtkObject *object, gpointer user_data){ GtkWidget *window; dbg_out("here\n"); window=lookup_widget(GTK_WIDGET(object),"downloadMonitor"); download_monitor_remove_waiter_window(window);}voidon_downloadMonitor_show (GtkWidget *widget, gpointer user_data){ GtkWidget *window; download_monitor_update_state();}voidon_deleteBtn_clicked (GtkButton *button, gpointer user_data){ download_monitor_delete_btn_action(button,user_data); }voidon_updateBtn_clicked (GtkButton *button, gpointer user_data){ download_monitor_update_state();}voidon_closeBtn_clicked (GtkButton *button, gpointer user_data){ GtkWidget *window; window=lookup_widget(GTK_WIDGET(button),"downloadMonitor"); g_assert(window); gtk_widget_destroy(GTK_WIDGET(window));}voidon_initialWindow_check_resize (GtkContainer *container, gpointer user_data){ dbg_out("here\n");}voidon_downloadWindow_check_resize (GtkContainer *container, gpointer user_data){ dbg_out("here\n");}voidon_aboutdialog_check_resize (GtkContainer *container, gpointer user_data){ dbg_out("here\n");}voidon_viewWindow_check_resize (GtkContainer *container, gpointer user_data){ dbg_out("here\n");}voidon_attachFileEditor_check_resize (GtkContainer *container, gpointer user_data){ dbg_out("here\n");}voidon_downloadMonitor_check_resize (GtkContainer *container, gpointer user_data){ dbg_out("here\n");}voidon_initialWindow_size_allocate (GtkWidget *widget, GdkRectangle *allocation, gpointer
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -