00001 00033 #ifndef LL_LLFLOATERVOICEDEVICESETTINGS_H 00034 #define LL_LLFLOATERVOICEDEVICESETTINGS_H 00035 00036 #include "llfloater.h" 00037 00038 class LLPrefsVoiceLogic; 00039 00040 class LLPanelVoiceDeviceSettings : public LLPanel 00041 { 00042 public: 00043 LLPanelVoiceDeviceSettings(); 00044 ~LLPanelVoiceDeviceSettings(); 00045 00046 /*virtual*/ void draw(); 00047 /*virtual*/ BOOL postBuild(); 00048 void apply(); 00049 void cancel(); 00050 void refresh(); 00051 void onOpen(); 00052 void onClose(bool app_quitting); 00053 00054 protected: 00055 static void onCommitInputDevice(LLUICtrl* ctrl, void* user_data); 00056 static void onCommitOutputDevice(LLUICtrl* ctrl, void* user_data); 00057 00058 F32 mMicVolume; 00059 std::string mInputDevice; 00060 std::string mOutputDevice; 00061 class LLComboBox *mCtrlInputDevices; 00062 class LLComboBox *mCtrlOutputDevices; 00063 BOOL mDevicesUpdated; 00064 }; 00065 00066 class LLFloaterVoiceDeviceSettings : public LLFloater, public LLFloaterSingleton<LLFloaterVoiceDeviceSettings> 00067 { 00068 public: 00069 LLFloaterVoiceDeviceSettings(const LLSD& seed); 00070 /*virtual*/ void onOpen(); 00071 /*virtual*/ void onClose(bool app_quitting); 00072 /*virtual*/ void draw(); 00073 void apply(); 00074 void cancel(); 00075 00076 protected: 00077 static void* createPanelVoiceDeviceSettings(void* user_data); 00078 00079 LLPanelVoiceDeviceSettings* mDevicePanel; 00080 }; 00081 00082 #endif // LL_LLFLOATERVOICEDEVICESETTINGS_H