]> saetta.ns0.it Git - solipa/libsolipa/commitdiff
Aggiunte funzioni OOO::[get|set]_[path|version|port|soffice].
authorAndrea Zagli <azagli@libero.it>
Mon, 2 Jul 2018 14:12:15 +0000 (16:12 +0200)
committerAndrea Zagli <azagli@libero.it>
Mon, 2 Jul 2018 14:12:15 +0000 (16:12 +0200)
src/ooo.c
src/ooo.h

index 901f6bca72fdab90b45291075cf55bd40416caa4..3a1a153cc97bed4b13915c3cfbd49d774408aea1 100644 (file)
--- a/src/ooo.c
+++ b/src/ooo.c
@@ -95,8 +95,14 @@ solipa_ooo_init (SolipaOOO *solipa_ooo)
        priv->dict = NULL;
        priv->search = NULL;
 
+       priv->transient = NULL;
+
+       priv->visible = FALSE;
+
+       priv->ooo_path = g_strdup ("");
+       priv->ooo_soffice = g_strdup ("soffice");
        priv->ooo_port = 8100;
-       priv->ooo_version = NULL;
+       priv->ooo_version = g_strdup ("");
 
        priv->with_search = FALSE;
 }
@@ -124,20 +130,13 @@ static SolipaOOO
        priv->transient = transient;
 
        /* TODO controllare i valori */
-       priv->ooo_path = g_strdup (ooo_path);
+       solipa_ooo_set_path (solipa_ooo, ooo_path);
 
-       if (ooo_soffice == NULL)
-               {
-                       priv->ooo_soffice = g_strdup ("soffice");
-               }
-       else
-               {
-                       priv->ooo_soffice = g_strdup (ooo_soffice);
-               }
+       solipa_ooo_set_soffice (solipa_ooo, ooo_soffice);
 
        if (ooo_port > 0)
                {
-                       priv->ooo_port = ooo_port;
+                       solipa_ooo_set_port (solipa_ooo, ooo_port);
                }
 
        return solipa_ooo;
@@ -195,6 +194,95 @@ SolipaOOO
        return solipa_ooo;
 }
 
