📄 dialogs.c
字号:
gtk_object_set_data_full (GTK_OBJECT (yesno), "cancel_button", cancel_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel_button); gtk_box_pack_start (GTK_BOX (hbox1), cancel_button, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel_button, GTK_CAN_DEFAULT); gtk_widget_grab_focus (cancel_button); gtk_widget_grab_default (cancel_button); gtk_signal_connect (GTK_OBJECT (ok_button), "clicked", func, data); gtk_signal_connect (GTK_OBJECT (cancel_button), "clicked", GTK_SIGNAL_FUNC (destroy_yesno), NULL); gtk_signal_connect (GTK_OBJECT (yesno), "delete_event", GTK_SIGNAL_FUNC (destroy_yesno), NULL); return yesno;}void destroy_yesno (GtkWidget *widget, gpointer data) { GtkWidget *window=lookup_widget (widget, "yesno"); gtk_widget_destroy (window);}GtkWidget* create_doc_source (void) { GtkWidget *doc_source; GtkWidget *dialog_vbox1; GtkWidget *frame1; GtkWidget *scrolledwindow1; GtkWidget *source_text; GtkWidget *dialog_action_area1; GtkWidget *close_button; doc_source = gtk_dialog_new (); gtk_widget_set_name (doc_source, "doc_source"); gtk_object_set_data (GTK_OBJECT (doc_source), "doc_source", doc_source); gtk_window_set_title (GTK_WINDOW (doc_source), "Document Source"); gtk_window_set_policy (GTK_WINDOW (doc_source), TRUE, TRUE, FALSE); gtk_widget_set_usize (doc_source, 550, 375); dialog_vbox1 = GTK_DIALOG (doc_source)->vbox; gtk_widget_set_name (dialog_vbox1, "dialog_vbox1"); gtk_object_set_data (GTK_OBJECT (doc_source), "dialog_vbox1", dialog_vbox1); gtk_widget_show (dialog_vbox1); frame1 = gtk_frame_new (NULL); gtk_widget_set_name (frame1, "frame1"); gtk_widget_ref (frame1); gtk_object_set_data_full (GTK_OBJECT (doc_source), "frame1", frame1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), frame1, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame1), 2); gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_ETCHED_OUT); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow1, "scrolledwindow1"); gtk_widget_ref (scrolledwindow1); gtk_object_set_data_full (GTK_OBJECT (doc_source), "scrolledwindow1", scrolledwindow1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow1); gtk_container_add (GTK_CONTAINER (frame1), scrolledwindow1); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow1), 2); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); source_text = gtk_text_new (NULL, NULL); gtk_widget_set_name (source_text, "source_text"); gtk_widget_ref (source_text); gtk_object_set_data_full (GTK_OBJECT (doc_source), "source_text", source_text, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (source_text); gtk_container_add (GTK_CONTAINER (scrolledwindow1), source_text); dialog_action_area1 = GTK_DIALOG (doc_source)->action_area; gtk_widget_set_name (dialog_action_area1, "dialog_action_area1"); gtk_object_set_data (GTK_OBJECT (doc_source), "dialog_action_area1", dialog_action_area1); gtk_widget_show (dialog_action_area1); gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area1), 10); close_button = gtk_button_new_with_label (_("Close")); gtk_widget_set_name (close_button, "close_button"); gtk_widget_ref (close_button); gtk_object_set_data_full (GTK_OBJECT (doc_source), "close_button", close_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (close_button); gtk_box_pack_start (GTK_BOX (dialog_action_area1), close_button, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT); gtk_widget_grab_focus (close_button); gtk_widget_grab_default (close_button); return doc_source;}void create_docsource_stream (char *stream) { GtkWidget *widget=create_doc_source (); gtk_signal_connect (GTK_OBJECT (widget), "delete_event", GTK_SIGNAL_FUNC (docsource_destroy), NULL); gtk_signal_connect (GTK_OBJECT (lookup_widget (widget, "close_button")), "clicked", GTK_SIGNAL_FUNC (docsource_destroy), NULL); gtk_text_insert (GTK_TEXT (lookup_widget (widget, "source_text")), NULL, NULL, NULL, stream, -1); free (stream); gtk_widget_show (widget);}GtkWidget* create_mime_popup (void) { GtkWidget *mime_popup; GtkAccelGroup *mime_popup_accels; GtkWidget *menuitem1; GtkWidget *menuitem2; GtkWidget *menuitem3; GtkWidget *mimetitle, *mimesep; mime_popup = gtk_menu_new (); gtk_widget_set_name (mime_popup, "mime_popup"); gtk_object_set_data (GTK_OBJECT (mime_popup), "mime_popup", mime_popup); mime_popup_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (mime_popup)); mimetitle = gtk_menu_item_new_with_label (_("MIME Actions")); gtk_widget_set_name (mimetitle, "mimetitle"); gtk_widget_ref (mimetitle); gtk_object_set_data_full (GTK_OBJECT (mime_popup), "mimetitle", mimetitle, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (mimetitle); gtk_container_add (GTK_CONTAINER (mime_popup), mimetitle); mimesep = gtk_menu_item_new(); gtk_widget_set_name (mimesep, "mimesep"); gtk_widget_ref (mimesep); gtk_object_set_data_full (GTK_OBJECT (mime_popup), "mimesep", mimesep, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (mimesep); gtk_container_add (GTK_CONTAINER (mime_popup), mimesep); menuitem1 = gtk_menu_item_new_with_label (_("Save Attachment to Disk")); gtk_widget_set_name (menuitem1, "menuitem1"); gtk_widget_ref (menuitem1); gtk_object_set_data_full (GTK_OBJECT (mime_popup), "menuitem1", menuitem1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (menuitem1); gtk_container_add (GTK_CONTAINER (mime_popup), menuitem1); menuitem2 = gtk_menu_item_new_with_label (_("View")); gtk_widget_set_name (menuitem2, "menuitem2"); gtk_widget_ref (menuitem2); gtk_object_set_data_full (GTK_OBJECT (mime_popup), "menuitem2", menuitem2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (menuitem2); gtk_container_add (GTK_CONTAINER (mime_popup), menuitem2); menuitem2 = gtk_menu_item_new_with_label (_("View Source")); gtk_widget_set_name (menuitem2, "menuitem4"); gtk_widget_ref (menuitem2); gtk_object_set_data_full (GTK_OBJECT (mime_popup), "menuitem4", menuitem2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (menuitem2); gtk_container_add (GTK_CONTAINER (mime_popup), menuitem2); menuitem3 = gtk_menu_item_new_with_label (_("Open With...")); gtk_widget_set_name (menuitem3, "menuitem3"); gtk_widget_ref (menuitem3); gtk_object_set_data_full (GTK_OBJECT (mime_popup), "menuitem3", menuitem3, (GtkDestroyNotify) gtk_widget_unref);#if 0 gtk_widget_show (menuitem3); gtk_container_add (GTK_CONTAINER (mime_popup), menuitem3);#endif return mime_popup;}GtkWidget *mime_popup_new (Attachment *att) { GtkWidget *popup=create_mime_popup (); if (GTK_IS_WIDGET (tm_globs->mime_popup)) gtk_widget_destroy (tm_globs->mime_popup); tm_globs->mime_popup=popup; gtk_signal_connect (GTK_OBJECT (lookup_widget (popup, "menuitem1")), "activate", GTK_SIGNAL_FUNC (attachment_save), (gpointer)att); gtk_signal_connect (GTK_OBJECT (lookup_widget (popup, "menuitem2")), "activate", GTK_SIGNAL_FUNC (attachment_view), (gpointer)att); gtk_signal_connect (GTK_OBJECT (lookup_widget (popup, "menuitem3")), "activate", GTK_SIGNAL_FUNC (attachment_open_with), (gpointer)att); gtk_signal_connect (GTK_OBJECT (lookup_widget (popup, "menuitem4")), "activate", GTK_SIGNAL_FUNC (attachment_view_source), (gpointer)att); return popup;}GtkWidget* create_mime_unknown_window (void) { GtkWidget *mime_unknown_window; GtkWidget *dialog_vbox1; GtkWidget *frame1; GtkWidget *vbox1; GtkWidget *label1; GtkWidget *hseparator1; GtkWidget *hbox1; GSList *action_group = NULL; GtkWidget *rs_radio; GtkWidget *label2; GtkWidget *hbox2; GtkWidget *ri_radio; GtkWidget *label3; GtkWidget *hbox3; GtkWidget *re_radio; GtkWidget *label4; GtkWidget *hbox5; GtkWidget *handler; GtkWidget *browse; GtkWidget *hbox4; GtkWidget *store_mime; GtkWidget *label5; GtkWidget *dialog_action_area1; GtkWidget *ok_button; GtkWidget *cancel_button; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); mime_unknown_window = gtk_dialog_new (); gtk_widget_set_name (mime_unknown_window, "mime_unknown_window"); gtk_object_set_data (GTK_OBJECT (mime_unknown_window), "mime_unknown_window", mime_unknown_window); gtk_window_set_title (GTK_WINDOW (mime_unknown_window), _("Unknown MIME Type")); gtk_window_set_modal (GTK_WINDOW (mime_unknown_window), TRUE); gtk_window_set_policy (GTK_WINDOW (mime_unknown_window), TRUE, TRUE, TRUE); dialog_vbox1 = GTK_DIALOG (mime_unknown_window)->vbox; gtk_widget_set_name (dialog_vbox1, "dialog_vbox1"); gtk_object_set_data (GTK_OBJECT (mime_unknown_window), "dialog_vbox1", dialog_vbox1); gtk_widget_show (dialog_vbox1); frame1 = gtk_frame_new (NULL); gtk_widget_set_name (frame1, "frame1"); gtk_widget_ref (frame1); gtk_object_set_data_full (GTK_OBJECT (mime_unknown_window), "frame1", frame1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), frame1, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame1), 2); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox1, "vbox1"); gtk_widget_ref (vbox1); gtk_object_set_data_full (GTK_OBJECT (mime_unknown_window), "vbox1", vbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (frame1), vbox1); gtk_container_set_border_width (GTK_CONTAINER (vbox1), 2); label1 = gtk_label_new (_("A Definition for this MIME Type has not been\ndefined yet. What would you like to do with this\nAttachment?")); gtk_widget_set_name (label1, "label1"); gtk_widget_ref (label1); gtk_object_set_data_full (GTK_OBJECT (mime_unknown_window), "label1", label1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label1); gtk_box_pack_start (GTK_BOX (vbox1), label1, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_LEFT); hseparator1 = gtk_hseparator_new (); gtk_widget_set_name (hseparator1, "hseparator1"); gtk_widget_ref (hseparator1); gtk_object_set_data_full (GTK_OBJECT (mime_unknown_window), "hseparator1", hseparator1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator1); gtk_box_pack_start (GTK_BOX (vbox1), hseparator1, FALSE, TRUE, 0); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox1, "hbox1"); gtk_widget_ref (hbox1); gtk_object_set_data_full (GTK_OBJECT (mime_unknown_window), "hbox1", hbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox1); gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, FALSE, 0); rs_radio = gtk_radio_button_new_with_label (action_group, ""); action_group = gtk_radio_button_group (GTK_RADIO_BUTTON (rs_radio)); gtk_widget_set_name (rs_radio, "rs_radio"); gtk_widget_ref (rs_radio); gtk_object_set_data_full (GTK_OBJECT (mime_unknown_window), "rs_radio", rs_radio,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -