5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-02 22:13:36 +08:00

[linux] Fix disabling context menu

This commit is contained in:
Lea Anthony 2022-02-08 06:20:41 +11:00
parent 322aad166b
commit 668da3a827
No known key found for this signature in database
GPG Key ID: 33DAF7BB90A58405

View File

@ -120,6 +120,7 @@ ulong setupInvokeSignal(void* contentManager) {
float xroot = 0.0f; float xroot = 0.0f;
float yroot = 0.0f; float yroot = 0.0f;
int dragTime = -1; int dragTime = -1;
bool contextMenuDisabled = false;
gboolean buttonPress(GtkWidget *widget, GdkEventButton *event, void* dummy) gboolean buttonPress(GtkWidget *widget, GdkEventButton *event, void* dummy)
{ {
@ -128,12 +129,18 @@ gboolean buttonPress(GtkWidget *widget, GdkEventButton *event, void* dummy)
dragTime = -1; dragTime = -1;
return FALSE; return FALSE;
} }
if( event->button == 3 && contextMenuDisabled ) {
return TRUE;
}
if (event->type == GDK_BUTTON_PRESS && event->button == 1) if (event->type == GDK_BUTTON_PRESS && event->button == 1)
{ {
xroot = event->x_root; xroot = event->x_root;
yroot = event->y_root; yroot = event->y_root;
dragTime = event->time; dragTime = event->time;
} }
return FALSE; return FALSE;
} }
@ -448,29 +455,38 @@ void SetPosition(void* window, int x, int y) {
} }
void Show(gpointer data) { void Show(gpointer data) {
gtk_widget_show((GTKWidget*)data); gtk_widget_show((GtkWidget*)data);
} }
void Hide(gpointer data) { void Hide(gpointer data) {
gtk_widget_hide((GTKWidget*)data); gtk_widget_hide((GtkWidget*)data);
} }
void Maximise(gpointer data) { void Maximise(gpointer data) {
gtk_window_maximize((GTKWindow*)data); gtk_window_maximize((GtkWindow*)data);
} }
void UnMaximise(gpointer data) { void UnMaximise(gpointer data) {
gtk_window_unmaximize((GTKWindow*)data); gtk_window_unmaximize((GtkWindow*)data);
} }
void Minimise(gpointer data) { void Minimise(gpointer data) {
gtk_window_iconify((GTKWindow*)data); gtk_window_iconify((GtkWindow*)data);
} }
void UnMinimise(gpointer data) { void UnMinimise(gpointer data) {
gtk_window_present((GTKWindow*)data); gtk_window_present((GtkWindow*)data);
} }
bool disableContextMenu(GtkWindow* window) {
return TRUE;
}
void DisableContextMenu(void* webview) {
contextMenuDisabled = TRUE;
g_signal_connect(WEBKIT_WEB_VIEW(webview), "context-menu", G_CALLBACK(disableContextMenu), NULL);
}
*/ */
import "C" import "C"
import ( import (
@ -535,6 +551,8 @@ func NewWindow(appoptions *options.App, debug bool) *Window {
if debug { if debug {
C.devtoolsEnabled(unsafe.Pointer(webview), C.int(1)) C.devtoolsEnabled(unsafe.Pointer(webview), C.int(1))
} else {
C.DisableContextMenu(unsafe.Pointer(webview))
} }
// Set background colour // Set background colour