Geheimnis.cpp 20 KB

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