OS X build fixes
This commit is contained in:
@@ -63,12 +63,21 @@ else (WINDOWS)
|
||||
set(WINDOWS_API_LIBRARIES "")
|
||||
endif (WINDOWS)
|
||||
|
||||
if (DARWIN)
|
||||
include(CMakeFindFrameworks)
|
||||
find_library(APPKIT_LIBRARY AppKit)
|
||||
find_library(CARBON_LIBRARY Carbon)
|
||||
find_library(IOKIT_LIBRARY IOKit)
|
||||
set(OSX_FILE_LIBRARIES ${APPKIT_LIBRARY} ${CARBON_LIBRARY} ${IOKIT_LIBRARY})
|
||||
endif (DARWIN)
|
||||
|
||||
target_link_libraries(basic_plugin_filepicker
|
||||
${LLPLUGIN_LIBRARIES}
|
||||
${LLCOMMON_LIBRARIES}
|
||||
${BASIC_PLUGIN_BASE_LIBRARIES}
|
||||
${UI_LIBRARIES}
|
||||
${WINDOWS_API_LIBRARIES}
|
||||
${OSX_FILE_LIBRARIES}
|
||||
)
|
||||
|
||||
add_dependencies(basic_plugin_filepicker
|
||||
|
||||
@@ -189,16 +189,12 @@ OSStatus LLDirPicker::doNavChooseDialog()
|
||||
|
||||
error = NavCreateChooseFolderDialog(&mNavOptions, &doNavCallbackEvent, NULL, NULL, &navRef);
|
||||
|
||||
gViewerWindow->mWindow->beforeDialog();
|
||||
|
||||
if (error == noErr)
|
||||
{
|
||||
PLS_FLUSH;
|
||||
error = NavDialogRun(navRef);
|
||||
}
|
||||
|
||||
gViewerWindow->mWindow->afterDialog();
|
||||
|
||||
if (error == noErr)
|
||||
error = NavDialogGetReply(navRef, &navReply);
|
||||
|
||||
@@ -232,7 +228,7 @@ BOOL LLDirPicker::getDir(std::string const& folder)
|
||||
BOOL success = FALSE;
|
||||
OSStatus error = noErr;
|
||||
|
||||
mFileName = folder;
|
||||
mFileName = const_cast<std::string*>(&folder);
|
||||
|
||||
// mNavOptions.saveFileName
|
||||
|
||||
|
||||
@@ -761,7 +761,7 @@ Boolean LLFilePickerBase::navOpenFilterProc(AEDesc *theItem, void *info, void *c
|
||||
}
|
||||
else if (filter == FFLOAD_XML)
|
||||
{
|
||||
if (fileInfo.filetype != 'XML' &&
|
||||
if (fileInfo.filetype != 'XML ' &&
|
||||
(fileInfo.extension && (CFStringCompare(fileInfo.extension, CFSTR("xml"), kCFCompareCaseInsensitive) != kCFCompareEqualTo))
|
||||
)
|
||||
{
|
||||
@@ -785,7 +785,7 @@ Boolean LLFilePickerBase::navOpenFilterProc(AEDesc *theItem, void *info, void *c
|
||||
}
|
||||
else if (filter == FFLOAD_RAW)
|
||||
{
|
||||
if (fileInfo.filetype != L'\?\?\?\?' &&
|
||||
if (fileInfo.filetype != '\?\?\?\?' &&
|
||||
(fileInfo.extension && (CFStringCompare(fileInfo.extension, CFSTR("raw"), kCFCompareCaseInsensitive) != kCFCompareEqualTo))
|
||||
)
|
||||
{
|
||||
@@ -952,14 +952,14 @@ OSStatus LLFilePickerBase::doNavSaveDialog(ESaveFilter filter, std::string const
|
||||
extension = CFSTR(".png");
|
||||
break;
|
||||
case FFSAVE_AVI:
|
||||
type = L'\?\?\?\?';
|
||||
creator = L'\?\?\?\?';
|
||||
type = '\?\?\?\?';
|
||||
creator = '\?\?\?\?';
|
||||
extension = CFSTR(".mov");
|
||||
break;
|
||||
|
||||
case FFSAVE_ANIM:
|
||||
type = L'\?\?\?\?';
|
||||
creator = L'\?\?\?\?';
|
||||
type = '\?\?\?\?';
|
||||
creator = '\?\?\?\?';
|
||||
extension = CFSTR(".xaf");
|
||||
break;
|
||||
|
||||
@@ -971,26 +971,26 @@ OSStatus LLFilePickerBase::doNavSaveDialog(ESaveFilter filter, std::string const
|
||||
break;
|
||||
#endif
|
||||
case FFSAVE_RAW:
|
||||
type = L'\?\?\?\?';
|
||||
creator = L'\?\?\?\?';
|
||||
type = '\?\?\?\?';
|
||||
creator = '\?\?\?\?';
|
||||
extension = CFSTR(".raw");
|
||||
break;
|
||||
|
||||
case FFSAVE_J2C:
|
||||
type = L'\?\?\?\?';
|
||||
type = '\?\?\?\?';
|
||||
creator = 'prvw';
|
||||
extension = CFSTR(".j2c");
|
||||
break;
|
||||
|
||||
case FFSAVE_ALL:
|
||||
default:
|
||||
type = L'\?\?\?\?';
|
||||
creator = L'\?\?\?\?';
|
||||
type = '\?\?\?\?';
|
||||
creator = '\?\?\?\?';
|
||||
extension = CFSTR("");
|
||||
break;
|
||||
}
|
||||
|
||||
NavEventUPP eventUPP = NewNavEventUPP(navSetDefaultFolderProc);
|
||||
NavEventUPP eventUPP = NewNavEventUPP(NULL); //TODO: test filepicker
|
||||
mFolder = folder;
|
||||
|
||||
// Create the dialog
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
#ifndef LL_LLFILEPICKER_H
|
||||
#define LL_LLFILEPICKER_H
|
||||
|
||||
#include "basic_plugin_base.h" // For PLS_INFOS etc.
|
||||
#include "legacy.h"
|
||||
#include <vector>
|
||||
|
||||
@@ -163,10 +164,10 @@ private:
|
||||
#if LL_DARWIN
|
||||
NavDialogCreationOptions mNavOptions;
|
||||
|
||||
OSStatus doNavChooseDialog(ELoadFilter filter);
|
||||
OSStatus doNavSaveDialog(ESaveFilter filter, const std::string& filename);
|
||||
OSStatus doNavChooseDialog(ELoadFilter filter, const std::string& folder);
|
||||
OSStatus doNavSaveDialog(ESaveFilter filter, const std::string& filename, const std::string& folder);
|
||||
static Boolean navOpenFilterProc(AEDesc *theItem, void *info, void *callBackUD, NavFilterModes filterMode);
|
||||
static pascal void LLFilePickerBase::doNavCallbackEvent(NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, void* callBackUD);
|
||||
static pascal void doNavCallbackEvent(NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, void* callBackUD);
|
||||
ELoadFilter getLoadFilter(void) const { return mLoadFilter; }
|
||||
std::string const& getFolder(void) const { return mFolder; }
|
||||
#endif // LL_DARWIN
|
||||
@@ -189,6 +190,7 @@ public:
|
||||
|
||||
#endif // LL_GTK
|
||||
#if !LL_WINDOWS && !(LL_GTK && LL_X11)
|
||||
public:
|
||||
void setWindowID(unsigned long window_id) { PLS_WARNS << "Calling unimplemented LLFilePickerBase::setWindowID" << PLS_ENDL; }
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user