summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2013-12-18 11:12:46 -0800
committerMerov Linden <merov@lindenlab.com>2013-12-18 11:12:46 -0800
commitbe80b11d3063cc1b394ed604901418ba421cd86c (patch)
tree629e196842cee05af4d67b27fcb2b4892acd1e6a /indra/newview
parent798d62a467035e255ef172e0be1f707ba15f5d04 (diff)
Fix FFLOAD_ALL issue in file picker, add FFLOAD_EXE to fix exe picking on Mac Cocoa
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/llfilepicker.cpp11
-rwxr-xr-xindra/newview/llfilepicker.h3
-rwxr-xr-xindra/newview/llfloateruipreview.cpp7
-rwxr-xr-xindra/newview/llviewermenufile.cpp3
4 files changed, 15 insertions, 9 deletions
diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp
index 16eacc9392..f921dace84 100755
--- a/indra/newview/llfilepicker.cpp
+++ b/indra/newview/llfilepicker.cpp
@@ -167,7 +167,8 @@ BOOL LLFilePicker::setupFilter(ELoadFilter filter)
BOOL res = TRUE;
switch (filter)
{
- case FFLOAD_ALL:
+ case FFLOAD_ALL:
+ case FFLOAD_EXE:
mOFN.lpstrFilter = L"All Files (*.*)\0*.*\0" \
SOUND_FILTER \
IMAGE_FILTER \
@@ -579,6 +580,10 @@ std::vector<std::string>* LLFilePicker::navOpenFilterProc(ELoadFilter filter) //
allowedv->push_back("tpic");
allowedv->push_back("png");
break;
+ case FFLOAD_EXE:
+ allowedv->push_back("app");
+ allowedv->push_back("exe");
+ break;
case FFLOAD_WAV:
allowedv->push_back("wav");
break;
@@ -777,9 +782,9 @@ BOOL LLFilePicker::getOpenFile(ELoadFilter filter, bool blocking)
mPickOptions &= ~F_FILE;
}
- if(filter == FFLOAD_ALL) // allow application bundles etc. to be traversed; important for DEV-16869, but generally useful
+ if (filter == FFLOAD_ALL) // allow application bundles etc. to be traversed; important for DEV-16869, but generally useful
{
- mPickOptions &= F_NAV_SUPPORT;
+ mPickOptions |= F_NAV_SUPPORT;
}
if (blocking)
diff --git a/indra/newview/llfilepicker.h b/indra/newview/llfilepicker.h
index f0f82c51db..0b89e2716c 100755
--- a/indra/newview/llfilepicker.h
+++ b/indra/newview/llfilepicker.h
@@ -86,7 +86,8 @@ public:
FFLOAD_COLLADA = 10,
FFLOAD_SCRIPT = 11,
FFLOAD_DICTIONARY = 12,
- FFLOAD_DIRECTORY = 13 //To call from lldirpicker.
+ FFLOAD_DIRECTORY = 13, // To call from lldirpicker.
+ FFLOAD_EXE = 14 // Note: EXE will be treated as ALL on Windows and Linux but not on Darwin
};
enum ESaveFilter
diff --git a/indra/newview/llfloateruipreview.cpp b/indra/newview/llfloateruipreview.cpp
index 0106a1615d..44649e6ca8 100755
--- a/indra/newview/llfloateruipreview.cpp
+++ b/indra/newview/llfloateruipreview.cpp
@@ -1020,12 +1020,11 @@ void LLFloaterUIPreview::onClickEditFloater()
// Respond to button click to browse for an executable with which to edit XML files
void LLFloaterUIPreview::onClickBrowseForEditor()
{
- // create load dialog box
- LLFilePicker::ELoadFilter type = (LLFilePicker::ELoadFilter)((intptr_t)((void*)LLFilePicker::FFLOAD_ALL)); // nothing for *.exe so just use all
+ // Let the user choose an executable through the file picker dialog box
LLFilePicker& picker = LLFilePicker::instance();
- if (!picker.getOpenFile(type)) // user cancelled -- do nothing
+ if (!picker.getOpenFile(LLFilePicker::FFLOAD_EXE))
{
- return;
+ return; // user cancelled -- do nothing
}
// put the selected path into text field
diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp
index be78603e2d..a17dd953ad 100755
--- a/indra/newview/llviewermenufile.cpp
+++ b/indra/newview/llviewermenufile.cpp
@@ -215,7 +215,8 @@ std::string build_extensions_string(LLFilePicker::ELoadFilter filter)
#endif
case LLFilePicker::FFLOAD_XML:
return XML_EXTENSIONS;
- case LLFilePicker::FFLOAD_ALL:
+ case LLFilePicker::FFLOAD_ALL:
+ case LLFilePicker::FFLOAD_EXE:
return ALL_FILE_EXTENSIONS;
#endif
default: