Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2010-02-21 11:29:24 (GMT)
committer Carlos Garcia Campos <carlosgc@gnome.org>2010-02-21 11:29:24 (GMT)
commit8ee88d8e916cb126a0a12e4816b9d1043cbd6472 (patch)
tree2232d5b36f4c451f6e18ee72c06b034b2e9c5478 /shell
parentdb8a118298552769e835c67d29dfe1fa41de698a (diff)
Move get_screen_dpi to libdocument
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-utils.c18
-rw-r--r--shell/ev-utils.h2
-rw-r--r--shell/ev-window.c22
3 files changed, 16 insertions, 26 deletions
diff --git a/shell/ev-utils.c b/shell/ev-utils.c
index d77e91f..8c94f6e 100644
--- a/shell/ev-utils.c
+++ b/shell/ev-utils.c
@@ -303,24 +303,6 @@ get_num_monitors (GtkWindow *window)
return gdk_screen_get_n_monitors (screen);
}
-gdouble
-get_screen_dpi (GtkWindow *window)
-{
- GdkScreen *screen;
- gdouble dp, di;
-
- screen = gtk_window_get_screen (window);
-
- /*diagonal in pixels*/
- dp = hypot (gdk_screen_get_width (screen), gdk_screen_get_height (screen));
-
- /*diagonal in inches*/
- di = hypot (gdk_screen_get_width_mm(screen), gdk_screen_get_height_mm (screen)) / 25.4;
-
- return (dp / di);
-}
-
-
void
file_chooser_dialog_add_writable_pixbuf_formats (GtkFileChooser *chooser)
{
diff --git a/shell/ev-utils.h b/shell/ev-utils.h
index f7c58a7..513f51b 100644
--- a/shell/ev-utils.h
+++ b/shell/ev-utils.h
@@ -39,8 +39,6 @@ void ev_gui_menu_position_tree_selection (GtkMenu *menu,
gint get_num_monitors (GtkWindow * window);
-gdouble get_screen_dpi (GtkWindow * window);
-
void file_chooser_dialog_add_writable_pixbuf_formats (GtkFileChooser *chooser);
GdkPixbufFormat* get_gdk_pixbuf_format_by_extension (gchar *uri);
diff --git a/shell/ev-window.c b/shell/ev-window.c
index 2725739..93f674b 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -62,6 +62,7 @@
#include "ev-document-thumbnails.h"
#include "ev-document-annotations.h"
#include "ev-document-type-builtins.h"
+#include "ev-document-misc.h"
#include "ev-file-exporter.h"
#include "ev-file-helpers.h"
#include "ev-file-monitor.h"
@@ -321,6 +322,15 @@ static guint ev_window_n_copies = 0;
G_DEFINE_TYPE (EvWindow, ev_window, GTK_TYPE_WINDOW)
+static gdouble
+get_screen_dpi (EvWindow *window)
+{
+ GdkScreen *screen;
+
+ screen = gtk_window_get_screen (GTK_WINDOW (window));
+ return ev_document_misc_get_screen_dpi (screen);
+}
+
static void
ev_window_set_action_sensitive (EvWindow *ev_window,
const char *name,
@@ -497,7 +507,7 @@ ev_window_update_actions (EvWindow *ev_window)
ZOOM_CONTROL_ACTION);
real_zoom = ev_document_model_get_scale (ev_window->priv->model);
- real_zoom *= 72.0 / get_screen_dpi (GTK_WINDOW (ev_window));
+ real_zoom *= 72.0 / get_screen_dpi (ev_window);
zoom = ephy_zoom_get_nearest_zoom_level (real_zoom);
ephy_zoom_action_set_zoom_level (EPHY_ZOOM_ACTION (action), zoom);
@@ -982,7 +992,7 @@ setup_model_from_metadata (EvWindow *window)
/* Zoom */
if (ev_document_model_get_sizing_mode (window->priv->model) == EV_SIZING_FREE &&
ev_metadata_get_double (window->priv->metadata, "zoom", &zoom)) {
- zoom *= get_screen_dpi (GTK_WINDOW (window)) / 72.0;
+ zoom *= get_screen_dpi (window) / 72.0;
ev_document_model_set_scale (window->priv->model, zoom);
}
@@ -3711,7 +3721,7 @@ ev_window_screen_changed (GtkWidget *widget,
return;
ev_window_setup_gtk_settings (window);
- dpi = get_screen_dpi (GTK_WINDOW (window));
+ dpi = get_screen_dpi (window);
ev_document_model_set_min_scale (priv->model, MIN_SCALE * dpi / 72.0);
ev_document_model_set_max_scale (priv->model, MAX_SCALE * dpi / 72.0);
@@ -4067,7 +4077,7 @@ ev_window_zoom_changed_cb (EvDocumentModel *model, GParamSpec *pspec, EvWindow *
gdouble zoom;
zoom = ev_document_model_get_scale (model);
- zoom *= 72.0 / get_screen_dpi (GTK_WINDOW (ev_window));
+ zoom *= 72.0 / get_screen_dpi (ev_window);
ev_metadata_set_double (ev_window->priv->metadata, "zoom", zoom);
}
}
@@ -4685,7 +4695,7 @@ zoom_control_changed_cb (EphyZoomAction *action,
if (mode == EV_SIZING_FREE) {
ev_document_model_set_scale (ev_window->priv->model,
- zoom * get_screen_dpi (GTK_WINDOW (ev_window)) / 72.0);
+ zoom * get_screen_dpi (ev_window) / 72.0);
}
}
@@ -6272,7 +6282,7 @@ ev_window_init (EvWindow *ev_window)
ev_window->priv->view = ev_view_new ();
ev_view_set_model (EV_VIEW (ev_window->priv->view), ev_window->priv->model);
- dpi = get_screen_dpi (GTK_WINDOW (ev_window));
+ dpi = get_screen_dpi (ev_window);
ev_document_model_set_min_scale (ev_window->priv->model, MIN_SCALE * dpi / 72.0);
ev_document_model_set_max_scale (ev_window->priv->model, MAX_SCALE * dpi / 72.0);
ev_window->priv->password_view = ev_password_view_new (GTK_WINDOW (ev_window));