[Uludag-commits] r22518 - in trunk/kde4/pardusman: src ui

uludag-commits at pardus.org.tr uludag-commits at pardus.org.tr
5 Mayıs 2009 Sal 10:32:11 EEST


Author: bahadir.kandemir
Date: Tue May  5 10:32:11 2009
New Revision: 22518

Added:
   trunk/kde4/pardusman/ui/uicomponent.ui
Modified:
   trunk/kde4/pardusman/src/base.py
   trunk/kde4/pardusman/ui/uipackages.ui
Log:
- Save component information


Modified: trunk/kde4/pardusman/src/base.py
=================================================================
--- trunk/kde4/pardusman/src/base.py	(original)
+++ trunk/kde4/pardusman/src/base.py	Tue May  5 10:32:11 2009
@@ -24,6 +24,7 @@
 from uilanguage import Ui_languageForm
 from uipackages import Ui_packagesForm
 from uipackage import Ui_PackageWidget
+from uicomponent import Ui_ComponentWidget
 
 from project import Project
 from packages import Repository
@@ -74,12 +75,37 @@
         return languages
 
 
+class ComponentWidgetItem(QtGui.QListWidgetItem):
+    def __init__(self, parent, component, widget):
+        QtGui.QListWidgetItem.__init__(self, parent)
+        self.component = component
+        self.widget = widget
+
+    def setChecked(self, state):
+        self.widget.ui.checkComponent.setChecked(state)
+
+
+class ComponentWidget(QtGui.QWidget):
+    def __init__(self, parent, component):
+        QtGui.QWidget.__init__(self, parent)
+        self.ui = Ui_ComponentWidget()
+        self.ui.setupUi(self)
+        self.component = component
+        self.ui.labelComponent.setText(component)
+
+    def setChecked(self, state):
+        self.ui.checkComponent.setChecked(state)
+
+
 class PackageWidgetItem(QtGui.QListWidgetItem):
     def __init__(self, parent, package, widget):
         QtGui.QListWidgetItem.__init__(self, parent)
         self.package = package
         self.widget = widget
 
+    def setChecked(self, state):
+        self.widget.ui.checkPackage.setChecked(state)
+
 
 class PackageWidget(QtGui.QWidget):
     def __init__(self, parent, package):
@@ -89,6 +115,9 @@
         self.package = package
         self.ui.labelPackage.setText(package.name)
 
+    def setChecked(self, state):
+        self.ui.checkPackage.setChecked(state)
+
 
 class PackagesForm(QtGui.QDialog):
     def __init__(self, parent):
@@ -123,12 +152,22 @@
     def setRepo(self, repo):
         self.repo = repo
         self.repo.parse_index()
+        # Components
+        self.ui.listComponents.clear()
+        for component, packages in self.repo.components.iteritems():
+            widget = ComponentWidget(self, component)
+            if component in self.selected_components:
+                widget.setChecked(True)
+            item = ComponentWidgetItem(self.ui.listComponents, component, widget)
+            item.setSizeHint(QSize(1, 26))
+            self.ui.listComponents.setItemWidget(item, widget)
+        self.ui.listComponents.sortItems()
         # Packages
         self.ui.listPackages.clear()
         for name, package in self.repo.packages.iteritems():
             widget = PackageWidget(self, package)
             if name in self.selected_packages:
-                widget.ui.checkPackage.setChecked(True)
+                widget.setChecked(True)
             item = PackageWidgetItem(self.ui.listPackages, package, widget)
             item.setSizeHint(QSize(1, 26))
             self.ui.listPackages.setItemWidget(item, widget)
@@ -143,13 +182,26 @@
     def updatePackages(self):
         self.selected_packages = []
         self.all_packages = []
+        # Components
+        for i in xrange(self.ui.listComponents.count()):
+            item = self.ui.listComponents.item(i)
+            if item.widget.ui.checkComponent.isChecked():
+                self.selected_components.append(item.component)
+        # Packages
         for i in xrange(self.ui.listPackages.count()):
             item = self.ui.listPackages.item(i)
             if item.widget.ui.checkPackage.isChecked():
                 self.selected_packages.append(item.package.name)
+                self.all_packages.append(item.package.name)
                 for dep in item.package.depends:
                     if dep not in self.all_packages:
                         self.all_packages.append(dep)
+        # Add all packages in component into all packages
+        for name, packages in self.repo.components.iteritems():
+            if name in self.selected_components:
+                for package in packages:
+                    if package not in self.all_packages:
+                        self.all_packages.append(package)
 
     def getSelectedPackages(self):
         return self.selected_packages

