mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-30 02:50:05 +00:00
Projucer: Added a "PIP Creator" utility tool
This commit is contained in:
parent
bfd3afa6cf
commit
8a467e7dc3
18 changed files with 710 additions and 38 deletions
|
|
@ -380,6 +380,7 @@ void ProjucerApplication::createFileMenu (PopupMenu& menu)
|
|||
{
|
||||
menu.addCommandItem (commandManager, CommandIDs::newProject);
|
||||
menu.addCommandItem (commandManager, CommandIDs::newProjectFromClipboard);
|
||||
menu.addCommandItem (commandManager, CommandIDs::newPIP);
|
||||
menu.addSeparator();
|
||||
menu.addCommandItem (commandManager, CommandIDs::open);
|
||||
|
||||
|
|
@ -902,6 +903,7 @@ void ProjucerApplication::getAllCommands (Array <CommandID>& commands)
|
|||
|
||||
const CommandID ids[] = { CommandIDs::newProject,
|
||||
CommandIDs::newProjectFromClipboard,
|
||||
CommandIDs::newPIP,
|
||||
CommandIDs::open,
|
||||
CommandIDs::launchDemoRunner,
|
||||
CommandIDs::closeAllWindows,
|
||||
|
|
@ -936,6 +938,11 @@ void ProjucerApplication::getCommandInfo (CommandID commandID, ApplicationComman
|
|||
result.defaultKeypresses.add (KeyPress ('n', ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0));
|
||||
break;
|
||||
|
||||
case CommandIDs::newPIP:
|
||||
result.setInfo ("New PIP...", "Opens the PIP Creator utility for creating a new PIP", CommandCategories::general, 0);
|
||||
result.defaultKeypresses.add (KeyPress ('p', ModifierKeys::commandModifier, 0));
|
||||
break;
|
||||
|
||||
case CommandIDs::launchDemoRunner:
|
||||
#if JUCE_LINUX
|
||||
if (makeProcess.isRunning())
|
||||
|
|
@ -1045,6 +1052,7 @@ bool ProjucerApplication::perform (const InvocationInfo& info)
|
|||
{
|
||||
case CommandIDs::newProject: createNewProject(); break;
|
||||
case CommandIDs::newProjectFromClipboard: createNewProjectFromClipboard(); break;
|
||||
case CommandIDs::newPIP: createNewPIP(); break;
|
||||
case CommandIDs::open: askUserToOpenFile(); break;
|
||||
case CommandIDs::launchDemoRunner: launchDemoRunner(); break;
|
||||
case CommandIDs::saveAll: openDocumentManager.saveAll(); break;
|
||||
|
|
@ -1094,6 +1102,11 @@ void ProjucerApplication::createNewProjectFromClipboard()
|
|||
}
|
||||
}
|
||||
|
||||
void ProjucerApplication::createNewPIP()
|
||||
{
|
||||
showPIPCreatorWindow();
|
||||
}
|
||||
|
||||
void ProjucerApplication::updateNewlyOpenedProject (Project& p)
|
||||
{
|
||||
LiveBuildProjectSettings::updateNewlyOpenedProject (p);
|
||||
|
|
@ -1147,8 +1160,7 @@ void ProjucerApplication::showUTF8ToolWindow()
|
|||
if (utf8Window != nullptr)
|
||||
utf8Window->toFront (true);
|
||||
else
|
||||
new FloatingToolWindow ("UTF-8 String Literal Converter",
|
||||
"utf8WindowPos",
|
||||
new FloatingToolWindow ("UTF-8 String Literal Converter", "utf8WindowPos",
|
||||
new UTF8Component(), utf8Window, true,
|
||||
500, 500, 300, 300, 1000, 1000);
|
||||
}
|
||||
|
|
@ -1158,8 +1170,7 @@ void ProjucerApplication::showSVGPathDataToolWindow()
|
|||
if (svgPathWindow != nullptr)
|
||||
svgPathWindow->toFront (true);
|
||||
else
|
||||
new FloatingToolWindow ("SVG Path Converter",
|
||||
"svgPathWindowPos",
|
||||
new FloatingToolWindow ("SVG Path Converter", "svgPathWindowPos",
|
||||
new SVGPathDataComponent(), svgPathWindow, true,
|
||||
500, 500, 300, 300, 1000, 1000);
|
||||
}
|
||||
|
|
@ -1179,9 +1190,8 @@ void ProjucerApplication::showApplicationUsageDataAgreementPopup()
|
|||
if (applicationUsageDataWindow != nullptr)
|
||||
applicationUsageDataWindow->toFront (true);
|
||||
else
|
||||
new FloatingToolWindow ("Application Usage Analytics",
|
||||
{}, new ApplicationUsageDataWindowComponent (isPaidOrGPL()),
|
||||
applicationUsageDataWindow, false,
|
||||
new FloatingToolWindow ("Application Usage Analytics", {},
|
||||
new ApplicationUsageDataWindowComponent (isPaidOrGPL()), applicationUsageDataWindow, false,
|
||||
400, 300, 400, 300, 400, 300);
|
||||
}
|
||||
|
||||
|
|
@ -1196,8 +1206,7 @@ void ProjucerApplication::showPathsWindow (bool highlightJUCEPath)
|
|||
if (pathsWindow != nullptr)
|
||||
pathsWindow->toFront (true);
|
||||
else
|
||||
new FloatingToolWindow ("Global Paths",
|
||||
"pathsWindowPos",
|
||||
new FloatingToolWindow ("Global Paths", "pathsWindowPos",
|
||||
new GlobalPathsWindowComponent(), pathsWindow, false,
|
||||
600, 650, 600, 650, 600, 650);
|
||||
|
||||
|
|
@ -1211,14 +1220,19 @@ void ProjucerApplication::showEditorColourSchemeWindow()
|
|||
if (editorColourSchemeWindow != nullptr)
|
||||
editorColourSchemeWindow->toFront (true);
|
||||
else
|
||||
{
|
||||
new FloatingToolWindow ("Editor Colour Scheme",
|
||||
"editorColourSchemeWindowPos",
|
||||
new EditorColourSchemeWindowComponent(),
|
||||
editorColourSchemeWindow,
|
||||
false,
|
||||
new FloatingToolWindow ("Editor Colour Scheme", "editorColourSchemeWindowPos",
|
||||
new EditorColourSchemeWindowComponent(), editorColourSchemeWindow, false,
|
||||
500, 500, 500, 500, 500, 500);
|
||||
}
|
||||
}
|
||||
|
||||
void ProjucerApplication::showPIPCreatorWindow()
|
||||
{
|
||||
if (pipCreatorWindow != nullptr)
|
||||
pipCreatorWindow->toFront (true);
|
||||
else
|
||||
new FloatingToolWindow ("PIP Creator", "pipCreatorWindowPos",
|
||||
new PIPCreatorWindowComponent(), pipCreatorWindow, false,
|
||||
600, 750, 600, 750, 600, 750);
|
||||
}
|
||||
|
||||
void ProjucerApplication::launchForumBrowser()
|
||||
|
|
@ -1425,6 +1439,7 @@ void ProjucerApplication::setColourScheme (int index, bool saveSetting)
|
|||
if (applicationUsageDataWindow != nullptr) applicationUsageDataWindow->sendLookAndFeelChange();
|
||||
if (pathsWindow != nullptr) pathsWindow->sendLookAndFeelChange();
|
||||
if (editorColourSchemeWindow != nullptr) editorColourSchemeWindow->sendLookAndFeelChange();
|
||||
if (pipCreatorWindow != nullptr) pipCreatorWindow->sendLookAndFeelChange();
|
||||
|
||||
auto* mcm = ModalComponentManager::getInstance();
|
||||
for (auto i = 0; i < mcm->getNumModalComponents(); ++i)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue