Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qpwgraph for openSUSE:Factory checked in at 2023-01-28 18:46:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qpwgraph (Old) and /work/SRC/openSUSE:Factory/.qpwgraph.new.32243 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qpwgraph" Sat Jan 28 18:46:09 2023 rev:14 rq:1061753 version:0.3.9 Changes: -------- --- /work/SRC/openSUSE:Factory/qpwgraph/qpwgraph.changes 2022-11-19 18:09:55.598643947 +0100 +++ /work/SRC/openSUSE:Factory/.qpwgraph.new.32243/qpwgraph.changes 2023-01-28 19:03:37.508815771 +0100 @@ -1,0 +2,7 @@ +Sat Jan 28 15:14:56 UTC 2023 - Dirk Müller <[email protected]> + +- update to 0.3.9: + * Whether to draw connectors through or around nodes is now an + user preference option (cf. View > Connect Through Nodes). + +------------------------------------------------------------------- Old: ---- qpwgraph-v0.3.8.tar.bz2 New: ---- qpwgraph-v0.3.9.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qpwgraph.spec ++++++ --- /var/tmp/diff_new_pack.toIloP/_old 2023-01-28 19:03:37.880817823 +0100 +++ /var/tmp/diff_new_pack.toIloP/_new 2023-01-28 19:03:37.884817845 +0100 @@ -1,7 +1,7 @@ # # spec file for package qpwgraph # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: qpwgraph -Version: 0.3.8 +Version: 0.3.9 Release: 0 Summary: PipeWire Graph Qt GUI Interface License: GPL-2.0-or-later ++++++ qpwgraph-v0.3.8.tar.bz2 -> qpwgraph-v0.3.9.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/.gitlab-ci.yml new/qpwgraph-v0.3.9/.gitlab-ci.yml --- old/qpwgraph-v0.3.8/.gitlab-ci.yml 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/.gitlab-ci.yml 2022-12-27 09:31:59.000000000 +0100 @@ -37,25 +37,25 @@ .fedora: variables: # Update this tag when you want to trigger a rebuild - FDO_DISTRIBUTION_TAG: '2022-10-14.1' - FDO_DISTRIBUTION_VERSION: '36' + FDO_DISTRIBUTION_TAG: '2022-12-19.0' + FDO_DISTRIBUTION_VERSION: '37' FDO_DISTRIBUTION_PACKAGES: >- gcc gcc-c++ findutils pkgconf cmake - qt5-qtbase-devel - qt5-qttools-devel - qt5-qtsvg-devel + qt6-qtbase-devel + qt6-qttools-devel + qt6-qtsvg-devel alsa-lib-devel pipewire-devel .ubuntu: variables: # Update this tag when you want to trigger a rebuild - FDO_DISTRIBUTION_TAG: '2022-10-14.1' - FDO_DISTRIBUTION_VERSION: '22.04' + FDO_DISTRIBUTION_TAG: '2022-12-19.0' + FDO_DISTRIBUTION_VERSION: '22.10' FDO_DISTRIBUTION_PACKAGES: >- debhelper-compat gcc @@ -63,9 +63,9 @@ findutils pkg-config cmake - qtbase5-dev - qttools5-dev - libqt5svg5-dev + qt6-base-dev + qt6-tools-dev + libqt6svg6-dev libasound2-dev libpipewire-0.3-dev @@ -73,7 +73,6 @@ script: - echo "Building application..." - cmake -DCMAKE_INSTALL_PREFIX=$CI_PROJECT_DIR/usr/local - -DCONFIG_QT6=OFF -B build - cmake --build build - cmake --install build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/CMakeLists.txt new/qpwgraph-v0.3.9/CMakeLists.txt --- old/qpwgraph-v0.3.8/CMakeLists.txt 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/CMakeLists.txt 2022-12-27 09:31:59.000000000 +0100 @@ -1,7 +1,7 @@ cmake_minimum_required (VERSION 3.15) project(qpwgraph - VERSION 0.3.8 + VERSION 0.3.9 DESCRIPTION "A PipeWire Graph Qt GUI Interface" HOMEPAGE_URL "https://gitlab.freedesktop.org/rncbc/qpwgraph" LANGUAGES C CXX) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/ChangeLog new/qpwgraph-v0.3.9/ChangeLog --- old/qpwgraph-v0.3.8/ChangeLog 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/ChangeLog 2022-12-27 09:31:59.000000000 +0100 @@ -2,6 +2,12 @@ -------------------------------------------- +0.3.9 2022-12-27 An end-of-year'22 release + +- Whether to draw connectors through or around nodes is now an + user preference option (cf. View > Connect Through Nodes). + + 0.3.8 2022-11-19 A mid-autumn'22 release. - Allow middle mouse button for grabbing and dragging the canvas. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/debian/changelog new/qpwgraph-v0.3.9/debian/changelog --- old/qpwgraph-v0.3.8/debian/changelog 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/debian/changelog 2022-12-27 09:31:59.000000000 +0100 @@ -1,3 +1,9 @@ +qpwgraph (0.3.9-21.1) unstable; urgency=low + + * An end-of-year'22 release. + + -- Rui Nuno Capela <[email protected]> Tue, 27 Dec 2022 20:00:00 +0000 + qpwgraph (0.3.8-20.1) unstable; urgency=low * A mid-autumn'22 release. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/rpm/qpwgraph.spec new/qpwgraph-v0.3.9/rpm/qpwgraph.spec --- old/qpwgraph-v0.3.8/rpm/qpwgraph.spec 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/rpm/qpwgraph.spec 2022-12-27 09:31:59.000000000 +0100 @@ -16,8 +16,8 @@ # %define name qpwgraph -%define version 0.3.8 -%define release 20.1 +%define version 0.3.9 +%define release 21.1 %define _prefix /usr @@ -136,6 +136,8 @@ %changelog +* Tue Dec 27 2022 Rui Nuno Capela <[email protected]> 0.3.9 +- An end-of-year'22 release. * Sat Nov 19 2022 Rui Nuno Capela <[email protected]> 0.3.8 - A mid-autumn'22 release. * Sat Oct 22 2022 Rui Nuno Capela <[email protected]> 0.3.7 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/src/appdata/org.rncbc.qpwgraph.metainfo.xml new/qpwgraph-v0.3.9/src/appdata/org.rncbc.qpwgraph.metainfo.xml --- old/qpwgraph-v0.3.8/src/appdata/org.rncbc.qpwgraph.metainfo.xml 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/src/appdata/org.rncbc.qpwgraph.metainfo.xml 2022-12-27 09:31:59.000000000 +0100 @@ -37,7 +37,7 @@ <developer_name>rncbc aka. Rui Nuno Capela</developer_name> <update_contact>[email protected]</update_contact> <releases> - <release version="0.3.8" date="2022-11-19" urgency="low" /> + <release version="0.3.9" date="2022-12-27" urgency="low" /> </releases> <content_rating type="oars-1.0"/> </component> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/src/qpwgraph_canvas.cpp new/qpwgraph-v0.3.9/src/qpwgraph_canvas.cpp --- old/qpwgraph-v0.3.8/src/qpwgraph_canvas.cpp 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/src/qpwgraph_canvas.cpp 2022-12-27 09:31:59.000000000 +0100 @@ -1204,6 +1204,19 @@ } +// Update all connectors. +void qpwgraph_canvas::updateConnects (void) +{ + foreach (QGraphicsItem *item, m_scene->items()) { + if (item->type() == qpwgraph_connect::Type) { + qpwgraph_connect *connect = static_cast<qpwgraph_connect *> (item); + if (connect) + connect->updatePath(); + } + } +} + + // Zoom in rectangle range. void qpwgraph_canvas::zoomFitRange ( const QRectF& range_rect ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/src/qpwgraph_canvas.h new/qpwgraph-v0.3.9/src/qpwgraph_canvas.h --- old/qpwgraph-v0.3.8/src/qpwgraph_canvas.h 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/src/qpwgraph_canvas.h 2022-12-27 09:31:59.000000000 +0100 @@ -198,6 +198,9 @@ // Update all nodes. void updateNodes(); + // Update all connectors. + void updateConnects(); + protected slots: // Rename item slots. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/src/qpwgraph_config.cpp new/qpwgraph-v0.3.9/src/qpwgraph_config.cpp --- old/qpwgraph-v0.3.8/src/qpwgraph_config.cpp 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/src/qpwgraph_config.cpp 2022-12-27 09:31:59.000000000 +0100 @@ -42,6 +42,7 @@ static const char *ViewSortTypeKey = "/SortType"; static const char *ViewSortOrderKey = "/SortOrder"; static const char *ViewRepelOverlappingNodesKey = "/RepelOverlappingNodes"; +static const char *ViewConnectThroughNodesKey = "/ConnectThroughNodes"; static const char *PatchbayGroup = "/Patchbay"; static const char *PatchbayDirKey = "/Dir"; @@ -67,6 +68,8 @@ m_menubar(false), m_toolbar(false), m_statusbar(false), m_texticons(false), m_zoomrange(false), m_sorttype(0), m_sortorder(0), + m_repelnodes(false), + m_cthrunodes(false), m_patchbay_toolbar(false), m_patchbay_activated(false), m_patchbay_exclusive(false), @@ -195,6 +198,18 @@ } +void qpwgraph_config::setConnectThroughNodes ( bool cthrunodes ) +{ + m_cthrunodes = cthrunodes; +} + + +bool qpwgraph_config::isConnectThroughNodes (void) const +{ + return m_cthrunodes; +} + + void qpwgraph_config::setPatchbayToolbar ( bool toolbar ) { m_patchbay_toolbar = toolbar; @@ -332,6 +347,7 @@ m_sorttype = m_settings->value(ViewSortTypeKey, 0).toInt(); m_sortorder = m_settings->value(ViewSortOrderKey, 0).toInt(); m_repelnodes = m_settings->value(ViewRepelOverlappingNodesKey, false).toBool(); + m_cthrunodes = m_settings->value(ViewConnectThroughNodesKey, false).toBool(); m_settings->endGroup(); m_settings->beginGroup(GeometryGroup); @@ -388,6 +404,7 @@ m_settings->setValue(ViewSortTypeKey, m_sorttype); m_settings->setValue(ViewSortOrderKey, m_sortorder); m_settings->setValue(ViewRepelOverlappingNodesKey, m_repelnodes); + m_settings->setValue(ViewConnectThroughNodesKey, m_cthrunodes); m_settings->endGroup(); m_settings->beginGroup(GeometryGroup); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/src/qpwgraph_config.h new/qpwgraph-v0.3.9/src/qpwgraph_config.h --- old/qpwgraph-v0.3.8/src/qpwgraph_config.h 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/src/qpwgraph_config.h 2022-12-27 09:31:59.000000000 +0100 @@ -74,6 +74,9 @@ void setRepelOverlappingNodes(bool repelnodes); bool isRepelOverlappingNodes() const; + void setConnectThroughNodes(bool cthrunodes); + bool isConnectThroughNodes() const; + void setPatchbayToolbar(bool toolbar); bool isPatchbayToolbar() const; @@ -117,6 +120,7 @@ int m_sortorder; bool m_repelnodes; + bool m_cthrunodes; bool m_patchbay_toolbar; QString m_patchbay_dir; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/src/qpwgraph_connect.cpp new/qpwgraph-v0.3.9/src/qpwgraph_connect.cpp --- old/qpwgraph-v0.3.8/src/qpwgraph_connect.cpp 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/src/qpwgraph_connect.cpp 2022-12-27 09:31:59.000000000 +0100 @@ -150,12 +150,23 @@ qpwgraph_node *node1 = m_port1->portNode(); const QRectF& rect1 = node1->itemRect(); + const qreal h1 = 0.5 * rect1.height(); + const qreal dh = pos0.y() - node1->scenePos().y() - h1; const qreal dx = pos3_4.x() - pos1_2.x(); - const qreal dy = pos0.y() - node1->scenePos().y() - 0.5 * rect1.height(); - const qreal y_max = rect1.height() + rect1.width(); - const qreal y_min = qMin(y_max, qAbs(dx)); - const qreal x_offset = (dx > 0.0 ? 0.5 : 1.5) * y_min; - const qreal y_offset = (dx > 0.0 ? 0.0 : (dy > 0.0 ? +y_min : -y_min)); + const qreal x_max = rect1.width() + h1; + const qreal x_min = qMin(x_max, qAbs(dx)); + const qreal x_offset = (dx > 0.0 ? 0.5 : 1.0) * x_min; + + qreal y_offset = 0.0; + if (g_connect_through_nodes) { + // New "normal" connection line curves (inside/through nodes)... + const qreal h2 = m_port1->itemRect().height(); + const qreal dy = qAbs(pos3_4.y() - pos1_2.y()); + y_offset = (dx > -h2 || dy > h2 ? 0.0 : (dh > 0.0 ? +h2 : -h2)); + } else { + // Old "weird" connection line curves (outside/around nodes)... + y_offset = (dx > 0.0 ? 0.0 : (dh > 0.0 ? +x_min : -x_min)); + } const QPointF pos2(pos1.x() + x_offset, pos1.y() + y_offset); const QPointF pos3(pos4.x() - x_offset, pos4.y() + y_offset); @@ -308,4 +319,19 @@ } +// Connector curve draw style (through vs. around nodes) +// +bool qpwgraph_connect::g_connect_through_nodes = false; + +void qpwgraph_connect::setConnectThroughNodes ( bool on ) +{ + g_connect_through_nodes = on; +} + +bool qpwgraph_connect::isConnectThroughNodes (void) +{ + return g_connect_through_nodes; +} + + // end of qpwgraph_connect.cpp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/src/qpwgraph_connect.h new/qpwgraph-v0.3.9/src/qpwgraph_connect.h --- old/qpwgraph-v0.3.8/src/qpwgraph_connect.h 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/src/qpwgraph_connect.h 2022-12-27 09:31:59.000000000 +0100 @@ -74,6 +74,10 @@ void setDimmed(bool dimmed); int isDimmed() const; + // Connector curve draw style (through vs. around nodes) + static void setConnectThroughNodes(bool on); + static bool isConnectThroughNodes(); + protected: void paint(QPainter *painter, @@ -90,6 +94,9 @@ qpwgraph_port *m_port2; bool m_dimmed; + + // Connector curve draw style (through vs. around nodes) + static bool g_connect_through_nodes; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/src/qpwgraph_form.cpp new/qpwgraph-v0.3.9/src/qpwgraph_form.cpp --- old/qpwgraph-v0.3.8/src/qpwgraph_form.cpp 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/src/qpwgraph_form.cpp 2022-12-27 09:31:59.000000000 +0100 @@ -358,6 +358,9 @@ QObject::connect(m_ui.viewRepelOverlappingNodesAction, SIGNAL(triggered(bool)), SLOT(viewRepelOverlappingNodes(bool))); + QObject::connect(m_ui.viewConnectThroughNodesAction, + SIGNAL(triggered(bool)), + SLOT(viewConnectThroughNodes(bool))); m_ui.viewColorsPipewireAudioAction->setData(qpwgraph_pipewire::audioPortType()); m_ui.viewColorsPipewireMidiAction->setData(qpwgraph_pipewire::midiPortType()); @@ -809,6 +812,13 @@ } +void qpwgraph_form::viewConnectThroughNodes ( bool on ) +{ + qpwgraph_connect::setConnectThroughNodes(on); + m_ui.graphCanvas->updateConnects(); +} + + void qpwgraph_form::helpSystemTray ( bool on ) { #ifdef CONFIG_SYSTEM_TRAY @@ -1315,7 +1325,7 @@ // Context-menu event handler. void qpwgraph_form::contextMenuEvent ( QContextMenuEvent *event ) { -// m_ui.graphCanvas->clear(); + m_ui.graphCanvas->clear(); stabilize(); @@ -1532,6 +1542,7 @@ m_ui.viewTextBesideIconsAction->setChecked(m_config->isTextBesideIcons()); m_ui.viewZoomRangeAction->setChecked(m_config->isZoomRange()); m_ui.viewRepelOverlappingNodesAction->setChecked(m_config->isRepelOverlappingNodes()); + m_ui.viewConnectThroughNodesAction->setChecked(m_config->isConnectThroughNodes()); const qpwgraph_port::SortType sort_type = qpwgraph_port::SortType(m_config->sortType()); @@ -1570,6 +1581,7 @@ viewTextBesideIcons(m_config->isTextBesideIcons()); viewZoomRange(m_config->isZoomRange()); viewRepelOverlappingNodes(m_config->isRepelOverlappingNodes()); + viewConnectThroughNodes(m_config->isConnectThroughNodes()); m_ui.graphCanvas->restoreState(); @@ -1596,6 +1608,7 @@ m_config->setSortType(int(qpwgraph_port::sortType())); m_config->setSortOrder(int(qpwgraph_port::sortOrder())); m_config->setRepelOverlappingNodes(m_ui.viewRepelOverlappingNodesAction->isChecked()); + m_config->setConnectThroughNodes(m_ui.viewConnectThroughNodesAction->isChecked()); m_config->setStatusbar(m_ui.StatusBar->isVisible()); m_config->setToolbar(m_ui.graphToolbar->isVisible()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/src/qpwgraph_form.h new/qpwgraph-v0.3.9/src/qpwgraph_form.h --- old/qpwgraph-v0.3.8/src/qpwgraph_form.h 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/src/qpwgraph_form.h 2022-12-27 09:31:59.000000000 +0100 @@ -133,6 +133,7 @@ void viewColorsReset(); void viewRepelOverlappingNodes(bool on); + void viewConnectThroughNodes(bool on); void helpSystemTray(bool on); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.3.8/src/qpwgraph_form.ui new/qpwgraph-v0.3.9/src/qpwgraph_form.ui --- old/qpwgraph-v0.3.8/src/qpwgraph_form.ui 2022-11-19 12:30:04.000000000 +0100 +++ new/qpwgraph-v0.3.9/src/qpwgraph_form.ui 2022-12-27 09:31:59.000000000 +0100 @@ -161,6 +161,7 @@ <addaction name="viewZoomRangeAction"/> <addaction name="separator"/> <addaction name="viewRepelOverlappingNodesAction"/> + <addaction name="viewConnectThroughNodesAction"/> <addaction name="separator"/> <addaction name="viewRefreshAction"/> </widget> @@ -991,7 +992,7 @@ <bool>true</bool> </property> <property name="text"> - <string>Repel &Overlapping Nodes</string> + <string>Repel O&verlapping Nodes</string> </property> <property name="iconText"> <string>Repel nodes</string> @@ -1004,6 +1005,26 @@ </property> <property name="shortcut"> <string/> + </property> + </action> + <action name="viewConnectThroughNodesAction"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="text"> + <string>Connect Thro&ugh Nodes</string> + </property> + <property name="iconText"> + <string>Connect Through Nodes</string> + </property> + <property name="toolTip"> + <string>Connect through nodes</string> + </property> + <property name="statusTip"> + <string>Whether to draw connectors through or around nodes</string> + </property> + <property name="shortcut"> + <string/> </property> </action> <action name="helpSystemTrayAction">
