Addon Manager: Begin UI redesign

Migrate to a UI that looks more like other software package managers, giving
more space to each addon by hiding the list when an addon is selected, and
providing a "back" button to get back.

Implements a two-style view option for the list of addons: expanded and
condensed, via a delegate that provides the drawing function for each row in
the table based on two different widget designs.
This commit is contained in:
Chris Hennes
2021-11-16 16:11:14 -06:00
parent f9a6310332
commit e42eec2558
17 changed files with 1786 additions and 847 deletions

View File

@@ -26,6 +26,7 @@ import re
import sys
import codecs
import shutil
from typing import Dict, Union
import FreeCAD
@@ -63,6 +64,18 @@ class Macro(object):
def __eq__(self, other):
return self.filename == other.filename
@classmethod
def from_cache (self, cache_dict:Dict):
instance = Macro(cache_dict["name"])
for key,value in cache_dict.items():
instance.__dict__[key] = value
return instance
def to_cache (self) -> Dict:
""" For cache purposes this entire class is dumped directly """
return self.__dict__
@property
def filename(self):
if self.on_git: