From 420b91db29485df39fd6e724e782c449158811cb Mon Sep 17 00:00:00 2001 From: James Cook Date: Tue, 2 Jan 2007 08:33:20 +0000 Subject: Print done when done. --- indra/newview/lldirpicker.h | 84 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 indra/newview/lldirpicker.h (limited to 'indra/newview/lldirpicker.h') diff --git a/indra/newview/lldirpicker.h b/indra/newview/lldirpicker.h new file mode 100644 index 0000000000..70e124f6c4 --- /dev/null +++ b/indra/newview/lldirpicker.h @@ -0,0 +1,84 @@ +/** + * @dir lldirpicker.h + * @brief OS-specific dir picker + * + * Copyright (c) 2001-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +// OS specific dir selection dialog. This is implemented as a +// singleton class, so call the instance() method to get the working +// instance. + +#ifndef LL_LLDIRPICKER_H +#define LL_LLDIRPICKER_H + +#include "stdtypes.h" + +#if LL_DARWIN +#include + +// AssertMacros.h does bad things. +#undef verify +#undef check +#undef require + +#include +#include "llstring.h" + +#endif + +// Need commdlg.h for OPENDIRNAMEA +#ifdef LL_WINDOWS +#include +#endif + +class LLDirPicker +{ +public: + // calling this before main() is undefined + static LLDirPicker& instance( void ) { return sInstance; } + + BOOL getDir(LLString* filename); + LLString getDirName(); + + // clear any lists of buffers or whatever, and make sure the dir + // picker isn't locked. + void reset(); + +private: + enum + { + SINGLE_DIRNAME_BUFFER_SIZE = 1024, + //DIRNAME_BUFFER_SIZE = 65536 + DIRNAME_BUFFER_SIZE = 65000 + }; + + void buildDirname( void ); + +#if LL_WINDOWS +//FIXME +#endif + +#if LL_DARWIN + NavDialogCreationOptions mNavOptions; + static pascal void doNavCallbackEvent(NavEventCallbackMessage callBackSelector, + NavCBRecPtr callBackParms, void* callBackUD); + OSStatus doNavChooseDialog(); + +#endif + + char mDirs[DIRNAME_BUFFER_SIZE]; + LLString* mFileName; + LLString mDir; + BOOL mLocked; + + static LLDirPicker sInstance; + +public: + // don't call these directly please. + LLDirPicker(); + ~LLDirPicker(); +}; + +#endif -- cgit v1.2.3