📄 imap-window.c
字号:
/* TradeClient <http://tradeclient.sourceforge.net> * $Id: imap-window.c,v 1.5 2001/03/20 22:19:33 ttabner Exp $ * * Copyright (C) 1999-2000 Bynari Inc. * Copyright (C) 2001 Project TradeClient * * LGPL * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Library General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library * General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string.h>#include <gdk/gdkkeysyms.h>#include <gtk/gtk.h>#include "imap-window.h"#include "imap-window-callbacks.h"GtkWidget *create_imap_window (PopAccount * acct, char *mailbox, ImapInfo * imapinfo){ GtkWidget *imap_window; GtkWidget *vbox3; GtkWidget *handlebox5; GtkWidget *menubar3; GtkWidget *file3; GtkWidget *file3_menu; GtkAccelGroup *file3_menu_accels; GtkWidget *m_print; GtkWidget *m_close; GtkWidget *separator6; GtkWidget *m_exit; GtkWidget *actions2; GtkWidget *actions2_menu; GtkAccelGroup *actions2_menu_accels; GtkWidget *m_reply; GtkWidget *m_forward; GtkWidget *m_separator; GtkWidget *m_delete; GtkWidget *handlebox6; GtkWidget *toolbar4; GtkWidget *b_reply; GtkWidget *b_reply_icon; GtkWidget *b_forward; GtkWidget *b_forward_icon; GtkWidget *vseparator1; GtkWidget *b_delete; GtkWidget *b_delete_icon; GtkWidget *scrolledwindow3; GtkWidget *imap_clist; GtkWidget *label9; GtkWidget *label10; GtkWidget *label11; GtkAccelGroup *accel_group; char *title; char *mbox; accel_group = gtk_accel_group_new (); imap_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (imap_window, "imap_window"); gtk_object_set_data (GTK_OBJECT (imap_window), "imap_window", imap_window); mbox = cut_string (mailbox, '}', 2, 1); title = (char *) malloc (1024 * sizeof (char)); snprintf (title, 1024, "IMAP - %s:%s", acct->name, mbox); if (mbox) free (mbox); gtk_window_set_title (GTK_WINDOW (imap_window), title); free (title); gtk_window_set_default_size (GTK_WINDOW (imap_window), 600, 400); vbox3 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox3, "vbox3"); gtk_widget_ref (vbox3); gtk_object_set_data_full (GTK_OBJECT (imap_window), "vbox3", vbox3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox3); gtk_container_add (GTK_CONTAINER (imap_window), vbox3); handlebox5 = gtk_handle_box_new (); gtk_widget_set_name (handlebox5, "handlebox5"); gtk_widget_ref (handlebox5); gtk_object_set_data_full (GTK_OBJECT (imap_window), "handlebox5", handlebox5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (handlebox5); gtk_box_pack_start (GTK_BOX (vbox3), handlebox5, FALSE, TRUE, 0); menubar3 = gtk_menu_bar_new (); gtk_widget_set_name (menubar3, "menubar3"); gtk_widget_ref (menubar3); gtk_object_set_data_full (GTK_OBJECT (imap_window), "menubar3", menubar3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (menubar3); gtk_container_add (GTK_CONTAINER (handlebox5), menubar3); file3 = gtk_menu_item_new_with_label ("File"); gtk_widget_set_name (file3, "file3"); gtk_widget_ref (file3); gtk_object_set_data_full (GTK_OBJECT (imap_window), "file3", file3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (file3); gtk_container_add (GTK_CONTAINER (menubar3), file3); file3_menu = gtk_menu_new (); gtk_widget_set_name (file3_menu, "file3_menu"); gtk_widget_ref (file3_menu); gtk_object_set_data_full (GTK_OBJECT (imap_window), "file3_menu", file3_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (file3), file3_menu); file3_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (file3_menu)); m_print = gtk_menu_item_new_with_label ("Print"); gtk_widget_set_name (m_print, "m_print"); gtk_widget_ref (m_print); gtk_object_set_data_full (GTK_OBJECT (imap_window), "m_print", m_print, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (m_print); gtk_container_add (GTK_CONTAINER (file3_menu), m_print); gtk_widget_add_accelerator (m_print, "activate", accel_group, GDK_P, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); m_close = gtk_menu_item_new_with_label ("Close"); gtk_widget_set_name (m_close, "m_close"); gtk_widget_ref (m_close); gtk_object_set_data_full (GTK_OBJECT (imap_window), "m_close", m_close, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (m_close); gtk_container_add (GTK_CONTAINER (file3_menu), m_close); gtk_widget_add_accelerator (m_close, "activate", accel_group, GDK_W, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); separator6 = gtk_menu_item_new (); gtk_widget_set_name (separator6, "separator6"); gtk_widget_ref (separator6); gtk_object_set_data_full (GTK_OBJECT (imap_window), "separator6", separator6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator6); gtk_container_add (GTK_CONTAINER (file3_menu), separator6); gtk_widget_set_sensitive (separator6, FALSE); m_exit = gtk_menu_item_new_with_label ("Exit TradeClient"); gtk_widget_set_name (m_exit, "m_exit"); gtk_widget_ref (m_exit); gtk_object_set_data_full (GTK_OBJECT (imap_window), "m_exit", m_exit, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (m_exit); gtk_container_add (GTK_CONTAINER (file3_menu), m_exit); actions2 = gtk_menu_item_new_with_label ("Actions"); gtk_widget_set_name (actions2, "actions2"); gtk_widget_ref (actions2); gtk_object_set_data_full (GTK_OBJECT (imap_window), "actions2", actions2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (actions2); gtk_container_add (GTK_CONTAINER (menubar3), actions2); actions2_menu = gtk_menu_new (); gtk_widget_set_name (actions2_menu, "actions2_menu"); gtk_widget_ref (actions2_menu); gtk_object_set_data_full (GTK_OBJECT (imap_window), "actions2_menu", actions2_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (actions2), actions2_menu); actions2_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (actions2_menu)); m_reply = gtk_menu_item_new_with_label ("Reply"); gtk_widget_set_name (m_reply, "m_reply"); gtk_widget_ref (m_reply); gtk_object_set_data_full (GTK_OBJECT (imap_window), "m_reply", m_reply, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (m_reply); gtk_container_add (GTK_CONTAINER (actions2_menu), m_reply); gtk_widget_add_accelerator (m_reply, "activate", accel_group, GDK_R, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); m_forward = gtk_menu_item_new_with_label ("Forward"); gtk_widget_set_name (m_forward, "m_forward"); gtk_widget_ref (m_forward); gtk_object_set_data_full (GTK_OBJECT (imap_window), "m_forward", m_forward, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (m_forward); gtk_container_add (GTK_CONTAINER (actions2_menu), m_forward); gtk_widget_add_accelerator (m_forward, "activate", accel_group, GDK_F, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); m_separator = gtk_menu_item_new (); gtk_widget_set_name (m_separator, "m_separator"); gtk_widget_ref (m_separator); gtk_object_set_data_full (GTK_OBJECT (imap_window), "m_separator", m_separator, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (m_separator); gtk_container_add (GTK_CONTAINER (actions2_menu), m_separator); gtk_widget_set_sensitive (m_separator, FALSE); m_delete = gtk_menu_item_new_with_label ("Delete"); gtk_widget_set_name (m_delete, "m_delete"); gtk_widget_ref (m_delete); gtk_object_set_data_full (GTK_OBJECT (imap_window), "m_delete", m_delete, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (m_delete); gtk_container_add (GTK_CONTAINER (actions2_menu), m_delete); gtk_widget_add_accelerator (m_delete, "activate", accel_group, GDK_D, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); handlebox6 = gtk_handle_box_new (); gtk_widget_set_name (handlebox6, "handlebox6"); gtk_widget_ref (handlebox6); gtk_object_set_data_full (GTK_OBJECT (imap_window), "handlebox6", handlebox6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (handlebox6); gtk_box_pack_start (GTK_BOX (vbox3), handlebox6, FALSE, TRUE, 0); toolbar4 = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH); gtk_widget_set_name (toolbar4, "toolbar4"); gtk_widget_ref (toolbar4); gtk_object_set_data_full (GTK_OBJECT (imap_window), "toolbar4", toolbar4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (toolbar4); gtk_container_add (GTK_CONTAINER (handlebox6), toolbar4); b_reply_icon = pixmap_widget_create (imap_window, PIXMAP_REPLY); gtk_widget_set_name (b_reply_icon, "b_reply_icon"); gtk_widget_ref (b_reply_icon); gtk_object_set_data_full (GTK_OBJECT (imap_window), "b_reply_icon", b_reply_icon, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (b_reply_icon); b_reply = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar4), GTK_TOOLBAR_CHILD_BUTTON, NULL, "Reply", "Reply to selected messages", NULL, b_reply_icon, NULL, NULL); gtk_widget_set_name (b_reply, "b_reply"); gtk_widget_ref (b_reply); gtk_object_set_data_full (GTK_OBJECT (imap_window), "b_reply", b_reply, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (b_reply); b_forward_icon = pixmap_widget_create (imap_window, PIXMAP_FORWARD); gtk_widget_set_name (b_forward_icon, "b_forward_icon"); gtk_widget_ref (b_forward_icon); gtk_object_set_data_full (GTK_OBJECT (imap_window), "b_forward_icon", b_forward_icon, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (b_forward_icon); b_forward = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar4), GTK_TOOLBAR_CHILD_BUTTON, NULL, "Forward", "Forward selected messages", NULL, b_forward_icon, NULL, NULL); gtk_widget_set_name (b_forward, "b_forward"); gtk_widget_ref (b_forward); gtk_object_set_data_full (GTK_OBJECT (imap_window), "b_forward", b_forward, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (b_forward); vseparator1 = gtk_vseparator_new (); gtk_widget_set_name (vseparator1, "vseparator1"); gtk_widget_ref (vseparator1); gtk_object_set_data_full (GTK_OBJECT (imap_window), "vseparator1", vseparator1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vseparator1); gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar4), vseparator1, NULL, NULL); gtk_widget_set_usize (vseparator1, 10, 15); b_delete_icon = pixmap_widget_create (imap_window, PIXMAP_AX); gtk_widget_set_name (b_delete_icon, "b_delete_icon"); gtk_widget_ref (b_delete_icon); gtk_object_set_data_full (GTK_OBJECT (imap_window), "b_delete_icon", b_delete_icon, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (b_delete_icon); b_delete = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar4), GTK_TOOLBAR_CHILD_BUTTON, NULL, "Delete", "Delete selected messages", NULL, b_delete_icon, NULL, NULL); gtk_widget_set_name (b_delete, "b_delete"); gtk_widget_ref (b_delete); gtk_object_set_data_full (GTK_OBJECT (imap_window), "b_delete", b_delete, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (b_delete); scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow3, "scrolledwindow3");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -