Compare commits

...

17 Commits

Author SHA1 Message Date
Travis McLane d8e7df4226 move linux -> gtk & remove qt tag 2023-12-13 17:14:16 -06:00
Benjamin Quinn b83b386169 Fix unminimize 2023-12-13 17:14:16 -06:00
Benjamin Quinn a0503653ac Fix window close 2023-12-13 17:14:16 -06:00
Benjamin Quinn 7895cc8675 Better window center 2023-12-13 17:14:16 -06:00
Benjamin Quinn abf5d3256c More window functions 2023-12-13 17:14:16 -06:00
Benjamin Quinn 0a3d94988f Center window 2023-12-13 17:14:16 -06:00
Benjamin Quinn 1968630e6d Save dialog 2023-12-13 17:14:16 -06:00
Benjamin Quinn 1d4b74ef27 Print 2023-12-13 17:14:16 -06:00
Benjamin Quinn 61e6ce81aa Clipboard 2023-12-13 17:14:14 -06:00
Benjamin Quinn 00020e165f Multi file dialog 2023-12-13 17:12:53 -06:00
Benjamin Quinn 31bb5b0460 Directory dialog 2023-12-13 17:12:53 -06:00
Benjamin Quinn 4052c20f12 File dialog 2023-12-13 17:12:53 -06:00
Benjamin Quinn dbb37e4ab5 Message dialogs 2023-12-13 17:12:53 -06:00
Benjamin Quinn 09f86fd066 Screens and javascript 2023-12-13 17:12:53 -06:00
Benjamin Quinn 615ba63e56 More window functions 2023-12-13 17:12:53 -06:00
Benjamin Quinn 13005bd116 Reformat c++ code 2023-12-13 17:12:53 -06:00
Benjamin Quinn 66d2dce2e6 Initial work on the qt frontend 2023-12-13 17:12:53 -06:00
28 changed files with 1288 additions and 17 deletions
@@ -1,10 +1,11 @@
//go:build linux
// +build linux
//go:build linux && !qt
// +build linux,!qt
package desktop
import (
"context"
"github.com/wailsapp/wails/v2/internal/binding"
"github.com/wailsapp/wails/v2/internal/frontend"
"github.com/wailsapp/wails/v2/internal/frontend/desktop/linux"
@@ -0,0 +1,18 @@
//go:build qt
// +build qt
package desktop
import (
"context"
"github.com/wailsapp/wails/v2/internal/binding"
"github.com/wailsapp/wails/v2/internal/frontend"
"github.com/wailsapp/wails/v2/internal/frontend/desktop/qt"
"github.com/wailsapp/wails/v2/internal/logger"
"github.com/wailsapp/wails/v2/pkg/options"
)
func NewFrontend(ctx context.Context, appoptions *options.App, logger *logger.Logger, appBindings *binding.Bindings, dispatcher frontend.Dispatcher) frontend.Frontend {
return qt.NewFrontend(ctx, appoptions, logger, appBindings, dispatcher)
}
@@ -4,8 +4,9 @@
package linux
import (
"github.com/wailsapp/wails/v2/internal/frontend"
"unsafe"
"github.com/wailsapp/wails/v2/internal/frontend"
)
/*
@@ -105,7 +105,6 @@ const startURL = "wails://wails/"
var secondInstanceBuffer = make(chan options.SecondInstanceData, 1)
type Frontend struct {
// Context
ctx context.Context
@@ -32,8 +32,11 @@ void addAccelerator(GtkWidget* menuItem, GtkAccelGroup* group, guint key, GdkMod
}
*/
import "C"
import "github.com/wailsapp/wails/v2/pkg/menu"
import "unsafe"
import (
"unsafe"
"github.com/wailsapp/wails/v2/pkg/menu"
)
var menuIdCounter int
var menuItemToId map[*menu.MenuItem]int
@@ -5,10 +5,11 @@ package linux
import (
"encoding/json"
"github.com/godbus/dbus/v5"
"github.com/wailsapp/wails/v2/pkg/options"
"os"
"strings"
"github.com/godbus/dbus/v5"
"github.com/wailsapp/wails/v2/pkg/options"
)
type dbusHandler func(string)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+79
View File
@@ -0,0 +1,79 @@
#pragma once
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
extern void appExited(int code);
/* Application */
void *Application_new(char *app_name);
void Application_exec(void *app_ptr);
void Application_quit(void *app_ptr);
char *Application_get_screens(void *app_ptr); // Returns a json blob
/* End Application */
/* Window */
typedef struct Window {
void *window;
void *window_layout;
void *web_engine_view;
} Window;
typedef struct Point {
int x;
int y;
} Point;
typedef struct RGBA {
int r;
int g;
int b;
int a;
} RGBA;
Window *Window_new(void *app_ptr, char *start_url);
void Window_set_title(void *win_ptr, char *title);
void Window_resize(void *win_ptr, int width, int height);
void Window_set_minimum_size(void *win_ptr, int width, int height);
void Window_set_maximum_size(void *win_ptr, int width, int height);
void Window_set_background_color(void *win_ptr, RGBA color);
Point Window_get_size(void *win_ptr);
void Window_hide(void *win_ptr);
int Window_get_flags(void *win_ptr);
void Window_set_flag(void *win_ptr, int flag, bool on);
void Window_show(void *win_ptr);
int Window_get_state(void *win_ptr);
void Window_fullscreen(void *win_ptr);
void Window_maximize(void *win_ptr);
void Window_close(void *win_ptr);
void Window_center(void *win_ptr);
void Window_center(void *win_ptr);
void Window_unminimize(void *win_ptr);
Point Window_get_position(void *win_ptr);
void Window_set_position(void *win_ptr, Point position);
const char *Window_run_message_dialog(void *win_ptr, int dialog_type, char *title, char *message);
const char *Window_open_file_dialog(void *win_ptr, bool isDirectory, bool isMultiple, bool isSave, char *dialog_options);
/* End Window */
/* WebEngineView */
void WebEngineView_load_url(void *web_engine_ptr, char *url);
void WebEngineView_reload(void *web_engine_ptr);
void WebEngineView_run_js(void *web_engine_ptr, char *script);
void WebEngineView_print_page(void *web_engine_ptr);
/* End WebEngineView */
/* Clipboard */
const char *Clipboard_get_text(void *app_ptr);
void Clipboard_set_text(void *app_ptr, char *text);
/* End Clipboard */
void fix_signal(int signum);
void install_signal_handlers();
void cfree(void* ptr);
#ifdef __cplusplus
}
#endif

Some files were not shown because too many files have changed in this diff Show More