diff --git a/Python/Login.py b/Python/Login.py
index 8475e31..cf2404f 100644
--- a/Python/Login.py
+++ b/Python/Login.py
@@ -34,12 +34,17 @@ def __init__(self, parent = None):
self.selectedProject = None
self.projectDict = dict()
+ self.projectIndex = 0
+ project_users = []
+
self.setupUi()
# __init__
- def setupUi( self ):
+ def setupUi( self ):
self.resize(350, 300)
+ self.setMaximumWidth(350)
+ self.setMaximumHeight(300)
self.setWindowTitle(QT_TRANSLATE_NOOP("Login", "PipeCAD Login"))
aCurrentPath = os.path.dirname(os.path.abspath(__file__))
@@ -49,44 +54,38 @@ def setupUi( self ):
self.groupButtonsProject = QButtonGroup()
- # self.btnProjectLeft = QPushButton( "", self)
- # self.btnProjectLeft.setMinimumSize( 30 , 40 )
- # self.btnProjectLeft.setMaximumSize( 30 , 40 )
- # #Previous icons created by Pixel perfect - Flaticon
- # self.btnProjectLeft.setIcon( QIcon('Lib/PipeCad/icons/login/128x128_arrow_left.png') )
- # self.btnProjectLeft.setIconSize( QSize( 30 , 40 ) )
- # self.btnProjectLeft.setAutoDefault(False)
- # self.hBoxLayoutProjects.addWidget(self.btnProjectLeft)
-
- self.projectDict.clear()
-
- for aProject in (PipeCad.Projects):
- self.btnProject = QPushButton( "", self)
- self.btnProject.setMinimumSize( 256 , 104 )
- self.btnProject.setMaximumSize( 256 , 104 )
- #Icon downloaded from Factory icons created by vectorsmarket15 - Flaticon
- self.btnProject.setIcon( QIcon(aCurrentPath + '/icons/login/128x128_select_project.png') )
- self.btnProject.setIconSize( QSize(96,96) )
- self.btnProject.setStyleSheet("QPushButton { text-align: left; }")
- self.btnProject.setText(QT_TRANSLATE_NOOP("Login", "Project: %s \nCode: %s \nNumber: %s \nDescription: \n%s") % (aProject.Name, aProject.Code, aProject.Number, aProject.Description))
- self.btnProject.setObjectName( aProject.Code )
- self.groupButtonsProject.addButton( self.btnProject )
- self.btnProject.setAutoDefault(False)
- #self.btnProject.clicked.connect( self.selectProject )
- self.hBoxLayoutProjects.addWidget( self.btnProject )
-
- self.projectDict[aProject.Code] = aProject
- # for
+ self.btnProjectPrevious = QPushButton( "", self)
+ self.btnProjectPrevious.setMinimumSize( 32 , 32 )
+ self.btnProjectPrevious.setMaximumSize( 32 , 32 )
+ #Previous icons created by Pixel perfect - Flaticon
+ self.btnProjectPrevious.setIcon( QIcon('Lib/PipeCad/icons/common/32x32_arrow_left.png') )
+ self.btnProjectPrevious.setIconSize( QSize( 32 , 32 ) )
+ self.btnProjectPrevious.setStyleSheet("border:none;")
+ self.hBoxLayoutProjects.addWidget(self.btnProjectPrevious)
+
+ aProject = PipeCad.Projects[self.projectIndex]
+ self.btnProject = QPushButton( "", self)
+ self.btnProject.setMinimumSize( 256 , 104 )
+ self.btnProject.setMaximumSize( 256 , 104 )
+ #Icon downloaded from Factory icons created by vectorsmarket15 - Flaticon
+ self.btnProject.setIcon( QIcon(aCurrentPath + '/icons/login/128x128_select_project.png') )
+ self.btnProject.setIconSize( QSize(96,96) )
+ self.btnProject.setStyleSheet("QPushButton { text-align: left; }")
+ self.btnProject.setText(QT_TRANSLATE_NOOP("Login", "Project: %s \nCode: %s \nNumber: %s \nDescription: \n%s") % (aProject.Name, aProject.Code, aProject.Number, aProject.Description))
+ self.btnProject.setObjectName( aProject.Code )
+ self.btnProject.setAutoDefault(False)
+
+ self.hBoxLayoutProjects.addWidget(self.btnProject)
- # self.btnProjectRight = QPushButton( "", self)
- # self.btnProjectRight.setMinimumSize( 30 , 40 )
- # self.btnProjectRight.setMaximumSize( 30 , 40 )
- # #Previous icons created by Pixel perfect - Flaticon
- # self.btnProjectRight.setIcon( QIcon('Lib/PipeCad/icons/login/128x128_arrow_right.png') )
- # self.btnProjectRight.setIconSize( QSize( 30 , 40 ) )
- # self.btnProjectRight.setAutoDefault(False)
- # self.hBoxLayoutProjects.addWidget(self.btnProjectRight)
-
+ self.btnProjectNext = QPushButton( "", self)
+ self.btnProjectNext.setMinimumSize( 32 , 32 )
+ self.btnProjectNext.setMaximumSize( 32 , 32 )
+ #Previous icons created by Pixel perfect - Flaticon
+ self.btnProjectNext.setIcon( QIcon('Lib/PipeCad/icons/common/32x32_arrow_right.png') )
+ self.btnProjectNext.setIconSize( QSize( 32 , 32 ) )
+ self.btnProjectNext.setStyleSheet("border:none;")
+ self.hBoxLayoutProjects.addWidget(self.btnProjectNext)
+
aFont = QFont("Times", 12)
self.buttonCreate = QPushButton(QT_TRANSLATE_NOOP("Login", "Create New Project"))
@@ -100,7 +99,7 @@ def setupUi( self ):
self.lineEditPassword = QLineEdit( self )
self.lineEditPassword.setEchoMode(QLineEdit.Password)
- PipeCad.SetIndicator(self.lineEditPassword)
+ PipeCad.SetIndicator( self.lineEditPassword )
self.buttonChange = QPushButton(QT_TRANSLATE_NOOP("Login", "Change"))
@@ -171,24 +170,56 @@ def setupUi( self ):
self.labelSoftwareVersion.setAlignment(Qt.AlignRight)
self.verticalLayout.addWidget(self.labelSoftwareVersion)
+ self.btnProjectPrevious.clicked.connect( self.setProjectPrevious )
+ self.btnProjectNext.clicked.connect( self.setProjectNext )
self.comboBoxUser.currentIndexChanged.connect( self.selectUser )
self.buttonChange.clicked.connect( self.changePassword )
self.groupButtonsModule.buttonClicked.connect( self.accept )
self.buttonCreate.clicked.connect( self.createProject )
- self.groupButtonsProject.buttonClicked.connect( self.selectProject )
+ #self.groupButtonsProject.buttonClicked.connect( self.selectProject )
# Deactive widgets before selecting project
- self.comboBoxUser.setEnabled(False)
- self.lineEditPassword.setEnabled(False)
- self.buttonChange.setEnabled(False)
- self.comboBoxMdb.setEnabled(False)
- self.checkBox.setEnabled(False)
self.btnDesign.setEnabled(False)
self.btnParagon.setEnabled(False)
self.btnAdmin.setEnabled(False)
+ self.btnProjectPrevious.setEnabled(False)
+
+ self.selectProject()
+
# setupUi
+
+ def setProjectNext( self ):
+
+ self.projectIndex = self.projectIndex + 1
+
+ self.selectProject()
+
+ def setProjectPrevious( self ):
+
+ self.projectIndex = self.projectIndex - 1
+
+ self.selectProject()
+
+ def selectProject( self ):
+
+ if len( PipeCad.Projects ) == 0 or len( PipeCad.Projects ) == 1:
+ self.btnProjectPrevious.setEnabled(False)
+ self.btnProjectNext.setEnabled(False)
+
+ else:
+ if self.projectIndex == 0:
+ self.btnProjectPrevious.setEnabled(False)
+ self.btnProjectNext.setEnabled(True)
+ elif self.projectIndex > 0 and self.projectIndex < ( len( PipeCad.Projects ) - 1 ):
+ self.btnProjectPrevious.setEnabled(True)
+ self.btnProjectNext.setEnabled(True)
+ elif self.projectIndex == ( len( PipeCad.Projects ) - 1 ):
+ self.btnProjectPrevious.setEnabled(True)
+ self.btnProjectNext.setEnabled(False)
+
+ aProject = PipeCad.Projects[self.projectIndex]
+ self.btnProject.setText(QT_TRANSLATE_NOOP("Login", "Project: %s \nCode: %s \nNumber: %s \nDescription: \n%s") % (aProject.Name, aProject.Code, aProject.Number, aProject.Description))
- def selectProject( self, theButton ):
self.comboBoxUser.setEnabled(True)
self.lineEditPassword.setEnabled(True)
self.buttonChange.setEnabled(True)
@@ -197,9 +228,8 @@ def selectProject( self, theButton ):
self.comboBoxUser.clear()
self.comboBoxMdb.clear()
- aProjectCode = theButton.objectName
- self.selectedProject = self.projectDict.get(aProjectCode)
-
+ self.selectedProject = PipeCad.Projects[self.projectIndex]
+
if self.selectedProject is None:
return
# if
@@ -210,7 +240,7 @@ def selectProject( self, theButton ):
self.comboBoxUser.addItem(aUser.Name)
# for
- if len(self.selectedProject.MdbList) == 0:
+ if len( self.selectedProject.MdbList ) == 0:
self.comboBoxMdb.setEnabled(False)
self.btnDesign.setEnabled(False)
self.btnParagon.setEnabled(False)
@@ -235,13 +265,13 @@ def selectUser(self):
# if
# selectUser
- def accept(self, theButton):
+ def accept( self, theButton ):
if self.selectedProject is None:
return
# if
- aSession = self.selectedProject.CreateSession( self.comboBoxMdb.currentText, self.comboBoxUser.currentText, self.lineEditPassword.text, str(theButton.objectName) )
+ aSession = self.selectedProject.CreateSession( self.comboBoxMdb.currentText, self.comboBoxUser.currentText, self.lineEditPassword.text, str(theButton.objectName) )
if aSession is None:
return
# if
diff --git a/Python/icons/common/32x32_arrow_left.png b/Python/icons/common/32x32_arrow_left.png
new file mode 100644
index 0000000..7d693c9
Binary files /dev/null and b/Python/icons/common/32x32_arrow_left.png differ
diff --git a/Python/icons/common/32x32_arrow_right.png b/Python/icons/common/32x32_arrow_right.png
new file mode 100644
index 0000000..a10ff13
Binary files /dev/null and b/Python/icons/common/32x32_arrow_right.png differ
diff --git a/Python/icons/common/32x32_explorer.png b/Python/icons/common/32x32_explorer.png
index c323259..1398413 100644
Binary files a/Python/icons/common/32x32_explorer.png and b/Python/icons/common/32x32_explorer.png differ
diff --git a/Python/icons/login/128x128_arrow_left.png b/Python/icons/login/128x128_arrow_left.png
deleted file mode 100644
index 9a71a92..0000000
Binary files a/Python/icons/login/128x128_arrow_left.png and /dev/null differ
diff --git a/Python/icons/login/128x128_arrow_right.png b/Python/icons/login/128x128_arrow_right.png
deleted file mode 100644
index b21e3f5..0000000
Binary files a/Python/icons/login/128x128_arrow_right.png and /dev/null differ
diff --git a/Python/icons/login/128x128_select_admin.png b/Python/icons/login/128x128_select_admin.png
index 2f2a51b..6fce1cd 100644
Binary files a/Python/icons/login/128x128_select_admin.png and b/Python/icons/login/128x128_select_admin.png differ
diff --git a/Python/icons/login/128x128_select_design.png b/Python/icons/login/128x128_select_design.png
index afa4a78..3e3983b 100644
Binary files a/Python/icons/login/128x128_select_design.png and b/Python/icons/login/128x128_select_design.png differ
diff --git a/Python/icons/login/128x128_select_paragon.png b/Python/icons/login/128x128_select_paragon.png
index bfdac7a..7b75a9c 100644
Binary files a/Python/icons/login/128x128_select_paragon.png and b/Python/icons/login/128x128_select_paragon.png differ
diff --git a/Python/icons/login/128x128_select_project.png b/Python/icons/login/128x128_select_project.png
index 1771fda..3391b71 100644
Binary files a/Python/icons/login/128x128_select_project.png and b/Python/icons/login/128x128_select_project.png differ