rpms/openoffice.org/F-11 workspace.slideshow1.patch, NONE, 1.1 openoffice.org-3.1.0.ooo100991.pyuno-fix.patch, 1.2, 1.3 openoffice.org.spec, 1.1884, 1.1885

Caolan McNamara caolanm at fedoraproject.org
Sun Apr 19 22:00:18 UTC 2009


Author: caolanm

Update of /cvs/pkgs/rpms/openoffice.org/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31743/F-11

Modified Files:
	openoffice.org-3.1.0.ooo100991.pyuno-fix.patch 
	openoffice.org.spec 
Added Files:
	workspace.slideshow1.patch 
Log Message:
Resolves: rhbz#496276 ooo#98806 disable audio in presenter screen

workspace.slideshow1.patch:

--- NEW FILE workspace.slideshow1.patch ---
Index: cws/slideshow1/slideshow/source/engine/shapes/viewmediashape.cxx
===================================================================
--- cws/slideshow1/slideshow/source/engine/shapes/viewmediashape.cxx	(revision 269948)
+++ cws/slideshow1/slideshow/source/engine/shapes/viewmediashape.cxx	(revision 269949)
@@ -71,6 +71,7 @@
 #include "viewmediashape.hxx"
 #include "mediashape.hxx"
 #include "tools.hxx"
+#include "unoview.hxx"
 
 using namespace ::com::sun::star;
 
@@ -88,12 +89,19 @@
 			mxShape( rxShape ),
 			mxPlayer(),
 			mxPlayerWindow(),
-            mxComponentContext( rxContext )
+            mxComponentContext( rxContext ),
+            mbIsSoundEnabled(true)
         {
             ENSURE_OR_THROW( mxShape.is(), "ViewMediaShape::ViewMediaShape(): Invalid Shape" );
             ENSURE_OR_THROW( mpViewLayer, "ViewMediaShape::ViewMediaShape(): Invalid View" );
             ENSURE_OR_THROW( mpViewLayer->getCanvas(), "ViewMediaShape::ViewMediaShape(): Invalid ViewLayer canvas" );
             ENSURE_OR_THROW( mxComponentContext.is(), "ViewMediaShape::ViewMediaShape(): Invalid component context" );
+
+            UnoViewSharedPtr pUnoView (::boost::dynamic_pointer_cast<UnoView>(rViewLayer));
+            if (pUnoView)
+            {
+                mbIsSoundEnabled = pUnoView->isSoundEnabled();
+            }
         }
 
 		// ---------------------------------------------------------------------
@@ -352,7 +360,7 @@
 					getPropertyValue( bMute,
                                       rxProps,
                                       ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Mute" )));
-					mxPlayer->setMute( bMute );
+					mxPlayer->setMute( bMute || !mbIsSoundEnabled);
 
 					sal_Int16 nVolumeDB(0);
 					getPropertyValue( nVolumeDB,
Index: cws/slideshow1/slideshow/source/engine/slideshowimpl.cxx
===================================================================
--- cws/slideshow1/slideshow/source/engine/slideshowimpl.cxx	(revision 269948)
+++ cws/slideshow1/slideshow/source/engine/slideshowimpl.cxx	(revision 269949)
@@ -1451,6 +1451,34 @@
         return (rProperty.Value >>= mbNoSlideTransitions);
     }
     
+    if (rProperty.Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("IsSoundEnabled")))
+    {
+        uno::Sequence<uno::Any> aValues;
+        uno::Reference<presentation::XSlideShowView> xView;
+        sal_Bool bValue;
+        if ((rProperty.Value >>= aValues)
+            && aValues.getLength()==2
+            && (aValues[0] >>= xView)
+            && (aValues[1] >>= bValue))
+        {
+            // Look up the view.
+            for (UnoViewVector::const_iterator
+                     iView (maViewContainer.begin()),
+                     iEnd (maViewContainer.end());
+                 iView!=iEnd;
+                 ++iView)
+            {
+                if (*iView && (*iView)->getUnoView()==xView)
+                {
+                    // Store the flag at the view so that media shapes have
+                    // access to it.
+                    (*iView)->setIsSoundEnabled(bValue);
+                    return true;
+                }
+            }
+        }
+    }
+
     return false;
 }
 
Index: cws/slideshow1/slideshow/source/engine/slideview.cxx
===================================================================
--- cws/slideshow1/slideshow/source/engine/slideview.cxx	(revision 269948)
+++ cws/slideshow1/slideshow/source/engine/slideview.cxx	(revision 269949)
@@ -715,6 +715,8 @@
     // UnoView:
     virtual void _dispose();
     virtual uno::Reference<presentation::XSlideShowView> getUnoView()const;
+    virtual void setIsSoundEnabled (const bool bValue);
+    virtual bool isSoundEnabled (void) const;
 
     // XEventListener:
     virtual void SAL_CALL disposing( lang::EventObject const& evt )
@@ -755,6 +757,7 @@
     
     basegfx::B2DHomMatrix                                     maViewTransform;
     basegfx::B2DSize                                          maUserSize;
+    bool mbIsSoundEnabled;
 };
 
 
@@ -770,7 +773,8 @@
     maViewLayers(),
     maClip(),
     maViewTransform(),
-    maUserSize( 1.0, 1.0 ) // default size: one-by-one rectangle 
+    maUserSize( 1.0, 1.0 ), // default size: one-by-one rectangle 
+    mbIsSoundEnabled(true)
 {
     // take care not constructing any UNO references to this _inside_
     // ctor, shift that code to createSlideView()!    
@@ -1001,6 +1005,16 @@
     return mxView;
 }
 
