diff options
Diffstat (limited to 'kdeprint/kdeprintfax/faxab.cpp')
-rw-r--r-- | kdeprint/kdeprintfax/faxab.cpp | 212 |
1 files changed, 0 insertions, 212 deletions
diff --git a/kdeprint/kdeprintfax/faxab.cpp b/kdeprint/kdeprintfax/faxab.cpp deleted file mode 100644 index ad50ac9fb..000000000 --- a/kdeprint/kdeprintfax/faxab.cpp +++ /dev/null @@ -1,212 +0,0 @@ -/* - * tdeprintfax - a small fax utility - * Copyright (C) 2001 Michael Goffioul - * - * 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. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -#include "faxab.h" - -#include <tqlabel.h> -#include <tqlayout.h> -#include <kpushbutton.h> -#include <klistview.h> -#include <tqheader.h> -#include <klocale.h> -#include <kabc/stdaddressbook.h> -#include <kmessagebox.h> -#include <kiconloader.h> -#include <krun.h> -#include <kstdguiitem.h> -#include <kglobal.h> -#include <kconfig.h> - -FaxAB::FaxAB(TQWidget *parent, const char *name) -: KDialog(parent, name, true) -{ - m_list = new KListView( this ); - m_list->addColumn( i18n( "Name" ) ); - m_list->addColumn( i18n( "Fax Number" ) ); - m_list->header()->setStretchEnabled( true, 0 ); - TQLabel *m_listlabel = new TQLabel(i18n("Entries:"), this); - m_ok = new KPushButton(KStdGuiItem::ok(), this); - TQPushButton *m_cancel = new KPushButton(KStdGuiItem::cancel(), this); - TQPushButton *m_ab = new KPushButton(KGuiItem(i18n("&Edit Addressbook"), "contents"), this); - connect(m_ok, TQT_SIGNAL(clicked()), TQT_SLOT(accept())); - connect(m_cancel, TQT_SIGNAL(clicked()), TQT_SLOT(reject())); - connect(m_ab, TQT_SIGNAL(clicked()), TQT_SLOT(slotEditAb())); - m_ok->setDefault(true); - - TQVBoxLayout *l0 = new TQVBoxLayout(this, 10, 10); - l0->addWidget( m_listlabel ); - l0->addWidget( m_list ); - TQHBoxLayout *l2 = new TQHBoxLayout(0, 0, 10); - l0->addLayout(l2, 0); - l2->addWidget(m_ab, 0); - l2->addStretch(1); - l2->addWidget(m_ok, 0); - l2->addWidget(m_cancel, 0); - - KConfig *conf = KGlobal::config(); - conf->setGroup( "General" ); - TQSize defsize( 400, 200 ); - resize( conf->readSizeEntry( "ABSize", &defsize ) ); - - initialize(); - connect(KABC::StdAddressBook::self(), TQT_SIGNAL(addressBookChanged(AddressBook*)), TQT_SLOT(slotAbChanged(AddressBook*))); -} - -FaxAB::~FaxAB() -{ - KConfig *conf = KGlobal::config(); - conf->setGroup( "General" ); - conf->writeEntry( "ABSize", size() ); -} - -void FaxAB::initialize() -{ - m_entries.clear(); - m_list->clear(); - - KABC::AddressBook *bk = KABC::StdAddressBook::self(); - for (KABC::AddressBook::Iterator it=bk->begin(); it!=bk->end(); ++it) - { - KABC::PhoneNumber::List numbers = (*it).phoneNumbers(); - KABC::PhoneNumber::List faxNumbers; - for (TQValueList<KABC::PhoneNumber>::Iterator nit=numbers.begin(); nit!=numbers.end(); ++nit) - { - if (((*nit).type() & KABC::PhoneNumber::Fax) && !(*nit).number().isEmpty()) - faxNumbers << ( *nit ); - } - if (faxNumbers.count() > 0) - { - for ( KABC::PhoneNumber::List::ConstIterator nit = faxNumbers.begin(); nit != faxNumbers.end(); ++nit ) - { - FaxABEntry entry; - entry.m_number = ( *nit ); - entry.m_enterprise = ( *it ).organization(); - if ( !( *it ).formattedName().isEmpty() ) - entry.m_name = ( *it ).formattedName(); - else - { - TQString key = ( *it ).familyName(); - if ( !( *it ).givenName().isEmpty() ) - { - if ( !key.isEmpty() ) - key.append( " " ); - key.append( ( *it ).givenName() ); - } - entry.m_name = key; - } - entry.m_name += ( " (" + ( *nit ).typeLabel() + ")" ); - m_entries[ entry.m_name ] = entry; - } - } - } - - if (m_entries.count() > 0) - { - for (TQMap<TQString,FaxABEntry>::ConstIterator it=m_entries.begin(); it!=m_entries.end(); ++it) - { - TQCheckListItem *item = new TQCheckListItem( m_list, it.key(), TQCheckListItem::CheckBox ); - item->setText( 1, ( *it ).m_number.number() ); - item->setText( 2, ( *it ).m_enterprise ); - } - m_list->sort(); - m_ok->setEnabled(true); - } - else - m_ok->setDisabled(true); -} - -void FaxAB::slotEditAb() -{ - KRun::runCommand("kaddressbook"); -} - -void FaxAB::slotAbChanged(AddressBook*) -{ - initialize(); -} - -bool FaxAB::getEntry(TQStringList& number, TQStringList& name, TQStringList& enterprise, TQWidget *parent) -{ - FaxAB kab(parent); - if (!kab.isValid()) - { - KMessageBox::error(parent, i18n("No fax number found in your address book.")); - return false; - } - if (kab.exec()) - { - TQListViewItemIterator it( kab.m_list, TQListViewItemIterator::Checked ); - while ( it.current() ) - { - number << it.current()->text( 1 ); - name << it.current()->text( 0 ); - enterprise << it.current()->text( 2 ); - ++it; - } - /* - number = kab.m_fax->currentText(); - name = kab.m_name->currentText(); - if (kab.m_entries.contains(name)) - { - enterprise = kab.m_entries[name][0]; - } - */ - return true; - } - - return false; -} - -bool FaxAB::getEntryByNumber(const TQString& number, TQString& name, TQString& enterprise) -{ - KABC::AddressBook *bk = KABC::StdAddressBook::self(); - for (KABC::AddressBook::Iterator it=bk->begin(); it!=bk->end(); ++it) - { - KABC::PhoneNumber::List numbers = (*it).phoneNumbers(); - TQStringList filteredNumbers; - for (TQValueList<KABC::PhoneNumber>::Iterator nit=numbers.begin(); nit!=numbers.end(); ++nit) - { - if (((*nit).type() & KABC::PhoneNumber::Fax) ) - { - TQString strippedNumber; - for (uint i = 0; i < (*nit).number().length(); ++i) - if ((*nit).number()[i].isDigit() || ( *nit ).number()[ i ] == '+') - strippedNumber.append((*nit).number()[i]); - - if ( strippedNumber == number) - { - enterprise = (*it).organization(); - name = (*it).formattedName(); - return true; - } - } - } - } - - return false; -} - -bool FaxAB::isValid() -{ - return true; - //return (m_name->count() > 0); -} - -#include "faxab.moc" |