From 0ee86c8d2f9cd46d087f75139fe77f490a956f4f Mon Sep 17 00:00:00 2001 From: Alex Wilson Date: Fri, 7 Jan 2011 02:02:44 +0000 Subject: [PATCH] In Media preflet, use BAlert to inform users that real-time audio/video is not supported (as per MediaRoster.cpp:3061). This fixes ticket #6012. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40139 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/preferences/media/MediaViews.cpp | 23 +++++++++++++++++++++++ src/preferences/media/MediaViews.h | 5 +++++ 2 files changed, 28 insertions(+) diff --git a/src/preferences/media/MediaViews.cpp b/src/preferences/media/MediaViews.cpp index c1a3957cab..3bf5c401f8 100644 --- a/src/preferences/media/MediaViews.cpp +++ b/src/preferences/media/MediaViews.cpp @@ -14,6 +14,7 @@ // ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ #include "MediaViews.h" +#include #include #include #include @@ -232,6 +233,12 @@ SettingsView::_MediaWindow() const void SettingsView::_FlipRealtimeFlag(uint32 mask) { + fRealtimeCheckBox->SetValue(B_CONTROL_OFF); + BAlert* alert = new BAlert("realtime alert", UnimplementedRealtimeError(), + B_TRANSLATE("OK"), NULL, NULL, B_WIDTH_AS_USUAL, B_WARNING_ALERT); + alert->Go(); + +#if 0 // TODO: error codes uint32 flags = 0; BMediaRoster* roster = BMediaRoster::Roster(); @@ -241,6 +248,7 @@ SettingsView::_FlipRealtimeFlag(uint32 mask) else flags |= mask; roster->SetRealtimeFlags(flags); +#endif } @@ -409,6 +417,13 @@ AudioSettingsView::AttachedToWindow() } +BString +AudioSettingsView::UnimplementedRealtimeError() +{ + return B_TRANSLATE("Real-time audio is currently unimplemented in Haiku."); +} + + void AudioSettingsView::MessageReceived(BMessage* message) { @@ -637,3 +652,11 @@ VideoSettingsView::SetDefaultOutput(const dormant_node_info* info) _MediaWindow()->UpdateOutputListItem(MediaListItem::VIDEO_TYPE, info); BMediaRoster::Roster()->SetVideoOutput(*info); } + + +BString +VideoSettingsView::UnimplementedRealtimeError() +{ + return B_TRANSLATE("Real-time video is currently unimplemented in Haiku."); +} + diff --git a/src/preferences/media/MediaViews.h b/src/preferences/media/MediaViews.h index f4f6422af4..27eeb05f33 100644 --- a/src/preferences/media/MediaViews.h +++ b/src/preferences/media/MediaViews.h @@ -26,6 +26,7 @@ class BButton; class BCheckBox; class BMenu; class BMenuField; +class BString; class BStringView; class MediaWindow; @@ -85,6 +86,7 @@ public: virtual void AttachedToWindow(); void RestartRequired(bool required); + virtual BString UnimplementedRealtimeError() = 0; protected: @@ -130,6 +132,8 @@ public: virtual void MessageReceived(BMessage* message); virtual void AttachedToWindow(); + virtual BString UnimplementedRealtimeError(); + private: BMenuField* _MakeChannelMenu(); BCheckBox* _MakeVolumeCheckBox(); @@ -153,6 +157,7 @@ public: virtual void SetDefaultInput(const dormant_node_info* info); virtual void SetDefaultOutput(const dormant_node_info* info); + virtual BString UnimplementedRealtimeError(); }; #endif