Added ability to only check for updates without installing
For built in components
This commit is contained in:
		
							parent
							
								
									3847c8d61b
								
							
						
					
					
						commit
						afe2cc1a2c
					
				@ -243,6 +243,8 @@ std::unique_ptr<Model::Component> Model::parse(const QJsonObject &json) const
 | 
				
			|||||||
      const auto object = fileInfo.toObject();
 | 
					      const auto object = fileInfo.toObject();
 | 
				
			||||||
      File file;
 | 
					      File file;
 | 
				
			||||||
      file.url = object["url"].toString();
 | 
					      file.url = object["url"].toString();
 | 
				
			||||||
 | 
					      if (!file.url.isValid())
 | 
				
			||||||
 | 
					        result->checkOnly = true;
 | 
				
			||||||
      file.rawPath = object["path"].toString();
 | 
					      file.rawPath = object["path"].toString();
 | 
				
			||||||
      file.md5 = object["md5"].toString();
 | 
					      file.md5 = object["md5"].toString();
 | 
				
			||||||
      file.versionDate =
 | 
					      file.versionDate =
 | 
				
			||||||
@ -351,7 +353,7 @@ void Model::updateState(Model::Component &component)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
State Model::currentState(const File &file) const
 | 
					State Model::currentState(const File &file) const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  if (!file.url.isValid() || file.expandedPath.isEmpty() ||
 | 
					  if (file.expandedPath.isEmpty() ||
 | 
				
			||||||
      (file.md5.isEmpty() && !file.versionDate.isValid()))
 | 
					      (file.md5.isEmpty() && !file.versionDate.isValid()))
 | 
				
			||||||
    return State::NotAvailable;
 | 
					    return State::NotAvailable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -505,11 +507,14 @@ Qt::ItemFlags Model::flags(const QModelIndex &index) const
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  auto ptr = static_cast<Component *>(index.internalPointer());
 | 
					  auto ptr = static_cast<Component *>(index.internalPointer());
 | 
				
			||||||
  SOFT_ASSERT(ptr, return {});
 | 
					  SOFT_ASSERT(ptr, return {});
 | 
				
			||||||
  auto result = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
 | 
					  auto result = Qt::NoItemFlags | Qt::ItemIsSelectable;
 | 
				
			||||||
  if (index.column() != int(Column::Action))
 | 
					
 | 
				
			||||||
 | 
					  if (ptr->checkOnly)
 | 
				
			||||||
    return result;
 | 
					    return result;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (ptr->state == State::NotAvailable)
 | 
					  result |= Qt::ItemIsEnabled;
 | 
				
			||||||
 | 
					  if (index.column() != int(Column::Action) ||
 | 
				
			||||||
 | 
					      ptr->state == State::NotAvailable)
 | 
				
			||||||
    return result;
 | 
					    return result;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  result |= Qt::ItemIsEditable;
 | 
					  result |= Qt::ItemIsEditable;
 | 
				
			||||||
 | 
				
			|||||||
@ -68,6 +68,7 @@ private:
 | 
				
			|||||||
    Action action{Action::NoAction};
 | 
					    Action action{Action::NoAction};
 | 
				
			||||||
    QString version;
 | 
					    QString version;
 | 
				
			||||||
    std::vector<File> files;
 | 
					    std::vector<File> files;
 | 
				
			||||||
 | 
					    bool checkOnly{false};
 | 
				
			||||||
    std::vector<std::unique_ptr<Component>> children;
 | 
					    std::vector<std::unique_ptr<Component>> children;
 | 
				
			||||||
    Component* parent{nullptr};
 | 
					    Component* parent{nullptr};
 | 
				
			||||||
    int index{-1};
 | 
					    int index{-1};
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user