mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
Revert "Use Converter to transform format to actual display"
This reverts commit 7b90808b43.
This commit is contained in:
parent
7b90808b43
commit
95e6c19cef
4 changed files with 888 additions and 920 deletions
|
|
@ -1,19 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Globalization;
|
|
||||||
using System.Windows.Data;
|
|
||||||
|
|
||||||
namespace Flow.Launcher.Converters
|
|
||||||
{
|
|
||||||
public class DateTimeFormatToNowConverter : IValueConverter
|
|
||||||
{
|
|
||||||
|
|
||||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
||||||
{
|
|
||||||
return value is not string format ? null : DateTime.Now.ToString(format);
|
|
||||||
}
|
|
||||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -42,6 +42,8 @@ namespace Flow.Launcher
|
||||||
InitializePosition();
|
InitializePosition();
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
RefreshDateListInternal(viewModel.DateFormatIndex);
|
||||||
|
RefreshTimeListInternal(viewModel.TimeFormatIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
#region General
|
#region General
|
||||||
|
|
@ -561,6 +563,28 @@ namespace Flow.Launcher
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void RefreshDateList(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
RefreshDateListInternal(DateFormat.SelectedIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RefreshDateListInternal(int index)
|
||||||
|
{
|
||||||
|
viewModel.UpdateDateDisplayList();
|
||||||
|
RefreshComboBox(DateFormat, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RefreshTimeList(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
RefreshTimeListInternal(TimeFormat.SelectedIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RefreshTimeListInternal(int index)
|
||||||
|
{
|
||||||
|
viewModel.UpdateTimeDisplayList();
|
||||||
|
RefreshComboBox(TimeFormat, index);
|
||||||
|
}
|
||||||
|
|
||||||
private static void RefreshComboBox(System.Windows.Controls.ComboBox box, int index)
|
private static void RefreshComboBox(System.Windows.Controls.ComboBox box, int index)
|
||||||
{
|
{
|
||||||
box.Items.Refresh();
|
box.Items.Refresh();
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,12 @@ namespace Flow.Launcher.ViewModel
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
int tmp = 0;
|
||||||
|
TimeFormatIndex = (tmp = TimeFormatList.FindIndex(x => x.Equals(Settings.TimeFormat))) >= 0 ? tmp : 0;
|
||||||
|
DateFormatIndex = (tmp = DateFormatList.FindIndex(x => x.Equals(Settings.DateFormat))) >= 0 ? tmp : 0;
|
||||||
|
// TODO: CurrentCulture may not equal to settings.language when this is constructed
|
||||||
|
TimeFormatDisplayList = TimeFormatList.Select(x => DateTime.Now.ToString(x, CultureInfo.CurrentCulture)).ToList();
|
||||||
|
DateFormatDisplayList = DateFormatList.Select(x => DateTime.Now.ToString(x, CultureInfo.CurrentCulture)).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Settings Settings { get; set; }
|
public Settings Settings { get; set; }
|
||||||
|
|
@ -158,10 +164,7 @@ namespace Flow.Launcher.ViewModel
|
||||||
{
|
{
|
||||||
var key = $"LastQuery{e}";
|
var key = $"LastQuery{e}";
|
||||||
var display = _translater.GetTranslation(key);
|
var display = _translater.GetTranslation(key);
|
||||||
var m = new LastQueryMode
|
var m = new LastQueryMode { Display = display, Value = e, };
|
||||||
{
|
|
||||||
Display = display, Value = e,
|
|
||||||
};
|
|
||||||
modes.Add(m);
|
modes.Add(m);
|
||||||
}
|
}
|
||||||
return modes;
|
return modes;
|
||||||
|
|
@ -352,6 +355,7 @@ namespace Flow.Launcher.ViewModel
|
||||||
App.API.ShowMainWindow();
|
App.API.ShowMainWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region theme
|
#region theme
|
||||||
|
|
@ -416,7 +420,8 @@ namespace Flow.Launcher.ViewModel
|
||||||
var display = _translater.GetTranslation(key);
|
var display = _translater.GetTranslation(key);
|
||||||
var m = new ColorScheme
|
var m = new ColorScheme
|
||||||
{
|
{
|
||||||
Display = display, Value = e,
|
Display = display,
|
||||||
|
Value = e,
|
||||||
};
|
};
|
||||||
modes.Add(m);
|
modes.Add(m);
|
||||||
}
|
}
|
||||||
|
|
@ -440,17 +445,14 @@ namespace Flow.Launcher.ViewModel
|
||||||
{
|
{
|
||||||
var key = $"SearchWindowPosition{e}";
|
var key = $"SearchWindowPosition{e}";
|
||||||
var display = _translater.GetTranslation(key);
|
var display = _translater.GetTranslation(key);
|
||||||
var m = new SearchWindowPosition
|
var m = new SearchWindowPosition { Display = display, Value = e, };
|
||||||
{
|
|
||||||
Display = display, Value = e,
|
|
||||||
};
|
|
||||||
modes.Add(m);
|
modes.Add(m);
|
||||||
}
|
}
|
||||||
return modes;
|
return modes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<string> TimeFormatList { get; } = new()
|
public List<string> TimeFormatList { get; set; } = new List<string>()
|
||||||
{
|
{
|
||||||
"h:mm",
|
"h:mm",
|
||||||
"hh:mm",
|
"hh:mm",
|
||||||
|
|
@ -462,7 +464,7 @@ namespace Flow.Launcher.ViewModel
|
||||||
"hh:mm tt"
|
"hh:mm tt"
|
||||||
};
|
};
|
||||||
|
|
||||||
public List<string> DateFormatList { get; } = new()
|
public List<string> DateFormatList { get; set; } = new List<string>()
|
||||||
{
|
{
|
||||||
"MM'/'dd dddd",
|
"MM'/'dd dddd",
|
||||||
"MM'/'dd ddd",
|
"MM'/'dd ddd",
|
||||||
|
|
@ -480,23 +482,33 @@ namespace Flow.Launcher.ViewModel
|
||||||
"dd', 'MMMM"
|
"dd', 'MMMM"
|
||||||
};
|
};
|
||||||
|
|
||||||
public string TimeFormat
|
private int timeFormatIndex = 0;
|
||||||
|
public int TimeFormatIndex
|
||||||
{
|
{
|
||||||
get { return Settings.TimeFormat; }
|
get => timeFormatIndex;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
Settings.TimeFormat = value;
|
if (value != -1)
|
||||||
OnPropertyChanged();
|
{
|
||||||
|
timeFormatIndex = value;
|
||||||
|
Settings.TimeFormat = TimeFormatList[value];
|
||||||
|
ClockText = DateTime.Now.ToString(Settings.TimeFormat, CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public string DateFormat
|
private int dateFormatIndex = 0;
|
||||||
|
public int DateFormatIndex
|
||||||
{
|
{
|
||||||
get { return Settings.DateFormat; }
|
get => dateFormatIndex;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
Settings.DateFormat = value;
|
if (value != -1)
|
||||||
OnPropertyChanged();
|
{
|
||||||
|
dateFormatIndex = value;
|
||||||
|
Settings.DateFormat = DateFormatList[value];
|
||||||
|
DateText = DateTime.Now.ToString(Settings.DateFormat, CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -504,6 +516,31 @@ namespace Flow.Launcher.ViewModel
|
||||||
|
|
||||||
public string DateText { get; private set; }
|
public string DateText { get; private set; }
|
||||||
|
|
||||||
|
public List<string> TimeFormatDisplayList { get; set; } = null;
|
||||||
|
|
||||||
|
public List<string> DateFormatDisplayList { get; set; } = null;
|
||||||
|
|
||||||
|
public void UpdateDateDisplayList()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < DateFormatList.Count; ++i)
|
||||||
|
{
|
||||||
|
DateFormatDisplayList[i] = DateTime.Now.ToString(DateFormatList[i], CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
|
// TODO: CurrentCulture may not equal to settings.language
|
||||||
|
// Cross thread issue?
|
||||||
|
DateText = DateTime.Now.ToString(Settings.DateFormat, CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateTimeDisplayList()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < TimeFormatList.Count; ++i)
|
||||||
|
{
|
||||||
|
TimeFormatDisplayList[i] = DateTime.Now.ToString(TimeFormatList[i], CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
|
// TODO: CurrentCulture may not equal to settings.language
|
||||||
|
// Cross thread issue?
|
||||||
|
ClockText = DateTime.Now.ToString(Settings.TimeFormat, CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
|
|
||||||
public double WindowWidthSize
|
public double WindowWidthSize
|
||||||
{
|
{
|
||||||
|
|
@ -746,7 +783,7 @@ namespace Flow.Launcher.ViewModel
|
||||||
|
|
||||||
string deleteWarning = string.Format(
|
string deleteWarning = string.Format(
|
||||||
InternationalizationManager.Instance.GetTranslation("deleteCustomShortcutWarning"),
|
InternationalizationManager.Instance.GetTranslation("deleteCustomShortcutWarning"),
|
||||||
item.Key, item.Value);
|
item.Key, item.Value);
|
||||||
if (MessageBox.Show(deleteWarning, InternationalizationManager.Instance.GetTranslation("delete"),
|
if (MessageBox.Show(deleteWarning, InternationalizationManager.Instance.GetTranslation("delete"),
|
||||||
MessageBoxButton.YesNo) == MessageBoxResult.Yes)
|
MessageBoxButton.YesNo) == MessageBoxResult.Yes)
|
||||||
{
|
{
|
||||||
|
|
@ -827,22 +864,19 @@ namespace Flow.Launcher.ViewModel
|
||||||
internal void ClearLogFolder()
|
internal void ClearLogFolder()
|
||||||
{
|
{
|
||||||
var directory = new DirectoryInfo(
|
var directory = new DirectoryInfo(
|
||||||
Path.Combine(
|
Path.Combine(
|
||||||
DataLocation.DataDirectory(),
|
DataLocation.DataDirectory(),
|
||||||
Constant.Logs,
|
Constant.Logs,
|
||||||
Constant.Version));
|
Constant.Version));
|
||||||
|
|
||||||
directory.EnumerateFiles()
|
directory.EnumerateFiles()
|
||||||
.ToList()
|
.ToList()
|
||||||
.ForEach(x => x.Delete());
|
.ForEach(x => x.Delete());
|
||||||
}
|
}
|
||||||
internal string FormatBytes(long bytes)
|
internal string FormatBytes(long bytes)
|
||||||
{
|
{
|
||||||
const int scale = 1024;
|
const int scale = 1024;
|
||||||
string[] orders = new string[]
|
string[] orders = new string[] { "GB", "MB", "KB", "Bytes" };
|
||||||
{
|
|
||||||
"GB", "MB", "KB", "Bytes"
|
|
||||||
};
|
|
||||||
long max = (long)Math.Pow(scale, orders.Length - 1);
|
long max = (long)Math.Pow(scale, orders.Length - 1);
|
||||||
|
|
||||||
foreach (string order in orders)
|
foreach (string order in orders)
|
||||||
|
|
@ -854,7 +888,6 @@ namespace Flow.Launcher.ViewModel
|
||||||
}
|
}
|
||||||
return "0 Bytes";
|
return "0 Bytes";
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue