[anjal] More fixes from master merge. Most keyb shortcuts work now.



commit 24803519ce42338d0c9f616a4e4ccd7f754d5f2e
Author: Srinivasa Ragavan <sragavan gnome org>
Date:   Wed Jan 13 17:20:49 2010 +0530

    More fixes from master merge. Most keyb shortcuts work now.

 src/mail-folder-view.c |   26 +++++++++++++++++++++++---
 src/mail-folder-view.h |    3 ++-
 src/mail-shell.c       |   26 ++++++++++++--------------
 src/mail-view.c        |    7 ++++++-
 4 files changed, 43 insertions(+), 19 deletions(-)
---
diff --git a/src/mail-folder-view.c b/src/mail-folder-view.c
index e6e51da..6af57a0 100644
--- a/src/mail-folder-view.c
+++ b/src/mail-folder-view.c
@@ -996,7 +996,8 @@ draw_flags (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel
 void
 mail_folder_view_show_list (MailFolderView *mfv)
 {
-	 mfv->priv->message_shown = 0;
+	mfv->priv->message_shown = 0;
+	gtk_widget_hide (mfv->slidebox);
 	gtk_widget_show ((GtkWidget *)mfv->tree);
 	gtk_widget_show (mfv->priv->view_scroller);
 	gtk_widget_hide ((GtkWidget *)mfv->mail);
@@ -1287,6 +1288,12 @@ mfv_button_clicked (GtkWidget *w, GdkEventButton *event, MailFolderView *mfv)
 }
 
 static void
+mfv_slider_pressed (GtkWidget *button, MailFolderView *shell)
+{
+	mail_folder_view_show_list (shell);
+}
+
+static void
 mfv_message_activated (GtkTreeView       *tree_view,  GtkTreePath       *path, GtkTreeViewColumn *column,  MailFolderView *shell)
 {
 	GtkTreeIter iter;
@@ -1302,6 +1309,7 @@ mfv_message_activated (GtkTreeView       *tree_view,  GtkTreePath       *path, G
 		gtk_widget_hide ((GtkWidget *)shell->tree);
 		gtk_widget_hide (shell->priv->view_scroller);
 		gtk_widget_show ((GtkWidget *)shell->mail);
+		gtk_widget_show (shell->slidebox);
 		/* mail_float_bar_new (gtk_widget_get_ancestor (tree_view, GTK_TYPE_WINDOW)); */
 	}
 
@@ -1580,7 +1588,7 @@ void
 mail_folder_view_construct (MailFolderView *shell)
 {
 	MailFolderViewPrivate *priv = shell->priv;
-	GtkWidget *viewbox, *infolabel, *align;
+	GtkWidget *viewbox, *slidebox, *infolabel, *align, *tmp;
 	GtkTreeViewColumn *column;
 	GtkCellRenderer *cell;
 	GtkCellRenderer *hbox, *vbox;
@@ -1851,9 +1859,21 @@ mail_folder_view_construct (MailFolderView *shell)
 
 	gtk_tree_view_columns_autosize (shell->tree);
 
+	slidebox = gtk_hbox_new (FALSE, 0);
+	gtk_box_pack_start ((GtkBox *)viewbox, (GtkWidget *)slidebox, TRUE, TRUE, 0);
+	shell->slidebox = slidebox;
+
+	shell->slider = gtk_button_new ();
+	tmp = gtk_arrow_new(GTK_ARROW_RIGHT, GTK_SHADOW_NONE);
+	gtk_container_add ((GtkContainer *)shell->slider, tmp);
+	gtk_widget_show_all (shell->slider);
+	gtk_box_pack_start ((GtkBox *)slidebox, (GtkWidget *)shell->slider, FALSE, FALSE, 2);
+	g_signal_connect (shell->slider, "clicked", G_CALLBACK(mfv_slider_pressed), shell);
+
 	shell->mail = mail_conv_view_new ();
-	gtk_box_pack_start ((GtkBox *)viewbox, (GtkWidget *)shell->mail, TRUE, TRUE, 0);
+	gtk_box_pack_start ((GtkBox *)slidebox, (GtkWidget *)shell->mail, TRUE, TRUE, 0);
 	gtk_widget_hide ((GtkWidget *)shell->mail);
+	gtk_widget_hide (shell->slidebox);
 }
 
 MailFolderView *
diff --git a/src/mail-folder-view.h b/src/mail-folder-view.h
index ecef064..74398f8 100644
--- a/src/mail-folder-view.h
+++ b/src/mail-folder-view.h
@@ -48,7 +48,8 @@ typedef struct _MailFolderView {
 	GtkTreeView *view;
 	
 	MailConvView *mail;
-
+	GtkWidget *slidebox;
+	GtkWidget *slider;
 
 	GtkWidget *tab_label;
 	GtkWidget *menu_label;
diff --git a/src/mail-shell.c b/src/mail-shell.c
index 7b2e498..02adf8a 100644
--- a/src/mail-shell.c
+++ b/src/mail-shell.c
@@ -431,15 +431,14 @@ mail_shell_finalize (GObject *object)
 	
 	G_OBJECT_CLASS (mail_shell_parent_class)->finalize (object);
 }
-#if 0
 static void
 ms_backspace_pressed (MailShell *shell)
 {
 	MailShellPrivate *priv = shell->priv;
 
-	gtk_widget_hide (priv->slider);
-	gtk_widget_show (shell->priv->folder_pane);
-	mail_view_show_list ((MailView *)shell->mail_component->mail_view);
+	//gtk_widget_hide (priv->slider);
+	//gtk_widget_show (shell->priv->folder_pane);
+	mail_view_show_list ((MailView *)shell->priv->view);
 }
 
 static void
@@ -447,9 +446,9 @@ ms_ctrl_w_pressed (MailShell *shell)
 {
 	MailShellPrivate *priv = shell->priv;
 
-	gtk_widget_hide (priv->slider);
-	gtk_widget_show (shell->priv->folder_pane);
-	mail_view_close_view ((MailView *)shell->mail_component->mail_view);
+	//gtk_widget_hide (priv->slider);
+	//gtk_widget_show (shell->priv->folder_pane);
+	mail_view_close_view ((MailView *)shell->priv->view);
 }
 
 static void
@@ -463,7 +462,7 @@ ms_slash_pressed (MailShell *shell)
 static void
 ms_f5_pressed (MailShell *shell)
 {
-	MailView *view = (MailView *)shell->mail_component->mail_view;
+	MailView *view = (MailView *)shell->priv->view;
 
 	mail_view_check_mail ((MailView *)view, FALSE);
 }
@@ -473,7 +472,6 @@ ms_ctrl_q_pressed (MailShell *shell)
 {
 	mail_shell_quit (shell);
 }	
-#endif
 static void
 mail_shell_class_init (MailShellClass *klass)
 {
@@ -488,11 +486,11 @@ mail_shell_class_init (MailShellClass *klass)
 	shell_class->construct_toolbar = ms_construct_toolbar;
 	shell_class->construct_menubar = NULL;
 	object_class->constructed = ms_constructed;
-//	klass->backspace_pressed = ms_backspace_pressed;
-//	klass->ctrl_w_pressed = ms_ctrl_w_pressed;
-//	klass->slash_pressed = ms_slash_pressed;
-//	klass->f5_pressed = ms_f5_pressed;
-//	klass->ctrl_q_pressed = ms_ctrl_q_pressed;
+	klass->backspace_pressed = ms_backspace_pressed;
+	klass->ctrl_w_pressed = ms_ctrl_w_pressed;
+	klass->slash_pressed = ms_slash_pressed;
+	klass->f5_pressed = ms_f5_pressed;
+	klass->ctrl_q_pressed = ms_ctrl_q_pressed;
 
 	mail_shell_signals [BACKSPACE_PRESSED] =
 		g_signal_new ("backspace_pressed",
diff --git a/src/mail-view.c b/src/mail-view.c
index 39f360f..ab74671 100644
--- a/src/mail-view.c
+++ b/src/mail-view.c
@@ -272,7 +272,12 @@ mail_view_new ()
 static void
 mv_message_shown (MailViewChild *mfv, MailView *mv)
 {
-	GtkWidget *arr = g_object_get_data ((GObject *)mv->slider, "right-arrow");
+	GtkWidget *arr;
+	
+	if (!mv->slider)
+		return;
+
+	arr = g_object_get_data ((GObject *)mv->slider, "right-arrow");
 	//gtk_widget_hide (mv->folder_tree);
 	gtk_widget_show (arr);
 	gtk_widget_show (mv->slider);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]