Blame gtk/gtkprintsettings.c

Packit Service fb6fa5
/* GTK - The GIMP Toolkit
Packit Service fb6fa5
 * gtkprintsettings.c: Print Settings
Packit Service fb6fa5
 * Copyright (C) 2006, Red Hat, Inc.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * This library is free software; you can redistribute it and/or
Packit Service fb6fa5
 * modify it under the terms of the GNU Lesser General Public
Packit Service fb6fa5
 * License as published by the Free Software Foundation; either
Packit Service fb6fa5
 * version 2 of the License, or (at your option) any later version.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * This library is distributed in the hope that it will be useful,
Packit Service fb6fa5
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service fb6fa5
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service fb6fa5
 * Lesser General Public License for more details.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * You should have received a copy of the GNU Lesser General Public
Packit Service fb6fa5
 * License along with this library; if not, write to the
Packit Service fb6fa5
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Packit Service fb6fa5
 * Boston, MA 02111-1307, USA.
Packit Service fb6fa5
 */
Packit Service fb6fa5
Packit Service fb6fa5
#include "config.h"
Packit Service fb6fa5
#include <string.h>
Packit Service fb6fa5
#include <stdlib.h>
Packit Service fb6fa5
#include <glib/gprintf.h>
Packit Service fb6fa5
#include <gtk/gtk.h>
Packit Service fb6fa5
#include "gtkprintsettings.h"
Packit Service fb6fa5
#include "gtkprintutils.h"
Packit Service fb6fa5
#include "gtkalias.h"
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
typedef struct _GtkPrintSettingsClass GtkPrintSettingsClass;
Packit Service fb6fa5
Packit Service fb6fa5
#define GTK_IS_PRINT_SETTINGS_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PRINT_SETTINGS))
Packit Service fb6fa5
#define GTK_PRINT_SETTINGS_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_PRINT_SETTINGS, GtkPrintSettingsClass))
Packit Service fb6fa5
#define GTK_PRINT_SETTINGS_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PRINT_SETTINGS, GtkPrintSettingsClass))
Packit Service fb6fa5
Packit Service fb6fa5
struct _GtkPrintSettings
Packit Service fb6fa5
{
Packit Service fb6fa5
  GObject parent_instance;
Packit Service fb6fa5
  
Packit Service fb6fa5
  GHashTable *hash;
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
struct _GtkPrintSettingsClass
Packit Service fb6fa5
{
Packit Service fb6fa5
  GObjectClass parent_class;
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
#define KEYFILE_GROUP_NAME "Print Settings"
Packit Service fb6fa5
Packit Service fb6fa5
G_DEFINE_TYPE (GtkPrintSettings, gtk_print_settings, G_TYPE_OBJECT)
Packit Service fb6fa5
Packit Service fb6fa5
static void
Packit Service fb6fa5
gtk_print_settings_finalize (GObject *object)
Packit Service fb6fa5
{
Packit Service fb6fa5
  GtkPrintSettings *settings = GTK_PRINT_SETTINGS (object);
Packit Service fb6fa5
Packit Service fb6fa5
  g_hash_table_destroy (settings->hash);
Packit Service fb6fa5
Packit Service fb6fa5
  G_OBJECT_CLASS (gtk_print_settings_parent_class)->finalize (object);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
static void
Packit Service fb6fa5
gtk_print_settings_init (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  settings->hash = g_hash_table_new_full (g_str_hash, g_str_equal,
Packit Service fb6fa5
					  g_free, g_free);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
static void
Packit Service fb6fa5
gtk_print_settings_class_init (GtkPrintSettingsClass *class)
Packit Service fb6fa5
{
Packit Service fb6fa5
  GObjectClass *gobject_class = (GObjectClass *)class;
Packit Service fb6fa5
Packit Service fb6fa5
  gobject_class->finalize = gtk_print_settings_finalize;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_new:
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Creates a new #GtkPrintSettings object.
Packit Service fb6fa5
 *  
Packit Service fb6fa5
 * Return value: a new #GtkPrintSettings object
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkPrintSettings *
Packit Service fb6fa5
gtk_print_settings_new (void)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return g_object_new (GTK_TYPE_PRINT_SETTINGS, NULL);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
static void
Packit Service fb6fa5
copy_hash_entry  (gpointer  key,
Packit Service fb6fa5
		  gpointer  value,
Packit Service fb6fa5
		  gpointer  user_data)
Packit Service fb6fa5
{
Packit Service fb6fa5
  GtkPrintSettings *settings = user_data;
Packit Service fb6fa5
Packit Service fb6fa5
  g_hash_table_insert (settings->hash, 
Packit Service fb6fa5
		       g_strdup (key), 
Packit Service fb6fa5
		       g_strdup (value));
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_copy:
Packit Service fb6fa5
 * @other: a #GtkPrintSettings
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Copies a #GtkPrintSettings object.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Return value: (transfer full): a newly allocated copy of @other
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkPrintSettings *
Packit Service fb6fa5
gtk_print_settings_copy (GtkPrintSettings *other)
Packit Service fb6fa5
{
Packit Service fb6fa5
  GtkPrintSettings *settings;
Packit Service fb6fa5
Packit Service fb6fa5
  if (other == NULL)
Packit Service fb6fa5
    return NULL;
Packit Service fb6fa5
  
Packit Service fb6fa5
  g_return_val_if_fail (GTK_IS_PRINT_SETTINGS (other), NULL);
Packit Service fb6fa5
Packit Service fb6fa5
  settings = gtk_print_settings_new ();
Packit Service fb6fa5
Packit Service fb6fa5
  g_hash_table_foreach (other->hash,
Packit Service fb6fa5
			copy_hash_entry,
Packit Service fb6fa5
			settings);
Packit Service fb6fa5
Packit Service fb6fa5
  return settings;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Looks up the string value associated with @key.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the string value for @key
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
const gchar *
Packit Service fb6fa5
gtk_print_settings_get (GtkPrintSettings *settings,
Packit Service fb6fa5
			const gchar      *key)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return g_hash_table_lookup (settings->hash, key);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * @value: (allow-none): a string value, or %NULL
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Associates @value with @key.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set (GtkPrintSettings *settings,
Packit Service fb6fa5
			const gchar      *key,
Packit Service fb6fa5
			const gchar      *value)
Packit Service fb6fa5
{
Packit Service fb6fa5
  if (value == NULL)
Packit Service fb6fa5
    gtk_print_settings_unset (settings, key);
Packit Service fb6fa5
  else
Packit Service fb6fa5
    g_hash_table_insert (settings->hash, 
Packit Service fb6fa5
			 g_strdup (key), 
Packit Service fb6fa5
			 g_strdup (value));
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_unset:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Removes any value associated with @key. 
Packit Service fb6fa5
 * This has the same effect as setting the value to %NULL.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10 
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_unset (GtkPrintSettings *settings,
Packit Service fb6fa5
			  const gchar      *key)
Packit Service fb6fa5
{
Packit Service fb6fa5
  g_hash_table_remove (settings->hash, key);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_has_key:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Returns %TRUE, if a value is associated with @key.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: %TRUE, if @key has a value
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gboolean        
Packit Service fb6fa5
gtk_print_settings_has_key (GtkPrintSettings *settings,
Packit Service fb6fa5
			    const gchar      *key)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get (settings, key) != NULL;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_bool:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Returns the boolean represented by the value
Packit Service fb6fa5
 * that is associated with @key. 
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * The string "true" represents %TRUE, any other 
Packit Service fb6fa5
 * string %FALSE.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Return value: %TRUE, if @key maps to a true value.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 **/
Packit Service fb6fa5
gboolean
Packit Service fb6fa5
gtk_print_settings_get_bool (GtkPrintSettings *settings,
Packit Service fb6fa5
			     const gchar      *key)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, key);
Packit Service fb6fa5
  if (g_strcmp0 (val, "true") == 0)
Packit Service fb6fa5
    return TRUE;
Packit Service fb6fa5
  
Packit Service fb6fa5
  return FALSE;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_bool_with_default:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * @default_val: the default value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Returns the boolean represented by the value
Packit Service fb6fa5
 * that is associated with @key, or @default_val
Packit Service fb6fa5
 * if the value does not represent a boolean.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * The string "true" represents %TRUE, the string
Packit Service fb6fa5
 * "false" represents %FALSE.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Return value: the boolean value associated with @key
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
static gboolean
Packit Service fb6fa5
gtk_print_settings_get_bool_with_default (GtkPrintSettings *settings,
Packit Service fb6fa5
					  const gchar      *key,
Packit Service fb6fa5
					  gboolean          default_val)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, key);
Packit Service fb6fa5
  if (g_strcmp0 (val, "true") == 0)
Packit Service fb6fa5
    return TRUE;
Packit Service fb6fa5
Packit Service fb6fa5
  if (g_strcmp0 (val, "false") == 0)
Packit Service fb6fa5
    return FALSE;
Packit Service fb6fa5
  
Packit Service fb6fa5
  return default_val;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_bool:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * @value: a boolean
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets @key to a boolean value.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_bool (GtkPrintSettings *settings,
Packit Service fb6fa5
			     const gchar      *key,
Packit Service fb6fa5
			     gboolean          value)
Packit Service fb6fa5
{
Packit Service fb6fa5
  if (value)
Packit Service fb6fa5
    gtk_print_settings_set (settings, key, "true");
Packit Service fb6fa5
  else
Packit Service fb6fa5
    gtk_print_settings_set (settings, key, "false");
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_double_with_default:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * @def: the default value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Returns the floating point number represented by 
Packit Service fb6fa5
 * the value that is associated with @key, or @default_val
Packit Service fb6fa5
 * if the value does not represent a floating point number.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Floating point numbers are parsed with g_ascii_strtod().
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Return value: the floating point number associated with @key
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gdouble
Packit Service fb6fa5
gtk_print_settings_get_double_with_default (GtkPrintSettings *settings,
Packit Service fb6fa5
					    const gchar      *key,
Packit Service fb6fa5
					    gdouble           def)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, key);
Packit Service fb6fa5
  if (val == NULL)
Packit Service fb6fa5
    return def;
Packit Service fb6fa5
Packit Service fb6fa5
  return g_ascii_strtod (val, NULL);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_double:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Returns the double value associated with @key, or 0.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the double value of @key
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gdouble
Packit Service fb6fa5
gtk_print_settings_get_double (GtkPrintSettings *settings,
Packit Service fb6fa5
			       const gchar      *key)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_double_with_default (settings, key, 0.0);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_double:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key 
Packit Service fb6fa5
 * @value: a double value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets @key to a double value.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_double (GtkPrintSettings *settings,
Packit Service fb6fa5
			       const gchar      *key,
Packit Service fb6fa5
			       gdouble           value)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gchar buf[G_ASCII_DTOSTR_BUF_SIZE];
Packit Service fb6fa5
  
Packit Service fb6fa5
  g_ascii_dtostr (buf, G_ASCII_DTOSTR_BUF_SIZE, value);
Packit Service fb6fa5
  gtk_print_settings_set (settings, key, buf);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_length:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * @unit: the unit of the return value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Returns the value associated with @key, interpreted
Packit Service fb6fa5
 * as a length. The returned value is converted to @units.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the length value of @key, converted to @unit
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gdouble
Packit Service fb6fa5
gtk_print_settings_get_length (GtkPrintSettings *settings,
Packit Service fb6fa5
			       const gchar      *key,
Packit Service fb6fa5
			       GtkUnit           unit)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gdouble length = gtk_print_settings_get_double (settings, key);
Packit Service fb6fa5
  return _gtk_print_convert_from_mm (length, unit);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_length:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * @value: a length
Packit Service fb6fa5
 * @unit: the unit of @length
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Associates a length in units of @unit with @key.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_length (GtkPrintSettings *settings,
Packit Service fb6fa5
			       const gchar      *key,
Packit Service fb6fa5
			       gdouble           value, 
Packit Service fb6fa5
			       GtkUnit           unit)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_double (settings, key,
Packit Service fb6fa5
				 _gtk_print_convert_to_mm (value, unit));
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_int_with_default:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * @def: the default value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Returns the value of @key, interpreted as
Packit Service fb6fa5
 * an integer, or the default value.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the integer value of @key
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gint
Packit Service fb6fa5
gtk_print_settings_get_int_with_default (GtkPrintSettings *settings,
Packit Service fb6fa5
					 const gchar      *key,
Packit Service fb6fa5
					 gint              def)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, key);
Packit Service fb6fa5
  if (val == NULL)
Packit Service fb6fa5
    return def;
Packit Service fb6fa5
Packit Service fb6fa5
  return atoi (val);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_int:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Returns the integer value of @key, or 0.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the integer value of @key 
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gint
Packit Service fb6fa5
gtk_print_settings_get_int (GtkPrintSettings *settings,
Packit Service fb6fa5
			    const gchar      *key)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_int_with_default (settings, key, 0);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_int:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key: a key
Packit Service fb6fa5
 * @value: an integer 
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets @key to an integer value.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10 
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_int (GtkPrintSettings *settings,
Packit Service fb6fa5
			    const gchar      *key,
Packit Service fb6fa5
			    gint              value)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gchar buf[128];
Packit Service fb6fa5
  g_sprintf (buf, "%d", value);
Packit Service fb6fa5
  gtk_print_settings_set (settings, key, buf);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_foreach:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @func: (scope call): the function to call
Packit Service fb6fa5
 * @user_data: user data for @func
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Calls @func for each key-value pair of @settings.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_foreach (GtkPrintSettings    *settings,
Packit Service fb6fa5
			    GtkPrintSettingsFunc func,
Packit Service fb6fa5
			    gpointer             user_data)
Packit Service fb6fa5
{
Packit Service fb6fa5
  g_hash_table_foreach (settings->hash, (GHFunc)func, user_data);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_printer:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Convenience function to obtain the value of 
Packit Service fb6fa5
 * %GTK_PRINT_SETTINGS_PRINTER.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Return value: the printer name
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
const gchar *
Packit Service fb6fa5
gtk_print_settings_get_printer (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_PRINTER);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_printer:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @printer: the printer name
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Convenience function to set %GTK_PRINT_SETTINGS_PRINTER
Packit Service fb6fa5
 * to @printer.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_printer (GtkPrintSettings *settings,
Packit Service fb6fa5
				const gchar      *printer)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_PRINTER, printer);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_orientation:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Get the value of %GTK_PRINT_SETTINGS_ORIENTATION, 
Packit Service fb6fa5
 * converted to a #GtkPageOrientation.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the orientation
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkPageOrientation
Packit Service fb6fa5
gtk_print_settings_get_orientation (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_ORIENTATION);
Packit Service fb6fa5
Packit Service fb6fa5
  if (val == NULL || strcmp (val, "portrait") == 0)
Packit Service fb6fa5
    return GTK_PAGE_ORIENTATION_PORTRAIT;
Packit Service fb6fa5
Packit Service fb6fa5
  if (strcmp (val, "landscape") == 0)
Packit Service fb6fa5
    return GTK_PAGE_ORIENTATION_LANDSCAPE;
Packit Service fb6fa5
  
Packit Service fb6fa5
  if (strcmp (val, "reverse_portrait") == 0)
Packit Service fb6fa5
    return GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT;
Packit Service fb6fa5
  
Packit Service fb6fa5
  if (strcmp (val, "reverse_landscape") == 0)
Packit Service fb6fa5
    return GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE;
Packit Service fb6fa5
  
Packit Service fb6fa5
  return GTK_PAGE_ORIENTATION_PORTRAIT;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_orientation:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @orientation: a page orientation
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_ORIENTATION.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_orientation (GtkPrintSettings   *settings,
Packit Service fb6fa5
				    GtkPageOrientation  orientation)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
Packit Service fb6fa5
  switch (orientation)
Packit Service fb6fa5
    {
Packit Service fb6fa5
    case GTK_PAGE_ORIENTATION_LANDSCAPE:
Packit Service fb6fa5
      val = "landscape";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    default:
Packit Service fb6fa5
    case GTK_PAGE_ORIENTATION_PORTRAIT:
Packit Service fb6fa5
      val = "portrait";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE:
Packit Service fb6fa5
      val = "reverse_landscape";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT:
Packit Service fb6fa5
      val = "reverse_portrait";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    }
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_ORIENTATION, val);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_paper_size:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT, 
Packit Service fb6fa5
 * converted to a #GtkPaperSize.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the paper size
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkPaperSize *     
Packit Service fb6fa5
gtk_print_settings_get_paper_size (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
  const gchar *name;
Packit Service fb6fa5
  gdouble w, h;
Packit Service fb6fa5
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_PAPER_FORMAT);
Packit Service fb6fa5
  if (val == NULL)
Packit Service fb6fa5
    return NULL;
Packit Service fb6fa5
Packit Service fb6fa5
  if (g_str_has_prefix (val, "custom-")) 
Packit Service fb6fa5
    {
Packit Service fb6fa5
      name = val + strlen ("custom-");
Packit Service fb6fa5
      w = gtk_print_settings_get_paper_width (settings, GTK_UNIT_MM);
Packit Service fb6fa5
      h = gtk_print_settings_get_paper_height (settings, GTK_UNIT_MM);
Packit Service fb6fa5
      return gtk_paper_size_new_custom (name, name, w, h, GTK_UNIT_MM);
Packit Service fb6fa5
    }
Packit Service fb6fa5
Packit Service fb6fa5
  return gtk_paper_size_new (val);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_paper_size:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @paper_size: a paper size
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT,
Packit Service fb6fa5
 * %GTK_PRINT_SETTINGS_PAPER_WIDTH and
Packit Service fb6fa5
 * %GTK_PRINT_SETTINGS_PAPER_HEIGHT.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_paper_size (GtkPrintSettings *settings,
Packit Service fb6fa5
				   GtkPaperSize     *paper_size)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gchar *custom_name;
Packit Service fb6fa5
Packit Service fb6fa5
  if (paper_size == NULL) 
Packit Service fb6fa5
    {
Packit Service fb6fa5
      gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_PAPER_FORMAT, NULL);
Packit Service fb6fa5
      gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_PAPER_WIDTH, NULL);
Packit Service fb6fa5
      gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_PAPER_HEIGHT, NULL);
Packit Service fb6fa5
    }
Packit Service fb6fa5
  else if (gtk_paper_size_is_custom (paper_size)) 
Packit Service fb6fa5
    {
Packit Service fb6fa5
      custom_name = g_strdup_printf ("custom-%s", 
Packit Service fb6fa5
				     gtk_paper_size_get_name (paper_size));
Packit Service fb6fa5
      gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_PAPER_FORMAT, custom_name);
Packit Service fb6fa5
      g_free (custom_name);
Packit Service fb6fa5
      gtk_print_settings_set_paper_width (settings, 
Packit Service fb6fa5
					  gtk_paper_size_get_width (paper_size, 
Packit Service fb6fa5
								    GTK_UNIT_MM),
Packit Service fb6fa5
					  GTK_UNIT_MM);
Packit Service fb6fa5
      gtk_print_settings_set_paper_height (settings, 
Packit Service fb6fa5
					   gtk_paper_size_get_height (paper_size, 
Packit Service fb6fa5
								      GTK_UNIT_MM),
Packit Service fb6fa5
					   GTK_UNIT_MM);
Packit Service fb6fa5
    } 
Packit Service fb6fa5
  else
Packit Service fb6fa5
    gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_PAPER_FORMAT, 
Packit Service fb6fa5
			    gtk_paper_size_get_name (paper_size));
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_paper_width:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @unit: the unit for the return value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH,
Packit Service fb6fa5
 * converted to @unit. 
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the paper width, in units of @unit
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gdouble
Packit Service fb6fa5
gtk_print_settings_get_paper_width (GtkPrintSettings *settings,
Packit Service fb6fa5
				    GtkUnit           unit)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_length (settings, GTK_PRINT_SETTINGS_PAPER_WIDTH, unit);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_paper_width:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @width: the paper width
Packit Service fb6fa5
 * @unit: the units of @width
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_paper_width (GtkPrintSettings *settings,
Packit Service fb6fa5
				    gdouble           width, 
Packit Service fb6fa5
				    GtkUnit           unit)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_length (settings, GTK_PRINT_SETTINGS_PAPER_WIDTH, width, unit);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_paper_height:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @unit: the unit for the return value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT,
Packit Service fb6fa5
 * converted to @unit. 
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the paper height, in units of @unit
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gdouble
Packit Service fb6fa5
gtk_print_settings_get_paper_height (GtkPrintSettings *settings,
Packit Service fb6fa5
				     GtkUnit           unit)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_length (settings, 
Packit Service fb6fa5
					GTK_PRINT_SETTINGS_PAPER_HEIGHT,
Packit Service fb6fa5
					unit);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_paper_height:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @height: the paper height
Packit Service fb6fa5
 * @unit: the units of @height
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_paper_height (GtkPrintSettings *settings,
Packit Service fb6fa5
				     gdouble           height, 
Packit Service fb6fa5
				     GtkUnit           unit)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_length (settings, 
Packit Service fb6fa5
				 GTK_PRINT_SETTINGS_PAPER_HEIGHT, 
Packit Service fb6fa5
				 height, unit);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_use_color:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_USE_COLOR.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: whether to use color
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gboolean
Packit Service fb6fa5
gtk_print_settings_get_use_color (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_bool_with_default (settings, 
Packit Service fb6fa5
						   GTK_PRINT_SETTINGS_USE_COLOR,
Packit Service fb6fa5
						   TRUE);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_use_color:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @use_color: whether to use color
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_USE_COLOR.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_use_color (GtkPrintSettings *settings,
Packit Service fb6fa5
				  gboolean          use_color)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_bool (settings,
Packit Service fb6fa5
			       GTK_PRINT_SETTINGS_USE_COLOR, 
Packit Service fb6fa5
			       use_color);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_collate:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_COLLATE.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: whether to collate the printed pages
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gboolean
Packit Service fb6fa5
gtk_print_settings_get_collate (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_bool (settings, 
Packit Service fb6fa5
				      GTK_PRINT_SETTINGS_COLLATE);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_collate:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @collate: whether to collate the output
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_COLLATE.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_collate (GtkPrintSettings *settings,
Packit Service fb6fa5
				gboolean          collate)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_bool (settings,
Packit Service fb6fa5
			       GTK_PRINT_SETTINGS_COLLATE, 
Packit Service fb6fa5
			       collate);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_reverse:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_REVERSE.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: whether to reverse the order of the printed pages
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gboolean
Packit Service fb6fa5
gtk_print_settings_get_reverse (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_bool (settings, 
Packit Service fb6fa5
				      GTK_PRINT_SETTINGS_REVERSE);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_reverse:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @reverse: whether to reverse the output
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_REVERSE.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_reverse (GtkPrintSettings *settings,
Packit Service fb6fa5
				  gboolean        reverse)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_bool (settings,
Packit Service fb6fa5
			       GTK_PRINT_SETTINGS_REVERSE, 
Packit Service fb6fa5
			       reverse);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_duplex:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_DUPLEX.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: whether to print the output in duplex.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkPrintDuplex
Packit Service fb6fa5
gtk_print_settings_get_duplex (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_DUPLEX);
Packit Service fb6fa5
Packit Service fb6fa5
  if (val == NULL || (strcmp (val, "simplex") == 0))
Packit Service fb6fa5
    return GTK_PRINT_DUPLEX_SIMPLEX;
Packit Service fb6fa5
Packit Service fb6fa5
  if (strcmp (val, "horizontal") == 0)
Packit Service fb6fa5
    return GTK_PRINT_DUPLEX_HORIZONTAL;
Packit Service fb6fa5
  
Packit Service fb6fa5
  if (strcmp (val, "vertical") == 0)
Packit Service fb6fa5
    return GTK_PRINT_DUPLEX_VERTICAL;
Packit Service fb6fa5
  
Packit Service fb6fa5
  return GTK_PRINT_DUPLEX_SIMPLEX;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_duplex:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @duplex: a #GtkPrintDuplex value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_DUPLEX.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_duplex (GtkPrintSettings *settings,
Packit Service fb6fa5
			       GtkPrintDuplex    duplex)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *str;
Packit Service fb6fa5
Packit Service fb6fa5
  switch (duplex)
Packit Service fb6fa5
    {
Packit Service fb6fa5
    default:
Packit Service fb6fa5
    case GTK_PRINT_DUPLEX_SIMPLEX:
Packit Service fb6fa5
      str = "simplex";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PRINT_DUPLEX_HORIZONTAL:
Packit Service fb6fa5
      str = "horizontal";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PRINT_DUPLEX_VERTICAL:
Packit Service fb6fa5
      str = "vertical";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    }
Packit Service fb6fa5
  
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_DUPLEX, str);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_quality:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_QUALITY.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the print quality
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkPrintQuality
Packit Service fb6fa5
gtk_print_settings_get_quality (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_QUALITY);
Packit Service fb6fa5
Packit Service fb6fa5
  if (val == NULL || (strcmp (val, "normal") == 0))
Packit Service fb6fa5
    return GTK_PRINT_QUALITY_NORMAL;
Packit Service fb6fa5
Packit Service fb6fa5
  if (strcmp (val, "high") == 0)
Packit Service fb6fa5
    return GTK_PRINT_QUALITY_HIGH;
Packit Service fb6fa5
  
Packit Service fb6fa5
  if (strcmp (val, "low") == 0)
Packit Service fb6fa5
    return GTK_PRINT_QUALITY_LOW;
Packit Service fb6fa5
  
Packit Service fb6fa5
  if (strcmp (val, "draft") == 0)
Packit Service fb6fa5
    return GTK_PRINT_QUALITY_DRAFT;
Packit Service fb6fa5
  
Packit Service fb6fa5
  return GTK_PRINT_QUALITY_NORMAL;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_quality:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @quality: a #GtkPrintQuality value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_QUALITY.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_quality (GtkPrintSettings *settings,
Packit Service fb6fa5
				GtkPrintQuality   quality)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *str;
