mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-21 01:24:21 +00:00
Fixed some layout issues when using an AudioDeviceSelectorComponent with the "advanced" settings hidden
This commit is contained in:
parent
e6ea529902
commit
91ef9e2b85
1 changed files with 23 additions and 11 deletions
|
|
@ -210,7 +210,8 @@ public:
|
|||
{
|
||||
showAdvancedSettingsButton.reset (new TextButton (TRANS("Show advanced settings...")));
|
||||
addAndMakeVisible (showAdvancedSettingsButton.get());
|
||||
showAdvancedSettingsButton->onClick = [this] { showAdvanced(); };
|
||||
showAdvancedSettingsButton->setClickingTogglesState (true);
|
||||
showAdvancedSettingsButton->onClick = [this] { toggleAdvancedSettings(); };
|
||||
}
|
||||
|
||||
type.scanForDevices();
|
||||
|
|
@ -276,27 +277,37 @@ public:
|
|||
|
||||
r.removeFromTop (space * 2);
|
||||
|
||||
if (showAdvancedSettingsButton != nullptr)
|
||||
if (showAdvancedSettingsButton != nullptr
|
||||
&& sampleRateDropDown != nullptr && bufferSizeDropDown != nullptr)
|
||||
{
|
||||
showAdvancedSettingsButton->setBounds (r.withHeight (h));
|
||||
showAdvancedSettingsButton->setBounds (r.removeFromTop (h));
|
||||
r.removeFromTop (space);
|
||||
showAdvancedSettingsButton->changeWidthToFitText();
|
||||
}
|
||||
|
||||
const bool advancedSettingsVisible = showAdvancedSettingsButton == nullptr
|
||||
|| ! showAdvancedSettingsButton->isVisible();
|
||||
auto advancedSettingsVisible = showAdvancedSettingsButton == nullptr
|
||||
|| showAdvancedSettingsButton->getToggleState();
|
||||
|
||||
if (sampleRateDropDown != nullptr)
|
||||
{
|
||||
sampleRateDropDown->setVisible (advancedSettingsVisible);
|
||||
sampleRateDropDown->setBounds (r.removeFromTop (h));
|
||||
r.removeFromTop (space);
|
||||
|
||||
if (advancedSettingsVisible)
|
||||
{
|
||||
sampleRateDropDown->setBounds (r.removeFromTop (h));
|
||||
r.removeFromTop (space);
|
||||
}
|
||||
}
|
||||
|
||||
if (bufferSizeDropDown != nullptr)
|
||||
{
|
||||
bufferSizeDropDown->setVisible (advancedSettingsVisible);
|
||||
bufferSizeDropDown->setBounds (r.removeFromTop (h));
|
||||
r.removeFromTop (space);
|
||||
|
||||
if (advancedSettingsVisible)
|
||||
{
|
||||
bufferSizeDropDown->setBounds (r.removeFromTop (h));
|
||||
r.removeFromTop (space);
|
||||
}
|
||||
}
|
||||
|
||||
r.removeFromTop (space);
|
||||
|
|
@ -400,9 +411,10 @@ public:
|
|||
return false;
|
||||
}
|
||||
|
||||
void showAdvanced()
|
||||
void toggleAdvancedSettings()
|
||||
{
|
||||
showAdvancedSettingsButton->setVisible (false);
|
||||
showAdvancedSettingsButton->setButtonText ((showAdvancedSettingsButton->getToggleState() ? "Hide " : "Show ")
|
||||
+ String ("advanced settings..."));
|
||||
resized();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue