docs: def setProperty(self, key, value):
          """
          Sets the custom property for this item's key to the inputed value.  If
          the widget has a column that matches the inputed key, then the value 
          will be added to the tree widget as well.
          
          :param      key     | <str>
                      value   | <variant>
          """
          if key == 'Name':
              self.setName(value)
          elif key == 'Start':
              self.setDateStart(value)
          elif key == 'End':
              self.setDateEnd(value)
          elif key == 'Calendar Days':
              self.setDuration(value)
          elif key == 'Time Start':
              self.setTimeStart(value)
          elif key == 'Time End':
              self.setTimeEnd(value)
          elif key == 'All Day':
              self.setAllDay(value)
          elif key == 'Workadys':
              pass
          else:
              self._properties[nativestring(key)] = value
              
              tree = self.treeWidget()
              if tree:
                  col = tree.column(key)
                  if col != -1:
                      self.setData(col, Qt.EditRole, wrapVariant(value))