78 MainWindow(
const juce::String& name,
const juce::String& commandLine) : juce::DocumentWindow(name,
79 juce::Desktop::getInstance().getDefaultLookAndFeel()
80 .findColour(juce::ResizableWindow::backgroundColourId),
81 juce::DocumentWindow::allButtons)
83 ignoreUnused(commandLine);
85 setUsingNativeTitleBar(
true);
86 auto mainComponent = std::make_unique<MainComponent>();
87 mainComponent->onPaletteStyleChange = [=](
int paletteStyle,
bool followLocalStyle) {
88 m_followLocalStyle = followLocalStyle;
89 applyPaletteStyle(
static_cast<JUCEAppBasics::CustomLookAndFeel::PaletteStyle
>(paletteStyle));
91 mainComponent->onSetFullscreenWindow = [=](
bool fullscreenWindow) {
setFullscreenWindow(fullscreenWindow); };
92 setContentOwned(mainComponent.release(),
true);
94#if JUCE_IOS || JUCE_ANDROID
96 juce::Desktop::getInstance().setScreenSaverEnabled(
false);
98 juce::Desktop::getInstance().setKioskModeComponent(getTopLevelComponent(),
false);
100 setResizable(
true,
true);
101 centreWithSize(getWidth(), getHeight());
106 juce::Desktop::getInstance().addDarkModeSettingListener(
this);
110 if (
auto mc =
dynamic_cast<MainComponent*
>(getContentComponent()))
113 JUCEAppBasics::AppConfigurationBase::getInstance()->triggerWatcherUpdate();
149 if (fullscreenWindow)
150 juce::Desktop::getInstance().setKioskModeComponent(getTopLevelComponent(),
false);
152 juce::Desktop::getInstance().setKioskModeComponent(
nullptr,
false);
154 if (
auto* topLevel = getTopLevelComponent())
156 if (
auto* peer = topLevel->getPeer())
158 peer->setFullScreen(fullscreenWindow);
void closeButtonPressed() override
void setFullscreenWindow(bool fullscreenWindow)
void applyPaletteStyle(JUCEAppBasics::CustomLookAndFeel::PaletteStyle paletteStyle)
MainWindow(const juce::String &name, const juce::String &commandLine)
void darkModeSettingChanged() override
const String getApplicationVersion() override
void initialise(const String &commandLine) override
bool moreThanOneInstanceAllowed() override
void systemRequestedQuit() override
void anotherInstanceStarted(const juce::String &commandLine) override
const String getApplicationName() override
Top-level application component for Mema.Mo (MenubarMatrixMonitor).
@ LookAndFeel_Dark
Force dark look-and-feel.