Skip to content

Commit

Permalink
Trying to allow displaying the latest version of a package...
Browse files Browse the repository at this point in the history
if desired.
  • Loading branch information
DrewNaylor committed Oct 5, 2020
1 parent 2c4df3f commit fb80a9d
Show file tree
Hide file tree
Showing 7 changed files with 188 additions and 139 deletions.
3 changes: 3 additions & 0 deletions guinget/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@
<setting name="DebuggingBypassCacheUpdate" serializeAs="String">
<value>False</value>
</setting>
<setting name="HideOlderPackageVersions" serializeAs="String">
<value>True</value>
</setting>
</guinget.My.MySettings>
</userSettings>
<runtime>
Expand Down
264 changes: 135 additions & 129 deletions guinget/MainWindow.Designer.vb

Large diffs are not rendered by default.

11 changes: 7 additions & 4 deletions guinget/MainWindow.resx
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,9 @@
<metadata name="AvailableVersion.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="LatestVersion.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PkgDescription.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
Expand All @@ -154,7 +157,7 @@
<data name="toolstripbuttonRefreshCache.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
Expand All @@ -169,7 +172,7 @@
<data name="toolstripbuttonApplyChanges.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
Expand All @@ -184,7 +187,7 @@
<data name="toolstripbuttonProperties.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
Expand All @@ -199,7 +202,7 @@
<data name="toolstripsplitbuttonSearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
Expand Down
14 changes: 11 additions & 3 deletions guinget/MainWindow.vb
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Public Class aaformMainWindow
'MessageBox.Show(SqliteList.Rows.Item(0).ToString)
'aaformMainWindow.datagridviewPackageList.DataSource = SqliteList
For Each PackageRow As DataRow In SqliteList.Rows
aaformMainWindow.datagridviewPackageList.Rows.Add("Do nothing", "Unknown", PackageRow.Item(0), PackageRow.Item(1), PackageRow.Item(2), "Loading...", "Loading...")
aaformMainWindow.datagridviewPackageList.Rows.Add("Do nothing", "Unknown", PackageRow.Item(0), PackageRow.Item(1), PackageRow.Item(2), PackageRow.Item(3), "Loading...", "Loading...")

' Make the progress bar progress.
aaformMainWindow.toolstripprogressbarLoadingPackages.PerformStep()
Expand Down Expand Up @@ -161,9 +161,9 @@ Public Class aaformMainWindow
' Now we need to load the manifests and the descriptions.
For Each PackageRow As DataGridViewRow In aaformMainWindow.datagridviewPackageList.Rows
' Find the manifest and get its description.
PackageRow.Cells.Item(6).Value = Await PackageListTools.FindManifestByVersionAndId(PackageRow.Cells.Item(2).Value.ToString, PackageRow.Cells.Item(4).Value.ToString)
PackageRow.Cells.Item(7).Value = Await PackageListTools.FindManifestByVersionAndId(PackageRow.Cells.Item(2).Value.ToString, PackageRow.Cells.Item(4).Value.ToString)

PackageRow.Cells.Item(5).Value = Await PackageTools.GetPackageInfoFromYamlAsync(PackageRow.Cells.Item(6).Value.ToString, "Description")
PackageRow.Cells.Item(6).Value = Await PackageTools.GetPackageInfoFromYamlAsync(PackageRow.Cells.Item(7).Value.ToString, "Description")
' Make the progress bar progress.
aaformMainWindow.toolstripprogressbarLoadingPackages.Value = PackageRow.Index
' Update the statusbar to show the current info.
Expand All @@ -188,6 +188,14 @@ Public Class aaformMainWindow
' Reset progress bar to 0.
aaformMainWindow.toolstripprogressbarLoadingPackages.Value = 0

For Each PackageRow As DataGridViewRow In aaformMainWindow.datagridviewPackageList.Rows
If Not PackageRow.Cells.Item(2).Value.ToString = PackageRow.Cells.Item(3).Value.ToString Then
PackageRow.Visible = False
Else
PackageRow.Visible = True
End If
Next

' Update the main window again.
aaformMainWindow.Update()

Expand Down
12 changes: 12 additions & 0 deletions guinget/My Project/Settings.Designer.vb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions guinget/My Project/Settings.settings
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,8 @@
<Setting Name="DebuggingBypassCacheUpdate" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="HideOlderPackageVersions" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
</Settings>
</SettingsFile>
20 changes: 17 additions & 3 deletions libguinget/PackageListTools.vb
Original file line number Diff line number Diff line change
Expand Up @@ -521,6 +521,19 @@ Public Class PackageListTools
" names where manifest.id = ids._rowid_ and manifest.version = versions._rowid_ " &
" and manifest.name = names._rowid_ order by ids.id;"

Dim SqlQueryWithLatestVersion As String = "SELECT DISTINCT
ids.id, manifest.id, versions.version, manifest.version, names.name, manifest.name,
LAST_VALUE ( versions.version ) OVER (
PARTITION by ids.id
ORDER BY ids.id
RANGE BETWEEN UNBOUNDED PRECEDING AND
UNBOUNDED FOLLOWING
) AS NewestVersion
FROM
ids, manifest, versions, names
WHERE
manifest.id = ids._rowid_ and manifest.version = versions._rowid_ and manifest.name = names._rowid_;"

' Specify winget package list database file we want
' to read from.
Dim PackageListPath As String = "Data Source=" & Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) &
Expand All @@ -532,7 +545,7 @@ Public Class PackageListTools
SqlConnection.Open()

SqlCommand.Connection = SqlConnection
SqlCommand.CommandText = SqlQuery
SqlCommand.CommandText = SqlQueryWithLatestVersion
SqlDataReader = SqlCommand.ExecuteReader()


Expand All @@ -545,6 +558,7 @@ Public Class PackageListTools
packageArray.Columns.Add("PackageId", GetType(String))
packageArray.Columns.Add("PackageName", GetType(String))
packageArray.Columns.Add("PackageVersion", GetType(String))
packageArray.Columns.Add("PackageLatestVersion", GetType(String))

' Get data from the name column based on this MSDN page:
' https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/retrieving-data-using-a-datareader
Expand All @@ -555,8 +569,8 @@ Public Class PackageListTools
' looking at with the current package and add a comma
' for separation.

' Column 0 is ID, 4 is Name, and 2 is Version.
packageArray.Rows.Add(SqlDataReader.GetValue(0), SqlDataReader.GetValue(4), SqlDataReader.GetValue(2))
' Column 0 is ID, 4 is Name, 2 is Version, and 6 is latest version.
packageArray.Rows.Add(SqlDataReader.GetValue(0), SqlDataReader.GetValue(4), SqlDataReader.GetValue(2), SqlDataReader.GetValue(6))
Loop
End If

Expand Down

0 comments on commit fb80a9d

Please sign in to comment.