internal void RefreshRow(int index, PackageManifest package) { if (index < 0 || index >= _packageList.Rows.Count) { return; } var row = _packageList.Rows[index]; var state = WebManifestManager.GetStateForGuid(package.GUID); switch (state) { case WebManifestManager.GuidFilterState.BrokenList: Console.WriteLine("TODO"); break; case WebManifestManager.GuidFilterState.Whitelist: row.DefaultCellStyle.ForeColor = Color.Goldenrod; row.DefaultCellStyle.SelectionForeColor = Color.Goldenrod; break; } row.Cells[4].Value = package.TimeSinceRepoUpdatedPretty; if (CurrentInspectedPackage == package) { SetInfoboxPackage(package); } }
public BrowseModsPage() { Instance = this; InitializeComponent(); _packageList.ColumnHeaderMouseClick += _packageList_ColumnHeaderMouseClick; _showInstalledCheck.Checked = ShowInstalledPackages; _showOnlyTrustedCheck.Checked = OnlyShowTrusted; _libraryToggle.Checked = ShowLibraries; MefinoGUI.SensitiveControls.AddRange(new Control[] { this._infoBoxInstallButton, this._refreshButton }); // init some states _packageInfoBox.Visible = false; _infoBoxTabs.SelectedIndex = 0; // Register callbacks _packageList.CellClick += _packageList_CellClick; LocalPackageManager.OnPackageInstalled += (_) => { RefreshPackageList(); }; LocalPackageManager.OnPackageUninstalled += (_) => { RefreshPackageList(); }; // Force an update of web manifests on launch WebManifestManager.UpdateWebManifests(); // Refresh tags after manifest update RefreshTags(); RefreshPackageList(); }
public void RefreshPackageList() { _packageList.Rows.Clear(); //s_packageList.Clear(); foreach (var pkg in WebManifestManager.s_webManifests) { AddPackageRow(pkg.Value); } void AddPackageRow(PackageManifest package) { if (!ShowInstalledPackages && package.IsInstalled) { return; } if (!ShowLibraries && package.HasTag("Library")) { return; } if (SelectedTag != "All" && !string.IsNullOrEmpty(SelectedTag)) { if (package.tags == null || !package.HasTag(SelectedTag)) { return; } } var state = WebManifestManager.GetStateForGuid(package.GUID); if (OnlyShowTrusted && state != WebManifestManager.GuidFilterState.Whitelist) { return; } if (state == WebManifestManager.GuidFilterState.Blacklist) { return; } _packageList.Rows.Add(new string[] { package.name, package.version, package.author, package.RepoLastUpdatedTime.ToString() }); RefreshRow(_packageList.Rows.Count - 1, package); } //_packageList.Sort(_listColName, ListSortDirection.Ascending); if (s_currentPackage != null) { SetInfoboxPackage(s_currentPackage); } }
internal static void Cmd_RefreshModList(params string[] args) { if (!Folders.IsCurrentOutwardPathValid()) { Console.WriteLine("You need to set the Outward path first!"); return; } WebManifestManager.UpdateWebManifests(); LocalPackageManager.RefreshInstalledPackages(); }
/// <summary> /// Refresh all packages, online and local. Optionally re-download new manifests as well, if <paramref name="refreshOnline"/> is <see langword="true"/> /// </summary> public static void RefreshAllPackages(bool refreshOnline = false) { if (refreshOnline) { WebManifestManager.UpdateWebManifests(); } else { WebManifestManager.LoadWebManifestCache(); } // refresh installed packages LocalPackageManager.RefreshInstalledPackages(); }