Version 1.4.161

Version 1.4.161
By default Xinput ports 1-4 are used, this can be changed back in
settings to 11-14 and anything in between
Better handling of moving appdata folder to %Appdata%/DS4Windows
This commit is contained in:
jays2kings 2014-12-03 17:36:54 -05:00
parent 0b79c0121c
commit 7929e12d84
13 changed files with 350 additions and 87 deletions

View File

@ -45,7 +45,7 @@ namespace DS4Control
{
if (DS4Devices.isExclusiveMode && !device.IsExclusive)
{
String message = Properties.Resources.CouldNotOpenDS4.Replace("*Mac address*", device.MacAddress) + Properties.Resources.QuitOtherPrograms;
String message = Properties.Resources.CouldNotOpenDS4.Replace("*Mac address*", device.MacAddress) + " " + Properties.Resources.QuitOtherPrograms;
LogDebug(message);
Log.LogToTray(message);
}

View File

@ -151,7 +151,7 @@ namespace DS4Control.Properties {
}
/// <summary>
/// Looks up a localized string similar to You must quit other applications like Steam, Uplay before activating the &apos;Hide DS4 Controller&apos; option.&quot;.
/// Looks up a localized string similar to You must quit other applications like Steam, Uplay before activating the &apos;Hide DS4 Controller&apos; option..
/// </summary>
internal static string QuitOtherPrograms {
get {

View File

@ -148,7 +148,7 @@
<value>none</value>
</data>
<data name="QuitOtherPrograms" xml:space="preserve">
<value>You must quit other applications like Steam, Uplay before activating the 'Hide DS4 Controller' option."</value>
<value>You must quit other applications like Steam, Uplay before activating the 'Hide DS4 Controller' option.</value>
</data>
<data name="SearchingController" xml:space="preserve">
<value>Searching for controllers…</value>

View File

@ -330,7 +330,15 @@ namespace DS4Control
public static bool getQuickCharge()
{
return m_Config.quickCharge;
}
}
public static void setFirstXinputPort(int data)
{
m_Config.firstXinputPort = data;
}
public static int getFirstXinputPort()
{
return m_Config.firstXinputPort;
}
public static void saveLowColor(int device, byte red, byte green, byte blue)
{
m_Config.m_LowLeds[device][0] = red;
@ -833,6 +841,7 @@ namespace DS4Control
public bool swipeProfiles = true;
public bool ds4Mapping = true;
public bool quickCharge = false;
public int firstXinputPort = 1;
public Dictionary<DS4Controls, DS4KeyType>[] customMapKeyTypes = { null, null, null, null, null };
public Dictionary<DS4Controls, UInt16>[] customMapKeys = { null, null, null, null, null };
public Dictionary<DS4Controls, String>[] customMapMacros = { null, null, null, null, null };
@ -1837,6 +1846,8 @@ namespace DS4Control
catch { missingSetting = true; }
try { Item = m_Xdoc.SelectSingleNode("/Profile/QuickCharge"); Boolean.TryParse(Item.InnerText, out quickCharge); }
catch { missingSetting = true; }
try { Item = m_Xdoc.SelectSingleNode("/Profile/FirstXinputPort"); Int32.TryParse(Item.InnerText, out firstXinputPort); }
catch { missingSetting = true; }
}
}
catch { }
@ -1881,6 +1892,7 @@ namespace DS4Control
XmlNode xmlSwipeProfiles = m_Xdoc.CreateNode(XmlNodeType.Element, "SwipeProfiles", null); xmlSwipeProfiles.InnerText = swipeProfiles.ToString(); Node.AppendChild(xmlSwipeProfiles);
XmlNode xmlDS4Mapping = m_Xdoc.CreateNode(XmlNodeType.Element, "UseDS4ForMapping", null); xmlDS4Mapping.InnerText = ds4Mapping.ToString(); Node.AppendChild(xmlDS4Mapping);
XmlNode xmlQuickCharge = m_Xdoc.CreateNode(XmlNodeType.Element, "QuickCharge", null); xmlQuickCharge.InnerText = quickCharge.ToString(); Node.AppendChild(xmlQuickCharge);
XmlNode xmlFirstXinputPort = m_Xdoc.CreateNode(XmlNodeType.Element, "FirstXinputPort", null); xmlFirstXinputPort.InnerText = firstXinputPort.ToString(); Node.AppendChild(xmlFirstXinputPort);
m_Xdoc.AppendChild(Node);
try { m_Xdoc.Save(m_Profile); }

View File

@ -11,9 +11,9 @@ namespace DS4Control
public partial class X360Device : ScpDevice
{
private const String DS3_BUS_CLASS_GUID = "{F679F562-3164-42CE-A4DB-E7DDBE723909}";
private const int CONTROLLER_OFFSET = 1 + 10; // Device 0 is the virtual USB hub itself, and we leave devices 1-10 available for other software (like the Scarlet.Crush DualShock driver itself)
private const int CONTROLLER_OFFSET = 1; // Device 0 is the virtual USB hub itself, and we leave devices 1-10 available for other software (like the Scarlet.Crush DualShock driver itself)
private int firstController = 1 + 10;
private int firstController = 1;
// Device 0 is the virtual USB hub itself, and we can leave more available for other software (like the Scarlet.Crush DualShock driver)
public int FirstController
{

View File

@ -108,7 +108,7 @@
this.tSBExportProfile = new System.Windows.Forms.ToolStripButton();
this.tabAutoProfiles = new System.Windows.Forms.TabPage();
this.tabSettings = new System.Windows.Forms.TabPage();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.fLPSettings = new System.Windows.Forms.FlowLayoutPanel();
this.hideDS4CheckBox = new System.Windows.Forms.CheckBox();
this.cBSwipeProfiles = new System.Windows.Forms.CheckBox();
this.StartWindowsCheckBox = new System.Windows.Forms.CheckBox();
@ -121,6 +121,10 @@
this.cBNotifications = new System.Windows.Forms.CheckBox();
this.cBDisconnectBT = new System.Windows.Forms.CheckBox();
this.cBQuickCharge = new System.Windows.Forms.CheckBox();
this.pnlXIPorts = new System.Windows.Forms.Panel();
this.lbUseXIPorts = new System.Windows.Forms.Label();
this.nUDXIPorts = new System.Windows.Forms.NumericUpDown();
this.lbLastXIPort = new System.Windows.Forms.Label();
this.linkProfiles = new System.Windows.Forms.LinkLabel();
this.lLBUpdate = new System.Windows.Forms.LinkLabel();
this.linkSetup = new System.Windows.Forms.LinkLabel();
@ -142,9 +146,11 @@
this.tSOptions.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.tabSettings.SuspendLayout();
this.flowLayoutPanel1.SuspendLayout();
this.fLPSettings.SuspendLayout();
this.pNUpdate.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nUDUpdateTime)).BeginInit();
this.pnlXIPorts.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nUDXIPorts)).BeginInit();
this.tabLog.SuspendLayout();
this.SuspendLayout();
//
@ -728,29 +734,30 @@
//
// tabSettings
//
this.tabSettings.Controls.Add(this.flowLayoutPanel1);
this.tabSettings.Controls.Add(this.fLPSettings);
resources.ApplyResources(this.tabSettings, "tabSettings");
this.tabSettings.Name = "tabSettings";
this.tabSettings.UseVisualStyleBackColor = true;
//
// flowLayoutPanel1
// fLPSettings
//
resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1");
this.flowLayoutPanel1.Controls.Add(this.hideDS4CheckBox);
this.flowLayoutPanel1.Controls.Add(this.cBSwipeProfiles);
this.flowLayoutPanel1.Controls.Add(this.StartWindowsCheckBox);
this.flowLayoutPanel1.Controls.Add(this.startMinimizedCheckBox);
this.flowLayoutPanel1.Controls.Add(this.cBUpdate);
this.flowLayoutPanel1.Controls.Add(this.pNUpdate);
this.flowLayoutPanel1.Controls.Add(this.cBNotifications);
this.flowLayoutPanel1.Controls.Add(this.cBDisconnectBT);
this.flowLayoutPanel1.Controls.Add(this.cBQuickCharge);
this.flowLayoutPanel1.Controls.Add(this.linkProfiles);
this.flowLayoutPanel1.Controls.Add(this.lLBUpdate);
this.flowLayoutPanel1.Controls.Add(this.linkSetup);
this.flowLayoutPanel1.Controls.Add(this.linkUninstall);
this.flowLayoutPanel1.Controls.Add(this.lnkControllers);
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
resources.ApplyResources(this.fLPSettings, "fLPSettings");
this.fLPSettings.Controls.Add(this.hideDS4CheckBox);
this.fLPSettings.Controls.Add(this.cBSwipeProfiles);
this.fLPSettings.Controls.Add(this.StartWindowsCheckBox);
this.fLPSettings.Controls.Add(this.startMinimizedCheckBox);
this.fLPSettings.Controls.Add(this.cBUpdate);
this.fLPSettings.Controls.Add(this.pNUpdate);
this.fLPSettings.Controls.Add(this.cBNotifications);
this.fLPSettings.Controls.Add(this.cBDisconnectBT);
this.fLPSettings.Controls.Add(this.cBQuickCharge);
this.fLPSettings.Controls.Add(this.pnlXIPorts);
this.fLPSettings.Controls.Add(this.linkProfiles);
this.fLPSettings.Controls.Add(this.lLBUpdate);
this.fLPSettings.Controls.Add(this.linkSetup);
this.fLPSettings.Controls.Add(this.linkUninstall);
this.fLPSettings.Controls.Add(this.lnkControllers);
this.fLPSettings.Name = "fLPSettings";
//
// hideDS4CheckBox
//
@ -845,6 +852,49 @@
this.cBQuickCharge.UseVisualStyleBackColor = true;
this.cBQuickCharge.CheckedChanged += new System.EventHandler(this.cBQuickCharge_CheckedChanged);
//
// pnlXIPorts
//
this.pnlXIPorts.Controls.Add(this.lbUseXIPorts);
this.pnlXIPorts.Controls.Add(this.nUDXIPorts);
this.pnlXIPorts.Controls.Add(this.lbLastXIPort);
resources.ApplyResources(this.pnlXIPorts, "pnlXIPorts");
this.pnlXIPorts.Name = "pnlXIPorts";
this.pnlXIPorts.MouseEnter += new System.EventHandler(this.pnlXIPorts_MouseEnter);
this.pnlXIPorts.MouseLeave += new System.EventHandler(this.pnlXIPorts_MouseLeave);
//
// lbUseXIPorts
//
resources.ApplyResources(this.lbUseXIPorts, "lbUseXIPorts");
this.lbUseXIPorts.Name = "lbUseXIPorts";
//
// nUDXIPorts
//
resources.ApplyResources(this.nUDXIPorts, "nUDXIPorts");
this.nUDXIPorts.Maximum = new decimal(new int[] {
11,
0,
0,
0});
this.nUDXIPorts.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.nUDXIPorts.Name = "nUDXIPorts";
this.nUDXIPorts.Value = new decimal(new int[] {
1,
0,
0,
0});
this.nUDXIPorts.ValueChanged += new System.EventHandler(this.nUDXIPorts_ValueChanged);
this.nUDXIPorts.Enter += new System.EventHandler(this.nUDXIPorts_Enter);
this.nUDXIPorts.Leave += new System.EventHandler(this.nUDXIPorts_Leave);
//
// lbLastXIPort
//
resources.ApplyResources(this.lbLastXIPort, "lbLastXIPort");
this.lbLastXIPort.Name = "lbLastXIPort";
//
// linkProfiles
//
resources.ApplyResources(this.linkProfiles, "linkProfiles");
@ -924,11 +974,14 @@
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.tabSettings.ResumeLayout(false);
this.flowLayoutPanel1.ResumeLayout(false);
this.flowLayoutPanel1.PerformLayout();
this.fLPSettings.ResumeLayout(false);
this.fLPSettings.PerformLayout();
this.pNUpdate.ResumeLayout(false);
this.pNUpdate.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.nUDUpdateTime)).EndInit();
this.pnlXIPorts.ResumeLayout(false);
this.pnlXIPorts.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.nUDXIPorts)).EndInit();
this.tabLog.ResumeLayout(false);
this.ResumeLayout(false);
@ -1014,7 +1067,7 @@
private System.Windows.Forms.TabPage tabSettings;
private System.Windows.Forms.ToolStripButton tSBKeepSize;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
private System.Windows.Forms.FlowLayoutPanel fLPSettings;
private System.Windows.Forms.LinkLabel lLBUpdate;
private System.Windows.Forms.LinkLabel linkSetup;
private System.Windows.Forms.CheckBox hideDS4CheckBox;
@ -1034,6 +1087,10 @@
private System.Windows.Forms.ToolStripMenuItem startToolStripMenuItem;
public System.Windows.Forms.Label lbLastMessage;
private System.Windows.Forms.CheckBox cBQuickCharge;
private System.Windows.Forms.Panel pnlXIPorts;
private System.Windows.Forms.Label lbUseXIPorts;
private System.Windows.Forms.NumericUpDown nUDXIPorts;
private System.Windows.Forms.Label lbLastXIPort;
//private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2;
}
}

