From 89f55ea95857d7b1f3ead7fe8d4d0d08c5e349a0 Mon Sep 17 00:00:00 2001
From: Surik4to06 <145988210+Surik4to06@users.noreply.github.com>
Date: Mon, 9 Dec 2024 09:45:09 -0300
Subject: [PATCH] =?UTF-8?q?telas=20de=20confirma=C3=A7=C3=B5es=20(#181)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* colocando menu mais detalhado na home
* correção do sub menu alinhado pra cima agr
* mudando icones
mudando icones conforme as atividades na aplicação, tipo mecher no menu ou minimizar e maximizar, etc
* arrumando algumas coisas so e os icones
* colocando menu simplificado e arrumando tabs
fiz um menu novo só com icones agr e arrumei o problema dos tabs tmb, alem de agr os botões ficarem clicados quando escolhem um deles
* mudando nome dos icones e atualizando informações da home e agr puxando telas de edit
* mudando os icones de erro e concluido
* colocando caminho certo no icone de tela cheia
* caminho do icone da tela maximizada agr
* adicionando tela de edit sala
* arrumando tabulação
* mudança na ortografia da tela de cadastro de login
* mudando o nome e zerando txt feadback
* tirando algumas validações q nn funcionam
* tela de concluido com 1 btn pra confirmar
* .
* tela de login funcionando sem erro agr
* comentando erros na tela de login, para tratativa de erro
* agr vai kkk
* wqkjhfweijfgqwiuf
* eygdafoawsd
* colocando telas de validação e confirmação
* passando as tratativas de sair da conta
* mudando formas de chamar o icone de erro
---
App/view/feadbackErro.py | 36 +++-
App/view/home.py | 11 +-
App/view/login.py | 19 +-
App/view/telaConfirmacao.py | 28 +++
App/view/ui/feadbackErro.ui | 209 ++++++++++++++-----
App/view/ui/icones/iconAviso.png | Bin 0 -> 2911 bytes
App/view/ui/icones/iconExclamacao.png | Bin 0 -> 508 bytes
App/view/ui/telaConfirmacao.ui | 289 ++++++++++++++++++++++++++
8 files changed, 531 insertions(+), 61 deletions(-)
create mode 100644 App/view/telaConfirmacao.py
create mode 100644 App/view/ui/icones/iconAviso.png
create mode 100644 App/view/ui/icones/iconExclamacao.png
create mode 100644 App/view/ui/telaConfirmacao.ui
diff --git a/App/view/feadbackErro.py b/App/view/feadbackErro.py
index 8ca836b..5a9d7e0 100644
--- a/App/view/feadbackErro.py
+++ b/App/view/feadbackErro.py
@@ -1,9 +1,41 @@
from PyQt5.QtWidgets import QDialog
from PyQt5.uic import loadUi
+from PyQt5.QtCore import Qt
class FeadbackErro(QDialog):
- def __init__(self):
+ def __init__(self, txt):
super().__init__()
loadUi('App/view/ui/feadbackErro.ui',self)
- #label do aviso do erro = #texto
\ No newline at end of file
+ self.texto.setText(txt)
+
+ # Remove a barra de título e as bordas da janela
+ self.setWindowFlags(Qt.FramelessWindowHint)
+
+ self.btnConfirmar.clicked.connect(self.reject)
+ self.btnFechar.clicked.connect(self.reject)
+
+ def mudarFoto(self, img):
+ if img == 'Validado':
+ self.setStyleSheet("""
+ #icon {
+ image: url(App/view/ui/icones/iconConcluido.png)
+ }
+ """)
+ else:
+ self.setStyleSheet("""
+ #icon {
+ image: url(App/view/ui/icones/iconErro.png)
+ }
+ """)
+
+
+
+if __name__ == "__main__":
+ from PyQt5.QtWidgets import QApplication
+ resp = FeadbackErro('sla')
+ app = QApplication([])
+ if resp.exec_():
+ print('ok')
+ else:
+ print('negado')
\ No newline at end of file
diff --git a/App/view/home.py b/App/view/home.py
index dcfc8fb..4e986b7 100644
--- a/App/view/home.py
+++ b/App/view/home.py
@@ -16,6 +16,7 @@
from .editarReserva import EditarReserva
from .editarSala import EditarSala
from .reserva import ReservaInterface
+from .telaConfirmacao import TelaConfirmacao
from App.controller.login import pegarUsuarioLogado, removerUsuarioLogado
@@ -66,6 +67,8 @@ def __init__(self):
self.btnEditarSimples.clicked.connect(lambda: self.trocarTelaMenu(self.editar))
self.btnEditar.clicked.connect(lambda: self.trocarTelaMenu(self.editar))
+ #btns da propria interface
+
# btns da propria interface
# Forma Corrigida para Setar Interface
#######################################
@@ -207,8 +210,12 @@ def on_btnFecharMenuQuebrado_clicked(self):
self.subMenuQuebrado.hide()
def fazer_logout(self):
- removerUsuarioLogado()
- self.close()
+ confirmacao = TelaConfirmacao("Tem certeza que deseja sair?", "Sim")
+ if confirmacao.exec_():
+ removerUsuarioLogado()
+ self.close()
+ else:
+ pass
if __name__ == "__main__":
diff --git a/App/view/login.py b/App/view/login.py
index de73c47..3abc441 100644
--- a/App/view/login.py
+++ b/App/view/login.py
@@ -1,8 +1,10 @@
from PyQt5.QtWidgets import QDialog, QMenu
from PyQt5.QtCore import Qt, QTimer, QPoint
from PyQt5.QtCore import pyqtSlot
+from .feadbackErro import FeadbackErro
from PyQt5.uic import loadUi
+
from App.controller.login import validarLogin
#respostasErros = aviso erros
@@ -69,19 +71,22 @@ def getEmailSenha(self):
# # self.respostasErros.setText('LOGANDO...')
# QTimer.singleShot(2000, lambda: self.limparCampos(self.respostasErros))
- # def dadosInvalidos(self):
- # texto = 'DADOS INCOMPLETOS.'
- # # self.respostasErros.setText(texto)
- # QTimer.singleShot(2000, lambda: self.limparCampos(self.respostasErros))
+ def dadosInvalidos(self):
+ texto = 'DADOS INCOMPLETOS.'
+ resposta = FeadbackErro(texto)
+ # resposta.mudarFoto("Validado")
+ if resposta.exec_():
+ print('erro')
+
+
@pyqtSlot()
def on_btnEntrar_clicked(self):
campos = self.getEmailSenha()
if validarLogin(campos[0], campos[1]):
- # self.validandoDados()
self.accept()
- # else:
- # self.dadosInvalidos()
+ else:
+ self.dadosInvalidos()
def limparCampos(self, campo):
campo.clear()
diff --git a/App/view/telaConfirmacao.py b/App/view/telaConfirmacao.py
new file mode 100644
index 0000000..7659495
--- /dev/null
+++ b/App/view/telaConfirmacao.py
@@ -0,0 +1,28 @@
+from PyQt5.QtWidgets import QDialog
+from PyQt5.uic import loadUi
+from PyQt5.QtCore import Qt
+
+
+class TelaConfirmacao(QDialog):
+ def __init__(self, aviso, txtBtnOk):
+ super().__init__()
+ loadUi('App/view/ui/telaConfirmacao.ui', self)
+ self.aviso.setText(aviso)
+ self.btnOk.clicked.connect(self.accept)
+ self.btnCancelar.clicked.connect(self.reject)
+ self.btnFechar.clicked.connect(self.reject)
+
+ # Remove a barra de título e as bordas da janela
+ self.setWindowFlags(Qt.FramelessWindowHint)
+
+ self.btnOk.setText(txtBtnOk)
+
+if __name__ == "__main__":
+ from PyQt5.QtWidgets import QApplication
+ app = QApplication([])
+ info = TelaConfirmacao('Teste', "Sim")
+ if info.exec_():
+ print('ok')
+ else:
+ print('negado')
+
diff --git a/App/view/ui/feadbackErro.ui b/App/view/ui/feadbackErro.ui
index 3993c01..7621a66 100644
--- a/App/view/ui/feadbackErro.ui
+++ b/App/view/ui/feadbackErro.ui
@@ -10,7 +10,7 @@
0
0
838
- 144
+ 189
@@ -29,65 +29,174 @@
Dialog
- background-color: rgb(255, 255, 255);
+ #btnConfirmar {
+ border: none;
+ background-color: #01498a;
+ color: #FFF;
+ padding: 7px;
+ border-radius: 15px;
+}
+
+#btnFechar:hover {
+ background-color: #FF0000;
+ icon: url("App/view/ui/icones/iconCloseBranco.png");
+}
+
+#btnFechar {
+ border: none;
+ background-color: transparent;
+}
-
- -
-
-
-
- 91
- 91
-
-
-
-
- 97
- 97
-
-
-
-
- 91
- 0
-
-
-
- 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ PointingHandCursor
-
- icones/iconErro.png
-
-
-
- -
-
-
-
- 701
- 91
-
+
+
+ icones/iconClosePreto.pngicones/iconClosePreto.png
-
+
- 999999
- 999999
+ 30
+ 30
-
-
- 17
-
-
-
- color: rgb(255, 0, 0);
-
-
-
+
+
+ -
+
+
+
-
+
+
+
+ 91
+ 91
+
+
+
+
+ 97
+ 97
+
+
+
+
+ 91
+ 0
+
+
+
+ 0
+
+
+
+
+
+ icones/iconErro.png
+
+
+ true
+
+
+
+ -
+
+
+
+ 701
+ 91
+
+
+
+
+ 999999
+ 999999
+
+
+
+
+ 17
+
+
+
+ color: rgb(255, 0, 0);
+
+
+
+
+
+
+
+
+
+ -
+
+
+ PointingHandCursor
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 10
+
+
+ 8
+
+
-
+
+
+
+ 150
+ 30
+
+
+
+
+ 150
+ 30
+
+
+
+ OK
+
+
+
+ 16
+ 16
+
+
+
+
+
diff --git a/App/view/ui/icones/iconAviso.png b/App/view/ui/icones/iconAviso.png
new file mode 100644
index 0000000000000000000000000000000000000000..9fe936fd050efb015abb0fc7cf38304a5377a008
GIT binary patch
literal 2911
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
JPDHLkV1hnFdT;;$
literal 0
HcmV?d00001
diff --git a/App/view/ui/icones/iconExclamacao.png b/App/view/ui/icones/iconExclamacao.png
new file mode 100644
index 0000000000000000000000000000000000000000..d40e9f5d2fff9e7a58bea2070385828db553577e
GIT binary patch
literal 508
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D%zw|TlahE&A8
zz3s?#C_u#dV%h)hZNkfy8XbOA%~79N{hLj6kN$kk#_C;pf0Ppb2naYFm~o)u9;<+X
zn!&tsMwTAVp69U)jLA%oE5-3iIru#Is#l
zomVK$Xt*h_p+WEbj@|}|NOK2=>FIae9D3GBD=au|oTsedc8yoy!c)oZf&$8~**IQ&
z>bcF)F|m}HrKIv$F3XVO%=UY*3t4GP`B=w$G8^>bP0l+XkK
D|53sg
literal 0
HcmV?d00001
diff --git a/App/view/ui/telaConfirmacao.ui b/App/view/ui/telaConfirmacao.ui
new file mode 100644
index 0000000..c2898a4
--- /dev/null
+++ b/App/view/ui/telaConfirmacao.ui
@@ -0,0 +1,289 @@
+
+
+ Dialog
+
+
+
+ 0
+ 0
+ 598
+ 187
+
+
+
+
+ 598
+ 16777215
+
+
+
+ Confirmação
+
+
+
+ icones/iconExclamacao.pngicones/iconExclamacao.png
+
+
+ #widget_3 QPushButton {
+ border: none;
+ color: #FFF;
+ padding: 7px;
+ border-radius: 15px;
+}
+
+#btnCancelar {
+ background-color: #ea3323;
+}
+
+#btnOk {
+ background-color: #01498a;
+}
+
+#btnFechar:hover {
+ background-color: #FF0000;
+ icon: url("App/view/ui/icones/iconCloseBranco.png");
+}
+
+#btnFechar {
+ border: none;
+ background-color: transparent;
+}
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 8
+
+
+
+ PointingHandCursor
+
+
+
+
+
+
+ icones/iconClosePreto.pngicones/iconClosePreto.png
+
+
+
+ 30
+ 30
+
+
+
+
+
+
+
+ -
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 11
+
+
-
+
+
+
+
+
+ icones/iconAviso.png
+
+
+ true
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 478
+ 94
+
+
+
+
+ 19
+
+
+
+ <html><head/><body><p><br/></p></body></html>
+
+
+
+
+
+ true
+
+
+
+
+
+
+ -
+
+
+
+ 7
+
+
+ 7
+
+
+ 0
+
+
+ 7
+
+
+ 6
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 150
+ 0
+
+
+
+
+ 150
+ 16777215
+
+
+
+
+ 10
+
+
+
+ PointingHandCursor
+
+
+ OK
+
+
+
+ -
+
+
+
+ 150
+ 0
+
+
+
+
+ 150
+ 16777215
+
+
+
+
+ 10
+
+
+
+ PointingHandCursor
+
+
+ CANCELAR
+
+
+
+
+
+
+
+
+
+
+
+
+ btnOk
+ btnCancelar
+
+
+
+