Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
3785a90
Add WelcomeWindow and temp menu in tray to test
onesounds Nov 30, 2021
df9ddb0
Add Custom TitleBar
onesounds Nov 30, 2021
699bcfd
add button and adjust color
onesounds Nov 30, 2021
37a8f26
Add Welcome Pages
onesounds Nov 30, 2021
65fe891
Add Page Navigation
onesounds Nov 30, 2021
e2ff4c2
Add Welcome Images and Adjust Pages
onesounds Nov 30, 2021
16dc996
- Change Text to String
onesounds Nov 30, 2021
39b6267
Add Hotkey Data & List Style
onesounds Nov 30, 2021
fb60c5b
Change page image
onesounds Dec 1, 2021
7e2a3bc
Adjust Content
onesounds Dec 1, 2021
05c1466
Assign Setting to Welcome Page
taooceros Dec 2, 2021
6043930
Fix two binding
taooceros Dec 2, 2021
ff7b986
Update PageNumber
taooceros Dec 2, 2021
0cf7fa7
Fix PageNubmerDisplay
onesounds Dec 2, 2021
0982198
Fix HideOnstartup Checkbox
onesounds Dec 2, 2021
2bfbba9
Add Done button Binding in page5
onesounds Dec 2, 2021
25f71e8
Change Text to String
onesounds Dec 2, 2021
61a5fd1
Add CheckFirstLaucnh Setting
onesounds Dec 2, 2021
d4532d6
- Add and adjust Korean translation
onesounds Dec 2, 2021
a6f1e7f
chage welcomewindow text to string
onesounds Dec 2, 2021
85fbdd1
Change Pages to ui:Page (modernWPF)
onesounds Dec 2, 2021
0d6a9c7
Revise the parameter assigning process & change navigation transition
taooceros Dec 2, 2021
610e9de
Merge branch 'WelcomeWindow' of github.com:onesounds/Flow.Launcher in…
taooceros Dec 2, 2021
0092805
Fix duplicated header
onesounds Dec 2, 2021
5654ebb
Add wizard image in page 1
onesounds Dec 2, 2021
d72c685
Remove Keyboard Image
onesounds Dec 2, 2021
d257040
change ko translataion
onesounds Dec 2, 2021
848ee1c
adjust ko text
onesounds Dec 2, 2021
cffdb07
Merge branch 'dev' into WelcomeWindow
onesounds Dec 2, 2021
56b9f4f
Add ko translation
onesounds Dec 2, 2021
430a126
Change En String (deefrawley)
onesounds Dec 3, 2021
a632cea
Adjust Korean
onesounds Dec 3, 2021
3d07ab5
adjust ko string
onesounds Dec 3, 2021
2cedd1b
change weather tip as action keyword is no longer required
jjw24 Dec 3, 2021
a94e6a3
update code format
jjw24 Dec 3, 2021
af2fae5
update code format
jjw24 Dec 3, 2021
f3c0c33
Change Default HideOnStartup to true
onesounds Dec 3, 2021
0ed52a2
- change string vs to sn (sticky notes)
onesounds Dec 3, 2021
ef7f471
Fix Save in CheckFristLaunch
onesounds Dec 3, 2021
35838b2
Revise Hotkey control logic to remove hotkey at focus and add it back…
taooceros Dec 3, 2021
1f5478d
Fix incompatible delegate type
taooceros Dec 3, 2021
c8a9c29
Clear Focus after 500ms user no input hotkey
taooceros Dec 3, 2021
4127999
update wording
jjw24 Dec 4, 2021
3b5b840
Fix CustomHotkey Listview Height
onesounds Dec 4, 2021
69b0dc9
Merge branch 'WelcomeWindow' of https://github.com/onesounds/Flow.Lau…
onesounds Dec 4, 2021
178776f
fix popup empty when same key press, add reset pop msg when lost focus
jjw24 Dec 4, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Flow.Launcher.Infrastructure/UserSettings/Settings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public string Language
public string ResultFontWeight { get; set; }
public string ResultFontStretch { get; set; }
public bool UseGlyphIcons { get; set; } = true;
public bool FirstLaunch { get; set; } = true;

