Skip to content

Commit 0a3e614

Browse files
authored
Open taskbar-pinned folders in existing instance (#1462)
2 parents 287b2cb + 6602f5a commit 0a3e614

23 files changed

+294
-3
lines changed

Files/App.xaml.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,15 +214,29 @@ protected override void OnLaunched(LaunchActivatedEventArgs e)
214214
// parameter
215215
rootFrame.Navigate(typeof(MainPage), e.Arguments, new SuppressNavigationTransitionInfo());
216216
}
217+
else
218+
{
219+
(rootFrame.Content as InstanceTabsView).AddNewTab(typeof(Views.Pages.ModernShellPage), e.Arguments);
220+
}
217221

218222
// Ensure the current window is active
219223
Window.Current.Activate();
220224
Window.Current.CoreWindow.PointerPressed += CoreWindow_PointerPressed;
225+
Window.Current.CoreWindow.Activated += CoreWindow_Activated;
221226
var currentView = SystemNavigationManager.GetForCurrentView();
222227
currentView.BackRequested += Window_BackRequested;
223228
}
224229
}
225230

231+
private void CoreWindow_Activated(CoreWindow sender, WindowActivatedEventArgs args)
232+
{
233+
if (args.WindowActivationState == CoreWindowActivationState.CodeActivated ||
234+
args.WindowActivationState == CoreWindowActivationState.PointerActivated)
235+
{
236+
ApplicationData.Current.LocalSettings.Values["INSTANCE_ACTIVE"] = Process.GetCurrentProcess().Id;
237+
}
238+
}
239+
226240
private void Window_BackRequested(object sender, BackRequestedEventArgs e)
227241
{
228242
if (App.CurrentInstance.ContentFrame.CanGoBack)
@@ -267,6 +281,7 @@ protected override async void OnActivated(IActivatedEventArgs args)
267281
// Ensure the current window is active.
268282
Window.Current.Activate();
269283
Window.Current.CoreWindow.PointerPressed += CoreWindow_PointerPressed;
284+
Window.Current.CoreWindow.Activated += CoreWindow_Activated;
270285
currentView.BackRequested += Window_BackRequested;
271286
return;
272287

@@ -290,6 +305,7 @@ protected override async void OnActivated(IActivatedEventArgs args)
290305
// Ensure the current window is active.
291306
Window.Current.Activate();
292307
Window.Current.CoreWindow.PointerPressed += CoreWindow_PointerPressed;
308+
Window.Current.CoreWindow.Activated += CoreWindow_Activated;
293309
currentView.BackRequested += Window_BackRequested;
294310
return;
295311

@@ -304,6 +320,7 @@ protected override async void OnActivated(IActivatedEventArgs args)
304320
// Ensure the current window is active.
305321
Window.Current.Activate();
306322
Window.Current.CoreWindow.PointerPressed += CoreWindow_PointerPressed;
323+
Window.Current.CoreWindow.Activated += CoreWindow_Activated;
307324
currentView.BackRequested += Window_BackRequested;
308325

309326
return;
@@ -325,6 +342,7 @@ protected override async void OnActivated(IActivatedEventArgs args)
325342
// Ensure the current window is active.
326343
Window.Current.Activate();
327344
Window.Current.CoreWindow.PointerPressed += CoreWindow_PointerPressed;
345+
Window.Current.CoreWindow.Activated += CoreWindow_Activated;
328346
currentView.BackRequested += Window_BackRequested;
329347
return;
330348
}
@@ -338,6 +356,7 @@ protected override async void OnActivated(IActivatedEventArgs args)
338356
// Ensure the current window is active.
339357
Window.Current.Activate();
340358
Window.Current.CoreWindow.PointerPressed += CoreWindow_PointerPressed;
359+
Window.Current.CoreWindow.Activated += CoreWindow_Activated;
341360
}
342361

343362
private void TryEnablePrelaunch()

Files/MultilingualResources/Files.de-DE.xlf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -993,6 +993,18 @@
993993
<source>Remove Page</source>
994994
<target state="new">Remove Page</target>
995995
</trans-unit>
996+
<trans-unit id="SettingsOnStartupNewInstanceBehaviour.Text" translate="yes" xml:space="preserve">
997+
<source>When launching a pinned folder</source>
998+
<target state="new">When launching a pinned folder</target>
999+
</trans-unit>
1000+
<trans-unit id="SettingsOnStartupLaunchNewInstance.Content" translate="yes" xml:space="preserve">
1001+
<source>Always open a new instance</source>
1002+
<target state="new">Always open a new instance</target>
1003+
</trans-unit>
1004+
<trans-unit id="SettingsOnStartupLaunchNewTab.Content" translate="yes" xml:space="preserve">
1005+
<source>Open folder in a new tab</source>
1006+
<target state="new">Open folder in a new tab</target>
1007+
</trans-unit>
9961008
<trans-unit id="SettingsPreferencesSystemDefaultLanguageOption" translate="yes" xml:space="preserve">
9971009
<source>Windows default</source>
9981010
<target state="new">Windows default</target>

