summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/Library_vcl.mk1
-rw-r--r--vcl/Package_inc.mk1
-rw-r--r--vcl/aqua/source/window/salframe.cxx7
-rw-r--r--vcl/headless/svpframe.cxx4
-rw-r--r--vcl/inc/aqua/salframe.h1
-rw-r--r--vcl/inc/headless/svpframe.hxx7
-rw-r--r--vcl/inc/salframe.hxx2
-rw-r--r--vcl/inc/unx/gtk/gtkframe.hxx2
-rw-r--r--vcl/inc/unx/saldisp.hxx2
-rw-r--r--vcl/inc/unx/salframe.h1
-rw-r--r--vcl/inc/vcl/sound.hxx39
-rw-r--r--vcl/inc/win/salframe.h1
-rw-r--r--vcl/source/app/sound.cxx40
-rw-r--r--vcl/unx/generic/app/saldisp.cxx6
-rw-r--r--vcl/unx/generic/window/salframe.cxx6
-rw-r--r--vcl/unx/gtk/window/gtkframe.cxx5
-rw-r--r--vcl/win/source/window/salframe.cxx8
17 files changed, 130 insertions, 3 deletions
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index a05e39bf0b42..8f12d2c0cd9f 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -117,6 +117,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\
vcl/source/app/session \
vcl/source/app/settings \
vcl/source/app/solarmutex \
+ vcl/source/app/sound \
vcl/source/app/stdtext \
vcl/source/app/svapp \
vcl/source/app/svdata \
diff --git a/vcl/Package_inc.mk b/vcl/Package_inc.mk
index 53a7326279b1..48d996d443e2 100644
--- a/vcl/Package_inc.mk
+++ b/vcl/Package_inc.mk
@@ -126,6 +126,7 @@ $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/seleng.hxx,vcl/seleng.hxx))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/settings.hxx,vcl/settings.hxx))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/slider.hxx,vcl/slider.hxx))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/solarmutex.hxx,vcl/solarmutex.hxx))
+$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/sound.hxx,vcl/sound.hxx))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/spinfld.hxx,vcl/spinfld.hxx))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/spin.h,vcl/spin.h))
$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/spin.hxx,vcl/spin.hxx))
diff --git a/vcl/aqua/source/window/salframe.cxx b/vcl/aqua/source/window/salframe.cxx
index d2e616c920da..12cbb916fefc 100644
--- a/vcl/aqua/source/window/salframe.cxx
+++ b/vcl/aqua/source/window/salframe.cxx
@@ -1339,6 +1339,13 @@ const SystemEnvData* AquaSalFrame::GetSystemData() const
// -----------------------------------------------------------------------
+void AquaSalFrame::Beep()
+{
+ NSBeep();
+}
+
+// -----------------------------------------------------------------------
+
void AquaSalFrame::SetPosSize(long nX, long nY, long nWidth, long nHeight, sal_uInt16 nFlags)
{
if ( !mpWindow )
diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx
index 0d4e4660f197..5827d51c88a1 100644
--- a/vcl/headless/svpframe.cxx
+++ b/vcl/headless/svpframe.cxx
@@ -419,6 +419,10 @@ void SvpSalFrame::UpdateSettings( AllSettings& )
{
}
+void SvpSalFrame::Beep()
+{
+}
+
const SystemEnvData* SvpSalFrame::GetSystemData() const
{
return &m_aSystemChildData;
diff --git a/vcl/inc/aqua/salframe.h b/vcl/inc/aqua/salframe.h
index e6dcde37cf75..39d9496a9fe0 100644
--- a/vcl/inc/aqua/salframe.h
+++ b/vcl/inc/aqua/salframe.h
@@ -138,6 +138,7 @@ public:
virtual sal_Bool MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode );
virtual LanguageType GetInputLanguage();
virtual void UpdateSettings( AllSettings& rSettings );
+ virtual void Beep();
virtual const SystemEnvData* GetSystemData() const;
virtual SalPointerState GetPointerState();
virtual SalIndicatorState GetIndicatorState();
diff --git a/vcl/inc/headless/svpframe.hxx b/vcl/inc/headless/svpframe.hxx
index c48d602176b5..887e182deda4 100644
--- a/vcl/inc/headless/svpframe.hxx
+++ b/vcl/inc/headless/svpframe.hxx
@@ -102,11 +102,12 @@ public:
virtual void Sync();
virtual void SetInputContext( SalInputContext* pContext );
virtual void EndExtTextInput( sal_uInt16 nFlags );
- virtual rtl::OUString GetKeyName( sal_uInt16 nKeyCode );
- virtual sal_Bool MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode );
+ virtual rtl::OUString GetKeyName( sal_uInt16 nKeyCode );
+ virtual sal_Bool MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode );
virtual LanguageType GetInputLanguage();
virtual void UpdateSettings( AllSettings& rSettings );
- virtual const SystemEnvData* GetSystemData() const;
+ virtual void Beep();
+ virtual const SystemEnvData* GetSystemData() const;
virtual SalPointerState GetPointerState();
virtual SalIndicatorState GetIndicatorState();
virtual void SimulateKeyPress( sal_uInt16 nKeyCode );
diff --git a/vcl/inc/salframe.hxx b/vcl/inc/salframe.hxx
index 63096e0e2a40..afc84203f82b 100644
--- a/vcl/inc/salframe.hxx
+++ b/vcl/inc/salframe.hxx
@@ -205,6 +205,8 @@ public:
virtual void UpdateSettings( AllSettings& rSettings ) = 0;
+ virtual void Beep() = 0;
+
// returns system data (most prominent: window handle)
virtual const SystemEnvData* GetSystemData() const = 0;
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx
index a33a5584eb7a..45bee2d07b87 100644
--- a/vcl/inc/unx/gtk/gtkframe.hxx
+++ b/vcl/inc/unx/gtk/gtkframe.hxx
@@ -402,6 +402,8 @@ public:
virtual void UpdateSettings( AllSettings& rSettings );
+ virtual void Beep();
+
// returns system data (most prominent: window handle)
virtual const SystemEnvData* GetSystemData() const;
diff --git a/vcl/inc/unx/saldisp.hxx b/vcl/inc/unx/saldisp.hxx
index d5e62409b664..711c735f9c8f 100644
--- a/vcl/inc/unx/saldisp.hxx
+++ b/vcl/inc/unx/saldisp.hxx
@@ -316,6 +316,8 @@ public:
void DbgPrintDisplayEvent(const char *pComment, XEvent *pEvent) const;
#endif
+ void Beep() const;
+
void ModifierMapping();
void SimulateKeyPress( sal_uInt16 nKeyCode );
sal_uInt16 GetIndicatorState() const;
diff --git a/vcl/inc/unx/salframe.h b/vcl/inc/unx/salframe.h
index c6a8cc30d100..75a37c12ed82 100644
--- a/vcl/inc/unx/salframe.h
+++ b/vcl/inc/unx/salframe.h
@@ -241,6 +241,7 @@ public:
virtual sal_Bool MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode );
virtual LanguageType GetInputLanguage();
virtual void UpdateSettings( AllSettings& rSettings );
+ virtual void Beep();
virtual const SystemEnvData* GetSystemData() const;
virtual SalPointerState GetPointerState();
virtual SalIndicatorState GetIndicatorState();
diff --git a/vcl/inc/vcl/sound.hxx b/vcl/inc/vcl/sound.hxx
new file mode 100644
index 000000000000..7be53a0944ee
--- /dev/null
+++ b/vcl/inc/vcl/sound.hxx
@@ -0,0 +1,39 @@
+/* -*- 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 the MPL was not distributed with this
+ * 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
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef _SV_SOUND_HXX
+#define _SV_SOUND_HXX
+
+#include <vcl/dllapi.h>
+
+class Window;
+
+// ---------
+// - Sound -
+// ---------
+
+class VCL_DLLPUBLIC Sound
+{
+public:
+ static void Beep( Window* pWindow = NULL );
+};
+
+#endif // _SV_SOUND_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/win/salframe.h b/vcl/inc/win/salframe.h
index 54e10bd59d5b..2a622195f37d 100644
--- a/vcl/inc/win/salframe.h
+++ b/vcl/inc/win/salframe.h
@@ -121,6 +121,7 @@ public:
virtual sal_Bool MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode );
virtual LanguageType GetInputLanguage();
virtual void UpdateSettings( AllSettings& rSettings );
+ virtual void Beep();
virtual const SystemEnvData* GetSystemData() const;
virtual SalPointerState GetPointerState();
virtual SalIndicatorState GetIndicatorState();
diff --git a/vcl/source/app/sound.cxx b/vcl/source/app/sound.cxx
new file mode 100644
index 000000000000..308f37f8c57f
--- /dev/null
+++ b/vcl/source/app/sound.cxx
@@ -0,0 +1,40 @@
+/* -*- 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 the MPL was not distributed with this
+ * 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
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+#include <vcl/svapp.hxx>
+#include <vcl/window.hxx>
+#include <vcl/sound.hxx>
+
+#include <salframe.hxx>
+#include <svdata.hxx>
+
+void Sound::Beep( Window* pWindow )
+{
+ // #i91990#
+ if ( Application::IsHeadlessModeEnabled() )
+ return;
+
+ if ( !pWindow )
+ pWindow = ImplGetDefaultWindow();
+
+ pWindow->ImplGetFrame()->Beep();
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/generic/app/saldisp.cxx b/vcl/unx/generic/app/saldisp.cxx
index 725bd19f1d9f..c6719da4fb24 100644
--- a/vcl/unx/generic/app/saldisp.cxx
+++ b/vcl/unx/generic/app/saldisp.cxx
@@ -664,6 +664,12 @@ void SalX11Display::SetupInput( SalI18N_InputMethod *pInputMethod )
SetKbdExtension( pKbdExtension );
}
+// Sound
+void SalDisplay::Beep() const
+{
+ XBell( pDisp_, 100 );
+}
+
// Keyboard
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
diff --git a/vcl/unx/generic/window/salframe.cxx b/vcl/unx/generic/window/salframe.cxx
index 67ce56e08992..455c57a797b2 100644
--- a/vcl/unx/generic/window/salframe.cxx
+++ b/vcl/unx/generic/window/salframe.cxx
@@ -2586,6 +2586,12 @@ bool X11SalFrame::SetPluginParent( SystemParentData* pNewParent )
return true;
}
+// Sound
+void X11SalFrame::Beep()
+{
+ GetDisplay()->Beep();
+}
+
// Event Handling
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
static sal_uInt16 sal_GetCode( int state )
diff --git a/vcl/unx/gtk/window/gtkframe.cxx b/vcl/unx/gtk/window/gtkframe.cxx
index 398ece4c300a..03f8c59fcad1 100644
--- a/vcl/unx/gtk/window/gtkframe.cxx
+++ b/vcl/unx/gtk/window/gtkframe.cxx
@@ -2673,6 +2673,11 @@ void GtkSalFrame::UpdateSettings( AllSettings& rSettings )
ReleaseGraphics( pGraphics );
}
+void GtkSalFrame::Beep()
+{
+ gdk_display_beep( getGdkDisplay() );
+}
+
const SystemEnvData* GtkSalFrame::GetSystemData() const
{
return &m_aSystemData;
diff --git a/vcl/win/source/window/salframe.cxx b/vcl/win/source/window/salframe.cxx
index 411d87a10943..1138ebde6734 100644
--- a/vcl/win/source/window/salframe.cxx
+++ b/vcl/win/source/window/salframe.cxx
@@ -2955,6 +2955,14 @@ const SystemEnvData* WinSalFrame::GetSystemData() const
// -----------------------------------------------------------------------
+void WinSalFrame::Beep()
+{
+ // a simple beep
+ MessageBeep( 0 );
+}
+
+// -----------------------------------------------------------------------
+
SalFrame::SalPointerState WinSalFrame::GetPointerState()
{
SalPointerState aState;