Example #1
0
 def addItemForExpense(self, topLevelItem, ex):
     ex_str = "%-5d %s\n(%s -> %s)" % (ex.value, ex.desc, self.__envMgr.envNameForId(ex.fromId),
         self.__envMgr.envNameForId(ex.toId))
     ex_item = QTreeWidgetItem([ex_str])
     ex_item.setText(0, ex_str)
     ex_item.setData(0, Qt.UserRole, ex)
     topLevelItem.insertChild(0, ex_item)
Example #2
0
 def add_children(self, node, item):
     for child in node.children:
         childItem = QTreeWidgetItem()
         childItem.setText(0, child.label)
         childItem.setData(1,Qt.ItemDataRole.EditRole, child)
         item.addChild(childItem)
         
         self.add_children(child, childItem)
Example #3
0
 def set_favorites(self, favoritesRoot):
     self.tree.clear()
     
     item = QTreeWidgetItem()
     item.setText(0, favoritesRoot.label)
     item.setData(1,Qt.ItemDataRole.EditRole, favoritesRoot)
     
     self.tree.addTopLevelItem(item)
     self.add_children(favoritesRoot, item)
Example #4
0
 def add_child(self):
     item = self.tree.currentItem()
     print item.data(1, Qt.ItemDataRole.EditRole).getFullPath()
     newItem = add_child(item.data(1, Qt.ItemDataRole.EditRole))
     
     newChildNode = QTreeWidgetItem()
     newChildNode.setText(0, newItem.label)
     newChildNode.setData(1, Qt.ItemDataRole.EditRole, newItem)
     item.addChild(newChildNode)
Example #5
0
    def updateList(self):
        self.ui.categoryWidget.itemChanged.connect(self.updatePluginSettings)
        defaultCollection = None
        for pluginCollection in self.private.manager.pluginCollections().values():
            if not pluginCollection.name:
                defaultCollection = pluginCollection
                continue
            collectionItem = QTreeWidgetItem([pluginCollection.name(), "", "", "", ""])
            self.items.append(collectionItem)

            state, groupState = self.parsePluginSpecs(collectionItem, pluginCollection.plugins())

            collectionItem.setIcon(0, self.iconForState(state))
            collectionItem.setData(C_LOAD, Qt.CheckStateRole, groupState)
            collectionItem.setToolTip(C_LOAD, "Load on Startup")
            collectionItem.setData(0, Qt.UserRole, pluginCollection)
        # add all non-categorized plugins into utilities. could also be added as root items
        # but that makes the tree ugly
        defaultCollectionItem = QTreeWidgetItem(["Utilities", "", "", "", ""])
        self.items.append(defaultCollectionItem)
        state, groupState = self.parsePluginSpecs(defaultCollectionItem, defaultCollection.plugins)
        defaultCollectionItem.setIcon(0, self.iconForState(state))
        defaultCollectionItem.setData(C_LOAD, Qt.CheckStateRole, groupState)
        defaultCollectionItem.setToolTip(C_LOAD, "Load on Startup")
        defaultCollectionItem.setData(0, Qt.UserRole, defaultCollection)

        self.updatePluginDependencies()
        self.ui.categoryWidget.clear()
        if self.items:
            self.ui.categoryWidget.addTopLevelItems(self.items)
            self.ui.categoryWidget.expandAll()
        self.ui.categoryWidget.sortItems(0, Qt.AscendingOrder)
        if self.ui.categoryWidget.topLevelItemCount():
            self.ui.categoryWidget.setCurrentItem(self.ui.categoryWidget.topLevelItem(0))
Example #6
0
 def getTopLevelItemForDate(self, tw, date):
     """
     @type tw: QListWidget
     """
     for i in range(tw.topLevelItemCount()):
         item = tw.topLevelItem(i)
         if item is None:
             continue
         item_date = item.data(0, Qt.UserRole)
         if date == item_date:
             return item
     item = QTreeWidgetItem([str(date)])
     item.setData(0, Qt.UserRole, date)
     item.setText(0, date.strftime("%A, ") + str(date))
     # FIXME: do we always need to insert at zero idx?
     tw.insertTopLevelItem(0, item)
     return item
