From e11c2fc219d78bbb43ffa8c1ccebdd6f1b6b807f Mon Sep 17 00:00:00 2001 From: DoctorVanGogh Date: Sat, 30 Sep 2017 23:04:20 +0200 Subject: [PATCH] finalize steam source feature add manual 'set steam source' feature --- Assemblies/ModSwitch.dll | Bin 58880 -> 60416 bytes CHANGELOG.md | 6 ++ Languages/English/Keyed/Keyed.xml | 10 ++- README.md | 2 +- Source/ModSwitch.sln.DotSettings | 1 + Source/ModSwitch/LanguageKeys.Generated.cs | 10 ++- Source/ModSwitch/ModSwitch.csproj | 2 +- Source/ModSwitch/Properties/AssemblyInfo.cs | 2 +- Source/ModSwitch/Properties/version.txt | 2 +- .../[UI]/{ModsConfig.cs => ModsConfigUI.cs} | 80 ++++++++++++++---- 10 files changed, 90 insertions(+), 25 deletions(-) rename Source/ModSwitch/[UI]/{ModsConfig.cs => ModsConfigUI.cs} (81%) diff --git a/Assemblies/ModSwitch.dll b/Assemblies/ModSwitch.dll index 0fc348e37f24b2d76f1a1d25f0323b5fce5b17e8..cdf7653dd60607b990b67202682b008695ece243 100644 GIT binary patch delta 20394 zcma)k33L=y_WpfU-PL<1-AQ-$q&sWTogg5x3CiXIqJknLvI~e&pfL>!hNPQC1q2j3 zATWv`D58ik!5x)N1jHFoXGTU897JVY&=I#0@b}$U6-dzYKmVLlU)}B9ci(+Wy?WJ< z+@~f#P#>JrH_y6%FqwZxs5s;jZHPXFKr@7QDuO5kI)pn>x}+5%3v>8uy3@!-@3!`q z!unbkv$eV?oMGuM$ejuwZl4+~DxA~*%_>}f!@&9nTG~!!+kw)SHM*N9st*ER|6ohQX>9l>X~>%TMJ?5Lv-(De*Ihkn$(vC8@y``(UVg2WaHYxYOU~XjLHHcUwj2TI5nki6SVQ?;mM`dZc4Q->!x&4 zQWMJB6fWD+G}4*y?OnI*Yy8D;kU_KYc&{6hlp(<;@cTf znd`IqEH!JJJnKskN$gALqWP?mWWr~4oY9bSEq)y|bzcE&K5Gn#aCTaUhKAZ;sOevW ztx5}B&_s7e_mch@q?I?uVWwr+eRg}@YlzKfmorx{;UtQ=;mIoK48&wfUG z8s$=x^K-Q51*}QM%c5zv8sRm2NIRoFp1LDHKb2cil!^SJudQ`&!ISJUt@f?d)fHtf zB+>|7|0Y#e(Y4|PVk*3g(4#6u71K{#sN9+c56b#LRQ{|qawc28=Ho}Ksw zv`zmXuv|Ik)0U;jP*AI7`s0-XMnSAA0*Zci{GMehyThl5Gv#uR-d)=28;@yHLH69 z9gb1Yrdcryv=ObAJ=O05Gz$b{S&LhtFH5pUFGZD=BlT7B$UCm2b*e_8NWR>J5nZWsiz~o#irDWNO2JctXx9g;o3)l zK~rC6pLPVLm!;Z7OA?NBnuG_11Cr!ru-lKPjL_S2r6&X`bwZI9bFunzR^NP9-K|;4 zE1-%LD*Em49=W_`98`+zJ>89xEhV1jlGMA=iks%bJkLyqTI+=#U6kl`)4TKMpf-#f zwKnZ{!fdrR{dd9~wbs{Mn7Y2Q(&vZ7Pl}#_yUQ>1%+!OG!5aeL%3?uam9OTg3^)r+ zJR5L#Su6)Pr>f(Dq`J~ zWR-$Aqm=>U8(&C76pYdQOUY0 zmPR0jpfwAy96I%=A;2=}jJIV$B?Pd_Xk#TT352+P@pe$4an`yEL1Mp|F zYeQobW@~NSTAR_@4s3+h+KkqAWVV)t^_>7R_Rb*AXkCD2YguEo*4EToE?0jspjnBo zT*7E9YxGu$X07eU%1Z$CmjarV!k*9>@4>PpYxF9k?Y&ss8-T=I#`NW^Y|VMtRdc-$ z^H|43btd~^4%FZo+QeVY{PPB%y842mURR)8WoA9gu`plBoK}AgbBd<-0c)w$6umD9 zuZ73yRiLU=C29lR545VENIiE!IClYxL<-edE^3VwtCslHP_p2f)PF9BCawh+?+>t4 zshLsDqVrN3AHX&dHFh2DnP)@_7?VUFhkegofY zjC*|^qA@E5*aS2qHW8rIE>Bt7h7*rLs>m%PdS)Iw7y_++fiXfU zuZ>E0xDbXg>Rkcj`egvw;he%V+DtBU6IYsKjot>vu_54{(E=?t6ojkhb9A6Bb_+Y^ zr;+|6pj?X$6O>xhwj`TVqSSIE`f!ku*75mpnp~MW+%_wL&6%ZUh#zZVEt7f&sOk_7 zqFw`xT?n2#LL)>%m|4DN`w{oK{Ya%>sa-3JJ;`n`(6os07#R!aO^*?!mbJB5I?ZQE zo>Kc1n5GmrpqPA`AjMCm9&A@&GkvBuw=343fv1{nsYC6GydneZ{zz_3hZ<`}%5h;k zJqIH5DUq2OyBWIjNPV+s!NsONHTuH4f_P3^vUEJtocb-WjE@5(H>SS5aC9+`a;2UP z>f5pYcJNis`sX01Qq`!nenVYqz(ZeN-h%mI#v zjUA2C%Ii0xxIO`VhE+#SojRWThSN&y_L5wkJ`w5~S&;jw$|mcq%*3)iveFyWV-NURL-Dq-{w60XJXkp06Ny)9M=r51ZDOYN)Dl9R%$foC*KIxSwq z1)Ozkq3P{XlL|9O%b7k274l3s=5Ix2vt4p6M|`fOO`B%rT=2#oQK{W3>or!+XSufP z&{3#uE2edB;v2>Agl#-xI?pM0zkF*m-7;V2gQbooP{aC#IiMxE<#;DhX%)i7I_{JE ze^u^voO&E>Q_pC~TQoieG_Um0N>|MYv_`)q0gn+)?wlZ7CS@#=F5&^$yEJ)oNAvCS zZNz50lkmi>R5By>*qxxvut67|WGoYt4IS-Q)RmjH{_1QezF6W49&) zR83A3t4~F7evnP$dpk9DH|{#di!(A@`P~~5#O0B`O6_jsLe_}waDsfnSobIbl-1h}wz{!rd4H+#Q|bWobVqo9Q- zY^k}u=~cpb3zH9MJB>szcs%*y7%p=5{0+94J%8mQFQPhaI+OZLL1j*pp2f|=Q&~Hw zbL!ky%(1OJ$5MwoJA&+}_8ovcZcq$2vr=a|2NNB+!jHH@B|aPFT-qNzQXsE8jN&$U z{TR0Kd$?L8F6y=iE_Bzt&AnRPeSTM z)Xf*ih-p^&!%gotnfhF=_J~>SXDzD@*ir3@)c!7k#5|Z~#_tDWNv)sXjLWWH0Ipdm z9kb4cVibrign=z`4OaFCK&i0@f$>Fv$jy*FBxNaJtbrAaS@F11yF|(#X8BScPHJq~ zIf*o14jvQv&$uNYVHzX;QS-in?>A$|g1b?pQo9l~?@gk-&^|5|tAVmw>{M8bo{C0p z!8S%}p9Es>w^}4%wH6F&dkVMYI;PLBjd!R|vm&F7jc!HiJM*BI9q!cX|BW2W#r6{r zXSCx@sV+;hM)tGI#{GOf@~7VhwHDEAxr1eT3-)6TGP_#IZkgZMGpR(^UP{;O)XuJV zCe|YWSww#pRAri4%fmsb<&lNma4@pryj@9UwsC49#aXcpunwFN*oZ{3_{rg&F^}B(%Tayvfojh-BV;R_p>YWtgoS_L_jgVb@S9!#B8oK4mK1{VOPt&}uoI%{&>i zuPN<5O{$DF!k#-gr>RlRYcmqlY)bF_U2WO*uX4yO62~iS0$Yul82Z?x_~Iv;4H#`d z#O8U+7w6p7Vabsz-nYj1X|dwDbIqA>ZpAy7f#y!+if8AHCCt3Xo0e3F@g3EIUD_Bh{}9LkmdWTwLDT3nfL***Fa;L z_?mt4)QHUcolmdfvmV`TgwPb`xoXeO+s{ +j8;j16B&J<%8}1Cy|;D!G1gP4&ca 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 ARR910 delta 19242 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 T=D#1w=-m|f`X6FRd;9+b(You can suppress this dialog by holding SHIFT when you choose this option.)]]> + Set Steam origin... + WARNING: Setting a steam original source to incorrect values will lead to unexpected behavior should you ever sync the local copy to an updated steam version.]]> + Import {0} items @@ -77,8 +82,9 @@ Sync with Steam original identical Unknown diff --git a/README.md b/README.md index 115ca3b..ed73705 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ _A Rimworld mod manager_

Mod Switch

-Allows you to save and switch between sets of active mods with one click. +Allows you to save and switch between sets of active mods with one click. Supports importing your sets from ModListBackup. diff --git a/Source/ModSwitch.sln.DotSettings b/Source/ModSwitch.sln.DotSettings index a8a6d1b..45ded78 100644 --- a/Source/ModSwitch.sln.DotSettings +++ b/Source/ModSwitch.sln.DotSettings @@ -20,6 +20,7 @@ <Policy Inspect="True" Prefix="" Suffix="" Style="aa_bb" /> BG MLB + UI <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb"><ExtraRule Prefix="" Suffix="" Style="aaBb_aaBb" /></Policy> <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb"><ExtraRule Prefix="" Suffix="" Style="aaBb_AaBb" /></Policy> <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> diff --git a/Source/ModSwitch/LanguageKeys.Generated.cs b/Source/ModSwitch/LanguageKeys.Generated.cs index 741f4c0..d1fde72 100644 --- a/Source/ModSwitch/LanguageKeys.Generated.cs +++ b/Source/ModSwitch/LanguageKeys.Generated.cs @@ -57,6 +57,14 @@ public static class @keyed { /// public const string @ModSwitch_OverwritExisting_Confirm = "ModSwitch.OverwritExisting.Confirm"; /// + /// Get's the translation key for 'Set Steam origin...' + /// + public const string @ModSwitch_SetOrigin = "ModSwitch.SetOrigin"; + /// + /// Get's the translation key for 'Manually set the steam original of {0} to {1}?

<b>WARNING:</b> Setting a steam original source to incorrect values will lead to unexpected behavior should you ever sync the local copy to an updated steam version.
' + ///
+ public const string @ModSwitch_SetOrigin_Confirm = "ModSwitch.SetOrigin.Confirm"; + /// /// Get's the translation key for 'Import' /// public const string @ModSwitch_Import = "ModSwitch.Import"; @@ -233,7 +241,7 @@ public static class @keyed { /// public const string @ModSwitch_Sync_Identical = "ModSwitch.Sync.Identical"; /// - /// Get's the translation key for 'The mod {0} will be updated to the current Steam version.
(Last) copied from Steam at an upload date of: {1}
Current upload date on Steam: {2}

Do you want to keep your existing settings from the local copy or replace them with the version of Steam?
' + /// Get's the translation key for 'The mod {0} will be updated to the current Steam version.
Steam upload date at (last) local copy: {1}
Steam upload date currently on Steam: {2}

Do you want to keep your existing settings from the local copy or replace them with the version of Steam?
' ///
public const string @ModSwitch_Sync_Message = "ModSwitch.Sync.Message"; /// diff --git a/Source/ModSwitch/ModSwitch.csproj b/Source/ModSwitch/ModSwitch.csproj index f1a6c48..5005728 100644 --- a/Source/ModSwitch/ModSwitch.csproj +++ b/Source/ModSwitch/ModSwitch.csproj @@ -70,7 +70,7 @@ - + diff --git a/Source/ModSwitch/Properties/AssemblyInfo.cs b/Source/ModSwitch/Properties/AssemblyInfo.cs index 136610f..3f4fd6b 100644 --- a/Source/ModSwitch/Properties/AssemblyInfo.cs +++ b/Source/ModSwitch/Properties/AssemblyInfo.cs @@ -12,6 +12,6 @@ [assembly: System.Reflection.AssemblyCopyright("Copyright © DoctorVanGogh 2017")] [assembly: System.Runtime.InteropServices.ComVisible(false)] [assembly: System.Runtime.InteropServices.Guid("ab2e8e89-3d1d-4e36-a0ae-489b6ebc84a6")] -[assembly: System.Reflection.AssemblyVersion("1.2.0.81")] +[assembly: System.Reflection.AssemblyVersion("1.2.0.86")] diff --git a/Source/ModSwitch/Properties/version.txt b/Source/ModSwitch/Properties/version.txt index 37c4059..9e5c8c1 100644 --- a/Source/ModSwitch/Properties/version.txt +++ b/Source/ModSwitch/Properties/version.txt @@ -1 +1 @@ -1.2.0.81 \ No newline at end of file +1.2.0.86 \ No newline at end of file diff --git a/Source/ModSwitch/[UI]/ModsConfig.cs b/Source/ModSwitch/[UI]/ModsConfigUI.cs similarity index 81% rename from Source/ModSwitch/[UI]/ModsConfig.cs rename to Source/ModSwitch/[UI]/ModsConfigUI.cs index a9940f8..e6be11a 100644 --- a/Source/ModSwitch/[UI]/ModsConfig.cs +++ b/Source/ModSwitch/[UI]/ModsConfigUI.cs @@ -93,27 +93,71 @@ public static void DoContextMenu(ModMetaData mod) { var option = new FloatMenuOption(); if (tsCopy != null && tsCopy == tsSteam) { option.Label = Helpers.ExplainError(label, LanguageKeys.keyed.ModSwitch_Sync_Identical.Translate()); - } - else { + } else { option.Label = label; option.action = () => { - Find.WindowStack.Add( - new Dialog_MessageBox( - LanguageKeys.keyed.ModSwitch_Sync_Message.Translate( - mod.Identifier, Helpers.WrapTimestamp(tsCopy), Helpers.WrapTimestamp(tsSteam) - ), - LanguageKeys.keyed.ModSwitch_Sync_Choice_KeepSettings.Translate(), - () => { SyncSteam(mod, localAttributes.SteamOrigin, false); }, - LanguageKeys.keyed.ModSwitch_Sync_Choice_CopySteam.Translate(), - () => { SyncSteam(mod, localAttributes.SteamOrigin, true); }, - LanguageKeys.keyed.ModSwitch_Confirmation_Title.Translate(), - false) { - doCloseX = true, - closeOnEscapeKey = true - }); - }; + Find.WindowStack.Add( + new Dialog_MessageBox( + LanguageKeys.keyed.ModSwitch_Sync_Message.Translate( + mod.Identifier, Helpers.WrapTimestamp(tsCopy), Helpers.WrapTimestamp(tsSteam) + ), + LanguageKeys.keyed.ModSwitch_Sync_Choice_KeepSettings.Translate(), + () => { + SyncSteam(mod, localAttributes.SteamOrigin, false); + }, + LanguageKeys.keyed.ModSwitch_Sync_Choice_CopySteam.Translate(), + () => { + SyncSteam(mod, localAttributes.SteamOrigin, true); + }, + LanguageKeys.keyed.ModSwitch_Confirmation_Title.Translate(), + false) { + doCloseX = true, + closeOnEscapeKey = true + }); + }; } options.Add(option); + } else { + if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) { + if (SteamAPI.IsSteamRunning()) { + var installed = ModLister.AllInstalledMods.ToArray(); + + if (installed.Length > 0) + options.Add(new FloatMenuOption( + LanguageKeys.keyed.ModSwitch_SetOrigin.Translate(), + () => Find.WindowStack.Add( + new FloatMenu( + installed + .Where(mmd => mmd.OnSteamWorkshop) + .Select(mmd => new FloatMenuOption( + mmd.Name, + () => Find.WindowStack.Add( + Dialog_MessageBox.CreateConfirmation( + LanguageKeys.keyed.ModSwitch_SetOrigin_Confirm.Translate(mod.Name, mmd.Name), + () => { + var attributes = ms[mod.Identifier]; + attributes.SteamOrigin = mmd.Identifier; + Helpers.RebuildModsList(); + }, + true, + LanguageKeys.keyed.ModSwitch_Confirmation_Title.Translate() + ) + ))) + .ToList() + + )) + )); + } + else { + options.Add( + new FloatMenuOption( + Helpers.ExplainError( + LanguageKeys.keyed.ModSwitch_SetOrigin.Translate(), + LanguageKeys.keyed.ModSwitch_Error_SteamNotRunning.Translate() + ), + null)); + } + } } } @@ -264,7 +308,7 @@ private static List CreateColorizationOptions(ModMetaData mod) public static class Helpers { public static string WrapTimestamp(long? timestamp) { - return timestamp != null ? Util.UnixTimeStampToDateTime(timestamp.Value).ToString("g") : $"{LanguageKeys.keyed.ModSwitch_Sync_UnknownTimestamp.Translate()}"; + return timestamp != null ? Util.UnixTimeStampToDateTime(timestamp.Value).ToString("g") : $"{LanguageKeys.keyed.ModSwitch_Sync_UnknownTimestamp.Translate()}"; } public static string ExplainError(string label, string error) {