Refactor darwin app

This commit is contained in:
Lea Anthony 2022-09-26 20:17:15 +10:00
commit d319d51fcd
No known key found for this signature in database
GPG key ID: 33DAF7BB90A58405
3 changed files with 19 additions and 1 deletions

View file

@ -77,6 +77,8 @@ void SetAbout(void *inctx, const char* title, const char* description, void* ima
void* AppendMenuItem(void* inctx, void* nsmenu, const char* label, const char* shortcutKey, int modifiers, int disabled, int checked, int menuItemID);
void AppendSeparator(void* inMenu);
void UpdateMenuItem(void* nsmenuitem, int checked);
void RunMainLoop(void);
void ReleaseContext(void *inctx);
NSString* safeInit(const char* input);

View file

@ -462,6 +462,14 @@ void Run(void *inctx, const char* url, int activationPolicy) {
[_url release];
[app setMainMenu:ctx.applicationMenu];
}
void RunMainLoop(void) {
NSApplication *app = [NSApplication sharedApplication];
[app run];
}
void ReleaseContext(void *inctx) {
WailsContext *ctx = (__bridge WailsContext*) inctx;
[ctx release];
}

View file

@ -74,6 +74,14 @@ type Frontend struct {
trayMenusBuffer []*menu.TrayMenu
}
func (f *Frontend) RunMainLoop() {
C.RunMainLoop()
}
func (f *Frontend) WindowClose() {
C.ReleaseContext(f.mainWindow.context)
}
func NewFrontend(ctx context.Context, appoptions *options.App, myLogger *logger.Logger, appBindings *binding.Bindings, dispatcher frontend.Dispatcher) *Frontend {
result := &Frontend{
frontendOptions: appoptions,
@ -99,7 +107,7 @@ func NewFrontend(ctx context.Context, appoptions *options.App, myLogger *logger.
} else {
appBindings.DB().UpdateObfuscatedCallMap()
}
assets, err := assetserver.NewAssetServer(ctx, appoptions, bindings)
assets, err := assetserver.NewAssetServer(ctx, appoptions.Assets, appoptions.AssetsHandler, bindings)
if err != nil {
log.Fatal(err)
}