+2007-02-04 [colin] 2.7.2cvs20
+
+ * src/compose.c
+ * src/compose.h
+ Auto save drafts on exit, reopen them
+ at startup, instead of asking
+ * src/account.c
+ * src/addressadd.c
+ * src/addressbook.c
+ * src/addressbook_foldersel.c
+ * src/addrgather.c
+ * src/crash.c
+ * src/editaddress.c
+ * src/editbook.c
+ * src/editgroup.c
+ * src/editjpilot.c
+ * src/editldap.c
+ * src/editldap_basedn.c
+ * src/editvcard.c
+ * src/exphtmldlg.c
+ * src/expldifdlg.c
+ * src/export.c
+ * src/foldersel.c
+ * src/gedit-print.c
+ * src/import.c
+ * src/importldif.c
+ * src/importmutt.c
+ * src/importpine.c
+ * src/main.c
+ * src/mainwindow.c
+ * src/message_search.c
+ * src/messageview.c
+ * src/prefs_actions.c
+ * src/prefs_customheader.c
+ * src/prefs_display_header.c
+ * src/prefs_filtering.c
+ * src/prefs_filtering_action.c
+ * src/prefs_folder_column.c
+ * src/prefs_gtk.c
+ * src/prefs_matcher.c
+ * src/prefs_other.c
+ * src/prefs_summaries.c
+ * src/prefs_summary_column.c
+ * src/prefs_template.c
+ * src/sourcewindow.c
+ * src/ssl_manager.c
+ * src/summary_search.c
+ * src/uri_opener.c
+ * src/gtk/about.c
+ * src/gtk/description_window.c
+ * src/gtk/foldersort.c
+ * src/gtk/gtkutils.c
+ * src/gtk/gtkutils.h
+ * src/gtk/icon_legend.c
+ * src/gtk/logwindow.c
+ * src/gtk/pluginwindow.c
+ * src/gtk/prefswindow.c
+ Give different wmclass to different
+ windows - thanks to sed ;)
+
2007-02-04 [colin] 2.7.2cvs19
* src/main.c
( cvs diff -u -r 1.1.2.26 -r 1.1.2.27 src/plugins/bogofilter/bogofilter.c; cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/plugins/bogofilter/bogofilter.h; cvs diff -u -r 1.1.2.19 -r 1.1.2.20 src/plugins/bogofilter/bogofilter_gtk.c; cvs diff -u -r 1.1.2.25 -r 1.1.2.26 src/plugins/pgpinline/pgpinline.c; cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/plugins/pgpinline/pgpinline.h; ) > 2.7.2cvs17.patchset
( cvs diff -u -r 1.115.2.132 -r 1.115.2.133 src/main.c; ) > 2.7.2cvs18.patchset
( cvs diff -u -r 1.115.2.133 -r 1.115.2.134 src/main.c; ) > 2.7.2cvs19.patchset
+( cvs diff -u -r 1.61.2.58 -r 1.61.2.59 src/account.c; cvs diff -u -r 1.9.2.12 -r 1.9.2.13 src/addressadd.c; cvs diff -u -r 1.60.2.79 -r 1.60.2.80 src/addressbook.c; cvs diff -u -r 1.1.2.4 -r 1.1.2.5 src/addressbook_foldersel.c; cvs diff -u -r 1.5.10.16 -r 1.5.10.17 src/addrgather.c; cvs diff -u -r 1.382.2.356 -r 1.382.2.357 src/compose.c; cvs diff -u -r 1.50.2.31 -r 1.50.2.32 src/compose.h; cvs diff -u -r 1.23.2.21 -r 1.23.2.22 src/crash.c; cvs diff -u -r 1.14.2.22 -r 1.14.2.23 src/editaddress.c; cvs diff -u -r 1.5.12.9 -r 1.5.12.10 src/editbook.c; cvs diff -u -r 1.11.2.15 -r 1.11.2.16 src/editgroup.c; cvs diff -u -r 1.5.12.12 -r 1.5.12.13 src/editjpilot.c; cvs diff -u -r 1.8.2.19 -r 1.8.2.20 src/editldap.c; cvs diff -u -r 1.10.2.10 -r 1.10.2.11 src/editldap_basedn.c; cvs diff -u -r 1.5.12.11 -r 1.5.12.12 src/editvcard.c; cvs diff -u -r 1.3.2.20 -r 1.3.2.21 src/exphtmldlg.c; cvs diff -u -r 1.1.4.24 -r 1.1.4.25 src/expldifdlg.c; cvs diff -u -r 1.8.2.23 -r 1.8.2.24 src/export.c; cvs diff -u -r 1.26.2.31 -r 1.26.2.32 src/foldersel.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/gedit-print.c; cvs diff -u -r 1.13.2.21 -r 1.13.2.22 src/import.c; cvs diff -u -r 1.14.2.12 -r 1.14.2.13 src/importldif.c; cvs diff -u -r 1.4.12.15 -r 1.4.12.16 src/importmutt.c; cvs diff -u -r 1.1.14.15 -r 1.1.14.16 src/importpine.c; cvs diff -u -r 1.115.2.134 -r 1.115.2.135 src/main.c; cvs diff -u -r 1.274.2.170 -r 1.274.2.171 src/mainwindow.c; cvs diff -u -r 1.3.12.23 -r 1.3.12.24 src/message_search.c; cvs diff -u -r 1.94.2.122 -r 1.94.2.123 src/messageview.c; cvs diff -u -r 1.60.2.44 -r 1.60.2.45 src/prefs_actions.c; cvs diff -u -r 1.16.2.25 -r 1.16.2.26 src/prefs_customheader.c; cvs diff -u -r 1.16.2.23 -r 1.16.2.24 src/prefs_display_header.c; cvs diff -u -r 1.59.2.52 -r 1.59.2.53 src/prefs_filtering.c; cvs diff -u -r 1.1.4.32 -r 1.1.4.33 src/prefs_filtering_action.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/prefs_folder_column.c; cvs diff -u -r 1.10.2.28 -r 1.10.2.29 src/prefs_gtk.c; cvs diff -u -r 1.43.2.52 -r 1.43.2.53 src/prefs_matcher.c; cvs diff -u -r 1.1.2.18 -r 1.1.2.19 src/prefs_other.c; cvs diff -u -r 1.1.2.36 -r 1.1.2.37 src/prefs_summaries.c; cvs diff -u -r 1.10.2.16 -r 1.10.2.17 src/prefs_summary_column.c; cvs diff -u -r 1.12.2.39 -r 1.12.2.40 src/prefs_template.c; cvs diff -u -r 1.9.2.19 -r 1.9.2.20 src/sourcewindow.c; cvs diff -u -r 1.3.2.27 -r 1.3.2.28 src/ssl_manager.c; cvs diff -u -r 1.15.2.43 -r 1.15.2.44 src/summary_search.c; cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/uri_opener.c; cvs diff -u -r 1.4.2.48 -r 1.4.2.49 src/gtk/about.c; cvs diff -u -r 1.5.2.20 -r 1.5.2.21 src/gtk/description_window.c; cvs diff -u -r 1.1.2.13 -r 1.1.2.14 src/gtk/foldersort.c; cvs diff -u -r 1.5.2.51 -r 1.5.2.52 src/gtk/gtkutils.c; cvs diff -u -r 1.4.2.31 -r 1.4.2.32 src/gtk/gtkutils.h; cvs diff -u -r 1.1.2.12 -r 1.1.2.13 src/gtk/icon_legend.c; cvs diff -u -r 1.1.4.25 -r 1.1.4.26 src/gtk/logwindow.c; cvs diff -u -r 1.5.2.43 -r 1.5.2.44 src/gtk/pluginwindow.c; cvs diff -u -r 1.12.2.31 -r 1.12.2.32 src/gtk/prefswindow.c; ) > 2.7.2cvs20.patchset
MICRO_VERSION=2
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=19
+EXTRA_VERSION=20
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
debug_print("Creating account edit window...\n");
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "account");
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
gtk_window_set_title (GTK_WINDOW (window), _("Edit accounts"));
gtk_window_set_modal (GTK_WINDOW (window), TRUE);
gint top;
static GdkGeometry geometry;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "addressadd");
gtk_container_set_border_width( GTK_CONTAINER(window), 0 );
gtk_window_set_title( GTK_WINDOW(window), _("Add to address book") );
gtk_window_set_position( GTK_WINDOW(window), GTK_WIN_POS_MOUSE );
index_titles[COL_SOURCES] = _("Sources");
/* Address book window */
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "addressbook");
gtk_window_set_title(GTK_WINDOW(window), _("Address book"));
gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
gtk_widget_realize(window);
GtkWidget *cancel_btn;
static GdkGeometry geometry;
- window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "addressbook_foldersel" );
gtk_container_set_border_width( GTK_CONTAINER(window), 0 );
gtk_window_set_title( GTK_WINDOW(window), _("Select Address Book Folder") );
gtk_window_set_position( GTK_WINDOW(window), GTK_WIN_POS_MOUSE );
GtkWidget *hbbox;
GtkWidget *hsbox;
- window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "addrgather" );
gtk_widget_set_size_request( window, 380, -1 );
gtk_container_set_border_width(GTK_CONTAINER(window), 0);
gtk_window_set_position( GTK_WINDOW(window), GTK_WIN_POS_CENTER );
COMPOSE_INSERT_NO_FILE
} ComposeInsertResult;
-typedef enum
-{
- COMPOSE_QUIT_EDITING,
- COMPOSE_KEEP_EDITING,
- COMPOSE_AUTO_SAVE
-} ComposeDraftAction;
-
typedef enum
{
COMPOSE_WRITE_FOR_SEND,
compose->tooltips = gtk_tooltips_new();
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "compose");
gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
gtk_widget_set_size_request(window, -1, prefs_common.compose_height);
debug_print("Creating attach_property window...\n");
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "compose");
gtk_widget_set_size_request(window, 480, -1);
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
gtk_window_set_title(GTK_WINDOW(window), _("Properties"));
toolbar_main_set_sensitive(mainwindow_get_mainwindow());
}
-void compose_draft (gpointer data)
+void compose_draft (gpointer data, guint action)
+{
+ compose_draft_cb(data, action, NULL);
+}
+
+#define DRAFTED_AT_EXIT "drafted_at_exit"
+void compose_clear_exit_drafts(void)
+{
+ gchar *filepath = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S,
+ DRAFTED_AT_EXIT, NULL);
+ if (is_file_exist(filepath))
+ g_unlink(filepath);
+
+ g_free(filepath);
+}
+
+static void compose_register_draft(MsgInfo *info)
+{
+ gchar *filepath = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S,
+ DRAFTED_AT_EXIT, NULL);
+ FILE *fp = fopen(filepath, "ab");
+
+ if (fp) {
+ fprintf(fp, "%s\t%d\n", folder_item_get_identifier(info->folder),
+ info->msgnum);
+ fclose(fp);
+ }
+
+ g_free(filepath);
+}
+
+void compose_reopen_exit_drafts(void)
{
- compose_draft_cb(data, COMPOSE_QUIT_EDITING, NULL);
+ gchar *filepath = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S,
+ DRAFTED_AT_EXIT, NULL);
+ FILE *fp = fopen(filepath, "rb");
+ gchar buf[1024];
+
+ if (fp) {
+ while (fgets(buf, sizeof(buf), fp)) {
+ gchar **parts = g_strsplit(buf, "\t", 2);
+ const gchar *folder = parts[0];
+ int msgnum = parts[1] ? atoi(parts[1]):-1;
+
+ if (folder && *folder && msgnum > -1) {
+ FolderItem *item = folder_find_item_from_identifier(folder);
+ MsgInfo *info = folder_item_get_msginfo(item, msgnum);
+ if (info)
+ compose_reedit(info, FALSE);
+ }
+ g_strfreev(parts);
+ }
+ fclose(fp);
+ }
+ g_free(filepath);
+ compose_clear_exit_drafts();
}
static void compose_draft_cb(gpointer data, guint action, GtkWidget *widget)
procmsg_msginfo_set_flags(newmsginfo, 0,
MSG_HAS_ATTACHMENT);
+ if (action == COMPOSE_DRAFT_FOR_EXIT) {
+ compose_register_draft(newmsginfo);
+ }
procmsg_msginfo_free(newmsginfo);
}
folder_item_scan(draft);
- if (action == COMPOSE_QUIT_EDITING) {
+ if (action == COMPOSE_QUIT_EDITING || action == COMPOSE_DRAFT_FOR_EXIT) {
lock = FALSE;
g_mutex_unlock(compose->mutex); /* must be done before closing */
compose_close(compose);
off_t size;
};
+typedef enum
+{
+ COMPOSE_QUIT_EDITING,
+ COMPOSE_KEEP_EDITING,
+ COMPOSE_AUTO_SAVE,
+ COMPOSE_DRAFT_FOR_EXIT
+} ComposeDraftAction;
+
/*#warning FIXME_GTK2 */
/* attache_files will be locale encode */
Compose *compose_new (PrefsAccount *account,
void compose_reflect_prefs_pixmap_theme (void);
void compose_destroy_all (void);
-void compose_draft (gpointer data);
+void compose_draft (gpointer data, guint action);
void compose_toolbar_cb (gint action,
gpointer data);
void compose_reply_from_messageview (MessageView *msgview,
gchar **msgpath,
gboolean remove_reedit_target);
gboolean compose_close (Compose *compose);
+void compose_clear_exit_drafts (void);
+void compose_reopen_exit_drafts (void);
#endif /* __COMPOSE_H__ */
GtkTextBuffer *buffer;
GtkTextIter iter;
- window1 = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window1 = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "crash");
gtk_container_set_border_width(GTK_CONTAINER(window1), 5);
gtk_window_set_title(GTK_WINDOW(window1), _("Claws Mail has crashed"));
gtk_window_set_position(GTK_WINDOW(window1), GTK_WIN_POS_CENTER);
GtkWidget *statusbar;
static GdkGeometry geometry;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "editaddress");
/* gtk_container_set_border_width(GTK_CONTAINER(window), 0); */
gtk_window_set_title(GTK_WINDOW(window), _("Edit Person Data"));
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
GtkWidget *hsbox;
gint top;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "editbook");
gtk_widget_set_size_request(window, 450, -1);
gtk_container_set_border_width( GTK_CONTAINER(window), 0 );
gtk_window_set_title(GTK_WINDOW(window), _("Edit Addressbook"));
titles[ GROUP_COL_EMAIL ] = _("Email Address");
titles[ GROUP_COL_REMARKS ] = _("Remarks");
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "editgroup");
gtk_container_set_border_width(GTK_CONTAINER(window), 0);
gtk_window_set_title(GTK_WINDOW(window), _("Edit Group Data"));
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
GtkWidget *statusbar;
gint top, i;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "editjpilot");
gtk_widget_set_size_request(window, 450, -1);
gtk_container_set_border_width(GTK_CONTAINER(window), 0);
gtk_window_set_title(GTK_WINDOW(window), _("Edit JPilot Entry"));
GtkWidget *hsbox;
GtkWidget *statusbar;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "editldap");
gtk_widget_set_size_request(window, 450, -1);
gtk_container_set_border_width(GTK_CONTAINER(window), 0);
gtk_window_set_title(GTK_WINDOW(window), _("Edit LDAP Server"));
GtkWidget *statusbar;
gint top;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "editldap_basedn");
gtk_widget_set_size_request(window, 300, 270);
gtk_container_set_border_width(GTK_CONTAINER(window), 0);
gtk_window_set_title(GTK_WINDOW(window), _("Edit LDAP - Select Search Base"));
GtkWidget *hsbox;
gint top;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "editvcard");
gtk_widget_set_size_request(window, 450, -1);
gtk_container_set_border_width( GTK_CONTAINER(window), 0 );
gtk_window_set_title(GTK_WINDOW(window), _("Edit vCard Entry"));
GtkWidget *hsbox;
GtkWidget *statusbar;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "exphtmldlg");
gtk_widget_set_size_request(window, -1, -1 );
gtk_container_set_border_width( GTK_CONTAINER(window), 0 );
gtk_window_set_title( GTK_WINDOW(window),
GtkWidget *hsbox;
GtkWidget *statusbar;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "expldifdlg");
gtk_widget_set_size_request(window, EXPORTLDIF_WIDTH, EXPORTLDIF_HEIGHT );
gtk_container_set_border_width( GTK_CONTAINER(window), 0 );
gtk_window_set_title( GTK_WINDOW(window),
GtkWidget *src_label;
GtkWidget *confirm_area;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "export");
gtk_window_set_title(GTK_WINDOW(window), _("Export to mbox file"));
gtk_container_set_border_width(GTK_CONTAINER(window), 5);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
GtkTreeSelection *selection;
static GdkGeometry geometry;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "foldersel");
gtk_window_set_title(GTK_WINDOW(window), _("Select folder"));
gtk_container_set_border_width(GTK_CONTAINER(window), 4);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
- gtk_window_set_wmclass
- (GTK_WINDOW(window), "folder_selection", "Claws Mail");
+
gtk_widget_realize(window);
g_signal_connect(G_OBJECT(window), "delete_event",
G_CALLBACK(delete_event), NULL);
GtkWidget *label;
GtkWidget *progressbar;
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "gedit-print");
gtk_window_set_modal (GTK_WINDOW (window), TRUE);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
gtk_window_set_destroy_with_parent (GTK_WINDOW (window), TRUE);
GtkWidget *close_button;
static GdkGeometry geometry;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "about");
gtk_window_set_title(GTK_WINDOW(window), _("About Claws Mail"));
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
gtk_widget_set_size_request(window, -1, -1);
int max_width = 0;
GtkRequisition req;
- dwindow->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ dwindow->window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "description_window");
gtk_window_set_title(GTK_WINDOW(dwindow->window),
gettext(dwindow->title));
GtkWidget *folderlist;
GtkWidget *label2;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "foldersort");
g_object_set_data(G_OBJECT(window), "window", window);
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
GtkWidget *window;
GtkWidget *label;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "gtkutils");
gtk_widget_set_size_request(window, 380, 60);
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
return gtk_tree_model_iter_nth_child(model, iter, NULL, count - 1);
}
+
+GtkWidget *gtkut_window_new (GtkWindowType type,
+ const gchar *class)
+{
+ GtkWidget *window = gtk_window_new(type);
+ gtk_window_set_wmclass(window, class, "Claws Mail");
+ return window;
+}
GtkWidget *label_window_create(const gchar *str);
void gtkut_window_popup (GtkWidget *window);
+GtkWidget *gtkut_window_new (GtkWindowType type,
+ const gchar *class);
void gtkut_widget_get_uposition (GtkWidget *widget,
gint *px,
GtkWidget *table;
gint i;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "icon_legend");
gtk_window_set_title(GTK_WINDOW(window), _("Icon Legend"));
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
logwin = g_new0(LogWindow, 1);
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "logwindow");
gtk_window_set_title(GTK_WINDOW(window), _("Protocol log"));
gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
g_signal_connect(G_OBJECT(window), "delete_event",
pluginwindow = g_new0(PluginWindow, 1);
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "pluginwindow");
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
gtk_window_set_title(GTK_WINDOW(window), _("Plugins"));
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
prefswindow->save_width = save_width;
prefswindow->save_height = save_height;
- prefswindow->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ prefswindow->window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefswindow");
gtk_window_set_title(GTK_WINDOW(prefswindow->window), title);
gtk_window_set_position (GTK_WINDOW(prefswindow->window), GTK_WIN_POS_CENTER);
GtkWidget *dest_label;
GtkWidget *confirm_area;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "import");
gtk_window_set_title(GTK_WINDOW(window), _("Import mbox file"));
gtk_container_set_border_width(GTK_CONTAINER(window), 5);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
GtkWidget *hsbox;
GtkWidget *statusbar;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "importldif");
gtk_widget_set_size_request(window, IMPORTLDIF_WIDTH, IMPORTLDIF_HEIGHT );
gtk_container_set_border_width( GTK_CONTAINER(window), 0 );
gtk_window_set_title( GTK_WINDOW(window), _("Import LDIF file into Address Book") );
GtkWidget *hsbox;
gint top;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "importmutt");
gtk_widget_set_size_request(window, 450, -1);
gtk_container_set_border_width( GTK_CONTAINER(window), 0 );
gtk_window_set_title( GTK_WINDOW(window), _("Import MUTT file into Address Book") );
GtkWidget *hsbox;
gint top;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "importpine");
gtk_widget_set_size_request(window, 450, -1);
gtk_container_set_border_width( GTK_CONTAINER(window), 0 );
gtk_window_set_title( GTK_WINDOW(window), _("Import Pine file into Address Book") );
prefs_destroy_cache();
+ compose_reopen_exit_drafts();
+
sc_starting = FALSE;
END_TIMING();
{
GList *compose_list = NULL;
+ compose_clear_exit_drafts();
while ((compose_list = compose_get_compose_list()) != NULL) {
Compose *c = (Compose*)compose_list->data;
- compose_draft(c);
+ compose_draft(c, COMPOSE_DRAFT_FOR_EXIT);
}
}
gboolean clean_quit(gpointer data)
sc_exiting = TRUE;
debug_print("exiting\n");
if (compose_get_compose_list()) {
- gint val = alertpanel(_("Really quit?"),
- _("Composing message exists."),
- _("_Save to Draft"), _("_Discard them"), _("Do_n't quit"));
- switch (val) {
- case G_ALERTOTHER:
- main_window_popup(mainwin);
- sc_exiting = FALSE;
- return;
- case G_ALERTALTERNATE:
- break;
- default:
- draft_all_messages();
- }
-
- manage_window_focus_in(mainwin->window, NULL, NULL);
+ draft_all_messages();
}
if (prefs_common.warn_queued_on_exit && get_queued_message_num() > 0) {
mainwin = g_new0(MainWindow, 1);
/* main window */
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "mainwindow");
gtk_window_set_title(GTK_WINDOW(window), PROG_VERSION);
gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
GtkWidget *close_btn;
GtkWidget *stop_btn;
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "message_search");
gtk_window_set_title (GTK_WINDOW (window),
_("Find in current message"));
gtk_widget_set_size_request (window, 450, -1);
GtkWidget *window;
static GdkGeometry geometry;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "messageview");
gtk_window_set_title(GTK_WINDOW(window), _("Claws Mail - Message View"));
gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
debug_print("Creating actions configuration window...\n");
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_actions");
gtk_container_set_border_width(GTK_CONTAINER (window), 8);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
debug_print("Creating custom header setting window...\n");
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_customheader");
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
gtk_window_set_modal (GTK_WINDOW (window), TRUE);
debug_print("Creating display header setting window...\n");
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_display_header");
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
gtk_window_set_modal (GTK_WINDOW (window), TRUE);
debug_print("Creating filtering configuration window...\n");
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_filtering");
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
gtk_window_set_modal (GTK_WINDOW (window), TRUE);
debug_print("Creating matcher configuration window...\n");
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_filtering_action");
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
debug_print("Creating folder column setting window...\n");
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_folder_column");
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
g_return_if_fail(dialog != NULL);
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_gtk");
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
gtk_window_set_position (GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_modal (GTK_WINDOW (window), TRUE);
debug_print("Creating matcher configuration window...\n");
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_matcher");
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
GtkWidget *ok_btn;
GtkWidget *cancel_btn;
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_other");
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
gtk_window_set_title (GTK_WINDOW (window), _("Select key bindings"));
gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
-1);
}
- datefmt_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ datefmt_win = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_summaries");
gtk_container_set_border_width(GTK_CONTAINER(datefmt_win), 8);
gtk_window_set_title(GTK_WINDOW(datefmt_win), _("Date format"));
gtk_window_set_position(GTK_WINDOW(datefmt_win), GTK_WIN_POS_CENTER);
debug_print("Creating summary column setting window...\n");
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_summary_column");
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
debug_print("Creating templates configuration window...\n");
/* main window */
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_template");
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
debug_print("Creating source window...\n");
sourcewin = g_new0(SourceWindow, 1);
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "sourcewindow");
gtk_window_set_title(GTK_WINDOW(window), _("Source of the message"));
gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
gtk_widget_set_size_request(window, prefs_common.sourcewin_width,
GtkWidget *delete_btn;
GtkWidget *close_btn;
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "ssl_manager");
gtk_window_set_title (GTK_WINDOW(window),
_("Saved SSL Certificates"));
gboolean is_searching = FALSE;
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "summary_search");
gtk_window_set_title(GTK_WINDOW (window), _("Search messages"));
gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
gtk_container_set_border_width(GTK_CONTAINER (window), 8);
GtkWidget *close_btn;
GtkWidget *scrolledwin;
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "uri_opener");
gtk_window_set_title (GTK_WINDOW(window),
_("Open URLs"));