View File

@ -87,13 +87,9 @@ namespace DS4Windows
(ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[3] };
SystemEvents.PowerModeChanged += OnPowerChange;
tSOptions.Visible = false;
if (File.Exists(appdatapath + "\\Auto Profiles.xml"))
tt.SetToolTip(linkUninstall, Properties.Resources.IfRemovingDS4Windows);
tt.SetToolTip(cBSwipeProfiles, Properties.Resources.TwoFingerSwipe);
tt.SetToolTip(cBQuickCharge, Properties.Resources.QuickCharge);
bool firstrun = false;
if (File.Exists(exepath + "\\Auto Profiles.xml")
&& File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool\\Auto Profiles.xml"))
&& File.Exists(appdatapath + "\\Auto Profiles.xml"))
{
firstrun = true;
new SaveWhere(true).ShowDialog();
@ -106,12 +102,15 @@ namespace DS4Windows
{
try
{
if (Directory.Exists(appdatapath))
Directory.Move(appdatapath, Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows Old");
Directory.Move(oldappdatapath, appdatapath);
Global.SaveWhere(appdatapath);
}
catch
{
MessageBox.Show(Properties.Resources.CannotMoveFiles, "DS4Windows");
MessageBox.Show(Properties.Resources.CannotMoveFiles, "DS4Windows");
Process.Start("explorer.exe", @"/select, " + appdatapath);
Close();
return;
}
@ -191,6 +190,8 @@ namespace DS4Windows
hideDS4CheckBox.CheckedChanged += hideDS4CheckBox_CheckedChanged;
cBDisconnectBT.Checked = Global.getDCBTatStop();
cBQuickCharge.Checked = Global.getQuickCharge();
nUDXIPorts.Value = Global.getFirstXinputPort();
rootHub.x360Bus.FirstController = Global.getFirstXinputPort();
// New settings
this.Width = Global.getFormWidth();
this.Height = Global.getFormHeight();
@ -211,6 +212,10 @@ namespace DS4Windows
}
LoadP();
Global.ControllerStatusChange += ControllerStatusChange;
Enable_Controls(0, false);
Enable_Controls(1, false);
Enable_Controls(2, false);
Enable_Controls(3, false);
bool start = true;
foreach (string s in arguements)
if (s == "stop")
@ -1093,9 +1098,22 @@ namespace DS4Windows
private void tabMain_SelectedIndexChanged(object sender, EventArgs e)
{
lbLastMessage.Visible = tabMain.SelectedIndex != 4;
if (tabMain.SelectedIndex == 4)
lbLastMessage.Visible = tabMain.SelectedTab != tabLog;
if (tabMain.SelectedTab == tabLog)
chData.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
if (tabMain.SelectedTab == tabSettings)
{
lbLastMessage.Text = "Hover over items to see description or more about";
foreach (System.Windows.Forms.Control control in fLPSettings.Controls)
{
if (control.HasChildren)
foreach (System.Windows.Forms.Control ctrl in control.Controls)
ctrl.MouseHover += Items_MouseHover;
control.MouseHover += Items_MouseHover;
}
}
else
lbLastMessage.Text = lbLastMessage.Text = lvDebug.Items[lvDebug.Items.Count - 1].SubItems[1].Text;
if (opt != null)
if (tabMain.SelectedIndex != 1)
opt.inputtimer.Stop();
@ -1103,6 +1121,24 @@ namespace DS4Windows
opt.inputtimer.Start();
}
private void Items_MouseHover(object sender, EventArgs e)
{
switch (((System.Windows.Forms.Control)sender).Name)
{
//if (File.Exists(appdatapath + "\\Auto Profiles.xml"))
case "linkUninstall": lbLastMessage.Text = Properties.Resources.IfRemovingDS4Windows; break;
case "cBSwipeProfiles": lbLastMessage.Text = Properties.Resources.TwoFingerSwipe; break;
case "cBQuickCharge": lbLastMessage.Text = Properties.Resources.QuickCharge; break;
case "pnlXIPorts": lbLastMessage.Text = Properties.Resources.XinputPorts; break;
default: lbLastMessage.Text = "Hover over items to see description or more about"; break;
}
if (lbLastMessage.Text != "Hover over items to see description or more about")
lbLastMessage.ForeColor = Color.Black;
else
lbLastMessage.ForeColor = SystemColors.GrayText;
}
private void lBProfiles_MouseDown(object sender, MouseEventArgs e)
{
lBProfiles.SelectedIndex = lBProfiles.IndexFromPoint(e.X, e.Y);
@ -1405,6 +1441,38 @@ namespace DS4Windows
{
tt.Hide(lbLastMessage);
}
private void pnlXIPorts_MouseEnter(object sender, EventArgs e)
{
//oldxiport = (int)Math.Round(nUDXIPorts.Value,0);
}
int oldxiport;
private void pnlXIPorts_MouseLeave(object sender, EventArgs e)
{
}
private void nUDXIPorts_ValueChanged(object sender, EventArgs e)
{
lbLastXIPort.Text = "- " + ((int)Math.Round(nUDXIPorts.Value, 0) + 3);
}
private void nUDXIPorts_Leave(object sender, EventArgs e)
{
if (oldxiport != (int)Math.Round(nUDXIPorts.Value,0))
{
oldxiport = (int)Math.Round(nUDXIPorts.Value, 0);
Global.setFirstXinputPort(oldxiport);
rootHub.x360Bus.FirstController = oldxiport;
btnStartStop_Click(sender, e);
btnStartStop_Click(sender, e);
}
}
private void nUDXIPorts_Enter(object sender, EventArgs e)
{
oldxiport = (int)Math.Round(nUDXIPorts.Value, 0);
}
}
public class ThemeUtil

View File

@ -7639,7 +7639,7 @@
<value>Export</value>
</data>
<data name="cMProfile.Size" type="System.Drawing.Size, System.Drawing">
<value>189, 224</value>
<value>189, 246</value>
</data>
<data name="&gt;&gt;cMProfile.Name" xml:space="preserve">
<value>cMProfile</value>
@ -7931,7 +7931,7 @@
<data name="&gt;&gt;tabAutoProfiles.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="flowLayoutPanel1.AutoScroll" type="System.Boolean, mscorlib">
<data name="fLPSettings.AutoScroll" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="hideDS4CheckBox.AutoSize" type="System.Boolean, mscorlib">
@ -7959,7 +7959,7 @@
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hideDS4CheckBox.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;hideDS4CheckBox.ZOrder" xml:space="preserve">
<value>0</value>
@ -7989,7 +7989,7 @@
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cBSwipeProfiles.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;cBSwipeProfiles.ZOrder" xml:space="preserve">
<value>1</value>
@ -8019,7 +8019,7 @@
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;StartWindowsCheckBox.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;StartWindowsCheckBox.ZOrder" xml:space="preserve">
<value>2</value>
@ -8049,7 +8049,7 @@
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;startMinimizedCheckBox.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;startMinimizedCheckBox.ZOrder" xml:space="preserve">
<value>3</value>
@ -8079,7 +8079,7 @@
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cBUpdate.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;cBUpdate.ZOrder" xml:space="preserve">
<value>4</value>
@ -8187,7 +8187,7 @@
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pNUpdate.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;pNUpdate.ZOrder" xml:space="preserve">
<value>5</value>
@ -8217,7 +8217,7 @@
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cBNotifications.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;cBNotifications.ZOrder" xml:space="preserve">
<value>6</value>
@ -8247,7 +8247,7 @@
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cBDisconnectBT.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;cBDisconnectBT.ZOrder" xml:space="preserve">
<value>7</value>
@ -8274,16 +8274,127 @@
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cBQuickCharge.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;cBQuickCharge.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="lbUseXIPorts.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Left</value>
</data>
<data name="lbUseXIPorts.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lbUseXIPorts.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lbUseXIPorts.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="lbUseXIPorts.Size" type="System.Drawing.Size, System.Drawing">
<value>86, 13</value>
</data>
<data name="lbUseXIPorts.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="lbUseXIPorts.Text" xml:space="preserve">
<value>Use Xinput Ports</value>
</data>
<data name="&gt;&gt;lbUseXIPorts.Name" xml:space="preserve">
<value>lbUseXIPorts</value>
</data>
<data name="&gt;&gt;lbUseXIPorts.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lbUseXIPorts.Parent" xml:space="preserve">
<value>pnlXIPorts</value>
</data>
<data name="&gt;&gt;lbUseXIPorts.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="nUDXIPorts.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Left</value>
</data>
<data name="nUDXIPorts.Location" type="System.Drawing.Point, System.Drawing">
<value>93, 1</value>
</data>
<data name="nUDXIPorts.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 20</value>
</data>
<data name="nUDXIPorts.TabIndex" type="System.Int32, mscorlib">
<value>42</value>
</data>
<data name="&gt;&gt;nUDXIPorts.Name" xml:space="preserve">
<value>nUDXIPorts</value>
</data>
<data name="&gt;&gt;nUDXIPorts.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;nUDXIPorts.Parent" xml:space="preserve">
<value>pnlXIPorts</value>
</data>
<data name="&gt;&gt;nUDXIPorts.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="lbLastXIPort.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Left</value>
</data>
<data name="lbLastXIPort.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lbLastXIPort.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lbLastXIPort.Location" type="System.Drawing.Point, System.Drawing">
<value>143, 3</value>
</data>
<data name="lbLastXIPort.Size" type="System.Drawing.Size, System.Drawing">
<value>19, 13</value>
</data>
<data name="lbLastXIPort.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="lbLastXIPort.Text" xml:space="preserve">
<value>- 4</value>
</data>
<data name="&gt;&gt;lbLastXIPort.Name" xml:space="preserve">
<value>lbLastXIPort</value>
</data>
<data name="&gt;&gt;lbLastXIPort.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lbLastXIPort.Parent" xml:space="preserve">
<value>pnlXIPorts</value>
</data>
<data name="&gt;&gt;lbLastXIPort.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="pnlXIPorts.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 222</value>
</data>
<data name="pnlXIPorts.Size" type="System.Drawing.Size, System.Drawing">
<value>186, 22</value>
</data>
<data name="pnlXIPorts.TabIndex" type="System.Int32, mscorlib">
<value>44</value>
</data>
<data name="&gt;&gt;pnlXIPorts.Name" xml:space="preserve">
<value>pnlXIPorts</value>
</data>
<data name="&gt;&gt;pnlXIPorts.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pnlXIPorts.Parent" xml:space="preserve">
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;pnlXIPorts.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="linkProfiles.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="linkProfiles.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 219</value>
<value>10, 247</value>
</data>
<data name="linkProfiles.Size" type="System.Drawing.Size, System.Drawing">
<value>65, 13</value>
@ -8301,16 +8412,16 @@
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;linkProfiles.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;linkProfiles.ZOrder" xml:space="preserve">
<value>9</value>
<value>10</value>
</data>
<data name="lLBUpdate.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lLBUpdate.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 232</value>
<value>10, 260</value>
</data>
<data name="lLBUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>116, 13</value>
@ -8331,16 +8442,16 @@
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lLBUpdate.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;lLBUpdate.ZOrder" xml:space="preserve">
<value>10</value>
<value>11</value>
</data>
<data name="linkSetup.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="linkSetup.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 245</value>
<value>10, 273</value>
</data>
<data name="linkSetup.Size" type="System.Drawing.Size, System.Drawing">
<value>115, 13</value>
@ -8358,16 +8469,16 @@
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;linkSetup.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;linkSetup.ZOrder" xml:space="preserve">
<value>11</value>
<value>12</value>
</data>
<data name="linkUninstall.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="linkUninstall.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 258</value>
<value>10, 286</value>
</data>
<data name="linkUninstall.Size" type="System.Drawing.Size, System.Drawing">
<value>106, 13</value>
@ -8388,16 +8499,16 @@
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;linkUninstall.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;linkUninstall.ZOrder" xml:space="preserve">
<value>12</value>
<value>13</value>
</data>
<data name="lnkControllers.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lnkControllers.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 271</value>
<value>10, 299</value>
</data>
<data name="lnkControllers.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 13</value>
@ -8415,39 +8526,39 @@
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lnkControllers.Parent" xml:space="preserve">
<value>flowLayoutPanel1</value>
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;lnkControllers.ZOrder" xml:space="preserve">
<value>13</value>
<value>14</value>
</data>
<data name="flowLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<data name="fLPSettings.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="flowLayoutPanel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
<data name="fLPSettings.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
<value>TopDown</value>
</data>
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<data name="fLPSettings.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="flowLayoutPanel1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<data name="fLPSettings.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>7, 7, 0, 9</value>
</data>
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<data name="fLPSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>890, 353</value>
</data>
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<data name="fLPSettings.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.Name" xml:space="preserve">
<value>flowLayoutPanel1</value>
<data name="&gt;&gt;fLPSettings.Name" xml:space="preserve">
<value>fLPSettings</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.Type" xml:space="preserve">
<data name="&gt;&gt;fLPSettings.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.Parent" xml:space="preserve">
<data name="&gt;&gt;fLPSettings.Parent" xml:space="preserve">
<value>tabSettings</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.ZOrder" xml:space="preserve">
<data name="&gt;&gt;fLPSettings.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tabSettings.Location" type="System.Drawing.Point, System.Drawing">

View File

@ -82,19 +82,22 @@ namespace DS4Windows
root.lbLastMessage.ForeColor = Color.Black;
root.lbLastMessage.Text = "Hover over items to see description or more about";
foreach (System.Windows.Forms.Control control in Controls)
{
if (control.HasChildren)
foreach (System.Windows.Forms.Control ctrl in control.Controls)
{
if (ctrl.HasChildren)
foreach (System.Windows.Forms.Control ctrl2 in ctrl.Controls)
{
if (ctrl2.HasChildren)
foreach (System.Windows.Forms.Control ctrl3 in ctrl2.Controls)
ctrl3.MouseHover += Items_MouseHover;
else
ctrl2.MouseHover += Items_MouseHover;
else
ctrl.MouseHover += Items_MouseHover;
else
control.MouseHover += Items_MouseHover;
ctrl2.MouseHover += Items_MouseHover;
}
ctrl.MouseHover += Items_MouseHover;
}
control.MouseHover += Items_MouseHover;
}
if (device < 4)
nUDSixaxis.Value = deviceNum + 1;

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.4.16")]
[assembly: AssemblyFileVersion("1.4.16")]
[assembly: AssemblyVersion("1.4.161")]
[assembly: AssemblyFileVersion("1.4.161")]

View File

@ -584,6 +584,9 @@
<value>Test</value>
</data>
<data name="CannotMoveFiles" xml:space="preserve">
<value>Cannot move files, to new location, Please close out of any profiles in external programs</value>
<value>Cannot move files to new location, Please rename the DS4Tool folder to "DS4Windows"</value>
</data>
<data name="XinputPorts" xml:space="preserve">
<value>Use higher ports if you get conflicts in other emulating X360 programs, such as SCP's tool</value>
</data>
</root>

View File

@ -184,7 +184,7 @@ namespace DS4Windows.Properties {
}
/// <summary>
/// Looks up a localized string similar to Cannot move files, to new location, Please close out of any profiles in external programs.
/// Looks up a localized string similar to Cannot move files to new location, Please rename the DS4Tool folder to &quot;DS4Windows&quot;.
/// </summary>
internal static string CannotMoveFiles {
get {
@ -1504,6 +1504,15 @@ namespace DS4Windows.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Use higher ports if you get conflicts in other emulating X360 programs, such as SCP&apos;s tool.
/// </summary>
internal static string XinputPorts {
get {
return ResourceManager.GetString("XinputPorts", resourceCulture);
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>

View File

@ -36,7 +36,7 @@ namespace DS4Windows
Global.SaveWhere(Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName);
if (multisaves && !cBDeleteOther.Checked)
{
try { Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool", true); }
try { Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows", true); }
catch { }
}
else if (!multisaves)
@ -56,8 +56,8 @@ namespace DS4Windows
}
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");
Save(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows\\Profiles.xml");
Global.SaveWhere(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows");
Close();
}