summaryrefslogtreecommitdiffabout
path: root/kaddressbook/keywidget.cpp
authorMichael Krelin <hacker@klever.net>2007-07-04 11:23:42 (UTC)
committer Michael Krelin <hacker@klever.net>2007-07-04 11:23:42 (UTC)
commita08aff328d4393031d5ba7d622c2b05705a89d73 (patch) (side-by-side diff)
tree8ee90d686081c52e7c69b5ce946e9b1a7d690001 /kaddressbook/keywidget.cpp
parent11edc920afe4f274c0964436633aa632c8288a40 (diff)
downloadkdepimpi-p1.zip
kdepimpi-p1.tar.gz
kdepimpi-p1.tar.bz2
initial public commit of qt4 portp1
Diffstat (limited to 'kaddressbook/keywidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/keywidget.cpp28
1 files changed, 15 insertions, 13 deletions
diff --git a/kaddressbook/keywidget.cpp b/kaddressbook/keywidget.cpp
index c117d34..8ebee19 100644
--- a/kaddressbook/keywidget.cpp
+++ b/kaddressbook/keywidget.cpp
@@ -1,277 +1,279 @@
/*
This file is part of KAddressBook.
Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
As a special exception, permission is given to link this program
with any edition of Qt, and distribute the resulting executable,
without including the source code for Qt in the source distribution.
*/
#include <qfile.h>
#include <qinputdialog.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qpushbutton.h>
+//Added by qt3to4:
+#include <Q3GridLayout>
#ifndef KAB_EMBEDDED
#include <kaccelmanager.h>
#include <kio/netaccess.h>
#include <kmessagebox.h>
#else //KAB_EMBEDDED
#include <qmap.h>
#include <qmessagebox.h>
-#include <qtextstream.h>
+#include <q3textstream.h>
#include <kurl.h>
#endif //KAB_EMBEDDED
#include <kapplication.h>
#include <kcombobox.h>
#include <kdialog.h>
#include <kfiledialog.h>
#include <klocale.h>
#include <ktempfile.h>
#include "keywidget.h"
KeyWidget::KeyWidget( QWidget *parent, const char *name )
: QWidget( parent, name )
{
- QGridLayout *layout = new QGridLayout( this, 2, 2, KDialog::marginHint(),
+ Q3GridLayout *layout = new Q3GridLayout( this, 2, 2, KDialog::marginHint(),
KDialog::spacingHint() );
QLabel *label = new QLabel( i18n( "Keys:" ), this );
layout->addWidget( label, 0, 0 );
mKeyCombo = new KComboBox( this );
layout->addWidget( mKeyCombo, 0, 1 );
mAddButton = new QPushButton( i18n( "Add" ), this );
layout->addWidget( mAddButton, 1, 0 );
mRemoveButton = new QPushButton( i18n( "Remove" ), this );
mRemoveButton->setEnabled( false );
layout->addWidget( mRemoveButton, 1, 1 );
mExportButton = new QPushButton( i18n( "Export" ), this );
mExportButton->setEnabled( false );
layout->addMultiCellWidget( mExportButton, 2, 2, 0, 1 );
connect( mAddButton, SIGNAL( clicked() ), SLOT( addKey() ) );
connect( mRemoveButton, SIGNAL( clicked() ), SLOT( removeKey() ) );
connect( mExportButton, SIGNAL( clicked() ), SLOT( exportKey() ) );
}
KeyWidget::~KeyWidget()
{
}
void KeyWidget::setKeys( const KABC::Key::List &list )
{
mKeyList = list;
updateKeyCombo();
}
KABC::Key::List KeyWidget::keys() const
{
return mKeyList;
}
void KeyWidget::addKey()
{
QMap<QString, int> keyMap;
QStringList keyTypeNames;
QStringList existingKeyTypes;
KABC::Key::List::Iterator listIt;
for ( listIt = mKeyList.begin(); listIt != mKeyList.end(); ++listIt ) {
if ( (*listIt).type() != KABC::Key::Custom )
existingKeyTypes.append( KABC::Key::typeLabel( (*listIt).type() ) );
}
KABC::Key::TypeList typeList = KABC::Key::typeList();
KABC::Key::TypeList::Iterator it;
for ( it = typeList.begin(); it != typeList.end(); ++it ) {
if ( (*it) != KABC::Key::Custom &&
!existingKeyTypes.contains( KABC::Key::typeLabel( *it ) ) ) {
keyMap.insert( KABC::Key::typeLabel( *it ), *it );
keyTypeNames.append( KABC::Key::typeLabel( *it ) );
}
}
bool ok;
QString name = QInputDialog::getItem( i18n( "Key type" ), i18n( "Select the key type." ), keyTypeNames, 0, true, &ok );
if ( !ok || name.isEmpty() )
return;
int type = keyMap[ name ];
if ( !keyTypeNames.contains( name ) )
type = KABC::Key::Custom;
#ifndef KAB_EMBEDDED
KURL url = KFileDialog::getOpenURL();
if ( url.isEmpty() )
return;
QString tmpFile;
if ( KIO::NetAccess::download( url, tmpFile ) ) {
QFile file( tmpFile );
- if ( !file.open( IO_ReadOnly ) ) {
+ if ( !file.open( QIODevice::ReadOnly ) ) {
QString text( i18n( "<qt>Unable to open file <b>%1</b>.</qt>" ) );
KMessageBox::error( this, text.arg( url.url() ) );
return;
}
#else //KAB_EMBEDDED
QString keyfile = KFileDialog::getOpenFileName( "huhu",
"Select Key", this );
if ( keyfile.isEmpty() )
return;
{
QFile file( keyfile );
- if ( !file.open( IO_ReadOnly ) ) {
+ if ( !file.open( QIODevice::ReadOnly ) ) {
QString text( i18n( "<qt>Unable to open file <b>%1</b>.</qt>" ) );
QString caption( i18n( "Error" ) );
QMessageBox::critical( this, caption, text.arg( keyfile ) );
return;
}
#endif //KAB_EMBEDDED
- QTextStream s( &file );
+ Q3TextStream s( &file );
QString data;
- s.setEncoding( QTextStream::UnicodeUTF8 );
+ s.setEncoding( Q3TextStream::UnicodeUTF8 );
s >> data;
file.close();
KABC::Key key( data, type );
if ( type == KABC::Key::Custom )
key.setCustomTypeString( name );
mKeyList.append( key );
emit changed();
#ifndef KAB_EMBEDDED
KIO::NetAccess::removeTempFile( tmpFile );
#endif //KAB_EMBEDDED
}
updateKeyCombo();
}
void KeyWidget::removeKey()
{
int pos = mKeyCombo->currentItem();
if ( pos == -1 )
return;
QString type = mKeyCombo->currentText();
QString text = i18n( "<qt>Do you really want to remove the key <b>%1</b>?</qt>" );
#ifndef KAB_EMBEDDED
if ( KMessageBox::questionYesNo( this, text.arg( type ) ) == KMessageBox::No )
return;
#else //KAB_EMBEDDED
QString caption = i18n( "Confirm Delete" );
if (QMessageBox::information( this, caption,
text.arg( type ),
i18n("Yes!"), i18n("No"), 0, 0 ) == 1)
return;
#endif //KAB_EMBEDDED
mKeyList.remove( mKeyList.at( pos ) );
emit changed();
updateKeyCombo();
}
void KeyWidget::exportKey()
{
KABC::Key key = (*mKeyList.at( mKeyCombo->currentItem() ) );
#ifndef KAB_EMBEDDED
KURL url = KFileDialog::getSaveURL();
KTempFile tempFile;
- QTextStream *s = tempFile.textStream();
- s->setEncoding( QTextStream::UnicodeUTF8 );
+ Q3TextStream *s = tempFile.textStream();
+ s->setEncoding( Q3TextStream::UnicodeUTF8 );
(*s) << key.textData();
tempFile.close();
KIO::NetAccess::upload( tempFile.name(), url, kapp->mainWidget() );
#else //KAB_EMBEDDED
QString keyfile = KFileDialog::getSaveFileName( "huhu",
"Save Key", this );
if ( keyfile.isEmpty() )
return;
QFile file( keyfile );
- if ( !file.open( IO_ReadWrite ) ) {
+ if ( !file.open( QIODevice::ReadWrite ) ) {
QString text( i18n( "<qt>Unable to open file <b>%1</b>.</qt>" ) );
QString caption( i18n( "Error" ) );
QMessageBox::critical( this, caption, text.arg( keyfile ) );
return;
}
- QTextStream s( &file );
- s.setEncoding( QTextStream::UnicodeUTF8 );
+ Q3TextStream s( &file );
+ s.setEncoding( Q3TextStream::UnicodeUTF8 );
s << key.textData();
file.close();
#endif //KAB_EMBEDDED
}
void KeyWidget::updateKeyCombo()
{
int pos = mKeyCombo->currentItem();
mKeyCombo->clear();
KABC::Key::List::Iterator it;
for ( it = mKeyList.begin(); it != mKeyList.end(); ++it ) {
if ( (*it).type() == KABC::Key::Custom )
mKeyCombo->insertItem( (*it).customTypeString() );
else
mKeyCombo->insertItem( KABC::Key::typeLabel( (*it).type() ) );
}
mKeyCombo->setCurrentItem( pos );
bool state = ( mKeyList.count() != 0 );
mRemoveButton->setEnabled( state );
mExportButton->setEnabled( state );
}
-#ifndef KAB_EMBEDDED
-#include "keywidget.moc"
+#ifndef KAB_EMBEDDED_
+#include "moc_keywidget.cpp"
#endif //KAB_EMBEDDED