diff options
author | llyzs <llyzs.vic@gmail.com> | 2011-10-29 19:16:04 +0400 |
---|---|---|
committer | Vic Lee (llyzs) <llyzs@b6cfa94a-2857-405c-b0d6-536ef9fc39e1> | 2011-10-29 19:16:04 +0400 |
commit | b7069630bcbd4c05f31c239f623dbb1501fe43c0 (patch) | |
tree | eba1717036332f50b40591d85e447ea9987e9851 /remmina | |
parent | c9deedb19dd2d26e4047f1f6fb7577b4df47c939 (diff) |
Convert remmina main program to GTK-3.
Diffstat (limited to 'remmina')
-rw-r--r-- | remmina/configure.ac | 20 | ||||
-rw-r--r-- | remmina/src/remminachainbutton.c | 40 | ||||
-rw-r--r-- | remmina/src/remminachatwindow.c | 7 | ||||
-rw-r--r-- | remmina/src/remminaconnectionwindow.c | 43 | ||||
-rw-r--r-- | remmina/src/remminafileeditor.c | 39 | ||||
-rw-r--r-- | remmina/src/remminaftpclient.c | 28 | ||||
-rw-r--r-- | remmina/src/remminainitdialog.c | 14 | ||||
-rw-r--r-- | remmina/src/remminakeychooser.c | 2 | ||||
-rw-r--r-- | remmina/src/remminamain.c | 2 | ||||
-rw-r--r-- | remmina/src/remminapref.c | 24 | ||||
-rw-r--r-- | remmina/src/remminaprefdialog.c | 23 | ||||
-rw-r--r-- | remmina/src/remminaprotocolwidget.c | 2 | ||||
-rw-r--r-- | remmina/src/remminapublic.c | 46 | ||||
-rw-r--r-- | remmina/src/remminapublic.h | 2 | ||||
-rw-r--r-- | remmina/src/remminascrolledviewport.c | 16 | ||||
-rw-r--r-- | remmina/src/remminasftpclient.c | 4 | ||||
-rw-r--r-- | remmina/src/remminasshplugin.c | 53 |
17 files changed, 169 insertions, 196 deletions
diff --git a/remmina/configure.ac b/remmina/configure.ac index a053a3c0c..4b4927080 100644 --- a/remmina/configure.ac +++ b/remmina/configure.ac @@ -54,11 +54,9 @@ REMMINA_SUBDIRS="include src po desktop icons" # Checks GTK+ version. PKG_CHECK_MODULES(GTK, [ - glib-2.0 >= 2.20.0 - gtk+-2.0 >= 2.16.0 - gmodule-2.0 + gtk+-3.0 ]) -remmina_pkgs="glib-2.0 gtk+-2.0 gmodule-2.0" +remmina_pkgs="gtk+-3.0" # Check libavahi-ui AC_ARG_ENABLE(avahi, @@ -69,14 +67,14 @@ AC_ARG_ENABLE(avahi, if test "x$avahi_support" != "xno"; then PKG_CHECK_MODULES(AVAHI_UI, [ - avahi-ui >= 0.6.22 - avahi-client >= 0.6.22 + avahi-ui-gtk3 >= 0.6.30 + avahi-client >= 0.6.30 ], [ avahi_support="yes" - remmina_pkgs="$remmina_pkgs avahi-ui avahi-client" + remmina_pkgs="$remmina_pkgs avahi-ui-gtk3 avahi-client" AC_DEFINE([HAVE_LIBAVAHI_UI], [1], [Define to 1 if you have the 'avahi-ui' library (-lavahi-ui).]) AC_DEFINE([HAVE_LIBAVAHI_CLIENT], [1], [Define to 1 if you have the 'avahi-client' library (-lavahi-client).]) - ], avahi_support="no. libavahi-ui-dev required." + ], avahi_support="no. libavahi-ui-gtk3-dev required." ) else avahi_support="disabled." @@ -90,11 +88,11 @@ AC_ARG_ENABLE(vte, ) if test "x$vte_support" != "xno"; then PKG_CHECK_MODULES(VTE, - vte >= 0.12.0, [ + vte-2.90, [ vte_support="yes" - remmina_pkgs="$remmina_pkgs vte" + remmina_pkgs="$remmina_pkgs vte-2.90" AC_DEFINE([HAVE_LIBVTE], [1], [Define to 1 if you have the 'vte' library (-lvte).]) - ], vte_support="no. libvte-dev required." + ], vte_support="no. libvte-2.90-dev required." ) else vte_support="disabled." diff --git a/remmina/src/remminachainbutton.c b/remmina/src/remminachainbutton.c index 4334cf88a..20762e9ec 100644 --- a/remmina/src/remminachainbutton.c +++ b/remmina/src/remminachainbutton.c @@ -23,7 +23,7 @@ G_DEFINE_TYPE (RemminaChainButton, remmina_chain_button, GTK_TYPE_TABLE) -static gchar * line_up_xpm[] = { +static const gchar * line_up_xpm[] = { "9 7 3 1", " c None", ". c #A9A5A2", @@ -36,7 +36,7 @@ static gchar * line_up_xpm[] = { " +. ", " "}; -static gchar * line_down_xpm[] = { +static const gchar * line_down_xpm[] = { "9 7 3 1", " c None", ". c #FFFFFF", @@ -49,7 +49,7 @@ static gchar * line_down_xpm[] = { ".....+ ", "+++++ "}; -static gchar * vchain_xpm[] = { +static const gchar * vchain_xpm[] = { "9 24 13 1", " c None", ". c #555753", @@ -89,7 +89,7 @@ static gchar * vchain_xpm[] = { " ", " "}; -static gchar * vchain_broken_xpm[] = { +static const gchar * vchain_broken_xpm[] = { "9 24 13 1", " c None", ". c #555753", @@ -152,14 +152,11 @@ remmina_chain_button_class_init (RemminaChainButtonClass *klass) static void remmina_chain_button_update_chained (RemminaChainButton *cb) { - GdkPixmap *pixmap; - GdkBitmap *mask; - - pixmap = gdk_pixmap_colormap_create_from_xpm_d (NULL, gdk_colormap_get_system (), - &mask, NULL, (cb->chained ? vchain_xpm : vchain_broken_xpm)); - gtk_image_set_from_pixmap (GTK_IMAGE (cb->chain_image), pixmap, mask); - g_object_unref (pixmap); - g_object_unref (mask); + GdkPixbuf *pixbuf; + + pixbuf = gdk_pixbuf_new_from_xpm_data (cb->chained ? vchain_xpm : vchain_broken_xpm); + gtk_image_set_from_pixbuf (GTK_IMAGE (cb->chain_image), pixbuf); + g_object_unref (pixbuf); } static void @@ -176,16 +173,13 @@ remmina_chain_button_init (RemminaChainButton *cb) { GtkWidget *widget; GtkWidget *image; - GdkPixmap *pixmap; - GdkBitmap *mask; + GdkPixbuf *pixbuf; gtk_table_resize (GTK_TABLE (cb), 3, 1); - pixmap = gdk_pixmap_colormap_create_from_xpm_d (NULL, gdk_colormap_get_system (), - &mask, NULL, line_up_xpm); - image = gtk_image_new_from_pixmap (pixmap, mask); - g_object_unref (pixmap); - g_object_unref (mask); + pixbuf = gdk_pixbuf_new_from_xpm_data (line_up_xpm); + image = gtk_image_new_from_pixbuf (pixbuf); + g_object_unref (pixbuf); gtk_widget_show (image); gtk_table_attach_defaults (GTK_TABLE (cb), image, 0, 1, 0, 1); @@ -200,11 +194,9 @@ remmina_chain_button_init (RemminaChainButton *cb) gtk_container_add (GTK_CONTAINER (widget), image); cb->chain_image = image; - pixmap = gdk_pixmap_colormap_create_from_xpm_d (NULL, gdk_colormap_get_system (), - &mask, NULL, line_down_xpm); - image = gtk_image_new_from_pixmap (pixmap, mask); - g_object_unref (pixmap); - g_object_unref (mask); + pixbuf = gdk_pixbuf_new_from_xpm_data (line_down_xpm); + image = gtk_image_new_from_pixbuf (pixbuf); + g_object_unref (pixbuf); gtk_widget_show (image); gtk_table_attach_defaults (GTK_TABLE (cb), image, 0, 1, 2, 3); diff --git a/remmina/src/remminachatwindow.c b/remmina/src/remminachatwindow.c index 5e0d28b55..52238b185 100644 --- a/remmina/src/remminachatwindow.c +++ b/remmina/src/remminachatwindow.c @@ -144,7 +144,7 @@ remmina_chat_window_send (GtkWidget *widget, RemminaChatWindow *window) static gboolean remmina_chat_window_send_text_on_key (GtkWidget *widget, GdkEventKey *event, RemminaChatWindow *window) { - if (event->keyval == GDK_Return) + if (event->keyval == GDK_KEY_Return) { remmina_chat_window_send (widget, window); return TRUE; @@ -162,7 +162,6 @@ remmina_chat_window_new (GtkWindow *parent, const gchar *chat_with) GtkWidget *widget; GtkWidget *image; GtkTextBuffer *buffer; - GtkTextTag *tag; window = REMMINA_CHAT_WINDOW (g_object_new (REMMINA_TYPE_CHAT_WINDOW, NULL)); @@ -198,8 +197,8 @@ remmina_chat_window_new (GtkWindow *parent, const gchar *chat_with) gtk_container_add (GTK_CONTAINER (scrolledwindow), widget); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget)); - tag = gtk_text_buffer_create_tag (buffer, "sender-foreground", "foreground", "blue", NULL); - tag = gtk_text_buffer_create_tag (buffer, "receiver-foreground", "foreground", "red", NULL); + gtk_text_buffer_create_tag (buffer, "sender-foreground", "foreground", "blue", NULL); + gtk_text_buffer_create_tag (buffer, "receiver-foreground", "foreground", "red", NULL); window->history_text = widget; diff --git a/remmina/src/remminaconnectionwindow.c b/remmina/src/remminaconnectionwindow.c index 640ef2dd1..330916fdc 100644 --- a/remmina/src/remminaconnectionwindow.c +++ b/remmina/src/remminaconnectionwindow.c @@ -380,15 +380,19 @@ remmina_connection_holder_toolbar_autofit_restore (RemminaConnectionHolder* cnnh DECLARE_CNNOBJ_WITH_RETURN (FALSE) RemminaConnectionWindowPriv *priv = cnnhld->cnnwin->priv; gint width, height; + GtkAllocation na, ca, ta; if (cnnobj->connected && GTK_IS_SCROLLED_WINDOW (cnnobj->scrolled_container)) { remmina_connection_holder_get_desktop_size (cnnhld, &width, &height, TRUE); + gtk_widget_get_allocation (priv->notebook, &na); + gtk_widget_get_allocation (cnnobj->scrolled_container, &ca); + gtk_widget_get_allocation (priv->toolbar, &ca); gtk_window_resize (GTK_WINDOW (cnnhld->cnnwin), MAX (1, width + - priv->notebook->allocation.width - cnnobj->scrolled_container->allocation.width), - MAX (1, height + priv->toolbar->allocation.height + - priv->notebook->allocation.height - cnnobj->scrolled_container->allocation.height)); + na.width - ca.width), + MAX (1, height + ta.height + + na.height - ca.height)); gtk_container_check_resize (GTK_CONTAINER (cnnhld->cnnwin)); } if (GTK_IS_SCROLLED_WINDOW (cnnobj->scrolled_container)) @@ -630,6 +634,7 @@ remmina_connection_holder_update_alignment (RemminaConnectionHolder* cnnhld) gboolean scale, expand; gint gp_width, gp_height; gint width, height; + GtkAllocation a; scale = remmina_protocol_widget_get_scale (gp); expand = remmina_protocol_widget_get_expand (gp); @@ -640,8 +645,9 @@ remmina_connection_holder_update_alignment (RemminaConnectionHolder* cnnhld) remmina_file_get_int (remminafile, "aspectscale", FALSE) && remmina_file_get_int (remminafile, "hscale", 0) == 0) { - width = cnnobj->alignment->allocation.width; - height = cnnobj->alignment->allocation.height; + gtk_widget_get_allocation (cnnobj->alignment, &a); + width = a.width; + height = a.height; if (width > 1 && height > 1) { if (gp_width * height >= width * gp_height) @@ -805,7 +811,7 @@ remmina_connection_holder_scale_option_on_key (GtkWidget *widget, GdkEventKey *e { switch (event->keyval) { - case GDK_Escape: + case GDK_KEY_Escape: remmina_connection_holder_scale_option_popdown (cnnhld); return TRUE; } @@ -879,10 +885,10 @@ remmina_connection_holder_toolbar_scale_option (GtkWidget *widget, RemminaConnec gtk_widget_show (window); gtk_grab_add (window); - gdk_pointer_grab (window->window, TRUE, + gdk_pointer_grab (gtk_widget_get_window (window), TRUE, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK, NULL, NULL, GDK_CURRENT_TIME); - gdk_keyboard_grab (window->window, TRUE, GDK_CURRENT_TIME); + gdk_keyboard_grab (gtk_widget_get_window (window), TRUE, GDK_CURRENT_TIME); scale_option_window = window; priv->sticky = TRUE; @@ -1790,7 +1796,7 @@ remmina_connection_object_create_scrolled_container (RemminaConnectionObject *cn container = gtk_scrolled_window_new (NULL, NULL); remmina_connection_object_set_scrolled_policy (cnnobj, GTK_SCROLLED_WINDOW (container)); gtk_container_set_border_width (GTK_CONTAINER (container), 0); - GTK_WIDGET_UNSET_FLAGS (container, GTK_CAN_FOCUS); + gtk_widget_set_can_focus (container, FALSE); } g_object_set_data (G_OBJECT (container), "cnnobj", cnnobj); gtk_widget_show (container); @@ -1872,7 +1878,7 @@ remmina_connection_object_append_page (RemminaConnectionObject *cnnobj, GtkNoteb gtk_notebook_set_tab_reorderable (notebook, cnnobj->scrolled_container, TRUE); gtk_notebook_set_tab_detachable (notebook, cnnobj->scrolled_container, TRUE); /* This trick prevents the tab label from being focused */ - GTK_WIDGET_UNSET_FLAGS (gtk_widget_get_parent (tab), GTK_CAN_FOCUS); + gtk_widget_set_can_focus (gtk_widget_get_parent (tab), FALSE); return i; } @@ -1960,7 +1966,7 @@ remmina_connection_holder_on_switch_page_real (gpointer data) } static void -remmina_connection_holder_on_switch_page (GtkNotebook *notebook, GtkNotebookPage *page, guint page_num, RemminaConnectionHolder *cnnhld) +remmina_connection_holder_on_switch_page (GtkNotebook *notebook, GtkWidget *page, guint page_num, RemminaConnectionHolder *cnnhld) { RemminaConnectionWindowPriv *priv = cnnhld->cnnwin->priv; @@ -1985,7 +1991,7 @@ remmina_connection_holder_on_page_added (GtkNotebook *notebook, GtkWidget *child } GtkNotebook* -remmina_connection_holder_create_notebook_func (GtkNotebook *source, GtkWidget *page, gint x, gint y, gpointer data) +remmina_connection_holder_on_notebook_create_window (GtkNotebook *notebook, GtkWidget *page, gint x, gint y, gpointer data) { RemminaConnectionWindow *srccnnwin; RemminaConnectionWindow *dstcnnwin; @@ -1993,7 +1999,7 @@ remmina_connection_holder_create_notebook_func (GtkNotebook *source, GtkWidget * gint srcpagenum; GdkWindow *window; - srccnnwin = REMMINA_CONNECTION_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (source))); + srccnnwin = REMMINA_CONNECTION_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (notebook))); window = gdk_display_get_window_at_pointer (gdk_display_get_default (), &x, &y); dstcnnwin = REMMINA_CONNECTION_WINDOW (remmina_widget_pool_find_by_window (REMMINA_TYPE_CONNECTION_WINDOW, window)); @@ -2024,18 +2030,19 @@ remmina_connection_holder_create_notebook (RemminaConnectionHolder *cnnhld) { GtkWidget *notebook; - gtk_notebook_set_window_creation_hook (remmina_connection_holder_create_notebook_func, NULL, NULL); - notebook = gtk_notebook_new (); gtk_notebook_set_scrollable (GTK_NOTEBOOK (notebook), TRUE); gtk_widget_show (notebook); + + g_signal_connect (G_OBJECT (notebook), "create-window", + G_CALLBACK (remmina_connection_holder_on_notebook_create_window), cnnhld); g_signal_connect (G_OBJECT (notebook), "switch-page", G_CALLBACK (remmina_connection_holder_on_switch_page), cnnhld); g_signal_connect (G_OBJECT (notebook), "page-added", G_CALLBACK (remmina_connection_holder_on_page_added), cnnhld); g_signal_connect (G_OBJECT (notebook), "page-removed", G_CALLBACK (remmina_connection_holder_on_page_added), cnnhld); - GTK_WIDGET_UNSET_FLAGS (notebook, GTK_CAN_FOCUS); + gtk_widget_set_can_focus (notebook, FALSE); return notebook; } @@ -2217,7 +2224,7 @@ remmina_connection_window_hostkey_func (RemminaProtocolWidget *gp, guint keyval, } else if (keyval == remmina_pref.shortcutkey_autofit) { - if (priv->toolitem_autofit && GTK_WIDGET_IS_SENSITIVE (priv->toolitem_autofit)) + if (priv->toolitem_autofit && gtk_widget_is_sensitive (GTK_WIDGET (priv->toolitem_autofit))) { remmina_connection_holder_toolbar_autofit (GTK_WIDGET (gp), cnnhld); } @@ -2236,7 +2243,7 @@ remmina_connection_window_hostkey_func (RemminaProtocolWidget *gp, guint keyval, } else if (keyval == remmina_pref.shortcutkey_scale) { - if (GTK_WIDGET_IS_SENSITIVE (priv->toolitem_scale)) + if (gtk_widget_is_sensitive (GTK_WIDGET (priv->toolitem_scale))) { gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (priv->toolitem_scale), !gtk_toggle_tool_button_get_active (GTK_TOGGLE_TOOL_BUTTON (priv->toolitem_scale))); diff --git a/remmina/src/remminafileeditor.c b/remmina/src/remminafileeditor.c index 2e791bcc2..310bdfeda 100644 --- a/remmina/src/remminafileeditor.c +++ b/remmina/src/remminafileeditor.c @@ -389,9 +389,10 @@ remmina_file_editor_create_password (RemminaFileEditor *gfe, GtkWidget *table, g gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), widget, 0, 1, row, row + 1, GTK_FILL, 0, 0, 0); - widget = gtk_entry_new_with_max_length (100); + widget = gtk_entry_new (); gtk_widget_show (widget); gtk_table_attach_defaults (GTK_TABLE (table), widget, 1, 2, row, row + 1); + gtk_entry_set_max_length (GTK_ENTRY (widget), 100); gtk_entry_set_visibility (GTK_ENTRY (widget), FALSE); gfe->priv->password_entry = widget; @@ -489,9 +490,10 @@ remmina_file_editor_create_text (RemminaFileEditor *gfe, GtkWidget *table, gint gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), widget, col, col + 1, row, row + 1, GTK_FILL, 0, 0, 0); - widget = gtk_entry_new_with_max_length (300); + widget = gtk_entry_new (); gtk_widget_show (widget); gtk_table_attach_defaults (GTK_TABLE (table), widget, col + 1, col + 2, row, row + 1); + gtk_entry_set_max_length (GTK_ENTRY (widget), 300); if (value) gtk_entry_set_text (GTK_ENTRY (widget), value); return widget; @@ -733,7 +735,7 @@ remmina_file_editor_create_ssh_tab (RemminaFileEditor *gfe, RemminaProtocolSSHSe if (ssh_setting == REMMINA_PROTOCOL_SSH_SETTING_SSH || ssh_setting == REMMINA_PROTOCOL_SSH_SETTING_SFTP) { - s = gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->protocol_combo)); + s = remmina_public_combo_get_active_text (GTK_COMBO_BOX (priv->protocol_combo)); table = remmina_file_editor_create_notebook_tab (gfe, GTK_STOCK_DIALOG_AUTHENTICATION, (s ? s : "SSH"), 8, 3); g_free (s); @@ -784,8 +786,9 @@ remmina_file_editor_create_ssh_tab (RemminaFileEditor *gfe, RemminaProtocolSSHSe G_CALLBACK (remmina_file_editor_ssh_server_custom_radio_on_toggled), gfe); priv->ssh_server_custom_radio = widget; - widget = gtk_entry_new_with_max_length (100); + widget = gtk_entry_new (); gtk_widget_show (widget); + gtk_entry_set_max_length (GTK_ENTRY (widget), 100); gtk_widget_set_tooltip_markup (widget, _(server_tips2)); gtk_table_attach_defaults (GTK_TABLE (table), widget, 2, 3, row, row + 1); priv->ssh_server_entry = widget; @@ -965,7 +968,7 @@ remmina_file_editor_protocol_combo_on_changed (GtkComboBox *combo, RemminaFileEd g_hash_table_remove_all (priv->setting_widgets); - protocol = gtk_combo_box_get_active_text (combo); + protocol = remmina_public_combo_get_active_text (combo); if (protocol) { priv->plugin = (RemminaProtocolPlugin *) remmina_plugin_manager_get_plugin (REMMINA_PLUGIN_TYPE_PROTOCOL, protocol); @@ -983,7 +986,7 @@ remmina_file_editor_update_ssh (RemminaFileEditor *gfe) if (priv->ssh_charset_combo) { remmina_file_set_string_ref (priv->remmina_file, "ssh_charset", - gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->ssh_charset_combo))); + remmina_public_combo_get_active_text (GTK_COMBO_BOX (priv->ssh_charset_combo))); } if (g_strcmp0 (remmina_file_get_string (priv->remmina_file, "protocol"), "SFTP") == 0 || @@ -1036,7 +1039,7 @@ remmina_file_editor_update_settings (RemminaFileEditor *gfe) else if (GTK_IS_COMBO_BOX (value)) { remmina_file_set_string_ref (priv->remmina_file, (gchar*) key, - gtk_combo_box_get_active_text (GTK_COMBO_BOX (value))); + remmina_public_combo_get_active_text (GTK_COMBO_BOX (value))); } else if (GTK_IS_FILE_CHOOSER (value)) { @@ -1061,13 +1064,13 @@ remmina_file_editor_update (RemminaFileEditor *gfe) remmina_file_set_string (priv->remmina_file, "name", gtk_entry_get_text (GTK_ENTRY (priv->name_entry))); remmina_file_set_string_ref (priv->remmina_file, "group", (priv->group_combo ? - gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->group_combo)) : NULL)); + remmina_public_combo_get_active_text (GTK_COMBO_BOX (priv->group_combo)) : NULL)); remmina_file_set_string_ref (priv->remmina_file, "protocol", - gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->protocol_combo))); + remmina_public_combo_get_active_text (GTK_COMBO_BOX (priv->protocol_combo))); remmina_file_set_string_ref (priv->remmina_file, "server", (priv->server_combo ? - gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->server_combo)) : NULL)); + remmina_public_combo_get_active_text (GTK_COMBO_BOX (priv->server_combo)) : NULL)); remmina_file_set_string (priv->remmina_file, "password", (priv->password_entry ? gtk_entry_get_text (GTK_ENTRY (priv->password_entry)) : NULL)); @@ -1077,13 +1080,13 @@ remmina_file_editor_update (RemminaFileEditor *gfe) remmina_file_set_string_ref (priv->remmina_file, "resolution", ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->resolution_auto_radio)) ? NULL : - gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->resolution_custom_combo)))); + remmina_public_combo_get_active_text (GTK_COMBO_BOX (priv->resolution_custom_combo)))); } if (priv->keymap_combo) { remmina_file_set_string_ref (priv->remmina_file, "keymap", - gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->keymap_combo))); + remmina_public_combo_get_active_text (GTK_COMBO_BOX (priv->keymap_combo))); } if (priv->scaler_widget) @@ -1184,7 +1187,6 @@ remmina_file_editor_init (RemminaFileEditor *gfe) gtk_dialog_set_alternative_button_order (GTK_DIALOG (gfe), GTK_RESPONSE_OK, GTK_RESPONSE_APPLY, GTK_RESPONSE_CANCEL, -1); gtk_dialog_set_default_response (GTK_DIALOG (gfe), GTK_RESPONSE_OK); - gtk_dialog_set_has_separator (GTK_DIALOG (gfe), FALSE); gtk_window_set_default_size (GTK_WINDOW (gfe), 450, 500); g_signal_connect (G_OBJECT (gfe), @@ -1196,8 +1198,8 @@ remmina_file_editor_init (RemminaFileEditor *gfe) widget = gtk_button_new_with_label (_("Default")); gtk_widget_show (widget); gtk_button_set_image (GTK_BUTTON (widget), gtk_image_new_from_stock (GTK_STOCK_PREFERENCES, GTK_ICON_SIZE_BUTTON)); - gtk_box_pack_start (GTK_BOX (GTK_DIALOG (gfe)->action_area), widget, FALSE, TRUE, 0); - gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (GTK_DIALOG (gfe)->action_area), widget, TRUE); + gtk_box_pack_start (GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (gfe))), widget, FALSE, TRUE, 0); + gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (gtk_dialog_get_action_area (GTK_DIALOG (gfe))), widget, TRUE); g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (remmina_file_editor_on_default), gfe); @@ -1285,7 +1287,7 @@ remmina_file_editor_new_from_file (RemminaFile *remminafile) gtk_table_set_row_spacings (GTK_TABLE (table), 4); gtk_table_set_col_spacings (GTK_TABLE (table), 8); gtk_container_set_border_width (GTK_CONTAINER (table), 8); - gtk_box_pack_start (GTK_BOX (GTK_DIALOG (gfe)->vbox), table, FALSE, FALSE, 2); + gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (gfe))), table, FALSE, FALSE, 2); remmina_public_create_group (GTK_TABLE (table), _("Profile"), 0, 4, 3); @@ -1295,9 +1297,10 @@ remmina_file_editor_new_from_file (RemminaFile *remminafile) gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), widget, 1, 2, 1, 2, GTK_FILL, 0, 0, 0); - widget = gtk_entry_new_with_max_length (100); + widget = gtk_entry_new (); gtk_widget_show (widget); gtk_table_attach_defaults (GTK_TABLE (table), widget, 2, 3, 1, 2); + gtk_entry_set_max_length (GTK_ENTRY (widget), 100); priv->name_entry = widget; if (remmina_file_get_filename (remminafile) == NULL) @@ -1344,7 +1347,7 @@ remmina_file_editor_new_from_file (RemminaFile *remminafile) /* Create the Preference frame */ widget = gtk_event_box_new (); gtk_widget_show (widget); - gtk_box_pack_start (GTK_BOX (GTK_DIALOG (gfe)->vbox), widget, TRUE, TRUE, 2); + gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (gfe))), widget, TRUE, TRUE, 2); priv->config_box = widget; priv->config_container = NULL; diff --git a/remmina/src/remminaftpclient.c b/remmina/src/remminaftpclient.c index 7fd0cf343..74e25e734 100644 --- a/remmina/src/remminaftpclient.c +++ b/remmina/src/remminaftpclient.c @@ -59,13 +59,13 @@ G_DEFINE_TYPE (RemminaCellRendererPixbuf, remmina_cell_renderer_pixbuf, GTK_TYPE static guint remmina_cell_renderer_pixbuf_signals[1] = { 0 }; -gboolean +static gboolean remmina_cell_renderer_pixbuf_activate (GtkCellRenderer *renderer, GdkEvent *event, GtkWidget *widget, const gchar *path, - GdkRectangle *background_area, - GdkRectangle *cell_area, + const GdkRectangle *background_area, + const GdkRectangle *cell_area, GtkCellRendererState flags) { g_signal_emit (G_OBJECT (renderer), remmina_cell_renderer_pixbuf_signals[0], 0, path); @@ -109,16 +109,16 @@ remmina_cell_renderer_pixbuf_new (void) G_DEFINE_TYPE (RemminaFTPClient, remmina_ftp_client, GTK_TYPE_VBOX) #define BUSY_CURSOR \ - if (GDK_IS_WINDOW (GTK_WIDGET (client)->window)) \ + if (GDK_IS_WINDOW (gtk_widget_get_window (GTK_WIDGET (client)))) \ { \ - gdk_window_set_cursor (GTK_WIDGET (client)->window, gdk_cursor_new (GDK_WATCH));\ + gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (client)), gdk_cursor_new (GDK_WATCH));\ gdk_flush (); \ } #define NORMAL_CURSOR \ - if (GDK_IS_WINDOW (GTK_WIDGET (client)->window)) \ + if (GDK_IS_WINDOW (gtk_widget_get_window (GTK_WIDGET (client)))) \ { \ - gdk_window_set_cursor (GTK_WIDGET (client)->window, NULL); \ + gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (client)), NULL); \ } struct _RemminaFTPClientPriv @@ -963,9 +963,9 @@ remmina_ftp_client_init (RemminaFTPClient *client) gtk_paned_pack1 (GTK_PANED (vpaned), vbox, TRUE, FALSE); /* Remote Directory */ - widget = gtk_combo_box_entry_new_text (); + widget = gtk_combo_box_text_new_with_entry (); gtk_widget_show (widget); - gtk_combo_box_append_text (GTK_COMBO_BOX (widget), "/"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "/"); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, TRUE, 0); priv->directory_combo = widget; @@ -1157,14 +1157,16 @@ void remmina_ftp_client_load_state (RemminaFTPClient *client, RemminaFile *remminafile) { gint pos; + GtkAllocation a; pos = remmina_file_get_int (remminafile, "ftp_vpanedpos", 0); if (pos) { - if (client->priv->vpaned->allocation.height > 0 && - pos > client->priv->vpaned->allocation.height - 60) + gtk_widget_get_allocation (client->priv->vpaned, &a); + if (a.height > 0 && + pos > a.height - 60) { - pos = client->priv->vpaned->allocation.height - 60; + pos = a.height - 60; } gtk_paned_set_position (GTK_PANED (client->priv->vpaned), pos); } @@ -1230,7 +1232,7 @@ remmina_ftp_client_set_dir (RemminaFTPClient *client, const gchar *dir) g_free (t); } - gtk_combo_box_prepend_text (GTK_COMBO_BOX (priv->directory_combo), dir); + gtk_combo_box_text_prepend_text (GTK_COMBO_BOX_TEXT (priv->directory_combo), dir); gtk_combo_box_set_active (GTK_COMBO_BOX (priv->directory_combo), 0); g_free (priv->current_directory); diff --git a/remmina/src/remminainitdialog.c b/remmina/src/remminainitdialog.c index baacd3c9c..4fe0d1537 100644 --- a/remmina/src/remminainitdialog.c +++ b/remmina/src/remminainitdialog.c @@ -83,7 +83,7 @@ remmina_init_dialog_init (RemminaInitDialog *dialog) hbox = gtk_hbox_new (FALSE, 4); gtk_widget_show (hbox); gtk_container_set_border_width (GTK_CONTAINER (hbox), 15); - gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), hbox, TRUE, TRUE, 0); /* Icon */ widget = gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG); @@ -199,9 +199,10 @@ remmina_init_dialog_authpwd (RemminaInitDialog *dialog, gtk_widget_show (widget); gtk_table_attach (GTK_TABLE (table), widget, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); - password_entry = gtk_entry_new_with_max_length (100); + password_entry = gtk_entry_new (); gtk_widget_show (password_entry); gtk_table_attach_defaults (GTK_TABLE (table), password_entry, 1, 2, 0, 1); + gtk_entry_set_max_length (GTK_ENTRY (password_entry), 100); gtk_entry_set_visibility (GTK_ENTRY (password_entry), FALSE); gtk_entry_set_activates_default (GTK_ENTRY (password_entry), TRUE); @@ -272,9 +273,10 @@ remmina_init_dialog_authuserpwd (RemminaInitDialog *dialog, gboolean want_domain gtk_widget_show (widget); gtk_table_attach (GTK_TABLE (table), widget, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); - username_entry = gtk_entry_new_with_max_length (100); + username_entry = gtk_entry_new (); gtk_widget_show (username_entry); gtk_table_attach_defaults (GTK_TABLE (table), username_entry, 1, 2, 0, 1); + gtk_entry_set_max_length (GTK_ENTRY (username_entry), 100); if (default_username && default_username[0] != '\0') { gtk_entry_set_text (GTK_ENTRY (username_entry), default_username); @@ -285,9 +287,10 @@ remmina_init_dialog_authuserpwd (RemminaInitDialog *dialog, gboolean want_domain gtk_widget_show (widget); gtk_table_attach (GTK_TABLE (table), widget, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); - password_entry = gtk_entry_new_with_max_length (100); + password_entry = gtk_entry_new (); gtk_widget_show (password_entry); gtk_table_attach_defaults (GTK_TABLE (table), password_entry, 1, 2, 1, 2); + gtk_entry_set_max_length (GTK_ENTRY (password_entry), 100); gtk_entry_set_visibility (GTK_ENTRY (password_entry), FALSE); gtk_entry_set_activates_default (GTK_ENTRY (password_entry), TRUE); @@ -310,9 +313,10 @@ remmina_init_dialog_authuserpwd (RemminaInitDialog *dialog, gboolean want_domain gtk_widget_show (widget); gtk_table_attach (GTK_TABLE (table), widget, 0, 1, 3, 4, GTK_FILL, 0, 0, 0); - domain_entry = gtk_entry_new_with_max_length (100); + domain_entry = gtk_entry_new (); gtk_widget_show (domain_entry); gtk_table_attach_defaults (GTK_TABLE (table), domain_entry, 1, 2, 3, 4); + gtk_entry_set_max_length (GTK_ENTRY (domain_entry), 100); if (default_domain && default_domain[0] != '\0') { gtk_entry_set_text (GTK_ENTRY (domain_entry), default_domain); diff --git a/remmina/src/remminakeychooser.c b/remmina/src/remminakeychooser.c index ae7e0169b..9e5ddaa53 100644 --- a/remmina/src/remminakeychooser.c +++ b/remmina/src/remminakeychooser.c @@ -80,7 +80,7 @@ remmina_key_chooser_on_clicked (RemminaKeyChooser *kc, gpointer data) gtk_widget_add_events (eventbox, GDK_KEY_PRESS_MASK); g_signal_connect (G_OBJECT (eventbox), "key-press-event", G_CALLBACK (remmina_key_chooser_dialog_on_key_press), kc); - GTK_WIDGET_SET_FLAGS (eventbox, GTK_CAN_FOCUS); + gtk_widget_set_can_focus (eventbox, TRUE); widget = gtk_label_new (_("Please press the new key...")); gtk_misc_set_alignment (GTK_MISC (widget), 0.5, 0.5); diff --git a/remmina/src/remminamain.c b/remmina/src/remminamain.c index adb6a6fa0..ffc764ddb 100644 --- a/remmina/src/remminamain.c +++ b/remmina/src/remminamain.c @@ -1089,7 +1089,7 @@ remmina_main_on_drag_data_received (RemminaMain *remminamain, GdkDragContext *dr GSList *files = NULL; gint i; - uris = g_uri_list_extract_uris ((gchar *) data->data); + uris = g_uri_list_extract_uris ((const gchar *) gtk_selection_data_get_data (data)); for (i = 0; uris[i]; i++) { if (strncmp (uris[i], "file://", 7) != 0) continue; diff --git a/remmina/src/remminapref.c b/remmina/src/remminapref.c index 5078a6d3c..341117725 100644 --- a/remmina/src/remminapref.c +++ b/remmina/src/remminapref.c @@ -311,52 +311,52 @@ remmina_pref_init (void) if (g_key_file_has_key (gkeyfile, "remmina_pref", "hostkey", NULL)) remmina_pref.hostkey = g_key_file_get_integer (gkeyfile, "remmina_pref", "hostkey", NULL); else - remmina_pref.hostkey = GDK_Control_R; + remmina_pref.hostkey = GDK_KEY_Control_R; if (g_key_file_has_key (gkeyfile, "remmina_pref", "shortcutkey_fullscreen", NULL)) remmina_pref.shortcutkey_fullscreen = g_key_file_get_integer (gkeyfile, "remmina_pref", "shortcutkey_fullscreen", NULL); else - remmina_pref.shortcutkey_fullscreen = GDK_f; + remmina_pref.shortcutkey_fullscreen = GDK_KEY_f; if (g_key_file_has_key (gkeyfile, "remmina_pref", "shortcutkey_autofit", NULL)) remmina_pref.shortcutkey_autofit = g_key_file_get_integer (gkeyfile, "remmina_pref", "shortcutkey_autofit", NULL); else - remmina_pref.shortcutkey_autofit = GDK_1; + remmina_pref.shortcutkey_autofit = GDK_KEY_1; if (g_key_file_has_key (gkeyfile, "remmina_pref", "shortcutkey_nexttab", NULL)) remmina_pref.shortcutkey_nexttab = g_key_file_get_integer (gkeyfile, "remmina_pref", "shortcutkey_nexttab", NULL); else - remmina_pref.shortcutkey_nexttab = GDK_Right; + remmina_pref.shortcutkey_nexttab = GDK_KEY_Right; if (g_key_file_has_key (gkeyfile, "remmina_pref", "shortcutkey_prevtab", NULL)) remmina_pref.shortcutkey_prevtab = g_key_file_get_integer (gkeyfile, "remmina_pref", "shortcutkey_prevtab", NULL); else - remmina_pref.shortcutkey_prevtab = GDK_Left; + remmina_pref.shortcutkey_prevtab = GDK_KEY_Left; if (g_key_file_has_key (gkeyfile, "remmina_pref", "shortcutkey_scale", NULL)) remmina_pref.shortcutkey_scale = g_key_file_get_integer (gkeyfile, "remmina_pref", "shortcutkey_scale", NULL); else - remmina_pref.shortcutkey_scale = GDK_s; + remmina_pref.shortcutkey_scale = GDK_KEY_s; if (g_key_file_has_key (gkeyfile, "remmina_pref", "shortcutkey_grab", NULL)) remmina_pref.shortcutkey_grab = g_key_file_get_integer (gkeyfile, "remmina_pref", "shortcutkey_grab", NULL); else - remmina_pref.shortcutkey_grab = GDK_Control_R; + remmina_pref.shortcutkey_grab = GDK_KEY_Control_R; if (g_key_file_has_key (gkeyfile, "remmina_pref", "shortcutkey_minimize", NULL)) remmina_pref.shortcutkey_minimize = g_key_file_get_integer (gkeyfile, "remmina_pref", "shortcutkey_minimize", NULL); else - remmina_pref.shortcutkey_minimize = GDK_F9; + remmina_pref.shortcutkey_minimize = GDK_KEY_F9; if (g_key_file_has_key (gkeyfile, "remmina_pref", "shortcutkey_disconnect", NULL)) remmina_pref.shortcutkey_disconnect = g_key_file_get_integer (gkeyfile, "remmina_pref", "shortcutkey_disconnect", NULL); else - remmina_pref.shortcutkey_disconnect = GDK_F4; + remmina_pref.shortcutkey_disconnect = GDK_KEY_F4; if (g_key_file_has_key (gkeyfile, "remmina_pref", "shortcutkey_toolbar", NULL)) remmina_pref.shortcutkey_toolbar = g_key_file_get_integer (gkeyfile, "remmina_pref", "shortcutkey_toolbar", NULL); else - remmina_pref.shortcutkey_toolbar = GDK_t; + remmina_pref.shortcutkey_toolbar = GDK_KEY_t; if (g_key_file_has_key (gkeyfile, "remmina_pref", "secret", NULL)) remmina_pref.secret = g_key_file_get_string (gkeyfile, "remmina_pref", "secret", NULL); @@ -381,12 +381,12 @@ remmina_pref_init (void) if (g_key_file_has_key (gkeyfile, "remmina_pref", "vte_shortcutkey_copy", NULL)) remmina_pref.vte_shortcutkey_copy = g_key_file_get_integer (gkeyfile, "remmina_pref", "vte_shortcutkey_copy", NULL); else - remmina_pref.vte_shortcutkey_copy = GDK_c; + remmina_pref.vte_shortcutkey_copy = GDK_KEY_c; if (g_key_file_has_key (gkeyfile, "remmina_pref", "vte_shortcutkey_paste", NULL)) remmina_pref.vte_shortcutkey_paste = g_key_file_get_integer (gkeyfile, "remmina_pref", "vte_shortcutkey_paste", NULL); else - remmina_pref.vte_shortcutkey_paste = GDK_v; + remmina_pref.vte_shortcutkey_paste = GDK_KEY_v; g_key_file_free (gkeyfile); diff --git a/remmina/src/remminaprefdialog.c b/remmina/src/remminaprefdialog.c index 446b1002f..b6671a30b 100644 --- a/remmina/src/remminaprefdialog.c +++ b/remmina/src/remminaprefdialog.c @@ -188,16 +188,16 @@ remmina_pref_dialog_destroy (GtkWidget *widget, gpointer data) remmina_pref.always_show_tab = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->always_show_tab_check)); remmina_pref.hide_connection_toolbar = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->hide_connection_toolbar_check)); - s = gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->default_action_combo)); + s = remmina_public_combo_get_active_text (GTK_COMBO_BOX (priv->default_action_combo)); remmina_pref.default_action = atoi (s); g_free (s); - s = gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->default_mode_combo)); + s = remmina_public_combo_get_active_text (GTK_COMBO_BOX (priv->default_mode_combo)); remmina_pref.default_mode = atoi (s); g_free (s); - s = gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->tab_mode_combo)); + s = remmina_public_combo_get_active_text (GTK_COMBO_BOX (priv->tab_mode_combo)); remmina_pref.tab_mode = atoi (s); g_free (s); - s = gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->scale_quality_combo)); + s = remmina_public_combo_get_active_text (GTK_COMBO_BOX (priv->scale_quality_combo)); remmina_pref.scale_quality = atoi (s); g_free (s); @@ -333,14 +333,13 @@ remmina_pref_dialog_init (RemminaPrefDialog *dialog) widget = gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE); g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (remmina_pref_dialog_on_close_clicked), dialog); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE); - gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE); g_signal_connect (G_OBJECT (dialog), "destroy", G_CALLBACK (remmina_pref_dialog_destroy), NULL); /* Create the notebook */ notebook = gtk_notebook_new (); gtk_widget_show (notebook); - gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), notebook, TRUE, TRUE, 4); + gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), notebook, TRUE, TRUE, 4); gtk_container_set_border_width (GTK_CONTAINER (notebook), 4); priv->notebook = notebook; @@ -442,9 +441,10 @@ remmina_pref_dialog_init (RemminaPrefDialog *dialog) gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), widget, 0, 1, 9, 10); - widget = gtk_entry_new_with_max_length (5); + widget = gtk_entry_new (); gtk_widget_show (widget); gtk_table_attach_defaults (GTK_TABLE (table), widget, 1, 2, 9, 10); + gtk_entry_set_max_length (GTK_ENTRY (widget), 5); g_snprintf (buf, sizeof (buf), "%i", remmina_pref.sshtunnel_port); gtk_entry_set_text (GTK_ENTRY (widget), buf); priv->sshtunnel_port_entry = widget; @@ -454,9 +454,10 @@ remmina_pref_dialog_init (RemminaPrefDialog *dialog) gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), widget, 0, 1, 10, 11); - widget = gtk_entry_new_with_max_length (3); + widget = gtk_entry_new (); gtk_widget_show (widget); gtk_table_attach_defaults (GTK_TABLE (table), widget, 1, 2, 10, 11); + gtk_entry_set_max_length (GTK_ENTRY (widget), 3); g_snprintf (buf, sizeof (buf), "%i", remmina_pref.auto_scroll_step); gtk_entry_set_text (GTK_ENTRY (widget), buf); priv->auto_scroll_step_entry = widget; @@ -470,9 +471,10 @@ remmina_pref_dialog_init (RemminaPrefDialog *dialog) gtk_widget_show (hbox); gtk_table_attach_defaults (GTK_TABLE (table), hbox, 1, 2, 11, 12); - widget = gtk_entry_new_with_max_length (2); + widget = gtk_entry_new (); gtk_widget_show (widget); gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); + gtk_entry_set_max_length (GTK_ENTRY (widget), 2); g_snprintf (buf, sizeof (buf), "%i", remmina_pref.recent_maximum); gtk_entry_set_text (GTK_ENTRY (widget), buf); priv->recent_maximum_entry = widget; @@ -725,9 +727,10 @@ remmina_pref_dialog_init (RemminaPrefDialog *dialog) gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), widget, 0, 1, 3, 4, GTK_FILL, 0, 0, 0); - widget = gtk_entry_new_with_max_length (5); + widget = gtk_entry_new (); gtk_widget_show (widget); gtk_table_attach_defaults (GTK_TABLE (table), widget, 1, 2, 3, 4); + gtk_entry_set_max_length (GTK_ENTRY (widget), 5); g_snprintf (buf, sizeof (buf), "%i", remmina_pref.vte_lines); gtk_entry_set_text (GTK_ENTRY (widget), buf); priv->vte_lines_entry = widget; diff --git a/remmina/src/remminaprotocolwidget.c b/remmina/src/remminaprotocolwidget.c index 223d694bb..8709d2625 100644 --- a/remmina/src/remminaprotocolwidget.c +++ b/remmina/src/remminaprotocolwidget.c @@ -166,7 +166,7 @@ remmina_protocol_widget_grab_focus (RemminaProtocolWidget *gp) child = gtk_bin_get_child (GTK_BIN (gp)); if (child) { - GTK_WIDGET_SET_FLAGS (child, GTK_CAN_FOCUS); + gtk_widget_set_can_focus (child, TRUE); gtk_widget_grab_focus (child); } } diff --git a/remmina/src/remminapublic.c b/remmina/src/remminapublic.c index 74c0f3b57..b6bc6b4fe 100644 --- a/remmina/src/remminapublic.c +++ b/remmina/src/remminapublic.c @@ -49,7 +49,7 @@ remmina_public_create_combo_entry (const gchar *text, const gchar *def, gboolean gchar *buf, *ptr1, *ptr2; gint i; - combo = gtk_combo_box_entry_new_text (); + combo = gtk_combo_box_text_new_with_entry (); found = FALSE; if (text && text[0] != '\0') @@ -64,7 +64,7 @@ remmina_public_create_combo_entry (const gchar *text, const gchar *def, gboolean if (descending) { - gtk_combo_box_prepend_text (GTK_COMBO_BOX (combo), ptr1); + gtk_combo_box_text_prepend_text (GTK_COMBO_BOX_TEXT (combo), ptr1); if (!found && g_strcmp0 (ptr1, def) == 0) { gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0); @@ -73,7 +73,7 @@ remmina_public_create_combo_entry (const gchar *text, const gchar *def, gboolean } else { - gtk_combo_box_append_text (GTK_COMBO_BOX (combo), ptr1); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), ptr1); if (!found && g_strcmp0 (ptr1, def) == 0) { gtk_combo_box_set_active (GTK_COMBO_BOX (combo), i); @@ -249,26 +249,48 @@ remmina_public_create_group (GtkTable* table, const gchar *group, gint row, gint gtk_table_attach (table, widget, 0, 1, row + 1, row + rows, 0, 0, 0, 0); } +gchar* +remmina_public_combo_get_active_text (GtkComboBox *combo) +{ + GtkTreeModel *model; + GtkTreeIter iter; + gchar *s; + + if (GTK_IS_COMBO_BOX_TEXT (combo)) + { + return gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (combo)); + } + + if (!gtk_combo_box_get_active_iter (combo, &iter)) return NULL; + + model = gtk_combo_box_get_model (combo); + gtk_tree_model_get (model, &iter, 0, &s, -1); + + return s; +} + void remmina_public_popup_position (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data) { GtkWidget *widget; gint tx, ty; + GtkAllocation allocation; widget = GTK_WIDGET (user_data); - if (widget->window == NULL) + if (gtk_widget_get_window (widget) == NULL) { *x = 0; *y = 0; *push_in = TRUE; return; } - gdk_window_get_origin (widget->window, &tx, &ty); - if (GTK_WIDGET_NO_WINDOW (widget)) + gdk_window_get_origin (gtk_widget_get_window (widget), &tx, &ty); + gtk_widget_get_allocation (widget, &allocation); + if (gtk_widget_get_has_window (widget)) { - tx += widget->allocation.x; - ty += widget->allocation.y; + tx += allocation.x; + ty += allocation.y; } *x = tx; - *y = ty + widget->allocation.height - 1; + *y = ty + allocation.height - 1; *push_in = TRUE; } @@ -452,10 +474,10 @@ remmina_public_get_window_workspace (GtkWindow *gtkwindow) guint ret = 0; g_return_val_if_fail (GTK_IS_WINDOW (gtkwindow), 0); - g_return_val_if_fail (GTK_WIDGET_REALIZED (GTK_WIDGET (gtkwindow)), 0); + g_return_val_if_fail (gtk_widget_get_realized (GTK_WIDGET (gtkwindow)), 0); - window = GTK_WIDGET (gtkwindow)->window; - display = gdk_drawable_get_display (window); + window = gtk_widget_get_window (GTK_WIDGET (gtkwindow)); + display = gdk_window_get_display (window); gdk_error_trap_push (); result = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XID (window), diff --git a/remmina/src/remminapublic.h b/remmina/src/remminapublic.h index 29ea2ce6b..84099b375 100644 --- a/remmina/src/remminapublic.h +++ b/remmina/src/remminapublic.h @@ -60,6 +60,8 @@ GtkWidget* remmina_public_create_combo_mapint (const gpointer *key_value_list, g void remmina_public_create_group (GtkTable* table, const gchar *group, gint row, gint rows, gint cols); +gchar* remmina_public_combo_get_active_text (GtkComboBox *combo); + /* A function for gtk_menu_popup to get the position right below the widget specified by user_data */ void remmina_public_popup_position (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data); diff --git a/remmina/src/remminascrolledviewport.c b/remmina/src/remminascrolledviewport.c index 8a6bfa42d..4ad2c67de 100644 --- a/remmina/src/remminascrolledviewport.c +++ b/remmina/src/remminascrolledviewport.c @@ -56,7 +56,7 @@ remmina_scrolled_viewport_motion_timeout (gpointer data) gint step = MAX (10, MIN (remmina_pref.auto_scroll_step, w / 5)); adj = gtk_viewport_get_hadjustment (GTK_VIEWPORT (child)); value = gtk_adjustment_get_value (GTK_ADJUSTMENT (adj)) + (gdouble) (mx * step); - value = MAX (0, MIN (value, adj->upper - (gdouble) w + 2.0)); + value = MAX (0, MIN (value, gtk_adjustment_get_upper (GTK_ADJUSTMENT (adj)) - (gdouble) w + 2.0)); gtk_adjustment_set_value (GTK_ADJUSTMENT (adj), value); } if (my != 0) @@ -64,7 +64,7 @@ remmina_scrolled_viewport_motion_timeout (gpointer data) gint step = MAX (10, MIN (remmina_pref.auto_scroll_step, h / 5)); adj = gtk_viewport_get_vadjustment (GTK_VIEWPORT (child)); value = gtk_adjustment_get_value (GTK_ADJUSTMENT (adj)) + (gdouble) (my * step); - value = MAX (0, MIN (value, adj->upper - (gdouble) h + 2.0)); + value = MAX (0, MIN (value, gtk_adjustment_get_upper (GTK_ADJUSTMENT (adj)) - (gdouble) h + 2.0)); gtk_adjustment_set_value (GTK_ADJUSTMENT (adj), value); } return TRUE; @@ -93,19 +93,8 @@ remmina_scrolled_viewport_destroy (GtkWidget *widget, gpointer data) } static void -remmina_scrolled_viewport_size_request (GtkWidget *widget, GtkRequisition *requisition) -{ - requisition->width = 1; - requisition->height = 1; -} - -static void remmina_scrolled_viewport_class_init (RemminaScrolledViewportClass *klass) { - GtkWidgetClass *widget_class; - - widget_class = (GtkWidgetClass*) klass; - widget_class->size_request = remmina_scrolled_viewport_size_request; } static void @@ -134,6 +123,7 @@ remmina_scrolled_viewport_new (void) gsv->viewport_motion = FALSE; gsv->viewport_motion_handler = 0; + gtk_widget_set_size_request (GTK_WIDGET (gsv), 1, 1); gtk_widget_add_events (GTK_WIDGET (gsv), GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); g_signal_connect (G_OBJECT (gsv), "destroy", G_CALLBACK (remmina_scrolled_viewport_destroy), NULL); diff --git a/remmina/src/remminasftpclient.c b/remmina/src/remminasftpclient.c index 6c99dd23b..06f414917 100644 --- a/remmina/src/remminasftpclient.c +++ b/remmina/src/remminasftpclient.c @@ -38,9 +38,9 @@ G_DEFINE_TYPE (RemminaSFTPClient, remmina_sftp_client, REMMINA_TYPE_FTP_CLIENT) #define SET_CURSOR(cur) \ - if (GDK_IS_WINDOW (GTK_WIDGET (client)->window)) \ + if (GDK_IS_WINDOW (gtk_widget_get_window (GTK_WIDGET (client)))) \ { \ - gdk_window_set_cursor (GTK_WIDGET (client)->window, cur); \ + gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (client)), cur); \ } static void diff --git a/remmina/src/remminasshplugin.c b/remmina/src/remminasshplugin.c index af12c8011..040ce654b 100644 --- a/remmina/src/remminasshplugin.c +++ b/remmina/src/remminasshplugin.c @@ -35,55 +35,6 @@ #define REMMINA_PLUGIN_SSH_FEATURE_TOOL_COPY 1 #define REMMINA_PLUGIN_SSH_FEATURE_TOOL_PASTE 2 -/***** A VTE-Terminal subclass to override the size_request behavior *****/ -#define REMMINA_TYPE_VTE (remmina_vte_get_type ()) -#define REMMINA_VTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), REMMINA_TYPE_VTE, RemminaVte)) -#define REMMINA_VTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), REMMINA_TYPE_VTE, RemminaVteClass)) -#define REMMINA_IS_VTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), REMMINA_TYPE_VTE)) -#define REMMINA_IS_VTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), REMMINA_TYPE_VTE)) -#define REMMINA_VTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), REMMINA_TYPE_VTE, RemminaVteClass)) - -typedef struct _RemminaVte -{ - VteTerminal vte; -} RemminaVte; - -typedef struct _RemminaVteClass -{ - VteTerminalClass parent_class; -} RemminaVteClass; - -GType remmina_vte_get_type (void) G_GNUC_CONST; - -G_DEFINE_TYPE (RemminaVte, remmina_vte, VTE_TYPE_TERMINAL) - -static void -remmina_vte_size_request (GtkWidget *widget, GtkRequisition *requisition) -{ - requisition->width = -1; - requisition->height = -1; -} - -static void -remmina_vte_class_init (RemminaVteClass *klass) -{ - GtkWidgetClass *widget_class; - - widget_class = GTK_WIDGET_CLASS (klass); - widget_class->size_request = remmina_vte_size_request; -} - -static void -remmina_vte_init (RemminaVte *vte) -{ -} - -static GtkWidget* -remmina_vte_new (void) -{ - return GTK_WIDGET (g_object_new (REMMINA_TYPE_VTE, NULL)); -} - /***** The SSH plugin implementation *****/ typedef struct _RemminaPluginSshData { @@ -198,7 +149,7 @@ remmina_plugin_ssh_on_size_allocate (GtkWidget *widget, GtkAllocation *alloc, Re RemminaPluginSshData *gpdata; gint cols, rows; - if (!GTK_WIDGET_MAPPED (widget)) return FALSE; + if (!gtk_widget_get_mapped (widget)) return FALSE; gpdata = (RemminaPluginSshData*) g_object_get_data (G_OBJECT (gp), "plugin-data"); @@ -243,7 +194,7 @@ remmina_plugin_ssh_init (RemminaProtocolWidget *gp) gtk_container_add (GTK_CONTAINER (gp), hbox); g_signal_connect (G_OBJECT (hbox), "focus-in-event", G_CALLBACK (remmina_plugin_ssh_on_focus_in), gp); - vte = remmina_vte_new (); + vte = vte_terminal_new (); gtk_widget_show (vte); vte_terminal_set_size (VTE_TERMINAL (vte), 80, 25); vte_terminal_set_scroll_on_keystroke (VTE_TERMINAL (vte), TRUE); |