trunk/kde/boot-manager/manager - trying to order entries, experimental; actually no...

Gökmen Göksel uludag-commits at pardus.org.tr
1 Ara 2010 Çar 17:48:30 EET


Author: gokmen.goksel
Date: Wed Dec  1 17:48:30 2010
New Revision: 33598

Modified:
   trunk/kde/boot-manager/manager/src/bootmanager/item.py
   trunk/kde/boot-manager/manager/src/bootmanager/main.py
   trunk/kde/boot-manager/manager/ui/item.ui
   trunk/kde/boot-manager/manager/ui/options.ui
Log:
 * trying to order entries, experimental; actually not working. 

---
 src/bootmanager/item.py |   18 ++++++++-------
 src/bootmanager/main.py |   56 +++++++++++++++++++++++++++---------------------
 ui/item.ui              |   40 +++++++++++++++++++++-------------
 ui/options.ui           |   28 ++++++++++++++++++++----
 4 files changed, 91 insertions(+), 51 deletions(-)

Modified: trunk/kde/boot-manager/manager/src/bootmanager/item.py
=================================================================
--- trunk/kde/boot-manager/manager/src/bootmanager/item.py	(original)
+++ trunk/kde/boot-manager/manager/src/bootmanager/item.py	Wed Dec  1 17:48:30 2010
@@ -36,10 +36,11 @@
 
 
 class ItemWidget(QtGui.QWidget, Ui_ItemWidget):
-    def __init__(self, parent, id_, title="", description="", type_=None, icon=None, state=None):
-        QtGui.QWidget.__init__(self, parent)
+    def __init__(self, parent, parent_widget, id_, title="", description="", type_=None, icon=None, state=None):
+        QtGui.QWidget.__init__(self, parent_widget)
         self.setupUi(self)
 
+        self.parent = parent
         self.id = id_
         self.type = type_
 
@@ -60,10 +61,15 @@
         self.pushDelete.setIcon(KIcon("edit-delete"))
 
         # Signals
-        self.connect(self.checkState, QtCore.SIGNAL("stateChanged(int)"), lambda: self.emit(QtCore.SIGNAL("stateChanged(int)"), self.checkState.checkState()))
+        self.connect(self.checkState, QtCore.SIGNAL("clicked()"), lambda: self.emit(QtCore.SIGNAL("stateChanged(int)"), 0))
         self.connect(self.pushEdit, QtCore.SIGNAL("clicked()"), lambda: self.emit(QtCore.SIGNAL("editClicked()")))
         self.connect(self.pushDelete, QtCore.SIGNAL("clicked()"), lambda: self.emit(QtCore.SIGNAL("deleteClicked()")))
 
+        self.pushUp.clicked.connect(lambda: self.parent.showEditBox(self.id, self.type, True))
+        self.pushDown.clicked.connect(lambda: self.parent.showEditBox(self.id, self.type, True))
+        self.pushUp.clicked.connect(lambda: self.parent.slotSaveEdit(int(self.getId()) - 1))
+        self.pushDown.clicked.connect(lambda: self.parent.slotSaveEdit(int(self.getId()) + 1))
+
     def mouseDoubleClickEvent(self, event):
         self.pushEdit.animateClick(100)
 
@@ -92,11 +98,7 @@
         return self.checkState.checkState()
 
     def setState(self, state):
-        if state == True:
-            state = QtCore.Qt.Checked
-        elif state == False:
-            state = QtCore.Qt.Unchecked
-        return self.checkState.setCheckState(state)
+        self.checkState.setChecked(state)
 
     def hideEdit(self):
         self.pushEdit.hide()

Modified: trunk/kde/boot-manager/manager/src/bootmanager/main.py
=================================================================
--- trunk/kde/boot-manager/manager/src/bootmanager/main.py	(original)
+++ trunk/kde/boot-manager/manager/src/bootmanager/main.py	Wed Dec  1 17:48:30 2010
@@ -132,7 +132,7 @@
         """
             Makes an item widget having given properties.
         """
-        widget = ItemWidget(self.listItems, id_, title, description, type_, icon, state)
+        widget = ItemWidget(self, self.listItems, id_, title, description, type_, icon, state)
 
         self.connect(widget, QtCore.SIGNAL("stateChanged(int)"), self.slotItemState)
         self.connect(widget, QtCore.SIGNAL("editClicked()"), self.slotItemEdit)
@@ -224,25 +224,28 @@
             action_user.setData(QtCore.QVariant(unicode(name)))
             menu.addAction(action_user)
 
-    def showEditBox(self, id_, type_=None):
+    def showEditBox(self, id_, type_=None, just_initialize = False):
         """
             Shows edit box.
         """
-        self.widgetEdit.show()
+        if not just_initialize:
+            self.widgetEdit.show()
+
         self.widgetEdit.reset()
 
         self.widgetEdit.setType(type_)
 
-        if type_ in self.systems:
-            fields = self.systems[type_][1] + self.systems[type_][2]
-            if "root" not in fields:
-                self.widgetEdit.hideDisk()
-            if "kernel" not in fields:
-                self.widgetEdit.hideKernel()
-            if "initrd" not in fields:
-                self.widgetEdit.hideRamdisk()
-            if "options" not in fields:
-                self.widgetEdit.hideOptions()
+        if not just_initialize:
+            if type_ in self.systems:
+                fields = self.systems[type_][1] + self.systems[type_][2]
+                if "root" not in fields:
+                    self.widgetEdit.hideDisk()
+                if "kernel" not in fields:
+                    self.widgetEdit.hideKernel()
+                if "initrd" not in fields:
+                    self.widgetEdit.hideRamdisk()
+                if "options" not in fields:
+                    self.widgetEdit.hideOptions()
 
         if id_ != None:
             entry = None
