officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu |    5 ++
 sfx2/source/view/classificationcontroller.cxx                        |   17 
+++++-----
 sw/sdi/_basesh.sdi                                                   |    1 
 sw/source/uibase/app/docst.cxx                                       |    4 ++
 4 files changed, 20 insertions(+), 7 deletions(-)

New commits:
commit 58a22dc030460e7164663ef84acd01f7a993af28
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Tue Mar 1 15:19:27 2016 +0100

    officecfg: add .uno:ClassificationApply tooltip
    
    Change-Id: I03d3cff3365e7ffb6a1218398cb0a6b3de1ce3be

diff --git 
a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 1dcf8b8a..b9fd7a4 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -6015,6 +6015,11 @@
           <value xml:lang="en-US">3D Model...</value>
         </prop>
       </node>
+      <node oor:name=".uno:ClassificationApply" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Apply Document Classification</value>
+        </prop>
+      </node>
     </node>
   </node>
 </oor:component-data>
commit e0e6d8a5827ce1cbc73caeab10c2e7ba9e66035b
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Tue Mar 1 14:58:46 2016 +0100

    sfx2 classification: select current toolbar listbox entry when state changes
    
    With this, if .uno:ClassificationApply is invoked from e.g. a macro, the
    toolbar listbox is updated to reflect the classification of the
    document. Previously the listbox wasn't updated.
    
    Change-Id: I45a7c6ee2f3b06e048fa119264c615e78bc46b37

diff --git a/sfx2/source/view/classificationcontroller.cxx 
b/sfx2/source/view/classificationcontroller.cxx
index b05431c..fa54a9b 100644
--- a/sfx2/source/view/classificationcontroller.cxx
+++ b/sfx2/source/view/classificationcontroller.cxx
@@ -122,7 +122,7 @@ IMPL_LINK_NOARG_TYPED(ClassificationCategoriesController, 
SelectHdl, ListBox&, v
 
 void ClassificationCategoriesController::statusChanged(const 
frame::FeatureStateEvent& /*rEvent*/) throw (uno::RuntimeException, 
std::exception)
 {
-    if (!m_pCategories || m_pCategories->GetEntryCount() > 0)
+    if (!m_pCategories)
         return;
 
     SfxObjectShell* pObjectShell = SfxObjectShell::Current();
@@ -130,12 +130,15 @@ void 
ClassificationCategoriesController::statusChanged(const frame::FeatureState
         return;
 
     SfxClassificationHelper aHelper(*pObjectShell);
-    std::vector<OUString> aNames = aHelper.GetBACNames();
-    for (const OUString& rName : aNames)
-        m_pCategories->InsertEntry(rName);
-    // Normally VclBuilder::makeObject() does this.
-    m_pCategories->EnableAutoSize(true);
-    m_pCategories->SetSizePixel(m_pCategories->GetOptimalSize());
+    if (m_pCategories->GetEntryCount() == 0)
+    {
+        std::vector<OUString> aNames = aHelper.GetBACNames();
+        for (const OUString& rName : aNames)
+            m_pCategories->InsertEntry(rName);
+        // Normally VclBuilder::makeObject() does this.
+        m_pCategories->EnableAutoSize(true);
+        m_pCategories->SetSizePixel(m_pCategories->GetOptimalSize());
+    }
 
     // Restore state based on the doc. model.
     const OUString& rCategoryName = aHelper.GetBACName();
diff --git a/sw/sdi/_basesh.sdi b/sw/sdi/_basesh.sdi
index 22a5c13..87de494 100644
--- a/sw/sdi/_basesh.sdi
+++ b/sw/sdi/_basesh.sdi
@@ -364,6 +364,7 @@ interface BaseTextSelection
     SID_CLASSIFICATION_APPLY
     [
         ExecMethod = Execute ;
+        StateMethod = StateStyle ;
     ]
 
      //OS: Selection.Escape gibt es zusaetzlich zu Window.Escape
diff --git a/sw/source/uibase/app/docst.cxx b/sw/source/uibase/app/docst.cxx
index cdd704e..c668078 100644
--- a/sw/source/uibase/app/docst.cxx
+++ b/sw/source/uibase/app/docst.cxx
@@ -256,6 +256,10 @@ void  SwDocShell::StateStyleSheet(SfxItemSet& rSet, 
SwWrtShell* pSh)
                 }
                 break;
 
+            case SID_CLASSIFICATION_APPLY:
+                // Just trigger 
ClassificationCategoriesController::statusChanged().
+                rSet.InvalidateItem(nWhich);
+                break;
             default:
                 OSL_FAIL("Invalid SlotId");
         }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to