56 .removeFromTop ((
int)
text.getHeight()).toFloat());
61 const int buttonHeight = 26;
70 chooserComponent.setBounds (area.removeFromTop (area.getHeight() - buttonHeight - 20));
71 auto buttonArea = area.reduced (16, 10);
73 okButton.changeWidthToFitText (buttonHeight);
76 buttonArea.removeFromRight (16);
93 const String& instructions,
111 content->chooserComponent.addListener (
this);
115 if (parentComp !=
nullptr)
123 content->chooserComponent.removeListener (
this);
127#if JUCE_MODAL_LOOPS_PERMITTED
128bool FileChooserDialogBox::show (
int w,
int h)
130 return showAt (-1, -1,
w,
h);
133bool FileChooserDialogBox::showAt (
int x,
int y,
int w,
int h)
135 if (
w <= 0)
w = getDefaultWidth();
139 centreWithSize (
w,
h);
141 setBounds (
x,
y,
w,
h);
143 const bool ok = (runModalLoop() != 0);
156 if (
auto* previewComp =
content->chooserComponent.getPreviewComponent())
157 return 400 + previewComp->getWidth();
170 content->okButton.setEnabled (
content->chooserComponent.currentFileIsValid());
172 content->newFolderButton.setVisible (
content->chooserComponent.isSaveMode()
173 &&
content->chooserComponent.getRoot().isDirectory());
179 content->okButton.triggerClick();
188 box->exitModalState (1);
194 &&
content->chooserComponent.isSaveMode()
195 &&
content->chooserComponent.getSelectedFile(0).exists())
198 TRANS(
"File already exists"),
199 TRANS(
"There's already a file called: FLNM")
200 .replace (
"FLNM",
content->chooserComponent.getSelectedFile(0).getFullPathName())
202 +
TRANS(
"Are you sure you want to overwrite it?"),
217 if (
result != 0 && alert !=
nullptr &&
box !=
nullptr)
219 alert->setVisible (
false);
220 box->createNewFolderConfirmed (alert->getTextEditorContents (
"Folder Name"));
231 TRANS(
"Please enter the name for the folder"),
234 aw->addTextEditor (
"Folder Name",
String(),
String(),
false);
238 aw->enterModalState (
true,
249 if (!
name.isEmpty())
253 if (!
parent.getChildFile (
name).createDirectory())
255 TRANS (
"New Folder"),
256 TRANS (
"Couldn't create the folder!"));
258 content->chooserComponent.refresh();
#define nullptr
Definition DistrhoDefines.h:75
static String createLegalFileName(const String &fileNameToFix)
Definition File.cpp:848
Definition juce_AlertWindow.h:45
static bool JUCE_CALLTYPE showOkCancelBox(MessageBoxIconType iconType, const String &title, const String &message, const String &button1Text, const String &button2Text, Component *associatedComponent, ModalComponentManager::Callback *callback)
Definition juce_AlertWindow.cpp:752
static void JUCE_CALLTYPE showMessageBoxAsync(MessageBoxIconType iconType, const String &title, const String &message, const String &buttonText=String(), Component *associatedComponent=nullptr, ModalComponentManager::Callback *callback=nullptr)
Definition juce_AlertWindow.cpp:712
Definition juce_Colour.h:38
Definition juce_Component.h:2287
Definition juce_Component.h:36
void setInterceptsMouseClicks(bool allowClicksOnThisComponent, bool allowClicksOnChildComponents) noexcept
Definition juce_Component.cpp:1420
void addAndMakeVisible(Component *child, int zOrder=-1)
Definition juce_Component.cpp:1554
void setAlwaysOnTop(bool shouldStayOnTop)
Definition juce_Component.cpp:1074
Component() noexcept
Definition juce_Component.cpp:517
void exitModalState(int returnValue)
Definition juce_Component.cpp:1795
int getWidth() const noexcept
Definition juce_Component.h:271
LookAndFeel & getLookAndFeel() const noexcept
Definition juce_Component.cpp:2173
Rectangle< int > getLocalBounds() const noexcept
Definition juce_Component.cpp:2283
void addChildComponent(Component *child, int zOrder=-1)
Definition juce_Component.cpp:1548
virtual void setVisible(bool shouldBeVisible)
Definition juce_Component.cpp:575
String getName() const noexcept
Definition juce_Component.h:76
Definition juce_FileBrowserComponent.h:45
Definition juce_FileChooserDialogBox.cpp:30
TextButton okButton
Definition juce_FileChooserDialogBox.cpp:86
String instructions
Definition juce_FileChooserDialogBox.cpp:87
void paint(Graphics &g) override
Definition juce_FileChooserDialogBox.cpp:53
TextButton newFolderButton
Definition juce_FileChooserDialogBox.cpp:86
FileBrowserComponent & chooserComponent
Definition juce_FileChooserDialogBox.cpp:85
TextButton cancelButton
Definition juce_FileChooserDialogBox.cpp:86
TextLayout text
Definition juce_FileChooserDialogBox.cpp:88
void resized() override
Definition juce_FileChooserDialogBox.cpp:59
ContentComponent(const String &name, const String &desc, FileBrowserComponent &chooser)
Definition juce_FileChooserDialogBox.cpp:32
int getDefaultWidth() const
Definition juce_FileChooserDialogBox.cpp:154
ContentComponent * content
Definition juce_FileChooserDialogBox.h:147
void centreWithDefaultSize(Component *componentToCentreAround=nullptr)
Definition juce_FileChooserDialogBox.cpp:149
~FileChooserDialogBox() override
Definition juce_FileChooserDialogBox.cpp:121
void closeButtonPressed()
Definition juce_FileChooserDialogBox.cpp:163
void fileDoubleClicked(const File &) override
Definition juce_FileChooserDialogBox.cpp:176
const bool warnAboutOverwritingExistingFiles
Definition juce_FileChooserDialogBox.h:148
void createNewFolderConfirmed(const String &name)
Definition juce_FileChooserDialogBox.cpp:245
static void createNewFolderCallback(int result, FileChooserDialogBox *, Component::SafePointer< AlertWindow >)
Definition juce_FileChooserDialogBox.cpp:214
FileChooserDialogBox(const String &title, const String &instructions, FileBrowserComponent &browserComponent, bool warnAboutOverwritingExistingFiles, Colour backgroundColour, Component *parentComponent=nullptr)
Definition juce_FileChooserDialogBox.cpp:92
void createNewFolder()
Definition juce_FileChooserDialogBox.cpp:224
void okButtonPressed()
Definition juce_FileChooserDialogBox.cpp:191
static void okToOverwriteFileCallback(int result, FileChooserDialogBox *)
Definition juce_FileChooserDialogBox.cpp:185
void selectionChanged() override
Definition juce_FileChooserDialogBox.cpp:168
void browserRootChanged(const File &) override
Definition juce_FileChooserDialogBox.cpp:183
void fileClicked(const File &, const MouseEvent &) override
Definition juce_FileChooserDialogBox.cpp:182
Definition juce_File.h:45
Definition juce_GraphicsContext.h:45
Definition juce_KeyPress.h:40
static const int escapeKey
Definition juce_KeyPress.h:190
static const int returnKey
Definition juce_KeyPress.h:191
static ModalComponentManager::Callback * forComponent(void(*functionToCall)(int, ComponentType *), ComponentType *component)
Definition juce_ModalComponentManager.h:276
Definition juce_MouseEvent.h:39
void setResizable(bool shouldBeResizable, bool useBottomRightCornerResizer)
Definition juce_ResizableWindow.cpp:245
void setResizeLimits(int newMinimumWidth, int newMinimumHeight, int newMaximumWidth, int newMaximumHeight) noexcept
Definition juce_ResizableWindow.cpp:291
void setContentOwned(Component *newContentComponent, bool resizeToFitWhenContentChangesSize)
Definition juce_ResizableWindow.cpp:114
ResizableWindow(const String &name, bool addToDesktop)
Definition juce_ResizableWindow.cpp:29
Definition juce_String.h:53
Definition juce_TextButton.h:39
Definition juce_TextLayout.h:41
void centreAroundComponent(Component *componentToCentreAround, int width, int height)
Definition juce_TopLevelWindow.cpp:290
UINT_D64 w
Definition inflate.c:942
int y
Definition inflate.c:1588
int g
Definition inflate.c:1573
unsigned x[BMAX+1]
Definition inflate.c:1586
static const char * name
Definition pugl.h:1582
static uintptr_t parent
Definition pugl.h:1644
#define TRANS(stringLiteral)
Definition juce_LocalisedStrings.h:208
Definition carla_juce.cpp:31
@ WarningIcon
Definition juce_MessageBoxOptions.h:35
@ NoIcon
Definition juce_MessageBoxOptions.h:32
bool juce_areThereAnyAlwaysOnTopWindows()
Definition juce_linux_Windowing.cpp:31
int roundToInt(const FloatType value) noexcept
Definition juce_MathsFunctions.h:465
uch h[RAND_HEAD_LEN]
Definition crypt.c:459
int result
Definition process.c:1455