diff options
author | Erich Eckner <git@eckner.net> | 2018-02-16 14:58:16 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2018-02-16 14:58:16 +0100 |
commit | bf0331c3f3096b0902024728fe52dde83dfe5fcb (patch) | |
tree | ae99f3f9978e06627c992e7b3a5b3a16492db9b9 /dbmodel/pfeile-entwirren.patch | |
parent | 5321d4aff09af916bdda68d61b0b500452a2e797 (diff) | |
download | archlinuxewe.git.save-bf0331c3f3096b0902024728fe52dde83dfe5fcb.tar.xz |
dbmodel: unknot arrows
Diffstat (limited to 'dbmodel/pfeile-entwirren.patch')
-rw-r--r-- | dbmodel/pfeile-entwirren.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/dbmodel/pfeile-entwirren.patch b/dbmodel/pfeile-entwirren.patch new file mode 100644 index 00000000..977b0ad1 --- /dev/null +++ b/dbmodel/pfeile-entwirren.patch @@ -0,0 +1,53 @@ +diff --git a/src/boxsidehub.cpp b/src/boxsidehub.cpp +index 4dfb460..b4cbf0d 100644 +--- a/src/boxsidehub.cpp ++++ b/src/boxsidehub.cpp +@@ -51,10 +51,15 @@ static bool + itemLessThan(const ConnectorRealPair &a, const ConnectorRealPair &b) + { + int r = cmpAngle(a.second, b.second); +- if (r == 0) { ++ if (r != 0) ++ return r < 0; ++ r = a.first->isStart() - b.first->isStart(); ++ if (r != 0) ++ return r > 0; ++ if (a.first->isStart()) + return a.first->owner() < b.first->owner(); +- } +- return r < 0; ++ else ++ return a.first->owner() > b.first->owner(); + } + + // | +diff --git a/src/connector.cpp b/src/connector.cpp +index bbd7580..bf85ed0 100644 +--- a/src/connector.cpp ++++ b/src/connector.cpp +@@ -82,6 +82,12 @@ Connector::isConnected() const + return m_hub; + } + ++bool ++Connector::isStart() ++{ ++ return this==owner()->connector(0); ++} ++ + DiagramObject * + Connector::connectedObject() const + { +diff --git a/src/connector.h b/src/connector.h +index 66e2b1a..ee2ecb6 100644 +--- a/src/connector.h ++++ b/src/connector.h +@@ -37,6 +37,8 @@ public: + bool isConnected() const; + DiagramObject *connectedObject() const; + ++ bool isStart(); ++ + Connector *otherEnd() const; + + Hub *hub() const; |