#define SUMMARY_COL_LOCKED_WIDTH 13
#define SUMMARY_COL_MIME_WIDTH 11
-static GdkFont *boldfont;
-static GdkFont *smallfont;
static GtkStyle *bold_style;
static GtkStyle *bold_marked_style;
void summary_init(SummaryView *summaryview)
{
+ static GdkFont *boldfont = NULL;
+ static GdkFont *smallfont = NULL;
GtkStyle *style;
GtkWidget *pixmap;
stock_pixmap_gdk(summaryview->ctree, STOCK_PIXMAP_GPG_SIGNED,
&gpgsignedxpm, &gpgsignedxpmmask);
+ if (!bold_style) {
+ bold_style = gtk_style_copy
+ (gtk_widget_get_style(summaryview->ctree));
+ if (!boldfont)
+ boldfont = gtkut_font_load(BOLD_FONT);
+ if (boldfont)
+ bold_style->font = boldfont;
+ bold_marked_style = gtk_style_copy(bold_style);
+ bold_marked_style->fg[GTK_STATE_NORMAL] =
+ summaryview->color_marked;
+ bold_deleted_style = gtk_style_copy(bold_style);
+ bold_deleted_style->fg[GTK_STATE_NORMAL] =
+ summaryview->color_dim;
+ }
+
if (!small_style) {
small_style = gtk_style_copy
(gtk_widget_get_style(summaryview->ctree));
small_deleted_style->fg[GTK_STATE_NORMAL] =
summaryview->color_dim;
}
- if (!bold_style) {
- bold_style = gtk_style_copy
- (gtk_widget_get_style(summaryview->ctree));
- if (!boldfont)
- boldfont = gtkut_font_load(BOLD_FONT);
- bold_style->font = boldfont;
- bold_marked_style = gtk_style_copy(bold_style);
- bold_marked_style->fg[GTK_STATE_NORMAL] =
- summaryview->color_marked;
- bold_deleted_style = gtk_style_copy(bold_style);
- bold_deleted_style->fg[GTK_STATE_NORMAL] =
- summaryview->color_dim;
- }
style = gtk_style_copy(gtk_widget_get_style
(summaryview->statlabel_folder));
-
+ if (smallfont)
+ style->font = smallfont;
gtk_widget_set_style(summaryview->statlabel_folder, style);
gtk_widget_set_style(summaryview->statlabel_select, style);
gtk_widget_set_style(summaryview->statlabel_msgs, style);
msginfo = gtk_ctree_node_get_row_data(ctree, node);
- if (MSG_IS_NEWS(msginfo->flags))
+ if (msginfo->folder && msginfo->folder->folder &&
+ msginfo->folder->folder->klass->type == F_NEWS)
news_flag_crosspost(msginfo);
if (MSG_IS_UNREAD(msginfo->flags) && !MSG_IS_IGNORE_THREAD(msginfo->flags)
void summary_open_msg(SummaryView *summaryview)
{
if (!summaryview->selected) return;
-
+
+ /* CLAWS: if separate message view, don't open a new window
+ * but rather use the current separated message view */
summary_display_msg_full(summaryview, summaryview->selected,
- TRUE, FALSE);
+ prefs_common.sep_msg ? FALSE : TRUE,
+ FALSE);
}
void summary_view_source(SummaryView * summaryview)
#define BREAK_ON_MODIFIER_KEY() \
if ((event->state & (GDK_MOD1_MASK|GDK_CONTROL_MASK)) != 0) break
-#define RETURN_IF_LOCKED() \
- if (summaryview->mainwin->lock_count) return TRUE
-
static gint summary_key_pressed(GtkWidget *widget, GdkEventKey *event,
SummaryView *summaryview)
{
summary_mark_as_unread(summaryview);
break;
case GDK_Delete:
- RETURN_IF_LOCKED();
BREAK_ON_MODIFIER_KEY();
summary_delete(summaryview);
break;
GString *line;
gpointer key;
gpointer value;
- Folder *mff = msginfo->folder->folder;
+ Folder *mff;
+
+ g_return_if_fail(msginfo != NULL);
+ g_return_if_fail(msginfo->folder != NULL);
+ g_return_if_fail(msginfo->folder->folder != NULL);
+ mff = msginfo->folder->folder;
+ g_return_if_fail(mff->klass->type != F_NEWS);
- if (mff->account->mark_crosspost_read && MSG_IS_NEWS(msginfo->flags)) {
+ if (mff->account->mark_crosspost_read) {
line = g_string_sized_new(128);
g_string_sprintf(line, "%s:%d", msginfo->folder->path, msginfo->msgnum);
debug_print("nfcp: checking <%s>", line->str);