Passwort.cpp 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610
  1. #include "Passwort.h"
  2. #include <InitDatei.h>
  3. #include <Punkt.h>
  4. #include <Text.h>
  5. #include "..\..\Global\Initialisierung.h"
  6. #include "..\..\Global\Variablen.h"
  7. // Inhalt der PasswortÄndern Klasse aus Passwort.h
  8. // Konstruktor
  9. PasswortÄndern::PasswortÄndern(Fenster* zVorLoginFenster)
  10. : ReferenceCounter()
  11. {
  12. Punkt bildschirmmitte
  13. = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
  14. passwortÄndern = initKnopf(
  15. 10, 170, 130, 30, Knopf::Style::Sichtbar, "Passwort ändern");
  16. passwortÄndern->setMausEreignisParameter(this);
  17. passwortÄndern->setMausEreignis(passwortÄndernPasswortÄndernME);
  18. initToolTip(passwortÄndern, "Account Passwort ändern.");
  19. zVorLoginFenster->addMember(
  20. dynamic_cast<Zeichnung*>(passwortÄndern->getThis()));
  21. fenster = initFenster(bildschirmmitte.x - 125,
  22. bildschirmmitte.y - 115,
  23. 250,
  24. 230,
  25. Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
  26. | Fenster::Style::TitelBuffered,
  27. "Passwort ändern");
  28. name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
  29. name->setTastaturEreignisParameter(this);
  30. name->setTastaturEreignis(passwortÄndernNameTE);
  31. initToolTip(name, "Account Name.");
  32. fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
  33. passwort
  34. = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Passwort");
  35. passwort->setTastaturEreignisParameter(this);
  36. passwort->setTastaturEreignis(passwortÄndernPasswortTE);
  37. initToolTip(passwort, "Account Passwort.");
  38. fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
  39. neuPasswort = initTextFeld(
  40. 20, 80, 208, 20, TextFeld::Style::TextFeld, "neues Passwort");
  41. neuPasswort->setTastaturEreignisParameter(this);
  42. neuPasswort->setTastaturEreignis(passwortÄndernNeuPasswortTE);
  43. initToolTip(neuPasswort, "Neues Account Passwort.");
  44. fenster->addMember(dynamic_cast<Zeichnung*>(neuPasswort->getThis()));
  45. neuPasswort2 = initTextFeld(
  46. 20, 110, 208, 20, TextFeld::Style::TextFeld, "Passwort wiederholen");
  47. neuPasswort2->setTastaturEreignisParameter(this);
  48. neuPasswort2->setTastaturEreignis(passwortÄndernNeuPasswort2TE);
  49. initToolTip(neuPasswort2, "Neues Passwort Wiederhohlen.");
  50. fenster->addMember(dynamic_cast<Zeichnung*>(neuPasswort2->getThis()));
  51. geheimnis
  52. = initTextFeld(20, 140, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
  53. geheimnis->setTastaturEreignisParameter(this);
  54. geheimnis->setTastaturEreignis(passwortÄndernGeheimnisTE);
  55. initToolTip(geheimnis, "Account Geheimnis.");
  56. fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
  57. weiter = initKnopf(74, 170, 100, 20, Knopf::Style::Sichtbar, "weiter");
  58. weiter->setMausEreignisParameter(this);
  59. weiter->setMausEreignis(passwortÄndernWeiterME);
  60. nachricht = initTextFeld(0,
  61. 5,
  62. 255,
  63. 150,
  64. TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig,
  65. "");
  66. fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
  67. fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
  68. zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
  69. }
  70. // Destruktor
  71. PasswortÄndern::~PasswortÄndern()
  72. {
  73. if (passwortÄndern) passwortÄndern = (Knopf*)passwortÄndern->release();
  74. if (fenster) fenster = (Fenster*)fenster->release();
  75. if (name) name = (TextFeld*)name->release();
  76. if (passwort) passwort = (TextFeld*)passwort->release();
  77. if (neuPasswort) neuPasswort = (TextFeld*)neuPasswort->release();
  78. if (neuPasswort2) neuPasswort2 = (TextFeld*)neuPasswort2->release();
  79. if (geheimnis) geheimnis = (TextFeld*)geheimnis->release();
  80. if (weiter) weiter = (Knopf*)weiter->release();
  81. if (nachricht) nachricht = (TextFeld*)nachricht->release();
  82. }
  83. // Privat
  84. void PasswortÄndern::zeigeNachricht(const char* txt)
  85. {
  86. Punkt bildschirmmitte
  87. = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
  88. name->removeStyle(TextFeld::Style::Sichtbar);
  89. passwort->removeStyle(TextFeld::Style::Sichtbar);
  90. neuPasswort->removeStyle(TextFeld::Style::Sichtbar);
  91. neuPasswort2->removeStyle(TextFeld::Style::Sichtbar);
  92. geheimnis->removeStyle(TextFeld::Style::Sichtbar);
  93. fenster->setSize(250, 150);
  94. fenster->setPosition(bildschirmmitte.x - 125, bildschirmmitte.y - 75);
  95. weiter->setPosition(139, 100);
  96. weiter->setText("Ok");
  97. nachricht->setText(txt);
  98. if (nachricht->zText()->getLength() > 30)
  99. {
  100. int pos = -1;
  101. bool set = 0;
  102. int lastp = 0;
  103. for (int i = 20; i < nachricht->zText()->getLength();)
  104. {
  105. const char* tmp = &nachricht->zText()->getText()[i];
  106. while (*tmp != ' ' && i < nachricht->zText()->getLength())
  107. {
  108. tmp++;
  109. i++;
  110. if (i - 30 >= lastp)
  111. {
  112. if (set)
  113. {
  114. lastp = pos;
  115. set = 0;
  116. ((char*)nachricht->zText()->getText())[pos] = '\n';
  117. }
  118. else
  119. lastp += 5;
  120. }
  121. }
  122. if (i < nachricht->zText()->getLength())
  123. {
  124. pos = i;
  125. set = 1;
  126. tmp++;
  127. i++;
  128. }
  129. }
  130. }
  131. nachricht->addStyle(TextFeld::Style::Sichtbar);
  132. }
  133. // Knopfdruck
  134. void PasswortÄndern::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
  135. {
  136. fenster->removeStyle(Fenster::Style::Sichtbar);
  137. passwortÄndern->setRahmenBreite(2);
  138. passwortÄndern->setAlphaFeldFarbe(0x5500FF00);
  139. passwortÄndern->setAlphaFeldStrength(-5);
  140. }
  141. bool PasswortÄndern::passwortÄndernME(
  142. void* obj, MausEreignis me) // MausEreignis im Knopf passwortVergessen
  143. {
  144. if (me.id == ME_RLinks)
  145. {
  146. vorLogin->setPasswortÄndern();
  147. passwortÄndern->setRahmenBreite(3);
  148. passwortÄndern->setAlphaFeldFarbe(0xFF000000);
  149. passwortÄndern->setAlphaFeldStrength(20);
  150. Punkt bildschirmmitte
  151. = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
  152. fenster->setSize(255, 230);
  153. fenster->setPosition(bildschirmmitte.x - 125, bildschirmmitte.y - 115);
  154. fenster->addStyle(Fenster::Style::Sichtbar);
  155. nachricht->removeStyle(TextFeld::Style::Sichtbar);
  156. weiter->setText("weiter");
  157. weiter->setPosition(75, 170);
  158. name->addStyle(TextFeld::Style::Sichtbar);
  159. passwort->addStyle(TextFeld::Style::Sichtbar);
  160. neuPasswort->addStyle(TextFeld::Style::Sichtbar);
  161. neuPasswort2->addStyle(TextFeld::Style::Sichtbar);
  162. geheimnis->addStyle(TextFeld::Style::Sichtbar);
  163. name->addStyle(TextFeld::Style::Fokus);
  164. name->setAuswahl(0, name->zText()->getLength());
  165. }
  166. return 1;
  167. }
  168. bool PasswortÄndern::nameTE(
  169. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
  170. {
  171. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  172. if (te.id == TE_Release
  173. && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
  174. {
  175. name->removeStyle(TextFeld::Style::Fokus);
  176. passwort->addStyle(TextFeld::Style::Fokus);
  177. passwort->setAuswahl(0, passwort->zText()->getLength());
  178. }
  179. if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
  180. return 0;
  181. return 1;
  182. }
  183. bool PasswortÄndern::passwortTE(
  184. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort
  185. {
  186. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  187. if (te.id == TE_Press) passwort->setSchowChar('*');
  188. if (te.id == TE_Release
  189. && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
  190. {
  191. passwort->removeStyle(TextFeld::Style::Fokus);
  192. neuPasswort->addStyle(TextFeld::Style::Fokus);
  193. neuPasswort->setAuswahl(0, neuPasswort->zText()->getLength());
  194. }
  195. if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
  196. return 0;
  197. return 1;
  198. }
  199. bool PasswortÄndern::neuPasswortTE(
  200. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld neuPasswort
  201. {
  202. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  203. if (te.id == TE_Press) neuPasswort->setSchowChar('*');
  204. if (te.id == TE_Release
  205. && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
  206. {
  207. neuPasswort->removeStyle(TextFeld::Style::Fokus);
  208. neuPasswort2->addStyle(TextFeld::Style::Fokus);
  209. neuPasswort2->setAuswahl(0, neuPasswort2->zText()->getLength());
  210. }
  211. if (neuPasswort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
  212. return 0;
  213. return 1;
  214. }
  215. bool PasswortÄndern::neuPasswort2TE(
  216. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld neuPasswort2
  217. {
  218. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  219. if (te.id == TE_Press) neuPasswort2->setSchowChar('*');
  220. if (te.id == TE_Release
  221. && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
  222. {
  223. neuPasswort2->removeStyle(TextFeld::Style::Fokus);
  224. geheimnis->addStyle(TextFeld::Style::Fokus);
  225. geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
  226. }
  227. if (neuPasswort2->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
  228. return 0;
  229. return 1;
  230. }
  231. bool PasswortÄndern::geheimnisTE(
  232. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
  233. {
  234. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  235. if (te.id == TE_Press) geheimnis->setSchowChar('*');
  236. if (te.id == TE_Release && te.virtualKey == T_Enter)
  237. {
  238. geheimnis->removeStyle(TextFeld::Style::Fokus);
  239. MausEreignis me;
  240. me.id = ME_RLinks;
  241. weiterME(0, me);
  242. }
  243. if (geheimnis->zText()->getLength() >= 50 && istSchreibbar(te.taste[0]))
  244. return 0;
  245. return 1;
  246. }
  247. bool PasswortÄndern::weiterME(
  248. void* obj, MausEreignis me) // MausEreignis im Knopf weiter
  249. {
  250. if (me.id == ME_RLinks)
  251. {
  252. if (weiter->zText()->istGleich("weiter"))
  253. {
  254. if (name->zText()->getLength() == 0)
  255. zeigeNachricht("Bitte gebe deinen Accountnamen ein.");
  256. if (passwort->zText()->getLength() == 0)
  257. zeigeNachricht("Bitte gebe dein Accountpasswort ein.");
  258. if (neuPasswort->zText()->getLength() == 0)
  259. zeigeNachricht("Bitte gebe ein neues Passwort ein.");
  260. if (geheimnis->zText()->getLength() == 0)
  261. zeigeNachricht("Bitte gebe dein Accountgeheimnis ein.");
  262. if (!neuPasswort2->zText()->istGleich(
  263. neuPasswort->zText()->getText()))
  264. zeigeNachricht("Das wiederhohlte Passwort stimmt nicht mit dem "
  265. "neuen Passwort überein.");
  266. if (weiter->zText()->istGleich("Ok")) return 1;
  267. new AktionsThread(13,
  268. name->zText()->getText(),
  269. passwort->zText()->getText(),
  270. geheimnis->zText()->getText(),
  271. neuPasswort->zText()->getText(),
  272. 0);
  273. }
  274. else
  275. {
  276. Punkt bildschirmmitte
  277. = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
  278. fenster->setSize(255, 230);
  279. fenster->setPosition(
  280. bildschirmmitte.x - 125, bildschirmmitte.y - 115);
  281. fenster->addStyle(Fenster::Style::Sichtbar);
  282. nachricht->removeStyle(TextFeld::Style::Sichtbar);
  283. weiter->setText("weiter");
  284. weiter->setPosition(75, 170);
  285. name->addStyle(TextFeld::Style::Sichtbar);
  286. passwort->addStyle(TextFeld::Style::Sichtbar);
  287. neuPasswort->addStyle(TextFeld::Style::Sichtbar);
  288. neuPasswort2->addStyle(TextFeld::Style::Sichtbar);
  289. geheimnis->addStyle(TextFeld::Style::Sichtbar);
  290. name->addStyle(TextFeld::Style::Fokus);
  291. name->setAuswahl(0, name->zText()->getLength());
  292. }
  293. }
  294. return 1;
  295. }
  296. void PasswortÄndern::setResult(bool ret) // Setzt den Returnwert
  297. {
  298. if (ret)
  299. zeigeNachricht("Passwort erfolgreich geändert.");
  300. else if (lastError.getLength())
  301. zeigeNachricht(lastError);
  302. else
  303. zeigeNachricht("Es ist ein Unbekannter Fehler aufgetreten.");
  304. }
  305. // Inhalt der PasswortVergessen Klasse aus Passwort.h
  306. // Konstruktor
  307. PasswortVergessen::PasswortVergessen(Fenster* zVorLoginFenster)
  308. : ReferenceCounter()
  309. {
  310. Punkt bildschirmmitte
  311. = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
  312. passwortVergessen = initKnopf(
  313. 10, 330, 130, 30, Knopf::Style::Sichtbar, "Passwort vergessen");
  314. passwortVergessen->setMausEreignisParameter(this);
  315. passwortVergessen->setMausEreignis(passwortVergessenPasswortVergessenME);
  316. initToolTip(passwortVergessen, "Account Passwort per E-Mail senden.");
  317. zVorLoginFenster->addMember(
  318. dynamic_cast<Zeichnung*>(passwortVergessen->getThis()));
  319. fenster = initFenster(bildschirmmitte.x - 125,
  320. bildschirmmitte.y - 70,
  321. 250,
  322. 140,
  323. Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
  324. | Fenster::Style::TitelBuffered,
  325. "Passwort vergessen");
  326. name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
  327. name->setTastaturEreignisParameter(this);
  328. name->setTastaturEreignis(passwortVergessenNameTE);
  329. initToolTip(name, "Account Name.");
  330. fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
  331. geheimnis
  332. = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
  333. geheimnis->setTastaturEreignisParameter(this);
  334. geheimnis->setTastaturEreignis(passwortVergessenGeheimnisTE);
  335. initToolTip(geheimnis, "Account geheimnis.");
  336. fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
  337. weiter = initKnopf(74, 80, 100, 20, Knopf::Style::Sichtbar, "weiter");
  338. weiter->setMausEreignisParameter(this);
  339. weiter->setMausEreignis(passwortVergessenWeiterME);
  340. nachricht = initTextFeld(0,
  341. 5,
  342. 255,
  343. 150,
  344. TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig,
  345. "");
  346. fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
  347. fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
  348. zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
  349. }
  350. // Destruktor
  351. PasswortVergessen::~PasswortVergessen()
  352. {
  353. if (passwortVergessen)
  354. passwortVergessen = (Knopf*)passwortVergessen->release();
  355. if (fenster) fenster = (Fenster*)fenster->release();
  356. if (name) name = (TextFeld*)name->release();
  357. if (geheimnis) geheimnis = (TextFeld*)geheimnis->release();
  358. if (weiter) weiter = (Knopf*)weiter->release();
  359. if (nachricht) nachricht = (TextFeld*)nachricht->release();
  360. }
  361. // Privat
  362. void PasswortVergessen::zeigeNachricht(const char* txt)
  363. {
  364. Punkt bildschirmmitte
  365. = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
  366. name->removeStyle(TextFeld::Style::Sichtbar);
  367. geheimnis->removeStyle(TextFeld::Style::Sichtbar);
  368. fenster->setSize(250, 150);
  369. fenster->setPosition(bildschirmmitte.x - 125, bildschirmmitte.y - 75);
  370. weiter->setPosition(139, 100);
  371. weiter->setText("Ok");
  372. nachricht->setText(txt);
  373. if (nachricht->zText()->getLength() > 30)
  374. {
  375. int pos = -1;
  376. bool set = 0;
  377. int lastp = 0;
  378. for (int i = 20; i < nachricht->zText()->getLength();)
  379. {
  380. const char* tmp = &nachricht->zText()->getText()[i];
  381. while (*tmp != ' ' && i < nachricht->zText()->getLength())
  382. {
  383. tmp++;
  384. i++;
  385. if (i - 30 >= lastp)
  386. {
  387. if (set)
  388. {
  389. lastp = pos;
  390. set = 0;
  391. ((char*)nachricht->zText()->getText())[pos] = '\n';
  392. }
  393. else
  394. lastp += 5;
  395. }
  396. }
  397. if (i < nachricht->zText()->getLength())
  398. {
  399. pos = i;
  400. set = 1;
  401. tmp++;
  402. i++;
  403. }
  404. }
  405. }
  406. nachricht->addStyle(TextFeld::Style::Sichtbar);
  407. }
  408. // Knopfdruck
  409. void PasswortVergessen::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
  410. {
  411. fenster->removeStyle(Fenster::Style::Sichtbar);
  412. passwortVergessen->setRahmenBreite(2);
  413. passwortVergessen->setAlphaFeldFarbe(0x5500FF00);
  414. passwortVergessen->setAlphaFeldStrength(-5);
  415. }
  416. bool PasswortVergessen::passwortVergessenME(
  417. void* obj, MausEreignis me) // MausEreignis im Knopf passwortVergessen
  418. {
  419. if (me.id == ME_RLinks)
  420. {
  421. vorLogin->setPasswortVergessen();
  422. passwortVergessen->setRahmenBreite(3);
  423. passwortVergessen->setAlphaFeldFarbe(0xFF000000);
  424. passwortVergessen->setAlphaFeldStrength(20);
  425. Punkt bildschirmmitte
  426. = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
  427. fenster->setSize(255, 140);
  428. fenster->setPosition(bildschirmmitte.x - 125, bildschirmmitte.y - 70);
  429. fenster->addStyle(Fenster::Style::Sichtbar);
  430. nachricht->removeStyle(TextFeld::Style::Sichtbar);
  431. weiter->setText("weiter");
  432. weiter->setPosition(75, 80);
  433. name->addStyle(TextFeld::Style::Sichtbar);
  434. geheimnis->addStyle(TextFeld::Style::Sichtbar);
  435. name->addStyle(TextFeld::Style::Fokus);
  436. name->setAuswahl(0, name->zText()->getLength());
  437. }
  438. return 1;
  439. }
  440. bool PasswortVergessen::nameTE(
  441. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
  442. {
  443. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  444. if (te.id == TE_Release
  445. && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
  446. {
  447. name->removeStyle(TextFeld::Style::Fokus);
  448. geheimnis->addStyle(TextFeld::Style::Fokus);
  449. geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
  450. }
  451. if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
  452. return 0;
  453. return 1;
  454. }
  455. bool PasswortVergessen::geheimnisTE(
  456. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
  457. {
  458. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  459. if (te.id == TE_Press) geheimnis->setSchowChar('*');
  460. if (te.id == TE_Release && te.virtualKey == T_Enter)
  461. {
  462. geheimnis->removeStyle(TextFeld::Style::Fokus);
  463. MausEreignis me;
  464. me.id = ME_RLinks;
  465. weiterME(0, me);
  466. }
  467. if (geheimnis->zText()->getLength() >= 50 && istSchreibbar(te.taste[0]))
  468. return 0;
  469. return 1;
  470. }
  471. bool PasswortVergessen::weiterME(
  472. void* obj, MausEreignis me) // MausEreignis im Knopf weiter
  473. {
  474. if (me.id == ME_RLinks)
  475. {
  476. if (weiter->zText()->istGleich("weiter"))
  477. {
  478. if (name->zText()->getLength() == 0)
  479. zeigeNachricht("Bitte gebe deinen Accountnamen ein.");
  480. if (geheimnis->zText()->getLength() == 0)
  481. zeigeNachricht("Bitte gebe dein Accountgeheimnis ein.");
  482. if (weiter->zText()->istGleich("Ok")) return 1;
  483. new AktionsThread(14,
  484. name->zText()->getText(),
  485. geheimnis->zText()->getText(),
  486. 0,
  487. 0,
  488. 0);
  489. }
  490. else
  491. {
  492. Punkt bildschirmmitte
  493. = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
  494. fenster->setSize(255, 140);
  495. fenster->setPosition(
  496. bildschirmmitte.x - 125, bildschirmmitte.y - 70);
  497. fenster->addStyle(Fenster::Style::Sichtbar);
  498. nachricht->removeStyle(TextFeld::Style::Sichtbar);
  499. weiter->setText("weiter");
  500. weiter->setPosition(75, 80);
  501. name->addStyle(TextFeld::Style::Sichtbar);
  502. geheimnis->addStyle(TextFeld::Style::Sichtbar);
  503. name->addStyle(TextFeld::Style::Fokus);
  504. name->setAuswahl(0, name->zText()->getLength());
  505. }
  506. }
  507. return 1;
  508. }
  509. void PasswortVergessen::setResult(bool ret) // Setzt den Returnwert
  510. {
  511. if (ret)
  512. zeigeNachricht(
  513. "Dir wurde eine E-Mail mit deinem Accountpasswort gesendet.");
  514. else if (lastError.getLength())
  515. zeigeNachricht(lastError);
  516. else
  517. zeigeNachricht("Es ist ein Unbekannter Fehler aufgetreten.");
  518. }
  519. // messages
  520. bool passwortÄndernPasswortÄndernME(void* p, void* obj, MausEreignis me)
  521. {
  522. if (!p) return 0;
  523. return ((PasswortÄndern*)p)->passwortÄndernME(obj, me);
  524. }
  525. bool passwortÄndernNameTE(void* p, void* obj, TastaturEreignis te)
  526. {
  527. if (!p) return 0;
  528. return ((PasswortÄndern*)p)->nameTE(obj, te);
  529. }
  530. bool passwortÄndernPasswortTE(void* p, void* obj, TastaturEreignis te)
  531. {
  532. if (!p) return 0;
  533. return ((PasswortÄndern*)p)->passwortTE(obj, te);
  534. }
  535. bool passwortÄndernNeuPasswortTE(void* p, void* obj, TastaturEreignis te)
  536. {
  537. if (!p) return 0;
  538. return ((PasswortÄndern*)p)->neuPasswortTE(obj, te);
  539. }
  540. bool passwortÄndernNeuPasswort2TE(void* p, void* obj, TastaturEreignis te)
  541. {
  542. if (!p) return 0;
  543. return ((PasswortÄndern*)p)->neuPasswort2TE(obj, te);
  544. }
  545. bool passwortÄndernGeheimnisTE(void* p, void* obj, TastaturEreignis te)
  546. {
  547. if (!p) return 0;
  548. return ((PasswortÄndern*)p)->geheimnisTE(obj, te);
  549. }
  550. bool passwortÄndernWeiterME(void* p, void* obj, MausEreignis me)
  551. {
  552. if (!p) return 0;
  553. return ((PasswortÄndern*)p)->weiterME(obj, me);
  554. }
  555. bool passwortVergessenPasswortVergessenME(void* p, void* obj, MausEreignis me)
  556. {
  557. if (!p) return 0;
  558. return ((PasswortVergessen*)p)->passwortVergessenME(obj, me);
  559. }
  560. bool passwortVergessenNameTE(void* p, void* obj, TastaturEreignis te)
  561. {
  562. if (!p) return 0;
  563. return ((PasswortVergessen*)p)->nameTE(obj, te);
  564. }
  565. bool passwortVergessenGeheimnisTE(void* p, void* obj, TastaturEreignis te)
  566. {
  567. if (!p) return 0;
  568. return ((PasswortVergessen*)p)->geheimnisTE(obj, te);
  569. }
  570. bool passwortVergessenWeiterME(void* p, void* obj, MausEreignis me)
  571. {
  572. if (!p) return 0;
  573. return ((PasswortVergessen*)p)->weiterME(obj, me);
  574. }