⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imap-window.c

📁 一个功能全面的电子邮件客户端
💻 C
📖 第 1 页 / 共 2 页
字号:
/* 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 + -