Browse Source

Merge branch 'feature/pswd-fix' into develop

oldj 10 years ago
parent
commit
0d57f3eff3
6 changed files with 14 additions and 13 deletions
  1. 1 1
      README.md
  2. 3 0
      app/css/style.css
  3. 3 0
      app/css/style.styl
  4. 1 1
      app/index.html
  5. 4 7
      app/js/cf.js
  6. 2 4
      app/js/sh.js

+ 1 - 1
README.md

@@ -8,7 +8,7 @@
  - Latest Stable: 3.0.0
 
 
-这是一个用于快速切换 hosts 文件的小程序,基于 [Electron](http://electron.atom.io/) 开发。
+这是一个用于快速切换 hosts 文件的小程序,基于 [Electron](http://electron.atom.io/) 开发,同时使用了 [Vue.js](http://vuejs.org/) 以及 [CodeMirror](http://codemirror.net/) 等框架/库
 
 
 ## 功能特性:

+ 3 - 0
app/css/style.css

@@ -235,3 +235,6 @@ a:hover {
   border-right: none;
   padding-right: 6px;
 }
+.readonly .CodeMirror .CodeMirror-cursors {
+  display: none;
+}

+ 3 - 0
app/css/style.styl

@@ -261,3 +261,6 @@ unselectable()
   padding-right 6px
 //.CodeMirror-linenumber
 //  cursor pointer
+.readonly .CodeMirror
+  .CodeMirror-cursors
+    display none

+ 1 - 1
app/index.html

@@ -48,7 +48,7 @@
 	</div>
 
 	<div id="body">
-		<div class="code">
+		<div class="code" :class="{readonly:current_host.is_editable===false}">
 			<textarea id="host-code" v-model="current_host.content" @input="updateHost(current_host)"></textarea>
 		</div>
 	</div>

+ 4 - 7
app/js/cf.js

@@ -109,16 +109,14 @@ function saveHost(content, sudo_pswd, callback) {
         exec(cmd, function (err, stdout, stderr) {
             if (!err) {
                 fs.writeFile(sys_host_path, content, 'utf-8', function (err) {
-                    if (err) {
-                        callback(err);
-                        return;
-                    }
-
                     // change the host file's permission back
                     cmd = `echo '${sudo_pswd}' | sudo -S chmod 644 ${sys_host_path}`;
                     exec(cmd, function (err) {
-                        callback(err);
+                        //callback(err);
+                        err && console.log(err);
                     });
+
+                    callback(err);
                 });
             } else {
                 callback(err);
@@ -129,7 +127,6 @@ function saveHost(content, sudo_pswd, callback) {
         fs.writeFile(sys_host_path, content, 'utf-8', function (err) {
             callback(err);
         });
-
     }
 
 }

+ 2 - 4
app/js/sh.js

@@ -186,7 +186,6 @@ const app = new Vue({
 
             let s_hosts = on_hosts.join('\n\n# --------------------\n\n');
             s_hosts = `# SwitchHosts!\n${s_hosts}`;
-            //console.log(s_hosts);
             cf.saveHost(s_hosts, this.sudo_pswd, (err) => {
                 if (err) {
                     console.log(err);
@@ -216,9 +215,9 @@ const app = new Vue({
             setTimeout(() => $('#ipt-pswd').focus(), 100);
         },
         chkPswd: function () {
-            this.switchHost(this._to_switch_host);
+            //this.switchHost(this._to_switch_host);
             this.closePrompt();
-            this._to_switch_host = null;
+            //this._to_switch_host = null;
 
             let f;
             while (f = this.on_after_permission.shift()) {
@@ -297,7 +296,6 @@ $(document).ready(function () {
 
         let info = cm.lineInfo(n);
         //cm.setGutterMarker(n, "breakpoints", info.gutterMarkers ? null : makeMarker());
-        //console.log(info);
         let ln = info.text;
         if (/^\s*$/.test(ln)) return;