summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/security/main.cpp4
-rw-r--r--core/settings/security/multiauthconfig.cpp6
-rw-r--r--noncore/securityplugins/blueping/bluepingplugin.cpp3
-rw-r--r--noncore/securityplugins/notice/noticeConfigWidget.cpp4
-rw-r--r--noncore/securityplugins/notice/noticeConfigWidget.h4
-rw-r--r--noncore/securityplugins/notice/noticeplugin.cpp2
6 files changed, 7 insertions, 16 deletions
diff --git a/core/settings/security/main.cpp b/core/settings/security/main.cpp
index f161109..7f24490 100644
--- a/core/settings/security/main.cpp
+++ b/core/settings/security/main.cpp
@@ -1,46 +1,44 @@
1#include "multiauthconfig.h" 1#include "multiauthconfig.h"
2#include <opie2/oapplication.h> 2#include <opie2/oapplication.h>
3#include <opie2/odebug.h> 3#include <opie2/odebug.h>
4 4
5 5
6 6
7int main(int argc, char **argv) { 7int main(int argc, char **argv) {
8 Opie::Core::OApplication app(argc, argv, "MultiAuthentication Config"); 8 Opie::Core::OApplication app(argc, argv, "MultiAuthentication Config");
9 // protect this dialog if option set 9 // protect this dialog if option set
10 Config* pcfg = new Config("Security"); 10 Config* pcfg = new Config("Security");
11 pcfg->setGroup( "Misc" ); 11 pcfg->setGroup( "Misc" );
12 bool protectConfigDialog = ! pcfg->readBoolEntry("noProtectConfig", true); 12 bool protectConfigDialog = ! pcfg->readBoolEntry("noProtectConfig", true);
13 delete pcfg; 13 delete pcfg;
14 bool show = true; 14 bool show = true;
15 if ( protectConfigDialog ) 15 if ( protectConfigDialog )
16 { 16 {
17 if (Opie::Security::Internal::runPlugins() != 0) 17 if (Opie::Security::Internal::runPlugins() != 0)
18 { 18 {
19 // authentication failed 19 // authentication failed
20 show = false; 20 show = false;
21 } 21 }
22 } 22 }
23 if ( show == true ) 23 if ( show == true ){
24 {
25 printf("building dialog\n");
26 MultiauthConfig dialog; 24 MultiauthConfig dialog;
27 app.setMainWidget(&dialog); 25 app.setMainWidget(&dialog);
28 26
29 if ( dialog.exec() == QDialog::Accepted ) { 27 if ( dialog.exec() == QDialog::Accepted ) {
30 // write the general, login and sync config 28 // write the general, login and sync config
31 dialog.writeConfig(); 29 dialog.writeConfig();
32 // call writeConfig() on each plugin config widget 30 // call writeConfig() on each plugin config widget
33 Opie::Security::MultiauthConfigWidget *confWidget; 31 Opie::Security::MultiauthConfigWidget *confWidget;
34 for ( confWidget = dialog.configWidgetList.first(); confWidget != 0; 32 for ( confWidget = dialog.configWidgetList.first(); confWidget != 0;
35 confWidget = dialog.configWidgetList.next() ) { 33 confWidget = dialog.configWidgetList.next() ) {
36 confWidget->writeConfig(); 34 confWidget->writeConfig();
37 } 35 }
38 } 36 }
39 dialog.close(); 37 dialog.close();
40 app.quit(); 38 app.quit();
41 return 0; 39 return 0;
42 } else { 40 } else {
43 owarn << "authentication failed, not showing opie-security" << oendl; 41 owarn << "authentication failed, not showing opie-security" << oendl;
44 return 1; 42 return 1;
45 } 43 }
46} 44}
diff --git a/core/settings/security/multiauthconfig.cpp b/core/settings/security/multiauthconfig.cpp
index 0ce4542..93e73c3 100644
--- a/core/settings/security/multiauthconfig.cpp
+++ b/core/settings/security/multiauthconfig.cpp
@@ -319,240 +319,234 @@ void MultiauthConfig::writeConfig()
319 // this makes sure the names get saved in the order selected 319 // this makes sure the names get saved in the order selected
320 for ( ; list_it.current(); ++list_it ) { 320 for ( ; list_it.current(); ++list_it ) {
321 QMap <QString, QCheckListItem *>::Iterator it; 321 QMap <QString, QCheckListItem *>::Iterator it;
322 for ( it = m_plugins.begin(); it != m_plugins. end (); ++it ) { 322 for ( it = m_plugins.begin(); it != m_plugins. end (); ++it ) {
323 if ( list_it.current() == (*it) && !(*it)-> isOn () ) { 323 if ( list_it.current() == (*it) && !(*it)-> isOn () ) {
324 exclude << it.key(); 324 exclude << it.key();
325 } else if ( list_it.current() == (*it) && (*it)-> isOn () ){ 325 } else if ( list_it.current() == (*it) && (*it)-> isOn () ){
326 include << it.key(); 326 include << it.key();
327 } 327 }
328 if ( list_it.current() == (*it) ) { 328 if ( list_it.current() == (*it) ) {
329 allPlugins << it.key(); 329 allPlugins << it.key();
330 } 330 }
331 } 331 }
332 } 332 }
333 pcfg->writeEntry( "ExcludePlugins", exclude, ',' ); 333 pcfg->writeEntry( "ExcludePlugins", exclude, ',' );
334 pcfg->writeEntry( "IncludePlugins", include, ',' ); 334 pcfg->writeEntry( "IncludePlugins", include, ',' );
335 pcfg->writeEntry( "AllPlugins", allPlugins, ',' ); 335 pcfg->writeEntry( "AllPlugins", allPlugins, ',' );
336 336
337 pcfg->setGroup( "Misc" ); 337 pcfg->setGroup( "Misc" );
338 pcfg->writeEntry( "onStart", m_generalConfig->onStart->isChecked() ); 338 pcfg->writeEntry( "onStart", m_generalConfig->onStart->isChecked() );
339 pcfg->writeEntry( "onResume", m_generalConfig->onResume->isChecked() ); 339 pcfg->writeEntry( "onResume", m_generalConfig->onResume->isChecked() );
340 pcfg->writeEntry( "nbSuccessMin", m_generalConfig->nbSuccessMin->text() ); 340 pcfg->writeEntry( "nbSuccessMin", m_generalConfig->nbSuccessMin->text() );
341 pcfg->writeEntry( "noProtectConfig", m_generalConfig->noProtectConfig->isChecked() ); 341 pcfg->writeEntry( "noProtectConfig", m_generalConfig->noProtectConfig->isChecked() );
342 pcfg->writeEntry( "explanScreens", m_generalConfig->explanScreens->isChecked() ); 342 pcfg->writeEntry( "explanScreens", m_generalConfig->explanScreens->isChecked() );
343 pcfg->writeEntry( "allowBypass", m_generalConfig->allowBypass->isChecked() ); 343 pcfg->writeEntry( "allowBypass", m_generalConfig->allowBypass->isChecked() );
344 344
345 /* Login and Sync stuff */ 345 /* Login and Sync stuff */
346 346
347 pcfg->setGroup("Sync"); 347 pcfg->setGroup("Sync");
348 int auth_peer=0; 348 int auth_peer=0;
349 int auth_peer_bits; 349 int auth_peer_bits;
350 QString sn = m_syncWidget->syncnet->currentText(); 350 QString sn = m_syncWidget->syncnet->currentText();
351 parseNet(sn,auth_peer,auth_peer_bits); 351 parseNet(sn,auth_peer,auth_peer_bits);
352 352
353 //this is the *selected* (active) net range 353 //this is the *selected* (active) net range
354 pcfg->writeEntry("auth_peer",auth_peer); 354 pcfg->writeEntry("auth_peer",auth_peer);
355 pcfg->writeEntry("auth_peer_bits",auth_peer_bits); 355 pcfg->writeEntry("auth_peer_bits",auth_peer_bits);
356 356
357 //write back all other net ranges in *cleartext* 357 //write back all other net ranges in *cleartext*
358 for (int i=0; i<10; i++) { 358 for (int i=0; i<10; i++) {
359 QString target; 359 QString target;
360 target.sprintf("net%d", i); 360 target.sprintf("net%d", i);
361 pcfg->writeEntry(target,m_syncWidget->syncnet->text(i)); 361 pcfg->writeEntry(target,m_syncWidget->syncnet->text(i));
362 } 362 }
363 363
364#ifdef ODP 364#ifdef ODP
365#error "Use 0,1,2 and use Launcher" 365#error "Use 0,1,2 and use Launcher"
366#endif 366#endif
367 /* keep the old code so we don't use currentItem directly */ 367 /* keep the old code so we don't use currentItem directly */
368 int value = 0x02; 368 int value = 0x02;
369 switch( m_syncWidget->syncModeCombo->currentItem() ) { 369 switch( m_syncWidget->syncModeCombo->currentItem() ) {
370 case 0: 370 case 0:
371 value = 0x01; 371 value = 0x01;
372 break; 372 break;
373 case 1: 373 case 1:
374 value = 0x02; 374 value = 0x02;
375 break; 375 break;
376 case 2: 376 case 2:
377 value = 0x04; 377 value = 0x04;
378 break; 378 break;
379 } 379 }
380 pcfg->setGroup("SyncMode"); 380 pcfg->setGroup("SyncMode");
381 pcfg->writeEntry( "Mode", value ); 381 pcfg->writeEntry( "Mode", value );
382 382
383 /* 383 /*
384 pcfg->setGroup("Remote"); 384 pcfg->setGroup("Remote");
385 if ( telnetAvailable() ) 385 if ( telnetAvailable() )
386 pcfg->writeEntry("allow_telnet",telnet->isChecked()); 386 pcfg->writeEntry("allow_telnet",telnet->isChecked());
387 if ( sshAvailable() ) 387 if ( sshAvailable() )
388 pcfg->writeEntry("allow_ssh",ssh->isChecked()); 388 pcfg->writeEntry("allow_ssh",ssh->isChecked());
389 // ### write ssh/telnet sys config files 389 // ### write ssh/telnet sys config files
390 */ 390 */
391 391
392 //release the Config handler 392 //release the Config handler
393 delete pcfg; 393 delete pcfg;
394 394
395 QString configFile = QPEApplication::qpeDir() + "/etc/opie-login.conf"; 395 QString configFile = QPEApplication::qpeDir() + "/etc/opie-login.conf";
396 Config loginCfg(configFile,Config::File); 396 Config loginCfg(configFile,Config::File);
397 loginCfg.setGroup("General"); 397 loginCfg.setGroup("General");
398 398
399 if (autoLogin) { 399 if (autoLogin) {
400 loginCfg.writeEntry("AutoLogin",autoLoginName); 400 loginCfg.writeEntry("AutoLogin",autoLoginName);
401 } else { 401 } else {
402 loginCfg.removeEntry("AutoLogin"); 402 loginCfg.removeEntry("AutoLogin");
403 } 403 }
404 404
405} 405}
406 406
407/// slot used to record the fact plugins order has been modified 407/// slot used to record the fact plugins order has been modified
408void MultiauthConfig::pluginsChanged() { 408void MultiauthConfig::pluginsChanged() {
409 m_plugins_changed = true; 409 m_plugins_changed = true;
410} 410}
411 411
412/// loads each multiauth plugin 412/// loads each multiauth plugin
413void MultiauthConfig::loadPlugins() { 413void MultiauthConfig::loadPlugins() {
414 414
415 odebug << "loading plugins..." << oendl;
416 QString path = QPEApplication::qpeDir() + "/plugins/security"; 415 QString path = QPEApplication::qpeDir() + "/plugins/security";
417 QDir dir( path, "lib*.so" ); 416 QDir dir( path, "lib*.so" );
418 417
419 QStringList list = dir.entryList(); 418 QStringList list = dir.entryList();
420 QStringList::Iterator it; 419 QStringList::Iterator it;
421 420
422 // temporary list used to sort plugins 421 // temporary list used to sort plugins
423 QMap<QString, MultiauthPlugin> sortList; 422 QMap<QString, MultiauthPlugin> sortList;
424 423
425 for ( it = list.begin(); it != list.end(); ++it ) { 424 for ( it = list.begin(); it != list.end(); ++it ) {
426 QInterfacePtr<MultiauthPluginInterface> iface; 425 QInterfacePtr<MultiauthPluginInterface> iface;
427 QLibrary *lib = new QLibrary( path + "/" + *it ); 426 QLibrary *lib = new QLibrary( path + "/" + *it );
428 QString libPath(path + "/" + *it); 427 QString libPath(path + "/" + *it);
429 odebug << "library path: " << libPath << oendl;
430 428
431 odebug << "querying: " << QString( path + "/" + *it ) << oendl;
432 if ( lib->queryInterface( IID_MultiauthPluginInterface, (QUnknownInterface**)&iface ) == QS_OK ) { 429 if ( lib->queryInterface( IID_MultiauthPluginInterface, (QUnknownInterface**)&iface ) == QS_OK ) {
433 odebug << "accepted: " << QString( path + "/" + *it ) << oendl;
434
435 MultiauthPlugin plugin; 430 MultiauthPlugin plugin;
436 plugin.library = lib; 431 plugin.library = lib;
437 plugin.iface = iface; 432 plugin.iface = iface;
438 plugin.name = QString(*it); 433 plugin.name = QString(*it);
439 434
440 // find out if plugins should be launched 435 // find out if plugins should be launched
441 if ( m_excludePlugins.grep( *it ).isEmpty() ) { 436 if ( m_excludePlugins.grep( *it ).isEmpty() ) {
442 plugin.active = true; 437 plugin.active = true;
443 } else { 438 } else {
444 plugin.active = false; 439 plugin.active = false;
445 } 440 }
446 441
447 plugin.pluginObject = plugin.iface->plugin(); 442 plugin.pluginObject = plugin.iface->plugin();
448 443
449 // "prebuffer" it in one more list, to get the sorting done 444 // "prebuffer" it in one more list, to get the sorting done
450 sortList.insert( plugin.name, plugin ); 445 sortList.insert( plugin.name, plugin );
451 446
452 // on first start the list is off course empty 447 // on first start the list is off course empty
453 if ( m_allPlugins.isEmpty() ) { 448 if ( m_allPlugins.isEmpty() ) {
454 pluginList.append( plugin ); 449 pluginList.append( plugin );
455 } 450 }
456 // if plugin is not yet in the list, add it to the layout too 451 // if plugin is not yet in the list, add it to the layout too
457 else if ( !m_allPlugins.contains( plugin.name ) ) { 452 else if ( !m_allPlugins.contains( plugin.name ) ) {
458 pluginList.append( plugin ); 453 pluginList.append( plugin );
459 } 454 }
460 455
461 } else { 456 } else {
462 odebug << "could not recognize " << QString( path + "/" + *it ) << oendl;
463 delete lib; 457 delete lib;
464 } 458 }
465 459
466 } // end for 460 } // end for
467 461
468 // put m_allPlugins tempPlugin objects into pluginList 462 // put m_allPlugins tempPlugin objects into pluginList
469 if ( !m_allPlugins.isEmpty() ) { 463 if ( !m_allPlugins.isEmpty() ) {
470 MultiauthPlugin tempPlugin; 464 MultiauthPlugin tempPlugin;
471 QStringList::Iterator stringit; 465 QStringList::Iterator stringit;
472 for( stringit = m_allPlugins.begin(); stringit != m_allPlugins.end(); ++stringit ) { 466 for( stringit = m_allPlugins.begin(); stringit != m_allPlugins.end(); ++stringit ) {
473 tempPlugin = ( sortList.find( *stringit ) ).data(); 467 tempPlugin = ( sortList.find( *stringit ) ).data();
474 if ( !( (tempPlugin.name).isEmpty() ) ) { 468 if ( !( (tempPlugin.name).isEmpty() ) ) {
475 pluginList.append( tempPlugin ); 469 pluginList.append( tempPlugin );
476 } 470 }
477 } 471 }
478 } 472 }
479 473
480} 474}
481 475
482void MultiauthConfig::deleteListEntry() 476void MultiauthConfig::deleteListEntry()
483{ 477{
484 m_syncWidget->syncnet->removeItem(m_syncWidget->syncnet->currentItem()); 478 m_syncWidget->syncnet->removeItem(m_syncWidget->syncnet->currentItem());
485} 479}
486 480
487void MultiauthConfig::restoreDefaults() 481void MultiauthConfig::restoreDefaults()
488{ 482{
489 QMessageBox unrecbox( 483 QMessageBox unrecbox(
490 tr("Attention"), 484 tr("Attention"),
491 tr( "<p>All user-defined net ranges will be lost."), 485 tr( "<p>All user-defined net ranges will be lost."),
492 QMessageBox::Warning, 486 QMessageBox::Warning,
493 QMessageBox::Cancel, QMessageBox::Yes, QMessageBox::NoButton, 487 QMessageBox::Cancel, QMessageBox::Yes, QMessageBox::NoButton,
494 0, QString::null, TRUE, WStyle_StaysOnTop); 488 0, QString::null, TRUE, WStyle_StaysOnTop);
495 unrecbox.setButtonText(QMessageBox::Cancel, tr("Cancel")); 489 unrecbox.setButtonText(QMessageBox::Cancel, tr("Cancel"));
496 unrecbox.setButtonText(QMessageBox::Yes, tr("Ok")); 490 unrecbox.setButtonText(QMessageBox::Yes, tr("Ok"));
497 491
498 if ( unrecbox.exec() == QMessageBox::Yes) 492 if ( unrecbox.exec() == QMessageBox::Yes)
499 { 493 {
500 m_syncWidget->syncnet->clear(); 494 m_syncWidget->syncnet->clear();
501 insertDefaultRanges(); 495 insertDefaultRanges();
502 } 496 }
503 m_syncWidget->syncModeCombo->setCurrentItem( 2 ); 497 m_syncWidget->syncModeCombo->setCurrentItem( 2 );
504} 498}
505 499
506void MultiauthConfig::insertDefaultRanges() 500void MultiauthConfig::insertDefaultRanges()
507{ 501{
508 m_syncWidget->syncnet->insertItem( tr( "192.168.129.0/24" ) ); 502 m_syncWidget->syncnet->insertItem( tr( "192.168.129.0/24" ) );
509 m_syncWidget->syncnet->insertItem( tr( "192.168.1.0/24" ) ); 503 m_syncWidget->syncnet->insertItem( tr( "192.168.1.0/24" ) );
510 m_syncWidget->syncnet->insertItem( tr( "192.168.0.0/16" ) ); 504 m_syncWidget->syncnet->insertItem( tr( "192.168.0.0/16" ) );
511 m_syncWidget->syncnet->insertItem( tr( "172.16.0.0/12" ) ); 505 m_syncWidget->syncnet->insertItem( tr( "172.16.0.0/12" ) );
512 m_syncWidget->syncnet->insertItem( tr( "10.0.0.0/8" ) ); 506 m_syncWidget->syncnet->insertItem( tr( "10.0.0.0/8" ) );
513 m_syncWidget->syncnet->insertItem( tr( "1.0.0.0/8" ) ); 507 m_syncWidget->syncnet->insertItem( tr( "1.0.0.0/8" ) );
514 m_syncWidget->syncnet->insertItem( tr( "Any" ) ); 508 m_syncWidget->syncnet->insertItem( tr( "Any" ) );
515 m_syncWidget->syncnet->insertItem( tr( "None" ) ); 509 m_syncWidget->syncnet->insertItem( tr( "None" ) );
516} 510}
517 511
518void MultiauthConfig::updateGUI() 512void MultiauthConfig::updateGUI()
519{ 513{
520 m_loginWidget->autologinToggle->setChecked(autoLogin); 514 m_loginWidget->autologinToggle->setChecked(autoLogin);
521 m_loginWidget->userlist->setEnabled(autoLogin); 515 m_loginWidget->userlist->setEnabled(autoLogin);
522} 516}
523 517
524void MultiauthConfig::selectNet(int auth_peer,int auth_peer_bits, bool update) 518void MultiauthConfig::selectNet(int auth_peer,int auth_peer_bits, bool update)
525{ 519{
526 QString sn; 520 QString sn;
527 if ( auth_peer_bits == 0 && auth_peer == 0 ) { 521 if ( auth_peer_bits == 0 && auth_peer == 0 ) {
528 sn = tr("Any"); 522 sn = tr("Any");
529 } else if ( auth_peer_bits == 32 && auth_peer == 0 ) { 523 } else if ( auth_peer_bits == 32 && auth_peer == 0 ) {
530 sn = tr("None"); 524 sn = tr("None");
531 } else { 525 } else {
532 sn = 526 sn =
533 QString::number((auth_peer>>24)&0xff) + "." 527 QString::number((auth_peer>>24)&0xff) + "."
534 + QString::number((auth_peer>>16)&0xff) + "." 528 + QString::number((auth_peer>>16)&0xff) + "."
535 + QString::number((auth_peer>>8)&0xff) + "." 529 + QString::number((auth_peer>>8)&0xff) + "."
536 + QString::number((auth_peer>>0)&0xff) + "/" 530 + QString::number((auth_peer>>0)&0xff) + "/"
537 + QString::number(auth_peer_bits); 531 + QString::number(auth_peer_bits);
538 } 532 }
539 533
540 //insert user-defined list of netranges upon start 534 //insert user-defined list of netranges upon start
541 if (update) { 535 if (update) {
542 //User selected/active netrange first 536 //User selected/active netrange first
543 m_syncWidget->syncnet->insertItem( tr(sn) ); 537 m_syncWidget->syncnet->insertItem( tr(sn) );
544 Config cfg("Security"); 538 Config cfg("Security");
545 cfg.setGroup("Sync"); 539 cfg.setGroup("Sync");
546 540
547 //set up defaults if needed, if someone manually deletes net0 he'll get a suprise hehe 541 //set up defaults if needed, if someone manually deletes net0 he'll get a suprise hehe
548 QString test = cfg.readEntry("net0",""); 542 QString test = cfg.readEntry("net0","");
549 if (test.isEmpty()) { 543 if (test.isEmpty()) {
550 insertDefaultRanges(); 544 insertDefaultRanges();
551 } else { 545 } else {
552 // 10 ought to be enough for everybody... :) 546 // 10 ought to be enough for everybody... :)
553 // If you need more, don't forget to edit applySecurity() as well 547 // If you need more, don't forget to edit applySecurity() as well
554 bool already_there=FALSE; 548 bool already_there=FALSE;
555 for (int i=0; i<10; i++) { 549 for (int i=0; i<10; i++) {
556 QString target, netrange; 550 QString target, netrange;
557 target.sprintf("net%d", i); 551 target.sprintf("net%d", i);
558 netrange = cfg.readEntry(target,""); 552 netrange = cfg.readEntry(target,"");
diff --git a/noncore/securityplugins/blueping/bluepingplugin.cpp b/noncore/securityplugins/blueping/bluepingplugin.cpp
index f4c5e95..05fd3c2 100644
--- a/noncore/securityplugins/blueping/bluepingplugin.cpp
+++ b/noncore/securityplugins/blueping/bluepingplugin.cpp
@@ -1,126 +1,125 @@
1#include "bluepingplugin.h" 1#include "bluepingplugin.h"
2 2
3#include <opie2/oapplication.h> 3#include <opie2/oapplication.h>
4#include <opie2/odebug.h> 4#include <opie2/odebug.h>
5#include <opie2/odevice.h> 5#include <opie2/odevice.h>
6 6
7#include <qdialog.h> 7#include <qdialog.h>
8#include <qlayout.h> 8#include <qlayout.h>
9#include <qhbox.h> 9#include <qhbox.h>
10#include <qlabel.h> 10#include <qlabel.h>
11#include <qpushbutton.h> 11#include <qpushbutton.h>
12#include <qtimer.h> 12#include <qtimer.h>
13 13
14using namespace Opie::Core; 14using namespace Opie::Core;
15using Opie::Security::MultiauthPluginObject; 15using Opie::Security::MultiauthPluginObject;
16using Opie::Security::MultiauthConfigWidget; 16using Opie::Security::MultiauthConfigWidget;
17 17
18 18
19/// creates and initializes the m_config Config object 19/// creates and initializes the m_config Config object
20BluepingPlugin::BluepingPlugin() : MultiauthPluginObject(), m_ping(0) { 20BluepingPlugin::BluepingPlugin() : MultiauthPluginObject(), m_ping(0) {
21 m_config = new Config("Security"); 21 m_config = new Config("Security");
22 m_config->setGroup("BluepingPlugin"); 22 m_config->setGroup("BluepingPlugin");
23 bluetoothAlreadyRestarted = false; 23 bluetoothAlreadyRestarted = false;
24} 24}
25 25
26/// deletes the m_config Config object and noticeW if necessary 26/// deletes the m_config Config object and noticeW if necessary
27BluepingPlugin::~BluepingPlugin() { 27BluepingPlugin::~BluepingPlugin() {
28 delete m_config; 28 delete m_config;
29 if (m_ping != 0) 29 delete m_ping;
30 delete m_ping;
31} 30}
32 31
33/// Simply return its name (Blueping plugin) 32/// Simply return its name (Blueping plugin)
34QString BluepingPlugin::pluginName() const { 33QString BluepingPlugin::pluginName() const {
35 return "Blueping plugin"; 34 return "Blueping plugin";
36} 35}
37 36
38/// no configuration widget for the moment 37/// no configuration widget for the moment
39MultiauthConfigWidget * BluepingPlugin::configWidget(QWidget * parent) { 38MultiauthConfigWidget * BluepingPlugin::configWidget(QWidget * parent) {
40 return 0l; 39 return 0l;
41} 40}
42QString BluepingPlugin::pixmapNameWidget() const { 41QString BluepingPlugin::pixmapNameWidget() const {
43 return "security/bluepingplugin"; 42 return "security/bluepingplugin";
44} 43}
45QString BluepingPlugin::pixmapNameConfig() const { 44QString BluepingPlugin::pixmapNameConfig() const {
46 return 0l; 45 return 0l;
47} 46}
48 47
49/// Emit the MultiauthPluginObject::Success emitCode 48/// Emit the MultiauthPluginObject::Success emitCode
50void BluepingPlugin::success() { 49void BluepingPlugin::success() {
51 emit emitCode(MultiauthPluginObject::Success); 50 emit emitCode(MultiauthPluginObject::Success);
52} 51}
53 52
54/// Emit the MultiauthPluginObject::Failure emitCode 53/// Emit the MultiauthPluginObject::Failure emitCode
55void BluepingPlugin::failure() { 54void BluepingPlugin::failure() {
56 emit emitCode(MultiauthPluginObject::Failure); 55 emit emitCode(MultiauthPluginObject::Failure);
57} 56}
58 57
59/// Emit the MultiauthPluginObject::Skip emitCode 58/// Emit the MultiauthPluginObject::Skip emitCode
60void BluepingPlugin::skip() { 59void BluepingPlugin::skip() {
61 emit emitCode(MultiauthPluginObject::Skip); 60 emit emitCode(MultiauthPluginObject::Skip);
62} 61}
63 62
64/// do the actual ping 63/// do the actual ping
65void BluepingPlugin::ping() { 64void BluepingPlugin::ping() {
66 m_ping = new OProcess(); 65 m_ping = new OProcess();
67 odebug << "pinging device: " << macToPing << oendl; 66 odebug << "pinging device: " << macToPing << oendl;
68 *m_ping << "l2ping" << "-c 1" << macToPing; 67 *m_ping << "l2ping" << "-c 1" << macToPing;
69 68
70 // starting to ping in the background 69 // starting to ping in the background
71 /// \todo as soon as ping is launched, check RSSI (signal strength) and check 70 /// \todo as soon as ping is launched, check RSSI (signal strength) and check
72 /// it's high enough, meaning the device is close enough? 71 /// it's high enough, meaning the device is close enough?
73 /// \todo make it optionally pollable, so don't finish the ping and call 72 /// \todo make it optionally pollable, so don't finish the ping and call
74 /// Opie suspend if l2ping timeouts? 73 /// Opie suspend if l2ping timeouts?
75 if ( !m_ping->start() ) { 74 if ( !m_ping->start() ) {
76 oerr << "could not start l2ping" << oendl; 75 oerr << "could not start l2ping" << oendl;
77 this->skip(); 76 this->skip();
78 } 77 }
79 QObject::connect(m_ping, SIGNAL(processExited(Opie::Core::OProcess*)), 78 QObject::connect(m_ping, SIGNAL(processExited(Opie::Core::OProcess*)),
80 this, SLOT(pingFinished(Opie::Core::OProcess*)) ); 79 this, SLOT(pingFinished(Opie::Core::OProcess*)) );
81} 80}
82 81
83/// Deals with m_ping result 82/// Deals with m_ping result
84 void BluepingPlugin::pingFinished(OProcess * ping) { 83 void BluepingPlugin::pingFinished(OProcess * ping) {
85 if ( ping->normalExit() && (ping->exitStatus() == 0) ) 84 if ( ping->normalExit() && (ping->exitStatus() == 0) )
86 { 85 {
87 odebug << "Successful Bluetooth ping!" << oendl; 86 odebug << "Successful Bluetooth ping!" << oendl;
88 success(); 87 success();
89 } 88 }
90 else 89 else
91 { 90 {
92 odebug << "Failed Bluetooth ping..." << oendl; 91 odebug << "Failed Bluetooth ping..." << oendl;
93 failure(); 92 failure();
94 } 93 }
95 } 94 }
96 95
97/// Make one authentication attempt with this plugin 96/// Make one authentication attempt with this plugin
98/** 97/**
99 * (very simple "success" / "failure" buttons in a dialog) 98 * (very simple "success" / "failure" buttons in a dialog)
100 * \return The outcome code of this authentication 99 * \return The outcome code of this authentication
101 */ 100 */
102int BluepingPlugin::authenticate() { 101int BluepingPlugin::authenticate() {
103 102
104 Config cfg("Security"); 103 Config cfg("Security");
105 cfg.setGroup("BluepingPlugin"); 104 cfg.setGroup("BluepingPlugin");
106 macToPing = cfg.readEntry("mac"); 105 macToPing = cfg.readEntry("mac");
107 if (!macToPing.isEmpty()) 106 if (!macToPing.isEmpty())
108 { 107 {
109 /* Standard, inescapable authentication dialog 108 /* Standard, inescapable authentication dialog
110 */ 109 */
111 QDialog bluepingDialog(0, 110 QDialog bluepingDialog(0,
112 "Blueping dialog", 111 "Blueping dialog",
113 TRUE, 112 TRUE,
114 Qt::WStyle_NoBorder | Qt::WStyle_Customize | Qt::WStyle_StaysOnTop); 113 Qt::WStyle_NoBorder | Qt::WStyle_Customize | Qt::WStyle_StaysOnTop);
115 114
116 QRect desk = oApp->desktop()->geometry(); 115 QRect desk = oApp->desktop()->geometry();
117 bluepingDialog.setGeometry( 0, 0, desk.width(), desk.height() ); 116 bluepingDialog.setGeometry( 0, 0, desk.width(), desk.height() );
118 117
119 // Creation of the particular widgets of our Blueping user interface 118 // Creation of the particular widgets of our Blueping user interface
120 QVBoxLayout *layout = new QVBoxLayout(&bluepingDialog); 119 QVBoxLayout *layout = new QVBoxLayout(&bluepingDialog);
121 layout->setSpacing(11); 120 layout->setSpacing(11);
122 layout->setMargin(11); 121 layout->setMargin(11);
123 layout->setAlignment( Qt::AlignTop ); 122 layout->setAlignment( Qt::AlignTop );
124 123
125 QLabel title("<center><h1>\"Blueping\" <br />plugin</h1></center>", &bluepingDialog); 124 QLabel title("<center><h1>\"Blueping\" <br />plugin</h1></center>", &bluepingDialog);
126 QLabel subTitle("<center><h2>Trying to reach your configured bluetooth device...</h2></center>", &bluepingDialog); 125 QLabel subTitle("<center><h2>Trying to reach your configured bluetooth device...</h2></center>", &bluepingDialog);
diff --git a/noncore/securityplugins/notice/noticeConfigWidget.cpp b/noncore/securityplugins/notice/noticeConfigWidget.cpp
index e532232..e0468a7 100644
--- a/noncore/securityplugins/notice/noticeConfigWidget.cpp
+++ b/noncore/securityplugins/notice/noticeConfigWidget.cpp
@@ -1,83 +1,83 @@
1#include "noticeConfigWidget.h" 1#include "noticeConfigWidget.h"
2 2
3#include <opie2/odebug.h> 3#include <opie2/odebug.h>
4 4
5#include <qwidget.h> 5#include <qwidget.h>
6#include <qlayout.h> 6#include <qlayout.h>
7#include <qlabel.h> 7#include <qlabel.h>
8#include <qregexp.h> 8#include <qregexp.h>
9#include <qgroupbox.h> 9#include <qgroupbox.h>
10 10
11using Opie::Security::MultiauthConfigWidget; 11using Opie::Security::MultiauthConfigWidget;
12 12
13/// constructs the widget, filling the noticeMLE QMultiLineEdit with the "noticeText" entry 13/// constructs the widget, filling the noticeMLE QMultiLineEdit with the "noticeText" entry
14NoticeConfigWidget::NoticeConfigWidget(QWidget* parent = 0, const char* name = "Notice configuration widget") : MultiauthConfigWidget(parent, name) 14NoticeConfigWidget::NoticeConfigWidget(QWidget* parent = 0, const char* name = "Notice configuration widget") : MultiauthConfigWidget(parent, name)
15{ 15{
16 QVBoxLayout *baseLayout = new QVBoxLayout( this); 16 QVBoxLayout *baseLayout = new QVBoxLayout( this);
17 baseLayout->setSpacing(11); 17 baseLayout->setSpacing(11);
18 baseLayout->setMargin(6); 18 baseLayout->setMargin(6);
19 baseLayout->setAlignment( Qt::AlignTop ); 19 baseLayout->setAlignment( Qt::AlignTop );
20 20
21 QGroupBox *configBox = new QGroupBox(0, Qt::Vertical, tr("Set the message the user must accept"), this); 21 QGroupBox *configBox = new QGroupBox(0, Qt::Vertical, tr("Set the message the user must accept"), this);
22 baseLayout->addWidget(configBox); 22 baseLayout->addWidget(configBox);
23 QVBoxLayout *boxLayout = new QVBoxLayout( configBox->layout() ); 23 QVBoxLayout *boxLayout = new QVBoxLayout( configBox->layout() );
24 24
25 QLabel * comment1 = new QLabel("<p><em>" + tr("You may want to consult your legal department for proper wording here.") + "</em></p>", configBox); 25 QLabel * comment1 = new QLabel("<p><em>" + tr("You may want to consult your legal department for proper wording here.") + "</em></p>", configBox);
26 boxLayout->addWidget(comment1); 26 boxLayout->addWidget(comment1);
27 27
28 // Set the multilineedit box text to getNoticeText() 28 // Set the multilineedit box text to getNoticeText()
29 noticeMLE = new QMultiLineEdit(configBox, "notice text"); 29 noticeMLE = new QMultiLineEdit(configBox, "notice text");
30 noticeMLE->setWordWrap(QMultiLineEdit::WidgetWidth); 30 noticeMLE->setWordWrap(QMultiLineEdit::WidgetWidth);
31 noticeMLE->setFocus(); 31 noticeMLE->setFocus();
32 noticeMLE->setText(getNoticeText()); 32 noticeMLE->setText(getNoticeText());
33 boxLayout->addWidget(noticeMLE); 33 boxLayout->addWidget(noticeMLE);
34 34
35 resetNoticeButton = new QPushButton( tr("Reset notice to default"), configBox, "reset Notice Button" ); 35 resetNoticeButton = new QPushButton( tr("Reset notice to default"), configBox, "reset Notice Button" );
36 connect(resetNoticeButton, SIGNAL( clicked() ), this, SLOT( resetNotice() )); 36 connect(resetNoticeButton, SIGNAL( clicked() ), this, SLOT( resetNotice() ));
37 boxLayout->addWidget(resetNoticeButton, 0, Qt::AlignHCenter); 37 boxLayout->addWidget(resetNoticeButton, 0, Qt::AlignHCenter);
38 38
39 QLabel * comment2 = new QLabel("<p>" + tr("Note: you can use HTML tags to improve its layout (example: text between &lt;em&gt; and &lt;/em&gt; will be <em>emphasized</em>)") + "</p>", configBox); 39 QLabel * comment2 = new QLabel("<p>" + tr("Note: you can use HTML tags to improve its layout (example: text between &lt;em&gt; and &lt;/em&gt; will be <em>emphasized</em>)") + "</p>", configBox);
40 boxLayout->addWidget(comment2); 40 boxLayout->addWidget(comment2);
41 41
42} 42}
43 43
44/// nothing to do 44/// nothing to do
45NoticeConfigWidget::~NoticeConfigWidget() 45NoticeConfigWidget::~NoticeConfigWidget()
46{} 46{}
47 47
48/// write the notice text in the multiauth.conf Config file 48/// write the notice text in the multiauth.conf Config file
49void NoticeConfigWidget::writeConfig() 49void NoticeConfigWidget::writeConfig()
50{ 50{
51 if ( noticeMLE->edited() ) { 51 if ( noticeMLE->edited() ) {
52 odebug << "writing new notice text in Security.conf" << oendl; 52 odebug << "writing new notice text in Security.conf" << oendl;
53 setNoticeText(noticeMLE->text()); 53 setNoticeText(noticeMLE->text());
54 } 54 }
55} 55}
56 56
57/// reset the notice text to the hard-coded example defaultNoticeText 57/// reset the notice text to the hard-coded example defaultNoticeText
58void NoticeConfigWidget::resetNotice() 58void NoticeConfigWidget::resetNotice()
59{ 59{
60 noticeMLE->setText(defaultNoticeText); 60 noticeMLE->setText(QObject::tr(defaultNoticeText));
61} 61}
62 62
63/// get the notice text from the config file (with true new lines) 63/// get the notice text from the config file (with true new lines)
64/** 64/**
65 * if no text has been defined yet returns defaultNoticeText 65 * if no text has been defined yet returns defaultNoticeText
66 */ 66 */
67QString NoticeConfigWidget::getNoticeText() { 67QString NoticeConfigWidget::getNoticeText() {
68 m_config = new Config("Security"); 68 m_config = new Config("Security");
69 m_config->setGroup("NoticePlugin"); 69 m_config->setGroup("NoticePlugin");
70 // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp 70 // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp
71 QString noticeText = m_config->readEntry("noticeText", defaultNoticeText).replace( QRegExp("\\\\n"), "\n" ); 71 QString noticeText = m_config->readEntry("noticeText", QObject::tr(defaultNoticeText) ).replace( QRegExp("\\\\n"), "\n" );
72 delete m_config; 72 delete m_config;
73 return noticeText; 73 return noticeText;
74} 74}
75 75
76/// set the notice text in our m_config config file (escaping new lines) 76/// set the notice text in our m_config config file (escaping new lines)
77void NoticeConfigWidget::setNoticeText(QString noticeText) { 77void NoticeConfigWidget::setNoticeText(QString noticeText) {
78 m_config = new Config("Security"); 78 m_config = new Config("Security");
79 m_config->setGroup("NoticePlugin"); 79 m_config->setGroup("NoticePlugin");
80 // since Config files do not allow true newlines, we replace them with litteral "\n" 80 // since Config files do not allow true newlines, we replace them with litteral "\n"
81 m_config->writeEntry("noticeText", noticeText.replace( QRegExp("\n"), "\\n" )); 81 m_config->writeEntry("noticeText", noticeText.replace( QRegExp("\n"), "\\n" ));
82 delete m_config; 82 delete m_config;
83} 83}
diff --git a/noncore/securityplugins/notice/noticeConfigWidget.h b/noncore/securityplugins/notice/noticeConfigWidget.h
index c90484c..f8847e4 100644
--- a/noncore/securityplugins/notice/noticeConfigWidget.h
+++ b/noncore/securityplugins/notice/noticeConfigWidget.h
@@ -1,72 +1,72 @@
1/** 1/**
2 * \file noticeConfigWidget.h 2 * \file noticeConfigWidget.h
3 * \brief Notice plugin configuration widget 3 * \brief Notice plugin configuration widget
4 * \author Clément Séveillac (clement . seveillac (at) via . ecp . fr) 4 * \author Clément Séveillac (clement . seveillac (at) via . ecp . fr)
5 */ 5 */
6/* 6/*
7 =. This file is part of the Opie Project 7 =. This file is part of the Opie Project
8 .=l. Copyright (C) 2004 Opie Developer Team <opie-devel@handhelds.org> 8 .=l. Copyright (C) 2004 Opie Developer Team <opie-devel@handhelds.org>
9 .>+-= 9 .>+-=
10 _;:, .> :=|. This library is free software; you can 10 _;:, .> :=|. This library is free software; you can
11.> <`_, > . <= redistribute it and/or modify it under 11.> <`_, > . <= redistribute it and/or modify it under
12:`=1 )Y*s>-.-- : the terms of the GNU Library General Public 12:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
13.="- .-=="i, .._ License as published by the Free Software 13.="- .-=="i, .._ License as published by the Free Software
14 - . .-<_> .<> Foundation; either version 2 of the License, 14 - . .-<_> .<> Foundation; either version 2 of the License,
15 ._= =} : or (at your option) any later version. 15 ._= =} : or (at your option) any later version.
16 .%`+i> _;_. 16 .%`+i> _;_.
17 .i_,=:_. -<s. This library is distributed in the hope that 17 .i_,=:_. -<s. This library is distributed in the hope that
18 + . -:. = it will be useful, but WITHOUT ANY WARRANTY; 18 + . -:. = it will be useful, but WITHOUT ANY WARRANTY;
19 : .. .:, . . . without even the implied warranty of 19 : .. .:, . . . without even the implied warranty of
20 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A 20 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A
21 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU 21 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU
22..}^=.= = ; Library General Public License for more 22..}^=.= = ; Library General Public License for more
23++= -. .` .: details. 23++= -. .` .: details.
24 : = ...= . :.=- 24 : = ...= . :.=-
25 -. .:....=;==+<; You should have received a copy of the GNU 25 -. .:....=;==+<; You should have received a copy of the GNU
26 -_. . . )=. = Library General Public License along with 26 -_. . . )=. = Library General Public License along with
27 -- :-=` this library; see the file COPYING.LIB. 27 -- :-=` this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation, 28 If not, write to the Free Software Foundation,
29 Inc., 59 Temple Place - Suite 330, 29 Inc., 59 Temple Place - Suite 330,
30 Boston, MA 02111-1307, USA. 30 Boston, MA 02111-1307, USA.
31 31
32*/ 32*/
33 33
34#ifndef NOTICECONFIGWIDGET_H 34#ifndef NOTICECONFIGWIDGET_H
35#define NOTICECONFIGWIDGET_H 35#define NOTICECONFIGWIDGET_H
36 36
37#include <qpushbutton.h> 37#include <qpushbutton.h>
38#include <qmultilineedit.h> 38#include <qmultilineedit.h>
39#include <qpe/config.h> 39#include <qpe/config.h>
40 40
41#include <opie2/multiauthconfigwidget.h> 41#include <opie2/multiauthconfigwidget.h>
42 42
43static char defaultNoticeText [] = "<h2>NOTICE TO USERS</h2>\n" 43static char defaultNoticeText [] = QT_TRANSLATE_NOOP( "QObject", "<h2>NOTICE TO USERS</h2>\n"
44 "<p>This is a private computer system and is the property of " 44 "<p>This is a private computer system and is the property of "
45 "the company XXX / Mr or Ms X. It is for authorized " 45 "the company XXX / Mr or Ms X. It is for authorized "
46 "use only. Users have no expectation of privacy.</p>\n" 46 "use only. Users have no expectation of privacy.</p>\n"
47 "<p><strong>Unauthorized or improper use of this system may result in " 47 "<p><strong>Unauthorized or improper use of this system may result in "
48 "disciplinary action and civil and criminal penalties. <em>By continuing to use " 48 "disciplinary action and civil and criminal penalties. <em>By continuing to use "
49 "this system you indicate your awareness of and consent to these " 49 "this system you indicate your awareness of and consent to these "
50 "terms. LOG OFF IMMEDIATELY if you do not agree to them.</em></strong></p>"; 50 "terms. LOG OFF IMMEDIATELY if you do not agree to them.</em></strong></p>");
51 51
52class NoticeConfigWidget : public Opie::Security::MultiauthConfigWidget { 52class NoticeConfigWidget : public Opie::Security::MultiauthConfigWidget {
53 53
54 Q_OBJECT 54 Q_OBJECT
55 55
56public: 56public:
57 NoticeConfigWidget(QWidget* parent, const char* name); 57 NoticeConfigWidget(QWidget* parent, const char* name);
58 virtual ~NoticeConfigWidget(); 58 virtual ~NoticeConfigWidget();
59 virtual void writeConfig(); 59 virtual void writeConfig();
60private: 60private:
61 QMultiLineEdit * noticeMLE; 61 QMultiLineEdit * noticeMLE;
62 QPushButton * resetNoticeButton; 62 QPushButton * resetNoticeButton;
63private slots: 63private slots:
64 void resetNotice(); 64 void resetNotice();
65private: 65private:
66 Config * m_config; 66 Config * m_config;
67 QString getNoticeText(); 67 QString getNoticeText();
68 void setNoticeText(QString noticeText); 68 void setNoticeText(QString noticeText);
69}; 69};
70 70
71#endif // NOTICECONFIGWIDGET_H 71#endif // NOTICECONFIGWIDGET_H
72 72
diff --git a/noncore/securityplugins/notice/noticeplugin.cpp b/noncore/securityplugins/notice/noticeplugin.cpp
index 25a452a..1da260a 100644
--- a/noncore/securityplugins/notice/noticeplugin.cpp
+++ b/noncore/securityplugins/notice/noticeplugin.cpp
@@ -1,86 +1,86 @@
1#include "noticeplugin.h" 1#include "noticeplugin.h"
2 2
3#include <opie2/oapplication.h> 3#include <opie2/oapplication.h>
4 4
5#include <qmessagebox.h> 5#include <qmessagebox.h>
6#include <qregexp.h> 6#include <qregexp.h>
7 7
8using Opie::Security::MultiauthPluginObject; 8using Opie::Security::MultiauthPluginObject;
9using Opie::Security::MultiauthConfigWidget; 9using Opie::Security::MultiauthConfigWidget;
10 10
11/// creates and initializes the m_config Config object 11/// creates and initializes the m_config Config object
12NoticePlugin::NoticePlugin() : MultiauthPluginObject(), noticeW(0) { 12NoticePlugin::NoticePlugin() : MultiauthPluginObject(), noticeW(0) {
13 m_config = new Config("Security"); 13 m_config = new Config("Security");
14 m_config->setGroup("NoticePlugin"); 14 m_config->setGroup("NoticePlugin");
15} 15}
16 16
17/// deletes the m_config Config object and noticeW if necessary 17/// deletes the m_config Config object and noticeW if necessary
18NoticePlugin::~NoticePlugin() { 18NoticePlugin::~NoticePlugin() {
19 delete m_config; 19 delete m_config;
20 if (noticeW != 0) 20 if (noticeW != 0)
21 delete noticeW; 21 delete noticeW;
22} 22}
23 23
24/// Simply return its name (Notice plugin) 24/// Simply return its name (Notice plugin)
25QString NoticePlugin::pluginName() const { 25QString NoticePlugin::pluginName() const {
26 return "Notice plugin"; 26 return "Notice plugin";
27} 27}
28 28
29/// return the Notice widget configuration widget 29/// return the Notice widget configuration widget
30/** 30/**
31 * \return noticeW, the NoticeConfigWidget 31 * \return noticeW, the NoticeConfigWidget
32 */ 32 */
33MultiauthConfigWidget * NoticePlugin::configWidget(QWidget * parent) { 33MultiauthConfigWidget * NoticePlugin::configWidget(QWidget * parent) {
34 if (noticeW == 0) 34 if (noticeW == 0)
35 noticeW = new NoticeConfigWidget(parent, "Notice configuration widget"); 35 noticeW = new NoticeConfigWidget(parent, "Notice configuration widget");
36 return noticeW; 36 return noticeW;
37} 37}
38 38
39/// return the path of the small tab icon 39/// return the path of the small tab icon
40QString NoticePlugin::pixmapNameConfig() const { 40QString NoticePlugin::pixmapNameConfig() const {
41 return "security/noticeplugin_small"; 41 return "security/noticeplugin_small";
42} 42}
43 43
44/// return the path of the big icon for the active/order checklist 44/// return the path of the big icon for the active/order checklist
45QString NoticePlugin::pixmapNameWidget() const { 45QString NoticePlugin::pixmapNameWidget() const {
46 return "security/noticeplugin"; 46 return "security/noticeplugin";
47} 47}
48 48
49/// Displays the configured message and an 'Accept' button 49/// Displays the configured message and an 'Accept' button
50/** 50/**
51 * \return the outcome code of this authentication (can be only success) 51 * \return the outcome code of this authentication (can be only success)
52 */ 52 */
53int NoticePlugin::authenticate() { 53int NoticePlugin::authenticate() {
54 QMessageBox noticeDialog("Notice plugin", 54 QMessageBox noticeDialog("Notice plugin",
55 getNoticeText(), 55 getNoticeText(),
56 QMessageBox::Warning, 56 QMessageBox::Warning,
57 QMessageBox::Yes, 57 QMessageBox::Yes,
58 0, 58 0,
59 0, 59 0,
60 0, 60 0,
61 "notice plugin dialog", 61 "notice plugin dialog",
62 true, 62 true,
63 Qt::WStyle_NoBorder | Qt::WStyle_Customize | Qt::WStyle_StaysOnTop); 63 Qt::WStyle_NoBorder | Qt::WStyle_Customize | Qt::WStyle_StaysOnTop);
64 64
65 noticeDialog.setButtonText(QMessageBox::Yes, tr("I accept")); 65 noticeDialog.setButtonText(QMessageBox::Yes, tr("I accept"));
66 66
67 QRect desk = oApp->desktop()->geometry(); 67 QRect desk = oApp->desktop()->geometry();
68 noticeDialog.setGeometry( 0, 0, desk.width(), desk.height() ); 68 noticeDialog.setGeometry( 0, 0, desk.width(), desk.height() );
69 69
70 switch (noticeDialog.exec()) 70 switch (noticeDialog.exec())
71 { 71 {
72 case QMessageBox::Yes: 72 case QMessageBox::Yes:
73 return MultiauthPluginObject::Success; 73 return MultiauthPluginObject::Success;
74 } 74 }
75 return 255; //should not be returned anyway 75 return 255; //should not be returned anyway
76} 76}
77 77
78/// get the notice text from our m_config config file (with true new lines) 78/// get the notice text from our m_config config file (with true new lines)
79/** 79/**
80 * if no text has been defined yet returns defaultNoticeText 80 * if no text has been defined yet returns defaultNoticeText
81 */ 81 */
82QString NoticePlugin::getNoticeText() { 82QString NoticePlugin::getNoticeText() {
83 // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp 83 // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp
84 return m_config->readEntry("noticeText", defaultNoticeText).replace( QRegExp("\\\\n"), "\n" ); 84 return m_config->readEntry("noticeText", QObject::tr(defaultNoticeText)).replace( QRegExp("\\\\n"), "\n" );
85} 85}
86 86