diff options
| -rw-r--r-- | pages/options.coffee | 18 | ||||
| -rw-r--r-- | pages/options.html | 2 | ||||
| -rw-r--r-- | pages/popup.html | 14 |
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> |