Files/MultilingualResources/Files.es-ES.xlf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -987,6 +987,18 @@
987987
<source>Remove Page</source>
988988
<target state="translated">Quitar</target>
989989
</trans-unit>
990+
<trans-unit id="SettingsOnStartupNewInstanceBehaviour.Text" translate="yes" xml:space="preserve">
991+
<source>When launching a pinned folder</source>
992+
<target state="new">When launching a pinned folder</target>
993+
</trans-unit>
994+
<trans-unit id="SettingsOnStartupLaunchNewInstance.Content" translate="yes" xml:space="preserve">
995+
<source>Always open a new instance</source>
996+
<target state="new">Always open a new instance</target>
997+
</trans-unit>
998+
<trans-unit id="SettingsOnStartupLaunchNewTab.Content" translate="yes" xml:space="preserve">
999+
<source>Open folder in a new tab</source>
1000+
<target state="new">Open folder in a new tab</target>
1001+
</trans-unit>
9901002
<trans-unit id="SettingsPreferencesSystemDefaultLanguageOption" translate="yes" xml:space="preserve">
9911003
<source>Windows default</source>
9921004
<target state="translated">Predeterminado de windows</target>

Files/MultilingualResources/Files.fr-FR.xlf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -989,6 +989,18 @@
989989
<source>Remove Page</source>
990990
<target state="new">Remove Page</target>
991991
</trans-unit>
992+
<trans-unit id="SettingsOnStartupNewInstanceBehaviour.Text" translate="yes" xml:space="preserve">
993+
<source>When launching a pinned folder</source>
994+
<target state="new">When launching a pinned folder</target>
995+
</trans-unit>
996+
<trans-unit id="SettingsOnStartupLaunchNewInstance.Content" translate="yes" xml:space="preserve">
997+
<source>Always open a new instance</source>
998+
<target state="new">Always open a new instance</target>
999+
</trans-unit>
1000+
<trans-unit id="SettingsOnStartupLaunchNewTab.Content" translate="yes" xml:space="preserve">
1001+
<source>Open folder in a new tab</source>
1002+
<target state="new">Open folder in a new tab</target>
1003+
</trans-unit>
9921004
<trans-unit id="SettingsPreferencesSystemDefaultLanguageOption" translate="yes" xml:space="preserve">
9931005
<source>Windows default</source>
9941006
<target state="new">Windows default</target>

Files/MultilingualResources/Files.he-IL.xlf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -986,6 +986,18 @@
986986
<source>Remove Page</source>
987987
<target state="new">Remove Page</target>
988988
</trans-unit>
989+
<trans-unit id="SettingsOnStartupNewInstanceBehaviour.Text" translate="yes" xml:space="preserve">
990+
<source>When launching a pinned folder</source>
991+
<target state="new">When launching a pinned folder</target>
992+
</trans-unit>
993+
<trans-unit id="SettingsOnStartupLaunchNewInstance.Content" translate="yes" xml:space="preserve">
994+
<source>Always open a new instance</source>
995+
<target state="new">Always open a new instance</target>
996+
</trans-unit>
997+
<trans-unit id="SettingsOnStartupLaunchNewTab.Content" translate="yes" xml:space="preserve">
998+
<source>Open folder in a new tab</source>
999+
<target state="new">Open folder in a new tab</target>
1000+
</trans-unit>
9891001
<trans-unit id="SettingsPreferencesSystemDefaultLanguageOption" translate="yes" xml:space="preserve">
9901002
<source>Windows default</source>
9911003
<target state="new">Windows default</target>

Files/MultilingualResources/Files.hi-IN.xlf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -995,6 +995,18 @@
995995
<source>Remove Page</source>
996996
<target state="new">Remove Page</target>
997997
</trans-unit>
998+
<trans-unit id="SettingsOnStartupNewInstanceBehaviour.Text" translate="yes" xml:space="preserve">
999+
<source>When launching a pinned folder</source>
1000+
<target state="new">When launching a pinned folder</target>
1001+
</trans-unit>
1002+
<trans-unit id="SettingsOnStartupLaunchNewInstance.Content" translate="yes" xml:space="preserve">
1003+
<source>Always open a new instance</source>
1004+
<target state="new">Always open a new instance</target>
1005+
</trans-unit>
1006+
<trans-unit id="SettingsOnStartupLaunchNewTab.Content" translate="yes" xml:space="preserve">
1007+
<source>Open folder in a new tab</source>
1008+
<target state="new">Open folder in a new tab</target>
1009+
</trans-unit>
9981010
<trans-unit id="SettingsPreferencesSystemDefaultLanguageOption" translate="yes" xml:space="preserve">
9991011
<source>Windows default</source>
10001012
<target state="new">Windows default</target>

