]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkprintsettings.c
/tmp/cvsX7MHVx
[~andy/gtk] / gtk / gtkprintsettings.c
index 3ef6f62b9e6c6f0e211a7561d35bb2774a014512..bee1913a122a806f345fcf8191d2bd30f8d95c56 100644 (file)
 #include <stdlib.h>
 #include <glib/gprintf.h>
 #include "gtkprintsettings.h"
+#include "gtkprintutils.h"
 #include "gtkalias.h"
 
-#define MM_PER_INCH 25.4
-#define POINTS_PER_INCH 72
 
 typedef struct _GtkPrintSettingsClass GtkPrintSettingsClass;
 
@@ -48,44 +47,6 @@ struct _GtkPrintSettingsClass
 
 G_DEFINE_TYPE (GtkPrintSettings, gtk_print_settings, G_TYPE_OBJECT)
 
-static gdouble
-to_mm (gdouble len, GtkUnit unit)
-{
-  switch (unit)
-    {
-    case GTK_UNIT_MM:
-      return len;
-    case GTK_UNIT_INCH:
-      return len * MM_PER_INCH;
-    default:
-    case GTK_UNIT_PIXEL:
-      g_warning ("Unsupported unit");
-      /* Fall through */
-    case GTK_UNIT_POINTS:
-      return len * (MM_PER_INCH / POINTS_PER_INCH);
-      break;
-    }
-}
-
-static gdouble
-from_mm (gdouble len, GtkUnit unit)
-{
-  switch (unit)
-    {
-    case GTK_UNIT_MM:
-      return len;
-    case GTK_UNIT_INCH:
-      return len / MM_PER_INCH;
-    default:
-    case GTK_UNIT_PIXEL:
-      g_warning ("Unsupported unit");
-      /* Fall through */
-    case GTK_UNIT_POINTS:
-      return len / (MM_PER_INCH / POINTS_PER_INCH);
-      break;
-    }
-}
-
 static void
 gtk_print_settings_finalize (GObject *object)
 {
@@ -417,14 +378,14 @@ gtk_print_settings_get_length (GtkPrintSettings *settings,
                               GtkUnit           unit)
 {
   gdouble length = gtk_print_settings_get_double (settings, key);
-  return from_mm (length, unit);
+  return _gtk_print_convert_from_mm (length, unit);
 }
 
 /**
  * gtk_print_settings_set_length:
  * @settings: a #GtkPrintSettings
  * @key: a key
- * @length: a length
+ * @value: a length
  * @unit: the unit of @length
  * 
  * Associates a length in units of @unit with @key.
@@ -434,11 +395,11 @@ gtk_print_settings_get_length (GtkPrintSettings *settings,
 void
 gtk_print_settings_set_length (GtkPrintSettings *settings,
                               const gchar      *key,
-                              gdouble           length
+                              gdouble           value
                               GtkUnit           unit)
 {
   gtk_print_settings_set_double (settings, key,
-                                to_mm (length, unit));
+                                _gtk_print_convert_to_mm (value, unit));
 }
 
 /**
@@ -982,7 +943,7 @@ gtk_print_settings_get_quality (GtkPrintSettings *settings)
 /**
  * gtk_print_settings_set_quality:
  * @settings: a #GtkPrintSettings
- * @duplex: a #GtkPrintQuality value
+ * @quality: a #GtkPrintQuality value
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_QUALITY.
  * 
@@ -1076,35 +1037,35 @@ gtk_print_settings_set_page_set (GtkPrintSettings *settings,
 }
 
 /**
- * gtk_print_settings_get_num_copies:
+ * gtk_print_settings_get_n_copies:
  * @settings: a #GtkPrintSettings
  * 
- * Gets the value of %GTK_PRINT_SETTINGS_NUM_COPIES.
+ * Gets the value of %GTK_PRINT_SETTINGS_N_COPIES.
  * 
  * Return value: the number of copies to print
  *
  * Since: 2.10
  */
 gint
-gtk_print_settings_get_num_copies (GtkPrintSettings *settings)
+gtk_print_settings_get_n_copies (GtkPrintSettings *settings)
 {
-  return gtk_print_settings_get_int_with_default (settings, GTK_PRINT_SETTINGS_NUM_COPIES, 1);
+  return gtk_print_settings_get_int_with_default (settings, GTK_PRINT_SETTINGS_N_COPIES, 1);
 }
 
 /**
- * gtk_print_settings_set_num_copies:
+ * gtk_print_settings_set_n_copies:
  * @settings: a #GtkPrintSettings
  * @num_copies: the number of copies 
  * 
- * Sets the value of %GTK_PRINT_SETTINGS_NUM_COPIES.
+ * Sets the value of %GTK_PRINT_SETTINGS_N_COPIES.
  * 
  * Since: 2.10
  */
 void
-gtk_print_settings_set_num_copies (GtkPrintSettings *settings,
-                                  gint              num_copies)
+gtk_print_settings_set_n_copies (GtkPrintSettings *settings,
+                                gint              num_copies)
 {
-  gtk_print_settings_set_int (settings, GTK_PRINT_SETTINGS_NUM_COPIES,
+  gtk_print_settings_set_int (settings, GTK_PRINT_SETTINGS_N_COPIES,
                              num_copies);
 }
 
@@ -1127,7 +1088,7 @@ gtk_print_settings_get_number_up (GtkPrintSettings *settings)
 /**
  * gtk_print_settings_set_number_up:
  * @settings: a #GtkPrintSettings
- * @num_copies: the number of pages per sheet 
+ * @number_up: the number of pages per sheet 
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP.
  * 
@@ -1195,7 +1156,7 @@ gtk_print_settings_get_scale (GtkPrintSettings *settings)
 /**
  * gtk_print_settings_set_scale:
  * @settings: a #GtkPrintSettings
- * @resolution: the scale in percent
+ * @scale: the scale in percent
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_SCALE.
  * 
@@ -1209,41 +1170,6 @@ gtk_print_settings_set_scale (GtkPrintSettings *settings,
                                 scale);
 }
 
-/**
- * gtk_print_settings_get_print_to_file:
- * @settings: a #GtkPrintSettings
- * 
- * Gets the value of %GTK_PRINT_SETTINGS_PRINT_TO_FILE.
- * 
- * Return value: whether to print to a file
- *
- * Since: 2.10
- */
-gboolean
-gtk_print_settings_get_print_to_file (GtkPrintSettings *settings)
-{
-  return gtk_print_settings_get_bool (settings, 
-                                     GTK_PRINT_SETTINGS_PRINT_TO_FILE);
-}
-
-/**
- * gtk_print_settings_set_print_to_file:
- * @settings: a #GtkPrintSettings
- * @print_to_file: whether to print to a file
- * 
- * Sets the value of %GTK_PRINT_SETTINGS_PRINT_TO_FILE.
- * 
- * Since: 2.10
- */
-void
-gtk_print_settings_set_print_to_file (GtkPrintSettings *settings,
-                                     gboolean          print_to_file)
-{
-  gtk_print_settings_set_bool (settings,
-                              GTK_PRINT_SETTINGS_PRINT_TO_FILE, 
-                              print_to_file);
-}
-
 /**
  * gtk_print_settings_get_print_pages:
  * @settings: a #GtkPrintSettings
@@ -1276,7 +1202,7 @@ gtk_print_settings_get_print_pages (GtkPrintSettings *settings)
 /**
  * gtk_print_settings_set_print_pages:
  * @settings: a #GtkPrintSettings
- * @print_pages: a #GtkPrintPages value
+ * @pages: a #GtkPrintPages value
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES.
  * 
@@ -1284,11 +1210,11 @@ gtk_print_settings_get_print_pages (GtkPrintSettings *settings)
  */
 void
 gtk_print_settings_set_print_pages (GtkPrintSettings *settings,
-                                   GtkPrintPages     print_pages)
+                                   GtkPrintPages     pages)
 {
   const gchar *str;
 
-  switch (print_pages)
+  switch (pages)
     {
     default:
     case GTK_PRINT_PAGES_ALL:
@@ -1312,7 +1238,8 @@ gtk_print_settings_set_print_pages (GtkPrintSettings *settings,
  * 
  * Gets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES.
  * 
- * Return value: an array of #GtkPageRange<!-- -->s
+ * Return value: an array of #GtkPageRange<!-- -->s. Use g_free()
+ *   to free the array when it is no longer needed. 
  *
  * Since: 2.10
  */
@@ -1362,6 +1289,8 @@ gtk_print_settings_get_page_ranges (GtkPrintSettings *settings,
       ranges[i].end = end;
     }
 
+  g_strfreev (range_strs);
+
   *num_ranges = n;
   return ranges;
 }