diff -urN --minimal gnumeric-1.0.8-patched/po/en_GB.po gnumeric-1.0.8-workbookprotect/po/en_GB.po --- gnumeric-1.0.8-patched/po/en_GB.po Tue Jul 2 16:28:40 2002 +++ gnumeric-1.0.8-workbookprotect/po/en_GB.po Fri Jun 21 17:12:46 2002 @@ -7113,10 +7113,14 @@ msgstr "" #: src/dialogs/workbook-attr.glade.h:4 -msgid "_Horizontal Scrollbar" +msgid "_Protect Workbook" msgstr "" #: src/dialogs/workbook-attr.glade.h:5 +msgid "_Horizontal Scrollbar" +msgstr "" + +#: src/dialogs/workbook-attr.glade.h:6 msgid "_Vertical Scrollbar" msgstr "" diff -urN --minimal gnumeric-1.0.8-patched/po/nl.po gnumeric-1.0.8-workbookprotect/po/nl.po --- gnumeric-1.0.8-patched/po/nl.po Tue Jul 2 16:28:41 2002 +++ gnumeric-1.0.8-workbookprotect/po/nl.po Fri Jun 21 17:12:46 2002 @@ -7491,10 +7491,14 @@ msgstr "_Automatisch Tekst Aanvullen" #: src/dialogs/workbook-attr.glade.h:4 +msgid "_Protect Workbook" +msgstr "_Bescherm Werkblad" + +#: src/dialogs/workbook-attr.glade.h:5 msgid "_Horizontal Scrollbar" msgstr "_Horizontale Schuifbalk" -#: src/dialogs/workbook-attr.glade.h:5 +#: src/dialogs/workbook-attr.glade.h:6 msgid "_Vertical Scrollbar" msgstr "_Verticale Schuifbalk" diff -urN --minimal gnumeric-1.0.8-patched/src/dialogs/dialog-cell-format.c gnumeric-1.0.8-workbookprotect/src/dialogs/dialog-cell-format.c --- gnumeric-1.0.8-patched/src/dialogs/dialog-cell-format.c Tue Jul 2 16:28:47 2002 +++ gnumeric-1.0.8-workbookprotect/src/dialogs/dialog-cell-format.c Fri Jun 21 17:12:46 2002 @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -159,7 +160,10 @@ PatternPicker pattern; } back; struct { - GtkCheckButton *hidden, *locked; + GtkCheckButton *hidden, *locked, *sheet_protected; + + gboolean sheet_protected_changed; + gboolean sheet_protected_value; } protection; struct { GtkTable *criteria_table; @@ -1983,6 +1987,17 @@ } static void +cb_protection_sheet_protected_toggle (GtkToggleButton *button, FormatState *state) +{ + if (state->enable_edit) { + state->protection.sheet_protected_value = + gtk_toggle_button_get_active (button); + state->protection.sheet_protected_changed = TRUE; + fmt_dialog_changed (state); + } +} + +static void fmt_dialog_init_protection_page (FormatState *state) { GtkWidget *w; @@ -2005,6 +2020,15 @@ gtk_signal_connect (GTK_OBJECT (w), "toggled", GTK_SIGNAL_FUNC (cb_protection_hidden_toggle), state); + + state->protection.sheet_protected_changed = FALSE; + flag = wb_control_view (WORKBOOK_CONTROL (state->wbcg))->is_protected; + w = glade_xml_get_widget (state->gui, "protection_sheet_protected"); + state->protection.sheet_protected = GTK_CHECK_BUTTON (w); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), flag); + gtk_signal_connect (GTK_OBJECT (w), + "toggled", + GTK_SIGNAL_FUNC (cb_protection_sheet_protected_toggle), state); } /*****************************************************************************/ @@ -2327,6 +2351,13 @@ if (state->validation.changed) validation_rebuild_validation (state); + if (state->protection.sheet_protected_changed) { + WorkbookView *wbv = wb_control_view (WORKBOOK_CONTROL (state->wbcg)); + wbv->is_protected = state->protection.sheet_protected_value; + wb_view_prefs_update (wbv); + state->protection.sheet_protected_changed = FALSE; + } + mstyle_ref (state->result); for (i = STYLE_BORDER_TOP; i < STYLE_BORDER_EDGE_MAX; i++) diff -urN --minimal gnumeric-1.0.8-patched/src/dialogs/dialog-workbook-attr.c gnumeric-1.0.8-workbookprotect/src/dialogs/dialog-workbook-attr.c --- gnumeric-1.0.8-patched/src/dialogs/dialog-workbook-attr.c Tue Jul 2 16:28:47 2002 +++ gnumeric-1.0.8-workbookprotect/src/dialogs/dialog-workbook-attr.c Fri Jun 21 17:12:46 2002 @@ -48,6 +48,7 @@ GtkToggleButton *show_vsb; GtkToggleButton *show_tabs; GtkToggleButton *autocomplete; + GtkToggleButton *is_protected; } view; } AttrState; @@ -95,6 +96,8 @@ gtk_toggle_button_get_active (state->view.show_tabs); state->wbv->do_auto_completion = gtk_toggle_button_get_active (state->view.autocomplete); + state->wbv->is_protected = + gtk_toggle_button_get_active (state->view.is_protected); wb_view_prefs_update (state->wbv); } @@ -148,6 +151,9 @@ state->view.autocomplete = attr_dialog_init_toggle (state, "WorkbookView::do_auto_completion", state->wbv->do_auto_completion); + state->view.is_protected = attr_dialog_init_toggle (state, + "WorkbookView::workbook_protected", + state->wbv->is_protected); } /*****************************************************************************/ diff -urN --minimal gnumeric-1.0.8-patched/src/dialogs/workbook-attr.glade gnumeric-1.0.8-workbookprotect/src/dialogs/workbook-attr.glade --- gnumeric-1.0.8-patched/src/dialogs/workbook-attr.glade Tue Jul 2 16:28:47 2002 +++ gnumeric-1.0.8-workbookprotect/src/dialogs/workbook-attr.glade Fri Jun 21 17:45:35 2002 @@ -49,7 +49,7 @@ GtkTable table1 4 - 3 + 4 2 False 0 @@ -80,9 +80,9 @@ GtkCheckButton - WorkbookView::show_notebook_tabs + WorkbookView::workbook_protected True - + False True @@ -103,6 +103,29 @@ GtkCheckButton + WorkbookView::show_notebook_tabs + True + + False + True + + 0 + 2 + 2 + 3 + 0 + 0 + False + False + False + False + True + False + + + + + GtkCheckButton WorkbookView::show_horizontal_scrollbar True True @@ -112,8 +135,8 @@ 0 1 - 2 - 3 + 3 + 4 0 0 True @@ -135,8 +158,8 @@ 1 2 - 2 - 3 + 3 + 4 0 0 True diff -urN --minimal gnumeric-1.0.8-patched/src/workbook-view.c gnumeric-1.0.8-workbookprotect/src/workbook-view.c --- gnumeric-1.0.8-patched/src/workbook-view.c Tue Jul 2 16:29:09 2002 +++ gnumeric-1.0.8-workbookprotect/src/workbook-view.c Mon Jul 1 18:25:56 2002 @@ -53,6 +53,7 @@ ARG_VIEW_VSCROLLBAR, ARG_VIEW_TABS, ARG_VIEW_DO_AUTO_COMPLETION, + ARG_VIEW_IS_PROTECTED, }; /* WorkbookView signals */ @@ -411,6 +412,9 @@ case ARG_VIEW_DO_AUTO_COMPLETION: wbv->do_auto_completion = GTK_VALUE_BOOL (*arg); break; + case ARG_VIEW_IS_PROTECTED: + wbv->is_protected = GTK_VALUE_BOOL (*arg); + break; } wb_view_prefs_update (wbv); } @@ -438,6 +442,10 @@ case ARG_VIEW_DO_AUTO_COMPLETION: GTK_VALUE_BOOL (*arg) = wbv->do_auto_completion; break; + + case ARG_VIEW_IS_PROTECTED: + GTK_VALUE_BOOL (*arg) = wbv->is_protected; + break; } } @@ -522,6 +530,7 @@ wbv->show_vertical_scrollbar = TRUE; wbv->show_notebook_tabs = TRUE; wbv->do_auto_completion = application_use_auto_complete (); + wbv->is_protected = FALSE; /* Set the default operation to be performed over selections */ wbv->auto_expr = NULL; @@ -566,6 +575,9 @@ gtk_object_add_arg_type ("WorkbookView::do_auto_completion", GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_VIEW_DO_AUTO_COMPLETION); + gtk_object_add_arg_type ("WorkbookView::is_protected", + GTK_TYPE_BOOL, GTK_ARG_READWRITE, + ARG_VIEW_IS_PROTECTED); workbook_view_signals [SHEET_ENTERED] = gtk_signal_new ( diff -urN --minimal gnumeric-1.0.8-patched/src/xml-io.c gnumeric-1.0.8-workbookprotect/src/xml-io.c --- gnumeric-1.0.8-patched/src/xml-io.c Tue Jul 2 16:28:46 2002 +++ gnumeric-1.0.8-workbookprotect/src/xml-io.c Tue Jul 2 16:28:17 2002 @@ -1036,7 +1036,7 @@ subchild = e_xml_get_child_by_name (child, (xmlChar *)"type"); if (subchild) - xml_node_get_int (child, NULL, &type); + xml_node_get_int (subchild, NULL, &type); if (name && type) { arg = gtk_arg_new (type);