-rw-r--r-- | bin/kdepim/WhatsNew.txt | 1 | ||||
-rw-r--r-- | kaddressbook/imagewidget.cpp | 21 | ||||
-rw-r--r-- | kaddressbook/imagewidget.h | 2 |
3 files changed, 5 insertions, 19 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 93edc59..6e3b886 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt | |||
@@ -1,61 +1,62 @@ | |||
1 | Info about the changes in new versions of KDE-Pim/Pi | 1 | Info about the changes in new versions of KDE-Pim/Pi |
2 | 2 | ||
3 | ********** VERSION 2.1.5 ************ | 3 | ********** VERSION 2.1.5 ************ |
4 | 4 | ||
5 | This is the new stable version. | 5 | This is the new stable version. |
6 | Bugfix: | 6 | Bugfix: |
7 | Fixed a problem with agenda popup on the desktop in KO/Pi. | 7 | Fixed a problem with agenda popup on the desktop in KO/Pi. |
8 | Fixed a crash when reloading file, e.g. after a passive pi-sync synchronization. | 8 | Fixed a crash when reloading file, e.g. after a passive pi-sync synchronization. |
9 | Added config option to not display completed todos in agenda view. | 9 | Added config option to not display completed todos in agenda view. |
10 | Addressee view is now using the formatted name, if defined. | 10 | Addressee view is now using the formatted name, if defined. |
11 | That makes it possible to display "lastname, firstname" in that view now. | 11 | That makes it possible to display "lastname, firstname" in that view now. |
12 | To set the formatted name for all contacts, please use menu: | 12 | To set the formatted name for all contacts, please use menu: |
13 | Edit->Change->Set formatted name. | 13 | Edit->Change->Set formatted name. |
14 | Fixed the bug in KA/Pi that is was not possible to add images to a contact on Windows. | ||
14 | 15 | ||
15 | ********** VERSION 2.1.4 ************ | 16 | ********** VERSION 2.1.4 ************ |
16 | 17 | ||
17 | Fixed two more bugs in the KA/Pi CSV import dialog: | 18 | Fixed two more bugs in the KA/Pi CSV import dialog: |
18 | Made it possible to read multi-line fields and import it to the "Note" field. | 19 | Made it possible to read multi-line fields and import it to the "Note" field. |
19 | Fixed a problem in mapping custom fields, whatever a custem field is... | 20 | Fixed a problem in mapping custom fields, whatever a custem field is... |
20 | 21 | ||
21 | ********** VERSION 2.1.3 ************ | 22 | ********** VERSION 2.1.3 ************ |
22 | 23 | ||
23 | Changed the menu structure of the alarm applet: | 24 | Changed the menu structure of the alarm applet: |
24 | Moved "Simulate" to " Play Beeps" submenu and re-added "Todo List". | 25 | Moved "Simulate" to " Play Beeps" submenu and re-added "Todo List". |
25 | 26 | ||
26 | Fixed several problems in the KA/Pi CSV import dialog: | 27 | Fixed several problems in the KA/Pi CSV import dialog: |
27 | Added "Category", made codec configureable and made it possible to map many fields to the "Note" field. | 28 | Added "Category", made codec configureable and made it possible to map many fields to the "Note" field. |
28 | 29 | ||
29 | 30 | ||
30 | ********** VERSION 2.1.2 ************ | 31 | ********** VERSION 2.1.2 ************ |
31 | 32 | ||
32 | Fixed a problem closing the alarm dialog on Zaurus with "OK" button. | 33 | Fixed a problem closing the alarm dialog on Zaurus with "OK" button. |
33 | 34 | ||
34 | Fixed a problem when importing data from Outlook with mutiple categories set. | 35 | Fixed a problem when importing data from Outlook with mutiple categories set. |
35 | 36 | ||
36 | Changed display of days in datenavigator: | 37 | Changed display of days in datenavigator: |
37 | Birthdays are now blue, not dark green. | 38 | Birthdays are now blue, not dark green. |
38 | When todo view is shown, no birtdays are shown and days with due todos are shown blue. | 39 | When todo view is shown, no birtdays are shown and days with due todos are shown blue. |
39 | When journal view is shown, only holidays are shown and days with journals are blue. | 40 | When journal view is shown, only holidays are shown and days with journals are blue. |
40 | 41 | ||
41 | Added Backup options to global config: | 42 | Added Backup options to global config: |
42 | You can create now x-daily backups for KO/Pi, KA/Pi (for file resources only, file resource is the standard type) and PwM/Pi ( all files you will open ). | 43 | You can create now x-daily backups for KO/Pi, KA/Pi (for file resources only, file resource is the standard type) and PwM/Pi ( all files you will open ). |
43 | It is recommended to use another HDD/Memory card for the backup directory. If (very useful on the Zaurus) the specified backup directory does not exist you are asked if you want to try again to create a backup. That makes it possible to insert your memory card in the Zaurus and then trying again. | 44 | It is recommended to use another HDD/Memory card for the backup directory. If (very useful on the Zaurus) the specified backup directory does not exist you are asked if you want to try again to create a backup. That makes it possible to insert your memory card in the Zaurus and then trying again. |
44 | The backup is created when the application wants to save for the first time on a backup-day. You can specify the amount of backups and the day interval of backups. | 45 | The backup is created when the application wants to save for the first time on a backup-day. You can specify the amount of backups and the day interval of backups. |
45 | 46 | ||
46 | ********** VERSION 2.1.1 ************ | 47 | ********** VERSION 2.1.1 ************ |
47 | 48 | ||
48 | Stable release 2.1.1! | 49 | Stable release 2.1.1! |
49 | 50 | ||
50 | KO/Pi: | 51 | KO/Pi: |
51 | Fixed one problem in the layout of the edit dialogs on the Zaurus with 640x480 display. | 52 | Fixed one problem in the layout of the edit dialogs on the Zaurus with 640x480 display. |
52 | 53 | ||
53 | ********** VERSION 2.1.0 ************ | 54 | ********** VERSION 2.1.0 ************ |
54 | 55 | ||
55 | Stable release 2.1.0! | 56 | Stable release 2.1.0! |
56 | 57 | ||
57 | Summary of changes/fixes compared to version 2.0.6: | 58 | Summary of changes/fixes compared to version 2.0.6: |
58 | 59 | ||
59 | Many bugs of version 2.0.6 fixed. | 60 | Many bugs of version 2.0.6 fixed. |
60 | Most of them were small bugs, but some of them were important. | 61 | Most of them were small bugs, but some of them were important. |
61 | It is recommended to use version 2.1.0 and not version 2.0.6. | 62 | It is recommended to use version 2.1.0 and not version 2.0.6. |
diff --git a/kaddressbook/imagewidget.cpp b/kaddressbook/imagewidget.cpp index d0f52ea..eec5e08 100644 --- a/kaddressbook/imagewidget.cpp +++ b/kaddressbook/imagewidget.cpp | |||
@@ -236,77 +236,62 @@ KABC::Picture ImageWidget::logo() const | |||
236 | if ( px ) { | 236 | if ( px ) { |
237 | #ifndef KAB_EMBEDDED | 237 | #ifndef KAB_EMBEDDED |
238 | if ( px->height() > px->width() ) | 238 | if ( px->height() > px->width() ) |
239 | logo.setData( px->convertToImage().scaleHeight( 140 ) ); | 239 | logo.setData( px->convertToImage().scaleHeight( 140 ) ); |
240 | else | 240 | else |
241 | logo.setData( px->convertToImage().scaleWidth( 100 ) ); | 241 | logo.setData( px->convertToImage().scaleWidth( 100 ) ); |
242 | #else //KAB_EMBEDDED | 242 | #else //KAB_EMBEDDED |
243 | if (px->isNull() != true ) | 243 | if (px->isNull() != true ) |
244 | logo.setData( px->convertToImage() ); | 244 | logo.setData( px->convertToImage() ); |
245 | #endif //KAB_EMBEDDED | 245 | #endif //KAB_EMBEDDED |
246 | 246 | ||
247 | logo.setType( "PNG" ); | 247 | logo.setType( "PNG" ); |
248 | 248 | ||
249 | } | 249 | } |
250 | } | 250 | } |
251 | return logo; | 251 | return logo; |
252 | } | 252 | } |
253 | void ImageWidget::removePhoto() | 253 | void ImageWidget::removePhoto() |
254 | { | 254 | { |
255 | setPhoto(KABC::Picture() ); | 255 | setPhoto(KABC::Picture() ); |
256 | } | 256 | } |
257 | 257 | ||
258 | void ImageWidget::removeLogo() | 258 | void ImageWidget::removeLogo() |
259 | { | 259 | { |
260 | setLogo(KABC::Picture() ); | 260 | setLogo(KABC::Picture() ); |
261 | } | 261 | } |
262 | 262 | ||
263 | void ImageWidget::loadPhoto() | 263 | void ImageWidget::loadPhoto() |
264 | { | 264 | { |
265 | mPhotoLabel->setPixmap( loadPixmap( mPhotoUrl->url() ) ); | 265 | mPhotoLabel->setPixmap( loadPixmap( mPhotoUrl->url() ) ); |
266 | } | 266 | } |
267 | 267 | ||
268 | void ImageWidget::loadLogo() | 268 | void ImageWidget::loadLogo() |
269 | { | 269 | { |
270 | mLogoLabel->setPixmap( loadPixmap( mLogoUrl->url() ) ); | 270 | mLogoLabel->setPixmap( loadPixmap( mLogoUrl->url() ) ); |
271 | } | 271 | } |
272 | 272 | ||
273 | void ImageWidget::updateGUI() | 273 | void ImageWidget::updateGUI() |
274 | { | 274 | { |
275 | KURLRequester *ptr = (KURLRequester*)sender(); | 275 | KURLRequester *ptr = (KURLRequester*)sender(); |
276 | 276 | ||
277 | 277 | ||
278 | if ( ptr == mPhotoUrl ) | 278 | if ( ptr == mPhotoUrl ) |
279 | mUsePhotoUrl->setEnabled( true ); | 279 | mUsePhotoUrl->setEnabled( true ); |
280 | else if ( ptr == mLogoUrl ) | 280 | else if ( ptr == mLogoUrl ) |
281 | mUseLogoUrl->setEnabled( true ); | 281 | mUseLogoUrl->setEnabled( true ); |
282 | } | 282 | } |
283 | 283 | ||
284 | QPixmap ImageWidget::loadPixmap( const KURL &url ) | 284 | QPixmap ImageWidget::loadPixmap( const QString &url ) |
285 | { | 285 | { |
286 | QString tempFile; | 286 | |
287 | QPixmap pixmap; | 287 | QPixmap pixmap; |
288 | 288 | ||
289 | if ( url.isEmpty() ) | 289 | if ( url.isEmpty() ) |
290 | return pixmap; | 290 | return pixmap; |
291 | 291 | pixmap.load( url ); | |
292 | if ( url.isLocalFile() ) | ||
293 | pixmap = QPixmap( url.path() ); | ||
294 | else | ||
295 | { | ||
296 | #ifndef KAB_EMBEDDED | ||
297 | if ( KIO::NetAccess::download( url, tempFile ) ) { | ||
298 | pixmap = QPixmap( tempFile ); | ||
299 | KIO::NetAccess::removeTempFile( tempFile ); | ||
300 | } | ||
301 | #else //KAB_EMBEDDED | ||
302 | qDebug("ImageWidget::loadPixmap : only local pixmaps are allowed"); | ||
303 | #endif //KAB_EMBEDDED | ||
304 | |||
305 | } | ||
306 | |||
307 | return pixmap; | 292 | return pixmap; |
308 | } | 293 | } |
309 | 294 | ||
310 | #ifndef KAB_EMBEDDED | 295 | #ifndef KAB_EMBEDDED |
311 | #include "imagewidget.moc" | 296 | #include "imagewidget.moc" |
312 | #endif //KAB_EMBEDDED | 297 | #endif //KAB_EMBEDDED |
diff --git a/kaddressbook/imagewidget.h b/kaddressbook/imagewidget.h index afb9aa7..bbfba58 100644 --- a/kaddressbook/imagewidget.h +++ b/kaddressbook/imagewidget.h | |||
@@ -29,60 +29,60 @@ | |||
29 | #include <kabc/picture.h> | 29 | #include <kabc/picture.h> |
30 | #include <kdialogbase.h> | 30 | #include <kdialogbase.h> |
31 | 31 | ||
32 | class KURL; | 32 | class KURL; |
33 | class KURLRequester; | 33 | class KURLRequester; |
34 | 34 | ||
35 | class QCheckBox; | 35 | class QCheckBox; |
36 | class QLabel; | 36 | class QLabel; |
37 | 37 | ||
38 | class ImageWidget : public QWidget | 38 | class ImageWidget : public QWidget |
39 | { | 39 | { |
40 | Q_OBJECT | 40 | Q_OBJECT |
41 | 41 | ||
42 | public: | 42 | public: |
43 | ImageWidget( QWidget *parent, const char *name = 0 ); | 43 | ImageWidget( QWidget *parent, const char *name = 0 ); |
44 | ~ImageWidget(); | 44 | ~ImageWidget(); |
45 | 45 | ||
46 | /** | 46 | /** |
47 | Sets the photo object. | 47 | Sets the photo object. |
48 | */ | 48 | */ |
49 | void setPhoto( const KABC::Picture &photo ); | 49 | void setPhoto( const KABC::Picture &photo ); |
50 | 50 | ||
51 | /** | 51 | /** |
52 | Returns a photo object. | 52 | Returns a photo object. |
53 | */ | 53 | */ |
54 | KABC::Picture photo() const; | 54 | KABC::Picture photo() const; |
55 | 55 | ||
56 | /** | 56 | /** |
57 | Sets the logo object. | 57 | Sets the logo object. |
58 | */ | 58 | */ |
59 | void setLogo( const KABC::Picture &photo ); | 59 | void setLogo( const KABC::Picture &photo ); |
60 | 60 | ||
61 | /** | 61 | /** |
62 | Returns a logo object. | 62 | Returns a logo object. |
63 | */ | 63 | */ |
64 | KABC::Picture logo() const; | 64 | KABC::Picture logo() const; |
65 | 65 | ||
66 | signals: | 66 | signals: |
67 | void changed(); | 67 | void changed(); |
68 | 68 | ||
69 | private slots: | 69 | private slots: |
70 | void loadPhoto(); | 70 | void loadPhoto(); |
71 | void loadLogo(); | 71 | void loadLogo(); |
72 | void removePhoto(); | 72 | void removePhoto(); |
73 | void removeLogo(); | 73 | void removeLogo(); |
74 | void updateGUI(); | 74 | void updateGUI(); |
75 | 75 | ||
76 | private: | 76 | private: |
77 | QPixmap loadPixmap( const KURL &url ); | 77 | QPixmap loadPixmap( const QString &url ); |
78 | 78 | ||
79 | KURLRequester *mPhotoUrl; | 79 | KURLRequester *mPhotoUrl; |
80 | KURLRequester *mLogoUrl; | 80 | KURLRequester *mLogoUrl; |
81 | 81 | ||
82 | QCheckBox *mUsePhotoUrl; | 82 | QCheckBox *mUsePhotoUrl; |
83 | QCheckBox *mUseLogoUrl; | 83 | QCheckBox *mUseLogoUrl; |
84 | QLabel *mPhotoLabel; | 84 | QLabel *mPhotoLabel; |
85 | QLabel *mLogoLabel; | 85 | QLabel *mLogoLabel; |
86 | }; | 86 | }; |
87 | 87 | ||
88 | #endif | 88 | #endif |