public int CustomExplorerIndex { get; set; } = 0;

Expand Down Expand Up @@ -134,7 +135,7 @@ public string QuerySearchPrecisionString
public bool EnableUpdateLog { get; set; }

public bool StartFlowLauncherOnSystemStartup { get; set; } = false;
public bool HideOnStartup { get; set; }
public bool HideOnStartup { get; set; } = true;
bool _hideNotifyIcon { get; set; }
public bool HideNotifyIcon
{
Expand Down
3 changes: 2 additions & 1 deletion Flow.Launcher/HotkeyControl.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
VerticalContentAlignment="Center"
input:InputMethod.IsInputMethodEnabled="False"
PreviewKeyDown="TbHotkey_OnPreviewKeyDown"
TabIndex="100" />
TabIndex="100"
LostFocus="tbHotkey_LostFocus"/>
</Grid>
</UserControl>
43 changes: 33 additions & 10 deletions Flow.Launcher/HotkeyControl.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,16 @@
using Flow.Launcher.Helper;
using Flow.Launcher.Infrastructure.Hotkey;
using Flow.Launcher.Plugin;
using System.Threading;

namespace Flow.Launcher
{
public partial class HotkeyControl : UserControl
{
private Brush tbMsgForegroundColorOriginal;

private string tbMsgTextOriginal;

public HotkeyModel CurrentHotkey { get; private set; }
public bool CurrentHotkeyAvailable { get; private set; }

Expand All @@ -23,15 +28,22 @@ public partial class HotkeyControl : UserControl
public HotkeyControl()
{
InitializeComponent();
tbMsgTextOriginal = tbMsg.Text;
tbMsgForegroundColorOriginal = tbMsg.Foreground;
}

void TbHotkey_OnPreviewKeyDown(object sender, KeyEventArgs e)
private CancellationTokenSource hotkeyUpdateSource;

private void TbHotkey_OnPreviewKeyDown(object sender, KeyEventArgs e)
{
hotkeyUpdateSource?.Cancel();
hotkeyUpdateSource?.Dispose();
hotkeyUpdateSource = new();
var token = hotkeyUpdateSource.Token;
e.Handled = true;
tbMsg.Visibility = Visibility.Hidden;

//when alt is pressed, the real key should be e.SystemKey
Key key = (e.Key == Key.System ? e.SystemKey : e.Key);
Key key = e.Key == Key.System ? e.SystemKey : e.Key;

SpecialKeyState specialKeyState = GlobalHotkey.Instance.CheckModifiers();

Expand All @@ -49,14 +61,15 @@ void TbHotkey_OnPreviewKeyDown(object sender, KeyEventArgs e)
return;
}

Dispatcher.InvokeAsync(async () =>
_ = Dispatcher.InvokeAsync(async () =>
{
await Task.Delay(500);
SetHotkey(hotkeyModel);
await Task.Delay(500, token);
if (!token.IsCancellationRequested)
await SetHotkey(hotkeyModel);
});
}

public void SetHotkey(HotkeyModel keyModel, bool triggerValidate = true)
public async Task SetHotkey(HotkeyModel keyModel, bool triggerValidate = true)
{
CurrentHotkey = keyModel;

Expand All @@ -78,6 +91,13 @@ public void SetHotkey(HotkeyModel keyModel, bool triggerValidate = true)
}
tbMsg.Visibility = Visibility.Visible;
OnHotkeyChanged();

var token = hotkeyUpdateSource.Token;
await Task.Delay(500, token);
if (token.IsCancellationRequested)
return;
FocusManager.SetFocusedElement(FocusManager.GetFocusScope(this), null);
Keyboard.ClearFocus();
}
}

Expand All @@ -88,9 +108,12 @@ public void SetHotkey(string keyStr, bool triggerValidate = true)

private bool CheckHotkeyAvailability() => HotKeyMapper.CheckAvailability(CurrentHotkey);

public new bool IsFocused
public new bool IsFocused => tbHotkey.IsFocused;

private void tbHotkey_LostFocus(object sender, RoutedEventArgs e)
{
get { return tbHotkey.IsFocused; }
tbMsg.Text = tbMsgTextOriginal;
tbMsg.Foreground = tbMsgForegroundColorOriginal;
}
}
}
}
Binary file added Flow.Launcher/Images/page_img01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Flow.Launcher/Images/wizard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
37 changes: 37 additions & 0 deletions Flow.Launcher/Languages/en.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@
<system:String x:Key="devtool">DevTools</system:String>
<system:String x:Key="settingfolder">Setting Folder</system:String>
<system:String x:Key="logfolder">Log Folder</system:String>
<system:String x:Key="welcomewindow">Wizard</system:String>

