bool MainWindow::openFile (const File& file) { createProjectContentCompIfNeeded(); if (file.hasFileExtension (Project::projectFileExtension)) { ScopedPointer<Project> newDoc (new Project (file)); Result result (newDoc->loadFrom (file, true)); if (result.wasOk() && closeCurrentProject()) { setProject (newDoc); newDoc.release()->setChangedFlag (false); jassert (getProjectContentComponent() != nullptr); getProjectContentComponent()->reloadLastOpenDocuments(); if (Project* p = getProject()) p->updateDeprecatedProjectSettingsInteractively(); return true; } } else if (file.exists()) { return getProjectContentComponent()->showEditorForFile (file, true); } return false; }
void MainWindow::setProject (Project* newProject) { createProjectContentCompIfNeeded(); getProjectContentComponent()->setProject (newProject); currentProject = newProject; getProjectContentComponent()->updateMainWindowTitle(); IntrojucerApp::getCommandManager().commandStatusChanged(); }
void MainWindow::setProject (Project* newProject) { createProjectContentCompIfNeeded(); getProjectContentComponent()->setProject (newProject); currentProject = newProject; if (currentProject != nullptr) projectNameValue.referTo (currentProject->getProjectNameValue()); else projectNameValue.referTo (Value()); ProjucerApplication::getCommandManager().commandStatusChanged(); }
void MainWindow::setProject (Project* newProject) { createProjectContentCompIfNeeded(); getProjectContentComponent()->setProject (newProject); currentProject = newProject; if (currentProject != nullptr) setName (currentProject->getProjectFilenameRoot() + " - Projucer"); else setName ("Projucer"); ProjucerApplication::getCommandManager().commandStatusChanged(); }
//============================================================================== MainWindow::MainWindow() : DocumentWindow (ProjucerApplication::getApp().getApplicationName(), ProjucerApplication::getApp().lookAndFeel.getCurrentColourScheme() .getUIColour (LookAndFeel_V4::ColourScheme::UIColour::windowBackground), DocumentWindow::allButtons, false) { setUsingNativeTitleBar (true); #if ! JUCE_MAC setMenuBar (ProjucerApplication::getApp().getMenuModel()); #endif createProjectContentCompIfNeeded(); setResizable (true, false); centreWithSize (800, 600); ApplicationCommandManager& commandManager = ProjucerApplication::getCommandManager(); // Register all the app commands.. commandManager.registerAllCommandsForTarget (this); commandManager.registerAllCommandsForTarget (getProjectContentComponent()); // update key mappings.. { commandManager.getKeyMappings()->resetToDefaultMappings(); ScopedPointer<XmlElement> keys (getGlobalProperties().getXmlValue ("keyMappings")); if (keys != nullptr) commandManager.getKeyMappings()->restoreFromXml (*keys); addKeyListener (commandManager.getKeyMappings()); } // don't want the window to take focus when the title-bar is clicked.. setWantsKeyboardFocus (false); getLookAndFeel().setColour (ColourSelector::backgroundColourId, Colours::transparentBlack); projectNameValue.addListener (this); setResizeLimits (600, 500, 32000, 32000); }
void MainWindow::setProject (Project* newProject) { createProjectContentCompIfNeeded(); getProjectContentComponent()->setProject (newProject); currentProject.reset (newProject); if (currentProject != nullptr) projectNameValue.referTo (currentProject->getProjectValue (Ids::name)); else projectNameValue.referTo (Value()); if (newProject != nullptr) { if (auto* peer = getPeer()) peer->setRepresentedFile (newProject->getFile()); } ProjucerApplication::getCommandManager().commandStatusChanged(); }
bool MainWindow::openFile (const File& file) { createProjectContentCompIfNeeded(); if (file.hasFileExtension (Project::projectFileExtension)) { ScopedPointer<Project> newDoc (new Project (file)); if (newDoc->loadFrom (file, true) && closeCurrentProject()) { setProject (newDoc.release()); return true; } } else if (file.exists()) { return getProjectContentComponent()->showEditorForFile (file, true); } return false; }