Files/MultilingualResources/Files.it-IT.xlf

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -965,7 +965,7 @@
965965
</trans-unit>
966966
<trans-unit id="SettingsPreferencesAppLanguageRestartRequired.Text" translate="yes" xml:space="preserve">
967967
<source>Restart required</source>
968-
<target state="translated">Riavvio richiestp</target>
968+
<target state="translated">Riavvio richiesto</target>
969969
</trans-unit>
970970
<trans-unit id="syncStatusColumn.Header" translate="yes" xml:space="preserve">
971971
<source>Status</source>
@@ -987,6 +987,18 @@
987987
<source>Remove Page</source>
988988
<target state="new">Remove Page</target>
989989
</trans-unit>
990+
<trans-unit id="SettingsOnStartupNewInstanceBehaviour.Text" translate="yes" xml:space="preserve">
991+
<source>When launching a pinned folder</source>
992+
<target state="translated">Quando si apre una cartella</target>
993+
</trans-unit>
994+
<trans-unit id="SettingsOnStartupLaunchNewInstance.Content" translate="yes" xml:space="preserve">
995+
<source>Always open a new instance</source>
996+
<target state="translated">Apri sempre una nuova finestra</target>
997+
</trans-unit>
998+
<trans-unit id="SettingsOnStartupLaunchNewTab.Content" translate="yes" xml:space="preserve">
999+
<source>Open folder in a new tab</source>
1000+
<target state="translated">Apri la cartella in una nuova scheda</target>
1001+
</trans-unit>
9901002
<trans-unit id="SettingsPreferencesSystemDefaultLanguageOption" translate="yes" xml:space="preserve">
9911003
<source>Windows default</source>
9921004
<target state="new">Windows default</target>

Files/MultilingualResources/Files.ja-JP.xlf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -988,6 +988,18 @@
988988
<source>Remove Page</source>
989989
<target state="new">Remove Page</target>
990990
</trans-unit>
991+
<trans-unit id="SettingsOnStartupNewInstanceBehaviour.Text" translate="yes" xml:space="preserve">
992+
<source>When launching a pinned folder</source>
993+
<target state="new">When launching a pinned folder</target>
994+
</trans-unit>
995+
<trans-unit id="SettingsOnStartupLaunchNewInstance.Content" translate="yes" xml:space="preserve">
996+
<source>Always open a new instance</source>
997+
<target state="new">Always open a new instance</target>
998+
</trans-unit>
999+
<trans-unit id="SettingsOnStartupLaunchNewTab.Content" translate="yes" xml:space="preserve">
1000+
<source>Open folder in a new tab</source>
1001+
<target state="new">Open folder in a new tab</target>
1002+
</trans-unit>
9911003
<trans-unit id="SettingsPreferencesSystemDefaultLanguageOption" translate="yes" xml:space="preserve">
9921004
<source>Windows default</source>
9931005
<target state="new">Windows default</target>

Files/MultilingualResources/Files.nl-NL.xlf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -989,6 +989,18 @@
989989
<source>Remove Page</source>
990990
<target state="new">Remove Page</target>
991991
</trans-unit>
992+
<trans-unit id="SettingsOnStartupNewInstanceBehaviour.Text" translate="yes" xml:space="preserve">
993+
<source>When launching a pinned folder</source>
994+
<target state="new">When launching a pinned folder</target>
995+
</trans-unit>
996+
<trans-unit id="SettingsOnStartupLaunchNewInstance.Content" translate="yes" xml:space="preserve">
997+
<source>Always open a new instance</source>
998+
<target state="new">Always open a new instance</target>
999+
</trans-unit>
1000+
<trans-unit id="SettingsOnStartupLaunchNewTab.Content" translate="yes" xml:space="preserve">
1001+
<source>Open folder in a new tab</source>
1002+
<target state="new">Open folder in a new tab</target>
1003+
</trans-unit>
9921004
<trans-unit id="SettingsPreferencesSystemDefaultLanguageOption" translate="yes" xml:space="preserve">
9931005
<source>Windows default</source>
9941006
<target state="new">Windows default</target>

Files/MultilingualResources/Files.or-IN.xlf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -996,6 +996,18 @@
996996
<source>Remove Page</source>
997997
<target state="new">Remove Page</target>
998998
</trans-unit>
999+
<trans-unit id="SettingsOnStartupNewInstanceBehaviour.Text" translate="yes" xml:space="preserve">
1000+
<source>When launching a pinned folder</source>
1001+
<target state="new">When launching a pinned folder</target>
1002+
</trans-unit>
1003+
<trans-unit id="SettingsOnStartupLaunchNewInstance.Content" translate="yes" xml:space="preserve">
1004+
<source>Always open a new instance</source>
1005+
<target state="new">Always open a new instance</target>
1006+
</trans-unit>
1007+
<trans-unit id="SettingsOnStartupLaunchNewTab.Content" translate="yes" xml:space="preserve">
1008+
<source>Open folder in a new tab</source>
1009+
<target state="new">Open folder in a new tab</target>
1010+
</trans-unit>
9991011
<trans-unit id="SettingsPreferencesSystemDefaultLanguageOption" translate="yes" xml:space="preserve">
10001012
<source>Windows default</source>
10011013
<target state="new">Windows default</target>

0 commit comments

Comments
 (0)