From 8944281a96724ef2fe20b0e07ea4e099be25afac Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Wed, 17 Dec 2008 07:15:36 +0000 Subject: [PATCH] Various interface cleanups. --- Cydia.app/Test | 1 + Cydia.app/menes/menes.js | 45 ++++++++++++++---- Cydia.app/menes/style.css | 25 ++++++---- Cydia.app/package.html | 1 - Cydia.app/storage.html | 96 ++++++++++++++++----------------------- Cydia.mm | 20 ++++++-- 6 files changed, 108 insertions(+), 80 deletions(-) diff --git a/Cydia.app/Test b/Cydia.app/Test index 5bfd0902..c7df4e84 100755 --- a/Cydia.app/Test +++ b/Cydia.app/Test @@ -4,5 +4,6 @@ set -e rsync -SPaz --copy-links saurik@carrier.saurik.com:menes/cydia/cydia_iphoneos-arm.deb . dpkg -i cydia_iphoneos-arm.deb touch /tmp/cydia.log +chown mobile.mobile /tmp/cydia.log openURL "${1-cydia://}" exec tail /tmp/cydia.log -fn0 diff --git a/Cydia.app/menes/menes.js b/Cydia.app/menes/menes.js index 70c5c47b..2ca5d7de 100644 --- a/Cydia.app/menes/menes.js +++ b/Cydia.app/menes/menes.js @@ -190,19 +190,46 @@ $.prototype = { }); }, - append: function (html) { + append: function (children) { + if ($.type(children) == "string") + $.each(this, function (node) { + var doc = $.document(node); + + // XXX: implement wrapper system + var div = doc.createElement("div"); + div.innerHTML = children; + + while (div.childNodes.length != 0) { + var child = div.childNodes[0]; + node.appendChild(child); + } + }); + else + $.each(this, function (node) { + $.each(children, function (child) { + node.appendChild(child); + }); + }); + }, + + xpath: function (expression) { + var value = $([]); + $.each(this, function (node) { var doc = $.document(node); + var results = doc.evaluate(expression, node, null, XPathResult.ANY_TYPE, null); + var result; + while (result = results.iterateNext()) + value.add([result]); + }); - // XXX: implement wrapper system - var div = doc.createElement("div"); - div.innerHTML = html; + return value; + }, - while (div.childNodes.length != 0) { - var child = div.childNodes[0]; - node.appendChild(child); - } - }); + clone: function (deep) { + return $($.map(this, function (node) { + return node.cloneNode(deep); + })); }, descendants: function (expression) { diff --git a/Cydia.app/menes/style.css b/Cydia.app/menes/style.css index b0674588..0397b5e2 100644 --- a/Cydia.app/menes/style.css +++ b/Cydia.app/menes/style.css @@ -55,6 +55,8 @@ -webkit-border-radius: 0; box-sizing: border-box; -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -webkit-box-sizing: border-box; font-family: inherit; font-size: 100%; font-style: inherit; @@ -62,9 +64,14 @@ margin: 0; outline: 0; padding: 0; + text-decoration: none; vertical-align: baseline; } +a { + color: inherit; +} + sup { font-size: smaller; margin-top: -6px; @@ -97,14 +104,9 @@ dialog > panel { padding: 1px 0; } -a { - color: inherit; - text-decoration: none; - text-underline-style: dotted; -} - a { color: blue; + text-underline-style: dotted; } strong { @@ -241,13 +243,18 @@ fieldset > div img.icon { } panel > block > p, -fieldset > div > p { +fieldset > div > p, +fieldset > div > ul { margin: 11px 0; - text-align: center; } fieldset > div > ul { - margin-left: -20px; + margin-left: 13px; +} + +panel > block > p, +fieldset > div > p { + text-align: center; } fieldset > div > p:first-child, diff --git a/Cydia.app/package.html b/Cydia.app/package.html index 2b1aca90..09efc40e 100644 --- a/Cydia.app/package.html +++ b/Cydia.app/package.html @@ -199,7 +199,6 @@ -
diff --git a/Cydia.app/storage.html b/Cydia.app/storage.html index bd208f9c..e2347b91 100644 --- a/Cydia.app/storage.html +++ b/Cydia.app/storage.html @@ -27,27 +27,23 @@ } a.giant-button { + background-color: rgba(0, 0, 0, 0.15); + -webkit-border-radius: 10px; color: #193250; display: block; margin: 8px 10px; + position: relative; text-decoration: none; - } - - a.giant-button > div.contents { - position: absolute; - text-align: left; width: 300px; - -webkit-background-size: 75px auto; - z-index: 2; } - a.giant-button > div.contents > piechart { + a.giant-button > piechart { float: left; margin: 10px; vertical-align: middle; } - a.giant-button > div.contents > label { + a.giant-button > label { display: block; float: left; font-size: 25px; @@ -57,7 +53,7 @@ width: 155px; } - a.giant-button > div.contents > div.text { + a.giant-button > div.text { display: block; float: left; font-size: 14px; @@ -71,7 +67,7 @@ width: 50%; } - a.giant-button > div.contents > div.legend { + a.giant-button > div.legend { float: left; font-size: 14px; left: 15px; @@ -80,12 +76,6 @@ width: 290px; } - a.giant-button > div.background { - background-color: #000000; - opacity: 0.15; - -webkit-border-radius: 10px; - } - div.key { margin-bottom: 4px; } @@ -207,48 +197,40 @@ - -
-
-
-
-
-
-
-
-
-
-
- - -
A small partition used to store iPhone OS. Cydia adds a few important programs and libraries.
- -
-
- -
+
+
+
+
+
+
+
+
+
+
+
+ + +
A small partition used to store iPhone OS. Cydia adds a few important programs and libraries.
+ +
- -
-
-
-
-
-
-
-
-
-
-
- - -
Most content is stored on this partition: from applications (Cydia and Apple) to multimedia.
- -
-
- -
+
+
+
+
+
+
+
+
+
+
+
+ + +
Most content is stored on this partition: from applications (Cydia and Apple) to multimedia.
+ +
diff --git a/Cydia.mm b/Cydia.mm index 87a091dc..71a57df9 100644 --- a/Cydia.mm +++ b/Cydia.mm @@ -1729,6 +1729,8 @@ class Progress : [warnings addObject:@"illegal package identifier"]; else for (size_t i(0); i != length; ++i) if ( + /* XXX: technically this is not allowed */ + (name[i] < 'A' || name[i] > 'Z') && (name[i] < 'a' || name[i] > 'z') && (name[i] < '0' || name[i] > '9') && (i == 0 || name[i] != '+' && name[i] != '-' && name[i] != '.') @@ -1736,17 +1738,25 @@ class Progress : if (strcmp(name, "cydia") != 0) { bool cydia = false; + bool _private = false; bool stash = false; + bool repository = [[self section] isEqualToString:@"Repositories"]; + if (NSArray *files = [self files]) for (NSString *file in files) if (!cydia && [file isEqualToString:@"/Applications/Cydia.app"]) cydia = true; + else if (!_private && [file isEqualToString:@"/private"]) + _private = true; else if (!stash && [file isEqualToString:@"/var/stash"]) stash = true; - if (cydia) + /* XXX: this is not sensitive enough. only some folders are valid. */ + if (cydia && !repository) [warnings addObject:@"files installed into Cydia.app"]; + if (_private) + [warnings addObject:@"files installed with /private/*"]; if (stash) [warnings addObject:@"files installed to /var/stash"]; } @@ -6997,7 +7007,7 @@ int main(int argc, char *argv[]) { _pooled Indices_ = [[NSMutableDictionary alloc] init];*/ Indices_ = [NSMutableDictionary dictionaryWithObjectsAndKeys: - //@"http://"/*"cache.saurik.com/"*/"cydia.saurik.com/server/rating/@", @"Rating", + @"http://"/*"cache.saurik.com/"*/"cydia.saurik.com/server/rating/@", @"Rating", @"http://"/*"cache.saurik.com/"*/"cydia.saurik.com/repotag/@", @"RepoTag", nil]; @@ -7033,8 +7043,10 @@ int main(int argc, char *argv[]) { _pooled Documents_ = [[[NSMutableArray alloc] initWithCapacity:4] autorelease]; #endif - if (substrate && access("/Library/MobileSubstrate/MobileSubstrate.dylib", F_OK) == 0) - dlopen("/Library/MobileSubstrate/MobileSubstrate.dylib", RTLD_LAZY | RTLD_GLOBAL); + if (substrate && access("/Applications/WinterBoard.app/WinterBoard.dylib", F_OK) == 0) + dlopen("/Applications/WinterBoard.app/WinterBoard.dylib", RTLD_LAZY | RTLD_GLOBAL); + /*if (substrate && access("/Library/MobileSubstrate/MobileSubstrate.dylib", F_OK) == 0) + dlopen("/Library/MobileSubstrate/MobileSubstrate.dylib", RTLD_LAZY | RTLD_GLOBAL);*/ if (access("/User", F_OK) != 0) system("/usr/libexec/cydia/firmware.sh"); -- 2.45.2