Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qpwgraph for openSUSE:Factory 
checked in at 2022-04-30 00:45:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qpwgraph (Old)
 and      /work/SRC/openSUSE:Factory/.qpwgraph.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qpwgraph"

Sat Apr 30 00:45:27 2022 rev:5 rq:973919 version:0.2.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/qpwgraph/qpwgraph.changes        2022-04-14 
17:25:58.751299415 +0200
+++ /work/SRC/openSUSE:Factory/.qpwgraph.new.1538/qpwgraph.changes      
2022-04-30 00:46:11.734985624 +0200
@@ -1,0 +2,7 @@
+Thu Apr 28 23:13:59 UTC 2022 - Alexei Sorokin <sor.ale...@meowr.ru>
+
+- Update to version 0.2.6:
+  * Patchbay now treats multiple nodes and respective ports with
+    the same name as one, applying the same rule.
+
+-------------------------------------------------------------------

Old:
----
  qpwgraph-v0.2.5.tar.bz2

New:
----
  qpwgraph-v0.2.6.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qpwgraph.spec ++++++
--- /var/tmp/diff_new_pack.bCwRdt/_old  2022-04-30 00:46:12.242986064 +0200
+++ /var/tmp/diff_new_pack.bCwRdt/_new  2022-04-30 00:46:12.246986068 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           qpwgraph
-Version:        0.2.5
+Version:        0.2.6
 Release:        0
 Summary:        PipeWire Graph Qt GUI Interface
 License:        GPL-2.0-or-later
@@ -33,6 +33,7 @@
 BuildRequires:  cmake(Qt6Gui)
 BuildRequires:  cmake(Qt6Linguist)
 BuildRequires:  cmake(Qt6Network)
+BuildRequires:  cmake(Qt6Svg)
 BuildRequires:  cmake(Qt6Widgets)
 BuildRequires:  cmake(Qt6Xml)
 BuildRequires:  pkgconfig(alsa)

++++++ qpwgraph-v0.2.5.tar.bz2 -> qpwgraph-v0.2.6.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qpwgraph-v0.2.5/.gitlab-ci.yml 
new/qpwgraph-v0.2.6/.gitlab-ci.yml
--- old/qpwgraph-v0.2.5/.gitlab-ci.yml  2022-04-06 15:53:16.000000000 +0200
+++ new/qpwgraph-v0.2.6/.gitlab-ci.yml  2022-04-23 09:43:07.000000000 +0200
@@ -37,7 +37,7 @@
 .fedora:
   variables:
     # Update this tag when you want to trigger a rebuild
-    FDO_DISTRIBUTION_TAG: '2021-11-21.0'
+    FDO_DISTRIBUTION_TAG: '2022-04-12.0'
     FDO_DISTRIBUTION_VERSION: '35'
     FDO_DISTRIBUTION_PACKAGES: >-
       gcc
@@ -47,13 +47,14 @@
       cmake
       qt5-qtbase-devel
       qt5-qttools-devel
+      qt5-qtsvg-devel
       alsa-lib-devel
       pipewire-devel
 
 .ubuntu:
   variables:
     # Update this tag when you want to trigger a rebuild
-    FDO_DISTRIBUTION_TAG: '2021-11-21.0'
+    FDO_DISTRIBUTION_TAG: '2022-04-12.0'
     FDO_DISTRIBUTION_VERSION: '21.10'
     FDO_DISTRIBUTION_PACKAGES: >-
       debhelper-compat
@@ -64,6 +65,7 @@
       cmake
       qtbase5-dev
       qttools5-dev
+      libqt5svg5-dev
       libasound2-dev
       libpipewire-0.3-dev
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qpwgraph-v0.2.5/CMakeLists.txt 
new/qpwgraph-v0.2.6/CMakeLists.txt
--- old/qpwgraph-v0.2.5/CMakeLists.txt  2022-04-06 15:53:16.000000000 +0200
+++ new/qpwgraph-v0.2.6/CMakeLists.txt  2022-04-23 09:43:07.000000000 +0200
@@ -1,7 +1,7 @@
 cmake_minimum_required (VERSION 3.15)
 
 project(qpwgraph
-  VERSION 0.2.5
+  VERSION 0.2.6
   DESCRIPTION "A PipeWire Graph Qt GUI Interface"
   HOMEPAGE_URL "https://gitlab.freedesktop.org/rncbc/qpwgraph";
   LANGUAGES C CXX)
