summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/pim/addressbook/TODO6
-rw-r--r--core/pim/addressbook/abtable.cpp17
-rw-r--r--core/pim/addressbook/abtable.h5
-rw-r--r--core/pim/addressbook/addressbook.cpp54
4 files changed, 21 insertions, 61 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO
index 32d2838..7bc906d 100644
--- a/core/pim/addressbook/TODO
+++ b/core/pim/addressbook/TODO
@@ -1,12 +1,13 @@
Stuff todo:
Urgent:
-- Syncing: abtable not reloaded after sync.
+
+- Font menu is invisible using german translation
Important:
- Finishing of new View functions (List, Phonebook...)
- Reload if contacts were changed externally
- "What's this" should be added
- The names of the countries are sorted by there english names, only..
Even if they are translated.. :S
@@ -15,12 +16,13 @@ Important:
Less important:
- Find widget should be replaced by something like
qpdf has.
- The picker (alphabetical sort widget) should be
placed verticaly or horizontally (configurable)
-Should be Fixed:
+Should be Fixed (not absolute sure, need validation):
- "Nonenglish" translation bug has to be fixed.
Fixed: \ No newline at end of file
+- Syncing: abtable not reloaded after sync.
diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp
index 70c070f..91a7171 100644
--- a/core/pim/addressbook/abtable.cpp
+++ b/core/pim/addressbook/abtable.cpp
@@ -465,49 +465,52 @@ void AbTable::resizeRows() {
setRowHeight( i, size );
}
}
updateVisible();
*/
}
-bool AbTable::save( const QString& /* fn */ )
+bool AbTable::save()
{
// QTime t;
// t.start();
qWarning("abtable:Save data");
- m_contactdb.save();
- return true;
+ return m_contactdb.save();
}
-void AbTable::load( const QString& /* fn */ )
+void AbTable::load()
{
setSorting( false );
setUpdatesEnabled( FALSE );
qWarning("abtable:Load data");
OContactAccess::List list = m_contactdb.allRecords();
OContactAccess::List::Iterator it;
setNumRows( list.count() );
int row = 0;
for ( it = list.begin(); it != list.end(); ++it )
insertIntoTable( *it, row++ );
- resort();
-
setUpdatesEnabled( TRUE );
setSorting( true );
- //resort();
+ resort();
}
+void AbTable::reload()
+{
+ m_contactdb.reload();
+ load();
+}
+
void AbTable::realignTable( int row )
{
QTableItem *ti1,
*ti2;
int totalRows = numRows();
for ( int curr = row; curr < totalRows - 1; curr++ ) {
// the same info from the todo list still applies, but I
// don't think it is _too_ bad.
diff --git a/core/pim/addressbook/abtable.h b/core/pim/addressbook/abtable.h
index 84aef1e..80c3ca0 100644
--- a/core/pim/addressbook/abtable.h
+++ b/core/pim/addressbook/abtable.h
@@ -72,18 +72,19 @@ public:
void init();
void deleteCurrentEntry();
void clear();
void clearFindRow() { currFindRow = -2; }
void loadFields();
void refresh();
- bool save( const QString &fn );
- void load( const QString &fn );
+ bool save();
+ void load();
+ void reload();
// addresspicker mode
void setChoiceNames( const QStringList& list);
QStringList choiceNames() const;
void setChoiceSelection(int index, const QStringList& list);
QStringList choiceSelection(int index) const;
void setShowCategory( const QString &b, const QString &c );
void setShowByLetter( char c );
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index 2eb9ddf..93581e8 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -62,28 +62,16 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <qdatetime.h>
#include "picker.h"
-static QString addressbookOldXMLFilename()
-{
- QString filename = QPEApplication::documentDir() + "addressbook.xml";
- return filename;
-}
-
-static QString addressbookXMLFilename()
-{
- QString filename = Global::applicationFileName("addressbook",
- "addressbook.xml");
- return filename;
-}
static QString addressbookPersonalVCardName()
{
QString filename = Global::applicationFileName("addressbook",
"businesscard.vcf");
return filename;
}
@@ -197,49 +185,30 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
a->addTo( edit );
a = new QAction( tr( "Arrange Edit Fields"), QString::null, 0, 0 );
connect( a, SIGNAL( activated() ), this, SLOT( slotSettings() ) );
a->addTo( edit );
// Create Views
-
- // This is safe to call without checking to see if it exists...
- // not to mention it also does the necessary stuff for the
- // journaling...
- QString str = addressbookXMLFilename();
- if ( str.isNull() ) {
- QMessageBox::warning(
- this,
- tr("Out of Space"),
- tr("There is not enough space to create\n"
- "neccessary startup files.\n"
- "\nFree up some space before\nentering data!")
- );
- }
-
listContainer = new QWidget( this );
QVBoxLayout *vb = new QVBoxLayout( listContainer );
abList = new AbTable( &orderedFields, listContainer, "table" );
vb->addWidget(abList);
// abList->setHScrollBarMode( QScrollView::AlwaysOff );
connect( abList, SIGNAL( empty( bool ) ), this, SLOT( listIsEmpty( bool ) ) );
connect( abList, SIGNAL( details() ), this, SLOT( slotListView() ) );
connect( abList, SIGNAL(currentChanged(int,int)), this, SLOT(slotUpdateToolbar()) );
mView = 0;
- abList->load( addressbookXMLFilename() );
- if ( QFile::exists(addressbookOldXMLFilename()) ) {
- abList->load( addressbookOldXMLFilename() );
- QFile::remove(addressbookOldXMLFilename());
- }
+ abList->load();
pLabel = new LetterPicker( listContainer );
connect(pLabel, SIGNAL(letterClicked(char)), this, SLOT(slotSetLetter(char)));
vb->addWidget(pLabel);
catMenu = new QPopupMenu( this );
catMenu->setCheckable( TRUE );
connect( catMenu, SIGNAL(activated(int)), this, SLOT(slotSetCategory(int)) );
populateCategories();
@@ -704,23 +673,23 @@ void AddressbookWindow::listIsEmpty( bool empty )
deleteButton->setEnabled( TRUE );
}
}
void AddressbookWindow::reload()
{
syncing = FALSE;
abList->clear();
- abList->load( addressbookXMLFilename() );
+ abList->reload();
}
void AddressbookWindow::flush()
{
syncing = TRUE;
- abList->save( addressbookXMLFilename() );
+ abList->save();
}
void AddressbookWindow::closeEvent( QCloseEvent *e )
{
if ( centralWidget() == mView ) {
if (actionPersonal->isOn()) {
// pretend we clicked it off
@@ -750,43 +719,28 @@ void AddressbookWindow::closeEvent( QCloseEvent *e )
}
/*
Returns TRUE if it is OK to exit
*/
bool AddressbookWindow::save()
{
- QString str = addressbookXMLFilename();
- if ( str.isNull() ) {
+ if ( !abList->save() ) {
if ( QMessageBox::critical( 0, tr("Out of space"),
tr("Unable to save information.\n"
"Free up some space\n"
"and try again.\n"
"\nQuit anyway?"),
QMessageBox::Yes|QMessageBox::Escape,
QMessageBox::No|QMessageBox::Default )
!= QMessageBox::No )
return TRUE;
else
return FALSE;
- } else {
- if ( !abList->save( str ) ) {
- if ( QMessageBox::critical( 0, tr( "Out of space" ),
- tr("Unable to save information.\n"
- "Free up some space\n"
- "and try again.\n"
- "\nQuit anyway?"),
- QMessageBox::Yes|QMessageBox::Escape,
- QMessageBox::No|QMessageBox::Default )
- != QMessageBox::No )
- return TRUE;
- else
- return FALSE;
- }
}
return TRUE;
}
void AddressbookWindow::slotSettings()
{
AddressSettings frmSettings( this );
#if defined(Q_WS_QWS) || defined(_WS_QWS_)