[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>&lt;h3&gt;Preparing PiSi...&lt;/h3&gt;</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 &lt;b&gt;amsn&lt;/b&gt; 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 &lt;b&gt;amsn&lt;/b&gt; 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>&lt;h3&gt;Preparing PiSi...&lt;/h3&gt;</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