<!-- FileManager Setting Dialog -->
<system:String x:Key="fileManagerWindow">Select File Manager</system:String>
Expand Down Expand Up @@ -231,4 +232,40 @@
<system:String x:Key="update_flowlauncher_update_files">Update files</system:String>
<system:String x:Key="update_flowlauncher_update_upadte_description">Update description</system:String>

<!-- Welcome Window -->
<system:String x:Key="Skip">Skip</system:String>
<system:String x:Key="Welcome_Page1_Title">Welcome to Flow Launcher</system:String>
<system:String x:Key="Welcome_Page1_Text01">Hello, this is the first time you are running Flow Launcher!</system:String>
<system:String x:Key="Welcome_Page1_Text02">Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language</system:String>
<system:String x:Key="Welcome_Page2_Title">Search and run all files and applications on your PC</system:String>
<system:String x:Key="Welcome_Page2_Text01">Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse.</system:String>
<system:String x:Key="Welcome_Page2_Text02">Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard.</system:String>
<system:String x:Key="Welcome_Page3_Title">Hotkeys</system:String>
<system:String x:Key="Welcome_Page4_Title">Action Keyword and Commands</system:String>
<system:String x:Key="Welcome_Page4_Text01">Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher.</system:String>
<system:String x:Key="Welcome_Page5_Title">Let's Start Flow Launcher</system:String>
<system:String x:Key="Welcome_Page5_Text01">Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :)</system:String>

<!-- General Guide & Hotkey -->

<system:String x:Key="HotkeyUpDownDesc">Back / Context Menu</system:String>
<system:String x:Key="HotkeyLeftRightDesc">Item Navigation</system:String>
<system:String x:Key="HotkeyShiftEnterDesc">Open Context Menu</system:String>
<system:String x:Key="HotkeyCtrlEnterDesc">Open Contaning Folder</system:String>
<system:String x:Key="HotkeyCtrlShiftEnterDesc">Run as Admin</system:String>
<system:String x:Key="HotkeyCtrlHDesc">Query History</system:String>
<system:String x:Key="HotkeyESCDesc">Back to Result in Context Menu</system:String>
<system:String x:Key="HotkeyRunDesc">Open / Run Selected Item</system:String>
<system:String x:Key="HotkeyCtrlIDesc">Open Setting Window</system:String>
<system:String x:Key="HotkeyF5Desc">Reload Plugin Data</system:String>

<system:String x:Key="RecommendWeather">Weather</system:String>
<system:String x:Key="RecommendWeatherDesc">Weather in Google Result</system:String>
<system:String x:Key="RecommendShell">&gt; ping 8.8.8.8</system:String>
<system:String x:Key="RecommendShellDesc">Shell Command</system:String>
<system:String x:Key="RecommendBluetooth">Bluetooth</system:String>
<system:String x:Key="RecommendBluetoothDesc">Bluetooth in Windows Setting</system:String>
<system:String x:Key="RecommendAcronyms">sn</system:String>
<system:String x:Key="RecommendAcronymsDesc">Sticky Notes</system:String>

