Merge branch 'develop' of github.com:vector-im/riot-web into forward_message
2
.gitignore
vendored
@ -5,6 +5,7 @@
|
|||||||
/key.pem
|
/key.pem
|
||||||
/lib
|
/lib
|
||||||
/node_modules
|
/node_modules
|
||||||
|
/electron/node_modules
|
||||||
/packages/
|
/packages/
|
||||||
/webapp
|
/webapp
|
||||||
/.npmrc
|
/.npmrc
|
||||||
@ -14,3 +15,4 @@ electron/dist
|
|||||||
electron/pub
|
electron/pub
|
||||||
/.idea
|
/.idea
|
||||||
/config.json
|
/config.json
|
||||||
|
/src/component-index.js
|
||||||
|
@ -9,6 +9,8 @@
|
|||||||
"test/css/flexbox",
|
"test/css/flexbox",
|
||||||
"test/es5/specification",
|
"test/es5/specification",
|
||||||
"test/css/objectfit",
|
"test/css/objectfit",
|
||||||
"test/storage/localstorage"
|
"test/storage/localstorage",
|
||||||
|
"test/workers/webworkers",
|
||||||
|
"test/indexeddb"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
21
CHANGELOG.md
@ -1,3 +1,24 @@
|
|||||||
|
Changes in [0.9.9](https://github.com/vector-im/riot-web/releases/tag/v0.9.9) (2017-04-25)
|
||||||
|
==========================================================================================
|
||||||
|
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.9-rc.2...v0.9.9)
|
||||||
|
|
||||||
|
* No changes
|
||||||
|
|
||||||
|
|
||||||
|
Changes in [0.9.9-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.9-rc.2) (2017-04-24)
|
||||||
|
====================================================================================================
|
||||||
|
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.9-rc.1...v0.9.9-rc.2)
|
||||||
|
|
||||||
|
* Fix bug where links to Riot would fail to open.
|
||||||
|
|
||||||
|
|
||||||
|
Changes in [0.9.9-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.9-rc.1) (2017-04-21)
|
||||||
|
====================================================================================================
|
||||||
|
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8...v0.9.9-rc.1)
|
||||||
|
|
||||||
|
* Update js-sdk and matrix-react-sdk to fix registration without a captcha (https://github.com/vector-im/riot-web/issues/3621)
|
||||||
|
|
||||||
|
|
||||||
Changes in [0.9.8](https://github.com/vector-im/riot-web/releases/tag/v0.9.8) (2017-04-12)
|
Changes in [0.9.8](https://github.com/vector-im/riot-web/releases/tag/v0.9.8) (2017-04-12)
|
||||||
==========================================================================================
|
==========================================================================================
|
||||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8-rc.3...v0.9.8)
|
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8-rc.3...v0.9.8)
|
||||||
|
@ -135,7 +135,7 @@ To run as a desktop app:
|
|||||||
|
|
||||||
```
|
```
|
||||||
npm install electron
|
npm install electron
|
||||||
node_modules/.bin/electron .
|
npm run electron
|
||||||
```
|
```
|
||||||
|
|
||||||
To build packages, use electron-builder. This is configured to output:
|
To build packages, use electron-builder. This is configured to output:
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"brand": "Riot",
|
"brand": "Riot",
|
||||||
"integrations_ui_url": "https://scalar.vector.im/",
|
"integrations_ui_url": "https://scalar.vector.im/",
|
||||||
"integrations_rest_url": "https://scalar.vector.im/api",
|
"integrations_rest_url": "https://scalar.vector.im/api",
|
||||||
"bug_report_endpoint_url": "https://vector.im/bugs",
|
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
|
||||||
"enableLabs": true,
|
"enableLabs": true,
|
||||||
"roomDirectory": {
|
"roomDirectory": {
|
||||||
"servers": [
|
"servers": [
|
||||||
|
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 14 KiB |
@ -1,73 +0,0 @@
|
|||||||
{
|
|
||||||
"update_base_url": "https://riot.im/download/desktop/update/",
|
|
||||||
"default_hs_url": "https://matrix.org",
|
|
||||||
"default_is_url": "https://vector.im",
|
|
||||||
"brand": "Riot",
|
|
||||||
"integrations_ui_url": "https://scalar.vector.im/",
|
|
||||||
"integrations_rest_url": "https://scalar.vector.im/api",
|
|
||||||
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
|
|
||||||
"enableLabs": true,
|
|
||||||
"roomDirectory": {
|
|
||||||
"servers": [
|
|
||||||
"matrix.org"
|
|
||||||
],
|
|
||||||
"serverConfig": {
|
|
||||||
"matrix.org": {
|
|
||||||
"networks": [
|
|
||||||
"_matrix",
|
|
||||||
"gitter",
|
|
||||||
"irc:freenode",
|
|
||||||
"irc:mozilla",
|
|
||||||
"irc:snoonet",
|
|
||||||
"irc:oftc"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"networks": {
|
|
||||||
"gitter": {
|
|
||||||
"protocol": "gitter",
|
|
||||||
"portalRoomPattern": "#gitter_.*:matrix.org",
|
|
||||||
"name": "Gitter",
|
|
||||||
"icon": "https://gitter.im/favicon.ico",
|
|
||||||
"example": "org/community",
|
|
||||||
"nativePattern": "[^\\s]+/[^\\s]+$"
|
|
||||||
},
|
|
||||||
"irc:freenode": {
|
|
||||||
"protocol": "irc",
|
|
||||||
"domain": "chat.freenode.net",
|
|
||||||
"portalRoomPattern": "#freenode_.*:matrix.org",
|
|
||||||
"name": "Freenode",
|
|
||||||
"icon": "https://matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
|
||||||
"example": "#channel",
|
|
||||||
"nativePattern": "^#[^\\s]+$"
|
|
||||||
},
|
|
||||||
"irc:mozilla": {
|
|
||||||
"protocol": "irc",
|
|
||||||
"domain": "chat.freenode.net",
|
|
||||||
"portalRoomPattern": "#mozilla_.*:matrix.org",
|
|
||||||
"name": "Mozilla",
|
|
||||||
"icon": "https://matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
|
||||||
"example": "#channel",
|
|
||||||
"nativePattern": "^#[^\\s]+$"
|
|
||||||
},
|
|
||||||
"irc:snoonet": {
|
|
||||||
"protocol": "irc",
|
|
||||||
"domain": "ipv6-irc.snoonet.org",
|
|
||||||
"portalRoomPattern": "#_snoonet_.*:matrix.org",
|
|
||||||
"name": "Snoonet",
|
|
||||||
"icon": "https://matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
|
||||||
"example": "#channel",
|
|
||||||
"nativePattern": "^#[^\\s]+$"
|
|
||||||
},
|
|
||||||
"irc:oftc": {
|
|
||||||
"protocol": "irc",
|
|
||||||
"domain": "irc.oftc.net",
|
|
||||||
"portalRoomPattern": "#_oftc_.*:matrix.org",
|
|
||||||
"name": "OFTC",
|
|
||||||
"icon": "https://matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
|
||||||
"example": "#channel",
|
|
||||||
"nativePattern": "^#[^\\s]+$"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 673 B After Width: | Height: | Size: 673 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
BIN
electron_app/img/riot.ico
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
electron_app/img/riot.png
Normal file
After Width: | Height: | Size: 10 KiB |
11
electron_app/package.json
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"name": "riot-web",
|
||||||
|
"productName": "Riot",
|
||||||
|
"main": "src/electron-main.js",
|
||||||
|
"version": "0.9.9",
|
||||||
|
"description": "A feature-rich client for Matrix.org",
|
||||||
|
"author": "Vector Creations Ltd.",
|
||||||
|
"dependencies": {
|
||||||
|
"electron-window-state": "^4.1.0"
|
||||||
|
}
|
||||||
|
}
|
16
electron_app/riot.im/config.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"update_base_url": "https://riot.im/download/desktop/update/",
|
||||||
|
"default_hs_url": "https://matrix.org",
|
||||||
|
"default_is_url": "https://vector.im",
|
||||||
|
"brand": "Riot",
|
||||||
|
"integrations_ui_url": "https://scalar.vector.im/",
|
||||||
|
"integrations_rest_url": "https://scalar.vector.im/api",
|
||||||
|
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
|
||||||
|
"welcomeUserId": "@riot-bot:matrix.org",
|
||||||
|
"enableLabs": true,
|
||||||
|
"roomDirectory": {
|
||||||
|
"servers": [
|
||||||
|
"matrix.org"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@ -30,6 +30,8 @@ const tray = require('./tray');
|
|||||||
|
|
||||||
const VectorMenu = require('./vectormenu');
|
const VectorMenu = require('./vectormenu');
|
||||||
|
|
||||||
|
const windowStateKeeper = require('electron-window-state');
|
||||||
|
|
||||||
let vectorConfig = {};
|
let vectorConfig = {};
|
||||||
try {
|
try {
|
||||||
vectorConfig = require('../../webapp/config.json');
|
vectorConfig = require('../../webapp/config.json');
|
||||||
@ -84,6 +86,12 @@ function onLinkContextMenu(ev, params) {
|
|||||||
safeOpenURL(params.linkURL);
|
safeOpenURL(params.linkURL);
|
||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
|
popup_menu.append(new electron.MenuItem({
|
||||||
|
label: 'Copy Link Address',
|
||||||
|
click() {
|
||||||
|
electron.clipboard.writeText(params.linkURL);
|
||||||
|
},
|
||||||
|
}));
|
||||||
popup_menu.popup();
|
popup_menu.popup();
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
}
|
}
|
||||||
@ -187,11 +195,21 @@ electron.app.on('ready', () => {
|
|||||||
process.platform == 'win32' ? 'ico' : 'png'
|
process.platform == 'win32' ? 'ico' : 'png'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Load the previous window state with fallback to defaults
|
||||||
|
let mainWindowState = windowStateKeeper({
|
||||||
|
defaultWidth: 1024,
|
||||||
|
defaultHeight: 768,
|
||||||
|
});
|
||||||
|
|
||||||
mainWindow = new electron.BrowserWindow({
|
mainWindow = new electron.BrowserWindow({
|
||||||
icon: icon_path,
|
icon: icon_path,
|
||||||
width: 1024, height: 768,
|
|
||||||
show: false,
|
show: false,
|
||||||
autoHideMenuBar: true,
|
autoHideMenuBar: true,
|
||||||
|
|
||||||
|
x: mainWindowState.x,
|
||||||
|
y: mainWindowState.y,
|
||||||
|
width: mainWindowState.width,
|
||||||
|
height: mainWindowState.height,
|
||||||
});
|
});
|
||||||
mainWindow.loadURL(`file://${__dirname}/../../webapp/index.html`);
|
mainWindow.loadURL(`file://${__dirname}/../../webapp/index.html`);
|
||||||
electron.Menu.setApplicationMenu(VectorMenu);
|
electron.Menu.setApplicationMenu(VectorMenu);
|
||||||
@ -230,6 +248,8 @@ electron.app.on('ready', () => {
|
|||||||
onLinkContextMenu(ev, params);
|
onLinkContextMenu(ev, params);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
mainWindowState.manage(mainWindow);
|
||||||
});
|
});
|
||||||
|
|
||||||
electron.app.on('window-all-closed', () => {
|
electron.app.on('window-all-closed', () => {
|
43
package.json
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "riot-web",
|
"name": "riot-web",
|
||||||
"productName": "Riot",
|
"productName": "Riot",
|
||||||
"main": "electron/src/electron-main.js",
|
"main": "electron_app/src/electron-main.js",
|
||||||
"version": "0.9.8",
|
"version": "0.9.9",
|
||||||
"description": "A feature-rich client for Matrix.org",
|
"description": "A feature-rich client for Matrix.org",
|
||||||
"author": "Vector Creations Ltd.",
|
"author": "Vector Creations Ltd.",
|
||||||
"repository": {
|
"repository": {
|
||||||
@ -27,20 +27,23 @@
|
|||||||
"matrix-react-parent": "matrix-react-sdk",
|
"matrix-react-parent": "matrix-react-sdk",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"reskindex": "reskindex -h src/header",
|
"reskindex": "reskindex -h src/header",
|
||||||
|
"reskindex:watch": "reskindex -h src/header -w",
|
||||||
"build:res": "node scripts/copy-res.js",
|
"build:res": "node scripts/copy-res.js",
|
||||||
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
||||||
"build:compile": "babel --source-maps -d lib src",
|
"build:compile": "npm run reskindex && babel --source-maps -d lib src",
|
||||||
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress",
|
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress",
|
||||||
"build:bundle:dev": "webpack --optimize-occurence-order --progress",
|
"build:bundle:dev": "webpack --optimize-occurence-order --progress",
|
||||||
"build:electron": "npm run clean && npm run build && build -wml --ia32 --x64",
|
"build:electron": "npm run clean && npm run build && build -wml --ia32 --x64",
|
||||||
"build": "node scripts/babelcheck.js && npm run build:res && npm run build:bundle",
|
"build": "npm run reskindex && npm run build:res && npm run build:bundle",
|
||||||
"build:dev": "node scripts/babelcheck.js && npm run build:res && npm run build:bundle:dev",
|
"build:dev": "npm run reskindex && npm run build:res && npm run build:bundle:dev",
|
||||||
"dist": "scripts/package.sh",
|
"dist": "scripts/package.sh",
|
||||||
|
"install:electron": "install-app-deps",
|
||||||
|
"electron": "npm run install:electron && electron .",
|
||||||
"start:res": "node scripts/copy-res.js -w",
|
"start:res": "node scripts/copy-res.js -w",
|
||||||
"start:js": "webpack-dev-server --output-filename=bundles/_dev_/[name].js --output-chunk-file=bundles/_dev_/[name].js -w --progress",
|
"start:js": "webpack-dev-server --output-filename=bundles/_dev_/[name].js --output-chunk-file=bundles/_dev_/[name].js -w --progress",
|
||||||
"start:js:prod": "cross-env NODE_ENV=production webpack-dev-server -w --progress",
|
"start:js:prod": "cross-env NODE_ENV=production webpack-dev-server -w --progress",
|
||||||
"start": "node scripts/babelcheck.js && parallelshell \"npm run start:res\" \"npm run start:js\"",
|
"start": "parallelshell \"npm run reskindex:watch\" \"npm run start:res\" \"npm run start:js\"",
|
||||||
"start:prod": "parallelshell \"npm run start:res\" \"npm run start:js:prod\"",
|
"start:prod": "parallelshell \"npm run reskindex:watch\" \"npm run start:res\" \"npm run start:js:prod\"",
|
||||||
"lint": "eslint src/",
|
"lint": "eslint src/",
|
||||||
"lintall": "eslint src/ test/",
|
"lintall": "eslint src/ test/",
|
||||||
"clean": "rimraf lib webapp electron/dist",
|
"clean": "rimraf lib webapp electron/dist",
|
||||||
@ -56,8 +59,9 @@
|
|||||||
"draft-js": "^0.8.1",
|
"draft-js": "^0.8.1",
|
||||||
"extract-text-webpack-plugin": "^0.9.1",
|
"extract-text-webpack-plugin": "^0.9.1",
|
||||||
"favico.js": "^0.3.10",
|
"favico.js": "^0.3.10",
|
||||||
"filesize": "^3.1.2",
|
"filesize": "3.5.6",
|
||||||
"flux": "~2.0.3",
|
"flux": "~2.0.3",
|
||||||
|
"gemini-scrollbar": "matrix-org/gemini-scrollbar#b302279",
|
||||||
"gfm.css": "^1.1.1",
|
"gfm.css": "^1.1.1",
|
||||||
"highlight.js": "^9.0.0",
|
"highlight.js": "^9.0.0",
|
||||||
"linkifyjs": "^2.1.3",
|
"linkifyjs": "^2.1.3",
|
||||||
@ -70,7 +74,7 @@
|
|||||||
"react-dnd": "^2.1.4",
|
"react-dnd": "^2.1.4",
|
||||||
"react-dnd-html5-backend": "^2.1.2",
|
"react-dnd-html5-backend": "^2.1.2",
|
||||||
"react-dom": "^15.4.0",
|
"react-dom": "^15.4.0",
|
||||||
"react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#39d858c",
|
"react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#5e97aef",
|
||||||
"sanitize-html": "^1.11.1",
|
"sanitize-html": "^1.11.1",
|
||||||
"ua-parser-js": "^0.7.10",
|
"ua-parser-js": "^0.7.10",
|
||||||
"url": "^0.11.0"
|
"url": "^0.11.0"
|
||||||
@ -139,16 +143,18 @@
|
|||||||
"build": {
|
"build": {
|
||||||
"appId": "im.riot.app",
|
"appId": "im.riot.app",
|
||||||
"category": "Network",
|
"category": "Network",
|
||||||
"electronVersion": "1.6.2",
|
"electronVersion": "1.6.8",
|
||||||
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
|
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
|
||||||
"asar": false,
|
"asar": false,
|
||||||
"dereference": true,
|
"dereference": true,
|
||||||
"//files": "We bundle everything, so we only need to include webapp/",
|
"//files": "We bundle everything, so we only need to include webapp/",
|
||||||
"files": [
|
"files": [
|
||||||
"electron/src/**",
|
"node_modules/**",
|
||||||
"electron/img/**",
|
"src/**",
|
||||||
"webapp/**",
|
"img/**"
|
||||||
"package.json"
|
],
|
||||||
|
"extraResources": [
|
||||||
|
"webapp/**/*"
|
||||||
],
|
],
|
||||||
"linux": {
|
"linux": {
|
||||||
"target": "deb",
|
"target": "deb",
|
||||||
@ -159,10 +165,11 @@
|
|||||||
},
|
},
|
||||||
"win": {
|
"win": {
|
||||||
"target": "squirrel"
|
"target": "squirrel"
|
||||||
|
},
|
||||||
|
"directories": {
|
||||||
|
"buildResources": "electron_app/build",
|
||||||
|
"output": "electron_app/dist",
|
||||||
|
"app": "electron_app"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"directories": {
|
|
||||||
"buildResources": "electron/build",
|
|
||||||
"output": "electron/dist"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
17
release.sh
@ -1,12 +1,25 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Script to perform a release of vector-web.
|
# Script to perform a release of vector-web.
|
||||||
#
|
#
|
||||||
# Requires github-changelog-generator; to install, do
|
# Requires github-changelog-generator; to install, do
|
||||||
# pip install git+https://github.com/matrix-org/github-changelog-generator.git
|
# pip install git+https://github.com/matrix-org/github-changelog-generator.git
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
cd `dirname $0`
|
cd `dirname $0`
|
||||||
|
|
||||||
|
|
||||||
|
# bump Electron's package.json first
|
||||||
|
release="${1#v}"
|
||||||
|
tag="v${release}"
|
||||||
|
echo "electron npm version"
|
||||||
|
|
||||||
|
cd electron_app
|
||||||
|
npm version --no-git-tag-version "$release"
|
||||||
|
git commit package.json -m "$tag"
|
||||||
|
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
exec ./node_modules/matrix-js-sdk/release.sh -z "$@"
|
exec ./node_modules/matrix-js-sdk/release.sh -z "$@"
|
||||||
|
BIN
res/flags/AD.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/AE.png
Normal file
After Width: | Height: | Size: 841 B |
BIN
res/flags/AF.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/AG.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
res/flags/AI.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/AL.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/AM.png
Normal file
After Width: | Height: | Size: 744 B |
BIN
res/flags/AO.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
res/flags/AQ.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
res/flags/AR.png
Normal file
After Width: | Height: | Size: 955 B |
BIN
res/flags/AS.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/AT.png
Normal file
After Width: | Height: | Size: 701 B |
BIN
res/flags/AU.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
res/flags/AW.png
Normal file
After Width: | Height: | Size: 938 B |
BIN
res/flags/AX.png
Normal file
After Width: | Height: | Size: 900 B |
BIN
res/flags/AZ.png
Normal file
After Width: | Height: | Size: 978 B |
BIN
res/flags/BA.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/BB.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
res/flags/BD.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
res/flags/BE.png
Normal file
After Width: | Height: | Size: 689 B |
BIN
res/flags/BF.png
Normal file
After Width: | Height: | Size: 954 B |
BIN
res/flags/BG.png
Normal file
After Width: | Height: | Size: 737 B |
BIN
res/flags/BH.png
Normal file
After Width: | Height: | Size: 842 B |
BIN
res/flags/BI.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/BJ.png
Normal file
After Width: | Height: | Size: 777 B |
BIN
res/flags/BL.png
Normal file
After Width: | Height: | Size: 692 B |
BIN
res/flags/BM.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BN.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BO.png
Normal file
After Width: | Height: | Size: 733 B |
BIN
res/flags/BQ.png
Normal file
After Width: | Height: | Size: 726 B |
BIN
res/flags/BR.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BS.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/BT.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BV.png
Normal file
After Width: | Height: | Size: 866 B |
BIN
res/flags/BW.png
Normal file
After Width: | Height: | Size: 697 B |
BIN
res/flags/BY.png
Normal file
After Width: | Height: | Size: 950 B |
BIN
res/flags/BZ.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/CA.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/CC.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/CD.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/CF.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/CG.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/CH.png
Normal file
After Width: | Height: | Size: 800 B |
BIN
res/flags/CI.png
Normal file
After Width: | Height: | Size: 692 B |
BIN
res/flags/CK.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
res/flags/CL.png
Normal file
After Width: | Height: | Size: 964 B |
BIN
res/flags/CM.png
Normal file
After Width: | Height: | Size: 908 B |
BIN
res/flags/CN.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
res/flags/CO.png
Normal file
After Width: | Height: | Size: 726 B |
BIN
res/flags/CR.png
Normal file
After Width: | Height: | Size: 734 B |
BIN
res/flags/CU.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/CV.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/CW.png
Normal file
After Width: | Height: | Size: 970 B |
BIN
res/flags/CX.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
res/flags/CY.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/CZ.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/DE.png
Normal file
After Width: | Height: | Size: 734 B |
BIN
res/flags/DJ.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/DK.png
Normal file
After Width: | Height: | Size: 797 B |
BIN
res/flags/DM.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/DO.png
Normal file
After Width: | Height: | Size: 946 B |
BIN
res/flags/DZ.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/EC.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/EE.png
Normal file
After Width: | Height: | Size: 723 B |
BIN
res/flags/EG.png
Normal file
After Width: | Height: | Size: 914 B |
BIN
res/flags/EH.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/ER.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
res/flags/ES.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
res/flags/ET.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
res/flags/FI.png
Normal file
After Width: | Height: | Size: 841 B |