Skip to content

Commit a64df28

Browse files
jmacatomaxkatz6
authored andcommitted
Merge pull request #12730 from affederaffe/fix-vala-panel-global-menu
Use Tmds.DBus.SourceGenerator 0.0.10
1 parent 6fb3c0e commit a64df28

File tree

7 files changed

+14
-12
lines changed

7 files changed

+14
-12
lines changed

src/Avalonia.FreeDesktop/Avalonia.FreeDesktop.csproj

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<ItemGroup>
1515
<PackageReference Include="Tmds.DBus.Protocol" Version="0.15.0" />
16-
<PackageReference Include="Tmds.DBus.SourceGenerator" Version="0.0.8" PrivateAssets="All" />
16+
<PackageReference Include="Tmds.DBus.SourceGenerator" Version="0.0.10" PrivateAssets="All" />
1717
</ItemGroup>
1818

1919
<ItemGroup>
@@ -26,19 +26,22 @@
2626
</ItemGroup>
2727

2828
<ItemGroup>
29-
<AdditionalFiles Include="DBusXml/DBus.xml" DBusGeneratorMode="Proxy" />
30-
<AdditionalFiles Include="DBusXml/StatusNotifierWatcher.xml" DBusGeneratorMode="Proxy" />
3129
<AdditionalFiles Include="DBusXml/com.canonical.AppMenu.Registrar.xml" DBusGeneratorMode="Proxy" />
30+
<AdditionalFiles Include="DBusXml/com.canonical.dbusmenu.xml" DBusGeneratorMode="Handler" />
31+
3232
<AdditionalFiles Include="DBusXml/org.fcitx.Fcitx.InputContext.xml" DBusGeneratorMode="Proxy" />
3333
<AdditionalFiles Include="DBusXml/org.fcitx.Fcitx.InputMethod.xml" DBusGeneratorMode="Proxy" />
3434
<AdditionalFiles Include="DBusXml/org.fcitx.Fcitx.InputContext1.xml" DBusGeneratorMode="Proxy" />
3535
<AdditionalFiles Include="DBusXml/org.fcitx.Fcitx.InputMethod1.xml" DBusGeneratorMode="Proxy" />
36+
37+
<AdditionalFiles Include="DBusXml/org.freedesktop.DBus.xml" DBusGeneratorMode="Proxy" />
3638
<AdditionalFiles Include="DBusXml/org.freedesktop.IBus.Portal.xml" DBusGeneratorMode="Proxy" />
3739
<AdditionalFiles Include="DBusXml/org.freedesktop.portal.FileChooser.xml" DBusGeneratorMode="Proxy" />
3840
<AdditionalFiles Include="DBusXml/org.freedesktop.portal.Request.xml" DBusGeneratorMode="Proxy" />
3941
<AdditionalFiles Include="DBusXml/org.freedesktop.portal.Settings.xml" DBusGeneratorMode="Proxy" />
40-
<AdditionalFiles Include="DBusXml/DBusMenu.xml" DBusGeneratorMode="Handler" />
41-
<AdditionalFiles Include="DBusXml/StatusNotifierItem.xml" DBusGeneratorMode="Handler" />
42+
43+
<AdditionalFiles Include="DBusXml/org.kde.StatusNotifierWatcher.xml" DBusGeneratorMode="Proxy" />
44+
<AdditionalFiles Include="DBusXml/org.kde.StatusNotifierItem.xml" DBusGeneratorMode="Handler" />
4245
</ItemGroup>
4346

4447
</Project>

src/Avalonia.FreeDesktop/DBusMenuExporter.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public DBusMenuExporterImpl(Connection connection, string path) : this()
5858

5959
private DBusMenuExporterImpl()
6060
{
61+
BackingProperties.Version = 4;
6162
BackingProperties.Status = string.Empty;
6263
BackingProperties.TextDirection = string.Empty;
6364
BackingProperties.IconThemePath = Array.Empty<string>();
@@ -280,11 +281,9 @@ private int GetId(NativeMenuItemBase item)
280281
if (loader is not null)
281282
{
282283
var icon = loader.LoadIcon(item.Icon.PlatformImpl.Item);
283-
284284
using var ms = new MemoryStream();
285285
icon.Save(ms);
286-
return new DBusVariantItem("ay",
287-
new DBusArrayItem(DBusType.Byte, ms.ToArray().Select(static x => new DBusByteItem(x))));
286+
return new DBusVariantItem("ay", new DBusByteArrayItem(ms.ToArray()));
288287
}
289288
}
290289
}
@@ -325,7 +324,7 @@ private static Dictionary<string, DBusVariantItem> GetProperties((NativeMenuItem
325324
children[c] = new DBusVariantItem("(ia{sv}av)", new DBusStructItem(new DBusItem[]
326325
{
327326
new DBusInt32Item(layout.Item1),
328-
new DBusArrayItem(DBusType.DictEntry, layout.Item2.Select(static x => new DBusDictEntryItem(new DBusStringItem(x.Key), x.Value))),
327+
new DBusArrayItem(DBusType.DictEntry, layout.Item2.Select(static x => new DBusDictEntryItem(new DBusStringItem(x.Key), x.Value)).ToArray()),
329328
new DBusArrayItem(DBusType.Variant, layout.Item3)
330329
}));
331330
}

src/Avalonia.FreeDesktop/DBusSystemDialog.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public override async Task<IReadOnlyList<IStorageFile>> OpenFilePickerAsync(File
8888
if (options.SuggestedFileName is { } currentName)
8989
chooserOptions.Add("current_name", new DBusVariantItem("s", new DBusStringItem(currentName)));
9090
if (options.SuggestedStartLocation?.TryGetLocalPath() is { } folderPath)
91-
chooserOptions.Add("current_folder", new DBusVariantItem("ay", new DBusArrayItem(DBusType.Byte, Encoding.UTF8.GetBytes(folderPath).Select(static x => new DBusByteItem(x)))));
91+
chooserOptions.Add("current_folder", new DBusVariantItem("ay", new DBusByteArrayItem(Encoding.UTF8.GetBytes(folderPath))));
9292

9393
objectPath = await _fileChooser.SaveFileAsync(parentWindow, options.Title ?? string.Empty, chooserOptions);
9494
var request = new OrgFreedesktopPortalRequest(_connection, "org.freedesktop.portal.Desktop", objectPath);
@@ -149,7 +149,7 @@ public override async Task<IReadOnlyList<IStorageFolder>> OpenFolderPickerAsync(
149149
if (fileTypes is null)
150150
return null;
151151

152-
var filters = new DBusArrayItem(DBusType.Struct, new List<DBusItem>());
152+
var filters = new List<DBusItem>();
153153

154154
foreach (var fileType in fileTypes)
155155
{
@@ -173,7 +173,7 @@ public override async Task<IReadOnlyList<IStorageFolder>> OpenFolderPickerAsync(
173173
}));
174174
}
175175

176-
return filters.Count > 0 ? new DBusVariantItem("a(sa(us))", filters) : null;
176+
return filters.Count > 0 ? new DBusVariantItem("a(sa(us))", new DBusArrayItem(DBusType.Struct, filters)) : null;
177177
}
178178
}
179179
}

0 commit comments

Comments
 (0)