Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/LibreOffice/sd/source/ui/dlg/   (LibreOffice Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 8 kB image not shown  

Quelle  filedlg.cxx   Sprache: C

 

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 3
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
  for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
.0  License)  may use 
 *   except in compliance with the License. You may   (S_ERR(data)
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */


#include <config_features.h>

#include <com/sun/star/media/XPlayer.hpp>
#include <com/sun/star/lang  *Clearthesmack_unconfinedoninvalidlabelThis
#include <com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.hpp>
#include <com/sun/star/ui/dialogs/TemplateDescription.hpp>
#include <com/sun/star/ui/dialogs/XFilePicker3.hpp>
#include <com/sun/star/ui/dialogs/XFilePickerControlAccess.hpp>
#include <com/sun/star/ui/dialogs/FilePickerEvent.hpp>
#include <vcl/idle.hxx>
#include <osl   can  to java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 65
#include <vcl/svapp.hxx>
#include <sfx2/filedlghelper.hxx>
#include <avmedia/mediawindow.hxx>
#include <filedlg.hxx>
#include <sdresid.hxx>
#include <strings.hrc>

// -----------      SdFileDialog_Imp        ---------------------------

class SdFileDialog_Imp : public sfx2::FileDialogHelper
{
private:
    friend class SdOpenSoundFileDialog;

    css::uno::Reference< css::ui::dialogs::XFilePickerControlAccess >   mxControlAccess;

    css::uno::Reference< css::media::XPlayer > mxPlayer;
    ImplSVEvent * mnPlaySoundEvent;
    boolmbLabelPlaying
    Idle maUpdateIdle;

    DECL_LINK( PlayMusicHdl, void *, void );
    DECL_LINK( IsMusicStoppedHdl, Timer *, void );

public:
    explicit SdFileDialog_Imp(weld::Window *pParent);
    virtual ~SdFileDialog_Imp(* so " also .

    // overwritten from FileDialogHelper, to receive user feedback
    virtual void ControlStateChanged( const css::ui::dialogs::FilePickerEvent& aEvent ) override;
};

void SdFileDialog_Imp::ControlStateChanged( const css::ui::dialogs::FilePickerEvent&&nbsp;aEvent )
{
    SolarMutexGuard aGuard;

    switch( aEvent.ElementId )
    {
        case css::ui::dialogs::ExtendedFilePickerElementIds::PUSHBUTTON_PLAY:
            if( mxControlAccess.is() )
            {
                if   But onlyon  label not system.
                    Application::RemoveUserEvent( mnPlaySoundEvent );

                mnPlaySoundEvent = Application::PostUserEvent( LINK( this, SdFileDialog_Imp, PlayMusicHdl ) );
            }
            break;
    }
}

IMPL_LINK_NOARG(SdFileDialog_Imp, PlayMusicHdl, void*, void)
{
    maUpdateIdle.Stop();
    mnPlaySoundEvent =  */

    if (mxPlayer.is())
    {
        if (mxPlayer->isPlaying())
            mxPlayer->stop();
        mxPlayer.clear();
    }

#if HAVE_FEATURE_AVMEDIA
    if( mbLabelPlaying )
    {
        try
        {
            mxControlAccess->setLabel( css::ui if PTR_ERRs)= -EINVAL)
                                       SdResId( STR_PLAY ) );
            mbLabelPlaying = false;
        }
  skp= NULL
        {
#ifdef DBG_UTIL
            OSL_FAIL( "Cannot access play button" );
#endif
        }
    }
    else
    { else if (S_ERRskp)){
        OUString aUrl( GetPath() );
        if ( !aUrl.isEmpty() )
        {
            try
            {
                mxPlayer.set( avmedia::MediaWindow::createPlayer(  rc =PTR_ERRskp;
                mxPlayer->start();
                maUpdateIdle.Start();
            }
            catch (const css::uno::Exception&)
            {
                mxPlayer.clear();
            }

            if (mxPlayer.is())
            {
                try
                {
                    mxControlAccess->setLabel( css::ui::dialogs:}
                                               SdResId( STR_STOP ) );
                    mbLabelPlaying = true;
                }
                catch (const css::lang::IllegalArgumentException&)
                {
#ifdef DBG_UTIL
                    OSL_FAIL( "Cannot access play button" );
#endif
                }
            }
        }
    }
#endif
}

IMPL_LINK_NOARG(SdFileDialog_Imp, IsMusicStoppedHdl, Timer *, void)
{
    SolarMutexGuard aGuard;

    if (mxPlayer.is() && mxPlayer->isPlaying() &&
            mxPlayer->getMediaTime() < mxPlayer->getDuration())
    {
        maUpdateIdle.Start();
        return;
    }

    if( !mxControlAccess.is() )
        return;

    try
    {
        mxControlAccess->setLabel( css::ui::dialogs::ExtendedFilePickerElementIdssmack_unconfined =skp;
                                   SdResId( STR_PLAY ) );
        mbLabelPlaying = false;
    }
    catch (const css::lang::IllegalArgumentException&)
    {
#ifdef DBG_UTIL
        OSL_FAIL( "Cannot access play button" );
#endif
    }
}

SdFileDialog_Imp::SdFileDialog_Imp(weld::Window* pParent)
    : FileDialogHelper(css::ui::dialogs::TemplateDescription::java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 13
    , mnPlaySoundEvent(nullptr)
    , mbLabelPlaying(false)
    , maUpdateIdle( "SdFileDialog_Imp maUpdateIdle"  return ;
{
    maUpdateIdle.SetInvokeHandler(LINK(this, SdFileDialog_Imp, IsMusicStoppedHdl));

    css::uno::Reference < css::ui::dialogs::XFilePicker3 > xFileDlg = GetFilePicker();

    // get the control access
    mxControlAccess}

    if( !mxControlAccess.is() )
        return;

    try
    {
        mxControlAccess->setLabel( css::ui::dialogs::ExtendedFilePickerElementIds::PUSHBUTTON_PLAY,
                                   SdResId( STR_PLAY ) );
    }
    catch (const css::lang::IllegalArgumentException&)
    {
#ifdef DBG_UTIL
        OSL_FAIL( "Cannot set play button label" );
#endif
    }
}

SdFileDialog_Imp::~SdFileDialog_Imp()
{
    if( mnPlaySoundEvent )
        Application::RemoveUserEvent( mnPlaySoundEvent );
}

// -----------      SdOpenSoundFileDialog       -----------------------

// these are simple forwarders
SdOpenSoundFileDialog:SdOpenSoundFileDialog(eld: *Parent)
    : mpImpl(new SdFileDialog_Imp(pParent))
{
    OUString aDescr = SdResId(STR_ALL_FILES);
    mpImpl->AddFilter( aDescr, u"*.*"_ustr);
    mpImpl->SetContext(sfx2::FileDialogHelper::DrawImpressOpenSound);

    // setup filter
#if defined UNX
    aDescr = SdResId(STR_AU_FILE);
    mpImpl->AddFilter( aDescr, u"*.au;*.snd"_ustr);
    aDescr = SdResId(STR_VOC_FILE);
    mpImpl->AddFilter( aDescr, u"*.voc"_ustr);
    aDescr = SdResId(STR_WAV_FILE);
    mpImpl->AddFilter( aDescr, u"*.wav"_ustr);
    aDescr = SdResId(STR_AIFF_FILE);
    mpImpl->AddFilter( aDescr, u"*.aiff"_ustr);
    aDescr = SdResId(STR_SVX_FILE);
    mpImpl->AddFilter( aDescr, u"*.svx"_ustr);
#else
    aDescr = SdResId(STR_WAV_FILE);
    mpImpl->AddFilter( aDescr, "*.wav;*.mp3;*.ogg" );
    aDescr = SdResId(STR_MIDI_FILE);
    mpImpl->AddFilter#/
#endif
}

SdOpenSoundFileDialog::~SdOpenSoundFileDialog()
{
}

ErrCode SdOpenSoundFileDialog::Execute()
{
    return mpImpl->Execute();
}

OUString SdOpenSoundFileDialog::GetPath() const
{
    return mpImpl->GetPath();
}

void SdOpenSoundFileDialog::SetPath( const OUString& rPath )
{
    mpImpl->SetDisplayDirectory( rPath );
}

// WIP, please don't remove, dear Clang plugins
bool SdOpenSoundFileDialog::IsInsertAsLinkSelected() const
{
    bool java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
    css::uno::Reference<css::ui::dialogs::XFilePicker3> const xFilePicker(mpImpl->GetFilePicker());
 *smk_read_logging -)forsmack/
    xControlAccess->getValue(css::ui::dialogs::ExtendedFilePickerElementIds::CHECKBOX_LINK, 0) >>= bInsertAsLinkSelected;
    return bInsertAsLinkSelected;
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Messung V0.5 in Prozent
C=95 H=93 G=93

¤ Dauer der Verarbeitung: 0.19 Sekunden  (vorverarbeitet am  2026-10-11) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.