[olympic,nostalgia] Move item name/path studio::Editor
This commit is contained in:
@ -120,13 +120,19 @@ class BaseEditor: public Widget {
|
||||
class Editor: public studio::BaseEditor {
|
||||
private:
|
||||
studio::UndoStack m_undoStack;
|
||||
ox::String m_itemPath;
|
||||
ox::String m_itemName;
|
||||
|
||||
public:
|
||||
Editor() noexcept;
|
||||
Editor(ox::StringView itemPath) noexcept;
|
||||
|
||||
UndoStack *undoStack() noexcept final {
|
||||
return &m_undoStack;
|
||||
}
|
||||
[[nodiscard]]
|
||||
ox::CStringView itemName() const noexcept final;
|
||||
|
||||
[[nodiscard]]
|
||||
ox::CStringView itemDisplayName() const noexcept final;
|
||||
|
||||
UndoStack *undoStack() noexcept final;
|
||||
|
||||
private:
|
||||
ox::Error markUnsavedChanges(const UndoCommand*) noexcept;
|
||||
|
@ -112,13 +112,29 @@ void BaseEditor::setRequiresConstantRefresh(bool value) noexcept {
|
||||
}
|
||||
|
||||
|
||||
Editor::Editor() noexcept {
|
||||
Editor::Editor(ox::StringView itemPath) noexcept:
|
||||
m_itemPath(itemPath),
|
||||
m_itemName(m_itemPath.substr(std::find(m_itemPath.rbegin(), m_itemPath.rend(), '/').offset() + 1)) {
|
||||
m_undoStack.changeTriggered.connect(this, &Editor::markUnsavedChanges);
|
||||
}
|
||||
|
||||
ox::Error Editor::markUnsavedChanges(const UndoCommand*) noexcept {
|
||||
[[nodiscard]]
|
||||
ox::CStringView Editor::itemName() const noexcept {
|
||||
return m_itemPath;
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
ox::CStringView Editor::itemDisplayName() const noexcept {
|
||||
return m_itemName;
|
||||
}
|
||||
|
||||
UndoStack *Editor::undoStack() noexcept {
|
||||
return &m_undoStack;
|
||||
}
|
||||
|
||||
ox::Error Editor::markUnsavedChanges(UndoCommand const*) noexcept {
|
||||
setUnsavedChanges(true);
|
||||
return OxError(0);
|
||||
return {};
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user