@@ -8,8 +8,26 @@ import qs.Widgets
88FloatingWindow {
99 id: settingsModal
1010
11- property alias profileBrowser: profileBrowser
12- property alias wallpaperBrowser: wallpaperBrowser
11+ property var profileBrowser: profileBrowserLoader .item
12+ property var wallpaperBrowser: wallpaperBrowserLoader .item
13+
14+ function openProfileBrowser (allowStacking ) {
15+ profileBrowserLoader .active = true ;
16+ if (! profileBrowserLoader .item )
17+ return ;
18+ if (allowStacking !== undefined )
19+ profileBrowserLoader .item .allowStacking = allowStacking;
20+ profileBrowserLoader .item .open ();
21+ }
22+
23+ function openWallpaperBrowser (allowStacking ) {
24+ wallpaperBrowserLoader .active = true ;
25+ if (! wallpaperBrowserLoader .item )
26+ return ;
27+ if (allowStacking !== undefined )
28+ wallpaperBrowserLoader .item .allowStacking = allowStacking;
29+ wallpaperBrowserLoader .item .open ();
30+ }
1331 property alias sidebar: sidebar
1432 property int currentTabIndex: 0
1533 property bool shouldHaveFocus: visible
@@ -96,41 +114,51 @@ FloatingWindow {
96114 }
97115 }
98116
99- FileBrowserModal {
100- id: profileBrowser
101-
102- allowStacking: true
103- parentModal: settingsModal
104- browserTitle: I18n .tr (" Select Profile Image" , " profile image file browser title" )
105- browserIcon: " person"
106- browserType: " profile"
107- showHiddenFiles: true
108- fileExtensions: [" *.jpg" , " *.jpeg" , " *.png" , " *.bmp" , " *.gif" , " *.webp" ]
109- onFileSelected : path => {
110- PortalService .setProfileImage (path);
111- close ();
112- }
113- onDialogClosed : () => {
114- allowStacking = true ;
117+ LazyLoader {
118+ id: profileBrowserLoader
119+ active: false
120+
121+ FileBrowserModal {
122+ id: profileBrowserItem
123+
124+ allowStacking: true
125+ parentModal: settingsModal
126+ browserTitle: I18n .tr (" Select Profile Image" , " profile image file browser title" )
127+ browserIcon: " person"
128+ browserType: " profile"
129+ showHiddenFiles: true
130+ fileExtensions: [" *.jpg" , " *.jpeg" , " *.png" , " *.bmp" , " *.gif" , " *.webp" ]
131+ onFileSelected : path => {
132+ PortalService .setProfileImage (path);
133+ close ();
134+ }
135+ onDialogClosed : () => {
136+ allowStacking = true ;
137+ }
115138 }
116139 }
117140
118- FileBrowserModal {
119- id: wallpaperBrowser
120-
121- allowStacking: true
122- parentModal: settingsModal
123- browserTitle: I18n .tr (" Select Wallpaper" , " wallpaper file browser title" )
124- browserIcon: " wallpaper"
125- browserType: " wallpaper"
126- showHiddenFiles: true
127- fileExtensions: [" *.jpg" , " *.jpeg" , " *.png" , " *.bmp" , " *.gif" , " *.webp" ]
128- onFileSelected : path => {
129- SessionData .setWallpaper (path);
130- close ();
131- }
132- onDialogClosed : () => {
133- allowStacking = true ;
141+ LazyLoader {
142+ id: wallpaperBrowserLoader
143+ active: false
144+
145+ FileBrowserModal {
146+ id: wallpaperBrowserItem
147+
148+ allowStacking: true
149+ parentModal: settingsModal
150+ browserTitle: I18n .tr (" Select Wallpaper" , " wallpaper file browser title" )
151+ browserIcon: " wallpaper"
152+ browserType: " wallpaper"
153+ showHiddenFiles: true
154+ fileExtensions: [" *.jpg" , " *.jpeg" , " *.png" , " *.bmp" , " *.gif" , " *.webp" ]
155+ onFileSelected : path => {
156+ SessionData .setWallpaper (path);
157+ close ();
158+ }
159+ onDialogClosed : () => {
160+ allowStacking = true ;
161+ }
134162 }
135163 }
136164
0 commit comments