diff --git a/bazaar/Theme/Theme.cpp b/bazaar/Theme/Theme.cpp index 555e9155d..d571657bd 100644 --- a/bazaar/Theme/Theme.cpp +++ b/bazaar/Theme/Theme.cpp @@ -1,4 +1,5 @@ #include "Theme.h" +#include Value StringToObject(const String& s, const String& file = "") { Vector v = Split(s, ' '); @@ -353,8 +354,35 @@ void Theme::LoadHeader(HeaderCtrl::Style& d, const VectorMap& se Theme& Theme::Load(const String& path) { ini.Clear(); - folder = path; - ini.Load(AppendFileName(folder, "theme.ini")); + if (DirectoryExists(path) && FileExists(AppendFileName(path, "theme.ini"))) { + folder = path; + ini.Load(AppendFileName(folder, "theme.ini")); + return *this; + } + + if (FileExists(path)) { + //String outdir = GetTempFileName("UppTheme"); + String outdir = "c:\\Windows\\Temp\\" + Uuid::Create().ToString(); + RealizeDirectory(outdir); + FileUnZip unzip(path); + while(unzip) { + String fn = AppendFileName(outdir, unzip.GetPath()); + if(unzip.IsFolder()) { + RealizeDirectory(fn); + unzip.SkipFile(); + } + else { + RealizePath(fn); + FileOut out(fn); + unzip.ReadFile(out); + } + } + + folder = outdir; + ini.Load(AppendFileName(outdir, "theme.ini")); + + return *this; + } return *this; } diff --git a/bazaar/Themes/BlueBar/ToolButton/ToolButtonLook2.PNG b/bazaar/Themes/BlueBar/ToolButton/ToolButtonLook2.PNG deleted file mode 100644 index 9f9d7b4e4..000000000 Binary files a/bazaar/Themes/BlueBar/ToolButton/ToolButtonLook2.PNG and /dev/null differ diff --git a/bazaar/Themes/BlueBar/ToolButton/ToolButtonLook4.PNG b/bazaar/Themes/BlueBar/ToolButton/ToolButtonLook4.PNG deleted file mode 100644 index f8cd43fc7..000000000 Binary files a/bazaar/Themes/BlueBar/ToolButton/ToolButtonLook4.PNG and /dev/null differ diff --git a/bazaar/Themes/BlueBar/ToolButton/ToolButtonLook5.PNG b/bazaar/Themes/BlueBar/ToolButton/ToolButtonLook5.PNG deleted file mode 100644 index d32d53c7c..000000000 Binary files a/bazaar/Themes/BlueBar/ToolButton/ToolButtonLook5.PNG and /dev/null differ diff --git a/bazaar/Themes/BlueBar/theme.ini b/bazaar/Themes/BlueBar/theme.ini index 4dd8f9858..abe686e93 100644 --- a/bazaar/Themes/BlueBar/theme.ini +++ b/bazaar/Themes/BlueBar/theme.ini @@ -14,7 +14,7 @@ contrast[]-40 [MenuBar] look=png -arealook[]=0 +arealook=null item=png hot 1 1 1 1 topitem[0]=null topitem[1]=png hot 1 1 1 1 diff --git a/bazaar/Themes/Skulpture.zip b/bazaar/Themes/Skulpture.zip new file mode 100644 index 000000000..0703296e9 Binary files /dev/null and b/bazaar/Themes/Skulpture.zip differ diff --git a/bazaar/Themes/SkulptureStone.zip b/bazaar/Themes/SkulptureStone.zip new file mode 100644 index 000000000..1013dbcb7 Binary files /dev/null and b/bazaar/Themes/SkulptureStone.zip differ