summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk/gtkbuilder.c6
-rw-r--r--gtk/gtkdropdown.c15
-rw-r--r--gtk/gtkexpression.c771
-rw-r--r--gtk/gtkexpression.h74
-rw-r--r--gtk/gtknumericsorter.c29
-rw-r--r--gtk/gtkstringfilter.c17
-rw-r--r--gtk/gtkstringsorter.c17
-rw-r--r--po/sl.po685
-rw-r--r--testsuite/gtk/builderparser.c1
9 files changed, 1136 insertions, 479 deletions
diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c
index 385b78db65..187d95720d 100644
--- a/gtk/gtkbuilder.c
+++ b/gtk/gtkbuilder.c
@@ -534,11 +534,9 @@ gtk_builder_get_parameters (GtkBuilder *builder,
g_value_init (&property_value, G_PARAM_SPEC_VALUE_TYPE (prop->pspec));
if (G_PARAM_SPEC_VALUE_TYPE (prop->pspec) == GTK_TYPE_EXPRESSION)
- g_value_set_boxed (&property_value, prop->value);
+ gtk_value_set_expression (&property_value, prop->value);
else
- {
- g_assert_not_reached();
- }
+ g_assert_not_reached ();
}
else if (prop->bound && (!prop->text || prop->text->len == 0))
{
diff --git a/gtk/gtkdropdown.c b/gtk/gtkdropdown.c
index 4759186a49..c4f3e37f19 100644
--- a/gtk/gtkdropdown.c
+++ b/gtk/gtkdropdown.c
@@ -315,7 +315,7 @@ gtk_drop_down_get_property (GObject *object,
break;
case PROP_EXPRESSION:
- g_value_set_boxed (value, self->expression);
+ gtk_value_set_expression (value, self->expression);
break;
default:
@@ -355,7 +355,7 @@ gtk_drop_down_set_property (GObject *object,
break;
case PROP_EXPRESSION:
- gtk_drop_down_set_expression (self, g_value_get_boxed (value));
+ gtk_drop_down_set_expression (self, gtk_value_get_expression (value));
break;
default:
@@ -497,7 +497,7 @@ gtk_drop_down_class_init (GtkDropDownClass *klass)
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
/**
- * GtkDropDown:expression:
+ * GtkDropDown:expression: (type GtkExpression)
*
* An expression to evaluate to obtain strings to match against the search
* term (see #GtkDropDown:enable-search). If #GtkDropDown:factory is not set,
@@ -505,11 +505,10 @@ gtk_drop_down_class_init (GtkDropDownClass *klass)
* default factory.
*/
properties[PROP_EXPRESSION] =
- g_param_spec_boxed ("expression",
- P_("Expression"),
- P_("Expression to determine strings to search for"),
- GTK_TYPE_EXPRESSION,
- G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
+ gtk_param_spec_expression ("expression",
+ P_("Expression"),
+ P_("Expression to determine strings to search for"),
+ G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (gobject_class, N_PROPS, properties);
diff --git a/gtk/gtkexpression.c b/gtk/gtkexpression.c
index 394bdd42e9..d690487ca8 100644
--- a/gtk/gtkexpression.c
+++ b/gtk/gtkexpression.c
@@ -30,7 +30,7 @@
*
* GtkExpression provides a way to describe references to #GValues.
*
- * An expression needs to be `evaluated` to obtain the value that it currently refers
+ * An expression needs to be "evaluated" to obtain the value that it currently refers
* to. An evaluation always happens in the context of a current object called `this`
* (it mirrors the behavior of object-oriented languages), which may or may not
* influence the result of the evaluation. Use gtk_expression_evaluate() for
@@ -43,7 +43,7 @@
*
* By default, expressions are not paying attention to changes and evaluation is
* just a snapshot of the current state at a given time. To get informed about
- * changes, an expression needs to be `watched` via a #GtkExpressionWatch, which
+ * changes, an expression needs to be "watched" via a #GtkExpressionWatch, which
* will cause a callback to be called whenever the value of the expression may
* have changed. gtk_expression_watch() starts watching an expression, and
* gtk_expression_watch_unwatch() stops.
@@ -51,6 +51,39 @@
* Watches can be created for automatically updating the propery of an object,
* similar to GObject's #GBinding mechanism, by using gtk_expression_bind().
*
+ * # GtkExpression in GObject properties
+ *
+ * In order to use a #GtkExpression as a #GObject property, you must use the
+ * gtk_param_spec_expression() when creating a #GParamSpec to install in the
+ * #GObject class being defined; for instance:
+ *
+ * |[
+ * obj_props[PROP_EXPRESSION] =
+ * gtk_param_spec_expression ("expression",
+ * "Expression",
+ * "The expression used by the widget",
+ * G_PARAM_READWRITE |
+ * G_PARAM_STATIC_STRINGS |
+ * G_PARAM_EXPLICIT_NOTIFY);
+ * ]|
+ *
+ * When implementing the #GObjectClass.set_property() and #GObjectClass.get_property()
+ * virtual functions, you must use gtk_value_get_expression(), to retrieve the
+ * stored #GtkExpression from the #GValue container, and gtk_value_set_expression(),
+ * to store the #GtkExpression into the #GValue; for instance:
+ *
+ * |[
+ * // in set_property()...
+ * case PROP_EXPRESSION:
+ * foo_widget_set_expression (foo, gtk_value_get_expression (value));
+ * break;
+ *
+ * // in get_property()...
+ * case PROP_EXPRESSION:
+ * gtk_value_set_expression (value, foo->expression);
+ * break;
+ * ]|
+ *
* # GtkExpression in .ui files
*
* GtkBuilder has support for creating expressions. The syntax here can be used where
@@ -89,33 +122,54 @@
* </closure>
* ]|
*/
+
+
+/**
+ * GtkExpression: (ref-func gtk_expression_ref) (unref-func gtk_expression_unref) (set-value-func gtk_value_set_expression) (get-value-func gtk_value_get_expression)
+ *
+ * The `GtkExpression` structure contains only private data.
+ */
+
typedef struct _GtkExpressionClass GtkExpressionClass;
+typedef struct _GtkExpressionSubWatch GtkExpressionSubWatch;
+typedef struct _GtkExpressionTypeInfo GtkExpressionTypeInfo;
struct _GtkExpression
{
- const GtkExpressionClass *expression_class;
+ GTypeInstance parent_instance;
+
+ gatomicrefcount ref_count;
+
GType value_type;
GtkExpression *owner;
};
-typedef struct _GtkExpressionSubWatch GtkExpressionSubWatch;
-
-struct _GtkExpressionWatch
+struct _GtkExpressionClass
{
- GtkExpression *expression;
- GObject *this;
- GDestroyNotify user_destroy;
- GtkExpressionNotify notify;
- gpointer user_data;
- guchar sub[0];
+ GTypeClass parent_class;
+
+ void (* finalize) (GtkExpression *expr);
+ gboolean (* is_static) (GtkExpression *expr);
+ gboolean (* evaluate) (GtkExpression *expr,
+ gpointer this,
+ GValue *value);
+
+ gsize (* watch_size) (GtkExpression *expr);
+ void (* watch) (GtkExpression *self,
+ GtkExpressionSubWatch *watch,
+ gpointer this_,
+ GtkExpressionNotify notify,
+ gpointer user_data);
+ void (* unwatch) (GtkExpression *self,
+ GtkExpressionSubWatch *watch);
};
-struct _GtkExpressionClass
+struct _GtkExpressionTypeInfo
{
- gsize struct_size;
- const char *type_name;
+ gsize instance_size;
+ void (* instance_init) (GtkExpression *expr);
void (* finalize) (GtkExpression *expr);
gboolean (* is_static) (GtkExpression *expr);
gboolean (* evaluate) (GtkExpression *expr,
@@ -132,64 +186,500 @@ struct _GtkExpressionClass
GtkExpressionSubWatch *watch);
};
+struct _GtkExpressionWatch
+{
+ GtkExpression *expression;
+ GObject *this;
+ GDestroyNotify user_destroy;
+ GtkExpressionNotify notify;
+ gpointer user_data;
+ guchar sub[0];
+};
+
+#define GTK_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_EXPRESSION, GtkExpressionClass))
+
+/*< private >
+ * GTK_DEFINE_EXPRESSION_TYPE:
+ * @TypeName: the type name, in camel case
+ * @type_name: the type name, in snake case
+ * @type_info: the address of the #GtkExpressionTypeInfo for the expression type
+ *
+ * Registers a new #GtkExpression subclass with the given @TypeName and @type_info.
+ *
+ * Similarly to %G_DEFINE_TYPE, this macro will generate a `get_type()`
+ * function that registers the event type.
+ *
+ * You can specify code to be run after the type registration; the #GType of
+ * the event is available in the `gtk_define_expression_type_id` variable.
+ */
+#define GTK_DEFINE_EXPRESSION_TYPE(TypeName, type_name, type_info) \
+GType \
+type_name ## _get_type (void) \
+{ \
+ static volatile gsize gtk_define_expression_type_id__volatile; \
+ if (g_once_init_enter (&gtk_define_expression_type_id__volatile)) \
+ { \
+ GType gtk_define_expression_type_id = \
+ gtk_expression_type_register_static (g_intern_static_string (#TypeName), type_info); \
+ g_once_init_leave (&gtk_define_expression_type_id__volatile, gtk_define_expression_type_id); \
+ } \
+ return gtk_define_expression_type_id__volatile; \
+}
+
+#define GTK_EXPRESSION_SUPER(expr) \
+ ((GtkExpressionClass *) g_type_class_peek (g_type_parent (G_TYPE_FROM_INSTANCE (expr))))
+
+/* {{{ GtkExpression internals */
+
+static void
+value_expression_init (GValue *value)
+{
+ value->data[0].v_pointer = NULL;
+}
+
+static void
+value_expression_free_value (GValue *value)
+{
+ if (value->data[0].v_pointer != NULL)
+ gtk_expression_unref (value->data[0].v_pointer);
+}
+
+static void
+value_expression_copy_value (const GValue *src,
+ GValue *dst)
+{
+ if (src->data[0].v_pointer != NULL)
+ dst->data[0].v_pointer = gtk_expression_ref (src->data[0].v_pointer);
+ else
+ dst->data[0].v_pointer = NULL;
+}
+
+static gpointer
+value_expression_peek_pointer (const GValue *value)
+{
+ return value->data[0].v_pointer;
+}
+
+static char *
+value_expression_collect_value (GValue *value,
+ guint n_collect_values,
+ GTypeCValue *collect_values,
+ guint collect_flags)
+{
+ GtkExpression *expression = collect_values[0].v_pointer;
+
+ if (expression == NULL)
+ {
+ value->data[0].v_pointer = NULL;
+ return NULL;
+ }
+
+ if (expression->parent_instance.g_class == NULL)
+ return g_strconcat ("invalid unclassed GtkExpression pointer for "
+ "value type '",
+ G_VALUE_TYPE_NAME (value),
+ "'",
+ NULL);
+
+ value->data[0].v_pointer = gtk_expression_ref (expression);
+
+ return NULL;
+}
+
+static gchar *
+value_expression_lcopy_value (const GValue *value,
+ guint n_collect_values,
+ GTypeCValue *collect_values,
+ guint collect_flags)
+{
+ GtkExpression **expression_p = collect_values[0].v_pointer;
+
+ if (expression_p == NULL)
+ return g_strconcat ("value location for '",
+ G_VALUE_TYPE_NAME (value),
+ "' passed as NULL",
+ NULL);
+
+ if (value->data[0].v_pointer == NULL)
+ *expression_p = NULL;
+ else if (collect_flags & G_VALUE_NOCOPY_CONTENTS)
+ *expression_p = value->data[0].v_pointer;
+ else
+ *expression_p = gtk_expression_ref (value->data[0].v_pointer);
+
+ return NULL;
+}
+
/**
- * GtkExpression: (ref-func gtk_expression_ref) (unref-func gtk_expression_unref)
+ * gtk_value_set_expression:
+ * @value: a #GValue initialized with type %GTK_TYPE_EXPRESSION
+ * @expression: a #GtkExpression
*
- * The `GtkExpression` structure contains only private data.
+ * Stores the given #GtkExpression inside @value.
+ *
+ * The #GValue will acquire a reference to the @expression.
*/
+void
+gtk_value_set_expression (GValue *value,
+ GtkExpression *expression)
+{
+ g_return_if_fail (G_VALUE_HOLDS (value, GTK_TYPE_EXPRESSION));
-G_DEFINE_BOXED_TYPE (GtkExpression, gtk_expression,
- gtk_expression_ref,
- gtk_expression_unref)
+ GtkExpression *old_expression = value->data[0].v_pointer;
-/*< private >
- * gtk_expression_alloc:
- * @expression_class: class structure for this expression
- * @value_type: the type of the value returned by this expression
+ if (expression != NULL)
+ {
+ g_return_if_fail (GTK_IS_EXPRESSION (expression));
+
+ value->data[0].v_pointer = gtk_expression_ref (expression);
+ }
+ else
+ {
+ value->data[0].v_pointer = NULL;
+ }
+
+ if (old_expression != NULL)
+ gtk_expression_unref (old_expression);
+}
+
+/**
+ * gtk_value_take_expression:
+ * @value: a #GValue initialized with type %GTK_TYPE_EXPRESSION
+ * @expression: (transfer full) (nullable): a #GtkExpression
*
- * Returns: (transfer full): the newly created #GtkExpression
+ * Stores the given #GtkExpression inside @value.
+ *
+ * This function transfers the ownership of the @expression to the #GValue.
*/
-static gpointer
-gtk_expression_alloc (const GtkExpressionClass *expression_class,
- GType value_type)
+void
+gtk_value_take_expression (GValue *value,
+ GtkExpression *expression)
{
- GtkExpression *self;
+ g_return_if_fail (G_VALUE_HOLDS (value, GTK_TYPE_EXPRESSION));
- g_return_val_if_fail (expression_class != NULL, NULL);
+ GtkExpression *old_expression = value->data[0].v_pointer;
- self = g_atomic_rc_box_alloc0 (expression_class->struct_size);
+ if (expression != NULL)
+ {
+ g_return_if_fail (GTK_IS_EXPRESSION (expression));
- self->expression_class = expression_class;
- self->value_type = value_type;
+ value->data[0].v_pointer = expression;
+ }
+ else
+ {
+ value->data[0].v_pointer = NULL;
+ }
- return self;
+ if (old_expression != NULL)
+ gtk_expression_unref (old_expression);
+}
+
+/**
+ * gtk_value_get_expression:
+ * @value: a #GValue initialized with type %GTK_TYPE_EXPRESSION
+ *
+ * Retrieves the #GtkExpression stored inside the given @value.
+ *
+ * Returns: (transfer none) (nullable): a #GtkExpression
+ */
+GtkExpression *
+gtk_value_get_expression (const GValue *value)
+{
+ g_return_val_if_fail (G_VALUE_HOLDS (value, GTK_TYPE_EXPRESSION), NULL);
+
+ return value->data[0].v_pointer;
+}
+
+/**
+ * gtk_value_dup_expression:
+ * @value: a #GValue initialized with type %GTK_TYPE_EXPRESSION
+ *
+ * Retrieves the #GtkExpression stored inside the given @value, and acquires
+ * a reference to it.
+ *
+ * Returns: (transfer full) (nullable): a #GtkExpression
+ */
+GtkExpression *
+gtk_value_dup_expression (const GValue *value)
+{
+ g_return_val_if_fail (G_VALUE_HOLDS (value, GTK_TYPE_EXPRESSION), NULL);
+
+ if (value->data[0].v_pointer == NULL)
+ return NULL;
+
+ GtkExpression *expression = value->data[0].v_pointer;
+
+ return gtk_expression_ref (expression);
+}
+
+static void
+param_expression_init (GParamSpec *pspec)
+{
+}
+
+static void
+param_expression_set_default (GParamSpec *pspec,
+ GValue *value)
+{
+ value->data[0].v_pointer = NULL;
+}
+
+static gboolean
+param_expression_validate (GParamSpec *pspec,
+ GValue *value)
+{
+ GtkParamSpecExpression *espec = GTK_PARAM_SPEC_EXPRESSION (pspec);
+ GtkExpression *expr = value->data[0].v_pointer;
+ guint changed = 0;
+
+ if (expr != NULL &&
+ !g_value_type_compatible (G_TYPE_FROM_INSTANCE (expr), G_PARAM_SPEC_VALUE_TYPE (espec)))
+ {
+ gtk_expression_unref (expr);
+ value->data[0].v_pointer = NULL;
+ changed++;
+ }
+
+ return changed;
+}
+
+static gint
+param_expression_values_cmp (GParamSpec *pspec,
+ const GValue *value1,
+ const GValue *value2)
+{
+ guint8 *p1 = value1->data[0].v_pointer;
+ guint8 *p2 = value2->data[0].v_pointer;
+
+ return p1 < p2 ? -1 : p1 > p2;
+}
+
+GType
+gtk_param_expression_get_type (void)
+{
+ static volatile gsize param_expression_type__volatile;
+
+ if (g_once_init_enter (&param_expression_type__volatile))
+ {
+ const GParamSpecTypeInfo pspec_info = {
+ sizeof (GtkParamSpecExpression),
+ 16,
+ param_expression_init,
+ GTK_TYPE_EXPRESSION,
+ NULL,
+ param_expression_set_default,
+ param_expression_validate,
+ param_expression_values_cmp,
+ };
+
+ GType param_expression_type =
+ g_param_type_register_static (g_intern_static_string ("GtkParamSpecExpression"),
+ &pspec_info);
+
+ g_once_init_leave (&param_expression_type__volatile, param_expression_type);
+ }
+
+ return param_expression_type__volatile;
+}
+
+/**
+ * gtk_param_spec_expression:
+ * @name: canonical name of the property
+ * @nick: a user-readable name for the property
+ * @blurb: a user-readable description of the property
+ * @flags: flags for the property
+ *
+ * Creates a new #GParamSpec instance for a property holding a #GtkExpression.
+ *
+ * See g_param_spec_internal() for details on the property strings.
+ *
+ * Returns: (transfer full): a newly created property specification
+ */
+GParamSpec *
+gtk_param_spec_expression (const char *name,
+ const char *nick,
+ const char *blurb,
+ GParamFlags flags)
+{
+ GParamSpec *pspec = g_param_spec_internal (GTK_TYPE_PARAM_SPEC_EXPRESSION,
+ name, nick, blurb,
+ flags);
+
+ pspec->value_type = GTK_TYPE_EXPRESSION;
+
+ return pspec;
+}
+
+/* }}} */
+
+/* {{{ GtkExpression internals */
+
+static void
+gtk_expression_real_finalize (GtkExpression *self)
+{
+ g_type_free_instance ((GTypeInstance *) self);
}
static gsize
-gtk_expression_watch_size_static (GtkExpression *self)
+gtk_expression_real_watch_size (GtkExpression *self)
{
return 0;
}
static void
-gtk_expression_watch_static (GtkExpression *self,
- GtkExpressionSubWatch *watch,
- gpointer this_,
- GtkExpressionNotify notify,
- gpointer user_data)
+gtk_expression_real_watch (GtkExpression *self,
+ GtkExpressionSubWatch *watch,
+ gpointer this_,
+ GtkExpressionNotify notify,
+ gpointer user_data)
{
}
static void
-gtk_expression_unwatch_static (GtkExpression *self,
- GtkExpressionSubWatch *watch)
+gtk_expression_real_unwatch (GtkExpression *self,
+ GtkExpressionSubWatch *watch)
{
}
static gsize
gtk_expression_watch_size (GtkExpression *self)
{
- return self->expression_class->watch_size (self);
+ return GTK_EXPRESSION_GET_CLASS (self)->watch_size (self);
+}
+
+static void
+gtk_expression_class_init (GtkExpressionClass *klass)
+{
+ klass->finalize = gtk_expression_real_finalize;
+ klass->watch_size = gtk_expression_real_watch_size;
+ klass->watch = gtk_expression_real_watch;
+ klass->unwatch = gtk_expression_real_unwatch;
+}
+
+static void
+gtk_expression_init (GtkExpression *self)
+{
+ g_atomic_ref_count_init (&self->ref_count);
+}
+
+GType
+gtk_expression_get_type (void)
+{
+ static volatile gsize expression_type__volatile;
+
+ if (g_once_init_enter (&expression_type__volatile))
+ {
+ static const GTypeFundamentalInfo finfo = {
+ (G_TYPE_FLAG_CLASSED |
+ G_TYPE_FLAG_INSTANTIATABLE |
+ G_TYPE_FLAG_DERIVABLE |
+ G_TYPE_FLAG_DEEP_DERIVABLE),
+ };
+
+ static const GTypeValueTable value_table = {
+ value_expression_init,
+ value_expression_free_value,
+ value_expression_copy_value,
+ value_expression_peek_pointer,
+ "p",
+ value_expression_collect_value,
+ "p",
+ value_expression_lcopy_value,
+ };
+
+ const GTypeInfo event_info = {
+ /* Class */
+ sizeof (GtkExpressionClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) gtk_expression_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+
+ /* Instance */
+ sizeof (GtkExpression),
+ 0,
+ (GInstanceInitFunc) gtk_expression_init,
+
+ /* GValue */
+ &value_table,
+ };
+
+ GType expression_type =
+ g_type_register_fundamental (g_type_fundamental_next (),
+ g_intern_static_string ("GtkExpression"),
+ &event_info, &finfo,
+ G_TYPE_FLAG_ABSTRACT);
+
+ g_once_init_leave (&expression_type__volatile, expression_type);
+ }
+
+ return expression_type__volatile;
+}
+
+static void
+gtk_expression_generic_class_init (gpointer g_class,
+ gpointer class_data)
+{
+ GtkExpressionTypeInfo *info = class_data;
+ GtkExpressionClass *expression_class = g_class;
+
+ /* Mandatory */
+ expression_class->is_static = info->is_static;
+ expression_class->evaluate = info->evaluate;
+
+ /* Optional */
+ if (info->finalize != NULL)
+ expression_class->finalize = info->finalize;
+ if (info->watch_size != NULL)
+ expression_class->watch_size = info->watch_size;
+ if (info->watch != NULL)
+ expression_class->watch = info->watch;
+ if (info->unwatch != NULL)
+ expression_class->unwatch = info->unwatch;
+
+ g_free (info);
+}
+
+static GType
+gtk_expression_type_register_static (const char *type_name,
+ const GtkExpressionTypeInfo *type_info)
+{
+ GTypeInfo info;
+
+ info.class_size = sizeof (GtkExpressionClass);
+ info.base_init = NULL;
+ info.base_finalize = NULL;
+ info.class_init = gtk_expression_generic_class_init;
+ info.class_finalize = NULL;
+ info.class_data = g_memdup (type_info, sizeof (GtkExpressionTypeInfo));
+
+ info.instance_size = type_info->instance_size;
+ info.n_preallocs = 0;
+ info.instance_init = (GInstanceInitFunc) type_info->instance_init;
+ info.value_table = NULL;
+
+ return g_type_register_static (GTK_TYPE_EXPRESSION, type_name, &info, 0);
+}
+
+/*< private >
+ * gtk_expression_alloc:
+ * @expression_type: the type of expression to create
+ * @value_type: the type of the value returned by this expression
+ *
+ * Returns: (transfer full): the newly created #GtkExpression
+ */
+static gpointer
+gtk_expression_alloc (GType expression_type,
+ GType value_type)
+{
+ GtkExpression *self;
+
+ self = (GtkExpression *) g_type_create_instance (expression_type);
+
+ self->value_type = value_type;
+
+ return self;
}
static void
@@ -199,17 +689,19 @@ gtk_expression_subwatch_init (GtkExpression *self,
GtkExpressionNotify notify,
gpointer user_data)
{
- self->expression_class->watch (self, watch, this, notify, user_data);
+ GTK_EXPRESSION_GET_CLASS (self)->watch (self, watch, this, notify, user_data);
}
static void
gtk_expression_subwatch_finish (GtkExpression *self,
GtkExpressionSubWatch *watch)
{
- self->expression_class->unwatch (self, watch);
+ GTK_EXPRESSION_GET_CLASS (self)->unwatch (self, watch);
}
-/*** CONSTANT ***/
+/* }}} */
+
+/* {{{ GtkConstantExpression */
typedef struct _GtkConstantExpression GtkConstantExpression;
@@ -226,6 +718,8 @@ gtk_constant_expression_finalize (GtkExpression *expr)
GtkConstantExpression *self = (GtkConstantExpression *) expr;
g_value_unset (&self->value);
+
+ GTK_EXPRESSION_SUPER (expr)->finalize (expr);
}
static gboolean
@@ -246,18 +740,22 @@ gtk_constant_expression_evaluate (GtkExpression *expr,
return TRUE;
}
-static const GtkExpressionClass GTK_CONSTANT_EXPRESSION_CLASS =
+static const GtkExpressionTypeInfo gtk_constant_expression_info =
{
sizeof (GtkConstantExpression),
- "GtkConstantExpression",
+ NULL,
gtk_constant_expression_finalize,
gtk_constant_expression_is_static,
gtk_constant_expression_evaluate,
- gtk_expression_watch_size_static,
- gtk_expression_watch_static,
- gtk_expression_unwatch_static
+ NULL,
+ NULL,
+ NULL,
};
+GTK_DEFINE_EXPRESSION_TYPE (GtkConstantExpression,
+ gtk_constant_expression,
+ &gtk_constant_expression_info)
+
/**
* gtk_constant_expression_new:
* @value_type: The type of the object
@@ -310,19 +808,23 @@ gtk_constant_expression_new (GType value_type,
GtkExpression *
gtk_constant_expression_new_for_value (const GValue *value)
{
- GtkConstantExpression *result;
+ GtkExpression *result;
+ GtkConstantExpression *self;
g_return_val_if_fail (G_IS_VALUE (value), NULL);
- result = gtk_expression_alloc (&GTK_CONSTANT_EXPRESSION_CLASS, G_VALUE_TYPE (value));
+ result = gtk_expression_alloc (GTK_TYPE_CONSTANT_EXPRESSION, G_VALUE_TYPE (value));
+ self = (GtkConstantExpression *) result;
- g_value_init (&result->value, G_VALUE_TYPE (value));
- g_value_copy (value, &result->value);
+ g_value_init (&self->value, G_VALUE_TYPE (value));
+ g_value_copy (value, &self->value);
- return (GtkExpression *) result;
+ return result;
}
-/*** OBJECT ***/
+/* }}} */
+
+/* {{{ GtkObjectExpression */
typedef struct _GtkObjectExpression GtkObjectExpression;
typedef struct _GtkObjectExpressionWatch GtkObjectExpressionWatch;
@@ -367,6 +869,8 @@ gtk_object_expression_finalize (GtkExpression *expr)
g_object_weak_unref (self->object, gtk_object_expression_weak_ref_cb, self);
g_assert (self->watches == NULL);
+
+ GTK_EXPRESSION_SUPER (expr)->finalize (expr);
}
static gboolean
@@ -420,10 +924,10 @@ gtk_object_expression_unwatch (GtkExpression *expr,
self->watches = g_slist_remove (self->watches, watch);
}
-static const GtkExpressionClass GTK_OBJECT_EXPRESSION_CLASS =
+static const GtkExpressionTypeInfo gtk_object_expression_info =
{
sizeof (GtkObjectExpression),
- "GtkObjectExpression",
+ NULL,
gtk_object_expression_finalize,
gtk_object_expression_is_static,
gtk_object_expression_evaluate,
@@ -432,6 +936,10 @@ static const GtkExpressionClass GTK_OBJECT_EXPRESSION_CLASS =
gtk_object_expression_unwatch
};
+GTK_DEFINE_EXPRESSION_TYPE (GtkObjectExpression,
+ gtk_object_expression,
+ &gtk_object_expression_info)
+
/**
* gtk_object_expression_new:
* @object: (transfer none): object to watch
@@ -447,19 +955,23 @@ static const GtkExpressionClass GTK_OBJECT_EXPRESSION_CLASS =
GtkExpression *
gtk_object_expression_new (GObject *object)
{
- GtkObjectExpression *result;
+ GtkExpression *result;
+ GtkObjectExpression *self;
g_return_val_if_fail (G_IS_OBJECT (object), NULL);
- result = gtk_expression_alloc (&GTK_OBJECT_EXPRESSION_CLASS, G_OBJECT_TYPE (object));
+ result = gtk_expression_alloc (GTK_TYPE_OBJECT_EXPRESSION, G_OBJECT_TYPE (object));
+ self = (GtkObjectExpression *) result;
- result->object = object;
- g_object_weak_ref (object, gtk_object_expression_weak_ref_cb, result);
+ self->object = object;
+ g_object_weak_ref (object, gtk_object_expression_weak_ref_cb, self);
- return (GtkExpression *) result;
+ return result;
}
-/*** PROPERTY ***/
+/* }}} */
+
+/* {{{ GtkPropertyExpression */
typedef struct _GtkPropertyExpression GtkPropertyExpression;
@@ -478,6 +990,8 @@ gtk_property_expression_finalize (GtkExpression *expr)
GtkPropertyExpression *self = (GtkPropertyExpression *) expr;
g_clear_pointer (&self->expr, gtk_expression_unref);
+
+ GTK_EXPRESSION_SUPER (expr)->finalize (expr);
}
static gboolean
@@ -657,10 +1171,10 @@ gtk_property_expression_unwatch (GtkExpression *expr,
gtk_expression_subwatch_finish (self->expr, (GtkExpressionSubWatch *) pwatch->sub);
}
-static const GtkExpressionClass GTK_PROPERTY_EXPRESSION_CLASS =
+static const GtkExpressionTypeInfo gtk_property_expression_info =
{
sizeof (GtkPropertyExpression),
- "GtkPropertyExpression",
+ NULL,
gtk_property_expression_finalize,
gtk_property_expression_is_static,
gtk_property_expression_evaluate,
@@ -669,6 +1183,10 @@ static const GtkExpressionClass GTK_PROPERTY_EXPRESSION_CLASS =
gtk_property_expression_unwatch
};
+GTK_DEFINE_EXPRESSION_TYPE (GtkPropertyExpression,
+ gtk_property_expression,
+ &gtk_property_expression_info)
+
/**
* gtk_property_expression_new:
* @this_type: The type to expect for the this type
@@ -744,17 +1262,21 @@ GtkExpression *
gtk_property_expression_new_for_pspec (GtkExpression *expression,
GParamSpec *pspec)
{
- GtkPropertyExpression *result;
+ GtkExpression *result;
+ GtkPropertyExpression *self;
- result = gtk_expression_alloc (&GTK_PROPERTY_EXPRESSION_CLASS, pspec->value_type);
+ result = gtk_expression_alloc (GTK_TYPE_PROPERTY_EXPRESSION, pspec->value_type);
+ self = (GtkPropertyExpression *) result;
- result->pspec = pspec;
- result->expr = expression;
+ self->pspec = pspec;
+ self->expr = expression;
- return (GtkExpression *) result;
+ return result;
}
-/*** CLOSURE ***/
+/* }}} */
+
+/* {{{ GtkClosureExpression */
typedef struct _GtkClosureExpression GtkClosureExpression;
@@ -780,6 +1302,8 @@ gtk_closure_expression_finalize (GtkExpression *expr)
g_free (self->params);
g_closure_unref (self->closure);
+
+ GTK_EXPRESSION_SUPER (expr)->finalize (expr);
}
static gboolean
@@ -925,10 +1449,10 @@ gtk_closure_expression_unwatch (GtkExpression *expr,
}
}
-static const GtkExpressionClass GTK_CLOSURE_EXPRESSION_CLASS =
+static const GtkExpressionTypeInfo gtk_closure_expression_info =
{
sizeof (GtkClosureExpression),
- "GtkClosureExpression",
+ NULL,
gtk_closure_expression_finalize,
gtk_closure_expression_is_static,
gtk_closure_expression_evaluate,
@@ -937,6 +1461,10 @@ static const GtkExpressionClass GTK_CLOSURE_EXPRESSION_CLASS =
gtk_closure_expression_unwatch
};
+GTK_DEFINE_EXPRESSION_TYPE (GtkClosureExpression,
+ gtk_closure_expression,
+ &gtk_closure_expression_info)
+
/**
* gtk_closure_expression_new:
* @value_type: the type of the value that this expression evaluates to
@@ -956,27 +1484,56 @@ gtk_closure_expression_new (GType value_type,
guint n_params,
GtkExpression **params)
{
- GtkClosureExpression *result;
+ GtkExpression *result;
+ GtkClosureExpression *self;
guint i;
g_return_val_if_fail (closure != NULL, NULL);
g_return_val_if_fail (n_params == 0 || params != NULL, NULL);
- result = gtk_expression_alloc (&GTK_CLOSURE_EXPRESSION_CLASS, value_type);
+ result = gtk_expression_alloc (GTK_TYPE_CLOSURE_EXPRESSION, value_type);
+ self = (GtkClosureExpression *) result;
- result->closure = g_closure_ref (closure);
+ self->closure = g_closure_ref (closure);
g_closure_sink (closure);
if (G_CLOSURE_NEEDS_MARSHAL (closure))
g_closure_set_marshal (closure, g_cclosure_marshal_generic);
- result->n_params = n_params;
- result->params = g_new (GtkExpression *, n_params);
+ self->n_params = n_params;
+ self->params = g_new (GtkExpression *, n_params);
for (i = 0; i < n_params; i++)
- result->params[i] = params[i];
+ self->params[i] = params[i];
- return (GtkExpression *) result;
+ return result;
}
+/* }}} */
+
+/* {{{ GtkCClosureExpression */
+
+typedef struct _GtkCClosureExpression GtkCClosureExpression;
+
+struct _GtkCClosureExpression
+{
+ GtkClosureExpression parent;
+};
+
+static const GtkExpressionTypeInfo gtk_cclosure_expression_info =
+{
+ sizeof (GtkClosureExpression),
+ NULL,
+ gtk_closure_expression_finalize,
+ gtk_closure_expression_is_static,
+ gtk_closure_expression_evaluate,
+ gtk_closure_expression_watch_size,
+ gtk_closure_expression_watch,
+ gtk_closure_expression_unwatch
+};
+
+GTK_DEFINE_EXPRESSION_TYPE (GtkCClosureExpression,
+ gtk_cclosure_expression,
+ &gtk_cclosure_expression_info)
+
/**
* gtk_cclosure_expression_new:
* @value_type: the type of the value that this expression evaluates to
@@ -1002,23 +1559,38 @@ gtk_cclosure_expression_new (GType value_type,
gpointer user_data,
GClosureNotify user_destroy)
{
+ GtkExpression *result;
+ GtkClosureExpression *self;
GClosure *closure;
+ guint i;
+
+ g_return_val_if_fail (callback_func != NULL, NULL);
+ g_return_val_if_fail (n_params == 0 || params != NULL, NULL);
+
+ result = gtk_expression_alloc (GTK_TYPE_CCLOSURE_EXPRESSION, value_type);
+ self = (GtkClosureExpression *) result;
closure = g_cclosure_new (callback_func, user_data, user_destroy);
if (marshal)
g_closure_set_marshal (closure, marshal);
- return gtk_closure_expression_new (value_type, closure, n_params, params);
-}
+ self->closure = g_closure_ref (closure);
+ g_closure_sink (closure);
+ if (G_CLOSURE_NEEDS_MARSHAL (closure))
+ g_closure_set_marshal (closure, g_cclosure_marshal_generic);
-/*** PUBLIC API ***/
+ self->n_params = n_params;
+ self->params = g_new (GtkExpression *, n_params);
+ for (i = 0; i < n_params; i++)
+ self->params[i] = params[i];
-static void
-gtk_expression_finalize (GtkExpression *self)
-{
- self->expression_class->finalize (self);
+ return result;
}
+/* }}} */
+
+/* {{{ GtkExpression public API */
+
/**
* gtk_expression_ref:
* @self: (allow-none): a #GtkExpression
@@ -1030,7 +1602,11 @@ gtk_expression_finalize (GtkExpression *self)
GtkExpression *
gtk_expression_ref (GtkExpression *self)
{
- return g_atomic_rc_box_acquire (self);
+ g_return_val_if_fail (GTK_IS_EXPRESSION (self), NULL);
+
+ g_atomic_ref_count_inc (&self->ref_count);
+
+ return self;
}
/**
@@ -1045,7 +1621,10 @@ gtk_expression_ref (GtkExpression *self)
void
gtk_expression_unref (GtkExpression *self)
{
- g_atomic_rc_box_release_full (self, (GDestroyNotify) gtk_expression_finalize);
+ g_return_if_fail (GTK_IS_EXPRESSION (self));
+
+ if (g_atomic_ref_count_dec (&self->ref_count))
+ GTK_EXPRESSION_GET_CLASS (self)->finalize (self);
}
/**
@@ -1091,7 +1670,7 @@ gtk_expression_evaluate (GtkExpression *self,
g_return_val_if_fail (this_ == NULL || G_IS_OBJECT (this_), FALSE);
g_return_val_if_fail (value != NULL, FALSE);
- return self->expression_class->evaluate (self, this_, value);
+ return GTK_EXPRESSION_GET_CLASS (self)->evaluate (self, this_, value);
}
/**
@@ -1111,7 +1690,9 @@ gtk_expression_evaluate (GtkExpression *self,
gboolean
gtk_expression_is_static (GtkExpression *self)
{
- return self->expression_class->is_static (self);
+ g_return_val_if_fail (GTK_IS_EXPRESSION (self), FALSE);
+
+ return GTK_EXPRESSION_GET_CLASS (self)->is_static (self);
}
static gboolean
@@ -1146,7 +1727,7 @@ gtk_expression_watch_cb (gpointer data)
/**
* gtk_expression_watch:
* @self: a #GtkExpression
- * @this_: (transfer none) (type GObject) (nullable): the this argument to
+ * @this_: (transfer none) (type GObject) (nullable): the `this` argument to
* watch
* @notify: (closure user_data): callback to invoke when the
* expression changes
@@ -1445,3 +2026,5 @@ gtk_expression_bind (GtkExpression *self,
return bind->watch;
}
+
+/* }}} */
diff --git a/gtk/gtkexpression.h b/gtk/gtkexpression.h
index 9705dae18f..44bebf75bb 100644
--- a/gtk/gtkexpression.h
+++ b/gtk/gtkexpression.h
@@ -25,6 +25,10 @@
G_BEGIN_DECLS
+#define GTK_TYPE_EXPRESSION (gtk_expression_get_type ())
+#define GTK_IS_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EXPRESSION))
+#define GTK_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EXPRESSION, GtkExpression))
+
typedef struct _GtkExpression GtkExpression;
typedef struct _GtkExpressionWatch GtkExpressionWatch;
@@ -37,10 +41,6 @@ typedef struct _GtkExpressionWatch GtkExpressionWatch;
*/
typedef void (* GtkExpressionNotify) (gpointer user_data);
-#define GTK_IS_EXPRESSION(expr) ((expr) != NULL)
-
-#define GTK_TYPE_EXPRESSION (gtk_expression_get_type ())
-
GDK_AVAILABLE_IN_ALL
GType gtk_expression_get_type (void) G_GNUC_CONST;
@@ -79,6 +79,12 @@ gboolean gtk_expression_watch_evaluate (GtkExpressionWa
GDK_AVAILABLE_IN_ALL
void gtk_expression_watch_unwatch (GtkExpressionWatch *watch);
+#define GTK_TYPE_PROPERTY_EXPRESSION (gtk_property_expression_get_type())
+typedef struct _GtkPropertyExpression GtkPropertyExpression;
+
+GDK_AVAILABLE_IN_ALL
+GType gtk_property_expression_get_type (void) G_GNUC_CONST;
+
GDK_AVAILABLE_IN_ALL
GtkExpression * gtk_property_expression_new (GType this_type,
GtkExpression *expression,
@@ -86,18 +92,46 @@ GtkExpression * gtk_property_expression_new (GType
GDK_AVAILABLE_IN_ALL
GtkExpression * gtk_property_expression_new_for_pspec (GtkExpression *expression,
GParamSpec *pspec);
+
+#define GTK_TYPE_CONSTANT_EXPRESSION (gtk_constant_expression_get_type())
+typedef struct _GtkConstantExpression GtkConstantExpression;
+
+GDK_AVAILABLE_IN_ALL
+GType gtk_constant_expression_get_type (void) G_GNUC_CONST;
+
GDK_AVAILABLE_IN_ALL
GtkExpression * gtk_constant_expression_new (GType value_type,
...);
GDK_AVAILABLE_IN_ALL
GtkExpression * gtk_constant_expression_new_for_value (const GValue *value);
+
+#define GTK_TYPE_OBJECT_EXPRESSION (gtk_object_expression_get_type())
+typedef struct _GtkObjectExpression GtkObjectExpression;
+
+GDK_AVAILABLE_IN_ALL
+GType gtk_object_expression_get_type (void) G_GNUC_CONST;
+
GDK_AVAILABLE_IN_ALL
GtkExpression * gtk_object_expression_new (GObject *object);
+
+#define GTK_TYPE_CLOSURE_EXPRESSION (gtk_closure_expression_get_type())
+typedef struct _GtkClosureExpression GtkClosureExpression;
+
+GDK_AVAILABLE_IN_ALL
+GType gtk_closure_expression_get_type (void) G_GNUC_CONST;
+
GDK_AVAILABLE_IN_ALL
GtkExpression * gtk_closure_expression_new (GType value_type,
GClosure *closure,
guint n_params,
GtkExpression **params);
+
+#define GTK_TYPE_CCLOSURE_EXPRESSION (gtk_cclosure_expression_get_type())
+typedef struct _GtkCClosureExpression GtkCClosureExpression;
+
+GDK_AVAILABLE_IN_ALL
+GType gtk_cclosure_expression_get_type (void) G_GNUC_CONST;
+
GDK_AVAILABLE_IN_ALL
GtkExpression * gtk_cclosure_expression_new (GType value_type,
GClosureMarshal marshal,
@@ -107,6 +141,38 @@ GtkExpression * gtk_cclosure_expression_new (GType
gpointer user_data,
GClosureNotify user_destroy);
+/* GObject integration, so we can use GtkBuilder */
+
+#define GTK_VALUE_HOLDS_EXPRESSION(value) (G_VALUE_HOLDS ((value), GTK_TYPE_EXPRESSION))
+
+GDK_AVAILABLE_IN_ALL
+void gtk_value_set_expression (GValue *value,
+ GtkExpression *expression);
+GDK_AVAILABLE_IN_ALL
+void gtk_value_take_expression (GValue *value,
+ GtkExpression *expression);
+GDK_AVAILABLE_IN_ALL
+GtkExpression * gtk_value_get_expression (const GValue *value);
+GDK_AVAILABLE_IN_ALL
+GtkExpression * gtk_value_dup_expression (const GValue *value);
+
+#define GTK_TYPE_PARAM_SPEC_EXPRESSION (gtk_param_expression_get_type())
+#define GTK_PARAM_SPEC_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PARAM_SPEC_EXPRESSION, GtkParamSpecExpression))
+#define GTK_IS_PARAM_SPEC_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PARAM_SPEC_EXPRESSION))
+
+typedef struct {
+ /*< private >*/
+ GParamSpec parent_instance;
+} GtkParamSpecExpression;
+
+GDK_AVAILABLE_IN_ALL
+GType gtk_param_expression_get_type (void) G_GNUC_CONST;
+GDK_AVAILABLE_IN_ALL
+GParamSpec * gtk_param_spec_expression (const char *name,
+ const char *nick,
+ const char *blurb,
+ GParamFlags flags);
+
G_END_DECLS
#endif /* __GTK_EXPRESSION_H__ */
diff --git a/gtk/gtknumericsorter.c b/gtk/gtknumericsorter.c
index eac561241b..94ca187d6e 100644
--- a/gtk/gtknumericsorter.c
+++ b/gtk/gtknumericsorter.c
@@ -212,7 +212,7 @@ gtk_numeric_sorter_set_property (GObject *object,
switch (prop_id)
{
case PROP_EXPRESSION:
- gtk_numeric_sorter_set_expression (self, g_value_get_boxed (value));
+ gtk_numeric_sorter_set_expression (self, gtk_value_get_expression (value));
break;
case PROP_SORT_ORDER:
@@ -236,7 +236,7 @@ gtk_numeric_sorter_get_property (GObject *object,
switch (prop_id)
{
case PROP_EXPRESSION:
- g_value_set_boxed (value, self->expression);
+ gtk_value_set_expression (value, self->expression);
break;
case PROP_SORT_ORDER:
@@ -273,16 +273,15 @@ gtk_numeric_sorter_class_init (GtkNumericSorterClass *class)
object_class->dispose = gtk_numeric_sorter_dispose;
/**
- * GtkNumericSorter:expression:
+ * GtkNumericSorter:expression: (type GtkExpression)
*
* The expression to evalute on items to get a number to compare with
*/
properties[PROP_EXPRESSION] =
- g_param_spec_boxed ("expression",
- P_("Expression"),
- P_("Expression to compare with"),
- GTK_TYPE_EXPRESSION,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+ gtk_param_spec_expression ("expression",
+ P_("Expression"),
+ P_("Expression to compare with"),
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
/**
* GtkNumericSorter:sort-order:
@@ -290,12 +289,12 @@ gtk_numeric_sorter_class_init (GtkNumericSorterClass *class)
* Whether the sorter will sort smaller numbers first
*/
properties[PROP_SORT_ORDER] =
- g_param_spec_enum ("sort-order",
- P_("Sort order"),
- P_("Whether to sort smaller numbers first"),
- GTK_TYPE_SORT_TYPE,
- GTK_SORT_ASCENDING,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+ g_param_spec_enum ("sort-order",
+ P_("Sort order"),
+ P_("Whether to sort smaller numbers first"),
+ GTK_TYPE_SORT_TYPE,
+ GTK_SORT_ASCENDING,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
g_object_class_install_properties (object_class, NUM_PROPERTIES, properties);
@@ -338,7 +337,7 @@ gtk_numeric_sorter_new (GtkExpression *expression)
*
* Gets the expression that is evaluated to obtain numbers from items.
*
- * Returns: (nullable): a #GtkExpression, or %NULL
+ * Returns: (transfer none) (nullable): a #GtkExpression, or %NULL
*/
GtkExpression *
gtk_numeric_sorter_get_expression (GtkNumericSorter *self)
diff --git a/gtk/gtkstringfilter.c b/gtk/gtkstringfilter.c
index ff409be8d0..f998cbd662 100644
--- a/gtk/gtkstringfilter.c
+++ b/gtk/gtkstringfilter.c
@@ -164,7 +164,7 @@ gtk_string_filter_set_property (GObject *object,
switch (prop_id)
{
case PROP_EXPRESSION:
- gtk_string_filter_set_expression (self, g_value_get_boxed (value));
+ gtk_string_filter_set_expression (self, gtk_value_get_expression (value));
break;
case PROP_IGNORE_CASE:
@@ -196,7 +196,7 @@ gtk_string_filter_get_property (GObject *object,
switch (prop_id)
{
case PROP_EXPRESSION:
- g_value_set_boxed (value, self->expression);
+ gtk_value_set_expression (value, self->expression);
break;
case PROP_IGNORE_CASE:
@@ -243,16 +243,15 @@ gtk_string_filter_class_init (GtkStringFilterClass *class)
object_class->dispose = gtk_string_filter_dispose;
/**
- * GtkStringFilter:expression:
+ * GtkStringFilter:expression: (type GtkExpression)
*
* The expression to evalute on item to get a string to compare with
*/
properties[PROP_EXPRESSION] =
- g_param_spec_boxed ("expression",
- P_("Expression"),
- P_("Expression to compare with"),
- GTK_TYPE_EXPRESSION,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+ gtk_param_spec_expression ("expression",
+ P_("Expression"),
+ P_("Expression to compare with"),
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
/**
* GtkStringFilter:ignore-case:
@@ -382,7 +381,7 @@ gtk_string_filter_set_search (GtkStringFilter *self,
* Gets the expression that the string filter uses to
* obtain strings from items.
*
- * Returns: a #GtkExpression
+ * Returns: (transfer none): a #GtkExpression
*/
GtkExpression *
gtk_string_filter_get_expression (GtkStringFilter *self)
diff --git a/gtk/gtkstringsorter.c b/gtk/gtkstringsorter.c
index 5fcc63c566..8ca9fce725 100644
--- a/gtk/gtkstringsorter.c
+++ b/gtk/gtkstringsorter.c
@@ -148,7 +148,7 @@ gtk_string_sorter_set_property (GObject *object,
switch (prop_id)
{
case PROP_EXPRESSION:
- gtk_string_sorter_set_expression (self, g_value_get_boxed (value));
+ gtk_string_sorter_set_expression (self, gtk_value_get_expression (value));
break;
case PROP_IGNORE_CASE:
@@ -172,7 +172,7 @@ gtk_string_sorter_get_property (GObject *object,
switch (prop_id)
{
case PROP_EXPRESSION:
- g_value_set_boxed (value, self->expression);
+ gtk_value_set_expression (value, self->expression);
break;
case PROP_IGNORE_CASE:
@@ -209,16 +209,15 @@ gtk_string_sorter_class_init (GtkStringSorterClass *class)
object_class->dispose = gtk_string_sorter_dispose;
/**
- * GtkStringSorter:expression:
+ * GtkStringSorter:expression: (type GtkExpression)
*
* The expression to evalute on item to get a string to compare with
*/
properties[PROP_EXPRESSION] =
- g_param_spec_boxed ("expression",
- P_("Expression"),
- P_("Expression to compare with"),
- GTK_TYPE_EXPRESSION,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+ gtk_param_spec_expression ("expression",
+ P_("Expression"),
+ P_("Expression to compare with"),
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
/**
* GtkStringSorter:ignore-case:
@@ -274,7 +273,7 @@ gtk_string_sorter_new (GtkExpression *expression)
*
* Gets the expression that is evaluated to obtain strings from items.
*
- * Returns: (nullable): a #GtkExpression, or %NULL
+ * Returns: (transfer none) (nullable): a #GtkExpression, or %NULL
*/
GtkExpression *
gtk_string_sorter_get_expression (GtkStringSorter *self)
diff --git a/po/sl.po b/po/sl.po
index c011517879..65fff396dd 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -5,14 +5,14 @@
# Matic Žgur <mr.zgur@gmail.com>, 2006.
# Martin Srebotnjak <miles@filmsi.net>, 2007.
# Klemen Košir <klemen.kosir@gmx.com>, 2010–2011.
-# Matej Urbančič <mateju@svn.gnome.org>, 2007–2019.
+# Matej Urbančič <mateju@svn.gnome.org>, 2007–2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gtk+ master\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-09-28 11:46+0000\n"
-"PO-Revision-Date: 2019-09-28 18:10+0200\n"
+"POT-Creation-Date: 2020-06-01 17:58+0000\n"
+"PO-Revision-Date: 2020-06-01 21:40+0200\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: sl_SI\n"
@@ -22,55 +22,55 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"
"X-Poedit-SourceCharset: utf-8\n"
-"X-Generator: Poedit 2.2.1\n"
+"X-Generator: Poedit 2.3\n"
#: gdk/broadway/gdkbroadway-server.c:144
#, c-format
msgid "Broadway display type not supported: %s"
msgstr "Zaslon vrste Broadway ni podprt: %s"
-#: gdk/gdk.c:187
+#: gdk/gdk.c:179
#, c-format
msgid "Error parsing option --gdk-debug"
msgstr "Napaka med razčlenjevanjem možnosti --gdk-debug"
-#: gdk/gdk.c:207
+#: gdk/gdk.c:199
#, c-format
msgid "Error parsing option --gdk-no-debug"
msgstr "Napaka med razčlenjevanjem možnosti --gdk-no-debug"
#. Description of --class=CLASS in --help output
-#: gdk/gdk.c:236
+#: gdk/gdk.c:228
msgid "Program class as used by the window manager"
msgstr "Razred programa, kot ga uporablja upravljalnik oken"
#. Placeholder in --class=CLASS in --help output
-#: gdk/gdk.c:237
+#: gdk/gdk.c:229
msgid "CLASS"
msgstr "RAZRED"
#. Description of --name=NAME in --help output
-#: gdk/gdk.c:239
+#: gdk/gdk.c:231
msgid "Program name as used by the window manager"
msgstr "Ime programa, kot ga uporablja upravljalnik oken"
#. Placeholder in --name=NAME in --help output
-#: gdk/gdk.c:240
+#: gdk/gdk.c:232
msgid "NAME"
msgstr "IME"
#. Description of --display=DISPLAY in --help output
-#: gdk/gdk.c:243
+#: gdk/gdk.c:235
msgid "X display to use"
msgstr "Prikaz X, ki naj bo uporabljen"
#. Placeholder in --display=DISPLAY in --help output
-#: gdk/gdk.c:244
+#: gdk/gdk.c:236
msgid "DISPLAY"
msgstr "PRIKAZ"
#. Description of --gdk-debug=FLAGS in --help output
-#: gdk/gdk.c:248
+#: gdk/gdk.c:240
msgid "GDK debugging flags to set"
msgstr "Zastavice razhroščevanja GDK, ki naj bodo nastavljene"
@@ -78,12 +78,12 @@ msgstr "Zastavice razhroščevanja GDK, ki naj bodo nastavljene"
#. Placeholder in --gdk-no-debug=FLAGS in --help output
#. Placeholder in --gtk-debug=FLAGS in --help output
#. Placeholder in --gtk-no-debug=FLAGS in --help output
-#: gdk/gdk.c:249 gdk/gdk.c:252 gtk/gtkmain.c:471 gtk/gtkmain.c:474
+#: gdk/gdk.c:241 gdk/gdk.c:244 gtk/gtkmain.c:471 gtk/gtkmain.c:474
msgid "FLAGS"
msgstr "ZASTAVICE"
#. Description of --gdk-no-debug=FLAGS in --help output
-#: gdk/gdk.c:251
+#: gdk/gdk.c:243
msgid "GDK debugging flags to unset"
msgstr "Zastavice rahroščevanja GDK, ki naj ne bodo nastavljene"
@@ -109,27 +109,27 @@ msgstr "Trenutno zagnan ozadnji program ne podpira OpenGL"
#: gdk/keyname-table.h:6843
msgctxt "keyboard label"
msgid "BackSpace"
-msgstr "Backspace"
+msgstr "Povratna tipka"
#: gdk/keyname-table.h:6844
msgctxt "keyboard label"
msgid "Tab"
-msgstr "Tab"
+msgstr "Tabulator"
#: gdk/keyname-table.h:6845
msgctxt "keyboard label"
msgid "Return"
-msgstr "Enter"
+msgstr "Vnosna tipka"
#: gdk/keyname-table.h:6846
msgctxt "keyboard label"
msgid "Pause"
-msgstr "Pause"
+msgstr "Premor"
#: gdk/keyname-table.h:6847
msgctxt "keyboard label"
msgid "Scroll_Lock"
-msgstr "Scroll Lock"
+msgstr "Zaklep drsnika"
#: gdk/keyname-table.h:6848
msgctxt "keyboard label"
@@ -139,17 +139,17 @@ msgstr "Sys Req"
#: gdk/keyname-table.h:6849
msgctxt "keyboard label"
msgid "Escape"
-msgstr "Escape"
+msgstr "Ubežna tipka"
#: gdk/keyname-table.h:6850
msgctxt "keyboard label"
msgid "Multi_key"
-msgstr "Multi Key"
+msgstr "Tipka Multi"
#: gdk/keyname-table.h:6851
msgctxt "keyboard label"
msgid "Home"
-msgstr "Home"
+msgstr "Začetek"
#: gdk/keyname-table.h:6852
msgctxt "keyboard label"
@@ -174,17 +174,17 @@ msgstr "Dol"
#: gdk/keyname-table.h:6856 gtk/gtkshortcutlabel.c:222
msgctxt "keyboard label"
msgid "Page_Up"
-msgstr "Page Up"
+msgstr "Stran višje"
#: gdk/keyname-table.h:6857 gtk/gtkshortcutlabel.c:225
msgctxt "keyboard label"
msgid "Page_Down"
-msgstr "Page Down"
+msgstr "Stran nižje"
#: gdk/keyname-table.h:6858
msgctxt "keyboard label"
msgid "End"
-msgstr "End"
+msgstr "Konec"
#: gdk/keyname-table.h:6859
msgctxt "keyboard label"
@@ -194,17 +194,17 @@ msgstr "Begin"
#: gdk/keyname-table.h:6860
msgctxt "keyboard label"
msgid "Print"
-msgstr "Print"
+msgstr "Natisni"
#: gdk/keyname-table.h:6861
msgctxt "keyboard label"
msgid "Insert"
-msgstr "Insert"
+msgstr "Vstavljavka"
#: gdk/keyname-table.h:6862
msgctxt "keyboard label"
msgid "Num_Lock"
-msgstr "Num Lock"
+msgstr "Zaklep številčnice"
#. Translators: KP_ means “key pad” here
#: gdk/keyname-table.h:6864
@@ -215,17 +215,17 @@ msgstr "Preslednica (številska tipkovnica)"
#: gdk/keyname-table.h:6865
msgctxt "keyboard label"
msgid "KP_Tab"
-msgstr "Tab (številska tipkovnica)"
+msgstr "Tabulator (številska tipkovnica)"
#: gdk/keyname-table.h:6866
msgctxt "keyboard label"
msgid "KP_Enter"
-msgstr "Enter (številska tipkovnica)"
+msgstr "Vnosna tipka (številska tipkovnica)"
#: gdk/keyname-table.h:6867
msgctxt "keyboard label"
msgid "KP_Home"
-msgstr "Home (številska tipkovnica)"
+msgstr "Začetek (številska tipkovnica)"
#: gdk/keyname-table.h:6868
msgctxt "keyboard label"
@@ -250,7 +250,7 @@ msgstr "Dol (številska tipkovnica)"
#: gdk/keyname-table.h:6872
msgctxt "keyboard label"
msgid "KP_Page_Up"
-msgstr "Page Up (številska tipkovnica)"
+msgstr "Stran višje (številska tipkovnica)"
#: gdk/keyname-table.h:6873
msgctxt "keyboard label"
@@ -260,7 +260,7 @@ msgstr "Prior (številska tipkovnica)"
#: gdk/keyname-table.h:6874
msgctxt "keyboard label"
msgid "KP_Page_Down"
-msgstr "Page Down (številska tipkovnica)"
+msgstr "Stran nižje (številska tipkovnica)"
#: gdk/keyname-table.h:6875
msgctxt "keyboard label"
@@ -270,7 +270,7 @@ msgstr "Next (številska tipkovnica)"
#: gdk/keyname-table.h:6876
msgctxt "keyboard label"
msgid "KP_End"
-msgstr "End (številska tipkovnica)"
+msgstr "Konec (številska tipkovnica)"
#: gdk/keyname-table.h:6877
msgctxt "keyboard label"
@@ -280,17 +280,17 @@ msgstr "Begin (številska tipkovnica)"
#: gdk/keyname-table.h:6878
msgctxt "keyboard label"
msgid "KP_Insert"
-msgstr "Insert (številska tipkovnica)"
+msgstr "Vstavljalka (številska tipkovnica)"
#: gdk/keyname-table.h:6879
msgctxt "keyboard label"
msgid "KP_Delete"
-msgstr "Delete (številska tipkovnica)"
+msgstr "Izbriši (številska tipkovnica)"
#: gdk/keyname-table.h:6880
msgctxt "keyboard label"
msgid "Delete"
-msgstr "Delete"
+msgstr "Izbriši"
#: gdk/keyname-table.h:6881
msgctxt "keyboard label"
@@ -472,25 +472,25 @@ msgctxt "keyboard label"
msgid "Suspend"
msgstr "V pripravljenost"
-#: gdk/quartz/gdkglcontext-quartz.c:122
+#: gdk/quartz/gdkglcontext-quartz.c:123
msgid "Unable to create a GL pixel format"
msgstr "Ni mogoče ustvariti zapis sličice GL"
-#: gdk/quartz/gdkglcontext-quartz.c:132 gdk/wayland/gdkglcontext-wayland.c:208
+#: gdk/quartz/gdkglcontext-quartz.c:133 gdk/wayland/gdkglcontext-wayland.c:208
#: gdk/win32/gdkglcontext-win32.c:1070 gdk/win32/gdkglcontext-win32.c:1110
-#: gdk/x11/gdkglcontext-x11.c:720 gdk/x11/gdkglcontext-x11.c:770
+#: gdk/x11/gdkglcontext-x11.c:724 gdk/x11/gdkglcontext-x11.c:774
msgid "Unable to create a GL context"
msgstr "Ni mogoče ustvariti vsebine GL"
#: gdk/wayland/gdkglcontext-wayland.c:418
#: gdk/wayland/gdkglcontext-wayland.c:428 gdk/win32/gdkglcontext-win32.c:908
#: gdk/win32/gdkglcontext-win32.c:918 gdk/win32/gdkglcontext-win32.c:1035
-#: gdk/x11/gdkglcontext-x11.c:971
+#: gdk/x11/gdkglcontext-x11.c:975
msgid "No available configurations for the given pixel format"
msgstr "Ni navedenih nastavitev za podan točkovni zapis"
#: gdk/wayland/gdkglcontext-wayland.c:468 gdk/win32/gdkglcontext-win32.c:1177
-#: gdk/x11/gdkglcontext-x11.c:1277
+#: gdk/x11/gdkglcontext-x11.c:1281
msgid "No GL implementation is available"
msgstr "Okolje GL ni na voljo"
@@ -547,7 +547,7 @@ msgstr[1] "Odpiranje %d predmeta"
msgstr[2] "Odpiranje %d predmetov"
msgstr[3] "Odpiranje %d predmetov"
-#: gdk/x11/gdkglcontext-x11.c:999
+#: gdk/x11/gdkglcontext-x11.c:1003
#, c-format
msgid "No available configurations for the given RGBA pixel format"
msgstr "Ni navedenih nastavitev za podan točkovni RGBA zapis"
@@ -681,15 +681,15 @@ msgctxt "Stock label"
msgid "_Close"
msgstr "_Zapri"
-#: gtk/a11y/gtkimageaccessible.c:59 gtk/gtkheaderbar.c:415 gtk/gtkwindow.c:9306
+#: gtk/a11y/gtkimageaccessible.c:59 gtk/gtkheaderbar.c:415 gtk/gtkwindow.c:9319
msgid "Minimize"
msgstr "Skrči"
-#: gtk/a11y/gtkimageaccessible.c:60 gtk/gtkheaderbar.c:439 gtk/gtkwindow.c:9315
+#: gtk/a11y/gtkimageaccessible.c:60 gtk/gtkheaderbar.c:439 gtk/gtkwindow.c:9328
msgid "Maximize"
msgstr "Razpni"
-#: gtk/a11y/gtkimageaccessible.c:61 gtk/gtkheaderbar.c:439 gtk/gtkwindow.c:9272
+#: gtk/a11y/gtkimageaccessible.c:61 gtk/gtkheaderbar.c:439 gtk/gtkwindow.c:9285
msgid "Restore"
msgstr "Obnovi"
@@ -1231,12 +1231,12 @@ msgstr ""
#: gtk/deprecated/gtkcolorseldialog.c:191 gtk/deprecated/gtkfontsel.c:1689
#: gtk/gtkfilechoosernative.c:544 gtk/gtkfilechoosernative.c:636
-#: gtk/gtkfilechooserwidget.c:1494 gtk/gtkfilechooserwidget.c:6548
+#: gtk/gtkfilechooserwidget.c:1498 gtk/gtkfilechooserwidget.c:6572
#: gtk/gtkmessagedialog.c:952 gtk/gtkmessagedialog.c:965
#: gtk/gtkmountoperation.c:594 gtk/gtkpagesetupunixdialog.c:197
#: gtk/gtkprintbackend.c:779 gtk/gtkprinteroptionwidget.c:545
#: gtk/gtkprintunixdialog.c:674 gtk/gtkprintunixdialog.c:747
-#: gtk/gtkwindow.c:12776 gtk/inspector/css-editor.c:201
+#: gtk/gtkwindow.c:12789 gtk/inspector/css-editor.c:201
#: gtk/ui/gtkappchooserdialog.ui:61 gtk/ui/gtkassistant.ui:125
#: gtk/ui/gtkcolorchooserdialog.ui:34 gtk/ui/gtkfontchooserdialog.ui:31
msgid "_Cancel"
@@ -1285,7 +1285,7 @@ msgid "_Apply"
msgstr "_Uveljavi"
#: gtk/deprecated/gtkfontsel.c:1698 gtk/gtkmessagedialog.c:944
-#: gtk/gtkmessagedialog.c:966 gtk/gtkprintbackend.c:780 gtk/gtkwindow.c:12777
+#: gtk/gtkmessagedialog.c:966 gtk/gtkprintbackend.c:780 gtk/gtkwindow.c:12790
msgid "_OK"
msgstr "_V redu"
@@ -1509,53 +1509,65 @@ msgstr "Splošno javno dovoljenje Affero GNU, različice 3 ali kasnejše"
msgid "GNU Affero General Public License, version 3 only"
msgstr "Splošno Javno dovoljenje GNU Affero, le različica 3"
-#: gtk/gtkaboutdialog.c:697
+#: gtk/gtkaboutdialog.c:129
+msgid "BSD 3-Clause License"
+msgstr "Dovoljenje BSD 3-Clause"
+
+#: gtk/gtkaboutdialog.c:130
+msgid "Apache License, Version 2.0"
+msgstr "Dovoljenje Apache, različica 2.0"
+
+#: gtk/gtkaboutdialog.c:131
+msgid "Mozilla Public License 2.0"
+msgstr "Javno dovoljenje Mozilla 2.0"
+
+#: gtk/gtkaboutdialog.c:703
msgid "C_redits"
msgstr "_Zasluge"
-#: gtk/gtkaboutdialog.c:705
+#: gtk/gtkaboutdialog.c:711
msgid "_License"
msgstr "_Dovoljenje"
-#: gtk/gtkaboutdialog.c:714 gtk/gtkcustompaperunixdialog.c:329
+#: gtk/gtkaboutdialog.c:720 gtk/gtkcustompaperunixdialog.c:329
#: gtk/gtkmessagedialog.c:948 gtk/ui/gtkassistant.ui:144
msgid "_Close"
msgstr "_Zapri"
-#: gtk/gtkaboutdialog.c:998
+#: gtk/gtkaboutdialog.c:1004
msgid "Could not show link"
msgstr "Povezave ni mogoče pokazati"
-#: gtk/gtkaboutdialog.c:1037
+#: gtk/gtkaboutdialog.c:1043
msgid "Website"
msgstr "Spletišče"
#. used for the application menu on MacOS. %s is replaced with the application name.
-#: gtk/gtkaboutdialog.c:1087 gtk/ui/gtkapplication-quartz.ui:7
+#: gtk/gtkaboutdialog.c:1093 gtk/ui/gtkapplication-quartz.ui:7
#, c-format
msgid "About %s"
msgstr "O programu %s"
-#: gtk/gtkaboutdialog.c:2314
+#: gtk/gtkaboutdialog.c:2320
msgid "Created by"
msgstr "Ustvarili:"
-#: gtk/gtkaboutdialog.c:2317
+#: gtk/gtkaboutdialog.c:2323
msgid "Documented by"
msgstr "Dokumentacija:"
-#: gtk/gtkaboutdialog.c:2327
+#: gtk/gtkaboutdialog.c:2333
msgid "Translated by"
msgstr "Prevod:"
-#: gtk/gtkaboutdialog.c:2332
+#: gtk/gtkaboutdialog.c:2338
msgid "Artwork by"
msgstr "Grafična podoba:"
#. Translators: this is the license preamble; the string at the end
#. * contains the name of the license as link text.
#.
-#: gtk/gtkaboutdialog.c:2494
+#: gtk/gtkaboutdialog.c:2500
#, c-format
msgid ""
"This program comes with absolutely no warranty.\n"
@@ -1644,38 +1656,38 @@ msgstr "Leva poševnica"
msgid "Other application…"
msgstr "Drug program …"
-#: gtk/gtkappchooserdialog.c:204 gtk/gtkappchooserdialog.c:211
-#: gtk/gtkappchooserdialog.c:228 gtk/ui/gtkappchooserdialog.ui:5
+#: gtk/gtkappchooserdialog.c:202 gtk/gtkappchooserdialog.c:230
+#: gtk/ui/gtkappchooserdialog.ui:5
msgid "Select Application"
msgstr "Izbor programa"
#. Translators: %s is a filename
-#: gtk/gtkappchooserdialog.c:206
+#: gtk/gtkappchooserdialog.c:209
#, c-format
msgid "Opening “%s”."
msgstr "Odpiranje datoteke »%s«."
-#: gtk/gtkappchooserdialog.c:207
+#: gtk/gtkappchooserdialog.c:210
#, c-format
msgid "No applications found for “%s”"
msgstr "Ni mogoče najti programa za »%s«"
#. Translators: %s is a file type description
-#: gtk/gtkappchooserdialog.c:213
+#: gtk/gtkappchooserdialog.c:215
#, c-format
msgid "Opening “%s” files."
msgstr "Odpiranje datotek »%s«."
-#: gtk/gtkappchooserdialog.c:215
+#: gtk/gtkappchooserdialog.c:217
#, c-format
msgid "No applications found for “%s” files"
msgstr "Ni mogoče najti programa za datoteke »%s«"
-#: gtk/gtkappchooserdialog.c:308
+#: gtk/gtkappchooserdialog.c:310
msgid "Forget association"
msgstr "Pozabi povezavo"
-#: gtk/gtkappchooserdialog.c:451
+#: gtk/gtkappchooserdialog.c:453
msgid "Failed to start GNOME Software"
msgstr "Zagon programske opreme GNOME spodletelo"
@@ -1701,7 +1713,7 @@ msgid "Other Applications"
msgstr "Drugi programi"
#: gtk/gtkapplicationwindow.c:345 gtk/gtkprintoperation-unix.c:485
-#: gtk/gtkprintoperation-win32.c:1495 gtk/inspector/prop-editor.c:1686
+#: gtk/gtkprintoperation-win32.c:1521 gtk/inspector/prop-editor.c:1686
msgid "Application"
msgstr "Program"
@@ -2202,52 +2214,52 @@ msgstr "_Desno:"
msgid "Paper Margins"
msgstr "Robovi papirja"
-#: gtk/gtkentry.c:9583 gtk/gtklabel.c:6680 gtk/gtktextview.c:9502
+#: gtk/gtkentry.c:9590 gtk/gtklabel.c:6680 gtk/gtktextview.c:9502
msgid "Cu_t"
msgstr "Iz_reži"
-#: gtk/gtkentry.c:9587 gtk/gtklabel.c:6681 gtk/gtktextview.c:9506
+#: gtk/gtkentry.c:9594 gtk/gtklabel.c:6681 gtk/gtktextview.c:9506
msgid "_Copy"
msgstr "_Kopiraj"
-#: gtk/gtkentry.c:9591 gtk/gtklabel.c:6682 gtk/gtktextview.c:9508
+#: gtk/gtkentry.c:9598 gtk/gtklabel.c:6682 gtk/gtktextview.c:9508
msgid "_Paste"
msgstr "Pr_ilepi"
-#: gtk/gtkentry.c:9594 gtk/gtkfilechooserwidget.c:1495
-#: gtk/gtkfilechooserwidget.c:2321 gtk/gtklabel.c:6684 gtk/gtktextview.c:9511
+#: gtk/gtkentry.c:9601 gtk/gtkfilechooserwidget.c:1499
+#: gtk/gtkfilechooserwidget.c:2334 gtk/gtklabel.c:6684 gtk/gtktextview.c:9511
msgid "_Delete"
msgstr "_Izbriši"
-#: gtk/gtkentry.c:9605 gtk/gtklabel.c:6693 gtk/gtktextview.c:9525
+#: gtk/gtkentry.c:9612 gtk/gtklabel.c:6693 gtk/gtktextview.c:9525
msgid "Select _All"
msgstr "Izberi _vse"
-#: gtk/gtkentry.c:9615 gtk/gtktextview.c:9535
+#: gtk/gtkentry.c:9622 gtk/gtktextview.c:9535
msgid "Insert _Emoji"
msgstr "Vstavi izrazno _ikono"
-#: gtk/gtkentry.c:9791 gtk/gtktextview.c:9755
+#: gtk/gtkentry.c:9798 gtk/gtktextview.c:9755
msgid "Select all"
msgstr "Izberi vse"
-#: gtk/gtkentry.c:9794 gtk/gtktextview.c:9758
+#: gtk/gtkentry.c:9801 gtk/gtktextview.c:9758
msgid "Cut"
msgstr "Izreži"
-#: gtk/gtkentry.c:9797 gtk/gtktextview.c:9761
+#: gtk/gtkentry.c:9804 gtk/gtktextview.c:9761
msgid "Copy"
msgstr "Kopiraj"
-#: gtk/gtkentry.c:9800 gtk/gtktextview.c:9764
+#: gtk/gtkentry.c:9807 gtk/gtktextview.c:9764
msgid "Paste"
msgstr "Prilepi"
-#: gtk/gtkentry.c:10872
+#: gtk/gtkentry.c:10879
msgid "Caps Lock is on"
msgstr "Tipka Caps Lock je vključena"
-#: gtk/gtkentry.c:11147
+#: gtk/gtkentry.c:11157
msgid "Insert Emoji"
msgstr "Vstavi izrazno ikono"
@@ -2263,7 +2275,7 @@ msgstr "Namizje"
msgid "(None)"
msgstr "(Brez)"
-#: gtk/gtkfilechooserbutton.c:2163
+#: gtk/gtkfilechooserbutton.c:2162
msgid "Other…"
msgstr "Drugo ..."
@@ -2282,7 +2294,7 @@ msgstr "_Odpri"
msgid "_Save"
msgstr "_Shrani"
-#: gtk/gtkfilechoosernativequartz.c:332 gtk/ui/gtkfilechooserwidget.ui:404
+#: gtk/gtkfilechoosernativequartz.c:331 gtk/ui/gtkfilechooserwidget.ui:405
msgid "Select which types of files are shown"
msgstr "Izberite, katere vrste datotek naj bodo prikazane"
@@ -2295,341 +2307,342 @@ msgstr "Izberite, katere vrste datotek naj bodo prikazane"
msgid "%1$s on %2$s"
msgstr "%1$s na %2$s"
-#: gtk/gtkfilechooserwidget.c:383
+#: gtk/gtkfilechooserwidget.c:385
msgid "Type name of new folder"
msgstr "Vnesite ime nove mape"
-#: gtk/gtkfilechooserwidget.c:807
+#: gtk/gtkfilechooserwidget.c:809
msgid "The folder could not be created"
msgstr "Mape ni mogoče ustvariti"
-#: gtk/gtkfilechooserwidget.c:820
+#: gtk/gtkfilechooserwidget.c:821
msgid ""
-"The folder could not be created, as a file with the same name already "
-"exists. Try using a different name for the folder, or rename the file first."
-msgstr ""
-"Mape ni mogoče ustvariti, saj že obstaja datoteka z enakim imenom. Uporabite "
-"drugo ime ali pa najprej preimenujte datoteko."
+"The folder could not be created, as a file with the same name already exists."
+msgstr "Mape ni mogoče ustvariti, saj datoteka z enakim imenom že obstaja."
+
+#: gtk/gtkfilechooserwidget.c:823
+msgid "Try using a different name for the folder, or rename the file first."
+msgstr "Uporabite drugo ime, ali pa najprej preimenujte datoteko."
-#: gtk/gtkfilechooserwidget.c:835
+#: gtk/gtkfilechooserwidget.c:836
msgid "You need to choose a valid filename."
msgstr "Izbrati morate veljavno ime datoteke."
-#: gtk/gtkfilechooserwidget.c:838
+#: gtk/gtkfilechooserwidget.c:839
#, c-format
msgid "Cannot create a file under %s as it is not a folder"
msgstr "Datoteke pod %s ni mogoče ustvariti, ker ni mapa"
-#: gtk/gtkfilechooserwidget.c:848
+#: gtk/gtkfilechooserwidget.c:849
msgid "Cannot create file as the filename is too long"
msgstr "Ni mogoče ustvariti datoteke s tako dolgim imenom"
-#: gtk/gtkfilechooserwidget.c:849
+#: gtk/gtkfilechooserwidget.c:850
msgid "Try using a shorter name."
msgstr "Poskusite znova s krajšim imenom datoteke."
-#: gtk/gtkfilechooserwidget.c:859
+#: gtk/gtkfilechooserwidget.c:860
msgid "You may only select folders"
msgstr "Izbrati je dovoljeno le mape."
-#: gtk/gtkfilechooserwidget.c:860
+#: gtk/gtkfilechooserwidget.c:861
msgid "The item that you selected is not a folder try using a different item."
msgstr "Izbran predmet ni mapa. Izberite drug predmet."
-#: gtk/gtkfilechooserwidget.c:868
+#: gtk/gtkfilechooserwidget.c:869
msgid "Invalid file name"
msgstr "Neveljavno ime datoteke"
-#: gtk/gtkfilechooserwidget.c:877
+#: gtk/gtkfilechooserwidget.c:878
msgid "The folder contents could not be displayed"
msgstr "Vsebine mape ni mogoče prikazati"
-#: gtk/gtkfilechooserwidget.c:885
+#: gtk/gtkfilechooserwidget.c:886
msgid "The file could not be deleted"
msgstr "Datoteke ni mogoče izbrisati"
-#: gtk/gtkfilechooserwidget.c:893
+#: gtk/gtkfilechooserwidget.c:894
msgid "The file could not be moved to the Trash"
msgstr "Datoteke ni mogoče premakniti v smeti."
-#: gtk/gtkfilechooserwidget.c:1038
+#: gtk/gtkfilechooserwidget.c:1039
msgid "A folder with that name already exists"
msgstr "Mapa z enakim imenom že obstaja."
-#: gtk/gtkfilechooserwidget.c:1040
+#: gtk/gtkfilechooserwidget.c:1041
msgid "A file with that name already exists"
msgstr "Datoteka s tem imenom že obstaja."
-#: gtk/gtkfilechooserwidget.c:1075
+#: gtk/gtkfilechooserwidget.c:1076
msgid "A folder cannot be called “.”"
msgstr "Mapa ne sme biti poimenovana » .. «."
-#: gtk/gtkfilechooserwidget.c:1076
+#: gtk/gtkfilechooserwidget.c:1077
msgid "A file cannot be called “.”"
msgstr "Datoteka ne sme biti poimenovana » . «."
-#: gtk/gtkfilechooserwidget.c:1079
+#: gtk/gtkfilechooserwidget.c:1080
msgid "A folder cannot be called “..”"
msgstr "Mapa ne sme biti poimenovana » .. «."
-#: gtk/gtkfilechooserwidget.c:1080
+#: gtk/gtkfilechooserwidget.c:1081
msgid "A file cannot be called “..”"
msgstr "Datoteka ne sme biti poimenovana » .. «."
-#: gtk/gtkfilechooserwidget.c:1083
+#: gtk/gtkfilechooserwidget.c:1084
msgid "Folder names cannot contain “/”"
msgstr "Ime mape ne sme vsebovati poševnice » / «."
-#: gtk/gtkfilechooserwidget.c:1084
+#: gtk/gtkfilechooserwidget.c:1085
msgid "File names cannot contain “/”"
msgstr "Imena datotek ne smejo vsebovati poševnice » / «."
-#: gtk/gtkfilechooserwidget.c:1110
+#: gtk/gtkfilechooserwidget.c:1111
msgid "Folder names should not begin with a space"
msgstr "Ime mape se ne sme začeti s presledkom"
-#: gtk/gtkfilechooserwidget.c:1111
+#: gtk/gtkfilechooserwidget.c:1112
msgid "File names should not begin with a space"
msgstr "Ime datoteke se ne sme začeti s presledkom"
-#: gtk/gtkfilechooserwidget.c:1115
+#: gtk/gtkfilechooserwidget.c:1116
msgid "Folder names should not end with a space"
msgstr "Ime mape se ne sme končati s presledkom"
-#: gtk/gtkfilechooserwidget.c:1116
+#: gtk/gtkfilechooserwidget.c:1117
msgid "File names should not end with a space"
msgstr "Ime datoteke se ne sme končati s presledkom"
-#: gtk/gtkfilechooserwidget.c:1119
+#: gtk/gtkfilechooserwidget.c:1120
msgid "Folder names starting with a “.” are hidden"
msgstr "Ime mape, ki se začne z » . « je skrita mapa"
-#: gtk/gtkfilechooserwidget.c:1120
+#: gtk/gtkfilechooserwidget.c:1121
msgid "File names starting with a “.” are hidden"
msgstr "Ime datoteke, ki se začne z » . « je skrita datoteka"
-#: gtk/gtkfilechooserwidget.c:1490
+#: gtk/gtkfilechooserwidget.c:1494
#, c-format
msgid "Are you sure you want to permanently delete “%s”?"
msgstr "Ali ste prepričani, da želite trajno izbrisati »%s«?"
-#: gtk/gtkfilechooserwidget.c:1493
+#: gtk/gtkfilechooserwidget.c:1497
#, c-format
msgid "If you delete an item, it will be permanently lost."
msgstr "V primeru, da predmet izbrišete, bo trajno izgubljen."
-#: gtk/gtkfilechooserwidget.c:1630
+#: gtk/gtkfilechooserwidget.c:1634
msgid "The file could not be renamed"
msgstr "Datoteke ni mogoče preimenovati."
-#: gtk/gtkfilechooserwidget.c:1966
+#: gtk/gtkfilechooserwidget.c:1979
msgid "Could not select file"
msgstr "Datoteke ni mogoče izbrati"
-#: gtk/gtkfilechooserwidget.c:2316
+#: gtk/gtkfilechooserwidget.c:2329
msgid "_Visit File"
msgstr "O_bišči datoteko"
-#: gtk/gtkfilechooserwidget.c:2317
+#: gtk/gtkfilechooserwidget.c:2330
msgid "_Open With File Manager"
msgstr "Odpri z _upravljalnikom datotek"
-#: gtk/gtkfilechooserwidget.c:2318
+#: gtk/gtkfilechooserwidget.c:2331
msgid "_Copy Location"
msgstr "Kopiraj _mesto"
-#: gtk/gtkfilechooserwidget.c:2319
+#: gtk/gtkfilechooserwidget.c:2332
msgid "_Add to Bookmarks"
msgstr "_Dodaj med zaznamke"
-#: gtk/gtkfilechooserwidget.c:2320 gtk/gtkplacessidebar.c:2741
-#: gtk/ui/gtkfilechooserwidget.ui:538
+#: gtk/gtkfilechooserwidget.c:2333 gtk/gtkplacessidebar.c:2741
+#: gtk/ui/gtkfilechooserwidget.ui:539
msgid "_Rename"
msgstr "P_reimenuj"
-#: gtk/gtkfilechooserwidget.c:2322
+#: gtk/gtkfilechooserwidget.c:2335
msgid "_Move to Trash"
msgstr "Premakni v _smeti"
-#: gtk/gtkfilechooserwidget.c:2326
+#: gtk/gtkfilechooserwidget.c:2339
msgid "Show _Hidden Files"
msgstr "Pokaži _skrite datoteke"
-#: gtk/gtkfilechooserwidget.c:2327
+#: gtk/gtkfilechooserwidget.c:2340
msgid "Show _Size Column"
msgstr "Pokaži stolpec _velikosti"
-#: gtk/gtkfilechooserwidget.c:2328
+#: gtk/gtkfilechooserwidget.c:2341
msgid "Show T_ype Column"
msgstr "Pokaži stolpec _vrste"
-#: gtk/gtkfilechooserwidget.c:2329
+#: gtk/gtkfilechooserwidget.c:2342
msgid "Show _Time"
msgstr "Pokaži _čas"
-#: gtk/gtkfilechooserwidget.c:2330
+#: gtk/gtkfilechooserwidget.c:2343
msgid "Sort _Folders before Files"
msgstr "Razvrsti _mape pred datotekami"
#. this is the header for the location column in the print dialog
-#: gtk/gtkfilechooserwidget.c:2609 gtk/inspector/css-node-tree.ui:141
-#: gtk/ui/gtkfilechooserwidget.ui:207 gtk/ui/gtkprintunixdialog.ui:123
+#: gtk/gtkfilechooserwidget.c:2625 gtk/inspector/css-node-tree.ui:141
+#: gtk/ui/gtkfilechooserwidget.ui:208 gtk/ui/gtkprintunixdialog.ui:123
msgid "Location"
msgstr "Mesto"
#. Label
-#: gtk/gtkfilechooserwidget.c:2702
+#: gtk/gtkfilechooserwidget.c:2718
msgid "_Name:"
msgstr "_Ime:"
-#: gtk/gtkfilechooserwidget.c:3327 gtk/gtkfilechooserwidget.c:3341
+#: gtk/gtkfilechooserwidget.c:3343 gtk/gtkfilechooserwidget.c:3357
#, c-format
msgid "Searching in %s"
msgstr "Iskanje v %s"
-#: gtk/gtkfilechooserwidget.c:3347
+#: gtk/gtkfilechooserwidget.c:3363
msgid "Searching"
msgstr "Poteka iskanje"
-#: gtk/gtkfilechooserwidget.c:3354
+#: gtk/gtkfilechooserwidget.c:3370
msgid "Enter location"
msgstr "Vpis mesta"
-#: gtk/gtkfilechooserwidget.c:3356
+#: gtk/gtkfilechooserwidget.c:3372
msgid "Enter location or URL"
msgstr "Vpišite mesto ali naslov URL"
-#: gtk/gtkfilechooserwidget.c:4432 gtk/gtkfilechooserwidget.c:7463
-#: gtk/ui/gtkfilechooserwidget.ui:247
+#: gtk/gtkfilechooserwidget.c:4450 gtk/gtkfilechooserwidget.c:7492
+#: gtk/ui/gtkfilechooserwidget.ui:248
msgid "Modified"
msgstr "Spremenjeno"
-#: gtk/gtkfilechooserwidget.c:4710
+#: gtk/gtkfilechooserwidget.c:4728
#, c-format
msgid "Could not read the contents of %s"
msgstr "Vsebine %s ni mogoče prebrati"
-#: gtk/gtkfilechooserwidget.c:4714
+#: gtk/gtkfilechooserwidget.c:4732
msgid "Could not read the contents of the folder"
msgstr "Vsebine mape ni mogoče prebrati"
-#: gtk/gtkfilechooserwidget.c:4874 gtk/gtkfilechooserwidget.c:4922
+#: gtk/gtkfilechooserwidget.c:4892 gtk/gtkfilechooserwidget.c:4940
msgid "%H:%M"
msgstr "%H:%M"
-#: gtk/gtkfilechooserwidget.c:4876 gtk/gtkfilechooserwidget.c:4924
+#: gtk/gtkfilechooserwidget.c:4894 gtk/gtkfilechooserwidget.c:4942
msgid "%l:%M %p"
msgstr "%l:%M %p"
-#: gtk/gtkfilechooserwidget.c:4880
+#: gtk/gtkfilechooserwidget.c:4898
msgid "Yesterday"
msgstr "Včeraj"
-#: gtk/gtkfilechooserwidget.c:4888
+#: gtk/gtkfilechooserwidget.c:4906
msgid "%-e %b"
msgstr "%-e %b"
-#: gtk/gtkfilechooserwidget.c:4892
+#: gtk/gtkfilechooserwidget.c:4910
msgid "%-e %b %Y"
msgstr "%-e %b %Y"
-#: gtk/gtkfilechooserwidget.c:4991 gtk/gtkfilechooserwidget.c:4999
+#: gtk/gtkfilechooserwidget.c:5009 gtk/gtkfilechooserwidget.c:5017
msgid "Program"
msgstr "Program"
-#: gtk/gtkfilechooserwidget.c:4992
+#: gtk/gtkfilechooserwidget.c:5010
msgid "Audio"
msgstr "Zvok"
-#: gtk/gtkfilechooserwidget.c:4993 gtk/inspector/visual.ui:230
+#: gtk/gtkfilechooserwidget.c:5011 gtk/inspector/visual.ui:230
#: gtk/ui/gtkfontbutton.ui:13
msgid "Font"
msgstr "Pisava"
-#: gtk/gtkfilechooserwidget.c:4994 gtk/inspector/visual.ui:488
+#: gtk/gtkfilechooserwidget.c:5012 gtk/inspector/visual.ui:488
msgid "Image"
msgstr "Slika"
-#: gtk/gtkfilechooserwidget.c:4995
+#: gtk/gtkfilechooserwidget.c:5013
msgid "Archive"
msgstr "Arhiv"
-#: gtk/gtkfilechooserwidget.c:4996
+#: gtk/gtkfilechooserwidget.c:5014
msgid "Markup"
msgstr "Oblikovanje besedila"
-#: gtk/gtkfilechooserwidget.c:4997 gtk/gtkfilechooserwidget.c:4998
+#: gtk/gtkfilechooserwidget.c:5015 gtk/gtkfilechooserwidget.c:5016
msgid "Text"
msgstr "Besedilo"
-#: gtk/gtkfilechooserwidget.c:5000
+#: gtk/gtkfilechooserwidget.c:5018
msgid "Video"
msgstr "Video"
-#: gtk/gtkfilechooserwidget.c:5001
+#: gtk/gtkfilechooserwidget.c:5019
msgid "Contacts"
msgstr "Stiki"
-#: gtk/gtkfilechooserwidget.c:5002
+#: gtk/gtkfilechooserwidget.c:5020
msgid "Calendar"
msgstr "Koledar"
-#: gtk/gtkfilechooserwidget.c:5003
+#: gtk/gtkfilechooserwidget.c:5021
msgid "Document"
msgstr "Dokument"
-#: gtk/gtkfilechooserwidget.c:5004
+#: gtk/gtkfilechooserwidget.c:5022
msgid "Presentation"
msgstr "Predstavitev"
-#: gtk/gtkfilechooserwidget.c:5005
+#: gtk/gtkfilechooserwidget.c:5023
msgid "Spreadsheet"
msgstr "Preglednica"
#. Translators: We don't know whether this printer is
#. * available to print to.
-#: gtk/gtkfilechooserwidget.c:5036 gtk/gtkfilechooserwidget.c:5219
+#: gtk/gtkfilechooserwidget.c:5054 gtk/gtkfilechooserwidget.c:5243
#: gtk/inspector/prop-editor.c:1689
#: modules/printbackends/cloudprint/gtkprintbackendcloudprint.c:748
msgid "Unknown"
msgstr "Neznano"
-#: gtk/gtkfilechooserwidget.c:5258 gtk/gtkplacessidebar.c:1094
+#: gtk/gtkfilechooserwidget.c:5282 gtk/gtkplacessidebar.c:1094
msgid "Home"
msgstr "Osebna mapa"
-#: gtk/gtkfilechooserwidget.c:5755
+#: gtk/gtkfilechooserwidget.c:5779
msgid "Cannot change to folder because it is not local"
msgstr "Mape ni mogoče spremeniti, ker ni krajevna"
-#: gtk/gtkfilechooserwidget.c:6541 gtk/gtkprintunixdialog.c:665
+#: gtk/gtkfilechooserwidget.c:6565 gtk/gtkprintunixdialog.c:665
#, c-format
msgid "A file named “%s” already exists. Do you want to replace it?"
msgstr "Datoteka z imenom »%s« že obstaja. Ali jo želite zamenjati?"
-#: gtk/gtkfilechooserwidget.c:6544 gtk/gtkprintunixdialog.c:669
+#: gtk/gtkfilechooserwidget.c:6568 gtk/gtkprintunixdialog.c:669
#, c-format
msgid ""
"The file already exists in “%s”. Replacing it will overwrite its contents."
msgstr "Datoteka že obstaja v »%s«. Z zamenjavo bo njena vsebina izgubljena."
-#: gtk/gtkfilechooserwidget.c:6549 gtk/gtkprintunixdialog.c:677
+#: gtk/gtkfilechooserwidget.c:6573 gtk/gtkprintunixdialog.c:677
msgid "_Replace"
msgstr "_Zamenjaj"
-#: gtk/gtkfilechooserwidget.c:6763
+#: gtk/gtkfilechooserwidget.c:6792
msgid "You do not have access to the specified folder."
msgstr "Ni ustreznih dovoljenj za dostop do navedene mape."
-#: gtk/gtkfilechooserwidget.c:7386
+#: gtk/gtkfilechooserwidget.c:7415
msgid "Could not send the search request"
msgstr "Zahteve po iskanju ni mogoče poslati"
-#: gtk/gtkfilechooserwidget.c:7674
+#: gtk/gtkfilechooserwidget.c:7703
msgid "Accessed"
msgstr "Dostopano"
-#: gtk/gtkfilechooserwidget.c:8793 gtk/ui/gtkfilechooserwidget.ui:69
+#: gtk/gtkfilechooserwidget.c:8822 gtk/ui/gtkfilechooserwidget.ui:69
msgid "Create Folder"
msgstr "Ustvari mapo"
@@ -2655,51 +2668,51 @@ msgctxt "font"
msgid "None"
msgstr "Brez"
-#: gtk/gtkfontchooserwidget.c:1523
+#: gtk/gtkfontchooserwidget.c:1525
msgid "Width"
msgstr "Širina"
-#: gtk/gtkfontchooserwidget.c:1524
+#: gtk/gtkfontchooserwidget.c:1526
msgid "Weight"
msgstr "Teža"
-#: gtk/gtkfontchooserwidget.c:1525
+#: gtk/gtkfontchooserwidget.c:1527
msgid "Italic"
msgstr "Ležeče"
-#: gtk/gtkfontchooserwidget.c:1526
+#: gtk/gtkfontchooserwidget.c:1528
msgid "Slant"
msgstr "Nagib"
-#: gtk/gtkfontchooserwidget.c:1527
+#: gtk/gtkfontchooserwidget.c:1529
msgid "Optical Size"
msgstr "Optična velikost"
-#: gtk/gtkfontchooserwidget.c:2064 gtk/inspector/prop-editor.c:1676
+#: gtk/gtkfontchooserwidget.c:2066 gtk/inspector/prop-editor.c:1676
msgid "Default"
msgstr "Privzeto"
-#: gtk/gtkfontchooserwidget.c:2111
+#: gtk/gtkfontchooserwidget.c:2113
msgid "Ligatures"
msgstr "Ligature"
-#: gtk/gtkfontchooserwidget.c:2112
+#: gtk/gtkfontchooserwidget.c:2114
msgid "Letter Case"
msgstr "Črke"
-#: gtk/gtkfontchooserwidget.c:2113
+#: gtk/gtkfontchooserwidget.c:2115
msgid "Number Case"
msgstr "Številke"
-#: gtk/gtkfontchooserwidget.c:2114
+#: gtk/gtkfontchooserwidget.c:2116
msgid "Number Spacing"
msgstr "Številski razmiki"
-#: gtk/gtkfontchooserwidget.c:2115
+#: gtk/gtkfontchooserwidget.c:2117
msgid "Number Formatting"
msgstr "Oblikovanje števil"
-#: gtk/gtkfontchooserwidget.c:2116
+#: gtk/gtkfontchooserwidget.c:2118
msgid "Character Variants"
msgstr "Različica znakov"
@@ -2711,16 +2724,16 @@ msgstr "Ustvarjanje vsebine OpenGL je spodletelo"
msgid "Application menu"
msgstr "Programski meni"
-#: gtk/gtkheaderbar.c:458 gtk/gtkwindow.c:9342
+#: gtk/gtkheaderbar.c:458 gtk/gtkwindow.c:9355
msgid "Close"
msgstr "Zapri"
-#: gtk/gtkicontheme.c:2357 gtk/gtkicontheme.c:2422
+#: gtk/gtkicontheme.c:2358 gtk/gtkicontheme.c:2423
#, c-format
msgid "Icon '%s' not present in theme %s"
msgstr "Ikone »%s« v temi %s ni."
-#: gtk/gtkicontheme.c:4096 gtk/gtkicontheme.c:4463
+#: gtk/gtkicontheme.c:4101 gtk/gtkicontheme.c:4468
msgid "Failed to load icon"
msgstr "Ikone ni mogoče naložiti"
@@ -2734,30 +2747,30 @@ msgctxt "input method menu"
msgid "None"
msgstr "Brez"
-#: gtk/gtkimmulticontext.c:609
+#: gtk/gtkimmulticontext.c:615
msgctxt "input method menu"
msgid "System"
msgstr "Sistem"
-#: gtk/gtkimmulticontext.c:688
+#: gtk/gtkimmulticontext.c:694
#, c-format
msgctxt "input method menu"
msgid "System (%s)"
msgstr "Sistem (%s)"
-#: gtk/gtkinfobar.c:1150 gtk/gtkmessagedialog.c:385
+#: gtk/gtkinfobar.c:1307 gtk/gtkmessagedialog.c:385
msgid "Information"
msgstr "Podrobnosti"
-#: gtk/gtkinfobar.c:1154 gtk/gtkmessagedialog.c:389
+#: gtk/gtkinfobar.c:1311 gtk/gtkmessagedialog.c:389
msgid "Question"
msgstr "Vprašanje"
-#: gtk/gtkinfobar.c:1158 gtk/gtkmessagedialog.c:393
+#: gtk/gtkinfobar.c:1315 gtk/gtkmessagedialog.c:393
msgid "Warning"
msgstr "Opozorilo"
-#: gtk/gtkinfobar.c:1162 gtk/gtkmessagedialog.c:397
+#: gtk/gtkinfobar.c:1319 gtk/gtkmessagedialog.c:397
msgid "Error"
msgstr "Napaka"
@@ -2892,16 +2905,16 @@ msgstr "Zastavice razhroščevanja GTK+, ki naj bodo nastavljene"
msgid "GTK+ debugging flags to unset"
msgstr "Zastavice razhroščevanja GTK+, ki naj ne bodo nastavljene"
-#: gtk/gtkmain.c:808 gtk/gtkmain.c:1002
+#: gtk/gtkmain.c:810 gtk/gtkmain.c:1004
#, c-format
msgid "Cannot open display: %s"
msgstr "Prikaza ni mogoče odpreti: %s"
-#: gtk/gtkmain.c:920
+#: gtk/gtkmain.c:922
msgid "GTK+ Options"
msgstr "Možnosti GTK+"
-#: gtk/gtkmain.c:920
+#: gtk/gtkmain.c:922
msgid "Show GTK+ Options"
msgstr "Pokaži možnosti GTK+"
@@ -2910,7 +2923,7 @@ msgstr "Pokaži možnosti GTK+"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: gtk/gtkmain.c:1270
+#: gtk/gtkmain.c:1275
msgid "default:LTR"
msgstr "default:LTR"
@@ -3213,7 +3226,7 @@ msgstr "To ime je že uporabljeno"
#: gtk/gtkplacessidebar.c:2735 gtk/inspector/actions.ui:43
#: gtk/inspector/css-node-tree.ui:39 gtk/inspector/object-tree.ui:110
-#: gtk/ui/gtkfilechooserwidget.ui:189 gtk/ui/gtkfilechooserwidget.ui:512
+#: gtk/ui/gtkfilechooserwidget.ui:190 gtk/ui/gtkfilechooserwidget.ui:513
msgid "Name"
msgstr "Ime"
@@ -3389,7 +3402,7 @@ msgid "Disconnect"
msgstr "Prekini povezavo"
#: gtk/gtkplacesviewrow.c:481 gtk/ui/gtkplacesviewrow.ui:72
-#: gtk/ui/gtksidebarrow.ui:61
+#: gtk/ui/gtksidebarrow.ui:62
msgid "Unmount"
msgstr "Odklopi"
@@ -3494,58 +3507,58 @@ msgstr "Najverjetnejši razlog je, da začasne datoteke ni mogoče ustvariti"
msgid "Print"
msgstr "Natisni"
-#: gtk/gtkprintoperation-win32.c:617
+#: gtk/gtkprintoperation-win32.c:631
msgid "Printer offline"
msgstr "Tiskalnik je izključen"
-#: gtk/gtkprintoperation-win32.c:619
+#: gtk/gtkprintoperation-win32.c:633
msgid "Out of paper"
msgstr "Brez papirja"
#. Translators: this is a printer status.
-#: gtk/gtkprintoperation-win32.c:621
-#: modules/printbackends/cups/gtkprintbackendcups.c:2614
+#: gtk/gtkprintoperation-win32.c:635
+#: modules/printbackends/cups/gtkprintbackendcups.c:2624
msgid "Paused"
msgstr "Premor"
-#: gtk/gtkprintoperation-win32.c:623
+#: gtk/gtkprintoperation-win32.c:637
msgid "Need user intervention"
msgstr "Zahtevano je posredovanje uporabnika"
-#: gtk/gtkprintoperation-win32.c:728
+#: gtk/gtkprintoperation-win32.c:742
msgid "Custom size"
msgstr "Velikost po meri"
-#: gtk/gtkprintoperation-win32.c:1587
+#: gtk/gtkprintoperation-win32.c:1613
msgid "No printer found"
msgstr "Ni najdenega tiskalnika"
-#: gtk/gtkprintoperation-win32.c:1614
+#: gtk/gtkprintoperation-win32.c:1640
msgid "Invalid argument to CreateDC"
msgstr "Neveljaven argument za CreateDC"
-#: gtk/gtkprintoperation-win32.c:1650 gtk/gtkprintoperation-win32.c:1896
+#: gtk/gtkprintoperation-win32.c:1676 gtk/gtkprintoperation-win32.c:1922
msgid "Error from StartDoc"
msgstr "Napaka iz StartDoc"
-#: gtk/gtkprintoperation-win32.c:1751 gtk/gtkprintoperation-win32.c:1774
-#: gtk/gtkprintoperation-win32.c:1822
+#: gtk/gtkprintoperation-win32.c:1777 gtk/gtkprintoperation-win32.c:1800
+#: gtk/gtkprintoperation-win32.c:1848
msgid "Not enough free memory"
msgstr "Ni dovolj prostega pomnilnika"
-#: gtk/gtkprintoperation-win32.c:1827
+#: gtk/gtkprintoperation-win32.c:1853
msgid "Invalid argument to PrintDlgEx"
msgstr "Neveljaven argument za PrintDlgEx"
-#: gtk/gtkprintoperation-win32.c:1832
+#: gtk/gtkprintoperation-win32.c:1858
msgid "Invalid pointer to PrintDlgEx"
msgstr "Neveljaven kazalec na PrintDlgEx"
-#: gtk/gtkprintoperation-win32.c:1837
+#: gtk/gtkprintoperation-win32.c:1863
msgid "Invalid handle to PrintDlgEx"
msgstr "Neveljavna ročica za PrintDlgEx"
-#: gtk/gtkprintoperation-win32.c:1842
+#: gtk/gtkprintoperation-win32.c:1868
msgid "Unspecified error"
msgstr "Nedoločena napaka"
@@ -3572,42 +3585,42 @@ msgstr "Pridobivanje podatkov tiskalnika …"
#. * multiple pages on a sheet when printing
#.
#: gtk/gtkprintunixdialog.c:3120
-#: modules/printbackends/cups/gtkprintbackendcups.c:5440
+#: modules/printbackends/cups/gtkprintbackendcups.c:5493
msgid "Left to right, top to bottom"
msgstr "Z leve proti desni, od zgoraj navzdol"
#: gtk/gtkprintunixdialog.c:3120
-#: modules/printbackends/cups/gtkprintbackendcups.c:5440
+#: modules/printbackends/cups/gtkprintbackendcups.c:5493
msgid "Left to right, bottom to top"
msgstr "Z leve proti desni, od spodaj navzgor"
#: gtk/gtkprintunixdialog.c:3121
-#: modules/printbackends/cups/gtkprintbackendcups.c:5441
+#: modules/printbackends/cups/gtkprintbackendcups.c:5494
msgid "Right to left, top to bottom"
msgstr "Z desne proti levi, od zgoraj navzdol"
#: gtk/gtkprintunixdialog.c:3121
-#: modules/printbackends/cups/gtkprintbackendcups.c:5441
+#: modules/printbackends/cups/gtkprintbackendcups.c:5494
msgid "Right to left, bottom to top"
msgstr "Z desne proti levi, od spodaj navzgor"
#: gtk/gtkprintunixdialog.c:3122
-#: modules/printbackends/cups/gtkprintbackendcups.c:5442
+#: modules/printbackends/cups/gtkprintbackendcups.c:5495
msgid "Top to bottom, left to right"
msgstr "Od zgoraj navzdol, z leve proti desni"
#: gtk/gtkprintunixdialog.c:3122
-#: modules/printbackends/cups/gtkprintbackendcups.c:5442
+#: modules/printbackends/cups/gtkprintbackendcups.c:5495
msgid "Top to bottom, right to left"
msgstr "Od zgoraj navzdol, z desne proti levi"
#: gtk/gtkprintunixdialog.c:3123
-#: modules/printbackends/cups/gtkprintbackendcups.c:5443
+#: modules/printbackends/cups/gtkprintbackendcups.c:5496
msgid "Bottom to top, left to right"
msgstr "Od spodaj navzgor, z leve proti desni"
#: gtk/gtkprintunixdialog.c:3123
-#: modules/printbackends/cups/gtkprintbackendcups.c:5443
+#: modules/printbackends/cups/gtkprintbackendcups.c:5496
msgid "Bottom to top, right to left"
msgstr "Od spodaj navzgor, z desne proti levi"
@@ -3802,12 +3815,12 @@ msgid "Search Shortcuts"
msgstr "Iskalne bližnjice"
#: gtk/gtkshortcutswindow.c:1053 gtk/ui/gtkemojichooser.ui:376
-#: gtk/ui/gtkfilechooserwidget.ui:322
+#: gtk/ui/gtkfilechooserwidget.ui:323
msgid "No Results Found"
msgstr "Ni zadetkov"
#: gtk/gtkshortcutswindow.c:1060 gtk/ui/gtkemojichooser.ui:390
-#: gtk/ui/gtkfilechooserwidget.ui:336 gtk/ui/gtkplacesview.ui:274
+#: gtk/ui/gtkfilechooserwidget.ui:337 gtk/ui/gtkplacesview.ui:274
msgid "Try a different search"
msgstr "Poskusite drugačno iskanje"
@@ -3992,24 +4005,24 @@ msgctxt "volume percentage"
msgid "%d %%"
msgstr "%d %%"
-#: gtk/gtkwindow.c:9290
+#: gtk/gtkwindow.c:9303
msgid "Move"
msgstr "Premakni"
-#: gtk/gtkwindow.c:9298
+#: gtk/gtkwindow.c:9311
msgid "Resize"
msgstr "Spremeni velikost"
-#: gtk/gtkwindow.c:9329
+#: gtk/gtkwindow.c:9342
msgid "Always on Top"
msgstr "Vedno na vrhu"
-#: gtk/gtkwindow.c:12764
+#: gtk/gtkwindow.c:12777
#, c-format
msgid "Do you want to use GTK+ Inspector?"
msgstr "Ali želite uporabljati nadzorni program GTK+?"
-#: gtk/gtkwindow.c:12766
+#: gtk/gtkwindow.c:12779
#, c-format
msgid ""
"GTK+ Inspector is an interactive debugger that lets you explore and modify "
@@ -4019,7 +4032,7 @@ msgstr ""
"Nadzornik GTK+ je razhroščevalnik, ki omogoča raziskovanje in spreminjanje "
"nastavitev GTK+. Neustrezna raba lahko povzroči nedelovanje okolja."
-#: gtk/gtkwindow.c:12771
+#: gtk/gtkwindow.c:12784
msgid "Don't show this message again"
msgstr "Sporočila ne pokaži več"
@@ -4355,7 +4368,7 @@ msgid "Property"
msgstr "Lastnosti"
#: gtk/inspector/prop-list.ui:68 gtk/inspector/statistics.ui:53
-#: gtk/ui/gtkfilechooserwidget.ui:235
+#: gtk/ui/gtkfilechooserwidget.ui:236
msgid "Type"
msgstr "Vrsta"
@@ -4375,7 +4388,7 @@ msgstr "Pot"
msgid "Count"
msgstr "Števec"
-#: gtk/inspector/resource-list.ui:130 gtk/ui/gtkfilechooserwidget.ui:223
+#: gtk/inspector/resource-list.ui:130 gtk/ui/gtkfilechooserwidget.ui:224
#: gtk/ui/gtkfontchooserwidget.ui:134 gtk/ui/gtkfontchooserwidget.ui:276
msgid "Size"
msgstr "Velikost"
@@ -7156,19 +7169,19 @@ msgstr "Simboli"
msgid "Flags"
msgstr "Zastavice"
-#: gtk/ui/gtkfilechooserwidget.ui:168
+#: gtk/ui/gtkfilechooserwidget.ui:169
msgid "Files"
msgstr "Datoteke"
-#: gtk/ui/gtkfilechooserwidget.ui:273
+#: gtk/ui/gtkfilechooserwidget.ui:274
msgid "Remote location — only searching the current folder"
msgstr "Oddaljeno mesto — iskanje le trenutne mape"
-#: gtk/ui/gtkfilechooserwidget.ui:445
+#: gtk/ui/gtkfilechooserwidget.ui:446
msgid "Folder Name"
msgstr "Ime mape"
-#: gtk/ui/gtkfilechooserwidget.ui:473
+#: gtk/ui/gtkfilechooserwidget.ui:474
msgid "_Create"
msgstr "_Ustvari"
@@ -7651,7 +7664,7 @@ msgctxt "input method menu"
msgid "Multipress"
msgstr "Multipress"
-#: modules/input/imquartz.c:58
+#: modules/input/imquartz.c:61
msgctxt "input method menu"
msgid "Mac OS X Quartz"
msgstr "Mac OS X Quartz"
@@ -7681,7 +7694,7 @@ msgid "Vietnamese (VIQR)"
msgstr "vietnamski (VIQR)"
#. ID
-#: modules/input/imwayland.c:104
+#: modules/input/imwayland.c:105
msgctxt "input method menu"
msgid "Wayland"
msgstr "Wayland"
@@ -7723,438 +7736,438 @@ msgstr "Nedejavno stanje"
msgid "Pages per _sheet:"
msgstr "Strani na _list:"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1128
-#: modules/printbackends/cups/gtkprintbackendcups.c:1437
+#: modules/printbackends/cups/gtkprintbackendcups.c:1129
+#: modules/printbackends/cups/gtkprintbackendcups.c:1438
msgid "Username:"
msgstr "Uporabniško ime:"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1129
-#: modules/printbackends/cups/gtkprintbackendcups.c:1446
+#: modules/printbackends/cups/gtkprintbackendcups.c:1130
+#: modules/printbackends/cups/gtkprintbackendcups.c:1447
msgid "Password:"
msgstr "Geslo:"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1168
-#: modules/printbackends/cups/gtkprintbackendcups.c:1459
+#: modules/printbackends/cups/gtkprintbackendcups.c:1169
+#: modules/printbackends/cups/gtkprintbackendcups.c:1460
#, c-format
msgid "Authentication is required to print document “%s” on printer %s"
msgstr "Za tiskanje dokumenta »%s« na tiskalniku %s je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1170
+#: modules/printbackends/cups/gtkprintbackendcups.c:1171
#, c-format
msgid "Authentication is required to print a document on %s"
msgstr "Za tiskanje dokumenta na %s je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1174
+#: modules/printbackends/cups/gtkprintbackendcups.c:1175
#, c-format
msgid "Authentication is required to get attributes of job “%s”"
msgstr "Za pridobitev atributov posla »%s« je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1176
+#: modules/printbackends/cups/gtkprintbackendcups.c:1177
msgid "Authentication is required to get attributes of a job"
msgstr "Za pridobitev atributov posla je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1180
+#: modules/printbackends/cups/gtkprintbackendcups.c:1181
#, c-format
msgid "Authentication is required to get attributes of printer %s"
msgstr "Za pridobitev atributov tiskalnika %s je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1182
+#: modules/printbackends/cups/gtkprintbackendcups.c:1183
msgid "Authentication is required to get attributes of a printer"
msgstr "Za pridobitev atributov tiskalnika je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1185
+#: modules/printbackends/cups/gtkprintbackendcups.c:1186
#, c-format
msgid "Authentication is required to get default printer of %s"
msgstr "Za pridobitev privzetega tiskalnika %s je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1188
+#: modules/printbackends/cups/gtkprintbackendcups.c:1189
#, c-format
msgid "Authentication is required to get printers from %s"
msgstr "Za pridobitev tiskalnikov iz %s je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1193
+#: modules/printbackends/cups/gtkprintbackendcups.c:1194
#, c-format
msgid "Authentication is required to get a file from %s"
msgstr "Za pridobitev datoteke iz %s je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1195
+#: modules/printbackends/cups/gtkprintbackendcups.c:1196
#, c-format
msgid "Authentication is required on %s"
msgstr "Na %s je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1431
+#: modules/printbackends/cups/gtkprintbackendcups.c:1432
msgid "Domain:"
msgstr "Domena:"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1461
+#: modules/printbackends/cups/gtkprintbackendcups.c:1462
#, c-format
msgid "Authentication is required to print document “%s”"
msgstr "Za tiskanje dokumenta »%s« je zahtevana overitev."
-#: modules/printbackends/cups/gtkprintbackendcups.c:1466
+#: modules/printbackends/cups/gtkprintbackendcups.c:1467
#, c-format
msgid "Authentication is required to print this document on printer %s"
msgstr "Za tiskanje tega dokumenta na tiskalniku %s je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1468
+#: modules/printbackends/cups/gtkprintbackendcups.c:1469
msgid "Authentication is required to print this document"
msgstr "Za tiskanje tega dokumenta je zahtevana overitev"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2543
+#: modules/printbackends/cups/gtkprintbackendcups.c:2553
#, c-format
msgid "Printer “%s” is low on toner."
msgstr "V tiskalniku »%s« je skoraj prazen toner."
-#: modules/printbackends/cups/gtkprintbackendcups.c:2547
+#: modules/printbackends/cups/gtkprintbackendcups.c:2557
#, c-format
msgid "Printer “%s” has no toner left."
msgstr "V tiskalniku »%s« je prazen toner."
#. Translators: "Developer" like on photo development context
-#: modules/printbackends/cups/gtkprintbackendcups.c:2552
+#: modules/printbackends/cups/gtkprintbackendcups.c:2562
#, c-format
msgid "Printer “%s” is low on developer."
msgstr "V tiskalniku »%s« je skoraj zmanjkalo razvijalca."
#. Translators: "Developer" like on photo development context
-#: modules/printbackends/cups/gtkprintbackendcups.c:2557
+#: modules/printbackends/cups/gtkprintbackendcups.c:2567
#, c-format
msgid "Printer “%s” is out of developer."
msgstr "V tiskalniku »%s« je zmanjkalo razvijalca."
#. Translators: "marker" is one color bin of the printer
-#: modules/printbackends/cups/gtkprintbackendcups.c:2562
+#: modules/printbackends/cups/gtkprintbackendcups.c:2572
#, c-format
msgid "Printer “%s” is low on at least one marker supply."
msgstr "V tiskalniku »%s« je skoraj prazna vsaj ena kartuša."
#. Translators: "marker" is one color bin of the printer
-#: modules/printbackends/cups/gtkprintbackendcups.c:2567
+#: modules/printbackends/cups/gtkprintbackendcups.c:2577
#, c-format
msgid "Printer “%s” is out of at least one marker supply."
msgstr "V tiskalniku »%s« je prazna vsaj ena kartuša."
-#: modules/printbackends/cups/gtkprintbackendcups.c:2571
+#: modules/printbackends/cups/gtkprintbackendcups.c:2581
#, c-format
msgid "The cover is open on printer “%s”."
msgstr "Tiskalnik »%s« ima odprt pokrov."
-#: modules/printbackends/cups/gtkprintbackendcups.c:2575
+#: modules/printbackends/cups/gtkprintbackendcups.c:2585
#, c-format
msgid "The door is open on printer “%s”."
msgstr "Tiskalnik »%s« ima odprta vratca."
-#: modules/printbackends/cups/gtkprintbackendcups.c:2579
+#: modules/printbackends/cups/gtkprintbackendcups.c:2589
#, c-format
msgid "Printer “%s” is low on paper."
msgstr "V tiskalniku »%s« je skoraj zmanjkalo papirja."
-#: modules/printbackends/cups/gtkprintbackendcups.c:2583
+#: modules/printbackends/cups/gtkprintbackendcups.c:2593
#, c-format
msgid "Printer “%s” is out of paper."
msgstr "V tiskalniku »%s« je zmanjkalo papirja."
-#: modules/printbackends/cups/gtkprintbackendcups.c:2587
+#: modules/printbackends/cups/gtkprintbackendcups.c:2597
#, c-format
msgid "Printer “%s” is currently offline."
msgstr "Tiskalnik »%s« trenutno ni povezan."
-#: modules/printbackends/cups/gtkprintbackendcups.c:2591
+#: modules/printbackends/cups/gtkprintbackendcups.c:2601
#, c-format
msgid "There is a problem on printer “%s”."
msgstr "Prišlo je do težav na tiskalniku “%s“."
#. Translators: this is a printer status.
-#: modules/printbackends/cups/gtkprintbackendcups.c:2611
+#: modules/printbackends/cups/gtkprintbackendcups.c:2621
msgid "Paused; Rejecting Jobs"
msgstr "Premor ; zavračanje poslov"
#. Translators: this is a printer status.
-#: modules/printbackends/cups/gtkprintbackendcups.c:2617
+#: modules/printbackends/cups/gtkprintbackendcups.c:2627
msgid "Rejecting Jobs"
msgstr "Zavračanje poslov"
#. Translators: this string connects multiple printer states together.
-#: modules/printbackends/cups/gtkprintbackendcups.c:2658
+#: modules/printbackends/cups/gtkprintbackendcups.c:2668
msgid "; "
msgstr ";"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4386
-#: modules/printbackends/cups/gtkprintbackendcups.c:4453
+#: modules/printbackends/cups/gtkprintbackendcups.c:4439
+#: modules/printbackends/cups/gtkprintbackendcups.c:4506
msgctxt "printing option"
msgid "Two Sided"
msgstr "Dvostransko"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4387
+#: modules/printbackends/cups/gtkprintbackendcups.c:4440
msgctxt "printing option"
msgid "Paper Type"
msgstr "Vrsta papirja"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4388
+#: modules/printbackends/cups/gtkprintbackendcups.c:4441
msgctxt "printing option"
msgid "Paper Source"
msgstr "Vir papirja"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4389
-#: modules/printbackends/cups/gtkprintbackendcups.c:4454
+#: modules/printbackends/cups/gtkprintbackendcups.c:4442
+#: modules/printbackends/cups/gtkprintbackendcups.c:4507
msgctxt "printing option"
msgid "Output Tray"
msgstr "Pladenj za papir"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4390
+#: modules/printbackends/cups/gtkprintbackendcups.c:4443
msgctxt "printing option"
msgid "Resolution"
msgstr "Ločljivost"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4391
+#: modules/printbackends/cups/gtkprintbackendcups.c:4444
msgctxt "printing option"
msgid "GhostScript pre-filtering"
msgstr "Predhodno filtriranje GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4400
+#: modules/printbackends/cups/gtkprintbackendcups.c:4453
msgctxt "printing option value"
msgid "One Sided"
msgstr "Enostransko"
#. Translators: this is an option of "Two Sided"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4402
+#: modules/printbackends/cups/gtkprintbackendcups.c:4455
msgctxt "printing option value"
msgid "Long Edge (Standard)"
msgstr "Dolga stranica (standardno)"
#. Translators: this is an option of "Two Sided"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4404
+#: modules/printbackends/cups/gtkprintbackendcups.c:4457
msgctxt "printing option value"
msgid "Short Edge (Flip)"
msgstr "Kratka stranica (zrcaljeno)"
#. Translators: this is an option of "Paper Source"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4406
-#: modules/printbackends/cups/gtkprintbackendcups.c:4408
-#: modules/printbackends/cups/gtkprintbackendcups.c:4416
+#: modules/printbackends/cups/gtkprintbackendcups.c:4459
+#: modules/printbackends/cups/gtkprintbackendcups.c:4461
+#: modules/printbackends/cups/gtkprintbackendcups.c:4469
msgctxt "printing option value"
msgid "Auto Select"
msgstr "Samodejno izberi"
#. Translators: this is an option of "Paper Source"
#. Translators: this is an option of "Resolution"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4410
-#: modules/printbackends/cups/gtkprintbackendcups.c:4412
-#: modules/printbackends/cups/gtkprintbackendcups.c:4414
-#: modules/printbackends/cups/gtkprintbackendcups.c:4418
+#: modules/printbackends/cups/gtkprintbackendcups.c:4463
+#: modules/printbackends/cups/gtkprintbackendcups.c:4465
+#: modules/printbackends/cups/gtkprintbackendcups.c:4467
+#: modules/printbackends/cups/gtkprintbackendcups.c:4471
msgctxt "printing option value"
msgid "Printer Default"
msgstr "Privzeto za tiskalnik"
#. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4420
+#: modules/printbackends/cups/gtkprintbackendcups.c:4473
msgctxt "printing option value"
msgid "Embed GhostScript fonts only"
msgstr "Vstavi samo pisave GhostScript"
#. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4422
+#: modules/printbackends/cups/gtkprintbackendcups.c:4475
msgctxt "printing option value"
msgid "Convert to PS level 1"
msgstr "Pretvori v PS ravni 1"
#. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4424
+#: modules/printbackends/cups/gtkprintbackendcups.c:4477
msgctxt "printing option value"
msgid "Convert to PS level 2"
msgstr "Pretvori v PS ravni 2"
#. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4426
+#: modules/printbackends/cups/gtkprintbackendcups.c:4479
msgctxt "printing option value"
msgid "No pre-filtering"
msgstr "Brez predhodnega filtriranja"
#. Translators: "Miscellaneous" is the label for a button, that opens
#. up an extra panel of settings in a print dialog.
-#: modules/printbackends/cups/gtkprintbackendcups.c:4435
+#: modules/printbackends/cups/gtkprintbackendcups.c:4488
msgctxt "printing option group"
msgid "Miscellaneous"
msgstr "Razno"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4462
+#: modules/printbackends/cups/gtkprintbackendcups.c:4515
msgctxt "sides"
msgid "One Sided"
msgstr "Enostransko"
#. Translators: this is an option of "Two Sided"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4464
+#: modules/printbackends/cups/gtkprintbackendcups.c:4517
msgctxt "sides"
msgid "Long Edge (Standard)"
msgstr "Dolga stranica (standardno)"
#. Translators: this is an option of "Two Sided"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4466
+#: modules/printbackends/cups/gtkprintbackendcups.c:4519
msgctxt "sides"
msgid "Short Edge (Flip)"
msgstr "Kratka stranica (zrcaljeno)"
#. Translators: Top output bin
-#: modules/printbackends/cups/gtkprintbackendcups.c:4469
+#: modules/printbackends/cups/gtkprintbackendcups.c:4522
msgctxt "output-bin"
msgid "Top Bin"
msgstr "Vsebnik na vrhu"
#. Translators: Middle output bin
-#: modules/printbackends/cups/gtkprintbackendcups.c:4471
+#: modules/printbackends/cups/gtkprintbackendcups.c:4524
msgctxt "output-bin"
msgid "Middle Bin"
msgstr "Vsebnik na sredini"
#. Translators: Bottom output bin
-#: modules/printbackends/cups/gtkprintbackendcups.c:4473
+#: modules/printbackends/cups/gtkprintbackendcups.c:4526
msgctxt "output-bin"
msgid "Bottom Bin"
msgstr "Vsebnik na dnu"
#. Translators: Side output bin
-#: modules/printbackends/cups/gtkprintbackendcups.c:4475
+#: modules/printbackends/cups/gtkprintbackendcups.c:4528
msgctxt "output-bin"
msgid "Side Bin"
msgstr "Vsebnik na robu"
#. Translators: Left output bin
-#: modules/printbackends/cups/gtkprintbackendcups.c:4477
+#: modules/printbackends/cups/gtkprintbackendcups.c:4530
msgctxt "output-bin"
msgid "Left Bin"
msgstr "Vsebnik na levi"
#. Translators: Right output bin
-#: modules/printbackends/cups/gtkprintbackendcups.c:4479
+#: modules/printbackends/cups/gtkprintbackendcups.c:4532
msgctxt "output-bin"
msgid "Right Bin"
msgstr "Vsebnik na desni"
#. Translators: Center output bin
-#: modules/printbackends/cups/gtkprintbackendcups.c:4481
+#: modules/printbackends/cups/gtkprintbackendcups.c:4534
msgctxt "output-bin"
msgid "Center Bin"
msgstr "Vsebnik na sredini"
#. Translators: Rear output bin
-#: modules/printbackends/cups/gtkprintbackendcups.c:4483
+#: modules/printbackends/cups/gtkprintbackendcups.c:4536
msgctxt "output-bin"
msgid "Rear Bin"
msgstr "Vsebnik zadaj"
#. Translators: Output bin where one sided output is oriented in the face-up position
-#: modules/printbackends/cups/gtkprintbackendcups.c:4485
+#: modules/printbackends/cups/gtkprintbackendcups.c:4538
msgctxt "output-bin"
msgid "Face Up Bin"
msgstr "Vsebnik obrnjen navzgor"
#. Translators: Output bin where one sided output is oriented in the face-down position
-#: modules/printbackends/cups/gtkprintbackendcups.c:4487
+#: modules/printbackends/cups/gtkprintbackendcups.c:4540
msgctxt "output-bin"
msgid "Face Down Bin"
msgstr "Vsebnik obrnjen navzdol"
#. Translators: Large capacity output bin
-#: modules/printbackends/cups/gtkprintbackendcups.c:4489
+#: modules/printbackends/cups/gtkprintbackendcups.c:4542
msgctxt "output-bin"
msgid "Large Capacity Bin"
msgstr "Obsežni zmogljivi vsebnik"
#. Translators: Output stacker number %d
-#: modules/printbackends/cups/gtkprintbackendcups.c:4511
+#: modules/printbackends/cups/gtkprintbackendcups.c:4564
#, c-format
msgctxt "output-bin"
msgid "Stacker %d"
msgstr "Skladalnik %d"
#. Translators: Output mailbox number %d
-#: modules/printbackends/cups/gtkprintbackendcups.c:4515
+#: modules/printbackends/cups/gtkprintbackendcups.c:4568
#, c-format
msgctxt "output-bin"
msgid "Mailbox %d"
msgstr "Poštni predal %d"
#. Translators: Private mailbox
-#: modules/printbackends/cups/gtkprintbackendcups.c:4519
+#: modules/printbackends/cups/gtkprintbackendcups.c:4572
msgctxt "output-bin"
msgid "My Mailbox"
msgstr "Poštni predal"
#. Translators: Output tray number %d
-#: modules/printbackends/cups/gtkprintbackendcups.c:4523
+#: modules/printbackends/cups/gtkprintbackendcups.c:4576
#, c-format
msgctxt "output-bin"
msgid "Tray %d"
msgstr "Pladenj %d"
-#: modules/printbackends/cups/gtkprintbackendcups.c:4994
+#: modules/printbackends/cups/gtkprintbackendcups.c:5047
msgid "Printer Default"
msgstr "Privzeto za tiskalnik"
#. Translators: These strings name the possible values of the
#. * job priority option in the print dialog
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:5435
+#: modules/printbackends/cups/gtkprintbackendcups.c:5488
msgid "Urgent"
msgstr "Nujno"
-#: modules/printbackends/cups/gtkprintbackendcups.c:5435
+#: modules/printbackends/cups/gtkprintbackendcups.c:5488
msgid "High"
msgstr "Visoka"
-#: modules/printbackends/cups/gtkprintbackendcups.c:5435
+#: modules/printbackends/cups/gtkprintbackendcups.c:5488
msgid "Medium"
msgstr "Srednja"
-#: modules/printbackends/cups/gtkprintbackendcups.c:5435
+#: modules/printbackends/cups/gtkprintbackendcups.c:5488
msgid "Low"
msgstr "Nizka"
#. Translators, this string is used to label the job priority option
#. * in the print dialog
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:5465
+#: modules/printbackends/cups/gtkprintbackendcups.c:5518
msgid "Job Priority"
msgstr "Prednost posla"
#. Translators, this string is used to label the billing info entry
#. * in the print dialog
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:5476
+#: modules/printbackends/cups/gtkprintbackendcups.c:5529
msgid "Billing Info"
msgstr "Podatki o plačilu"
-#: modules/printbackends/cups/gtkprintbackendcups.c:5500
+#: modules/printbackends/cups/gtkprintbackendcups.c:5553
msgctxt "cover page"
msgid "None"
msgstr "Brez"
-#: modules/printbackends/cups/gtkprintbackendcups.c:5501
+#: modules/printbackends/cups/gtkprintbackendcups.c:5554
msgctxt "cover page"
msgid "Classified"
msgstr "Omejeno"
-#: modules/printbackends/cups/gtkprintbackendcups.c:5502
+#: modules/printbackends/cups/gtkprintbackendcups.c:5555
msgctxt "cover page"
msgid "Confidential"
msgstr "Varovano"
-#: modules/printbackends/cups/gtkprintbackendcups.c:5503
+#: modules/printbackends/cups/gtkprintbackendcups.c:5556
msgctxt "cover page"
msgid "Secret"
msgstr "Tajno"
-#: modules/printbackends/cups/gtkprintbackendcups.c:5504
+#: modules/printbackends/cups/gtkprintbackendcups.c:5557
msgctxt "cover page"
msgid "Standard"
msgstr "Zaupno"
-#: modules/printbackends/cups/gtkprintbackendcups.c:5505
+#: modules/printbackends/cups/gtkprintbackendcups.c:5558
msgctxt "cover page"
msgid "Top Secret"
msgstr "Strogo zaupno"
-#: modules/printbackends/cups/gtkprintbackendcups.c:5506
+#: modules/printbackends/cups/gtkprintbackendcups.c:5559
msgctxt "cover page"
msgid "Unclassified"
msgstr "Nerazvrščeno"
@@ -8162,7 +8175,7 @@ msgstr "Nerazvrščeno"
#. Translators, this string is used to label the pages-per-sheet option
#. * in the print dialog
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:5518
+#: modules/printbackends/cups/gtkprintbackendcups.c:5571
msgctxt "printer option"
msgid "Pages per Sheet"
msgstr "Število strani na stran"
@@ -8170,7 +8183,7 @@ msgstr "Število strani na stran"
#. Translators, this string is used to label the option in the print
#. * dialog that controls in what order multiple pages are arranged
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:5535
+#: modules/printbackends/cups/gtkprintbackendcups.c:5588
msgctxt "printer option"
msgid "Page Ordering"
msgstr "Vrstni red strani"
@@ -8178,7 +8191,7 @@ msgstr "Vrstni red strani"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:5577
+#: modules/printbackends/cups/gtkprintbackendcups.c:5630
msgctxt "printer option"
msgid "Before"
msgstr "Pred"
@@ -8186,7 +8199,7 @@ msgstr "Pred"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:5592
+#: modules/printbackends/cups/gtkprintbackendcups.c:5645
msgctxt "printer option"
msgid "After"
msgstr "Po"
@@ -8195,7 +8208,7 @@ msgstr "Po"
#. * a print job is printed. Possible values are 'now', a specified time,
#. * or 'on hold'
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:5612
+#: modules/printbackends/cups/gtkprintbackendcups.c:5665
msgctxt "printer option"
msgid "Print at"
msgstr "Natisni ob"
@@ -8203,7 +8216,7 @@ msgstr "Natisni ob"
#. Translators: this is the name of the option that allows the user
#. * to specify a time when a print job will be printed.
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:5623
+#: modules/printbackends/cups/gtkprintbackendcups.c:5676
msgctxt "printer option"
msgid "Print at time"
msgstr "Natisni ob času"
@@ -8213,18 +8226,18 @@ msgstr "Natisni ob času"
#. * the width and height in points. E.g: "Custom
#. * 230.4x142.9"
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:5668
+#: modules/printbackends/cups/gtkprintbackendcups.c:5721
#, c-format
msgid "Custom %s×%s"
msgstr "Po meri %s×%s"
-#: modules/printbackends/cups/gtkprintbackendcups.c:5778
+#: modules/printbackends/cups/gtkprintbackendcups.c:5831
msgctxt "printer option"
msgid "Printer Profile"
msgstr "Profil tiskalnika"
#. TRANSLATORS: this is when color profile information is unavailable
-#: modules/printbackends/cups/gtkprintbackendcups.c:5785
+#: modules/printbackends/cups/gtkprintbackendcups.c:5838
msgctxt "printer option value"
msgid "Unavailable"
msgstr "Ni na voljo"
diff --git a/testsuite/gtk/builderparser.c b/testsuite/gtk/builderparser.c
index 4aba4db17a..0f11933509 100644
--- a/testsuite/gtk/builderparser.c
+++ b/testsuite/gtk/builderparser.c
@@ -84,6 +84,7 @@ test_parse (gconstpointer d)
GError *error = NULL;
GString *string;
+ g_test_message ("filename: %s", filename);
expected_file = get_expected_filename (filename);
string = g_string_sized_new (0);