mirror of
https://github.com/cemu-project/DS4Windows.git
synced 2024-11-23 09:49:16 +01:00
a66878498e
Record 360 controls using your DualShock 4 (PS: any old macros using hold control while running macro may be set to a new control when loaded, please re save your macro) Macro recording now happens in the select an action window instead of a separate one Save and Load Macro presets to use any time When recording with delays (recommend for X360 macros) you can double click on delays to edit the time When recording a new macro, previously saved Macros for that control are shown Many minor Macro fixes Giving major updates useless names that will never be seen outside of this changelog Icon Update Fixed shift modifier lightbar settings blocked off High DPI support (144+) Fixed various bugs at 120 DPI and higher When installing the ds4 driver, Actually checks if the driver got installed instead of always saying install complete
103 lines
3.5 KiB
C#
103 lines
3.5 KiB
C#
using DS4Control;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using System.Xml;
|
|
|
|
namespace ScpServer
|
|
{
|
|
public partial class SaveWhere : Form
|
|
{
|
|
private bool multisaves;
|
|
string exepath = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName;
|
|
public SaveWhere(bool multisavespots)
|
|
{
|
|
InitializeComponent();
|
|
Icon = Properties.Resources.DS4W;
|
|
multisaves = multisavespots;
|
|
lbMultiSaves.Visible = multisaves;
|
|
cBDeleteOther.Visible = multisaves;
|
|
if (multisaves)
|
|
lbPickWhere.Text += ", other location files will be deleted";
|
|
if (Global.AdminNeeded())
|
|
bnPrgmFolder.Enabled = false;
|
|
}
|
|
|
|
private void bnPrgmFolder_Click(object sender, EventArgs e)
|
|
{
|
|
Global.SaveWhere(Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName);
|
|
if (multisaves && !cBDeleteOther.Checked)
|
|
{
|
|
try { Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool", true); }
|
|
catch { }
|
|
}
|
|
else if (!multisaves)
|
|
Save(Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + "\\Profiles.xml");
|
|
Close();
|
|
}
|
|
|
|
private void bnAppdataFolder_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
if (multisaves && !cBDeleteOther.Checked)
|
|
try
|
|
{
|
|
Directory.Delete(exepath + "\\Profiles", true);
|
|
File.Delete(exepath + "\\Profiles.xml");
|
|
File.Delete(exepath + "\\Auto Profiles.xml");
|
|
}
|
|
catch (UnauthorizedAccessException) { MessageBox.Show("Cannot Delete old settings, please manaully delete", "DS4Windows"); }
|
|
else if (!multisaves)
|
|
Save(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool\\Profiles.xml");
|
|
Global.SaveWhere(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool");
|
|
Close();
|
|
}
|
|
|
|
public bool Save(String path)
|
|
{
|
|
Boolean Saved = true;
|
|
XmlDocument m_Xdoc = new XmlDocument();
|
|
try
|
|
{
|
|
XmlNode Node;
|
|
|
|
m_Xdoc.RemoveAll();
|
|
|
|
Node = m_Xdoc.CreateXmlDeclaration("1.0", "utf-8", String.Empty);
|
|
m_Xdoc.AppendChild(Node);
|
|
|
|
Node = m_Xdoc.CreateComment(String.Format(" Profile Configuration Data. {0} ", DateTime.Now));
|
|
m_Xdoc.AppendChild(Node);
|
|
|
|
Node = m_Xdoc.CreateWhitespace("\r\n");
|
|
m_Xdoc.AppendChild(Node);
|
|
|
|
Node = m_Xdoc.CreateNode(XmlNodeType.Element, "Profile", null);
|
|
|
|
m_Xdoc.AppendChild(Node);
|
|
|
|
m_Xdoc.Save(path);
|
|
}
|
|
catch { Saved = false; }
|
|
|
|
return Saved;
|
|
}
|
|
|
|
private void SaveWhere_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
if (String.IsNullOrEmpty(Global.appdatapath))
|
|
if (MessageBox.Show("Close DS4Windows?\nA location must be picked to continue", "DS4Windows",
|
|
MessageBoxButtons.YesNo) == DialogResult.No)
|
|
e.Cancel = true;
|
|
}
|
|
}
|
|
}
|