Various cleanups for Glib/GTK and BZ 474213

This commit is contained in:
Daniel P. Berrange 2010-01-12 12:05:30 +00:00
parent 64c4b4d3c3
commit d5cee6df0c
2 changed files with 44 additions and 43 deletions

View File

@ -25,12 +25,15 @@
#include <vncdisplay.h>
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include <stdlib.h>
#include "viewer.h"
static void viewer_version(FILE *out)
static void viewer_version(void)
{
fprintf(out, _("%s version %s\n"), PACKAGE, VERSION);
g_print(_("%s version %s\n"), PACKAGE, VERSION);
exit(0);
}
@ -41,7 +44,6 @@ int main(int argc, char **argv)
int ret;
char *uri = NULL;
gchar **args = NULL;
gboolean print_version = FALSE;
gboolean verbose = FALSE;
gboolean debug = FALSE;
gboolean direct = FALSE;
@ -49,8 +51,8 @@ int main(int argc, char **argv)
gboolean reconnect = FALSE;
const char *help_msg = N_("Run '" PACKAGE " --help' to see a full list of available command line options");
const GOptionEntry options [] = {
{ "version", 'V', 0, G_OPTION_ARG_NONE, &print_version,
N_("display version information"), NULL },
{ "version", 'V', G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK,
viewer_version, N_("display version information"), NULL },
{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
N_("display verbose information"), NULL },
{ "direct", 'd', 0, G_OPTION_ARG_NONE, &direct,
@ -80,16 +82,14 @@ int main(int argc, char **argv)
g_option_context_add_group (context, vnc_display_get_option_group ());
g_option_context_parse (context, &argc, &argv, &error);
if (error) {
g_print ("%s\n%s\n",
error->message,
gettext(help_msg));
g_error_free (error);
g_printerr("%s\n%s\n",
error->message,
gettext(help_msg));
g_error_free(error);
return 1;
}
if (print_version) {
viewer_version(stdout);
return 0;
}
g_option_context_free(context);
if (!args || (g_strv_length(args) != 1)) {
fprintf(stderr, _("\nUsage: %s [OPTIONS] DOMAIN-NAME|ID|UUID\n\n%s\n\n"), argv[0], help_msg);

View File

@ -336,7 +336,7 @@ static void viewer_resize_desktop(GtkWidget *vnc G_GNUC_UNUSED, gint width, gint
static void viewer_set_title(VirtViewer *viewer, gboolean grabbed)
{
char title[1024];
char *title;
const char *subtitle;
if (!viewer->window)
@ -347,10 +347,12 @@ static void viewer_set_title(VirtViewer *viewer, gboolean grabbed)
else
subtitle = "";
snprintf(title, sizeof(title), "%s%s - Virt Viewer",
subtitle, viewer->domtitle);
title = g_strdup_printf("%s%s - Virt Viewer",
subtitle, viewer->domtitle);
gtk_window_set_title(GTK_WINDOW(viewer->window), title);
g_free(title);
}
static gboolean viewer_ignore_accel(GtkWidget *menu G_GNUC_UNUSED,
@ -389,8 +391,8 @@ static void viewer_disable_modifiers(VirtViewer *viewer)
for (i = 0 ; i < LAST_MENU ; i++) {
GtkWidget *menu = glade_xml_get_widget(viewer->glade, menuNames[i]);
viewer->accelMenuSig[i] =
g_signal_connect(GTK_OBJECT(menu), "mnemonic-activate",
GTK_SIGNAL_FUNC(viewer_ignore_accel), viewer);
g_signal_connect(menu, "mnemonic-activate",
G_CALLBACK(viewer_ignore_accel), viewer);
}
viewer->accelEnabled = FALSE;
@ -420,8 +422,7 @@ static void viewer_enable_modifiers(VirtViewer *viewer)
/* This allows menu bar shortcuts like Alt+F == File */
for (i = 0 ; i < LAST_MENU ; i++) {
GtkWidget *menu = glade_xml_get_widget(viewer->glade, menuNames[i]);
g_signal_handler_disconnect(GTK_OBJECT(menu),
viewer->accelMenuSig[i]);
g_signal_handler_disconnect(menu, viewer->accelMenuSig[i]);
}
viewer->accelEnabled = TRUE;
@ -494,7 +495,7 @@ static void viewer_menu_send(GtkWidget *menu G_GNUC_UNUSED, VirtViewer *viewer)
GtkWidget *label = gtk_bin_get_child(GTK_BIN(menu));
const char *text = gtk_label_get_label(GTK_LABEL(label));
for (i = 0 ; i < (sizeof(keyCombos)/sizeof(keyCombos[0])) ; i++) {
for (i = 0 ; i < G_N_ELEMENTS(keyCombos) ; i++) {
if (!strcmp(text, keyCombos[i].label)) {
DEBUG_LOG("Sending key combo %s", gtk_label_get_text(GTK_LABEL(label)));
vnc_display_send_keys(VNC_DISPLAY(viewer->vnc),
@ -1109,27 +1110,27 @@ viewer_start (const char *uri,
vnc_display_set_force_size(VNC_DISPLAY(viewer->vnc), FALSE);
vnc_display_set_scaling(VNC_DISPLAY(viewer->vnc), TRUE);
g_signal_connect(GTK_OBJECT(viewer->vnc), "vnc-connected",
GTK_SIGNAL_FUNC(viewer_connected), viewer);
g_signal_connect(GTK_OBJECT(viewer->vnc), "vnc-initialized",
GTK_SIGNAL_FUNC(viewer_initialized), viewer);
g_signal_connect(GTK_OBJECT(viewer->vnc), "vnc-disconnected",
GTK_SIGNAL_FUNC(viewer_disconnected), viewer);
g_signal_connect(viewer->vnc, "vnc-connected",
G_CALLBACK(viewer_connected), viewer);
g_signal_connect(viewer->vnc, "vnc-initialized",
G_CALLBACK(viewer_initialized), viewer);
g_signal_connect(viewer->vnc, "vnc-disconnected",
G_CALLBACK(viewer_disconnected), viewer);
/* When VNC desktop resizes, we have to resize the containing widget */
g_signal_connect(GTK_OBJECT(viewer->vnc), "vnc-desktop-resize",
GTK_SIGNAL_FUNC(viewer_resize_desktop), viewer);
g_signal_connect(GTK_OBJECT(viewer->vnc), "vnc-pointer-grab",
GTK_SIGNAL_FUNC(viewer_mouse_grab), viewer);
g_signal_connect(GTK_OBJECT(viewer->vnc), "vnc-pointer-ungrab",
GTK_SIGNAL_FUNC(viewer_mouse_ungrab), viewer);
g_signal_connect(GTK_OBJECT(viewer->vnc), "vnc-keyboard-grab",
GTK_SIGNAL_FUNC(viewer_key_grab), viewer);
g_signal_connect(GTK_OBJECT(viewer->vnc), "vnc-keyboard-ungrab",
GTK_SIGNAL_FUNC(viewer_key_ungrab), viewer);
g_signal_connect(viewer->vnc, "vnc-desktop-resize",
G_CALLBACK(viewer_resize_desktop), viewer);
g_signal_connect(viewer->vnc, "vnc-pointer-grab",
G_CALLBACK(viewer_mouse_grab), viewer);
g_signal_connect(viewer->vnc, "vnc-pointer-ungrab",
G_CALLBACK(viewer_mouse_ungrab), viewer);
g_signal_connect(viewer->vnc, "vnc-keyboard-grab",
G_CALLBACK(viewer_key_grab), viewer);
g_signal_connect(viewer->vnc, "vnc-keyboard-ungrab",
G_CALLBACK(viewer_key_ungrab), viewer);
g_signal_connect(GTK_OBJECT(viewer->vnc), "vnc-auth-credential",
GTK_SIGNAL_FUNC(viewer_auth_vnc_credentials), &viewer->vncAddress);
g_signal_connect(viewer->vnc, "vnc-auth-credential",
G_CALLBACK(viewer_auth_vnc_credentials), &viewer->vncAddress);
notebook = glade_xml_get_widget(viewer->glade, "notebook");
@ -1137,8 +1138,8 @@ viewer_start (const char *uri,
align = glade_xml_get_widget(viewer->glade, "vnc-align");
gtk_container_add(GTK_CONTAINER(align), viewer->vnc);
g_signal_connect(GTK_OBJECT(align), "size-allocate",
GTK_SIGNAL_FUNC(viewer_resize_align), viewer);
g_signal_connect(align, "size-allocate",
G_CALLBACK(viewer_resize_align), viewer);
if (container) {
viewer->container = container;
@ -1149,8 +1150,8 @@ viewer_start (const char *uri,
GSList *accels;
viewer->container = window;
viewer->window = window;
g_signal_connect(GTK_OBJECT(window), "delete-event",
GTK_SIGNAL_FUNC(viewer_shutdown), viewer);
g_signal_connect(window, "delete-event",
G_CALLBACK(viewer_shutdown), viewer);
gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
viewer->accelEnabled = TRUE;
accels = gtk_accel_groups_from_object(G_OBJECT(window));