</ResourceDictionary>
60 changes: 49 additions & 11 deletions Flow.Launcher/Languages/ko.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!-- MainWindow -->
<system:String x:Key="registerHotkeyFailed">핫키 등록 실패: {0}</system:String>
<system:String x:Key="registerHotkeyFailed">단축키 등록 실패: {0}</system:String>
<system:String x:Key="couldnotStartCmd">{0}을 실행할 수 없습니다.</system:String>
<system:String x:Key="invalidFlowLauncherPluginFileFormat">Flow Launcher 플러그인 파일 형식이 유효하지 않습니다.</system:String>
<system:String x:Key="setAsTopMostInThisQuery">이 쿼리의 최상위로 설정</system:String>
Expand All @@ -16,7 +16,7 @@
<system:String x:Key="iconTrayExit">종료</system:String>
<system:String x:Key="closeWindow">닫기</system:String>
<system:String x:Key="GameMode">게임 모드</system:String>
<system:String x:Key="GameModeToolTip">핫키 사용을 일시중단합니다.</system:String>
<system:String x:Key="GameModeToolTip">단축키 사용을 일시중단합니다.</system:String>

<!-- Setting General -->
<system:String x:Key="flowlauncher_settings">Flow Launcher 설정</system:String>
Expand All @@ -34,7 +34,7 @@
<system:String x:Key="LastQuerySelected">직전 쿼리 내용 선택</system:String>
<system:String x:Key="LastQueryEmpty">직전 쿼리 지우기</system:String>
<system:String x:Key="maxShowResults">표시할 결과 수</system:String>
<system:String x:Key="ignoreHotkeysOnFullscreen">전체화면 모드에서는 핫키 무시</system:String>
<system:String x:Key="ignoreHotkeysOnFullscreen">전체화면 모드에서는 단축키 무시</system:String>
<system:String x:Key="ignoreHotkeysOnFullscreenToolTip">게이머라면 켜는 것을 추천합니다.</system:String>
<system:String x:Key="defaultFileManager">기본 파일관리자</system:String>
<system:String x:Key="defaultFileManagerToolTip">폴더를 열 때 사용할 파일관리자를 선택하세요.</system:String>
Expand Down Expand Up @@ -97,20 +97,20 @@
<system:String x:Key="AnimationTip">일부 UI에 애니메이션을 사용합니다.</system:String>

<!-- Setting Hotkey -->
<system:String x:Key="hotkey">핫키</system:String>
<system:String x:Key="flowlauncherHotkey">Flow Launcher 핫키</system:String>
<system:String x:Key="hotkey">단축키</system:String>
<system:String x:Key="flowlauncherHotkey">Flow Launcher 단축키</system:String>
<system:String x:Key="flowlauncherHotkeyToolTip">Flow Launcher를 열 때 사용할 단축키를 입력합니다.</system:String>
<system:String x:Key="openResultModifiers">결과 선택 단축키</system:String>
<system:String x:Key="openResultModifiersToolTip">결과 목록을 선택하는 단축키입니다.</system:String>
<system:String x:Key="showOpenResultHotkey">단축키 표시</system:String>
<system:String x:Key="showOpenResultHotkeyToolTip">결과창에서 결과 선택 단축키를 표시합니다.</system:String>
<system:String x:Key="customQueryHotkey">사용자지정 쿼리 핫키</system:String>
<system:String x:Key="customQueryHotkey">사용자지정 쿼리 단축키</system:String>
<system:String x:Key="customQuery">쿼리</system:String>
<system:String x:Key="delete">삭제</system:String>
<system:String x:Key="edit">편집</system:String>
<system:String x:Key="add">추가</system:String>
<system:String x:Key="pleaseSelectAnItem">항목을 선택하세요.</system:String>
<system:String x:Key="deleteCustomHotkeyWarning">{0} 플러그인 핫키를 삭제하시겠습니까?</system:String>
<system:String x:Key="deleteCustomHotkeyWarning">{0} 플러그인 단축키를 삭제하시겠습니까?</system:String>
<system:String x:Key="queryWindowShadowEffect">그림자 효과</system:String>
<system:String x:Key="shadowEffectCPUUsage">그림자 효과는 GPU를 사용합니다. 컴퓨터 퍼포먼스가 제한적인 경우 사용을 추천하지 않습니다.</system:String>
<system:String x:Key="windowWidthSize">창 넓이</system:String>
Expand Down Expand Up @@ -152,6 +152,7 @@
<system:String x:Key="devtool">개발자도구</system:String>
<system:String x:Key="settingfolder">설정 폴더</system:String>
<system:String x:Key="logfolder">로그 폴더</system:String>
<system:String x:Key="welcomewindow">마법사</system:String>

