summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--i18n/english/luasrc/i18n/admin-core.en.lua2
-rw-r--r--i18n/german/luasrc/i18n/admin-core.de.lua2
-rw-r--r--libs/cbi/htdocs/luci-static/resources/cbi.js41
-rw-r--r--libs/cbi/htdocs/luci-static/resources/cbi/download.gifbin0 -> 189 bytes
-rw-r--r--libs/cbi/htdocs/luci-static/resources/cbi/key.gifbin0 -> 230 bytes
-rw-r--r--libs/cbi/htdocs/luci-static/resources/cbi/link.gifbin0 -> 291 bytes
-rw-r--r--libs/cbi/htdocs/luci-static/resources/cbi/user.gifbin0 -> 246 bytes
-rw-r--r--modules/admin-core/luasrc/view/sysauth.htm8
-rw-r--r--modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua11
-rw-r--r--modules/admin-full/luasrc/model/cbi/admin_network/ifaces.lua9
-rw-r--r--modules/admin-full/luasrc/model/cbi/admin_wifi/networks.lua2
-rw-r--r--themes/fledermaus/htdocs/luci-static/fledermaus/cascade.css50
-rw-r--r--themes/openwrt-light/htdocs/luci-static/openwrt-light/cascade.css50
-rw-r--r--themes/openwrt.org/htdocs/luci-static/openwrt.org/cascade.css50
14 files changed, 182 insertions, 43 deletions
diff --git a/i18n/english/luasrc/i18n/admin-core.en.lua b/i18n/english/luasrc/i18n/admin-core.en.lua
index 762fc5017..767608722 100644
--- a/i18n/english/luasrc/i18n/admin-core.en.lua
+++ b/i18n/english/luasrc/i18n/admin-core.en.lua
@@ -159,8 +159,10 @@ a_w_apisolation1 = "Prevents Client to Client communication"
a_w_hideessid = "Hide ESSID"
a_w_ap = "Access Point"
a_w_adhoc = "Ad-Hoc"
+a_w_ahdemo = "Pseudo Ad-Hoc (ahdemo)"
a_w_client = "Client"
a_w_wds = "WDS"
+a_w_monitor = "Monitor"
dhcp_desc = "Dnsmasq is a combined DHCP-Server and DNS-Forwarder for NAT firewalls"
dhcp_dnsmasq_domainneeded = "Domain required"
diff --git a/i18n/german/luasrc/i18n/admin-core.de.lua b/i18n/german/luasrc/i18n/admin-core.de.lua
index a1ea18308..8a06f7098 100644
--- a/i18n/german/luasrc/i18n/admin-core.de.lua
+++ b/i18n/german/luasrc/i18n/admin-core.de.lua
@@ -145,6 +145,8 @@ Kommunikation.]]
a_w_ap = "Access Point"
a_w_adhoc = "Ad-Hoc"
a_w_client = "Client"
+a_w_ahdemo = "Pseudo Ad-Hoc (ahdemo)"
+a_w_monitor = "Monitor"
a_w_wds = "WDS"
accept = [[Annehmen]]
aliases = [[Aliasse]]
diff --git a/libs/cbi/htdocs/luci-static/resources/cbi.js b/libs/cbi/htdocs/luci-static/resources/cbi.js
index e42193cff..78a9e90bf 100644
--- a/libs/cbi/htdocs/luci-static/resources/cbi.js
+++ b/libs/cbi/htdocs/luci-static/resources/cbi.js
@@ -7,7 +7,16 @@ function cbi_d_add(field, target, value) {
if (!cbi_d[target][value]) {
cbi_d[target][value] = [];
}
- cbi_d[target][value].push(field);
+
+ var obj = document.getElementById(field);
+ if (obj) {
+ var entry = {
+ "node": obj,
+ "parent": obj.parentNode,
+ "next": obj.nextSibling
+ }
+ cbi_d[target][value].unshift(entry);
+ }
}
function cbi_d_update(target) {
@@ -17,16 +26,34 @@ function cbi_d_update(target) {
for (var x in cbi_d[target]) {
for (var i=0; i<cbi_d[target][x].length; i++) {
- var y = document.getElementById(cbi_d[target][x][i])
- y.style.display = "none";
+ var entry = cbi_d[target][x][i];
+ if (entry.node.parentNode) {
+ entry.parent.removeChild(entry.node)
+ }
}
}
var t = document.getElementById(target);
- if (t && t.value && cbi_d[target][t.value]) {
- for (var i=0; i<cbi_d[target][t.value].length; i++) {
- var y = document.getElementById(cbi_d[target][t.value][i])
- y.style.display = "block";
+ var value
+
+ if (!t || !t.value) {
+ value = "";
+ } else {
+ value = t.value;
+
+ if (t.type == "checkbox") {
+ value = t.checked ? value : "";
+ }
+ }
+
+ if (cbi_d[target][value]) {
+ for (var i=0; i<cbi_d[target][value].length; i++) {
+ var entry = cbi_d[target][value][i];
+ if (!entry.next) {
+ entry.parent.appendChild(entry.node);
+ } else {
+ entry.parent.insertBefore(entry.node, entry.next);
+ }
}
}
}
diff --git a/libs/cbi/htdocs/luci-static/resources/cbi/download.gif b/libs/cbi/htdocs/luci-static/resources/cbi/download.gif
new file mode 100644
index 000000000..f99a5383b
--- /dev/null
+++ b/libs/cbi/htdocs/luci-static/resources/cbi/download.gif
Binary files differ
diff --git a/libs/cbi/htdocs/luci-static/resources/cbi/key.gif b/libs/cbi/htdocs/luci-static/resources/cbi/key.gif
new file mode 100644
index 000000000..e3853e5af
--- /dev/null
+++ b/libs/cbi/htdocs/luci-static/resources/cbi/key.gif
Binary files differ
diff --git a/libs/cbi/htdocs/luci-static/resources/cbi/link.gif b/libs/cbi/htdocs/luci-static/resources/cbi/link.gif
new file mode 100644
index 000000000..1b2a923a5
--- /dev/null
+++ b/libs/cbi/htdocs/luci-static/resources/cbi/link.gif
Binary files differ
diff --git a/libs/cbi/htdocs/luci-static/resources/cbi/user.gif b/libs/cbi/htdocs/luci-static/resources/cbi/user.gif
new file mode 100644
index 000000000..dcb5c2a89
--- /dev/null
+++ b/libs/cbi/htdocs/luci-static/resources/cbi/user.gif
Binary files differ
diff --git a/modules/admin-core/luasrc/view/sysauth.htm b/modules/admin-core/luasrc/view/sysauth.htm
index 7b6163e54..236ec7e6a 100644
--- a/modules/admin-core/luasrc/view/sysauth.htm
+++ b/modules/admin-core/luasrc/view/sysauth.htm
@@ -24,16 +24,16 @@ $Id$
<div class="cbi-section-node">
<div class="cbi-value">
<div class="cbi-value-title"><%:username%></div>
- <div class="cbi-value-field"><input type="text" name="username" value="<%=duser%>" /></div>
+ <div class="cbi-value-field"><input class="cbi-input-user" type="text" name="username" value="<%=duser%>" /></div>
</div>
<div class="cbi-value">
<div class="cbi-value-title"><%:password%></div>
- <div class="cbi-value-field"><input type="password" name="password" /></div>
+ <div class="cbi-value-field"><input class="cbi-input-key" type="password" name="password" /></div>
</div>
<br />
<div>
- <input type="submit" value="<%:login%>" />
- <input type="reset" value="<%:reset%>" />
+ <input type="submit" class="cbi-button cbi-button-apply" value="<%:login%>" />
+ <input type="reset" class="cbi-button cbi-button-reset" value="<%:reset%>" />
</div>
</div>
</form>
diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua b/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua
index b50b05cb3..1c9ae396a 100644
--- a/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua
+++ b/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua
@@ -47,7 +47,8 @@ s:option(Flag, "dynamicdhcp").rmempty = true
s:option(Value, "name", translate("name")).optional = true
-s:option(Flag, "ignore").optional = true
+ignore = s:option(Flag, "ignore")
+ignore.optional = true
s:option(Value, "netmask", translate("netmask")).optional = true
@@ -58,6 +59,14 @@ for i, line in pairs(luci.util.execl("dnsmasq --help dhcp")) do
s:option(Value, "dhcp"..k, v).optional = true
end
+
+for i, n in ipairs(s.children) do
+ if n ~= iface and n ~= ignore then
+ n:depends("ignore", "")
+ end
+end
+
+
m2 = Map("luci_ethers", translate("luci_ethers"))
s = m2:section(TypedSection, "static_lease", "")
diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/ifaces.lua b/modules/admin-full/luasrc/model/cbi/admin_network/ifaces.lua
index ae5f2aeab..6d1fb4f39 100644
--- a/modules/admin-full/luasrc/model/cbi/admin_network/ifaces.lua
+++ b/modules/admin-full/luasrc/model/cbi/admin_network/ifaces.lua
@@ -113,6 +113,11 @@ mtu.isinteger = true
mac = s:option(Value, "macaddr", translate("macaddress"))
mac.optional = true
+
+srv = s:option(Value, "server", translate("network_interface_server"))
+srv:depends("proto", "pptp")
+srv.rmempty = true
+
user = s:option(Value, "username", translate("username"))
user.rmempty = true
user:depends("proto", "pptp")
@@ -139,10 +144,6 @@ demand.rmempty = true
demand:depends("proto", "pptp")
demand:depends("proto", "pppoe")
-srv = s:option(Value, "server", translate("network_interface_server"))
-srv:depends("proto", "pptp")
-srv.rmempty = true
-
diff --git a/modules/admin-full/luasrc/model/cbi/admin_wifi/networks.lua b/modules/admin-full/luasrc/model/cbi/admin_wifi/networks.lua
index ae4f84b9f..4b2179a8f 100644
--- a/modules/admin-full/luasrc/model/cbi/admin_wifi/networks.lua
+++ b/modules/admin-full/luasrc/model/cbi/admin_wifi/networks.lua
@@ -37,8 +37,10 @@ luci.model.uci.foreach("network", "interface",
mode = s:option(ListValue, "mode", translate("mode"))
mode:value("ap", translate("a_w_ap"))
mode:value("adhoc", translate("a_w_adhoc"))
+mode:value("ahdemo", translate("a_w_ahdemo"))
mode:value("sta", translate("a_w_client"))
mode:value("wds", translate("a_w_wds"))
+mode:value("monitor", translate("a_w_monitor"))
s:option(Value, "bssid", "BSSID").optional = true
diff --git a/themes/fledermaus/htdocs/luci-static/fledermaus/cascade.css b/themes/fledermaus/htdocs/luci-static/fledermaus/cascade.css
index c12a9e406..537b2ea8e 100644
--- a/themes/fledermaus/htdocs/luci-static/fledermaus/cascade.css
+++ b/themes/fledermaus/htdocs/luci-static/fledermaus/cascade.css
@@ -248,7 +248,7 @@ select:focus,
select:hover,
textarea:focus,
textarea:hover {
- background: #f2f3f9;
+ background-color: #f2f3f9;
}
select,
@@ -263,35 +263,67 @@ td input[type=password] {
width: 99%;
}
-input.cbi-button {
+input.cbi-input-user {
+ background: url('../resources/cbi/user.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+}
+
+input.cbi-input-key {
+ background: url('../resources/cbi/key.gif') no-repeat scroll 1px center;
+ background-color: inherit;
padding-left: 17px;
- padding-right: 1px;
}
+input.cbi-input-add,
input.cbi-button-add {
- background: transparent url('../resources/cbi/add.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/add.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-fieldadd,
input.cbi-button-fieldadd {
- background: transparent url(../resources/cbi/fieldadd.gif) no-repeat scroll 1px center;
+ background: url(../resources/cbi/fieldadd.gif) no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-reset,
input.cbi-button-reset {
- background: transparent url('../resources/cbi/reset.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/reset.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-save,
input.cbi-button-save {
- background: transparent url('../resources/cbi/save.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/save.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-apply,
input.cbi-button-apply {
- background: transparent url('../resources/cbi/apply.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/apply.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-remove,
div.cbi-section-remove input {
- background: transparent url('../resources/cbi/remove.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/remove.gif') no-repeat scroll 1px center;
+ background-color: inherit;
padding-left: 17px;
padding-right: 1px;
+}
+
+div.cbi-section-remove input {
border-bottom: none;
}
diff --git a/themes/openwrt-light/htdocs/luci-static/openwrt-light/cascade.css b/themes/openwrt-light/htdocs/luci-static/openwrt-light/cascade.css
index 25d5e2741..ddc3bdc06 100644
--- a/themes/openwrt-light/htdocs/luci-static/openwrt-light/cascade.css
+++ b/themes/openwrt-light/htdocs/luci-static/openwrt-light/cascade.css
@@ -233,7 +233,7 @@ select:focus,
select:hover,
textarea:focus,
textarea:hover {
- background: #ffffff;
+ background-color: #ffffff;
}
select,
@@ -248,35 +248,67 @@ td input[type=password] {
width: 99%;
}
-input.cbi-button {
+input.cbi-input-user {
+ background: url('../resources/cbi/user.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+}
+
+input.cbi-input-key {
+ background: url('../resources/cbi/key.gif') no-repeat scroll 1px center;
+ background-color: inherit;
padding-left: 17px;
- padding-right: 1px;
}
+input.cbi-input-add,
input.cbi-button-add {
- background: transparent url('../resources/cbi/add.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/add.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-fieldadd,
input.cbi-button-fieldadd {
- background: transparent url(../resources/cbi/fieldadd.gif) no-repeat scroll 1px center;
+ background: url(../resources/cbi/fieldadd.gif) no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-reset,
input.cbi-button-reset {
- background: transparent url('../resources/cbi/reset.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/reset.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-save,
input.cbi-button-save {
- background: transparent url('../resources/cbi/save.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/save.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-apply,
input.cbi-button-apply {
- background: transparent url('../resources/cbi/apply.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/apply.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-remove,
div.cbi-section-remove input {
- background: transparent url('../resources/cbi/remove.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/remove.gif') no-repeat scroll 1px center;
+ background-color: inherit;
padding-left: 17px;
padding-right: 1px;
+}
+
+div.cbi-section-remove input {
border-bottom: none;
}
diff --git a/themes/openwrt.org/htdocs/luci-static/openwrt.org/cascade.css b/themes/openwrt.org/htdocs/luci-static/openwrt.org/cascade.css
index 2b1946c0f..f86a837ee 100644
--- a/themes/openwrt.org/htdocs/luci-static/openwrt.org/cascade.css
+++ b/themes/openwrt.org/htdocs/luci-static/openwrt.org/cascade.css
@@ -241,7 +241,7 @@ select:focus,
select:hover,
textarea:focus,
textarea:hover {
- background: #ffffff;
+ background-color: #ffffff;
}
select,
@@ -256,35 +256,67 @@ td input[type=password] {
width: 99%;
}
-input.cbi-button {
+input.cbi-input-user {
+ background: url('../resources/cbi/user.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+}
+
+input.cbi-input-key {
+ background: url('../resources/cbi/key.gif') no-repeat scroll 1px center;
+ background-color: inherit;
padding-left: 17px;
- padding-right: 1px;
}
+input.cbi-input-add,
input.cbi-button-add {
- background: transparent url('../resources/cbi/add.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/add.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-fieldadd,
input.cbi-button-fieldadd {
- background: transparent url(../resources/cbi/fieldadd.gif) no-repeat scroll 1px center;
+ background: url(../resources/cbi/fieldadd.gif) no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-reset,
input.cbi-button-reset {
- background: transparent url('../resources/cbi/reset.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/reset.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-save,
input.cbi-button-save {
- background: transparent url('../resources/cbi/save.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/save.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-apply,
input.cbi-button-apply {
- background: transparent url('../resources/cbi/apply.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/apply.gif') no-repeat scroll 1px center;
+ background-color: inherit;
+ padding-left: 17px;
+ padding-right: 1px;
}
+input.cbi-input-remove,
div.cbi-section-remove input {
- background: transparent url('../resources/cbi/remove.gif') no-repeat scroll 1px center;
+ background: url('../resources/cbi/remove.gif') no-repeat scroll 1px center;
+ background-color: inherit;
padding-left: 17px;
padding-right: 1px;
+}
+
+div.cbi-section-remove input {
border-bottom: none;
}