]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkprintsettings.c
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtkprintsettings.c
index 4ae79622245ad51216e286355e34e501d3f67a99..b1e8476f03ee9be4da34ffa7d1235a070206dff8 100644 (file)
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "config.h"
+
 #include <string.h>
 #include <stdlib.h>
+
 #include <glib/gprintf.h>
-#include <gtk/gtk.h>
+
 #include "gtkprintsettings.h"
 #include "gtkprintutils.h"
-#include "gtkalias.h"
+#include "gtktypebuiltins.h"
+#include "gtkwidget.h"
+
+
+/**
+ * SECTION:gtkprintsettings
+ * @Short_description: Stores print settings
+ * @Title: GtkPrintSettings
+ *
+ * A GtkPrintSettings object represents the settings of a print dialog in
+ * a system-independent way. The main use for this object is that once
+ * you've printed you can get a settings object that represents the settings
+ * the user chose, and the next time you print you can pass that object in so
+ * that the user doesn't have to re-set all his settings.
+ *
+ * Its also possible to enumerate the settings so that you can easily save
+ * the settings for the next time your app runs, or even store them in a
+ * document. The predefined keys try to use shared values as much as possible
+ * so that moving such a document between systems still works.
+ *
+ * <!-- TODO example of getting, storing and setting settings -->
+ *
+ * Printing support was added in GTK+ 2.10.
+ */
 
 
 typedef struct _GtkPrintSettingsClass GtkPrintSettingsClass;
@@ -37,7 +60,7 @@ typedef struct _GtkPrintSettingsClass GtkPrintSettingsClass;
 struct _GtkPrintSettings
 {
   GObject parent_instance;
-  
+
   GHashTable *hash;
 };
 
