Passwort.cpp 22 KB

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