39
CHANGELOG.md
@@ -5,14 +5,41 @@
|
||||
### Changes
|
||||
- Changed the license, from MIT License to Apache License, Version 2.0.
|
||||
|
||||
### Improvements
|
||||
- Added **Add** button next to the "Teams" label on the Setting page.
|
||||
- Added **Edit** button on the team list on the Setting page.
|
||||
### Fixes
|
||||
|
||||
#### Windows
|
||||
- Added the tooltip for the tray icon in order to show count of unread channels/mantions.
|
||||
- Fixed the pixelated app icon on the top left of the window.
|
||||
- Fixed the blurred tray icon.
|
||||
|
||||
#### OS X
|
||||
- Fixed that two icons appear on a notification.
|
||||
|
||||
### Improvements
|
||||
- Added shortcuts
|
||||
- Zoom
|
||||
- Ctrl+0 (View -> Actual Size): Reset the zoom level.
|
||||
- Ctrl+Plus (View -> Zoom In)
|
||||
- Ctrl+Minus (View -> Zoom Out)
|
||||
- Control window
|
||||
- Ctrl+W (Window -> Close): On Windows and Linux, this works as minimize for the main window.
|
||||
- Ctrl+M (Window -> Minimize)
|
||||
- Switch teams (these shotcuts also reopen the main window)
|
||||
- Ctrl+{1-9} (Window -> *Team name*): Open the *n*-th tab.
|
||||
- Ctrl+Tab or Alt+Command+Right (Window -> Select Next Team): Open the right tab.
|
||||
- Ctrl+Shift+Tab or Alt+Command+Left (Window -> Select Previous Team): Open the left tab.
|
||||
- Added **Add** button next to the "Teams" label on the Setting page.
|
||||
- Added **Edit** button on the team list on the Setting page.
|
||||
- Added **Help** menu to indicate the application version.
|
||||
- Added auto-reloading when the tab failed to load the team.
|
||||
|
||||
#### Windows
|
||||
- Added the tooltip text for the tray icon in order to show count of unread channels/mantions.
|
||||
- Added the option to launch the application on login.
|
||||
- Added the option to blink the taskbar icon when a new message has arrived.
|
||||
- Added installers (experimental)
|
||||
|
||||
#### OS X
|
||||
- Added colored badges to the menu icon when there are unread channels/mentions.
|
||||
|
||||
#### Linux
|
||||
- Added the option to show the icon on menu bar. (requires libappindicator1 on Ubuntu)
|
||||
@@ -30,6 +57,10 @@
|
||||
#### Windows and OS X
|
||||
- Added a right-click menu option for tray icon to open the Desktop application on Windows and OS X.
|
||||
|
||||
### Known issues
|
||||
- The shortcuts can't switch teams twice in a raw.
|
||||
- The team pages are not correctly rendered until the window is resized when the zoom level is changed.
|
||||
|
||||
|
||||
## Release v1.2.0 (Beta)
|
||||
|
||||
|
12
circle.yml
@@ -5,7 +5,7 @@ machine:
|
||||
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
|
||||
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
|
||||
node:
|
||||
version: 5.10.0
|
||||
version: 6.1.0
|
||||
services:
|
||||
- docker
|
||||
|
||||
@@ -13,11 +13,10 @@ dependencies:
|
||||
cache_directories:
|
||||
- "~/.electron"
|
||||
- "src/node_modules"
|
||||
- "~/docker_cache"
|
||||
post:
|
||||
- ./docker/circle_docker_build.sh
|
||||
- mkdir -p ~/.electron
|
||||
- docker run --rm -it -v `pwd`:/home/xclient/electron-mattermost -v ~/.electron:/home/xclient/.electron yuya-oc/em-builder ./electron-mattermost/docker/package_in_docker.sh
|
||||
- docker run --rm -it -v `pwd`:/project -v ~/.electron:/root/.electron electronuserland/electron-builder:wine ./docker/package_in_docker.sh
|
||||
- sudo chown -R ubuntu:ubuntu release
|
||||
- mv release/Mattermost-win32-ia32 release/mattermost-desktop-win32
|
||||
- mv release/Mattermost-win32-x64 release/mattermost-desktop-win64
|
||||
- mv release/Mattermost-darwin-x64 release/mattermost-desktop-osx
|
||||
@@ -29,11 +28,10 @@ dependencies:
|
||||
- tar zcvf $CIRCLE_ARTIFACTS/mattermost-desktop-linux-ia32.tar.gz -C release mattermost-desktop-linux-ia32
|
||||
- tar zcvf $CIRCLE_ARTIFACTS/mattermost-desktop-linux-x64.tar.gz -C release mattermost-desktop-linux-x64
|
||||
- cp release/*.deb $CIRCLE_ARTIFACTS/
|
||||
- cp release/windows-installer-ia32/mattermost-setup-ia32.exe $CIRCLE_ARTIFACTS/
|
||||
- cp release/windows-installer-x64/mattermost-setup-x64.exe $CIRCLE_ARTIFACTS/
|
||||
|
||||
test:
|
||||
override:
|
||||
- node_modules/.bin/mocha --reporter mocha-circleci-reporter
|
||||
- node_modules/.bin/gulp prettify:verify
|
||||
post:
|
||||
- mv test-results.xml $CIRCLE_TEST_REPORTS/
|
||||
|
||||
|
@@ -54,3 +54,5 @@ deploy linux-ia32 tar.gz
|
||||
deploy linux-x64 tar.gz
|
||||
upload mattermost-desktop-$RELEASE_TAG-linux-ia32.deb release/mattermost-desktop-$RELEASE_TAG-ia32.deb
|
||||
upload mattermost-desktop-$RELEASE_TAG-linux-x64.deb release/mattermost-desktop-$RELEASE_TAG.deb
|
||||
upload mattermost-setup-$RELEASE_TAG-win32.exe release/windows-installer-ia32/mattermost-setup-ia32.exe
|
||||
upload mattermost-setup-$RELEASE_TAG-win64.exe release/windows-installer-x64/mattermost-setup-x64.exe
|
||||
|
@@ -1,15 +0,0 @@
|
||||
FROM suchja/wine:latest
|
||||
MAINTAINER Yuya Ochiai <yuya0321@gmail.com>
|
||||
|
||||
ENV NODE_VERSION=v5.10.0
|
||||
ENV PATH=$HOME/.nodebrew/current/bin:$PATH
|
||||
|
||||
USER root
|
||||
RUN apt-get update && apt-get -y install wget bzip2 zip
|
||||
|
||||
# electron-builder
|
||||
RUN apt-get update && apt-get -y install ruby ruby-dev gcc make icnsutils graphicsmagick xz-utils && gem install fpm
|
||||
|
||||
USER xclient
|
||||
# install Node.js
|
||||
RUN curl -L git.io/nodebrew | perl - setup && nodebrew install-binary $NODE_VERSION && nodebrew use $NODE_VERSION
|
@@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
# execute from source root
|
||||
set -ex
|
||||
CACHE_DIR=~/docker_cache
|
||||
if [ -e ${CACHE_DIR}/em-builder.tar ] && md5sum -c ${CACHE_DIR}/dockerfile.md5sum
|
||||
then
|
||||
docker load < ${CACHE_DIR}/em-builder.tar
|
||||
else
|
||||
mkdir -p ${CACHE_DIR}
|
||||
docker build -t yuya-oc/em-builder docker
|
||||
md5sum docker/Dockerfile > ${CACHE_DIR}/dockerfile.md5sum
|
||||
docker save yuya-oc/em-builder > ${CACHE_DIR}/em-builder.tar
|
||||
fi
|
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
# This script should be executed in docker container.
|
||||
set -ex
|
||||
cd electron-mattermost
|
||||
npm run package:all
|
||||
npm run package:linux
|
||||
npm run installer
|
||||
|
@@ -148,6 +148,17 @@ Below lists menu options (shortcut keys are listed in brackets, `Ctrl` becomes `
|
||||
- **Clear Cache and Reload** (Ctrl+Shift+R) - Clear cached content in application and reload page
|
||||
- **Toggle Full Screen** (F11) - Toggle application from window to full screen and back
|
||||
- **Toggle Developer Tools** (Ctrl+Shift+I) - Turn on and off sidebar showing developer tools
|
||||
- **Actual Size** (Ctrl+0) - Reset zoom level
|
||||
- **Zoom In** (Ctrl+Plus) - Enlarge the rendered contents size
|
||||
- **Zoom In** (Ctrl+Minus) - Shrink the rendered contents size
|
||||
- **Window**
|
||||
- **Close** (Ctrl+W) - Close the window (On Window and Linux, the main window is minimized)
|
||||
- **Minimize** (Ctrl+M) - Minimize the window
|
||||
- ***Team Name*** (Ctrl+{1-9}) - Open the *n*-th tab
|
||||
- **Select Next Team** (Ctrl+Tab, Alt+Command+Right) - Open the right tab
|
||||
- **Select Previous Team** (Ctrl+Shift+Tab, Alt+Command+Left) - Open the left tab
|
||||
- **Help**
|
||||
- ***Version*** Indicate the application version
|
||||
|
||||
|
||||
## Notifications
|
||||
|
22
gulpfile.js
@@ -14,8 +14,11 @@ var electron = require('electron-connect').server.create({
|
||||
path: './dist'
|
||||
});
|
||||
var packager = require('electron-packager');
|
||||
const fs = require('fs');
|
||||
|
||||
var sources = ['**/*.js', '**/*.css', '**/*.html', '!**/node_modules/**', '!dist/**', '!release/**'];
|
||||
const distPackageAuthor = 'Mattermost, Inc.'
|
||||
|
||||
var sources = ['**/*.js', '**/*.json', '**/*.css', '**/*.html', '!**/node_modules/**', '!dist/**', '!release/**', '!**/test_config.json'];
|
||||
|
||||
gulp.task('prettify', ['prettify:sources', 'prettify:jsx']);
|
||||
gulp.task('prettify:verify', ['prettify:sources:verify', 'prettify:jsx:verify'])
|
||||
@@ -77,9 +80,15 @@ gulp.task('prettify:jsx:verify', function() {
|
||||
});
|
||||
|
||||
|
||||
gulp.task('build', ['sync-meta', 'webpack', 'copy'], function() {
|
||||
return gulp.src('src/package.json')
|
||||
.pipe(gulp.dest('dist'));
|
||||
gulp.task('build', ['sync-meta', 'webpack', 'copy'], function(cb) {
|
||||
const appPackageJson = require('./src/package.json');
|
||||
const distPackageJson = Object.assign({}, appPackageJson, {
|
||||
author: {
|
||||
name: distPackageAuthor,
|
||||
email: 'noreply'
|
||||
}
|
||||
});
|
||||
fs.writeFile('./dist/package.json', JSON.stringify(distPackageJson, null, ' '), cb);
|
||||
});
|
||||
|
||||
gulp.task('webpack', ['webpack:main', 'webpack:browser', 'webpack:webview']);
|
||||
@@ -192,8 +201,8 @@ function makePackage(platform, arch, callback) {
|
||||
"app-version": packageJson.version,
|
||||
icon: 'resources/icon',
|
||||
"version-string": {
|
||||
CompanyName: packageJson.author.name,
|
||||
LegalCopyright: 'Copyright (c) 2015 - ' + new Date().getFullYear() + ' ' + packageJson.author.name,
|
||||
CompanyName: distPackageAuthor,
|
||||
LegalCopyright: `Copyright (c) 2015 - ${new Date().getFullYear()} ${packageJson.author.name}`,
|
||||
FileDescription: packageJson.description,
|
||||
OriginalFilename: packageJson.productName + '.exe',
|
||||
ProductVersion: packageJson.version,
|
||||
@@ -239,6 +248,5 @@ gulp.task('sync-meta', function() {
|
||||
appPackageJson.description = packageJson.description;
|
||||
appPackageJson.author = packageJson.author;
|
||||
appPackageJson.license = packageJson.license;
|
||||
var fs = require('fs');
|
||||
fs.writeFileSync('./src/package.json', JSON.stringify(appPackageJson, null, ' ') + '\n');
|
||||
});
|
||||
|
11
package.json
@@ -19,7 +19,7 @@
|
||||
"start": "electron dist",
|
||||
"watch": "gulp watch",
|
||||
"serve": "gulp watch",
|
||||
"test": "gulp build && mocha --recursive test/specs && gulp prettify:verify",
|
||||
"test": "gulp build && mocha --reporter mocha-circleci-reporter --recursive test/specs && gulp prettify:verify",
|
||||
"package": "gulp package",
|
||||
"package:windows": "gulp package:windows",
|
||||
"package:osx": "gulp package:osx",
|
||||
@@ -32,13 +32,13 @@
|
||||
"babel-core": "^6.7.5",
|
||||
"babel-loader": "^6.2.4",
|
||||
"babel-preset-react": "^6.5.0",
|
||||
"chromedriver": "^2.20.0",
|
||||
"chai": "^3.5.0",
|
||||
"chai-as-promised": "^5.3.0",
|
||||
"del": "^2.2.0",
|
||||
"electron-builder": "5.2.1",
|
||||
"electron-connect": "^0.3.7",
|
||||
"electron-packager": "^7.0.1",
|
||||
"electron-prebuilt": "0.37.8",
|
||||
"electron-squirrel-startup": "^1.0.0",
|
||||
"electron-prebuilt": "1.2.2",
|
||||
"electron-winstaller": "^2.2.0",
|
||||
"esformatter": "^0.9.3",
|
||||
"esformatter-jsx": "^5.0.0",
|
||||
@@ -50,12 +50,11 @@
|
||||
"json-loader": "^0.5.4",
|
||||
"mocha": "^2.3.4",
|
||||
"mocha-circleci-reporter": "0.0.1",
|
||||
"spectron": "~3.2.0",
|
||||
"rimraf": "^2.5.2",
|
||||
"should": "^8.0.1",
|
||||
"style-loader": "^0.13.0",
|
||||
"through2": "^2.0.1",
|
||||
"vinyl-named": "^1.1.0",
|
||||
"webdriverio": "^3.3.0",
|
||||
"webpack": "^1.12.15",
|
||||
"webpack-stream": "^3.1.0"
|
||||
},
|
||||
|
58
resources/osx/ClickedMenuIcon.svg
Normal file
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 500 500"
|
||||
style="enable-background:new 0 0 500 500;"
|
||||
xml:space="preserve"
|
||||
id="svg2"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="ClickedMenuIcon.svg"><metadata
|
||||
id="metadata14"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs12" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1342"
|
||||
inkscape:window-height="773"
|
||||
id="namedview10"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.472"
|
||||
inkscape:cx="-312.89678"
|
||||
inkscape:cy="250"
|
||||
inkscape:window-x="485"
|
||||
inkscape:window-y="333"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg2" /><style
|
||||
type="text/css"
|
||||
id="style4"> .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#222222;} </style><g
|
||||
id="XMLID_1_"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
transform="matrix(0.99998928,0,0,0.99998928,-0.01497322,0.02529433)"><g
|
||||
id="XMLID_3_"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"><path
|
||||
id="XMLID_4_"
|
||||
class="st0"
|
||||
d="m 396.9,47.7 2.6,53.1 c 43,47.5 60,114.8 38.6,178.1 C 406.1,373.3 300.7,423 202.7,389.8 104.7,356.6 51.1,253.1 83,158.7 104.5,95.2 159.2,52 222.5,40.5 L 256.7,0.1 C 150,-2.8 49.3,63.4 13.3,169.9 -31,300.6 39.1,442.5 169.9,486.7 300.7,530.9 442.5,460.9 486.8,330.1 522.7,223.9 483.1,110.3 396.9,47.7 Z"
|
||||
style="clip-rule:evenodd;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g><path
|
||||
id="XMLID_2_"
|
||||
class="st0"
|
||||
d="m 335.6,204.3 -1.8,-74.2 -1.5,-42.7 -1,-37 c 0,0 0.2,-17.8 -0.4,-22 -0.1,-0.9 -0.4,-1.6 -0.7,-2.2 0,-0.1 -0.1,-0.2 -0.1,-0.3 0,-0.1 -0.1,-0.2 -0.1,-0.2 -0.7,-1.2 -1.8,-2.1 -3.1,-2.6 -1.4,-0.5 -2.9,-0.4 -4.2,0.2 0,0 -0.1,0 -0.1,0 -0.2,0.1 -0.3,0.1 -0.4,0.2 -0.6,0.3 -1.2,0.7 -1.8,1.3 -3,3 -13.7,17.2 -13.7,17.2 l -23.2,28.8 -27.1,33 -46.5,57.8 c 0,0 -21.3,26.6 -16.6,59.4 4.7,32.8 29.1,48.7 48,55.1 18.9,6.4 48,8.5 71.6,-14.7 23.5,-23 22.7,-57.1 22.7,-57.1 z"
|
||||
style="clip-rule:evenodd;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g></svg>
|
After Width: | Height: | Size: 2.9 KiB |
69
resources/osx/ClickedMenuIconMention.svg
Normal file
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 500 500"
|
||||
style="enable-background:new 0 0 500 500;"
|
||||
xml:space="preserve"
|
||||
id="svg2"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="ClickedMenuIconMention.svg"><metadata
|
||||
id="metadata14"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs12"><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4148"><g
|
||||
id="g4150"
|
||||
style="fill:#000000;fill-opacity:0.70196078;stroke:none"
|
||||
transform="matrix(0.99998928,0,0,0.99998928,-0.01497322,0.02529433)"><g
|
||||
id="g4152"
|
||||
style="fill:#000000;fill-opacity:0.70196078;stroke:none"><path
|
||||
id="path4154"
|
||||
class="st0"
|
||||
d="m 396.9,47.7 2.6,53.1 c 43,47.5 60,114.8 38.6,178.1 C 406.1,373.3 300.7,423 202.7,389.8 104.7,356.6 51.1,253.1 83,158.7 104.5,95.2 159.2,52 222.5,40.5 L 256.7,0.1 C 150,-2.8 49.3,63.4 13.3,169.9 -31,300.6 39.1,442.5 169.9,486.7 300.7,530.9 442.5,460.9 486.8,330.1 522.7,223.9 483.1,110.3 396.9,47.7 Z"
|
||||
style="clip-rule:evenodd;fill:#000000;fill-opacity:0.70196078;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g><path
|
||||
id="path4156"
|
||||
class="st0"
|
||||
d="m 335.6,204.3 -1.8,-74.2 -1.5,-42.7 -1,-37 c 0,0 0.2,-17.8 -0.4,-22 -0.1,-0.9 -0.4,-1.6 -0.7,-2.2 0,-0.1 -0.1,-0.2 -0.1,-0.3 0,-0.1 -0.1,-0.2 -0.1,-0.2 -0.7,-1.2 -1.8,-2.1 -3.1,-2.6 -1.4,-0.5 -2.9,-0.4 -4.2,0.2 0,0 -0.1,0 -0.1,0 -0.2,0.1 -0.3,0.1 -0.4,0.2 -0.6,0.3 -1.2,0.7 -1.8,1.3 -3,3 -13.7,17.2 -13.7,17.2 l -23.2,28.8 -27.1,33 -46.5,57.8 c 0,0 -21.3,26.6 -16.6,59.4 4.7,32.8 29.1,48.7 48,55.1 18.9,6.4 48,8.5 71.6,-14.7 23.5,-23 22.7,-57.1 22.7,-57.1 z"
|
||||
style="clip-rule:evenodd;fill:#000000;fill-opacity:0.70196078;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g></clipPath></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1278"
|
||||
inkscape:window-height="1368"
|
||||
id="namedview10"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.472"
|
||||
inkscape:cx="-382.01244"
|
||||
inkscape:cy="250"
|
||||
inkscape:window-x="1273"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg2" /><style
|
||||
type="text/css"
|
||||
id="style4"> .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#222222;} </style><path
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M -62.5 -62.5 L -62.5 562.5 L 562.5 562.5 L 562.5 -62.5 L -62.5 -62.5 z M 343.75 156.25 A 187.5 187.5 0 0 1 531.25 343.75 A 187.5 187.5 0 0 1 343.75 531.25 A 187.5 187.5 0 0 1 156.25 343.75 A 187.5 187.5 0 0 1 343.75 156.25 z "
|
||||
id="rect4141"
|
||||
clip-path="url(#clipPath4148)" /><circle
|
||||
style="opacity:1;fill:#ff1744;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4137"
|
||||
cx="343.75"
|
||||
cy="343.75"
|
||||
r="156.25" /></svg>
|
After Width: | Height: | Size: 3.7 KiB |
69
resources/osx/ClickedMenuIconUnread.svg
Normal file
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 500 500"
|
||||
style="enable-background:new 0 0 500 500;"
|
||||
xml:space="preserve"
|
||||
id="svg2"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="ClickedMenuIconUnread.svg"><metadata
|
||||
id="metadata14"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs12"><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4148"><g
|
||||
id="g4150"
|
||||
style="fill:#000000;fill-opacity:0.70196078;stroke:none"
|
||||
transform="matrix(0.99998928,0,0,0.99998928,-0.01497322,0.02529433)"><g
|
||||
id="g4152"
|
||||
style="fill:#000000;fill-opacity:0.70196078;stroke:none"><path
|
||||
id="path4154"
|
||||
class="st0"
|
||||
d="m 396.9,47.7 2.6,53.1 c 43,47.5 60,114.8 38.6,178.1 C 406.1,373.3 300.7,423 202.7,389.8 104.7,356.6 51.1,253.1 83,158.7 104.5,95.2 159.2,52 222.5,40.5 L 256.7,0.1 C 150,-2.8 49.3,63.4 13.3,169.9 -31,300.6 39.1,442.5 169.9,486.7 300.7,530.9 442.5,460.9 486.8,330.1 522.7,223.9 483.1,110.3 396.9,47.7 Z"
|
||||
style="clip-rule:evenodd;fill:#000000;fill-opacity:0.70196078;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g><path
|
||||
id="path4156"
|
||||
class="st0"
|
||||
d="m 335.6,204.3 -1.8,-74.2 -1.5,-42.7 -1,-37 c 0,0 0.2,-17.8 -0.4,-22 -0.1,-0.9 -0.4,-1.6 -0.7,-2.2 0,-0.1 -0.1,-0.2 -0.1,-0.3 0,-0.1 -0.1,-0.2 -0.1,-0.2 -0.7,-1.2 -1.8,-2.1 -3.1,-2.6 -1.4,-0.5 -2.9,-0.4 -4.2,0.2 0,0 -0.1,0 -0.1,0 -0.2,0.1 -0.3,0.1 -0.4,0.2 -0.6,0.3 -1.2,0.7 -1.8,1.3 -3,3 -13.7,17.2 -13.7,17.2 l -23.2,28.8 -27.1,33 -46.5,57.8 c 0,0 -21.3,26.6 -16.6,59.4 4.7,32.8 29.1,48.7 48,55.1 18.9,6.4 48,8.5 71.6,-14.7 23.5,-23 22.7,-57.1 22.7,-57.1 z"
|
||||
style="clip-rule:evenodd;fill:#000000;fill-opacity:0.70196078;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g></clipPath></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1278"
|
||||
inkscape:window-height="1368"
|
||||
id="namedview10"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.472"
|
||||
inkscape:cx="-382.01244"
|
||||
inkscape:cy="250"
|
||||
inkscape:window-x="1273"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg2" /><style
|
||||
type="text/css"
|
||||
id="style4"> .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#222222;} </style><path
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M -62.5 -62.5 L -62.5 562.5 L 562.5 562.5 L 562.5 -62.5 L -62.5 -62.5 z M 343.75 156.25 A 187.5 187.5 0 0 1 531.25 343.75 A 187.5 187.5 0 0 1 343.75 531.25 A 187.5 187.5 0 0 1 156.25 343.75 A 187.5 187.5 0 0 1 343.75 156.25 z "
|
||||
id="rect4141"
|
||||
clip-path="url(#clipPath4148)" /><circle
|
||||
style="opacity:1;fill:#00e5ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4137"
|
||||
cx="343.75"
|
||||
cy="343.75"
|
||||
r="156.25" /></svg>
|
After Width: | Height: | Size: 3.7 KiB |
58
resources/osx/MenuIcon.svg
Normal file
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 500 500"
|
||||
style="enable-background:new 0 0 500 500;"
|
||||
xml:space="preserve"
|
||||
id="svg2"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="MenuIcon.svg"><metadata
|
||||
id="metadata14"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs12" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1342"
|
||||
inkscape:window-height="773"
|
||||
id="namedview10"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.472"
|
||||
inkscape:cx="-337.92373"
|
||||
inkscape:cy="250"
|
||||
inkscape:window-x="485"
|
||||
inkscape:window-y="333"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg2" /><style
|
||||
type="text/css"
|
||||
id="style4"> .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#222222;} </style><g
|
||||
id="XMLID_1_"
|
||||
style="fill:#000000;fill-opacity:0.70196078;stroke:none"
|
||||
transform="matrix(0.99998928,0,0,0.99998928,-0.01497322,0.02529433)"><g
|
||||
id="XMLID_3_"
|
||||
style="fill:#000000;fill-opacity:0.70196078;stroke:none"><path
|
||||
id="XMLID_4_"
|
||||
class="st0"
|
||||
d="m 396.9,47.7 2.6,53.1 c 43,47.5 60,114.8 38.6,178.1 C 406.1,373.3 300.7,423 202.7,389.8 104.7,356.6 51.1,253.1 83,158.7 104.5,95.2 159.2,52 222.5,40.5 L 256.7,0.1 C 150,-2.8 49.3,63.4 13.3,169.9 -31,300.6 39.1,442.5 169.9,486.7 300.7,530.9 442.5,460.9 486.8,330.1 522.7,223.9 483.1,110.3 396.9,47.7 Z"
|
||||
style="clip-rule:evenodd;fill:#000000;fill-opacity:0.70196078;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g><path
|
||||
id="XMLID_2_"
|
||||
class="st0"
|
||||
d="m 335.6,204.3 -1.8,-74.2 -1.5,-42.7 -1,-37 c 0,0 0.2,-17.8 -0.4,-22 -0.1,-0.9 -0.4,-1.6 -0.7,-2.2 0,-0.1 -0.1,-0.2 -0.1,-0.3 0,-0.1 -0.1,-0.2 -0.1,-0.2 -0.7,-1.2 -1.8,-2.1 -3.1,-2.6 -1.4,-0.5 -2.9,-0.4 -4.2,0.2 0,0 -0.1,0 -0.1,0 -0.2,0.1 -0.3,0.1 -0.4,0.2 -0.6,0.3 -1.2,0.7 -1.8,1.3 -3,3 -13.7,17.2 -13.7,17.2 l -23.2,28.8 -27.1,33 -46.5,57.8 c 0,0 -21.3,26.6 -16.6,59.4 4.7,32.8 29.1,48.7 48,55.1 18.9,6.4 48,8.5 71.6,-14.7 23.5,-23 22.7,-57.1 22.7,-57.1 z"
|
||||
style="clip-rule:evenodd;fill:#000000;fill-opacity:0.70196078;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g></svg>
|
After Width: | Height: | Size: 2.9 KiB |
69
resources/osx/MenuIconMention.svg
Normal file
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 500 500"
|
||||
style="enable-background:new 0 0 500 500;"
|
||||
xml:space="preserve"
|
||||
id="svg2"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="MenuIconMention.svg"><metadata
|
||||
id="metadata14"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs12"><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4148"><g
|
||||
id="g4150"
|
||||
style="fill:#000000;fill-opacity:0.70196078;stroke:none"
|
||||
transform="matrix(0.99998928,0,0,0.99998928,-0.01497322,0.02529433)"><g
|
||||
id="g4152"
|
||||
style="fill:#000000;fill-opacity:0.70196078;stroke:none"><path
|
||||
id="path4154"
|
||||
class="st0"
|
||||
d="m 396.9,47.7 2.6,53.1 c 43,47.5 60,114.8 38.6,178.1 C 406.1,373.3 300.7,423 202.7,389.8 104.7,356.6 51.1,253.1 83,158.7 104.5,95.2 159.2,52 222.5,40.5 L 256.7,0.1 C 150,-2.8 49.3,63.4 13.3,169.9 -31,300.6 39.1,442.5 169.9,486.7 300.7,530.9 442.5,460.9 486.8,330.1 522.7,223.9 483.1,110.3 396.9,47.7 Z"
|
||||
style="clip-rule:evenodd;fill:#000000;fill-opacity:0.70196078;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g><path
|
||||
id="path4156"
|
||||
class="st0"
|
||||
d="m 335.6,204.3 -1.8,-74.2 -1.5,-42.7 -1,-37 c 0,0 0.2,-17.8 -0.4,-22 -0.1,-0.9 -0.4,-1.6 -0.7,-2.2 0,-0.1 -0.1,-0.2 -0.1,-0.3 0,-0.1 -0.1,-0.2 -0.1,-0.2 -0.7,-1.2 -1.8,-2.1 -3.1,-2.6 -1.4,-0.5 -2.9,-0.4 -4.2,0.2 0,0 -0.1,0 -0.1,0 -0.2,0.1 -0.3,0.1 -0.4,0.2 -0.6,0.3 -1.2,0.7 -1.8,1.3 -3,3 -13.7,17.2 -13.7,17.2 l -23.2,28.8 -27.1,33 -46.5,57.8 c 0,0 -21.3,26.6 -16.6,59.4 4.7,32.8 29.1,48.7 48,55.1 18.9,6.4 48,8.5 71.6,-14.7 23.5,-23 22.7,-57.1 22.7,-57.1 z"
|
||||
style="clip-rule:evenodd;fill:#000000;fill-opacity:0.70196078;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g></clipPath></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1278"
|
||||
inkscape:window-height="1368"
|
||||
id="namedview10"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.472"
|
||||
inkscape:cx="-2.7751473"
|
||||
inkscape:cy="250"
|
||||
inkscape:window-x="1273"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg2" /><style
|
||||
type="text/css"
|
||||
id="style4"> .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#222222;} </style><path
|
||||
style="opacity:1;fill:#000000;fill-opacity:0.7019608;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M -62.5 -62.5 L -62.5 562.5 L 562.5 562.5 L 562.5 -62.5 L -62.5 -62.5 z M 343.75 156.25 A 187.5 187.5 0 0 1 531.25 343.75 A 187.5 187.5 0 0 1 343.75 531.25 A 187.5 187.5 0 0 1 156.25 343.75 A 187.5 187.5 0 0 1 343.75 156.25 z "
|
||||
id="rect4141"
|
||||
clip-path="url(#clipPath4148)" /><circle
|
||||
style="opacity:1;fill:#ff1744;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4137"
|
||||
cx="343.75"
|
||||
cy="343.75"
|
||||
r="156.25" /></svg>
|
After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 20 KiB |
69
resources/osx/MenuIconUnread.svg
Normal file
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 500 500"
|
||||
style="enable-background:new 0 0 500 500;"
|
||||
xml:space="preserve"
|
||||
id="svg2"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="MenuIconUnread.svg"><metadata
|
||||
id="metadata14"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs12"><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4148"><g
|
||||
id="g4150"
|
||||
style="fill:#000000;fill-opacity:0.70196078;stroke:none"
|
||||
transform="matrix(0.99998928,0,0,0.99998928,-0.01497322,0.02529433)"><g
|
||||
id="g4152"
|
||||
style="fill:#000000;fill-opacity:0.70196078;stroke:none"><path
|
||||
id="path4154"
|
||||
class="st0"
|
||||
d="m 396.9,47.7 2.6,53.1 c 43,47.5 60,114.8 38.6,178.1 C 406.1,373.3 300.7,423 202.7,389.8 104.7,356.6 51.1,253.1 83,158.7 104.5,95.2 159.2,52 222.5,40.5 L 256.7,0.1 C 150,-2.8 49.3,63.4 13.3,169.9 -31,300.6 39.1,442.5 169.9,486.7 300.7,530.9 442.5,460.9 486.8,330.1 522.7,223.9 483.1,110.3 396.9,47.7 Z"
|
||||
style="clip-rule:evenodd;fill:#000000;fill-opacity:0.70196078;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g><path
|
||||
id="path4156"
|
||||
class="st0"
|
||||
d="m 335.6,204.3 -1.8,-74.2 -1.5,-42.7 -1,-37 c 0,0 0.2,-17.8 -0.4,-22 -0.1,-0.9 -0.4,-1.6 -0.7,-2.2 0,-0.1 -0.1,-0.2 -0.1,-0.3 0,-0.1 -0.1,-0.2 -0.1,-0.2 -0.7,-1.2 -1.8,-2.1 -3.1,-2.6 -1.4,-0.5 -2.9,-0.4 -4.2,0.2 0,0 -0.1,0 -0.1,0 -0.2,0.1 -0.3,0.1 -0.4,0.2 -0.6,0.3 -1.2,0.7 -1.8,1.3 -3,3 -13.7,17.2 -13.7,17.2 l -23.2,28.8 -27.1,33 -46.5,57.8 c 0,0 -21.3,26.6 -16.6,59.4 4.7,32.8 29.1,48.7 48,55.1 18.9,6.4 48,8.5 71.6,-14.7 23.5,-23 22.7,-57.1 22.7,-57.1 z"
|
||||
style="clip-rule:evenodd;fill:#000000;fill-opacity:0.70196078;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" /></g></clipPath></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1278"
|
||||
inkscape:window-height="1368"
|
||||
id="namedview10"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.472"
|
||||
inkscape:cx="-2.7751473"
|
||||
inkscape:cy="250"
|
||||
inkscape:window-x="1273"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg2" /><style
|
||||
type="text/css"
|
||||
id="style4"> .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#222222;} </style><path
|
||||
style="opacity:1;fill:#000000;fill-opacity:0.7019608;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M -62.5 -62.5 L -62.5 562.5 L 562.5 562.5 L 562.5 -62.5 L -62.5 -62.5 z M 343.75 156.25 A 187.5 187.5 0 0 1 531.25 343.75 A 187.5 187.5 0 0 1 343.75 531.25 A 187.5 187.5 0 0 1 156.25 343.75 A 187.5 187.5 0 0 1 343.75 156.25 z "
|
||||
id="rect4141"
|
||||
clip-path="url(#clipPath4148)" /><circle
|
||||
style="opacity:1;fill:#00e5ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4137"
|
||||
cx="343.75"
|
||||
cy="343.75"
|
||||
r="156.25" /></svg>
|
After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 18 KiB |
309
resources/windows/tray.svg
Normal file
@@ -0,0 +1,309 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="197.83778mm"
|
||||
height="197.83778mm"
|
||||
viewBox="0 0 701.00002 701.00002"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
inkscape:export-filename="D:\Users\yuya-oc\Desktop\path4147.png"
|
||||
inkscape:export-xdpi="4.1084166"
|
||||
inkscape:export-ydpi="4.1084166"
|
||||
sodipodi:docname="tray.svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="-149.50001"
|
||||
inkscape:cy="294.7857"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1856"
|
||||
inkscape:window-height="1057"
|
||||
inkscape:window-x="56"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="レイヤー 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-13.071442,-124.71934)">
|
||||
<circle
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4147"
|
||||
cx="363.07144"
|
||||
cy="475.71936"
|
||||
r="340"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<image
|
||||
y="124.71934"
|
||||
x="13.071442"
|
||||
id="image4144"
|
||||
xlink:href="data:image/png;base64,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
|
||||
"
|
||||
style="image-rendering:optimizeQuality"
|
||||
preserveAspectRatio="none"
|
||||
height="701"
|
||||
width="701" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 20 KiB |
315
resources/windows/tray_mention.svg
Normal file
@@ -0,0 +1,315 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="197.83778mm"
|
||||
height="197.83778mm"
|
||||
viewBox="0 0 701.00002 701.00002"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
inkscape:export-filename="D:\Users\yuya-oc\Desktop\path4147.png"
|
||||
inkscape:export-xdpi="4.1084166"
|
||||
inkscape:export-ydpi="4.1084166"
|
||||
sodipodi:docname="tray_mention.svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="-148.07144"
|
||||
inkscape:cy="294.7857"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1856"
|
||||
inkscape:window-height="1057"
|
||||
inkscape:window-x="56"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="レイヤー 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-13.071442,-124.71934)">
|
||||
<circle
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4147"
|
||||
cx="363.07144"
|
||||
cy="475.71936"
|
||||
r="340"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<image
|
||||
y="124.71934"
|
||||
x="13.071442"
|
||||
id="image4144"
|
||||
xlink:href="data:image/png;base64,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
|
||||
"
|
||||
style="image-rendering:optimizeQuality"
|
||||
preserveAspectRatio="none"
|
||||
height="701"
|
||||
width="701" />
|
||||
<circle
|
||||
style="opacity:1;fill:#ff1744;fill-opacity:1;stroke:#000000;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4149"
|
||||
cx="538.07147"
|
||||
cy="650.71936"
|
||||
r="165" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 20 KiB |
315
resources/windows/tray_unread.svg
Normal file
@@ -0,0 +1,315 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="197.83778mm"
|
||||
height="197.83778mm"
|
||||
viewBox="0 0 701.00002 701.00002"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
inkscape:export-filename="D:\Users\yuya-oc\Desktop\path4147.png"
|
||||
inkscape:export-xdpi="4.1084166"
|
||||
inkscape:export-ydpi="4.1084166"
|
||||
sodipodi:docname="tray_unread.svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="-148.07144"
|
||||
inkscape:cy="294.7857"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1856"
|
||||
inkscape:window-height="1057"
|
||||
inkscape:window-x="56"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="レイヤー 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-13.071442,-124.71934)">
|
||||
<circle
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4147"
|
||||
cx="363.07144"
|
||||
cy="475.71936"
|
||||
r="340"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<image
|
||||
y="124.71934"
|
||||
x="13.071442"
|
||||
id="image4144"
|
||||
xlink:href="data:image/png;base64,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
|
||||
"
|
||||
style="image-rendering:optimizeQuality"
|
||||
preserveAspectRatio="none"
|
||||
height="701"
|
||||
width="701" />
|
||||
<circle
|
||||
style="opacity:1;fill:#00e5ff;fill-opacity:1;stroke:#000000;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4149"
|
||||
cx="538.07147"
|
||||
cy="650.71936"
|
||||
r="165" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 20 KiB |
@@ -4,35 +4,40 @@ const createWindowsInstaller = require('electron-winstaller').createWindowsInsta
|
||||
const path = require('path')
|
||||
const rimraf = require('rimraf')
|
||||
|
||||
deleteOutputFolder()
|
||||
.then(getInstallerConfig)
|
||||
.then(createWindowsInstaller)
|
||||
.catch((error) => {
|
||||
console.error(error.message || error)
|
||||
process.exit(1)
|
||||
})
|
||||
const archList = ['ia32', 'x64'];
|
||||
archList.forEach((arch) => {
|
||||
deleteOutputFolder(arch)
|
||||
.then(getInstallerConfig)
|
||||
.then(createWindowsInstaller)
|
||||
.catch((error) => {
|
||||
console.error(error.message || error)
|
||||
process.exit(1)
|
||||
})
|
||||
})
|
||||
|
||||
function getInstallerConfig() {
|
||||
function getInstallerConfig(arch) {
|
||||
const rootPath = path.join(__dirname, '..')
|
||||
const outPath = path.join(rootPath, 'release')
|
||||
|
||||
return Promise.resolve({
|
||||
appDirectory: path.join(outPath, 'Mattermost-win32-x64'),
|
||||
appDirectory: path.join(outPath, `Mattermost-win32-${arch}`),
|
||||
authors: 'Mattermost, Inc.',
|
||||
owners: 'Mattermost, Inc.',
|
||||
iconUrl: 'https://raw.githubusercontent.com/mattermost/desktop/master/resources/icon.ico',
|
||||
//loadingGif: path.join(rootPath, 'assets', 'img', 'loading.gif'),
|
||||
noMsi: true,
|
||||
outputDirectory: path.join(outPath, 'windows-installer'),
|
||||
setupExe: 'Mattermost.exe',
|
||||
outputDirectory: path.join(outPath, `windows-installer-${arch}`),
|
||||
setupExe: `mattermost-setup-${arch}.exe`,
|
||||
setupIcon: path.join(rootPath, 'resources', 'icon.ico'),
|
||||
skipUpdateIcon: true,
|
||||
exe: 'Mattermost.exe'
|
||||
})
|
||||
}
|
||||
|
||||
function deleteOutputFolder() {
|
||||
function deleteOutputFolder(arch) {
|
||||
return new Promise((resolve, reject) => {
|
||||
rimraf(path.join(__dirname, '..', 'out', 'windows-installer'), (error) => {
|
||||
error ? reject(error) : resolve()
|
||||
rimraf(path.join(__dirname, '..', 'out', `windows-installer-${arch}`), (error) => {
|
||||
error ? reject(error) : resolve(arch)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
@@ -15,9 +15,7 @@ const ListGroupItem = ReactBootstrap.ListGroupItem;
|
||||
|
||||
const LoginModal = require('./components/loginModal.jsx');
|
||||
|
||||
const electron = require('electron');
|
||||
const remote = electron.remote;
|
||||
const ipcRenderer = electron.ipcRenderer;
|
||||
const {remote, ipcRenderer, webFrame, shell} = require('electron');
|
||||
|
||||
const osLocale = require('os-locale');
|
||||
const fs = require('fs');
|
||||
@@ -54,6 +52,16 @@ var MainPage = React.createClass({
|
||||
loginQueue: loginQueue
|
||||
});
|
||||
});
|
||||
// can't switch tabs sequencially for some reason...
|
||||
ipcRenderer.on('switch-tab', (event, key) => {
|
||||
this.handleSelect(key);
|
||||
});
|
||||
ipcRenderer.on('select-next-tab', (event) => {
|
||||
this.handleSelect(this.state.key + 1);
|
||||
});
|
||||
ipcRenderer.on('select-previous-tab', (event) => {
|
||||
this.handleSelect(this.state.key - 1);
|
||||
});
|
||||
|
||||
var focusListener = function() {
|
||||
var webview = document.getElementById('mattermostView' + thisObj.state.key);
|
||||
@@ -69,8 +77,9 @@ var MainPage = React.createClass({
|
||||
});
|
||||
},
|
||||
handleSelect: function(key) {
|
||||
const newKey = (this.props.teams.length + key) % this.props.teams.length;
|
||||
this.setState({
|
||||
key: key
|
||||
key: newKey
|
||||
});
|
||||
this.handleOnTeamFocused(key);
|
||||
},
|
||||
@@ -277,7 +286,7 @@ var TabBar = React.createClass({
|
||||
var MattermostView = React.createClass({
|
||||
getInitialState: function() {
|
||||
return {
|
||||
did_fail_load: null
|
||||
errorInfo: null
|
||||
};
|
||||
},
|
||||
handleUnreadCountChange: function(unreadCount, mentionCount, isUnread, isMentioned) {
|
||||
@@ -308,8 +317,14 @@ var MattermostView = React.createClass({
|
||||
icon: '../resources/appicon.png'
|
||||
});
|
||||
thisObj.setState({
|
||||
did_fail_load: e
|
||||
errorInfo: e
|
||||
});
|
||||
setTimeout(() => {
|
||||
thisObj.setState({
|
||||
errorInfo: null
|
||||
});
|
||||
webview.reload();
|
||||
}, 30000);
|
||||
});
|
||||
|
||||
// Open link in browserWindow. for exmaple, attached files.
|
||||
@@ -325,13 +340,16 @@ var MattermostView = React.createClass({
|
||||
window.open(e.url, 'Mattermost', 'nodeIntegration=no');
|
||||
} else {
|
||||
// if the link is external, use default browser.
|
||||
require('shell').openExternal(e.url);
|
||||
shell.openExternal(e.url);
|
||||
}
|
||||
});
|
||||
|
||||
webview.addEventListener("dom-ready", function() {
|
||||
// webview.openDevTools();
|
||||
|
||||
// In order to apply the zoom level to webview.
|
||||
webFrame.setZoomLevel(parseInt(localStorage.getItem('zoomLevel')));
|
||||
|
||||
// Use 'Meiryo UI' and 'MS Gothic' to prevent CJK fonts on Windows(JP).
|
||||
if (process.platform === 'win32') {
|
||||
var applyCssFile = function(cssFile) {
|
||||
@@ -391,14 +409,16 @@ var MattermostView = React.createClass({
|
||||
});
|
||||
},
|
||||
render: function() {
|
||||
const errorView = this.state.errorInfo ? (<ErrorView id={ this.props.id + '-fail' } style={ this.props.style } className="errorView" errorInfo={ this.state.errorInfo }></ErrorView>) : null;
|
||||
// 'disablewebsecurity' is necessary to display external images.
|
||||
// However, it allows also CSS/JavaScript.
|
||||
// So webview should use 'allowDisplayingInsecureContent' as same as BrowserWindow.
|
||||
if (this.state.did_fail_load === null) {
|
||||
return (<webview id={ this.props.id } className="mattermostView" style={ this.props.style } preload="webview/mattermost.js" src={ this.props.src } ref="webview"></webview>);
|
||||
} else {
|
||||
return (<ErrorView id={ this.props.id + '-fail' } className="errorView" errorInfo={ this.state.did_fail_load } style={ this.props.style }></ErrorView>)
|
||||
}
|
||||
|
||||
// Need to keep webview mounted when failed to load.
|
||||
return (<div>
|
||||
{ errorView }
|
||||
<webview id={ this.props.id } className="mattermostView" style={ this.props.style } preload="webview/mattermost.js" src={ this.props.src } ref="webview"></webview>
|
||||
</div>);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -453,7 +473,7 @@ var showUnreadBadgeWindows = function(unreadCount, mentionCount) {
|
||||
const sendBadge = function(dataURL, description) {
|
||||
// window.setOverlayIcon() does't work with NativeImage across remote boundaries.
|
||||
// https://github.com/atom/electron/issues/4011
|
||||
electron.ipcRenderer.send('update-unread', {
|
||||
ipcRenderer.send('update-unread', {
|
||||
overlayDataURL: dataURL,
|
||||
description: description,
|
||||
unreadCount: unreadCount,
|
||||
@@ -481,7 +501,7 @@ var showUnreadBadgeOSX = function(unreadCount, mentionCount) {
|
||||
remote.app.dock.setBadge('');
|
||||
}
|
||||
|
||||
electron.ipcRenderer.send('update-unread', {
|
||||
ipcRenderer.send('update-unread', {
|
||||
unreadCount: unreadCount,
|
||||
mentionCount: mentionCount
|
||||
});
|
||||
@@ -496,7 +516,7 @@ var showUnreadBadgeLinux = function(unreadCount, mentionCount) {
|
||||
remote.app.dock.setBadge('');
|
||||
}*/
|
||||
|
||||
electron.ipcRenderer.send('update-unread', {
|
||||
ipcRenderer.send('update-unread', {
|
||||
unreadCount: unreadCount,
|
||||
mentionCount: mentionCount
|
||||
});
|
||||
@@ -518,6 +538,22 @@ var showUnreadBadge = function(unreadCount, mentionCount) {
|
||||
}
|
||||
}
|
||||
|
||||
if (!localStorage.getItem('zoomLevel')) {
|
||||
localStorage.setItem('zoomLevel', 0);
|
||||
}
|
||||
webFrame.setZoomLevel(parseInt(localStorage.getItem('zoomLevel')));
|
||||
|
||||
ipcRenderer.on('zoom-in', (event, increment) => {
|
||||
const zoomLevel = webFrame.getZoomLevel() + increment
|
||||
webFrame.setZoomLevel(zoomLevel);
|
||||
localStorage.setItem('zoomLevel', zoomLevel);
|
||||
});
|
||||
|
||||
ipcRenderer.on('zoom-reset', (event) => {
|
||||
webFrame.setZoomLevel(0);
|
||||
localStorage.setItem('zoomLevel', 0);
|
||||
});
|
||||
|
||||
ReactDOM.render(
|
||||
<MainPage teams={ config.teams } onUnreadCountChange={ showUnreadBadge } />,
|
||||
document.getElementById('content')
|
||||
|
@@ -2,6 +2,10 @@ const OriginalNotification = Notification;
|
||||
|
||||
function override(eventHandlers) {
|
||||
Notification = function(title, options) {
|
||||
// Notification Center shows app's icon, so there were two icons on the notification.
|
||||
if (process.platform === 'darwin') {
|
||||
delete options.icon;
|
||||
}
|
||||
this.notification = new OriginalNotification(title, options);
|
||||
if (eventHandlers.notification) {
|
||||
eventHandlers.notification(title, options);
|
||||
|
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const remote = require('electron').remote;
|
||||
const {remote, ipcRenderer} = require('electron');
|
||||
const settings = require('../common/settings');
|
||||
|
||||
const React = require('react');
|
||||
@@ -34,9 +34,7 @@ var SettingsPage = React.createClass({
|
||||
config = settings.loadDefault();
|
||||
}
|
||||
|
||||
this.setState({
|
||||
showAddTeamForm: false
|
||||
});
|
||||
config.showAddTeamForm = false;
|
||||
|
||||
return config;
|
||||
},
|
||||
@@ -54,10 +52,8 @@ var SettingsPage = React.createClass({
|
||||
this.setState({
|
||||
teams: teams
|
||||
});
|
||||
|
||||
this.handleSave(false);
|
||||
},
|
||||
handleSave: function(toIndex) {
|
||||
handleSave: function() {
|
||||
var config = {
|
||||
teams: this.state.teams,
|
||||
hideMenuBar: this.state.hideMenuBar,
|
||||
@@ -85,9 +81,10 @@ var SettingsPage = React.createClass({
|
||||
});
|
||||
}
|
||||
|
||||
if (typeof toIndex == 'undefined' || toIndex) {
|
||||
backToIndex();
|
||||
}
|
||||
ipcRenderer.send('update-menu', config);
|
||||
ipcRenderer.send('update-config');
|
||||
|
||||
backToIndex();
|
||||
},
|
||||
handleCancel: function() {
|
||||
backToIndex();
|
||||
@@ -117,16 +114,10 @@ var SettingsPage = React.createClass({
|
||||
autostart: this.refs.autostart.getChecked()
|
||||
});
|
||||
},
|
||||
handleShowTeamForm: function() {
|
||||
if (!this.state.showAddTeamForm) {
|
||||
this.setState({
|
||||
showAddTeamForm: true
|
||||
});
|
||||
} else {
|
||||
this.setState({
|
||||
showAddTeamForm: false
|
||||
});
|
||||
}
|
||||
toggleShowTeamForm: function() {
|
||||
this.setState({
|
||||
showAddTeamForm: !this.state.showAddTeamForm
|
||||
});
|
||||
},
|
||||
handleFlashWindowSetting: function(item) {
|
||||
this.setState({
|
||||
@@ -136,11 +127,6 @@ var SettingsPage = React.createClass({
|
||||
});
|
||||
},
|
||||
render: function() {
|
||||
|
||||
var buttonStyle = {
|
||||
marginTop: 20
|
||||
};
|
||||
|
||||
var teams_row = (
|
||||
<Row>
|
||||
<Col md={ 12 }>
|
||||
@@ -166,7 +152,7 @@ var SettingsPage = React.createClass({
|
||||
}
|
||||
options.push(<Input key="inputDisableWebSecurity" ref="disablewebsecurity" type="checkbox" label="Allow mixed content (Enabling allows both secure and insecure content, images and scripts to render and execute. Disabling allows only secure content.)"
|
||||
checked={ this.state.disablewebsecurity } onChange={ this.handleChangeDisableWebSecurity } />);
|
||||
//OSX has an option in the tray, to set the app to autostart, so we choose to not support this option for OSX
|
||||
//OSX has an option in the Dock, to set the app to autostart, so we choose to not support this option for OSX
|
||||
if (process.platform === 'win32' || process.platform === 'linux') {
|
||||
options.push(<Input key="inputAutoStart" ref="autostart" type="checkbox" label="Start app on login." checked={ this.state.autostart } onChange={ this.handleChangeAutoStart } />);
|
||||
}
|
||||
@@ -179,55 +165,58 @@ var SettingsPage = React.createClass({
|
||||
</Row>
|
||||
) : null;
|
||||
|
||||
var notificationSettings = [
|
||||
{
|
||||
label: 'Never',
|
||||
state: 0
|
||||
},
|
||||
/* ToDo: Idle isn't implemented yet
|
||||
{
|
||||
label: 'Only when idle (after 10 seconds)',
|
||||
state: 1
|
||||
},*/
|
||||
{
|
||||
label: 'Always',
|
||||
state: 2
|
||||
}
|
||||
];
|
||||
var notifications_row = null;
|
||||
if (process.platform === 'win32') {
|
||||
var notificationSettings = [
|
||||
{
|
||||
label: 'Never',
|
||||
state: 0
|
||||
},
|
||||
/* ToDo: Idle isn't implemented yet
|
||||
{
|
||||
label: 'Only when idle (after 10 seconds)',
|
||||
state: 1
|
||||
},*/
|
||||
{
|
||||
label: 'Always',
|
||||
state: 2
|
||||
}
|
||||
];
|
||||
|
||||
var that = this;
|
||||
var notificationElements = notificationSettings.map(function(item) {
|
||||
var boundClick = that.handleFlashWindowSetting.bind(that, item);
|
||||
return (
|
||||
<Input key={ "flashWindow" + item.state } name="handleFlashWindow" ref={ "flashWindow" + item.state } type="radio" label={ item.label } value={ item.state } onChange={ boundClick }
|
||||
checked={ that.state.notifications.flashWindow == item.state ? "checked" : "" } />
|
||||
);
|
||||
});
|
||||
var that = this;
|
||||
var notificationElements = notificationSettings.map(function(item) {
|
||||
var boundClick = that.handleFlashWindowSetting.bind(that, item);
|
||||
return (
|
||||
<Input key={ "flashWindow" + item.state } name="handleFlashWindow" ref={ "flashWindow" + item.state } type="radio" label={ item.label } value={ item.state } onChange={ boundClick }
|
||||
checked={ that.state.notifications.flashWindow == item.state ? "checked" : "" } />
|
||||
);
|
||||
});
|
||||
|
||||
var notifications = (
|
||||
<Row>
|
||||
<Col md={ 12 }>
|
||||
<h2>Notifications</h2> Configure, that the taskicon in the taskbar blinks when you were mentioned.
|
||||
{ notificationElements }
|
||||
</Col>
|
||||
</Row>
|
||||
)
|
||||
notifications_row = (
|
||||
<Row>
|
||||
<Col md={ 12 }>
|
||||
<h3>Notifications</h3> Configure, that the taskicon in the taskbar blinks when new message arrives.
|
||||
{ notificationElements }
|
||||
</Col>
|
||||
</Row>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Grid className="settingsPage">
|
||||
<Row>
|
||||
<Col xs={ 4 } sm={ 1 } md={ 2 } lg={ 2 }>
|
||||
<Col xs={ 4 } sm={ 2 } md={ 2 } lg={ 1 }>
|
||||
<h2>Teams</h2>
|
||||
</Col>
|
||||
<Col xs={ 4 } sm={ 2 } md={ 1 } lg={ 1 } mdPull={ 1 }>
|
||||
<Button className="pull-right" style={ buttonStyle } bsSize="small" onClick={ this.handleShowTeamForm }>
|
||||
<Col xs={ 8 } sm={ 10 } md={ 10 } lg={ 11 }>
|
||||
<Button bsSize="small" style={ { marginTop: 20 } } onClick={ this.toggleShowTeamForm }>
|
||||
<Glyphicon glyph="plus" />
|
||||
</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
{ teams_row }
|
||||
{ options_row }
|
||||
{ notifications }
|
||||
{ notifications_row }
|
||||
<div>
|
||||
<hr />
|
||||
</div>
|
||||
@@ -264,7 +253,7 @@ var TeamList = React.createClass({
|
||||
var teams = this.props.teams;
|
||||
|
||||
// check if team already exists and then change existing team or add new one
|
||||
if (!team.index && teams[team.index]) {
|
||||
if ((team.index !== undefined) && teams[team.index]) {
|
||||
teams[team.index].name = team.name;
|
||||
teams[team.index].url = team.url;
|
||||
} else {
|
||||
|
97
src/main.js
@@ -1,7 +1,15 @@
|
||||
'use strict';
|
||||
|
||||
const electron = require('electron');
|
||||
const app = electron.app; // Module to control application life.
|
||||
const {
|
||||
app,
|
||||
BrowserWindow,
|
||||
Menu,
|
||||
Tray,
|
||||
ipcMain,
|
||||
nativeImage,
|
||||
dialog,
|
||||
systemPreferences
|
||||
} = require('electron');
|
||||
|
||||
if (process.platform === 'win32') {
|
||||
var cmd = process.argv[1];
|
||||
@@ -19,11 +27,6 @@ if (process.platform === 'win32') {
|
||||
|
||||
require('electron-squirrel-startup');
|
||||
|
||||
const BrowserWindow = electron.BrowserWindow; // Module to create native browser window.
|
||||
const Menu = electron.Menu;
|
||||
const Tray = electron.Tray;
|
||||
const ipc = electron.ipcMain;
|
||||
const nativeImage = electron.nativeImage;
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
@@ -63,6 +66,23 @@ catch (e) {
|
||||
config = settings.loadDefault();
|
||||
console.log('Failed to read or upgrade config.json');
|
||||
}
|
||||
ipcMain.on('update-config', () => {
|
||||
config = settings.readFileSync(configFile);
|
||||
});
|
||||
|
||||
// Only for OS X
|
||||
const switchMenuIconImages = function(icons, isDarkMode) {
|
||||
if (isDarkMode) {
|
||||
icons.normal = icons.clicked.normal;
|
||||
icons.unread = icons.clicked.unread;
|
||||
icons.mention = icons.clicked.mention;
|
||||
}
|
||||
else {
|
||||
icons.normal = icons.light.normal;
|
||||
icons.unread = icons.light.unread;
|
||||
icons.mention = icons.light.mention;
|
||||
}
|
||||
};
|
||||
|
||||
// Keep a global reference of the window object, if you don't, the window will
|
||||
// be closed automatically when the JavaScript object is garbage collected.
|
||||
@@ -72,16 +92,25 @@ const trayImages = function() {
|
||||
switch (process.platform) {
|
||||
case 'win32':
|
||||
return {
|
||||
normal: nativeImage.createFromPath(path.resolve(__dirname, 'resources/tray.png')),
|
||||
unread: nativeImage.createFromPath(path.resolve(__dirname, 'resources/tray_unread.png')),
|
||||
mention: nativeImage.createFromPath(path.resolve(__dirname, 'resources/tray_mention.png'))
|
||||
normal: nativeImage.createFromPath(path.resolve(__dirname, 'resources/windows/tray.ico')),
|
||||
unread: nativeImage.createFromPath(path.resolve(__dirname, 'resources/windows/tray_unread.ico')),
|
||||
mention: nativeImage.createFromPath(path.resolve(__dirname, 'resources/windows/tray_mention.ico'))
|
||||
};
|
||||
case 'darwin':
|
||||
return {
|
||||
normal: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/MenuIconTemplate.png')),
|
||||
unread: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/MenuIconUnreadTemplate.png')),
|
||||
mention: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/MenuIconMentionTemplate.png'))
|
||||
const icons = {
|
||||
light: {
|
||||
normal: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/MenuIcon.png')),
|
||||
unread: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/MenuIconUnread.png')),
|
||||
mention: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/MenuIconMention.png'))
|
||||
},
|
||||
clicked: {
|
||||
normal: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/ClickedMenuIcon.png')),
|
||||
unread: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/ClickedMenuIconUnread.png')),
|
||||
mention: nativeImage.createFromPath(path.resolve(__dirname, 'resources/osx/ClickedMenuIconMention.png'))
|
||||
}
|
||||
};
|
||||
switchMenuIconImages(icons, systemPreferences.isDarkMode());
|
||||
return icons;
|
||||
case 'linux':
|
||||
var resourcesDir = 'resources/linux/' + (config.trayIconTheme || 'light') + '/';
|
||||
return {
|
||||
@@ -144,7 +173,7 @@ app.on('certificate-error', function(event, webContents, url, error, certificate
|
||||
detail = `Certificate is different from previous one.\n\n` + detail;
|
||||
}
|
||||
|
||||
electron.dialog.showMessageBox(mainWindow, {
|
||||
dialog.showMessageBox(mainWindow, {
|
||||
title: 'Certificate error',
|
||||
message: `Do you trust certificate from "${certificate.issuerName}"?`,
|
||||
detail: detail,
|
||||
@@ -167,7 +196,7 @@ app.on('certificate-error', function(event, webContents, url, error, certificate
|
||||
|
||||
const loginCallbackMap = new Map();
|
||||
|
||||
ipc.on('login-credentials', function(event, request, user, password) {
|
||||
ipcMain.on('login-credentials', function(event, request, user, password) {
|
||||
const callback = loginCallbackMap.get(JSON.stringify(request));
|
||||
if (callback != null) {
|
||||
callback(user, password);
|
||||
@@ -188,6 +217,14 @@ app.on('ready', function() {
|
||||
if (shouldShowTrayIcon()) {
|
||||
// set up tray icon
|
||||
trayIcon = new Tray(trayImages.normal);
|
||||
if (process.platform === 'darwin') {
|
||||
trayIcon.setPressedImage(trayImages.clicked.normal);
|
||||
systemPreferences.subscribeNotification('AppleInterfaceThemeChangedNotification', (event, userInfo) => {
|
||||
switchMenuIconImages(trayImages, systemPreferences.isDarkMode());
|
||||
trayIcon.setImage(trayImages.normal);
|
||||
});
|
||||
}
|
||||
|
||||
trayIcon.setToolTip(app.getName());
|
||||
trayIcon.on('click', function() {
|
||||
mainWindow.focus();
|
||||
@@ -198,7 +235,7 @@ app.on('ready', function() {
|
||||
trayIcon.on('balloon-click', function() {
|
||||
mainWindow.focus();
|
||||
});
|
||||
ipc.on('notified', function(event, arg) {
|
||||
ipcMain.on('notified', function(event, arg) {
|
||||
if (process.platform === 'win32') {
|
||||
if (config.notifications.flashWindow === 2) {
|
||||
mainWindow.flashFrame(true);
|
||||
@@ -217,22 +254,31 @@ app.on('ready', function() {
|
||||
|
||||
// Set overlay icon from dataURL
|
||||
// Set trayicon to show "dot"
|
||||
ipc.on('update-unread', function(event, arg) {
|
||||
ipcMain.on('update-unread', function(event, arg) {
|
||||
if (process.platform === 'win32') {
|
||||
const overlay = arg.overlayDataURL ? electron.nativeImage.createFromDataURL(arg.overlayDataURL) : null;
|
||||
const overlay = arg.overlayDataURL ? nativeImage.createFromDataURL(arg.overlayDataURL) : null;
|
||||
mainWindow.setOverlayIcon(overlay, arg.description);
|
||||
}
|
||||
|
||||
if (arg.mentionCount > 0) {
|
||||
trayIcon.setImage(trayImages.mention);
|
||||
if (process.platform === 'darwin') {
|
||||
trayIcon.setPressedImage(trayImages.clicked.mention);
|
||||
}
|
||||
trayIcon.setToolTip(arg.mentionCount + ' unread mentions');
|
||||
}
|
||||
else if (arg.unreadCount > 0) {
|
||||
trayIcon.setImage(trayImages.unread);
|
||||
if (process.platform === 'darwin') {
|
||||
trayIcon.setPressedImage(trayImages.clicked.unread);
|
||||
}
|
||||
trayIcon.setToolTip(arg.unreadCount + ' unread channels');
|
||||
}
|
||||
else {
|
||||
trayIcon.setImage(trayImages.normal);
|
||||
if (process.platform === 'darwin') {
|
||||
trayIcon.setPressedImage(trayImages.clicked.normal);
|
||||
}
|
||||
trayIcon.setToolTip(app.getName());
|
||||
}
|
||||
});
|
||||
@@ -248,8 +294,7 @@ app.on('ready', function() {
|
||||
// follow Electron's defaults
|
||||
window_options = {};
|
||||
}
|
||||
if (process.platform === 'win32' || process.platform === 'linux') {
|
||||
// On HiDPI Windows environment, the taskbar icon is pixelated. So this line is necessary.
|
||||
if (process.platform === 'linux') {
|
||||
window_options.icon = path.resolve(__dirname, 'resources/appicon.png');
|
||||
}
|
||||
window_options.title = app.getName();
|
||||
@@ -265,6 +310,13 @@ app.on('ready', function() {
|
||||
// and load the index.html of the app.
|
||||
mainWindow.loadURL('file://' + __dirname + '/browser/index.html');
|
||||
|
||||
// Set application menu
|
||||
ipcMain.on('update-menu', (event, config) => {
|
||||
var app_menu = appMenu.createMenu(mainWindow, config);
|
||||
Menu.setApplicationMenu(app_menu);
|
||||
});
|
||||
ipcMain.emit('update-menu', true, config);
|
||||
|
||||
// set up context menu for tray icon
|
||||
if (shouldShowTrayIcon()) {
|
||||
const tray_menu = require('./main/menus/tray').createDefault(mainWindow);
|
||||
@@ -314,9 +366,6 @@ app.on('ready', function() {
|
||||
saveWindowState(bounds_info_path, mainWindow);
|
||||
});
|
||||
|
||||
var app_menu = appMenu.createMenu(mainWindow);
|
||||
Menu.setApplicationMenu(app_menu);
|
||||
|
||||
// Emitted when the window is closed.
|
||||
mainWindow.on('closed', function() {
|
||||
// Dereference the window object, usually you would store windows
|
||||
|
@@ -3,7 +3,8 @@
|
||||
const {
|
||||
app,
|
||||
dialog,
|
||||
ipcMain
|
||||
ipcMain,
|
||||
shell
|
||||
} = require('electron');
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
@@ -23,7 +24,7 @@ function init(mainWindow) {
|
||||
function initDialogEvent(mainWindow) {
|
||||
ipcMain.on('confirm-protocol', (event, protocol, URL) => {
|
||||
if (allowedProtocols.indexOf(protocol) !== -1) {
|
||||
require('shell').openExternal(URL);
|
||||
shell.openExternal(URL);
|
||||
return;
|
||||
}
|
||||
dialog.showMessageBox(mainWindow, {
|
||||
@@ -47,7 +48,7 @@ function initDialogEvent(mainWindow) {
|
||||
});
|
||||
// fallthrough
|
||||
case 0:
|
||||
require('shell').openExternal(URL);
|
||||
shell.openExternal(URL);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@@ -3,7 +3,11 @@
|
||||
const electron = require('electron');
|
||||
const Menu = electron.Menu;
|
||||
|
||||
var createTemplate = function(mainWindow) {
|
||||
var createTemplate = function(mainWindow, config) {
|
||||
const separatorItem = {
|
||||
type: 'separator'
|
||||
};
|
||||
|
||||
var app_name = electron.app.getName();
|
||||
var first_menu_name = (process.platform === 'darwin') ? app_name : 'File';
|
||||
var template = [];
|
||||
@@ -134,9 +138,25 @@ var createTemplate = function(mainWindow) {
|
||||
focusedWindow.setFullScreen(!focusedWindow.isFullScreen());
|
||||
}
|
||||
}
|
||||
}, separatorItem, {
|
||||
label: 'Actual Size',
|
||||
accelerator: 'CmdOrCtrl+0',
|
||||
click: () => {
|
||||
mainWindow.webContents.send('zoom-reset');
|
||||
}
|
||||
}, {
|
||||
type: 'separator'
|
||||
label: 'Zoom In',
|
||||
accelerator: 'CmdOrCtrl+Plus',
|
||||
click: () => {
|
||||
mainWindow.webContents.send('zoom-in', 1);
|
||||
}
|
||||
}, {
|
||||
label: 'Zoom Out',
|
||||
accelerator: 'CmdOrCtrl+-',
|
||||
click: () => {
|
||||
mainWindow.webContents.send('zoom-in', -1);
|
||||
}
|
||||
}, separatorItem, {
|
||||
label: 'Toggle Developer Tools',
|
||||
accelerator: (function() {
|
||||
if (process.platform === 'darwin') {
|
||||
@@ -151,8 +171,56 @@ var createTemplate = function(mainWindow) {
|
||||
focusedWindow.toggleDevTools();
|
||||
}
|
||||
}
|
||||
}, ]
|
||||
}]
|
||||
});
|
||||
|
||||
const window_menu = {
|
||||
label: '&Window',
|
||||
submenu: [{
|
||||
label: 'Minimize',
|
||||
accelerator: 'CmdOrCtrl+M',
|
||||
click: function(item, focusedWindow) {
|
||||
if (focusedWindow) {
|
||||
focusedWindow.minimize();
|
||||
}
|
||||
}
|
||||
}, {
|
||||
label: 'Close',
|
||||
accelerator: 'CmdOrCtrl+W',
|
||||
click: function(item, focusedWindow) {
|
||||
if (focusedWindow) {
|
||||
focusedWindow.close();
|
||||
}
|
||||
}
|
||||
}, {
|
||||
type: 'separator'
|
||||
}, ...config.teams.slice(0, 9).map((team, i) => {
|
||||
return {
|
||||
label: team.name,
|
||||
accelerator: `CmdOrCtrl+${i + 1}`,
|
||||
click: (item, focusedWindow) => {
|
||||
mainWindow.show(); // for OS X
|
||||
mainWindow.webContents.send('switch-tab', i);
|
||||
}
|
||||
};
|
||||
}), separatorItem, {
|
||||
label: 'Select Next Team',
|
||||
accelerator: (process.platform === 'darwin') ? 'Alt+Cmd+Right' : 'CmdOrCtrl+Tab',
|
||||
click: () => {
|
||||
mainWindow.webContents.send('select-next-tab');
|
||||
},
|
||||
enabled: (config.teams.length > 1)
|
||||
}, {
|
||||
label: 'Select Previous Team',
|
||||
accelerator: (process.platform === 'darwin') ? 'Alt+Cmd+Left' : 'CmdOrCtrl+Shift+Tab',
|
||||
click: () => {
|
||||
mainWindow.webContents.send('select-previous-tab');
|
||||
},
|
||||
enabled: (config.teams.length > 1)
|
||||
}]
|
||||
}
|
||||
template.push(window_menu);
|
||||
|
||||
template.push({
|
||||
label: '&Help',
|
||||
submenu: [{
|
||||
@@ -163,8 +231,8 @@ var createTemplate = function(mainWindow) {
|
||||
return template;
|
||||
};
|
||||
|
||||
var createMenu = function(mainWindow) {
|
||||
return Menu.buildFromTemplate(createTemplate(mainWindow));
|
||||
var createMenu = function(mainWindow, config) {
|
||||
return Menu.buildFromTemplate(createTemplate(mainWindow, config));
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
|
@@ -15,6 +15,7 @@
|
||||
"dependencies": {
|
||||
"auto-launch": "^2.0.1",
|
||||
"bootstrap": "^3.3.6",
|
||||
"electron-squirrel-startup": "^1.0.0",
|
||||
"os-locale": "^1.4.0",
|
||||
"react": "^15.0.1",
|
||||
"react-bootstrap": "~0.29.0",
|
||||
|
BIN
src/resources/osx/ClickedMenuIcon.png
Normal file
After Width: | Height: | Size: 440 B |
BIN
src/resources/osx/ClickedMenuIcon@2x.png
Normal file
After Width: | Height: | Size: 913 B |
BIN
src/resources/osx/ClickedMenuIconMention.png
Normal file
After Width: | Height: | Size: 520 B |
BIN
src/resources/osx/ClickedMenuIconMention@2x.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/resources/osx/ClickedMenuIconUnread.png
Normal file
After Width: | Height: | Size: 480 B |
BIN
src/resources/osx/ClickedMenuIconUnread@2x.png
Normal file
After Width: | Height: | Size: 1023 B |
BIN
src/resources/osx/MenuIcon.png
Normal file
After Width: | Height: | Size: 487 B |
BIN
src/resources/osx/MenuIcon@2x.png
Normal file
After Width: | Height: | Size: 1002 B |
BIN
src/resources/osx/MenuIconMention.png
Normal file
After Width: | Height: | Size: 522 B |
BIN
src/resources/osx/MenuIconMention@2x.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.3 KiB |
BIN
src/resources/osx/MenuIconUnread.png
Normal file
After Width: | Height: | Size: 497 B |
BIN
src/resources/osx/MenuIconUnread@2x.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 735 B |
Before Width: | Height: | Size: 715 B |
BIN
src/resources/windows/tray.ico
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
src/resources/windows/tray_mention.ico
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
src/resources/windows/tray_unread.ico
Normal file
After Width: | Height: | Size: 5.2 KiB |
@@ -1,7 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
const chai = require('chai');
|
||||
const chaiAsPromised = require('chai-as-promised');
|
||||
|
||||
chai.should();
|
||||
chai.use(chaiAsPromised);
|
||||
|
||||
|
||||
const path = require('path');
|
||||
const webdriverio = require('webdriverio');
|
||||
const Application = require('spectron').Application;
|
||||
|
||||
const source_root_dir = path.join(__dirname, '../..');
|
||||
const electron_binary_path = (function() {
|
||||
@@ -13,29 +20,27 @@ const electron_binary_path = (function() {
|
||||
return path.join(source_root_dir, 'node_modules/electron-prebuilt/dist/electron' + exe_extension);
|
||||
}
|
||||
})();
|
||||
const config_file_path = path.join(source_root_dir, 'test_config.json');
|
||||
const config_file_path = path.join(source_root_dir, 'test/test_config.json');
|
||||
const mattermost_url = 'http://example.com/team';
|
||||
|
||||
var options = {
|
||||
host: 'localhost', // Use localhost as chrome driver server
|
||||
port: 9515, // "9515" is the port opened by chrome driver.
|
||||
desiredCapabilities: {
|
||||
browserName: 'chrome',
|
||||
chromeOptions: {
|
||||
binary: electron_binary_path, // Path to your Electron binary.
|
||||
args: ['app=' + path.join(source_root_dir, 'dist'), '--config-file=' + config_file_path] // Optional, perhaps 'app=' + /path/to/your/app/
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
sourceRootDir: source_root_dir,
|
||||
configFilePath: config_file_path,
|
||||
mattermostURL: mattermost_url,
|
||||
spawnChromeDriver: function() {
|
||||
return require('child_process').spawn('node_modules/chromedriver/lib/chromedriver/chromedriver', ['--url-base=wd/hub', '--port=9515']);
|
||||
getSpectronApp: function() {
|
||||
const app = new Application({
|
||||
path: electron_binary_path,
|
||||
args: [`${path.join(source_root_dir, 'dist')}`, '--config-file=' + config_file_path]
|
||||
});
|
||||
chaiAsPromised.transferPromiseness = app.transferPromiseness
|
||||
return app;
|
||||
},
|
||||
getWebDriverIoClient: function() {
|
||||
return webdriverio.remote(options);
|
||||
shouldTestForPlatforms: function(testCase, platforms) {
|
||||
if (platforms.indexOf(process.platform) !== -1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
testCase.skip();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
const should = require('should');
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
|
||||
@@ -9,49 +8,43 @@ const env = require('../modules/environment');
|
||||
describe('application', function() {
|
||||
this.timeout(10000);
|
||||
|
||||
var chromedriver;
|
||||
var client;
|
||||
before(function(done) {
|
||||
chromedriver = env.spawnChromeDriver();
|
||||
client = env.getWebDriverIoClient();
|
||||
|
||||
fs.unlink(env.configFilePath, function(err) {
|
||||
// waiting for chromedriver
|
||||
setTimeout(done, 1000);
|
||||
beforeEach(function(done) {
|
||||
this.app = env.getSpectronApp();
|
||||
fs.unlink(env.configFilePath, () => {
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
afterEach(function() {
|
||||
return client.end();
|
||||
if (this.app && this.app.isRunning()) {
|
||||
return this.app.stop()
|
||||
}
|
||||
});
|
||||
|
||||
after(function() {
|
||||
chromedriver.kill();
|
||||
it('should show a window', function() {
|
||||
return this.app.start().then(() => {
|
||||
return this.app.client.waitUntilWindowLoaded()
|
||||
.getWindowCount().should.eventually.equal(1)
|
||||
.browserWindow.isDevToolsOpened().should.eventually.be.false
|
||||
.browserWindow.isVisible().should.eventually.be.true
|
||||
});
|
||||
});
|
||||
|
||||
it('should show settings.html when there is no config file', function() {
|
||||
return client
|
||||
.init()
|
||||
.pause(1000)
|
||||
.getUrl().then(function(url) {
|
||||
var p = path.parse(url);
|
||||
p.base.should.equal('settings.html');
|
||||
})
|
||||
.end();
|
||||
return this.app.start().then(() => {
|
||||
return this.app.client.waitUntilWindowLoaded()
|
||||
.getUrl().should.eventually.match(/\/settings.html$/)
|
||||
});
|
||||
});
|
||||
|
||||
it('should show index.html when there is config file', function() {
|
||||
fs.writeFileSync(env.configFilePath, JSON.stringify({
|
||||
url: env.mattermostURL
|
||||
}));
|
||||
return client
|
||||
.init()
|
||||
.pause(1000)
|
||||
.getUrl().then(function(url) {
|
||||
var p = path.parse(url);
|
||||
p.base.should.equal('index.html');
|
||||
})
|
||||
.end();
|
||||
return this.app.start().then(() => {
|
||||
return this.app.client.waitUntilWindowLoaded()
|
||||
.getUrl().should.eventually.match(/\/index.html$/)
|
||||
});
|
||||
});
|
||||
|
||||
it('should upgrade v0 config file', function() {
|
||||
@@ -59,17 +52,13 @@ describe('application', function() {
|
||||
fs.writeFileSync(env.configFilePath, JSON.stringify({
|
||||
url: env.mattermostURL
|
||||
}));
|
||||
return client
|
||||
.init()
|
||||
.pause(1000)
|
||||
.getUrl().then(function(url) {
|
||||
var p = path.parse(url);
|
||||
p.base.should.equal('index.html');
|
||||
})
|
||||
.end().then(function() {
|
||||
var str = fs.readFileSync(env.configFilePath, 'utf8');
|
||||
var config = JSON.parse(str);
|
||||
config.version.should.equal(settings.version);
|
||||
});
|
||||
return this.app.start().then(() => {
|
||||
return this.app.client.waitUntilWindowLoaded()
|
||||
.getUrl().should.eventually.match(/\/index.html$/)
|
||||
}).then(function() {
|
||||
var str = fs.readFileSync(env.configFilePath, 'utf8');
|
||||
var config = JSON.parse(str);
|
||||
config.version.should.equal(settings.version);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -1,6 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
const should = require('should');
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
|
||||
@@ -20,87 +19,49 @@ describe('browser/index.html', function() {
|
||||
}]
|
||||
};
|
||||
|
||||
var chromedriver;
|
||||
var client;
|
||||
before(function(done) {
|
||||
chromedriver = env.spawnChromeDriver();
|
||||
client = env.getWebDriverIoClient();
|
||||
|
||||
fs.unlink(env.configFilePath, function(err) {
|
||||
// waiting for chromedriver
|
||||
setTimeout(done, 1000);
|
||||
});
|
||||
});
|
||||
|
||||
beforeEach(function() {
|
||||
fs.writeFileSync(env.configFilePath, JSON.stringify(config));
|
||||
this.app = env.getSpectronApp();
|
||||
return this.app.start();
|
||||
});
|
||||
|
||||
afterEach(function() {
|
||||
return client.end();
|
||||
});
|
||||
|
||||
after(function() {
|
||||
chromedriver.kill();
|
||||
if (this.app && this.app.isRunning()) {
|
||||
return this.app.stop()
|
||||
}
|
||||
});
|
||||
|
||||
it('should NOT show tabs when there is one team', function() {
|
||||
fs.writeFileSync(env.configFilePath, JSON.stringify({
|
||||
url: env.mattermostURL
|
||||
}));
|
||||
return client
|
||||
.init()
|
||||
.isExisting('#tabBar').then(function(isExisting) {
|
||||
isExisting.should.be.false();
|
||||
})
|
||||
.end();
|
||||
return this.app.restart().then(() => {
|
||||
return this.app.client.waitUntilWindowLoaded()
|
||||
.isExisting('#tabBar').should.eventually.be.false
|
||||
});
|
||||
});
|
||||
|
||||
it('should set src of webview from config file', function() {
|
||||
return client
|
||||
.init()
|
||||
.getAttribute('#mattermostView0', 'src').then(function(attribute) {
|
||||
attribute.should.equal(config.teams[0].url);
|
||||
})
|
||||
.getAttribute('#mattermostView1', 'src').then(function(attribute) {
|
||||
attribute.should.equal(config.teams[1].url);
|
||||
})
|
||||
.isExisting('#mattermostView2').then(function(isExisting) {
|
||||
isExisting.should.be.false();
|
||||
})
|
||||
.end();
|
||||
return this.app.client.waitUntilWindowLoaded()
|
||||
.getAttribute('#mattermostView0', 'src').should.eventually.equal(config.teams[0].url)
|
||||
.getAttribute('#mattermostView1', 'src').should.eventually.equal(config.teams[1].url)
|
||||
.isExisting('#mattermostView2').should.eventually.be.false
|
||||
});
|
||||
|
||||
it('should set name of tab from config file', function() {
|
||||
return client
|
||||
.init()
|
||||
.getText('#teamTabItem0').then(function(text) {
|
||||
text.should.equal(config.teams[0].name);
|
||||
})
|
||||
.getText('#teamTabItem1').then(function(text) {
|
||||
text.should.equal(config.teams[1].name);
|
||||
})
|
||||
.isExisting('#teamTabItem2').then(function(isExisting) {
|
||||
isExisting.should.be.false();
|
||||
})
|
||||
.end();
|
||||
return this.app.client.waitUntilWindowLoaded()
|
||||
.getText('#teamTabItem0').should.eventually.equal(config.teams[0].name)
|
||||
.getText('#teamTabItem1').should.eventually.equal(config.teams[1].name)
|
||||
});
|
||||
|
||||
it('should show only the selected team', function() {
|
||||
return client
|
||||
.init()
|
||||
.pause(1000)
|
||||
.waitForVisible('#mattermostView0', 1000)
|
||||
.isVisible('#mattermostView1').then(function(visility) {
|
||||
visility.should.be.false();
|
||||
})
|
||||
return this.app.client.waitUntilWindowLoaded()
|
||||
.isVisible('#mattermostView0').should.eventually.be.true
|
||||
.isVisible('#mattermostView1').should.eventually.be.false
|
||||
.click('#teamTabItem1')
|
||||
.pause(1000)
|
||||
.waitForVisible('#mattermostView1', 1000)
|
||||
.isVisible('#mattermostView0').then(function(visility) {
|
||||
visility.should.be.false();
|
||||
})
|
||||
.end();
|
||||
.isVisible('#mattermostView1').should.eventually.be.true
|
||||
.isVisible('#mattermostView0').should.eventually.be.false
|
||||
});
|
||||
|
||||
it('should show error when using incorrect URL', function() {
|
||||
@@ -112,9 +73,9 @@ describe('browser/index.html', function() {
|
||||
url: 'http://false'
|
||||
}]
|
||||
}));
|
||||
return client
|
||||
.init()
|
||||
.waitForVisible('#mattermostView0-fail', 20000)
|
||||
.end();
|
||||
return this.app.restart().then(() => {
|
||||
return this.app.client.waitUntilWindowLoaded()
|
||||
.waitForVisible('#mattermostView0-fail', 20000)
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -1,6 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
const should = require('should');
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
|
||||
@@ -8,8 +7,8 @@ const env = require('../../modules/environment');
|
||||
|
||||
function initClient(client) {
|
||||
return client
|
||||
.init()
|
||||
.url('file://' + path.join(env.sourceRootDir, 'dist/browser/settings.html'));
|
||||
.url('file://' + path.join(env.sourceRootDir, 'dist/browser/settings.html'))
|
||||
.waitUntilWindowLoaded();
|
||||
}
|
||||
|
||||
describe('browser/settings.html', function() {
|
||||
@@ -26,96 +25,68 @@ describe('browser/settings.html', function() {
|
||||
}]
|
||||
};
|
||||
|
||||
var chromedriver;
|
||||
var client;
|
||||
before(function(done) {
|
||||
chromedriver = env.spawnChromeDriver();
|
||||
client = env.getWebDriverIoClient();
|
||||
|
||||
fs.unlink(env.configFilePath, function(err) {
|
||||
// waiting for chromedriver
|
||||
setTimeout(done, 1000);
|
||||
});
|
||||
});
|
||||
|
||||
beforeEach(function() {
|
||||
fs.writeFileSync(env.configFilePath, JSON.stringify(config));
|
||||
this.app = env.getSpectronApp();
|
||||
return this.app.start();
|
||||
});
|
||||
|
||||
afterEach(function() {
|
||||
return client.end();
|
||||
});
|
||||
|
||||
after(function() {
|
||||
chromedriver.kill();
|
||||
if (this.app && this.app.isRunning()) {
|
||||
return this.app.stop()
|
||||
}
|
||||
});
|
||||
|
||||
it('should show index.thml when Cancel button is clicked', function() {
|
||||
return initClient(client)
|
||||
.waitForExist('#btnCancel')
|
||||
return initClient(this.app.client)
|
||||
.click('#btnCancel')
|
||||
.pause(1000)
|
||||
.getUrl().then(function(url) {
|
||||
var url_split = url.split('/');
|
||||
url_split[url_split.length - 1].should.equal('index.html');
|
||||
})
|
||||
.end();
|
||||
.getUrl().should.eventually.match(/\/index.html$/)
|
||||
});
|
||||
|
||||
it('should show index.thml when Save button is clicked', function() {
|
||||
return initClient(client)
|
||||
.waitForExist('#btnSave')
|
||||
return initClient(this.app.client)
|
||||
.click('#btnSave')
|
||||
.pause(1000)
|
||||
.getUrl().then(function(url) {
|
||||
var url_split = url.split('/');
|
||||
url_split[url_split.length - 1].should.equal('index.html');
|
||||
})
|
||||
.end();
|
||||
.getUrl().should.eventually.match(/\/index.html$/)
|
||||
});
|
||||
|
||||
describe('Options', function() {
|
||||
describe('Hide Menu Bar', function() {
|
||||
it('should appear on win32 or linux', function() {
|
||||
return initClient(client)
|
||||
.isExisting('#inputHideMenuBar').then(function(isExisting) {
|
||||
if (process.platform === 'win32' || process.platform === 'linux') {
|
||||
isExisting.should.be.true();
|
||||
}
|
||||
else {
|
||||
isExisting.should.be.false();
|
||||
}
|
||||
})
|
||||
.end();
|
||||
const expected = (process.platform === 'win32' || process.platform === 'linux');
|
||||
return initClient(this.app.client)
|
||||
.isExisting('#inputHideMenuBar').should.eventually.equal(expected)
|
||||
});
|
||||
|
||||
if (process.platform === 'win32' || process.platform === 'linux') {
|
||||
[true, false].forEach(function(v) {
|
||||
it(`should be loaded from config: ${v}`, function() {
|
||||
var new_config = {};
|
||||
Object.assign(new_config, config);
|
||||
new_config.hideMenuBar = v;
|
||||
fs.writeFileSync(env.configFilePath, JSON.stringify(new_config));
|
||||
return initClient(client)
|
||||
.isSelected('#inputHideMenuBar input').then(function(value) {
|
||||
value.should.equal(v);
|
||||
})
|
||||
.end();
|
||||
[true, false].forEach(function(v) {
|
||||
it(`should be loaded from config: ${v}`, function() {
|
||||
env.shouldTestForPlatforms(this, ['win32', 'linux']);
|
||||
var new_config = {};
|
||||
Object.assign(new_config, config);
|
||||
new_config.hideMenuBar = v;
|
||||
fs.writeFileSync(env.configFilePath, JSON.stringify(new_config));
|
||||
return this.app.restart().then(() => {
|
||||
return initClient(this.app.client)
|
||||
.isSelected('#inputHideMenuBar input').should.eventually.equal(v)
|
||||
.browserWindow.isMenuBarAutoHide().should.eventually.equal(v);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should be saved as config.json', function() {
|
||||
return initClient(client)
|
||||
.click('#inputHideMenuBar input')
|
||||
.click('#btnSave')
|
||||
.pause(1000)
|
||||
.then(function() {
|
||||
const saved_config = JSON.parse(fs.readFileSync(env.configFilePath, 'utf8'));
|
||||
saved_config.hideMenuBar.should.be.true();
|
||||
})
|
||||
.end();
|
||||
});
|
||||
}
|
||||
it('should be saved as config.json', function() {
|
||||
env.shouldTestForPlatforms(this, ['win32', 'linux']);
|
||||
return this.app.restart().then(() => {
|
||||
return initClient(this.app.client)
|
||||
.click('#inputHideMenuBar input')
|
||||
.click('#btnSave')
|
||||
.pause(1000)
|
||||
})
|
||||
.then(() => {
|
||||
const saved_config = JSON.parse(fs.readFileSync(env.configFilePath, 'utf8'));
|
||||
saved_config.hideMenuBar.should.be.true;
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -1,4 +1,3 @@
|
||||
const should = require('should');
|
||||
const fs = require('fs');
|
||||
const settings = require('../../src/common/settings');
|
||||
|
||||
|