Compare commits

..

9 Commits

Author SHA1 Message Date
Lea Anthony
ff666379fd Merge branch '261-korean-fonts' of github.com:wailsapp/wails into 261-korean-fonts 2019-10-25 18:11:52 +11:00
Lea Anthony
69000a0afb fix: re-add webview_set_title 2019-10-25 18:10:25 +11:00
Lea Anthony
dd43737b82 merge develop 2019-10-25 17:42:34 +11:00
Lea Anthony
061c3a6cca Merge branch 'develop' into 261-korean-fonts 2019-10-25 12:25:22 +11:00
Lea Anthony
226b02646b fix: unicode text for Windows 2019-10-25 12:24:20 +11:00
Lea Anthony
2e9e6a398a chore: bump version 2019-10-24 08:53:54 +11:00
Lea Anthony
cd3865038b fix: linting 2019-10-24 08:52:43 +11:00
Lea Anthony
9e6d6763ec Merge branch 'develop' into 261-korean-fonts 2019-10-23 21:37:13 +11:00
Lea Anthony
e0856b8bfc fix: detect encoding on windows 2019-10-23 21:29:40 +11:00
27 changed files with 99 additions and 185 deletions

View File

@@ -20,4 +20,4 @@ Wails is what it is because of the time and effort given by these great people.
* [Toyam Cox](https://github.com/Vaelatern)
* [Robin Eklind](https://github.com/mewmew)
* [Kris Raney](https://github.com/kraney)
* [Jack Mordaunt](https://github.com/JackMordaunt)
* [soon cheol shin](https://github.com/scshin0572)

21
app.go
View File

@@ -1,9 +1,7 @@
package wails
import (
"fmt"
"os"
"runtime"
"syscall"
"github.com/syossan27/tebata"
@@ -67,28 +65,9 @@ func CreateApp(optionalConfig ...*AppConfig) *App {
result.config.DisableInspector = true
}
// If running windows, do a hidpi fix
if runtime.GOOS == "windows" {
err := SetProcessDPIAware()
if err != nil {
result.log.Fatalf(err.Error())
}
}
return result
}
// SetProcessDPIAware via user32.dll
// https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setprocessdpiaware
// Also, thanks Jack Mordaunt! https://github.com/wailsapp/wails/issues/293
func SetProcessDPIAware() error {
status, r, err := syscall.NewLazyDLL("user32.dll").NewProc("SetProcessDPIAware").Call()
if status == 0 {
return fmt.Errorf("exit status %d: %v %v", status, r, err)
}
return nil
}
// Run the app
func (a *App) Run() error {

File diff suppressed because one or more lines are too long

View File

@@ -7,7 +7,6 @@ import (
"os/exec"
"path/filepath"
"runtime"
"strings"
"time"
"github.com/leaanthony/mewn"
@@ -88,17 +87,6 @@ func BuildApplication(binaryName string, forceRebuild bool, buildMode string, pa
buildCommand.Add("build")
if binaryName != "" {
// Alter binary name based on OS
switch runtime.GOOS {
case "windows":
if !strings.HasSuffix(binaryName, ".exe") {
binaryName += ".exe"
}
default:
if strings.HasSuffix(binaryName, ".exe") {
binaryName = strings.TrimSuffix(binaryName, ".exe")
}
}
buildCommand.Add("-o")
buildCommand.Add(binaryName)
}
@@ -115,7 +103,7 @@ func BuildApplication(binaryName string, forceRebuild bool, buildMode string, pa
}
// Add windows flags
if runtime.GOOS == "windows" && buildMode == BuildModeProd {
if runtime.GOOS == "windows" {
ldflags += "-H windowsgui "
}

View File

@@ -9,4 +9,4 @@
last 2 versions
Firefox ESR
not dead
IE 9-11 # For IE 9-11 support, remove 'not'.
not IE 9-11 # For IE 9-11 support, remove 'not'.

View File

@@ -22,7 +22,6 @@
"@angular/platform-browser-dynamic": "~8.0.1",
"@angular/router": "~8.0.1",
"@wailsapp/runtime": "^1.0.0",
"core-js": "^3.4.4",
"ngx-build-plus": "^8.0.3",
"rxjs": "~6.4.0",
"tslib": "^1.9.0",

View File

@@ -1,4 +1,3 @@
import 'core-js/stable';
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

View File

@@ -0,0 +1,17 @@
/*
Wails Bridge (c) 2019-present Lea Anthony
This prod version is to get around having to rewrite your code
for production. When doing a release build, this file will be used
instead of the full version.
*/
export default {
// The main function
// Passes the main Wails object to the callback if given.
Start: function(callback) {
if (callback) {
window.wails.events.on("wails:ready", callback);
}
}
};

View File

@@ -11,7 +11,7 @@
"module": "esnext",
"moduleResolution": "node",
"importHelpers": true,
"target": "es5",
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
@@ -20,4 +20,4 @@
"dom"
]
}
}
}

View File

@@ -11,7 +11,7 @@ func basic() string {
func main() {
js := mewn.String("./frontend/dist/my-app/main.js")
js := mewn.String("./frontend/dist/my-app/main-es2015.js")
css := mewn.String("./frontend/dist/my-app/styles.css")
app := wails.CreateApp(&wails.AppConfig{

View File

@@ -0,0 +1,17 @@
/*
Wails Bridge (c) 2019-present Lea Anthony
This prod version is to get around having to rewrite your code
for production. When doing a release build, this file will be used
instead of the full version.
*/
export default {
// The main function
// Passes the main Wails object to the callback if given.
Start: function (callback) {
if (callback) {
window.wails.Events.On("wails:ready", callback);
}
}
};

View File

@@ -1,4 +1,4 @@
package cmd
// Version - Wails version
const Version = "v0.19.0"
const Version = "v0.18.11-pre"

View File

@@ -80,16 +80,15 @@ To help you in this process, we will ask for some information, add Go/Wails deta
npm := program.FindProgram("npm")
if npm != nil {
stdout, _, _, _ := npm.Run("--version")
npmVersion = stdout
npmVersion = npmVersion[:len(npmVersion)-1]
npmVersion = strings.TrimSpace(npmVersion)
nodeVersion = stdout
nodeVersion = nodeVersion[:len(nodeVersion)-1]
}
node := program.FindProgram("node")
if node != nil {
stdout, _, _, _ := node.Run("--version")
nodeVersion = stdout
nodeVersion = nodeVersion[:len(nodeVersion)-1]
npmVersion = stdout
npmVersion = npmVersion[:len(npmVersion)-1]
}
str.WriteString("\n| Name | Value |\n| ----- | ----- |\n")

File diff suppressed because one or more lines are too long

View File

@@ -13,7 +13,7 @@ package webview
#cgo linux openbsd freebsd CFLAGS: -DWEBVIEW_GTK=1 -Wno-deprecated-declarations
#cgo linux openbsd freebsd pkg-config: gtk+-3.0 webkit2gtk-4.0
#cgo windows CFLAGS: -DWEBVIEW_WINAPI=1 -std=c99
#cgo windows CFLAGS: -DWEBVIEW_WINAPI=1 -std=c99 -DUNICODE=1
#cgo windows LDFLAGS: -lole32 -lcomctl32 -loleaut32 -luuid -lgdi32
#cgo darwin CFLAGS: -DWEBVIEW_COCOA=1 -x objective-c

View File

@@ -217,6 +217,21 @@ struct webview_priv
va_end(ap);
}
WEBVIEW_API void webview_set_title(struct webview *w, const char *title)
{
#ifdef UNICODE
wchar_t *u16title = webview_to_utf16(title);
if (u16title == NULL)
{
return;
}
SetWindowText(w->priv.hwnd, u16title);
GlobalFree(u16title);
#else
SetWindowText(w->priv.hwnd, title);
#endif
}
static int webview_js_encode(const char *s, char *esc, size_t n)
{
int r = 1; /* At least one byte for trailing zero */
@@ -1603,20 +1618,9 @@ struct webview_priv
WEBVIEW_API void webview_set_title(struct webview *w, const char *title)
{
#ifdef UNICODE
wchar_t *u16title = webview_to_utf16(title);
if (u16title == NULL)
{
return;
}
SetWindowText(w->priv.hwnd, u16title);
GlobalFree(u16title);
#else
SetWindowText(w->priv.hwnd, title);
#endif
}
WEBVIEW_API void webview_set_fullscreen(struct webview *w, int fullscreen)
{
if (w->priv.is_fullscreen == !!fullscreen)

View File

@@ -95,6 +95,13 @@ function startBridge() {
window.wailsbridge.reconnectOverlay.style.display = 'none';
}
// Bridge external.invoke
window.external = {
invoke: function (msg) {
window.wailsbridge.websocket.send(msg);
}
};
// Adds a script to the Dom.
// Removes it if second parameter is true.
function addScript(script, remove) {
@@ -207,4 +214,4 @@ function Init(callback) {
start(callback);
}
module.exports = Init;
module.exports = Init;

File diff suppressed because one or more lines are too long

View File

@@ -15,7 +15,10 @@
"error",
"tab"
],
"linebreak-style": 0,
"linebreak-style": [
"error",
"unix"
],
"quotes": [
"error",
"single"
@@ -25,4 +28,4 @@
"always"
]
}
}
}

View File

@@ -15,11 +15,7 @@ The lightweight framework for web-like apps
* @param {string} message
*/
function Invoke(message) {
if ( window.wailsbridge ) {
window.wailsbridge.websocket.send(message);
} else {
window.external.invoke(message);
}
window.external.invoke(message);
}
/**

View File

@@ -46,16 +46,6 @@ var runtime = {
// Augment global
Object.assign(window.wails, runtime);
// Setup global error handler
window.onerror = function (msg, url, lineNo, columnNo, error) {
window.wails.Log.Error('**** Caught Unhandled Error ****');
window.wails.Log.Error('Message: ' + msg);
window.wails.Log.Error('URL: ' + url);
window.wails.Log.Error('Line No: ' + lineNo);
window.wails.Log.Error('Column No: ' + columnNo);
window.wails.Log.Error('error: ' + error);
};
// Emit loaded event
Emit('wails:loaded');

View File

@@ -32,6 +32,6 @@ function OpenFile(filename) {
}
module.exports = {
OpenURL: OpenURL,
OpenFile: OpenFile
OpenURL,
OpenFile
};

View File

@@ -80,10 +80,10 @@ function Acknowledge(eventName) {
}
module.exports = {
OnMultiple: OnMultiple,
On: On,
Once: Once,
Emit: Emit,
Heartbeat: Heartbeat,
Acknowledge: Acknowledge
OnMultiple,
On,
Once,
Emit,
Heartbeat,
Acknowledge
};

View File

@@ -62,9 +62,9 @@ function Fatal(message) {
}
module.exports = {
Debug: Debug,
Info: Info,
Warning: Warning,
Error: Error,
Fatal: Fatal
Debug,
Info,
Warning,
Error,
Fatal
};

View File

@@ -15,8 +15,8 @@ const Events = require('./events');
const Init = require('./init');
module.exports = {
Log: Log,
Browser: Browser,
Events: Events,
Init: Init
Log,
Browser,
Events,
Init
};

View File

@@ -1,6 +1,6 @@
{
"name": "@wailsapp/runtime",
"version": "1.0.9",
"version": "1.0.6",
"description": "Wails Javascript runtime library",
"main": "main.js",
"types": "runtime.d.ts",

View File

@@ -1,84 +0,0 @@
package main
import (
"fmt"
"log"
"os"
"os/exec"
"path/filepath"
)
// Default target to run when none is specified
// If not set, running mage will list available targets
// var Default = Build
/*
# Build runtime
echo "**** Building Runtime ****"
cd runtime/js
npm install
npm run build
cd ../..
echo "**** Packing Assets ****"
cd cmd
mewn
cd ..
cd lib/renderer
mewn
cd ../..
echo "**** Installing Wails locally ****"
cd cmd/wails
go install
cd ../..
echo "**** Tidying the mods! ****"
go mod tidy
echo "**** WE ARE DONE! ****"
*/
func runCommand(command string, args ...string) {
cmd := exec.Command(command, args...)
output, err := cmd.CombinedOutput()
if err != nil {
log.Println(string(output))
log.Fatal(err)
}
cmd.Run()
fmt.Println(string(output))
}
// A build step that requires additional params, or platform specific steps for example
func main() {
dir, _ := os.Getwd()
// Build Runtime
fmt.Println("**** Building Runtime ****")
runtimeDir, _ := filepath.Abs(filepath.Join(dir, "..", "runtime", "js"))
os.Chdir(runtimeDir)
runCommand("npm", "install")
runCommand("npm", "run", "build")
// Pack assets
fmt.Println("**** Packing Assets ****")
rendererDir, _ := filepath.Abs(filepath.Join(dir, "..", "lib", "renderer"))
os.Chdir(rendererDir)
runCommand("mewn")
cmdDir, _ := filepath.Abs(filepath.Join(dir, "..", "cmd"))
os.Chdir(cmdDir)
runCommand("mewn")
// Install Wails
fmt.Println("**** Installing Wails locally ****")
execDir, _ := filepath.Abs(filepath.Join(dir, "..", "cmd", "wails"))
os.Chdir(execDir)
runCommand("go", "install")
baseDir, _ := filepath.Abs(filepath.Join(dir, ".."))
os.Chdir(baseDir)
runCommand("go", "mod", "tidy")
}