Modified: trunk/kde4/pardusman/ui/uipackages.ui
=================================================================
--- trunk/kde4/pardusman/ui/uipackages.ui	(original)
+++ trunk/kde4/pardusman/ui/uipackages.ui	Tue May  5 10:32:11 2009
@@ -14,102 +14,118 @@
    <string>Packages</string>
   </property>
   <layout class="QGridLayout" name="gridLayout_2">
-   <item row="0" column="0" rowspan="2">
-    <widget class="QListWidget" name="listComponents">
-     <property name="maximumSize">
-      <size>
-       <width>200</width>
-       <height>16777215</height>
-      </size>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="1">
-    <widget class="QListWidget" name="listPackages"/>
-   </item>
-   <item row="1" column="1">
-    <widget class="QFrame" name="frame">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="maximumSize">
-      <size>
-       <width>16777215</width>
-       <height>100</height>
-      </size>
-     </property>
-     <property name="sizeIncrement">
-      <size>
-       <width>2</width>
-       <height>1</height>
-      </size>
-     </property>
-     <property name="frameShape">
-      <enum>QFrame::StyledPanel</enum>
-     </property>
-     <property name="frameShadow">
-      <enum>QFrame::Raised</enum>
+   <item row="0" column="0">
+    <widget class="QSplitter" name="splitter">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
      </property>
-     <layout class="QGridLayout" name="gridLayout">
-      <item row="0" column="0">
-       <widget class="QLabel" name="label_3">
-        <property name="text">
-         <string>Summary:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QLabel" name="label">
-        <property name="text">
-         <string>Size:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="1">
-       <widget class="QLabel" name="labelSize">
-        <property name="text">
-         <string>0 KB</string>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="0">
-       <widget class="QLabel" name="label_2">
-        <property name="text">
-         <string>Installed Size:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="1">
-       <widget class="QLabel" name="labelInstalledSize">
-        <property name="text">
-         <string>0 KB</string>
-        </property>
-       </widget>
-      </item>
-      <item row="3" column="0">
-       <widget class="QLabel" name="label_4">
-        <property name="text">
-         <string>Dependencies:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="3" column="1">
-       <widget class="QLineEdit" name="lineDependencies"/>
-      </item>
-      <item row="0" column="1">
-       <widget class="QLabel" name="labelSummary">
-        <property name="text">
-         <string>...</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
+     <widget class="QListWidget" name="listComponents">
+      <property name="sizeIncrement">
+       <size>
+        <width>1</width>
+        <height>0</height>
+       </size>
+      </property>
+     </widget>
+     <widget class="QWidget" name="">
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <item>
+        <widget class="QListWidget" name="listPackages">
+         <property name="sizeIncrement">
+          <size>
+           <width>2</width>
+           <height>0</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QFrame" name="frame">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>16777215</width>
+           <height>100</height>
+          </size>
+         </property>
+         <property name="sizeIncrement">
+          <size>
+           <width>2</width>
+           <height>1</height>
+          </size>
+         </property>
+         <property name="frameShape">
+          <enum>QFrame::StyledPanel</enum>
+         </property>
+         <property name="frameShadow">
+          <enum>QFrame::Raised</enum>
+         </property>
+         <layout class="QGridLayout" name="gridLayout">
+          <item row="0" column="0">
+           <widget class="QLabel" name="label_3">
+            <property name="text">
+             <string>Summary:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QLabel" name="label">
+            <property name="text">
+             <string>Size:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1">
+           <widget class="QLabel" name="labelSize">
+            <property name="text">
+             <string>0 KB</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_2">
+            <property name="text">
+             <string>Installed Size:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QLabel" name="labelInstalledSize">
+            <property name="text">
+             <string>0 KB</string>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="0">
+           <widget class="QLabel" name="label_4">
+            <property name="text">
+             <string>Dependencies:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="1">
+           <widget class="QLineEdit" name="lineDependencies"/>
+          </item>
+          <item row="0" column="1">
+           <widget class="QLabel" name="labelSummary">
+            <property name="text">
+             <string>...</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+      </layout>
+     </widget>
     </widget>
    </item>
-   <item row="2" column="0" colspan="2">
+   <item row="1" column="0">
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -120,11 +136,6 @@
     </widget>
    </item>
   </layout>
-  <zorder>listComponents</zorder>
-  <zorder>listPackages</zorder>
-  <zorder>frame</zorder>
-  <zorder>buttonBox</zorder>
-  <zorder>labelSummary</zorder>
  </widget>
  <resources/>
  <connections>


Uludag-commits mesaj listesiyle ilgili daha fazla bilgi