Commit 7e64004d authored by Gabor Karsay's avatar Gabor Karsay Committed by Philip Withnall
Browse files

docs: mark macros, flags, enums with percent sign

parent 887f73d3
......@@ -5268,7 +5268,7 @@ obj_message_func (GDBusConnection *connection,
* #GVariant of incorrect type.
*
* If an existing callback is already registered at @object_path and
* @interface_name, then @error is set to #G_IO_ERROR_EXISTS.
* @interface_name, then @error is set to %G_IO_ERROR_EXISTS.
*
* GDBus automatically implements the standard D-Bus interfaces
* org.freedesktop.DBus.Properties, org.freedesktop.DBus.Introspectable
......@@ -6930,7 +6930,7 @@ subtree_message_func (GDBusConnection *connection,
*
* When handling remote calls into any node in the subtree, first the
* @enumerate function is used to check if the node exists. If the node exists
* or the #G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is set
* or the %G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is set
* the @introspection function is used to check if the node supports the
* requested method. If so, the @dispatch function is used to determine
* where to dispatch the call. The collected #GDBusInterfaceVTable and
......@@ -6942,7 +6942,7 @@ subtree_message_func (GDBusConnection *connection,
* of the thread you are calling this method from.
*
* If an existing subtree is already registered at @object_path or
* then @error is set to #G_IO_ERROR_EXISTS.
* then @error is set to %G_IO_ERROR_EXISTS.
*
* Note that it is valid to register regular objects (using
* g_dbus_connection_register_object()) in a subtree registered with
......
......@@ -588,7 +588,7 @@ g_dbus_error_get_remote_error (const GError *error)
* such that it can be recovered with g_dbus_error_get_remote_error().
*
* Otherwise, a #GError with the error code %G_IO_ERROR_DBUS_ERROR
* in the #G_IO_ERROR error domain is returned. Also, @dbus_error_name is
* in the %G_IO_ERROR error domain is returned. Also, @dbus_error_name is
* added to the error message such that it can be recovered with
* g_dbus_error_get_remote_error().
*
......
......@@ -548,12 +548,12 @@ g_dbus_gvariant_to_gvalue (GVariant *value,
* - `G_TYPE_DOUBLE`: 'd'
* - `G_TYPE_VARIANT`: Any #GVariantType
*
* This can fail if e.g. @gvalue is of type #G_TYPE_STRING and @type
* is 'i', i.e. #G_VARIANT_TYPE_INT32. It will also fail for any #GType
* (including e.g. #G_TYPE_OBJECT and #G_TYPE_BOXED derived-types) not
* This can fail if e.g. @gvalue is of type %G_TYPE_STRING and @type
* is 'i', i.e. %G_VARIANT_TYPE_INT32. It will also fail for any #GType
* (including e.g. %G_TYPE_OBJECT and %G_TYPE_BOXED derived-types) not
* in the table above.
*
* Note that if @gvalue is of type #G_TYPE_VARIANT and its value is
* Note that if @gvalue is of type %G_TYPE_VARIANT and its value is
* %NULL, the empty #GVariant instance (never %NULL) for @type is
* returned (e.g. 0 for scalar types, the empty string for string types,
* '/' for object path types, the empty array for any array type and so on).
......
......@@ -2305,7 +2305,7 @@ g_desktop_app_info_get_generic_name (GDesktopAppInfo *info)
*
* Gets the value of the NoDisplay key, which helps determine if the
* application info should be shown in menus. See
* #G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY and g_app_info_should_show().
* %G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY and g_app_info_should_show().
*
* Returns: The value of the NoDisplay key
*
......
......@@ -613,7 +613,7 @@ g_drive_poll_for_media_finish (GDrive *drive,
*
* Gets the identifier of the given kind for @drive. The only
* identifier currently available is
* #G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE.
* %G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE.
*
* Returns: (nullable) (transfer full): a newly allocated string containing the
* requested identifier, or %NULL if the #GDrive
......
......@@ -1041,7 +1041,7 @@ g_file_resolve_relative_path (GFile *file,
* "standard::*" means all attributes in the standard namespace.
* An example attribute query be "standard::*,owner::user".
* The standard attributes are available as defines, like
* #G_FILE_ATTRIBUTE_STANDARD_NAME. #G_FILE_ATTRIBUTE_STANDARD_NAME should
* %G_FILE_ATTRIBUTE_STANDARD_NAME. %G_FILE_ATTRIBUTE_STANDARD_NAME should
* always be specified if you plan to call g_file_enumerator_get_child() or
* g_file_enumerator_iterate() on the returned enumerator.
*
......@@ -1225,7 +1225,7 @@ g_file_query_exists (GFile *file,
* The primary use case of this method is to check if a file is
* a regular file, directory, or symlink.
*
* Returns: The #GFileType of the file and #G_FILE_TYPE_UNKNOWN
* Returns: The #GFileType of the file and %G_FILE_TYPE_UNKNOWN
* if the file does not exist
*
* Since: 2.18
......@@ -1274,7 +1274,7 @@ g_file_query_file_type (GFile *file,
* "standard::*" means all attributes in the standard namespace.
* An example attribute query be "standard::*,owner::user".
* The standard attributes are available as defines, like
* #G_FILE_ATTRIBUTE_STANDARD_NAME.
* %G_FILE_ATTRIBUTE_STANDARD_NAME.
*
* If @cancellable is not %NULL, then the operation can be cancelled
* by triggering the cancellable object from another thread. If the
......@@ -1283,7 +1283,7 @@ g_file_query_file_type (GFile *file,
*
* For symlinks, normally the information about the target of the
* symlink is returned, rather than information about the symlink
* itself. However if you pass #G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS
* itself. However if you pass %G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS
* in @flags the information about the symlink itself will be returned.
* Also, for symlinks that point to non-existing files the information
* about the symlink itself will be returned.
......@@ -1418,9 +1418,9 @@ g_file_query_info_finish (GFile *file,
* attributes, and a wildcard like "filesystem::*" means all attributes
* in the filesystem namespace. The standard namespace for filesystem
* attributes is "filesystem". Common attributes of interest are
* #G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem
* in bytes), #G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available),
* and #G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem).
* %G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem
* in bytes), %G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available),
* and %G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem).
*
* If @cancellable is not %NULL, then the operation can be cancelled
* by triggering the cancellable object from another thread. If the
......@@ -1710,7 +1710,7 @@ g_file_read (GFile *file,
* If the file doesn't already exist it is created.
*
* By default files created are generally readable by everyone,
* but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
* but if you pass %G_FILE_CREATE_PRIVATE in @flags the file
* will be made readable only to the current user, to the level that
* is supported on the target filesystem.
*
......@@ -1765,7 +1765,7 @@ g_file_append_to (GFile *file,
* The file must not already exist.
*
* By default files created are generally readable by everyone,
* but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
* but if you pass %G_FILE_CREATE_PRIVATE in @flags the file
* will be made readable only to the current user, to the level
* that is supported on the target filesystem.
*
......@@ -1833,7 +1833,7 @@ g_file_create (GFile *file,
* the destination when the stream is closed.
*
* By default files created are generally readable by everyone,
* but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
* but if you pass %G_FILE_CREATE_PRIVATE in @flags the file
* will be made readable only to the current user, to the level that
* is supported on the target filesystem.
*
......@@ -1964,7 +1964,7 @@ g_file_open_readwrite (GFile *file,
* writing to it. The file must not already exist.
*
* By default files created are generally readable by everyone,
* but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
* but if you pass %G_FILE_CREATE_PRIVATE in @flags the file
* will be made readable only to the current user, to the level
* that is supported on the target filesystem.
*
......@@ -2852,7 +2852,7 @@ g_file_build_attribute_list_for_copy (GFile *file,
* Normally only a subset of the file attributes are copied,
* those that are copies in a normal file copy operation
* (which for instance does not include e.g. owner). However
* if #G_FILE_COPY_ALL_METADATA is specified in @flags, then
* if %G_FILE_COPY_ALL_METADATA is specified in @flags, then
* all the metadata that is possible to copy is copied. This
* is useful when implementing move by copy + delete source.
*
......@@ -3455,14 +3455,14 @@ file_copy_fallback (GFile *source,
* Copies the file @source to the location specified by @destination.
* Can not handle recursive copies of directories.
*
* If the flag #G_FILE_COPY_OVERWRITE is specified an already
* If the flag %G_FILE_COPY_OVERWRITE is specified an already
* existing @destination file is overwritten.
*
* If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks
* If the flag %G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks
* will be copied as symlinks, otherwise the target of the
* @source symlink will be copied.
*
* If the flag #G_FILE_COPY_ALL_METADATA is specified then all the metadata
* If the flag %G_FILE_COPY_ALL_METADATA is specified then all the metadata
* that is possible to copy is copied, not just the default subset (which,
* for instance, does not include the owner, see #GFileInfo).
*
......@@ -3479,7 +3479,7 @@ file_copy_fallback (GFile *source,
* If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND error
* is returned, independent on the status of the @destination.
*
* If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then
* If %G_FILE_COPY_OVERWRITE is not specified and the target exists, then
* the error %G_IO_ERROR_EXISTS is returned.
*
* If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY
......@@ -3487,7 +3487,7 @@ file_copy_fallback (GFile *source,
* %G_IO_ERROR_WOULD_MERGE error is returned.
*
* If the source is a directory and the target does not exist, or
* #G_FILE_COPY_OVERWRITE is specified and the target is a file, then the
* %G_FILE_COPY_OVERWRITE is specified and the target is a file, then the
* %G_IO_ERROR_WOULD_RECURSE error is returned.
*
* If you are interested in copying the #GFile object itself (not the on-disk
......@@ -3667,7 +3667,7 @@ g_file_copy_finish (GFile *file,
* implementation may support moving directories (for instance on moves
* inside the same filesystem), but the fallback code does not.
*
* If the flag #G_FILE_COPY_OVERWRITE is specified an already
* If the flag %G_FILE_COPY_OVERWRITE is specified an already
* existing @destination file is overwritten.
*
* If @cancellable is not %NULL, then the operation can be cancelled by
......@@ -3683,7 +3683,7 @@ g_file_copy_finish (GFile *file,
* If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND
* error is returned, independent on the status of the @destination.
*
* If #G_FILE_COPY_OVERWRITE is not specified and the target exists,
* If %G_FILE_COPY_OVERWRITE is not specified and the target exists,
* then the error %G_IO_ERROR_EXISTS is returned.
*
* If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY
......@@ -3691,7 +3691,7 @@ g_file_copy_finish (GFile *file,
* %G_IO_ERROR_WOULD_MERGE error is returned.
*
* If the source is a directory and the target does not exist, or
* #G_FILE_COPY_OVERWRITE is specified and the target is a file, then
* %G_FILE_COPY_OVERWRITE is specified and the target is a file, then
* the %G_IO_ERROR_WOULD_RECURSE error may be returned (if the native
* move operation isn't available).
*
......@@ -4395,7 +4395,7 @@ g_file_trash_finish (GFile *file,
* for the target filesystem if possible and the @file is renamed to this.
*
* If you want to implement a rename operation in the user interface the
* edit name (#G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the
* edit name (%G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the
* initial value in the rename widget, and then the result after editing
* should be passed to g_file_set_display_name().
*
......@@ -5227,7 +5227,7 @@ g_file_unmount_mountable_finish (GFile *file,
* when the request is satisfied, or %NULL
* @user_data: (closure): the data to pass to callback function
*
* Unmounts a file of type #G_FILE_TYPE_MOUNTABLE.
* Unmounts a file of type %G_FILE_TYPE_MOUNTABLE.
*
* If @cancellable is not %NULL, then the operation can be cancelled by
* triggering the cancellable object from another thread. If the operation
......@@ -8339,7 +8339,7 @@ g_file_measure_disk_usage_finish (GFile *file,
* @callback: (nullable): a #GAsyncReadyCallback to call when the request is satisfied, or %NULL
* @user_data: the data to pass to callback function
*
* Starts a file of type #G_FILE_TYPE_MOUNTABLE.
* Starts a file of type %G_FILE_TYPE_MOUNTABLE.
* Using @start_operation, you can request callbacks when, for instance,
* passwords are needed during authentication.
*
......@@ -8431,7 +8431,7 @@ g_file_start_mountable_finish (GFile *file,
* when the request is satisfied, or %NULL
* @user_data: the data to pass to callback function
*
* Stops a file of type #G_FILE_TYPE_MOUNTABLE.
* Stops a file of type %G_FILE_TYPE_MOUNTABLE.
*
* If @cancellable is not %NULL, then the operation can be cancelled by
* triggering the cancellable object from another thread. If the operation
......@@ -8517,7 +8517,7 @@ g_file_stop_mountable_finish (GFile *file,
* when the request is satisfied, or %NULL
* @user_data: the data to pass to callback function
*
* Polls a file of type #G_FILE_TYPE_MOUNTABLE.
* Polls a file of type %G_FILE_TYPE_MOUNTABLE.
*
* If @cancellable is not %NULL, then the operation can be cancelled by
* triggering the cancellable object from another thread. If the operation
......
......@@ -721,7 +721,7 @@ g_file_enumerator_get_container (GFileEnumerator *enumerator)
* directory of @enumerator. This function is primarily intended to be used
* inside loops with g_file_enumerator_next_file().
*
* To use this, #G_FILE_ATTRIBUTE_STANDARD_NAME must have been listed in the
* To use this, %G_FILE_ATTRIBUTE_STANDARD_NAME must have been listed in the
* attributes list used when creating the #GFileEnumerator.
*
* This is a convenience method that's equivalent to:
......
......@@ -172,7 +172,7 @@ g_file_monitor_class_init (GFileMonitorClass *klass)
* that the %G_FILE_MONITOR_WATCH_MOVES flag is not in use.
*
* If using the deprecated flag %G_FILE_MONITOR_SEND_MOVED flag and @event_type is
* #G_FILE_MONITOR_EVENT_MOVED, @file will be set to a #GFile containing the
* %G_FILE_MONITOR_EVENT_MOVED, @file will be set to a #GFile containing the
* old path, and @other_file will be set to a #GFile containing the new path.
*
* In all the other cases, @other_file will be set to #NULL.
......
......@@ -392,7 +392,7 @@ typedef enum {
*
* Indicates a hint from the file system whether files should be
* previewed in a file manager. Returned as the value of the key
* #G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW.
* %G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW.
**/
typedef enum {
G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS = 0,
......@@ -522,7 +522,7 @@ typedef enum {
* }
* ]|
* but should instead treat all unrecognized error codes the same as
* #G_IO_ERROR_FAILED.
* %G_IO_ERROR_FAILED.
*
* See also #GPollableReturn for a cheaper way of returning
* %G_IO_ERROR_WOULD_BLOCK to callers without allocating a #GError.
......@@ -973,7 +973,7 @@ typedef enum
* @G_BUS_NAME_OWNER_FLAGS_NONE: No flags set.
* @G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT: Allow another message bus connection to claim the name.
* @G_BUS_NAME_OWNER_FLAGS_REPLACE: If another message bus connection owns the name and have
* specified #G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection.
* specified %G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection.
* @G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE: If another message bus connection owns the name, immediately
* return an error from g_bus_own_name() rather than entering the waiting queue for that name. (Since 2.54)
*
......
......@@ -1474,7 +1474,7 @@ g_io_extension_point_set_required_type (GIOExtensionPoint *extension_point,
* Gets the required type for @extension_point.
*
* Returns: the #GType that all implementations must have,
* or #G_TYPE_INVALID if the extension point has no required type
* or %G_TYPE_INVALID if the extension point has no required type
*/
GType
g_io_extension_point_get_required_type (GIOExtensionPoint *extension_point)
......
......@@ -545,7 +545,7 @@ g_resolver_lookup_by_name (GResolver *resolver,
*
* This differs from g_resolver_lookup_by_name() in that you can modify
* the lookup behavior with @flags. For example this can be used to limit
* results with #G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY.
* results with %G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY.
*
* Returns: (element-type GInetAddress) (transfer full): a non-empty #GList
* of #GInetAddress, or %NULL on error. You
......
......@@ -248,7 +248,7 @@
* looks for a boolean property with the name "sensitivity" and
* automatically binds it to the writability of the bound setting.
* If this 'magic' gets in the way, it can be suppressed with the
* #G_SETTINGS_BIND_NO_SENSITIVITY flag.
* %G_SETTINGS_BIND_NO_SENSITIVITY flag.
*
* ## Relocatable schemas # {#gsettings-relocatable}
*
......
......@@ -284,7 +284,7 @@ typedef gboolean (*GSettingsGetMapping) (GVarian
* @G_SETTINGS_BIND_SET: Update the setting when the #GObject property changes.
* It is an error to use this flag if the property is not readable.
* @G_SETTINGS_BIND_NO_SENSITIVITY: Do not try to bind a "sensitivity" property to the writability of the setting
* @G_SETTINGS_BIND_GET_NO_CHANGES: When set in addition to #G_SETTINGS_BIND_GET, set the #GObject property
* @G_SETTINGS_BIND_GET_NO_CHANGES: When set in addition to %G_SETTINGS_BIND_GET, set the #GObject property
* value initially from the setting, but do not listen for changes of the setting
* @G_SETTINGS_BIND_INVERT_BOOLEAN: When passed to g_settings_bind(), uses a pair of mapping functions that invert
* the boolean value when mapping between the setting and the property. The setting and property must both
......
......@@ -60,7 +60,7 @@ static gboolean g_settings_has_backend;
* non-strictly-typed data that is stored in a hierarchy. To implement
* an alternative storage backend for #GSettings, you need to implement
* the #GSettingsBackend interface and then make it implement the
* extension point #G_SETTINGS_BACKEND_EXTENSION_POINT_NAME.
* extension point %G_SETTINGS_BACKEND_EXTENSION_POINT_NAME.
*
* The interface defines methods for reading and writing values, a
* method for determining if writing of certain values will fail
......
......@@ -705,7 +705,7 @@ g_simple_async_result_take_error (GSimpleAsyncResult *simple,
/**
* g_simple_async_result_set_error_va: (skip)
* @simple: a #GSimpleAsyncResult.
* @domain: a #GQuark (usually #G_IO_ERROR).
* @domain: a #GQuark (usually %G_IO_ERROR).
* @code: an error code.
* @format: a formatted error reporting string.
* @args: va_list of arguments.
......@@ -735,7 +735,7 @@ g_simple_async_result_set_error_va (GSimpleAsyncResult *simple,
/**
* g_simple_async_result_set_error: (skip)
* @simple: a #GSimpleAsyncResult.
* @domain: a #GQuark (usually #G_IO_ERROR).
* @domain: a #GQuark (usually %G_IO_ERROR).
* @code: an error code.
* @format: a formatted error reporting string.
* @...: a list of variables to fill in @format.
......@@ -1007,7 +1007,7 @@ g_simple_async_result_is_valid (GAsyncResult *result,
* @object: (nullable): a #GObject, or %NULL.
* @callback: a #GAsyncReadyCallback.
* @user_data: user data passed to @callback.
* @domain: a #GQuark containing the error domain (usually #G_IO_ERROR).
* @domain: a #GQuark containing the error domain (usually %G_IO_ERROR).
* @code: a specific error code.
* @format: a formatted error reporting string.
* @...: a list of variables to fill in @format.
......
......@@ -2005,7 +2005,7 @@ value_free (gpointer value)
*
* Sets @task's result to @result (by copying it) and completes the task.
*
* If @result is %NULL then a #GValue of type #G_TYPE_POINTER
* If @result is %NULL then a #GValue of type %G_TYPE_POINTER
* with a value of %NULL will be used for the result.
*
* This is a very generic low-level method intended primarily for use
......
......@@ -469,7 +469,7 @@ g_tls_database_class_init (GTlsDatabaseClass *klass)
* certificate in the chain by its #GTlsCertificate:issuer property.
*
* @purpose describes the purpose (or usage) for which the certificate
* is being used. Typically @purpose will be set to #G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER
* is being used. Typically @purpose will be set to %G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER
* which means that the certificate is being used to authenticate a server
* (and we are acting as the client).
*
......
......@@ -66,13 +66,13 @@
* different kinds of identifiers, such as Hal UDIs, filesystem labels,
* traditional Unix devices (e.g. `/dev/sda2`), UUIDs. GIO uses predefined
* strings as names for the different kinds of identifiers:
* #G_VOLUME_IDENTIFIER_KIND_UUID, #G_VOLUME_IDENTIFIER_KIND_LABEL, etc.
* %G_VOLUME_IDENTIFIER_KIND_UUID, %G_VOLUME_IDENTIFIER_KIND_LABEL, etc.
* Use g_volume_get_identifier() to obtain an identifier for a volume.
*
*
* Note that #G_VOLUME_IDENTIFIER_KIND_HAL_UDI will only be available
* Note that %G_VOLUME_IDENTIFIER_KIND_HAL_UDI will only be available
* when the gvfs hal volume monitor is in use. Other volume monitors
* will generally be able to provide the #G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE
* will generally be able to provide the %G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE
* identifier, which can be used to obtain a hal device by means of
* libhal_manager_find_device_string_match().
*/
......
......@@ -416,7 +416,7 @@ test_connection_send (void)
/*
* Check that we never actually send a message if the GCancellable
* is already cancelled - i.e. we should get #G_IO_ERROR_CANCELLED
* is already cancelled - i.e. we should get G_IO_ERROR_CANCELLED
* when the actual connection is not up.
*/
ca = g_cancellable_new ();
......
......@@ -176,7 +176,7 @@ test_delivery_in_thread_func (gpointer _data)
/*
* Check that we never actually send a message if the GCancellable
* is already cancelled - i.e. we should get #G_IO_ERROR_CANCELLED
* is already cancelled - i.e. we should get G_IO_ERROR_CANCELLED
* when the actual connection is not up.
*/
ca = g_cancellable_new ();
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment