Browse Source

fix theme change event bug.

zhuzhuyule 8 years ago
parent
commit
c0df2094ee
1 changed files with 12 additions and 1 deletions
  1. 12 1
      views/settings/moe-settings.js

+ 12 - 1
views/settings/moe-settings.js

@@ -133,6 +133,9 @@ document.addEventListener('DOMContentLoaded', () => {
             moeApp.config.set('custom-render-themes', themes);
             moeApp.config.set('custom-render-themes', themes);
             console.log(themes);
             console.log(themes);
             reloadRenderThemeSelect();
             reloadRenderThemeSelect();
+            if (a.length > 0){
+                renderThemeSelect.value = path.basename(s);
+            }
         });
         });
     });
     });
     renderThemeButtonRemove.addEventListener('click', () => {
     renderThemeButtonRemove.addEventListener('click', () => {
@@ -416,7 +419,7 @@ document.addEventListener('DOMContentLoaded', () => {
             //未配置主题,自动配置
             //未配置主题,自动配置
             let classDir = path.join(hexoConfig.__basedir,hexoConfig.public_dir,'css');
             let classDir = path.join(hexoConfig.__basedir,hexoConfig.public_dir,'css');
             if (!isFindStyle){
             if (!isFindStyle){
-                if (fs.lstatSync(classDir).isDirectory()){
+                if ( fs.existsSync(classDir) && fs.lstatSync(classDir).isDirectory()){
                     try {
                     try {
                         let fileNames = fs.readdirSync(classDir);
                         let fileNames = fs.readdirSync(classDir);
                         if (fileNames.includes('main.css')){
                         if (fileNames.includes('main.css')){
@@ -430,7 +433,15 @@ document.addEventListener('DOMContentLoaded', () => {
             }
             }
             if (isFindStyle) {
             if (isFindStyle) {
                 themes[hexoTheme] = classDir;
                 themes[hexoTheme] = classDir;
+                moeApp.config.set('custom-render-themes', themes);
+                reloadRenderThemeSelect();
+
                 renderThemeSelect.value = hexoTheme;
                 renderThemeSelect.value = hexoTheme;
+                const key = renderThemeSelect.getAttribute('data-key');
+                moeApp.config.set(key, hexoTheme);
+                if (!renderThemeSelect.classList.contains('dont-notify'))
+                    ipcRenderer.send('setting-changed', { key: key, val: hexoTheme });
+
                 reloadHighlightSelect(hexoTheme);
                 reloadHighlightSelect(hexoTheme);
             }
             }
     })
     })