Kaydet (Commit) 9c9831f7 authored tarafından Jan Holesovsky's avatar Jan Holesovsky

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

Change-Id: I67143e604314f5553026c369bbed3fdd683c39a6
üst fe25090e
...@@ -67,6 +67,7 @@ ...@@ -67,6 +67,7 @@
#include <unotools/saveopt.hxx> #include <unotools/saveopt.hxx>
#include <unotools/searchopt.hxx> #include <unotools/searchopt.hxx>
#include <sal/macros.h> #include <sal/macros.h>
#include <officecfg/Office/Common.hxx>
#include <com/sun/star/configuration/theDefaultProvider.hpp> #include <com/sun/star/configuration/theDefaultProvider.hpp>
#include <com/sun/star/container/XNameAccess.hpp> #include <com/sun/star/container/XNameAccess.hpp>
...@@ -206,6 +207,7 @@ OfaMiscTabPage::OfaMiscTabPage(vcl::Window* pParent, const SfxItemSet& rSet) ...@@ -206,6 +207,7 @@ OfaMiscTabPage::OfaMiscTabPage(vcl::Window* pParent, const SfxItemSet& rSet)
get(m_pYearFrame, "yearframe"); get(m_pYearFrame, "yearframe");
get(m_pYearValueField, "year"); get(m_pYearValueField, "year");
get(m_pToYearFT, "toyear"); get(m_pToYearFT, "toyear");
get(m_pCollectUsageInfo, "collectusageinfo");
if (m_pFileDlgCB->IsVisible() && SvtMiscOptions().IsUseSystemFileDialogReadOnly()) if (m_pFileDlgCB->IsVisible() && SvtMiscOptions().IsUseSystemFileDialogReadOnly())
{ {
...@@ -246,6 +248,7 @@ SfxTabPage* OfaMiscTabPage::Create( vcl::Window* pParent, const SfxItemSet* rAtt ...@@ -246,6 +248,7 @@ SfxTabPage* OfaMiscTabPage::Create( vcl::Window* pParent, const SfxItemSet* rAtt
bool OfaMiscTabPage::FillItemSet( SfxItemSet* rSet ) bool OfaMiscTabPage::FillItemSet( SfxItemSet* rSet )
{ {
bool bModified = false; bool bModified = false;
boost::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create());
SvtHelpOptions aHelpOptions; SvtHelpOptions aHelpOptions;
if ( m_pToolTipsCB->IsValueChangedFromSaved() ) if ( m_pToolTipsCB->IsValueChangedFromSaved() )
...@@ -291,6 +294,14 @@ bool OfaMiscTabPage::FillItemSet( SfxItemSet* rSet ) ...@@ -291,6 +294,14 @@ bool OfaMiscTabPage::FillItemSet( SfxItemSet* rSet )
rSet->Put( SfxUInt16Item( SID_ATTR_YEAR2000, nNum ) ); 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; return bModified;
} }
...@@ -327,6 +338,9 @@ void OfaMiscTabPage::Reset( const SfxItemSet* rSet ) ...@@ -327,6 +338,9 @@ void OfaMiscTabPage::Reset( const SfxItemSet* rSet )
{ {
m_pYearFrame->Enable(false); m_pYearFrame->Enable(false);
} }
m_pCollectUsageInfo->Check(officecfg::Office::Common::Misc::CollectUsageInformation::get());
m_pCollectUsageInfo->SaveValue();
} }
......
...@@ -55,6 +55,8 @@ private: ...@@ -55,6 +55,8 @@ private:
OUString m_aStrDateInfo; OUString m_aStrDateInfo;
CheckBox* m_pCollectUsageInfo;
DECL_LINK( TwoFigureHdl, NumericField* ); DECL_LINK( TwoFigureHdl, NumericField* );
DECL_LINK( TwoFigureConfigHdl, NumericField* ); DECL_LINK( TwoFigureConfigHdl, NumericField* );
DECL_LINK(HelpCheckHdl_Impl, void *); DECL_LINK(HelpCheckHdl_Impl, void *);
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<interface> <interface>
<!-- interface-requires gtk+ 3.0 --> <!-- 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"> <object class="GtkGrid" id="OptGeneralPage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
...@@ -351,12 +358,48 @@ ...@@ -351,12 +358,48 @@
<property name="height">1</property> <property name="height">1</property>
</packing> </packing>
</child> </child>
</object> <child>
<object class="GtkAdjustment" id="adjustment1"> <object class="GtkFrame" id="privacyframe">
<property name="lower">1583</property> <property name="visible">True</property>
<property name="upper">9857</property> <property name="can_focus">False</property>
<property name="value">1930</property> <property name="label_xalign">0</property>
<property name="step_increment">1</property> <property name="shadow_type">none</property>
<property name="page_increment">10</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> </object>
</interface> </interface>
...@@ -5600,6 +5600,14 @@ ...@@ -5600,6 +5600,14 @@
</info> </info>
<value>false</value> <value>false</value>
</prop> </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"> <prop oor:name="MacroRecorderMode" oor:type="xs:boolean" oor:nillable="false">
<info> <info>
<desc>Determines if the limited, and awkward code producing <desc>Determines if the limited, and awkward code producing
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
#include <com/sun/star/frame/status/Visibility.hpp> #include <com/sun/star/frame/status/Visibility.hpp>
#include <comphelper/processfactory.hxx> #include <comphelper/processfactory.hxx>
#include <comphelper/sequence.hxx> #include <comphelper/sequence.hxx>
#include <officecfg/Office/Common.hxx>
#include <osl/mutex.hxx> #include <osl/mutex.hxx>
#include <uno/current_context.hxx> #include <uno/current_context.hxx>
#include <vcl/svapp.hxx> #include <vcl/svapp.hxx>
...@@ -644,6 +645,9 @@ void UsageInfo::load() ...@@ -644,6 +645,9 @@ void UsageInfo::load()
void UsageInfo::save() void UsageInfo::save()
{ {
if (!officecfg::Office::Common::Misc::CollectUsageInformation::get())
return;
// TODO - do a real saving here, not only dump to the screen // TODO - do a real saving here, not only dump to the screen
std::cerr << "Usage information:" << std::endl; std::cerr << "Usage information:" << std::endl;
for (UsageMap::const_iterator it = maUsage.begin(); it != maUsage.end(); ++it) for (UsageMap::const_iterator it = maUsage.begin(); it != maUsage.end(); ++it)
...@@ -658,7 +662,7 @@ class theUsageInfo : public rtl::Static<UsageInfo, theUsageInfo> {}; ...@@ -658,7 +662,7 @@ class theUsageInfo : public rtl::Static<UsageInfo, theUsageInfo> {};
/// Extracts information about the command + args, and stores that. /// Extracts information about the command + args, and stores that.
void collectUsageInformation(const util::URL& rURL, const uno::Sequence<beans::PropertyValue>& rArgs) 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; return;
OUStringBuffer aBuffer; OUStringBuffer aBuffer;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment