Author: tgoettlicher
Date: Tue Jul 10 17:39:56 2007
New Revision: 5954
URL: http://svn.opensuse.org/viewcvs/zypp?rev=5954&view=rev
Log:
ProgressPopup is working now
Modified:
trunk/updater-kde/updater/Constants.h
trunk/updater-kde/updater/MainWindow.cpp
trunk/updater-kde/updater/MainWindow.h
trunk/updater-kde/updater/TrayIcon.cpp
trunk/updater-kde/updater/TrayIcon.h
trunk/updater-kde/updater/Updater.h
trunk/updater-kde/updater/UpdaterApplication.cpp
trunk/updater-kde/updater/progresspopup.cpp
trunk/updater-kde/updater/progresspopup.h
trunk/updater-kde/updater/zypp/ZYppUpdater.cpp
Modified: trunk/updater-kde/updater/Constants.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/Constants.h?rev=5954&r1=5953&r2=5954&view=diff
==============================================================================
--- trunk/updater-kde/updater/Constants.h (original)
+++ trunk/updater-kde/updater/Constants.h Tue Jul 10 17:39:56 2007
@@ -29,6 +29,7 @@
#define TRAY_ICON_YELLOW "opensuseupdater_yellow"
#define TRAY_ICON_PROBLEM "messagebox_warning"
#define TRAY_ICON_CHECKING "opensuseupdater_busy"
+#define TRAY_ICON_INSTALLING "opensuseupdater_busy"
#endif
Modified: trunk/updater-kde/updater/MainWindow.cpp
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/MainWindow.cpp?rev=5954&r1=5953&r2=5954&view=diff
==============================================================================
--- trunk/updater-kde/updater/MainWindow.cpp (original)
+++ trunk/updater-kde/updater/MainWindow.cpp Tue Jul 10 17:39:56 2007
@@ -94,6 +94,7 @@
popup = new OSUpdaterPopup(applet,this);
progressPopup = new ProgressPopup(applet);
+
hide();
}
@@ -315,6 +316,34 @@
popup->setUpdates(patches, packages);
}
+void MainWindow::slotSetProgress(int step, int totalSteps, QString text)
+{
+ progressPopup->setTotalSteps(totalSteps);
+ progressPopup->setProgress(step);
+ progressPopup->setText(text);
+
+// int progress = (int) ( (float) step / (float) totalSteps * 100.0 ) ;
+//
+// QToolTip::add(this, i18n("Updating...\n%1% done").arg(progress) );
+
+// applet->setProgress(step, totalSteps, text);
+}
+
+void MainWindow::slotSetProgressNextStep(QString text)
+{
+ progressPopup->nextStep();
+ progressPopup->setText(text);
+}
+
+
+void MainWindow::showProgress(bool visible = true)
+{
+ if (visible)
+ progressPopup->show();
+ else
+ progressPopup->hide();
+}
+
void MainWindow::updateTabs()
{
if (_caps.canProvidePackages && UpdaterSettings::self()->showPackages())
Modified: trunk/updater-kde/updater/MainWindow.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/MainWindow.h?rev=5954&r1=5953&r2=5954&view=diff
==============================================================================
--- trunk/updater-kde/updater/MainWindow.h (original)
+++ trunk/updater-kde/updater/MainWindow.h Tue Jul 10 17:39:56 2007
@@ -164,6 +164,14 @@
*/
void slotAppletState(int state, int patches, int packages);
+ //TODO
+
+ void slotSetProgress(int state, int patches, QString text);
+ void slotSetProgressNextStep(QString text);
+ void showProgress(bool visible);
+
+
+
/**
Updates the applet to error state.
@param desc Description or error messages
Modified: trunk/updater-kde/updater/TrayIcon.cpp
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/TrayIcon.cpp?rev=5954&r1=5953&r2=5954&view=diff
==============================================================================
--- trunk/updater-kde/updater/TrayIcon.cpp (original)
+++ trunk/updater-kde/updater/TrayIcon.cpp Tue Jul 10 17:39:56 2007
@@ -37,6 +37,7 @@
setPixmap(loadIcon(TRAY_ICON_GREEN));
setScaledContents(true);
setState(APPLET_NO_UPDATES);
+
kdDebug() << "Tray Icon ready" << endl;
}
@@ -50,7 +51,6 @@
switch (state)
{
case APPLET_CHECKING:
-// setPixmap(loadIcon(TRAY_ICON_CHECKING));
setMovie(QMovie( KGlobal::iconLoader()->moviePath(TRAY_ICON_CHECKING, KIcon::Panel) ));
QToolTip::add(this, i18n("Checking for updates..."));
break;
@@ -97,6 +97,11 @@
break;
+ case APPLET_INSTALLING:
+ setMovie(QMovie( KGlobal::iconLoader()->moviePath(TRAY_ICON_INSTALLING, KIcon::Panel) ));
+ QToolTip::add(this, i18n("Updating..."));
+ break;
+
}
}
Modified: trunk/updater-kde/updater/TrayIcon.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/TrayIcon.h?rev=5954&r1=5953&r2=5954&view=diff
==============================================================================
--- trunk/updater-kde/updater/TrayIcon.h (original)
+++ trunk/updater-kde/updater/TrayIcon.h Tue Jul 10 17:39:56 2007
@@ -21,6 +21,7 @@
#define _TRAY_ICON_H_
#include
+#include "progresspopup.h"
/**
@file
@@ -52,6 +53,9 @@
int patchCount;
int packageCount;
int appletState;
+
+ ProgressPopup *progressPopup;
+
};
#endif
Modified: trunk/updater-kde/updater/Updater.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/Updater.h?rev=5954&r1=5953&r2=5954&view=diff
==============================================================================
--- trunk/updater-kde/updater/Updater.h (original)
+++ trunk/updater-kde/updater/Updater.h Tue Jul 10 17:39:56 2007
@@ -52,7 +52,8 @@
APPLET_UPDATES, /** Updates available **/
APPLET_CRITICAL_UPDATES, /** Updates available (security) **/
APPLET_CHECKING, /** Checking for updates **/
- APPLET_PROBLEM /** problem **/
+ APPLET_PROBLEM, /** problem **/
+ APPLET_INSTALLING /** installing patches or packages **/
};
/**
@@ -94,6 +95,11 @@
**/
void updateAppletError( const QString &desc );
+ // TODO
+ void setProgress(int step, int totalSteps, QString labelText);
+ void setProgressNextStep(QString labelText);
+ void showProgress(bool visible);
+
/**
Send this signal to force an update list refresh.
You should do this after an installation or after
Modified: trunk/updater-kde/updater/UpdaterApplication.cpp
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/UpdaterApplication.cpp?rev=5954&r1=5953&r2=5954&view=diff
==============================================================================
--- trunk/updater-kde/updater/UpdaterApplication.cpp (original)
+++ trunk/updater-kde/updater/UpdaterApplication.cpp Tue Jul 10 17:39:56 2007
@@ -159,6 +159,11 @@
//Signal that controls applet state
connect(updater, SIGNAL(updateApplet(int, int, int)), _main, SLOT(slotAppletState(int, int, int)));
+ connect(updater, SIGNAL(setProgress(int, int, QString)), _main, SLOT(slotSetProgress(int, int, QString)));
+ connect(updater, SIGNAL(setProgressNextStep(QString)), _main, SLOT(slotSetProgressNextStep(QString)));
+ connect(updater, SIGNAL(showProgress(bool)), _main, SLOT(showProgress(bool)));
+
+
connect(updater, SIGNAL(updateAppletError(const QString &)), _main, SLOT(slotAppletError(const QString &)));
//Signal which allows updater "plugins" to force an update refresh
Modified: trunk/updater-kde/updater/progresspopup.cpp
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/progresspopup.cpp?rev=5954&r1=5953&r2=5954&view=diff
==============================================================================
--- trunk/updater-kde/updater/progresspopup.cpp (original)
+++ trunk/updater-kde/updater/progresspopup.cpp Tue Jul 10 17:39:56 2007
@@ -1,12 +1,57 @@
#include "progresspopup.h"
#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "Constants.h"
+
ProgressPopup::ProgressPopup(QWidget * parent) : KPassivePopup(parent)
{
setTimeout(0);
- setView("Caption", "Text");
- show();
- kdDebug() << "ProgressPopup called" << endl;
+
+ QWidget *widget = new QWidget(this);
+ QGridLayout *layout = new QGridLayout(widget);
+ QLabel *captionLabel = new QLabel(widget);
+ packageLabel = new QLabel(widget);
+ bar = new QProgressBar(widget);
+ bar->setProgress(0,100);
+ QLabel *logo = new QLabel(widget);
+ QPixmap *pic = new QPixmap(UserIcon("opensuseupdater.png"));
+ logo->setPixmap(*pic);
+ captionLabel->setText(i18n("<b>Updating ...<b>"));
+ packageLabel->setText("");
+
+ layout->addWidget(captionLabel,0,2);
+ layout->addWidget(packageLabel,1,2);
+ layout->addWidget(bar,2,2);
+ layout->addMultiCellWidget(logo,-1,2,0,0);
+
+ this->setView(widget);
+}
+
+void ProgressPopup::setProgress(int progress)
+{
+ bar->setProgress(progress);
+
+}
+
+void ProgressPopup::setText(QString text)
+{
+ packageLabel->setText(text);
+}
+
+void ProgressPopup::setTotalSteps(int steps)
+{
+ bar->setTotalSteps(steps);
+}
+
+void ProgressPopup::nextStep()
+{
+ bar->setProgress(bar->progress() + 1);
}
Modified: trunk/updater-kde/updater/progresspopup.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/progresspopup.h?rev=5954&r1=5953&r2=5954&view=diff
==============================================================================
--- trunk/updater-kde/updater/progresspopup.h (original)
+++ trunk/updater-kde/updater/progresspopup.h Tue Jul 10 17:39:56 2007
@@ -1,4 +1,5 @@
#include
+#include
#ifndef PROGRESSPOPUP_H
#define PROGRESSPOPUP_H
@@ -8,6 +9,16 @@
Q_OBJECT
public:
ProgressPopup(QWidget *parent);
+
+ public slots:
+ void setProgress(int step);
+ void nextStep();
+ void setTotalSteps(int steps);
+ void setText(QString text);
+
+ private:
+ QProgressBar *bar;
+ QLabel *packageLabel;
};
#endif
Modified: trunk/updater-kde/updater/zypp/ZYppUpdater.cpp
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/updater-kde/updater/zypp/ZYppUpdater.cpp?rev=5954&r1=5953&r2=5954&view=diff
==============================================================================
--- trunk/updater-kde/updater/zypp/ZYppUpdater.cpp (original)
+++ trunk/updater-kde/updater/zypp/ZYppUpdater.cpp Tue Jul 10 17:39:56 2007
@@ -77,6 +77,7 @@
kdDebug() << "install process exited." << endl;
delete p;
_install_process = 0L;
+ emit(showProgress(false));
doCheckForUpdates();
}
@@ -179,6 +180,7 @@
{
kdDebug() << "got text from install helper..." << endl;
kdDebug() << buffer << endl;
+ emit(setProgressNextStep(buffer));
}
@@ -224,7 +226,6 @@
{
kdDebug() << "error launching zypp-checkpatches-wrapper..." << endl;
emit(updateAppletError(i18n("Can't launch zypp-checkpatches-wrapper helper program. Make sure zypper package is installed and working.")));
-// _list_view = 0L;
delete _process;
_process = 0L;
emit(populateDone());
@@ -296,13 +297,6 @@
item = (QCheckListItem*)item->nextSibling();
}
-
-/*
- progressDialog = new QProgressDialog("LabelText", "cancel", totalUpdateCount, 0 , 0 , false, 0 );
- progressDialog->setMinimumDuration(0);
- progressDialog->setProgress(1);
-*/
-
if ( _install_process ) {
// TODO update still running
kdDebug() << "Update process still running. Will not run this time." << endl;
@@ -311,7 +305,6 @@
_install_process = new KProcess;
- // *_install_process << "/tmp/zypp-install " + installList;
*_install_process << "/tmp/zypp-install" << installList;
QObject::connect( _install_process, SIGNAL( processExited( KProcess * ) ),
@@ -334,7 +327,10 @@
}
kdDebug() << "install process started.." << endl;
- emit(updateApplet(APPLET_CHECKING, 0, 0)); // TODO
+ emit(updateApplet(APPLET_INSTALLING, 0, 0));
+ emit(setProgress(0, totalUpdateCount, ""));
+ emit(showProgress(true));
+
}
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org