<!-- FileManager Setting Dialog -->
<system:String x:Key="fileManagerWindow">파일관리자 선택</system:String>
Expand Down Expand Up @@ -180,15 +181,15 @@
<system:String x:Key="actionkeyword_tips">플러그인을 시작하는데 필요한 액션 키워드를 입력하세요. 액션 키워드를 지정하지 않으려면 *를 사용하세요. 이 경우 키워드를 입력하지 않아도 동작합니다.</system:String>

<!-- Custom Query Hotkey Dialog -->
<system:String x:Key="customeQueryHotkeyTitle">커스텀 플러그인 핫키</system:String>
<system:String x:Key="customeQueryHotkeyTitle">커스텀 플러그인 단축키</system:String>
<system:String x:Key="customeQueryHotkeyTips">단축키를 지정하여 특정 쿼리를 자동으로 입력할 수 있습니다. 사용하고 싶은 단축키를 눌러 지정한 후, 사용할 쿼리를 입력하세요.</system:String>
<system:String x:Key="preview">미리보기</system:String>
<system:String x:Key="hotkeyIsNotUnavailable">핫키를 사용할 수 없습니다. 다른 핫키를 입력하세요.</system:String>
<system:String x:Key="invalidPluginHotkey">플러그인 핫키가 유효하지 않습니다.</system:String>
<system:String x:Key="hotkeyIsNotUnavailable">단축키를 사용할 수 없습니다. 다른 단축키를 입력하세요.</system:String>
<system:String x:Key="invalidPluginHotkey">플러그인 단축키가 유효하지 않습니다.</system:String>
<system:String x:Key="update">업데이트</system:String>

<!-- Hotkey Control -->
<system:String x:Key="hotkeyUnavailable">핫키를 사용할 수 없습니다.</system:String>
<system:String x:Key="hotkeyUnavailable">단축키를 사용할 수 없습니다.</system:String>

<!-- Crash Reporter -->
<system:String x:Key="reportWindow_version">버전</system:String>
Expand Down Expand Up @@ -229,4 +230,41 @@
<system:String x:Key="update_flowlauncher_update_files">업데이트 파일</system:String>
<system:String x:Key="update_flowlauncher_update_upadte_description">업데이트 설명</system:String>


<!-- Welcome Window -->
<system:String x:Key="Skip">건너뛰기</system:String>
<system:String x:Key="Welcome_Page1_Title">Flow Launcher에 오신 것을 환영합니다</system:String>
<system:String x:Key="Welcome_Page1_Text01">안녕하세요, Flow Launcher를 처음 실행하시네요!</system:String>
<system:String x:Key="Welcome_Page1_Text02">시작하기전에 이 마법사가 간단한 설정을 도와드릴겁니다. 물론 건너 뛰셔도 됩니다. 사용하시는 언어를 선택해주세요.</system:String>
<system:String x:Key="Welcome_Page2_Title">PC에서 모든 파일과 프로그램을 검색하고 실행합니다</system:String>
<system:String x:Key="Welcome_Page2_Text01">프로그램, 파일, 즐겨찾기, YouTube, Twitter 등 모든 것을 검색하세요. 마우스에 손대지 않고 키보드만으로 모든 것을 얻을 수 있습니다.</system:String>
<system:String x:Key="Welcome_Page2_Text02">Flow는 아래의 단축키로 실행합니다. 변경하려면 입력창을 선택하고 키보드에서 원하는 단축키를 누릅니다.</system:String>
<system:String x:Key="Welcome_Page3_Title">단축키</system:String>
<system:String x:Key="Welcome_Page4_Title">액션 키워드와 명령어</system:String>
<system:String x:Key="Welcome_Page4_Text01">Flow Launcher는 플러그인을 통해 웹 검색, 프로그램 실행, 다양한 기능을 실행합니다. 특정 기능은 액션 키워드로 시작하며, 필요한 경우 액션 키워드 없이 사용할 수 있습니다. Flow Launcher에서 아래 쿼리를 사용해 보세요.</system:String>
<system:String x:Key="Welcome_Page5_Title">Flow Launcher를 시작합시다</system:String>
<system:String x:Key="Welcome_Page5_Text01">끝났습니다. Flow Launcher를 즐겨주세요. 시작하는 단축키를 잊지마세요 :)</system:String>

<!-- General Guide & Hotkey -->

<system:String x:Key="HotkeyUpDownDesc">뒤로/ 콘텍스트 메뉴</system:String>
<system:String x:Key="HotkeyLeftRightDesc">아이템 이동</system:String>
<system:String x:Key="HotkeyShiftEnterDesc">콘텍스트 메뉴 열기</system:String>
<system:String x:Key="HotkeyCtrlEnterDesc">포함된 폴더 열기</system:String>
<system:String x:Key="HotkeyCtrlShiftEnterDesc">관리자 권한으로 실행</system:String>
<system:String x:Key="HotkeyCtrlHDesc">검색 기록</system:String>
<system:String x:Key="HotkeyESCDesc">콘텍스트 메뉴에서 뒤로 가기</system:String>
<system:String x:Key="HotkeyRunDesc">선택한 아이템 열기</system:String>
<system:String x:Key="HotkeyCtrlIDesc">설정창 열기</system:String>
<system:String x:Key="HotkeyF5Desc">플러그인 데이터 새로고침</system:String>

<system:String x:Key="RecommendWeather">날씨</system:String>
<system:String x:Key="RecommendWeatherDesc">구글 날씨 검색</system:String>
<system:String x:Key="RecommendShell">&gt; ping 8.8.8.8</system:String>
<system:String x:Key="RecommendShellDesc">쉘 명령어</system:String>
<system:String x:Key="RecommendBluetooth">블루투스</system:String>
<system:String x:Key="RecommendBluetoothDesc">윈도우 블루투스 설정</system:String>
<system:String x:Key="RecommendAcronyms">스메</system:String>
<system:String x:Key="RecommendAcronymsDesc">스티커 메모</system:String>

</ResourceDictionary>
15 changes: 15 additions & 0 deletions Flow.Launcher/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ private void OnInitialized(object sender, EventArgs e)

private void OnLoaded(object sender, RoutedEventArgs _)
{
CheckFirstLaunch();
HideStartup();
// show notify icon when flowlauncher is hidden
InitializeNotifyIcon();
Expand Down Expand Up @@ -232,6 +233,20 @@ private void InitializeNotifyIcon()
};
}

private void CheckFirstLaunch()
{
if (_settings.FirstLaunch)
{
_settings.FirstLaunch = false;
PluginManager.API.SaveAppAllSettings();
OpenWelcomeWindow();
}
}
private void OpenWelcomeWindow()
{
var WelcomeWindow = new WelcomeWindow(_settings);
WelcomeWindow.Show();
}
private void ToggleGameMode()
{
if (_viewModel.GameModeStatus)
Expand Down
Loading