+void SlideView::setIsSoundEnabled (const bool bValue)
+{
+    mbIsSoundEnabled = bValue;
+}
+
+bool SlideView::isSoundEnabled (void) const
+{
+    return mbIsSoundEnabled;
+}
+
 void SlideView::_dispose()
 {
     dispose();
Index: cws/slideshow1/slideshow/source/inc/unoview.hxx
===================================================================
--- cws/slideshow1/slideshow/source/inc/unoview.hxx	(revision 269948)
+++ cws/slideshow1/slideshow/source/inc/unoview.hxx	(revision 269949)
@@ -68,6 +68,16 @@
                 with a different calling convention under Windows).
              */
             virtual void _dispose() = 0;
+
+            /** Return whether the sound play back is enabled.
+            */
+            virtual bool isSoundEnabled (void) const = 0;
+
+            /** Tell the view whether it may play sounds.  Disabling this
+                can be used to prevent different views to play the same
+                sounds at the same time.
+            */
+            virtual void setIsSoundEnabled (const bool bValue) = 0;
         };
 
         typedef ::boost::shared_ptr< UnoView > 		UnoViewSharedPtr;
Index: cws/slideshow1/sdext/source/presenter/PresenterSlideShowView.cxx
===================================================================
--- cws/slideshow1/sdext/source/presenter/PresenterSlideShowView.cxx	(revision 269950)
+++ cws/slideshow1/sdext/source/presenter/PresenterSlideShowView.cxx	(revision 269951)
@@ -162,7 +162,17 @@
     // Add the new slide show view to the slide show.
     if (mxSlideShow.is() && ! mbIsViewAdded)
     {
-        mxSlideShow->addView(this);
+        Reference<presentation::XSlideShowView> xView (this);
+        mxSlideShow->addView(xView);
+        // Prevent embeded sounds being played twice at the same time by
+        // disabling sound for the new slide show view.
+        beans::PropertyValue aProperty;
+        aProperty.Name = A2S("IsSoundEnabled");
+        Sequence<Any> aValues (2);
+        aValues[0] <<= xView;
+        aValues[1] <<= sal_False;
+        aProperty.Value <<= aValues;
+        mxSlideShow->setProperty(aProperty);
         mbIsViewAdded = true;
     }
 

openoffice.org-3.1.0.ooo100991.pyuno-fix.patch:

Index: openoffice.org-3.1.0.ooo100991.pyuno-fix.patch
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-11/openoffice.org-3.1.0.ooo100991.pyuno-fix.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- openoffice.org-3.1.0.ooo100991.pyuno-fix.patch	16 Apr 2009 08:42:14 -0000	1.2
+++ openoffice.org-3.1.0.ooo100991.pyuno-fix.patch	19 Apr 2009 21:59:45 -0000	1.3
@@ -1,19 +1,12 @@
 --- openoffice.org.orig/scripting/source/pyprov/pythonscript.py	2009-04-08 15:08:52.000000000 +0100
 +++ openoffice.org/scripting/source/pyprov/pythonscript.py	2009-04-08 15:08:56.000000000 +0100
-@@ -5,6 +5,7 @@
- import os
- import imp
- import time
-+import platform
- 
- class LogLevel:
-     NONE = 0
-@@ -126,7 +127,67 @@
+@@ -126,7 +126,68 @@
             break
      return code.value
      
 +def toIniName( str ):
-+    if( platform.system() == "Windows" ):
++    # TODO: what is the official way to get to know whether i am on the windows platform ?
++    if( hasattr(sys , "dllhandle") ):
 +        return str + ".ini"
 +    return str + "rc"
 +


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-11/openoffice.org.spec,v
retrieving revision 1.1884
retrieving revision 1.1885
diff -u -r1.1884 -r1.1885
--- openoffice.org.spec	18 Apr 2009 14:51:49 -0000	1.1884
+++ openoffice.org.spec	19 Apr 2009 21:59:45 -0000	1.1885
@@ -138,6 +138,7 @@
 Patch63: openoffice.org-3.1.0.ooo101145.vcl.safe.dpi.patch
 Patch64: openoffice.org-3.1.0.ooo101152.solenv.kn.patch
 Patch65: openoffice.org-3.1.0.ooo101184.vcl.dynamic.monitors.patch
+Patch66: workspace.slideshow1.patch
 
 %define python_py_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(0)")
 %define instdir %{_libdir}
@@ -1634,6 +1635,7 @@
 %patch63 -p1 -b .ooo101145.vcl.safe.dpi.patch
 %patch64 -p1 -b .ooo101152.solenv.kn.patch
 %patch65 -p0 -b .ooo101184.vcl.dynamic.monitors.patch
+%patch66 -p2 -b .workspace.slideshow1.patch
 
 %build
 echo build start time is `date`, diskspace: `df -h . | tail -n 1`
@@ -4127,8 +4129,9 @@
     unopkg list --shared > /dev/null 2>&1 || :
 
 %changelog
-* Sat Apr 18 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.1.0-10.2
+* Sun Apr 19 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.1.0-10.2
 - Resolves: rhbz#496280 ooo#101184 dynamically detect multiple monitors
+- Resolves: rhbz#496276 ooo#98806 disable audio in presenter screen
 
 * Fri Apr 17 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.1.0-10.1
 - closing in on final




More information about the scm-commits mailing list