aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2014-12-21 08:35:17 +0000
committerStephen Blott2014-12-21 08:35:17 +0000
commiteacf2802cf46eefefed7904f7138d840bd07805b (patch)
treeafaa60ef2c866d4caf72f96099619c41779997bb
parent0409bcdc8ee753e8ff3832cb852f604f8d347688 (diff)
downloadvimium-eacf2802cf46eefefed7904f7138d840bd07805b.tar.bz2
Exclusion; add Save button.
-rw-r--r--pages/options.coffee18
-rw-r--r--pages/options.html2
-rw-r--r--pages/popup.html14
3 files changed, 25 insertions, 9 deletions
diff --git a/pages/options.coffee b/pages/options.coffee
index c3f619ca..db9c3287 100644
--- a/pages/options.coffee
+++ b/pages/options.coffee
@@ -118,7 +118,9 @@ class ExclusionRulesOption extends Option
element.children[1].firstChild.focus()
else
element.style.display = 'none'
- @addRule() unless haveMatch
+ unless haveMatch
+ @addRule()
+ @onUpdated()
# Append a row for a new rule.
appendRule: (rule) ->
@@ -236,8 +238,18 @@ initPopupPage = ->
document.getElementById("optionsLink").setAttribute "href", chrome.runtime.getURL("pages/options.html")
onUpdated = ->
- $("helpText").innerHTML =
- "Type <strong>Ctrl-Enter</strong> to save and close; <strong>Esc</strong> to cancel."
+ $("helpText").innerHTML = "Type <strong>Ctrl-Enter</strong> to save and close."
+ $("saveOptions").removeAttribute "disabled"
+ $("saveOptions").innerHTML = "Save Changes"
+
+
+ $("saveOptions").addEventListener "click", ->
+ Option.saveOptions()
+ $("helpText").innerHTML = "Rules saved."
+ $("saveOptions").innerHTML = "No Changes"
+ $("saveOptions").disabled = true
+ chrome.tabs.query { windowId: chrome.windows.WINDOW_ID_CURRENT, active: true }, (tabs) ->
+ chrome.extension.getBackgroundPage().updateActiveState(tabs[0].id)
document.addEventListener "keyup", (event) ->
if event.ctrlKey and event.keyCode == 13
diff --git a/pages/options.html b/pages/options.html
index 03016d3f..51a53634 100644
--- a/pages/options.html
+++ b/pages/options.html
@@ -23,6 +23,8 @@
</div>
</div>
<div>
+ <!-- Warning: There is an almost exact copy of exclusionScrollBox in popup.html. Changes here
+ may have to propagated to there too. -->
<div id="exclusionScrollBox">
<table id="exclusionRules">
<tr>
diff --git a/pages/popup.html b/pages/popup.html
index c84845f5..6dcc7a8b 100644
--- a/pages/popup.html
+++ b/pages/popup.html
@@ -13,21 +13,24 @@
}
#helpText { color: #979ca0; }
+ #exclusionAddButton { width: 80px; }
- #exclusionAddButton {
- width: 80px;
+ #saveOptions {
+ margin-top: 5px; /* Match exclusionAddButton */
+ margin-left: 5px;
+ float: right;
}
/* These are overridden from options.css. */
#endSpace, #footerWrapper { width: 450px; }
+ #footerWrapper { margin-left: 0px; }
#endSpace { /* Leave space for the fixed footer. */
min-height: 46px;
max-height: 46px;
}
- #footerWrapper { margin-left: 0px; }
</style>
<script src="options.js"></script>
</head>
@@ -61,13 +64,12 @@
<td id="footerTableData">
<span>
<span id="helpText">These are the matching rules for this page.</span>
+ <button id="saveOptions" disabled="true">No Changes</button>
+ <button id="exclusionAddButton">Add Rule</button>
<br/>
<span> <a id="optionsLink" target="_blank">Vimium Options</a>.</span>
</span>
</td>
- <td>
- <button id="exclusionAddButton">Add Rule</button>
- </td>
</tr>
</table>
</div>