Packit Service fb6fa5
Packit Service fb6fa5
  switch (quality)
Packit Service fb6fa5
    {
Packit Service fb6fa5
    default:
Packit Service fb6fa5
    case GTK_PRINT_QUALITY_NORMAL:
Packit Service fb6fa5
      str = "normal";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PRINT_QUALITY_HIGH:
Packit Service fb6fa5
      str = "high";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PRINT_QUALITY_LOW:
Packit Service fb6fa5
      str = "low";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PRINT_QUALITY_DRAFT:
Packit Service fb6fa5
      str = "draft";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    }
Packit Service fb6fa5
  
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_QUALITY, str);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_page_set:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_PAGE_SET.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the set of pages to print
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkPageSet
Packit Service fb6fa5
gtk_print_settings_get_page_set (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_PAGE_SET);
Packit Service fb6fa5
Packit Service fb6fa5
  if (val == NULL || (strcmp (val, "all") == 0))
Packit Service fb6fa5
    return GTK_PAGE_SET_ALL;
Packit Service fb6fa5
Packit Service fb6fa5
  if (strcmp (val, "even") == 0)
Packit Service fb6fa5
    return GTK_PAGE_SET_EVEN;
Packit Service fb6fa5
  
Packit Service fb6fa5
  if (strcmp (val, "odd") == 0)
