Passwort.cpp 19 KB

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