From 8231cc23f3e8b266a6b0e229865905233e867cbf Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Mon, 7 Jul 2014 19:51:30 -0500 Subject: [PATCH] Fix korgac abort on startup due to oversized tray icon creation when icon widget has not yet been shown Properly print caldav/carddav wallet warnings to prevent backtrace spew --- knotes/knotesapp.cpp | 16 ++++++++++++++-- knotes/knotesapp.h | 2 ++ korganizer/korgac/alarmdockwindow.cpp | 16 +++++++++++++--- korganizer/korgac/alarmdockwindow.h | 4 ++++ tderesources/caldav/preferences.cpp | 16 ++++++++-------- tderesources/carddav/preferences.cpp | 16 ++++++++-------- 6 files changed, 49 insertions(+), 21 deletions(-) diff --git a/knotes/knotesapp.cpp b/knotes/knotesapp.cpp index 26aee48c..14fd625b 100644 --- a/knotes/knotesapp.cpp +++ b/knotes/knotesapp.cpp @@ -105,7 +105,7 @@ KNotesApp::KNotesApp() KWin::setSystemTrayWindowFor( winId(), tqt_xrootwin() ); TQToolTip::add( this, i18n( "KNotes: Sticky notes for TDE" ) ); setBackgroundMode( X11ParentRelative ); - setPixmap( KSystemTray::loadSizedIcon( "knotes", TQWidget::width() ) ); + setPixmap( KSystemTray::loadIcon( "knotes" ) ); // set the initial style KNote::setStyle( KNotesGlobalConfig::style() ); @@ -210,7 +210,7 @@ KNotesApp::KNotesApp() updateNoteActions(); } -void KNotesApp::resizeEvent ( TQResizeEvent * ) +void KNotesApp::resizeTrayIcon () { // Honor Free Desktop specifications that allow for arbitrary system tray icon sizes TQPixmap origpixmap; @@ -223,6 +223,18 @@ void KNotesApp::resizeEvent ( TQResizeEvent * ) setPixmap(scaledpixmap); } +void KNotesApp::resizeEvent ( TQResizeEvent * ) +{ + // Honor Free Desktop specifications that allow for arbitrary system tray icon sizes + resizeTrayIcon(); +} + +void KNotesApp::showEvent ( TQShowEvent * ) +{ + // Honor Free Desktop specifications that allow for arbitrary system tray icon sizes + resizeTrayIcon(); +} + KNotesApp::~KNotesApp() { saveNotes(); diff --git a/knotes/knotesapp.h b/knotes/knotesapp.h index 2c2656f3..0888e20b 100644 --- a/knotes/knotesapp.h +++ b/knotes/knotesapp.h @@ -104,6 +104,7 @@ public slots: protected: void mousePressEvent( TQMouseEvent* ); void resizeEvent ( TQResizeEvent * ); + void showEvent ( TQShowEvent * ); protected slots: void slotShowNote(); @@ -122,6 +123,7 @@ protected slots: private: void showNote( KNote *note ) const; void saveConfigs(); + void resizeTrayIcon(); private slots: void acceptConnection(); diff --git a/korganizer/korgac/alarmdockwindow.cpp b/korganizer/korgac/alarmdockwindow.cpp index f8f15add..1f5d5b33 100644 --- a/korganizer/korgac/alarmdockwindow.cpp +++ b/korganizer/korgac/alarmdockwindow.cpp @@ -58,8 +58,8 @@ AlarmDockWindow::AlarmDockWindow( const char *name ) // Set up icons TDEGlobal::iconLoader()->addAppDir( "korgac" ); - mPixmapEnabled = loadSizedIcon( "korgac", width() ); - mPixmapDisabled = loadSizedIcon( "korgac_disabled", width() ); + mPixmapEnabled = loadIcon( "korgac" ); + mPixmapDisabled = loadIcon( "korgac_disabled" ); setPixmap( alarmsEnabled ? mPixmapEnabled : mPixmapDisabled ); @@ -104,7 +104,7 @@ AlarmDockWindow::~AlarmDockWindow() { } -void AlarmDockWindow::resizeEvent ( TQResizeEvent * ) +void AlarmDockWindow::resizeTrayIcon () { // Honor Free Desktop specifications that allow for arbitrary system tray icon sizes mPixmapEnabled = loadSizedIcon( "korgac", width() ); @@ -115,6 +115,16 @@ void AlarmDockWindow::resizeEvent ( TQResizeEvent * ) setPixmap( alarmsEnabled ? mPixmapEnabled : mPixmapDisabled ); } +void AlarmDockWindow::resizeEvent ( TQResizeEvent * ) +{ + resizeTrayIcon(); +} + +void AlarmDockWindow::showEvent ( TQShowEvent * ) +{ + resizeTrayIcon(); +} + void AlarmDockWindow::slotUpdate( int reminders ) { TQToolTip::remove( this ); diff --git a/korganizer/korgac/alarmdockwindow.h b/korganizer/korgac/alarmdockwindow.h index 6f317fda..6f6cd7bd 100644 --- a/korganizer/korgac/alarmdockwindow.h +++ b/korganizer/korgac/alarmdockwindow.h @@ -52,12 +52,16 @@ class AlarmDockWindow : public KSystemTray void mousePressEvent( TQMouseEvent * ); // void closeEvent( TQCloseEvent * ); void resizeEvent ( TQResizeEvent * ); + void showEvent ( TQShowEvent * ); protected slots: void slotQuit(); void slotSuspendAll(); void slotDismissAll(); + private: + void resizeTrayIcon(); + private: TQPixmap mPixmapEnabled; TQPixmap mPixmapDisabled; diff --git a/tderesources/caldav/preferences.cpp b/tderesources/caldav/preferences.cpp index a4be7cc1..a9ba6878 100644 --- a/tderesources/caldav/preferences.cpp +++ b/tderesources/caldav/preferences.cpp @@ -47,12 +47,12 @@ bool CalDavPrefs::setWalletFolder(const TQString& folder) { if (!mWallet->hasFolder(folder)) { if (!mWallet->createFolder(folder)) { ret = false; - kdWarning() << "can't create the wallet folder for CalDAV passwords"; + kdWarning() << "can't create the wallet folder for CalDAV passwords\n"; } } if (!mWallet->setFolder(folder)) { ret = false; - kdWarning() << "can't set the wallet folder for CalDAV passwords"; + kdWarning() << "can't set the wallet folder for CalDAV passwords\n"; } } else { // the wallet is inaccessible or not configured @@ -69,18 +69,18 @@ Wallet* CalDavPrefs::getWallet() { // the wallet is not marked as inaccessible if (NULL == mWallet) { - kdDebug() << "creating wallet for " + mPrefix << '\n'; + kdDebug() << "creating wallet for " << mPrefix << '\n'; mWallet = Wallet::openWallet(Wallet::NetworkWallet(), 0); if (NULL == mWallet) { mNoWallet = true; // can't open the wallet, mark it inaccessible - kdWarning() << "can't create a wallet for CalDAV passwords"; + kdWarning() << "can't create a wallet for CalDAV passwords\n"; } else { if (setWalletFolder(WALLET_FOLDER)) { // reserved } else { // can't set the wallet folder, remove the wallet and mark it inaccessible - kdWarning() << "can't set the walet folder for CalDAV passwords"; + kdWarning() << "can't set the walet folder for CalDAV passwords\n"; removeWallet(true); } } @@ -115,7 +115,7 @@ bool CalDavPrefs::writePasswordToWallet(const TQString& password) { if (NULL != w) { int rc = w->writePassword(mPrefix + WALLET_PWD_SUFFIX, password); if (0 != rc) { - kdWarning() << "CalDAV: can't write password to the wallet"; + kdWarning() << "CalDAV: can't write password to the wallet\n"; } else { ret = true; } @@ -136,7 +136,7 @@ bool CalDavPrefs::readPasswordFromWallet(TQString& password) { password = p; ret = true; } else { - kdWarning() << "CalDAV: can't read password from the wallet"; + kdWarning() << "CalDAV: can't read password from the wallet\n"; password = NO_PASSWORD; } } @@ -154,7 +154,7 @@ bool CalDavPrefs::removePasswordFromWallet() { if (0 == rc) { ret = true; } else { - kdWarning() << "CalDAV: can't remove password from the wallet"; + kdWarning() << "CalDAV: can't remove password from the wallet\n"; } } diff --git a/tderesources/carddav/preferences.cpp b/tderesources/carddav/preferences.cpp index a3793174..3be1f21a 100644 --- a/tderesources/carddav/preferences.cpp +++ b/tderesources/carddav/preferences.cpp @@ -46,12 +46,12 @@ bool CardDavPrefs::setWalletFolder(const TQString& folder) { if (!mWallet->hasFolder(folder)) { if (!mWallet->createFolder(folder)) { ret = false; - kdWarning() << "can't create the wallet folder for CardDAV passwords"; + kdWarning() << "can't create the wallet folder for CardDAV passwords\n"; } } if (!mWallet->setFolder(folder)) { ret = false; - kdWarning() << "can't set the wallet folder for CardDAV passwords"; + kdWarning() << "can't set the wallet folder for CardDAV passwords\n"; } } else { // the wallet is inaccessible or not configured @@ -68,18 +68,18 @@ Wallet* CardDavPrefs::getWallet() { // the wallet is not marked as inaccessible if (NULL == mWallet) { - kdDebug() << "creating wallet for " + mPrefix << '\n'; + kdDebug() << "creating wallet for " << mPrefix << '\n'; mWallet = Wallet::openWallet(Wallet::NetworkWallet(), 0); if (NULL == mWallet) { mNoWallet = true; // can't open the wallet, mark it inaccessible - kdWarning() << "can't create a wallet for CardDAV passwords"; + kdWarning() << "can't create a wallet for CardDAV passwords\n"; } else { if (setWalletFolder(WALLET_FOLDER)) { // reserved } else { // can't set the wallet folder, remove the wallet and mark it inaccessible - kdWarning() << "can't set the walet folder for CardDAV passwords"; + kdWarning() << "can't set the walet folder for CardDAV passwords\n"; removeWallet(true); } } @@ -114,7 +114,7 @@ bool CardDavPrefs::writePasswordToWallet(const TQString& password) { if (NULL != w) { int rc = w->writePassword(mPrefix + WALLET_PWD_SUFFIX, password); if (0 != rc) { - kdWarning() << "CardDAV: can't write password to the wallet"; + kdWarning() << "CardDAV: can't write password to the wallet\n"; } else { ret = true; } @@ -135,7 +135,7 @@ bool CardDavPrefs::readPasswordFromWallet(TQString& password) { password = p; ret = true; } else { - kdWarning() << "CardDAV: can't read password from the wallet"; + kdWarning() << "CardDAV: can't read password from the wallet\n"; password = NO_PASSWORD; } } @@ -153,7 +153,7 @@ bool CardDavPrefs::removePasswordFromWallet() { if (0 == rc) { ret = true; } else { - kdWarning() << "CardDAV: can't remove password from the wallet"; + kdWarning() << "CardDAV: can't remove password from the wallet\n"; } }