Packit Service fb6fa5
    return GTK_PAGE_SET_ODD;
Packit Service fb6fa5
  
Packit Service fb6fa5
  return GTK_PAGE_SET_ALL;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_page_set:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @page_set: a #GtkPageSet value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_PAGE_SET.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_page_set (GtkPrintSettings *settings,
Packit Service fb6fa5
				 GtkPageSet        page_set)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *str;
Packit Service fb6fa5
Packit Service fb6fa5
  switch (page_set)
Packit Service fb6fa5
    {
Packit Service fb6fa5
    default:
Packit Service fb6fa5
    case GTK_PAGE_SET_ALL:
Packit Service fb6fa5
      str = "all";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PAGE_SET_EVEN:
Packit Service fb6fa5
      str = "even";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PAGE_SET_ODD:
Packit Service fb6fa5
      str = "odd";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    }
Packit Service fb6fa5
  
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_PAGE_SET, str);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_number_up_layout:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: layout of page in number-up mode
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.14
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkNumberUpLayout
Packit Service fb6fa5
gtk_print_settings_get_number_up_layout (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  GtkNumberUpLayout layout;
Packit Service fb6fa5
  GtkTextDirection  text_direction;
Packit Service fb6fa5
  GEnumClass       *enum_class;
Packit Service fb6fa5
  GEnumValue       *enum_value;
Packit Service fb6fa5
  const gchar      *val;
Packit Service fb6fa5
Packit Service fb6fa5
  g_return_val_if_fail (GTK_IS_PRINT_SETTINGS (settings), GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM);
Packit Service fb6fa5
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT);
Packit Service fb6fa5
  text_direction = gtk_widget_get_default_direction ();
Packit Service fb6fa5
Packit Service fb6fa5
  if (text_direction == GTK_TEXT_DIR_LTR)
Packit Service fb6fa5
    layout = GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM;
Packit Service fb6fa5
  else
Packit Service fb6fa5
    layout = GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM;
Packit Service fb6fa5
Packit Service fb6fa5
  if (val == NULL)
Packit Service fb6fa5
    return layout;
Packit Service fb6fa5
Packit Service fb6fa5
  enum_class = g_type_class_ref (GTK_TYPE_NUMBER_UP_LAYOUT);
Packit Service fb6fa5
  enum_value = g_enum_get_value_by_nick (enum_class, val);
Packit Service fb6fa5
  if (enum_value)
Packit Service fb6fa5
    layout = enum_value->value;
Packit Service fb6fa5
  g_type_class_unref (enum_class);
Packit Service fb6fa5
Packit Service fb6fa5
  return layout;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_number_up_layout:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @number_up_layout: a #GtkNumberUpLayout value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.14
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_number_up_layout (GtkPrintSettings  *settings,
Packit Service fb6fa5
					 GtkNumberUpLayout  number_up_layout)
Packit Service fb6fa5
{
Packit Service fb6fa5
  GEnumClass *enum_class;
Packit Service fb6fa5
  GEnumValue *enum_value;
Packit Service fb6fa5
Packit Service fb6fa5
  g_return_if_fail (GTK_IS_PRINT_SETTINGS (settings));
Packit Service fb6fa5
Packit Service fb6fa5
  enum_class = g_type_class_ref (GTK_TYPE_NUMBER_UP_LAYOUT);
Packit Service fb6fa5
  enum_value = g_enum_get_value (enum_class, number_up_layout);
Packit Service fb6fa5
  g_return_if_fail (enum_value != NULL);
Packit Service fb6fa5
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT, enum_value->value_nick);
Packit Service fb6fa5
  g_type_class_unref (enum_class);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_n_copies:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_N_COPIES.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the number of copies to print
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gint
Packit Service fb6fa5
gtk_print_settings_get_n_copies (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_int_with_default (settings, GTK_PRINT_SETTINGS_N_COPIES, 1);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_n_copies:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @num_copies: the number of copies 
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_N_COPIES.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_n_copies (GtkPrintSettings *settings,
Packit Service fb6fa5
				 gint              num_copies)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_int (settings, GTK_PRINT_SETTINGS_N_COPIES,
Packit Service fb6fa5
			      num_copies);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_number_up:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the number of pages per sheet
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gint
Packit Service fb6fa5
gtk_print_settings_get_number_up (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_int_with_default (settings, GTK_PRINT_SETTINGS_NUMBER_UP, 1);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_number_up:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @number_up: the number of pages per sheet 
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_number_up (GtkPrintSettings *settings,
Packit Service fb6fa5
				  gint              number_up)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_int (settings, GTK_PRINT_SETTINGS_NUMBER_UP,
Packit Service fb6fa5
				number_up);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_resolution:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the resolution in dpi
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gint
Packit Service fb6fa5
gtk_print_settings_get_resolution (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_int_with_default (settings, GTK_PRINT_SETTINGS_RESOLUTION, 300);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_resolution:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @resolution: the resolution in dpi
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION,
Packit Service fb6fa5
 * %GTK_PRINT_SETTINGS_RESOLUTION_X and 
Packit Service fb6fa5
 * %GTK_PRINT_SETTINGS_RESOLUTION_Y.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_resolution (GtkPrintSettings *settings,
Packit Service fb6fa5
				   gint              resolution)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_int (settings, GTK_PRINT_SETTINGS_RESOLUTION,
Packit Service fb6fa5
			      resolution);
Packit Service fb6fa5
  gtk_print_settings_set_int (settings, GTK_PRINT_SETTINGS_RESOLUTION_X,
Packit Service fb6fa5
			      resolution);
Packit Service fb6fa5
  gtk_print_settings_set_int (settings, GTK_PRINT_SETTINGS_RESOLUTION_Y,
Packit Service fb6fa5
			      resolution);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_resolution_x:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_X.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the horizontal resolution in dpi
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.16
Packit Service fb6fa5
 */
Packit Service fb6fa5
gint
Packit Service fb6fa5
gtk_print_settings_get_resolution_x (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_int_with_default (settings, GTK_PRINT_SETTINGS_RESOLUTION_X, 300);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_resolution_y:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_Y.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the vertical resolution in dpi
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.16
Packit Service fb6fa5
 */
Packit Service fb6fa5
gint
Packit Service fb6fa5
gtk_print_settings_get_resolution_y (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_int_with_default (settings, GTK_PRINT_SETTINGS_RESOLUTION_Y, 300);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_resolution_xy:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @resolution_x: the horizontal resolution in dpi
Packit Service fb6fa5
 * @resolution_y: the vertical resolution in dpi
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION,
Packit Service fb6fa5
 * %GTK_PRINT_SETTINGS_RESOLUTION_X and
Packit Service fb6fa5
 * %GTK_PRINT_SETTINGS_RESOLUTION_Y.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.16
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_resolution_xy (GtkPrintSettings *settings,
Packit Service fb6fa5
				      gint              resolution_x,
Packit Service fb6fa5
				      gint              resolution_y)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_int (settings, GTK_PRINT_SETTINGS_RESOLUTION_X,
Packit Service fb6fa5
			      resolution_x);
Packit Service fb6fa5
  gtk_print_settings_set_int (settings, GTK_PRINT_SETTINGS_RESOLUTION_Y,
Packit Service fb6fa5
			      resolution_y);
Packit Service fb6fa5
  gtk_print_settings_set_int (settings, GTK_PRINT_SETTINGS_RESOLUTION,
Packit Service fb6fa5
			      resolution_x);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_printer_lpi:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the resolution in lpi (lines per inch)
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.16
Packit Service fb6fa5
 */
Packit Service fb6fa5
gdouble
Packit Service fb6fa5
gtk_print_settings_get_printer_lpi (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_double_with_default (settings, GTK_PRINT_SETTINGS_PRINTER_LPI, 150.0);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_printer_lpi:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @lpi: the resolution in lpi (lines per inch)
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.16
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_printer_lpi (GtkPrintSettings *settings,
Packit Service fb6fa5
				    gdouble           lpi)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_double (settings, GTK_PRINT_SETTINGS_PRINTER_LPI,
Packit Service fb6fa5
			         lpi);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_scale:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_SCALE.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the scale in percent
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
gdouble
Packit Service fb6fa5
gtk_print_settings_get_scale (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get_double_with_default (settings,
Packit Service fb6fa5
						     GTK_PRINT_SETTINGS_SCALE,
Packit Service fb6fa5
						     100.0);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_scale:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @scale: the scale in percent
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_SCALE.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_scale (GtkPrintSettings *settings,
Packit Service fb6fa5
			      gdouble           scale)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set_double (settings, GTK_PRINT_SETTINGS_SCALE,
Packit Service fb6fa5
				 scale);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_print_pages:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: which pages to print
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkPrintPages
Packit Service fb6fa5
gtk_print_settings_get_print_pages (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_PRINT_PAGES);
Packit Service fb6fa5
Packit Service fb6fa5
  if (val == NULL || (strcmp (val, "all") == 0))
Packit Service fb6fa5
    return GTK_PRINT_PAGES_ALL;
Packit Service fb6fa5
Packit Service fb6fa5
  if (strcmp (val, "selection") == 0)
Packit Service fb6fa5
    return GTK_PRINT_PAGES_SELECTION;
Packit Service fb6fa5
Packit Service fb6fa5
  if (strcmp (val, "current") == 0)
Packit Service fb6fa5
    return GTK_PRINT_PAGES_CURRENT;
Packit Service fb6fa5
  
Packit Service fb6fa5
  if (strcmp (val, "ranges") == 0)
Packit Service fb6fa5
    return GTK_PRINT_PAGES_RANGES;
Packit Service fb6fa5
  
Packit Service fb6fa5
  return GTK_PRINT_PAGES_ALL;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_print_pages:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @pages: a #GtkPrintPages value
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_print_pages (GtkPrintSettings *settings,
Packit Service fb6fa5
				    GtkPrintPages     pages)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *str;
Packit Service fb6fa5
Packit Service fb6fa5
  switch (pages)
Packit Service fb6fa5
    {
Packit Service fb6fa5
    default:
Packit Service fb6fa5
    case GTK_PRINT_PAGES_ALL:
Packit Service fb6fa5
      str = "all";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PRINT_PAGES_CURRENT:
Packit Service fb6fa5
      str = "current";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PRINT_PAGES_SELECTION:
Packit Service fb6fa5
      str = "selection";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    case GTK_PRINT_PAGES_RANGES:
Packit Service fb6fa5
      str = "ranges";
Packit Service fb6fa5
      break;
Packit Service fb6fa5
    }
Packit Service fb6fa5
  
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_PRINT_PAGES, str);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_page_ranges:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @num_ranges: (out): return location for the length of the returned array
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Return value: (array length=num_ranges) (transfer full): an array
Packit Service fb6fa5
 *     of #GtkPageRanges.  Use g_free() to free the array when
Packit Service fb6fa5
 *     it is no longer needed.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkPageRange *
Packit Service fb6fa5
gtk_print_settings_get_page_ranges (GtkPrintSettings *settings,
Packit Service fb6fa5
				    gint             *num_ranges)
Packit Service fb6fa5
{
Packit Service fb6fa5
  const gchar *val;
Packit Service fb6fa5
  gchar **range_strs;
Packit Service fb6fa5
  GtkPageRange *ranges;
Packit Service fb6fa5
  gint i, n;
Packit Service fb6fa5
  
Packit Service fb6fa5
  val = gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_PAGE_RANGES);
Packit Service fb6fa5
Packit Service fb6fa5
  if (val == NULL)
Packit Service fb6fa5
    {
Packit Service fb6fa5
      *num_ranges = 0;
Packit Service fb6fa5
      return NULL;
Packit Service fb6fa5
    }
Packit Service fb6fa5
  
Packit Service fb6fa5
  range_strs = g_strsplit (val, ",", 0);
Packit Service fb6fa5
Packit Service fb6fa5
  for (i = 0; range_strs[i] != NULL; i++)
Packit Service fb6fa5
    ;
Packit Service fb6fa5
Packit Service fb6fa5
  n = i;
Packit Service fb6fa5
Packit Service fb6fa5
  ranges = g_new0 (GtkPageRange, n);
Packit Service fb6fa5
Packit Service fb6fa5
  for (i = 0; i < n; i++)
Packit Service fb6fa5
    {
Packit Service fb6fa5
      gint start, end;
Packit Service fb6fa5
      gchar *str;
Packit Service fb6fa5
Packit Service fb6fa5
      start = (gint)strtol (range_strs[i], &str, 10);
Packit Service fb6fa5
      end = start;
Packit Service fb6fa5
Packit Service fb6fa5
      if (*str == '-')
Packit Service fb6fa5
	{
Packit Service fb6fa5
	  str++;
Packit Service fb6fa5
	  end = (gint)strtol (str, NULL, 10);
Packit Service fb6fa5
	}
Packit Service fb6fa5
Packit Service fb6fa5
      ranges[i].start = start;
Packit Service fb6fa5
      ranges[i].end = end;
Packit Service fb6fa5
    }
Packit Service fb6fa5
Packit Service fb6fa5
  g_strfreev (range_strs);
Packit Service fb6fa5
Packit Service fb6fa5
  *num_ranges = n;
Packit Service fb6fa5
  return ranges;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_page_ranges:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @page_ranges: (array length=num_ranges): an array of #GtkPageRanges
Packit Service fb6fa5
 * @num_ranges: the length of @page_ranges
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_page_ranges  (GtkPrintSettings *settings,
Packit Service fb6fa5
				     GtkPageRange     *page_ranges,
Packit Service fb6fa5
				     gint              num_ranges)
Packit Service fb6fa5
{
Packit Service fb6fa5
  GString *s;
Packit Service fb6fa5
  gint i;
Packit Service fb6fa5
  
Packit Service fb6fa5
  s = g_string_new ("");
Packit Service fb6fa5
Packit Service fb6fa5
  for (i = 0; i < num_ranges; i++)
Packit Service fb6fa5
    {
Packit Service fb6fa5
      if (page_ranges[i].start == page_ranges[i].end)
Packit Service fb6fa5
	g_string_append_printf (s, "%d", page_ranges[i].start);
Packit Service fb6fa5
      else
Packit Service fb6fa5
	g_string_append_printf (s, "%d-%d",
Packit Service fb6fa5
				page_ranges[i].start,
Packit Service fb6fa5
				page_ranges[i].end);
Packit Service fb6fa5
      if (i < num_ranges - 1)
Packit Service fb6fa5
	g_string_append (s, ",");
Packit Service fb6fa5
    }
Packit Service fb6fa5
Packit Service fb6fa5
  
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_PAGE_RANGES, 
Packit Service fb6fa5
			  s->str);
Packit Service fb6fa5
Packit Service fb6fa5
  g_string_free (s, TRUE);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_default_source:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the default source
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
const gchar *
Packit Service fb6fa5
gtk_print_settings_get_default_source (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_DEFAULT_SOURCE);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_default_source:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @default_source: the default source
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_default_source (GtkPrintSettings *settings,
Packit Service fb6fa5
				       const gchar      *default_source)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_DEFAULT_SOURCE, default_source);
Packit Service fb6fa5
}
Packit Service fb6fa5
     
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_media_type:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * The set of media types is defined in PWG 5101.1-2002 PWG.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the media type
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
const gchar *
Packit Service fb6fa5
gtk_print_settings_get_media_type (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_MEDIA_TYPE);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_media_type:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @media_type: the media type
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * The set of media types is defined in PWG 5101.1-2002 PWG.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_media_type (GtkPrintSettings *settings,
Packit Service fb6fa5
				   const gchar      *media_type)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_MEDIA_TYPE, media_type);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_dither:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_DITHER.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the dithering that is used
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
const gchar *
Packit Service fb6fa5
gtk_print_settings_get_dither (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_DITHER);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_dither:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @dither: the dithering that is used
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_DITHER.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_dither (GtkPrintSettings *settings,
Packit Service fb6fa5
			       const gchar      *dither)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_DITHER, dither);
Packit Service fb6fa5
}
Packit Service fb6fa5
     
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_finishings:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_FINISHINGS.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the finishings
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
const gchar *
Packit Service fb6fa5
gtk_print_settings_get_finishings (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_FINISHINGS);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_finishings:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @finishings: the finishings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_FINISHINGS.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_finishings (GtkPrintSettings *settings,
Packit Service fb6fa5
				   const gchar      *finishings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_FINISHINGS, finishings);
Packit Service fb6fa5
}
Packit Service fb6fa5
     
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_get_output_bin:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Gets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: the output bin
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
const gchar *
Packit Service fb6fa5
gtk_print_settings_get_output_bin (GtkPrintSettings *settings)
Packit Service fb6fa5
{
Packit Service fb6fa5
  return gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_BIN);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_set_output_bin:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @output_bin: the output bin
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Sets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.10
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_set_output_bin (GtkPrintSettings *settings,
Packit Service fb6fa5
				   const gchar      *output_bin)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_OUTPUT_BIN, output_bin);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_load_file:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @file_name: the filename to read the settings from
Packit Service fb6fa5
 * @error: (allow-none): return location for errors, or %NULL
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Reads the print settings from @file_name. If the file could not be loaded
Packit Service fb6fa5
 * then error is set to either a #GFileError or #GKeyFileError.
Packit Service fb6fa5
 * See gtk_print_settings_to_file().
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Return value: %TRUE on success
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.14
Packit Service fb6fa5
 */
Packit Service fb6fa5
gboolean
Packit Service fb6fa5
gtk_print_settings_load_file (GtkPrintSettings *settings,
Packit Service fb6fa5
                              const gchar      *file_name,
Packit Service fb6fa5
                              GError          **error)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gboolean retval = FALSE;
Packit Service fb6fa5
  GKeyFile *key_file;
Packit Service fb6fa5
Packit Service fb6fa5
  g_return_val_if_fail (GTK_IS_PRINT_SETTINGS (settings), FALSE);
Packit Service fb6fa5
  g_return_val_if_fail (file_name != NULL, FALSE);
Packit Service fb6fa5
Packit Service fb6fa5
  key_file = g_key_file_new ();
Packit Service fb6fa5
Packit Service fb6fa5
  if (g_key_file_load_from_file (key_file, file_name, 0, error) &&
Packit Service fb6fa5
      gtk_print_settings_load_key_file (settings, key_file, NULL, error))
Packit Service fb6fa5
    retval = TRUE;
Packit Service fb6fa5
Packit Service fb6fa5
  g_key_file_free (key_file);
Packit Service fb6fa5
Packit Service fb6fa5
  return retval;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_new_from_file:
Packit Service fb6fa5
 * @file_name: the filename to read the settings from
Packit Service fb6fa5
 * @error: (allow-none): return location for errors, or %NULL
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Reads the print settings from @file_name. Returns a new #GtkPrintSettings
Packit Service fb6fa5
 * object with the restored settings, or %NULL if an error occurred. If the
Packit Service fb6fa5
 * file could not be loaded then error is set to either a #GFileError or
Packit Service fb6fa5
 * #GKeyFileError.  See gtk_print_settings_to_file().
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Return value: the restored #GtkPrintSettings
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.12
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkPrintSettings *
Packit Service fb6fa5
gtk_print_settings_new_from_file (const gchar  *file_name,
Packit Service fb6fa5
			          GError      **error)
Packit Service fb6fa5
{
Packit Service fb6fa5
  GtkPrintSettings *settings = gtk_print_settings_new ();
Packit Service fb6fa5
Packit Service fb6fa5
  if (!gtk_print_settings_load_file (settings, file_name, error))
Packit Service fb6fa5
    {
Packit Service fb6fa5
      g_object_unref (settings);
Packit Service fb6fa5
      settings = NULL;
Packit Service fb6fa5
    }
Packit Service fb6fa5
Packit Service fb6fa5
  return settings;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_load_key_file:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key_file: the #GKeyFile to retrieve the settings from
Packit Service fb6fa5
 * @group_name: (allow-none): the name of the group to use, or %NULL to use the default
Packit Service fb6fa5
 *     "Print Settings"
Packit Service fb6fa5
 * @error: (allow-none): return location for errors, or %NULL
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Reads the print settings from the group @group_name in @key_file. If the
Packit Service fb6fa5
 * file could not be loaded then error is set to either a #GFileError or
Packit Service fb6fa5
 * #GKeyFileError.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Return value: %TRUE on success
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.14
Packit Service fb6fa5
 */
Packit Service fb6fa5
gboolean
Packit Service fb6fa5
gtk_print_settings_load_key_file (GtkPrintSettings *settings,
Packit Service fb6fa5
				  GKeyFile         *key_file,
Packit Service fb6fa5
				  const gchar      *group_name,
Packit Service fb6fa5
				  GError          **error)
Packit Service fb6fa5
{
Packit Service fb6fa5
  gchar **keys;
Packit Service fb6fa5
  gsize n_keys, i;
Packit Service fb6fa5
  GError *err = NULL;
Packit Service fb6fa5
Packit Service fb6fa5
  g_return_val_if_fail (GTK_IS_PRINT_SETTINGS (settings), FALSE);
Packit Service fb6fa5
  g_return_val_if_fail (key_file != NULL, FALSE);
Packit Service fb6fa5
Packit Service fb6fa5
  if (!group_name)
Packit Service fb6fa5
    group_name = KEYFILE_GROUP_NAME;
Packit Service fb6fa5
Packit Service fb6fa5
  keys = g_key_file_get_keys (key_file,
Packit Service fb6fa5
			      group_name,
Packit Service fb6fa5
			      &n_keys,
Packit Service fb6fa5
			      &err;;
Packit Service fb6fa5
  if (err != NULL)
Packit Service fb6fa5
    {
Packit Service fb6fa5
      g_propagate_error (error, err);
Packit Service fb6fa5
      return FALSE;
Packit Service fb6fa5
    }
Packit Service fb6fa5
   
Packit Service fb6fa5
  for (i = 0 ; i < n_keys; ++i)
Packit Service fb6fa5
    {
Packit Service fb6fa5
      gchar *value;
Packit Service fb6fa5
Packit Service fb6fa5
      value = g_key_file_get_string (key_file,
Packit Service fb6fa5
				     group_name,
Packit Service fb6fa5
				     keys[i],
Packit Service fb6fa5
				     NULL);
Packit Service fb6fa5
      if (!value)
Packit Service fb6fa5
        continue;
Packit Service fb6fa5
Packit Service fb6fa5
      gtk_print_settings_set (settings, keys[i], value);
Packit Service fb6fa5
      g_free (value);
Packit Service fb6fa5
    }
Packit Service fb6fa5
Packit Service fb6fa5
  g_strfreev (keys);
Packit Service fb6fa5
Packit Service fb6fa5
  return TRUE;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_new_from_key_file:
Packit Service fb6fa5
 * @key_file: the #GKeyFile to retrieve the settings from
Packit Service fb6fa5
 * @group_name: (allow-none): the name of the group to use, or %NULL to use
Packit Service fb6fa5
 *     the default "Print Settings"
Packit Service fb6fa5
 * @error: (allow-none): return location for errors, or %NULL
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Reads the print settings from the group @group_name in @key_file.  Returns a
Packit Service fb6fa5
 * new #GtkPrintSettings object with the restored settings, or %NULL if an
Packit Service fb6fa5
 * error occurred. If the file could not be loaded then error is set to either
Packit Service fb6fa5
 * a #GFileError or #GKeyFileError.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Return value: the restored #GtkPrintSettings
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.12
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkPrintSettings *
Packit Service fb6fa5
gtk_print_settings_new_from_key_file (GKeyFile     *key_file,
Packit Service fb6fa5
				      const gchar  *group_name,
Packit Service fb6fa5
				      GError      **error)
Packit Service fb6fa5
{
Packit Service fb6fa5
  GtkPrintSettings *settings = gtk_print_settings_new ();
Packit Service fb6fa5
Packit Service fb6fa5
  if (!gtk_print_settings_load_key_file (settings, key_file,
Packit Service fb6fa5
                                         group_name, error))
Packit Service fb6fa5
    {
Packit Service fb6fa5
      g_object_unref (settings);
Packit Service fb6fa5
      settings = NULL;
Packit Service fb6fa5
    }
Packit Service fb6fa5
Packit Service fb6fa5
  return settings;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_to_file:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @file_name: the file to save to
Packit Service fb6fa5
 * @error: (allow-none): return location for errors, or %NULL
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * This function saves the print settings from @settings to @file_name. If the
Packit Service fb6fa5
 * file could not be loaded then error is set to either a #GFileError or
Packit Service fb6fa5
 * #GKeyFileError.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Return value: %TRUE on success
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * Since: 2.12
Packit Service fb6fa5
 */
Packit Service fb6fa5
gboolean
Packit Service fb6fa5
gtk_print_settings_to_file (GtkPrintSettings  *settings,
Packit Service fb6fa5
			    const gchar       *file_name,
Packit Service fb6fa5
			    GError           **error)
Packit Service fb6fa5
{
Packit Service fb6fa5
  GKeyFile *key_file;
Packit Service fb6fa5
  gboolean retval = FALSE;
Packit Service fb6fa5
  char *data = NULL;
Packit Service fb6fa5
  gsize len;
Packit Service fb6fa5
  GError *err = NULL;
Packit Service fb6fa5
Packit Service fb6fa5
  g_return_val_if_fail (GTK_IS_PRINT_SETTINGS (settings), FALSE);
Packit Service fb6fa5
  g_return_val_if_fail (file_name != NULL, FALSE);
Packit Service fb6fa5
Packit Service fb6fa5
  key_file = g_key_file_new ();
Packit Service fb6fa5
  gtk_print_settings_to_key_file (settings, key_file, NULL);
Packit Service fb6fa5
Packit Service fb6fa5
  data = g_key_file_to_data (key_file, &len, &err;;
Packit Service fb6fa5
  if (!data)
Packit Service fb6fa5
    goto out;
Packit Service fb6fa5
Packit Service fb6fa5
  retval = g_file_set_contents (file_name, data, len, &err;;
Packit Service fb6fa5
Packit Service fb6fa5
out:
Packit Service fb6fa5
  if (err != NULL)
Packit Service fb6fa5
    g_propagate_error (error, err);
Packit Service fb6fa5
Packit Service fb6fa5
  g_key_file_free (key_file);
Packit Service fb6fa5
  g_free (data);
Packit Service fb6fa5
Packit Service fb6fa5
  return retval;
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
typedef struct {
Packit Service fb6fa5
  GKeyFile *key_file;
Packit Service fb6fa5
  const gchar *group_name;
Packit Service fb6fa5
} SettingsData;
Packit Service fb6fa5
Packit Service fb6fa5
static void
Packit Service fb6fa5
add_value_to_key_file (const gchar  *key,
Packit Service fb6fa5
		       const gchar  *value,
Packit Service fb6fa5
		       SettingsData *data)
Packit Service fb6fa5
{
Packit Service fb6fa5
  g_key_file_set_string (data->key_file, data->group_name, key, value);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
/**
Packit Service fb6fa5
 * gtk_print_settings_to_key_file:
Packit Service fb6fa5
 * @settings: a #GtkPrintSettings
Packit Service fb6fa5
 * @key_file: the #GKeyFile to save the print settings to
Packit Service fb6fa5
 * @group_name: the group to add the settings to in @key_file, or 
Packit Service fb6fa5
 *     %NULL to use the default "Print Settings"
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * This function adds the print settings from @settings to @key_file.
Packit Service fb6fa5
 * 
Packit Service fb6fa5
 * Since: 2.12
Packit Service fb6fa5
 */
Packit Service fb6fa5
void
Packit Service fb6fa5
gtk_print_settings_to_key_file (GtkPrintSettings  *settings,
Packit Service fb6fa5
			        GKeyFile          *key_file,
Packit Service fb6fa5
				const gchar       *group_name)
Packit Service fb6fa5
{
Packit Service fb6fa5
  SettingsData data;
Packit Service fb6fa5
Packit Service fb6fa5
  g_return_if_fail (GTK_IS_PRINT_SETTINGS (settings));
Packit Service fb6fa5
  g_return_if_fail (key_file != NULL);
Packit Service fb6fa5
Packit Service fb6fa5
  if (!group_name)
Packit Service fb6fa5
    group_name = KEYFILE_GROUP_NAME;
Packit Service fb6fa5
Packit Service fb6fa5
  data.key_file = key_file;
Packit Service fb6fa5
  data.group_name = group_name;
Packit Service fb6fa5
Packit Service fb6fa5
  gtk_print_settings_foreach (settings,
Packit Service fb6fa5
			      (GtkPrintSettingsFunc) add_value_to_key_file,
Packit Service fb6fa5
			      &data);
Packit Service fb6fa5
}
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
#define __GTK_PRINT_SETTINGS_C__
Packit Service fb6fa5
#include "gtkaliasdef.c"