+/**
+ * solipa_ooo_set_path:
+ * @ooo:
+ * @path:
+ *
+ */
+void
+solipa_ooo_set_path (SolipaOOO *ooo, const gchar *path)
+{
+       SolipaOOOPrivate *priv = SOLIPA_OOO_GET_PRIVATE (ooo);
+
+       g_free (priv->ooo_path);
+       if (path != NULL)
+               {
+                       priv->ooo_path = g_strdup (path);
+               }
+}
+
+/**
+ * solipa_ooo_get_path:
+ * @ooo:
+ *
+ */
+gchar
+*solipa_ooo_get_path (SolipaOOO *ooo)
+{
+       SolipaOOOPrivate *priv = SOLIPA_OOO_GET_PRIVATE (ooo);
+
+       return g_strdup (priv->ooo_path);
+}
+
+/**
+ * solipa_ooo_set_soffice:
+ * @ooo:
+ * @soffice:
+ *
+ */
+void
+solipa_ooo_set_soffice (SolipaOOO *ooo, const gchar *soffice)
+{
+       SolipaOOOPrivate *priv = SOLIPA_OOO_GET_PRIVATE (ooo);
+
+       g_free (priv->ooo_soffice);
+       if (soffice != NULL)
+               {
+                       priv->ooo_soffice = g_strdup (soffice);
+               }
+}
+
+/**
+ * solipa_ooo_get_soffice:
+ * @ooo:
+ *
+ */
+gchar
+*solipa_ooo_get_soffice (SolipaOOO *ooo)
+{
+       SolipaOOOPrivate *priv = SOLIPA_OOO_GET_PRIVATE (ooo);
+
+       return g_strdup (priv->ooo_soffice);
+}
+
+/**
+ * solipa_ooo_set_port:
+ * @ooo:
+ * @port:
+ *
+ */
+void
+solipa_ooo_set_port (SolipaOOO *ooo, guint port)
+{
+       SolipaOOOPrivate *priv = SOLIPA_OOO_GET_PRIVATE (ooo);
+
+       priv->ooo_port = port;
+}
+
+/**
+ * solipa_ooo_get_port:
+ * @ooo:
+ *
+ */
+guint
+solipa_ooo_get_port (SolipaOOO *ooo)
+{
+       SolipaOOOPrivate *priv = SOLIPA_OOO_GET_PRIVATE (ooo);
+
+       return priv->ooo_port;
+}
+
 /**
  * solipa_ooo_set_version:
  * @ooo:
@@ -206,7 +294,24 @@ solipa_ooo_set_version (SolipaOOO *ooo, const gchar *version)
 {
        SolipaOOOPrivate *priv = SOLIPA_OOO_GET_PRIVATE (ooo);
 
-       priv->ooo_version = g_strdup (version);
+       g_free (priv->ooo_version);
+       if (version != NULL)
+               {
+                       priv->ooo_version = g_strdup (version);
+               }
+}
+
+/**
+ * solipa_ooo_get_version:
+ * @ooo:
+ *
+ */
+gchar
+*solipa_ooo_get_version (SolipaOOO *ooo)
+{
+       SolipaOOOPrivate *priv = SOLIPA_OOO_GET_PRIVATE (ooo);
+
+       return g_strdup (priv->ooo_version);
 }
 
 /**
@@ -332,7 +437,7 @@ gchar
                               "found.String = %s.replace(found.String, u\"%s\", u\"%s\")\n",
                               !priv->with_search ? "search = document.createSearchDescriptor()\n" : "",
                               _search,
-                              priv->ooo_version == NULL || zak_utils_compare_version (priv->ooo_version, "3.0.0", NULL, &part) > 0 ? "str" : "unicode",
+                              g_strcmp0 (priv->ooo_version, "") == 0 || zak_utils_compare_version (priv->ooo_version, "3.0.0", NULL, &part) > 0 ? "str" : "unicode",
                               _search,
                               _replace);
        priv->with_search = TRUE;
@@ -539,7 +644,7 @@ solipa_ooo_pycmd_apri_openoffice (SolipaOOO *ooo)
        gchar *command;
        guint part;
 
-       if (priv->ooo_version == NULL
+       if (g_strcmp0 (priv->ooo_version, "") == 0
                || zak_utils_compare_version (priv->ooo_version, "3.0.0", NULL, &part) > 0)
                {
                        dash = g_strdup ("-");
@@ -722,7 +827,7 @@ solipa_ooo_apri_openoffice (SolipaOOO *ooo)
                                        solipa_ooo_chiudi_openoffice (ooo);
                                }
 
-                       if (priv->ooo_version == NULL
+                       if (g_strcmp0 (priv->ooo_version, "") == 0
                            || zak_utils_compare_version (priv->ooo_version, "3.0.0", NULL, &part) > 0)
                                {
                                        dash = g_strdup ("-");
index 7d4e0c5cd1fcf70ad529b87f042c7bb7c3f938ed..60be2c2840bc18494b0eb5edcecc6799b6790d69 100644 (file)
--- a/src/ooo.h
+++ b/src/ooo.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2015 Andrea Zagli <azagli@libero.it>
+ * Copyright (C) 2011-2018 Andrea Zagli <azagli@libero.it>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -63,7 +63,14 @@ SolipaOOO *solipa_ooo_new (GtkWindow *transient,
                            guint ooo_port,
                            gboolean visible);
 
+void solipa_ooo_set_path (SolipaOOO *ooo, const gchar *ooo_path);
+gchar *solipa_ooo_get_path (SolipaOOO *ooo);
+void solipa_ooo_set_soffice (SolipaOOO *ooo, const gchar *ooo_soffice);
+gchar *solipa_ooo_get_soffice (SolipaOOO *ooo);
+void solipa_ooo_set_port (SolipaOOO *ooo, guint ooo_port);
+guint solipa_ooo_get_port (SolipaOOO *ooo);
 void solipa_ooo_set_version (SolipaOOO *ooo, const gchar *version);
+gchar *solipa_ooo_get_version (SolipaOOO *ooo);
 
 void solipa_ooo_exec (SolipaOOO *ooo, const gchar *statement);