@@ -107,10 +130,10 @@ copy_hash_entry  (gpointer  key,
 /**
  * gtk_print_settings_copy:
  * @other: a #GtkPrintSettings
- * 
+ *
  * Copies a #GtkPrintSettings object.
- * 
- * Return value: a newly allocated copy of @other
+ *
+ * Return value: (transfer full): a newly allocated copy of @other
  *
  * Since: 2.10
  */
@@ -144,7 +167,7 @@ gtk_print_settings_copy (GtkPrintSettings *other)
  * 
  * Since: 2.10
  */
-G_CONST_RETURN gchar *        
+const gchar *
 gtk_print_settings_get (GtkPrintSettings *settings,
                        const gchar      *key)
 {
@@ -232,7 +255,7 @@ gtk_print_settings_get_bool (GtkPrintSettings *settings,
   const gchar *val;
 
   val = gtk_print_settings_get (settings, key);
-  if (val != NULL && strcmp (val, "true") == 0)
+  if (g_strcmp0 (val, "true") == 0)
     return TRUE;
   
   return FALSE;
@@ -263,10 +286,10 @@ gtk_print_settings_get_bool_with_default (GtkPrintSettings *settings,
   const gchar *val;
 
   val = gtk_print_settings_get (settings, key);
-  if (val != NULL && strcmp (val, "true") == 0)
+  if (g_strcmp0 (val, "true") == 0)
     return TRUE;
 
-  if (val != NULL && strcmp (val, "false") == 0)
+  if (g_strcmp0 (val, "false") == 0)
     return FALSE;
   
   return default_val;
@@ -473,7 +496,7 @@ gtk_print_settings_set_int (GtkPrintSettings *settings,
 /**
  * gtk_print_settings_foreach:
  * @settings: a #GtkPrintSettings
- * @func: (scope call) the function to call
+ * @func: (scope call): the function to call
  * @user_data: user data for @func
  *
  * Calls @func for each key-value pair of @settings.
@@ -499,7 +522,7 @@ gtk_print_settings_foreach (GtkPrintSettings    *settings,
  *
  * Since: 2.10
  */
-G_CONST_RETURN gchar *       
+const gchar *
 gtk_print_settings_get_printer (GtkPrintSettings *settings)
 {
   return gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_PRINTER);
@@ -793,8 +816,9 @@ gtk_print_settings_set_use_color (GtkPrintSettings *settings,
 gboolean
 gtk_print_settings_get_collate (GtkPrintSettings *settings)
 {
-  return gtk_print_settings_get_bool (settings, 
-                                     GTK_PRINT_SETTINGS_COLLATE);
+  return gtk_print_settings_get_bool_with_default (settings,
+                                                   GTK_PRINT_SETTINGS_COLLATE,
+                                                   TRUE);
 }
 
 /**
@@ -1402,16 +1426,17 @@ gtk_print_settings_set_print_pages (GtkPrintSettings *settings,
   
   gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_PRINT_PAGES, str);
 }
-     
+
 /**
  * gtk_print_settings_get_page_ranges:
  * @settings: a #GtkPrintSettings
- * @num_ranges: return location for the length of the returned array
- * 
+ * @num_ranges: (out): return location for the length of the returned array
+ *
  * Gets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES.
- * 
- * Return value: an array of #GtkPageRange<!-- -->s. Use g_free()
- *   to free the array when it is no longer needed. 
+ *
+ * Return value: (array length=num_ranges) (transfer full): an array
+ *     of #GtkPageRange<!-- -->s.  Use g_free() to free the array when
+ *     it is no longer needed.
  *
  * Since: 2.10
  */
@@ -1468,7 +1493,7 @@ gtk_print_settings_get_page_ranges (GtkPrintSettings *settings,
 /**
  * gtk_print_settings_set_page_ranges:
  * @settings: a #GtkPrintSettings
- * @page_ranges: an array of #GtkPageRange<!-- -->s
+ * @page_ranges: (array length=num_ranges): an array of #GtkPageRange<!-- -->s
  * @num_ranges: the length of @page_ranges
  * 
  * Sets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES.
@@ -1514,7 +1539,7 @@ gtk_print_settings_set_page_ranges  (GtkPrintSettings *settings,
  *
  * Since: 2.10
  */
-G_CONST_RETURN gchar *
+const gchar *
 gtk_print_settings_get_default_source (GtkPrintSettings *settings)
 {
   return gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_DEFAULT_SOURCE);
@@ -1549,7 +1574,7 @@ gtk_print_settings_set_default_source (GtkPrintSettings *settings,
  *
  * Since: 2.10
  */
-G_CONST_RETURN gchar *
+const gchar *
 gtk_print_settings_get_media_type (GtkPrintSettings *settings)
 {
   return gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_MEDIA_TYPE);
@@ -1584,7 +1609,7 @@ gtk_print_settings_set_media_type (GtkPrintSettings *settings,
  *
  * Since: 2.10
  */
-G_CONST_RETURN gchar *
+const gchar *
 gtk_print_settings_get_dither (GtkPrintSettings *settings)
 {
   return gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_DITHER);
@@ -1648,7 +1673,7 @@ gtk_print_settings_set_finishings (GtkPrintSettings *settings,
  *
  * Since: 2.10
  */
-G_CONST_RETURN gchar *
+const gchar *
 gtk_print_settings_get_output_bin (GtkPrintSettings *settings)
 {
   return gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_BIN);
@@ -1673,7 +1698,7 @@ gtk_print_settings_set_output_bin (GtkPrintSettings *settings,
 /**
  * gtk_print_settings_load_file:
  * @settings: a #GtkPrintSettings
- * @file_name: the filename to read the settings from
+ * @file_name: (type filename): the filename to read the settings from
  * @error: (allow-none): return location for errors, or %NULL
  *
  * Reads the print settings from @file_name. If the file could not be loaded
@@ -1708,7 +1733,7 @@ gtk_print_settings_load_file (GtkPrintSettings *settings,
 
 /**
  * gtk_print_settings_new_from_file:
- * @file_name: the filename to read the settings from
+ * @file_name: (type filename): the filename to read the settings from
  * @error: (allow-none): return location for errors, or %NULL
  * 
  * Reads the print settings from @file_name. Returns a new #GtkPrintSettings
@@ -1782,7 +1807,7 @@ gtk_print_settings_load_key_file (GtkPrintSettings *settings,
       gchar *value;
 
       value = g_key_file_get_string (key_file,
-                                    KEYFILE_GROUP_NAME,
+                                    group_name,
                                     keys[i],
                                     NULL);
       if (!value)
@@ -1833,7 +1858,7 @@ gtk_print_settings_new_from_key_file (GKeyFile     *key_file,
 /**
  * gtk_print_settings_to_file:
  * @settings: a #GtkPrintSettings
- * @file_name: the file to save to
+ * @file_name: (type filename): the file to save to
  * @error: (allow-none): return location for errors, or %NULL
  * 
  * This function saves the print settings from @settings to @file_name. If the
@@ -1921,7 +1946,3 @@ gtk_print_settings_to_key_file (GtkPrintSettings  *settings,
                              (GtkPrintSettingsFunc) add_value_to_key_file,
                              &data);
 }
-
-
-#define __GTK_PRINT_SETTINGS_C__
-#include "gtkaliasdef.c"