mirror of
https://github.com/antopilo/Nuake.git
synced 2026-09-04 11:35:06 +03:00
NK-136 - Reordered Context Menu, Renamed Items, Load Scene
This commit is contained in:
@@ -144,28 +144,32 @@ namespace Nuake
|
||||
ImGui::OpenPopup(hoverMenuId.c_str());
|
||||
m_hasClickedOnFile = true;
|
||||
}
|
||||
|
||||
|
||||
const std::string openScene = "Open Scene" + std::string("##") + hoverMenuId;
|
||||
bool shouldOpenScene = false;
|
||||
|
||||
|
||||
if (ImGui::BeginPopup(hoverMenuId.c_str()))
|
||||
{
|
||||
if (ImGui::MenuItem("Show in File Explorer"))
|
||||
if (file->GetExtension() != ".scene")
|
||||
{
|
||||
OS::ShowInFileExplorer(file->GetAbsolutePath());
|
||||
}
|
||||
|
||||
if(file->GetExtension() == ".wren")
|
||||
{
|
||||
ImGui::Separator();
|
||||
|
||||
if(ImGui::MenuItem("Open..."))
|
||||
if (ImGui::MenuItem("Open in Editor"))
|
||||
{
|
||||
OS::OpenIn(file->GetAbsolutePath());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ImGui::MenuItem("Load Scene"))
|
||||
{
|
||||
shouldOpenScene = true;
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::Separator();
|
||||
|
||||
if (ImGui::BeginMenu("Copy"))
|
||||
{
|
||||
ImGui::Separator();
|
||||
|
||||
if (ImGui::MenuItem("Full Path"))
|
||||
{
|
||||
OS::CopyToClipboard(file->GetAbsolutePath());
|
||||
@@ -179,27 +183,30 @@ namespace Nuake
|
||||
ImGui::EndPopup();
|
||||
}
|
||||
|
||||
if(file->GetExtension() != ".project")
|
||||
if (ImGui::MenuItem("Delete"))
|
||||
{
|
||||
ImGui::Separator();
|
||||
|
||||
// TODO: Add to a 'Edit' menu with File Rename, etc.
|
||||
|
||||
if (ImGui::MenuItem("Delete"))
|
||||
if(FileSystem::RemoveFile(file->GetAbsolutePath()) != 0)
|
||||
{
|
||||
if(FileSystem::RemoveFile(file->GetAbsolutePath()) != 0)
|
||||
{
|
||||
Logger::Log("Failed to remove file: " + file->GetRelativePath(), "editor", CRITICAL);
|
||||
}
|
||||
RefreshFileBrowser();
|
||||
Logger::Log("Failed to remove file: " + file->GetRelativePath(), "editor", CRITICAL);
|
||||
}
|
||||
RefreshFileBrowser();
|
||||
}
|
||||
|
||||
if (ImGui::MenuItem("Rename"))
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
ImGui::Separator();
|
||||
|
||||
if (ImGui::MenuItem("Show in File Explorer"))
|
||||
{
|
||||
OS::ShowInFileExplorer(file->GetAbsolutePath());
|
||||
}
|
||||
|
||||
ImGui::EndPopup();
|
||||
}
|
||||
|
||||
const std::string openScene = "Open Scene" + std::string("##") + hoverMenuId;
|
||||
|
||||
if (ImGui::IsItemHovered() && ImGui::IsMouseDoubleClicked(0))
|
||||
{
|
||||
if (file->GetExtension() == ".scene")
|
||||
@@ -208,7 +215,12 @@ namespace Nuake
|
||||
}
|
||||
}
|
||||
|
||||
if (PopupHelper::DefineDialog(openScene, "Open the scene? \n Changes will not be saved."))
|
||||
if (shouldOpenScene)
|
||||
{
|
||||
PopupHelper::Confirmation(openScene);
|
||||
}
|
||||
|
||||
if (PopupHelper::DefineDialog(openScene, " Open the scene? \n Changes will not be saved."))
|
||||
{
|
||||
Ref<Scene> scene = Scene::New();
|
||||
const std::string projectPath = file->GetAbsolutePath();
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace Nuake
|
||||
void Project::SaveAs(const std::string& FullPath)
|
||||
{
|
||||
json j = Serialize();
|
||||
std::string serialized_string = j.dump();
|
||||
std::string serialized_string = j.dump(4);
|
||||
|
||||
// TODO: Use file interface here...
|
||||
// Write to file.
|
||||
|
||||
Reference in New Issue
Block a user