diff options
| author | Stephen Blott | 2014-12-21 08:35:17 +0000 | 
|---|---|---|
| committer | Stephen Blott | 2014-12-21 08:35:17 +0000 | 
| commit | eacf2802cf46eefefed7904f7138d840bd07805b (patch) | |
| tree | afaa60ef2c866d4caf72f96099619c41779997bb | |
| parent | 0409bcdc8ee753e8ff3832cb852f604f8d347688 (diff) | |
| download | vimium-eacf2802cf46eefefed7904f7138d840bd07805b.tar.bz2 | |
Exclusion; add Save button.
| -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> | 
