From 0b3cbf57875fd692e4ba0b336fefa4bee1ed00dc Mon Sep 17 00:00:00 2001 From: Simeon Simeonov Date: Mon, 26 Feb 2018 11:23:00 +0100 Subject: Initial commit for sylpheed 3.7.0 --- src/mainwindow.h | 192 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 src/mainwindow.h (limited to 'src/mainwindow.h') diff --git a/src/mainwindow.h b/src/mainwindow.h new file mode 100644 index 0000000..bc0107d --- /dev/null +++ b/src/mainwindow.h @@ -0,0 +1,192 @@ +/* + * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client + * Copyright (C) 1999-2012 Hiroyuki Yamamoto + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU 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 General Public License for more details. + * + * You should have received a copy of the GNU 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. + */ + +#ifndef __MAINWINDOW_H__ +#define __MAINWINDOW_H__ + +#include +#include +#include +#include + +typedef struct _MainWindow MainWindow; + +#include "enums.h" +#include "folderview.h" +#include "summaryview.h" +#include "headerview.h" +#include "messageview.h" +#include "logwindow.h" +#include "trayicon.h" +#include "gtkutils.h" + +typedef enum +{ + SEPARATE_NONE = 0, + SEPARATE_FOLDER = 1 << 0, + SEPARATE_MESSAGE = 1 << 1, + SEPARATE_BOTH = (SEPARATE_FOLDER | SEPARATE_MESSAGE) +} SeparateType; + +struct _MainWindow +{ + SeparateType type; + + union CompositeWin { + struct + { + GtkWidget *hpaned; + GtkWidget *vpaned; + } sep_none; + struct { + GtkWidget *folderwin; + GtkWidget *vpaned; + } sep_folder; + struct { + GtkWidget *messagewin; + GtkWidget *hpaned; + } sep_message; + struct { + GtkWidget *folderwin; + GtkWidget *messagewin; + } sep_both; + } win; + + GtkWidget *window; + GtkWidget *vbox; + GtkWidget *menubar; + + GtkItemFactory *menu_factory; + + /* toolbar */ + GtkWidget *toolbar; + GtkWidget *get_btn; + GtkWidget *getall_btn; + GtkWidget *rpop3_btn; + GtkWidget *send_btn; + GtkWidget *compose_btn; + GtkWidget *reply_btn; + ComboButton *reply_combo; + GtkWidget *replyall_btn; + GtkWidget *fwd_btn; + ComboButton *fwd_combo; + GtkWidget *delete_btn; + GtkWidget *junk_btn; + GtkWidget *notjunk_btn; + GtkWidget *exec_btn; + GtkWidget *next_btn; + GtkWidget *prev_btn; + GtkWidget *address_btn; + GtkWidget *search_btn; + GtkWidget *print_btn; + GtkWidget *stop_btn; + GtkWidget *prefs_common_btn; + GtkWidget *prefs_account_btn; + + /* body */ + GtkWidget *vbox_body; + GtkWidget *statusbar; + GtkWidget *progressbar; + GtkWidget *statuslabel; + GtkWidget *online_switch; + GtkWidget *online_pixmap; + GtkWidget *offline_pixmap; + GtkTooltips *online_tip; + GtkWidget *ac_button; + GtkWidget *ac_label; + GtkWidget *ac_menu; + + TrayIcon *tray_icon; + + /* context IDs for status bar */ + gint mainwin_cid; + gint folderview_cid; + gint summaryview_cid; + gint messageview_cid; + + ToolbarStyle toolbar_style; + + guint lock_count; + guint menu_lock_count; + guint cursor_count; + + gboolean window_hidden; + gboolean window_obscured; + + FolderView *folderview; + SummaryView *summaryview; + MessageView *messageview; + LogWindow *logwin; + + GtkTooltips *toolbar_tip; +}; + +MainWindow *main_window_create (SeparateType type); + +void main_window_cursor_wait (MainWindow *mainwin); +void main_window_cursor_normal (MainWindow *mainwin); + +void main_window_lock (MainWindow *mainwin); +void main_window_unlock (MainWindow *mainwin); + +void main_window_reflect_prefs_all (void); +void main_window_set_summary_column (void); +void main_window_set_account_menu (GList *account_list); + +void main_window_change_cur_account (void); + +MainWindow *main_window_get (void); + +GtkWidget *main_window_get_folder_window (MainWindow *mainwin); +GtkWidget *main_window_get_message_window (MainWindow *mainwin); + +void main_window_hide (MainWindow *mainwin); +void main_window_change_layout (MainWindow *mainwin, + LayoutType layout, + SeparateType type); + +void main_window_toggle_message_view (MainWindow *mainwin); + +void main_window_get_size (MainWindow *mainwin); +void main_window_get_position (MainWindow *mainwin); + +void main_window_progress_on (MainWindow *mainwin); +void main_window_progress_off (MainWindow *mainwin); +void main_window_progress_set (MainWindow *mainwin, + gint cur, + gint total); + +void main_window_progress_show (gint cur, + gint total); + +void main_window_toggle_online (MainWindow *mainwin, + gboolean online); +gboolean main_window_toggle_online_if_offline (MainWindow *mainwin); + +void main_window_empty_trash (MainWindow *mainwin, + gboolean confirm); +void main_window_add_mailbox (MainWindow *mainwin); +void main_window_send_queue (MainWindow *mainwin); + +void main_window_set_toolbar_sensitive (MainWindow *mainwin); +void main_window_set_menu_sensitive (MainWindow *mainwin); + +void main_window_popup (MainWindow *mainwin); + +#endif /* __MAINWINDOW_H__ */ -- cgit v1.3