From 6df0b2d554277908eed9c44107336ff3f1460a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 30 Jul 2007 21:53:01 +0000 Subject: [PATCH] selecting the current default input or the current default output doesn't change the setting anymore, and doesn't ask to restart the media server git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21759 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/preferences/media/MediaViews.cpp | 20 ++++++++++++++++++++ src/preferences/media/MediaViews.h | 4 +++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/preferences/media/MediaViews.cpp b/src/preferences/media/MediaViews.cpp index 5b3a51d826..dd8f544879 100644 --- a/src/preferences/media/MediaViews.cpp +++ b/src/preferences/media/MediaViews.cpp @@ -231,6 +231,16 @@ SettingsItem::SettingsItem(dormant_node_info *info, BMessage *message, } + +status_t +SettingsItem::Invoke(BMessage *message) +{ + if (IsMarked()) + return B_OK; + return BMenuItem::Invoke(message); +} + + Settings2Item::Settings2Item(dormant_node_info *info, media_input *input, BMessage *message, char shortcut, uint32 modifiers) : BMenuItem(input->name, message, shortcut, modifiers), @@ -240,8 +250,18 @@ Settings2Item::Settings2Item(dormant_node_info *info, media_input *input, BMessa } + Settings2Item::~Settings2Item() { delete fInput; } + +status_t +Settings2Item::Invoke(BMessage *message) +{ + if (IsMarked()) + return B_OK; + return BMenuItem::Invoke(message); +} + diff --git a/src/preferences/media/MediaViews.h b/src/preferences/media/MediaViews.h index b62c02dae6..cd2a006814 100644 --- a/src/preferences/media/MediaViews.h +++ b/src/preferences/media/MediaViews.h @@ -41,6 +41,7 @@ class SettingsItem : public BMenuItem SettingsItem(dormant_node_info *info, BMessage *message, char shortcut = 0, uint32 modifiers = 0); dormant_node_info *fInfo; + virtual status_t Invoke(BMessage *message = NULL); }; class Settings2Item : public BMenuItem @@ -48,7 +49,8 @@ class Settings2Item : public BMenuItem public: Settings2Item(dormant_node_info *info, media_input *input, BMessage *message, char shortcut = 0, uint32 modifiers = 0); - ~Settings2Item(); + virtual ~Settings2Item(); + virtual status_t Invoke(BMessage *message = NULL); dormant_node_info *fInfo; media_input *fInput; };