void vinagre_cmd_bookmarks_add (GtkAction *action, VinagreWindow *window) { VinagreTab *tab; VinagreConnection *conn; g_return_if_fail (VINAGRE_IS_WINDOW (window)); tab = vinagre_window_get_active_tab (window); g_return_if_fail (VINAGRE_IS_TAB (tab)); conn = vinagre_tab_get_conn (tab); g_return_if_fail (VINAGRE_IS_CONNECTION (conn)); vinagre_bookmarks_add (vinagre_bookmarks_get_default (), conn, GTK_WINDOW (window)); if (vinagre_window_get_active_tab (window) == tab) { gchar *name = vinagre_connection_get_best_name (conn); vinagre_tab_set_title (tab, name); g_free (name); } }
static void vinagre_connection_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { VinagreConnection *conn; g_return_if_fail (VINAGRE_IS_CONNECTION (object)); conn = VINAGRE_CONNECTION (object); switch (prop_id) { case PROP_PROTOCOL: g_value_set_string (value, conn->priv->protocol); break; case PROP_HOST: g_value_set_string (value, conn->priv->host); break; case PROP_PORT: g_value_set_int (value, conn->priv->port); break; case PROP_USERNAME: g_value_set_string (value, conn->priv->username); break; case PROP_PASSWORD: g_value_set_string (value, conn->priv->password); break; case PROP_FULLSCREEN: g_value_set_boolean (value, conn->priv->fullscreen); break; case PROP_NAME: g_value_set_string (value, conn->priv->name); break; case PROP_BEST_NAME: g_value_set_string (value, vinagre_connection_get_best_name (conn)); break; case PROP_WIDTH: g_value_set_uint (value, conn->priv->width); break; case PROP_HEIGHT: g_value_set_uint (value, conn->priv->height); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
gint vinagre_bookmarks_entry_compare (VinagreBookmarksEntry *a, VinagreBookmarksEntry *b) { gchar *name_a, *name_b; gint result; if (a->priv->node != b->priv->node) return a->priv->node - b->priv->node; if (a->priv->node == VINAGRE_BOOKMARKS_ENTRY_NODE_FOLDER) return g_ascii_strcasecmp (a->priv->name, b->priv->name); name_a = vinagre_connection_get_best_name (a->priv->conn); name_b = vinagre_connection_get_best_name (b->priv->conn); result = g_ascii_strcasecmp (name_a, name_b); g_free (name_a); g_free (name_b); return result; }
static void vinagre_connection_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { VinagreConnection *conn; g_return_if_fail (VINAGRE_IS_CONNECTION (object)); conn = VINAGRE_CONNECTION (object); switch (prop_id) { case PROP_PROTOCOL: g_value_set_enum (value, conn->priv->protocol); break; case PROP_HOST: g_value_set_string (value, conn->priv->host); break; case PROP_PORT: g_value_set_int (value, conn->priv->port); break; case PROP_USERNAME: g_value_set_string (value, conn->priv->username); break; case PROP_PASSWORD: g_value_set_string (value, conn->priv->password); break; case PROP_NAME: g_value_set_string (value, conn->priv->name); break; case PROP_DESKTOP_NAME: g_value_set_string (value, conn->priv->desktop_name); break; case PROP_BEST_NAME: g_value_set_string (value, vinagre_connection_get_best_name (conn)); break; case PROP_ICON: g_value_set_object (value, vinagre_connection_get_icon (conn)); break; case PROP_VIEW_ONLY: g_value_set_boolean (value, conn->priv->view_only); break; case PROP_SCALING: g_value_set_boolean (value, conn->priv->scaling); break; case PROP_FULLSCREEN: g_value_set_boolean (value, conn->priv->fullscreen); break; case PROP_SHARED: g_value_set_int (value, conn->priv->shared); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }