Coding style and whitespace cleanup.
This commit is contained in:
@ -46,46 +46,24 @@
|
||||
((obj), E_TYPE_MAIL_FOLDER_PANE, EMailFolderPanePrivate))
|
||||
|
||||
struct _EMailFolderPanePrivate {
|
||||
int fo;
|
||||
gint placeholder;
|
||||
};
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_PREVIEW_VISIBLE,
|
||||
PROP_PREVIEW_VISIBLE
|
||||
};
|
||||
|
||||
static gpointer parent_class;
|
||||
|
||||
G_DEFINE_TYPE (EMailFolderPane, e_mail_folder_pane, E_TYPE_MAIL_PANED_VIEW)
|
||||
|
||||
static void
|
||||
mail_folder_pane_dispose (GObject *object)
|
||||
folder_pane_set_preview_visible (EMailView *view,
|
||||
gboolean preview_visible)
|
||||
{
|
||||
EMailFolderPanePrivate *priv;
|
||||
|
||||
priv = E_MAIL_FOLDER_PANE_GET_PRIVATE (object);
|
||||
|
||||
/* Chain up to parent's dispose() method. */
|
||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
mail_folder_pane_constructed (GObject *object)
|
||||
{
|
||||
/* Chain up to parent's constructed() method. */
|
||||
if (G_OBJECT_CLASS (parent_class)->constructed)
|
||||
G_OBJECT_CLASS (parent_class)->constructed (object);
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
folder_pane_set_preview_visible (EMailPanedView *view,
|
||||
gboolean preview_visible)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
folder_pane_get_preview_visible (EMailPanedView *view)
|
||||
folder_pane_get_preview_visible (EMailView *view)
|
||||
{
|
||||
|
||||
return FALSE;
|
||||
@ -93,9 +71,9 @@ folder_pane_get_preview_visible (EMailPanedView *view)
|
||||
|
||||
static void
|
||||
mail_folder_pane_get_property (GObject *object,
|
||||
guint property_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
guint property_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_PREVIEW_VISIBLE:
|
||||
@ -104,7 +82,6 @@ mail_folder_pane_get_property (GObject *object,
|
||||
FALSE);
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
@ -112,9 +89,9 @@ mail_folder_pane_get_property (GObject *object,
|
||||
|
||||
static void
|
||||
mail_folder_pane_set_property (GObject *object,
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_PREVIEW_VISIBLE:
|
||||
@ -124,22 +101,22 @@ mail_folder_pane_set_property (GObject *object,
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
}
|
||||
|
||||
static void
|
||||
static guint
|
||||
mfp_open_selected_mail (EMailPanedView *view)
|
||||
{
|
||||
GPtrArray *uids;
|
||||
int i;
|
||||
gint i;
|
||||
GtkWindow *window;
|
||||
CamelFolder *folder;
|
||||
const gchar *folder_uri;
|
||||
GPtrArray *views;
|
||||
guint ii;
|
||||
GPtrArray *views;
|
||||
guint n_views, ii;
|
||||
|
||||
uids = e_mail_reader_get_selected_uids (E_MAIL_READER(view));
|
||||
uids = e_mail_reader_get_selected_uids (E_MAIL_READER(view));
|
||||
window = e_mail_reader_get_window (E_MAIL_READER(view));
|
||||
if (!em_utils_ask_open_many (window, uids->len)) {
|
||||
em_utils_uids_free (uids);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
folder = e_mail_reader_get_folder (E_MAIL_READER(view));
|
||||
@ -148,7 +125,7 @@ mfp_open_selected_mail (EMailPanedView *view)
|
||||
em_utils_folder_is_outbox (folder, folder_uri) ||
|
||||
em_utils_folder_is_templates (folder, folder_uri)) {
|
||||
em_utils_edit_messages (folder, uids, TRUE);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
views = g_ptr_array_new ();
|
||||
@ -190,78 +167,48 @@ mfp_open_selected_mail (EMailPanedView *view)
|
||||
camel_folder_free_message_info (folder, info);
|
||||
}
|
||||
|
||||
|
||||
for (i=0; i<views->len; i++) {
|
||||
n_views = views->len;
|
||||
for (i = 0; i < n_views; i++)
|
||||
g_signal_emit_by_name (view, "open-mail", views->pdata[i]);
|
||||
}
|
||||
|
||||
g_ptr_array_foreach (views, (GFunc) g_free, NULL);
|
||||
g_ptr_array_free (views, TRUE);
|
||||
|
||||
em_utils_uids_free (uids);
|
||||
|
||||
return n_views;
|
||||
}
|
||||
|
||||
static void
|
||||
mail_folder_pane_class_init (EMailPanedViewClass *class)
|
||||
e_mail_folder_pane_class_init (EMailFolderPaneClass *class)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
EMailViewClass *mail_view_class;
|
||||
EMailPanedViewClass *mail_paned_view_class;
|
||||
|
||||
parent_class = g_type_class_peek_parent (class);
|
||||
g_type_class_add_private (class, sizeof (EMailFolderPanePrivate));
|
||||
|
||||
object_class = G_OBJECT_CLASS (class);
|
||||
object_class->dispose = mail_folder_pane_dispose;
|
||||
object_class->constructed = mail_folder_pane_constructed;
|
||||
object_class->set_property = mail_folder_pane_set_property;
|
||||
object_class->get_property = mail_folder_pane_get_property;
|
||||
|
||||
class->open_selected_mail = mfp_open_selected_mail;
|
||||
mail_view_class = E_MAIL_VIEW_CLASS (class);
|
||||
mail_view_class->set_preview_visible = folder_pane_set_preview_visible;
|
||||
mail_view_class->get_preview_visible = folder_pane_get_preview_visible;
|
||||
|
||||
E_MAIL_VIEW_CLASS(g_type_class_peek_parent(class))->set_preview_visible = folder_pane_set_preview_visible;
|
||||
E_MAIL_VIEW_CLASS(g_type_class_peek_parent(class))->get_preview_visible = folder_pane_get_preview_visible;
|
||||
mail_paned_view_class = E_MAIL_PANED_VIEW_CLASS (class);
|
||||
mail_paned_view_class->open_selected_mail = mfp_open_selected_mail;
|
||||
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_PREVIEW_VISIBLE,
|
||||
"preview-visible");
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
mail_folder_pane_init (EMailFolderPane *browser)
|
||||
e_mail_folder_pane_init (EMailFolderPane *browser)
|
||||
{
|
||||
|
||||
browser->priv = E_MAIL_FOLDER_PANE_GET_PRIVATE (browser);
|
||||
|
||||
}
|
||||
|
||||
GType
|
||||
e_mail_folder_pane_get_type (void)
|
||||
{
|
||||
static GType type = 0;
|
||||
|
||||
if (G_UNLIKELY (type == 0)) {
|
||||
static const GTypeInfo type_info = {
|
||||
sizeof (EMailFolderPaneClass),
|
||||
(GBaseInitFunc) NULL,
|
||||
(GBaseFinalizeFunc) NULL,
|
||||
(GClassInitFunc) mail_folder_pane_class_init,
|
||||
(GClassFinalizeFunc) NULL,
|
||||
NULL, /* class_data */
|
||||
sizeof (EMailFolderPane),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) mail_folder_pane_init,
|
||||
NULL /* value_table */
|
||||
};
|
||||
|
||||
type = g_type_register_static (
|
||||
E_MAIL_PANED_VIEW_TYPE, "EMailFolderPane", &type_info, 0);
|
||||
|
||||
}
|
||||
|
||||
return type;
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
@ -271,7 +218,7 @@ e_mail_folder_pane_new (EShellContent *content)
|
||||
|
||||
return g_object_new (
|
||||
E_TYPE_MAIL_FOLDER_PANE,
|
||||
"shell-content", content,
|
||||
"shell-content", content,
|
||||
"preview-visible", FALSE,
|
||||
NULL);
|
||||
}
|
||||
|
||||
@ -22,9 +22,8 @@
|
||||
#ifndef E_MAIL_FOLDER_PANE_H
|
||||
#define E_MAIL_FOLDER_PANE_H
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <shell/e-shell-content.h>
|
||||
#include "mail/e-mail-paned-view.h"
|
||||
#include <mail/e-mail-paned-view.h>
|
||||
|
||||
/* Standard GObject macros */
|
||||
#define E_TYPE_MAIL_FOLDER_PANE \
|
||||
@ -60,7 +59,7 @@ struct _EMailFolderPaneClass {
|
||||
EMailPanedViewClass parent_class;
|
||||
};
|
||||
|
||||
GType e_mail_folder_pane_get_type (void);
|
||||
GType e_mail_folder_pane_get_type (void);
|
||||
GtkWidget * e_mail_folder_pane_new (EShellContent *content);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
@ -28,13 +28,12 @@
|
||||
|
||||
#include "mail/e-mail-reader.h"
|
||||
|
||||
#define e_mail_message_pane_GET_PRIVATE(obj) \
|
||||
#define E_MAIL_MESSAGE_PANE_GET_PRIVATE(obj) \
|
||||
(G_TYPE_INSTANCE_GET_PRIVATE \
|
||||
((obj), E_TYPE_MAIL_MESSAGE_PANE, EMailMessagePanePrivate))
|
||||
|
||||
|
||||
struct _EMailMessagePanePrivate {
|
||||
int fo;
|
||||
gint placeholder;
|
||||
};
|
||||
|
||||
enum {
|
||||
@ -42,20 +41,19 @@ enum {
|
||||
PROP_PREVIEW_VISIBLE
|
||||
};
|
||||
|
||||
static gpointer parent_class;
|
||||
G_DEFINE_TYPE (EMailMessagePane, e_mail_message_pane, E_TYPE_MAIL_PANED_VIEW)
|
||||
|
||||
/* This is too trivial to put in a file.
|
||||
* It gets merged with the EMailReader UI. */
|
||||
static void
|
||||
mail_message_pane_set_property (GObject *object,
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_PREVIEW_VISIBLE:
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
@ -63,80 +61,66 @@ mail_message_pane_set_property (GObject *object,
|
||||
|
||||
static void
|
||||
mail_message_pane_get_property (GObject *object,
|
||||
guint property_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
guint property_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_PREVIEW_VISIBLE:
|
||||
g_value_set_boolean (
|
||||
value,
|
||||
TRUE);
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
}
|
||||
|
||||
static void
|
||||
mail_message_pane_dispose (GObject *object)
|
||||
{
|
||||
EMailMessagePanePrivate *priv;
|
||||
|
||||
priv = e_mail_message_pane_GET_PRIVATE (object);
|
||||
|
||||
|
||||
/* Chain up to parent's dispose() method. */
|
||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
mail_message_pane_constructed (GObject *object)
|
||||
{
|
||||
EMailMessagePanePrivate *priv;
|
||||
|
||||
/* Chain up to parent's constructed() method. */
|
||||
if (G_OBJECT_CLASS (parent_class)->constructed)
|
||||
G_OBJECT_CLASS (parent_class)->constructed (object);
|
||||
|
||||
priv = e_mail_message_pane_GET_PRIVATE (object);
|
||||
priv = E_MAIL_MESSAGE_PANE_GET_PRIVATE (object);
|
||||
|
||||
/* Chain up to parent's constructed() method. */
|
||||
G_OBJECT_CLASS (e_mail_message_pane_parent_class)->constructed (object);
|
||||
|
||||
gtk_widget_hide (e_mail_reader_get_message_list (E_MAIL_READER(object)));
|
||||
e_mail_paned_view_hide_message_list_pane (E_MAIL_PANED_VIEW(object), FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
message_pane_set_preview_visible (EMailMessagePane *view,
|
||||
gboolean preview_visible)
|
||||
message_pane_set_preview_visible (EMailView *view,
|
||||
gboolean preview_visible)
|
||||
{
|
||||
e_mail_paned_view_set_preview_visible (E_MAIL_PANED_VIEW(view), TRUE);
|
||||
|
||||
return;
|
||||
/* Chain up to parent's set_preview_visible() method. */
|
||||
E_MAIL_VIEW_CLASS (e_mail_message_pane_parent_class)->
|
||||
set_preview_visible (view, TRUE);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
message_pane_get_preview_visible (EMailMessagePane *view)
|
||||
message_pane_get_preview_visible (EMailView *view)
|
||||
{
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
mail_message_pane_class_init (EMailMessagePaneClass *class)
|
||||
e_mail_message_pane_class_init (EMailMessagePaneClass *class)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
EMailViewClass *mail_view_class;
|
||||
|
||||
parent_class = g_type_class_peek_parent (class);
|
||||
g_type_class_add_private (class, sizeof (EMailMessagePanePrivate));
|
||||
|
||||
object_class = G_OBJECT_CLASS (class);
|
||||
object_class->set_property = mail_message_pane_set_property;
|
||||
object_class->get_property = mail_message_pane_get_property;
|
||||
object_class->dispose = mail_message_pane_dispose;
|
||||
object_class->constructed = mail_message_pane_constructed;
|
||||
|
||||
E_MAIL_VIEW_CLASS(g_type_class_peek_parent(class))->set_preview_visible = message_pane_set_preview_visible;
|
||||
E_MAIL_VIEW_CLASS(g_type_class_peek_parent(class))->get_preview_visible = message_pane_get_preview_visible;
|
||||
mail_view_class = E_MAIL_VIEW_CLASS (class);
|
||||
mail_view_class->set_preview_visible = message_pane_set_preview_visible;
|
||||
mail_view_class->get_preview_visible = message_pane_get_preview_visible;
|
||||
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
@ -145,37 +129,9 @@ mail_message_pane_class_init (EMailMessagePaneClass *class)
|
||||
}
|
||||
|
||||
static void
|
||||
mail_message_pane_init (EMailMessagePane *browser)
|
||||
e_mail_message_pane_init (EMailMessagePane *browser)
|
||||
{
|
||||
|
||||
browser->priv = e_mail_message_pane_GET_PRIVATE (browser);
|
||||
}
|
||||
|
||||
GType
|
||||
e_mail_message_pane_get_type (void)
|
||||
{
|
||||
static GType type = 0;
|
||||
|
||||
if (G_UNLIKELY (type == 0)) {
|
||||
static const GTypeInfo type_info = {
|
||||
sizeof (EMailMessagePaneClass),
|
||||
(GBaseInitFunc) NULL,
|
||||
(GBaseFinalizeFunc) NULL,
|
||||
(GClassInitFunc) mail_message_pane_class_init,
|
||||
(GClassFinalizeFunc) NULL,
|
||||
NULL, /* class_data */
|
||||
sizeof (EMailMessagePane),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) mail_message_pane_init,
|
||||
NULL /* value_table */
|
||||
};
|
||||
|
||||
type = g_type_register_static (
|
||||
E_MAIL_PANED_VIEW_TYPE , "EMailMessagePane", &type_info, 0);
|
||||
|
||||
}
|
||||
|
||||
return type;
|
||||
browser->priv = E_MAIL_MESSAGE_PANE_GET_PRIVATE (browser);
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
@ -185,7 +141,7 @@ e_mail_message_pane_new (EShellContent *content)
|
||||
|
||||
return g_object_new (
|
||||
E_TYPE_MAIL_MESSAGE_PANE,
|
||||
"shell-content", content,
|
||||
"shell-content", content,
|
||||
"preview-visible", TRUE,
|
||||
NULL);
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* e-mail-pane.h
|
||||
* e-mail-message-pane.h
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@ -22,8 +22,7 @@
|
||||
#ifndef E_MAIL_MESSAGE_PANE_H
|
||||
#define E_MAIL_MESSAGE_PANE_H
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include "e-mail-paned-view.h"
|
||||
#include <mail/e-mail-paned-view.h>
|
||||
|
||||
/* Standard GObject macros */
|
||||
#define E_TYPE_MAIL_MESSAGE_PANE \
|
||||
@ -59,7 +58,7 @@ struct _EMailMessagePaneClass {
|
||||
EMailPanedViewClass parent_class;
|
||||
};
|
||||
|
||||
GType e_mail_message_pane_get_type (void);
|
||||
GType e_mail_message_pane_get_type (void);
|
||||
GtkWidget * e_mail_message_pane_new (EShellContent *content);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -10,7 +10,7 @@
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
@ -20,59 +20,78 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _E_MAIL_NOTEBOOK_VIEW_H_
|
||||
#define _E_MAIL_NOTEBOOK_VIEW_H_
|
||||
#ifndef E_MAIL_NOTEBOOK_VIEW_H
|
||||
#define E_MAIL_NOTEBOOK_VIEW_H
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include "e-mail-view.h"
|
||||
#include <mail/e-mail-view.h>
|
||||
#include <shell/e-shell-searchbar.h>
|
||||
#include "widgets/menus/gal-view-instance.h"
|
||||
#include <menus/gal-view-instance.h>
|
||||
|
||||
#define E_MAIL_NOTEBOOK_VIEW_TYPE (e_mail_notebook_view_get_type ())
|
||||
#define E_MAIL_NOTEBOOK_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_MAIL_NOTEBOOK_VIEW_TYPE, EMailNotebookView))
|
||||
#define E_MAIL_NOTEBOOK_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_MAIL_NOTEBOOK_VIEW_TYPE, EMailNotebookViewClass))
|
||||
#define E_IS_MAIL_NOTEBOOK_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_MAIL_NOTEBOOK_VIEW_TYPE))
|
||||
#define E_IS_MAIL_NOTEBOOK_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_MAIL_NOTEBOOK_VIEW_TYPE))
|
||||
#define E_MAIL_NOTEBOOK_VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_MAIL_NOTEBOOK_VIEW_TYPE, EMailNotebookViewClass))
|
||||
/* Standard GObject macros */
|
||||
#define E_TYPE_MAIL_NOTEBOOK_VIEW \
|
||||
(e_mail_notebook_view_get_type ())
|
||||
#define E_MAIL_NOTEBOOK_VIEW(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST \
|
||||
((obj), E_TYPE_MAIL_NOTEBOOK_VIEW, EMailNotebookView))
|
||||
#define E_MAIL_NOTEBOOK_VIEW_CLASS(cls) \
|
||||
(G_TYPE_CHECK_CLASS_CAST \
|
||||
((cls), E_TYPE_MAIL_NOTEBOOK_VIEW, EMailNotebookViewClass))
|
||||
#define E_IS_MAIL_NOTEBOOK_VIEW(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE \
|
||||
((obj), E_TYPE_MAIL_NOTEBOOK_VIEW))
|
||||
#define E_IS_MAIL_NOTEBOOK_VIEW_CLASS(cls) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE \
|
||||
((cls), E_TYPE_MAIL_NOTEBOOK_VIEW))
|
||||
#define E_MAIL_NOTEBOOK_VIEW_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS \
|
||||
((obj), E_TYPE_MAIL_NOTEBOOK_VIEW, EMailNotebookViewClass))
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _EMailNotebookView EMailNotebookView;
|
||||
typedef struct _EMailNotebookViewClass EMailNotebookViewClass;
|
||||
typedef struct _EMailNotebookViewPrivate EMailNotebookViewPrivate;
|
||||
|
||||
typedef struct _EMailNotebookView {
|
||||
struct _EMailNotebookView {
|
||||
EMailView parent;
|
||||
|
||||
EMailNotebookViewPrivate *priv;
|
||||
} EMailNotebookView;
|
||||
};
|
||||
|
||||
typedef struct _EMailNotebookViewClass {
|
||||
struct _EMailNotebookViewClass {
|
||||
EMailViewClass parent_class;
|
||||
};
|
||||
|
||||
} EMailNotebookViewClass;
|
||||
GType e_mail_notebook_view_get_type (void);
|
||||
void e_mail_notebook_view_register_type
|
||||
(GTypeModule *type_module);
|
||||
GtkWidget * e_mail_notebook_view_new (EShellContent *content);
|
||||
EShellSearchbar *
|
||||
e_mail_notebook_view_get_searchbar
|
||||
(EMailNotebookView *view);
|
||||
void e_mail_notebook_view_set_search_strings
|
||||
(EMailNotebookView *view,
|
||||
GSList *search_strings);
|
||||
GalViewInstance *
|
||||
e_mail_notebook_view_get_view_instance
|
||||
(EMailNotebookView *view);
|
||||
void e_mail_notebook_view_update_view_instance
|
||||
(EMailNotebookView *view);
|
||||
void e_mail_notebook_view_set_show_deleted
|
||||
(EMailNotebookView *view,
|
||||
gboolean show_deleted);
|
||||
gboolean e_mail_notebook_view_get_show_deleted
|
||||
(EMailNotebookView *view);
|
||||
void e_mail_notebook_view_set_preview_visible
|
||||
(EMailNotebookView *view,
|
||||
gboolean preview_visible);
|
||||
gboolean e_mail_notebook_view_get_preview_visible
|
||||
(EMailNotebookView *view);
|
||||
void e_mail_notebook_view_set_orientation
|
||||
(EMailNotebookView *view,
|
||||
GtkOrientation orientation);
|
||||
GtkOrientation e_mail_notebook_view_get_orientation
|
||||
(EMailNotebookView *view);
|
||||
|
||||
GType e_mail_notebook_view_get_type (void);
|
||||
void e_mail_notebook_view_register_type (GTypeModule *type_module);
|
||||
GtkWidget * e_mail_notebook_view_new (EShellContent *content);
|
||||
G_END_DECLS
|
||||
|
||||
EShellSearchbar * e_mail_notebook_view_get_searchbar (EMailView *view);
|
||||
void e_mail_notebook_view_set_search_strings (EMailView *view, GSList *search_strings);
|
||||
GalViewInstance * e_mail_notebook_view_get_view_instance (EMailView *view);
|
||||
void e_mail_notebook_view_update_view_instance (EMailView *view);
|
||||
|
||||
void
|
||||
e_mail_notebook_view_set_show_deleted (EMailNotebookView *view,
|
||||
gboolean show_deleted);
|
||||
gboolean
|
||||
e_mail_notebook_view_get_show_deleted (EMailNotebookView *view);
|
||||
|
||||
void
|
||||
e_mail_notebook_view_set_preview_visible (EMailNotebookView *view,
|
||||
gboolean preview_visible);
|
||||
gboolean
|
||||
e_mail_notebook_view_get_preview_visible (EMailNotebookView *view);
|
||||
void
|
||||
e_mail_notebook_view_set_orientation (EMailNotebookView *view,
|
||||
GtkOrientation orientation);
|
||||
GtkOrientation
|
||||
e_mail_notebook_view_get_orientation (EMailNotebookView *view);
|
||||
|
||||
#endif
|
||||
#endif /* E_MAIL_NOTEBOOK_VIEW_H */
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
@ -24,12 +24,10 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include "e-mail-pane.h"
|
||||
|
||||
|
||||
G_DEFINE_TYPE (EMailPane, e_mail_pane, GTK_TYPE_VBOX)
|
||||
|
||||
enum {
|
||||
@ -72,4 +70,3 @@ e_mail_pane_class_init (EMailPaneClass *klass)
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
/*
|
||||
* e-mail-pane.h
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
@ -10,7 +12,7 @@
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
@ -20,30 +22,44 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _E_MAIL_PANE_H_
|
||||
#define _E_MAIL_PANE_H_
|
||||
#ifndef E_MAIL_PANE_H
|
||||
#define E_MAIL_PANE_H
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#define E_MAIL_PANE_TYPE (e_mail_pane_get_type ())
|
||||
#define E_MAIL_PANE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_MAIL_PANE_TYPE, MailFolderView))
|
||||
#define E_MAIL_PANE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_MAIL_PANE_TYPE, MailFolderViewClass))
|
||||
#define IS_E_MAIL_PANE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_MAIL_PANE_TYPE))
|
||||
#define IS_E_MAIL_PANE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_MAIL_PANE_TYPE))
|
||||
#define E_MAIL_PANE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_MAIL_PANE_TYPE, EMailPaneClass))
|
||||
#define E_TYPE_MAIL_PANE \
|
||||
(e_mail_pane_get_type ())
|
||||
#define E_MAIL_PANE(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST \
|
||||
((obj), E_TYPE_MAIL_PANE, MailFolderView))
|
||||
#define E_MAIL_PANE_CLASS(cls) \
|
||||
(G_TYPE_CHECK_CLASS_CAST \
|
||||
((cls), E_TYPE_MAIL_PANE, MailFolderViewClass))
|
||||
#define E_IS_MAIL_PANE(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE \
|
||||
((obj), E_TYPE_MAIL_PANE))
|
||||
#define E_IS_MAIL_PANE_CLASS(cls) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE \
|
||||
((cls), E_TYPE_MAIL_PANE))
|
||||
#define E_MAIL_PANE_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS \
|
||||
((obj), E_TYPE_MAIL_PANE, EMailPaneClass))
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _EMailPane EMailPane;
|
||||
typedef struct _EMailPaneClass EMailPaneClass;
|
||||
typedef struct _EMailPanePrivate EMailPanePrivate;
|
||||
|
||||
typedef struct _EMailPane {
|
||||
struct _EMailPane {
|
||||
GtkVBox parent;
|
||||
|
||||
EMailPanePrivate *priv;
|
||||
} EMailPane;
|
||||
};
|
||||
|
||||
typedef struct _EMailPaneClass {
|
||||
struct _EMailPaneClass {
|
||||
GtkVBoxClass parent_class;
|
||||
};
|
||||
|
||||
} EMailPaneClass;
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
||||
#endif /* E_MAIL_PANE_H */
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
@ -24,7 +24,6 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include "e-mail-paned-view.h"
|
||||
@ -48,6 +47,10 @@
|
||||
#include "message-list.h"
|
||||
#include "e-mail-reader-utils.h"
|
||||
|
||||
#define E_MAIL_PANED_VIEW_GET_PRIVATE(obj) \
|
||||
(G_TYPE_INSTANCE_GET_PRIVATE \
|
||||
((obj), E_TYPE_MAIL_PANED_VIEW, EMailPanedViewPrivate))
|
||||
|
||||
#define E_SHELL_WINDOW_ACTION_GROUP_MAIL(window) \
|
||||
E_SHELL_WINDOW_ACTION_GROUP ((window), "mail")
|
||||
|
||||
@ -86,14 +89,13 @@ enum {
|
||||
#define STATE_KEY_SELECTED_MESSAGE "SelectedMessage"
|
||||
#define STATE_KEY_PREVIEW_VISIBLE "PreviewVisible"
|
||||
|
||||
|
||||
static EMailViewClass *parent_class;
|
||||
static GType mail_paned_view_type;
|
||||
|
||||
static void
|
||||
mail_paned_view_save_boolean (EMailPanedView *view,
|
||||
const gchar *key,
|
||||
gboolean value)
|
||||
const gchar *key,
|
||||
gboolean value)
|
||||
{
|
||||
EShellView *shell_view;
|
||||
EShellContent *shell_content;
|
||||
@ -121,7 +123,7 @@ mail_paned_view_save_boolean (EMailPanedView *view,
|
||||
|
||||
static void
|
||||
mail_paned_view_message_list_built_cb (EMailPanedView *view,
|
||||
MessageList *message_list)
|
||||
MessageList *message_list)
|
||||
{
|
||||
EMailPanedViewPrivate *priv = view->priv;
|
||||
EShellView *shell_view;
|
||||
@ -169,8 +171,8 @@ mail_paned_view_message_list_built_cb (EMailPanedView *view,
|
||||
|
||||
static void
|
||||
mail_paned_view_message_selected_cb (EMailPanedView *view,
|
||||
const gchar *message_uid,
|
||||
MessageList *message_list)
|
||||
const gchar *message_uid,
|
||||
MessageList *message_list)
|
||||
{
|
||||
EShellContent *shell_content;
|
||||
EShellView *shell_view;
|
||||
@ -206,8 +208,8 @@ mail_paned_view_message_selected_cb (EMailPanedView *view,
|
||||
|
||||
static void
|
||||
mail_paned_view_restore_state_cb (EShellWindow *shell_window,
|
||||
EShellView *shell_view,
|
||||
EMailPanedView *view)
|
||||
EShellView *shell_view,
|
||||
EMailPanedView *view)
|
||||
{
|
||||
EMailPanedViewPrivate *priv;
|
||||
GConfBridge *bridge;
|
||||
@ -229,6 +231,22 @@ mail_paned_view_restore_state_cb (EShellWindow *shell_window,
|
||||
gconf_bridge_bind_property (bridge, key, object, "vposition");
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_display_view_cb (EMailView *view,
|
||||
GalView *gal_view)
|
||||
{
|
||||
EMailReader *reader;
|
||||
GtkWidget *message_list;
|
||||
|
||||
reader = E_MAIL_READER (view);
|
||||
message_list = e_mail_reader_get_message_list (reader);
|
||||
|
||||
if (GAL_IS_VIEW_ETABLE (gal_view))
|
||||
gal_view_etable_attach_tree (
|
||||
GAL_VIEW_ETABLE (gal_view),
|
||||
E_TREE (message_list));
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_notify_group_by_threads_cb (EMailReader *reader)
|
||||
{
|
||||
@ -241,28 +259,11 @@ mail_paned_view_notify_group_by_threads_cb (EMailReader *reader)
|
||||
STATE_KEY_GROUP_BY_THREADS, group_by_threads);
|
||||
}
|
||||
|
||||
GtkOrientation
|
||||
e_mail_paned_view_get_orientation (EMailPanedView *view)
|
||||
{
|
||||
return view->priv->orientation;
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_paned_view_set_orientation (EMailPanedView *view,
|
||||
GtkOrientation orientation)
|
||||
{
|
||||
view->priv->orientation = orientation;
|
||||
|
||||
g_object_notify (G_OBJECT (view), "orientation");
|
||||
|
||||
e_mail_paned_view_update_view_instance (view);
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_set_property (GObject *object,
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_GROUP_BY_THREADS:
|
||||
@ -272,20 +273,20 @@ mail_paned_view_set_property (GObject *object,
|
||||
return;
|
||||
|
||||
case PROP_ORIENTATION:
|
||||
e_mail_paned_view_set_orientation (
|
||||
E_MAIL_PANED_VIEW (object),
|
||||
e_mail_view_set_orientation (
|
||||
E_MAIL_VIEW (object),
|
||||
g_value_get_enum (value));
|
||||
return;
|
||||
|
||||
case PROP_PREVIEW_VISIBLE:
|
||||
e_mail_paned_view_set_preview_visible (
|
||||
E_MAIL_PANED_VIEW (object),
|
||||
e_mail_view_set_preview_visible (
|
||||
E_MAIL_VIEW (object),
|
||||
g_value_get_boolean (value));
|
||||
return;
|
||||
|
||||
case PROP_SHOW_DELETED:
|
||||
e_mail_paned_view_set_show_deleted (
|
||||
E_MAIL_PANED_VIEW (object),
|
||||
e_mail_view_set_show_deleted (
|
||||
E_MAIL_VIEW (object),
|
||||
g_value_get_boolean (value));
|
||||
return;
|
||||
}
|
||||
@ -295,9 +296,9 @@ mail_paned_view_set_property (GObject *object,
|
||||
|
||||
static void
|
||||
mail_paned_view_get_property (GObject *object,
|
||||
guint property_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
guint property_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_GROUP_BY_THREADS:
|
||||
@ -310,22 +311,22 @@ mail_paned_view_get_property (GObject *object,
|
||||
case PROP_ORIENTATION:
|
||||
g_value_set_enum (
|
||||
value,
|
||||
e_mail_paned_view_get_orientation (
|
||||
E_MAIL_PANED_VIEW (object)));
|
||||
e_mail_view_get_orientation (
|
||||
E_MAIL_VIEW (object)));
|
||||
return;
|
||||
|
||||
case PROP_PREVIEW_VISIBLE:
|
||||
g_value_set_boolean (
|
||||
value,
|
||||
e_mail_paned_view_get_preview_visible (
|
||||
E_MAIL_PANED_VIEW (object)));
|
||||
e_mail_view_get_preview_visible (
|
||||
E_MAIL_VIEW (object)));
|
||||
return;
|
||||
|
||||
case PROP_SHOW_DELETED:
|
||||
g_value_set_boolean (
|
||||
value,
|
||||
e_mail_paned_view_get_show_deleted (
|
||||
E_MAIL_PANED_VIEW (object)));
|
||||
e_mail_view_get_show_deleted (
|
||||
E_MAIL_VIEW (object)));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -337,7 +338,7 @@ mail_paned_view_dispose (GObject *object)
|
||||
{
|
||||
EMailPanedViewPrivate *priv;
|
||||
|
||||
priv = E_MAIL_PANED_VIEW(object)->priv;
|
||||
priv = E_MAIL_PANED_VIEW (object)->priv;
|
||||
|
||||
if (priv->paned != NULL) {
|
||||
g_object_unref (priv->paned);
|
||||
@ -400,7 +401,7 @@ mail_paned_view_get_formatter (EMailReader *reader)
|
||||
static gboolean
|
||||
mail_paned_view_get_hide_deleted (EMailReader *reader)
|
||||
{
|
||||
return !e_mail_paned_view_get_show_deleted (E_MAIL_PANED_VIEW(reader));
|
||||
return !e_mail_view_get_show_deleted (E_MAIL_VIEW (reader));
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
@ -539,8 +540,7 @@ mail_paned_view_set_folder (EMailReader *reader,
|
||||
value = FALSE;
|
||||
}
|
||||
|
||||
e_mail_paned_view_set_preview_visible (
|
||||
E_MAIL_PANED_VIEW (reader), value);
|
||||
e_mail_view_set_preview_visible (E_MAIL_VIEW (reader), value);
|
||||
|
||||
g_free (group_name);
|
||||
|
||||
@ -558,14 +558,14 @@ mail_paned_view_show_search_bar (EMailReader *reader)
|
||||
gtk_widget_show (priv->search_bar);
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_open_selected_mail (EMailReader *reader)
|
||||
static guint
|
||||
mail_paned_view_reader_open_selected_mail (EMailReader *reader)
|
||||
{
|
||||
EMailPanedViewPrivate *priv;
|
||||
|
||||
priv = E_MAIL_PANED_VIEW (reader)->priv;
|
||||
|
||||
E_MAIL_PANED_VIEW_CLASS(G_OBJECT_GET_CLASS (reader))->open_selected_mail (E_MAIL_PANED_VIEW(reader));
|
||||
return E_MAIL_PANED_VIEW_CLASS (G_OBJECT_GET_CLASS (reader))->open_selected_mail (E_MAIL_PANED_VIEW (reader));
|
||||
}
|
||||
|
||||
static void
|
||||
@ -586,10 +586,6 @@ mail_paned_view_constructed (GObject *object)
|
||||
priv = E_MAIL_PANED_VIEW (object)->priv;
|
||||
priv->formatter = em_format_html_display_new ();
|
||||
|
||||
/* Chain up to parent's constructed() method. */
|
||||
if (G_OBJECT_CLASS (parent_class)->constructed)
|
||||
G_OBJECT_CLASS (parent_class)->constructed (object);
|
||||
|
||||
shell_content = E_MAIL_VIEW (object)->content;
|
||||
shell_view = e_shell_content_get_shell_view (shell_content);
|
||||
shell_window = e_shell_view_get_shell_window (shell_view);
|
||||
@ -648,12 +644,11 @@ mail_paned_view_constructed (GObject *object)
|
||||
|
||||
/* Load the view instance. */
|
||||
|
||||
e_mail_paned_view_update_view_instance (
|
||||
E_MAIL_PANED_VIEW (object));
|
||||
e_mail_view_update_view_instance (E_MAIL_VIEW (object));
|
||||
|
||||
/* Message list customizations. */
|
||||
|
||||
e_mail_reader_init_private (E_MAIL_READER(object));
|
||||
e_mail_reader_init_private (E_MAIL_READER (object));
|
||||
|
||||
reader = E_MAIL_READER (object);
|
||||
message_list = e_mail_reader_get_message_list (reader);
|
||||
@ -673,253 +668,31 @@ mail_paned_view_constructed (GObject *object)
|
||||
e_mail_reader_connect_headers (reader);
|
||||
}
|
||||
|
||||
static void
|
||||
mpv_open_selected_mail (EMailPanedView *view)
|
||||
{
|
||||
e_mail_reader_open_selected (E_MAIL_READER(view));
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_init (EMailPanedView *shell)
|
||||
{
|
||||
shell->priv = g_new0(EMailPanedViewPrivate, 1);
|
||||
|
||||
shell->priv->preview_visible = TRUE;
|
||||
|
||||
g_signal_connect (
|
||||
shell, "notify::group-by-threads",
|
||||
G_CALLBACK (mail_paned_view_notify_group_by_threads_cb),
|
||||
NULL);
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_class_init (EMailViewClass *klass)
|
||||
{
|
||||
GObjectClass * object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
object_class->dispose = mail_paned_view_dispose;
|
||||
object_class->constructed = mail_paned_view_constructed;
|
||||
object_class->set_property = mail_paned_view_set_property;
|
||||
object_class->get_property = mail_paned_view_get_property;
|
||||
|
||||
klass->get_searchbar = e_mail_paned_view_get_searchbar;
|
||||
klass->set_search_strings = e_mail_paned_view_set_search_strings;
|
||||
klass->get_view_instance = e_mail_paned_view_get_view_instance;
|
||||
klass->update_view_instance = e_mail_paned_view_update_view_instance;
|
||||
|
||||
klass->set_orientation = e_mail_paned_view_set_orientation;
|
||||
klass->get_orientation = e_mail_paned_view_get_orientation;
|
||||
klass->set_show_deleted = e_mail_paned_view_set_show_deleted;
|
||||
klass->get_show_deleted = e_mail_paned_view_get_show_deleted;
|
||||
klass->set_preview_visible = e_mail_paned_view_set_preview_visible;
|
||||
klass->get_preview_visible = e_mail_paned_view_get_preview_visible;
|
||||
|
||||
E_MAIL_PANED_VIEW_CLASS(klass)->open_selected_mail = mpv_open_selected_mail;
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_GROUP_BY_THREADS,
|
||||
"group-by-threads");
|
||||
|
||||
g_object_class_install_property (
|
||||
object_class,
|
||||
PROP_PREVIEW_VISIBLE,
|
||||
g_param_spec_boolean (
|
||||
"preview-visible",
|
||||
"Preview is Visible",
|
||||
"Whether the preview pane is visible",
|
||||
TRUE,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_object_class_install_property (
|
||||
object_class,
|
||||
PROP_SHOW_DELETED,
|
||||
g_param_spec_boolean (
|
||||
"show-deleted",
|
||||
"Show Deleted",
|
||||
NULL,
|
||||
FALSE,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_object_class_override_property (
|
||||
object_class, PROP_ORIENTATION, "orientation");
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_reader_init (EMailReaderIface *iface)
|
||||
{
|
||||
iface->get_action_group = mail_paned_view_get_action_group;
|
||||
iface->get_formatter = mail_paned_view_get_formatter;
|
||||
iface->get_hide_deleted = mail_paned_view_get_hide_deleted;
|
||||
iface->get_message_list = mail_paned_view_get_message_list;
|
||||
iface->get_popup_menu = mail_paned_view_get_popup_menu;
|
||||
iface->get_shell_backend = mail_paned_view_get_shell_backend;
|
||||
iface->get_window = mail_paned_view_get_window;
|
||||
iface->set_folder = mail_paned_view_set_folder;
|
||||
iface->show_search_bar = mail_paned_view_show_search_bar;
|
||||
iface->open_selected_mail = mail_paned_view_open_selected_mail;
|
||||
}
|
||||
|
||||
GType
|
||||
e_mail_paned_view_get_type (void)
|
||||
{
|
||||
return mail_paned_view_type;
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_paned_view_register_type (GTypeModule *type_module)
|
||||
{
|
||||
static const GTypeInfo type_info = {
|
||||
sizeof (EMailPanedViewClass),
|
||||
(GBaseInitFunc) NULL,
|
||||
(GBaseFinalizeFunc) NULL,
|
||||
(GClassInitFunc) mail_paned_view_class_init,
|
||||
(GClassFinalizeFunc) NULL,
|
||||
NULL, /* class_data */
|
||||
sizeof (EMailPanedView),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) mail_paned_view_init,
|
||||
NULL /* value_table */
|
||||
};
|
||||
#if 0
|
||||
static const GInterfaceInfo orientable_info = {
|
||||
(GInterfaceInitFunc) NULL,
|
||||
(GInterfaceFinalizeFunc) NULL,
|
||||
NULL /* interface_data */
|
||||
};
|
||||
#endif
|
||||
static const GInterfaceInfo reader_info = {
|
||||
(GInterfaceInitFunc) mail_paned_view_reader_init,
|
||||
(GInterfaceFinalizeFunc) NULL,
|
||||
NULL /* interface_data */
|
||||
};
|
||||
|
||||
mail_paned_view_type = g_type_module_register_type (
|
||||
type_module, E_MAIL_VIEW_TYPE,
|
||||
"EMailPanedView", &type_info, 0);
|
||||
#if 0
|
||||
g_type_module_add_interface (
|
||||
type_module, mail_paned_view_type,
|
||||
GTK_TYPE_ORIENTABLE, &orientable_info);
|
||||
#endif
|
||||
g_type_module_add_interface (
|
||||
type_module, mail_paned_view_type,
|
||||
E_TYPE_MAIL_READER, &reader_info);
|
||||
}
|
||||
|
||||
|
||||
GtkWidget *
|
||||
e_mail_paned_view_new (EShellContent *content)
|
||||
{
|
||||
g_return_val_if_fail (E_IS_SHELL_CONTENT (content), NULL);
|
||||
|
||||
return g_object_new (
|
||||
E_MAIL_PANED_VIEW_TYPE,
|
||||
"shell-content", content, NULL);
|
||||
}
|
||||
|
||||
gboolean
|
||||
e_mail_paned_view_get_preview_visible (EMailPanedView *view)
|
||||
{
|
||||
g_return_val_if_fail (
|
||||
E_IS_MAIL_PANED_VIEW (view), FALSE);
|
||||
|
||||
return view->priv->preview_visible;
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_paned_view_set_preview_visible (EMailPanedView *view,
|
||||
gboolean preview_visible)
|
||||
{
|
||||
g_return_if_fail (E_IS_MAIL_PANED_VIEW (view));
|
||||
|
||||
if (preview_visible == view->priv->preview_visible)
|
||||
return;
|
||||
|
||||
/* If we're showing the preview, tell EMailReader to reload the
|
||||
* selected message. This should force it to download the full
|
||||
* message if necessary, so we don't get an empty preview. */
|
||||
if (preview_visible) {
|
||||
EMailReader *reader;
|
||||
GtkWidget *message_list;
|
||||
const gchar *cursor_uid;
|
||||
|
||||
reader = E_MAIL_READER (view);
|
||||
message_list = e_mail_reader_get_message_list (reader);
|
||||
cursor_uid = MESSAGE_LIST (message_list)->cursor_uid;
|
||||
|
||||
if (cursor_uid != NULL)
|
||||
e_mail_reader_set_message (reader, cursor_uid);
|
||||
}
|
||||
|
||||
view->priv->preview_visible = preview_visible;
|
||||
|
||||
mail_paned_view_save_boolean (
|
||||
view,
|
||||
STATE_KEY_PREVIEW_VISIBLE, preview_visible);
|
||||
|
||||
g_object_notify (G_OBJECT (view), "preview-visible");
|
||||
}
|
||||
|
||||
EShellSearchbar *
|
||||
e_mail_paned_view_get_searchbar (EMailPanedView *view)
|
||||
static EShellSearchbar *
|
||||
mail_paned_view_get_searchbar (EMailView *view)
|
||||
{
|
||||
EShellView *shell_view;
|
||||
EShellContent *shell_content;
|
||||
GtkWidget *widget;
|
||||
|
||||
g_return_val_if_fail (
|
||||
E_IS_MAIL_PANED_VIEW (view), NULL);
|
||||
|
||||
shell_content = E_MAIL_VIEW (view)->content;
|
||||
shell_content = view->content;
|
||||
shell_view = e_shell_content_get_shell_view (shell_content);
|
||||
widget = e_shell_view_get_searchbar (shell_view);
|
||||
|
||||
return E_SHELL_SEARCHBAR (widget);
|
||||
}
|
||||
|
||||
gboolean
|
||||
e_mail_paned_view_get_show_deleted (EMailPanedView *view)
|
||||
{
|
||||
g_return_val_if_fail (
|
||||
E_IS_MAIL_PANED_VIEW (view), FALSE);
|
||||
|
||||
return view->priv->show_deleted;
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_paned_view_set_show_deleted (EMailPanedView *view,
|
||||
gboolean show_deleted)
|
||||
{
|
||||
g_return_if_fail (E_IS_MAIL_PANED_VIEW (view));
|
||||
|
||||
view->priv->show_deleted = show_deleted;
|
||||
|
||||
g_object_notify (G_OBJECT (view), "show-deleted");
|
||||
}
|
||||
|
||||
GalViewInstance *
|
||||
e_mail_paned_view_get_view_instance (EMailPanedView *view)
|
||||
{
|
||||
g_return_val_if_fail (
|
||||
E_IS_MAIL_PANED_VIEW (view), NULL);
|
||||
|
||||
return view->priv->view_instance;
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_paned_view_set_search_strings (EMailPanedView *view,
|
||||
GSList *search_strings)
|
||||
static void
|
||||
mail_paned_view_set_search_strings (EMailView *view,
|
||||
GSList *search_strings)
|
||||
{
|
||||
EMailPanedViewPrivate *priv;
|
||||
ESearchBar *search_bar;
|
||||
ESearchingTokenizer *tokenizer;
|
||||
|
||||
g_return_if_fail (E_IS_MAIL_PANED_VIEW (view));
|
||||
priv = E_MAIL_PANED_VIEW_GET_PRIVATE (view);
|
||||
|
||||
search_bar = E_SEARCH_BAR (view->priv->search_bar);
|
||||
search_bar = E_SEARCH_BAR (priv->search_bar);
|
||||
tokenizer = e_search_bar_get_tokenizer (search_bar);
|
||||
|
||||
e_searching_tokenizer_set_secondary_case_sensitivity (tokenizer, FALSE);
|
||||
@ -934,25 +707,20 @@ e_mail_paned_view_set_search_strings (EMailPanedView *view,
|
||||
e_search_bar_changed (search_bar);
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_display_view_cb (EMailPanedView *view,
|
||||
GalView *gal_view)
|
||||
static GalViewInstance *
|
||||
mail_paned_view_get_view_instance (EMailView *view)
|
||||
{
|
||||
EMailReader *reader;
|
||||
GtkWidget *message_list;
|
||||
EMailPanedViewPrivate *priv;
|
||||
|
||||
reader = E_MAIL_READER (view);
|
||||
message_list = e_mail_reader_get_message_list (reader);
|
||||
priv = E_MAIL_PANED_VIEW_GET_PRIVATE (view);
|
||||
|
||||
if (GAL_IS_VIEW_ETABLE (gal_view))
|
||||
gal_view_etable_attach_tree (
|
||||
GAL_VIEW_ETABLE (gal_view),
|
||||
E_TREE (message_list));
|
||||
return priv->view_instance;
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_paned_view_update_view_instance (EMailPanedView *view)
|
||||
static void
|
||||
mail_paned_view_update_view_instance (EMailView *view)
|
||||
{
|
||||
EMailPanedViewPrivate *priv;
|
||||
EMailReader *reader;
|
||||
EShell *shell;
|
||||
EShellContent *shell_content;
|
||||
@ -970,7 +738,9 @@ e_mail_paned_view_update_view_instance (EMailPanedView *view)
|
||||
const gchar *folder_uri;
|
||||
gchar *view_id;
|
||||
|
||||
shell_content = E_MAIL_VIEW(view)->content;
|
||||
priv = E_MAIL_PANED_VIEW_GET_PRIVATE (view);
|
||||
|
||||
shell_content = view->content;
|
||||
shell_view = e_shell_content_get_shell_view (shell_content);
|
||||
shell_view_class = E_SHELL_VIEW_GET_CLASS (shell_view);
|
||||
view_collection = shell_view_class->view_collection;
|
||||
@ -990,9 +760,9 @@ e_mail_paned_view_update_view_instance (EMailPanedView *view)
|
||||
/* If we have a folder, we should also have a URI. */
|
||||
g_return_if_fail (folder_uri != NULL);
|
||||
|
||||
if (view->priv->view_instance != NULL) {
|
||||
g_object_unref (view->priv->view_instance);
|
||||
view->priv->view_instance = NULL;
|
||||
if (priv->view_instance != NULL) {
|
||||
g_object_unref (priv->view_instance);
|
||||
priv->view_instance = NULL;
|
||||
}
|
||||
|
||||
view_id = mail_config_folder_to_safe_url (folder);
|
||||
@ -1001,7 +771,7 @@ e_mail_paned_view_update_view_instance (EMailPanedView *view)
|
||||
else
|
||||
view_instance = e_shell_view_new_view_instance (shell_view, view_id);
|
||||
|
||||
view->priv->view_instance = view_instance;
|
||||
priv->view_instance = view_instance;
|
||||
|
||||
orientable = GTK_ORIENTABLE (view);
|
||||
orientation = gtk_orientable_get_orientation (orientable);
|
||||
@ -1096,29 +866,274 @@ e_mail_paned_view_update_view_instance (EMailPanedView *view)
|
||||
|
||||
g_signal_connect_swapped (
|
||||
view_instance, "display-view",
|
||||
G_CALLBACK (mail_paned_display_view_cb),
|
||||
view);
|
||||
G_CALLBACK (mail_paned_display_view_cb), view);
|
||||
|
||||
mail_paned_display_view_cb (
|
||||
view,
|
||||
gal_view_instance_get_current_view (view_instance));
|
||||
view, gal_view_instance_get_current_view (view_instance));
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_set_orientation (EMailView *view,
|
||||
GtkOrientation orientation)
|
||||
{
|
||||
EMailPanedViewPrivate *priv;
|
||||
|
||||
priv = E_MAIL_PANED_VIEW_GET_PRIVATE (view);
|
||||
|
||||
priv->orientation = orientation;
|
||||
|
||||
g_object_notify (G_OBJECT (view), "orientation");
|
||||
|
||||
e_mail_view_update_view_instance (view);
|
||||
}
|
||||
|
||||
static GtkOrientation
|
||||
mail_paned_view_get_orientation (EMailView *view)
|
||||
{
|
||||
EMailPanedViewPrivate *priv;
|
||||
|
||||
priv = E_MAIL_PANED_VIEW_GET_PRIVATE (view);
|
||||
|
||||
return priv->orientation;
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_set_show_deleted (EMailView *view,
|
||||
gboolean show_deleted)
|
||||
{
|
||||
EMailPanedViewPrivate *priv;
|
||||
|
||||
priv = E_MAIL_PANED_VIEW_GET_PRIVATE (view);
|
||||
|
||||
priv->show_deleted = show_deleted;
|
||||
|
||||
g_object_notify (G_OBJECT (view), "show-deleted");
|
||||
}
|
||||
|
||||
static gboolean
|
||||
mail_paned_view_get_show_deleted (EMailView *view)
|
||||
{
|
||||
EMailPanedViewPrivate *priv;
|
||||
|
||||
priv = E_MAIL_PANED_VIEW_GET_PRIVATE (view);
|
||||
|
||||
return priv->show_deleted;
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_set_preview_visible (EMailView *view,
|
||||
gboolean preview_visible)
|
||||
{
|
||||
EMailPanedViewPrivate *priv;
|
||||
|
||||
priv = E_MAIL_PANED_VIEW_GET_PRIVATE (view);
|
||||
|
||||
if (preview_visible == priv->preview_visible)
|
||||
return;
|
||||
|
||||
/* If we're showing the preview, tell EMailReader to reload the
|
||||
* selected message. This should force it to download the full
|
||||
* message if necessary, so we don't get an empty preview. */
|
||||
if (preview_visible) {
|
||||
EMailReader *reader;
|
||||
GtkWidget *message_list;
|
||||
const gchar *cursor_uid;
|
||||
|
||||
reader = E_MAIL_READER (view);
|
||||
message_list = e_mail_reader_get_message_list (reader);
|
||||
cursor_uid = MESSAGE_LIST (message_list)->cursor_uid;
|
||||
|
||||
if (cursor_uid != NULL)
|
||||
e_mail_reader_set_message (reader, cursor_uid);
|
||||
}
|
||||
|
||||
priv->preview_visible = preview_visible;
|
||||
|
||||
mail_paned_view_save_boolean (
|
||||
E_MAIL_PANED_VIEW (view),
|
||||
STATE_KEY_PREVIEW_VISIBLE, preview_visible);
|
||||
|
||||
g_object_notify (G_OBJECT (view), "preview-visible");
|
||||
}
|
||||
|
||||
static gboolean
|
||||
mail_paned_view_get_preview_visible (EMailView *view)
|
||||
{
|
||||
EMailPanedViewPrivate *priv;
|
||||
|
||||
priv = E_MAIL_PANED_VIEW_GET_PRIVATE (view);
|
||||
|
||||
return priv->preview_visible;
|
||||
}
|
||||
|
||||
static guint
|
||||
mail_paned_view_open_selected_mail (EMailPanedView *view)
|
||||
{
|
||||
return e_mail_reader_open_selected (E_MAIL_READER (view));
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_class_init (EMailPanedViewClass *class)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
EMailViewClass *mail_view_class;
|
||||
|
||||
parent_class = g_type_class_peek_parent (class);
|
||||
g_type_class_add_private (class, sizeof (EMailPanedViewPrivate));
|
||||
|
||||
object_class = G_OBJECT_CLASS (class);
|
||||
object_class->dispose = mail_paned_view_dispose;
|
||||
object_class->constructed = mail_paned_view_constructed;
|
||||
object_class->set_property = mail_paned_view_set_property;
|
||||
object_class->get_property = mail_paned_view_get_property;
|
||||
|
||||
mail_view_class = E_MAIL_VIEW_CLASS (class);
|
||||
mail_view_class->get_searchbar = mail_paned_view_get_searchbar;
|
||||
mail_view_class->set_search_strings = mail_paned_view_set_search_strings;
|
||||
mail_view_class->get_view_instance = mail_paned_view_get_view_instance;
|
||||
mail_view_class->update_view_instance = mail_paned_view_update_view_instance;
|
||||
|
||||
mail_view_class->set_orientation = mail_paned_view_set_orientation;
|
||||
mail_view_class->get_orientation = mail_paned_view_get_orientation;
|
||||
mail_view_class->set_show_deleted = mail_paned_view_set_show_deleted;
|
||||
mail_view_class->get_show_deleted = mail_paned_view_get_show_deleted;
|
||||
mail_view_class->set_preview_visible = mail_paned_view_set_preview_visible;
|
||||
mail_view_class->get_preview_visible = mail_paned_view_get_preview_visible;
|
||||
|
||||
class->open_selected_mail = mail_paned_view_open_selected_mail;
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_GROUP_BY_THREADS,
|
||||
"group-by-threads");
|
||||
|
||||
g_object_class_install_property (
|
||||
object_class,
|
||||
PROP_PREVIEW_VISIBLE,
|
||||
g_param_spec_boolean (
|
||||
"preview-visible",
|
||||
"Preview is Visible",
|
||||
"Whether the preview pane is visible",
|
||||
TRUE,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_object_class_install_property (
|
||||
object_class,
|
||||
PROP_SHOW_DELETED,
|
||||
g_param_spec_boolean (
|
||||
"show-deleted",
|
||||
"Show Deleted",
|
||||
NULL,
|
||||
FALSE,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_object_class_override_property (
|
||||
object_class, PROP_ORIENTATION, "orientation");
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_reader_init (EMailReaderIface *iface)
|
||||
{
|
||||
iface->get_action_group = mail_paned_view_get_action_group;
|
||||
iface->get_formatter = mail_paned_view_get_formatter;
|
||||
iface->get_hide_deleted = mail_paned_view_get_hide_deleted;
|
||||
iface->get_message_list = mail_paned_view_get_message_list;
|
||||
iface->get_popup_menu = mail_paned_view_get_popup_menu;
|
||||
iface->get_shell_backend = mail_paned_view_get_shell_backend;
|
||||
iface->get_window = mail_paned_view_get_window;
|
||||
iface->set_folder = mail_paned_view_set_folder;
|
||||
iface->show_search_bar = mail_paned_view_show_search_bar;
|
||||
iface->open_selected_mail = mail_paned_view_reader_open_selected_mail;
|
||||
}
|
||||
|
||||
static void
|
||||
mail_paned_view_init (EMailPanedView *view)
|
||||
{
|
||||
view->priv = E_MAIL_PANED_VIEW_GET_PRIVATE (view);
|
||||
|
||||
view->priv->preview_visible = TRUE;
|
||||
|
||||
g_signal_connect (
|
||||
view, "notify::group-by-threads",
|
||||
G_CALLBACK (mail_paned_view_notify_group_by_threads_cb),
|
||||
NULL);
|
||||
}
|
||||
|
||||
GType
|
||||
e_mail_paned_view_get_type (void)
|
||||
{
|
||||
return mail_paned_view_type;
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_paned_view_register_type (GTypeModule *type_module)
|
||||
{
|
||||
static const GTypeInfo type_info = {
|
||||
sizeof (EMailPanedViewClass),
|
||||
(GBaseInitFunc) NULL,
|
||||
(GBaseFinalizeFunc) NULL,
|
||||
(GClassInitFunc) mail_paned_view_class_init,
|
||||
(GClassFinalizeFunc) NULL,
|
||||
NULL, /* class_data */
|
||||
sizeof (EMailPanedView),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) mail_paned_view_init,
|
||||
NULL /* value_table */
|
||||
};
|
||||
#if 0
|
||||
static const GInterfaceInfo orientable_info = {
|
||||
(GInterfaceInitFunc) NULL,
|
||||
(GInterfaceFinalizeFunc) NULL,
|
||||
NULL /* interface_data */
|
||||
};
|
||||
#endif
|
||||
static const GInterfaceInfo reader_info = {
|
||||
(GInterfaceInitFunc) mail_paned_view_reader_init,
|
||||
(GInterfaceFinalizeFunc) NULL,
|
||||
NULL /* interface_data */
|
||||
};
|
||||
|
||||
mail_paned_view_type = g_type_module_register_type (
|
||||
type_module, E_TYPE_MAIL_VIEW,
|
||||
"EMailPanedView", &type_info, 0);
|
||||
#if 0
|
||||
g_type_module_add_interface (
|
||||
type_module, mail_paned_view_type,
|
||||
GTK_TYPE_ORIENTABLE, &orientable_info);
|
||||
#endif
|
||||
g_type_module_add_interface (
|
||||
type_module, mail_paned_view_type,
|
||||
E_TYPE_MAIL_READER, &reader_info);
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
e_mail_paned_view_new (EShellContent *content)
|
||||
{
|
||||
g_return_val_if_fail (E_IS_SHELL_CONTENT (content), NULL);
|
||||
|
||||
return g_object_new (
|
||||
E_TYPE_MAIL_PANED_VIEW,
|
||||
"shell-content", content, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_paned_view_hide_message_list_pane (EMailPanedView *view,
|
||||
gboolean visible)
|
||||
gboolean visible)
|
||||
{
|
||||
EMailPanedViewPrivate *priv = view->priv;
|
||||
g_return_if_fail (E_IS_MAIL_PANED_VIEW (view));
|
||||
|
||||
if (visible)
|
||||
gtk_widget_show (priv->scrolled_window);
|
||||
gtk_widget_show (view->priv->scrolled_window);
|
||||
else
|
||||
gtk_widget_hide (priv->scrolled_window);
|
||||
gtk_widget_hide (view->priv->scrolled_window);
|
||||
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
e_mail_paned_view_get_preview (EMailPanedView *view)
|
||||
{
|
||||
g_return_val_if_fail (E_IS_MAIL_PANED_VIEW (view), NULL);
|
||||
|
||||
return view->priv->preview;
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
@ -20,11 +20,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _E_MAIL_PANED_VIEW_H_
|
||||
#define _E_MAIL_PANED_VIEW_H_
|
||||
#ifndef E_MAIL_PANED_VIEW_H
|
||||
#define E_MAIL_PANED_VIEW_H
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include "e-mail-view.h"
|
||||
#include <mail/e-mail-view.h>
|
||||
|
||||
#include <shell/e-shell-content.h>
|
||||
#include <shell/e-shell-searchbar.h>
|
||||
@ -32,63 +31,50 @@
|
||||
|
||||
#include <mail/em-format-html-display.h>
|
||||
|
||||
#define E_MAIL_PANED_VIEW_TYPE (e_mail_paned_view_get_type ())
|
||||
#define E_MAIL_PANED_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_MAIL_PANED_VIEW_TYPE, EMailPanedView))
|
||||
#define E_MAIL_PANED_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_MAIL_PANED_VIEW_TYPE, EMailPanedViewClass))
|
||||
#define E_IS_MAIL_PANED_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_MAIL_PANED_VIEW_TYPE))
|
||||
#define E_IS_MAIL_PANED_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_MAIL_PANED_VIEW_TYPE))
|
||||
#define E_MAIL_PANED_VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_MAIL_PANED_VIEW_TYPE, EMailPanedViewClass))
|
||||
/* Standard GObject macros */
|
||||
#define E_TYPE_MAIL_PANED_VIEW \
|
||||
(e_mail_paned_view_get_type ())
|
||||
#define E_MAIL_PANED_VIEW(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST \
|
||||
((obj), E_TYPE_MAIL_PANED_VIEW, EMailPanedView))
|
||||
#define E_MAIL_PANED_VIEW_CLASS(cls) \
|
||||
(G_TYPE_CHECK_CLASS_CAST \
|
||||
((cls), E_TYPE_MAIL_PANED_VIEW, EMailPanedViewClass))
|
||||
#define E_IS_MAIL_PANED_VIEW(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE \
|
||||
((obj), E_TYPE_MAIL_PANED_VIEW))
|
||||
#define E_IS_MAIL_PANED_VIEW_CLASS(cls) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE \
|
||||
((cls), E_TYPE_MAIL_PANED_VIEW))
|
||||
#define E_MAIL_PANED_VIEW_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS \
|
||||
((obj), E_TYPE_MAIL_PANED_VIEW, EMailPanedViewClass))
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _EMailPanedView EMailPanedView;
|
||||
typedef struct _EMailPanedViewClass EMailPanedViewClass;
|
||||
typedef struct _EMailPanedViewPrivate EMailPanedViewPrivate;
|
||||
|
||||
typedef struct _EMailPanedView {
|
||||
struct _EMailPanedView {
|
||||
EMailView parent;
|
||||
|
||||
EMailPanedViewPrivate *priv;
|
||||
} EMailPanedView;
|
||||
};
|
||||
|
||||
typedef struct _EMailPanedViewClass {
|
||||
struct _EMailPanedViewClass {
|
||||
EMailViewClass parent_class;
|
||||
|
||||
void (*open_selected_mail) (EMailPanedView *view);
|
||||
guint (*open_selected_mail) (EMailPanedView *view);
|
||||
};
|
||||
|
||||
} EMailPanedViewClass;
|
||||
GType e_mail_paned_view_get_type (void);
|
||||
void e_mail_paned_view_register_type (GTypeModule *type_module);
|
||||
GtkWidget * e_mail_paned_view_new (EShellContent *content);
|
||||
void e_mail_paned_view_hide_message_list_pane
|
||||
(EMailPanedView *view,
|
||||
gboolean visible);
|
||||
GtkWidget * e_mail_paned_view_get_preview (EMailPanedView *view);
|
||||
|
||||
GType e_mail_paned_view_get_type (void);
|
||||
void
|
||||
e_mail_paned_view_register_type (GTypeModule *type_module);
|
||||
GtkWidget *
|
||||
e_mail_paned_view_new (EShellContent *content);
|
||||
void
|
||||
e_mail_paned_view_update_view_instance (EMailPanedView *view);
|
||||
GalViewInstance *
|
||||
e_mail_paned_view_get_view_instance (EMailPanedView *view);
|
||||
void
|
||||
e_mail_paned_view_set_search_strings (EMailPanedView *view,
|
||||
GSList *search_strings);
|
||||
void
|
||||
e_mail_paned_view_set_show_deleted (EMailPanedView *view,
|
||||
gboolean show_deleted);
|
||||
G_END_DECLS
|
||||
|
||||
gboolean
|
||||
e_mail_paned_view_get_show_deleted (EMailPanedView *view);
|
||||
EShellSearchbar *
|
||||
e_mail_paned_view_get_searchbar (EMailPanedView *view);
|
||||
void
|
||||
e_mail_paned_view_set_preview_visible (EMailPanedView *view,
|
||||
gboolean preview_visible);
|
||||
gboolean
|
||||
e_mail_paned_view_get_preview_visible (EMailPanedView *view);
|
||||
void
|
||||
e_mail_paned_view_set_orientation (EMailPanedView *view,
|
||||
GtkOrientation orientation);
|
||||
GtkOrientation
|
||||
e_mail_paned_view_get_orientation (EMailPanedView *view);
|
||||
void
|
||||
e_mail_paned_view_hide_message_list_pane (EMailPanedView *view,
|
||||
gboolean visible);
|
||||
GtkWidget *
|
||||
e_mail_paned_view_get_preview (EMailPanedView *view);
|
||||
|
||||
#endif
|
||||
#endif /* E_MAIL_PANED_VIEW_H */
|
||||
|
||||
@ -53,7 +53,6 @@
|
||||
#include "mail/mail-vfolder.h"
|
||||
#include "mail/message-list.h"
|
||||
|
||||
|
||||
#if HAVE_CLUTTER
|
||||
#include <clutter/clutter.h>
|
||||
#include <mx/mx.h>
|
||||
@ -682,7 +681,7 @@ action_mail_next_cb (GtkAction *action,
|
||||
#if HAVE_CLUTTER
|
||||
ClutterActor *actor;
|
||||
#endif
|
||||
|
||||
|
||||
direction = MESSAGE_LIST_SELECT_NEXT;
|
||||
flags = 0;
|
||||
mask = 0;
|
||||
@ -691,13 +690,12 @@ action_mail_next_cb (GtkAction *action,
|
||||
#if HAVE_CLUTTER
|
||||
actor = g_object_get_data ((GObject *)message_list, "preview-actor");
|
||||
if (actor) {
|
||||
clutter_actor_set_opacity (actor, 0);
|
||||
clutter_actor_animate (actor, CLUTTER_EASE_OUT_SINE, 500,
|
||||
"opacity", 255,
|
||||
NULL);
|
||||
clutter_actor_set_opacity (actor, 0);
|
||||
clutter_actor_animate (
|
||||
actor, CLUTTER_EASE_OUT_SINE,
|
||||
500, "opacity", 255, NULL);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
message_list_select (
|
||||
MESSAGE_LIST (message_list), direction, flags, mask);
|
||||
}
|
||||
@ -887,7 +885,7 @@ action_mail_reply_all_check(CamelFolder *folder, const gchar *uid, CamelMimeMess
|
||||
mode = REPLY_MODE_SENDER;
|
||||
else if (response == GTK_RESPONSE_CANCEL)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
e_mail_reader_reply_to_message (reader, message, mode);
|
||||
}
|
||||
@ -966,7 +964,7 @@ action_mail_reply_sender_check(CamelFolder *folder, const gchar *uid, CamelMimeM
|
||||
/* get_message_free() will unref the message, so we need to take an
|
||||
extra ref for e_mail_reader_reply_to_message() to own. */
|
||||
g_object_ref(message);
|
||||
|
||||
|
||||
/* Don't do the "Are you sure you want to reply in private?" pop-up if
|
||||
it's a Reply-To: munged list message... unless we're ignoring munging */
|
||||
if (gconf_client_get_bool (gconf,
|
||||
@ -2190,13 +2188,12 @@ mail_reader_message_selected_timeout_cb (EMailReader *reader)
|
||||
gboolean store_async;
|
||||
MailMsgDispatchFunc disp_func;
|
||||
|
||||
|
||||
string = g_strdup_printf (
|
||||
_("Retrieving message '%s'"), cursor_uid);
|
||||
#if HAVE_CLUTTER
|
||||
if (!e_shell_get_express_mode(e_shell_get_default()))
|
||||
e_web_view_load_string (web_view, string);
|
||||
#else
|
||||
e_web_view_load_string (web_view, string);
|
||||
#else
|
||||
e_web_view_load_string (web_view, string);
|
||||
#endif
|
||||
g_free (string);
|
||||
@ -3037,7 +3034,7 @@ e_mail_reader_init_private (EMailReader *reader)
|
||||
message_list = e_mail_reader_get_message_list (reader);
|
||||
|
||||
web_view = em_format_html_get_web_view (formatter);
|
||||
|
||||
|
||||
quark_private = g_quark_from_static_string ("EMailReader-private");
|
||||
|
||||
/* Connect signals. */
|
||||
@ -3064,7 +3061,7 @@ e_mail_reader_init_private (EMailReader *reader)
|
||||
|
||||
g_signal_connect_swapped (
|
||||
message_list, "selection-change",
|
||||
G_CALLBACK (e_mail_reader_changed), reader);
|
||||
G_CALLBACK (e_mail_reader_changed), reader);
|
||||
|
||||
g_object_set_qdata_full (
|
||||
G_OBJECT (reader), quark_private,
|
||||
@ -3457,17 +3454,17 @@ e_mail_reader_set_message (EMailReader *reader,
|
||||
iface->set_message (reader, uid);
|
||||
}
|
||||
|
||||
void
|
||||
guint
|
||||
e_mail_reader_open_selected_mail (EMailReader *reader)
|
||||
{
|
||||
EMailReaderIface *iface;
|
||||
|
||||
g_return_if_fail (E_IS_MAIL_READER (reader));
|
||||
g_return_val_if_fail (E_IS_MAIL_READER (reader), 0);
|
||||
|
||||
iface = E_MAIL_READER_GET_IFACE (reader);
|
||||
g_return_if_fail (iface->open_selected_mail != NULL);
|
||||
g_return_val_if_fail (iface->open_selected_mail != NULL, 0);
|
||||
|
||||
iface->open_selected_mail (reader);
|
||||
return iface->open_selected_mail (reader);
|
||||
}
|
||||
|
||||
gboolean
|
||||
|
||||
@ -99,7 +99,7 @@ struct _EMailReaderIface {
|
||||
const gchar *folder_uri);
|
||||
void (*set_message) (EMailReader *reader,
|
||||
const gchar *uid);
|
||||
void (*open_selected_mail) (EMailReader *reader);
|
||||
guint (*open_selected_mail) (EMailReader *reader);
|
||||
|
||||
/* Signals */
|
||||
void (*show_search_bar) (EMailReader *reader);
|
||||
@ -121,7 +121,7 @@ GtkActionGroup *
|
||||
EMFormatHTML * e_mail_reader_get_formatter (EMailReader *reader);
|
||||
gboolean e_mail_reader_get_hide_deleted (EMailReader *reader);
|
||||
GtkWidget * e_mail_reader_get_message_list (EMailReader *reader);
|
||||
void e_mail_reader_open_selected_mail(EMailReader *reader);
|
||||
guint e_mail_reader_open_selected_mail(EMailReader *reader);
|
||||
GtkMenu * e_mail_reader_get_popup_menu (EMailReader *reader);
|
||||
GPtrArray * e_mail_reader_get_selected_uids (EMailReader *reader);
|
||||
EShellBackend * e_mail_reader_get_shell_backend (EMailReader *reader);
|
||||
|
||||
@ -154,7 +154,7 @@ e_mail_tab_picker_drop (MxDroppable *droppable,
|
||||
(tab->position + tab->width <= props->position) &&
|
||||
!mx_draggable_is_enabled (MX_DRAGGABLE (props->tab)))
|
||||
{
|
||||
new_position --;
|
||||
new_position--;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -674,7 +674,7 @@ e_mail_tab_picker_allocate (ClutterActor *actor,
|
||||
|
||||
clutter_actor_get_preferred_width (actor, child_box.y2, NULL, &width);
|
||||
|
||||
/* Fill out data - note it's ok to fill out docking here as when it
|
||||
/* Fill out data - note it's ok to fill out docking here as when it
|
||||
* changes, the tab queues a relayout.
|
||||
*/
|
||||
props->docking = e_mail_tab_get_docking (props->tab);
|
||||
@ -876,7 +876,7 @@ e_mail_tab_picker_scroll_event_cb (ClutterActor *actor,
|
||||
e_mail_tab_picker_scroll_to (self, priv->scroll_end + 200, 150);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -1021,12 +1021,12 @@ e_mail_tab_picker_add_tab (EMailTabPicker *picker, EMailTab *tab, gint position)
|
||||
EMailTabPickerPrivate *priv = picker->priv;
|
||||
|
||||
if (priv->tabs && (priv->current_tab >= position))
|
||||
priv->current_tab ++;
|
||||
priv->current_tab++;
|
||||
|
||||
props = g_slice_new (EMailTabPickerProps);
|
||||
props->tab = tab;
|
||||
priv->tabs = g_list_insert (priv->tabs, props, position);
|
||||
priv->n_tabs ++;
|
||||
priv->n_tabs++;
|
||||
|
||||
clutter_actor_set_parent (CLUTTER_ACTOR (tab), CLUTTER_ACTOR (picker));
|
||||
mx_draggable_set_axis (MX_DRAGGABLE (tab), MX_DRAG_AXIS_X);
|
||||
@ -1073,21 +1073,21 @@ e_mail_tab_picker_remove_tab (EMailTabPicker *picker, EMailTab *tab)
|
||||
if (priv->current_tab)
|
||||
{
|
||||
if (priv->current_tab > position)
|
||||
priv->current_tab --;
|
||||
priv->current_tab--;
|
||||
else if (priv->current_tab == position)
|
||||
e_mail_tab_picker_set_current_tab (picker, priv->current_tab - 1);
|
||||
}
|
||||
else if (priv->tabs->next && (position == 0))
|
||||
{
|
||||
e_mail_tab_picker_set_current_tab (picker, priv->current_tab + 1);
|
||||
priv->current_tab --;
|
||||
priv->current_tab--;
|
||||
}
|
||||
}
|
||||
|
||||
g_slice_free (EMailTabPickerProps, tab_link->data);
|
||||
priv->tabs = g_list_delete_link (priv->tabs, tab_link);
|
||||
clutter_actor_unparent (CLUTTER_ACTOR (tab));
|
||||
priv->n_tabs --;
|
||||
priv->n_tabs--;
|
||||
|
||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (picker));
|
||||
}
|
||||
@ -1096,9 +1096,9 @@ GList *
|
||||
e_mail_tab_picker_get_tabs (EMailTabPicker *picker)
|
||||
{
|
||||
GList *tab_list, *t;
|
||||
|
||||
|
||||
EMailTabPickerPrivate *priv = picker->priv;
|
||||
|
||||
|
||||
tab_list = NULL;
|
||||
for (t = g_list_last (priv->tabs); t; t = t->prev)
|
||||
{
|
||||
@ -1184,10 +1184,10 @@ e_mail_tab_picker_reorder (EMailTabPicker *picker,
|
||||
}
|
||||
else if ((priv->current_tab > old_position) &&
|
||||
(new_position >= priv->current_tab))
|
||||
priv->current_tab --;
|
||||
priv->current_tab--;
|
||||
else if ((priv->current_tab < old_position) &&
|
||||
(new_position <= priv->current_tab))
|
||||
priv->current_tab ++;
|
||||
priv->current_tab++;
|
||||
|
||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (picker));
|
||||
}
|
||||
|
||||
@ -16,7 +16,6 @@
|
||||
* Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _E_MAIL_TAB_PICKER_H
|
||||
#define _E_MAIL_TAB_PICKER_H
|
||||
|
||||
|
||||
@ -663,7 +663,7 @@ e_mail_tab_get_preferred_height (ClutterActor *actor,
|
||||
padding.top + padding.bottom + priv->spacing +
|
||||
label_nat_height;
|
||||
|
||||
/* Sometimes the preview's natural height will be nan due to
|
||||
/* Sometimes the preview's natural height will be nan due to
|
||||
* keeping of the aspect ratio. This guards against that and stops
|
||||
* Clutter from warning that the natural height is less than the
|
||||
* minimum height.
|
||||
@ -1853,7 +1853,7 @@ e_mail_tab_alert_cb (EMailTab *tab)
|
||||
name = (priv->private ^ (priv->alert_count % 2)) ? NULL : "private-tab";
|
||||
if (!priv->preview_mode)
|
||||
clutter_actor_set_name (CLUTTER_ACTOR (tab), name);
|
||||
priv->alert_count ++;
|
||||
priv->alert_count++;
|
||||
|
||||
if (priv->alert_count < 4)
|
||||
return TRUE;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Borrowed from Moblin-Web-Browser: The web browser for Moblin
|
||||
* Borrowed from Moblin-Web-Browser: The web browser for Moblin
|
||||
* Copyright (c) 2009, Intel Corporation.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
@ -24,13 +24,17 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include "e-mail-view.h"
|
||||
|
||||
#include <glib/gi18n-lib.h>
|
||||
|
||||
G_DEFINE_TYPE (EMailView, e_mail_view, GTK_TYPE_VBOX)
|
||||
#define E_MAIL_VIEW_GET_PRIVATE(obj) \
|
||||
(G_TYPE_INSTANCE_GET_PRIVATE \
|
||||
((obj), E_TYPE_MAIL_VIEW, EMailViewPrivate))
|
||||
|
||||
struct _EMailViewPrivate {
|
||||
gint placeholder;
|
||||
};
|
||||
|
||||
enum {
|
||||
PANE_CLOSE,
|
||||
@ -44,36 +48,20 @@ enum {
|
||||
PROP_SHELL_VIEW
|
||||
};
|
||||
|
||||
struct _EMailViewPrivate {
|
||||
};
|
||||
static guint signals[LAST_SIGNAL];
|
||||
|
||||
static guint signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
static void
|
||||
e_mail_view_init (EMailView *shell)
|
||||
{
|
||||
shell->priv = g_new0(EMailViewPrivate, 1);
|
||||
shell->prev = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
e_mail_view_finalize (GObject *object)
|
||||
{
|
||||
/* EMailView *shell = (EMailView *)object; */
|
||||
|
||||
G_OBJECT_CLASS (e_mail_view_parent_class)->finalize (object);
|
||||
}
|
||||
G_DEFINE_TYPE (EMailView, e_mail_view, GTK_TYPE_VBOX)
|
||||
|
||||
static void
|
||||
mail_view_set_property (GObject *object,
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_SHELL_VIEW:
|
||||
E_MAIL_VIEW(object)->content = g_value_get_object (value);
|
||||
|
||||
E_MAIL_VIEW(object)->content =
|
||||
g_value_get_object (value);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -82,15 +70,14 @@ mail_view_set_property (GObject *object,
|
||||
|
||||
static void
|
||||
mail_view_get_property (GObject *object,
|
||||
guint property_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
guint property_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_SHELL_VIEW:
|
||||
g_value_set_object (
|
||||
value, E_MAIL_VIEW(object)->content);
|
||||
|
||||
value, E_MAIL_VIEW(object)->content);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -98,52 +85,43 @@ mail_view_get_property (GObject *object,
|
||||
}
|
||||
|
||||
static void
|
||||
e_mail_view_class_init (EMailViewClass *klass)
|
||||
e_mail_view_class_init (EMailViewClass *class)
|
||||
{
|
||||
GObjectClass * object_class = G_OBJECT_CLASS (klass);
|
||||
GObjectClass *object_class;
|
||||
|
||||
e_mail_view_parent_class = g_type_class_peek_parent (klass);
|
||||
object_class->finalize = e_mail_view_finalize;
|
||||
g_type_class_add_private (class, sizeof (EMailViewPrivate));
|
||||
|
||||
object_class = G_OBJECT_CLASS (class);
|
||||
object_class->set_property = mail_view_set_property;
|
||||
object_class->get_property = mail_view_get_property;
|
||||
|
||||
klass->get_searchbar = NULL;
|
||||
klass->set_search_strings = NULL;
|
||||
klass->get_view_instance = NULL;
|
||||
klass->update_view_instance = NULL;
|
||||
klass->set_orientation = NULL;
|
||||
klass->get_orientation = NULL;
|
||||
klass->set_show_deleted = NULL;
|
||||
klass->get_show_deleted = NULL;
|
||||
klass->set_preview_visible = NULL;
|
||||
klass->get_preview_visible = NULL;
|
||||
|
||||
signals[PANE_CLOSE] =
|
||||
g_signal_new ("pane-close",
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (EMailViewClass , pane_close),
|
||||
NULL, NULL,
|
||||
g_cclosure_marshal_VOID__VOID,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
signals[VIEW_CHANGED] =
|
||||
g_signal_new ("view-changed",
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (EMailViewClass , view_changed),
|
||||
NULL, NULL,
|
||||
g_cclosure_marshal_VOID__VOID,
|
||||
G_TYPE_NONE, 0);
|
||||
signals[PANE_CLOSE] = g_signal_new (
|
||||
"pane-close",
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (EMailViewClass , pane_close),
|
||||
NULL, NULL,
|
||||
g_cclosure_marshal_VOID__VOID,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
signals[VIEW_CHANGED] = g_signal_new (
|
||||
"view-changed",
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (EMailViewClass , view_changed),
|
||||
NULL, NULL,
|
||||
g_cclosure_marshal_VOID__VOID,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
signals[OPEN_MAIL] = g_signal_new (
|
||||
"open-mail",
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (EMailViewClass , open_mail),
|
||||
NULL, NULL,
|
||||
g_cclosure_marshal_VOID__STRING,
|
||||
G_TYPE_NONE, 1, G_TYPE_STRING);
|
||||
|
||||
signals[OPEN_MAIL] =
|
||||
g_signal_new ("open-mail",
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (EMailViewClass , open_mail),
|
||||
NULL, NULL,
|
||||
g_cclosure_marshal_VOID__STRING,
|
||||
G_TYPE_NONE, 1, G_TYPE_STRING);
|
||||
/**
|
||||
* EMailView:shell-content
|
||||
*
|
||||
@ -159,66 +137,144 @@ e_mail_view_class_init (EMailViewClass *klass)
|
||||
E_TYPE_SHELL_CONTENT,
|
||||
G_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
}
|
||||
|
||||
static void
|
||||
e_mail_view_init (EMailView *view)
|
||||
{
|
||||
view->priv = E_MAIL_VIEW_GET_PRIVATE (view);
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_view_update_view_instance (EMailView *view)
|
||||
{
|
||||
E_MAIL_VIEW_GET_CLASS (view)->update_view_instance (view);
|
||||
EMailViewClass *class;
|
||||
|
||||
g_return_if_fail (E_IS_MAIL_VIEW (view));
|
||||
|
||||
class = E_MAIL_VIEW_GET_CLASS (view);
|
||||
g_return_if_fail (class->update_view_instance != NULL);
|
||||
|
||||
class->update_view_instance (view);
|
||||
}
|
||||
|
||||
GalViewInstance *
|
||||
e_mail_view_get_view_instance (EMailView *view)
|
||||
{
|
||||
return E_MAIL_VIEW_GET_CLASS (view)->get_view_instance (view);
|
||||
EMailViewClass *class;
|
||||
|
||||
g_return_val_if_fail (E_IS_MAIL_VIEW (view), NULL);
|
||||
|
||||
class = E_MAIL_VIEW_GET_CLASS (view);
|
||||
g_return_val_if_fail (class->get_view_instance != NULL, NULL);
|
||||
|
||||
return class->get_view_instance (view);
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_view_set_search_strings (EMailView *view,
|
||||
GSList *search_strings)
|
||||
GSList *search_strings)
|
||||
{
|
||||
E_MAIL_VIEW_GET_CLASS (view)->set_search_strings (view, search_strings);
|
||||
EMailViewClass *class;
|
||||
|
||||
g_return_if_fail (E_IS_MAIL_VIEW (view));
|
||||
|
||||
class = E_MAIL_VIEW_GET_CLASS (view);
|
||||
g_return_if_fail (class->set_search_strings != NULL);
|
||||
|
||||
class->set_search_strings (view, search_strings);
|
||||
}
|
||||
|
||||
EShellSearchbar *
|
||||
e_mail_view_get_searchbar (EMailView *view)
|
||||
{
|
||||
return E_MAIL_VIEW_GET_CLASS (view)->get_searchbar (view);
|
||||
EMailViewClass *class;
|
||||
|
||||
g_return_val_if_fail (E_IS_MAIL_VIEW (view), NULL);
|
||||
|
||||
class = E_MAIL_VIEW_GET_CLASS (view);
|
||||
g_return_val_if_fail (class->get_searchbar != NULL, NULL);
|
||||
|
||||
return class->get_searchbar (view);
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_view_set_orientation (EMailView *view, GtkOrientation orientation)
|
||||
void
|
||||
e_mail_view_set_orientation (EMailView *view,
|
||||
GtkOrientation orientation)
|
||||
{
|
||||
E_MAIL_VIEW_GET_CLASS (view)->set_orientation (view, orientation);
|
||||
EMailViewClass *class;
|
||||
|
||||
g_return_if_fail (E_IS_MAIL_VIEW (view));
|
||||
|
||||
class = E_MAIL_VIEW_GET_CLASS (view);
|
||||
g_return_if_fail (class->set_orientation != NULL);
|
||||
|
||||
class->set_orientation (view, orientation);
|
||||
}
|
||||
|
||||
GtkOrientation
|
||||
GtkOrientation
|
||||
e_mail_view_get_orientation (EMailView *view)
|
||||
{
|
||||
return E_MAIL_VIEW_GET_CLASS (view)->get_orientation (view);
|
||||
EMailViewClass *class;
|
||||
|
||||
g_return_val_if_fail (E_IS_MAIL_VIEW (view), 0);
|
||||
|
||||
class = E_MAIL_VIEW_GET_CLASS (view);
|
||||
g_return_val_if_fail (class->get_orientation != NULL, 0);
|
||||
|
||||
return class->get_orientation (view);
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_view_set_preview_visible (EMailView *view, gboolean visible)
|
||||
void
|
||||
e_mail_view_set_preview_visible (EMailView *view,
|
||||
gboolean visible)
|
||||
{
|
||||
E_MAIL_VIEW_GET_CLASS (view)->set_preview_visible (view, visible);
|
||||
EMailViewClass *class;
|
||||
|
||||
g_return_if_fail (E_IS_MAIL_VIEW (view));
|
||||
|
||||
class = E_MAIL_VIEW_GET_CLASS (view);
|
||||
g_return_if_fail (class->set_preview_visible != NULL);
|
||||
|
||||
class->set_preview_visible (view, visible);
|
||||
}
|
||||
|
||||
gboolean
|
||||
gboolean
|
||||
e_mail_view_get_preview_visible (EMailView *view)
|
||||
{
|
||||
return E_MAIL_VIEW_GET_CLASS (view)->get_preview_visible (view);
|
||||
EMailViewClass *class;
|
||||
|
||||
g_return_val_if_fail (E_IS_MAIL_VIEW (view), FALSE);
|
||||
|
||||
class = E_MAIL_VIEW_GET_CLASS (view);
|
||||
g_return_val_if_fail (class->get_preview_visible != NULL, FALSE);
|
||||
|
||||
return class->get_preview_visible (view);
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_view_set_show_deleted (EMailView *view, gboolean show_deleted)
|
||||
void
|
||||
e_mail_view_set_show_deleted (EMailView *view,
|
||||
gboolean show_deleted)
|
||||
{
|
||||
E_MAIL_VIEW_GET_CLASS (view)->set_show_deleted (view, show_deleted);
|
||||
EMailViewClass *class;
|
||||
|
||||
g_return_if_fail (E_IS_MAIL_VIEW (view));
|
||||
|
||||
class = E_MAIL_VIEW_GET_CLASS (view);
|
||||
g_return_if_fail (class->set_show_deleted != NULL);
|
||||
|
||||
class->set_show_deleted (view, show_deleted);
|
||||
}
|
||||
|
||||
gboolean
|
||||
gboolean
|
||||
e_mail_view_get_show_deleted (EMailView *view)
|
||||
{
|
||||
return E_MAIL_VIEW_GET_CLASS (view)->get_show_deleted (view);
|
||||
EMailViewClass *class;
|
||||
|
||||
g_return_val_if_fail (E_IS_MAIL_VIEW (view), FALSE);
|
||||
|
||||
class = E_MAIL_VIEW_GET_CLASS (view);
|
||||
g_return_val_if_fail (class->get_show_deleted != NULL, FALSE);
|
||||
|
||||
return class->get_show_deleted (view);
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*
|
||||
* Authors:
|
||||
@ -23,63 +23,87 @@
|
||||
#ifndef _E_MAIL_VIEW_H_
|
||||
#define _E_MAIL_VIEW_H_
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <shell/e-shell-content.h>
|
||||
#include <shell/e-shell-searchbar.h>
|
||||
#include "widgets/menus/gal-view-instance.h"
|
||||
|
||||
#define E_MAIL_VIEW_TYPE (e_mail_view_get_type ())
|
||||
#define E_MAIL_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_MAIL_VIEW_TYPE, EMailView))
|
||||
#define E_MAIL_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_MAIL_VIEW_TYPE, EMailViewClass))
|
||||
#define IS_E_MAIL_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_MAIL_VIEW_TYPE))
|
||||
#define IS_E_MAIL_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_MAIL_VIEW_TYPE))
|
||||
#define E_MAIL_VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_MAIL_VIEW_TYPE, EMailViewClass))
|
||||
/* Standard GObject macros */
|
||||
#define E_TYPE_MAIL_VIEW \
|
||||
(e_mail_view_get_type ())
|
||||
#define E_MAIL_VIEW(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST \
|
||||
((obj), E_TYPE_MAIL_VIEW, EMailView))
|
||||
#define E_MAIL_VIEW_CLASS(cls) \
|
||||
(G_TYPE_CHECK_CLASS_CAST \
|
||||
((cls), E_TYPE_MAIL_VIEW, EMailViewClass))
|
||||
#define E_IS_MAIL_VIEW(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE \
|
||||
((obj), E_TYPE_MAIL_VIEW))
|
||||
#define E_IS_MAIL_VIEW_CLASS(cls) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE \
|
||||
((cls), E_TYPE_MAIL_VIEW))
|
||||
#define E_MAIL_VIEW_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS \
|
||||
((obj), E_TYPE_MAIL_VIEW, EMailViewClass))
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _EMailView EMailView;
|
||||
typedef struct _EMailViewClass EMailViewClass;
|
||||
typedef struct _EMailViewPrivate EMailViewPrivate;
|
||||
|
||||
typedef struct _EMailView {
|
||||
struct _EMailView {
|
||||
GtkVBox parent;
|
||||
|
||||
EMailViewPrivate *priv;
|
||||
EShellContent *content;
|
||||
struct _EMailView *prev;
|
||||
} EMailView;
|
||||
EMailView *prev;
|
||||
};
|
||||
|
||||
typedef struct _EMailViewClass {
|
||||
struct _EMailViewClass {
|
||||
GtkVBoxClass parent_class;
|
||||
|
||||
void (*pane_close) (EMailView *);
|
||||
void (*view_changed) (EMailView *);
|
||||
void (*open_mail) (EMailView *, const char *);
|
||||
void (*pane_close) (EMailView *view);
|
||||
void (*view_changed) (EMailView *view);
|
||||
void (*open_mail) (EMailView *view,
|
||||
const gchar *);
|
||||
|
||||
EShellSearchbar * (*get_searchbar) (EMailView *view);
|
||||
void (*set_search_strings) (EMailView *view, GSList *search_strings);
|
||||
GalViewInstance * (*get_view_instance) (EMailView *view);
|
||||
void (*update_view_instance) (EMailView *view);
|
||||
void (*set_orientation) (EMailView *view, GtkOrientation orientation);
|
||||
GtkOrientation (*get_orientation) (EMailView *);
|
||||
void (*set_preview_visible) (EMailView *view, gboolean visible);
|
||||
gboolean (*get_preview_visible) (EMailView *view);
|
||||
void (*set_show_deleted) (EMailView *view, gboolean show_deleted);
|
||||
gboolean (*get_show_deleted) (EMailView *view);
|
||||
EShellSearchbar *
|
||||
(*get_searchbar) (EMailView *view);
|
||||
void (*set_search_strings) (EMailView *view,
|
||||
GSList *search_strings);
|
||||
GalViewInstance *
|
||||
(*get_view_instance) (EMailView *view);
|
||||
void (*update_view_instance) (EMailView *view);
|
||||
void (*set_orientation) (EMailView *view,
|
||||
GtkOrientation orientation);
|
||||
GtkOrientation (*get_orientation) (EMailView *view);
|
||||
void (*set_preview_visible) (EMailView *view,
|
||||
gboolean visible);
|
||||
gboolean (*get_preview_visible) (EMailView *view);
|
||||
void (*set_show_deleted) (EMailView *view,
|
||||
gboolean show_deleted);
|
||||
gboolean (*get_show_deleted) (EMailView *view);
|
||||
};
|
||||
|
||||
} EMailViewClass;
|
||||
GType e_mail_view_get_type (void);
|
||||
void e_mail_view_update_view_instance(EMailView *view);
|
||||
GalViewInstance *
|
||||
e_mail_view_get_view_instance (EMailView *view);
|
||||
void e_mail_view_set_search_strings (EMailView *view,
|
||||
GSList *search_strings);
|
||||
void e_mail_view_set_orientation (EMailView *view,
|
||||
GtkOrientation orientation);
|
||||
GtkOrientation e_mail_view_get_orientation (EMailView *);
|
||||
void e_mail_view_set_preview_visible (EMailView *view,
|
||||
gboolean visible);
|
||||
gboolean e_mail_view_get_preview_visible (EMailView *view);
|
||||
void e_mail_view_set_show_deleted (EMailView *view,
|
||||
gboolean show_deleted);
|
||||
gboolean e_mail_view_get_show_deleted (EMailView *view);
|
||||
EShellSearchbar *
|
||||
e_mail_view_get_searchbar (EMailView *view);
|
||||
|
||||
GType e_mail_view_get_type (void);
|
||||
G_END_DECLS
|
||||
|
||||
void e_mail_view_update_view_instance (EMailView *view);
|
||||
GalViewInstance * e_mail_view_get_view_instance (EMailView *view);
|
||||
|
||||
void e_mail_view_set_search_strings (EMailView *view, GSList *search_strings);
|
||||
|
||||
void e_mail_view_set_orientation (EMailView *view, GtkOrientation orientation);
|
||||
GtkOrientation e_mail_view_get_orientation (EMailView *);
|
||||
void e_mail_view_set_preview_visible (EMailView *view, gboolean visible);
|
||||
gboolean e_mail_view_get_preview_visible (EMailView *view);
|
||||
void e_mail_view_set_show_deleted (EMailView *view, gboolean show_deleted);
|
||||
gboolean e_mail_view_get_show_deleted (EMailView *view);
|
||||
|
||||
EShellSearchbar * e_mail_view_get_searchbar (EMailView *view);
|
||||
|
||||
#endif
|
||||
#endif /* E_MAIL_VIEW_H */
|
||||
|
||||
@ -344,10 +344,10 @@ efh_format_timeout(struct _format_msg *m)
|
||||
} else {
|
||||
efh->state = EM_FORMAT_HTML_STATE_RENDERING;
|
||||
#if HAVE_CLUTTER
|
||||
if (p->last_part != m->message && !e_shell_get_express_mode(e_shell_get_default())) {
|
||||
#else
|
||||
if (p->last_part != m->message && !e_shell_get_express_mode(e_shell_get_default())) {
|
||||
#else
|
||||
if (p->last_part != m->message) {
|
||||
#endif
|
||||
#endif
|
||||
hstream = gtk_html_begin (GTK_HTML (web_view));
|
||||
gtk_html_stream_printf (hstream, "<h5>%s</h5>", _("Formatting Message..."));
|
||||
gtk_html_stream_close (hstream, GTK_HTML_STREAM_OK);
|
||||
|
||||
@ -2382,7 +2382,7 @@ message_list_init (MessageList *message_list)
|
||||
message_list->priv->timeline = NULL;
|
||||
message_list->priv->search_texture = NULL;
|
||||
#endif
|
||||
|
||||
|
||||
message_list->normalised_hash = g_hash_table_new_full (
|
||||
g_str_hash, g_str_equal,
|
||||
(GDestroyNotify) NULL,
|
||||
@ -4137,10 +4137,10 @@ on_timeline_stopped (ClutterTimeline *timeline, ClutterActor *actor)
|
||||
void
|
||||
message_list_set_search (MessageList *ml, const gchar *search)
|
||||
{
|
||||
#if HAVE_CLUTTER
|
||||
#if HAVE_CLUTTER
|
||||
if (ml->priv->timeline == NULL) {
|
||||
ClutterActor *stage = g_object_get_data ((GObject *)ml, "stage");
|
||||
|
||||
|
||||
if (stage) {
|
||||
ClutterActor *texture = NULL;
|
||||
ClutterPath *path;
|
||||
@ -4152,7 +4152,7 @@ message_list_set_search (MessageList *ml, const gchar *search)
|
||||
"system-search",
|
||||
72,
|
||||
GTK_ICON_LOOKUP_NO_SVG);
|
||||
|
||||
|
||||
if (info) {
|
||||
texture = clutter_texture_new_from_file (gtk_icon_info_get_filename(info), NULL);
|
||||
gtk_icon_info_free(info);
|
||||
@ -4174,18 +4174,18 @@ message_list_set_search (MessageList *ml, const gchar *search)
|
||||
|
||||
clutter_behaviour_apply (behaviour, texture);
|
||||
clutter_timeline_set_loop (ml->priv->timeline, TRUE);
|
||||
|
||||
|
||||
g_signal_connect(ml->priv->timeline, "started", G_CALLBACK(on_timeline_started), texture);
|
||||
g_signal_connect(ml->priv->timeline, "paused", G_CALLBACK(on_timeline_stopped), texture);
|
||||
//g_signal_connect(ml->priv->timeline, "completed", G_CALLBACK(on_timeline_stopped), texture);
|
||||
|
||||
clutter_timeline_pause (ml->priv->timeline);
|
||||
|
||||
clutter_timeline_pause (ml->priv->timeline);
|
||||
clutter_timeline_stop (ml->priv->timeline);
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
if (search == NULL || search[0] == '\0')
|
||||
if (ml->search == NULL || ml->search[0] == '\0')
|
||||
return;
|
||||
@ -4658,15 +4658,15 @@ regen_list_done (struct _regen_list_msg *m)
|
||||
clutter_timeline_stop (m->ml->priv->timeline);
|
||||
} else {
|
||||
ClutterActor *pane = g_object_get_data ((GObject *)m->ml, "actor");
|
||||
|
||||
|
||||
if (pane) {
|
||||
clutter_actor_set_opacity (pane, 0);
|
||||
clutter_actor_animate (pane, CLUTTER_EASE_OUT_SINE, 150,
|
||||
"opacity", 255,
|
||||
NULL);
|
||||
clutter_actor_set_opacity (pane, 0);
|
||||
clutter_actor_animate (
|
||||
pane, CLUTTER_EASE_OUT_SINE,
|
||||
150, "opacity", 255, NULL);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@ -51,7 +51,7 @@
|
||||
((obj), E_TYPE_MAIL_SHELL_CONTENT, EMailShellContentPrivate))
|
||||
|
||||
struct _EMailShellContentPrivate {
|
||||
int temp;
|
||||
gint temp;
|
||||
};
|
||||
|
||||
enum {
|
||||
@ -121,7 +121,7 @@ mail_shell_content_constructed (GObject *object)
|
||||
/* Build content widgets. */
|
||||
|
||||
container = GTK_WIDGET (object);
|
||||
|
||||
|
||||
if (e_shell_get_express_mode(e_shell_get_default ())) {
|
||||
widget = e_mail_notebook_view_new (E_SHELL_CONTENT(object));
|
||||
g_signal_connect (widget, "view-changed", G_CALLBACK(msc_view_changed), object);
|
||||
@ -155,10 +155,10 @@ mail_shell_content_focus_search_results (EShellContent *shell_content)
|
||||
gtk_widget_grab_focus (e_mail_reader_get_message_list(E_MAIL_READER (E_MAIL_SHELL_CONTENT(shell_content)->view)));
|
||||
}
|
||||
|
||||
static void
|
||||
static guint
|
||||
mail_shell_content_open_selected_mail (EMailReader *reader)
|
||||
{
|
||||
e_mail_reader_open_selected_mail (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view));
|
||||
return e_mail_reader_open_selected_mail (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view));
|
||||
}
|
||||
|
||||
static GtkActionGroup *
|
||||
@ -172,7 +172,7 @@ mail_shell_content_get_action_group (EMailReader *reader)
|
||||
shell_view = e_shell_content_get_shell_view (shell_content);
|
||||
shell_window = e_shell_view_get_shell_window (shell_view);
|
||||
|
||||
return E_SHELL_WINDOW_ACTION_GROUP_MAIL (shell_window);
|
||||
return E_SHELL_WINDOW_ACTION_GROUP_MAIL (shell_window);
|
||||
}
|
||||
|
||||
static EMFormatHTML *
|
||||
@ -216,7 +216,7 @@ mail_shell_content_set_folder (EMailReader *reader,
|
||||
CamelFolder *folder,
|
||||
const gchar *folder_uri)
|
||||
{
|
||||
return e_mail_reader_set_folder (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view),
|
||||
return e_mail_reader_set_folder (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view),
|
||||
folder,
|
||||
folder_uri);
|
||||
}
|
||||
@ -320,7 +320,6 @@ mail_shell_content_class_init (EMailShellContentClass *class)
|
||||
object_class->set_property = mail_shell_content_set_property;
|
||||
object_class->get_property = mail_shell_content_get_property;
|
||||
|
||||
|
||||
shell_content_class = E_SHELL_CONTENT_CLASS (class);
|
||||
shell_content_class->check_state = mail_shell_content_check_state;
|
||||
shell_content_class->focus_search_results = mail_shell_content_focus_search_results;
|
||||
@ -351,7 +350,7 @@ mail_shell_content_class_init (EMailShellContentClass *class)
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_object_class_override_property (
|
||||
object_class, PROP_ORIENTATION, "orientation");
|
||||
object_class, PROP_ORIENTATION, "orientation");
|
||||
}
|
||||
|
||||
static void
|
||||
@ -411,19 +410,19 @@ e_mail_shell_content_register_type (GTypeModule *type_module)
|
||||
(GInterfaceFinalizeFunc) NULL,
|
||||
NULL /* interface_data */
|
||||
};
|
||||
|
||||
|
||||
mail_shell_content_type = g_type_module_register_type (
|
||||
type_module, E_TYPE_SHELL_CONTENT,
|
||||
"EMailShellContent", &type_info, 0);
|
||||
|
||||
g_type_module_add_interface (
|
||||
type_module, mail_shell_content_type,
|
||||
E_TYPE_MAIL_READER, &reader_info);
|
||||
E_TYPE_MAIL_READER, &reader_info);
|
||||
|
||||
g_type_module_add_interface (
|
||||
type_module, mail_shell_content_type,
|
||||
GTK_TYPE_ORIENTABLE, &orientable_info);
|
||||
|
||||
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
|
||||
@ -358,7 +358,7 @@ mail_shell_view_reader_changed_cb (EMailShellView *mail_shell_view,
|
||||
g_signal_connect_swapped (
|
||||
web_view, "status-message",
|
||||
G_CALLBACK (e_shell_taskbar_set_message),
|
||||
shell_taskbar);
|
||||
shell_taskbar);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@ -795,7 +795,7 @@ mail_shell_view_update_actions (EShellView *shell_view)
|
||||
shell_window = e_shell_view_get_shell_window (shell_view);
|
||||
|
||||
mail_shell_content = mail_shell_view->priv->mail_shell_content;
|
||||
reader = E_MAIL_READER (mail_shell_content->view);
|
||||
reader = E_MAIL_READER (mail_shell_content->view);
|
||||
state = e_mail_reader_check_state (reader);
|
||||
e_mail_reader_update_actions (reader, state);
|
||||
|
||||
@ -862,7 +862,6 @@ mail_shell_view_update_actions (EShellView *shell_view)
|
||||
g_free (uri);
|
||||
}
|
||||
|
||||
|
||||
action = ACTION (MAIL_ACCOUNT_DISABLE);
|
||||
sensitive = (account != NULL) && folder_is_store;
|
||||
if (account_is_groupwise)
|
||||
|
||||
@ -54,7 +54,7 @@ e_module_load (GTypeModule *type_module)
|
||||
|
||||
e_mail_shell_backend_register_type (type_module);
|
||||
e_mail_shell_content_register_type (type_module);
|
||||
e_mail_paned_view_register_type (type_module);
|
||||
e_mail_paned_view_register_type (type_module);
|
||||
e_mail_notebook_view_register_type (type_module);
|
||||
e_mail_shell_sidebar_register_type (type_module);
|
||||
e_mail_shell_view_register_type (type_module);
|
||||
|
||||
14
shell/main.c
14
shell/main.c
@ -471,18 +471,18 @@ main (gint argc, gchar **argv)
|
||||
|
||||
#if HAVE_CLUTTER
|
||||
gtk_clutter_init_with_args (
|
||||
&argc, &argv,
|
||||
_("- The Evolution PIM and Email Client"),
|
||||
&argc, &argv,
|
||||
_("- The Evolution PIM and Email Client"),
|
||||
entries, (gchar *) GETTEXT_PACKAGE, &error);
|
||||
mx_style_load_from_file (mx_style_get_default (),
|
||||
EVOLUTION_MX_THEMEDIR "/default.css", NULL);
|
||||
|
||||
#else
|
||||
mx_style_load_from_file (
|
||||
mx_style_get_default (),
|
||||
EVOLUTION_MX_THEMEDIR "/default.css", NULL);
|
||||
#else
|
||||
gtk_init_with_args (
|
||||
&argc, &argv,
|
||||
_("- The Evolution PIM and Email Client"),
|
||||
entries, (gchar *) GETTEXT_PACKAGE, &error);
|
||||
#endif
|
||||
#endif
|
||||
if (error != NULL) {
|
||||
g_printerr ("%s\n", error->message);
|
||||
g_error_free (error);
|
||||
|
||||
@ -109,6 +109,7 @@ e_table_header_width_extras (GtkStyle *style)
|
||||
/* Creates a pixmap that is a composite of a background color and the upper-left
|
||||
* corner rectangle of a pixbuf.
|
||||
*/
|
||||
#if 0
|
||||
static GdkPixmap *
|
||||
make_composite_pixmap (GdkDrawable *drawable, GdkGC *gc,
|
||||
GdkPixbuf *pixbuf, GdkColor *bg, gint width, gint height,
|
||||
@ -216,6 +217,7 @@ make_composite_pixmap (GdkDrawable *drawable, GdkGC *gc,
|
||||
|
||||
return pixmap;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Default width of the elision arrow in pixels */
|
||||
#define ARROW_WIDTH 4
|
||||
@ -407,7 +409,7 @@ e_table_header_draw_button (GdkDrawable *drawable, ETableCol *ecol,
|
||||
gint pwidth, pheight;
|
||||
gint clip_width, clip_height;
|
||||
gint xpos;
|
||||
GdkPixmap *pixmap;
|
||||
/* GdkPixmap *pixmap; */
|
||||
|
||||
g_return_if_fail (ecol->pixbuf != NULL);
|
||||
|
||||
@ -435,9 +437,9 @@ e_table_header_draw_button (GdkDrawable *drawable, ETableCol *ecol,
|
||||
layout, ecol->text, inner_width - (xpos - inner_x), FALSE);
|
||||
}
|
||||
|
||||
/* FIXME: For some reason, under clutter gdk_draw_rgb_image_dithalign crashes
|
||||
/* FIXME: For some reason, under clutter gdk_draw_rgb_image_dithalign crashes
|
||||
* Debug that later */
|
||||
#if 0
|
||||
#if 0
|
||||
pixmap = make_composite_pixmap (drawable, gc,
|
||||
ecol->pixbuf, &style->bg[state],
|
||||
clip_width, clip_height,
|
||||
@ -456,12 +458,12 @@ e_table_header_draw_button (GdkDrawable *drawable, ETableCol *ecol,
|
||||
}
|
||||
#endif
|
||||
gdk_draw_pixbuf (drawable, gc,
|
||||
ecol->pixbuf,
|
||||
0, 0,
|
||||
ecol->pixbuf,
|
||||
0, 0,
|
||||
xpos, inner_y + (inner_height - clip_height) / 2,
|
||||
-1, -1,
|
||||
GDK_RGB_DITHER_NONE,
|
||||
0, 0);
|
||||
0, 0);
|
||||
} else {
|
||||
e_table_draw_elided_string (drawable, gc, widget,
|
||||
inner_x, inner_y,
|
||||
|
||||
Reference in New Issue
Block a user