kullanici.py 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. from PyQt5.QtWidgets import QWidget, QLineEdit, QLabel, QCheckBox, QVBoxLayout, QHBoxLayout
  2. from PyQt5.QtCore import Qt
  3. from PyQt5.QtGui import QFont, QPixmap
  4. class Kullanici(QWidget):
  5. def __init__(self, ebeveyn=None):
  6. super(Kullanici, self).__init__(ebeveyn)
  7. self.e = ebeveyn
  8. sol_kutu = QVBoxLayout()
  9. self.setLayout(sol_kutu)
  10. self.gercek_ad_ = None
  11. self.kullanici_adi_ = None
  12. self.bilgisayar_adi_ = None
  13. self.giris_sifresi_ = None
  14. self.admin_sifresi_ = None
  15. self.gercek_ad_label = QLabel()
  16. sol_kutu.addWidget(self.gercek_ad_label)
  17. satir_kutu = QHBoxLayout()
  18. satir_kutu.setAlignment(Qt.AlignLeft)
  19. sol_kutu.addLayout(satir_kutu)
  20. self.gercek_ad = QLineEdit()
  21. self.gercek_ad.textChanged.connect(self.otomatik_doldur)
  22. self.gercek_ad.textChanged.connect(self.gercek_ad_kontrol)
  23. self.gercek_ad.setFixedWidth(300)
  24. satir_kutu.addWidget(self.gercek_ad)
  25. self.gercek_ad_icon = QLabel()
  26. self.gercek_ad_icon.setFixedSize(24, 24)
  27. self.gercek_ad_icon.setScaledContents(True)
  28. satir_kutu.addWidget(self.gercek_ad_icon)
  29. self.gercek_ad_info = QLabel()
  30. self.gercek_ad_info.setFont(QFont('SansSerif', 10))
  31. sol_kutu.addWidget(self.gercek_ad_info)
  32. self.kullanici_adi_label = QLabel()
  33. sol_kutu.addWidget(self.kullanici_adi_label)
  34. satir_kutu = QHBoxLayout()
  35. satir_kutu.setAlignment(Qt.AlignLeft)
  36. sol_kutu.addLayout(satir_kutu)
  37. self.kullanici_adi = QLineEdit()
  38. self.kullanici_adi.textChanged.connect(self.kullanici_adi_kontrol)
  39. self.kullanici_adi.setFixedWidth(300)
  40. satir_kutu.addWidget(self.kullanici_adi)
  41. self.kullanici_adi_icon = QLabel()
  42. self.kullanici_adi_icon.setFixedSize(24, 24)
  43. self.kullanici_adi_icon.setScaledContents(True)
  44. satir_kutu.addWidget(self.kullanici_adi_icon)
  45. self.kullanici_adi_info = QLabel()
  46. sol_kutu.addWidget(self.kullanici_adi_info)
  47. self.bilgisayar_adi_label = QLabel()
  48. sol_kutu.addWidget(self.bilgisayar_adi_label)
  49. satir_kutu = QHBoxLayout()
  50. satir_kutu.setAlignment(Qt.AlignLeft)
  51. sol_kutu.addLayout(satir_kutu)
  52. self.bilgisayar_adi = QLineEdit()
  53. self.bilgisayar_adi.textChanged.connect(self.bilgisayar_adi_kontrol)
  54. self.bilgisayar_adi.setFixedWidth(300)
  55. satir_kutu.addWidget(self.bilgisayar_adi)
  56. self.bilgisayar_adi_icon = QLabel()
  57. self.bilgisayar_adi_icon.setFixedSize(24, 24)
  58. self.bilgisayar_adi_icon.setScaledContents(True)
  59. satir_kutu.addWidget(self.bilgisayar_adi_icon)
  60. self.bilgisayar_adi_info = QLabel()
  61. sol_kutu.addWidget(self.bilgisayar_adi_info)
  62. self.giris_sifresi_label = QLabel()
  63. sol_kutu.addWidget(self.giris_sifresi_label)
  64. self.giris_sifresi = QLineEdit()
  65. self.giris_sifresi.textChanged.connect(self.giris_sifresi_kontrol)
  66. self.giris_sifresi.setFixedWidth(300)
  67. self.giris_sifresi.setEchoMode(QLineEdit.Password)
  68. self.giris_sifresi_tekrar = QLineEdit()
  69. self.giris_sifresi_tekrar.textChanged.connect(self.giris_sifresi_kontrol)
  70. self.giris_sifresi_tekrar.setFixedWidth(300)
  71. self.giris_sifresi_tekrar.setEchoMode(QLineEdit.Password)
  72. self.giris_sifresi_icon = QLabel()
  73. self.giris_sifresi_icon.setFixedSize(24, 24)
  74. self.giris_sifresi_icon.setScaledContents(True)
  75. sifre_kutu = QHBoxLayout()
  76. sifre_kutu.setAlignment(Qt.AlignLeft)
  77. sol_kutu.addLayout(sifre_kutu)
  78. sifre_kutu.addWidget(self.giris_sifresi)
  79. sifre_kutu.addWidget(self.giris_sifresi_tekrar)
  80. sifre_kutu.addWidget(self.giris_sifresi_icon)
  81. self.giris_sifresi_info = QLabel()
  82. sol_kutu.addWidget(self.giris_sifresi_info)
  83. self.oto_giris_cb = QCheckBox()
  84. self.oto_giris_cb.stateChanged.connect(self.oto_giris_degisti)
  85. self.oto_giris_degisti()
  86. sol_kutu.addWidget(self.oto_giris_cb)
  87. self.admin_giris_ayni_cb = QCheckBox()
  88. self.admin_giris_ayni_cb.stateChanged.connect(self.admin_giris_degisti)
  89. sol_kutu.addWidget(self.admin_giris_ayni_cb)
  90. self.admin_sifresi_label = QLabel()
  91. sol_kutu.addWidget(self.admin_sifresi_label)
  92. self.admin_sifresi = QLineEdit()
  93. self.admin_sifresi.textChanged.connect(self.admin_sifresi_kontrol)
  94. self.admin_sifresi.setFixedWidth(300)
  95. self.admin_sifresi.setEchoMode(QLineEdit.Password)
  96. self.admin_sifresi_tekrar = QLineEdit()
  97. self.admin_sifresi_tekrar.textChanged.connect(self.admin_sifresi_kontrol)
  98. self.admin_sifresi_tekrar.setFixedWidth(300)
  99. self.admin_sifresi_tekrar.setEchoMode(QLineEdit.Password)
  100. self.admin_sifresi_icon = QLabel()
  101. self.admin_sifresi_icon.setFixedSize(24, 24)
  102. self.admin_sifresi_icon.setScaledContents(True)
  103. sifre_kutu = QHBoxLayout()
  104. sifre_kutu.setAlignment(Qt.AlignLeft)
  105. sol_kutu.addLayout(sifre_kutu)
  106. sifre_kutu.addWidget(self.admin_sifresi)
  107. sifre_kutu.addWidget(self.admin_sifresi_tekrar)
  108. sifre_kutu.addWidget(self.admin_sifresi_icon)
  109. self.admin_sifresi_info = QLabel()
  110. sol_kutu.addWidget(self.admin_sifresi_info)
  111. self.admin_giris_ayni_cb.setChecked(True)
  112. def gercek_ad_kontrol(self):
  113. if len(self.kullanici_adi.text()) > 2:
  114. self.gercek_ad_ = self.kullanici_adi.text()
  115. self.gercek_ad_icon.setPixmap(QPixmap("./resimler/oldu.svg"))
  116. self.gercek_ad_info.clear()
  117. else:
  118. self.gercek_ad_ = None
  119. self.gercek_ad_icon.setPixmap(QPixmap("./resimler/olmadi.svg"))
  120. self.gercek_ad_info.setText(self.e.d[self.e.s_d]["2 karakterden fazla olmalı"])
  121. self.ileri_kontrol()
  122. def kullanici_adi_kontrol(self):
  123. if self.kullanici_adi.text().isalnum() and len(self.kullanici_adi.text()) > 3:
  124. self.kullanici_adi_ = self.kullanici_adi.text()
  125. self.kullanici_adi_icon.setPixmap(QPixmap("./resimler/oldu.svg"))
  126. self.kullanici_adi_info.setText("")
  127. else:
  128. self.kullanici_adi_ = None
  129. self.kullanici_adi_icon.setPixmap(QPixmap("./resimler/olmadi.svg"))
  130. self.kullanici_adi_info.setText(self.e.d[self.e.s_d]["harf ve 3 karakterden fazla olmalı"])
  131. self.ileri_kontrol()
  132. def bilgisayar_adi_kontrol(self):
  133. if self.bilgisayar_adi.text().replace("-","").isalnum() and len(self.bilgisayar_adi.text()) > 3:
  134. self.bilgisayar_adi_ = self.bilgisayar_adi.text()
  135. self.bilgisayar_adi_icon.setPixmap(QPixmap("./resimler/oldu.svg"))
  136. self.bilgisayar_adi_info.setText("")
  137. else:
  138. self.bilgisayar_adi_ = None
  139. self.bilgisayar_adi_icon.setPixmap(QPixmap("./resimler/olmadi.svg"))
  140. self.bilgisayar_adi_info.setText(self.e.d[self.e.s_d]["harf ve 3 karakterden fazla olmalı"])
  141. self.ileri_kontrol()
  142. def giris_sifresi_kontrol(self):
  143. if len(self.giris_sifresi.text()) > 5 and self.giris_sifresi.text() == self.giris_sifresi_tekrar.text():
  144. self.giris_sifresi_ = self.giris_sifresi.text()
  145. self.giris_sifresi_icon.setPixmap(QPixmap("./resimler/oldu.svg"))
  146. self.giris_sifresi_info.setText("")
  147. else:
  148. self.giris_sifresi_ = None
  149. self.giris_sifresi_icon.setPixmap(QPixmap("./resimler/olmadi.svg"))
  150. self.giris_sifresi_info.setText(self.e.d[self.e.s_d]["5 karakterden fazla ve şifreler aynı olmalı"])
  151. self.ileri_kontrol()
  152. def admin_sifresi_kontrol(self):
  153. if len(self.admin_sifresi.text()) > 5 and self.admin_sifresi.text() == self.admin_sifresi_tekrar.text():
  154. self.admin_sifresi_ = self.admin_sifresi.text()
  155. self.admin_sifresi_icon.setPixmap(QPixmap("./resimler/oldu.svg"))
  156. self.admin_sifresi_info.setText("")
  157. else:
  158. self.admin_sifresi_ = None
  159. self.admin_sifresi_icon.setPixmap(QPixmap("./resimler/olmadi.svg"))
  160. self.admin_sifresi_info.setText(self.e.d[self.e.s_d]["5 karakterden fazla ve şifreler aynı olmalı"])
  161. self.ileri_kontrol()
  162. def admin_giris_degisti(self):
  163. if self.admin_giris_ayni_cb.isChecked():
  164. self.admin_sifresi.setHidden(True)
  165. self.admin_sifresi_tekrar.setHidden(True)
  166. self.admin_sifresi_icon.setHidden(True)
  167. self.admin_sifresi_label.setHidden(True)
  168. self.admin_sifresi_info.setHidden(True)
  169. else:
  170. self.admin_sifresi.setHidden(False)
  171. self.admin_sifresi_tekrar.setHidden(False)
  172. self.admin_sifresi_icon.setHidden(False)
  173. self.admin_sifresi_label.setHidden(False)
  174. self.admin_sifresi_info.setHidden(False)
  175. self.ileri_kontrol()
  176. def oto_giris_degisti(self):
  177. if self.oto_giris_cb.isChecked():
  178. self.e.milis_ayarlar["otomatik_giris"] = True
  179. else:
  180. self.e.milis_ayarlar["otomatik_giris"] = False
  181. def ileri_kontrol(self):
  182. if self.kullanici_adi_ != None and self.gercek_ad_ != None and self.bilgisayar_adi_ != None and self.giris_sifresi_ != None:
  183. if self.admin_sifresi_ != None:
  184. self.e.milis_ayarlar["gercek_ad"] = self.gercek_ad_
  185. self.e.milis_ayarlar["kullanici_adi"] = self.kullanici_adi_
  186. self.e.milis_ayarlar["bilgisayar_adi"] = self.bilgisayar_adi_
  187. self.e.milis_ayarlar["giris_sifresi"] = self.giris_sifresi_
  188. self.e.milis_ayarlar["admin_sifresi"] = self.admin_sifresi_
  189. self.e.ileri_dugme.setDisabled(False)
  190. elif self.admin_giris_ayni_cb.isChecked():
  191. self.e.milis_ayarlar["gercek_ad"] = self.gercek_ad_
  192. self.e.milis_ayarlar["kullanici_adi"] = self.kullanici_adi_
  193. self.e.milis_ayarlar["bilgisayar_adi"] = self.bilgisayar_adi_
  194. self.e.milis_ayarlar["giris_sifresi"] = self.giris_sifresi_
  195. self.e.milis_ayarlar["admin_sifresi"] = self.giris_sifresi_
  196. self.e.ileri_dugme.setDisabled(False)
  197. else:
  198. self.e.ileri_dugme.setDisabled(True)
  199. else:
  200. self.e.ileri_dugme.setDisabled(True)
  201. def otomatik_doldur(self):
  202. ad = self.gercek_ad.text()
  203. self.kullanici_adi.setText(ad.lower().replace(" ", ""))
  204. self.bilgisayar_adi.setText(ad.lower().replace(" ", "")+"-makine")
  205. def showEvent(self, event):
  206. self.e.setWindowTitle(self.e.d[self.e.s_d]["Kullanıcı Bilgileri"])
  207. self.gercek_ad_label.setText(self.e.d[self.e.s_d]["Adınız nedir?"])
  208. self.kullanici_adi_label.setText(self.e.d[self.e.s_d]["Giriş yapmak için hangi adı kullanmak istiyorsunuz?"])
  209. self.bilgisayar_adi_label.setText(self.e.d[self.e.s_d]["Bu bilgisayarın adı ne?"])
  210. self.giris_sifresi_label.setText(self.e.d[self.e.s_d]["Hesabınızı güvende tutmak için bir şifre seçin."])
  211. self.oto_giris_cb.setText(self.e.d[self.e.s_d]["Şifre istemeden otomatik giriş yapın"])
  212. self.admin_giris_ayni_cb.setText(self.e.d[self.e.s_d]["Yönetici hesabı için aynı şifreyi kullanın"])
  213. self.admin_sifresi_label.setText(self.e.d[self.e.s_d]["Yönetici hesabı için bir şifre seçin"])
  214. self.gercek_ad_kontrol()
  215. self.kullanici_adi_kontrol()
  216. self.bilgisayar_adi_kontrol()
  217. self.giris_sifresi_kontrol()
  218. self.admin_sifresi_kontrol()