Diffstat (limited to 'core/settings/citytime/zonemap.h') (more/less context) (show whitespace changes)
-rw-r--r-- | core/settings/citytime/zonemap.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/core/settings/citytime/zonemap.h b/core/settings/citytime/zonemap.h index c9c2035..ea0142b 100644 --- a/core/settings/citytime/zonemap.h +++ b/core/settings/citytime/zonemap.h @@ -13,118 +13,126 @@ ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef ZONEMAP_H #define ZONEMAP_H #include "stylusnormalizer.h" #include <qlist.h> #include <qscrollview.h> #include <qstring.h> extern const int iCITYOFFSET; class QImage; class QComboBox; class QLabel; class QTimer; class QToolButton; - +class QListViewItem; +class QListView; class ZoneField { public: ZoneField( const QString & ); void showStructure( void ) const; inline int x( void ) const { return _x; }; inline int y( void ) const { return _y; }; inline QString city( void ) const { return strCity; }; inline QString country( void ) const { return strCountry; }; inline QString code( void ) const { return strCountryCode; }; private: int _x; int _y; QString strCountryCode; QString strCountry; QString strCity; }; class ZoneMap : public QScrollView { Q_OBJECT public: ZoneMap( QWidget *parent = 0, const char *name = 0 ); ~ZoneMap(); void showZones( void ) const; + QWidget* selectionWidget( QWidget* parent ); // convert between the pixels on the image and the coordinates in the // database inline bool zoneToWin( int zoneX, int zoneY, int &winX, int &winY ) const; inline bool winToZone( int winX, int winY, int &zoneX, int &zoneY ) const; public slots: void slotZoom( bool setZoom ); void slotIllum( bool setIllum ); void slotUpdate( void ); void slotRedraw( void ); void slotFindCity( const QPoint &pos ); // Find the closest city void changeClock( bool ); signals: void signalTz( const QString &newCountry, const QString &newCity ); protected: virtual void viewportMouseMoveEvent( QMouseEvent *event ); virtual void viewportMousePressEvent( QMouseEvent *event ); virtual void viewportMouseReleaseEvent( QMouseEvent *event ); virtual void keyPressEvent( QKeyEvent * ); virtual void resizeEvent( QResizeEvent *); virtual void drawContents( QPainter *p, int cx, int cy, int cw, int ch ); +private slots: + void slotGetCities( QListViewItem * ); + void slotCitySelected( QListViewItem * ); private: ZoneField *findCityNear( ZoneField *city, int key ); void showCity( ZoneField *city ); void drawCities( QPainter *p ); // put all the cities on the map (ugly) void drawCity( QPainter *p, const ZoneField *pCity ); // draw the given city on the map void readZones( void ); // Read in the zone information from the file void zoom( void ); // Zoom the map... void makeMap( int width, int height ); QPixmap* pixCurr; // image to be drawn on the screen QLabel* lblCity; // the "tool-tip" that shows up when you pick a city... QToolButton *cmdZoom; // our zoom option... QTimer* tHide; // the timer to hide the "tool tip" ZoneField *pLast; // the last known good city that was found... ZoneField *pRepaint; // save the location to maximize the repaint... QList<ZoneField> zones; // a linked list to hold all this information StylusNormalizer norm; + QListView *cityView; + QString selectedCont; + //the True width and height of the map... int wImg; int hImg; // the pixel points that correspond to (0, 0); int ox; int oy; // the drawable area of the map... int drawableW; int drawableH; bool bZoom; // a flag to indicate zoom is active bool bIllum; // flag to indicat that illumination is active bool ampm; ZoneField *cursor; }; inline bool ZoneMap::zoneToWin( int zoneX, int zoneY, int &winX, int &winY ) const { winY = oy - ( ( hImg * zoneY ) / 648000 ); // 180 degrees in secs winX = ox + ( ( wImg * zoneX ) / 1296000 ); // 360 degrees in secs // whoa, some things aren't in the best spots.. |