Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorllyzs <llyzs.vic@gmail.com>2011-10-29 19:16:04 +0400
committerVic Lee (llyzs) <llyzs@b6cfa94a-2857-405c-b0d6-536ef9fc39e1>2011-10-29 19:16:04 +0400
commitb7069630bcbd4c05f31c239f623dbb1501fe43c0 (patch)
treeeba1717036332f50b40591d85e447ea9987e9851 /remmina
parentc9deedb19dd2d26e4047f1f6fb7577b4df47c939 (diff)
Convert remmina main program to GTK-3.
Diffstat (limited to 'remmina')
-rw-r--r--remmina/configure.ac20
-rw-r--r--remmina/src/remminachainbutton.c40
-rw-r--r--remmina/src/remminachatwindow.c7
-rw-r--r--remmina/src/remminaconnectionwindow.c43
-rw-r--r--remmina/src/remminafileeditor.c39
-rw-r--r--remmina/src/remminaftpclient.c28
-rw-r--r--remmina/src/remminainitdialog.c14
-rw-r--r--remmina/src/remminakeychooser.c2
-rw-r--r--remmina/src/remminamain.c2
-rw-r--r--remmina/src/remminapref.c24
-rw-r--r--remmina/src/remminaprefdialog.c23
-rw-r--r--remmina/src/remminaprotocolwidget.c2
-rw-r--r--remmina/src/remminapublic.c46
-rw-r--r--remmina/src/remminapublic.h2
-rw-r--r--remmina/src/remminascrolledviewport.c16
-rw-r--r--remmina/src/remminasftpclient.c4
-rw-r--r--remmina/src/remminasshplugin.c53
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);