📄 filter-windows.c
字号:
combo4_items = g_list_append (combo4_items, _("Folder4")); gtk_combo_set_popdown_strings (GTK_COMBO (combo4), combo4_items); g_list_free (combo4_items); folder = GTK_COMBO (combo4)->entry; gtk_widget_set_name (folder, "folder"); gtk_widget_ref (folder); gtk_object_set_data_full (GTK_OBJECT (rule_editor), "folder", folder, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (folder); gtk_entry_set_text (GTK_ENTRY (folder), _("Folder1")); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow1, "scrolledwindow1"); gtk_widget_ref (scrolledwindow1); gtk_object_set_data_full (GTK_OBJECT (rule_editor), "scrolledwindow1", scrolledwindow1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow1); gtk_table_attach (GTK_TABLE (table1), scrolledwindow1, 1, 3, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); human_readable = gtk_text_new (NULL, NULL); gtk_widget_set_name (human_readable, "human_readable"); gtk_widget_ref (human_readable); gtk_object_set_data_full (GTK_OBJECT (rule_editor), "human_readable", human_readable, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (human_readable); gtk_container_add (GTK_CONTAINER (scrolledwindow1), human_readable); drawingarea1 = gtk_drawing_area_new (); gtk_widget_set_name (drawingarea1, "drawingarea1"); gtk_widget_ref (drawingarea1); gtk_object_set_data_full (GTK_OBJECT (rule_editor), "drawingarea1", drawingarea1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (drawingarea1); gtk_table_attach (GTK_TABLE (table1), drawingarea1, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); drawingarea2 = gtk_drawing_area_new (); gtk_widget_set_name (drawingarea2, "drawingarea2"); gtk_widget_ref (drawingarea2); gtk_object_set_data_full (GTK_OBJECT (rule_editor), "drawingarea2", drawingarea2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (drawingarea2); gtk_table_attach (GTK_TABLE (table1), drawingarea2, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); drawingarea3 = gtk_drawing_area_new (); gtk_widget_set_name (drawingarea3, "drawingarea3"); gtk_widget_ref (drawingarea3); gtk_object_set_data_full (GTK_OBJECT (rule_editor), "drawingarea3", drawingarea3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (drawingarea3); gtk_table_attach (GTK_TABLE (table1), drawingarea3, 2, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); entry = gtk_entry_new (); gtk_widget_set_name (entry, "entry"); gtk_widget_ref (entry); gtk_object_set_data_full (GTK_OBJECT (rule_editor), "entry", entry, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (entry); gtk_table_attach (GTK_TABLE (table1), entry, 1, 3, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); dialog_action_area1 = GTK_DIALOG (rule_editor)->action_area; gtk_widget_set_name (dialog_action_area1, "dialog_action_area1"); gtk_object_set_data (GTK_OBJECT (rule_editor), "dialog_action_area1", dialog_action_area1); gtk_widget_show (dialog_action_area1); gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area1), 10); ok_button = gtk_button_new_with_label (_("Ok")); gtk_widget_set_name (ok_button, "ok_button"); gtk_widget_ref (ok_button); gtk_object_set_data_full (GTK_OBJECT (rule_editor), "ok_button", ok_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ok_button); gtk_box_pack_start (GTK_BOX (dialog_action_area1), ok_button, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (ok_button, GTK_CAN_DEFAULT); cancel_button = gtk_button_new_with_label (_("Cancel")); gtk_widget_set_name (cancel_button, "cancel_button"); gtk_widget_ref (cancel_button); gtk_object_set_data_full (GTK_OBJECT (rule_editor), "cancel_button", cancel_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel_button); gtk_box_pack_start (GTK_BOX (dialog_action_area1), cancel_button, TRUE, TRUE, 0); gtk_widget_grab_focus (ok_button); gtk_widget_grab_default (ok_button); return rule_editor;}GtkWidget *rule_editor_create (FilterRule *ok_data, FilterRule *cancel_data) { GtkWidget *widget=create_rule_editor (); GList *folders=folder_create_glist (); char *hr; g_return_val_if_fail (ok_data != NULL, NULL); gtk_combo_set_popdown_strings (GTK_COMBO (lw (widget, "combo4")), folders); if (ok_data->folder) gtk_entry_set_text (GTK_ENTRY (lw (widget, "folder")), ok_data->folder); if (ok_data->text) gtk_entry_set_text (GTK_ENTRY (lw (widget, "entry")), ok_data->text); switch (ok_data->matchline) { case F_SUBJECT: gtk_entry_set_text (GTK_ENTRY (lw (widget, "search_target")), "Subject"); break; case F_FROM: gtk_entry_set_text (GTK_ENTRY (lw (widget, "search_target")), "From"); break; case F_REPLYTO: gtk_entry_set_text (GTK_ENTRY (lw (widget, "search_target")), "Reply-To"); break; case F_TO: gtk_entry_set_text (GTK_ENTRY (lw (widget, "search_target")), "To"); break; case F_CC: gtk_entry_set_text (GTK_ENTRY (lw (widget, "search_target")),"Cc"); break; case F_BCC: gtk_entry_set_text (GTK_ENTRY (lw (widget, "search_target")), "Bcc"); break; case F_MSG: gtk_entry_set_text(GTK_ENTRY (lw (widget, "search_target")), "Message"); break; case F_KEY: gtk_entry_set_text(GTK_ENTRY (lw (widget, "search_target")), "Keywords"); break; } switch (ok_data->type) { case F_AND: gtk_entry_set_text (GTK_ENTRY (lw (widget, "search_type")), "Contains"); break; case F_NOT: gtk_entry_set_text (GTK_ENTRY (lw (widget, "search_type")), "Does Not Contain"); break; case F_EQUAL: gtk_entry_set_text (GTK_ENTRY (lw (widget, "search_type")), "Matches Exactly"); break; } switch (ok_data->action) { case F_ACTION_MOVE: gtk_entry_set_text (GTK_ENTRY (lw (widget, "action")), "Move Message to Folder"); break; case F_ACTION_DELETE: gtk_entry_set_text (GTK_ENTRY (lw (widget, "action")), "Delete Message"); break; } hr=filter_to_hr (ok_data); gtk_text_insert (GTK_TEXT (lw (widget, "human_readable")), NULL, NULL, NULL, hr, -1); if (hr) free (hr); gtk_signal_connect (GTK_OBJECT (widget), "delete_event", GTK_SIGNAL_FUNC (rule_editor_destroy), cancel_data); gtk_signal_connect (GTK_OBJECT (lw (widget, "search_target")), "changed", GTK_SIGNAL_FUNC (rule_editor_search_target_changed), ok_data); gtk_signal_connect (GTK_OBJECT (lw (widget, "search_type")), "changed", GTK_SIGNAL_FUNC (rule_editor_search_type_changed), ok_data); gtk_signal_connect (GTK_OBJECT (lw (widget, "action")), "changed", GTK_SIGNAL_FUNC (rule_editor_action_changed), ok_data); gtk_signal_connect (GTK_OBJECT (lw (widget, "entry")), "changed", GTK_SIGNAL_FUNC (rule_editor_text_changed), ok_data); gtk_signal_connect (GTK_OBJECT (lw (widget, "folder")), "changed", GTK_SIGNAL_FUNC (rule_editor_folder_changed), ok_data); gtk_signal_connect (GTK_OBJECT (lw (widget, "ok_button")), "clicked", GTK_SIGNAL_FUNC (rule_editor_accept), ok_data); gtk_signal_connect (GTK_OBJECT (lw (widget, "cancel_button")), "clicked", GTK_SIGNAL_FUNC (rule_editor_cancel), cancel_data); clip_handle_editable (lw (widget, "entry")); clip_handle_editable (lw (widget, "human_readable")); gtk_widget_show (widget); return widget;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -