Improve execution time of some actions.

Improve the execution time when we add, change or remove
several terminals to/from terminal strip.
This commit is contained in:
joshua
2022-06-23 21:36:24 +02:00
parent fa753449ad
commit 2a307a74da
6 changed files with 253 additions and 91 deletions

View File

@@ -38,13 +38,14 @@ class AddTerminalToStripCommand : public QUndoCommand
{
public:
AddTerminalToStripCommand(QSharedPointer<RealTerminal> terminal, TerminalStrip *strip, QUndoCommand *parent = nullptr);
AddTerminalToStripCommand(QVector<QSharedPointer<RealTerminal>> terminals, TerminalStrip *strip, QUndoCommand *parent = nullptr);
~AddTerminalToStripCommand() override;
void undo() override;
void redo() override;
private:
QSharedPointer<RealTerminal> m_terminal;
QVector<QSharedPointer<RealTerminal>> m_terminal;
QPointer<TerminalStrip> m_new_strip;
};
@@ -57,13 +58,17 @@ class RemoveTerminalFromStripCommand : public QUndoCommand
{
public:
RemoveTerminalFromStripCommand (QSharedPointer<PhysicalTerminal> terminal, TerminalStrip *strip, QUndoCommand *parent = nullptr);
RemoveTerminalFromStripCommand (const QVector<QSharedPointer<PhysicalTerminal>> &phy_t_vector, TerminalStrip *strip, QUndoCommand *parent = nullptr);
~RemoveTerminalFromStripCommand() override {}
void undo() override;
void redo() override;
private:
QVector<QSharedPointer<RealTerminal>> m_terminals;
void setCommandTitle();
private:
QVector<QVector<QSharedPointer<RealTerminal>>> m_terminals;
QPointer<TerminalStrip> m_strip;
};
@@ -72,12 +77,14 @@ class MoveTerminalCommand : public QUndoCommand
public:
MoveTerminalCommand (QSharedPointer<PhysicalTerminal> terminal, TerminalStrip *old_strip,
TerminalStrip *new_strip, QUndoCommand *parent = nullptr);
MoveTerminalCommand (QVector<QSharedPointer<PhysicalTerminal>> terminals, TerminalStrip *old_strip,
TerminalStrip *new_strip, QUndoCommand *parent = nullptr);
void undo() override;
void redo() override;
private:
const QSharedPointer<PhysicalTerminal> m_terminal;
const QVector<QSharedPointer<PhysicalTerminal>> m_terminal;
QPointer<TerminalStrip> m_old_strip, m_new_strip;
};