[Libreoffice-commits] core.git: cui/source cui/uiconfig officecfg/registry sfx2/source

Jan Holesovsky kendy at collabora.com
Thu Oct 16 02:10:12 PDT 2014


 cui/source/options/optgdlg.cxx                             |   14 +++
 cui/source/options/optgdlg.hxx                             |    2 
 cui/uiconfig/ui/optgeneralpage.ui                          |   57 +++++++++++--
 officecfg/registry/schema/org/openoffice/Office/Common.xcs |    8 +
 sfx2/source/control/unoctitm.cxx                           |    6 +
 5 files changed, 79 insertions(+), 8 deletions(-)

New commits:
commit 9c9831f79cf0413c0cd947449bf8253fe09a224f
Author: Jan Holesovsky <kendy at collabora.com>
Date:   Thu Oct 16 10:53:52 2014 +0200

    usage info: Checkbox to turn it on and off (Tools -> Options... -> General).
    
    Change-Id: I67143e604314f5553026c369bbed3fdd683c39a6

diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 79688cc..ef1ae96 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -67,6 +67,7 @@
 #include <unotools/saveopt.hxx>
 #include <unotools/searchopt.hxx>
 #include <sal/macros.h>
+#include <officecfg/Office/Common.hxx>
 
 #include <com/sun/star/configuration/theDefaultProvider.hpp>
 #include <com/sun/star/container/XNameAccess.hpp>
@@ -206,6 +207,7 @@ OfaMiscTabPage::OfaMiscTabPage(vcl::Window* pParent, const SfxItemSet& rSet)
     get(m_pYearFrame, "yearframe");
     get(m_pYearValueField, "year");
     get(m_pToYearFT, "toyear");
+    get(m_pCollectUsageInfo, "collectusageinfo");
 
     if (m_pFileDlgCB->IsVisible() && SvtMiscOptions().IsUseSystemFileDialogReadOnly())
     {
@@ -246,6 +248,7 @@ SfxTabPage* OfaMiscTabPage::Create( vcl::Window* pParent, const SfxItemSet* rAtt
 bool OfaMiscTabPage::FillItemSet( SfxItemSet* rSet )
 {
     bool bModified = false;
+    boost::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create());
 
     SvtHelpOptions aHelpOptions;
     if ( m_pToolTipsCB->IsValueChangedFromSaved() )
@@ -291,6 +294,14 @@ bool OfaMiscTabPage::FillItemSet( SfxItemSet* rSet )
         rSet->Put( SfxUInt16Item( SID_ATTR_YEAR2000, nNum ) );
     }
 
+    if (m_pCollectUsageInfo->IsValueChangedFromSaved())
+    {
+        officecfg::Office::Common::Misc::CollectUsageInformation::set(m_pCollectUsageInfo->IsChecked(), batch);
+        bModified = true;
+    }
+
+    batch->commit();
+
     return bModified;
 }
 
@@ -327,6 +338,9 @@ void OfaMiscTabPage::Reset( const SfxItemSet* rSet )
     {
         m_pYearFrame->Enable(false);
     }
+
+    m_pCollectUsageInfo->Check(officecfg::Office::Common::Misc::CollectUsageInformation::get());
+    m_pCollectUsageInfo->SaveValue();
 }
 
 
diff --git a/cui/source/options/optgdlg.hxx b/cui/source/options/optgdlg.hxx
index f559a0c..3353457 100644
--- a/cui/source/options/optgdlg.hxx
+++ b/cui/source/options/optgdlg.hxx
@@ -55,6 +55,8 @@ private:
 
     OUString      m_aStrDateInfo;
 
+    CheckBox*     m_pCollectUsageInfo;
+
     DECL_LINK( TwoFigureHdl, NumericField* );
     DECL_LINK( TwoFigureConfigHdl, NumericField* );
     DECL_LINK(HelpCheckHdl_Impl, void *);
diff --git a/cui/uiconfig/ui/optgeneralpage.ui b/cui/uiconfig/ui/optgeneralpage.ui
index 83bc114..943c366 100644
--- a/cui/uiconfig/ui/optgeneralpage.ui
+++ b/cui/uiconfig/ui/optgeneralpage.ui
@@ -1,6 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="lower">1583</property>
+    <property name="upper">9857</property>
+    <property name="value">1930</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
   <object class="GtkGrid" id="OptGeneralPage">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -351,12 +358,48 @@
         <property name="height">1</property>
       </packing>
     </child>
-  </object>
-  <object class="GtkAdjustment" id="adjustment1">
-    <property name="lower">1583</property>
-    <property name="upper">9857</property>
-    <property name="value">1930</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
+    <child>
+      <object class="GtkFrame" id="privacyframe">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label_xalign">0</property>
+        <property name="shadow_type">none</property>
+        <child>
+          <object class="GtkAlignment" id="alignment6">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="top_padding">6</property>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkCheckButton" id="collectusageinfo">
+                <property name="label" translatable="yes">Allow collecting usage information, and sending it to TDF servers</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+                <property name="draw_indicator">True</property>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="label7">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Privacy</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="left_attach">0</property>
+        <property name="top_attach">5</property>
+        <property name="width">1</property>
+        <property name="height">1</property>
+      </packing>
+    </child>
   </object>
 </interface>
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 09a9b18..9e72795 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -5600,6 +5600,14 @@
         </info>
         <value>false</value>
       </prop>
+      <prop oor:name="CollectUsageInformation" oor:type="xs:boolean" oor:nillable="false">
+        <info>
+          <desc>Determines whether the usage information (like what actions
+          the user has performed) can be collected, and potentially sent for
+          examination.</desc>
+        </info>
+        <value>false</value>
+      </prop>
       <prop oor:name="MacroRecorderMode" oor:type="xs:boolean" oor:nillable="false">
         <info>
           <desc>Determines if the limited, and awkward code producing
diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx
index 752a2f7..b371e7a 100644
--- a/sfx2/source/control/unoctitm.cxx
+++ b/sfx2/source/control/unoctitm.cxx
@@ -44,6 +44,7 @@
 #include <com/sun/star/frame/status/Visibility.hpp>
 #include <comphelper/processfactory.hxx>
 #include <comphelper/sequence.hxx>
+#include <officecfg/Office/Common.hxx>
 #include <osl/mutex.hxx>
 #include <uno/current_context.hxx>
 #include <vcl/svapp.hxx>
@@ -644,6 +645,9 @@ void UsageInfo::load()
 
 void UsageInfo::save()
 {
+    if (!officecfg::Office::Common::Misc::CollectUsageInformation::get())
+        return;
+
     // TODO - do a real saving here, not only dump to the screen
     std::cerr << "Usage information:" << std::endl;
     for (UsageMap::const_iterator it = maUsage.begin(); it != maUsage.end(); ++it)
@@ -658,7 +662,7 @@ class theUsageInfo : public rtl::Static<UsageInfo, theUsageInfo> {};
 /// Extracts information about the command + args, and stores that.
 void collectUsageInformation(const util::URL& rURL, const uno::Sequence<beans::PropertyValue>& rArgs)
 {
-    if (/*TODO disabled now, bind this to a config option instead*/true)
+    if (!officecfg::Office::Common::Misc::CollectUsageInformation::get())
         return;
 
     OUStringBuffer aBuffer;


More information about the Libreoffice-commits mailing list