diff --git a/Changelog.txt b/Changelog.txt new file mode 100644 index 0000000..0991c7c --- /dev/null +++ b/Changelog.txt @@ -0,0 +1,20 @@ +Changelog: +------------ +17.05.XX: +- Update: Automatic cleanup of old files in Patcher folder to save space on your harddisk +- Update: Firefox/Thunderbird Themes +- Fix: Patcher not recognizing Dropbox correctly +- Update: Some minor improvements to the elementary VS for Windows 7 +- Update: Several icons updated +- Fix: MPC filetype icons correction +- New: Support for FreeFileSync + +16.12.24: +- Update: elementary icon theme +- Update: Gnome/Adwaita icon theme +- Update: AIMP3 Icons +- Update: Mozilla Firefox / Thunderbird Theme compatibility Updates. Also uploaded to Mozilla Addons due to the need of AddOns to be signed and for easier updating. Signed files are inclued. +- Fix: Updater will now simply download the latest Offline-Installer from GitHub. No more updating of parts due to bandwith limitations of Dropbox. +- Fix: Error during extraction of resources on x86 OS. +- Update: Improved Errorlogging. +- Update: Notepad2 EN/DE 4.2.25.985 \ No newline at end of file diff --git a/project/JobsPatcher.au3 b/project/JobsPatcher.au3 new file mode 100644 index 0000000..ee6a06b --- /dev/null +++ b/project/JobsPatcher.au3 @@ -0,0 +1,991 @@ +Func ExtractResources() + #Region: Scripts + $sResName = "ResHacker Scripts" + $sResFileLocal = @ScriptDir & '\Themes\scripts.7z' + + ;Extract resources + InstallMsg("Extracting: " & $sResName) + ExtractArchive($sResFileLocal, $ResourcesDir) + InstallMsg("done") + + ;Override Feature + If FileExists(@DesktopDir & "\Override\scripts") Then DirCopy(@DesktopDir & "\Override\scripts", $ResourcesDir & "\scripts", 1) + #EndRegion + + + #Region: Resources + $sResName = "Resources" + + $sResFileLocal = @ScriptDir & '\Themes\res-gnome.7z' ;base for all + $sResFileLocal2 = "" + $sResFileLocal3 = "" + $sResFileLocal4 = "" + + If $SelectedTheme = "gnome" Then + ;use the above + + ElseIf $SelectedTheme = "cheser" or $SelectedTheme = "gnome-brave" or $SelectedTheme = "elementary" Then + $sResFileLocal4 = @ScriptDir & '\Themes\res-' & $SelectedTheme & '.7z' + + Else + ;2nd base images + $parent_theme = "" + $parent_theme2 = "" + + If $SelectedTheme = "tango" Then + $parent_theme = "gnome-brave" + + ElseIf $SelectedTheme = "tangerine" Then + $parent_theme = "gnome-brave" + $parent_theme2 = "tango" + + ElseIf $SelectedTheme = "humanity" Then + $parent_theme = "elementary" + + ElseIf $SelectedTheme = "gnome-human" or $SelectedTheme = "gnome-noble" or $SelectedTheme = "gnome-wine" or $SelectedTheme = "gnome-wise" Then + $parent_theme = "gnome-brave" + + EndIf + + $sResFileLocal2 = @ScriptDir & '\Themes\res-' & $parent_theme & '.7z' + $sResFileLocal3 = @ScriptDir & '\Themes\res-' & $parent_theme2 & '.7z' + $sResFileLocal4 = @ScriptDir & '\Themes\res-' & $SelectedTheme & '.7z' ;specific images + + EndIf + + ;Extract resources + InstallMsg("Extracting: " & $sResName) + ExtractArchive($sResFileLocal, $ResourcesDir) + ExtractArchive($sResFileLocal2, $ResourcesDir) + ExtractArchive($sResFileLocal3, $ResourcesDir) + If $SelectedTheme <> "gnome" Then ExtractResCleanup() + ExtractArchive($sResFileLocal4, $ResourcesDir) + InstallMsg("done") + + ;Override Feature + If FileExists(@DesktopDir & "\Override\icons") Then DirCopy(@DesktopDir & "\Override\icons", $ResourcesDir & "\icons", 1) + If FileExists(@DesktopDir & "\Override\bitmaps") Then DirCopy(@DesktopDir & "\Override\bitmaps", $ResourcesDir & "\bitmaps", 1) + If FileExists(@DesktopDir & "\Override\shiki") Then DirCopy(@DesktopDir & "\Override\shiki", $ResourcesDir & "\shiki", 1) + #EndRegion +EndFunc + +Func ExtractResCleanup() ;cleanup Themes from other icon themes; at the moment a manual attempt... + DirRemove($ResourcesDir & "\themes\Aimp", 1) + FileDelete($ResourcesDir & "\themes\Firefox\*.xpi") + DirRemove($ResourcesDir & "\themes\jDownloader", 1) + DirRemove($ResourcesDir & "\themes\RadioSure\skins", 1) + DirRemove($ResourcesDir & "\themes\SMPlayer", 1) + FileDelete($ResourcesDir & "\themes\Thunderbird\*.xpi") + DirRemove($ResourcesDir & "\themes\Winyl", 1) +EndFunc + + +#Region Options +;General Options +Func Apply_NoTray() + ;Don't patch Tray Icons + InstallMsg("Applying: Don't patch Tray Icons") + + FileCopy($ResourcesDir & "\Scripts\options\notray_SndVolSSO.dll.txt", $ResourcesDir & "\Scripts\SndVolSSO.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\options\notray_taskbarcpl.dll.txt", $ResourcesDir & "\Scripts\taskbarcpl.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\options\notray_pnidui.dll.txt", $ResourcesDir & "\Scripts\pnidui.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\options\notray_ActionCenter.dll.txt", $ResourcesDir & "\Scripts\ActionCenter.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\options\notray_batmeter.dll.txt", $ResourcesDir & "\Scripts\batmeter.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\options\notray_dropbox.exe.txt", $ResourcesDir & "\Scripts\dropbox.exe.txt", 1) + + FileCopy($ResourcesDir & "\Scripts\x64\options\notray_SndVolSSO.dll.txt", $ResourcesDir & "\Scripts\x64\SndVolSSO.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\x64\options\notray_taskbarcpl.dll.txt", $ResourcesDir & "\Scripts\x64\taskbarcpl.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\x64\options\notray_pnidui.dll.txt", $ResourcesDir & "\Scripts\x64\pnidui.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\x64\options\notray_ActionCenter.dll.txt", $ResourcesDir & "\Scripts\x64\ActionCenter.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\x64\options\notray_batmeter.dll.txt", $ResourcesDir & "\Scripts\x64\batmeter.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\x64\options\notray_dropbox.exe.txt", $ResourcesDir & "\Scripts\dropbox.exe.txt", 1) + + InstallMsg("done") +EndFunc + +Func Apply_SymbolicTray() + ;Use symbolic tray icons + InstallMsg("Applying: Use symbolic Tray Icons") + + FileCopy($ResourcesDir & "\Scripts\options\symbolic_SndVolSSO.dll.txt", $ResourcesDir & "\Scripts\SndVolSSO.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\options\symbolic_taskbarcpl.dll.txt", $ResourcesDir & "\Scripts\taskbarcpl.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\options\symbolic_pnidui.dll.txt", $ResourcesDir & "\Scripts\pnidui.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\options\symbolic_ActionCenter.dll.txt", $ResourcesDir & "\Scripts\ActionCenter.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\options\symbolic_batmeter.dll.txt", $ResourcesDir & "\Scripts\batmeter.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\options\symbolic_dropbox.exe.txt", $ResourcesDir & "\Scripts\dropbox.exe.txt", 1) + + FileCopy($ResourcesDir & "\Scripts\x64\options\symbolic_SndVolSSO.dll.txt", $ResourcesDir & "\Scripts\x64\SndVolSSO.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\x64\options\symbolic_taskbarcpl.dll.txt", $ResourcesDir & "\Scripts\x64\taskbarcpl.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\x64\options\symbolic_pnidui.dll.txt", $ResourcesDir & "\Scripts\x64\pnidui.dll.txt", 1) + FileCopy($ResourcesDir & "\Scripts\x64\options\symbolic_ActionCenter.dll.txt", $ResourcesDir & "\Scripts\x64\ActionCenter.dll.txt", 1) + ;FileCopy($ResourcesDir & "\Scripts\x64\options\symbolic_batmeter.dll.txt", $ResourcesDir & "\Scripts\x64\batmeter.dll.txt", 1) ;no x64 needed! + FileCopy($ResourcesDir & "\Scripts\x64\options\symbolic_dropbox.exe.txt", $ResourcesDir & "\Scripts\x64\dropbox.exe.txt", 1) + + InstallMsg("done") +EndFunc + +Func Apply_NoStartOrb() + ;Don't patch Start Orb + InstallMsg("Applying: Don't patch Start Orb") + + FileCopy($ResourcesDir & "\Scripts\options\noorb_explorer.exe.txt", $ResourcesDir & "\Scripts\explorer.exe.txt", 1) + FileCopy($ResourcesDir & "\Scripts\x64\options\noorb_explorer.exe.txt", $ResourcesDir & "\Scripts\x64\explorer.exe.txt", 1) + + InstallMsg("done") +EndFunc + +Func Apply_Notepad2() + ;Replace MS Notepad with Notepad2 + $sResName = "Notepad2" + $sResFileLocal = @ScriptDir & '\Themes\files-' & $SelectedTheme & '.7z' + + ;Extract + InstallMsg("Extracting: " & $sResName) + ExtractArchive($sResFileLocal, $ResourcesDir) + InstallMsg("done") + + ;Patch + InstallMsg("Replacing: Microsoft Notepad with " & $sResName) + + If $OsArch = "x86" Then + DirCreate(@DesktopDir & "\Override") + FileCopy($ResourcesDir & "\files\notepad2-" & _GetOSLanguage() & ".exe", @DesktopDir & "\Override\notepad.exe", 1) + Else + DirCreate(@DesktopDir & "\Override\x64") + FileCopy($ResourcesDir & "\files\notepad2-" & _GetOSLanguage() & "-x64.exe", @DesktopDir & "\Override\notepad.exe", 1) + FileCopy($ResourcesDir & "\files\notepad2-" & _GetOSLanguage() & ".exe", @DesktopDir & "\Override\x64\notepad.exe", 1) + EndIf + + FileWrite(@UserProfileDir & "\AppData\Roaming\notepad2.ini", "[Notepad2]") + + InstallMsg("done") +EndFunc + +Func Apply_Desktops() + ;Install Sysinternals Desktops + $sResName = "Sysinternals Desktops" + $sResFileLocal = @ScriptDir & '\Themes\files-' & $SelectedTheme & '.7z' + + ;Extract + InstallMsg("Extracting: " & $sResName) + ExtractArchive($sResFileLocal, $ResourcesDir) + InstallMsg("done") + + ;Install + InstallMsg("Installing: " & $sResName) + + FileCopy($ResourcesDir & "\files\desktops.exe", @WindowsDir & "\desktops.exe", 1) + RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", "Sysinternals Desktops", "REG_SZ", @WindowsDir & "\desktops.exe") ;Add to Autostart + + InstallMsg("done") +EndFunc + +Func Apply_UpdaterStartup() + ;Automatically Check for Updates + InstallMsg("Applying: Automatically Check for Updates on Startup") + + FileDelete(@StartupCommonDir & "\" & $AppName & " Updatecheck.lnk") + FileCreateShortcut(@ScriptDir & "\Updater.exe", @StartupDir & "\" & $AppName & " Updatecheck.lnk", @ScriptDir, "/S") + + InstallMsg("done") +EndFunc + +Func Apply_ReloaderStartup() + ;Automatically Reload on Boot + InstallMsg("Applying: Automatically Reload on Startup") + + FileDelete(@StartupCommonDir & "\" & $AppName & " Reloader.lnk") + FileCreateShortcut(@ScriptDir & "\Patcher.exe", @StartupDir & "\" & $AppName & " Reloader.lnk", @ScriptDir, "/reload /S") + + InstallMsg("done") +EndFunc + +;Windows: Theme +Func ApplyTheme_UXThemePatch($sMethod) + ;Apply UXThemePatch + If $sMethod = "direct" Then + ;Install + InstallMsg("Applying: UXTheme Patch (Direct Method)") + RunWait($ToolsDir & "\UltraUXThemePatcher.exe /S") + RegWrite($AppRegKey, "UxThemePatch", "REG_SZ", "1") + InstallMsg("done") + Else + ;Install + InstallMsg("Applying: UXTheme Patch (Service Method") + RunWait($ToolsDir & "\UXTheme_Multi-Patcher.exe") + RegWrite($AppRegKey, "UxThemePatch", "REG_SZ", "1") + InstallMsg("done") + EndIf +EndFunc + +Func ApplyTheme_Wallpapers() + ;Matching Wallpapers for the VS + $sResName = "Wallpapers" + $sResFileLocal = @ScriptDir & '\Themes\wallpapers.7z' + + ;Extract + InstallMsg("Extracting: " & $sResName) + ExtractArchive($sResFileLocal, $ResourcesDir) + InstallMsg("done") + + ;Install + InstallMsg("Installing: " & $sResName) + ;FileCopy($ResourcesDir & "\themes\Windows\Wallpapers\*.png", @WindowsDir & "\Web\Wallpaper", 1) + ;FileCopy($ResourcesDir & "\themes\Windows\Wallpapers\*.jpg", @WindowsDir & "\Web\Wallpaper", 1) + DirCopy($ResourcesDir & "\themes\Windows\Wallpapers", @WindowsDir & "\Web\Wallpaper", 1) + InstallMsg("done") +EndFunc + +Func ApplyTheme_Cursors($Cursor_Style) + ;Ubuntu Classic Cursors + $sResName = $Cursor_Style & " Cursors" + $sResFileLocal = @ScriptDir & '\Themes\cursors-' & $Cursor_Style & '.7z' + + ;Extract + InstallMsg("Extracting: " & $sResName) + ExtractArchive($sResFileLocal, $ResourcesDir) + InstallMsg("done") + + ;Install + InstallMsg("Installing: " & $sResName) + + DirCreate(@WindowsDir & "\Cursors\" & $Cursor_Style) + FileCopy($ResourcesDir & "\themes\Windows\Cursors\*.cur", @WindowsDir & "\Cursors\" & $Cursor_Style, 9) + FileCopy($ResourcesDir & "\themes\Windows\Cursors\*.ani", @WindowsDir & "\Cursors\" & $Cursor_Style, 9) + + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "Arrow", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\normal.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "Help", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\help.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "AppStarting", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\working.ani") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "Wait", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\busy.ani") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "Crosshair", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\precision.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "IBeam", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\text.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "NWPen", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\handwriting.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "No", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\unavailable.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "SizeNS", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\vertical_resize.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "SizeWE", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\horizontal_resize.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "SizeNWSE", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\diagonal_resize_1.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "SizeNESW", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\diagonal_resize_2.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "SizeAll", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\move.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "UpArrow", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\alternate.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors", "Hand", "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\link.cur") + RegWrite("HKEY_CURRENT_USER\Control Panel\Cursors\Schemes", $Cursor_Style, "REG_SZ", @WindowsDir & "\Cursors\" & $Cursor_Style & "\normal.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\help.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\working.ani," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\busy.ani," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\precision.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\text.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\handwriting.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\unavailable.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\vertical_resize.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\horizontal_resize.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\diagonal_resize_1.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\diagonal_resize_2.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\move.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\alternate.cur," & @WindowsDir & "\Cursors\" & $Cursor_Style & "\link.cur") + + InstallMsg("done") +EndFunc + +Func ApplyTheme_VisualStyle($VS_Name) + ;VisualStyle + $sResName = "Visual Style for Windows" + + ;Definitions + If $VS_Name = "elementary" Then + $sResFileLocal = @ScriptDir & '\Themes\visualstyle-elementary.7z' + + $VS_FileName = "elementary" + + ElseIf $VS_Name = "Ubuntu" Then + $sResFileLocal = @ScriptDir & '\Themes\visualstyle-ubuntu.7z' + + $VS_FileName = "Ubuntu" + + ElseIf $VS_Name = "Shiki-Colors" Then + $sResFileLocal = @ScriptDir & '\Themes\visualstyle-shikicolors.7z' + + If $SelectedTheme = "gnome" Then + $VS_FileName = "Shiki-Colors Dust" + ElseIf $SelectedTheme = "cheser" or $SelectedTheme = "tango" or $SelectedTheme = "elementary" Then + $VS_FileName = "Shiki-Colors Brave" + ElseIf $SelectedTheme = "tangerine" or $SelectedTheme = "humanity" Then + $VS_FileName = "Shiki-Colors Human" + Else + $VS_FileName = "Shiki-Colors " & $SelectedTheme + EndIf + EndIf + + ;Extract + InstallMsg("Extracting: " & $sResName) + ExtractArchive($sResFileLocal, $ResourcesDir) + InstallMsg("done") + + ;Install + InstallVisualStyle($VS_Name, $VS_FileName) + + +;~ InstallMsg("Installing: " & $sResName) + +;~ FileDelete(@WindowsDir & "\Resources\Themes\" & $VS_Name) +;~ DirRemove(@WindowsDir & "\Resources\Themes\" & $VS_Name, 1) + +;~ DirCreate(@WindowsDir & "\Resources\Themes\" & $VS_Name & "\Shell\NormalColor\en-US") +;~ FileCopy($ResourcesDir & "\themes\Windows\" & $WinName & "\*.theme", @WindowsDir & "\Resources\Themes", 9) +;~ FileCopy($ResourcesDir & "\themes\Windows\" & $WinName & "\*.msstyles", @WindowsDir & "\Resources\Themes\" & $VS_Name, 9) +;~ FileCopy($ResourcesDir & "\themes\Windows\" & $WinName & "\shellstyle.dll", @WindowsDir & "\Resources\Themes\" & $VS_Name & "\Shell\NormalColor", 9) +;~ FileCopy($ResourcesDir & "\themes\Windows\" & $WinName & "\shellstyle.dll.mui", @WindowsDir & "\Resources\Themes\" & $VS_Name & "\Shell\NormalColor\en-US", 9) +;~ ;Fonts +;~ If $VS_Name = "elementary" Then InstallFont($ResourcesDir & "\themes\Windows\Fonts\*.ttf") + + + ;Apply theme; only if uxtheme is patched + If RegRead($AppRegKey, "UxThemePatch") = "1" and FileExists(@WindowsDir & "\Resources\Themes\" & $VS_FileName & ".theme") Then + ShellExecuteWait(@WindowsDir & "\Resources\Themes\" & $VS_FileName & ".theme") + sleep(4000) + send("!{f4}") + ElseIf FileExists(@WindowsDir & "\Resources\Themes\" & $VS_FileName & ".theme") Then + FileCreateShortcut(@WindowsDir & "\Resources\Themes\" & $VS_FileName & ".theme", @DesktopCommonDir & "\Apply " & $VS_Name & " Theme.lnk") + EndIf + + InstallMsg("done") +EndFunc + +Func ApplyTheme_Branding() + ;Check the EditionID for the right branding + $EditionID = RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "EditionID") + + If $EditionID = "Ultimate" Then + FileCopy($ResourcesDir & "\bitmaps\basebrd.dll\ultimate\*.bmp", $ResourcesDir & "\bitmaps\basebrd.dll", 1) + ElseIf $EditionID = "Professional" Then + FileCopy($ResourcesDir & "\bitmaps\basebrd.dll\professional\*.bmp", $ResourcesDir & "\bitmaps\basebrd.dll", 1) + ElseIf $EditionID = "HomePremium" Then + FileCopy($ResourcesDir & "\bitmaps\basebrd.dll\homepremium\*.bmp", $ResourcesDir & "\bitmaps\basebrd.dll", 1) + ElseIf $EditionID = "HomeBasic" Then + FileCopy($ResourcesDir & "\bitmaps\basebrd.dll\homebasic\*.bmp", $ResourcesDir & "\bitmaps\basebrd.dll", 1) + ElseIf $EditionID = "Starter" Then + FileCopy($ResourcesDir & "\bitmaps\basebrd.dll\starter\*.bmp", $ResourcesDir & "\bitmaps\basebrd.dll", 1) + EndIf + + InstallFile("basebrd.dll", @WindowsDir & "\Branding\Basebrd") ;Windows Edition Banners + InstallFile("shellbrd.dll", @WindowsDir & "\Branding\ShellBrd") ;First Steps (CPL) + Windows Flags +EndFunc +#EndRegion + + +#Region System Files +;Windows: System Files +Func PatchWindowsFiles() + ;=====Systemfiles==================== + For $ChBox In $CheckboxesDict.Keys () + If BitAND(GUICtrlRead($ChBox), 1) Then + $FileName = $CheckboxesDict ($ChBox) + $InstallFiles.enqueue ($FileName) + EndIf + Next + + $IniFile = $IniFileWin + + If $InstallFiles.count > 0 Then + Do + $EntrysNumber = IniRead($IniFile, $InstallFiles.Peek, "Entrys", "1") + + For $j = 1 To $EntrysNumber + + $File = IniRead($IniFile, $InstallFiles.Peek, "File_" & $j, "") + $PathIni = IniRead($IniFile, $InstallFiles.Peek, "Path_" & $j, "") + + If not StringInStr($PathIni, "WindowsDir") = 0 Then + $Path = StringReplace($PathIni, "WindowsDir", @WindowsDir) + $Path64 = "" + ElseIf not StringInStr($PathIni, "AppDataLocal") = 0 Then + $Path = StringReplace($PathIni, "AppDataLocal", EnvGet("LOCALAPPDATA")) + $Path64 = "" + ElseIf not StringInStr($PathIni, "AppDataRoaming") = 0 Then + $Path = StringReplace($PathIni, "AppDataRoaming", @AppDataDir) + $Path64 = "" + ElseIf not StringInStr($PathIni, "SystemDir") = 0 Then + $Path = StringReplace($PathIni, "SystemDir", @WindowsDir & "\System32") + $Path64 = StringReplace($PathIni, "SystemDir", @WindowsDir & "\SysWOW64") + ElseIf not StringInStr($PathIni, "ProgramFilesDir") = 0 Then + $Path = StringReplace($PathIni, "ProgramFilesDir", $ProgramFiles) + $Path64 = StringReplace($PathIni, "ProgramFilesDir", $ProgramFiles64) + Else + $Path = $PathIni + $Path64 = "" + EndIf + + If $Path <> "" and $File <> "" Then + ;Specials for IE 10+ Users who won't be able to use it properly if these files get patched: + If $keepIEusable = 1 and $File = "ExplorerFrame.dll" Then + InstallMsg("Skipping File: " & $Path & "\" & $File & " for IE compatibility") + UninstallFile($File, $Path) + ElseIf $keepIEusable = 1 and $File = "inetcpl.cpl" Then + InstallMsg("Skipping File: " & $Path & "\" & $File & " for IE compatibility") + UninstallFile($File, $Path) + ElseIf $NotPatchShell32 = 1 or $keepIEusable = 1 and $File = "shell32.dll" Then + InstallMsg("Skipping File: " & $Path & "\" & $File & " for IE/Sound compatibility") + UninstallFile($File, $Path) + Else ;normal mode: + InstallFile($File, $Path) + EndIf + EndIf + + If $Path64 <> "" and $File <> "" Then + ;Specials for IE 10+ Users who won't be able to use it properly if these files get patched: + If $keepIEusable = 1 and $File = "ExplorerFrame.dll" Then + InstallMsg("Skipping File: " & $Path64 & "\" & $File & " for IE compatibility") + UninstallFile64($File, $Path64) + ElseIf $keepIEusable = 1 and $File = "inetcpl.cpl" Then + InstallMsg("Skipping File: " & $Path64 & "\" & $File & " for IE compatibility") + UninstallFile64($File, $Path64) + ElseIf $NotPatchShell32 = 1 or $keepIEusable = 1 and $File = "shell32.dll" Then + InstallMsg("Skipping File: " & $Path64 & "\" & $File & " for IE/Sound compatibility") + UninstallFile64($File, $Path64) + Else ;normal mode: + InstallFile64($File, $Path64) + EndIf + EndIf + + Next + + $InstallFiles.dequeue + + Until Not $InstallFiles.count + EndIf + + + ;UnPatch all files not compatible with the used Windows Version if they somehow got patched + $IniFile = @ScriptDir & "\filesWindows.ini" + $entrys = IniReadSectionNames($IniFile) + + For $i = 1 to $entrys[0] + $WinSupport = IniRead($IniFile, $entrys[$i], "Win", "") + + If $WinSupport <> "All" and StringInStr($WinSupport, $WinName) = 0 Then + + $EntrysNumber = IniRead($IniFile, $entrys[$i], "Entrys", "1") + + For $j = 1 To $EntrysNumber + + $File = IniRead($IniFile, $entrys[$i], "File_" & $j, "") + $PathIni = IniRead($IniFile, $entrys[$i], "Path_" & $j, "") + + If not StringInStr($PathIni, "WindowsDir") = 0 Then + $Path = StringReplace($PathIni, "WindowsDir", @WindowsDir) + $Path64 = "" + ElseIf not StringInStr($PathIni, "AppDataLocal") = 0 Then + $Path = StringReplace($PathIni, "AppDataLocal", EnvGet("LOCALAPPDATA")) + $Path64 = "" + ElseIf not StringInStr($PathIni, "AppDataRoaming") = 0 Then + $Path = StringReplace($PathIni, "AppDataRoaming", @AppDataDir) + $Path64 = "" + ElseIf not StringInStr($PathIni, "SystemDir") = 0 Then + $Path = StringReplace($PathIni, "SystemDir", @WindowsDir & "\System32") + $Path64 = StringReplace($PathIni, "SystemDir", @WindowsDir & "\SysWOW64") + ElseIf not StringInStr($PathIni, "ProgramFilesDir") = 0 Then + $Path = StringReplace($PathIni, "ProgramFilesDir", $ProgramFiles) + $Path64 = StringReplace($PathIni, "ProgramFilesDir", $ProgramFiles64) + Else + $Path = $PathIni + $Path64 = "" + EndIf + + If $Path <> "" and $File <> "" Then UninstallFile($File, $Path) + If $Path64 <> "" and $File <> "" Then UninstallFile64($File, $Path64) + + Next + + EndIf + Next +EndFunc +#EndRegion + + +#Region 3rd Party Apps +;3rd Party Apps: Themes +Func ApplyTheme_Aimp() + ;Theme - no need for a backup + If FileExists($ProgramFiles & "\AIMP3\AIMP3.exe") Then + ;Install + InstallMsg("Installing Theme: Aimp") + + CheckAndCloseProcess("AIMP3.exe", "AIMP") + + FileCopy($ResourcesDir & "\themes\Aimp\*.acs3", $ProgramFiles & "\AIMP3\Skins", 1) + + ;activate Theme + If $SelectedTheme = "gnome-brave" or $SelectedTheme = "gnome-human" or $SelectedTheme = "gnome-noble" or $SelectedTheme = "gnome-wine" or $SelectedTheme = "gnome-wise" Then + $theme_Aimp = "Shiki-" & StringReplace($SelectedTheme, "gnome-", "") & ".acs3" + ElseIf $SelectedTheme = "elementary" Then + $theme_Aimp = $SelectedTheme & ".acs3" + Else + $theme_Aimp = "Shiki-" & $SelectedTheme & ".acs3" + EndIf + IniWrite(@AppDataDir & "\AIMP3\AIMP3.ini", "Skins", "Skin", $theme_Aimp) + + InstallMsg("done") + + ElseIf FileExists($ProgramFiles & "\AIMP\AIMP.exe") Then + ;Install + InstallMsg("Installing Theme: Aimp") + + CheckAndCloseProcess("AIMP.exe", "AIMP") + + FileCopy($ResourcesDir & "\themes\Aimp\*.acs3", $ProgramFiles & "\AIMP\Skins", 1) + + ;activate Theme + If $SelectedTheme = "gnome-brave" or $SelectedTheme = "gnome-human" or $SelectedTheme = "gnome-noble" or $SelectedTheme = "gnome-wine" or $SelectedTheme = "gnome-wise" Then + $theme_Aimp = "Shiki-" & StringReplace($SelectedTheme, "gnome-", "") & ".acs3" + ElseIf $SelectedTheme = "elementary" Then + $theme_Aimp = $SelectedTheme & ".acs3" + Else + $theme_Aimp = "Shiki-" & $SelectedTheme & ".acs3" + EndIf + IniWrite(@AppDataDir & "\AIMP\AIMP.ini", "Skins", "Skin", $theme_Aimp) + + InstallMsg("done") + EndIf +EndFunc + +Func ApplyTheme_jDownloader() + ;Theme - no need for a backup + If FileExists($ProgramFiles & "\jDownloader\jDownloader.exe") Then + ;Install + InstallMsg("Installing Theme: jDownloader") + + CheckAndCloseProcess("jdownloader.exe", "jDownloader") + + DirCopy($ResourcesDir & "\themes\jDownloader", $ProgramFiles & "\jDownloader\jd", 1) + + InstallMsg("done") + EndIf +EndFunc + +Func ApplyTheme_FreeFileSync() + If FileExists($ProgramFiles & "\FreeFileSync\FreeFileSync.exe") or FileExists($ProgramFiles64 & "\FreeFileSync\FreeFileSync.exe") Then + ;Install + CheckAndCloseProcess("FreeFileSync.exe", "FreeFileSync") + + InstallTheme("FreeFileSync", $ProgramFiles & "\FreeFileSync\FreeFileSync.exe", $ProgramFiles & "\FreeFileSync", "Resources.zip", $ResourcesDir & "\themes\FreeFileSync\Resources.zip") + InstallTheme("FreeFileSync", $ProgramFiles64 & "\FreeFileSync\FreeFileSync.exe", $ProgramFiles64 & "\FreeFileSync", "Resources.zip", $ResourcesDir & "\themes\FreeFileSync\Resources.zip") + EndIf +EndFunc + +Func ApplyTheme_Firefox() + ;Theme - no need for a backup + If FileExists($ProgramFiles & "\Mozilla Firefox\firefox.exe") or FileExists($ProgramFiles64 & "\Mozilla Firefox\firefox.exe") Then + ;Install + InstallMsg("Installing Theme: Mozilla Firefox") + + CheckAndCloseProcess("firefox.exe", "Mozilla Firefox") + + $FirefoxAppPath = @AppDataDir & "\Mozilla\Firefox\" & StringReplace(IniRead(@AppDataDir & "\Mozilla\Firefox\profiles.ini", "Profile0", "Path", "Error"), "/", "\") + DirCreate($FirefoxAppPath & "\extensions") + ;Cleanup OLD + FileDelete($FirefoxAppPath & "\extensions\Gnome-Brave@Windows.xpi") + FileDelete($FirefoxAppPath & "\extensions\Gnome-Human@Windows.xpi") + FileDelete($FirefoxAppPath & "\extensions\Gnome-Noble@Windows.xpi") + FileDelete($FirefoxAppPath & "\extensions\Gnome-Wine@Windows.xpi") + FileDelete($FirefoxAppPath & "\extensions\Gnome-Wise@Windows.xpi") + FileDelete($FirefoxAppPath & "\extensions\Gnome@Windows.xpi") + FileDelete($FirefoxAppPath & "\extensions\Cheser@Windows.xpi") + FileDelete($FirefoxAppPath & "\extensions\Tango@Windows.xpi") + FileDelete($FirefoxAppPath & "\extensions\Tangerine@Windows.xpi") + FileDelete($FirefoxAppPath & "\extensions\Elementary@Windows.xpi") + FileDelete($FirefoxAppPath & "\extensions\Humanity@Windows.xpi") + ;Cleanup done + FileCopy($ResourcesDir & "\themes\Firefox\*.xpi", $FirefoxAppPath & "\extensions", 9) + + InstallMsg("done") + EndIf +EndFunc + +Func ApplyTheme_Thunderbird() + ;Theme - no need for a backup + If FileExists($ProgramFiles & "\Mozilla Thunderbird\thunderbird.exe") Then + ;Install + InstallTheme("Mozilla Thunderbird", $ProgramFiles & "\Mozilla Thunderbird\thunderbird.exe", $ProgramFiles & "\Mozilla Thunderbird\chrome\icons\default", "abcardWindow.ico", $ResourcesDir & "\themes\Thunderbird\icons\abcardWindow.ico") + InstallTheme("Mozilla Thunderbird", $ProgramFiles & "\Mozilla Thunderbird\thunderbird.exe", $ProgramFiles & "\Mozilla Thunderbird\chrome\icons\default", "addressbookWindow.ico", $ResourcesDir & "\themes\Thunderbird\icons\addressbookWindow.ico") + InstallTheme("Mozilla Thunderbird", $ProgramFiles & "\Mozilla Thunderbird\thunderbird.exe", $ProgramFiles & "\Mozilla Thunderbird\chrome\icons\default", "messengerWindow.ico", $ResourcesDir & "\themes\Thunderbird\icons\messengerWindow.ico") + InstallTheme("Mozilla Thunderbird", $ProgramFiles & "\Mozilla Thunderbird\thunderbird.exe", $ProgramFiles & "\Mozilla Thunderbird\chrome\icons\default", "msgcomposeWindow.ico", $ResourcesDir & "\themes\Thunderbird\icons\msgcomposeWindow.ico") + + InstallMsg("Installing Theme: Mozilla Thunderbird") + + CheckAndCloseProcess("thunderbird.exe", "Mozilla Thunderbird") + + FileCopy($ResourcesDir & "\themes\Thunderbird\*.xpi", $ProgramFiles & "\Mozilla Thunderbird\extensions", 1) + + InstallMsg("done") + EndIf +EndFunc + +Func ApplyTheme_SMPlayer() + ;Theme - no need for a backup + If $SelectedTheme = "gnome-brave" or $SelectedTheme = "gnome-human" or $SelectedTheme = "gnome-noble" or $SelectedTheme = "gnome-wine" or $SelectedTheme = "gnome-wise" Then + $theme_SMPlayer = "gnome-" & $SelectedTheme + Else + $theme_SMPlayer = $SelectedTheme + EndIf + + If FileExists($ProgramFiles & "\SMPlayer\SMPlayer.exe") Then + InstallMsg("Installing Theme: SMPlayer") + + CheckAndCloseProcess("SMPlayer.exe", "SMPlayer") + + DirCopy($ResourcesDir & "\themes\SMPlayer", $ProgramFiles & "\SMPlayer\themes", 1) + + ;activate Theme + IniWrite(@UserProfileDir & "\.smplayer\smplayer.ini", "gui", "iconset", _StringTitleCase($theme_SMPlayer)) + IniWrite(@UserProfileDir & "\.smplayer\smplayer.ini", "gui", "style", "WindowsVista") + IniWrite(@UserProfileDir & "\.smplayer\smplayer.ini", "gui", "gui", "DefaultGUI") + + InstallMsg("done") + ElseIf FileExists($ProgramFiles64 & "\SMPlayer\SMPlayer.exe") Then + InstallMsg("Installing Theme: SMPlayer") + + CheckAndCloseProcess("SMPlayer.exe", "SMPlayer") + + DirCopy($ResourcesDir & "\themes\SMPlayer", $ProgramFiles64 & "\SMPlayer\themes", 1) + + ;activate Theme + IniWrite(@UserProfileDir & "\.smplayer\smplayer.ini", "gui", "iconset", _StringTitleCase($theme_SMPlayer)) + IniWrite(@UserProfileDir & "\.smplayer\smplayer.ini", "gui", "style", "WindowsVista") + IniWrite(@UserProfileDir & "\.smplayer\smplayer.ini", "gui", "gui", "DefaultGUI") + + InstallMsg("done") + EndIf +EndFunc + +;Themes in one PAK: +Func ApplyTheme_DiskInfo() + ;Theme - no need for a backup + If FileExists($ProgramFiles & "\CrystalDiskInfo\DiskInfo.exe") Then + ;Install + InstallMsg("Installing Theme: CrystalDiskInfo") + + CheckAndCloseProcess("DiskInfo.exe", "Crystal DiskInfo") + + DirCopy($ResourcesDir & "\themes\CrystalDiskInfo", $ProgramFiles & "\CrystalDiskInfo\CdiResource\themes", 1) + + ;activate Theme +;~ If $SelectedTheme = "elementary" Then ;WIP! +;~ $theme_DiskInfo = "elementary" +;~ Else +;~ $theme_DiskInfo = "Shiki-Colors" +;~ EndIf +;~ IniWrite($ProgramFiles & "\CrystalDiskInfo\DiskInfo.ini", "Setting", "Theme", $theme_DiskInfo) + + IniWrite($ProgramFiles & "\CrystalDiskInfo\DiskInfo.ini", "Setting", "Theme", "Shiki-Colors") + + InstallMsg("done") + EndIf +EndFunc + +Func ApplyTheme_Foobar2000() + If FileExists($ProgramFiles & "\foobar2000\foobar2000.exe") Then + ;Install + CheckAndCloseProcess("foobar2000.exe", "foobar2000") + + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "aac.ico", $ResourcesDir & "\themes\foobar2000\aac.ico") + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "ape.ico", $ResourcesDir & "\themes\foobar2000\ape.ico") + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "flac.ico", $ResourcesDir & "\themes\foobar2000\flac.ico") + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "generic.ico", $ResourcesDir & "\themes\foobar2000\generic.ico") + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "m4a.ico", $ResourcesDir & "\themes\foobar2000\m4a.ico") + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "mp3.ico", $ResourcesDir & "\themes\foobar2000\mp3.ico") + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "mp4.ico", $ResourcesDir & "\themes\foobar2000\mp4.ico") + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "mpc.ico", $ResourcesDir & "\themes\foobar2000\mpc.ico") + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "ogg.ico", $ResourcesDir & "\themes\foobar2000\ogg.ico") + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "wav.ico", $ResourcesDir & "\themes\foobar2000\wav.ico") + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "wma.ico", $ResourcesDir & "\themes\foobar2000\wma.ico") + InstallTheme("foobar2000", $ProgramFiles & "\foobar2000\foobar2000.exe", $ProgramFiles & "\foobar2000\icons", "wv.ico", $ResourcesDir & "\themes\foobar2000\wv.ico") + EndIf +EndFunc + +Func ApplyTheme_Gimp() + If FileExists($ProgramFiles & "\GIMP 2\bin\gimp-2.8.exe") or FileExists($ProgramFiles64 & "\GIMP 2\bin\gimp-2.8.exe") Then + ;Install + CheckAndCloseProcess("gimp-2.8.exe", "GIMP") + + InstallTheme("Gimp", $ProgramFiles & "\GIMP 2\bin\gimp-2.8.exe", $ProgramFiles & "\GIMP 2\share\gimp\2.0\images", "gimp-logo.png", $ResourcesDir & "\themes\Gimp\gimp-logo.png") + InstallTheme("Gimp", $ProgramFiles & "\GIMP 2\bin\gimp-2.8.exe", $ProgramFiles & "\GIMP 2\share\gimp\2.0\images", "gimp-splash.png", $ResourcesDir & "\themes\Gimp\gimp-splash.png") + InstallTheme("Gimp", $ProgramFiles & "\GIMP 2\bin\gimp-2.8.exe", $ProgramFiles & "\GIMP 2\share\gimp\2.0\images", "wilber.png", $ResourcesDir & "\themes\Gimp\wilber.png") + + InstallTheme("Gimp", $ProgramFiles64 & "\GIMP 2\bin\gimp-2.8.exe", $ProgramFiles64 & "\GIMP 2\share\gimp\2.0\images", "gimp-logo.png", $ResourcesDir & "\themes\Gimp\gimp-logo.png") + InstallTheme("Gimp", $ProgramFiles64 & "\GIMP 2\bin\gimp-2.8.exe", $ProgramFiles64 & "\GIMP 2\share\gimp\2.0\images", "gimp-splash.png", $ResourcesDir & "\themes\Gimp\gimp-splash.png") + InstallTheme("Gimp", $ProgramFiles64 & "\GIMP 2\bin\gimp-2.8.exe", $ProgramFiles64 & "\GIMP 2\share\gimp\2.0\images", "wilber.png", $ResourcesDir & "\themes\Gimp\wilber.png") + EndIf +EndFunc + +Func ApplyTheme_Inkscape() + If FileExists($ProgramFiles & "\Inkscape\Inkscape.exe") or FileExists($ProgramFiles64 & "\Inkscape\Inkscape.exe") Then + ;Install + CheckAndCloseProcess("inkscape.exe", "Inkscape") + + InstallTheme("Inkscape", $ProgramFiles & "\Inkscape\inkscape.exe", $ProgramFiles & "\Inkscape\share\icons", "icons.svg", $ResourcesDir & "\themes\Inkscape\icons.svg") + InstallTheme("Inkscape", $ProgramFiles64 & "\Inkscape\inkscape.exe", $ProgramFiles64 & "\Inkscape\share\icons", "icons.svg", $ResourcesDir & "\themes\Inkscape\icons.svg") + EndIf +EndFunc + +Func ApplyTheme_LibreOffice() + If FileExists($ProgramFiles & "\LibreOffice 4\program\soffice.exe") or FileExists($ProgramFiles & "\LibreOffice 5\program\soffice.exe") or FileExists($ProgramFiles64 & "\LibreOffice 5\program\soffice.exe") Then + ;Install + + ;4.x + InstallTheme("LibreOffice", $ProgramFiles & "\LibreOffice 4\program\soffice.exe", $ProgramFiles & "\LibreOffice 4\share\config", "images_tango.zip", $ResourcesDir & "\themes\LibreOffice\images_tango.zip") + InstallTheme("LibreOffice", $ProgramFiles & "\LibreOffice 4\program\soffice.exe", $ProgramFiles & "\LibreOffice 4\program", "intro.png", $ResourcesDir & "\themes\LibreOffice\intro.png") + + ;5.x + InstallTheme("LibreOffice", $ProgramFiles & "\LibreOffice 5\program\soffice.exe", $ProgramFiles & "\LibreOffice 5\program", "intro.png", $ResourcesDir & "\themes\LibreOffice\intro.png") + InstallTheme("LibreOffice", $ProgramFiles64 & "\LibreOffice 5\program\soffice.exe", $ProgramFiles64 & "\LibreOffice 5\program", "intro.png", $ResourcesDir & "\themes\LibreOffice\intro.png") + EndIf +EndFunc + +Func ApplyTheme_MPC() + If FileExists($ProgramFiles & "\MPC-HC\mpc-hc.exe") or FileExists($ProgramFiles64 & "\MPC-HC\mpc-hc64.exe") then + ;Theme - no need for a backup + If FileExists($ProgramFiles & "\MPC-HC\mpc-hc.exe") Then + InstallMsg("Installing Theme: Media Player Classic HC") + + FileCopy($ResourcesDir & "\Themes\MPCHC\toolbar_24.bmp", $ProgramFiles & "\MPC-HC\toolbar.bmp", 1) + + InstallMsg("done") + ElseIf FileExists($ProgramFiles64 & "\MPC-HC\mpc-hc64.exe") Then + InstallMsg("Installing Theme: Media Player Classic HC") + + FileCopy($ResourcesDir & "\Themes\MPCHC\toolbar_24.bmp", $ProgramFiles64 & "\MPC-HC\toolbar.bmp", 1) + + InstallMsg("done") + EndIf + EndIf +EndFunc + +Func ApplyTheme_MSOffice() + ;Office 2010 icons + If FileExists(@WindowsDir & "\Installer\{90140000-0011-0000-1000-0000000FF1CE}\wordicon.exe") Then + InstallMsg("Installing Theme: Microsoft Office 2010") + + RunWait($ResourcesDir & "\themes\Office2010\Patch_pptico.exe -auto -nobackup", @WindowsDir & "\Installer\{90140000-0011-0000-1000-0000000FF1CE}") + RunWait($ResourcesDir & "\themes\Office2010\Patch_wordicon.exe -auto -nobackup", @WindowsDir & "\Installer\{90140000-0011-0000-1000-0000000FF1CE}") + RunWait($ResourcesDir & "\themes\Office2010\Patch_xlicons.exe -auto -nobackup", @WindowsDir & "\Installer\{90140000-0011-0000-1000-0000000FF1CE}") + + InstallMsg("done") + + ;Office 2013 icons + ElseIf FileExists(@WindowsDir & "\Installer\{90150000-0011-0000-1000-0000000FF1CE}\wordicon.exe") Then + InstallMsg("Installing Theme: Microsoft Office 2013") + + RunWait($ResourcesDir & "\themes\Office2010\Patch_pptico.exe -auto -nobackup", @WindowsDir & "\Installer\{90150000-0011-0000-1000-0000000FF1CE}") + RunWait($ResourcesDir & "\themes\Office2010\Patch_wordicon.exe -auto -nobackup", @WindowsDir & "\Installer\{90150000-0011-0000-1000-0000000FF1CE}") + RunWait($ResourcesDir & "\themes\Office2010\Patch_xlicons.exe -auto -nobackup", @WindowsDir & "\Installer\{90150000-0011-0000-1000-0000000FF1CE}") + + InstallMsg("done") + + ;Office 2016 icons + ElseIf FileExists(@WindowsDir & "\Installer\{90160000-0011-0000-1000-0000000FF1CE}\wordicon.exe") Then + InstallMsg("Installing Theme: Microsoft Office 2016") + + RunWait($ResourcesDir & "\themes\Office2010\Patch_pptico.exe -auto -nobackup", @WindowsDir & "\Installer\{90160000-0011-0000-1000-0000000FF1CE}") + RunWait($ResourcesDir & "\themes\Office2010\Patch_wordicon.exe -auto -nobackup", @WindowsDir & "\Installer\{90160000-0011-0000-1000-0000000FF1CE}") + RunWait($ResourcesDir & "\themes\Office2010\Patch_xlicons.exe -auto -nobackup", @WindowsDir & "\Installer\{90160000-0011-0000-1000-0000000FF1CE}") + + EndIf +EndFunc + +Func ApplyTheme_Pidgin() + If FileExists($ProgramFiles & "\Pidgin\Pidgin.exe") Then + ;Install + InstallMsg("Installing Theme: Pidgin") + + DirCopy($ResourcesDir & "\themes\Pidgin", $ProgramFiles & "\Pidgin", 1) + + InstallMsg("done") + EndIf +EndFunc + +Func ApplyTheme_RadioSure() + ;Theme - no need for a backup + If FileExists(@LocalAppDataDir & "\RadioSure\RadioSure.exe") Then + InstallMsg("Installing Theme: RadioSure") + + CheckAndCloseProcess("RadioSure.exe", "RadioSure") + + DirCopy($ResourcesDir & "\themes\RadioSure", @LocalAppDataDir & "\RadioSure", 1) + + ;activate Theme + If $SelectedTheme = "gnome-brave" or $SelectedTheme = "gnome-human" or $SelectedTheme = "gnome-noble" or $SelectedTheme = "gnome-wine" or $SelectedTheme = "gnome-wise" Then + $theme_RadioSure = "GnomeColors" + Else + $theme_RadioSure = $SelectedTheme + EndIf + XmlModify(@LocalAppDataDir & "\RadioSure\RadioSure.xml", "skin", $theme_RadioSure) + + InstallMsg("done") + EndIf +EndFunc + +Func ApplyTheme_Rainlendar() + ;Theme - no need for a backup + If FileExists($ProgramFiles & "\Rainlendar2\Rainlendar2.exe") Then + InstallMsg("Installing Theme: Rainlendar2") + + CheckAndCloseProcess("Rainlendar2.exe", "Rainlendar") + + FileCopy($ResourcesDir & "\themes\Rainlendar\*.r2skin", $ProgramFiles & "\Rainlendar2\skins", 1) + + InstallMsg("done") + ElseIf FileExists($ProgramFiles64 & "\Rainlendar2\Rainlendar2.exe") Then + InstallMsg("Installing Theme: Rainlendar2") + + CheckAndCloseProcess("Rainlendar2.exe", "Rainlendar") + + FileCopy($ResourcesDir & "\themes\Rainlendar\*.r2skin", $ProgramFiles64 & "\Rainlendar2\skins", 1) + + InstallMsg("done") + EndIf +EndFunc + +Func ApplyTheme_uTorrent() + ;Theme - no need for a backup + If FileExists($ProgramFiles & "\uTorrent\uTorrent.exe") Then + ;Install + InstallMsg("Installing Theme: uTorrent") + + CheckAndCloseProcess("uTorrent.exe", "uTorrent") + + FileCopy($ResourcesDir & "\themes\uTorrent\*.bmp", @AppDataDir & "\uTorrent", 1) + FileCopy($ResourcesDir & "\themes\uTorrent\*.ico", @AppDataDir & "\uTorrent", 1) + + InstallMsg("done") + EndIf +EndFunc + +Func ApplyTheme_VLC() + ;Theme - no need for a backup + If FileExists($ProgramFiles & "\VideoLAN\VLC\vlc.exe") and $SelectedTheme = "elementary" or $SelectedTheme = "humanity" Then + ;Install + InstallMsg("Installing Theme: VLC") + + CheckAndCloseProcess("vlc.exe", "VideoLAN") + + FileCopy($ResourcesDir & "\themes\VLC\*.vlt", $ProgramFiles & "\VideoLAN\VLC\skins", 1) + + ;activate Theme + CfgModify(@AppDataDir & "\vlc\vlcrc", "skins2-last=", $ProgramFiles & "\VideoLAN\VLC\skins\elementaryDark", ".vlt") + + InstallMsg("done") + + ElseIf FileExists($ProgramFiles64 & "\VideoLAN\VLC\vlc.exe") and $SelectedTheme = "elementary" or $SelectedTheme = "humanity" Then + ;Install + InstallMsg("Installing Theme: VLC") + + CheckAndCloseProcess("vlc.exe", "VideoLAN") + + FileCopy($ResourcesDir & "\themes\VLC\*.vlt", $ProgramFiles64 & "\VideoLAN\VLC\skins", 1) + + ;activate Theme + CfgModify(@AppDataDir & "\vlc\vlcrc", "skins2-last=", $ProgramFiles64 & "\VideoLAN\VLC\skins\elementaryDark", ".vlt") + + InstallMsg("done") + + EndIf +EndFunc + +Func ApplyTheme_Winyl() + ;Theme - no need for a backup + If FileExists($ProgramFiles & "\Winyl\Winyl.exe") Then + ;Install + InstallMsg("Installing Theme: Winyl") + + CheckAndCloseProcess("Winyl.exe", "Winyl") + + FileCopy($ResourcesDir & "\themes\Winyl\*.wzp", $ProgramFiles & "\Winyl\Skin", 1) + + ;activate Theme + If $SelectedTheme = "elementary" Then + $theme_Winyl = $SelectedTheme + ElseIf $SelectedTheme = "cheser" Then + $theme_Winyl = "Flat Gnome" + Else + $theme_Winyl = "Flat " & $SelectedTheme + EndIf + CfgModify(@AppDataDir & "\Winyl\Settings.xml", ' 0 Then + Do + $EntrysNumber = IniRead($IniFile, $InstallFilesApps.Peek, "Entrys", "1") + + For $j = 1 To $EntrysNumber + + $File = IniRead($IniFile, $InstallFilesApps.Peek, "File_" & $j, "") + $PathIni = IniRead($IniFile, $InstallFilesApps.Peek, "Path_" & $j, "") + + If not StringInStr($PathIni, "WindowsDir") = 0 Then + $Path = StringReplace($PathIni, "WindowsDir", @WindowsDir) + $Path64 = "" + ElseIf not StringInStr($PathIni, "AppDataLocal") = 0 Then + $Path = StringReplace($PathIni, "AppDataLocal", EnvGet("LOCALAPPDATA")) + $Path64 = "" + ElseIf not StringInStr($PathIni, "AppDataRoaming") = 0 Then + $Path = StringReplace($PathIni, "AppDataRoaming", @AppDataDir) + $Path64 = "" + ElseIf not StringInStr($PathIni, "SystemDir") = 0 Then + $Path = StringReplace($PathIni, "SystemDir", @WindowsDir & "\System32") + $Path64 = StringReplace($PathIni, "SystemDir", @WindowsDir & "\SysWOW64") + ElseIf not StringInStr($PathIni, "ProgramFilesDir") = 0 Then + $Path = StringReplace($PathIni, "ProgramFilesDir", $ProgramFiles) + $Path64 = StringReplace($PathIni, "ProgramFilesDir", $ProgramFiles64) + Else + $Path = $PathIni + $Path64 = "" + EndIf + + If $Path <> "" and $File <> "" Then InstallFile($File, $Path) + If $Path64 <> "" and $File <> "" Then InstallFile64($File, $Path64) + + Next + + $InstallFilesApps.dequeue + + Until Not $InstallFilesApps.count + EndIf + + + ;Temporarily unpatch files until bugs are solved + UninstallFile("VirtualBox.exe", $ProgramFiles & "\Oracle\VirtualBox") + UninstallFile64("VirtualBox.exe", $ProgramFiles64 & "\Oracle\VirtualBox") + +EndFunc +#EndRegion + + +Func PostInstall() + ;Cleanup + FileDelete($ToolsDir & "\ResHacker.ini") + DirRemove(@DesktopDir & "\Override", 1) + + ;Patcher Information + RegWrite($AppRegKey, "Version", "REG_SZ", $AppVersion) + RegWrite($AppRegKey, "IconTheme", "REG_SZ", $SelectedTheme) + + ;Unistaller + RegWrite($UninstallRegKey, "DisplayName", "REG_SZ", $AppName) + RegWrite($UninstallRegKey, "UninstallString", "REG_SZ", @ScriptDir & "\patcher.exe /uninstall") + RegWrite($UninstallRegKey, "DisplayIcon", "REG_SZ", @ScriptDir & "\patcher.exe") + RegWrite($UninstallRegKey, "DisplayVersion", "REG_SZ", $AppVersion) + RegWrite($UninstallRegKey, "URLInfoAbout", "REG_SZ", $AppWebsite) + RegWrite($UninstallRegKey, "Publisher", "REG_SZ", $AppPublisher) + + ;Add to Control Panel + $CLSID = "{77708248-f839-436b-8919-527c410f48b9}" + RegWrite("HKEY_CLASSES_ROOT\CLSID\" & $CLSID, "", "REG_SZ", $AppName) + RegWrite("HKEY_CLASSES_ROOT\CLSID\" & $CLSID, "InfoTip", "REG_SZ", $AppName & " Settings & Infos") + RegWrite("HKEY_CLASSES_ROOT\CLSID\" & $CLSID, "System.ControlPanel.Category", "REG_SZ", "1") + RegWrite("HKEY_CLASSES_ROOT\CLSID\" & $CLSID & "\DefaultIcon", "", "REG_SZ", @ScriptDir & "\PatcherCPL.exe") + RegWrite("HKEY_CLASSES_ROOT\CLSID\" & $CLSID & "\Shell\Open\Command", "", "REG_SZ", @ScriptDir & "\PatcherCPL.exe") + RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\" & $CLSID, "", "REG_SZ", "Adds " & $AppName & " to the Control Panel") +EndFunc diff --git a/project/Patcher.au3 b/project/Patcher.au3 new file mode 100644 index 0000000..d516eb8 --- /dev/null +++ b/project/Patcher.au3 @@ -0,0 +1,621 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +;custom +#include <_UDFs\GUICtrlOnHover.au3> +#include <_UDFs\CommonFunctions.au3> +#include <_UDFs\FuncInstUpdDeinst.au3> +#include <_UDFs\XML_Handling.au3> +#include <_UDFs\MoveFileEx.au3> +#include +#include +#include +#include +#include +#include + +#NoTrayIcon + +#Region Initiating +;Permissions +#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator +#RequireAdmin +DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1) ;Umleitung für x86-Programm abschalten +RegWrite("HKCU\AppEvents\Schemes\Apps\.Default\Close\.Current", "", "REG_EXPAND_SZ", "") +RegWrite("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager", "AllowProtectedRenames", "REG_DWORD", "0x00000001") + + +;Defines +Defines() ;Global Standards +$errorFlag = 0 + +;Define Windows Version for further usage & make sure that the Patcher only runs on supported Windows Versions +Global $WinName = _GetWinVer() +If $WinName = "Not supported" Then + MsgBox(16, "Compatibility", "This version of " & $AppName & " does not support your Windows Version.") + Exit +EndIf + +;Icon Theme +Global $SelectedTheme = RegRead($AppRegKey, "IconTheme") +If $SelectedTheme = "" Then + $SelectedTheme = "Tango" +ElseIf $SelectedTheme = "brave" Then ;can be deleted after a few releases + $SelectedTheme = "Gnome-Brave" +ElseIf $SelectedTheme = "human" Then ;can be deleted after a few releases + $SelectedTheme = "Gnome-Human" +ElseIf $SelectedTheme = "noble" Then ;can be deleted after a few releases + $SelectedTheme = "Gnome-Noble" +ElseIf $SelectedTheme = "wine" Then ;can be deleted after a few releases + $SelectedTheme = "Gnome-Wine" +ElseIf $SelectedTheme = "wise" Then ;can be deleted after a few releases + $SelectedTheme = "Gnome-Wise" +EndIf + +;localized Strings +_Strings_Patcher() +_Strings_Reloader() +_Strings_Uninstaller() + +;Check: Only one Instance of the App should run +If _Singleton($AppName,1) = 0 Then + Msgbox(48, $string_msgSingleInstance, $AppName & " " & $string_msgSingleInstance_msg) + Exit +EndIf + +;COM-Error Handler +$oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ;Initialize a COM error handler +Func MyErrFunc() ;This is my custom defined error handler + $errorMsg = "We intercepted a COM Error!" & @CRLF & @CRLF & _ + "err.description is: " & @TAB & $oMyError.description & @CRLF & _ + "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _ + "err.number is: " & @TAB & hex($oMyError.number,8) & @CRLF & _ + "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _ + "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _ + "err.source is: " & @TAB & $oMyError.source & @CRLF & _ + "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _ + "err.helpcontext is: " & @TAB & $oMyError.helpcontext + + Debug($errorMsg) + + Msgbox(0,$AppName & "Error Handler",$errorMsg) +Endfunc + + +;Objects +Global $FilesList = ObjCreate("System.Collections.ArrayList") +If @error=1 Then MsgBox(0,"Object Error","There was an error with creating the Object ''$FilesList''") +Global $CheckboxesDict = ObjCreate("Scripting.Dictionary") +If @error=1 Then MsgBox(0,"Object Error","There was an error with creating the Object ''$CheckboxesDict''") +Global $InstallFiles = ObjCreate("System.Collections.Queue") +If @error=1 Then MsgBox(0,"Object Error","There was an error with creating the Object ''$InstallFiles''") +Global $FilesListApps = ObjCreate("System.Collections.ArrayList") +If @error=1 Then MsgBox(0,"Object Error","There was an error with creating the Object ''$FilesListApps''") +Global $CheckboxesDictApps = ObjCreate("Scripting.Dictionary") +If @error=1 Then MsgBox(0,"Object Error","There was an error with creating the Object ''$CheckboxesDictApps''") +Global $InstallFilesApps = ObjCreate("System.Collections.Queue") +If @error=1 Then MsgBox(0,"Object Error","There was an error with creating the Object ''$InstallFilesApps''") + + +;PreInstall +_PreInstall() +_CleanupOld() + + +;Misc +Global $CurrentStatus = "idle" +Global $UpdatedFileCount = 1 +#EndRegion + + +#Region Commandline Switches +;Modus +If $CmdLine[0] = 0 Then + Global $Modus = "Patcher" +ElseIf _StringInArray($CmdLine, '/uninstall') Then + Global $Modus = "Uninstaller" +ElseIf _StringInArray($CmdLine, '/reload') Then + Global $Modus = "Reloader" +Else + ;_Show_CMD_Reference() + Global $Modus = "Patcher" +EndIf +If FileExists($Modus & ".log") Then FileDelete($Modus & ".log") + + +;Theme +If not $CmdLine[0] = 0 Then + If _StringInArray($CmdLine, '/theme=gnome') Then $SelectedTheme = "gnome" + If _StringInArray($CmdLine, '/theme=gnome-brave') Then $SelectedTheme = "gnome-brave" + If _StringInArray($CmdLine, '/theme=gnome-human') Then $SelectedTheme = "gnome-human" + If _StringInArray($CmdLine, '/theme=gnome-noble') Then $SelectedTheme = "gnome-noble" + If _StringInArray($CmdLine, '/theme=gnome-wine') Then $SelectedTheme = "gnome-wine" + If _StringInArray($CmdLine, '/theme=gnome-wise') Then $SelectedTheme = "gnome-wise" + If _StringInArray($CmdLine, '/theme=cheser') Then $SelectedTheme = "cheser" + If _StringInArray($CmdLine, '/theme=tango') Then $SelectedTheme = "tango" + If _StringInArray($CmdLine, '/theme=tangerine') Then $SelectedTheme = "tangerine" + If _StringInArray($CmdLine, '/theme=elementary') Then $SelectedTheme = "elementary" + If _StringInArray($CmdLine, '/theme=humanity') Then $SelectedTheme = "humanity" +EndIf + + +;Silent +Global $SilentInstall = 0 +If not $CmdLine[0] = 0 Then + If _StringInArray($CmdLine, '/S') Then + $SilentInstall = 1 + EndIf +EndIf +#EndRegion + + +#Region Patcher Modus +If $Modus = "Uninstaller" Then + If $SilentInstall = 0 Then + $UninstQuery = MsgBox(48+4, $string_msgUninstall, $string_msgUninstall_msg) + If $UninstQuery = 7 Then + Exit + EndIf + EndIf + PatcherGUI("Uninstaller") + +ElseIf $Modus = "Reloader" Then + Global $UpdatedFileCount = 0 + PatcherGUI("Reloader") + +Else + ;MainGUI + PatcherGUI("Patcher") +EndIf +#EndRegion + + +While 1 + $nMsg = GUIGetMsg() + Switch $nMsg + Case $GUI_EVENT_CLOSE + If $CurrentStatus = "busy" Then + $CancelMsg = MsgBox(64, $string_msgExit, $string_msgNoExit_msg) + Else + $CancelMsg = MsgBox(48+1, $string_msgExit, $string_msgExit_msg) + If $CancelMsg = 1 Then ExitPatcher() + EndIf + + ;Tab: Actions + Case $comboIconTheme + $SelectedTheme_old = $SelectedTheme + $SelectedTheme = GUICtrlRead($comboIconTheme) + + ;Preview + If $SelectedTheme_old <> $SelectedTheme Then + GUICtrlSetImage($icoPreview1, $IconsDir & "\" & $SelectedTheme & "\video-display.ico") + GUICtrlSetImage($icoPreview2, $IconsDir & "\" & $SelectedTheme & "\go-next.ico") + GUICtrlSetImage($icoPreview3, $IconsDir & "\" & $SelectedTheme & "\drive-harddisk.ico") + GUICtrlSetImage($icoPreview4, $IconsDir & "\" & $SelectedTheme & "\folder.ico") + + GUICtrlSetImage($icoMail, $IconsDir & "\" & $SelectedTheme & "\applications-mail.ico") + GUICtrlSetImage($icoHomepage, $IconsDir & "\" & $SelectedTheme & "\web-browser.ico") + GUICtrlSetImage($icoNotes, $IconsDir & "\" & $SelectedTheme & "\text-x-license.ico") + GUICtrlSetImage($icoChangelog, $IconsDir & "\" & $SelectedTheme & "\text-x-changelog.ico") + + EndIf + + ;Choose matching VS + If $SelectedTheme = "Humanity" or $SelectedTheme = "Tangerine" Then + ControlCommand($MainGUI, "", $comboVisualStyle, "SelectString", "Ubuntu") + ElseIf $SelectedTheme = "elementary" Then + ControlCommand($MainGUI, "", $comboVisualStyle, "SelectString", "elementary") + Else + ControlCommand($MainGUI, "", $comboVisualStyle, "SelectString", "Shiki-Colors") + EndIf + + ;Choose matching Cursors + If GUICtrlRead($comboVisualStyle) = "elementary" Then + ControlCommand($MainGUI, "", $comboCursors, "SelectString", "elementary") + GUICtrlSetImage($icoCursors_prev, $IconsDir & "\cursors-elementary.ico") + Else + ControlCommand($MainGUI, "", $comboCursors, "SelectString", "Ubuntu") + GUICtrlSetImage($icoCursors_prev, $IconsDir & "\cursors-ubuntu.ico") + EndIf + + ;Choose matching TrayIcons + If GUICtrlRead($comboVisualStyle) = "elementary" Then + ControlCommand($MainGUI, "", $comboTrayIcons, "SelectString", "Symbolic") + Else + ControlCommand($MainGUI, "", $comboTrayIcons, "SelectString", "Colorfull") + EndIf + + Case $btnPatch + If $CurrentStatus = "idle" Then + Patch() ;Action! + ElseIf $CurrentStatus = "done" Then + If $UpdatedFileCount > 0 Then Shutdown(6) ;Neustarten erzwingen + ExitPatcher() + ElseIf $CurrentStatus = "error" Then + ShellExecute($AppBugReport) + ShellExecute("Patcher.log") + ExitPatcher() + EndIf + + + ;Tab: Options + Case $switchTrayIcons + $OptTrayIcons = Switch_ChangeState($OptTrayIcons, $switchTrayIcons) + If $OptTrayIcons = 0 Then + GUICtrlSetState($comboTrayIcons, $GUI_DISABLE) + Else + GUICtrlSetState($comboTrayIcons, $GUI_ENABLE) + EndIf + + Case $switchStartOrb + $OptStartOrb = Switch_ChangeState($OptStartOrb, $switchStartOrb) + + Case $switchNotepad2 + $OptNotepad2 = Switch_ChangeState($OptNotepad2, $switchNotepad2) + + Case $switchDesktops + $OptDesktops = Switch_ChangeState($OptDesktops, $switchDesktops) + + Case $switchUpdater + $OptUpdater = Switch_ChangeState($OptUpdater, $switchUpdater) + + Case $switchReloader + $OptReloader = Switch_ChangeState($OptReloader, $switchReloader) + + Case $switchVisualStyle + If $WinName <> "Win10" Then ;dont let the user switch it on, when using Win10 + $OptVisualStyle = Switch_ChangeState($OptVisualStyle, $switchVisualStyle) + If $OptVisualStyle = 0 Then + GUICtrlSetState($chkUniversalThemePatcher, $GUI_UNCHECKED) + GUICtrlSetState($chkUniversalThemeService, $GUI_UNCHECKED) + GUICtrlSetState($chkUniversalThemePatcher, $GUI_DISABLE) + GUICtrlSetState($chkUniversalThemeService, $GUI_DISABLE) + GUICtrlSetState($comboVisualStyle, $GUI_DISABLE) + Else + GUICtrlSetState($chkUniversalThemePatcher, $CheckBoxStatusWinAll) + GUICtrlSetState($chkUniversalThemeService, $CheckBoxStatusWinAll_un) + GUICtrlSetState($chkUniversalThemePatcher, $GUI_ENABLE) + GUICtrlSetState($chkUniversalThemeService, $GUI_ENABLE) + GUICtrlSetState($comboVisualStyle, $GUI_ENABLE) + EndIf + EndIf + + Case $comboVisualStyle + If GUICtrlRead($comboVisualStyle) = "elementary" Then + ControlCommand($MainGUI, "", $comboCursors, "SelectString", "elementary") + GUICtrlSetImage($icoCursors_prev, $IconsDir & "\cursors-elementary.ico") + Else + ControlCommand($MainGUI, "", $comboCursors, "SelectString", "Ubuntu") + GUICtrlSetImage($icoCursors_prev, $IconsDir & "\cursors-ubuntu.ico") + EndIf + + Case $switchCursors + $OptCursors = Switch_ChangeState($OptCursors, $switchCursors) + If $OptCursors = 0 Then + GUICtrlSetState($comboCursors, $GUI_DISABLE) + Else + GUICtrlSetState($comboCursors, $GUI_ENABLE) + EndIf + + Case $comboCursors + If GUICtrlRead($comboCursors) = "elementary" Then + GUICtrlSetImage($icoCursors_prev, $IconsDir & "\cursors-elementary.ico") + Else + GUICtrlSetImage($icoCursors_prev, $IconsDir & "\cursors-ubuntu.ico") + EndIf + + Case $switchWallpapers + $OptWallpapers = Switch_ChangeState($OptWallpapers, $switchWallpapers) + + + ;Tab: Advanced Options + Case $tab + ; Check which Tab is active + $iCurrTab = GUICtrlRead($tab) + ; If the Tab has changed + If $iCurrTab = 2 Then + GUISetState(@SW_SHOW, $FilesGUI) + Else + GUISetState(@SW_HIDE, $FilesGUI) + EndIf + + Case $btnEditAppPaths + ShellExecuteWait("filesApps.ini") + + + ;Tab: About + Case $lblMail + _INetMail($AppMail, "WinTango Patcher", "") + + Case $lblHomepage + ShellExecute($AppWebsite) + + Case $lblDeviantart + ShellExecute($AppWebsite2) + + Case $lblNotes + ShellExecute("Release Notes.txt") + + Case $lblChangelog + ShellExecute("Changelog.txt") + + EndSwitch +WEnd + + + + +#Region: Patcher Routines +Func _PreInstall() + DirCreate(@ScriptDir & "\Themes") + DirCreate($ToolsDir) + DirCreate($BackupDir) + DirCreate($LogsDir) + DirCreate($NewFilesDir) + DirCreate($OverrideDir) + If $OsArch = "x64" Then + DirCreate($BackupDir64) + DirCreate($LogsDir64) + DirCreate($NewFilesDir64) + DirCreate($OverrideDir64) + EndIf +EndFunc + +Func _CleanupOld() + ;since v16.01.07 + FileDelete(@ScriptDir & "\images.dll") + FileDelete(@ScriptDir & "\Readme.pdf") + FileDelete($ToolsDir & "\OpaqueTaskbar*.*") + FileDelete($ToolsDir & "\UXThemePatchers.txt") + FileDelete($ToolsDir & "\UltraUXThemePatcher_*.exe") + FileDelete($ToolsDir & "\UXTheme_Multi-Patcher_*.exe") + ;since v16.12.24 + FileDelete(@ScriptDir & "\Themes\files-desktops-*.7z") + FileDelete(@ScriptDir & "\Themes\files-notepad2-*.7z") + FileDelete(@ScriptDir & "\Themes\images-*.7z") + FileDelete(@ScriptDir & "\Themes\theme-*.7z") + FileDelete(@ScriptDir & "\Themes\icons-*.7z") + FileDelete(@ScriptDir & "\Themes\bitmaps-*.7z") + +EndFunc + +Func Patch() + GUICtrlSetState($tab, $GUI_DISABLE) + GUICtrlSetState($comboIconTheme, $GUI_DISABLE) + GUICtrlSetState($btnPatch, $GUI_DISABLE) + $CurrentStatus = "busy" + + ;Now that the user started patching, delete old files to prevent left over files / clear update registry + DirRemove($ResourcesDir, 1) + RegWrite($AppRegKey, "UpdatedPaks", "REG_SZ", "none") + ;LOGs + DirRemove($LogsDir, 1) + DirCreate($LogsDir) + If $OsArch = "x64" Then DirCreate($LogsDir64) + + ;Download all the needed resources + Debug("=== Extract Basics Start ===") + ExtractResources() + Local $iSize = DirGetSize($ResourcesDir) + Debug("Resources DirSize: " & Round($iSize / 1024 / 1024) & " MB") + ;Error-Check + If $iSize = -1 or $iSize = 0 Then + InstallMsg("Error: Resources Dir empty or not existing!") + $errorFlag = 1 + EndIf + ;Error-Check End + Debug("=== Extract Basics End ===") + + ;The patching magic: + If $errorFlag = 0 Then + Debug("=== ApplyOptions Start ===") + If $OptTrayIcons = 1 Then + If GUICtrlRead($comboTrayIcons) = "Symbolic" Then Apply_SymbolicTray() + Else + Apply_NoTray() + EndIf + + If $OptStartOrb = 0 Then Apply_NoStartOrb() + + If $OptVisualStyle = 1 Then ApplyTheme_VisualStyle(GUICtrlRead($comboVisualStyle)) + If $OptWallpapers = 1 Then ApplyTheme_Wallpapers() + If $OptCursors = 1 Then ApplyTheme_Cursors(GUICtrlRead($comboCursors)) + + If $OptNotepad2 = 1 Then Apply_Notepad2() + If $OptDesktops = 1 Then Apply_Desktops() + + If $OptUpdater = 1 Then Apply_UpdaterStartup() + If $OptReloader = 1 Then Apply_ReloaderStartup() + Debug("=== ApplyOptions End ===") + + Debug("=== ApplyAdvancedOptions Start ===") + If GUICtrlRead($chkNoShell32) = 1 Then + Global $NotPatchShell32 = 1 ;Don't patch shell32.dll + Else + Global $NotPatchShell32 = 0 + EndIf + + If GUICtrlRead($chkUsingIE) = 1 Then + Global $keepIEusable = 1 ;Internet Explorer Usability + Else + Global $keepIEusable = 0 + EndIf + + If GUICtrlRead($chkUniversalThemePatcher) = 1 Then ApplyTheme_UXThemePatch("direct") + If GUICtrlRead($chkUniversalThemeService) = 1 Then ApplyTheme_UXThemePatch("service") + Debug("=== ApplyAdvancedOptions Start ===") + + Debug("=== PatchWindowsFiles Start ===") + If GUICtrlRead($chkBranding) = 1 Then ApplyTheme_Branding() + PatchWindowsFiles() + Debug("=== PatchWindowsFiles End ===") + + Debug("=== ApplyAppearanceApps Start ===") + If GUICtrlRead($chkAimpTheme) = 1 Then ApplyTheme_Aimp() ;Aimp Shiki-Colors Theme + If GUICtrlRead($chkDiskInfoTheme) = 1 Then ApplyTheme_DiskInfo() ;CrystalDiskInfo Shiki-Colors Theme + If GUICtrlRead($chkfoobar2000Theme) = 1 Then ApplyTheme_Foobar2000() ;foobar2000 File Type Icons + If GUICtrlRead($chkFreeFileSyncTheme) = 1 Then ApplyTheme_FreeFileSync() ;FreeFileSync Theme + If GUICtrlRead($chkGimpTheme) = 1 Then ApplyTheme_Gimp() ;Gimp Theme/Images + If GUICtrlRead($chkInkscapeTheme) = 1 Then ApplyTheme_Inkscape() ;Inkscape Theme + If GUICtrlRead($chkjDownloaderTheme) = 1 Then ApplyTheme_jDownloader() ;jDownloader Theme + If GUICtrlRead($chkLibreOfficeTheme) = 1 Then ApplyTheme_LibreOffice() ;LibreOffice Images + If GUICtrlRead($chkMPCTheme) = 1 Then ApplyTheme_MPC() ;Media Player Classic HC Theme + If GUICtrlRead($chkMSOfficeTheme) = 1 Then ApplyTheme_MSOffice() ;Microsoft Office + If GUICtrlRead($chkFirefoxTheme) = 1 Then ApplyTheme_Firefox() ;Mozilla Firefox Theme + If GUICtrlRead($chkThunderbirdTheme) = 1 Then ApplyTheme_Thunderbird() ;Mozilla Thunderbird Theme + If GUICtrlRead($chkPidginTheme) = 1 Then ApplyTheme_Pidgin() ;Pidgin Theme + If GUICtrlRead($chkRadioSureTheme) = 1 Then ApplyTheme_RadioSure() ;RadioSure Theme + If GUICtrlRead($chkRainlendarTheme) = 1 Then ApplyTheme_Rainlendar() ;Rainlendar Theme + If GUICtrlRead($chkSMPlayerTheme) = 1 Then ApplyTheme_SMPlayer() ;SMPlayer Theme + If GUICtrlRead($chkUTorrentTheme) = 1 Then ApplyTheme_uTorrent() ;uTorrent 2.x Theme + If GUICtrlRead($chkVLCTheme) = 1 Then ApplyTheme_VLC() ;VLC Theme + If GUICtrlRead($chkWinylTheme) = 1 Then ApplyTheme_Winyl() ;Winyl Theme + Debug("=== ApplyAppearanceApps End ===") + + Debug("=== PatchAppFiles Start ===") + PatchAppFiles() + Debug("=== PatchAppFiles End ===") + + InstallMsg("Clearing Icon-/Thumbnail-Cache...") + ClearIconCache() + InstallMsg("done") + + PostInstall() + EndIf + + GUICtrlSetData($lstPatchStatus, @LF) + + If $errorFlag = 0 Then + InstallMsg($string_msgPatchingDone) ;Patching completed. + InstallMsg($string_msgPatchingDoneRestart) ;In order to apply these changes you have to restart your system! + GUICtrlSetData($btnPatch, $string_btnRestart) + $CurrentStatus = "done" + Else + InstallMsg("The Patcher ended with an error!") + InstallMsg("Please report this Bug to me by clicking the button above!") + GUICtrlSetData($btnPatch, "Bugreport") + GUICtrlSetColor($btnPatch, "0xff0000") + $CurrentStatus = "error" + EndIf + + GuiCtrlSetState($btnPatch, $GUI_ENABLE) + GuiCtrlSetState($btnPatch, $GUI_FOCUS) +EndFunc +#EndRegion + + +#Region: Uninstaller Routines +Func UnPatch() + GUICtrlSetState($tab, $GUI_DISABLE) + GUICtrlSetState($comboIconTheme, $GUI_DISABLE) + GUICtrlSetState($btnPatch, $GUI_DISABLE) + $CurrentStatus = "busy" + + ;The uninstalling magic: + UnAppearance() + UnFiles($IniFileWin) + UnFiles($IniFileApps) + + InstallMsg("Clearing Icon-/Thumbnail-Cache...") + ClearIconCache() + InstallMsg("done") + + ;Messages + InstallMsg($string_msgUninstalling) + PostUnInstall() + InstallMsg("done") + + GUICtrlSetData($lstPatchStatus, @LF) + InstallMsg($string_msgUninstallingDone) + InstallMsg($string_msgUninstallingDoneRestart) + + GUICtrlSetData($btnPatch, $string_btnRestart) + GuiCtrlSetState($btnPatch, $GUI_ENABLE) + GuiCtrlSetState($btnPatch, $GUI_FOCUS) + + $CurrentStatus = "done" +EndFunc +#EndRegion + + +#Region: Reloader Routines +Func Reload() + GUICtrlSetState($tab, $GUI_DISABLE) + GUICtrlSetState($comboIconTheme, $GUI_DISABLE) + GUICtrlSetState($btnPatch, $GUI_DISABLE) + $CurrentStatus = "busy" + + ;The reloading magic: + ReAppearance() + ReFiles($IniFileWin) + ReFiles($IniFileApps) + + ;Messages + If $SilentInstall = 0 Then + If $UpdatedFileCount > 0 Then + ;bei neuen dateien + InstallMsg("Clearing Icon-/Thumbnail-Cache...") + ClearIconCache() + InstallMsg("done") + + GUICtrlSetData($lstPatchStatus, @LF) + InstallMsg($UpdatedFileCount & " " & $string_msgReloaderDone) + InstallMsg($string_msgReloaderDone2) + InstallMsg($string_msgReloaderDoneRestart) + + GUICtrlSetData($btnPatch, $string_btnRestart) + GuiCtrlSetState($btnPatch, $GUI_ENABLE) + GuiCtrlSetState($btnPatch, $GUI_FOCUS) + Else + ;keine veränderungen + GUICtrlSetData($lstPatchStatus, @LF) + InstallMsg($string_msgReloaderNone) + + GUICtrlSetData($btnPatch, $string_btnClose) + GuiCtrlSetState($btnPatch, $GUI_ENABLE) + GuiCtrlSetState($btnPatch, $GUI_FOCUS) + EndIf + EndIf + + PostReload() + $CurrentStatus = "done" + + If $SilentInstall = 1 Then + ;Silent - show MsgBox only if modified files were found + If $UpdatedFileCount > 0 Then + ClearIconCache() + $RestartQuery = MsgBox(36, $AppName & " Reloader", $UpdatedFileCount & " " & $string_msgReloaderSilent) + If $RestartQuery = 6 Then + Shutdown(6) ;Neustarten erzwingen + Exit + Else + Exit + EndIf + Else + Exit + EndIf + EndIf +EndFunc +#EndRegion + + +Func ExitPatcher() + DirRemove($NewFilesDir, 1) + ;If $modus = "Uninstaller" and $CurrentStatus = "done" then _SelfDelete(2) + Exit +EndFunc \ No newline at end of file diff --git a/project/PatcherGUI.au3 b/project/PatcherGUI.au3 new file mode 100644 index 0000000..73584cd --- /dev/null +++ b/project/PatcherGUI.au3 @@ -0,0 +1,618 @@ +Func PatcherGUI($Modus = "Patcher") + Global $MainGUI = GUICreate($AppName, 562, 378, -1, -1) + + GUISetFont($font_size, $font_weight, $font_attribute, $font) + + Global $tab = GUICtrlCreateTab(8, 8, 545, 361) + + ;=============== + ;= Tab1: Patch = + ;=============== + $tabPatch = GUICtrlCreateTabItem($Modus) + + $icoLogo = GUICtrlCreateIcon($IconsDir & "\header_480x80.ico", -1, 40, 41, 480, 80) + + $lblIconTheme = GUICtrlCreateLabel("Icon Theme:", 24, 136, 80, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + Global $comboIconTheme = GUICtrlCreateCombo("", 107, 131, 129, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL)) + GUICtrlSetData(-1, $IncludedThemes) + ControlCommand($MainGUI, "", $comboIconTheme, "SelectString", $SelectedTheme) + + Global $icoPreview1 = GUICtrlCreateIcon($IconsDir & "\" & $SelectedTheme & "\video-display.ico", -1, 256, 127, 32, 32) + Global $icoPreview2 = GUICtrlCreateIcon($IconsDir & "\" & $SelectedTheme & "\go-next.ico", -1, 296, 127, 32, 32) + Global $icoPreview3 = GUICtrlCreateIcon($IconsDir & "\" & $SelectedTheme & "\drive-harddisk.ico", -1, 336, 127, 32, 32) + Global $icoPreview4 = GUICtrlCreateIcon($IconsDir & "\" & $SelectedTheme & "\folder.ico", -1, 376, 127, 32, 32) + + Global $btnPatch = GUICtrlCreateButton("Patch!", 432, 131, 105, 25) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + + Global $lstPatchStatus = GUICtrlCreateList("", 24, 178, 513, 195, $WS_VSCROLL) + + ;================= + ;= Tab2: Options = + ;================= + $tabOption = GUICtrlCreateTabItem("Options") + + $lblTrayIcons = GUICtrlCreateLabel("Tray Icons", 24, 48, 71, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $lblTrayIcons_desc = GUICtrlCreateLabel("Patch Tray Icons with the following style:", 94, 48, 237, 21) + Global $comboTrayIcons = GUICtrlCreateCombo("", 336, 45, 89, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL)) + GUICtrlSetData(-1, "Colorfull|Symbolic") + ;select the matching item + If $SelectedTheme = "elementary" Then + ControlCommand($MainGUI, "", $comboTrayIcons, "SelectString", "Symbolic") + Else + ControlCommand($MainGUI, "", $comboTrayIcons, "SelectString", "Colorfull") + EndIf + Global $switchTrayIcons = GUICtrlCreateIcon($SwitchIconOn, -1, 490, 50, 43, 16) + Global $OptTrayIcons = 1 + + $lblStartOrb = GUICtrlCreateLabel("Start Orb", 24, 80, 64, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $lblStartOrb_desc = GUICtrlCreateLabel("Patch the button which opens the startmenu", 87, 80, 259, 21) + Global $switchStartOrb = GUICtrlCreateIcon($SwitchIconOn, -1, 490, 82, 43, 16) + Global $OptStartOrb = 1 + + $lblNotepad2 = GUICtrlCreateLabel("Notepad2", 24, 112, 68, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $lblNotepad2_desc = GUICtrlCreateLabel("Replace Microsoft Notepad with Notepad2 (EN/DE/CN)", 91, 112, 329, 21) + Global $switchNotepad2 = GUICtrlCreateIcon($SwitchIconOn, -1, 490, 114, 43, 16) + Global $OptNotepad2 = 1 + + $lblDesktops = GUICtrlCreateLabel("Sysinternals Desktops", 24, 144, 143, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $lblDesktops_desc = GUICtrlCreateLabel("Add the feature of multiple Desktops to Windows 7", 168, 144, 303, 21) + Global $switchDesktops = GUICtrlCreateIcon($SwitchIconOff, -1, 490, 146, 43, 16) + Global $OptDesktops = 0 + + $lblUpdater = GUICtrlCreateLabel("Updatecheck", 24, 176, 86, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $lblUpdater_desc = GUICtrlCreateLabel("Automatically check for Updates on system startup", 111, 176, 299, 21) + Global $switchUpdater = GUICtrlCreateIcon($SwitchIconOff, -1, 490, 178, 43, 16) + Global $OptUpdater = 0 + + $lblReloader = GUICtrlCreateLabel("Reload", 24, 208, 50, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $lblReloader_desc = GUICtrlCreateLabel("Automatically reload on startup for constant modding", 75, 208, 318, 21) + Global $switchReloader = GUICtrlCreateIcon($SwitchIconOn, -1, 490, 210, 43, 16) + Global $OptReloader = 1 + + $lblVisualStyle = GUICtrlCreateLabel("Visual Style", 24, 240, 80, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $lblVisualStyle_desc = GUICtrlCreateLabel("Select the desired Visual Style:", 103, 240, 180, 21) + Global $comboVisualStyle = GUICtrlCreateCombo("", 286, 237, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL)) + GUICtrlSetData(-1, "Shiki-Colors|elementary|Ubuntu") + ;select the matching item + If $SelectedTheme = "Humanity" or $SelectedTheme = "Tangerine" Then + ControlCommand($MainGUI, "", $comboVisualStyle, "SelectString", "Ubuntu") + ElseIf $SelectedTheme = "elementary" Then + ControlCommand($MainGUI, "", $comboVisualStyle, "SelectString", "elementary") + Else + ControlCommand($MainGUI, "", $comboVisualStyle, "SelectString", "Shiki-Colors") + EndIf + Global $switchVisualStyle = GUICtrlCreateIcon($SwitchIconOn, -1, 490, 242, 43, 16) + If $WinName = "Win10" Then ;disable for Windows 10; no theme included right now + Global $OptVisualStyle = 0 + GUICtrlSetImage($switchVisualStyle, $SwitchIconOff) + GUICtrlSetState($comboVisualStyle, $GUI_DISABLE) + Else + Global $OptVisualStyle = 1 + EndIf + + $lblCursors = GUICtrlCreateLabel("Cursors", 24, 272, 54, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $lblCursors_desc = GUICtrlCreateLabel("Install a matching Cursor Set:", 79, 272, 175, 21) + Global $comboCursors = GUICtrlCreateCombo("", 254, 269, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL)) + GUICtrlSetData(-1, "Ubuntu|elementary") + Global $icoCursors_prev = GUICtrlCreateIcon($IconsDir & "\cursors-ubuntu.ico", -1, 368, 266, 96, 32) + ;select the matching item + If GUICtrlRead($comboVisualStyle) = "elementary" Then + ControlCommand($MainGUI, "", $comboCursors, "SelectString", "elementary") + GUICtrlSetImage($icoCursors_prev, $IconsDir & "\cursors-elementary.ico") + Else + ControlCommand($MainGUI, "", $comboCursors, "SelectString", "Ubuntu") + EndIf + Global $switchCursors = GUICtrlCreateIcon($SwitchIconOn, -1, 490, 274, 43, 16) + Global $OptCursors = 1 + + $lblWallpapers = GUICtrlCreateLabel("Wallpaper", 24, 304, 71, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $lblWallpapers_desc = GUICtrlCreateLabel("Copy matching wallpapers for the supported icon themes", 94, 304, 340, 21) + Global $switchWallpapers = GUICtrlCreateIcon($SwitchIconOn, -1, 490, 306, 43, 16) + Global $OptWallpapers = 1 + + + ;========================== + ;= Tab3: Advanced Options = + ;========================== + Global $tabExpert = GUICtrlCreateTabItem("Advanced Options") + + FilesPage(540, 333, 10, 34) ;scrollable Child GUI + + GUIRegisterMsg($WM_SIZE, "WM_SIZE") + GUIRegisterMsg($WM_VSCROLL, "WM_VSCROLL") + GUIRegisterMsg($WM_HSCROLL, "WM_HSCROLL") + GUIRegisterMsg($WM_MOUSEWHEEL, "WM_MOUSEWHEEL") + + + ;=============== + ;= Tab4: About = + ;=============== + $TabAbout = GUICtrlCreateTabItem("About") + + $icoLogo2 = GUICtrlCreateIcon($IconsDir & "\header_480x80.ico", -1, 40, 41, 480, 80) + + $editDescription = GUICtrlCreateLabel("The WinTango Patcher is a mostly self-explanatory graphical wizard designed to make simple the process of modifying your system files with resources which were created by the Tango Desktop Project, the GNOME Project, the Gnome-Colors Project, the Elementary Project and many other open-source projects.", 24, 129, 480, 76, $BS_MULTILINE) + + $lblContact = GUICtrlCreateLabel("Contact", 24, 209, 51, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + + Global $icoMail = GUICtrlCreateIcon($IconsDir & "\" & $SelectedTheme & "\applications-mail.ico", -1, 24, 234, 32, 32) + Global $lblMail = GUICtrlCreateLabel($AppMail, 68, 239, 122, 21) + _GUICtrl_OnHoverRegister($lblMail, "_Hover_Func", "_Leave_Hover_Func") + + Global $icoHomepage = GUICtrlCreateIcon($IconsDir & "\" & $SelectedTheme & "\web-browser.ico", -1, 24, 278, 32, 32) + Global $lblHomepage = GUICtrlCreateLabel($AppWebsite, 68, 283, 167, 21) + _GUICtrl_OnHoverRegister($lblHomepage, "_Hover_Func", "_Leave_Hover_Func") + + Global $icoDeviantart = GUICtrlCreateIcon($IconsDir & "\deviantart.ico", -1, 24, 322, 32, 32) + Global $lblDeviantart = GUICtrlCreateLabel($AppWebsite2, 68, 327, 189, 21) + _GUICtrl_OnHoverRegister($lblDeviantart, "_Hover_Func", "_Leave_Hover_Func") + + + $lblInfo = GUICtrlCreateLabel("Information", 312, 209, 78, 21) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + + Global $icoNotes = GUICtrlCreateIcon($IconsDir & "\" & $SelectedTheme & "\text-x-license.ico", -1, 312, 234, 32, 32) + Global $lblNotes = GUICtrlCreateLabel("Release Notes", 356, 239, 88, 21) + _GUICtrl_OnHoverRegister($lblNotes, "_Hover_Func", "_Leave_Hover_Func") + + Global $icoChangelog = GUICtrlCreateIcon($IconsDir & "\" & $SelectedTheme & "\text-x-changelog.ico", -1, 312, 278, 32, 32) + Global $lblChangelog = GUICtrlCreateLabel("Changelog", 356, 283, 67, 21) + _GUICtrl_OnHoverRegister($lblChangelog, "_Hover_Func", "_Leave_Hover_Func") + + GUICtrlCreateTabItem("") + + ;========= + ;= Modus = + ;========= + + ;Patcher normal + If $Modus = "Patcher" and $SilentInstall = 0 Then + GUISetState(@SW_SHOW) + EndIf + + ;Patcher quiet + If $Modus = "Patcher" and $SilentInstall = 1 Then + GUISetState(@SW_SHOW) + Patch() + EndIf + + + ;Uninstaller + If $Modus = "Uninstaller" Then + GUISetState(@SW_SHOW) + UnPatch() + EndIf + + + ;Reloader normal + If $Modus = "Reloader" and $SilentInstall = 0 Then + GUISetState(@SW_SHOW) + Reload() + EndIf + + ;Reloader silent + If $Modus = "Reloader" and $SilentInstall = 1 Then + Reload() + EndIf + +EndFunc + + +#Region Advanced Options ChildGUI +Func FilesPage($ChildGUI_width, $ChildGUI_height, $ChildGUI_left, $ChildGUI_top) + Global $FilesGUI + + $FilesGUI = GUICreate("Child GUI", $ChildGUI_width, $ChildGUI_height, $ChildGUI_left, $ChildGUI_top, $WS_POPUP, $WS_EX_MDICHILD, $MainGUI) + GUISetBkColor($COLOR_WHITE, $FilesGUI) + + GUISetFont($font_size, $font_weight, $font_attribute, $font) + + GUISetState(@SW_HIDE) + GUICtrlSetResizing($FilesGUI, $GUI_DOCKALL) + + _GUIScrollBars_Init($FilesGUI) + ;_GUIScrollBars_SetScrollInfoMax($FilesGUI, $SB_VERT, 107) ;Vertikale Scrollhöhe + _GUIScrollBars_ShowScrollBar($FilesGUI, $SB_HORZ, False) ;Horizontale Scrollbar ausblenden + + Global $width = $ChildGUI_width - 44 + Global $height = 12 + Global $left = 12 + Global $CheckBoxSum = 0 + Global $CheckBoxPuffer = 24 + + _OptionsAppearance() + _AppearanceApps() + _AppFiles() + _WinFiles() + + _GUIScrollBars_SetScrollInfoMax($FilesGUI, $SB_VERT, Round($CheckBoxSum*1.52,0)) ;Vertikale Scrollhöhe + + GUISwitch($MainGUI) +EndFunc + +Func _OptionsAppearance() + Global $CheckBoxStatusWinAll, $CheckBoxStatusWinAll_un + Global $CheckBoxStatusWin7, $CheckBoxStatusWin7_un + Global $CheckBoxStatusWin8, $CheckBoxStatusWin8_forced + Global $CheckBoxStatusWin10 + + $CheckBoxStatusWinAll = $GUI_CHECKED + $CheckBoxStatusWinAll_un = $GUI_UNCHECKED + + If $WinName = "Win7" Then + $CheckBoxStatusWin7 = $GUI_CHECKED + $CheckBoxStatusWin7_un = $GUI_UNCHECKED + + $CheckBoxStatusWin8 = $GUI_DISABLE + $CheckBoxStatusWin8_forced = $CheckBoxStatusWin7_un + + $CheckBoxStatusWin10 = $GUI_DISABLE + + ElseIf $WinName = "Win8" Then + $CheckBoxStatusWin7 = $GUI_DISABLE + $CheckBoxStatusWin7_un = $GUI_DISABLE + + $CheckBoxStatusWin8 = $GUI_CHECKED + $CheckBoxStatusWin8_forced = $GUI_CHECKED + + $CheckBoxStatusWin10 = $GUI_DISABLE + + ElseIf $WinName = "Win10" Then + $CheckBoxStatusWin7 = $GUI_DISABLE + $CheckBoxStatusWin7_un = $GUI_DISABLE + + $CheckBoxStatusWin8 = $GUI_DISABLE + $CheckBoxStatusWin8_forced = $GUI_CHECKED + + $CheckBoxStatusWin10 = $GUI_CHECKED + + EndIf + + + ;============================================== + ;===== Risky ================================== + ;============================================== + $lblOptions = GUICtrlCreateLabel("Risky Files", $left, $height, $width, 20) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $CheckBoxSum = $CheckBoxSum + 1 + ;============================================== + + $height = $height + $CheckBoxPuffer + Global $chkNoShell32 = GUICtrlCreateCheckbox("Don't patch shell32.dll (Possible Sound Problems)", $left, $height, $width, 20) + GUICtrlSetState(-1, $CheckBoxStatusWin7) + $CheckBoxSum = $CheckBoxSum + 1 + + + $height = $height + $CheckBoxPuffer + Global $chkUsingIE = GUICtrlCreateCheckbox("I want to be able to use Internet Explorer 10/11", $left, $height, $width, 20) + If _IE_Version() > 9 Then + GUICtrlSetState(-1, $CheckBoxStatusWinAll) + Else + GUICtrlSetState(-1, $CheckBoxStatusWinAll_un) + EndIf + $CheckBoxSum = $CheckBoxSum + 1 + + + ;============================================== + ;===== UX Theme =============================== + ;============================================== + $height = $height + $CheckBoxPuffer + 10 ;Abstand letzte Checkbox zu neuer Überschrift + $lblUxThemePatch = GUICtrlCreateLabel("UXTheme Patch", $left, $height, $width, 20) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $CheckBoxSum = $CheckBoxSum + 1 + ;============================================== + + GUIStartGroup() + + ;Choose the right Option in order of compatibility (e.g. VirtualBox!) or already installed UXTheme Patchers + If FileExists($UXPatchFile) or FileExists($UXServiceFile) Then ;already installed? + $CheckBoxStatusUXPatch = $CheckBoxStatusWinAll_un + $CheckBoxStatusUXService = $CheckBoxStatusWinAll_un + ElseIf FileExists($ProgramFiles & "\Oracle\VirtualBox\VirtualBox.exe") or FileExists($ProgramFiles64 & "\Oracle\VirtualBox\VirtualBox.exe") Then ;VirtualBox installed? + $CheckBoxStatusUXPatch = $CheckBoxStatusWinAll_un + $CheckBoxStatusUXService = $CheckBoxStatusWinAll + Else ;none of the above + $CheckBoxStatusUXPatch = $CheckBoxStatusWinAll + $CheckBoxStatusUXService = $CheckBoxStatusWinAll_un + EndIf + + $height = $height + $CheckBoxPuffer + Global $chkUniversalThemePatcher = GUICtrlCreateRadio("Direct Method: Patch files", $left, $height, $width-90, 20) + GUICtrlSetState(-1, $CheckBoxStatusUXPatch) + If FileExists($UXPatchFile) or FileExists($UXServiceFile) Then GUICtrlSetState(-1, $GUI_DISABLE) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer + Global $chkUniversalThemeService = GUICtrlCreateRadio("Service Method: Installs a Service", $left, $height, $width-90, 20) + GUICtrlSetState(-1, $CheckBoxStatusUXService) + If FileExists($UXPatchFile) or FileExists($UXServiceFile) Then GUICtrlSetState(-1, $GUI_DISABLE) + $CheckBoxSum = $CheckBoxSum + 1 + + ;Disable UXThemePatch for Win10 as there is no theme yet + If $WinName = "Win10" Then + GUICtrlSetState($chkUniversalThemePatcher, $GUI_UNCHECKED) + GUICtrlSetState($chkUniversalThemeService, $GUI_UNCHECKED) + GUICtrlSetState($chkUniversalThemePatcher, $GUI_DISABLE) + GUICtrlSetState($chkUniversalThemeService, $GUI_DISABLE) + EndIf + +EndFunc + +Func _WinFiles() + ;============================================== + ;=====Systemfiles============================== + ;============================================== + $height = $height + $CheckBoxPuffer + 10 ;Abstand letzte Checkbox zu neuer Überschrift + $lblSystemfiles = GUICtrlCreateLabel("Windows: System Files", $left, $height, $width, 20) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $CheckBoxSum = $CheckBoxSum + 1 + ;============================================== + + $height = $height + $CheckBoxPuffer + Global $chkBranding = GUICtrlCreateCheckbox("Branding Images/Icons", $left, $height, $width, 20) + GUICtrlSetState($chkBranding, $CheckBoxStatusWin7) + $CheckBoxSum = $CheckBoxSum + 1 + + + $IniFile = @ScriptDir & "\filesWindows.ini" + + $entrys = IniReadSectionNames($IniFile) + + For $i = 1 To $entrys[0] + $FilesList.add ($entrys[$i]) + Next + + $FilesList.sort + + Local $ControlID + + For $Entry In $FilesList + $WinSupport = IniRead($IniFile, $Entry, "Win", "All") + + If $WinSupport = "All" or StringInStr($WinSupport, $WinName) > 0 Then + $CheckBoxStatus = $GUI_CHECKED + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + $ControlID = GUICtrlCreateCheckbox($Entry, $left, $height, $width, 20) + GUICtrlSetState($ControlID, $CheckBoxStatus) + $CheckBoxSum = $CheckBoxSum + 1 + + $CheckboxesDict.add ($ControlID, $Entry) + Else + ;don't even show the option + + ;for compatibility TESTING: +;~ $CheckBoxStatus = $GUI_ENABLE +;~ +;~ $height = $height + 20 ;Abstand zwischen Checkboxen +;~ $ControlID = GUICtrlCreateCheckbox($Entry, 12, $height, $width, 20) +;~ GUICtrlSetState($ControlID, $CheckBoxStatus) +;~ $CheckBoxSum = $CheckBoxSum + 1 + +;~ $CheckboxesDict.add ($ControlID, $Entry) + EndIf + Next +EndFunc + +Func _AppearanceApps() + ;============================================== + ;=====3rd Party Programfiles=================== + ;============================================== + $height = $height + $CheckBoxPuffer + 10 ;Abstand letzte Checkbox zu neuer Überschrift + $lblApplicationsThemes = GUICtrlCreateLabel("3rd Party Applications", $left, $height, $width, 20) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $CheckBoxSum = $CheckBoxSum + 1 + ;============================================== + + $height = $height + $CheckBoxPuffer + Global $btnEditAppPaths = GUICtrlCreateButton("Edit Paths for 3rd Party Applications", $left, $height, $width, $CheckBoxPuffer) + $CheckBoxSum = $CheckBoxSum + 1 + + + ;========================================= + ;=====3rd Party Themes =================== + ;========================================= + $height = $height + $CheckBoxPuffer + 10 ;Abstand letzte Checkbox zu neuer Überschrift + $lblApplicationsThemes = GUICtrlCreateLabel("3rd Party Applications: Themes", $left, $height, $width, 20) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $CheckBoxSum = $CheckBoxSum + 1 + ;========================================= + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkAimpTheme = GUICtrlCreateCheckbox("Aimp Shiki-Colors Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkDiskInfoTheme = GUICtrlCreateCheckbox("CrystalDiskInfo Shiki-Colors Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkfoobar2000Theme = GUICtrlCreateCheckbox("foobar2000 Filetype-Icons", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkFreeFileSyncTheme = GUICtrlCreateCheckbox("FreeFileSync Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkGimpTheme = GUICtrlCreateCheckbox("Gimp Theme/Images", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkInkscapeTheme = GUICtrlCreateCheckbox("Inkscape Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkjDownloaderTheme = GUICtrlCreateCheckbox("jDownloader Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkLibreOfficeTheme = GUICtrlCreateCheckbox("LibreOffice Images", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkMPCTheme = GUICtrlCreateCheckbox("Media Player Classic HC Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkMSOfficeTheme = GUICtrlCreateCheckbox("Microsoft Office Filetype-Icons", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkFirefoxTheme = GUICtrlCreateCheckbox("Mozilla Firefox Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkThunderbirdTheme = GUICtrlCreateCheckbox("Mozilla Thunderbird Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkPidginTheme = GUICtrlCreateCheckbox("Pidgin Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkRadioSureTheme = GUICtrlCreateCheckbox("RadioSure Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkRainlendarTheme = GUICtrlCreateCheckbox("Rainlendar Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkSMPlayerTheme = GUICtrlCreateCheckbox("SMPlayer Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkUTorrentTheme = GUICtrlCreateCheckbox("uTorrent 2.x Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkVLCTheme = GUICtrlCreateCheckbox("VLC Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + Global $chkWinylTheme = GUICtrlCreateCheckbox("Winyl Theme", $left, $height, $width, 20) + GUICtrlSetState(-1, $GUI_CHECKED) + $CheckBoxSum = $CheckBoxSum + 1 +EndFunc + +Func _AppFiles() + ;============================================== + ;=====3rd Party Programfiles=================== + ;============================================== + $height = $height + $CheckBoxPuffer + 10 ;Abstand letzte Checkbox zu neuer Überschrift + $lblApplications = GUICtrlCreateLabel("3rd Party Applications: Files", $left, $height, $width, 20) + GUICtrlSetFont(-1, $font_size, $font_weight_special, $font_attribute_special) + $CheckBoxSum = $CheckBoxSum + 1 + ;============================================== + + $IniFile = @ScriptDir & "\filesApps.ini" + + $entrys = IniReadSectionNames($IniFile) + + For $i = 1 To $entrys[0] + $FilesListApps.add ($entrys[$i]) + Next + + $FilesListApps.sort + + Local $ControlID + + For $Entry In $FilesListApps + $WinSupport = IniRead($IniFile, $Entry, "Win", "All") + + If $WinSupport = "All" or StringInStr($WinSupport, $WinName) > 0 Then + $CheckBoxStatus = $GUI_CHECKED + + $height = $height + $CheckBoxPuffer ;Abstand zwischen Checkboxen + $ControlID = GUICtrlCreateCheckbox($Entry, $left, $height, $width, 20) + GUICtrlSetState($ControlID, $CheckBoxStatus) + $CheckBoxSum = $CheckBoxSum + 1 + + $CheckboxesDictApps.add ($ControlID, $Entry) + Else + ;don't even show the option + EndIf + Next +EndFunc +#EndRegion + + +Func Switch_ChangeState($sCurrentState, $sControl) + If $sCurrentState = 1 Then + GUICtrlSetImage($sControl, $SwitchIconOff) + $sNewState = 0 + Else + GUICtrlSetImage($sControl, $SwitchIconOn) + $sNewState = 1 + EndIf + + Return $sNewState +EndFunc + + +#Region IconHover +;====Icon Hover Funktionen================================================================================================== +Func _Hover_Func($iCtrlID) + If $iCtrlID = $lblMail Then + GUICtrlSetFont($lblMail, $font_size, $font_weight, 4) + GUICtrlSetCursor($lblMail, 0) + ElseIf $iCtrlID = $lblHomepage Then + GUICtrlSetFont($lblHomepage, $font_size, $font_weight, 4) + GUICtrlSetCursor($lblHomepage, 0) + ElseIf $iCtrlID = $lblDeviantart Then + GUICtrlSetFont($lblDeviantart, $font_size, $font_weight, 4) + GUICtrlSetCursor($lblDeviantart, 0) + ElseIf $iCtrlID = $lblNotes Then + GUICtrlSetFont($lblNotes, $font_size, $font_weight, 4) + GUICtrlSetCursor($lblNotes, 0) + ElseIf $iCtrlID = $lblChangelog Then + GUICtrlSetFont($lblChangelog, $font_size, $font_weight, 4) + GUICtrlSetCursor($lblChangelog, 0) + EndIf +EndFunc + +Func _Leave_Hover_Func($iCtrlID) + If $iCtrlID = $lblMail Then + GUICtrlSetFont($lblMail, $font_size, $font_weight) + ElseIf $iCtrlID = $lblHomepage Then + GUICtrlSetFont($lblHomepage, $font_size, $font_weight) + ElseIf $iCtrlID = $lblDeviantart Then + GUICtrlSetFont($lblDeviantart, $font_size, $font_weight) + ElseIf $iCtrlID = $lblNotes Then + GUICtrlSetFont($lblNotes, $font_size, $font_weight) + ElseIf $iCtrlID = $lblChangelog Then + GUICtrlSetFont($lblChangelog, $font_size, $font_weight) + EndIf +EndFunc +#EndRegion IconHover \ No newline at end of file diff --git a/project/_Resources/elementary/bitmaps/apps/ccleaner.svg b/project/_Resources/elementary/bitmaps/apps/ccleaner.svg new file mode 100644 index 0000000..146a254 --- /dev/null +++ b/project/_Resources/elementary/bitmaps/apps/ccleaner.svg @@ -0,0 +1,545 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + C + + + + + + + + + + + + + + + + + + + + diff --git a/project/_Resources/elementary/bitmaps/tweaked/timedate.cpl/clock-face.svg b/project/_Resources/elementary/bitmaps/tweaked/timedate.cpl/clock-face.svg new file mode 100644 index 0000000..98738de --- /dev/null +++ b/project/_Resources/elementary/bitmaps/tweaked/timedate.cpl/clock-face.svg @@ -0,0 +1,413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/project/_Resources/elementary/icons/apps/utilities-terminal_+128_256.ico b/project/_Resources/elementary/icons/apps/utilities-terminal_+128_256.ico new file mode 100644 index 0000000..7de8879 Binary files /dev/null and b/project/_Resources/elementary/icons/apps/utilities-terminal_+128_256.ico differ diff --git a/project/_Resources/elementary/icons/mimetypes/freefilesync-database_+256.ico b/project/_Resources/elementary/icons/mimetypes/freefilesync-database_+256.ico new file mode 100644 index 0000000..fad2863 Binary files /dev/null and b/project/_Resources/elementary/icons/mimetypes/freefilesync-database_+256.ico differ diff --git a/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_128.svg b/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_128.svg new file mode 100644 index 0000000..78a78e4 --- /dev/null +++ b/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_128.svg @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_16.svg b/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_16.svg new file mode 100644 index 0000000..69662da --- /dev/null +++ b/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_16.svg @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_32.svg b/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_32.svg new file mode 100644 index 0000000..7156c73 --- /dev/null +++ b/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_32.svg @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_48.svg b/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_48.svg new file mode 100644 index 0000000..b200dcb --- /dev/null +++ b/project/_Resources/elementary/icons/tweaked/imageres.dll/folder-open-no-shadow_48.svg @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/project/_Resources/elementary/shiki/authui.dll/avatar-default_128.svg b/project/_Resources/elementary/shiki/authui.dll/avatar-default_128.svg new file mode 100644 index 0000000..dd878f0 --- /dev/null +++ b/project/_Resources/elementary/shiki/authui.dll/avatar-default_128.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/project/_Resources/elementary/shiki/authui.dll/avatar-default_64.svg b/project/_Resources/elementary/shiki/authui.dll/avatar-default_64.svg new file mode 100644 index 0000000..b26c47a --- /dev/null +++ b/project/_Resources/elementary/shiki/authui.dll/avatar-default_64.svg @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/project/_Resources/gnome-brave/icons/apps/utilities-terminal_+128_256.ico b/project/_Resources/gnome-brave/icons/apps/utilities-terminal_+128_256.ico new file mode 100644 index 0000000..998f1c7 Binary files /dev/null and b/project/_Resources/gnome-brave/icons/apps/utilities-terminal_+128_256.ico differ diff --git a/project/_Resources/gnome-brave/icons/mimetypes/freefilesync-database_+128_256.ico b/project/_Resources/gnome-brave/icons/mimetypes/freefilesync-database_+128_256.ico new file mode 100644 index 0000000..c2c18f0 Binary files /dev/null and b/project/_Resources/gnome-brave/icons/mimetypes/freefilesync-database_+128_256.ico differ diff --git a/project/_Resources/gnome/bitmaps/apps/ccleaner.svg b/project/_Resources/gnome/bitmaps/apps/ccleaner.svg new file mode 100644 index 0000000..9bdac39 --- /dev/null +++ b/project/_Resources/gnome/bitmaps/apps/ccleaner.svg @@ -0,0 +1,524 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + C + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/project/_Resources/gnome/icons/apps/freefilesync_+128_256.ico b/project/_Resources/gnome/icons/apps/freefilesync_+128_256.ico new file mode 100644 index 0000000..a7da786 Binary files /dev/null and b/project/_Resources/gnome/icons/apps/freefilesync_+128_256.ico differ diff --git a/project/_Resources/gnome/icons/apps/utilities-terminal_+128_256.ico b/project/_Resources/gnome/icons/apps/utilities-terminal_+128_256.ico new file mode 100644 index 0000000..1503237 Binary files /dev/null and b/project/_Resources/gnome/icons/apps/utilities-terminal_+128_256.ico differ diff --git a/project/_Resources/gnome/icons/mimetypes/freefilesync-database_+128_256.ico b/project/_Resources/gnome/icons/mimetypes/freefilesync-database_+128_256.ico new file mode 100644 index 0000000..12d8f93 Binary files /dev/null and b/project/_Resources/gnome/icons/mimetypes/freefilesync-database_+128_256.ico differ diff --git a/project/_Resources/scripts/FreeFileSync.exe.txt b/project/_Resources/scripts/FreeFileSync.exe.txt new file mode 100644 index 0000000..d2a9488 --- /dev/null +++ b/project/_Resources/scripts/FreeFileSync.exe.txt @@ -0,0 +1,9 @@ +[FILENAMES] +Exe = Backup\FreeFileSync.exe +SaveAs = NewFiles\FreeFileSync.exe + +[COMMANDS] +;ICONGROUP +-modify Resources\icons\apps\freefilesync_+128_256.ico, ICONGROUP, A_FFS_ICON, +-modify Resources\icons\apps\utilities-terminal_+128_256.ico, ICONGROUP, B_BATCH_ICON, +-modify Resources\icons\mimetypes\freefilesync-database_+128_256.ico, ICONGROUP, C_SYNC_DB_ICON, \ No newline at end of file diff --git a/project/_Resources/scripts/x64/FreeFileSync.exe.txt b/project/_Resources/scripts/x64/FreeFileSync.exe.txt new file mode 100644 index 0000000..8ed4093 --- /dev/null +++ b/project/_Resources/scripts/x64/FreeFileSync.exe.txt @@ -0,0 +1,9 @@ +[FILENAMES] +Exe = Backup\x64\FreeFileSync.exe +SaveAs = NewFiles\x64\FreeFileSync.exe + +[COMMANDS] +;ICONGROUP +-modify Resources\icons\apps\freefilesync_+128_256.ico, ICONGROUP, A_FFS_ICON, +-modify Resources\icons\apps\utilities-terminal_+128_256.ico, ICONGROUP, B_BATCH_ICON, +-modify Resources\icons\mimetypes\freefilesync-database_+128_256.ico, ICONGROUP, C_SYNC_DB_ICON, \ No newline at end of file diff --git a/project/_Resources/tango/icons/apps/utilities-terminal_+128_256.ico b/project/_Resources/tango/icons/apps/utilities-terminal_+128_256.ico new file mode 100644 index 0000000..abe6ead Binary files /dev/null and b/project/_Resources/tango/icons/apps/utilities-terminal_+128_256.ico differ