Exemplo n.º 1
0
ProjectModel::ProjectModel(ProjectExplorerPlugin *plugin, QObject *parent)
    : QAbstractListModel(parent), m_plugin(plugin)
{
    QHash<int, QByteArray> roleNames;
    roleNames[Qt::DisplayRole] = "displayName";
    roleNames[FilePathRole] = "filePath";
    roleNames[PrettyFilePathRole] = "prettyFilePath";
    setRoleNames(roleNames);
    connect(plugin, SIGNAL(recentProjectsChanged()), SLOT(resetProjects()));
}
Exemplo n.º 2
0
void AvatarPackager::addCurrentProjectToRecentProjects() {
    const int MAX_RECENT_PROJECTS = 5;
    const QString& fstPath = _currentAvatarProject->getFSTPath();
    auto removeProjects = QVector<RecentAvatarProject>();
    for (const auto& project : _recentProjects) {
        if (project.getProjectFSTPath() == fstPath) {
            removeProjects.append(project);
        }
    }
    for (const auto& removeProject : removeProjects) {
        _recentProjects.removeOne(removeProject);
    }

    const auto newRecentProject = RecentAvatarProject(_currentAvatarProject->getProjectName(), fstPath, _currentAvatarProject->getHasErrors());
    _recentProjects.prepend(newRecentProject);

    while (_recentProjects.size() > MAX_RECENT_PROJECTS) {
        _recentProjects.pop_back();
    }

    _recentProjectsSetting.set(recentProjectsToVariantList(false));
    emit recentProjectsChanged();
}