[gnumeric] Workbook: make being_loaded a property.



commit 1e1a54539b2a3aa522735a524a216f576d1f5960
Author: Morten Welinder <terra gnome org>
Date:   Thu Jul 16 21:29:54 2020 -0400

    Workbook: make being_loaded a property.
    
    So we can attach notify signals.

 src/workbook-view.c |  4 ++--
 src/workbook.c      | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 3 deletions(-)
---
diff --git a/src/workbook-view.c b/src/workbook-view.c
index 91a759529..fcbe08d93 100644
--- a/src/workbook-view.c
+++ b/src/workbook-view.c
@@ -1377,10 +1377,10 @@ workbook_view_new_from_input (GsfInput *input,
 
                /* disable recursive dirtying while loading */
                old = workbook_enable_recursive_dirty (new_wb, FALSE);
-               new_wb->being_loaded = TRUE;
+               g_object_set (new_wb, "being-loaded", TRUE, NULL);
                go_file_opener_open (file_opener, encoding, io_context,
                                     GO_VIEW (new_wbv), input);
-               new_wb->being_loaded = FALSE;
+               g_object_set (new_wb, "being-loaded", FALSE, NULL);
                workbook_enable_recursive_dirty (new_wb, old);
 
                if (go_io_error_occurred (io_context)) {
diff --git a/src/workbook.c b/src/workbook.c
index 530ba6020..1fb44eb1a 100644
--- a/src/workbook.c
+++ b/src/workbook.c
@@ -55,7 +55,8 @@
 
 enum {
        PROP_0,
-       PROP_RECALC_MODE
+       PROP_RECALC_MODE,
+       PROP_BEING_LOADED
 };
 enum {
        SHEET_ORDER_CHANGED,
@@ -265,6 +266,9 @@ workbook_get_property (GObject *object, guint property_id,
        case PROP_RECALC_MODE:
                g_value_set_boolean (value, wb->recalc_auto);
                break;
+       case PROP_BEING_LOADED:
+               g_value_set_boolean (value, wb->being_loaded);
+               break;
        default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
                break;
@@ -281,6 +285,9 @@ workbook_set_property (GObject *object, guint property_id,
        case PROP_RECALC_MODE:
                workbook_set_recalcmode (wb, g_value_get_boolean (value));
                break;
+       case PROP_BEING_LOADED:
+               wb->being_loaded = g_value_get_boolean (value);
+               break;
        default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
                break;
@@ -351,6 +358,14 @@ workbook_class_init (GObjectClass *gobject_class)
                                       GSF_PARAM_STATIC |
                                       G_PARAM_READWRITE));
 
+        g_object_class_install_property (gobject_class, PROP_BEING_LOADED,
+                g_param_spec_boolean ("being-loaded",
+                                      P_("Being loaded"),
+                                      P_("Workbook is currently being loaded."),
+                                      TRUE,
+                                      GSF_PARAM_STATIC |
+                                      G_PARAM_READWRITE));
+
        signals[SHEET_ORDER_CHANGED] = g_signal_new ("sheet_order_changed",
                GNM_WORKBOOK_TYPE,
                G_SIGNAL_RUN_LAST,


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