mirror of
https://gitlab.com/virt-viewer/virt-viewer.git
synced 2025-02-03 13:47:05 +03:00
Turn display:show-hint into flags type
This commit is contained in:
parent
3b70561666
commit
560767b573
@ -609,7 +609,8 @@ display_show_hint(VirtViewerDisplay *display,
|
||||
{
|
||||
VirtViewerApp *self;
|
||||
VirtViewerNotebook *nb = virt_viewer_window_get_notebook(win);
|
||||
gint nth, hint;
|
||||
gint nth;
|
||||
guint hint;
|
||||
|
||||
g_object_get(win,
|
||||
"app", &self,
|
||||
@ -619,7 +620,7 @@ display_show_hint(VirtViewerDisplay *display,
|
||||
"show-hint", &hint,
|
||||
NULL);
|
||||
|
||||
if (hint == VIRT_VIEWER_DISPLAY_SHOW_HINT_HIDE) {
|
||||
if (hint == 0) {
|
||||
if (win != self->priv->main_window &&
|
||||
g_getenv("VIRT_VIEWER_HIDE"))
|
||||
virt_viewer_window_hide(win);
|
||||
|
@ -41,7 +41,7 @@ struct _VirtViewerDisplayPrivate
|
||||
guint zoom_level;
|
||||
gboolean zoom;
|
||||
gint nth_display;
|
||||
gint show_hint;
|
||||
guint show_hint;
|
||||
VirtViewerSession *session;
|
||||
gboolean auto_resize;
|
||||
};
|
||||
@ -151,13 +151,12 @@ virt_viewer_display_class_init(VirtViewerDisplayClass *class)
|
||||
|
||||
g_object_class_install_property(object_class,
|
||||
PROP_SHOW_HINT,
|
||||
g_param_spec_int("show-hint",
|
||||
"Show hint",
|
||||
"Show state hint",
|
||||
0,
|
||||
G_MAXINT32,
|
||||
0,
|
||||
G_PARAM_READABLE));
|
||||
g_param_spec_flags("show-hint",
|
||||
"Show hint",
|
||||
"Show state hint",
|
||||
VIRT_VIEWER_TYPE_DISPLAY_SHOW_HINT_FLAGS,
|
||||
0,
|
||||
G_PARAM_READABLE));
|
||||
|
||||
g_object_class_install_property(object_class,
|
||||
PROP_SESSION,
|
||||
@ -298,7 +297,7 @@ virt_viewer_display_get_property(GObject *object,
|
||||
g_value_set_int(value, priv->nth_display);
|
||||
break;
|
||||
case PROP_SHOW_HINT:
|
||||
g_value_set_int(value, priv->show_hint);
|
||||
g_value_set_flags(value, priv->show_hint);
|
||||
break;
|
||||
case PROP_SESSION:
|
||||
g_value_set_object(value, virt_viewer_display_get_session(display));
|
||||
@ -530,7 +529,14 @@ GdkPixbuf* virt_viewer_display_get_pixbuf(VirtViewerDisplay *display)
|
||||
return VIRT_VIEWER_DISPLAY_GET_CLASS(display)->get_pixbuf(display);
|
||||
}
|
||||
|
||||
void virt_viewer_display_set_show_hint(VirtViewerDisplay *self, gint hint)
|
||||
guint virt_viewer_display_get_show_hint(VirtViewerDisplay *self)
|
||||
{
|
||||
g_return_val_if_fail(VIRT_VIEWER_IS_DISPLAY(self), 0);
|
||||
|
||||
return self->priv->show_hint;
|
||||
}
|
||||
|
||||
void virt_viewer_display_set_show_hint(VirtViewerDisplay *self, guint hint)
|
||||
{
|
||||
VirtViewerDisplayPrivate *priv;
|
||||
g_return_if_fail(VIRT_VIEWER_IS_DISPLAY(self));
|
||||
|
@ -25,6 +25,7 @@
|
||||
#define _VIRT_VIEWER_DISPLAY_H
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include "virt-viewer-enums.h"
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
@ -54,10 +55,9 @@ typedef struct _VirtViewerDisplayPrivate VirtViewerDisplayPrivate;
|
||||
|
||||
typedef struct _VirtViewerDisplayChannel VirtViewerDisplayChannel;
|
||||
|
||||
enum {
|
||||
VIRT_VIEWER_DISPLAY_SHOW_HINT_HIDE = 0,
|
||||
VIRT_VIEWER_DISPLAY_SHOW_HINT_READY,
|
||||
};
|
||||
typedef enum {
|
||||
VIRT_VIEWER_DISPLAY_SHOW_HINT_READY = 1 << 0,
|
||||
} VirtViewerDisplayShowHintFlags;
|
||||
|
||||
/* perhaps this become an interface, and be pushed in gtkvnc and spice? */
|
||||
struct _VirtViewerDisplay {
|
||||
@ -108,7 +108,8 @@ gboolean virt_viewer_display_get_zoom(VirtViewerDisplay *display);
|
||||
void virt_viewer_display_send_keys(VirtViewerDisplay *display,
|
||||
const guint *keyvals, int nkeyvals);
|
||||
GdkPixbuf* virt_viewer_display_get_pixbuf(VirtViewerDisplay *display);
|
||||
void virt_viewer_display_set_show_hint(VirtViewerDisplay *display, gint hint);
|
||||
void virt_viewer_display_set_show_hint(VirtViewerDisplay *display, guint hint);
|
||||
guint virt_viewer_display_get_show_hint(VirtViewerDisplay *display);
|
||||
VirtViewerSession* virt_viewer_display_get_session(VirtViewerDisplay *display);
|
||||
void virt_viewer_display_set_auto_resize(VirtViewerDisplay *display, gboolean auto_resize);
|
||||
gboolean virt_viewer_display_get_auto_resize(VirtViewerDisplay *display);
|
||||
|
@ -1002,9 +1002,12 @@ display_show_hint(VirtViewerDisplay *display,
|
||||
GParamSpec *pspec G_GNUC_UNUSED,
|
||||
VirtViewerWindow *self)
|
||||
{
|
||||
gboolean hint;
|
||||
guint hint;
|
||||
|
||||
g_object_get(display, "show-hint", &hint, NULL);
|
||||
|
||||
hint = (hint & VIRT_VIEWER_DISPLAY_SHOW_HINT_READY);
|
||||
|
||||
gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(self->priv->builder, "menu-send")), hint);
|
||||
gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(self->priv->builder, "menu-file-screenshot")), hint);
|
||||
gtk_widget_set_sensitive(self->priv->toolbar_send_key, hint);
|
||||
|
Loading…
x
Reference in New Issue
Block a user