@@ -27,7 +27,7 @@ func AddMainMenu(
27
27
gateway * server.Gateway ,
28
28
getMagnetLink func () string ,
29
29
cancel func (),
30
- ) (* adw.PreferencesDialog , * adw.EntryRow ) {
30
+ ) (* adw.PreferencesWindow , * adw.EntryRow ) {
31
31
menuBuilder := gtk .NewBuilderFromResource (resources .GResourceMenuPath )
32
32
menu := menuBuilder .GetObject ("main-menu" ).Cast ().(* gio.Menu )
33
33
@@ -37,7 +37,7 @@ func AddMainMenu(
37
37
aboutDialog .SetCopyright ("© 2024 Felicitas Pojtinger" )
38
38
39
39
preferencesBuilder := gtk .NewBuilderFromResource (resources .GResourcePreferencesPath )
40
- preferencesDialog := preferencesBuilder .GetObject ("preferences-dialog" ).Cast ().(* adw.PreferencesDialog )
40
+ preferencesDialog := preferencesBuilder .GetObject ("preferences-dialog" ).Cast ().(* adw.PreferencesWindow )
41
41
storageLocationInput := preferencesBuilder .GetObject ("storage-location-input" ).Cast ().(* gtk.Button )
42
42
mpvCommandInput := preferencesBuilder .GetObject ("mpv-command-input" ).Cast ().(* adw.EntryRow )
43
43
verbosityLevelInput := preferencesBuilder .GetObject ("verbosity-level-input" ).Cast ().(* adw.SpinRow )
@@ -54,7 +54,7 @@ func AddMainMenu(
54
54
55
55
preferencesAction := gio .NewSimpleAction (preferencesActionName , nil )
56
56
preferencesAction .ConnectActivate (func (parameter * glib.Variant ) {
57
- preferencesDialog .Present (& window . Window )
57
+ preferencesDialog .Present ()
58
58
})
59
59
app .SetAccelsForAction ("win." + preferencesActionName , []string {`<Primary>comma` })
60
60
window .AddAction (preferencesAction )
@@ -77,7 +77,11 @@ func AddMainMenu(
77
77
window .AddAction (copyMagnetLinkAction )
78
78
}
79
79
80
- preferencesDialog .ConnectClosed (func () {
80
+ preferencesDialog .SetTransientFor (& window .Window )
81
+ preferencesDialog .ConnectCloseRequest (func () (ok bool ) {
82
+ preferencesDialog .Close ()
83
+ preferencesDialog .SetVisible (false )
84
+
81
85
if preferencesHaveChanged {
82
86
settings .Apply ()
83
87
@@ -89,6 +93,8 @@ func AddMainMenu(
89
93
}
90
94
91
95
preferencesHaveChanged = false
96
+
97
+ return ok
92
98
})
93
99
94
100
syncSensitivityState := func () {
0 commit comments