Minor Fix : undo command for unbridge strip don't work

This commit is contained in:
joshua 2022-01-27 19:45:33 +01:00
parent 993eb58d46
commit d114b097bf
2 changed files with 22 additions and 1 deletions

View File

@ -469,6 +469,26 @@ bool TerminalStrip::isBridgeable(const QVector<QSharedPointer<RealTerminal>> &re
return no_bridged;
}
/**
* @brief TerminalStrip::isBridgeable
* Check if all RealTerminal of @a real_terminals can be bridged to
* the bridge @a bridge.
* @param real_terminals
* @return true if can be bridged.
*/
bool TerminalStrip::isBridgeable(QSharedPointer<TerminalStripBridge> bridge, const QVector<QSharedPointer<RealTerminal> > &real_terminals) const
{
if (real_terminals.isEmpty() ||
!m_bridge.contains(bridge)) {
return false;
}
auto vector_ = bridge->realTerminals();
vector_.append(real_terminals);
return isBridgeable(vector_);
}
/**
* @brief TerminalStrip::setBridge
* Set a bridge betwen all real terminal of @a real_terminals
@ -508,7 +528,7 @@ bool TerminalStrip::setBridge(const QSharedPointer<TerminalStripBridge> &bridge,
{
if (bridge)
{
if (!isBridgeable(real_terminals)) {
if (!isBridgeable(bridge, real_terminals)) {
return false;
}

View File

@ -93,6 +93,7 @@ class TerminalStrip : public QObject
bool setLevel(const QSharedPointer<RealTerminal> &real_terminal, int level);
bool isBridgeable(const QVector<QSharedPointer<RealTerminal>> &real_terminals) const;
bool isBridgeable(QSharedPointer<TerminalStripBridge> bridge, const QVector<QSharedPointer<RealTerminal>> &real_terminals) const;
bool setBridge(const QVector<QSharedPointer<RealTerminal>> &real_terminals);
bool setBridge(const QSharedPointer<TerminalStripBridge> &bridge, const QVector<QSharedPointer<RealTerminal>> &real_terminals);
void unBridge(const QVector<QSharedPointer<RealTerminal>> &real_terminals);