Example #7
0
    def _populateTree(self):
        self.pushupsListWidget.clear()
        self.pushupsListWidget.setColumnCount(4)
        self.pushupsListWidget.setHeaderLabels([
            "Date", "TotalPushups", "Series", "Repetitions",
            "Average Heart Rate"
        ])
        self.pushupsListWidget.setSortingEnabled(True)
        self.pushupsListWidget.setColumnWidth(0, 180)
        self.pushupsListWidget.setColumnWidth(4, 150)

        pushupDict = self._getPushupDictionary()

        for it, dayOfExercise in enumerate(sorted(pushupDict.keys())):

            dateItem = QTreeWidgetItem()

            dayLabel = dayOfExercise.strftime("%Y/%m/%d")

            dateItem.setText(0, "\n" + dayLabel + "\nDay : " + str(it))

            self.pushupsListWidget.addTopLevelItem(dateItem)

            totalPushups = 0
            for pushup in pushupDict[dayOfExercise]:
                pushupItem = QTreeWidgetItem()

                pushupItem.setText(2, "#" + str(pushup._series))
                pushupItem.setText(3, str(pushup._repetitions))
                pushupItem.setText(4, str(pushup._averageHeartRate))
                pushupItem.setData(0, Qt.UserRole, pushup)

                totalPushups = totalPushups + pushup._repetitions

                dateItem.addChild(pushupItem)

            dateItem.setText(1, str(totalPushups))
Example #8
0
 def _populateTree(self):
     self.pushupsListWidget.clear()
     self.pushupsListWidget.setColumnCount(4)
     self.pushupsListWidget.setHeaderLabels(["Date", "TotalPushups", 
                                             "Series", "Repetitions",
                                             "Average Heart Rate"])
     self.pushupsListWidget.setSortingEnabled(True)
     self.pushupsListWidget.setColumnWidth(0, 180)
     self.pushupsListWidget.setColumnWidth(4, 150)
     
     pushupDict = self._getPushupDictionary()
     
     for it, dayOfExercise in enumerate(sorted(pushupDict.keys())):                  
          
         dateItem = QTreeWidgetItem()
         
         dayLabel = dayOfExercise.strftime("%Y/%m/%d")
         
         dateItem.setText(0, "\n" + dayLabel + "\nDay : " + str(it))
         
         self.pushupsListWidget.addTopLevelItem(dateItem)
         
         totalPushups = 0
         for pushup in pushupDict[dayOfExercise]:
             pushupItem = QTreeWidgetItem()
             
             pushupItem.setText(2, "#" + str(pushup._series))
             pushupItem.setText(3, str(pushup._repetitions))
             pushupItem.setText(4, str(pushup._averageHeartRate))
             pushupItem.setData(0, Qt.UserRole, pushup)
             
             totalPushups = totalPushups + pushup._repetitions 
             
             dateItem.addChild(pushupItem)  
         
         dateItem.setText(1, str(totalPushups))
Example #9
0
    def parsePluginSpecs(self, parentItem, plugins):
        ret = 0
        loadCount = 0

        for i in range(len(plugins)):
            spec = plugins[i]
            if spec.hasError():
                ret |= ParsedState.ParsedWithErrors
            pluginItem = QTreeWidgetItem([spec.name(), "",
                                         "{0} ({1})".format(spec.version(), spec.compatVersion()),
                                         spec.vendor()])
            pluginItem.setToolTip(0, QDir.toNativeSeparators(spec.filePath()))
            ok = not spec.hasError()
            icon = self.okIcon if ok else self.errorIcon
            if ok and spec.state() is not PluginState.Running:
                icon = self.notLoadedIcon
            pluginItem.setIcon(0, icon)
            pluginItem.setData(0, Qt.UserRole, spec)

            state = Qt.Unchecked
            if spec.isEnabled():
                state = Qt.Checked
                loadCount += 1

            if spec.name() not in self.whitelist:
                pluginItem.setData(C_LOAD, Qt.CheckStateRole, state)
            else:
                pluginItem.setData(C_LOAD, Qt.CheckStateRole, Qt.Checked)
                pluginItem.setFlags(Qt.ItemIsSelectable)
            pluginItem.setToolTip(C_LOAD, "Load on Startup")

            self.specToItem[spec] = pluginItem

            if parentItem:
                parentItem.addChild(pluginItem)
            else:
                self.items.append(pluginItem)

        if loadCount == len(plugins):
            groupState = Qt.Checked
            ret |= ParsedState.ParsedAll
        elif loadCount == 0:
            groupState = Qt.Unchecked
            ret |= ParsedState.ParsedNone
        else:
            groupState = Qt.PartiallyChecked
            ret |= ParsedState.ParsedPartial

        return ret, groupState