private void Button_ClickHandler(object sender, RoutedEventArgs e)
{
switch ((sender as Button).Name)
{
case "buttonOpenBasicPersonaInfo":
flyoutBasicPersonaInfo.IsOpen = !flyoutBasicPersonaInfo.IsOpen;
break;
case "buttonOpenDetailedPersonaInfo":
flyoutDetailedPersonaInfo.IsOpen = !flyoutDetailedPersonaInfo.IsOpen;
break;
case "buttonOpenPersonaList":
flyoutPersonaList.IsOpen = !flyoutPersonaList.IsOpen;
break;
case "buttonUpdatePersonaInfoTile":
RandomPersonaInfo.Stop();
tRandomPersonaInfo_Tick(null, null);
RandomPersonaInfo.Start();
break;
case "buttonPaints":
case "buttonPerformanceParts":
case "buttonSkillModParts":
case "buttonVinyls":
case "buttonVisualParts":
tbGaragePartInfo.SetBinding(MVVMSyntax._TextProperty,
new Binding()
{
Converter = new STEditConverter(this),
Path = new PropertyPath("ActivePersona.SelectedCar." + ((sender as Button).Name).Remove(0, 6)),
UpdateSourceTrigger = UpdateSourceTrigger.LostFocus,
Mode = BindingMode.TwoWay,
Source = Access.CurrentSession
});
flyoutGaragePartInfo.IsOpen = !flyoutGaragePartInfo.IsOpen;
break;
case "buttonAddCar":
this.ShowMetroDialogAsync(carDialog, new MetroDialogSettings() { AnimateHide = true, AnimateShow = true });
break;
case "buttonRemoveCar":
if (listCar.Items.Count > 1)
{
Int32 selectedItemIndex = listCar.SelectedIndex;
if (selectedItemIndex != -1)
{
PersonaManagement.removeCar((Car)listCar.Items[selectedItemIndex]);
listCar.SelectedIndex = Math.Min(selectedItemIndex, listCar.Items.Count - 1);
}
else
{
new ToolTip() { Content = Access.dataAccess.appSettings.uiSettings.language.RemoveCarNoSelectedCarError, StaysOpen = false, IsOpen = true };
}
}
else
{
new ToolTip() { Content = Access.dataAccess.appSettings.uiSettings.language.RemoveCarLastCarError, StaysOpen = false, IsOpen = true };
}
break;
case "buttonSettings":
flyoutSettings.IsOpen = !flyoutSettings.IsOpen;
break;
case "buttonAddonManager":
if (!AddonManagerTalk.isAddonManagerRunning && AddonManagerTalk.isWaitingForClient)
{
String addonManagerLocation = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "AddonManager.exe");
if (!File.Exists(addonManagerLocation))
{
this.ShowMessageAsync(Access.dataAccess.appSettings.uiSettings.language.InformUserInformation,
Access.dataAccess.appSettings.uiSettings.language.AddonManagerNotFoundError);
return;
}
Access.addonManagerTalk.initialize();
String args = String.Format("/catalogs '{0}' /baskets '{1}' /accents '{3}' /themes '{4}' /languages '{5}' /memorypatches '{6}' /logs '{7}' /offlineServer {8}",
Path.GetFullPath(DataEx.dir_HttpServerCatalogs),
Path.GetFullPath(DataEx.dir_HttpServerBaskets),
Path.GetFullPath(DataEx.dir_Accents),
Path.GetFullPath(DataEx.dir_Themes),
Path.GetFullPath(DataEx.dir_Languages),
Path.GetFullPath(DataEx.dir_MemoryPatches),
Path.GetFullPath(DataEx.dir_Logs),
Access.addonManagerTalk.port);
Process.Start(addonManagerLocation, args);
}
break;
}
}
public class STEditConverter : IValueConverter