+ if (ev_metadata_manager_get (uri, "window_width", &width, TRUE) &&
+ ev_metadata_manager_get (uri, "window_height", &height, TRUE)) {
+ gtk_window_resize (GTK_WINDOW (window),
+ g_value_get_int (&width),
+ g_value_get_int (&height));
+ g_value_unset (&width);
+ g_value_unset (&height);
+ return;
+ }
+
+ if (window->priv->page_cache &&
+ ev_metadata_manager_get (uri, "window_width_ratio", &width_ratio, FALSE) &&
+ ev_metadata_manager_get (uri, "window_height_ratio", &height_ratio, FALSE)) {
+ gint document_width;
+ gint document_height;
+
+ ev_page_cache_get_max_width (window->priv->page_cache,
+ 0, 1.0,
+ &document_width);
+ ev_page_cache_get_max_height (window->priv->page_cache,
+ 0, 1.0,
+ &document_height);
+
+ gtk_window_resize (GTK_WINDOW (window),
+ g_value_get_double (&width_ratio) * document_width,
+ g_value_get_double (&height_ratio) * document_height);
+ g_value_unset (&width_ratio);
+ g_value_unset (&height_ratio);
+ }
+
+}
+
+static void
+setup_view_from_metadata (EvWindow *window)
+{
+ EvView *view = EV_VIEW (window->priv->view);
+ char *uri = window->priv->uri;
+ GEnumValue *enum_value;
+ GValue sizing_mode = { 0, };
+ GValue zoom = { 0, };
+ GValue continuous = { 0, };
+ GValue dual_page = { 0, };
+ GValue presentation = { 0, };
+ GValue fullscreen = { 0, };
+ GValue rotation = { 0, };
+ GValue maximized = { 0, };
+
+ /* Maximized */
+ if (ev_metadata_manager_get (uri, "window_maximized", &maximized, FALSE)) {
+ if (g_value_get_boolean (&maximized)) {
+ gtk_window_maximize (GTK_WINDOW (window));
+ } else {
+ gtk_window_unmaximize (GTK_WINDOW (window));
+ }
+ g_value_unset (&maximized);
+ }
+