[Uludag-commits] r10079 - trunk/tasma/package-manager/src
svn-uludag at uludag.org.tr
svn-uludag at uludag.org.tr
1 Kas 2006 Çar 23:26:27 EET
Author: faik
Date: Wed Nov 1 23:26:27 2006
New Revision: 10079
Modified:
trunk/tasma/package-manager/src/Progress.py
trunk/tasma/package-manager/src/ProgressDialog.ui
trunk/tasma/package-manager/src/package-manager.py
Log:
* Extra usefull infos.
* But the dialog should shrink itself when some infos are hidden. Will be fixed.
Modified: trunk/tasma/package-manager/src/Progress.py
=================================================================
--- trunk/tasma/package-manager/src/Progress.py (original)
+++ trunk/tasma/package-manager/src/Progress.py Wed Nov 1 23:26:27 2006
@@ -13,7 +13,6 @@
self.forcedClose = False
self.connect(self.cancelButton,SIGNAL("clicked()"),self.cancelThread)
self.cancelButton.setEnabled(False)
- self.hideStatus()
self.hideOperationDescription()
self.packageNo = 1
@@ -32,17 +31,31 @@
def setOperationDescription(self, text):
self.operationDescription.setText(text)
- def setStatus(self, text):
- self.statusInfo.setText(text)
+ def setStatus(self, rate=None, symbol=None):
+ if rate and symbol:
+ self.rateInfo.setText(i18n("Speed: %1 %2 ").arg(round(int(rate), 1)).arg(symbol))
+
+ completed, total = self.getCurrentDownloadedSize()
+ self.completedInfo.setText(completed)
+ self.totalInfo.setText(i18n("downloaded ( total: %1 )").arg(total))
+ self.updatePackageInfo()
def showStatus(self):
- self.statusInfo.show()
+ self.packageInfo.show()
+ self.rateInfo.show()
+ self.completedInfo.show()
+ self.totalInfo.show()
def showOperationDescription(self):
self.operationDescription.show()
- def hideStatus(self):
- self.setStatus("")
+ def hideStatus(self, hidepackage=False):
+ if hidepackage:
+ self.packageInfo.hide()
+
+ self.rateInfo.hide()
+ self.completedInfo.hide()
+ self.totalInfo.hide()
def hideOperationDescription(self):
self.setOperationDescription("")
@@ -52,8 +65,12 @@
def reset(self):
self.setCurrentOperation(i18n("<b>Preparing PiSi...</b>"))
- self.hideStatus()
+ self.completedInfo.setText(i18n("--"))
+ self.totalInfo.setText(i18n("downloaded (total: -- )"))
+ self.packageInfo.setText(i18n("-- / -- package"))
+ self.rateInfo.setText(i18n("Speed: -- KB/s"))
self.hideOperationDescription()
+ self.hideStatus()
self.packageNo = 1
self.totalPackages = 1
self.totalDownloaded = 0
@@ -88,27 +105,22 @@
def updateOperationDescription(self, operation, package=None):
if not package:
package = self.packageName
-
+
self.setOperationDescription(i18n('Now %1 <b>%2</b> package').arg(operation).arg(package))
def updateDownloadingInfo(self, operation, file, percent, rate, symbol):
self.packageName = pisi.util.parse_package_name(file)[0]
self.setOperationDescription(i18n('Now %1 <b>%2</b> package').arg(operation).arg(self.packageName))
- self.setStatus(i18n('Fetching package (%1/%2) at %3 %4')
- .arg(self.packageNo)
- .arg(self.totalPackages)
- .arg(round(int(rate), 1))
- .arg(symbol))
- self.showStatus()
+ self.setStatus(rate, symbol)
self.showOperationDescription()
def updateUpgradingInfo(self, percent, rate, symbol):
- self.setStatus(i18n('Fetching package list at %3 %4')
- .arg(round(int(rate), 1))
- .arg(symbol))
- self.showStatus()
+ self.setStatus(rate, symbol)
self.showOperationDescription()
+ def updatePackageInfo(self):
+ self.packageInfo.setText(i18n("%1 / %2 package").arg(self.packageNo).arg(self.totalPackages))
+
# pisi does not provide total downloaded size, just package based.
def updateTotalDownloaded(self, pkgDownSize, pkgTotalSize):
if pkgDownSize == pkgTotalSize:
@@ -123,3 +135,16 @@
totalSize = self.parent.basket.getBasketSize()
percent = (totalDownloaded * 100) / totalSize
self.updateProgressBar(percent)
+
+ def getCurrentDownloadedSize(self):
+ totalDownloaded = self.totalDownloaded + self.curPkgDownloaded
+
+ size = pisi.util.human_readable_size(totalDownloaded)
+ totaldownloaded = "%.1f %s" % (size[0], size[1])
+
+ size = pisi.util.human_readable_size(self.parent.basket.getBasketSize())
+ totalsize = "%.1f %s" % (size[0], size[1])
+
+ return (totaldownloaded, totalsize)
+
+
Modified: trunk/tasma/package-manager/src/ProgressDialog.ui
=================================================================
--- trunk/tasma/package-manager/src/ProgressDialog.ui (original)
+++ trunk/tasma/package-manager/src/ProgressDialog.ui Wed Nov 1 23:26:27 2006
@@ -8,8 +8,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>497</width>
- <height>234</height>
+ <width>475</width>
+ <height>259</height>
</rect>
</property>
<property name="caption">
@@ -25,7 +25,60 @@
<property name="resizeMode">
<enum>Fixed</enum>
</property>
- <widget class="QLabel" row="0" column="0" rowspan="6" colspan="1">
+ <widget class="QLayoutWidget" row="0" column="1">
+ <property name="name">
+ <cstring>layout7</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>currentOperationLabel</cstring>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>12</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string><h3>Preparing PiSi...</h3></string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer5_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>25</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>operationDescription</cstring>
+ </property>
+ <property name="text">
+ <string>Now installing <b>amsn</b> package</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QProgressBar" row="1" column="1">
+ <property name="name">
+ <cstring>progressBar</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0" rowspan="2" colspan="1">
<property name="name">
<cstring>animeLabel</cstring>
</property>
@@ -42,28 +95,99 @@
<bool>true</bool>
</property>
</widget>
- <widget class="QLabel" row="5" column="1">
+ <widget class="QLayoutWidget" row="2" column="0" rowspan="1" colspan="2">
<property name="name">
- <cstring>statusInfo</cstring>
- </property>
- <property name="text">
- <string>Fetching package 27 of 345 at 16.2k/s</string>
- </property>
- </widget>
- <widget class="QLabel" row="3" column="1">
- <property name="name">
- <cstring>operationDescription</cstring>
- </property>
- <property name="text">
- <string>Now installing <b>amsn</b> package</string>
+ <cstring>layout15</cstring>
</property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>completedInfo</cstring>
+ </property>
+ <property name="text">
+ <string>--</string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>totalInfo</cstring>
+ </property>
+ <property name="text">
+ <string>downloaded (total: -- )</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer11</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>120</width>
+ <height>16</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>packageInfo</cstring>
+ </property>
+ <property name="text">
+ <string>-- / -- package</string>
+ </property>
+ </widget>
+ </hbox>
</widget>
- <widget class="QProgressBar" row="4" column="1">
+ <widget class="QLayoutWidget" row="3" column="0" rowspan="1" colspan="2">
<property name="name">
- <cstring>progressBar</cstring>
+ <cstring>layout14</cstring>
</property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>rateInfo</cstring>
+ </property>
+ <property name="text">
+ <string>Speed: -- KB/s</string>
+ </property>
+ </widget>
+ <spacer row="0" column="1">
+ <property name="name">
+ <cstring>spacer12</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>236</width>
+ <height>16</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
</widget>
- <widget class="QLayoutWidget" row="6" column="0" rowspan="1" colspan="2">
+ <widget class="QLayoutWidget" row="4" column="0" rowspan="1" colspan="2">
<property name="name">
<cstring>layout3</cstring>
</property>
@@ -101,51 +225,9 @@
</spacer>
</grid>
</widget>
- <spacer row="2" column="1">
- <property name="name">
- <cstring>spacer4</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>30</height>
- </size>
- </property>
- </spacer>
- <widget class="QLabel" row="1" column="1">
- <property name="name">
- <cstring>currentOperationLabel</cstring>
- </property>
- <property name="text">
- <string><h3>Preparing PiSi...</h3></string>
- </property>
- </widget>
- <spacer row="0" column="1">
- <property name="name">
- <cstring>spacer5</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
</grid>
</widget>
-<layoutdefaults spacing="6" margin="11"/>
+<layoutdefaults spacing="9" margin="11"/>
<includehints>
<includehint>kpushbutton.h</includehint>
</includehints>
Modified: trunk/tasma/package-manager/src/package-manager.py
=================================================================
--- trunk/tasma/package-manager/src/package-manager.py (original)
+++ trunk/tasma/package-manager/src/package-manager.py Wed Nov 1 23:26:27 2006
@@ -468,17 +468,25 @@
return True
def takeAction(self):
+
if self.state == remove_state:
self.command.remove(self.basket.packages)
+ self.progressDialog.hideStatus()
+
elif self.state == install_state:
if not self.conflictCheckPass():
self.finished("System.Manager.cancelled")
return
+
+ self.progressDialog.showStatus()
self.command.install(self.basket.packages)
+
elif self.state == upgrade_state:
if not self.conflictCheckPass():
self.finished("System.Manager.cancelled")
return
+
+ self.progressDialog.showStatus()
self.command.updatePackage(self.basket.packages)
self.progressDialog.show()
@@ -564,7 +572,6 @@
if operation == "updatingrepo":
self.progressDialog.setOperationDescription(i18n(str(data[2])))
- self.progressDialog.hideStatus()
percent = data[1]
self.progressDialog.updateProgressBar(percent)
@@ -598,10 +605,12 @@
self.progressDialog.setCurrentOperation(i18n("<b>Upgrading Package(s)</b>"))
self.progressDialog.updateOperationDescription(i18n(str(operation)), package=data[1])
+ self.progressDialog.updatePackageInfo()
elif operation in ["cached"]:
self.progressDialog.totalDownloaded += int(data[2])
self.progressDialog.updateTotalOperationPercent()
+ self.progressDialog.setStatus()
elif operation in ["installing"]:
if self.state == install_state:
@@ -613,7 +622,6 @@
self.progressDialog.updateOperationDescription(i18n(str(operation)), package=data[1])
elif operation in ["extracting", "configuring"]:
- self.progressDialog.hideStatus()
self.progressDialog.updateOperationDescription(i18n(str(operation)), package=data[1])
elif operation in ["removed"]:
@@ -705,6 +713,7 @@
self.resetState()
self.parent.showUpgradeAction.setChecked(True)
self.processEvents()
+ self.progressDialog.hideStatus(True)
self.progressDialog.show()
self.command.startUpdate()
Uludag-commits mesaj listesiyle ilgili
daha fazla bilgi