@@ -70,7 +70,7 @@
   find_package (QT QUIET NAMES Qt5)
 endif ()
 
-find_package (Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Gui Widgets Xml)
+find_package (Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Gui Widgets Xml 
Svg)
 
 if (CONFIG_SYSTEM_TRAY)
   find_package (Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Network)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qpwgraph-v0.2.5/ChangeLog 
new/qpwgraph-v0.2.6/ChangeLog
--- old/qpwgraph-v0.2.5/ChangeLog       2022-04-06 15:53:16.000000000 +0200
+++ new/qpwgraph-v0.2.6/ChangeLog       2022-04-23 09:43:07.000000000 +0200
@@ -2,6 +2,12 @@
 --------------------------------------------
 
 
+0.2.6  2022-04-23  A seventh beta release.
+
+- Patchbay now treats multiple nodes and respective ports with
+  the same name as one, applying the same rule. (EXPERIMENTAL)
+
+
 0.2.5  2022-04-06  A sixth beta release.
 
 - Prevent an graph refresh or update as much as possible while in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qpwgraph-v0.2.5/src/CMakeLists.txt 
new/qpwgraph-v0.2.6/src/CMakeLists.txt
--- old/qpwgraph-v0.2.5/src/CMakeLists.txt      2022-04-06 15:53:16.000000000 
+0200
+++ new/qpwgraph-v0.2.6/src/CMakeLists.txt      2022-04-23 09:43:07.000000000 
+0200
@@ -89,6 +89,7 @@
 
 target_link_libraries (${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
 target_link_libraries (${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Xml)
+target_link_libraries (${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Svg)
 
 if (CONFIG_SYSTEM_TRAY)
   target_link_libraries (${PROJECT_NAME} PRIVATE 
Qt${QT_VERSION_MAJOR}::Network)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qpwgraph-v0.2.5/src/appdata/org.rncbc.qpwgraph.metainfo.xml 
new/qpwgraph-v0.2.6/src/appdata/org.rncbc.qpwgraph.metainfo.xml
--- old/qpwgraph-v0.2.5/src/appdata/org.rncbc.qpwgraph.metainfo.xml     
2022-04-06 15:53:16.000000000 +0200
+++ new/qpwgraph-v0.2.6/src/appdata/org.rncbc.qpwgraph.metainfo.xml     
2022-04-23 09:43:07.000000000 +0200
@@ -37,7 +37,7 @@
  <developer_name>rncbc aka. Rui Nuno Capela</developer_name>
  <update_contact>rn...@rncbc.org</update_contact>
  <releases>
-  <release version="0.2.5" date="2022-04-06" urgency="low" />
+  <release version="0.2.6" date="2022-04-23" urgency="low" />
  </releases>
  <content_rating type="oars-1.0"/>
 </component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qpwgraph-v0.2.5/src/qpwgraph_canvas.cpp 
new/qpwgraph-v0.2.6/src/qpwgraph_canvas.cpp
--- old/qpwgraph-v0.2.5/src/qpwgraph_canvas.cpp 2022-04-06 15:53:16.000000000 
+0200
+++ new/qpwgraph-v0.2.6/src/qpwgraph_canvas.cpp 2022-04-23 09:43:07.000000000 
+0200
@@ -154,7 +154,7 @@
                if (node) {
                        m_nodes.append(node);
                        m_node_ids.insert(qpwgraph_node::NodeIdKey(node), node);
-                       m_node_names.insert(qpwgraph_node::NodeNameKey(node), 
node);
+                       m_node_keys.insert(qpwgraph_node::NodeNameKey(node), 
node);
                        if (!restoreNode(node))
                                emit added(node);
                }
@@ -175,7 +175,7 @@
                if (node && saveNode(node)) {
                        emit removed(node);
                        node->removePorts();
-                       m_node_names.remove(qpwgraph_node::NodeNameKey(node));
+                       m_node_keys.remove(qpwgraph_node::NodeNameKey(node));
                        m_node_ids.remove(qpwgraph_node::NodeIdKey(node));
                        m_nodes.removeAll(node);
                }
@@ -348,7 +348,7 @@
 
        foreach (qpwgraph_node *node, m_nodes) {
                if (node->nodeType() == node_type) {
-                       m_node_names.remove(qpwgraph_node::NodeNameKey(node));
+                       m_node_keys.remove(qpwgraph_node::NodeNameKey(node));
                        m_node_ids.remove(qpwgraph_node::NodeIdKey(node));
                        m_nodes.removeAll(node);
                        nodes.append(node);
@@ -376,11 +376,10 @@
 }
 
 
-qpwgraph_node *qpwgraph_canvas::findNode (
+QList<qpwgraph_node *> qpwgraph_canvas::findNodes (
        const QString& name, qpwgraph_item::Mode mode, uint type ) const
 {
-       return static_cast<qpwgraph_node *> (
-               m_node_names.value(qpwgraph_node::NameKey(name, mode, type), 
nullptr));
+       return m_node_keys.values(qpwgraph_node::NodeNameKey(name, mode, type));
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qpwgraph-v0.2.5/src/qpwgraph_canvas.h 
new/qpwgraph-v0.2.6/src/qpwgraph_canvas.h
--- old/qpwgraph-v0.2.5/src/qpwgraph_canvas.h   2022-04-06 15:53:16.000000000 
+0200
+++ new/qpwgraph-v0.2.6/src/qpwgraph_canvas.h   2022-04-23 09:43:07.000000000 
+0200
@@ -98,7 +98,7 @@
        // Special node finders.
        qpwgraph_node *findNode(
                uint id, qpwgraph_item::Mode mode, uint type = 0) const;
-       qpwgraph_node *findNode(
+       QList<qpwgraph_node *> findNodes(
                const QString& name, qpwgraph_item::Mode mode, uint type = 0) 
const;
 
        // Whether it's in the middle of something...
@@ -228,7 +228,7 @@
        bool              m_zoomrange;
 
        qpwgraph_node::IdKeys   m_node_ids;
-       qpwgraph_node::NameKeys m_node_names;
+       qpwgraph_node::NodeKeys m_node_keys;
        QList<qpwgraph_node *>  m_nodes;
 
        QUndoStack *m_commands;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qpwgraph-v0.2.5/src/qpwgraph_item.h 
new/qpwgraph-v0.2.6/src/qpwgraph_item.h
--- old/qpwgraph-v0.2.5/src/qpwgraph_item.h     2022-04-06 15:53:16.000000000 
+0200
+++ new/qpwgraph-v0.2.6/src/qpwgraph_item.h     2022-04-23 09:43:07.000000000 
+0200
@@ -133,8 +133,6 @@
                uint m_type;
        };
 
-       typedef QHash<NameKey, qpwgraph_item *> NameKeys;
-
        // Item-type hash (static)
        static uint itemType(const QByteArray& type_name);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qpwgraph-v0.2.5/src/qpwgraph_node.cpp 
new/qpwgraph-v0.2.6/src/qpwgraph_node.cpp
--- old/qpwgraph-v0.2.5/src/qpwgraph_node.cpp   2022-04-06 15:53:16.000000000 
+0200
+++ new/qpwgraph-v0.2.6/src/qpwgraph_node.cpp   2022-04-23 09:43:07.000000000 
+0200
@@ -189,7 +189,7 @@
 
        m_ports.append(port);
        m_port_ids.insert(qpwgraph_port::PortIdKey(port), port);
-       m_port_names.insert(qpwgraph_port::PortNameKey(port), port);
+       m_port_keys.insert(qpwgraph_port::PortNameKey(port), port);
 
        updatePath();
 
@@ -213,7 +213,7 @@
 
 void qpwgraph_node::removePort ( qpwgraph_port *port )
 {
-       m_port_names.remove(qpwgraph_port::PortNameKey(port));
+       m_port_keys.remove(qpwgraph_port::PortNameKey(port));
        m_port_ids.remove(qpwgraph_port::PortIdKey(port));
        m_ports.removeAll(port);
 
@@ -231,7 +231,7 @@
        //qDeleteAll(m_ports);
        m_ports.clear();
        m_port_ids.clear();
-       m_port_names.clear();
+       m_port_keys.clear();
 }
 
 
@@ -244,11 +244,10 @@
 }
 
 
-qpwgraph_port *qpwgraph_node::findPort (
+QList<qpwgraph_port *> qpwgraph_node::findPorts (
        const QString& name, qpwgraph_item::Mode mode, uint type )
 {
-       return static_cast<qpwgraph_port *> (
-               m_port_names.value(qpwgraph_port::NameKey(name, mode, type), 
nullptr));
+       return m_port_keys.values(qpwgraph_port::PortNameKey(name, mode, type));
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qpwgraph-v0.2.5/src/qpwgraph_node.h 
new/qpwgraph-v0.2.6/src/qpwgraph_node.h
--- old/qpwgraph-v0.2.5/src/qpwgraph_node.h     2022-04-06 15:53:16.000000000 
+0200
+++ new/qpwgraph-v0.2.6/src/qpwgraph_node.h     2022-04-23 09:43:07.000000000 
+0200
@@ -79,7 +79,7 @@
 
        // Port finder (by id/name, mode and type)
        qpwgraph_port *findPort(uint id, Mode mode, uint type = 0);
-       qpwgraph_port *findPort(const QString& name, Mode mode, uint type = 0);
+       QList<qpwgraph_port *> findPorts(const QString& name, Mode mode, uint 
type = 0);
 
        // Port-list accessor.
        const QList<qpwgraph_port *>& ports() const;
@@ -104,10 +104,14 @@
        {
        public:
                // Constructors.
+               NodeNameKey (const QString& name, Mode mode, uint type = 0)
+                       : NameKey(name, mode, type) {}
                NodeNameKey(qpwgraph_node *node)
                        : NameKey(node->nodeName(), node->nodeMode(), 
node->nodeType()) {}
        };
 
+       typedef QMultiHash<NodeNameKey, qpwgraph_node *> NodeKeys;
+
        // Rectangular editor extents.
        QRectF editorRect() const;
 
@@ -134,7 +138,7 @@
        QGraphicsTextItem   *m_text;
 
        qpwgraph_port::IdKeys   m_port_ids;
-       qpwgraph_port::NameKeys m_port_names;
+       qpwgraph_port::PortKeys m_port_keys;
        QList<qpwgraph_port *>  m_ports;
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qpwgraph-v0.2.5/src/qpwgraph_patchbay.cpp 
new/qpwgraph-v0.2.6/src/qpwgraph_patchbay.cpp
--- old/qpwgraph-v0.2.5/src/qpwgraph_patchbay.cpp       2022-04-06 
15:53:16.000000000 +0200
+++ new/qpwgraph-v0.2.6/src/qpwgraph_patchbay.cpp       2022-04-23 
09:43:07.000000000 +0200
@@ -263,67 +263,75 @@
        const Items::ConstIterator& iter_end = m_items.constEnd();
        for ( ; iter != iter_end; ++iter) {
                Item *item = iter.value();
-               qpwgraph_node *node1
-                       = m_canvas->findNode(
+               QList<qpwgraph_node *> nodes1
+                       = m_canvas->findNodes(
                                item->node1,
                                qpwgraph_item::Output,
                                item->node_type);
-               if (node1 == nullptr)
-                       node1 = m_canvas->findNode(
+               if (nodes1.isEmpty())
+                       nodes1 = m_canvas->findNodes(
                                item->node1,
                                qpwgraph_item::Duplex,
                                item->node_type);
-               if (node1 == nullptr)
+               if (nodes1.isEmpty())
                        continue;
-               qpwgraph_port *port1
-                       = node1->findPort(
-                               item->port1,
-                               qpwgraph_item::Output,
-                               item->port_type);
-               if (port1 == nullptr)
-                       continue;
-               qpwgraph_node *node2
-                       = m_canvas->findNode(
-                               item->node2,
-                               qpwgraph_item::Input,
-                               item->node_type);
-               if (node2 == nullptr)
-                       node2 = m_canvas->findNode(
-                               item->node2,
-                               qpwgraph_item::Duplex,
-                               item->node_type);
-               if (node2 == nullptr)
-                       continue;
-               qpwgraph_port *port2
-                       = node2->findPort(
-                               item->port2,
-                               qpwgraph_item::Input,
-                               item->port_type);
-               if (port2 == nullptr)
-                       continue;
-               if (m_exclusive) {
-                       foreach (qpwgraph_connect *connect, port1->connects()) {
-                               qpwgraph_port *port3 = connect->port2();
-                               if (port3 == nullptr)
+               foreach (qpwgraph_node *node1, nodes1) {
+                       QList<qpwgraph_port *> ports1
+                               = node1->findPorts(
+                                       item->port1,
+                                       qpwgraph_item::Output,
+                                       item->port_type);
+                       if (ports1.isEmpty())
+                               continue;
+                       foreach (qpwgraph_port *port1, ports1) {
+                               QList<qpwgraph_node *> nodes2
+                                       = m_canvas->findNodes(
+                                               item->node2,
+                                               qpwgraph_item::Input,
+                                               item->node_type);
+                               if (nodes2.isEmpty())
+                                       nodes2 = m_canvas->findNodes(
+                                               item->node2,
+                                               qpwgraph_item::Duplex,
+                                               item->node_type);
+                               if (nodes2.isEmpty())
                                        continue;
-                               if (port3 != port2) {
-                                       qpwgraph_node *node3 = 
port3->portNode();
-                                       if (node3 == nullptr)
+                               foreach (qpwgraph_node *node2, nodes2) {
+                                       QList<qpwgraph_port *> ports2
+                                               = node2->findPorts(
+                                                       item->port2,
+                                                       qpwgraph_item::Input,
+                                                       item->port_type);
+                                       if (ports2.isEmpty())
                                                continue;
-                                       const Item item2(
-                                               node1->nodeType(),
-                                               port1->portType(),
-                                               node1->nodeName(),
-                                               port1->portName(),
-                                               node3->nodeName(),
-                                               port3->portName());
-                                       if (m_items.constFind(item2) == 
iter_end)
-                                               connects.insert(item2, connect);
+                                       foreach (qpwgraph_port *port2, ports2) {
+                                               if (m_exclusive) {
+                                                       foreach 
(qpwgraph_connect *connect, port1->connects()) {
+                                                               qpwgraph_port 
*port3 = connect->port2();
+                                                               if (port3 == 
nullptr)
+                                                                       
continue;
+                                                               if (port3 != 
port2) {
+                                                                       
qpwgraph_node *node3 = port3->portNode();
+                                                                       if 
(node3 == nullptr)
+                                                                               
continue;
+                                                                       const 
Item item2(
+                                                                               
node1->nodeType(),
+                                                                               
port1->portType(),
+                                                                               
node1->nodeName(),
+                                                                               
port1->portName(),
+                                                                               
node3->nodeName(),
+                                                                               
port3->portName());
+                                                                       if 
(m_items.constFind(item2) == iter_end)
+                                                                               
connects.insert(item2, connect);
+                                                               }
+                                                       }
+                                               }
+                                               if (!port1->findConnect(port2))
+                                                       
m_canvas->emitConnected(port1, port2);
+                                       }
                                }
                        }
                }
-               if (!port1->findConnect(port2))
-                       m_canvas->emitConnected(port1, port2);
        }
 
        QHash<Item, qpwgraph_connect *>::ConstIterator iter2 = 
connects.constBegin();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qpwgraph-v0.2.5/src/qpwgraph_port.h 
new/qpwgraph-v0.2.6/src/qpwgraph_port.h
--- old/qpwgraph-v0.2.5/src/qpwgraph_port.h     2022-04-06 15:53:16.000000000 
+0200
+++ new/qpwgraph-v0.2.6/src/qpwgraph_port.h     2022-04-23 09:43:07.000000000 
+0200
@@ -109,11 +109,15 @@
        class PortNameKey : public NameKey
        {
        public:
-               // Constructor.
+               // Constructors.
+               PortNameKey (const QString& name, Mode mode, uint type = 0)
+                       : NameKey(name, mode, type) {}
                PortNameKey(qpwgraph_port *port)
                        : NameKey(port->portName(), port->portMode(), 
port->portType()) {}
        };
 
+       typedef QMultiHash<PortNameKey, qpwgraph_port *> PortKeys;
+
        // Port sorting type.
        enum SortType { PortName = 0, PortTitle, PortIndex };
 

Reply via email to