Compare commits
2 Commits
8eb1ac215b
...
2286238abc
Author | SHA1 | Date | |
---|---|---|---|
2286238abc | |||
13f0bf57e4 |
@ -50,8 +50,10 @@ void RenameFile::draw(StudioContext &ctx) noexcept {
|
||||
ImGui::SetKeyboardFocusHere();
|
||||
}
|
||||
ig::InputText("Name", m_name);
|
||||
auto const nameInputFocused = ImGui::IsItemFocused();
|
||||
ImGui::Text("%s%s", m_path.c_str(), m_name.c_str());
|
||||
if (ig::PopupControlsOkCancel(m_open) == ig::PopupResponse::OK) {
|
||||
if (ig::PopupControlsOkCancel(m_open) == ig::PopupResponse::OK ||
|
||||
(nameInputFocused && ImGui::IsKeyPressed(ImGuiKey_Enter))) {
|
||||
moveFile.emit(m_oldPath, m_path + m_name);
|
||||
close();
|
||||
}
|
||||
|
@ -392,6 +392,18 @@ ox::Error StudioUI::handleMoveFile(ox::StringViewCR oldPath, ox::StringViewCR ne
|
||||
return m_projectExplorer.refreshProjectTreeModel();
|
||||
}
|
||||
|
||||
ox::Error StudioUI::handleDeleteFile(ox::StringViewCR path) noexcept {
|
||||
for (size_t i{}; auto &e : m_editors) {
|
||||
if (path == e->itemPath()) {
|
||||
oxLogError(m_editors.erase(i).error);
|
||||
oxLogError(closeFile(path));
|
||||
break;
|
||||
}
|
||||
++i;
|
||||
}
|
||||
return m_projectExplorer.refreshProjectTreeModel();
|
||||
}
|
||||
|
||||
ox::Error StudioUI::createOpenProject(ox::StringViewCR path) noexcept {
|
||||
std::error_code ec;
|
||||
std::filesystem::create_directories(toStdStringView(path), ec);
|
||||
@ -412,7 +424,7 @@ ox::Error StudioUI::openProjectPath(ox::StringParam path) noexcept {
|
||||
m_newDirDialog.newDir.connect(m_sctx.project, &Project::mkdir);
|
||||
m_project->dirAdded.connect(&m_projectExplorer, &ProjectExplorer::refreshProjectTreeModel);
|
||||
m_project->fileAdded.connect(&m_projectExplorer, &ProjectExplorer::refreshProjectTreeModel);
|
||||
m_project->fileDeleted.connect(&m_projectExplorer, &ProjectExplorer::refreshProjectTreeModel);
|
||||
m_project->fileDeleted.connect(this, &StudioUI::handleDeleteFile);
|
||||
m_project->fileMoved.connect(this, &StudioUI::handleMoveFile);
|
||||
m_openFiles.clear();
|
||||
m_editors.clear();
|
||||
|
@ -104,6 +104,8 @@ class StudioUI: public ox::SignalHandler {
|
||||
|
||||
ox::Error handleMoveFile(ox::StringViewCR oldPath, ox::StringViewCR newPath, ox::UUID const&id) noexcept;
|
||||
|
||||
ox::Error handleDeleteFile(ox::StringViewCR path) noexcept;
|
||||
|
||||
ox::Error createOpenProject(ox::StringViewCR path) noexcept;
|
||||
|
||||
ox::Error openProjectPath(ox::StringParam path) noexcept;
|
||||
|
Loading…
x
Reference in New Issue
Block a user