From 804d53a04f1a3a0472fb1716a3dca9e555fdd5bc Mon Sep 17 00:00:00 2001
From: Oscar Gustafsson <oscar.gustafsson@gmail.com>
Date: Sat, 6 Jun 2020 13:47:15 +0200
Subject: [PATCH] Used qtpy to allow both PySide2 and PyQt5 to be used

---
 b_asic/GUI/about_window.py        |  4 ++--
 b_asic/GUI/arrow.py               |  6 +++---
 b_asic/GUI/drag_button.py         |  6 +++---
 b_asic/GUI/gui_interface.py       |  2 +-
 b_asic/GUI/main_window.py         |  6 +++---
 b_asic/GUI/port_button.py         |  4 ++--
 b_asic/GUI/properties_window.py   |  6 +++---
 b_asic/GUI/select_sfg_window.py   |  6 +++---
 b_asic/GUI/show_pc_window.py      |  4 ++--
 b_asic/GUI/simulate_sfg_window.py |  6 +++---
 b_asic/GUI/utils.py               |  2 +-
 setup.py                          | 11 ++++++-----
 12 files changed, 32 insertions(+), 31 deletions(-)

diff --git a/b_asic/GUI/about_window.py b/b_asic/GUI/about_window.py
index 699e1b7c..e7be9386 100644
--- a/b_asic/GUI/about_window.py
+++ b/b_asic/GUI/about_window.py
@@ -1,5 +1,5 @@
-from PySide2.QtWidgets import QVBoxLayout, QHBoxLayout, QWidget, QDialog, QLabel, QFrame, QScrollArea
-from PySide2.QtCore import Qt
+from qtpy.QtWidgets import QVBoxLayout, QHBoxLayout, QWidget, QDialog, QLabel, QFrame, QScrollArea
+from qtpy.QtCore import Qt
 
 
 QUESTIONS = {
diff --git a/b_asic/GUI/arrow.py b/b_asic/GUI/arrow.py
index 7df52d05..c598374d 100644
--- a/b_asic/GUI/arrow.py
+++ b/b_asic/GUI/arrow.py
@@ -1,9 +1,9 @@
-from PySide2.QtWidgets import QApplication, QWidget, QMainWindow, QLabel, QAction,\
+from qtpy.QtWidgets import QApplication, QWidget, QMainWindow, QLabel, QAction,\
 QStatusBar, QMenuBar, QLineEdit, QPushButton, QSlider, QScrollArea, QVBoxLayout,\
 QHBoxLayout, QDockWidget, QToolBar, QMenu, QLayout, QSizePolicy, QListWidget, QListWidgetItem,\
 QGraphicsLineItem, QGraphicsWidget
-from PySide2.QtCore import Qt, QSize, QLineF, QPoint, QRectF
-from PySide2.QtGui import QIcon, QFont, QPainter, QPen
+from qtpy.QtCore import Qt, QSize, QLineF, QPoint, QRectF
+from qtpy.QtGui import QIcon, QFont, QPainter, QPen
 
 from b_asic.signal import Signal
 
diff --git a/b_asic/GUI/drag_button.py b/b_asic/GUI/drag_button.py
index a1d8118e..52d8416b 100644
--- a/b_asic/GUI/drag_button.py
+++ b/b_asic/GUI/drag_button.py
@@ -8,9 +8,9 @@ import os.path
 from b_asic.GUI.properties_window import PropertiesWindow
 from b_asic.GUI.utils import decorate_class, handle_error
 
-from PySide2.QtWidgets import QPushButton, QMenu, QAction
-from PySide2.QtCore import Qt, QSize, Signal
-from PySide2.QtGui import QIcon
+from qtpy.QtWidgets import QPushButton, QMenu, QAction
+from qtpy.QtCore import Qt, QSize, Signal
+from qtpy.QtGui import QIcon
 
 
 @decorate_class(handle_error)
diff --git a/b_asic/GUI/gui_interface.py b/b_asic/GUI/gui_interface.py
index bfbe76f4..4fbb5c4a 100644
--- a/b_asic/GUI/gui_interface.py
+++ b/b_asic/GUI/gui_interface.py
@@ -7,7 +7,7 @@
 # WARNING! All changes made in this file will be lost!
 
 
-from PySide2 import QtCore, QtGui, QtWidgets
+from qtpy import QtCore, QtGui, QtWidgets
 
 
 class Ui_main_window(object):
diff --git a/b_asic/GUI/main_window.py b/b_asic/GUI/main_window.py
index 1f4261fc..d53ead66 100644
--- a/b_asic/GUI/main_window.py
+++ b/b_asic/GUI/main_window.py
@@ -32,13 +32,13 @@ from b_asic.save_load_structure import *
 
 from numpy import linspace
 
-from PySide2.QtWidgets import QApplication, QWidget, QMainWindow, QLabel, QAction,\
+from qtpy.QtWidgets import QApplication, QWidget, QMainWindow, QLabel, QAction,\
     QStatusBar, QMenuBar, QLineEdit, QPushButton, QSlider, QScrollArea, QVBoxLayout,\
     QHBoxLayout, QDockWidget, QToolBar, QMenu, QLayout, QSizePolicy, QListWidget,\
     QListWidgetItem, QGraphicsView, QGraphicsScene, QShortcut, QGraphicsTextItem,\
     QGraphicsProxyWidget, QInputDialog, QTextEdit, QFileDialog
-from PySide2.QtCore import Qt, QSize, QFileInfo
-from PySide2.QtGui import QIcon, QFont, QPainter, QPen, QBrush, QKeySequence
+from qtpy.QtCore import Qt, QSize, QFileInfo
+from qtpy.QtGui import QIcon, QFont, QPainter, QPen, QBrush, QKeySequence
 
 
 MIN_WIDTH_SCENE = 600
diff --git a/b_asic/GUI/port_button.py b/b_asic/GUI/port_button.py
index a856b618..6e9b2065 100644
--- a/b_asic/GUI/port_button.py
+++ b/b_asic/GUI/port_button.py
@@ -1,8 +1,8 @@
 
 import sys
 
-from PySide2.QtWidgets import QPushButton, QMenu
-from PySide2.QtCore import Qt, Signal
+from qtpy.QtWidgets import QPushButton, QMenu
+from qtpy.QtCore import Qt, Signal
 
 
 class PortButton(QPushButton):
diff --git a/b_asic/GUI/properties_window.py b/b_asic/GUI/properties_window.py
index 3c690517..7ad87c0b 100644
--- a/b_asic/GUI/properties_window.py
+++ b/b_asic/GUI/properties_window.py
@@ -1,7 +1,7 @@
-from PySide2.QtWidgets import QDialog, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout,\
+from qtpy.QtWidgets import QDialog, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout,\
 QLabel, QCheckBox, QGridLayout
-from PySide2.QtCore import Qt
-from PySide2.QtGui import QDoubleValidator
+from qtpy.QtCore import Qt
+from qtpy.QtGui import QDoubleValidator
 
 
 class PropertiesWindow(QDialog):
diff --git a/b_asic/GUI/select_sfg_window.py b/b_asic/GUI/select_sfg_window.py
index 1b70c2c2..2901213e 100644
--- a/b_asic/GUI/select_sfg_window.py
+++ b/b_asic/GUI/select_sfg_window.py
@@ -1,7 +1,7 @@
-from PySide2.QtWidgets import QDialog, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout,\
+from qtpy.QtWidgets import QDialog, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout,\
 QLabel, QCheckBox, QSpinBox, QGroupBox, QFrame, QFormLayout, QGridLayout, QSizePolicy, QFileDialog, QShortcut, QComboBox
-from PySide2.QtCore import Qt, Signal
-from PySide2.QtGui import QIntValidator, QKeySequence
+from qtpy.QtCore import Qt, Signal
+from qtpy.QtGui import QIntValidator, QKeySequence
 
 from matplotlib.backends import qt_compat
 from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
diff --git a/b_asic/GUI/show_pc_window.py b/b_asic/GUI/show_pc_window.py
index 1cc87939..3b74f362 100644
--- a/b_asic/GUI/show_pc_window.py
+++ b/b_asic/GUI/show_pc_window.py
@@ -1,8 +1,8 @@
 from b_asic.signal_flow_graph import SFG
 
-from PySide2.QtWidgets import QDialog, QPushButton, QVBoxLayout, QCheckBox,\
+from qtpy.QtWidgets import QDialog, QPushButton, QVBoxLayout, QCheckBox,\
 QFrame, QFormLayout
-from PySide2.QtCore import Qt, Signal
+from qtpy.QtCore import Qt, Signal
 
 
 class ShowPCWindow(QDialog):
diff --git a/b_asic/GUI/simulate_sfg_window.py b/b_asic/GUI/simulate_sfg_window.py
index f787e1ce..e6090481 100644
--- a/b_asic/GUI/simulate_sfg_window.py
+++ b/b_asic/GUI/simulate_sfg_window.py
@@ -1,7 +1,7 @@
-from PySide2.QtWidgets import QDialog, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout,\
+from qtpy.QtWidgets import QDialog, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout,\
 QLabel, QCheckBox, QSpinBox, QGroupBox, QFrame, QFormLayout, QGridLayout, QSizePolicy, QFileDialog, QShortcut
-from PySide2.QtCore import Qt, Signal
-from PySide2.QtGui import QDoubleValidator, QKeySequence
+from qtpy.QtCore import Qt, Signal
+from qtpy.QtGui import QDoubleValidator, QKeySequence
 
 from matplotlib.backends import qt_compat
 from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
diff --git a/b_asic/GUI/utils.py b/b_asic/GUI/utils.py
index 5234c654..f98ec70c 100644
--- a/b_asic/GUI/utils.py
+++ b/b_asic/GUI/utils.py
@@ -1,4 +1,4 @@
-from PySide2.QtWidgets import QErrorMessage
+from qtpy.QtWidgets import QErrorMessage
 from traceback import format_exc
 
 def handle_error(fn):
diff --git a/setup.py b/setup.py
index e5860344..42adeb79 100644
--- a/setup.py
+++ b/setup.py
@@ -61,13 +61,13 @@ class CMakeBuild(build_ext):
 
 setuptools.setup(
     name="b-asic",
-    version="1.0.0",
-    author="Adam Jakobsson, Angus Lothian, Arvid Westerlund, Felix Goding, Ivar Härnqvist, Jacob Wahlman, Kevin Scott, Rasmus Karlsson",
-    author_email="adaja901@student.liu.se, anglo547@student.liu.se, arvwe160@student.liu.se, felgo673@student.liu.se, ivaha717@student.liu.se, jacwa448@student.liu.se, kevsc634@student.liu.se, raska119@student.liu.se",
+    version="1.0.1-beta",
+    author="Adam Jakobsson, Angus Lothian, Arvid Westerlund, Felix Goding, Ivar Härnqvist, Jacob Wahlman, Kevin Scott, Rasmus Karlsson, Oscar Gustafsson",
+    author_email="adaja901@student.liu.se, anglo547@student.liu.se, arvwe160@student.liu.se, felgo673@student.liu.se, ivaha717@student.liu.se, jacwa448@student.liu.se, kevsc634@student.liu.se, raska119@student.liu.se, oscar.gustafsson@liu.se",
     description="Better ASIC Toolbox",
     long_description=open("README.md", "r").read(),
     long_description_content_type="text/markdown",
-    url="https://gitlab.liu.se/PUM_TDDD96/B-ASIC",
+    url="https://gitlab.liu.se/da/B-ASIC",
     license="MIT",
     classifiers=[
         "Programming Language :: Python :: 3",
@@ -76,9 +76,10 @@ setuptools.setup(
     ],
     python_requires=">=3.6",
     install_requires=[
-        "pybind11>=2.3.0",
         "numpy",
+        "pybind11>=2.3.0",
         "pyside2",
+        "qtpy",
         "graphviz",
         "matplotlib"
     ],
-- 
GitLab