@@ -262,12 +265,13 @@
             if "options" in entry:
                 self.widgetEdit.setOptions(entry["options"])
 
-        if self.animationLast == ANIM_HIDE:
-            self.animationLast = ANIM_SHOW
-            # Set range
-            self.animator.setFrameRange(ANIM_TARGET, self.height() - ANIM_TARGET)
-            # Go go go!
-            self.animator.start()
+        if not just_initialize:
+            if self.animationLast == ANIM_HIDE:
+                self.animationLast = ANIM_SHOW
+                # Set range
+                self.animator.setFrameRange(ANIM_TARGET, self.height() - ANIM_TARGET)
+                # Go go go!
+                self.animator.start()
 
     def hideEditBox(self):
         """
@@ -334,7 +338,7 @@
         """
         self.hideEditBox()
 
-    def slotSaveEdit(self):
+    def slotSaveEdit(self, id=None):
         """ 
             Save clicked on edit box, save item details then show item list.
         """
@@ -343,11 +347,15 @@
             if widget.isNew():
                 self.iface.setEntry(widget.getTitle(), widget.getType(), widget.getDisk(), widget.getKernel(), widget.getRamdisk(), widget.getOptions(), "no", -1)
             else:
-                self.iface.setEntry(widget.getTitle(), widget.getType(), widget.getDisk(), widget.getKernel(), widget.getRamdisk(), widget.getOptions(), "no", widget.getId())
+                _id = id if id else widget.getId()
+                self.iface.setEntry(widget.getTitle(), widget.getType(), widget.getDisk(), widget.getKernel(), widget.getRamdisk(), widget.getOptions(), "no", _id)
         except Exception, e: # TODO: Named exception should be raised
-            if "Comar.PolicyKit" in e._dbus_error_name:
-                kdeui.KMessageBox.error(self, kdecore.i18n("Access denied."))
-            else:
+            try:
+                if "Comar.PolicyKit" in e._dbus_error_name:
+                    kdeui.KMessageBox.error(self, kdecore.i18n("Access denied."))
+                else:
+                    kdeui.KMessageBox.error(self, unicode(e))
+            except:
                 kdeui.KMessageBox.error(self, unicode(e))
             return
         # Hide edit box

Modified: trunk/kde/boot-manager/manager/ui/item.ui
=================================================================
--- trunk/kde/boot-manager/manager/ui/item.ui	(original)
+++ trunk/kde/boot-manager/manager/ui/item.ui	Wed Dec  1 17:48:30 2010
@@ -6,24 +6,14 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>418</width>
-    <height>52</height>
+    <width>529</width>
+    <height>48</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string notr="true">ItemWidget</string>
   </property>
   <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0">
-    <widget class="QCheckBox" name="checkState">
-     <property name="toolTip">
-      <string>Set or unset entry as default boot entry.</string>
-     </property>
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
    <item row="0" column="1">
     <widget class="QLabel" name="labelIcon">
      <property name="minimumSize">
@@ -82,7 +72,7 @@
      </item>
     </layout>
    </item>
-   <item row="0" column="3">
+   <item row="0" column="5">
     <widget class="QPushButton" name="pushEdit">
      <property name="toolTip">
       <string>Edit</string>
@@ -92,7 +82,7 @@
      </property>
     </widget>
    </item>
-   <item row="0" column="4">
+   <item row="0" column="6">
     <widget class="QPushButton" name="pushDelete">
      <property name="toolTip">
       <string>Delete</string>
@@ -102,10 +92,30 @@
      </property>
     </widget>
    </item>
+   <item row="0" column="0">
+    <widget class="QRadioButton" name="checkState">
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="4">
+    <widget class="QPushButton" name="pushUp">
+     <property name="text">
+      <string>Down</string>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="3">
+    <widget class="QPushButton" name="pushDown">
+     <property name="text">
+      <string>Up</string>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <tabstops>
-  <tabstop>checkState</tabstop>
   <tabstop>pushEdit</tabstop>
   <tabstop>pushDelete</tabstop>
  </tabstops>

Modified: trunk/kde/boot-manager/manager/ui/options.ui
=================================================================
--- trunk/kde/boot-manager/manager/ui/options.ui	(original)
+++ trunk/kde/boot-manager/manager/ui/options.ui	Wed Dec  1 17:48:30 2010
@@ -28,16 +28,19 @@
     </spacer>
    </item>
    <item>
-    <widget class="QLabel" name="label">
+    <widget class="QCheckBox" name="checkBox">
      <property name="text">
       <string>Boot menu display time:</string>
      </property>
+     <property name="checked">
+      <bool>true</bool>
+     </property>
     </widget>
    </item>
    <item>
     <widget class="QSpinBox" name="spinTimeout">
      <property name="minimum">
-      <number>1</number>
+      <number>0</number>
      </property>
      <property name="maximum">
       <number>60</number>
@@ -47,12 +50,29 @@
    <item>
     <widget class="QPushButton" name="pushApply">
      <property name="text">
-      <string/>
+      <string>Apply</string>
      </property>
     </widget>
    </item>
   </layout>
  </widget>
  <resources/>
- <connections/>
+ <connections>
+  <connection>
+   <sender>checkBox</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>spinTimeout</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>280</x>
+     <y>14</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>427</x>
+     <y>17</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
 </ui>


Uludag-commits mesaj listesiyle ilgili daha fazla bilgi