summaryrefslogtreecommitdiff
path: root/core/pim/addressbook/addressbook.cpp
Side-by-side diff
Diffstat (limited to 'core/pim/addressbook/addressbook.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/addressbook.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index 835038a..0654e1a 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -259,192 +259,199 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
isLoading = false;
}
void AddressbookWindow::slotConfig()
{
ConfigDlg* dlg = new ConfigDlg( this, "Config" );
dlg -> setConfig( m_config );
if ( QPEApplication::execDialog( dlg ) ) {
odebug << "Config Dialog accepted!" << oendl;
m_config = dlg -> getConfig();
if ( m_curFontSize != m_config.fontSize() ){
odebug << "Font was changed!" << oendl;
m_curFontSize = m_config.fontSize();
emit slotSetFont( m_curFontSize );
}
m_abView -> setListOrder( m_config.orderList() );
}
delete dlg;
}
void AddressbookWindow::slotSetFont( int size )
{
odebug << "void AddressbookWindow::slotSetFont( " << size << " )" << oendl;
if (size > 2 || size < 0)
size = 1;
m_config.setFontSize( size );
QFont *currentFont;
switch (size) {
case 0:
m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() - 2 ) );
currentFont = new QFont (m_abView->font());
// abList->resizeRows(currentFont->pixelSize() + 7); :SX
// abList->resizeRows();
break;
case 1:
m_abView->setFont( *defaultFont );
currentFont = new QFont (m_abView->font());
// // abList->resizeRows(currentFont->pixelSize() + 7);
// abList->resizeRows();
break;
case 2:
m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() + 2 ) );
currentFont = new QFont (m_abView->font());
// //abList->resizeRows(currentFont->pixelSize() + 7);
// abList->resizeRows();
break;
}
}
void AddressbookWindow::importvCard() {
QString str = Opie::Ui::OFileDialog::getOpenFileName( 1,"/");//,"", "*", this );
if(!str.isEmpty() ){
setDocument((const QString&) str );
}
}
void AddressbookWindow::exportvCard()
{
odebug << "void AddressbookWindow::exportvCard()" << oendl;
QString filename = Opie::Ui::OFileDialog::getSaveFileName( 1,"/home/"); //,"", "*", this );
if( !filename.isEmpty() && ( filename[filename.length()-1] != '/' ) ){
odebug << " Save to file " << filename << ", (" << filename.length()-1 << ")" << oendl;
Opie::OPimContact curCont = m_abView->currentEntry();
if ( !curCont.isEmpty() ){
Opie::OPimContactAccessBackend* vcard_backend = new Opie::OPimContactAccessBackend_VCard( QString::null,
filename );
Opie::OPimContactAccess* access = new Opie::OPimContactAccess ( "addressbook_exp", QString::null , vcard_backend, true );
if ( access ){
access->add( curCont );
access->save();
}
delete access;
}else
QMessageBox::critical( 0, "Export VCard",
QString( tr( "You have to select a contact !") ) );
}else
QMessageBox::critical( 0, "Export VCard",
QString( tr( "You have to set a filename !") ) );
}
void AddressbookWindow::setDocument( const QString &filename )
{
odebug << "void AddressbookWindow::setDocument( " << filename << " )" << oendl;
+ // Switch to default backend. This should avoid to import into
+ // the personal database accidently.
+ if ( actionPersonal->isOn() ){
+ actionPersonal->setOn( false );
+ slotPersonalView();
+ }
+
if ( filename.find(".vcf") != int(filename.length()) - 4 ){
switch( QMessageBox::information( this, tr ( "Right file type ?" ),
tr( "The selected file \n does not end with \".vcf\".\n Do you really want to open it?" ),
tr( "&Yes" ), tr( "&No" ), QString::null,
0, // Enter == button 0
2 ) ) { // Escape == button 2
case 0:
odebug << "YES clicked" << oendl;
break;
case 1:
odebug << "NO clicked" << oendl;
return;
break;
}
}
Opie::OPimContactAccessBackend* vcard_backend = new Opie::OPimContactAccessBackend_VCard( QString::null,
filename );
Opie::OPimContactAccess* access = new Opie::OPimContactAccess ( "addressbook", QString::null , vcard_backend, true );
Opie::OPimContactAccess::List allList = access->allRecords();
odebug << "Found number of contacts in File: " << allList.count() << oendl;
if ( !allList.count() ) {
QMessageBox::information( this, "Import VCard",
"It was impossible to import\nthe VCard.\n"
"The VCard may be corrupted!" );
}
bool doAsk = true;
Opie::OPimContactAccess::List::Iterator it;
for ( it = allList.begin(); it != allList.end(); ++it ){
odebug << "Adding Contact from: " << (*it).fullName() << oendl;
if ( doAsk ){
switch( QMessageBox::information( this, tr ( "Add Contact?" ),
tr( "Do you really want add contact for \n%1?" )
.arg( (*it).fullName().latin1() ),
tr( "&Yes" ), tr( "&No" ), tr( "&All Yes"),
0, // Enter == button 0
2 ) ) { // Escape == button 2
case 0:
odebug << "YES clicked" << oendl;
m_abView->addEntry( *it );
break;
case 1:
odebug << "NO clicked" << oendl;
break;
case 2:
odebug << "YesAll clicked" << oendl;
doAsk = false;
break;
}
}else
m_abView->addEntry( *it );
}
delete access;
}
void AddressbookWindow::resizeEvent( QResizeEvent *e )
{
QMainWindow::resizeEvent( e );
}
AddressbookWindow::~AddressbookWindow()
{
ToolBarDock dock;
int dummy;
bool bDummy;
getLocation ( listTools, dock, dummy, bDummy, dummy );
m_config.setToolBarDock( dock );
m_config.save();
}
void AddressbookWindow::slotUpdateToolbar()
{
Opie::OPimContact ce = m_abView->currentEntry();
actionMail->setEnabled( !ce.defaultEmail().isEmpty() );
}
void AddressbookWindow::slotListNew()
{
Opie::OPimContact cnt;
if( !syncing ) {
editEntry( NewEntry );
} else {
QMessageBox::warning(this, tr("Contacts"),
tr("Can not edit data, currently syncing"));
}
}