From 03a3e6f84638c62c7848eee4d6f71cc4b1a7c1b8 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 16 Jul 2008 19:37:02 +0000 Subject: Disable all components and plugins. Begin rewriting the shell. svn path=/branches/kill-bonobo/; revision=35748 --- shell/e-shell-view.h | 85 +++++++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 38 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 598dcf5f69..01c3e1da75 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -16,55 +16,64 @@ * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. - * - * This is only a CORBA wrapper around e_shell_window. */ -#ifndef _E_SHELL_VIEW_H_ -#define _E_SHELL_VIEW_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#pragma } -#endif /* __cplusplus */ - -struct _EShell; - -typedef struct _EShellView EShellView; +#ifndef E_SHELL_VIEW_H +#define E_SHELL_VIEW_H + +#include "e-shell-common.h" + +/* Standard GObject macros */ +#define E_TYPE_SHELL_VIEW \ + (e_shell_view_get_type ()) +#define E_SHELL_VIEW(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST \ + ((obj), E_TYPE_SHELL_VIEW, EShellView)) +#define E_SHELL_VIEW_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_CAST \ + ((cls), E_TYPE_SHELL_VIEW, EShellViewClass)) +#define E_IS_SHELL_VIEW(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE \ + ((obj), E_TYPE_SHELL_VIEW)) +#define E_IS_SHELL_VIEW_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_TYPE \ + ((obj), E_TYPE_SHELL_VIEW)) +#define E_SHELL_VIEW_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS \ + ((obj), E_TYPE_SHELL_VIEW, EShellViewClass)) + +G_BEGIN_DECLS + +typedef struct _EShellView EShellView; +typedef struct _EShellViewClass EShellViewClass; typedef struct _EShellViewPrivate EShellViewPrivate; -typedef struct _EShellViewClass EShellViewClass; - -#include "Evolution.h" - -#define E_TYPE_SHELL_VIEW (e_shell_view_get_type ()) -#define E_SHELL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_SHELL_VIEW, EShellView)) -#define E_SHELL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_SHELL_VIEW, EShellViewClass)) -#define E_IS_SHELL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_SHELL_VIEW)) -#define E_IS_SHELL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_TYPE_SHELL_VIEW)) struct _EShellView { - BonoboObject parent; - - struct _EShellWindow *window; - + GObject parent; EShellViewPrivate *priv; }; struct _EShellViewClass { - BonoboObjectClass parent_class; + GObjectClass parent_class; - POA_GNOME_Evolution_ShellView__epv epv; -}; + /* Initial GtkRadioAction values */ + const gchar *label; + const gchar *icon_name; -GType e_shell_view_get_type (void); -EShellView *e_shell_view_new(struct _EShellWindow *window); + GtkWidget * (*get_content_widget) (EShellView *shell_view); + GtkWidget * (*get_sidebar_widget) (EShellView *shell_view); + GtkWidget * (*get_status_widget) (EShellView *shell_view); +}; -#ifdef __cplusplus -} -#endif /* __cplusplus */ +GType e_shell_view_get_type (void); +const gchar * e_shell_view_get_title (EShellView *shell_view); +void e_shell_view_set_title (EShellView *shell_view, + const gchar *title); +GtkWindow * e_shell_view_get_window (EShellView *shell_view); +GtkWidget * e_shell_view_get_content_widget (EShellView *shell_view); +GtkWidget * e_shell_view_get_sidebar_widget (EShellView *shell_view); +GtkWidget * e_shell_view_get_status_widget (EShellView *shell_view); -#endif /* _E_SHELL_VIEW_H_ */ +G_END_DECLS +#endif /* E_SHELL_VIEW_H */ -- cgit v1.2.3 From cca29c3424aede2bb3c9ec5a6d255ce490d3511b Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 14 Aug 2008 03:51:16 +0000 Subject: Demonstrate displaying the test shell view. Also get the "Switcher Appearance" menu working... mostly. Still need to respond to GtkSettings notifications and make the preference persistent. svn path=/branches/kill-bonobo/; revision=35985 --- shell/e-shell-view.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 01c3e1da75..641eed6406 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -37,7 +37,7 @@ ((obj), E_TYPE_SHELL_VIEW)) #define E_IS_SHELL_VIEW_CLASS(cls) \ (G_TYPE_CHECK_CLASS_TYPE \ - ((obj), E_TYPE_SHELL_VIEW)) + ((cls), E_TYPE_SHELL_VIEW)) #define E_SHELL_VIEW_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS \ ((obj), E_TYPE_SHELL_VIEW, EShellViewClass)) -- cgit v1.2.3 From 28b28bf057056d2aa28458b322319bf679608ae5 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sun, 17 Aug 2008 01:36:11 +0000 Subject: Write the algorithm for sorting items in the "New" menu. Not yet tested. svn path=/branches/kill-bonobo/; revision=36004 --- shell/e-shell-view.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 641eed6406..5f1be6fa7d 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -60,6 +60,7 @@ struct _EShellViewClass { const gchar *label; const gchar *icon_name; + GtkWidget * (*create_new_menu) (EShellView *shell_view); GtkWidget * (*get_content_widget) (EShellView *shell_view); GtkWidget * (*get_sidebar_widget) (EShellView *shell_view); GtkWidget * (*get_status_widget) (EShellView *shell_view); @@ -69,11 +70,21 @@ GType e_shell_view_get_type (void); const gchar * e_shell_view_get_title (EShellView *shell_view); void e_shell_view_set_title (EShellView *shell_view, const gchar *title); -GtkWindow * e_shell_view_get_window (EShellView *shell_view); +GtkWidget * e_shell_view_get_window (EShellView *shell_view); +GtkWidget * e_shell_view_create_new_menu (EShellView *shell_view); GtkWidget * e_shell_view_get_content_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_sidebar_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_status_widget (EShellView *shell_view); +void e_shell_view_register_new_item_actions + (EShellView *shell_view, + const GtkActionEntry *entries, + guint n_entries); +void e_shell_view_register_new_source_actions + (EShellView *shell_view, + const GtkActionEntry *entries, + guint n_entries); + G_END_DECLS #endif /* E_SHELL_VIEW_H */ -- cgit v1.2.3 From 035744f29bdea64cfb38f2e507020d5914cd666e Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 19 Aug 2008 02:55:45 +0000 Subject: Committing the day's progress. Realized the "New" menu construction algorithm needs to live independently of shell view instances since we lazy load the shell views but have to display all possible "New" items immediately. Prototype the mechanisms for managing the various shell views and keeping track of which one is current. Various other tightening up and rethinking of APIs. svn path=/branches/kill-bonobo/; revision=36022 --- shell/e-shell-view.h | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 5f1be6fa7d..433c02f01a 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -60,31 +60,25 @@ struct _EShellViewClass { const gchar *label; const gchar *icon_name; - GtkWidget * (*create_new_menu) (EShellView *shell_view); + /* Subclasses should set this via the "class_data" field in + * the GTypeInfo they pass to g_type_module_register_type(). */ + GTypeModule *module; + GtkWidget * (*get_content_widget) (EShellView *shell_view); GtkWidget * (*get_sidebar_widget) (EShellView *shell_view); GtkWidget * (*get_status_widget) (EShellView *shell_view); }; GType e_shell_view_get_type (void); +const gchar * e_shell_view_get_name (EShellView *shell_view); const gchar * e_shell_view_get_title (EShellView *shell_view); void e_shell_view_set_title (EShellView *shell_view, const gchar *title); GtkWidget * e_shell_view_get_window (EShellView *shell_view); -GtkWidget * e_shell_view_create_new_menu (EShellView *shell_view); GtkWidget * e_shell_view_get_content_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_sidebar_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_status_widget (EShellView *shell_view); -void e_shell_view_register_new_item_actions - (EShellView *shell_view, - const GtkActionEntry *entries, - guint n_entries); -void e_shell_view_register_new_source_actions - (EShellView *shell_view, - const GtkActionEntry *entries, - guint n_entries); - G_END_DECLS #endif /* E_SHELL_VIEW_H */ -- cgit v1.2.3 From cf3b01017162cbba568ee4317eee2efe5f6fdc10 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 26 Aug 2008 20:22:32 +0000 Subject: Progress update: - Further refinements of the shell API. - Kill ESMenu and EUserCreatableItemsHandler. - Start ripping apart the addressbook component. svn path=/branches/kill-bonobo/; revision=36093 --- shell/e-shell-view.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 433c02f01a..ed123773fe 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -21,7 +21,8 @@ #ifndef E_SHELL_VIEW_H #define E_SHELL_VIEW_H -#include "e-shell-common.h" +#include +#include /* Standard GObject macros */ #define E_TYPE_SHELL_VIEW \ @@ -62,7 +63,7 @@ struct _EShellViewClass { /* Subclasses should set this via the "class_data" field in * the GTypeInfo they pass to g_type_module_register_type(). */ - GTypeModule *module; + GTypeModule *type_module; GtkWidget * (*get_content_widget) (EShellView *shell_view); GtkWidget * (*get_sidebar_widget) (EShellView *shell_view); @@ -74,7 +75,8 @@ const gchar * e_shell_view_get_name (EShellView *shell_view); const gchar * e_shell_view_get_title (EShellView *shell_view); void e_shell_view_set_title (EShellView *shell_view, const gchar *title); -GtkWidget * e_shell_view_get_window (EShellView *shell_view); +EShellWindow * e_shell_view_get_window (EShellView *shell_view); +gboolean e_shell_view_is_selected (EShellView *shell_view); GtkWidget * e_shell_view_get_content_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_sidebar_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_status_widget (EShellView *shell_view); -- cgit v1.2.3 From 244ab98402af2d384fe63c46fd15541f1c9f79bf Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 27 Aug 2008 01:54:22 +0000 Subject: Progress update: - Get the test module to demonstrate populating the shell window (particularly, the various notebooks) with some stupid widgets. svn path=/branches/kill-bonobo/; revision=36094 --- shell/e-shell-view.h | 1 + 1 file changed, 1 insertion(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index ed123773fe..0c98e32eb4 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -77,6 +77,7 @@ void e_shell_view_set_title (EShellView *shell_view, const gchar *title); EShellWindow * e_shell_view_get_window (EShellView *shell_view); gboolean e_shell_view_is_selected (EShellView *shell_view); +gint e_shell_view_get_page_num (EShellView *shell_view); GtkWidget * e_shell_view_get_content_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_sidebar_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_status_widget (EShellView *shell_view); -- cgit v1.2.3 From e0c501b7018f12d37b10e32923f95b7a01c7982c Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 29 Aug 2008 22:32:46 +0000 Subject: Progress update: - Contacts module partially working! - Implement UI merging. Also merge EInfoLabel into ESidebar. The shell window now manages the icon and labels and keeps them up-to-date via EShellView properties. svn path=/branches/kill-bonobo/; revision=36214 --- shell/e-shell-view.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 0c98e32eb4..b474c0aa36 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -68,10 +68,24 @@ struct _EShellViewClass { GtkWidget * (*get_content_widget) (EShellView *shell_view); GtkWidget * (*get_sidebar_widget) (EShellView *shell_view); GtkWidget * (*get_status_widget) (EShellView *shell_view); + + /* Signals */ + + void (*changed) (EShellView *shell_view, + gboolean visible); }; GType e_shell_view_get_type (void); const gchar * e_shell_view_get_name (EShellView *shell_view); +const gchar * e_shell_view_get_icon_name (EShellView *shell_view); +void e_shell_view_set_icon_name (EShellView *shell_view, + const gchar *icon_name); +const gchar * e_shell_view_get_primary_text (EShellView *shell_view); +void e_shell_view_set_primary_text (EShellView *shell_view, + const gchar *primary_text); +const gchar * e_shell_view_get_secondary_text (EShellView *shell_view); +void e_shell_view_set_secondary_text (EShellView *shell_view, + const gchar *secondary_text); const gchar * e_shell_view_get_title (EShellView *shell_view); void e_shell_view_set_title (EShellView *shell_view, const gchar *title); @@ -81,6 +95,7 @@ gint e_shell_view_get_page_num (EShellView *shell_view); GtkWidget * e_shell_view_get_content_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_sidebar_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_status_widget (EShellView *shell_view); +void e_shell_view_changed (EShellView *shell_view); G_END_DECLS -- cgit v1.2.3 From 3843185df1e71e14e4f2e5d34aca34724090b496 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 30 Aug 2008 04:42:02 +0000 Subject: Preferences window awesomeness. svn path=/branches/kill-bonobo/; revision=36215 --- shell/e-shell-view.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index b474c0aa36..90aa35c450 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -71,8 +71,7 @@ struct _EShellViewClass { /* Signals */ - void (*changed) (EShellView *shell_view, - gboolean visible); + void (*changed) (EShellView *shell_view); }; GType e_shell_view_get_type (void); -- cgit v1.2.3 From eca687589d106ff87cd4fca7bf581cb0532caf96 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 5 Sep 2008 15:47:38 +0000 Subject: Saving progress. Lots of changes. Things are a bit broken at the moment. svn path=/branches/kill-bonobo/; revision=36260 --- shell/e-shell-view.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 90aa35c450..a13efcf4b4 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -24,6 +24,8 @@ #include #include +#include + /* Standard GObject macros */ #define E_TYPE_SHELL_VIEW \ (e_shell_view_get_type ()) @@ -65,12 +67,7 @@ struct _EShellViewClass { * the GTypeInfo they pass to g_type_module_register_type(). */ GTypeModule *type_module; - GtkWidget * (*get_content_widget) (EShellView *shell_view); - GtkWidget * (*get_sidebar_widget) (EShellView *shell_view); - GtkWidget * (*get_status_widget) (EShellView *shell_view); - /* Signals */ - void (*changed) (EShellView *shell_view); }; @@ -88,12 +85,16 @@ void e_shell_view_set_secondary_text (EShellView *shell_view, const gchar * e_shell_view_get_title (EShellView *shell_view); void e_shell_view_set_title (EShellView *shell_view, const gchar *title); +GalViewInstance * + e_shell_view_get_view_instance (EShellView *shell_view); +void e_shell_view_set_view_instance (EShellView *shell_view, + GalViewInstance *instance); EShellWindow * e_shell_view_get_window (EShellView *shell_view); gboolean e_shell_view_is_selected (EShellView *shell_view); gint e_shell_view_get_page_num (EShellView *shell_view); GtkWidget * e_shell_view_get_content_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_sidebar_widget (EShellView *shell_view); -GtkWidget * e_shell_view_get_status_widget (EShellView *shell_view); +GtkWidget * e_shell_view_get_taskbar_widget (EShellView *shell_view); void e_shell_view_changed (EShellView *shell_view); G_END_DECLS -- cgit v1.2.3 From 52d683e48cf1103a9806da95c72abce2db3ae1f4 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sun, 7 Sep 2008 04:02:27 +0000 Subject: Progress update: - Contacts module mostly working now. - View and search UI not yet working. - Still refining shell design. svn path=/branches/kill-bonobo/; revision=36268 --- shell/e-shell-view.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index a13efcf4b4..5deeac0f31 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -92,8 +92,8 @@ void e_shell_view_set_view_instance (EShellView *shell_view, EShellWindow * e_shell_view_get_window (EShellView *shell_view); gboolean e_shell_view_is_selected (EShellView *shell_view); gint e_shell_view_get_page_num (EShellView *shell_view); -GtkWidget * e_shell_view_get_content_widget (EShellView *shell_view); -GtkWidget * e_shell_view_get_sidebar_widget (EShellView *shell_view); +GtkWidget * e_shell_view_get_content_widget (EShellView *shell_view); +GtkWidget * e_shell_view_get_sidebar_widget (EShellView *shell_view); GtkWidget * e_shell_view_get_taskbar_widget (EShellView *shell_view); void e_shell_view_changed (EShellView *shell_view); -- cgit v1.2.3 From 5350eebb5ef8c07e69110616ce1662e0e92bea16 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Mon, 8 Sep 2008 20:37:00 +0000 Subject: Progress update: - Merge ETaskBar into EShellTaskbar. - Remember the last view, and make --component work. svn path=/branches/kill-bonobo/; revision=36278 --- shell/e-shell-view.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 5deeac0f31..1654b9c6c6 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -22,6 +22,9 @@ #define E_SHELL_VIEW_H #include +#include +#include +#include #include #include @@ -89,12 +92,12 @@ GalViewInstance * e_shell_view_get_view_instance (EShellView *shell_view); void e_shell_view_set_view_instance (EShellView *shell_view, GalViewInstance *instance); -EShellWindow * e_shell_view_get_window (EShellView *shell_view); +EShellWindow * e_shell_view_get_shell_window (EShellView *shell_view); gboolean e_shell_view_is_selected (EShellView *shell_view); gint e_shell_view_get_page_num (EShellView *shell_view); -GtkWidget * e_shell_view_get_content_widget (EShellView *shell_view); -GtkWidget * e_shell_view_get_sidebar_widget (EShellView *shell_view); -GtkWidget * e_shell_view_get_taskbar_widget (EShellView *shell_view); +EShellContent * e_shell_view_get_content (EShellView *shell_view); +EShellSidebar * e_shell_view_get_sidebar (EShellView *shell_view); +EShellTaskbar * e_shell_view_get_taskbar (EShellView *shell_view); void e_shell_view_changed (EShellView *shell_view); G_END_DECLS -- cgit v1.2.3 From 2e83206b30fad6e108b4a393002c171df0474c9e Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 9 Sep 2008 17:29:09 +0000 Subject: Fix some bootstrapping issues. svn path=/branches/kill-bonobo/; revision=36291 --- shell/e-shell-view.h | 1 + 1 file changed, 1 insertion(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 1654b9c6c6..cb4ffcfda0 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -76,6 +76,7 @@ struct _EShellViewClass { GType e_shell_view_get_type (void); const gchar * e_shell_view_get_name (EShellView *shell_view); +GtkAction * e_shell_view_get_action (EShellView *shell_view); const gchar * e_shell_view_get_icon_name (EShellView *shell_view); void e_shell_view_set_icon_name (EShellView *shell_view, const gchar *icon_name); -- cgit v1.2.3 From c701a5e0260fb27c26a4e81edaee61db651b1040 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 10 Sep 2008 18:36:36 +0000 Subject: Add stubs for calendar, task, and memo shell views. svn path=/branches/kill-bonobo/; revision=36296 --- shell/e-shell-view.h | 9 --------- 1 file changed, 9 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index cb4ffcfda0..ee41aade9e 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -77,15 +77,6 @@ struct _EShellViewClass { GType e_shell_view_get_type (void); const gchar * e_shell_view_get_name (EShellView *shell_view); GtkAction * e_shell_view_get_action (EShellView *shell_view); -const gchar * e_shell_view_get_icon_name (EShellView *shell_view); -void e_shell_view_set_icon_name (EShellView *shell_view, - const gchar *icon_name); -const gchar * e_shell_view_get_primary_text (EShellView *shell_view); -void e_shell_view_set_primary_text (EShellView *shell_view, - const gchar *primary_text); -const gchar * e_shell_view_get_secondary_text (EShellView *shell_view); -void e_shell_view_set_secondary_text (EShellView *shell_view, - const gchar *secondary_text); const gchar * e_shell_view_get_title (EShellView *shell_view); void e_shell_view_set_title (EShellView *shell_view, const gchar *title); -- cgit v1.2.3 From 6545899a2972546a035da4d73c3625b9e8bb7438 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 11 Sep 2008 04:42:53 +0000 Subject: Add menu and toolbar UI for calendars, memos and tasks. svn path=/branches/kill-bonobo/; revision=36299 --- shell/e-shell-view.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index ee41aade9e..4b9bf8683d 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -27,7 +27,7 @@ #include #include -#include +#include /* Standard GObject macros */ #define E_TYPE_SHELL_VIEW \ -- cgit v1.2.3 From c0a255eb90769638d57ae4122932f75c46e4e531 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 11 Sep 2008 15:34:29 +0000 Subject: Merge revisions 36016:36303 from trunk. svn path=/branches/kill-bonobo/; revision=36307 --- shell/e-shell-view.h | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 4b9bf8683d..34f2625e22 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -1,21 +1,23 @@ -/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ -/* e-shell-view.h +/* * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * This is only a CORBA wrapper around e_shell_window. * * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) version 3. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. + * 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 + * + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. */ #ifndef E_SHELL_VIEW_H -- cgit v1.2.3 From 7ee6ef65f1019389c172478a80b8f0aa73a1453e Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 13 Sep 2008 04:02:09 +0000 Subject: Allow EShellContent, EShellSidebar, and EShellTaskbar to be subclassed, and begin doing so for Calendars, Memos and Tasks. Makes the code cleaner. svn path=/branches/kill-bonobo/; revision=36317 --- shell/e-shell-view.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 34f2625e22..a30abf5e6c 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -72,6 +72,11 @@ struct _EShellViewClass { * the GTypeInfo they pass to g_type_module_register_type(). */ GTypeModule *type_module; + /* Factory Methods */ + GtkWidget * (*new_shell_content) (EShellView *shell_view); + GtkWidget * (*new_shell_sidebar) (EShellView *shell_view); + GtkWidget * (*new_shell_taskbar) (EShellView *shell_view); + /* Signals */ void (*changed) (EShellView *shell_view); }; @@ -86,12 +91,12 @@ GalViewInstance * e_shell_view_get_view_instance (EShellView *shell_view); void e_shell_view_set_view_instance (EShellView *shell_view, GalViewInstance *instance); -EShellWindow * e_shell_view_get_shell_window (EShellView *shell_view); gboolean e_shell_view_is_selected (EShellView *shell_view); gint e_shell_view_get_page_num (EShellView *shell_view); -EShellContent * e_shell_view_get_content (EShellView *shell_view); -EShellSidebar * e_shell_view_get_sidebar (EShellView *shell_view); -EShellTaskbar * e_shell_view_get_taskbar (EShellView *shell_view); +EShellContent * e_shell_view_get_shell_content (EShellView *shell_view); +EShellSidebar * e_shell_view_get_shell_sidebar (EShellView *shell_view); +EShellTaskbar * e_shell_view_get_shell_taskbar (EShellView *shell_view); +EShellWindow * e_shell_view_get_shell_window (EShellView *shell_view); void e_shell_view_changed (EShellView *shell_view); G_END_DECLS -- cgit v1.2.3 From bb7cb1d677117a938ae18d9cae7acc7a56678b6f Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 17 Sep 2008 15:07:13 +0000 Subject: Massive address book refactoring. Things are mostly working again. Also, begin documenting the new shell API, and provide a Gtk-Doc framework. svn path=/branches/kill-bonobo/; revision=36359 --- shell/e-shell-view.h | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index a30abf5e6c..77c74a0cbc 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -1,6 +1,7 @@ -/* +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- + * e-shell-view.h * - * This is only a CORBA wrapper around e_shell_window. + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -10,26 +11,21 @@ * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * 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 - * - * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * General Public License for more details. * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. */ #ifndef E_SHELL_VIEW_H #define E_SHELL_VIEW_H #include -#include -#include -#include #include -#include +#include /* Standard GObject macros */ #define E_TYPE_SHELL_VIEW \ @@ -72,6 +68,9 @@ struct _EShellViewClass { * the GTypeInfo they pass to g_type_module_register_type(). */ GTypeModule *type_module; + /* A unique instance is created for each subclass. */ + GalViewCollection *view_collection; + /* Factory Methods */ GtkWidget * (*new_shell_content) (EShellView *shell_view); GtkWidget * (*new_shell_sidebar) (EShellView *shell_view); @@ -87,15 +86,14 @@ GtkAction * e_shell_view_get_action (EShellView *shell_view); const gchar * e_shell_view_get_title (EShellView *shell_view); void e_shell_view_set_title (EShellView *shell_view, const gchar *title); -GalViewInstance * - e_shell_view_get_view_instance (EShellView *shell_view); -void e_shell_view_set_view_instance (EShellView *shell_view, - GalViewInstance *instance); -gboolean e_shell_view_is_selected (EShellView *shell_view); +const gchar * e_shell_view_get_view_id (EShellView *shell_view); +void e_shell_view_set_view_id (EShellView *shell_view, + const gchar *view_id); +gboolean e_shell_view_is_active (EShellView *shell_view); gint e_shell_view_get_page_num (EShellView *shell_view); -EShellContent * e_shell_view_get_shell_content (EShellView *shell_view); -EShellSidebar * e_shell_view_get_shell_sidebar (EShellView *shell_view); -EShellTaskbar * e_shell_view_get_shell_taskbar (EShellView *shell_view); +gpointer e_shell_view_get_shell_content (EShellView *shell_view); +gpointer e_shell_view_get_shell_sidebar (EShellView *shell_view); +gpointer e_shell_view_get_shell_taskbar (EShellView *shell_view); EShellWindow * e_shell_view_get_shell_window (EShellView *shell_view); void e_shell_view_changed (EShellView *shell_view); -- cgit v1.2.3 From 3e3c13b439668945241b32cf8c1fd3d6e625f9f5 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 19 Sep 2008 16:52:08 +0000 Subject: Replace EActivityHandler with a new activity-tracking system that uses EActivity objects instead of numeric handler IDs. Create an EActivity, configure it, and (optionally) connect to its "cancelled" and "completed" signals. Then hand it to the shell view via e_shell_view_add_activity(). When finished with the activity, call e_activity_finish() and unref it. svn path=/branches/kill-bonobo/; revision=36391 --- shell/e-shell-view.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 77c74a0cbc..32fd4333f0 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -25,6 +25,7 @@ #include #include +#include #include /* Standard GObject macros */ @@ -90,6 +91,8 @@ const gchar * e_shell_view_get_view_id (EShellView *shell_view); void e_shell_view_set_view_id (EShellView *shell_view, const gchar *view_id); gboolean e_shell_view_is_active (EShellView *shell_view); +void e_shell_view_add_activity (EShellView *shell_view, + EActivity *activity); gint e_shell_view_get_page_num (EShellView *shell_view); gpointer e_shell_view_get_shell_content (EShellView *shell_view); gpointer e_shell_view_get_shell_sidebar (EShellView *shell_view); -- cgit v1.2.3 From 73c370019c4de89d4c901ee8c25cc0cbb55992fb Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Mon, 22 Sep 2008 21:03:28 +0000 Subject: Search UI is kinda sorta working. Still some outstanding issues. svn path=/branches/kill-bonobo/; revision=36427 --- shell/e-shell-view.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 32fd4333f0..92382a9a49 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -72,6 +72,9 @@ struct _EShellViewClass { /* A unique instance is created for each subclass. */ GalViewCollection *view_collection; + /* Path to the search entry popup menu. */ + const gchar *search_options_path; + /* Factory Methods */ GtkWidget * (*new_shell_content) (EShellView *shell_view); GtkWidget * (*new_shell_sidebar) (EShellView *shell_view); -- cgit v1.2.3 From 9515b98403f2f7ef77dc6c51f82505fccef08c2b Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 24 Sep 2008 22:53:30 +0000 Subject: Saving progress. Experimenting with directory layout. Saving progress. Experimenting with directory layout. svn path=/branches/kill-bonobo/; revision=36446 --- shell/e-shell-view.h | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 92382a9a49..5f12840c12 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -22,8 +22,11 @@ #ifndef E_SHELL_VIEW_H #define E_SHELL_VIEW_H -#include -#include +#include +#include +#include +#include +#include #include #include @@ -61,10 +64,13 @@ struct _EShellView { struct _EShellViewClass { GObjectClass parent_class; - /* Initial GtkRadioAction values */ + /* Initial switcher action values. */ const gchar *label; const gchar *icon_name; + /* Path to the search entry popup menu. */ + const gchar *search_options; + /* Subclasses should set this via the "class_data" field in * the GTypeInfo they pass to g_type_module_register_type(). */ GTypeModule *type_module; @@ -72,9 +78,6 @@ struct _EShellViewClass { /* A unique instance is created for each subclass. */ GalViewCollection *view_collection; - /* Path to the search entry popup menu. */ - const gchar *search_options_path; - /* Factory Methods */ GtkWidget * (*new_shell_content) (EShellView *shell_view); GtkWidget * (*new_shell_sidebar) (EShellView *shell_view); @@ -97,9 +100,9 @@ gboolean e_shell_view_is_active (EShellView *shell_view); void e_shell_view_add_activity (EShellView *shell_view, EActivity *activity); gint e_shell_view_get_page_num (EShellView *shell_view); -gpointer e_shell_view_get_shell_content (EShellView *shell_view); -gpointer e_shell_view_get_shell_sidebar (EShellView *shell_view); -gpointer e_shell_view_get_shell_taskbar (EShellView *shell_view); +EShellContent * e_shell_view_get_shell_content (EShellView *shell_view); +EShellSidebar * e_shell_view_get_shell_sidebar (EShellView *shell_view); +EShellTaskbar * e_shell_view_get_shell_taskbar (EShellView *shell_view); EShellWindow * e_shell_view_get_shell_window (EShellView *shell_view); void e_shell_view_changed (EShellView *shell_view); -- cgit v1.2.3 From 098ea8aad8d3249d9faca5df5b4fe67b94ba660f Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Mon, 29 Sep 2008 16:14:46 +0000 Subject: Get Memos to come up. Doesn't really work yet, but the widgets are all there. svn path=/branches/kill-bonobo/; revision=36491 --- shell/e-shell-view.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 5f12840c12..7998326329 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -68,6 +68,9 @@ struct _EShellViewClass { const gchar *label; const gchar *icon_name; + /* Base name of the UI definition file. */ + const gchar *ui_definition; + /* Path to the search entry popup menu. */ const gchar *search_options; @@ -84,7 +87,8 @@ struct _EShellViewClass { GtkWidget * (*new_shell_taskbar) (EShellView *shell_view); /* Signals */ - void (*changed) (EShellView *shell_view); + void (*toggled) (EShellView *shell_view); + void (*update_actions) (EShellView *shell_view); }; GType e_shell_view_get_type (void); @@ -100,11 +104,15 @@ gboolean e_shell_view_is_active (EShellView *shell_view); void e_shell_view_add_activity (EShellView *shell_view, EActivity *activity); gint e_shell_view_get_page_num (EShellView *shell_view); +GtkSizeGroup * e_shell_view_get_size_group (EShellView *shell_view); EShellContent * e_shell_view_get_shell_content (EShellView *shell_view); EShellSidebar * e_shell_view_get_shell_sidebar (EShellView *shell_view); EShellTaskbar * e_shell_view_get_shell_taskbar (EShellView *shell_view); EShellWindow * e_shell_view_get_shell_window (EShellView *shell_view); -void e_shell_view_changed (EShellView *shell_view); +void e_shell_view_update_actions (EShellView *shell_view); +void e_shell_view_show_popup_menu (EShellView *shell_view, + const gchar *widget_path, + GdkEventButton *event); G_END_DECLS -- cgit v1.2.3 From c6795be3a8b7b17ced9e99e17db9ac6cbed6e018 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 1 Oct 2008 03:48:51 +0000 Subject: Continue documenting the new shell API. svn path=/branches/kill-bonobo/; revision=36511 --- shell/e-shell-view.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 7998326329..f9f027d0bb 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -19,11 +19,18 @@ * Boston, MA 02110-1301, USA. */ +/** + * SECTION: e-shell-view + * @short_description: views within the main window + * @include: shell/e-shell-view.h + **/ + #ifndef E_SHELL_VIEW_H #define E_SHELL_VIEW_H #include #include +#include #include #include #include @@ -56,6 +63,12 @@ typedef struct _EShellView EShellView; typedef struct _EShellViewClass EShellViewClass; typedef struct _EShellViewPrivate EShellViewPrivate; +/** + * EShellView: + * + * Contains only private data that should be read and manipulated using the + * functions below. + **/ struct _EShellView { GObject parent; EShellViewPrivate *priv; @@ -71,7 +84,7 @@ struct _EShellViewClass { /* Base name of the UI definition file. */ const gchar *ui_definition; - /* Path to the search entry popup menu. */ + /* Widget path to the search entry popup menu. */ const gchar *search_options; /* Subclasses should set this via the "class_data" field in @@ -109,6 +122,7 @@ EShellContent * e_shell_view_get_shell_content (EShellView *shell_view); EShellSidebar * e_shell_view_get_shell_sidebar (EShellView *shell_view); EShellTaskbar * e_shell_view_get_shell_taskbar (EShellView *shell_view); EShellWindow * e_shell_view_get_shell_window (EShellView *shell_view); +EShellModule * e_shell_view_get_shell_module (EShellView *shell_view); void e_shell_view_update_actions (EShellView *shell_view); void e_shell_view_show_popup_menu (EShellView *shell_view, const gchar *widget_path, -- cgit v1.2.3 From e52986f4225cbe8496043da74ca250521d244705 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 1 Oct 2008 18:58:37 +0000 Subject: Add more EShell API documentation. svn path=/branches/kill-bonobo/; revision=36533 --- shell/e-shell-view.h | 46 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 4 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index f9f027d0bb..34d001d0d4 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -35,7 +35,6 @@ #include #include -#include #include /* Standard GObject macros */ @@ -74,6 +73,47 @@ struct _EShellView { EShellViewPrivate *priv; }; +/** + * EShellViewClass: + * @parent_class: The parent class structure. + * @label: The initial value for the switcher action's + * #GtkAction:label property. See + * e_shell_view_get_action(). + * @icon_name: The initial value for the switcher action's + * #GtkAction:icon-name property. See + * e_shell_view_get_action(). + * @ui_definition: Base name of the UI definintion file to add + * when the shell view is activated. + * @search_options: Widget path in the UI definition to the search + * options popup menu. The menu gets shown when the + * user clicks the "find" icon in the search entry. + * @type_module: The corresponding #GTypeModule for this shell + * view. Subclasses are responsible for setting + * this. An easy way do so is to pass it to the + * shell view's #GClassInitFunc via the + * class_data field in + * #GTypeInfo. + * @view_collection: A unique #GalViewCollection instance is created + * for each subclass and shared across all instances + * of that subclass. That much is done automatically + * for subclasses, but subclasses are still responsible + * for adding the appropriate #GalView factories to the + * view collection. + * @new_shell_content: Factory method for the shell view's #EShellContent. + * See e_shell_view_get_shell_content(). + * @new_shell_sidebar: Factory method for the shell view's #EShellSidebar. + * See e_shell_view_get_shell_sidebar(). + * @new_shell_taskbar: Factory method for the shell view's #EShellTaskbar. + * See e_shell_view_get_shell_taskbar(). + * @toggled: Class method for the #EShellView::toggled signal. + * Subclasses should rarely need to override the + * default behavior. + * @update_actions: Class method for the #EShellView::update_actions + * signal. There is no default behavior; subclasses + * should override this. + * + * #EShellViewClass contains a number of important settings for subclasses. + **/ struct _EShellViewClass { GObjectClass parent_class; @@ -84,7 +124,7 @@ struct _EShellViewClass { /* Base name of the UI definition file. */ const gchar *ui_definition; - /* Widget path to the search entry popup menu. */ + /* Widget path to the search options popup menu. */ const gchar *search_options; /* Subclasses should set this via the "class_data" field in @@ -114,8 +154,6 @@ const gchar * e_shell_view_get_view_id (EShellView *shell_view); void e_shell_view_set_view_id (EShellView *shell_view, const gchar *view_id); gboolean e_shell_view_is_active (EShellView *shell_view); -void e_shell_view_add_activity (EShellView *shell_view, - EActivity *activity); gint e_shell_view_get_page_num (EShellView *shell_view); GtkSizeGroup * e_shell_view_get_size_group (EShellView *shell_view); EShellContent * e_shell_view_get_shell_content (EShellView *shell_view); -- cgit v1.2.3 From b2cda1d0c6d44f53f71bad9e256f41188677dfba Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 1 Oct 2008 20:56:04 +0000 Subject: Merge revisions 36016:36533 from trunk. svn path=/branches/kill-bonobo/; revision=36534 --- shell/e-shell-view.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 34d001d0d4..6f5b6f6cc4 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -1,8 +1,6 @@ /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- * e-shell-view.h * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) - * * 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 @@ -11,12 +9,14 @@ * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. + * 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 + * + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. */ /** -- cgit v1.2.3 From 791c982c456fca453978358d2e919082419b7808 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 1 Oct 2008 21:51:10 +0000 Subject: Update the headers on files I've created or completely rewritten to match Sankar's LGPLv3 template. svn path=/branches/kill-bonobo/; revision=36535 --- shell/e-shell-view.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 6f5b6f6cc4..5aa9e6c0ff 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -1,4 +1,4 @@ -/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- +/* * e-shell-view.h * * This program is free software; you can redistribute it and/or -- cgit v1.2.3 From 086a96050b16f6dabd99a391b5a4faf0411963a1 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 3 Oct 2008 04:43:40 +0000 Subject: Tasks progress. Merge EMemoPreview back into ECalComponentPreview. svn path=/branches/kill-bonobo/; revision=36538 --- shell/e-shell-view.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 5aa9e6c0ff..28392d2963 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -87,6 +87,10 @@ struct _EShellView { * @search_options: Widget path in the UI definition to the search * options popup menu. The menu gets shown when the * user clicks the "find" icon in the search entry. + * @search_rules: Base name of the XML file containing predefined + * search rules for this shell view. The XML files + * are usually named something like + * viewtypes.xml. * @type_module: The corresponding #GTypeModule for this shell * view. Subclasses are responsible for setting * this. An easy way do so is to pass it to the @@ -127,6 +131,9 @@ struct _EShellViewClass { /* Widget path to the search options popup menu. */ const gchar *search_options; + /* Base name of the search rule definition file. */ + const gchar *search_rules; + /* Subclasses should set this via the "class_data" field in * the GTypeInfo they pass to g_type_module_register_type(). */ GTypeModule *type_module; -- cgit v1.2.3 From d6b8b58bb45b16c1cb3a575c277ffdc77441e2df Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 29 Oct 2008 20:11:07 +0000 Subject: Get the calendar's memopad and taskpad working. What's interesting here is we're actually sharing the ECalModel across views. Instead of having the Calendar view listen to GConf for changes to the Task and Memo models, the Calendar view fetches the models directly from the Task and Memo views -- starting the views if it has to, although the shell really takes care of that -- and loads the models into its own taskpad and memopad. We couldn't do that sort of thing before with Bonobo in the way. Big chunks of redundant code should begin falling out shortly. svn path=/branches/kill-bonobo/; revision=36696 --- shell/e-shell-view.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 28392d2963..1b1fffd87d 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -162,6 +162,8 @@ void e_shell_view_set_view_id (EShellView *shell_view, const gchar *view_id); gboolean e_shell_view_is_active (EShellView *shell_view); gint e_shell_view_get_page_num (EShellView *shell_view); +void e_shell_view_set_page_num (EShellView *shell_view, + gint page_num); GtkSizeGroup * e_shell_view_get_size_group (EShellView *shell_view); EShellContent * e_shell_view_get_shell_content (EShellView *shell_view); EShellSidebar * e_shell_view_get_shell_sidebar (EShellView *shell_view); -- cgit v1.2.3 From b06cdfab92313ca7b1ce9a88ccb0ffba33cb17ab Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 19 Nov 2008 01:39:19 +0000 Subject: Progress update: - Tighter integration of GalViewInstance and EShellView. - EBinding. Stolen from ExoBinding. Lets you bind GObject properties together to automatically keep their values in sync. This is a godsend. Added to e-util, but might even deserve a place in libedataserver. - EShellSettings. This is the concept I blogged about. Already started ripping apart em-mailer-prefs.c. Others to follow. Any place where we're monitoring GConf keys is a target. - Incremental progress on the calender and mailer. Got EMFolderView somewhat working, but I think I'll be killing off EMFolderBrowser. svn path=/branches/kill-bonobo/; revision=36795 --- shell/e-shell-view.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 1b1fffd87d..3159b5a71b 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -36,6 +36,7 @@ #include #include +#include /* Standard GObject macros */ #define E_TYPE_SHELL_VIEW \ @@ -174,6 +175,9 @@ void e_shell_view_update_actions (EShellView *shell_view); void e_shell_view_show_popup_menu (EShellView *shell_view, const gchar *widget_path, GdkEventButton *event); +GalViewInstance * + e_shell_view_new_view_instance (EShellView *shell_view, + const gchar *instance_id); G_END_DECLS -- cgit v1.2.3 From bd9f473a896496b95b9896d30940f2ab27493432 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 23 Jan 2009 21:41:01 +0000 Subject: Redesign EPluginUI to accommodate merging and unmerging shell views. Get the "mark-all-read" and "plugin-manager" plugins working. svn path=/branches/kill-bonobo/; revision=37125 --- shell/e-shell-view.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 3159b5a71b..78987d9db6 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -85,6 +85,9 @@ struct _EShellView { * e_shell_view_get_action(). * @ui_definition: Base name of the UI definintion file to add * when the shell view is activated. + * @ui_manager_id: The #GtkUIManager ID for #EPluginUI. Plugins + * should use to this ID in their "eplug" files to + * add menu and toolbar items to the shell view. * @search_options: Widget path in the UI definition to the search * options popup menu. The menu gets shown when the * user clicks the "find" icon in the search entry. @@ -129,6 +132,9 @@ struct _EShellViewClass { /* Base name of the UI definition file. */ const gchar *ui_definition; + /* GtkUIManager ID for use with EPluginUI. */ + const gchar *ui_manager_id; + /* Widget path to the search options popup menu. */ const gchar *search_options; -- cgit v1.2.3 From 32ffc3ca1ca80b2d843fbe28da7deab35fabcbf1 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sun, 25 Jan 2009 03:28:18 +0000 Subject: Make the sidebar icon follow the folder icon. Fix more runtime warnings. svn path=/branches/kill-bonobo/; revision=37130 --- shell/e-shell-view.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 78987d9db6..1392acfa0a 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -132,7 +132,8 @@ struct _EShellViewClass { /* Base name of the UI definition file. */ const gchar *ui_definition; - /* GtkUIManager ID for use with EPluginUI. */ + /* GtkUIManager identifier for use with EPluginUI. + * Usually "org.gnome.evolution.$(VIEW_NAME)". */ const gchar *ui_manager_id; /* Widget path to the search options popup menu. */ -- cgit v1.2.3 From caa862135195b828d2e8355436fdd6eb0ec2443e Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 7 May 2009 07:21:57 -0400 Subject: Convert EShellModule to EShellBackend Split the GTypeModule loader out of EShellModule as EModule, and rename EShellModule to EShellBackend. Backends (formerly modules) should now subclass EShellBackend. This commit converts EShell but breaks all the shell backends. --- shell/e-shell-view.h | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 1392acfa0a..66a72325fb 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -29,8 +29,8 @@ #define E_SHELL_VIEW_H #include +#include #include -#include #include #include #include @@ -95,12 +95,6 @@ struct _EShellView { * search rules for this shell view. The XML files * are usually named something like * viewtypes.xml. - * @type_module: The corresponding #GTypeModule for this shell - * view. Subclasses are responsible for setting - * this. An easy way do so is to pass it to the - * shell view's #GClassInitFunc via the - * class_data field in - * #GTypeInfo. * @view_collection: A unique #GalViewCollection instance is created * for each subclass and shared across all instances * of that subclass. That much is done automatically @@ -142,10 +136,6 @@ struct _EShellViewClass { /* Base name of the search rule definition file. */ const gchar *search_rules; - /* Subclasses should set this via the "class_data" field in - * the GTypeInfo they pass to g_type_module_register_type(). */ - GTypeModule *type_module; - /* A unique instance is created for each subclass. */ GalViewCollection *view_collection; @@ -173,11 +163,11 @@ gint e_shell_view_get_page_num (EShellView *shell_view); void e_shell_view_set_page_num (EShellView *shell_view, gint page_num); GtkSizeGroup * e_shell_view_get_size_group (EShellView *shell_view); +EShellBackend * e_shell_view_get_shell_backend (EShellView *shell_view); EShellContent * e_shell_view_get_shell_content (EShellView *shell_view); EShellSidebar * e_shell_view_get_shell_sidebar (EShellView *shell_view); EShellTaskbar * e_shell_view_get_shell_taskbar (EShellView *shell_view); EShellWindow * e_shell_view_get_shell_window (EShellView *shell_view); -EShellModule * e_shell_view_get_shell_module (EShellView *shell_view); void e_shell_view_update_actions (EShellView *shell_view); void e_shell_view_show_popup_menu (EShellView *shell_view, const gchar *widget_path, -- cgit v1.2.3 From 92e942499bffca812dcbc229f6c88ebb640e403a Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 9 May 2009 23:50:43 -0400 Subject: Fix bugs caused by EShellBackend changes. --- shell/e-shell-view.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 66a72325fb..99730ef689 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -139,6 +139,9 @@ struct _EShellViewClass { /* A unique instance is created for each subclass. */ GalViewCollection *view_collection; + /* This is set by the corresponding EShellBackend. */ + EShellBackend *shell_backend; + /* Factory Methods */ GtkWidget * (*new_shell_content) (EShellView *shell_view); GtkWidget * (*new_shell_sidebar) (EShellView *shell_view); -- cgit v1.2.3 From e4afd3f9fb962ea1295a0657ec9f83a427829171 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 26 May 2009 23:21:02 -0400 Subject: Remove trailing whitespace, again. --- shell/e-shell-view.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index f284604d92..dd500efa94 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -13,7 +13,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 + * License along with the program; if not, see * * * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) -- cgit v1.2.3 From 14f8eee012382f04090ea9277e9567d5f32e8bf0 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 28 May 2009 13:06:29 -0400 Subject: Whitespace cleanup. --- shell/e-shell-view.h | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index 664094e3a8..a3ca595fba 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -78,41 +78,41 @@ struct _EShellView { * EShellViewClass: * @parent_class: The parent class structure. * @label: The initial value for the switcher action's - * #GtkAction:label property. See - * e_shell_view_get_action(). + * #GtkAction:label property. See + * e_shell_view_get_action(). * @icon_name: The initial value for the switcher action's - * #GtkAction:icon-name property. See - * e_shell_view_get_action(). + * #GtkAction:icon-name property. See + * e_shell_view_get_action(). * @ui_definition: Base name of the UI definintion file to add - * when the shell view is activated. + * when the shell view is activated. * @ui_manager_id: The #GtkUIManager ID for #EPluginUI. Plugins - * should use to this ID in their "eplug" files to - * add menu and toolbar items to the shell view. + * should use to this ID in their "eplug" files to + * add menu and toolbar items to the shell view. * @search_options: Widget path in the UI definition to the search - * options popup menu. The menu gets shown when the - * user clicks the "find" icon in the search entry. + * options popup menu. The menu gets shown when the + * user clicks the "find" icon in the search entry. * @search_rules: Base name of the XML file containing predefined - * search rules for this shell view. The XML files - * are usually named something like - * viewtypes.xml. + * search rules for this shell view. The XML files + * are usually named something like + * viewtypes.xml. * @view_collection: A unique #GalViewCollection instance is created - * for each subclass and shared across all instances - * of that subclass. That much is done automatically - * for subclasses, but subclasses are still responsible - * for adding the appropriate #GalView factories to the - * view collection. + * for each subclass and shared across all instances + * of that subclass. That much is done automatically + * for subclasses, but subclasses are still responsible + * for adding the appropriate #GalView factories to the + * view collection. * @new_shell_content: Factory method for the shell view's #EShellContent. - * See e_shell_view_get_shell_content(). + * See e_shell_view_get_shell_content(). * @new_shell_sidebar: Factory method for the shell view's #EShellSidebar. - * See e_shell_view_get_shell_sidebar(). + * See e_shell_view_get_shell_sidebar(). * @new_shell_taskbar: Factory method for the shell view's #EShellTaskbar. - * See e_shell_view_get_shell_taskbar(). + * See e_shell_view_get_shell_taskbar(). * @toggled: Class method for the #EShellView::toggled signal. - * Subclasses should rarely need to override the - * default behavior. + * Subclasses should rarely need to override the + * default behavior. * @update_actions: Class method for the #EShellView::update_actions - * signal. There is no default behavior; subclasses - * should override this. + * signal. There is no default behavior; subclasses + * should override this. * * #EShellViewClass contains a number of important settings for subclasses. **/ -- cgit v1.2.3 From be8ee5393471a83b24aed4de1669afd723cb3168 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 9 Jun 2009 23:15:20 -0400 Subject: Use key files for tracking widget states. Each EShellView now maintains a GKeyFile for recording disposable widget state such as tree view path expansion, scroll bar positions, combo box selections, etc. The EShellView records changes to the key file to ~/.evolution//config/state, and automatically restores the GKeyFile at startup. Currently only the mailer uses the key file, but it's intended to serve all shell views. It replaces the use of Camel "cmeta" files, as well as "et-expanded-*" and "folder-tree-expand-state.xml" files. Also, the mailer's folder tree model now includes a column for tracking which sidebar folders are expanded. Folder tree widgets appearing in dialog windows can copy the sidebar's expanded state using em_folder_tree_clone_expanded(). --- shell/e-shell-view.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index a3ca595fba..b323839478 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -171,6 +171,8 @@ EShellContent * e_shell_view_get_shell_content (EShellView *shell_view); EShellSidebar * e_shell_view_get_shell_sidebar (EShellView *shell_view); EShellTaskbar * e_shell_view_get_shell_taskbar (EShellView *shell_view); EShellWindow * e_shell_view_get_shell_window (EShellView *shell_view); +GKeyFile * e_shell_view_get_state_key_file (EShellView *shell_view); +void e_shell_view_set_state_dirty (EShellView *shell_view); void e_shell_view_update_actions (EShellView *shell_view); void e_shell_view_show_popup_menu (EShellView *shell_view, const gchar *widget_path, -- cgit v1.2.3 From 624f48121f523101fe26c3d3a8b51a4eeda90990 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 30 Jun 2009 20:05:07 -0400 Subject: Fix up EShell API documentation. --- shell/e-shell-view.h | 1 + 1 file changed, 1 insertion(+) (limited to 'shell/e-shell-view.h') diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h index b323839478..b9a12ab893 100644 --- a/shell/e-shell-view.h +++ b/shell/e-shell-view.h @@ -101,6 +101,7 @@ struct _EShellView { * for subclasses, but subclasses are still responsible * for adding the appropriate #GalView factories to the * view collection. + * @shell_backend: The corresponding #EShellBackend for the shell view. * @new_shell_content: Factory method for the shell view's #EShellContent. * See e_shell_view_get_shell_content(). * @new_shell_sidebar: Factory method for the shell view's #EShellSidebar. -- cgit v1.2.3