From 1ce9844a85c2cc81f17e8c3046cb5c4a9f1ff52d Mon Sep 17 00:00:00 2001 From: ALGang <863209181@qq.com> Date: Mon, 22 Jul 2019 08:40:33 +0800 Subject: [PATCH 01/31] init feature --- package.json | 1 + src/index.ejs | 6 + src/main/index.js | 19 ++- src/main/touchbar.js | 27 ++++ src/renderer/App.vue | 52 ++++++- src/renderer/assets/eyedropper-touchbar.png | Bin 0 -> 1696 bytes src/renderer/assets/settings-touchbar.png | Bin 0 -> 2475 bytes src/renderer/components/menu/TopMenu.vue | 34 +++++ src/renderer/components/sider/LeftSider.vue | 55 +++++--- src/renderer/components/sider/index.vue | 143 +++++--------------- src/renderer/layouts/GlobalLayout.vue | 18 +-- src/renderer/pages/editor/index.vue | 2 +- src/resources/colorsbook-touchbar.png | Bin 0 -> 1288 bytes src/resources/eyedropper-touchbar.png | Bin 0 -> 1696 bytes src/resources/settings-touchbar.png | Bin 0 -> 2475 bytes 15 files changed, 208 insertions(+), 149 deletions(-) create mode 100644 src/main/touchbar.js create mode 100644 src/renderer/assets/eyedropper-touchbar.png create mode 100644 src/renderer/assets/settings-touchbar.png create mode 100644 src/renderer/components/menu/TopMenu.vue create mode 100644 src/resources/colorsbook-touchbar.png create mode 100644 src/resources/eyedropper-touchbar.png create mode 100644 src/resources/settings-touchbar.png diff --git a/package.json b/package.json index 2a2a935..4cec4cd 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "vue-router": "^3.0.1", "vuex": "^3.0.1", "vuex-electron": "^1.0.0", + "web-frame": "^0.0.2", "wordwrap": "^1.0.0" }, "devDependencies": { diff --git a/src/index.ejs b/src/index.ejs index c9f13da..2d414db 100644 --- a/src/index.ejs +++ b/src/index.ejs @@ -2,16 +2,22 @@ + + bloggo <% if (htmlWebpackPlugin.options.nodeModules) { %> <% } %> +
+
<% if (!process.browser) { %> diff --git a/src/main/index.js b/src/main/index.js index 507216e..009fca8 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -1,4 +1,5 @@ -import { app, BrowserWindow } from 'electron' // eslint-disable-line +import electron,{ app, BrowserWindow, Menu } from 'electron' // eslint-disable-line + /** * Set `__static` path to static files in production @@ -18,9 +19,21 @@ function createWindow() { * Initial window options */ mainWindow = new BrowserWindow({ - height: 563, + + height: 900, useContentSize: true, - width: 1000, + minWidth: 500, + minHeight: 387, + skipTaskbar: false, + + backgroundColor: 'rgba(62,63,65,.1)', + width: 830, + titleBarStyle: 'hiddenInset', + webPreferences: { + nodeIntegration: true, + nodeIntegrationInWorker: true, + backgroundThrottling: false, + }, }); mainWindow.loadURL(winURL); diff --git a/src/main/touchbar.js b/src/main/touchbar.js new file mode 100644 index 0000000..560e457 --- /dev/null +++ b/src/main/touchbar.js @@ -0,0 +1,27 @@ + + +const { TouchBar } = require('electron'); +const { TouchBarColorPicker, TouchBarButton } = TouchBar; + +module.exports = (dirname, eventEmitter) => { + const colorpicker = new TouchBarColorPicker({ + change: color => eventEmitter.emit('changeColor', color), + }); + const eyedropper = new TouchBarButton({ + icon: `${dirname}/resources/eyedropper-touchbar.png`, + click: () => eventEmitter.emit('launchPicker'), + }); + const colorsbook = new TouchBarButton({ + icon: `${dirname}/resources/colorsbook-touchbar.png`, + click: () => eventEmitter.emit('launchColorsbook'), + }); + const settings = new TouchBarButton({ + icon: `${dirname}/resources/settings-touchbar.png`, + click: () => eventEmitter.emit('showPreferences'), + }); + + const touchbar = new TouchBar([colorpicker, eyedropper, colorsbook, settings]); + + + return touchbar; +}; diff --git a/src/renderer/App.vue b/src/renderer/App.vue index 53c0cb1..cc18b40 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -1,12 +1,34 @@ @@ -21,6 +43,30 @@ #app user-select none overflow hidden + .header + padding: 0 + -webkit-app-region drag + background rgba(62,63,65,1) + position fixed + z-index 1 + height 38px + width 100% + border-bottom .3px solid rgba(0,0,0,1) + .content + width 100% + color #fff + margin-top 35px + .ant-layout-sider + background rgba(30,31,33,1) + position fixed + height 100% + border-right:.3px solid rgba(0,0,0,1); + .ant-layout-content + width 100% + margin-left 375px + position fixed + height 100% + background rgba(39,38,39,1) .el-button-group width 100% .el-button diff --git a/src/renderer/assets/eyedropper-touchbar.png b/src/renderer/assets/eyedropper-touchbar.png new file mode 100644 index 0000000000000000000000000000000000000000..dd3757334177a30c5c263a5da924e6505bfa8998 GIT binary patch literal 1696 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 + + + + \ No newline at end of file diff --git a/src/renderer/components/sider/LeftSider.vue b/src/renderer/components/sider/LeftSider.vue index 8807598..4dc2062 100644 --- a/src/renderer/components/sider/LeftSider.vue +++ b/src/renderer/components/sider/LeftSider.vue @@ -1,23 +1,32 @@ @@ -94,7 +114,10 @@ export default { margin-top: 10px margin-right: 25px .item - &:hover - color: #eee - + cursor pointer + &:hover + .more + display inline-block + .more + display none \ No newline at end of file diff --git a/src/renderer/components/sider/index.vue b/src/renderer/components/sider/index.vue index 4dc2062..225e491 100644 --- a/src/renderer/components/sider/index.vue +++ b/src/renderer/components/sider/index.vue @@ -1,123 +1,46 @@ - \ No newline at end of file diff --git a/src/renderer/layouts/GlobalLayout.vue b/src/renderer/layouts/GlobalLayout.vue index 4150809..46b6334 100644 --- a/src/renderer/layouts/GlobalLayout.vue +++ b/src/renderer/layouts/GlobalLayout.vue @@ -1,23 +1,9 @@