summaryrefslogtreecommitdiffabout
path: root/kaddressbook/geowidget.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/geowidget.cpp
parent11edc920afe4f274c0964436633aa632c8288a40 (diff)
downloadkdepimpi-p1.zip
kdepimpi-p1.tar.gz
kdepimpi-p1.tar.bz2
initial public commit of qt4 portp1
Diffstat (limited to 'kaddressbook/geowidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/geowidget.cpp35
1 files changed, 21 insertions, 14 deletions
diff --git a/kaddressbook/geowidget.cpp b/kaddressbook/geowidget.cpp
index 13cd084..caff3b2 100644
--- a/kaddressbook/geowidget.cpp
+++ b/kaddressbook/geowidget.cpp
@@ -6,91 +6,98 @@
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 <kabc/geo.h>
#ifndef KAB_EMBEDDED
#include <kaccelmanager.h>
#else //KAB_EMBEDDED
-#include <qtextstream.h>
+#include <q3textstream.h>
+//Added by qt3to4:
+#include <QPaintEvent>
+#include <Q3GridLayout>
+#include <Q3Frame>
+#include <QMouseEvent>
#include <kglobal.h>
#endif //KAB_EMBEDDED
+#include <QDesktopWidget>
+
#include <knuminput.h>
#include <kcombobox.h>
#include <kdebug.h>
#include <kiconloader.h>
#include <klocale.h>
#include <kstandarddirs.h>
#include <qcheckbox.h>
#include <qfile.h>
#include <qapplication.h>
-#include <qgroupbox.h>
+#include <q3groupbox.h>
#include <qlabel.h>
#include <qlayout.h>
-#include <qlistbox.h>
+#include <q3listbox.h>
#include <qpainter.h>
#include <qpixmap.h>
#include <qpushbutton.h>
#include <qregexp.h>
#include <qstring.h>
#include <stdlib.h>
#include "geowidget.h"
GeoWidget::GeoWidget( QWidget *parent, const char *name )
: QWidget( parent, name )
{
QLabel *label = 0;
- QGridLayout *topLayout = new QGridLayout( this, 4, 3 );
+ Q3GridLayout *topLayout = new Q3GridLayout( this, 4, 3 );
topLayout->setMargin( KDialog::marginHint() );
topLayout->setSpacing( KDialog::spacingHint() );
label = new QLabel( this );
//US ambiguous call to loadIcon. Add an additional parameter
//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "package_network", KIcon::Desktop ) );
label->setPixmap( KGlobal::iconLoader()->loadIcon( "package_network", KIcon::Desktop, 0 ) );
label->setAlignment( Qt::AlignTop );
topLayout->addMultiCellWidget( label, 0, 3, 0, 0 );
- label->setAlignment( AlignCenter );
+ label->setAlignment( Qt::AlignCenter );
mGeoIsValid = new QCheckBox( i18n( "Use geo data" ), this );
topLayout->addMultiCellWidget( mGeoIsValid, 0, 0, 1, 2 );
label = new QLabel( i18n( "Latitude:" ), this );
topLayout->addWidget( label, 1, 1 );
mLatitudeBox = new KDoubleSpinBox( -90, 90, 1, 0, 6, this );
mLatitudeBox->setEnabled( false );
mLatitudeBox->setSuffix( "" );
topLayout->addWidget( mLatitudeBox, 1, 2 );
label->setBuddy( mLatitudeBox );
label = new QLabel( i18n( "Longitude:" ), this );
topLayout->addWidget( label, 2, 1 );
mLongitudeBox = new KDoubleSpinBox( -180, 180, 1, 0, 6, this );
mLongitudeBox->setEnabled( false );
mLongitudeBox->setSuffix( "" );
topLayout->addWidget( mLongitudeBox, 2, 2 );
label->setBuddy( mLongitudeBox );
mExtendedButton = new QPushButton( i18n( "Edit Geo Data..." ), this );
mExtendedButton->setEnabled( false );
topLayout->addMultiCellWidget( mExtendedButton, 3, 3, 1, 2 );
@@ -146,58 +153,58 @@ KABC::Geo GeoWidget::geo() const
}
void GeoWidget::editGeoData()
{
GeoDialog dlg( this );
dlg.setLatitude( mLatitudeBox->value() );
dlg.setLongitude( mLongitudeBox->value() );
if ( dlg.exec() ) {
mLatitudeBox->setValue( dlg.latitude() );
mLongitudeBox->setValue( dlg.longitude() );
emit changed();
}
}
GeoDialog::GeoDialog( QWidget *parent, const char *name )
: KDialogBase( Plain, i18n( "Geo Data Input" ), Ok | Cancel, Ok,
parent, name, true, true ),
mUpdateSexagesimalInput( true )
{
- QFrame *page = plainPage();
+ Q3Frame *page = plainPage();
- QGridLayout *topLayout = new QGridLayout( page, 1, 1, marginHintSmall(),
+ Q3GridLayout *topLayout = new Q3GridLayout( page, 1, 1, marginHintSmall(),
spacingHint() );
//topLayout->setRowStretch( 1, 1 );
mMapWidget = new GeoMapWidget( page );
mCityCombo = new KComboBox( page );
- QGroupBox *sexagesimalGroup = new QGroupBox( 0, Vertical, i18n( "Sexagesimal" ), page );
- QGridLayout *sexagesimalLayout = new QGridLayout( sexagesimalGroup->layout(),
+ Q3GroupBox *sexagesimalGroup = new Q3GroupBox( 0, Qt::Vertical, i18n( "Sexagesimal" ), page );
+ Q3GridLayout *sexagesimalLayout = new Q3GridLayout( sexagesimalGroup->layout(),
2, 5, spacingHint() );
QLabel *label;
if ( QApplication::desktop()->width() < 320 ) {
label = new QLabel( i18n( "La." ), sexagesimalGroup );
sexagesimalLayout->setSpacing ( spacingHintSmall() );
sexagesimalLayout->setMargin ( marginHintSmall() );
topLayout->setMargin ( 0 );
mCityCombo->setMaximumWidth( 220 );
sexagesimalGroup->setMaximumWidth( 220 );
}
else
label = new QLabel( i18n( "Latitude:" ), sexagesimalGroup );
sexagesimalLayout->addWidget( label, 0, 0 );
int maxWid = 60;
if ( QApplication::desktop()->width() < 320 )
maxWid = 40;
mLatDegrees = new QSpinBox( 0, 90, 1, sexagesimalGroup );
mLatDegrees->setSuffix( "" );
mLatDegrees->setWrapping( false );
sexagesimalLayout->addWidget( mLatDegrees, 0, 1 );
mLatDegrees->setMaximumWidth( maxWid );
mLatMinutes = new QSpinBox( 0, 59, 1, sexagesimalGroup );
@@ -408,50 +415,50 @@ void GeoDialog::updateInputs()
mLongMinutes->blockSignals( false );
mLongSeconds->blockSignals( false );
mLongDirection->blockSignals( false );
}
void GeoDialog::loadCityList()
{
mCityCombo->clear();
mGeoDataMap.clear();
QString fileName ;
#ifdef DESKTOP_VERSION
#ifndef _WIN32_
fileName = qApp->applicationDirPath () + "/kdepim/kaddressbook/zone.tab";
#else
fileName = qApp->applicationDirPath () + "\\kdepim\\kaddressbook\\zone.tab";
#endif
#else
fileName = getenv("QPEDIR");
fileName += "/pics/kdepim/kaddressbook/zone.tab";
#endif
QFile file( fileName);
- if ( file.open( IO_ReadOnly ) ) {
- QTextStream s( &file );
+ if ( file.open( QIODevice::ReadOnly ) ) {
+ Q3TextStream s( &file );
QString line, country;
QRegExp coord( "[+-]\\d+[+-]\\d+" );
QRegExp name( "[^\\s]+/[^\\s]+" );
int posc, posn, pos;
while ( !s.eof() ) {
line = s.readLine().stripWhiteSpace();
if ( line.isEmpty() || line[ 0 ] == '#' )
continue;
country = line.left( 2 );
QString c, n;
#ifdef DESKTOP_VERSION
posc = coord.search( line, 0 );
#else
posc = coord.find( line, 0 );
#endif
// if ( pos >= 0 )
//c = line.mid( pos, coord.matchedLength() );
#ifdef DESKTOP_VERSION
posn = name.search(line, posc);
#else
@@ -531,49 +538,49 @@ double GeoDialog::calculateCoordinate( const QString &coordinate )
if ( neg )
return - ( d + m / 60.0 + s / 3600.0 );
else
return d + m / 60.0 + s / 3600.0;
}
int GeoDialog::nearestCity( double x, double y )
{
QMap<QString, GeoData>::Iterator it;
int pos = 0;
for ( it = mGeoDataMap.begin(); it != mGeoDataMap.end(); ++it, pos++ ) {
double dist = ( (*it).longitude - x ) * ( (*it).longitude - x ) +
( (*it).latitude - y ) * ( (*it).latitude - y );
if ( dist < 1.5 )
return pos;
}
return -1;
}
GeoMapWidget::GeoMapWidget( QWidget *parent, const char *name )
: QWidget( parent, name ), mLatitude( 0 ), mLongitude( 0 )
{
- setBackgroundMode( NoBackground );
+ setBackgroundMode( Qt::NoBackground );
setFixedSize( 240, 120 );
update();
}
GeoMapWidget::~GeoMapWidget()
{
}
void GeoMapWidget::setLatitude( double latitude )
{
mLatitude = latitude;
}
double GeoMapWidget::latitude()const
{
return mLatitude;
}
void GeoMapWidget::setLongitude( double longitude )
{
mLongitude = longitude;
}
@@ -603,27 +610,27 @@ void GeoMapWidget::paintEvent( QPaintEvent* )
uint h = height();
QPixmap world = KGlobal::iconLoader()->loadIcon( "world", KIcon::Desktop, 0 );
QPainter p;
p.begin( &world, this );
p.setPen( QColor( 255, 0, 0 ) );
p.setBrush( QColor( 255, 0, 0 ) );
double latMid = h / 2;
double longMid = w / 2;
double latOffset = ( mLatitude * latMid ) / 90;
double longOffset = ( mLongitude * longMid ) / 180;
int x = (int)(longMid + longOffset);
int y = (int)(latMid - latOffset);
p.drawEllipse( x, y, 4, 4 );
p.end();
bitBlt( this, 0, 0, &world );
}
-#ifndef KAB_EMBEDDED
-#include "geowidget.moc"
+#ifndef KAB_EMBEDDED_
+#include "moc_geowidget.cpp"
#endif //KAB_EMBEDDED