Ungroup terminal is now managed by undo stack

This commit is contained in:
joshua
2021-10-09 14:45:54 +02:00
parent c6e3e385ff
commit 7c6fca2aac
5 changed files with 79 additions and 12 deletions

View File

@@ -42,7 +42,28 @@ class GroupTerminalsCommand : public QUndoCommand
QPointer<TerminalStrip> m_terminal_strip;
PhysicalTerminalData m_receiver;
QVector <RealTerminalData> m_to_group;
QVector <RealTerminalData> m_to_ungroup;
};
/**
* @brief The UnGroupTerminalsCommand class
* This class is used to ungroup terminal (remove level of multi level terminal)
*/
class UnGroupTerminalsCommand : public QUndoCommand
{
public:
UnGroupTerminalsCommand(TerminalStrip *strip,
const QVector<RealTerminalData> &to_ungroup,
QUndoCommand *parent = nullptr);
void undo() override;
void redo() override;
private:
void setUp(const QVector<RealTerminalData> &to_ungroup);
private:
QPointer<TerminalStrip> m_terminal_strip;
QHash <PhysicalTerminalData, QVector<RealTerminalData>> m_physical_real_H;
};
#endif // GROUPTERMINALSCOMMAND_H