Author: tgoettlicher Date: Mon Jan 14 16:09:11 2008 New Revision: 8273 URL: http://svn.opensuse.org/viewcvs/zypp?rev=8273&view=rev Log: timing patch + fix cash when selecting upgrade while refreshing (#353515) Modified: trunk/updater-kde/VERSION.cmake trunk/updater-kde/package/opensuse-updater-kde.changes trunk/updater-kde/updater/ConfigWidgetUI.ui trunk/updater-kde/updater/MainWindow.cpp trunk/updater-kde/updater/TrayIcon.cpp trunk/updater-kde/updater/TrayIcon.h trunk/updater-kde/updater/UpdaterApplication.cpp trunk/updater-kde/updater/opensuseupdater_settings.kcfg trunk/updater-kde/updater/zypp/ZYppUpdater.cpp Modified: trunk/updater-kde/VERSION.cmake URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/VERSION.cmake?rev=8273&r1=8272&r2=8273&view=diff ============================================================================== --- trunk/updater-kde/VERSION.cmake (original) +++ trunk/updater-kde/VERSION.cmake Mon Jan 14 16:09:11 2008 @@ -1,3 +1,3 @@ SET(VERSION_MAJOR "0") SET(VERSION_MINOR "6") -SET(VERSION_PATCH "1") +SET(VERSION_PATCH "4") Modified: trunk/updater-kde/package/opensuse-updater-kde.changes URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/package/opensuse-updater-kde.changes?rev=8273&r1=8272&r2=8273&view=diff ============================================================================== --- trunk/updater-kde/package/opensuse-updater-kde.changes (original) +++ trunk/updater-kde/package/opensuse-updater-kde.changes Mon Jan 14 16:09:11 2008 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Mon Jan 14 16:06:37 CET 2008 - tgoettlicher@suse.de + +- fixed crash when selecting upgrade while refreshing (#353515) +- V 0.6.4 + +------------------------------------------------------------------- Wed Jan 2 15:55:10 CET 2008 - tgoettlicher@suse.de - applied timing patch Modified: trunk/updater-kde/updater/ConfigWidgetUI.ui URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/ConfigWidgetUI.ui?rev=8273&r1=8272&r2=8273&view=diff ============================================================================== --- trunk/updater-kde/updater/ConfigWidgetUI.ui (original) +++ trunk/updater-kde/updater/ConfigWidgetUI.ui Mon Jan 14 16:09:11 2008 @@ -35,6 +35,9 @@ <property name="minValue"> <number>1</number> </property> + <property name="maxValue"> + <number>1000</number> + </property> </widget> </hbox> Modified: trunk/updater-kde/updater/MainWindow.cpp URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/MainWindow.cpp?rev=8273&r1=8272&r2=8273&view=diff ============================================================================== --- trunk/updater-kde/updater/MainWindow.cpp (original) +++ trunk/updater-kde/updater/MainWindow.cpp Mon Jan 14 16:09:11 2008 @@ -65,7 +65,24 @@ else applet = new TrayIcon(simple); + int st = UpdaterSettings::self()->state(); + applet->setState(st); + _simple->setState(st); applet->show(); + + if (st == APPLET_UPDATES || st == APPLET_CRITICAL_UPDATES || st == APPLET_PKGMGR_UPDATES || + st == APPLET_ONLY_OPTIONAL_UPDATES) { + // we know there are updates; no need to check again until + // the user clicks on the tray icon or the next timeout + connect(applet, SIGNAL(checkAgain()), this, SLOT(checkUpdatesWithoutProgress())); + } + else if (st != APPLET_NO_UPDATES) { + // weird state, better check immediately + applet->setState(APPLET_PROBLEM); + _simple->setState(APPLET_PROBLEM); + QTimer::singleShot( 300, this , SLOT(checkUpdatesWithoutProgress() )); + } + connect(applet, SIGNAL(quitSelected()), this, SLOT(slotExit())); connect(applet, SIGNAL(showSimpleView()), this, SLOT(showSimpleView())); connect(applet, SIGNAL(showDetailView()), this, SLOT(showMainWindow())); @@ -376,13 +393,7 @@ if ( patchCountRecommended(false) + patchCountSecurity(false) == 0) { - applet->setState(APPLET_ONLY_OPTIONAL_UPDATES); - _simple->setState(APPLET_ONLY_OPTIONAL_UPDATES); - } - else - { - applet->setState(state); - _simple->setState(state); + state = APPLET_ONLY_OPTIONAL_UPDATES; } } else @@ -392,30 +403,19 @@ if ( patchCountRecommended(false) + patchCountSecurity(false) == 0 && patches > 0) { - applet->setState(APPLET_ONLY_OPTIONAL_UPDATES); - _simple->setState(APPLET_ONLY_OPTIONAL_UPDATES); + state = APPLET_ONLY_OPTIONAL_UPDATES; } else if (patches > 0) { - applet->setState(state); - _simple->setState(state); } else { - applet->setState(APPLET_NO_UPDATES); - _simple->setState(APPLET_NO_UPDATES); - - // set last check time - UpdaterSettings::self()->setLastCheckTime(QDateTime::currentDateTime() ); - UpdaterSettings::self()->writeConfig(); + state = APPLET_NO_UPDATES; } } } - else - { _simple->setState(state); applet->setState(state); - } _check_updates_action->setEnabled(true); _edit_sources_action->setEnabled(true); @@ -425,7 +425,10 @@ else _check_updates_action->setEnabled(true); - + UpdaterSettings::self()->setState(state); + // set last check time + UpdaterSettings::self()->setLastCheckTime(QDateTime::currentDateTime() ); + UpdaterSettings::self()->writeConfig(); @@ -772,7 +775,8 @@ void MainWindow::checkUpdates(bool displayProgress) { - + // recheck has to be done at most once + disconnect(applet, SIGNAL(checkAgain()), 0, 0); slotAppletState(APPLET_CHECKING, 0, 0); Modified: trunk/updater-kde/updater/TrayIcon.cpp URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/TrayIcon.cpp?rev=8273&r1=8272&r2=8273&view=diff ============================================================================== --- trunk/updater-kde/updater/TrayIcon.cpp (original) +++ trunk/updater-kde/updater/TrayIcon.cpp Mon Jan 14 16:09:11 2008 @@ -163,5 +163,10 @@ emit (showSimpleView()); } +void TrayIcon::mousePressEvent(QMouseEvent* e) +{ + if(e->button() == Qt::LeftButton) emit(checkAgain()); + KSystemTray::mousePressEvent(e); +} #include "TrayIcon.moc" Modified: trunk/updater-kde/updater/TrayIcon.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/TrayIcon.h?rev=8273&r1=8272&r2=8273&view=diff ============================================================================== --- trunk/updater-kde/updater/TrayIcon.h (original) +++ trunk/updater-kde/updater/TrayIcon.h Mon Jan 14 16:09:11 2008 @@ -47,7 +47,10 @@ void setState(int state, const QString &description = QString() ); void setUpdates(int pat, int pac=0); - + + protected: + void mousePressEvent(QMouseEvent*); + private slots: void popupClicked(); void showPopup(); @@ -64,6 +67,7 @@ signals: void showSimpleView(); void showDetailView(); + void checkAgain(); }; #endif Modified: trunk/updater-kde/updater/UpdaterApplication.cpp URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/UpdaterApplication.cpp?rev=8273&r1=8272&r2=8273&view=diff ============================================================================== --- trunk/updater-kde/updater/UpdaterApplication.cpp (original) +++ trunk/updater-kde/updater/UpdaterApplication.cpp Mon Jan 14 16:09:11 2008 @@ -103,9 +103,11 @@ kdDebug() << "sec diff : " << lastCheckTime.secsTo(now) << endl; kdDebug() << "nextCheck: " << nextCheck << endl; +#if 0 // what is that good for at this point? // clear last check time UpdaterSettings::self()->setLastCheckTime(QDateTime()); UpdaterSettings::self()->writeConfig(); +#endif QTimer::singleShot( nextCheck * 1000, _main , SLOT(checkUpdatesWithoutProgress() )); } Modified: trunk/updater-kde/updater/opensuseupdater_settings.kcfg URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/opensuseupdater_settings.kcfg?rev=8273&r1=8272&r2=8273&view=diff ============================================================================== --- trunk/updater-kde/updater/opensuseupdater_settings.kcfg (original) +++ trunk/updater-kde/updater/opensuseupdater_settings.kcfg Mon Jan 14 16:09:11 2008 @@ -37,5 +37,8 @@ <entry name="LastCheckTime" type="DateTime"> <label>Last check for updates.</label> </entry> + <entry name="State" type="Int"> + <label>Last applet state.</label> + </entry> </group> </kcfg> Modified: trunk/updater-kde/updater/zypp/ZYppUpdater.cpp URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/zypp/ZYppUpdater.cpp?rev=8273&r1=8272&r2=8273&view=diff ============================================================================== --- trunk/updater-kde/updater/zypp/ZYppUpdater.cpp (original) +++ trunk/updater-kde/updater/zypp/ZYppUpdater.cpp Mon Jan 14 16:09:11 2008 @@ -312,7 +312,12 @@ emit(updateApplet(APPLET_CHECKING, 0, 0)); return; } - + + if (_patchList) + _patchList->clear(); + if (_packageList) + _packageList->clear(); + resetXmlStream(); _error=false; _noUpdateRepositories=false; -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org