00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef DIALOGS_HPP
00026 #define DIALOGS_HPP
00027
00028 #include "skin_common.hpp"
00029 #include <string>
00030
00031
00032
00033 class Dialogs: public SkinObject
00034 {
00035 public:
00037 static Dialogs *instance( intf_thread_t *pIntf );
00038
00040 static void destroy( intf_thread_t *pIntf );
00041
00043 void showChangeSkin();
00044
00046 void showPlaylistLoad();
00047
00049 void showPlaylistSave();
00050
00054 void showFileSimple( bool play );
00055
00059 void showFile( bool play );
00060
00064 void showDirectory( bool play );
00065
00069 void showDisc( bool play );
00070
00074 void showNet( bool play );
00075
00077 void showMessages();
00078
00080 void showPrefs();
00081
00083 void showFileInfo();
00084
00086 void showStreamingWizard();
00087
00089 void showPopupMenu( bool bShow );
00090
00091 private:
00092
00093 Dialogs( intf_thread_t *pIntf );
00094 ~Dialogs();
00095
00097 typedef void DlgCallback( intf_dialog_args_t *pArg );
00098
00100 typedef enum
00101 {
00102 kOPEN = 0x01,
00103 kSAVE = 0x02,
00104 kMULTIPLE = 0x04
00105 } flags_t;
00106
00108 bool init();
00109
00114 void showFileGeneric( const string &rTitle, const string &rExtensions,
00115 DlgCallback callback, int flags );
00116
00118 static void showChangeSkinCB( intf_dialog_args_t *pArg );
00119
00121 static void showPlaylistLoadCB( intf_dialog_args_t *pArg );
00122
00124 static void showPlaylistSaveCB( intf_dialog_args_t *pArg );
00125
00127 intf_thread_t *m_pProvider;
00128 module_t *m_pModule;
00129 };
00130
00131
00132 #endif