]> www.fi.muni.cz Git - evince.git/blobdiff - libview/ev-annotation-window.c
Updated Thai translation.
[evince.git] / libview / ev-annotation-window.c
index 1991168df35ba424b1cf932c1833e2f73971a373..abbff69b36d8c06bf13ae77115f4890fcb6da5d4 100644 (file)
@@ -16,7 +16,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 #include "config.h"
  */
 
 #include "config.h"
@@ -26,6 +26,7 @@
 #include "ev-annotation-window.h"
 #include "ev-stock-icons.h"
 #include "ev-view-marshal.h"
 #include "ev-annotation-window.h"
 #include "ev-stock-icons.h"
 #include "ev-view-marshal.h"
+#include "ev-document-misc.h"
 
 enum {
        PROP_0,
 
 enum {
        PROP_0,
@@ -83,37 +84,24 @@ send_focus_change (GtkWidget *widget,
 {
        GdkEvent *fevent = gdk_event_new (GDK_FOCUS_CHANGE);
 
 {
        GdkEvent *fevent = gdk_event_new (GDK_FOCUS_CHANGE);
 
-       g_object_ref (widget);
-
-       if (in)
-               GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS);
-       else
-               GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS);
-
        fevent->focus_change.type = GDK_FOCUS_CHANGE;
        fevent->focus_change.type = GDK_FOCUS_CHANGE;
-       fevent->focus_change.window = g_object_ref (widget->window);
+       fevent->focus_change.window = gtk_widget_get_window (widget);
        fevent->focus_change.in = in;
        fevent->focus_change.in = in;
+       if (fevent->focus_change.window)
+               g_object_ref (fevent->focus_change.window);
 
 
-       gtk_widget_event (widget, fevent);
-
-       g_object_notify (G_OBJECT (widget), "has-focus");
+       gtk_widget_send_focus_change (widget, fevent);
 
 
-       g_object_unref (widget);
        gdk_event_free (fevent);
 }
 
 static gdouble
        gdk_event_free (fevent);
 }
 
 static gdouble
-get_screen_dpi (GtkWindow *window)
+get_screen_dpi (EvAnnotationWindow *window)
 {
        GdkScreen *screen;
 {
        GdkScreen *screen;
-       gdouble    xdpi, ydpi;
 
 
-       screen = gtk_window_get_screen (window);
-
-       xdpi = 25.4 * gdk_screen_get_width (screen) / gdk_screen_get_width_mm (screen);
-       ydpi = 25.4 * gdk_screen_get_height (screen) / gdk_screen_get_height_mm (screen);
-
-       return (xdpi + ydpi) / 2.0;
+       screen = gtk_window_get_screen (GTK_WINDOW (window));
+       return ev_document_misc_get_screen_dpi (screen);
 }
 
 static GtkIconSize
 }
 
 static GtkIconSize
@@ -250,10 +238,12 @@ static void
 ev_annotation_window_set_resize_cursor (GtkWidget          *widget,
                                        EvAnnotationWindow *window)
 {
 ev_annotation_window_set_resize_cursor (GtkWidget          *widget,
                                        EvAnnotationWindow *window)
 {
-       if (!widget->window)
+       GdkWindow *gdk_window = gtk_widget_get_window (widget);
+
+       if (!gdk_window)
                return;
 
                return;
 
-       if (GTK_WIDGET_IS_SENSITIVE (widget)) {
+       if (gtk_widget_is_sensitive (widget)) {
                GdkDisplay *display = gtk_widget_get_display (widget);
                GdkCursor  *cursor;
 
                GdkDisplay *display = gtk_widget_get_display (widget);
                GdkCursor  *cursor;
 
@@ -261,10 +251,10 @@ ev_annotation_window_set_resize_cursor (GtkWidget          *widget,
                                                     widget == window->resize_sw ?
                                                     GDK_BOTTOM_LEFT_CORNER :
                                                     GDK_BOTTOM_RIGHT_CORNER);
                                                     widget == window->resize_sw ?
                                                     GDK_BOTTOM_LEFT_CORNER :
                                                     GDK_BOTTOM_RIGHT_CORNER);
-               gdk_window_set_cursor (widget->window, cursor);
+               gdk_window_set_cursor (gdk_window, cursor);
                gdk_cursor_unref (cursor);
        } else {
                gdk_cursor_unref (cursor);
        } else {
-               gdk_window_set_cursor (widget->window, NULL);
+               gdk_window_set_cursor (gdk_window, NULL);
        }
 }
 
        }
 }
 
