-rw-r--r-- | core/pim/osearch/applnkitem.cpp | 5 | ||||
-rw-r--r-- | core/pim/osearch/config.in | 2 | ||||
-rw-r--r-- | core/pim/osearch/datebooksearch.cpp | 4 | ||||
-rw-r--r-- | core/pim/osearch/doclnkitem.cpp | 6 | ||||
-rw-r--r-- | core/pim/osearch/mainwindow.cpp | 5 | ||||
-rw-r--r-- | core/pim/osearch/opie-osearch.control | 2 | ||||
-rw-r--r-- | core/pim/osearch/searchgroup.cpp | 3 |
7 files changed, 16 insertions, 11 deletions
diff --git a/core/pim/osearch/applnkitem.cpp b/core/pim/osearch/applnkitem.cpp index 19e765e..ca54eef 100644 --- a/core/pim/osearch/applnkitem.cpp +++ b/core/pim/osearch/applnkitem.cpp @@ -1,60 +1,61 @@ // // // C++ Implementation: $MODULE$ // // Description: // // // Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003 // // Copyright: See COPYING file that comes with this distribution // // #include "applnkitem.h" +#include <opie2/odebug.h> + #include <qpe/applnk.h> #include <qpe/qcopenvelope_qws.h> - AppLnkItem::AppLnkItem(OListViewItem* parent, AppLnk *app) : ResultItem(parent) { _app = app; setText(0, _app->name() ); setPixmap(0, _app->pixmap() ); } AppLnkItem::~AppLnkItem() { } QString AppLnkItem::toRichText() { QString text; text += "<b><h3>" + _app->name() + "</b></h3><br>"; text += _app->comment() + "<br>"; text += "<br>`" + _app->exec() + "`<br>"; text += "<br>`" + _app->file() + "`<br>"; text += "<br>`" + _app->linkFile() + "`<br>"; return text; } void AppLnkItem::action( int act ) { - if (!_app->isValid()) qDebug("INVALID"); + if (!_app->isValid()) Opie::Core::odebug << "INVALID" << oendl; if (act == 0) _app->execute(); else if (act == 1){ QCopEnvelope e("QPE/Application/advancedfm", "setDocument(QString)"); e << _app->linkFile(); } } QIntDict<QString> AppLnkItem::actions() { QIntDict<QString> result; result.insert( 0, new QString( QObject::tr("execute") ) ); result.insert( 1, new QString( QObject::tr("open in filemanager") ) ); return result; } diff --git a/core/pim/osearch/config.in b/core/pim/osearch/config.in index ec0da27..71191ce 100644 --- a/core/pim/osearch/config.in +++ b/core/pim/osearch/config.in @@ -1,4 +1,4 @@ config OSEARCH boolean "opie-osearch (searches throught your PDA)" default "y" - depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2UI && LIBOPIE2PIM + depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2CORE && LIBOPIE2UI && LIBOPIE2PIM diff --git a/core/pim/osearch/datebooksearch.cpp b/core/pim/osearch/datebooksearch.cpp index eeea54b..af6b194 100644 --- a/core/pim/osearch/datebooksearch.cpp +++ b/core/pim/osearch/datebooksearch.cpp @@ -1,93 +1,93 @@ // // // C++ Implementation: $MODULE$ // // Description: // // // Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003 // // Copyright: See COPYING file that comes with this distribution // // #include "datebooksearch.h" #include "eventitem.h" +#include <opie2/odebug.h> #include <opie2/opimevent.h> #include <opie2/opimrecurrence.h> - #include <qpe/resource.h> #include <qpe/config.h> #include <qaction.h> #include <qpopupmenu.h> DatebookSearch::DatebookSearch(QListView* parent, QString name) : SearchGroup(parent, name), _dates(0), _popupMenu(0) { QIconSet is = Resource::loadIconSet( "datebook/DateBookSmall" ); setPixmap( 0, is.pixmap( QIconSet::Large, true ) ); actionShowPastEvents = new QAction( QObject::tr("show past events"),QString::null, 0, 0, 0, true ); actionSearchInDates = new QAction( QObject::tr("search in dates"),QString::null, 0, 0, 0, true ); Config cfg( "osearch", Config::User ); cfg.setGroup( "datebook_settings" ); actionShowPastEvents->setOn( cfg.readBoolEntry( "show_past_events", false ) ); actionSearchInDates->setOn( cfg.readBoolEntry( "search_in_dates", true ) ); } DatebookSearch::~DatebookSearch() { - qDebug("SAVE DATEBOOK SEARCH CONFIG"); + Opie::Core::odebug << "SAVE DATEBOOK SEARCH CONFIG" << oendl; Config cfg( "osearch", Config::User ); cfg.setGroup( "datebook_settings" ); cfg.writeEntry( "show_past_events", actionShowPastEvents->isOn() ); cfg.writeEntry( "search_in_dates", actionSearchInDates->isOn() ); delete _dates; delete _popupMenu; delete actionShowPastEvents; delete actionSearchInDates; } void DatebookSearch::load() { _dates = new ODateBookAccess(); _dates->load(); } int DatebookSearch::search() { OPimRecordList<OPimEvent> results = _dates->matchRegexp(_search); for (uint i = 0; i < results.count(); i++) insertItem( new OPimEvent( results[i] ) ); return _resultCount; } void DatebookSearch::insertItem( void *rec ) { OPimEvent *ev = (OPimEvent*)rec; if ( !actionShowPastEvents->isOn() && ev->endDateTime() < QDateTime::currentDateTime() && !ev->recurrence().doesRecur() ) return; if ( !actionSearchInDates->isOn() && ( ev->lastHitField() == Qtopia::StartDateTime || ev->lastHitField() == Qtopia::EndDateTime ) ) return; new EventItem( this, ev ); _resultCount++; } QPopupMenu* DatebookSearch::popupMenu() { if (!_popupMenu){ _popupMenu = new QPopupMenu( 0 ); actionShowPastEvents->addTo( _popupMenu ); actionSearchInDates->addTo( _popupMenu ); } return _popupMenu; } diff --git a/core/pim/osearch/doclnkitem.cpp b/core/pim/osearch/doclnkitem.cpp index df8e856..d908f7c 100644 --- a/core/pim/osearch/doclnkitem.cpp +++ b/core/pim/osearch/doclnkitem.cpp @@ -1,79 +1,81 @@ // // // C++ Implementation: $MODULE$ // // Description: // // // Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003 // // Copyright: See COPYING file that comes with this distribution // // #include "doclnkitem.h" +#include <opie2/odebug.h> + #include <qpe/applnk.h> #include <qpe/qcopenvelope_qws.h> #include <qtextstream.h> #include <qfileinfo.h> DocLnkItem::DocLnkItem(OListViewItem* parent, DocLnk *app) : ResultItem(parent) { _doc = app; setText(0, _doc->name() ); setPixmap(0, _doc->pixmap() ); } DocLnkItem::~DocLnkItem() { } QString DocLnkItem::toRichText() { QString text; text += "<b><h3>" + _doc->name() + "</b></h3><br>"; text += _doc->comment() + "<br>"; text += QObject::tr("File: ") + _doc->file() + "<br>"; text += QObject::tr("Link: ") + _doc->linkFile() + "<br>"; text += QObject::tr("Mimetype: ") + _doc->type() + "<br>"; if ( _doc->type().contains( "text" ) ){ text += "<br><br><hr><br>"; QFile f(_doc->file()); if ( f.open(IO_ReadOnly) ) { QTextStream t( &f ); while ( !t.eof() ) text += t.readLine() + "<br>"; } f.close(); } /* text += "<br><br>`"; text += _doc->exec(); text += "`";*/ QStringList list = _doc->mimeTypes(); int i = 0; for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { text += QString::number( i++) + " - " + *it ; } return text; } void DocLnkItem::action( int act ) { - qDebug("action %i",act); - if (!_doc->isValid()) qDebug("INVALID"); + Opie::Core::odebug << "action" << act << oendl; + if (!_doc->isValid()) Opie::Core::odebug << "INVALID" << oendl; if (act == 0) _doc->execute(); else if (act == 1){ QCopEnvelope e("QPE/Application/advancedfm", "setDocument(QString)"); e << _doc->file(); } } QIntDict<QString> DocLnkItem::actions() { QIntDict<QString> result; result.insert( 0, new QString( QObject::tr("open with ") + _doc->exec() ) ); result.insert( 1, new QString( QObject::tr("open in filemanager") ) ); return result; } diff --git a/core/pim/osearch/mainwindow.cpp b/core/pim/osearch/mainwindow.cpp index 8b6a5df..f329e83 100644 --- a/core/pim/osearch/mainwindow.cpp +++ b/core/pim/osearch/mainwindow.cpp @@ -1,118 +1,119 @@ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ // (c) 2002 Patrick S. Vogt <tille@handhelds.org> #include "olistview.h" #include "olistviewitem.h" #include "resultitem.h" #include "adresssearch.h" #include "todosearch.h" #include "datebooksearch.h" #include "applnksearch.h" #include "doclnksearch.h" #include "mainwindow.h" +#include <opie2/odebug.h> #include <opie2/owait.h> #include <qpe/qpemessagebox.h> #include <qpe/resource.h> #include <qpe/config.h> #include <qpe/qpeapplication.h> #include <qpe/global.h> #include <qtoolbar.h> #include <qaction.h> #include <qmessagebox.h> #include <qpopupmenu.h> #include <qtoolbutton.h> #include <qstring.h> #include <qlabel.h> #include <qfile.h> #include <qhbuttongroup.h> #include <qhbox.h> #include <qpushbutton.h> #include <qintdict.h> #include <qlayout.h> #include <qlineedit.h> #include <qsignalmapper.h> #include <qtextbrowser.h> #include <qregexp.h> #include <qwhatsthis.h> #include <qmenubar.h> static const char* const image1_data[] = { "14 14 3 1", ". c None", "# c #000000", "a c #ff0000", "..............", "..##.......###", ".#aa#....##aa#", "#aaaa#.##aaaa#", ".##aaa#aaaaa##", "...#aaaaaaa#..", "....#aaaaa#...", "...#aaaaa#....", "..#aaaaaaa#...", ".#aaaaaaaaa#..", "#aaaa###aaaa#.", "#aaa#..##aaa#.", "#aaa#...#aa#..", ".###.....##..."}; MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) : QMainWindow( parent, name, f ), _currentItem(0) { setCaption( tr("OSearch") ); setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); QFrame *mainFrame = new QFrame( this, "mainFrame" ); mainFrame->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); mainLayout = new QVBoxLayout( mainFrame ); mainLayout->setSpacing( 0 ); mainLayout->setMargin( 3 ); resultsList = new OListView( mainFrame ); resultsList->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); mainLayout->addWidget( resultsList ); detailsFrame = new QFrame( mainFrame, "detailsFrame" ); QVBoxLayout *detailsLayout = new QVBoxLayout( detailsFrame ); richEdit = new QTextView( detailsFrame ); QWhatsThis::add( richEdit, tr("The details of the current result") ); richEdit->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); detailsLayout->addWidget( richEdit ); buttonBox = new QHBox( mainFrame, "Button Box" ); _buttonCount = 0; mainLayout->addWidget( detailsFrame ); mainLayout->addWidget( buttonBox ); detailsFrame->hide(); buttonBox->hide(); searches.append( new AppLnkSearch( resultsList, tr("Applications") ) ); searches.append( new DocLnkSearch( resultsList, tr("Documents") ) ); searches.append( new TodoSearch( resultsList, tr("Todo List") ) ); searches.append( new DatebookSearch( resultsList, tr("Calendar") ) ); searches.append( new AdressSearch( resultsList, tr("Contacts") ) ); setCentralWidget( mainFrame ); popupTimer = new QTimer(); @@ -136,182 +137,182 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) : // actionWholeWordsOnly->setOn( cfg.readBoolEntry( "whole_words_only", false ) ); } void MainWindow::makeMenu() { QToolBar *toolBar = new QToolBar( this ); QToolBar *searchBar = new QToolBar(this); QMenuBar *menuBar = new QMenuBar( toolBar ); QPopupMenu *searchMenu = new QPopupMenu( menuBar ); // QPopupMenu *viewMenu = new QPopupMenu( menuBar ); QPopupMenu *cfgMenu = new QPopupMenu( menuBar ); QPopupMenu *searchOptions = new QPopupMenu( cfgMenu ); setToolBarsMovable( false ); toolBar->setHorizontalStretchable( true ); menuBar->insertItem( tr( "Search" ), searchMenu ); menuBar->insertItem( tr( "Settings" ), cfgMenu ); //SETTINGS MENU cfgMenu->insertItem( tr( "Search" ), searchOptions ); QPopupMenu *pop; for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ){ pop = s->popupMenu(); if (pop){ cfgMenu->insertItem( s->text(0), pop ); } } //SEARCH SearchAllAction = new QAction( tr("Search all"),QString::null, 0, this, 0 ); SearchAllAction->setIconSet( Resource::loadIconSet( "find" ) ); // QWhatsThis::add( SearchAllAction, tr("Search everything...") ); connect( SearchAllAction, SIGNAL(activated()), this, SLOT(searchAll()) ); SearchAllAction->addTo( searchMenu ); searchMenu->insertItem( tr( "Options" ), searchOptions ); //SEARCH OPTIONS //actionWholeWordsOnly = new QAction( tr("Whole words only"),QString::null, 0, this, 0, true ); //actionWholeWordsOnly->addTo( searchOptions ); actionCaseSensitiv = new QAction( tr("Case sensitiv"),QString::null, 0, this, 0, true ); actionCaseSensitiv->addTo( searchOptions ); actionWildcards = new QAction( tr("Use wildcards"),QString::null, 0, this, 0, true ); actionWildcards->addTo( searchOptions ); //SEARCH BAR LabelEnterText = new QLabel( searchBar, "Label" ); LabelEnterText->setAutoMask( FALSE ); LabelEnterText->setText( tr( "Search for: " ) ); addToolBar( searchBar, "Search", QMainWindow::Top, TRUE ); QLineEdit *searchEdit = new QLineEdit( searchBar, "seachEdit" ); QWhatsThis::add( searchEdit, tr("Enter your search terms here") ); searchEdit->setFocus(); searchBar->setHorizontalStretchable( TRUE ); searchBar->setStretchableWidget( searchEdit ); //Search button SearchAllAction->addTo( searchBar ); //image ripped of off opie-login/loginwindow.cpp QPixmap image1( ( const char** ) image1_data ); //Clear text ClearSearchText = new QToolButton( searchBar, "ClearSearchText"); ClearSearchText->setText( tr( "" ) ); ClearSearchText->setPixmap( image1 ); connect( searchEdit, SIGNAL( textChanged(const QString&) ),this, SLOT( setSearch(const QString&) ) ); connect( ClearSearchText, SIGNAL( clicked() ), searchEdit, SLOT( clear() ) ); } MainWindow::~MainWindow() { Config cfg( "osearch", Config::User ); cfg.setGroup( "search_settings" ); cfg.writeEntry( "caseSensitiv", actionCaseSensitiv->isOn() ); cfg.writeEntry( "wildcards", actionWildcards->isOn() ); //cfg.writeEntry( "whole_words_only", actionWholeWordsOnly->isOn() ); } void MainWindow::setCurrent(QListViewItem *item) { if (!item) return; _currentItem = (OListViewItem*)item; // _currentItem = dynamic_cast<OListViewItem*>(item); if (_currentItem->rtti() == OListViewItem::Result){ ResultItem *res = (ResultItem*)item; // ResultItem *res = dynamic_cast<ResultItem*>(item); richEdit->setText( res->toRichText() ); QIntDict<QString> acts = res->actions(); QButton *button; for (uint i = 0; i < acts.count(); i++){ button = buttonMap[i]; if (!button) { - qWarning(" no button for %s", (*acts[i]).latin1() ); + Opie::Core::owarn << " no button for " << *acts[i] << oendl; button = new QPushButton( buttonBox ); buttonMap.insert( i, button ); signalMapper->setMapping(button, i ); connect(button, SIGNAL(clicked() ), signalMapper, SLOT(map() ) ); } button->setText( *acts[i] ); button->show(); } for (uint i = acts.count(); i < _buttonCount; i++){ button = buttonMap[i]; if (button) button->hide(); } _buttonCount = acts.count(); detailsFrame->show(); buttonBox->show(); }else { detailsFrame->hide(); buttonBox->hide(); } popupTimer->start( 300, true ); } void MainWindow::stopTimer(QListViewItem*) { popupTimer->stop(); } void MainWindow::showPopup() { popupTimer->stop(); if (!_currentItem) return; QPopupMenu *pop = _currentItem->popupMenu(); if (pop) pop->popup( QCursor::pos() ); } void MainWindow::setSearch( const QString &key ) { searchTimer->stop(); _searchString = key; searchTimer->start( 300 ); } void MainWindow::searchStringChanged() { #ifdef NEW_OWAIT OWait("setting search string"); #endif searchTimer->stop(); QString ss = _searchString; //ss = Global::stringQuote( _searchString ); // if (actionWholeWordsOnly->isOn()) // ss = "\\s"+_searchString+"\\s"; -// qDebug(" set searchString >%s<",ss.latin1()); +// Opie:Core::odebug << " set searchString >" << ss << "<" << oendl; QRegExp re( ss ); re.setCaseSensitive( actionCaseSensitiv->isOn() ); re.setWildcard( actionWildcards->isOn() ); for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ) s->setSearch( re ); } void MainWindow::searchAll() { #ifdef NEW_OWAIT OWait("searching..."); #endif for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ){ s->doSearch(); //resultsList->repaint(); } } void MainWindow::slotAction( int act ) { if ( _currentItem && _currentItem->rtti() == OListViewItem::Result){ ResultItem *res = (ResultItem*)_currentItem; // ResultItem *res = dynamic_cast<ResultItem*>(item); res->action(act); } } void MainWindow::optionChanged(int ) { searchStringChanged(); } diff --git a/core/pim/osearch/opie-osearch.control b/core/pim/osearch/opie-osearch.control index 9bf0607..73838b9 100644 --- a/core/pim/osearch/opie-osearch.control +++ b/core/pim/osearch/opie-osearch.control @@ -1,9 +1,9 @@ Package: opie-osearch Files: plugins/application/libosearch.so* bin/osearch apps/1Pim/osearch.desktop pics/osearch/*.png Priority: optional Section: opie/pim Maintainer: Patrick S. Vogt <tille@handhelds.org> Architecture: arm -Depends: task-opie-minimal +Depends: task-opie-minimal, libopiecore2, libopieui2, libopiepim2 Description: Search through all PIM data Version: $QPE_VERSION$EXTRAVERSION diff --git a/core/pim/osearch/searchgroup.cpp b/core/pim/osearch/searchgroup.cpp index 9166f72..2ca37cf 100644 --- a/core/pim/osearch/searchgroup.cpp +++ b/core/pim/osearch/searchgroup.cpp @@ -1,89 +1,90 @@ // // // C++ Implementation: $MODULE$ // // Description: // // // Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003 // // Copyright: See COPYING file that comes with this distribution // // #include "searchgroup.h" +#include <opie2/odebug.h> #include <opie2/owait.h> #include <qapplication.h> #ifndef NEW_OWAIT static Opie::Ui::OWait *wait = 0; #endif SearchGroup::SearchGroup(QListView* parent, QString name) : OListViewItem(parent, name) { _name = name; loaded = false; } SearchGroup::~SearchGroup() { } void SearchGroup::expand() { //expanded = true; if (_lastSearch != _search) clearList(); if (_search.isEmpty()) return; OListViewItem *dummy = new OListViewItem( this, "searching..."); setOpen( true ); repaint(); int res_count = realSearch(); setText(0, _name + " - " + _search.pattern() + " (" + QString::number( res_count ) + ")"); delete dummy; repaint(); } void SearchGroup::doSearch() { clearList(); if (_search.isEmpty()) return; _resultCount = realSearch(); // repaint(); } void SearchGroup::setSearch(QRegExp re) { if (re == _search) return; setText(0, _name+" - "+re.pattern() ); _search = re; if (isOpen()) expand(); else new OListViewItem( this, "searching..."); } int SearchGroup::realSearch() { if (_lastSearch == _search) return _resultCount; #ifndef NEW_OWAIT if (!wait) wait = new Opie::Ui::OWait( qApp->mainWidget(), "osearch" ); wait->show(); qApp->processEvents(); #else - qDebug("********** NEW_OWAIT *************"); + Opie:Core::odebug << "********** NEW_OWAIT *************" << oendl; OWait( "searching" ); #endif if (!loaded) load(); _resultCount = 0; _resultCount = search(); _lastSearch = _search; setText(0, _name + " - " + _search.pattern() + " (" + QString::number( _resultCount ) + ")"); #ifndef NEW_OWAIT wait->hide(); #endif return _resultCount; } |