summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/pim/addressbook/TODO1
-rw-r--r--core/pim/addressbook/abtable.cpp10
-rw-r--r--core/pim/addressbook/abtable.h2
-rw-r--r--core/pim/addressbook/addressbook.cpp67
-rw-r--r--core/pim/addressbook/addressbook.h17
-rw-r--r--core/pim/addressbook/addressbook.pro3
-rw-r--r--core/pim/addressbook/ofloatbar.h20
7 files changed, 96 insertions, 24 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO
index 7bc906d..d8720b3 100644
--- a/core/pim/addressbook/TODO
+++ b/core/pim/addressbook/TODO
@@ -11,8 +11,9 @@ Important:
- "What's this" should be added
- The names of the countries are sorted by there english names, only..
Even if they are translated.. :S
- Store last settings of combo-boxes
+- Mail-Icon is missing
Less important:
- Find widget should be replaced by something like
diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp
index 91a7171..9297d6a 100644
--- a/core/pim/addressbook/abtable.cpp
+++ b/core/pim/addressbook/abtable.cpp
@@ -634,10 +634,18 @@ void QTable::paintEmptyArea( QPainter *p, int cx, int cy, int cw, int ch )
// return QMIN( pos/18, numRows()-1 );
// }
void AbTable::slotDoFind( const QString &findString, bool caseSensitive,
- bool backwards, int category )
+ bool backwards, QString cat /* int category */ )
{
+ int category = 0;
+ if ( cat.isEmpty() )
+ category = -2; // mCat.id("Contacts", "All");
+ else
+ category = mCat.id("Contacts", cat );
+
+ qWarning ("Found in Category %d", category);
+
if ( currFindRow < -1 )
currFindRow = currentRow() - 1;
clearSelection( TRUE );
int rows, row;
diff --git a/core/pim/addressbook/abtable.h b/core/pim/addressbook/abtable.h
index 80c3ca0..a603e17 100644
--- a/core/pim/addressbook/abtable.h
+++ b/core/pim/addressbook/abtable.h
@@ -99,9 +99,9 @@ public:
QString showBook() const;
public slots:
void slotDoFind( const QString &str, bool caseSensitive, bool backwards,
- int category );
+ QString category = QString::null );
signals:
void empty( bool );
void details();
void signalNotFound();
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index 82a1b57..8335d8b 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -67,12 +67,8 @@
#include <qdatetime.h>
#include "picker.h"
-// Remove this for OPIE releae 1.0 !
-#define __DEBUG_RELEASE
-
-
static QString addressbookPersonalVCardName()
{
QString filename = Global::applicationFileName("addressbook",
"businesscard.vcf");
@@ -139,22 +135,33 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
connect (addressChannel, SIGNAL( received(const QCString &, const QByteArray &)),
this, SLOT ( appMessage(const QCString &, const QByteArray &) ) );
#endif
#endif
-
-
-
-
-
-#ifndef MAKE_FOR_SHARP_ROM
a = new QAction( tr( "Find" ), Resource::loadPixmap( "mag" ),
QString::null, 0, this, 0 );
actionFind = a;
- connect( a, SIGNAL(activated()), this, SLOT(slotFind()) );
+ connect( a, SIGNAL(activated()), this, SLOT( slotFindOpen()) );
a->addTo( edit );
a->addTo( listTools );
-#endif
+ // Much better search widget, taken from QTReader.. (se)
+ searchBar = new OFloatBar( "Search", this, QMainWindow::Top, TRUE );
+ searchBar->setHorizontalStretchable( TRUE );
+ searchBar->hide();
+ searchEdit = new QLineEdit( searchBar, "searchEdit" );
+// QFont f("unifont", 16 /*, QFont::Bold*/);
+// searchEdit->setFont( f );
+ searchBar->setStretchableWidget( searchEdit );
+ connect( searchEdit, SIGNAL( returnPressed( ) ),
+ this, SLOT( slotFind( ) ) );
+
+ a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 );
+ connect( a, SIGNAL( activated() ), this, SLOT( slotFindNext() ) );
+ a->addTo( searchBar );
+
+ a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
+ connect( a, SIGNAL( activated() ), this, SLOT( slotFindClose() ) );
+ a->addTo( searchBar );
a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "qtmail/reply" ),
QString::null, 0, this, 0 );
//a->setEnabled( FALSE ); we got support for it now :) zecke
@@ -197,9 +204,9 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
#ifdef __DEBUG_RELEASE
// Remove this function for public Release ! This is only
// for debug purposes ..
a = new QAction( tr( "Save all Data"), QString::null, 0, 0 );
- connect( a, SIGNAL( activated() ), this, SLOT( save() ) );
+ connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) );
a->addTo( edit );
#endif
// Create Views
@@ -752,8 +759,15 @@ bool AddressbookWindow::save()
}
return TRUE;
}
+#ifdef __DEBUG_RELEASE
+void AddressbookWindow::slotSave()
+{
+ save();
+}
+#endif
+
void AddressbookWindow::slotSettings()
{
AddressSettings frmSettings( this );
#if defined(Q_WS_QWS) || defined(_WS_QWS_)
@@ -876,26 +890,39 @@ AbLabel *AddressbookWindow::abView()
}
return mView;
}
+void AddressbookWindow::slotFindOpen()
+{
+ searchBar->show();
+}
+void AddressbookWindow::slotFindClose()
+{
+ searchBar->hide();
+}
+void AddressbookWindow::slotFindNext()
+{
+}
+
void AddressbookWindow::slotFind()
{
-#ifndef MAKE_FOR_SHARP_ROM
if ( centralWidget() == abView() )
showList();
- FindDialog frmFind( "Contacts", this );
- QObject::connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), abList, SLOT(slotDoFind( const QString&,bool,bool,int)));
- QObject::connect( abList, SIGNAL(signalNotFound()), &frmFind, SLOT(slotNotFound()) );
- QObject::connect( abList, SIGNAL(signalWrapAround()), &frmFind, SLOT(slotWrapAround()) );
+// FindDialog frmFind( "Contacts", this );
+// QObject::connect( abList, SIGNAL(signalNotFound()), &frmFind, SLOT(slotNotFound()) );
+// QObject::connect( abList, SIGNAL(signalWrapAround()), &frmFind, SLOT(slotWrapAround()) );
+// frmFind.exec();
+
+ // QStringList categories = abList->categories();
+ // abList->setShowCategory( book, cat );
+ abList->slotDoFind( searchEdit->text(), false, false);
- frmFind.exec();
if ( abList->numSelections() )
abList->clearSelection();
abList->clearFindRow();
-#endif
}
void AddressbookWindow::slotSetCategory( int c )
{
diff --git a/core/pim/addressbook/addressbook.h b/core/pim/addressbook/addressbook.h
index bf36407..b7cf355 100644
--- a/core/pim/addressbook/addressbook.h
+++ b/core/pim/addressbook/addressbook.h
@@ -19,11 +19,16 @@
**********************************************************************/
#ifndef Addressbook_H
#define Addressbook_H
+// Remove this for OPIE releae 1.0 !
+#define __DEBUG_RELEASE
+
#include <qmainwindow.h>
#include <qvaluelist.h>
#include <qstringlist.h>
+#include <qlineedit.h>
+#include "ofloatbar.h"
class ContactEditor;
class AbLabel;
class AbTable;
@@ -56,8 +61,11 @@ public slots:
void flush();
void reload();
void appMessage(const QCString &, const QByteArray &);
void setDocument( const QString & );
+#ifdef __DEBUG_RELEASE
+ void slotSave();
+#endif
private slots:
void importvCard();
void slotListNew();
@@ -70,14 +78,18 @@ private slots:
void slotSettings();
void writeMail();
void slotBeam();
void beamDone( Ir * );
- void slotFind();
void slotSetCategory( int );
void slotSetLetter( char );
void slotUpdateToolbar();
void slotSetFont(int);
+ void slotFindOpen();
+ void slotFindClose();
+ void slotFind();
+ void slotFindNext();
+
private:
void initFields(); // inititialize our fields...
AbLabel *abView();
void populateCategories();
@@ -93,8 +105,11 @@ private:
LetterPicker *pLabel;
AbTable *abList;
QWidget *listContainer;
+ OFloatBar* searchBar;
+ QLineEdit* searchEdit;
+
QAction *actionNew, *actionEdit, *actionTrash, *actionFind, *actionBeam, *actionPersonal, *actionMail;
bool bAbEditFirstTime;
int viewMargin;
diff --git a/core/pim/addressbook/addressbook.pro b/core/pim/addressbook/addressbook.pro
index 24bdd8c..05aa5ec 100644
--- a/core/pim/addressbook/addressbook.pro
+++ b/core/pim/addressbook/addressbook.pro
@@ -5,9 +5,10 @@ HEADERS = addressbook.h \
contacteditor.h \
ablabel.h \
abtable.h \
addresssettings.h \
- picker.h
+ picker.h \
+ ofloatbar.h
SOURCES = main.cpp \
addressbook.cpp \
contacteditor.cpp \
ablabel.cpp \
diff --git a/core/pim/addressbook/ofloatbar.h b/core/pim/addressbook/ofloatbar.h
new file mode 100644
index 0000000..85a0c4f
--- a/dev/null
+++ b/core/pim/addressbook/ofloatbar.h
@@ -0,0 +1,20 @@
+#ifndef __OFLOATBAR_H
+#define __OFLOATBAR_H
+
+#include <qtoolbar.h>
+#include <qevent.h>
+
+class OFloatBar : public QToolBar
+{
+ Q_OBJECT
+ virtual void hideEvent(QHideEvent* e)
+ {
+ /*if (e->spontaneous())*/ emit OnHide();
+ }
+ public:
+ OFloatBar(char* t, QMainWindow* mw, QMainWindow::ToolBarDock td, bool f) : QToolBar(t, mw, td, f) {}
+ signals:
+ void OnHide();
+};
+
+#endif