static gboolean msg_body_focus (GtkWidget *focus, GdkEventFocus *event, gpointer userdata);
static void body_changed (GtkTextBuffer *buffer, ModestMsgEditWindow *editor);
+static void attachments_selection_changed (ModestAttachmentsView *buffer, ModestMsgEditWindow *editor);
static void recpt_field_changed (GtkTextBuffer *buffer, ModestMsgEditWindow *editor);
static void text_buffer_refresh_attributes (WPTextBuffer *buffer, ModestMsgEditWindow *window);
G_CALLBACK (text_buffer_can_redo), obj);
g_signal_connect (G_OBJECT (priv->text_buffer), "changed",
G_CALLBACK (body_changed), obj);
+ g_signal_connect (G_OBJECT (priv->attachments_view), "selection-changed",
+ G_CALLBACK (attachments_selection_changed), obj);
g_signal_connect (G_OBJECT (obj), "window-state-event",
G_CALLBACK (modest_msg_edit_window_window_state_event),
NULL);
modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (editor));
}
+static void
+attachments_selection_changed (ModestAttachmentsView *atts_view, ModestMsgEditWindow *window)
+{
+ modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
+}
+
void
modest_msg_edit_window_reset_modified (ModestMsgEditWindow *editor)
{
n_att_selected = tny_list_get_length (selected_attachments);
g_object_unref (selected_attachments);
- dimmed = (n_att_selected != 1);
+ dimmed = (n_att_selected == 0);
}
return dimmed;
/* signals */
enum {
ACTIVATE_SIGNAL,
+ SELECTION_CHANGED_SIGNAL,
LAST_SIGNAL
};
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE, 1, G_TYPE_OBJECT);
+
+ signals[SELECTION_CHANGED_SIGNAL] =
+ g_signal_new ("selection-changed",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET (ModestAttachmentsViewClass, selection_changed),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
return;
}
g_object_unref (part);
own_clipboard (atts_view);
+
+ g_signal_emit (G_OBJECT (atts_view), signals[SELECTION_CHANGED_SIGNAL], 0);
}
static void
g_list_free (children);
own_clipboard (atts_view);
+
+ g_signal_emit (G_OBJECT (atts_view), signals[SELECTION_CHANGED_SIGNAL], 0);
}
static void clipboard_get (GtkClipboard *clipboard, GtkSelectionData *selection_data,
g_list_free (children);
own_clipboard (atts_view);
+
+ g_signal_emit (G_OBJECT (atts_view), signals[SELECTION_CHANGED_SIGNAL], 0);
}
gboolean
if (!gtk_widget_is_focus (widget))
unselect_all (atts_view);
+ g_signal_emit (G_OBJECT (atts_view), signals[SELECTION_CHANGED_SIGNAL], 0);
+
return FALSE;
}
GtkEventBoxClass parent_class;
void (*activate) (ModestAttachmentsView *attachments_view, TnyMimePart *mime_part);
+ void (*selection_changed) (ModestAttachmentsView *attachments_view);
};
GType modest_attachments_view_get_type (void);