@@ -292,7 +282,7 @@ ev_annotation_window_init (EvAnnotationWindow *window)
        GtkWidget *icon;
        GtkWidget *swindow;
 
        GtkWidget *icon;
        GtkWidget *swindow;
 
-       GTK_WIDGET_SET_FLAGS (window, GTK_CAN_FOCUS);
+       gtk_widget_set_can_focus (GTK_WIDGET (window), TRUE);
 
        vbox = gtk_vbox_new (FALSE, 0);
 
 
        vbox = gtk_vbox_new (FALSE, 0);
 
@@ -385,7 +375,7 @@ ev_annotation_window_init (EvAnnotationWindow *window)
 
        gtk_container_set_border_width (GTK_CONTAINER (window), 2);
 
 
        gtk_container_set_border_width (GTK_CONTAINER (window), 2);
 
-       gtk_window_set_accept_focus (GTK_WINDOW (window), FALSE);
+       gtk_window_set_accept_focus (GTK_WINDOW (window), TRUE);
        gtk_window_set_decorated (GTK_WINDOW (window), FALSE);
        gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE);
        gtk_window_set_skip_pager_hint (GTK_WINDOW (window), TRUE);
        gtk_window_set_decorated (GTK_WINDOW (window), FALSE);
        gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE);
        gtk_window_set_skip_pager_hint (GTK_WINDOW (window), TRUE);
@@ -423,7 +413,7 @@ ev_annotation_window_constructor (GType                  type,
        rect = window->rect;
 
        /* Rectangle is at doc resolution (72.0) */
        rect = window->rect;
 
        /* Rectangle is at doc resolution (72.0) */
-       scale = get_screen_dpi (GTK_WINDOW (window)) / 72.0;
+       scale = get_screen_dpi (window) / 72.0;
        gtk_window_resize (GTK_WINDOW (window),
                           (gint)((rect->x2 - rect->x1) * scale),
                           (gint)((rect->y2 - rect->y1) * scale));
        gtk_window_resize (GTK_WINDOW (window),
                           (gint)((rect->x2 - rect->x1) * scale),
                           (gint)((rect->y2 - rect->y1) * scale));
@@ -631,7 +621,7 @@ ev_annotation_window_grab_focus (EvAnnotationWindow *window)
 {
        g_return_if_fail (EV_IS_ANNOTATION_WINDOW (window));
 
 {
        g_return_if_fail (EV_IS_ANNOTATION_WINDOW (window));
 
-       if (!GTK_WIDGET_HAS_FOCUS (window->text_view)) {
+       if (!gtk_widget_has_focus (window->text_view)) {
                gtk_widget_grab_focus (GTK_WIDGET (window));
                send_focus_change (window->text_view, TRUE);
        }
                gtk_widget_grab_focus (GTK_WIDGET (window));
                send_focus_change (window->text_view, TRUE);
        }
@@ -642,7 +632,7 @@ ev_annotation_window_ungrab_focus (EvAnnotationWindow *window)
 {
        g_return_if_fail (EV_IS_ANNOTATION_WINDOW (window));
 
 {
        g_return_if_fail (EV_IS_ANNOTATION_WINDOW (window));
 
-       if (GTK_WIDGET_HAS_FOCUS (window->text_view)) {
+       if (gtk_widget_has_focus (window->text_view)) {
                send_focus_change (window->text_view, FALSE);
        }
 
                send_focus_change (window->text_view, FALSE);
        }