-rw-r--r-- | noncore/apps/opie-gutenbrowser/LibraryDialog.cpp | 88 | ||||
-rw-r--r-- | noncore/apps/opie-gutenbrowser/openetext.cpp | 174 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.cpp | 30 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/om3u.cpp | 141 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/threadutil.cpp | 17 | ||||
-rw-r--r-- | noncore/net/opiestumbler/opiestumbler.cpp | 3 | ||||
-rw-r--r-- | noncore/settings/networksettings/mainwindow/mainwindowimp.cpp | 11 | ||||
-rw-r--r-- | noncore/settings/networksettings/ppp/modem.cpp | 6 |
8 files changed, 235 insertions, 235 deletions
diff --git a/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp b/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp index 6c246e97..7f21ab3 100644 --- a/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp +++ b/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp | |||
@@ -1,55 +1,55 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | // LibraryDialog.cpp - description | 2 | // LibraryDialog.cpp - description |
3 | // ------------------- | 3 | // ------------------- |
4 | // begin : Sat Aug 19 2000 | 4 | // begin : Sat Aug 19 2000 |
5 | // copyright : (C) 2000 - 2004 by llornkcor | 5 | // copyright : (C) 2000 - 2004 by llornkcor |
6 | // email : ljp@llornkcor.com | 6 | // email : ljp@llornkcor.com |
7 | // ***************************************************/ | 7 | // ***************************************************/ |
8 | // /*************************************************************************** | 8 | // /*************************************************************************** |
9 | // * This program is free software; you can redistribute it and/or modify * | 9 | // * This program is free software; you can redistribute it and/or modify * |
10 | // * it under the terms of the GNU General Public License as published by * | 10 | // * it under the terms of the GNU General Public License as published by * |
11 | // * the Free Software Foundation; either version 2 of the License, or * | 11 | // * the Free Software Foundation; either version 2 of the License, or * |
12 | // * (at your option) any later version. * | 12 | // * (at your option) any later version. * |
13 | // ***************************************************************************/ | 13 | // ***************************************************************************/ |
14 | //ftp://ibiblio.org/pub/docs/books/gutenberg/GUTINDEX.ALL | 14 | //ftp://ibiblio.org/pub/docs/books/gutenberg/GUTINDEX.ALL |
15 | 15 | ||
16 | #include "LibraryDialog.h" | 16 | #include "LibraryDialog.h" |
17 | #include "output.h" | 17 | #include "output.h" |
18 | 18 | ||
19 | /* OPIE */ | 19 | /* OPIE */ |
20 | #include <qpe/applnk.h> | 20 | #include <qpe/applnk.h> |
21 | #include <qpe/qpeapplication.h> | 21 | #include <qpe/qpeapplication.h> |
22 | #include <qpe/qpedialog.h> | 22 | #include <qpe/qpedialog.h> |
23 | //#include <opie2///odebug.h> | 23 | #include <opie2/odebug.h> |
24 | 24 | ||
25 | /* QT */ | 25 | /* QT */ |
26 | #include <qpushbutton.h> | 26 | #include <qpushbutton.h> |
27 | #include <qmultilineedit.h> | 27 | #include <qmultilineedit.h> |
28 | //#include <qlayout.h> | 28 | //#include <qlayout.h> |
29 | 29 | ||
30 | /* STD */ | 30 | /* STD */ |
31 | #include <unistd.h> | 31 | #include <unistd.h> |
32 | #include <stdio.h> | 32 | #include <stdio.h> |
33 | #include <stdlib.h> | 33 | #include <stdlib.h> |
34 | 34 | ||
35 | /* | 35 | /* |
36 | * The dialog will by default be modeless, unless you set 'modal' to | 36 | * The dialog will by default be modeless, unless you set 'modal' to |
37 | * true to construct a modal dialog. */ | 37 | * true to construct a modal dialog. */ |
38 | LibraryDialog::LibraryDialog( QWidget* parent, const char* name , bool /*modal*/, WFlags fl ) | 38 | LibraryDialog::LibraryDialog( QWidget* parent, const char* name , bool /*modal*/, WFlags fl ) |
39 | : QDialog( parent, name, true/* modal*/, fl ) | 39 | : QDialog( parent, name, true/* modal*/, fl ) |
40 | { | 40 | { |
41 | if ( !name ) | 41 | if ( !name ) |
42 | setName( "LibraryDialog" ); | 42 | setName( "LibraryDialog" ); |
43 | indexLoaded=false; | 43 | indexLoaded=false; |
44 | initDialog(); | 44 | initDialog(); |
45 | 45 | ||
46 | // this->setMaximumWidth(240); | 46 | // this->setMaximumWidth(240); |
47 | 47 | ||
48 | index = "GUTINDEX.ALL"; | 48 | index = "GUTINDEX.ALL"; |
49 | local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/"; | 49 | local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/"; |
50 | local_index = local_library + index; | 50 | local_index = local_library + index; |
51 | 51 | ||
52 | QString iniFile ; | 52 | QString iniFile ; |
53 | iniFile = local_library + "/gutenbrowserrc"; | 53 | iniFile = local_library + "/gutenbrowserrc"; |
54 | new_index = local_library + "/PGWHOLE.TXT"; | 54 | new_index = local_library + "/PGWHOLE.TXT"; |
55 | old_index = local_index; | 55 | old_index = local_index; |
@@ -429,113 +429,116 @@ bool LibraryDialog::download_newEtext() | |||
429 | directory += "/"+ DlglistItemFile[i]; | 429 | directory += "/"+ DlglistItemFile[i]; |
430 | } | 430 | } |
431 | 431 | ||
432 | directory += "/" + DlglistItemFile; | 432 | directory += "/" + DlglistItemFile; |
433 | 433 | ||
434 | // qWarning(directory); | 434 | // qWarning(directory); |
435 | 435 | ||
436 | Config cfg("Gutenbrowser"); | 436 | Config cfg("Gutenbrowser"); |
437 | cfg.setGroup("FTPsite"); | 437 | cfg.setGroup("FTPsite"); |
438 | ftp_host = cfg.readEntry("SiteName", "sailor.gutenberg.org"); | 438 | ftp_host = cfg.readEntry("SiteName", "sailor.gutenberg.org"); |
439 | ftp_base_dir = cfg.readEntry("base", "/pub/gutenberg"); | 439 | ftp_base_dir = cfg.readEntry("base", "/pub/gutenberg"); |
440 | 440 | ||
441 | if( ftp_base_dir.find("=",0,true) ) | 441 | if( ftp_base_dir.find("=",0,true) ) |
442 | ftp_base_dir.remove( ftp_base_dir.find("=",0,true),1); | 442 | ftp_base_dir.remove( ftp_base_dir.find("=",0,true),1); |
443 | 443 | ||
444 | QString dir = ftp_base_dir + directory; | 444 | QString dir = ftp_base_dir + directory; |
445 | QString outputFile = local_library + ".guten_temp"; | 445 | QString outputFile = local_library + ".guten_temp"; |
446 | QString file = fileName + ".txt"; | 446 | QString file = fileName + ".txt"; |
447 | 447 | ||
448 | QStringList networkList; | 448 | QStringList networkList; |
449 | networkList.append((const char *)ftp_host); //host | 449 | networkList.append((const char *)ftp_host); //host |
450 | networkList.append((const char *)dir); //ftp base directory | 450 | networkList.append((const char *)dir); //ftp base directory |
451 | networkList.append((const char *)outputFile); //output filepath | 451 | networkList.append((const char *)outputFile); //output filepath |
452 | networkList.append((const char *)file); //filename | 452 | networkList.append((const char *)file); //filename |
453 | 453 | ||
454 | getEtext( networkList); | 454 | getEtext( networkList); |
455 | 455 | ||
456 | return true; | 456 | return true; |
457 | } | 457 | } |
458 | 458 | ||
459 | bool LibraryDialog::getEtext(const QStringList &networkList) | 459 | bool LibraryDialog::getEtext(const QStringList &networkList) |
460 | { | 460 | { |
461 | NetworkDialog *NetworkDlg; | 461 | NetworkDialog *NetworkDlg; |
462 | NetworkDlg = new NetworkDialog( this,"Network Protocol Dialog", true, 0, networkList); | 462 | NetworkDlg = new NetworkDialog( this,"Network Protocol Dialog", true, 0, networkList); |
463 | 463 | ||
464 | // use new, improved, *INSTANT* network-dialog-file-getterer | 464 | // use new, improved, *INSTANT* network-dialog-file-getterer |
465 | if( NetworkDlg->exec() != 0 ) { | 465 | if( NetworkDlg->exec() != 0 ) { |
466 | File_Name = NetworkDlg->localFileName; | 466 | File_Name = NetworkDlg->localFileName; |
467 | 467 | ||
468 | qDebug("Just downloaded " + NetworkDlg->localFileName); | 468 | qDebug("Just downloaded " + NetworkDlg->localFileName); |
469 | 469 | ||
470 | if(NetworkDlg->successDownload) { | 470 | if(NetworkDlg->successDownload) { |
471 | //odebug << "Filename is "+File_Name << oendl; | 471 | //odebug << "Filename is "+File_Name << oendl; |
472 | if(File_Name.right(4) == ".txt") { | 472 | if(File_Name.right(4) == ".txt") { |
473 | QString s_fileName = File_Name; | 473 | QString s_fileName = File_Name; |
474 | s_fileName.replace( s_fileName.length() - 3, 3, "gtn"); | 474 | s_fileName.replace( s_fileName.length() - 3, 3, "gtn"); |
475 | // s_fileName.replace( s_fileName.length()-3,3,"etx"); | 475 | if (rename( File_Name.latin1(), s_fileName.latin1()) == 1) { |
476 | rename( File_Name.latin1(), s_fileName.latin1()); | 476 | owarn << "Failed to rename " << File_Name.latin1() << " to " |
477 | File_Name = s_fileName; | 477 | << s_fileName.latin1() << oendl; |
478 | return false; | ||
479 | } | ||
478 | 480 | ||
479 | //odebug << "Filename is now "+File_Name << oendl; | 481 | File_Name = s_fileName; |
480 | 482 | ||
481 | } | 483 | //odebug << "Filename is now "+File_Name << oendl; |
482 | if(File_Name.length() > 5 ) { | ||
483 | setTitle(); | ||
484 | QFileInfo fi(File_Name); | ||
485 | QString name_file = fi.fileName(); | ||
486 | name_file = name_file.left( name_file.length() - 4); | ||
487 | |||
488 | //odebug << "Setting doclink" << oendl; | ||
489 | DocLnk lnk; | ||
490 | //odebug << "name is "+name_file << oendl; | ||
491 | lnk.setName(name_file); //sets file name | ||
492 | //odebug << "Title is "+DlglistItemTitle << oendl; | ||
493 | lnk.setComment(DlglistItemTitle); | ||
494 | 484 | ||
495 | //odebug << "Filename is "+File_Name << oendl; | ||
496 | lnk.setFile(File_Name); //sets File property | ||
497 | lnk.setType("guten/plain");// hey is this a REGISTERED mime type?!?!? ;D | ||
498 | lnk.setExec(File_Name); | ||
499 | lnk.setIcon("gutenbrowser/Gutenbrowser"); | ||
500 | if(!lnk.writeLink()) { | ||
501 | //odebug << "Writing doclink did not work" << oendl; | ||
502 | } else { | ||
503 | } | 485 | } |
504 | } else | 486 | if(File_Name.length() > 5 ) { |
505 | QMessageBox::message("Note","<p>There was an error with the file</p>"); | 487 | setTitle(); |
506 | } | 488 | QFileInfo fi(File_Name); |
507 | } | 489 | QString name_file = fi.fileName(); |
490 | name_file = name_file.left( name_file.length() - 4); | ||
491 | |||
492 | //odebug << "Setting doclink" << oendl; | ||
493 | DocLnk lnk; | ||
494 | //odebug << "name is "+name_file << oendl; | ||
495 | lnk.setName(name_file); //sets file name | ||
496 | //odebug << "Title is "+DlglistItemTitle << oendl; | ||
497 | lnk.setComment(DlglistItemTitle); | ||
498 | |||
499 | //odebug << "Filename is "+File_Name << oendl; | ||
500 | lnk.setFile(File_Name); //sets File property | ||
501 | lnk.setType("guten/plain");// hey is this a REGISTERED mime type?!?!? ;D | ||
502 | lnk.setExec(File_Name); | ||
503 | lnk.setIcon("gutenbrowser/Gutenbrowser"); | ||
504 | if(!lnk.writeLink()) { | ||
505 | //odebug << "Writing doclink did not work" << oendl; | ||
506 | } | ||
507 | } else | ||
508 | QMessageBox::message("Note","<p>There was an error with the file</p>"); | ||
509 | } | ||
510 | } | ||
508 | 511 | ||
509 | return true; | 512 | return true; |
510 | } | 513 | } |
511 | 514 | ||
512 | bool LibraryDialog::download_Etext() | 515 | bool LibraryDialog::download_Etext() |
513 | { // ftp method | 516 | { // ftp method |
514 | // might have to use old gpl'd ftp for embedded!! | 517 | // might have to use old gpl'd ftp for embedded!! |
515 | 518 | ||
516 | Config cfg("Gutenbrowser"); | 519 | Config cfg("Gutenbrowser"); |
517 | cfg.setGroup("FTPsite"); | 520 | cfg.setGroup("FTPsite"); |
518 | ftp_host = cfg.readEntry("SiteName", "sailor.gutenberg.org"); | 521 | ftp_host = cfg.readEntry("SiteName", "sailor.gutenberg.org"); |
519 | ftp_base_dir = cfg.readEntry("base", "/pub/gutenberg"); | 522 | ftp_base_dir = cfg.readEntry("base", "/pub/gutenberg"); |
520 | 523 | ||
521 | qDebug( "about to network dialog"); | 524 | qDebug( "about to network dialog"); |
522 | 525 | ||
523 | QString NewlistItemNumber, NewlistItemYear, ls_result, result_line, s, dir, /*networkUrl, */outputFile; | 526 | QString NewlistItemNumber, NewlistItemYear, ls_result, result_line, s, dir, /*networkUrl, */outputFile; |
524 | 527 | ||
525 | //////////////////// FIXME- if 'x' is part of real name.... | 528 | //////////////////// FIXME- if 'x' is part of real name.... |
526 | NewlistItemFile = DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, false)).left(DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, false)).find("x", 1, false)); | 529 | NewlistItemFile = DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, false)).left(DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, false)).find("x", 1, false)); |
527 | 530 | ||
528 | if( NewlistItemFile.find( DlglistItemFile.left(4) ,0,true) ==-1 ) { | 531 | if( NewlistItemFile.find( DlglistItemFile.left(4) ,0,true) ==-1 ) { |
529 | NewlistItemFile.replace( 0,4, DlglistItemFile.left(4)); | 532 | NewlistItemFile.replace( 0,4, DlglistItemFile.left(4)); |
530 | qDebug("NewlistItemFile is now " + NewlistItemFile); | 533 | qDebug("NewlistItemFile is now " + NewlistItemFile); |
531 | } | 534 | } |
532 | 535 | ||
533 | NewlistItemYear = DlglistItemYear.right(2); | 536 | NewlistItemYear = DlglistItemYear.right(2); |
534 | int NewlistItemYear_Int = NewlistItemYear.toInt(0, 10); | 537 | int NewlistItemYear_Int = NewlistItemYear.toInt(0, 10); |
535 | //odebug << NewlistItemYear << oendl; | 538 | //odebug << NewlistItemYear << oendl; |
536 | if (NewlistItemYear_Int < 91 && NewlistItemYear_Int > 70) { | 539 | if (NewlistItemYear_Int < 91 && NewlistItemYear_Int > 70) { |
537 | NewlistItemYear = "90"; | 540 | NewlistItemYear = "90"; |
538 | } | 541 | } |
539 | 542 | ||
540 | Edir ="etext" +NewlistItemYear; | 543 | Edir ="etext" +NewlistItemYear; |
541 | 544 | ||
@@ -672,65 +675,64 @@ void LibraryDialog::saveConfig() | |||
672 | config.setGroup("SortAuth"); | 675 | config.setGroup("SortAuth"); |
673 | config.writeEntry("authSort", "true"); | 676 | config.writeEntry("authSort", "true"); |
674 | } else { | 677 | } else { |
675 | config.setGroup("SortAuth"); | 678 | config.setGroup("SortAuth"); |
676 | config.writeEntry("authSort", "false"); | 679 | config.writeEntry("authSort", "false"); |
677 | } | 680 | } |
678 | // config.write(); | 681 | // config.write(); |
679 | } | 682 | } |
680 | 683 | ||
681 | /* | 684 | /* |
682 | searches library index for user word*/ | 685 | searches library index for user word*/ |
683 | void LibraryDialog::onButtonSearch() | 686 | void LibraryDialog::onButtonSearch() |
684 | { | 687 | { |
685 | ListView1->clearSelection(); | 688 | ListView1->clearSelection(); |
686 | ListView2->clearSelection(); | 689 | ListView2->clearSelection(); |
687 | ListView3->clearSelection(); | 690 | ListView3->clearSelection(); |
688 | ListView4->clearSelection(); | 691 | ListView4->clearSelection(); |
689 | ListView5->clearSelection(); | 692 | ListView5->clearSelection(); |
690 | 693 | ||
691 | int curTab = tabWidget->currentPageIndex(); | 694 | int curTab = tabWidget->currentPageIndex(); |
692 | SearchDialog* searchDlg; | 695 | SearchDialog* searchDlg; |
693 | 696 | ||
694 | // if( resultsList) | 697 | // if( resultsList) |
695 | searchDlg = new SearchDialog( this, "Library Search", true); | 698 | searchDlg = new SearchDialog( this, "Library Search", true); |
696 | searchDlg->setCaption( tr( "Library Search" ) ); | 699 | searchDlg->setCaption( tr( "Library Search" ) ); |
697 | searchDlg->setLabel( "- author or title"); | 700 | searchDlg->setLabel( "- author or title"); |
698 | 701 | ||
699 | QString resultString; | 702 | QString resultString; |
700 | 703 | ||
701 | int i_berger = 0; | 704 | int i_berger = 0; |
702 | if( searchDlg->exec() != 0 ) { | 705 | if( searchDlg->exec() != 0 ) { |
703 | QString searcherStr = searchDlg->get_text(); | 706 | QString searcherStr = searchDlg->get_text(); |
704 | int fluff = 0; | ||
705 | 707 | ||
706 | bool cS; | 708 | bool cS; |
707 | if( searchDlg->caseSensitiveCheckBox->isChecked()) | 709 | if( searchDlg->caseSensitiveCheckBox->isChecked()) |
708 | cS = true; //case sensitive | 710 | cS = true; //case sensitive |
709 | else | 711 | else |
710 | cS = false; | 712 | cS = false; |
711 | 713 | ||
712 | etext etextStruct; | 714 | etext etextStruct; |
713 | QValueList<etext>::Iterator it; | 715 | QValueList<etext>::Iterator it; |
714 | 716 | ||
715 | for( it = etextLibrary.begin(); it != etextLibrary.end(); ++it ) { | 717 | for( it = etextLibrary.begin(); it != etextLibrary.end(); ++it ) { |
716 | QString tempTitle = (*it).title; | 718 | QString tempTitle = (*it).title; |
717 | QString tempAuthor = (*it).author; | 719 | QString tempAuthor = (*it).author; |
718 | QString tempFile = (*it).file; | 720 | QString tempFile = (*it).file; |
719 | QString tempYear = (*it).year; | 721 | QString tempYear = (*it).year; |
720 | if(tempTitle.find( searcherStr, 0, cS) != -1 | 722 | if(tempTitle.find( searcherStr, 0, cS) != -1 |
721 | || tempAuthor.find( searcherStr, 0, cS) != -1) { | 723 | || tempAuthor.find( searcherStr, 0, cS) != -1) { |
722 | qWarning(tempTitle); | 724 | qWarning(tempTitle); |
723 | Searchlist.append( tempTitle + " : " + tempYear + " : " + tempFile); | 725 | Searchlist.append( tempTitle + " : " + tempYear + " : " + tempFile); |
724 | } | 726 | } |
725 | } | 727 | } |
726 | 728 | ||
727 | 729 | ||
728 | tabWidget->setCurrentPage( curTab); | 730 | tabWidget->setCurrentPage( curTab); |
729 | 731 | ||
730 | Searchlist.sort(); | 732 | Searchlist.sort(); |
731 | SearchResultsDlg* SearchResultsDialog; | 733 | SearchResultsDlg* SearchResultsDialog; |
732 | SearchResultsDialog = new SearchResultsDlg( searchDlg, "Results Dialog", true, 0 , Searchlist); | 734 | SearchResultsDialog = new SearchResultsDlg( searchDlg, "Results Dialog", true, 0 , Searchlist); |
733 | 735 | ||
734 | SearchResultsDialog->showMaximized(); | 736 | SearchResultsDialog->showMaximized(); |
735 | if( SearchResultsDialog->exec() != 0) { | 737 | if( SearchResultsDialog->exec() != 0) { |
736 | texter = SearchResultsDialog->selText; | 738 | texter = SearchResultsDialog->selText; |
diff --git a/noncore/apps/opie-gutenbrowser/openetext.cpp b/noncore/apps/opie-gutenbrowser/openetext.cpp index 0267416..a5d855d 100644 --- a/noncore/apps/opie-gutenbrowser/openetext.cpp +++ b/noncore/apps/opie-gutenbrowser/openetext.cpp | |||
@@ -28,494 +28,486 @@ using namespace Opie::Ui; | |||
28 | #include <qtextstream.h> | 28 | #include <qtextstream.h> |
29 | #include <qfileinfo.h> | 29 | #include <qfileinfo.h> |
30 | 30 | ||
31 | /* STD */ | 31 | /* STD */ |
32 | #if defined(_WS_WIN_) | 32 | #if defined(_WS_WIN_) |
33 | #include <windows.h> | 33 | #include <windows.h> |
34 | #else | 34 | #else |
35 | #include <unistd.h> | 35 | #include <unistd.h> |
36 | #include <stdlib.h> | 36 | #include <stdlib.h> |
37 | #include <sys/stat.h> | 37 | #include <sys/stat.h> |
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | OpenEtext::OpenEtext(QWidget *parent, QString name) : QDialog(parent,name,true) | 40 | OpenEtext::OpenEtext(QWidget *parent, QString name) : QDialog(parent,name,true) |
41 | { | 41 | { |
42 | local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/"; | 42 | local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/"; |
43 | local_index=local_library+"GUTINDEX.ALL"; | 43 | local_index=local_library+"GUTINDEX.ALL"; |
44 | initDialog(); | 44 | initDialog(); |
45 | connect( QListBox_1, SIGNAL(selected ( int)),this, SLOT(select_title(int)) ); | 45 | connect( QListBox_1, SIGNAL(selected ( int)),this, SLOT(select_title(int)) ); |
46 | 46 | ||
47 | getTitles(); | 47 | getTitles(); |
48 | } | 48 | } |
49 | 49 | ||
50 | OpenEtext::~OpenEtext() | 50 | OpenEtext::~OpenEtext() |
51 | { | 51 | { |
52 | } | 52 | } |
53 | 53 | ||
54 | void OpenEtext::getTitles() | 54 | void OpenEtext::getTitles() |
55 | { | 55 | { |
56 | QListBox_1->clear(); | 56 | QListBox_1->clear(); |
57 | Config config("Gutenbrowser"); | 57 | Config config("Gutenbrowser"); |
58 | config.setGroup( "Files" ); | 58 | config.setGroup( "Files" ); |
59 | s_numofFiles = config.readEntry("NumberOfFiles", "0"); | 59 | s_numofFiles = config.readEntry("NumberOfFiles", "0"); |
60 | QLabel_1->setText( tr( | 60 | QLabel_1->setText( tr( s_numofFiles+" etexts in your library." ) ); |
61 | s_numofFiles+" etexts in your library.")); | ||
62 | int i_numofFiles = s_numofFiles.toInt(); | 61 | int i_numofFiles = s_numofFiles.toInt(); |
63 | for (int i = 1; i <= i_numofFiles+1; i++) { | 62 | for (int i = 1; i <= i_numofFiles+1; i++) { |
64 | QString temp; | 63 | QString temp; |
65 | temp.setNum(i); | 64 | temp.setNum(i); |
66 | config.setGroup( "Files" ); | 65 | config.setGroup( "Files" ); |
67 | QString ramble = config.readEntry(temp, "" ); | 66 | QString ramble = config.readEntry(temp, "" ); |
68 | config.setGroup( "Titles" ); | 67 | config.setGroup( "Titles" ); |
69 | title = config.readEntry(ramble, ""); | 68 | title = config.readEntry(ramble, ""); |
70 | if( !title.isEmpty()) { | 69 | if( !title.isEmpty()) { |
71 | QListBox_1->insertItem ( QPixmap( QPEApplication::qpeDir()+"pics/gutenbrowser/gutenbrowser_sm.png"), title, -1); | 70 | QListBox_1->insertItem ( QPixmap( |
71 | QPEApplication::qpeDir() + | ||
72 | "pics/gutenbrowser/gutenbrowser_sm.png" | ||
73 | ), | ||
74 | title, | ||
75 | -1); | ||
72 | } | 76 | } |
73 | } | 77 | } |
74 | } | 78 | } |
75 | 79 | ||
76 | /* | 80 | /* |
77 | opens selected title */ | 81 | opens selected title */ |
78 | void OpenEtext::OpenTitle() | 82 | void OpenEtext::OpenTitle() |
79 | { | 83 | { |
80 | if( QListBox_1->currentItem() != -1) | 84 | if( QListBox_1->currentItem() != -1) |
81 | select_title( QListBox_1->currentItem() ); | 85 | select_title( QListBox_1->currentItem() ); |
82 | else { | 86 | else { |
83 | QString sMsg; | 87 | QString sMsg; |
84 | sMsg = "You must select an Etext to open"; | 88 | sMsg = "You must select an Etext to open"; |
85 | QMessageBox::message( "Error",sMsg); | 89 | QMessageBox::message( "Error",sMsg); |
86 | } | 90 | } |
87 | } | 91 | } |
88 | 92 | ||
89 | void OpenEtext::select_title(int index ) | 93 | void OpenEtext::select_title(int index ) |
90 | { | 94 | { |
91 | OpenButton->setDown(TRUE); | 95 | OpenButton->setDown(TRUE); |
92 | QString temp; | 96 | QString temp; |
93 | temp.setNum( index + 1); | 97 | temp.setNum( index + 1); |
94 | const char * title; | 98 | const char * title; |
95 | title = QListBox_1->text( index ); | 99 | title = QListBox_1->text( index ); |
96 | openFileTitle = title; | 100 | openFileTitle = title; |
97 | Config config("Gutenbrowser"); | 101 | Config config("Gutenbrowser"); |
98 | config.setGroup( "Files" ); | 102 | config.setGroup( "Files" ); |
99 | file = config.readEntry(temp, ""); | 103 | file = config.readEntry(temp, ""); |
100 | OpenEtext::accept(); | 104 | OpenEtext::accept(); |
101 | } | 105 | } |
102 | 106 | ||
103 | /* | 107 | /*! |
104 | This function imports already existing etexts into the local library list*/ | 108 | * This function imports already existing etexts into the local library list |
109 | */ | ||
105 | void OpenEtext::open() | 110 | void OpenEtext::open() |
106 | { | 111 | { |
107 | OpenFileButton->setDown(TRUE); | 112 | OpenFileButton->setDown(TRUE); |
108 | title = ""; | 113 | title = ""; |
109 | QString currDir=""; | 114 | QString currDir=""; |
110 | QString filer; | 115 | QString filer; |
111 | QString name_file; | 116 | QString name_file; |
112 | QString local ; | 117 | QString local ; |
113 | local = (QDir::homeDirPath () +"Applications/gutenbrowser"); | 118 | local = (QDir::homeDirPath () +"Applications/gutenbrowser"); |
114 | QDir library( local); | 119 | QDir library( local); |
115 | 120 | ||
116 | // fileBrowser *browseForFiles; | ||
117 | // browseForFiles=new fileBrowser(this,"Browse for File", TRUE, 0, "guten/plain;text/plain"); | ||
118 | // // browseForFiles=new fileBrowser(this,"fileBrowser",TRUE,0, "*"); | ||
119 | // browseForFiles->setFileView( 0); | ||
120 | // browseForFiles->showMaximized(); | ||
121 | // browseForFiles->exec(); | ||
122 | // QString selFile= browseForFiles->selectedFileName; | ||
123 | // fileList=browseForFiles->fileList; | ||
124 | Config cfg("Gutenbrowser"); | 121 | Config cfg("Gutenbrowser"); |
125 | cfg. setGroup ( "View" ); | 122 | cfg. setGroup ( "View" ); |
126 | QString dir = cfg.readEntry("LastOpenDirectory", QPEApplication::documentDir()); | 123 | QString dir = cfg.readEntry("LastOpenDirectory", QPEApplication::documentDir()); |
127 | QMap<QString, QStringList> map; | 124 | QMap<QString, QStringList> map; |
128 | map.insert(tr("All"), QStringList() ); | 125 | map.insert(tr("All"), QStringList() ); |
129 | QStringList text; | 126 | QStringList text; |
130 | text << "text/*"; | 127 | text << "text/*"; |
131 | map.insert(tr("Text"), text ); | 128 | map.insert(tr("Text"), text ); |
132 | text << "*"; | 129 | text << "*"; |
133 | map.insert(tr("All"), text ); | 130 | map.insert(tr("All"), text ); |
134 | 131 | ||
135 | QString str = OFileDialog::getOpenFileName( 2, dir , QString::null, map); | 132 | QString str = OFileDialog::getOpenFileName( 2, dir , QString::null, map); |
136 | 133 | ||
137 | if( !str.isEmpty() && QFile(str).exists() && !QFileInfo(str).isDir() ) { | 134 | if( !str.isEmpty() && QFile(str).exists() && !QFileInfo(str).isDir() ) { |
138 | filer = str; | 135 | filer = str; |
139 | 136 | ||
140 | odebug << "Open file: "+str << oendl; | 137 | odebug << "Open file: "+str << oendl; |
141 | 138 | ||
142 | // QStringList::ConstIterator f; | 139 | if( filer.right(4) == ".txt" || |
143 | // QString fileTemp; | 140 | filer.right(4) == ".TXT" || |
144 | // for ( f = fileList.begin(); f != fileList.end(); f++ ) { | 141 | filer.right(4) == ".etx" || |
145 | // fileTemp = *f; | 142 | filer.right(4) == ".ETX" || |
146 | // fileTemp.right( fileTemp.length()-5); | 143 | filer.right(4) == ".etx" || |
147 | // fileName = fileTemp; | 144 | filer.right(4) == ".ETX" || |
148 | // if( !fileName.isEmpty() ){ | 145 | filer.right(4) == ".zip" || |
149 | // filer = fileName; | 146 | filer.right(4) == ".ZIP" ) |
150 | // } else { //filename is empty | 147 | { |
151 | // // QString sMsg; | ||
152 | // // sMsg = "Error opening library filelist "+fileName; | ||
153 | // } | ||
154 | |||
155 | if( filer.right(4) == ".txt" | ||
156 | || filer.right(4) == ".TXT" | ||
157 | || filer.right(4) == ".etx" | ||
158 | || filer.right(4) == ".ETX" | ||
159 | || filer.right(4) == ".etx" | ||
160 | || filer.right(4) == ".ETX" | ||
161 | || filer.right(4) == ".zip" | ||
162 | || filer.right(4) == ".ZIP" ) { | ||
163 | QFileInfo zipFile( filer); | 148 | QFileInfo zipFile( filer); |
164 | QString s_fileName = zipFile.fileName(); | 149 | QString s_fileName = zipFile.fileName(); |
165 | QString cmd; | 150 | QString cmd; |
166 | 151 | ||
167 | if( s_fileName.right(4) == ".zip") { // unzip that sucker.... | 152 | if( s_fileName.right(4) == ".zip") { // unzip the file |
168 | s_fileName = s_fileName.left( s_fileName.length() - 4); | 153 | s_fileName = s_fileName.left( s_fileName.length() - 4); |
169 | if( chdir((const char*)local_library.latin1())!=0) | 154 | if( chdir((const char*)local_library.latin1())!=0) |
170 | odebug << "chdir failed." << oendl; // QString cmd = "gunzip -d " + filer + " -d " + local_library; | 155 | odebug << "chdir failed." << oendl; |
171 | cmd = "gunzip -S .zip " + filer; | 156 | cmd = "gunzip -S .zip " + filer; |
172 | fileName = local_library + s_fileName + ".txt"; | 157 | fileName = local_library + s_fileName + ".txt"; |
173 | system( cmd); | 158 | system( cmd); |
174 | } | 159 | } else { // else rename .txt to .etx |
175 | // this renames the .txt to .etx!! | 160 | // odebug << "Filename is "+fileName << oendl; |
176 | else /*if( s_fileName.right(4) == ".txt" || if( s_fileName.right(4) == ".TXT"))*/ { | ||
177 | // odebug << "Filename is "+fileName << oendl; | ||
178 | s_fileName = fileName; | 161 | s_fileName = fileName; |
179 | s_fileName.replace( s_fileName.length()-3,3,"gtn");// s_fileName.replace( s_fileName.length()-3,3,"etx"); | 162 | s_fileName.replace( s_fileName.length()-3,3,"gtn"); |
180 | rename(fileName.latin1(),s_fileName.latin1()); | 163 | if (rename(fileName.latin1(),s_fileName.latin1()) == -1) |
164 | owarn << "Rename of " << fileName.latin1() << " to " | ||
165 | << s_fileName.latin1() << " failed" << oendl; | ||
181 | fileName = s_fileName; | 166 | fileName = s_fileName; |
182 | // odebug << "Filename is now "+fileName << oendl; | 167 | // odebug << "Filename is now "+fileName << oendl; |
183 | } | 168 | } |
184 | } else | 169 | } else |
185 | fileName = str; | 170 | fileName = str; |
186 | 171 | ||
187 | FindTitle(fileName); | 172 | FindTitle(fileName); |
188 | 173 | ||
189 | QFileInfo fi( fileName); | 174 | QFileInfo fi( fileName); |
190 | name_file = fi.fileName(); | 175 | name_file = fi.fileName(); |
191 | name_file = name_file.left(name_file.length() - 4); | 176 | name_file = name_file.left(name_file.length() - 4); |
192 | 177 | ||
193 | odebug << "Setting doclink" << oendl; | 178 | odebug << "Setting doclink" << oendl; |
194 | DocLnk lnk; | 179 | DocLnk lnk; |
195 | odebug << "name is " + name_file << oendl; | 180 | odebug << "name is " + name_file << oendl; |
196 | lnk.setName(name_file); //sets file name | 181 | lnk.setName(name_file); //sets file name |
197 | odebug << "Title is "+title << oendl; | 182 | odebug << "Title is "+title << oendl; |
198 | lnk.setComment(title); | 183 | lnk.setComment(title); |
199 | 184 | ||
200 | QListBox_1->clear(); | 185 | QListBox_1->clear(); |
201 | getTitles(); | 186 | getTitles(); |
202 | odebug << "Filename is "+fileName << oendl; | 187 | odebug << "Filename is "+fileName << oendl; |
203 | lnk.setFile(fileName); //sets File property | 188 | lnk.setFile(fileName); //sets File property |
204 | lnk.setType("guten/plain");// hey is this a REGISTERED mime type?!?!? ;D | 189 | // @bug This is probably not a registered MIME type. Perhaps we should |
190 | // set a valid MIME type here instead. Or maybe register .etx as a | ||
191 | // Gutenberge etext? | ||
192 | lnk.setType("guten/plain"); | ||
205 | lnk.setExec(fileName); | 193 | lnk.setExec(fileName); |
206 | lnk.setIcon("gutenbrowser/Gutenbrowser"); | 194 | lnk.setIcon("gutenbrowser/Gutenbrowser"); |
207 | if(!lnk.writeLink()) | 195 | if(!lnk.writeLink()) |
208 | odebug << "Writing doclink did not work" << oendl; | 196 | odebug << "Writing doclink did not work" << oendl; |
209 | 197 | ||
210 | } // end of for each file name.... | 198 | } // end of for each file name.... |
211 | OpenFileButton->setDown(FALSE); | 199 | OpenFileButton->setDown(FALSE); |
212 | } | 200 | } |
213 | 201 | ||
214 | /* | 202 | /* |
215 | find the title in the config file */ | 203 | find the title in the config file */ |
216 | bool OpenEtext::FindTitle( QString filename) | 204 | bool OpenEtext::FindTitle( QString filename) |
217 | { | 205 | { |
218 | Config config("Gutenbrowser"); | 206 | Config config("Gutenbrowser"); |
219 | config.setGroup( "Files" ); | 207 | config.setGroup( "Files" ); |
220 | QString s_numofFiles = config.readEntry("NumberOfFiles", "0"); | 208 | QString s_numofFiles = config.readEntry("NumberOfFiles", "0"); |
221 | int i_numofFiles = s_numofFiles.toInt(); | 209 | int i_numofFiles = s_numofFiles.toInt(); |
222 | 210 | ||
223 | QFileInfo fi(filename); | 211 | QFileInfo fi(filename); |
224 | name = fi.fileName(); | 212 | name = fi.fileName(); |
225 | odebug << "filename to open is " + name << oendl; | 213 | odebug << "filename to open is " + name << oendl; |
226 | QFile indexLib( filename); | 214 | QFile indexLib( filename); |
227 | bool findCheck = FALSE; | 215 | bool findCheck = FALSE; |
228 | // int Titlenumber=0; | ||
229 | 216 | ||
230 | if ( indexLib.open( IO_ReadOnly) ) { | 217 | if ( indexLib.open( IO_ReadOnly) ) { |
231 | odebug << "file opened successfully" << oendl; | 218 | odebug << "file opened successfully" << oendl; |
232 | QTextStream indexStream( &indexLib ); | 219 | QTextStream indexStream( &indexLib ); |
233 | QString target = "Project Gutenberg Etext of"; | 220 | QString target = "Project Gutenberg Etext of"; |
234 | QString target2 = "Project Gutenberg Etext"; | 221 | QString target2 = "Project Gutenberg Etext"; |
235 | QString target3 = "Project Gutenberg's Etext of"; | 222 | QString target3 = "Project Gutenberg's Etext of"; |
236 | QString target4 = "Project Gutenberg's Etext"; | 223 | QString target4 = "Project Gutenberg's Etext"; |
237 | QString indexLine; | 224 | QString indexLine; |
238 | while ( !indexStream.eof() ) { | 225 | while ( !indexStream.eof() ) { |
239 | // until end of file.. | 226 | // until end of file.. |
240 | indexLine = indexStream.readLine(); | 227 | indexLine = indexStream.readLine(); |
241 | if( indexLine.find(target, 0, TRUE) > -1 && !findCheck) {findCheck = TRUE; | 228 | if( indexLine.find(target, 0, TRUE) > -1 && !findCheck) {findCheck = TRUE; |
242 | title = indexLine.mid( indexLine.find(target, 0, TRUE) + (target.length()) , indexLine.find("\r", 0, TRUE)); | 229 | title = indexLine.mid( indexLine.find(target, 0, TRUE) + (target.length()) , indexLine.find("\r", 0, TRUE)); |
243 | title = title.left( title.find( "*",0, TRUE)); | 230 | title = title.left( title.find( "*",0, TRUE)); |
244 | title = title.stripWhiteSpace (); | 231 | title = title.stripWhiteSpace (); |
245 | // odebug << "Found the title 1 and it is " << title << "" << oendl; | 232 | // odebug << "Found the title 1 and it is " << title << "" << oendl; |
246 | // QListBox_1->insertItem ( title); | 233 | // QListBox_1->insertItem ( title); |
247 | } | 234 | } |
248 | if( indexLine.find( target2, 0, TRUE) > -1 && !findCheck) { | 235 | if( indexLine.find( target2, 0, TRUE) > -1 && !findCheck) { |
249 | findCheck = TRUE; | 236 | findCheck = TRUE; |
250 | title = indexLine.mid( indexLine.find( target2, 0, TRUE ) + ( target2.length()) , indexLine.find("\r", 0, TRUE) ); | 237 | title = indexLine.mid( indexLine.find( target2, 0, TRUE ) + ( target2.length()) , indexLine.find("\r", 0, TRUE) ); |
251 | title = title.left( title.find( "*",0, TRUE)); | 238 | title = title.left( title.find( "*",0, TRUE)); |
252 | title = title.stripWhiteSpace (); | 239 | title = title.stripWhiteSpace (); |
253 | // odebug << "Found the title 2 and it is " << title << "" << oendl; | 240 | // odebug << "Found the title 2 and it is " << title << "" << oendl; |
254 | // QListBox_1->insertItem ( title); | 241 | // QListBox_1->insertItem ( title); |
255 | } | 242 | } |
256 | if( indexLine.find( target3, 0, TRUE) > -1 && !findCheck) { | 243 | if( indexLine.find( target3, 0, TRUE) > -1 && !findCheck) { |
257 | findCheck = TRUE; | 244 | findCheck = TRUE; |
258 | title = indexLine.mid( indexLine.find( target3, 0, TRUE) + ( target3.length()) , indexLine.find("\r", 0, TRUE)); | 245 | title = indexLine.mid( indexLine.find( target3, 0, TRUE) + ( target3.length()) , indexLine.find("\r", 0, TRUE)); |
259 | title = title.left( title.find( "*",0, TRUE)); | 246 | title = title.left( title.find( "*",0, TRUE)); |
260 | title = title.stripWhiteSpace (); | 247 | title = title.stripWhiteSpace (); |
261 | // odebug << "Found the title 3 and it is " << title << "" << oendl; | 248 | // odebug << "Found the title 3 and it is " << title << "" << oendl; |
262 | } | 249 | } |
263 | if( indexLine.find( target4, 0, TRUE) > -1 && !findCheck) { | 250 | if( indexLine.find( target4, 0, TRUE) > -1 && !findCheck) { |
264 | findCheck = TRUE; | 251 | findCheck = TRUE; |
265 | title = indexLine.mid( indexLine.find( target4, 0, TRUE) + ( target4.length()) , indexLine.find("\r", 0, TRUE)); | 252 | title = indexLine.mid( indexLine.find( target4, 0, TRUE) + ( target4.length()) , indexLine.find("\r", 0, TRUE)); |
266 | title = title.left( title.find( "*",0, TRUE)); | 253 | title = title.left( title.find( "*",0, TRUE)); |
267 | title = title.stripWhiteSpace (); | 254 | title = title.stripWhiteSpace (); |
268 | // odebug << "Found the title 4 and it is " << title << "" << oendl; | 255 | // odebug << "Found the title 4 and it is " << title << "" << oendl; |
269 | } | 256 | } |
270 | } //endof file | 257 | } //endof file |
271 | indexLib.close(); | 258 | indexLib.close(); |
272 | 259 | ||
273 | if( !findCheck || title.length() < 2) { | 260 | if( !findCheck || title.length() < 2) { |
274 | odebug << "Trying hard to find title from GUTINDEX.ALL" << oendl; | 261 | odebug << "Trying hard to find title from GUTINDEX.ALL" << oendl; |
275 | title = titleFromLibrary( filename); | 262 | title = titleFromLibrary( filename); |
276 | findCheck = TRUE; | 263 | findCheck = TRUE; |
277 | } | 264 | } |
278 | 265 | ||
279 | if ( checkConf() == false && findCheck == TRUE) { | 266 | if ( checkConf() == false && findCheck == TRUE) { |
280 | |||
281 | config.setGroup( "Files"); | 267 | config.setGroup( "Files"); |
282 | config.writeEntry("NumberOfFiles",i_numofFiles + 1 ); | 268 | config.writeEntry("NumberOfFiles",i_numofFiles + 1 ); |
283 | QString interger; | 269 | QString interger; |
284 | interger.setNum( i_numofFiles +1); | 270 | interger.setNum( i_numofFiles +1); |
285 | config.writeEntry(interger, filename); | 271 | config.writeEntry(interger, filename); |
286 | config.setGroup( "Titles" ); | 272 | config.setGroup( "Titles" ); |
287 | for (int i = 1; i <= i_numofFiles; i++) { //find dup titles in config file | 273 | for (int i = 1; i <= i_numofFiles; i++) { //find dup titles in config file |
288 | QString temp; | 274 | QString temp; |
289 | temp.setNum(i); | 275 | temp.setNum(i); |
290 | config.setGroup( "Files" ); | 276 | config.setGroup( "Files" ); |
291 | QString ramble = config.readEntry(temp, "" ); | 277 | QString ramble = config.readEntry(temp, "" ); |
292 | config.setGroup( "Titles" ); | 278 | config.setGroup( "Titles" ); |
293 | QString title1 = config.readEntry(ramble, ""); | 279 | QString title1 = config.readEntry(ramble, ""); |
294 | if(title1==title) | 280 | if(title1==title) |
295 | title+="1"; | 281 | title+="1"; |
296 | i= i_numofFiles+1; | 282 | i= i_numofFiles+1; |
297 | } | 283 | } |
298 | if(title.length()<3) { | 284 | if(title.length()<3) { |
299 | // odebug << "title is empty" << oendl; | 285 | // odebug << "title is empty" << oendl; |
300 | title="Unknown"; | 286 | title="Unknown"; |
301 | } | 287 | } |
302 | config.writeEntry( filename,title); | 288 | config.writeEntry( filename,title); |
303 | } | 289 | } |
304 | } else { | 290 | } else { |
305 | QString sMsg; | 291 | QString sMsg; |
306 | sMsg = "Error opening library file: "+filename; | 292 | sMsg = "Error opening library file: "+filename; |
307 | printf( sMsg+"\n"); | 293 | printf( sMsg+"\n"); |
308 | } | 294 | } |
309 | return true; | 295 | return true; |
310 | } | 296 | } |
311 | 297 | ||
312 | QString OpenEtext::titleFromLibrary( QString fileName) | 298 | QString OpenEtext::titleFromLibrary( QString fileName) |
313 | { | 299 | { |
314 | QFile indexLib( local_index); | 300 | QFile indexLib( local_index); |
315 | QString target; | 301 | QString target; |
316 | int find1 = fileName.findRev("/",-1,TRUE) + 1; | 302 | int find1 = fileName.findRev("/",-1,TRUE) + 1; |
317 | int find2 = fileName.findRev(".gtn",-1,TRUE) - find1; | 303 | int find2 = fileName.findRev(".gtn",-1,TRUE) - find1; |
318 | if(find2==-1-find1) | 304 | if(find2== (-1-find1)) |
319 | int find2 = fileName.findRev(".etx",-1,TRUE) - find1; | 305 | find2 = fileName.findRev(".etx",-1,TRUE) - find1; |
320 | else if(find2==-1-find1) | 306 | else if(find2==(-1-find1)) |
321 | int find2 = fileName.findRev(".txt",-1,TRUE) - find1; | 307 | find2 = fileName.findRev(".txt",-1,TRUE) - find1; |
322 | 308 | ||
323 | target = fileName.mid( find1, find2 ); | 309 | target = fileName.mid( find1, find2 ); |
324 | QString checker = target.right(1); | 310 | QString checker = target.right(1); |
325 | bool ok; | 311 | bool ok; |
326 | checker.toInt( &ok,10); | 312 | checker.toInt( &ok,10); |
327 | if( ok) { | 313 | if( ok) { |
328 | target = target.left( target.length()-1); | 314 | target = target.left( target.length()-1); |
329 | checker = target.right(1); | 315 | checker = target.right(1); |
330 | ok = FALSE; | 316 | ok = FALSE; |
331 | checker.toInt( &ok,10); | 317 | checker.toInt( &ok,10); |
332 | if( ok) { | 318 | if( ok) { |
333 | target = target.left( target.length()-1); | 319 | target = target.left( target.length()-1); |
334 | } | 320 | } |
335 | } | 321 | } |
336 | if ( indexLib.open( IO_ReadOnly) ) { | 322 | if ( indexLib.open( IO_ReadOnly) ) { |
337 | // file opened successfully | 323 | // file opened successfully |
338 | QTextStream indexStream( &indexLib ); | 324 | QTextStream indexStream( &indexLib ); |
339 | QString indexLine; | 325 | QString indexLine; |
340 | bool findCheck = FALSE; | 326 | bool findCheck = FALSE; |
341 | while ( !indexStream.atEnd() ) { // until end of file.. | 327 | while ( !indexStream.atEnd() ) { // until end of file.. |
342 | indexLine = indexStream.readLine(); | 328 | indexLine = indexStream.readLine(); |
343 | 329 | ||
344 | if( indexLine.find( target,0,FALSE) > 0 ) { | 330 | if( indexLine.find( target,0,FALSE) > 0 ) { |
345 | findCheck = TRUE; | 331 | findCheck = TRUE; |
346 | title = indexLine.mid( 9, 50); | 332 | title = indexLine.mid( 9, 50); |
347 | // title = indexLine.mid( 26, indexLine.length() ); | ||
348 | title = title.stripWhiteSpace (); | 333 | title = title.stripWhiteSpace (); |
349 | // odebug << "Finally Found the title and it is\n " << title << "" << oendl; | 334 | // odebug << "Finally Found the title and it is\n " << title << "" << oendl; |
350 | // QListBox_1->insertItem ( title); | 335 | // QListBox_1->insertItem ( title); |
351 | } | 336 | } |
352 | } //end while loop | 337 | } //end while loop |
353 | } | 338 | } |
354 | else | 339 | else |
355 | odebug << "Error opening library index "+ local_index << oendl; | 340 | odebug << "Error opening library index "+ local_index << oendl; |
356 | return title; | 341 | return title; |
357 | } | 342 | } |
358 | 343 | ||
359 | bool OpenEtext::checkConf() | 344 | bool OpenEtext::checkConf() |
360 | { | 345 | { |
361 | QString file = fileName; | 346 | QString file = fileName; |
362 | Config config("Gutenbrowser"); | 347 | Config config("Gutenbrowser"); |
363 | config.setGroup( "Files" ); | 348 | config.setGroup( "Files" ); |
364 | QString s_numofFiles = config.readEntry("NumberOfFiles", "0" ); | 349 | QString s_numofFiles = config.readEntry("NumberOfFiles", "0" ); |
365 | int i_numofFiles = s_numofFiles.toInt(); | 350 | int i_numofFiles = s_numofFiles.toInt(); |
366 | 351 | ||
367 | for (int i = 1; i <= i_numofFiles; i++) { | 352 | for (int i = 1; i <= i_numofFiles; i++) { |
368 | QString temp; | 353 | QString temp; |
369 | temp.setNum(i); | 354 | temp.setNum(i); |
370 | config.setGroup( "Files"); | 355 | config.setGroup( "Files"); |
371 | QString ramble = config.readEntry(temp, "" ); | 356 | QString ramble = config.readEntry(temp, "" ); |
372 | 357 | ||
373 | if(ramble == file ) { | 358 | if(ramble == file ) { |
374 | return true; | 359 | return true; |
375 | } | 360 | } |
376 | } | 361 | } |
377 | return false; | 362 | return false; |
378 | } | 363 | } |
379 | 364 | ||
380 | void OpenEtext::remove() | 365 | void OpenEtext::remove() |
381 | { | 366 | { |
382 | title_text = QListBox_1->text( QListBox_1->currentItem() ); | 367 | title_text = QListBox_1->text( QListBox_1->currentItem() ); |
383 | title_text=title_text.stripWhiteSpace(); | 368 | title_text=title_text.stripWhiteSpace(); |
384 | QString msg ="<p>Do you really want to REMOVE\n" +title_text +"?\nThis will not delete the file.</P>"; | 369 | QString msg ="<p>Do you really want to REMOVE\n" + title_text + |
385 | switch( QMessageBox::information( this, (tr("Remove Etext")), | 370 | "?\nThis will not delete the file.</P>"; |
386 | (tr(msg)), | 371 | switch( QMessageBox::information( this, tr("Remove Etext"), |
387 | (tr("&Yes")), (tr("&Cancel")), 0 )){ | 372 | tr(msg), |
373 | tr("&Yes"), tr("&Cancel"), 0 ) ) | ||
374 | { | ||
388 | case 0: // Yes clicked, | 375 | case 0: // Yes clicked, |
389 | removeSelection(); | 376 | removeSelection(); |
390 | QListBox_1->clear(); | 377 | QListBox_1->clear(); |
391 | getTitles(); | 378 | getTitles(); |
392 | break; | 379 | break; |
393 | case 1: // Cancel | 380 | case 1: |
394 | break; | 381 | default: |
395 | }; | 382 | } |
396 | } | 383 | } |
397 | 384 | ||
398 | /* | 385 | /*! |
399 | this removes selected title entry*/ | 386 | * This removes selected title entry |
387 | */ | ||
400 | void OpenEtext::removeSelection() | 388 | void OpenEtext::removeSelection() |
401 | { | 389 | { |
402 | Config config("Gutenbrowser"); | 390 | Config config("Gutenbrowser"); |
403 | config.setGroup( "Files" ); | 391 | config.setGroup( "Files" ); |
404 | s_numofFiles = config.readEntry("NumberOfFiles", "0"); | 392 | s_numofFiles = config.readEntry("NumberOfFiles", "0"); |
405 | int rem=0; | 393 | int rem=0; |
406 | int i_numofFiles = s_numofFiles.toInt(); | 394 | int i_numofFiles = s_numofFiles.toInt(); |
407 | QString fileNum2; | 395 | QString fileNum2; |
408 | QString fileNum; | 396 | QString fileNum; |
409 | 397 | ||
410 | for (int i = 1; i <= i_numofFiles; i++) { | 398 | for (int i = 1; i <= i_numofFiles; i++) { |
411 | fileNum.setNum(i); | 399 | fileNum.setNum(i); |
412 | config.setGroup( "Files" ); | 400 | config.setGroup( "Files" ); |
413 | 401 | ||
414 | QString s_filename = config.readEntry(fileNum, "" ); | 402 | QString s_filename = config.readEntry(fileNum, "" ); |
415 | config.setGroup( "Titles" ); | 403 | config.setGroup( "Titles" ); |
416 | 404 | ||
417 | QString file_title = config.readEntry( s_filename, ""); | 405 | QString file_title = config.readEntry( s_filename, ""); |
418 | if(title_text == file_title) { | 406 | if(title_text == file_title) { |
419 | rem=i; | 407 | rem=i; |
420 | //odebug << "file title to remove is "+file_title << oendl; | 408 | //odebug << "file title to remove is "+file_title << oendl; |
421 | selFile = s_filename; | 409 | selFile = s_filename; |
422 | config.removeEntry( s_filename); //removes file=title | 410 | config.removeEntry( s_filename); //removes file=title |
423 | } | 411 | } |
424 | } | 412 | } |
425 | config.setGroup( "Files" ); | 413 | config.setGroup( "Files" ); |
426 | 414 | ||
427 | for(int fg = rem; fg < i_numofFiles ; fg++ ) { //this rewrites Files number entry | 415 | for(int fg = rem; fg < i_numofFiles ; fg++ ) { //this rewrites Files number entry |
428 | fileNum.setNum(fg); | 416 | fileNum.setNum(fg); |
429 | fileNum2.setNum( fg + 1); | 417 | fileNum2.setNum( fg + 1); |
430 | 418 | ||
431 | QString s_filename2 = config.readEntry(fileNum2, "" ); | 419 | QString s_filename2 = config.readEntry(fileNum2, "" ); |
432 | 420 | ||
433 | if (!s_filename2.isEmpty()) { | 421 | if (!s_filename2.isEmpty()) { |
434 | config.writeEntry(fileNum, s_filename2 ); | 422 | config.writeEntry(fileNum, s_filename2 ); |
435 | } | 423 | } |
436 | } | 424 | } |
437 | config.writeEntry("NumberOfFiles", i_numofFiles - 1 ); | 425 | config.writeEntry("NumberOfFiles", i_numofFiles - 1 ); |
438 | config.removeEntry(fileNum2); | 426 | config.removeEntry(fileNum2); |
439 | // remFile(); | ||
440 | } | 427 | } |
441 | 428 | ||
442 | /* | 429 | /*! |
443 | removes file title name from list and config file*/ | 430 | * Removes file title name from list and config file |
431 | */ | ||
444 | void OpenEtext::remFile() | 432 | void OpenEtext::remFile() |
445 | { | 433 | { |
446 | Config config("Gutenbrowser"); | 434 | Config config("Gutenbrowser"); |
447 | config.setGroup( "Files" ); | 435 | config.setGroup( "Files" ); |
448 | QString remFile; | 436 | QString remFile; |
449 | s_numofFiles = config.readEntry("NumberOfFiles", "0"); | 437 | s_numofFiles = config.readEntry("NumberOfFiles", "0"); |
450 | int i_numofFiles = s_numofFiles.toInt(); | 438 | int i_numofFiles = s_numofFiles.toInt(); |
451 | for (int i = 1; i <= i_numofFiles; i++) { | 439 | for (int i = 1; i <= i_numofFiles; i++) { |
452 | QString fileNum; | 440 | QString fileNum; |
453 | fileNum.setNum(i); | 441 | fileNum.setNum(i); |
454 | QString s_filename = config.readEntry(fileNum, "" ); | 442 | QString s_filename = config.readEntry(fileNum, "" ); |
455 | 443 | ||
456 | if( s_filename == selFile) { | 444 | if( s_filename == selFile) { |
457 | config.removeEntry(selFile); | 445 | config.removeEntry(selFile); |
458 | 446 | ||
459 | for(int fg = i_numofFiles - i; fg < i_numofFiles ; fg++ ) { //this rewrites Files number entry | 447 | for(int fg = i_numofFiles - i; fg < i_numofFiles ; fg++ ) { //this rewrites Files number entry |
460 | QString fileNum2; | 448 | QString fileNum2; |
461 | fileNum2.setNum( fg + 1); | 449 | fileNum2.setNum( fg + 1); |
462 | QString s_filename2 = config.readEntry(fileNum2, "" ); | 450 | QString s_filename2 = config.readEntry(fileNum2, "" ); |
463 | 451 | ||
464 | if (!s_filename2.isEmpty()) { | 452 | if (!s_filename2.isEmpty()) |
465 | config.writeEntry(fileNum, s_filename2 ); | 453 | config.writeEntry(fileNum, s_filename2 ); |
466 | } | ||
467 | } | 454 | } |
468 | } | 455 | } |
469 | } | 456 | } |
470 | config.writeEntry("NumberOfFiles", i_numofFiles - 1 ); | 457 | config.writeEntry("NumberOfFiles", i_numofFiles - 1 ); |
471 | config.removeEntry(s_numofFiles); | 458 | config.removeEntry(s_numofFiles); |
472 | 459 | ||
473 | QListBox_1->triggerUpdate(true); | 460 | QListBox_1->triggerUpdate(true); |
474 | } | 461 | } |
475 | 462 | ||
476 | /* | 463 | /*! |
477 | sorts the list*/ | 464 | * Sorts the list |
465 | */ | ||
478 | void OpenEtext::scan() { | 466 | void OpenEtext::scan() { |
479 | 467 | ||
480 | QListBox_1->sort(TRUE); | 468 | QListBox_1->sort(TRUE); |
481 | QListBox_1->triggerUpdate(true); | 469 | QListBox_1->triggerUpdate(true); |
482 | } | 470 | } |
483 | 471 | ||
484 | void OpenEtext::editTitle() { | 472 | void OpenEtext::editTitle() { |
485 | 473 | ||
486 | int currentItem=QListBox_1->currentItem(); | 474 | int currentItem=QListBox_1->currentItem(); |
487 | QString title_text = QListBox_1->text( currentItem); | 475 | QString title_text = QListBox_1->text( currentItem); |
488 | //odebug << "Selected "+title_text << oendl; | 476 | //odebug << "Selected "+title_text << oendl; |
489 | 477 | ||
490 | Config config("Gutenbrowser"); | 478 | Config config("Gutenbrowser"); |
491 | config.setGroup( "Files" ); | 479 | config.setGroup( "Files" ); |
492 | s_numofFiles = config.readEntry("NumberOfFiles", "0"); | 480 | s_numofFiles = config.readEntry("NumberOfFiles", "0"); |
493 | int i_numofFiles = s_numofFiles.toInt(); | 481 | int i_numofFiles = s_numofFiles.toInt(); |
494 | QString fileNum; | 482 | QString fileNum; |
495 | for (int i = 1; i <= i_numofFiles+1; i++) { | 483 | for (int i = 1; i <= i_numofFiles+1; i++) { |
496 | 484 | ||
497 | fileNum.setNum(i); | 485 | fileNum.setNum(i); |
498 | config.setGroup( "Files" ); | 486 | config.setGroup( "Files" ); |
499 | QString s_filename = config.readEntry(fileNum, "" ); | 487 | QString s_filename = config.readEntry(fileNum, "" ); |
500 | config.setGroup( "Titles" ); | 488 | config.setGroup( "Titles" ); |
501 | QString file_title = config.readEntry( s_filename, ""); | 489 | QString file_title = config.readEntry( s_filename, ""); |
502 | //odebug << "file_title is "+file_title << oendl; | 490 | //odebug << "file_title is "+file_title << oendl; |
503 | if(title_text == file_title ) { | 491 | if(title_text == file_title ) { |
504 | selFile = s_filename; | 492 | selFile = s_filename; |
505 | //odebug << "Edit: "+ file_title << oendl; | 493 | //odebug << "Edit: "+ file_title << oendl; |
506 | i=i_numofFiles+1; | 494 | i=i_numofFiles+1; |
507 | Edit_Title *titleEdit; | 495 | Edit_Title *titleEdit; |
508 | titleEdit = new Edit_Title(this,file_title ,TRUE); | 496 | titleEdit = new Edit_Title(this,file_title ,TRUE); |
509 | if(titleEdit->exec() !=0) { | 497 | if(titleEdit->exec() !=0) { |
510 | //odebug << titleEdit->newTitle << oendl; | 498 | //odebug << titleEdit->newTitle << oendl; |
511 | config.writeEntry( s_filename, titleEdit->newTitle); | 499 | config.writeEntry( s_filename, titleEdit->newTitle); |
512 | QListBox_1->removeItem(currentItem); | 500 | QListBox_1->removeItem(currentItem); |
513 | QListBox_1->insertItem ( QPixmap( QPEApplication::qpeDir()+"pics/gutenbrowser/gutenbrowser_sm.png"), titleEdit->newTitle, currentItem); | 501 | QListBox_1->insertItem ( |
502 | QPixmap( QPEApplication::qpeDir()+ | ||
503 | "pics/gutenbrowser/gutenbrowser_sm.png"), | ||
504 | titleEdit->newTitle, currentItem | ||
505 | ); | ||
514 | } | 506 | } |
515 | } | 507 | } |
516 | } | 508 | } |
517 | 509 | ||
518 | // getTitles(); | 510 | //getTitles(); |
519 | QListBox_1->triggerUpdate(true); | 511 | QListBox_1->triggerUpdate(true); |
520 | } | 512 | } |
521 | 513 | ||
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp index 84d28ce..5f281b7 100644 --- a/noncore/multimedia/opieplayer2/lib.cpp +++ b/noncore/multimedia/opieplayer2/lib.cpp | |||
@@ -48,78 +48,80 @@ _;:, .> :=|. This program is free software; you can | |||
48 | #include <unistd.h> | 48 | #include <unistd.h> |
49 | 49 | ||
50 | typedef void (*display_xine_frame_t) (void *user_data, uint8_t* frame, | 50 | typedef void (*display_xine_frame_t) (void *user_data, uint8_t* frame, |
51 | int width, int height,int bytes ); | 51 | int width, int height,int bytes ); |
52 | typedef void (*vo_scale_cb) (void*, int, int, double, | 52 | typedef void (*vo_scale_cb) (void*, int, int, double, |
53 | int*, int*, int*, int*, double*, int*, int* ); | 53 | int*, int*, int*, int*, double*, int*, int* ); |
54 | typedef void (*dest_size_cb) (void*, int, int, double, int*, int*, double*); | 54 | typedef void (*dest_size_cb) (void*, int, int, double, int*, int*, double*); |
55 | 55 | ||
56 | 56 | ||
57 | extern "C" { | 57 | extern "C" { |
58 | xine_vo_driver_t* init_video_out_plugin( xine_t *xine, void* video, display_xine_frame_t, void *, vo_scale_cb, dest_size_cb ); | 58 | xine_vo_driver_t* init_video_out_plugin( xine_t *xine, void* video, display_xine_frame_t, void *, vo_scale_cb, dest_size_cb ); |
59 | int null_is_showing_video( const xine_vo_driver_t* self ); | 59 | int null_is_showing_video( const xine_vo_driver_t* self ); |
60 | void null_set_show_video( const xine_vo_driver_t* self, int show ); | 60 | void null_set_show_video( const xine_vo_driver_t* self, int show ); |
61 | void null_set_mode( const xine_vo_driver_t* self, int depth, int rgb ); | 61 | void null_set_mode( const xine_vo_driver_t* self, int depth, int rgb ); |
62 | void null_display_handler( const xine_vo_driver_t* self, display_xine_frame_t t, void* user_data ); | 62 | void null_display_handler( const xine_vo_driver_t* self, display_xine_frame_t t, void* user_data ); |
63 | } | 63 | } |
64 | 64 | ||
65 | using namespace XINE; | 65 | using namespace XINE; |
66 | 66 | ||
67 | Lib::Lib( InitializationMode initMode, XineVideoWidget* widget ) | 67 | Lib::Lib( InitializationMode initMode, XineVideoWidget* widget ) |
68 | { | 68 | { |
69 | m_initialized = false; | 69 | m_initialized = false; |
70 | m_duringInitialization = false; | 70 | m_duringInitialization = false; |
71 | m_video = false; | 71 | m_video = false; |
72 | m_wid = widget; | 72 | m_wid = widget; |
73 | printf("Lib"); | 73 | printf("Lib"); |
74 | QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; | 74 | QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; |
75 | // get the configuration | 75 | // get the configuration |
76 | 76 | ||
77 | // not really OO, should be an extra class, later | 77 | // not really OO, should be an extra class, later |
78 | if ( !QFile::exists(configPath) ) { | 78 | if ( !QFile::exists(configPath) ) { |
79 | QFile f(configPath); | 79 | QFile f(configPath); |
80 | f.open(IO_WriteOnly); | 80 | if (f.open(IO_WriteOnly)) { |
81 | QTextStream ts( &f ); | 81 | QTextStream ts( &f ); |
82 | ts << "misc.memcpy_method:glibc\n"; | 82 | ts << "misc.memcpy_method:glibc\n"; |
83 | ts << "# uncomment if you experience double speed audio \n #audio.oss_sync_method:softsync\n"; | 83 | ts << "# uncomment if you experience double speed audio \n #audio.oss_sync_method:softsync\n"; |
84 | ts << "codec.ffmpeg_pp_quality:3\n"; | 84 | ts << "codec.ffmpeg_pp_quality:3\n"; |
85 | ts << "audio.num_buffers:50\n"; | 85 | ts << "audio.num_buffers:50\n"; |
86 | ts << "audio.size_buffers:4096\n"; | 86 | ts << "audio.size_buffers:4096\n"; |
87 | ts << "video.num_buffers:20\n"; | 87 | ts << "video.num_buffers:20\n"; |
88 | ts << "video.size_buffers:4096\n"; | 88 | ts << "video.size_buffers:4096\n"; |
89 | ts << "audio.out_num_audio_buf:16\n"; | 89 | ts << "audio.out_num_audio_buf:16\n"; |
90 | ts << "audio.out_size_audio_buf:8096\n"; | 90 | ts << "audio.out_size_audio_buf:8096\n"; |
91 | ts << "audio.out_size_zero_buf:1024\n"; | 91 | ts << "audio.out_size_zero_buf:1024\n"; |
92 | ts << "audio.passthrough_offset:0\n"; | 92 | ts << "audio.passthrough_offset:0\n"; |
93 | f.close(); | 93 | f.close(); |
94 | } else | ||
95 | owarn << "Failed to open " f.name() << oendl; | ||
94 | } | 96 | } |
95 | 97 | ||
96 | if ( initMode == InitializeImmediately ) { | 98 | if ( initMode == InitializeImmediately ) { |
97 | initialize(); | 99 | initialize(); |
98 | m_initialized = true; | 100 | m_initialized = true; |
99 | } | 101 | } |
100 | else | 102 | else |
101 | start(); | 103 | start(); |
102 | } | 104 | } |
103 | 105 | ||
104 | void Lib::run() | 106 | void Lib::run() |
105 | { | 107 | { |
106 | odebug << "Lib::run() started" << oendl; | 108 | odebug << "Lib::run() started" << oendl; |
107 | initialize(); | 109 | initialize(); |
108 | m_initialized = true; | 110 | m_initialized = true; |
109 | odebug << "Lib::run() finished" << oendl; | 111 | odebug << "Lib::run() finished" << oendl; |
110 | } | 112 | } |
111 | 113 | ||
112 | void Lib::initialize() | 114 | void Lib::initialize() |
113 | { | 115 | { |
114 | m_duringInitialization = true; | 116 | m_duringInitialization = true; |
115 | m_xine = xine_new( ); | 117 | m_xine = xine_new( ); |
116 | 118 | ||
117 | QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; | 119 | QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; |
118 | xine_config_load( m_xine, QFile::encodeName( configPath ) ); | 120 | xine_config_load( m_xine, QFile::encodeName( configPath ) ); |
119 | 121 | ||
120 | xine_init( m_xine ); | 122 | xine_init( m_xine ); |
121 | 123 | ||
122 | // allocate oss for sound | 124 | // allocate oss for sound |
123 | // and fb for framebuffer | 125 | // and fb for framebuffer |
124 | m_audioOutput = xine_open_audio_driver( m_xine, "oss", NULL ); | 126 | m_audioOutput = xine_open_audio_driver( m_xine, "oss", NULL ); |
125 | m_videoOutput = ::init_video_out_plugin( m_xine, NULL, | 127 | m_videoOutput = ::init_video_out_plugin( m_xine, NULL, |
diff --git a/noncore/multimedia/opieplayer2/om3u.cpp b/noncore/multimedia/opieplayer2/om3u.cpp index 790fa09..f2a01d3 100644 --- a/noncore/multimedia/opieplayer2/om3u.cpp +++ b/noncore/multimedia/opieplayer2/om3u.cpp | |||
@@ -9,144 +9,137 @@ | |||
9 | .> <`_, > . <= redistribute it and/or modify it under | 9 | .> <`_, > . <= redistribute it and/or modify it under |
10 | :`=1 )Y*s>-.-- : the terms of the GNU General Public | 10 | :`=1 )Y*s>-.-- : the terms of the GNU General Public |
11 | .="- .-=="i, .._ License as published by the Free Software | 11 | .="- .-=="i, .._ License as published by the Free Software |
12 | - . .-<_> .<> Foundation; either version 2 of the License, | 12 | - . .-<_> .<> Foundation; either version 2 of the License, |
13 | ._= =} : or (at your option) any later version. | 13 | ._= =} : or (at your option) any later version. |
14 | .%`+i> _;_. | 14 | .%`+i> _;_. |
15 | .i_,=:_. -<s. This program is distributed in the hope that | 15 | .i_,=:_. -<s. This program is distributed in the hope that |
16 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | 16 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
17 | : .. .:, . . . without even the implied warranty of | 17 | : .. .:, . . . without even the implied warranty of |
18 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | 18 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A |
19 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | 19 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU |
20 | ..}^=.= = ; General Public License for more | 20 | ..}^=.= = ; General Public License for more |
21 | ++= -. .` .: details. | 21 | ++= -. .` .: details. |
22 | : = ...= . :.=- | 22 | : = ...= . :.=- |
23 | -. .:....=;==+<; You should have received a copy of the GNU | 23 | -. .:....=;==+<; You should have received a copy of the GNU |
24 | -_. . . )=. = General Public License along with | 24 | -_. . . )=. = General Public License along with |
25 | -- :-=` this library; see the file COPYING.LIB. | 25 | -- :-=` this library; see the file COPYING.LIB. |
26 | If not, write to the Free Software Foundation, | 26 | If not, write to the Free Software Foundation, |
27 | Inc., 59 Temple Place - Suite 330, | 27 | Inc., 59 Temple Place - Suite 330, |
28 | Boston, MA 02111-1307, USA. | 28 | Boston, MA 02111-1307, USA. |
29 | 29 | ||
30 | */ | 30 | */ |
31 | 31 | ||
32 | #include "om3u.h" | 32 | #include "om3u.h" |
33 | 33 | ||
34 | /* OPIE */ | 34 | /* OPIE */ |
35 | #include <opie2/odebug.h> | 35 | #include <opie2/odebug.h> |
36 | using namespace Opie::Core; | 36 | using namespace Opie::Core; |
37 | 37 | ||
38 | //extern PlayListWidget *playList; | 38 | //extern PlayListWidget *playList; |
39 | 39 | ||
40 | Om3u::Om3u( const QString &filePath, int mode) | 40 | Om3u::Om3u( const QString &filePath, int mode) |
41 | : QStringList (){ | 41 | : QStringList () |
42 | odebug << "<<<<<<<new m3u "+filePath << oendl; | 42 | { |
43 | f.setName(filePath); | 43 | odebug << "<<<<<<<new m3u "+filePath << oendl; |
44 | f.open(mode); | 44 | f.setName(filePath); |
45 | if (!f.open(mode)) { | ||
46 | owarn << "Unable to open file " << f.name() << oendl; | ||
47 | } | ||
45 | } | 48 | } |
46 | 49 | ||
47 | Om3u::~Om3u(){} | 50 | Om3u::~Om3u(){} |
48 | 51 | ||
49 | void Om3u::readM3u() { | 52 | void Om3u::readM3u() { |
50 | // odebug << "<<<<<<reading m3u "+f.name() << oendl; | 53 | // odebug << "<<<<<<reading m3u "+f.name() << oendl; |
51 | QTextStream t(&f); | 54 | QTextStream t(&f); |
52 | t.setEncoding(QTextStream::UnicodeUTF8); | 55 | t.setEncoding(QTextStream::UnicodeUTF8); |
53 | QString s; | 56 | QString s; |
54 | while ( !t.atEnd() ) { | 57 | while ( !t.atEnd() ) { |
55 | s=t.readLine(); | 58 | s=t.readLine(); |
56 | // odebug << s << oendl; | 59 | // odebug << s << oendl; |
57 | if( s.find( "#", 0, TRUE) == -1 ) { | 60 | if( s.find( "#", 0, TRUE) == -1 ) { |
58 | if( s.left(2) == "E:" || s.left(2) == "P:" ) { | 61 | if( s.left(2) == "E:" || s.left(2) == "P:" ) { |
59 | s = s.right( s.length() -2 ); | 62 | s = s.right( s.length() -2 ); |
60 | QFileInfo f( s ); | 63 | QFileInfo f( s ); |
61 | QString name = f.baseName(); | 64 | QString name = f.baseName(); |
62 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE ) -1 ); | 65 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE ) -1 ); |
63 | s=s.replace( QRegExp( "\\" ), "/" ); | 66 | s=s.replace( QRegExp( "\\" ), "/" ); |
64 | append(s); | 67 | append(s); |
65 | // odebug << s << oendl; | 68 | // odebug << s << oendl; |
66 | } else { // is url | 69 | } else { // is url |
67 | QString name; | 70 | QString name; |
68 | name = s; | 71 | name = s; |
69 | append(name); | 72 | append(name); |
70 | } | 73 | } |
71 | } | 74 | } |
72 | } | 75 | } |
73 | } | 76 | } |
74 | 77 | ||
75 | void Om3u::readPls() { //it's a pls file | 78 | void Om3u::readPls() { //it's a pls file |
76 | QTextStream t( &f ); | 79 | QTextStream t( &f ); |
77 | t.setEncoding(QTextStream::UnicodeUTF8); | 80 | t.setEncoding(QTextStream::UnicodeUTF8); |
78 | QString s; | 81 | QString s; |
79 | while ( !t.atEnd() ) { | 82 | while ( !t.atEnd() ) { |
80 | s = t.readLine(); | 83 | s = t.readLine(); |
81 | if( s.left(4) == "File" ) { | 84 | if( s.left(4) == "File" ) { |
82 | s = s.right( s.length() - s.find("=",0,true)-1 ); | 85 | s = s.right( s.length() - s.find("=",0,true)-1 ); |
83 | s = s.stripWhiteSpace(); | 86 | s = s.stripWhiteSpace(); |
84 | s.replace( QRegExp( "%20" )," "); | 87 | s.replace( QRegExp( "%20" )," "); |
85 | // odebug << "adding " + s + " to playlist" << oendl; | 88 | // odebug << "adding " + s + " to playlist" << oendl; |
86 | // numberofentries=2 | 89 | s = s.replace( QRegExp( "\\" ), "/" ); |
87 | // File1=http | 90 | QFileInfo f( s ); |
88 | // Title | 91 | QString name = f.baseName(); |
89 | // Length | 92 | if( name.left( 4 ) == "http" ) { |
90 | // Version | 93 | name = s.right( s.length() - 7); |
91 | // File2=http | 94 | } else { |
92 | s = s.replace( QRegExp( "\\" ), "/" ); | 95 | name = s; |
93 | QFileInfo f( s ); | 96 | } |
94 | QString name = f.baseName(); | 97 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE) - 1 ); |
95 | if( name.left( 4 ) == "http" ) { | 98 | if( s.at( s.length() - 4) == '.') // if this is probably a file |
96 | name = s.right( s.length() - 7); | 99 | append(s); |
97 | } else { | 100 | else { //if its a url |
98 | name = s; | ||
99 | } | ||
100 | name = name.right( name.length() - name.findRev( "\\", -1, TRUE) - 1 ); | ||
101 | if( s.at( s.length() - 4) == '.') // if this is probably a file | ||
102 | append(s); | 101 | append(s); |
103 | else { //if its a url | ||
104 | // if( name.right( 1 ).find( '/' ) == -1) { | ||
105 | // s += "/"; | ||
106 | // } | ||
107 | append(s); | ||
108 | } | ||
109 | } | 102 | } |
110 | } | 103 | } |
104 | } | ||
111 | } | 105 | } |
112 | 106 | ||
113 | void Om3u::write() { //writes list to m3u file | 107 | void Om3u::write() { //writes list to m3u file |
114 | QString list; | 108 | QString list; |
115 | QTextStream t(&f); | 109 | QTextStream t(&f); |
116 | t.setEncoding(QTextStream::UnicodeUTF8); | 110 | t.setEncoding(QTextStream::UnicodeUTF8); |
117 | if(count()>0) { | 111 | if(count()>0) { |
118 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { | 112 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { |
119 | // odebug << *it << oendl; | 113 | // odebug << *it << oendl; |
120 | t << *it << "\n"; | 114 | t << *it << "\n"; |
115 | } | ||
121 | } | 116 | } |
122 | } | ||
123 | // f.close(); | ||
124 | } | 117 | } |
125 | 118 | ||
126 | void Om3u::add(const QString &filePath) { //adds to m3u file | 119 | void Om3u::add(const QString &filePath) { //adds to m3u file |
127 | append(filePath); | 120 | append(filePath); |
128 | } | 121 | } |
129 | 122 | ||
130 | void Om3u::remove(const QString &filePath) { //removes from m3u list | 123 | void Om3u::remove(const QString &filePath) { //removes from m3u list |
131 | QString list, currentFile; | 124 | QString list, currentFile; |
132 | if(count()>0) { | 125 | if(count()>0) { |
133 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { | 126 | for ( QStringList::ConstIterator it = begin(); it != end(); ++it ) { |
134 | currentFile=*it; | 127 | currentFile=*it; |
135 | // odebug << *it << oendl; | 128 | // odebug << *it << oendl; |
136 | 129 | ||
137 | if( filePath != currentFile) | 130 | if( filePath != currentFile) |
138 | list += currentFile+"\n"; | 131 | list += currentFile+"\n"; |
132 | } | ||
133 | f.writeBlock( list, list.length() ); | ||
139 | } | 134 | } |
140 | f.writeBlock( list, list.length() ); | ||
141 | } | ||
142 | } | 135 | } |
143 | 136 | ||
144 | void Om3u::deleteFile(const QString &/*filePath*/) {//deletes m3u file | 137 | void Om3u::deleteFile(const QString &/*filePath*/) {//deletes m3u file |
145 | f.close(); | 138 | f.close(); |
146 | f.remove(); | 139 | f.remove(); |
147 | 140 | ||
148 | } | 141 | } |
149 | 142 | ||
150 | void Om3u::close() { //closes m3u file | 143 | void Om3u::close() { //closes m3u file |
151 | f.close(); | 144 | f.close(); |
152 | } | 145 | } |
diff --git a/noncore/multimedia/opieplayer2/threadutil.cpp b/noncore/multimedia/opieplayer2/threadutil.cpp index b5cac61..5fc8a0b 100644 --- a/noncore/multimedia/opieplayer2/threadutil.cpp +++ b/noncore/multimedia/opieplayer2/threadutil.cpp | |||
@@ -204,70 +204,75 @@ void Thread::start() | |||
204 | pthread_attr_destroy( &attributes ); | 204 | pthread_attr_destroy( &attributes ); |
205 | } | 205 | } |
206 | 206 | ||
207 | void Thread::terminate() | 207 | void Thread::terminate() |
208 | { | 208 | { |
209 | AutoLock lock( d->guard ); | 209 | AutoLock lock( d->guard ); |
210 | if ( !d->isRunning ) | 210 | if ( !d->isRunning ) |
211 | return; | 211 | return; |
212 | 212 | ||
213 | pthread_cancel( d->self ); | 213 | pthread_cancel( d->self ); |
214 | } | 214 | } |
215 | 215 | ||
216 | bool Thread::wait() | 216 | bool Thread::wait() |
217 | { | 217 | { |
218 | AutoLock lock( d->guard ); | 218 | AutoLock lock( d->guard ); |
219 | if ( !d->isRunning ) | 219 | if ( !d->isRunning ) |
220 | return true; | 220 | return true; |
221 | 221 | ||
222 | return d->finishCondition.wait( d->guard ); | 222 | return d->finishCondition.wait( d->guard ); |
223 | } | 223 | } |
224 | 224 | ||
225 | bool Thread::isRunning() const | 225 | bool Thread::isRunning() const |
226 | { | 226 | { |
227 | AutoLock lock( d->guard ); | 227 | AutoLock lock( d->guard ); |
228 | return d->isRunning; | 228 | return d->isRunning; |
229 | } | 229 | } |
230 | 230 | ||
231 | void Thread::exit() | 231 | void Thread::exit() |
232 | { | 232 | { |
233 | pthread_exit( 0 ); | 233 | pthread_exit( 0 ); |
234 | } | 234 | } |
235 | 235 | ||
236 | OnewayNotifier::OnewayNotifier() | 236 | OnewayNotifier::OnewayNotifier() : |
237 | { | 237 | m_readFd(-1), |
238 | int fds[ 2 ]; | 238 | m_writeFd(-1) |
239 | pipe( fds ); | 239 | { |
240 | m_readFd = fds[ 0 ]; | 240 | int fds[ 2 ] = { -1, -1 }; |
241 | m_writeFd = fds[ 1 ]; | 241 | if (pipe( fds ) == 0) { |
242 | m_readFd = fds[ 0 ]; | ||
243 | m_writeFd = fds[ 1 ]; | ||
244 | } else { | ||
245 | owarn << "Call to pipe() failed" << oendl; | ||
246 | } | ||
242 | 247 | ||
243 | m_notifier = new QSocketNotifier( m_readFd, QSocketNotifier::Read ); | 248 | m_notifier = new QSocketNotifier( m_readFd, QSocketNotifier::Read ); |
244 | connect( m_notifier, SIGNAL( activated(int) ), | 249 | connect( m_notifier, SIGNAL( activated(int) ), |
245 | this, SLOT( wakeUp() ) ); | 250 | this, SLOT( wakeUp() ) ); |
246 | } | 251 | } |
247 | 252 | ||
248 | OnewayNotifier::~OnewayNotifier() | 253 | OnewayNotifier::~OnewayNotifier() |
249 | { | 254 | { |
250 | delete m_notifier; | 255 | delete m_notifier; |
251 | 256 | ||
252 | ::close( m_readFd ); | 257 | ::close( m_readFd ); |
253 | ::close( m_writeFd ); | 258 | ::close( m_writeFd ); |
254 | } | 259 | } |
255 | 260 | ||
256 | void OnewayNotifier::notify() | 261 | void OnewayNotifier::notify() |
257 | { | 262 | { |
258 | const char c = 42; | 263 | const char c = 42; |
259 | ::write( m_writeFd, &c, 1 ); | 264 | ::write( m_writeFd, &c, 1 ); |
260 | } | 265 | } |
261 | 266 | ||
262 | void OnewayNotifier::wakeUp() | 267 | void OnewayNotifier::wakeUp() |
263 | { | 268 | { |
264 | char c = 0; | 269 | char c = 0; |
265 | 270 | ||
266 | if ( ::read( m_readFd, &c, 1 ) != 1 ) | 271 | if ( ::read( m_readFd, &c, 1 ) != 1 ) |
267 | return; | 272 | return; |
268 | 273 | ||
269 | emit awake(); | 274 | emit awake(); |
270 | } | 275 | } |
271 | 276 | ||
272 | ChannelMessage::ChannelMessage( int type, int data, const char* msg ) | 277 | ChannelMessage::ChannelMessage( int type, int data, const char* msg ) |
273 | : m_type( type ), m_data( data ), m_msg( msg ), | 278 | : m_type( type ), m_data( data ), m_msg( msg ), |
diff --git a/noncore/net/opiestumbler/opiestumbler.cpp b/noncore/net/opiestumbler/opiestumbler.cpp index 9b0d099..ab0b8d8 100644 --- a/noncore/net/opiestumbler/opiestumbler.cpp +++ b/noncore/net/opiestumbler/opiestumbler.cpp | |||
@@ -313,65 +313,66 @@ void OpieStumbler::slotJoinNetwork() | |||
313 | //Wait 5 sec for association | 313 | //Wait 5 sec for association |
314 | QTimer::singleShot(5000, this, SLOT(slotAssociated())); | 314 | QTimer::singleShot(5000, this, SLOT(slotAssociated())); |
315 | } | 315 | } |
316 | 316 | ||
317 | void OpieStumbler::slotAssociated() | 317 | void OpieStumbler::slotAssociated() |
318 | { | 318 | { |
319 | OWirelessNetworkInterface *wiface = static_cast<OWirelessNetworkInterface*>(ONetwork::instance()->interface(m_interface)); | 319 | OWirelessNetworkInterface *wiface = static_cast<OWirelessNetworkInterface*>(ONetwork::instance()->interface(m_interface)); |
320 | 320 | ||
321 | if( !wiface ) { | 321 | if( !wiface ) { |
322 | slotCleanSplash(); | 322 | slotCleanSplash(); |
323 | return; | 323 | return; |
324 | } | 324 | } |
325 | 325 | ||
326 | if (!wiface->isAssociated()) { | 326 | if (!wiface->isAssociated()) { |
327 | Global::statusMessage(tr("Could not Join")); | 327 | Global::statusMessage(tr("Could not Join")); |
328 | m_infoLabel->setText(tr("Could not Join")); | 328 | m_infoLabel->setText(tr("Could not Join")); |
329 | QTimer::singleShot(5000, this, SLOT(slotCleanSplash())); | 329 | QTimer::singleShot(5000, this, SLOT(slotCleanSplash())); |
330 | return; | 330 | return; |
331 | } | 331 | } |
332 | 332 | ||
333 | Global::statusMessage(tr("Joined")); | 333 | Global::statusMessage(tr("Joined")); |
334 | m_pbar->setProgress(2); | 334 | m_pbar->setProgress(2); |
335 | m_infoLabel->setText(QString("<center><b>%1 %2</b></center>").arg(tr("Joined Network")).arg(m_ssid)); | 335 | m_infoLabel->setText(QString("<center><b>%1 %2</b></center>").arg(tr("Joined Network")).arg(m_ssid)); |
336 | 336 | ||
337 | if(m_proc) { | 337 | if(m_proc) { |
338 | m_proc->kill(); | 338 | m_proc->kill(); |
339 | delete m_proc; | 339 | delete m_proc; |
340 | } | 340 | } |
341 | 341 | ||
342 | m_proc = new Opie::Core::OProcess(this); | 342 | m_proc = new Opie::Core::OProcess(this); |
343 | 343 | ||
344 | *m_proc << "udhcpc" << "-f" << "-n" << "-i" << m_interface; | 344 | *m_proc << "udhcpc" << "-f" << "-n" << "-i" << m_interface; |
345 | m_proc->start(Opie::Core::OProcess::DontCare); | 345 | if (!m_proc->start(Opie::Core::OProcess::DontCare)) |
346 | owarn << "Execution of udhcpc returned false. Are paths correct?" << oendl; | ||
346 | QTimer::singleShot(5000, this, SLOT(slotCheckDHCP())); | 347 | QTimer::singleShot(5000, this, SLOT(slotCheckDHCP())); |
347 | } | 348 | } |
348 | 349 | ||
349 | void OpieStumbler::slotCheckDHCP() | 350 | void OpieStumbler::slotCheckDHCP() |
350 | { | 351 | { |
351 | if(!m_proc->isRunning()) { | 352 | if(!m_proc->isRunning()) { |
352 | Global::statusMessage(tr("Could not Obtain an Address")); | 353 | Global::statusMessage(tr("Could not Obtain an Address")); |
353 | m_infoLabel->setText(QString("<center><b>%1</b></center>").arg(tr("Could not Obtain an Address"))); | 354 | m_infoLabel->setText(QString("<center><b>%1</b></center>").arg(tr("Could not Obtain an Address"))); |
354 | delete m_proc; | 355 | delete m_proc; |
355 | m_proc = NULL; | 356 | m_proc = NULL; |
356 | QTimer::singleShot(5000, this, SLOT(slotCleanSplash())); | 357 | QTimer::singleShot(5000, this, SLOT(slotCleanSplash())); |
357 | return; | 358 | return; |
358 | } | 359 | } |
359 | m_listCurrent->show(); | 360 | m_listCurrent->show(); |
360 | m_pbar->setProgress(3); | 361 | m_pbar->setProgress(3); |
361 | 362 | ||
362 | OWirelessNetworkInterface *wiface = static_cast<OWirelessNetworkInterface*>(ONetwork::instance()->interface(m_interface)); | 363 | OWirelessNetworkInterface *wiface = static_cast<OWirelessNetworkInterface*>(ONetwork::instance()->interface(m_interface)); |
363 | QString ipv4 = wiface->ipV4Address().toString(); | 364 | QString ipv4 = wiface->ipV4Address().toString(); |
364 | m_infoLabel->setText(QString("<center><b>%1 %2</b></center>").arg(tr("Obtained IP")).arg(ipv4)); | 365 | m_infoLabel->setText(QString("<center><b>%1 %2</b></center>").arg(tr("Obtained IP")).arg(ipv4)); |
365 | Global::statusMessage(tr("Obtained IP") + " " + ipv4); | 366 | Global::statusMessage(tr("Obtained IP") + " " + ipv4); |
366 | QTimer::singleShot(5000, this, SLOT(slotCleanSplash())); | 367 | QTimer::singleShot(5000, this, SLOT(slotCleanSplash())); |
367 | 368 | ||
368 | } | 369 | } |
369 | 370 | ||
370 | void OpieStumbler::slotCleanSplash() | 371 | void OpieStumbler::slotCleanSplash() |
371 | { | 372 | { |
372 | delete m_pbar; | 373 | delete m_pbar; |
373 | m_pbar = 0; | 374 | m_pbar = 0; |
374 | 375 | ||
375 | delete m_infoLabel; | 376 | delete m_infoLabel; |
376 | m_infoLabel = 0; | 377 | m_infoLabel = 0; |
377 | 378 | ||
diff --git a/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp index 650e634..e81f603 100644 --- a/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp +++ b/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp | |||
@@ -167,65 +167,66 @@ MainWindowImp::~MainWindowImp() | |||
167 | /** | 167 | /** |
168 | * Query the kernel for all of the interfaces. | 168 | * Query the kernel for all of the interfaces. |
169 | */ | 169 | */ |
170 | void MainWindowImp::getAllInterfaces() | 170 | void MainWindowImp::getAllInterfaces() |
171 | { | 171 | { |
172 | int sockfd = socket(PF_INET, SOCK_DGRAM, 0); | 172 | int sockfd = socket(PF_INET, SOCK_DGRAM, 0); |
173 | if(sockfd == -1) | 173 | if(sockfd == -1) |
174 | return; | 174 | return; |
175 | 175 | ||
176 | struct ifreq ifr; | 176 | struct ifreq ifr; |
177 | QStringList ifaces; | 177 | QStringList ifaces; |
178 | QFile procFile(QString(_PROCNETDEV)); | 178 | QFile procFile(QString(_PROCNETDEV)); |
179 | int result; | 179 | int result; |
180 | Interface *i; | 180 | Interface *i; |
181 | 181 | ||
182 | if (! procFile.exists()) | 182 | if (! procFile.exists()) |
183 | { | 183 | { |
184 | struct ifreq ifrs[100]; | 184 | struct ifreq ifrs[100]; |
185 | struct ifconf ifc; | 185 | struct ifconf ifc; |
186 | ifc.ifc_len = sizeof(ifrs); | 186 | ifc.ifc_len = sizeof(ifrs); |
187 | ifc.ifc_req = ifrs; | 187 | ifc.ifc_req = ifrs; |
188 | result = ioctl(sockfd, SIOCGIFCONF, &ifc); | 188 | result = ioctl(sockfd, SIOCGIFCONF, &ifc); |
189 | 189 | ||
190 | for (unsigned int i = 0; i < ifc.ifc_len / sizeof(struct ifreq); i++) | 190 | for (unsigned int i = 0; i < ifc.ifc_len / sizeof(struct ifreq); i++) |
191 | { | 191 | { |
192 | struct ifreq *pifr = &ifrs[i]; | 192 | struct ifreq *pifr = &ifrs[i]; |
193 | if ( !QString( pifr->ifr_name ).startsWith( "wifi" ) ) ifaces += pifr->ifr_name; | 193 | if ( !QString( pifr->ifr_name ).startsWith( "wifi" ) ) ifaces += pifr->ifr_name; |
194 | else odebug << "ignoring hostap control interface " << pifr->ifr_name << oendl; | 194 | else odebug << "ignoring hostap control interface " << pifr->ifr_name << oendl; |
195 | } | 195 | } |
196 | } | 196 | } |
197 | else | 197 | else |
198 | { | 198 | { |
199 | procFile.open(IO_ReadOnly); | 199 | if (!procFile.open(IO_ReadOnly)) |
200 | owarn << "Failed to open proc file " << procFile.name() << oendl; | ||
200 | QString line; | 201 | QString line; |
201 | QTextStream procTs(&procFile); | 202 | QTextStream procTs(&procFile); |
202 | int loc = -1; | 203 | int loc = -1; |
203 | 204 | ||
204 | procTs.readLine(); // eat a line | 205 | procTs.readLine(); // eat a line |
205 | procTs.readLine(); // eat a line | 206 | procTs.readLine(); // eat a line |
206 | while((line = procTs.readLine().simplifyWhiteSpace()) != QString::null) | 207 | while((line = procTs.readLine().simplifyWhiteSpace()) != QString::null) |
207 | { | 208 | { |
208 | if((loc = line.find(":")) != -1) | 209 | if((loc = line.find(":")) != -1) |
209 | { | 210 | { |
210 | // ignore wifi* (hostap control interfaces) | 211 | // ignore wifi* (hostap control interfaces) |
211 | if ( !line.left(loc).startsWith( "wifi" ) ) ifaces += line.left(loc); | 212 | if ( !line.left(loc).startsWith( "wifi" ) ) ifaces += line.left(loc); |
212 | else odebug << "ignoring hostap control interface " << line.left(loc) << oendl; | 213 | else odebug << "ignoring hostap control interface " << line.left(loc) << oendl; |
213 | } | 214 | } |
214 | } | 215 | } |
215 | } | 216 | } |
216 | 217 | ||
217 | for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it) | 218 | for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it) |
218 | { | 219 | { |
219 | int flags = 0; | 220 | int flags = 0; |
220 | if ( m_handledIfaces.contains( (*it) ) ) | 221 | if ( m_handledIfaces.contains( (*it) ) ) |
221 | { | 222 | { |
222 | odebug << " " << (*it).latin1() << " is handled by a module" << oendl; | 223 | odebug << " " << (*it).latin1() << " is handled by a module" << oendl; |
223 | continue; | 224 | continue; |
224 | } | 225 | } |
225 | // int family; | 226 | // int family; |
226 | i = NULL; | 227 | i = NULL; |
227 | 228 | ||
228 | strcpy(ifr.ifr_name, (*it).latin1()); | 229 | strcpy(ifr.ifr_name, (*it).latin1()); |
229 | 230 | ||
230 | struct ifreq ifcopy; | 231 | struct ifreq ifcopy; |
231 | ifcopy = ifr; | 232 | ifcopy = ifr; |
@@ -703,83 +704,85 @@ void MainWindowImp::receive(const QCString &msg, const QByteArray &arg) | |||
703 | param = param.left( param.length() - 1 ); | 704 | param = param.left( param.length() - 1 ); |
704 | odebug << "dest >" << dest.latin1() << "< param >"+param+"<" << oendl; | 705 | odebug << "dest >" << dest.latin1() << "< param >"+param+"<" << oendl; |
705 | 706 | ||
706 | QMap<Module*, QLibrary*>::Iterator it; | 707 | QMap<Module*, QLibrary*>::Iterator it; |
707 | for( it = libraries.begin(); it != libraries.end(); ++it ) | 708 | for( it = libraries.begin(); it != libraries.end(); ++it ) |
708 | { | 709 | { |
709 | odebug << "plugin >" << it.key()->type().latin1() << "<" << oendl; | 710 | odebug << "plugin >" << it.key()->type().latin1() << "<" << oendl; |
710 | if(it.key()->type() == dest) | 711 | if(it.key()->type() == dest) |
711 | { | 712 | { |
712 | it.key()->receive( param, arg ); | 713 | it.key()->receive( param, arg ); |
713 | found = true; | 714 | found = true; |
714 | } | 715 | } |
715 | } | 716 | } |
716 | 717 | ||
717 | 718 | ||
718 | if (found) QPEApplication::setKeepRunning(); | 719 | if (found) QPEApplication::setKeepRunning(); |
719 | else odebug << "Huh what do ya want" << oendl; | 720 | else odebug << "Huh what do ya want" << oendl; |
720 | } | 721 | } |
721 | 722 | ||
722 | void MainWindowImp::setHostname() | 723 | void MainWindowImp::setHostname() |
723 | { | 724 | { |
724 | static QRegExp filter("[^A-Za-z0-9_\\-\\.]"); | 725 | static QRegExp filter("[^A-Za-z0-9_\\-\\.]"); |
725 | if (filter.match(m_Nameinput->text())!=-1) { | 726 | if (filter.match(m_Nameinput->text())!=-1) { |
726 | odebug << "Wrong hostname" << oendl; | 727 | odebug << "Wrong hostname" << oendl; |
727 | QMessageBox::critical(0, tr("Sorry"), tr("This is a wrong name.<br>Please use A-Z, a-z, _, - or a single dot.")); | 728 | QMessageBox::critical(0, tr("Sorry"), tr("This is a wrong name.<br>Please use A-Z, a-z, _, - or a single dot.")); |
728 | return; | 729 | return; |
729 | } | 730 | } |
730 | 731 | ||
731 | OProcess h; | 732 | OProcess h; |
732 | _procTemp=""; | 733 | _procTemp=""; |
733 | h << "hostname" << m_Nameinput->text(); | 734 | h << "hostname" << m_Nameinput->text(); |
734 | connect(&h,SIGNAL(receivedStderr(Opie::Core::OProcess*,char*,int)),this,SLOT(slotHostname(Opie::Core::OProcess*,char*,int))); | 735 | connect(&h,SIGNAL(receivedStderr(Opie::Core::OProcess*,char*,int)),this,SLOT(slotHostname(Opie::Core::OProcess*,char*,int))); |
735 | h.start(OProcess::Block,OProcess::Stderr); | 736 | if (!h.start(OProcess::Block,OProcess::Stderr)) |
737 | owarn << "Failed execution of 'hostname'. Are the paths correct?" << oendl; | ||
736 | odebug << "Got " << _procTemp << " - " << h.exitStatus() << oendl; | 738 | odebug << "Got " << _procTemp << " - " << h.exitStatus() << oendl; |
737 | if (h.exitStatus()!=0) { | 739 | if (h.exitStatus()!=0) { |
738 | QMessageBox::critical(0, tr("Sorry"), QString(tr("Could not set name.\n%1")).arg(_procTemp.stripWhiteSpace())); | 740 | QMessageBox::critical(0, tr("Sorry"), QString(tr("Could not set name.\n%1")).arg(_procTemp.stripWhiteSpace())); |
739 | return; | 741 | return; |
740 | } | 742 | } |
741 | _procTemp=""; | 743 | _procTemp=""; |
742 | 744 | ||
743 | QFile f(_HOSTFILE); | 745 | QFile f(_HOSTFILE); |
744 | if (f.open(IO_Truncate|IO_WriteOnly)) | 746 | if (f.open(IO_Truncate|IO_WriteOnly)) |
745 | { | 747 | { |
746 | QTextStream s(&f); | 748 | QTextStream s(&f); |
747 | s << m_Nameinput->text(); | 749 | s << m_Nameinput->text(); |
748 | } else { | 750 | } else { |
749 | QMessageBox::critical(0, tr("Sorry"), tr("Could not save name.")); | 751 | QMessageBox::critical(0, tr("Sorry"), tr("Could not save name.")); |
750 | return; | 752 | return; |
751 | } | 753 | } |
752 | 754 | ||
753 | f.close(); | 755 | f.close(); |
754 | f.setName(_IRDANAME); | 756 | f.setName(_IRDANAME); |
755 | if (f.open(IO_WriteOnly)) | 757 | if (f.open(IO_WriteOnly)) |
756 | { | 758 | { |
757 | QTextStream s(&f); | 759 | QTextStream s(&f); |
758 | s << m_Nameinput->text(); | 760 | s << m_Nameinput->text(); |
759 | } else { | 761 | } else { |
760 | QMessageBox::critical(0, tr("Sorry"), tr("Could not set infrared name.")); | 762 | QMessageBox::critical(0, tr("Sorry"), tr("Could not set infrared name.")); |
761 | } | 763 | } |
762 | } | 764 | } |
763 | 765 | ||
764 | void MainWindowImp::initHostname() | 766 | void MainWindowImp::initHostname() |
765 | { | 767 | { |
766 | OProcess h; | 768 | OProcess h; |
767 | _procTemp=""; | 769 | _procTemp=""; |
768 | 770 | ||
769 | h << "hostname"; | 771 | h << "hostname"; |
770 | connect(&h,SIGNAL(receivedStdout(Opie::Core::OProcess*,char*,int)),this,SLOT(slotHostname(Opie::Core::OProcess*,char*,int))); | 772 | connect(&h,SIGNAL(receivedStdout(Opie::Core::OProcess*,char*,int)),this,SLOT(slotHostname(Opie::Core::OProcess*,char*,int))); |
771 | h.start(OProcess::Block,OProcess::AllOutput); | 773 | if (!h.start(OProcess::Block,OProcess::AllOutput)) |
774 | owarn << "Could not execute 'hostname'. Are the paths correct?" oendl; | ||
772 | odebug << "Got " << _procTemp <<oendl; | 775 | odebug << "Got " << _procTemp <<oendl; |
773 | m_Nameinput->setText(_procTemp.stripWhiteSpace()); | 776 | m_Nameinput->setText(_procTemp.stripWhiteSpace()); |
774 | _procTemp=""; | 777 | _procTemp=""; |
775 | } | 778 | } |
776 | 779 | ||
777 | void MainWindowImp::slotHostname(Opie::Core::OProcess */*proc*/, char *buffer, int buflen) | 780 | void MainWindowImp::slotHostname(Opie::Core::OProcess * /*proc*/, char *buffer, int buflen) |
778 | { | 781 | { |
779 | if (buflen < 1 || buffer==0) return; | 782 | if (buflen < 1 || buffer==0) return; |
780 | char*_t = new char[buflen+1]; | 783 | char*_t = new char[buflen+1]; |
781 | ::memset(_t,0,buflen+1); | 784 | ::memset(_t,0,buflen+1); |
782 | ::memcpy(_t,buffer,buflen); | 785 | ::memcpy(_t,buffer,buflen); |
783 | _procTemp+=_t; | 786 | _procTemp+=_t; |
784 | delete[]_t; | 787 | delete[]_t; |
785 | } | 788 | } |
diff --git a/noncore/settings/networksettings/ppp/modem.cpp b/noncore/settings/networksettings/ppp/modem.cpp index 7b2e2a3..17ada9b 100644 --- a/noncore/settings/networksettings/ppp/modem.cpp +++ b/noncore/settings/networksettings/ppp/modem.cpp | |||
@@ -739,66 +739,68 @@ bool Modem::createAuthFile(Auth method, const char *username, const char *passwo | |||
739 | // copy to new file pap- or chap-secrets | 739 | // copy to new file pap- or chap-secrets |
740 | int old_umask = umask(0077); | 740 | int old_umask = umask(0077); |
741 | FILE *fout = fopen(newName, "w"); | 741 | FILE *fout = fopen(newName, "w"); |
742 | if(fout) { | 742 | if(fout) { |
743 | // copy old file | 743 | // copy old file |
744 | FILE *fin = fopen(authfile, "r"); | 744 | FILE *fin = fopen(authfile, "r"); |
745 | if(fin) { | 745 | if(fin) { |
746 | while(fgets(line, sizeof(line), fin)) { | 746 | while(fgets(line, sizeof(line), fin)) { |
747 | if(regexec(&preg, line, 0, 0L, 0) == 0) | 747 | if(regexec(&preg, line, 0, 0L, 0) == 0) |
748 | continue; | 748 | continue; |
749 | fputs(line, fout); | 749 | fputs(line, fout); |
750 | } | 750 | } |
751 | fclose(fin); | 751 | fclose(fin); |
752 | } | 752 | } |
753 | 753 | ||
754 | // append user/pass pair | 754 | // append user/pass pair |
755 | fprintf(fout, "\"%s\"\t*\t\"%s\"\n", username, password); | 755 | fprintf(fout, "\"%s\"\t*\t\"%s\"\n", username, password); |
756 | fclose(fout); | 756 | fclose(fout); |
757 | } | 757 | } |
758 | 758 | ||
759 | // restore umask | 759 | // restore umask |
760 | umask(old_umask); | 760 | umask(old_umask); |
761 | 761 | ||
762 | // free memory allocated by regcomp | 762 | // free memory allocated by regcomp |
763 | regfree(&preg); | 763 | regfree(&preg); |
764 | 764 | ||
765 | if(!(oldName = authFile(method, Old))) | 765 | if(!(oldName = authFile(method, Old))) |
766 | return false; | 766 | return false; |
767 | 767 | ||
768 | // delete old file if any | 768 | // delete old file if any |
769 | unlink(oldName); | 769 | unlink(oldName); |
770 | 770 | ||
771 | rename(authfile, oldName); | 771 | if (rename(authfile, oldName) == -1) |
772 | rename(newName, authfile); | 772 | return false; |
773 | if (rename(newName, authfile) == -1) | ||
774 | return false; | ||
773 | 775 | ||
774 | return true; | 776 | return true; |
775 | } | 777 | } |
776 | 778 | ||
777 | 779 | ||
778 | bool Modem::removeAuthFile(Auth method) { | 780 | bool Modem::removeAuthFile(Auth method) { |
779 | const char *authfile, *oldName; | 781 | const char *authfile, *oldName; |
780 | 782 | ||
781 | if(!(authfile = authFile(method))) | 783 | if(!(authfile = authFile(method))) |
782 | return false; | 784 | return false; |
783 | if(!(oldName = authFile(method, Old))) | 785 | if(!(oldName = authFile(method, Old))) |
784 | return false; | 786 | return false; |
785 | 787 | ||
786 | if(access(oldName, F_OK) == 0) { | 788 | if(access(oldName, F_OK) == 0) { |
787 | unlink(authfile); | 789 | unlink(authfile); |
788 | return (rename(oldName, authfile) == 0); | 790 | return (rename(oldName, authfile) == 0); |
789 | } else | 791 | } else |
790 | return false; | 792 | return false; |
791 | } | 793 | } |
792 | 794 | ||
793 | 795 | ||
794 | bool Modem::setSecret(int method, const char* name, const char* password) | 796 | bool Modem::setSecret(int method, const char* name, const char* password) |
795 | { | 797 | { |
796 | 798 | ||
797 | Auth auth; | 799 | Auth auth; |
798 | if(method == AUTH_PAPCHAP) | 800 | if(method == AUTH_PAPCHAP) |
799 | return setSecret(AUTH_PAP, name, password) && | 801 | return setSecret(AUTH_PAP, name, password) && |
800 | setSecret(AUTH_CHAP, name, password); | 802 | setSecret(AUTH_CHAP, name, password); |
801 | 803 | ||
802 | switch(method) { | 804 | switch(method) { |
803 | case AUTH_PAP: | 805 | case AUTH_PAP: |
804 | auth = Modem::PAP; | 806 | auth = Modem::PAP; |