From 46cc80aa8c6579a8badb79e719bd9aec29220e9f Mon Sep 17 00:00:00 2001 From: Srinivasa Ragavan Date: Fri, 7 Aug 2009 09:02:17 +0530 Subject: Changes for having a light version of calendar. --- calendar/gui/dialogs/comp-editor.c | 75 +++++++++++++++++++++++++++++++++++--- 1 file changed, 69 insertions(+), 6 deletions(-) (limited to 'calendar/gui/dialogs/comp-editor.c') diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c index 100a1615fb..0b9dfba93c 100644 --- a/calendar/gui/dialogs/comp-editor.c +++ b/calendar/gui/dialogs/comp-editor.c @@ -75,6 +75,8 @@ #define d(x) +static gboolean comp_lite = FALSE; + /* Private part of the CompEditor structure */ struct _CompEditorPrivate { @@ -1606,6 +1608,7 @@ comp_editor_init (CompEditor *editor) GtkAction *action; GtkWidget *container; GtkWidget *widget; + GtkWidget *scroll; EShell *shell; gint n_targets; GError *error = NULL; @@ -1628,7 +1631,9 @@ comp_editor_init (CompEditor *editor) priv->is_group_item = FALSE; priv->ui_manager = gtk_ui_manager_new (); - + + if (comp_lite) + gtk_window_set_default_size ((GtkWindow *) editor, 800, 450); gtk_window_add_accel_group ( GTK_WINDOW (editor), gtk_ui_manager_get_accel_group (priv->ui_manager)); @@ -1702,9 +1707,11 @@ comp_editor_init (CompEditor *editor) gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0); gtk_widget_show (widget); - widget = comp_editor_get_managed_widget (editor, "/main-toolbar"); - gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0); - gtk_widget_show (widget); + if (!comp_lite) { + widget = comp_editor_get_managed_widget (editor, "/main-toolbar"); + gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0); + gtk_widget_show (widget); + } widget = e_attachment_paned_new (); gtk_container_set_border_width (GTK_CONTAINER (widget), 6); @@ -1712,15 +1719,60 @@ comp_editor_init (CompEditor *editor) priv->attachment_view = g_object_ref (widget); gtk_widget_show (widget); + if (comp_lite) { + GtkWidget *tmp, *tmp1, *tmp_box, *cont; + GtkWidget *combo; + + e_attachment_paned_set_expanded (E_ATTACHMENT_PANED (widget), TRUE); + e_attachment_paned_set_expanded (E_ATTACHMENT_PANED (widget), FALSE); + + combo = e_attachment_paned_get_view_combo ( + E_ATTACHMENT_PANED (widget)); + gtk_widget_hide (combo); + cont = e_attachment_paned_get_controls_container ( + E_ATTACHMENT_PANED (widget)); + + tmp_box = gtk_hbox_new (FALSE, 0); + tmp = gtk_hbox_new (FALSE, 0); + tmp1 = gtk_image_new_from_stock (GTK_STOCK_SAVE, GTK_ICON_SIZE_BUTTON); + gtk_box_pack_start ((GtkBox *)tmp, tmp1, FALSE, FALSE, 0); + tmp1 = gtk_label_new_with_mnemonic (_("Save")); + gtk_box_pack_start ((GtkBox *)tmp, tmp1, FALSE, FALSE, 3); + gtk_widget_show_all(tmp); + + combo = gtk_ui_manager_get_widget (priv->ui_manager, "/main-toolbar/save"); + gtk_widget_reparent (combo, tmp_box); + gtk_box_set_child_packing ((GtkBox *)tmp_box, combo, FALSE, FALSE, 6, GTK_PACK_END); + gtk_tool_item_set_is_important (GTK_TOOL_ITEM (combo), TRUE); + combo = gtk_bin_get_child ((GtkBin *)combo); + gtk_container_remove((GtkContainer *)combo, gtk_bin_get_child ((GtkBin *)combo)); + gtk_container_add((GtkContainer *)combo, tmp); + gtk_button_set_relief ((GtkButton *)combo, GTK_RELIEF_NORMAL); + + gtk_widget_show(tmp_box); + gtk_box_pack_end (GTK_BOX (cont), tmp_box, FALSE, FALSE, 4); + + } container = e_attachment_paned_get_content_area ( E_ATTACHMENT_PANED (priv->attachment_view)); + if (comp_lite) { + scroll = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy ((GtkScrolledWindow *)scroll, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_widget_show(scroll); + gtk_box_pack_start (GTK_BOX (container), scroll, TRUE, TRUE, 0); + } + widget = gtk_notebook_new (); gtk_notebook_set_show_tabs (GTK_NOTEBOOK (widget), FALSE); - gtk_box_pack_start (GTK_BOX (container), widget, TRUE, TRUE, 0); + if (!comp_lite) + gtk_box_pack_start (GTK_BOX (container), widget, TRUE, TRUE, 0); + else + gtk_scrolled_window_add_with_viewport ((GtkScrolledWindow *) scroll, widget); priv->notebook = GTK_NOTEBOOK (widget); gtk_widget_show (widget); - + if (comp_lite) + gtk_widget_set_size_request (scroll, 300, -1); comp_editor_setup_recent_menu (editor); /* Drag-and-Drop Support */ @@ -2944,3 +2996,14 @@ obj_removed_cb (ECal *client, close_dialog (editor); } +gboolean +comp_editor_get_lite () +{ + return comp_lite; +} + +void +comp_editor_set_lite (gboolean status) +{ + comp_lite = status; +} -- cgit v1.2.3