Compare commits
1 Commits
wip/alexl/
...
file-trans
Author | SHA1 | Date | |
---|---|---|---|
|
bba183ee0c |
@@ -16,7 +16,6 @@
|
||||
</columns>
|
||||
</object>
|
||||
<object class="GtkApplicationWindow" id="window">
|
||||
<style><class name="devel"/></style>
|
||||
<property name="default-width">800</property>
|
||||
<property name="default-height">600</property>
|
||||
<property name="title">GTK+ Demo</property>
|
||||
|
@@ -6,7 +6,6 @@
|
||||
<property name="child-model">store</property>
|
||||
</object>
|
||||
<template class="IconBrowserWindow" parent="GtkApplicationWindow">
|
||||
<style><class name="devel"/></style>
|
||||
<property name="title" translatable="yes">Icon Browser</property>
|
||||
<property name="default-width">1024</property>
|
||||
<property name="default-height">768</property>
|
||||
|
@@ -396,7 +396,6 @@ Suspendisse feugiat quam quis dolor accumsan cursus.</property>
|
||||
</columns>
|
||||
</object>
|
||||
<object class="GtkApplicationWindow" id="window">
|
||||
<style><class name="devel"/></style>
|
||||
<property name="title">GTK+ Widget Factory</property>
|
||||
<child type="titlebar">
|
||||
<object class="GtkHeaderBar" id="headerbar1">
|
||||
@@ -3584,4 +3583,4 @@ bad things might happen.</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
</interface>
|
@@ -1054,6 +1054,7 @@ gdk_clipboard_write_serialize_done (GObject *content,
|
||||
|
||||
g_object_unref (task);
|
||||
}
|
||||
|
||||
void
|
||||
gdk_clipboard_write_async (GdkClipboard *clipboard,
|
||||
const char *mime_type,
|
||||
@@ -1076,6 +1077,7 @@ gdk_clipboard_write_async (GdkClipboard *clipboard,
|
||||
g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable));
|
||||
g_return_if_fail (callback != NULL);
|
||||
|
||||
g_print ("clipboard write in %s\n", mime_type);
|
||||
task = g_task_new (clipboard, cancellable, callback, user_data);
|
||||
g_task_set_priority (task, io_priority);
|
||||
g_task_set_source_tag (task, gdk_clipboard_write_async);
|
||||
@@ -1232,6 +1234,7 @@ gdk_clipboard_set_content (GdkClipboard *clipboard,
|
||||
formats = gdk_content_formats_new (NULL, 0);
|
||||
}
|
||||
|
||||
g_print ("claiming clipboard for %s\n", gdk_content_formats_to_string (formats));
|
||||
result = gdk_clipboard_claim (clipboard, formats, TRUE, provider);
|
||||
|
||||
gdk_content_formats_unref (formats);
|
||||
|
@@ -22,6 +22,7 @@
|
||||
#include "gdkcontentdeserializer.h"
|
||||
|
||||
#include "gdkcontentformats.h"
|
||||
#include "gfiletransferportal.h"
|
||||
#include "gdktexture.h"
|
||||
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
@@ -690,6 +691,93 @@ string_deserializer (GdkContentDeserializer *deserializer)
|
||||
g_object_unref (filter);
|
||||
}
|
||||
|
||||
static void
|
||||
portal_finish (GObject *object,
|
||||
GAsyncResult *result,
|
||||
gpointer deserializer)
|
||||
{
|
||||
char **files = NULL;
|
||||
GError *error = NULL;
|
||||
GValue *value;
|
||||
|
||||
if (!file_transfer_portal_retrieve_files_finish (result, &files, &error))
|
||||
{
|
||||
gdk_content_deserializer_return_error (deserializer, error);
|
||||
return;
|
||||
}
|
||||
|
||||
value = gdk_content_deserializer_get_value (deserializer);
|
||||
if (G_VALUE_HOLDS (value, G_TYPE_FILE))
|
||||
{
|
||||
if (files[0] != NULL)
|
||||
g_value_take_object (value, g_file_new_for_path (files[0]));
|
||||
}
|
||||
else
|
||||
{
|
||||
GSList *l = NULL;
|
||||
gsize i;
|
||||
|
||||
for (i = 0; files[i] != NULL; i++)
|
||||
l = g_slist_prepend (l, g_file_new_for_path (files[i]));
|
||||
g_value_take_boxed (value, g_slist_reverse (l));
|
||||
}
|
||||
g_strfreev (files);
|
||||
|
||||
gdk_content_deserializer_return_success (deserializer);
|
||||
}
|
||||
|
||||
static void
|
||||
portal_file_deserializer_finish (GObject *source,
|
||||
GAsyncResult *result,
|
||||
gpointer deserializer)
|
||||
{
|
||||
GOutputStream *stream = G_OUTPUT_STREAM (source);
|
||||
GError *error = NULL;
|
||||
gssize written;
|
||||
char *key;
|
||||
|
||||
written = g_output_stream_splice_finish (stream, result, &error);
|
||||
if (written < 0)
|
||||
{
|
||||
gdk_content_deserializer_return_error (deserializer, error);
|
||||
return;
|
||||
}
|
||||
|
||||
/* write terminating NULL */
|
||||
if (!g_output_stream_write (stream, "", 1, NULL, &error))
|
||||
{
|
||||
gdk_content_deserializer_return_error (deserializer, error);
|
||||
return;
|
||||
}
|
||||
|
||||
key = g_memory_output_stream_steal_data (G_MEMORY_OUTPUT_STREAM (stream));
|
||||
if (key == NULL)
|
||||
{
|
||||
deserialize_not_found (deserializer);
|
||||
return;
|
||||
}
|
||||
|
||||
file_transfer_portal_retrieve_files (key, portal_finish, deserializer);
|
||||
gdk_content_deserializer_set_task_data (deserializer, key, g_free);
|
||||
}
|
||||
|
||||
static void
|
||||
portal_file_deserializer (GdkContentDeserializer *deserializer)
|
||||
{
|
||||
GOutputStream *output;
|
||||
|
||||
output = g_memory_output_stream_new_resizable ();
|
||||
|
||||
g_output_stream_splice_async (output,
|
||||
gdk_content_deserializer_get_input_stream (deserializer),
|
||||
G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
|
||||
gdk_content_deserializer_get_priority (deserializer),
|
||||
gdk_content_deserializer_get_cancellable (deserializer),
|
||||
portal_file_deserializer_finish,
|
||||
deserializer);
|
||||
g_object_unref (output);
|
||||
}
|
||||
|
||||
static void
|
||||
file_uri_deserializer_finish (GObject *source,
|
||||
GAsyncResult *result,
|
||||
@@ -816,11 +904,21 @@ init (void)
|
||||
|
||||
g_slist_free (formats);
|
||||
|
||||
gdk_content_register_deserializer ("application/vnd.portal.filetransfer",
|
||||
GDK_TYPE_FILE_LIST,
|
||||
portal_file_deserializer,
|
||||
NULL,
|
||||
NULL);
|
||||
gdk_content_register_deserializer ("text/uri-list",
|
||||
GDK_TYPE_FILE_LIST,
|
||||
file_uri_deserializer,
|
||||
NULL,
|
||||
NULL);
|
||||
gdk_content_register_deserializer ("application/vnd.portal.filetransfer",
|
||||
G_TYPE_FILE,
|
||||
portal_file_deserializer,
|
||||
NULL,
|
||||
NULL);
|
||||
gdk_content_register_deserializer ("text/uri-list",
|
||||
G_TYPE_FILE,
|
||||
file_uri_deserializer,
|
||||
|
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "gdkcontentformats.h"
|
||||
#include "gdkpixbuf.h"
|
||||
#include "gfiletransferportal.h"
|
||||
#include "gdktextureprivate.h"
|
||||
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
@@ -701,6 +702,62 @@ file_serializer_finish (GObject *source,
|
||||
gdk_content_serializer_return_success (serializer);
|
||||
}
|
||||
|
||||
static void
|
||||
portal_ready (GObject *object,
|
||||
GAsyncResult *result,
|
||||
gpointer serializer)
|
||||
{
|
||||
GError *error = NULL;
|
||||
char *key;
|
||||
|
||||
if (!file_transfer_portal_register_files_finish (result, &key, &error))
|
||||
{
|
||||
gdk_content_serializer_return_error (serializer, error);
|
||||
return;
|
||||
}
|
||||
|
||||
g_output_stream_write_all_async (gdk_content_serializer_get_output_stream (serializer),
|
||||
key,
|
||||
strlen (key) + 1,
|
||||
gdk_content_serializer_get_priority (serializer),
|
||||
gdk_content_serializer_get_cancellable (serializer),
|
||||
file_serializer_finish,
|
||||
serializer);
|
||||
gdk_content_serializer_set_task_data (serializer, key, g_free);
|
||||
}
|
||||
|
||||
static void
|
||||
portal_file_serializer (GdkContentSerializer *serializer)
|
||||
{
|
||||
GFile *file;
|
||||
const GValue *value;
|
||||
GPtrArray *files;
|
||||
|
||||
files = g_ptr_array_new_with_free_func (g_free);
|
||||
|
||||
value = gdk_content_serializer_get_value (serializer);
|
||||
|
||||
if (G_VALUE_HOLDS (value, G_TYPE_FILE))
|
||||
{
|
||||
file = g_value_get_object (gdk_content_serializer_get_value (serializer));
|
||||
if (file)
|
||||
g_ptr_array_add (files, g_file_get_path (file));
|
||||
g_ptr_array_add (files, NULL);
|
||||
}
|
||||
else if (G_VALUE_HOLDS (value, GDK_TYPE_FILE_LIST))
|
||||
{
|
||||
GSList *l;
|
||||
|
||||
for (l = g_value_get_boxed (value); l; l = l->next)
|
||||
g_ptr_array_add (files, g_file_get_path (l->data));
|
||||
|
||||
g_ptr_array_add (files, NULL);
|
||||
}
|
||||
|
||||
file_transfer_portal_register_files ((const char **)files->pdata, TRUE, portal_ready, serializer);
|
||||
gdk_content_serializer_set_task_data (serializer, files, (GDestroyNotify)g_ptr_array_unref);
|
||||
}
|
||||
|
||||
static void
|
||||
file_uri_serializer (GdkContentSerializer *serializer)
|
||||
{
|
||||
@@ -863,6 +920,11 @@ init (void)
|
||||
|
||||
g_slist_free (formats);
|
||||
|
||||
gdk_content_register_serializer (G_TYPE_FILE,
|
||||
"application/vnd.portal.filetransfer",
|
||||
portal_file_serializer,
|
||||
NULL,
|
||||
NULL);
|
||||
gdk_content_register_serializer (G_TYPE_FILE,
|
||||
"text/uri-list",
|
||||
file_uri_serializer,
|
||||
@@ -873,6 +935,11 @@ init (void)
|
||||
file_text_serializer,
|
||||
NULL,
|
||||
NULL);
|
||||
gdk_content_register_serializer (GDK_TYPE_FILE_LIST,
|
||||
"application/vnd.portal.filetransfer",
|
||||
portal_file_serializer,
|
||||
NULL,
|
||||
NULL);
|
||||
gdk_content_register_serializer (GDK_TYPE_FILE_LIST,
|
||||
"text/uri-list",
|
||||
file_uri_serializer,
|
||||
|
323
gdk/gfiletransferportal.c
Normal file
323
gdk/gfiletransferportal.c
Normal file
@@ -0,0 +1,323 @@
|
||||
#include "config.h"
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#include <gio/gio.h>
|
||||
#include <gio/gunixfdlist.h>
|
||||
|
||||
#include "gfiletransferportal.h"
|
||||
|
||||
static GDBusProxy *
|
||||
ensure_file_transfer_portal (void)
|
||||
{
|
||||
static GDBusProxy *proxy = NULL;
|
||||
|
||||
if (proxy == NULL)
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
||||
G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES
|
||||
| G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS
|
||||
| G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
|
||||
NULL,
|
||||
"org.freedesktop.portal.Documents",
|
||||
"/org/freedesktop/portal/documents",
|
||||
"org.freedesktop.portal.FileTransfer",
|
||||
NULL, &error);
|
||||
|
||||
if (error)
|
||||
{
|
||||
g_warning ("Failed to get proxy: %s", error->message);
|
||||
g_error_free (error);
|
||||
}
|
||||
}
|
||||
|
||||
if (proxy)
|
||||
{
|
||||
char *owner = g_dbus_proxy_get_name_owner (proxy);
|
||||
|
||||
if (owner)
|
||||
{
|
||||
g_free (owner);
|
||||
return proxy;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
GTask *task;
|
||||
const char **files;
|
||||
int len;
|
||||
int start;
|
||||
} AddFileData;
|
||||
|
||||
static void add_files (GDBusProxy *proxy,
|
||||
AddFileData *afd);
|
||||
|
||||
static void
|
||||
add_files_done (GObject *object,
|
||||
GAsyncResult *result,
|
||||
gpointer data)
|
||||
{
|
||||
GDBusProxy *proxy = G_DBUS_PROXY (object);
|
||||
AddFileData *afd = data;
|
||||
GError *error = NULL;
|
||||
GVariant *ret;
|
||||
|
||||
ret = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, NULL, result, &error);
|
||||
if (ret == NULL)
|
||||
{
|
||||
g_task_return_error (afd->task, error);
|
||||
g_object_unref (afd->task);
|
||||
g_free (afd);
|
||||
return;
|
||||
}
|
||||
|
||||
g_variant_unref (ret);
|
||||
|
||||
if (afd->start >= afd->len)
|
||||
{
|
||||
g_task_return_boolean (afd->task, TRUE);
|
||||
g_object_unref (afd->task);
|
||||
g_free (afd);
|
||||
return;
|
||||
}
|
||||
|
||||
add_files (proxy, afd);
|
||||
}
|
||||
|
||||
/* We call AddFiles in chunks of 16 to avoid running into
|
||||
* the per-message fd limit of the bus.
|
||||
*/
|
||||
static void
|
||||
add_files (GDBusProxy *proxy,
|
||||
AddFileData *afd)
|
||||
{
|
||||
GUnixFDList *fd_list;
|
||||
GVariantBuilder fds;
|
||||
int i;
|
||||
char *key;
|
||||
GVariantBuilder options;
|
||||
|
||||
g_variant_builder_init (&fds, G_VARIANT_TYPE ("ah"));
|
||||
fd_list = g_unix_fd_list_new ();
|
||||
|
||||
for (i = 0; afd->files[afd->start + i]; i++)
|
||||
{
|
||||
int fd;
|
||||
int fd_in;
|
||||
GError *error = NULL;
|
||||
|
||||
if (i == 16)
|
||||
break;
|
||||
|
||||
fd = open (afd->files[afd->start + i], O_PATH | O_CLOEXEC);
|
||||
if (fd == -1)
|
||||
{
|
||||
g_task_return_new_error (afd->task, G_IO_ERROR, g_io_error_from_errno (errno),
|
||||
"Failed to open %s", afd->files[afd->start + i]);
|
||||
g_object_unref (afd->task);
|
||||
g_free (afd);
|
||||
g_object_unref (fd_list);
|
||||
return;
|
||||
}
|
||||
fd_in = g_unix_fd_list_append (fd_list, fd, &error);
|
||||
close (fd);
|
||||
|
||||
if (fd_in == -1)
|
||||
{
|
||||
g_task_return_error (afd->task, error);
|
||||
g_object_unref (afd->task);
|
||||
g_free (afd);
|
||||
g_object_unref (fd_list);
|
||||
return;
|
||||
}
|
||||
|
||||
g_variant_builder_add (&fds, "h", fd_in);
|
||||
}
|
||||
|
||||
afd->start += 16;
|
||||
|
||||
key = (char *)g_object_get_data (G_OBJECT (afd->task), "key");
|
||||
|
||||
g_variant_builder_init (&options, G_VARIANT_TYPE_VARDICT);
|
||||
g_dbus_proxy_call_with_unix_fd_list (proxy,
|
||||
"AddFiles",
|
||||
g_variant_new ("(saha{sv})", key, &fds, &options),
|
||||
0, -1,
|
||||
fd_list,
|
||||
NULL,
|
||||
add_files_done, afd);
|
||||
|
||||
g_object_unref (fd_list);
|
||||
}
|
||||
|
||||
static void
|
||||
start_session_done (GObject *object,
|
||||
GAsyncResult *result,
|
||||
gpointer data)
|
||||
{
|
||||
GDBusProxy *proxy = G_DBUS_PROXY (object);
|
||||
AddFileData *afd = data;
|
||||
GError *error = NULL;
|
||||
GVariant *ret;
|
||||
const char *key;
|
||||
|
||||
ret = g_dbus_proxy_call_finish (proxy, result, &error);
|
||||
if (ret == NULL)
|
||||
{
|
||||
g_task_return_error (afd->task, error);
|
||||
g_object_unref (afd->task);
|
||||
g_free (afd);
|
||||
return;
|
||||
}
|
||||
|
||||
g_variant_get (ret, "(&s)", &key);
|
||||
|
||||
g_object_set_data_full (G_OBJECT (afd->task), "key", g_strdup (key), g_free);
|
||||
|
||||
g_variant_unref (ret);
|
||||
|
||||
add_files (proxy, afd);
|
||||
}
|
||||
|
||||
void
|
||||
file_transfer_portal_register_files (const char **files,
|
||||
gboolean writable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer data)
|
||||
{
|
||||
GTask *task;
|
||||
GDBusProxy *proxy;
|
||||
AddFileData *afd;
|
||||
GVariantBuilder options;
|
||||
|
||||
task = g_task_new (NULL, NULL, callback, data);
|
||||
|
||||
proxy = ensure_file_transfer_portal ();
|
||||
|
||||
if (proxy == NULL)
|
||||
{
|
||||
g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
|
||||
"No portal found");
|
||||
g_object_unref (task);
|
||||
return;
|
||||
}
|
||||
|
||||
afd = g_new (AddFileData, 1);
|
||||
afd->task = task;
|
||||
afd->files = files;
|
||||
afd->len = g_strv_length ((char **)files);
|
||||
afd->start = 0;
|
||||
|
||||
g_variant_builder_init (&options, G_VARIANT_TYPE_VARDICT);
|
||||
g_variant_builder_add (&options, "{sv}", "writable", g_variant_new_boolean (writable));
|
||||
g_variant_builder_add (&options, "{sv}", "autostop", g_variant_new_boolean (TRUE));
|
||||
|
||||
g_dbus_proxy_call (proxy, "StartTransfer",
|
||||
g_variant_new ("(a{sv})", &options),
|
||||
0, -1, NULL, start_session_done, afd);
|
||||
}
|
||||
|
||||
gboolean
|
||||
file_transfer_portal_register_files_finish (GAsyncResult *result,
|
||||
char **out_key,
|
||||
GError **error)
|
||||
{
|
||||
char *key;
|
||||
GDBusProxy *proxy;
|
||||
|
||||
key = g_object_get_data (G_OBJECT (result), "key");
|
||||
|
||||
if (g_task_propagate_boolean (G_TASK (result), error))
|
||||
{
|
||||
*out_key = g_strdup (key);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
proxy = ensure_file_transfer_portal ();
|
||||
|
||||
g_dbus_proxy_call (proxy, "StopTransfer",
|
||||
g_variant_new ("(s)", key),
|
||||
0, -1, NULL, NULL, NULL);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
retrieve_files_done (GObject *object,
|
||||
GAsyncResult *result,
|
||||
gpointer data)
|
||||
{
|
||||
GDBusProxy *proxy = G_DBUS_PROXY (object);
|
||||
GTask *task = data;
|
||||
GError *error = NULL;
|
||||
GVariant *ret;
|
||||
char **files;
|
||||
|
||||
ret = g_dbus_proxy_call_finish (proxy, result, &error);
|
||||
if (ret == NULL)
|
||||
{
|
||||
g_task_return_error (task, error);
|
||||
g_object_unref (task);
|
||||
return;
|
||||
}
|
||||
|
||||
g_variant_get (ret, "(^a&s)", &files);
|
||||
|
||||
g_object_set_data_full (G_OBJECT (task), "files", g_strdupv (files), (GDestroyNotify)g_strfreev);
|
||||
|
||||
g_variant_unref (ret);
|
||||
|
||||
g_task_return_boolean (task, TRUE);
|
||||
}
|
||||
|
||||
void
|
||||
file_transfer_portal_retrieve_files (const char *key,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer data)
|
||||
{
|
||||
GDBusProxy *proxy;
|
||||
GTask *task;
|
||||
GVariantBuilder options;
|
||||
|
||||
task = g_task_new (NULL, NULL, callback, data);
|
||||
|
||||
proxy = ensure_file_transfer_portal ();
|
||||
|
||||
if (proxy == NULL)
|
||||
{
|
||||
g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
|
||||
"No portal found");
|
||||
g_object_unref (task);
|
||||
return;
|
||||
}
|
||||
|
||||
g_variant_builder_init (&options, G_VARIANT_TYPE_VARDICT);
|
||||
g_dbus_proxy_call (proxy,
|
||||
"RetrieveFiles",
|
||||
g_variant_new ("(sa{sv})", key, &options),
|
||||
0, -1, NULL,
|
||||
retrieve_files_done, task);
|
||||
}
|
||||
|
||||
gboolean
|
||||
file_transfer_portal_retrieve_files_finish (GAsyncResult *result,
|
||||
char ***files,
|
||||
GError **error)
|
||||
{
|
||||
if (g_task_propagate_boolean (G_TASK (result), error))
|
||||
{
|
||||
*files = g_strdupv (g_object_get_data (G_OBJECT (result), "files"));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
15
gdk/gfiletransferportal.h
Normal file
15
gdk/gfiletransferportal.h
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
void file_transfer_portal_register_files (const char **files,
|
||||
gboolean writable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer data);
|
||||
gboolean file_transfer_portal_register_files_finish (GAsyncResult *result,
|
||||
char **key,
|
||||
GError **error);
|
||||
|
||||
void file_transfer_portal_retrieve_files (const char *key,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer data);
|
||||
gboolean file_transfer_portal_retrieve_files_finish (GAsyncResult *result,
|
||||
char ***files,
|
||||
GError **error);
|
@@ -19,6 +19,7 @@ gdk_public_sources = files([
|
||||
'gdkdrawcontext.c',
|
||||
'gdkdrop.c',
|
||||
'gdkevents.c',
|
||||
'gfiletransferportal.c',
|
||||
'gdkframeclock.c',
|
||||
'gdkframeclockidle.c',
|
||||
'gdkframetimings.c',
|
||||
|
@@ -57,7 +57,7 @@ for f in get_files('gesture', '.symbolic.png'):
|
||||
xml += '\n'
|
||||
|
||||
for f in get_files('ui', '.ui'):
|
||||
xml += ' <file preprocess=\'xml-stripblanks,xml-preparse\'>ui/{0}</file>\n'.format(f)
|
||||
xml += ' <file preprocess=\'xml-stripblanks\'>ui/{0}</file>\n'.format(f)
|
||||
|
||||
xml += '\n'
|
||||
|
||||
|
@@ -1063,10 +1063,10 @@ gtk_button_box_new (GtkOrientation orientation)
|
||||
* @widget: a #GtkButtonBox
|
||||
* @child: a child of @widget
|
||||
*
|
||||
* Returns whether the child is exempted from homogeneous
|
||||
* Returns whether the child is exempted from homogenous
|
||||
* sizing.
|
||||
*
|
||||
* Returns: %TRUE if the child is not subject to homogeneous sizing
|
||||
* Returns: %TRUE if the child is not subject to homogenous sizing
|
||||
*/
|
||||
gboolean
|
||||
gtk_button_box_get_child_non_homogeneous (GtkButtonBox *widget,
|
||||
@@ -1084,7 +1084,7 @@ gtk_button_box_get_child_non_homogeneous (GtkButtonBox *widget,
|
||||
* @child: a child of @widget
|
||||
* @non_homogeneous: the new value
|
||||
*
|
||||
* Sets whether the child is exempted from homogeneous sizing.
|
||||
* Sets whether the child is exempted from homogeous sizing.
|
||||
*/
|
||||
void
|
||||
gtk_button_box_set_child_non_homogeneous (GtkButtonBox *widget,
|
||||
|
@@ -1269,19 +1269,8 @@ _gtk_builder_parser_parse_buffer (GtkBuilder *builder,
|
||||
G_MARKUP_TREAT_CDATA_AS_TEXT,
|
||||
&data, NULL);
|
||||
|
||||
if (buffer[0] == 'G' &&
|
||||
buffer[1] == 'M' &&
|
||||
buffer[2] == 'U' &&
|
||||
buffer[3] == 0)
|
||||
{
|
||||
if (!g_markup_parse_context_replay (data.ctx, buffer, length, error))
|
||||
goto out;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!g_markup_parse_context_parse (data.ctx, buffer, length, error))
|
||||
goto out;
|
||||
}
|
||||
if (!g_markup_parse_context_parse (data.ctx, buffer, length, error))
|
||||
goto out;
|
||||
|
||||
_gtk_builder_finish (builder);
|
||||
if (_gtk_builder_lookup_failed (builder, error))
|
||||
|
@@ -242,13 +242,9 @@ gtk_icon_helper_paintable_snapshot (GdkPaintable *paintable,
|
||||
default:
|
||||
{
|
||||
double image_ratio = (double) width / height;
|
||||
double ratio;
|
||||
double ratio = gdk_paintable_get_intrinsic_aspect_ratio (self->paintable);
|
||||
double x, y, w, h;
|
||||
|
||||
if (self->paintable == NULL)
|
||||
break;
|
||||
|
||||
ratio = gdk_paintable_get_intrinsic_aspect_ratio (self->paintable);
|
||||
if (ratio == 0)
|
||||
{
|
||||
w = width;
|
||||
@@ -272,7 +268,7 @@ gtk_icon_helper_paintable_snapshot (GdkPaintable *paintable,
|
||||
gtk_css_style_snapshot_icon_paintable (style,
|
||||
snapshot,
|
||||
self->paintable,
|
||||
w, h,
|
||||
width, height,
|
||||
self->texture_is_symbolic);
|
||||
gtk_snapshot_offset (snapshot, -x, -y);
|
||||
}
|
||||
|
@@ -308,7 +308,7 @@ get_portal_path (GDBusConnection *connection,
|
||||
if (sender[i] == '.')
|
||||
sender[i] = '_';
|
||||
|
||||
path = g_strconcat (PORTAL_OBJECT_PATH, "/", kind, "/", sender, "/", *token, NULL);
|
||||
path = g_strconcat (PORTAL_OBJECT_PATH, "/", kind, "/", sender, "/", token, NULL);
|
||||
|
||||
g_free (sender);
|
||||
|
||||
|
@@ -60,16 +60,13 @@ gtk_render_node_paintable_paintable_snapshot (GdkPaintable *paintable,
|
||||
&transform);
|
||||
}
|
||||
|
||||
gtk_snapshot_push_clip (snapshot, &self->bounds);
|
||||
gtk_snapshot_offset (snapshot, -self->bounds.origin.x, -self->bounds.origin.y);
|
||||
|
||||
gtk_snapshot_push_clip (snapshot, &self->bounds);
|
||||
|
||||
gtk_snapshot_append_node (snapshot, self->node);
|
||||
//gtk_snapshot_append_color (snapshot, &(GdkRGBA) { 1, 0, 0, 1 }, &self->bounds);
|
||||
|
||||
gtk_snapshot_pop (snapshot);
|
||||
|
||||
gtk_snapshot_offset (snapshot, self->bounds.origin.x, self->bounds.origin.y);
|
||||
gtk_snapshot_pop (snapshot);
|
||||
|
||||
if (needs_transform)
|
||||
gtk_snapshot_pop (snapshot);
|
||||
|
@@ -686,10 +686,6 @@ window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparen
|
||||
|
||||
.titlebar:not(headerbar) > separator { background-color: #1b1f20; }
|
||||
|
||||
window.devel headerbar { background: transparent -gtk-icontheme("system-run-symbolic") 80% 0/128px 128px no-repeat, linear-gradient(to left, #2a4b6c 8%, #33393b 25%); color: rgba(238, 238, 236, 0.1); }
|
||||
|
||||
window.devel headerbar label { color: #eeeeec; }
|
||||
|
||||
/************ Pathbars * */
|
||||
.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; }
|
||||
|
||||
|
@@ -694,10 +694,6 @@ window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparen
|
||||
|
||||
.titlebar:not(headerbar) > separator { background-color: #b6b6b3; }
|
||||
|
||||
window.devel headerbar { background: transparent -gtk-icontheme("system-run-symbolic") 80% 0/128px 128px no-repeat, linear-gradient(to left, #99bce0 8%, #e8e8e7 25%); color: rgba(46, 52, 54, 0.1); }
|
||||
|
||||
window.devel headerbar label { color: #2e3436; }
|
||||
|
||||
/************ Pathbars * */
|
||||
.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; }
|
||||
|
||||
|
@@ -1040,7 +1040,7 @@ progressbar.vertical progress.pulse {
|
||||
|
||||
combobox entry {
|
||||
margin-right: calc( -2ex - -gtk-win32-part-width(combobox, 6, 1));
|
||||
background-image: -gtk-win32-theme-part(combobox, 4, 1);
|
||||
background-image: -gtk-win32-theme-part(combobox, 4, 1));
|
||||
}
|
||||
combobox entry:hover {
|
||||
background-image: -gtk-win32-theme-part(combobox, 4, 2);
|
||||
|
7943
po-properties/da.po
7943
po-properties/da.po
File diff suppressed because it is too large
Load Diff
@@ -16,8 +16,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk+-properties\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-08-31 17:25+0000\n"
|
||||
"PO-Revision-Date: 2018-08-31 19:47+0200\n"
|
||||
"POT-Creation-Date: 2018-07-29 13:14+0000\n"
|
||||
"PO-Revision-Date: 2018-07-29 20:30+0200\n"
|
||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
||||
"Language-Team: Polish <community-poland@mozilla.org>\n"
|
||||
"Language: pl\n"
|
||||
@@ -422,7 +422,7 @@ msgid "The widget to be monitored for accelerator changes"
|
||||
msgstr "Widżet monitorowana zmian skrótów"
|
||||
|
||||
#: gtk/gtkaccellabel.c:237 gtk/gtkbutton.c:226 gtk/gtkexpander.c:277
|
||||
#: gtk/gtkframe.c:167 gtk/gtklabel.c:756 gtk/gtkmenuitem.c:632
|
||||
#: gtk/gtkframe.c:167 gtk/gtklabel.c:756 gtk/gtkmenuitem.c:633
|
||||
#: gtk/gtktoolbutton.c:212
|
||||
msgid "Label"
|
||||
msgstr "Etykieta"
|
||||
@@ -432,12 +432,12 @@ msgid "The text displayed next to the accelerator"
|
||||
msgstr "Tekst wyświetlany obok skrótu"
|
||||
|
||||
#: gtk/gtkaccellabel.c:244 gtk/gtkbutton.c:233 gtk/gtkexpander.c:285
|
||||
#: gtk/gtklabel.c:777 gtk/gtkmenuitem.c:644 gtk/gtktoolbutton.c:219
|
||||
#: gtk/gtklabel.c:777 gtk/gtkmenuitem.c:645 gtk/gtktoolbutton.c:219
|
||||
msgid "Use underline"
|
||||
msgstr "Użycie podkreślenia"
|
||||
|
||||
#: gtk/gtkaccellabel.c:245 gtk/gtkbutton.c:234 gtk/gtkexpander.c:286
|
||||
#: gtk/gtklabel.c:778 gtk/gtkmenuitem.c:645
|
||||
#: gtk/gtklabel.c:778 gtk/gtkmenuitem.c:646
|
||||
msgid ""
|
||||
"If set, an underline in the text indicates the next character should be used "
|
||||
"for the mnemonic accelerator key"
|
||||
@@ -470,11 +470,11 @@ msgstr "Wartość celu działania"
|
||||
msgid "The parameter for action invocations"
|
||||
msgstr "Parametr dla wywołań działania"
|
||||
|
||||
#: gtk/gtkactionbar.c:372 gtk/gtkbox.c:236 gtk/gtkheaderbar.c:1836
|
||||
#: gtk/gtkactionbar.c:382 gtk/gtkbox.c:236 gtk/gtkheaderbar.c:1836
|
||||
msgid "Pack type"
|
||||
msgstr "Typ upakowania"
|
||||
|
||||
#: gtk/gtkactionbar.c:373 gtk/gtkbox.c:237 gtk/gtkheaderbar.c:1837
|
||||
#: gtk/gtkactionbar.c:383 gtk/gtkbox.c:237 gtk/gtkheaderbar.c:1837
|
||||
msgid ""
|
||||
"A GtkPackType indicating whether the child is packed with reference to the "
|
||||
"start or end of the parent"
|
||||
@@ -482,22 +482,22 @@ msgstr ""
|
||||
"Wartość GtkPackType określająca, czy element potomny ma być spakowany wraz "
|
||||
"z odwołaniem do początku lub końca kontrolki nadrzędnej"
|
||||
|
||||
#: gtk/gtkactionbar.c:379 gtk/gtkbox.c:243 gtk/gtkheaderbar.c:1843
|
||||
#: gtk/gtkactionbar.c:389 gtk/gtkbox.c:243 gtk/gtkheaderbar.c:1843
|
||||
#: gtk/gtknotebook.c:774 gtk/gtkpaned.c:394 gtk/gtkpopover.c:1621
|
||||
#: gtk/gtkpopovermenu.c:367 gtk/gtkstack.c:399
|
||||
msgid "Position"
|
||||
msgstr "Pozycja"
|
||||
|
||||
#: gtk/gtkactionbar.c:380 gtk/gtkbox.c:244 gtk/gtkheaderbar.c:1844
|
||||
#: gtk/gtkactionbar.c:390 gtk/gtkbox.c:244 gtk/gtkheaderbar.c:1844
|
||||
#: gtk/gtknotebook.c:775 gtk/gtkpopovermenu.c:368 gtk/gtkstack.c:400
|
||||
msgid "The index of the child in the parent"
|
||||
msgstr "Numer pozycji elementu potomnego w elemencie nadrzędnym"
|
||||
|
||||
#: gtk/gtkactionbar.c:386 gtk/gtkinfobar.c:352
|
||||
#: gtk/gtkactionbar.c:396 gtk/gtkinfobar.c:352
|
||||
msgid "Reveal"
|
||||
msgstr "Ujawnianie"
|
||||
|
||||
#: gtk/gtkactionbar.c:387
|
||||
#: gtk/gtkactionbar.c:397
|
||||
msgid "Controls whether the action bar shows its contents or not"
|
||||
msgstr "Kontroluje, czy pasek działań wyświetla swoją zawartość"
|
||||
|
||||
@@ -642,43 +642,35 @@ msgstr "Domyślny tekst widżetu"
|
||||
msgid "The default text appearing when there are no applications"
|
||||
msgstr "Domyślny tekst pojawiający się, kiedy nie ma żadnych programów"
|
||||
|
||||
#: gtk/gtkapplication.c:665
|
||||
#: gtk/gtkapplication.c:659
|
||||
msgid "Register session"
|
||||
msgstr "Rejestracja sesji"
|
||||
|
||||
#: gtk/gtkapplication.c:666
|
||||
#: gtk/gtkapplication.c:660
|
||||
msgid "Register with the session manager"
|
||||
msgstr "Rejestruje za pomocą menedżera sesji"
|
||||
|
||||
#: gtk/gtkapplication.c:683
|
||||
msgid "Screensaver Active"
|
||||
msgstr "Wygaszacz ekranu jest aktywny"
|
||||
|
||||
#: gtk/gtkapplication.c:684
|
||||
msgid "Whether the screensaver is active"
|
||||
msgstr "Określa, czy wygaszacz ekranu jest aktywny"
|
||||
|
||||
#: gtk/gtkapplication.c:690
|
||||
#: gtk/gtkapplication.c:666
|
||||
msgid "Application menu"
|
||||
msgstr "Menu programu"
|
||||
|
||||
#: gtk/gtkapplication.c:691
|
||||
#: gtk/gtkapplication.c:667
|
||||
msgid "The GMenuModel for the application menu"
|
||||
msgstr "GMenuModel dla menu programu"
|
||||
|
||||
#: gtk/gtkapplication.c:697
|
||||
#: gtk/gtkapplication.c:673
|
||||
msgid "Menubar"
|
||||
msgstr "Pasek menu"
|
||||
|
||||
#: gtk/gtkapplication.c:698
|
||||
#: gtk/gtkapplication.c:674
|
||||
msgid "The GMenuModel for the menubar"
|
||||
msgstr "GMenuModel dla paska menu"
|
||||
|
||||
#: gtk/gtkapplication.c:704
|
||||
#: gtk/gtkapplication.c:680
|
||||
msgid "Active window"
|
||||
msgstr "Aktywne okno"
|
||||
|
||||
#: gtk/gtkapplication.c:705
|
||||
#: gtk/gtkapplication.c:681
|
||||
msgid "The window which most recently had focus"
|
||||
msgstr "Ostatnie aktywne okno"
|
||||
|
||||
@@ -1210,7 +1202,7 @@ msgstr "Kolumna tekstowa"
|
||||
msgid "A column in the data source model to get the strings from"
|
||||
msgstr "Kolumna w modelu źródłowym danych, z której pobierane są napisy"
|
||||
|
||||
#: gtk/gtkcellrenderercombo.c:161 gtk/gtkcombobox.c:775
|
||||
#: gtk/gtkcellrenderercombo.c:161 gtk/gtkcombobox.c:772
|
||||
msgid "Has Entry"
|
||||
msgstr "Ma wejście"
|
||||
|
||||
@@ -1258,7 +1250,7 @@ msgstr "Wartość GtkIconSize, która określa rozmiar rysowanej ikony"
|
||||
msgid "The name of the icon from the icon theme"
|
||||
msgstr "Nazwa ikony z motywu ikon"
|
||||
|
||||
#: gtk/gtkcellrendererpixbuf.c:215 gtk/gtkimage.c:211 gtk/gtkmodelbutton.c:940
|
||||
#: gtk/gtkcellrendererpixbuf.c:215 gtk/gtkimage.c:211 gtk/gtkmodelbutton.c:964
|
||||
#: gtk/gtkshortcutsshortcut.c:585 gtk/gtkwindow.c:915
|
||||
msgid "Icon"
|
||||
msgstr "Ikona"
|
||||
@@ -1273,7 +1265,7 @@ msgstr "Wartość paska postępu"
|
||||
|
||||
#: gtk/gtkcellrendererprogress.c:152 gtk/gtkcellrenderertext.c:254
|
||||
#: gtk/gtkentrybuffer.c:351 gtk/gtkentry.c:924 gtk/gtkmessagedialog.c:198
|
||||
#: gtk/gtkmodelbutton.c:952 gtk/gtkprogressbar.c:213 gtk/gtkspinbutton.c:405
|
||||
#: gtk/gtkmodelbutton.c:976 gtk/gtkprogressbar.c:213 gtk/gtkspinbutton.c:405
|
||||
#: gtk/gtktextbuffer.c:425
|
||||
msgid "Text"
|
||||
msgstr "Tekst"
|
||||
@@ -1314,7 +1306,7 @@ msgid "The vertical text alignment, from 0 (top) to 1 (bottom)."
|
||||
msgstr "Wyrównanie pionowe, od 0 (góra) do 1 (dół)."
|
||||
|
||||
#: gtk/gtkcellrendererprogress.c:216 gtk/gtklevelbar.c:1042
|
||||
#: gtk/gtkmodelbutton.c:1006 gtk/gtkprogressbar.c:190 gtk/gtkrange.c:379
|
||||
#: gtk/gtkmodelbutton.c:1030 gtk/gtkprogressbar.c:190 gtk/gtkrange.c:379
|
||||
msgid "Inverted"
|
||||
msgstr "Odwrócony"
|
||||
|
||||
@@ -1348,8 +1340,8 @@ msgid "The number of decimal places to display"
|
||||
msgstr "Liczba wyświetlanych pozycji dziesiętnych"
|
||||
|
||||
#: gtk/gtkcellrendererspinner.c:119 gtk/gtkcheckmenuitem.c:177
|
||||
#: gtk/gtkmenu.c:600 gtk/gtkmodelbutton.c:979 gtk/gtkmodelbutton.c:980
|
||||
#: gtk/gtkspinner.c:195 gtk/gtkswitch.c:521 gtk/gtktogglebutton.c:160
|
||||
#: gtk/gtkmenu.c:600 gtk/gtkmodelbutton.c:1003 gtk/gtkmodelbutton.c:1004
|
||||
#: gtk/gtkspinner.c:199 gtk/gtkswitch.c:521 gtk/gtktogglebutton.c:160
|
||||
#: gtk/gtktoggletoolbutton.c:113
|
||||
msgid "Active"
|
||||
msgstr "Aktywny"
|
||||
@@ -1584,7 +1576,7 @@ msgstr ""
|
||||
"Sposób łamania ciągu tekstowego na wiersze w przypadku, gdy obiekt rysujący "
|
||||
"komórki nie ma miejsca na wyświetlenie go całego"
|
||||
|
||||
#: gtk/gtkcellrenderertext.c:514 gtk/gtkcombobox.c:656
|
||||
#: gtk/gtkcellrenderertext.c:514 gtk/gtkcombobox.c:653
|
||||
msgid "Wrap width"
|
||||
msgstr "Szerokość zawijania"
|
||||
|
||||
@@ -1753,7 +1745,7 @@ msgstr "Niespójny stan"
|
||||
msgid "The inconsistent state of the button"
|
||||
msgstr "Niespójny stan przycisku"
|
||||
|
||||
#: gtk/gtkcellrenderertoggle.c:155 gtk/gtklistbox.c:3421
|
||||
#: gtk/gtkcellrenderertoggle.c:155 gtk/gtklistbox.c:3413
|
||||
msgid "Activatable"
|
||||
msgstr "Można aktywować"
|
||||
|
||||
@@ -1814,19 +1806,19 @@ msgid "Whether to request enough space for every row in the model"
|
||||
msgstr ""
|
||||
"Określa, czy żądać wystarczającej ilości miejsca dla każdego rzędu w modelu"
|
||||
|
||||
#: gtk/gtkcheckbutton.c:301
|
||||
#: gtk/gtkcheckbutton.c:318
|
||||
msgid "Draw Indicator"
|
||||
msgstr "Rysowanie wskaźnika"
|
||||
|
||||
#: gtk/gtkcheckbutton.c:302
|
||||
#: gtk/gtkcheckbutton.c:319
|
||||
msgid "If the indicator part of the button is displayed"
|
||||
msgstr "Określa, czy rysowana ma być wskazująca część przycisku"
|
||||
|
||||
#: gtk/gtkcheckbutton.c:308 gtk/gtkcheckmenuitem.c:185
|
||||
#: gtk/gtkcheckbutton.c:325 gtk/gtkcheckmenuitem.c:185
|
||||
msgid "Inconsistent"
|
||||
msgstr "Niespójny"
|
||||
|
||||
#: gtk/gtkcheckbutton.c:309
|
||||
#: gtk/gtkcheckbutton.c:326
|
||||
msgid "If the check button is in an “in between” state"
|
||||
msgstr "Określa, czy przycisk zaznaczania jest w stanie „pośrednim”"
|
||||
|
||||
@@ -1903,99 +1895,99 @@ msgstr "Wyświetlanie edytora"
|
||||
msgid "Scale type"
|
||||
msgstr "Typ skalowania"
|
||||
|
||||
#: gtk/gtkcolorswatch.c:551
|
||||
#: gtk/gtkcolorswatch.c:553
|
||||
msgid "RGBA Color"
|
||||
msgstr "Kolor RGBA"
|
||||
|
||||
#: gtk/gtkcolorswatch.c:551
|
||||
#: gtk/gtkcolorswatch.c:553
|
||||
msgid "Color as RGBA"
|
||||
msgstr "Kolor jako RGBA"
|
||||
|
||||
#: gtk/gtkcolorswatch.c:554 gtk/gtklabel.c:853 gtk/gtklistbox.c:3433
|
||||
#: gtk/gtkcolorswatch.c:556 gtk/gtklabel.c:853 gtk/gtklistbox.c:3425
|
||||
msgid "Selectable"
|
||||
msgstr "Można zaznaczać"
|
||||
|
||||
#: gtk/gtkcolorswatch.c:554
|
||||
#: gtk/gtkcolorswatch.c:556
|
||||
msgid "Whether the swatch is selectable"
|
||||
msgstr "Określa, czy próbkę można zaznaczać"
|
||||
|
||||
#: gtk/gtkcolorswatch.c:557
|
||||
#: gtk/gtkcolorswatch.c:559
|
||||
msgid "Has Menu"
|
||||
msgstr "Ma menu"
|
||||
|
||||
#: gtk/gtkcolorswatch.c:557
|
||||
#: gtk/gtkcolorswatch.c:559
|
||||
msgid "Whether the swatch should offer customization"
|
||||
msgstr "Określa, czy próbkę można dostosowywać"
|
||||
|
||||
#: gtk/gtkcombobox.c:642
|
||||
#: gtk/gtkcombobox.c:639
|
||||
msgid "ComboBox model"
|
||||
msgstr "Model listy rozwijanej"
|
||||
|
||||
#: gtk/gtkcombobox.c:643
|
||||
#: gtk/gtkcombobox.c:640
|
||||
msgid "The model for the combo box"
|
||||
msgstr "Model dla pola rozwijanego"
|
||||
|
||||
#: gtk/gtkcombobox.c:657
|
||||
#: gtk/gtkcombobox.c:654
|
||||
msgid "Wrap width for laying out the items in a grid"
|
||||
msgstr "Szerokość zawijania przy układaniu elementów w siatce"
|
||||
|
||||
#: gtk/gtkcombobox.c:675 gtk/gtktreemenu.c:312
|
||||
#: gtk/gtkcombobox.c:672 gtk/gtktreemenu.c:312
|
||||
msgid "Row span column"
|
||||
msgstr "Kolumna odstępów rzędowych"
|
||||
|
||||
#: gtk/gtkcombobox.c:676 gtk/gtktreemenu.c:313
|
||||
#: gtk/gtkcombobox.c:673 gtk/gtktreemenu.c:313
|
||||
msgid "TreeModel column containing the row span values"
|
||||
msgstr "Kolumna drzewiasta zawierająca wartości odstępów rzędowych"
|
||||
|
||||
#: gtk/gtkcombobox.c:695 gtk/gtktreemenu.c:331
|
||||
#: gtk/gtkcombobox.c:692 gtk/gtktreemenu.c:331
|
||||
msgid "Column span column"
|
||||
msgstr "Kolumna odstępów kolumnowych"
|
||||
|
||||
#: gtk/gtkcombobox.c:696 gtk/gtktreemenu.c:332
|
||||
#: gtk/gtkcombobox.c:693 gtk/gtktreemenu.c:332
|
||||
msgid "TreeModel column containing the column span values"
|
||||
msgstr "Kolumna drzewiasta zawierająca wartości odstępów kolumnowych"
|
||||
|
||||
#: gtk/gtkcombobox.c:715
|
||||
#: gtk/gtkcombobox.c:712
|
||||
msgid "Active item"
|
||||
msgstr "Aktywny element"
|
||||
|
||||
#: gtk/gtkcombobox.c:716
|
||||
#: gtk/gtkcombobox.c:713
|
||||
msgid "The item which is currently active"
|
||||
msgstr "Obecnie aktywny element"
|
||||
|
||||
#: gtk/gtkcombobox.c:731 gtk/gtkentry.c:872
|
||||
#: gtk/gtkcombobox.c:728 gtk/gtkentry.c:872
|
||||
msgid "Has Frame"
|
||||
msgstr "Ma ramkę"
|
||||
|
||||
#: gtk/gtkcombobox.c:732
|
||||
#: gtk/gtkcombobox.c:729
|
||||
msgid "Whether the combo box draws a frame around the child"
|
||||
msgstr "Określa, czy pole rozwijane rysuje ramkę wokół potomka"
|
||||
|
||||
#: gtk/gtkcombobox.c:746
|
||||
#: gtk/gtkcombobox.c:743
|
||||
msgid "Popup shown"
|
||||
msgstr "Wyświetlono menu wyskakujące"
|
||||
|
||||
#: gtk/gtkcombobox.c:747
|
||||
#: gtk/gtkcombobox.c:744
|
||||
msgid "Whether the combo’s dropdown is shown"
|
||||
msgstr "Określa, czy zostało wyświetlone rozwinięcie listy rozwijanej"
|
||||
|
||||
#: gtk/gtkcombobox.c:761
|
||||
#: gtk/gtkcombobox.c:758
|
||||
msgid "Button Sensitivity"
|
||||
msgstr "Czułość przycisku"
|
||||
|
||||
#: gtk/gtkcombobox.c:762
|
||||
#: gtk/gtkcombobox.c:759
|
||||
msgid "Whether the dropdown button is sensitive when the model is empty"
|
||||
msgstr "Określa, czy przycisk rozwijany jest aktywny przy pustym modelu"
|
||||
|
||||
#: gtk/gtkcombobox.c:776
|
||||
#: gtk/gtkcombobox.c:773
|
||||
msgid "Whether combo box has an entry"
|
||||
msgstr "Określa, czy pole rozwijane ma wejście"
|
||||
|
||||
#: gtk/gtkcombobox.c:789
|
||||
#: gtk/gtkcombobox.c:786
|
||||
msgid "Entry Text Column"
|
||||
msgstr "Kolumna wprowadzania tekstu"
|
||||
|
||||
#: gtk/gtkcombobox.c:790
|
||||
#: gtk/gtkcombobox.c:787
|
||||
msgid ""
|
||||
"The column in the combo box’s model to associate with strings from the entry "
|
||||
"if the combo was created with #GtkComboBox:has-entry = %TRUE"
|
||||
@@ -2003,11 +1995,11 @@ msgstr ""
|
||||
"Kolumna w modelu pola rozwijanego do powiązania z ciągiem z wejścia, jeśli "
|
||||
"lista została utworzona z wartością #GtkComboBox:has-entry = %TRUE"
|
||||
|
||||
#: gtk/gtkcombobox.c:805
|
||||
#: gtk/gtkcombobox.c:802
|
||||
msgid "ID Column"
|
||||
msgstr "Kolumna identyfikatora"
|
||||
|
||||
#: gtk/gtkcombobox.c:806
|
||||
#: gtk/gtkcombobox.c:803
|
||||
msgid ""
|
||||
"The column in the combo box’s model that provides string IDs for the values "
|
||||
"in the model"
|
||||
@@ -2015,19 +2007,19 @@ msgstr ""
|
||||
"Kolumna w modelu pola rozwijanego dostarczająca identyfikatory napisów dla "
|
||||
"wartości w kolumnie"
|
||||
|
||||
#: gtk/gtkcombobox.c:819
|
||||
#: gtk/gtkcombobox.c:816
|
||||
msgid "Active id"
|
||||
msgstr "Aktywny identyfikator"
|
||||
|
||||
#: gtk/gtkcombobox.c:820
|
||||
#: gtk/gtkcombobox.c:817
|
||||
msgid "The value of the id column for the active row"
|
||||
msgstr "Wartość kolumny identyfikatora dla aktywnego rzędu"
|
||||
|
||||
#: gtk/gtkcombobox.c:834
|
||||
#: gtk/gtkcombobox.c:831
|
||||
msgid "Popup Fixed Width"
|
||||
msgstr "Stała szerokość menu wyskakującego"
|
||||
|
||||
#: gtk/gtkcombobox.c:835
|
||||
#: gtk/gtkcombobox.c:832
|
||||
msgid ""
|
||||
"Whether the popup’s width should be a fixed width matching the allocated "
|
||||
"width of the combo box"
|
||||
@@ -2480,7 +2472,7 @@ msgstr "Podpowiedzi dla zachowania pola tekstowego"
|
||||
msgid "A list of style attributes to apply to the text of the entry"
|
||||
msgstr "Lista atrybutów stylu stosowanych do tekstu elementu"
|
||||
|
||||
#: gtk/gtkentry.c:1366 gtk/gtkplacessidebar.c:4764 gtk/gtktextview.c:967
|
||||
#: gtk/gtkentry.c:1366 gtk/gtkplacessidebar.c:4740 gtk/gtktextview.c:967
|
||||
msgid "Populate all"
|
||||
msgstr "Umieszczanie we wszystkich"
|
||||
|
||||
@@ -2609,7 +2601,7 @@ msgstr ""
|
||||
msgid "Text of the expander’s label"
|
||||
msgstr "Tekst etykiety elementu rozwijającego"
|
||||
|
||||
#: gtk/gtkexpander.c:293 gtk/gtklabel.c:770 gtk/gtkmodelbutton.c:966
|
||||
#: gtk/gtkexpander.c:293 gtk/gtklabel.c:770 gtk/gtkmodelbutton.c:990
|
||||
msgid "Use markup"
|
||||
msgstr "Użycie znaczników"
|
||||
|
||||
@@ -2670,7 +2662,7 @@ msgstr "Filtr"
|
||||
msgid "The current filter for selecting which files are displayed"
|
||||
msgstr "Bieżący filtr służący do zaznaczania wyświetlanych plików"
|
||||
|
||||
#: gtk/gtkfilechooser.c:386 gtk/gtkplacessidebar.c:4732
|
||||
#: gtk/gtkfilechooser.c:386 gtk/gtkplacessidebar.c:4708
|
||||
#: gtk/gtkplacesview.c:2210
|
||||
msgid "Local Only"
|
||||
msgstr "Tylko lokalne"
|
||||
@@ -2770,28 +2762,28 @@ msgstr "Etykieta anulowania"
|
||||
msgid "The label on the cancel button"
|
||||
msgstr "Etykieta przycisku anulowania"
|
||||
|
||||
#: gtk/gtkfilechooserwidget.c:8340 gtk/gtkfilechooserwidget.c:8341
|
||||
#: gtk/gtkfilechooserwidget.c:8312 gtk/gtkfilechooserwidget.c:8313
|
||||
msgid "Search mode"
|
||||
msgstr "Tryb wyszukiwania"
|
||||
|
||||
#: gtk/gtkfilechooserwidget.c:8347 gtk/gtkfilechooserwidget.c:8348
|
||||
#: gtk/gtkfilechooserwidget.c:8319 gtk/gtkfilechooserwidget.c:8320
|
||||
#: gtk/gtkheaderbar.c:1857 gtk/gtkshortcutsshortcut.c:626
|
||||
msgid "Subtitle"
|
||||
msgstr "Podtytuł"
|
||||
|
||||
#: gtk/gtkfixed.c:161 gtk/gtklayout.c:499 gtk/gtktreeviewcolumn.c:268
|
||||
#: gtk/gtkfixed.c:162 gtk/gtklayout.c:499 gtk/gtktreeviewcolumn.c:268
|
||||
msgid "X position"
|
||||
msgstr "Położenie X"
|
||||
|
||||
#: gtk/gtkfixed.c:162 gtk/gtklayout.c:500
|
||||
#: gtk/gtkfixed.c:163 gtk/gtklayout.c:500
|
||||
msgid "X position of child widget"
|
||||
msgstr "Poziome położenie widżetu potomnego"
|
||||
|
||||
#: gtk/gtkfixed.c:169 gtk/gtklayout.c:509
|
||||
#: gtk/gtkfixed.c:170 gtk/gtklayout.c:509
|
||||
msgid "Y position"
|
||||
msgstr "Położenie Y"
|
||||
|
||||
#: gtk/gtkfixed.c:170 gtk/gtklayout.c:510
|
||||
#: gtk/gtkfixed.c:171 gtk/gtklayout.c:510
|
||||
msgid "Y position of child widget"
|
||||
msgstr "Pionowe położenie widżetu potomnego"
|
||||
|
||||
@@ -2805,12 +2797,12 @@ msgid "The selection mode"
|
||||
msgstr "Tryb zaznaczania"
|
||||
|
||||
#: gtk/gtkflowbox.c:3445 gtk/gtkiconview.c:618 gtk/gtklistbox.c:436
|
||||
#: gtk/gtktreeview.c:1174
|
||||
#: gtk/gtktreeview.c:1162
|
||||
msgid "Activate on Single Click"
|
||||
msgstr "Aktywowanie po pojedynczym kliknięciu"
|
||||
|
||||
#: gtk/gtkflowbox.c:3446 gtk/gtkiconview.c:619 gtk/gtklistbox.c:437
|
||||
#: gtk/gtktreeview.c:1175
|
||||
#: gtk/gtktreeview.c:1163
|
||||
msgid "Activate row on a single click"
|
||||
msgstr "Aktywowanie rzędu po pojedynczym kliknięciu"
|
||||
|
||||
@@ -3244,15 +3236,15 @@ msgid ""
|
||||
"How the text and icon of each item are positioned relative to each other"
|
||||
msgstr "Pozycjonowanie tekstu i ikony każdego elementu względem innych"
|
||||
|
||||
#: gtk/gtkiconview.c:564 gtk/gtktreeview.c:1040 gtk/gtktreeviewcolumn.c:359
|
||||
#: gtk/gtkiconview.c:564 gtk/gtktreeview.c:1028 gtk/gtktreeviewcolumn.c:359
|
||||
msgid "Reorderable"
|
||||
msgstr "Zmienny porządek"
|
||||
|
||||
#: gtk/gtkiconview.c:565 gtk/gtktreeview.c:1041
|
||||
#: gtk/gtkiconview.c:565 gtk/gtktreeview.c:1029
|
||||
msgid "View is reorderable"
|
||||
msgstr "Określa, czy możliwa jest zmiana porządku w widoku"
|
||||
|
||||
#: gtk/gtkiconview.c:572 gtk/gtktreeview.c:1160
|
||||
#: gtk/gtkiconview.c:572 gtk/gtktreeview.c:1148
|
||||
msgid "Tooltip Column"
|
||||
msgstr "Kolumna podpowiedzi"
|
||||
|
||||
@@ -3524,11 +3516,11 @@ msgstr "Odwiedzone"
|
||||
msgid "Whether this link has been visited."
|
||||
msgstr "Określa, czy ten odnośnik był odwiedzony."
|
||||
|
||||
#: gtk/gtklistbox.c:3422
|
||||
#: gtk/gtklistbox.c:3414
|
||||
msgid "Whether this row can be activated"
|
||||
msgstr "Określa, czy można aktywować ten rząd"
|
||||
|
||||
#: gtk/gtklistbox.c:3434
|
||||
#: gtk/gtklistbox.c:3426
|
||||
msgid "Whether this row can be selected"
|
||||
msgstr "Określa, czy można wybierać ten rząd"
|
||||
|
||||
@@ -3801,7 +3793,7 @@ msgstr "Grupa klawiszy skrótów"
|
||||
msgid "The accel group holding accelerators for the menu"
|
||||
msgstr "Grupa klawiszy skrótu dla menu"
|
||||
|
||||
#: gtk/gtkmenu.c:626 gtk/gtkmenuitem.c:620
|
||||
#: gtk/gtkmenu.c:626 gtk/gtkmenuitem.c:621
|
||||
msgid "Accel Path"
|
||||
msgstr "Ścieżka skrótu"
|
||||
|
||||
@@ -3899,19 +3891,19 @@ msgstr "Przyłączenie dolne"
|
||||
msgid "The row number to attach the bottom of the child to"
|
||||
msgstr "Liczba rzędów przyłączanych od dołu kontrolki potomnej"
|
||||
|
||||
#: gtk/gtkmenuitem.c:606 gtk/gtkpopovermenu.c:359
|
||||
#: gtk/gtkmenuitem.c:607 gtk/gtkpopovermenu.c:359
|
||||
msgid "Submenu"
|
||||
msgstr "Podmenu"
|
||||
|
||||
#: gtk/gtkmenuitem.c:607
|
||||
#: gtk/gtkmenuitem.c:608
|
||||
msgid "The submenu attached to the menu item, or NULL if it has none"
|
||||
msgstr "Podmenu przypisane elementowi menu lub NULL, gdy brak podmenu"
|
||||
|
||||
#: gtk/gtkmenuitem.c:621
|
||||
#: gtk/gtkmenuitem.c:622
|
||||
msgid "Sets the accelerator path of the menu item"
|
||||
msgstr "Ustawia ścieżkę skrótu z wpisu menu"
|
||||
|
||||
#: gtk/gtkmenuitem.c:633
|
||||
#: gtk/gtkmenuitem.c:634
|
||||
msgid "The text for the child label"
|
||||
msgstr "Tekst podrzędnej etykiety"
|
||||
|
||||
@@ -3976,52 +3968,52 @@ msgid "GtkBox that holds the dialog’s primary and secondary labels"
|
||||
msgstr ""
|
||||
"GtkBox przechowujący podstawowe i drugorzędne etykiety okna dialogowego"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:926
|
||||
#: gtk/gtkmodelbutton.c:950
|
||||
msgid "Role"
|
||||
msgstr "Rola"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:927
|
||||
#: gtk/gtkmodelbutton.c:951
|
||||
msgid "The role of this button"
|
||||
msgstr "Rola tego przycisku"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:941
|
||||
#: gtk/gtkmodelbutton.c:965
|
||||
msgid "The icon"
|
||||
msgstr "Ikona"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:953
|
||||
#: gtk/gtkmodelbutton.c:977
|
||||
msgid "The text"
|
||||
msgstr "Tekst"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:967
|
||||
#: gtk/gtkmodelbutton.c:991
|
||||
msgid "The text of the button includes XML markup. See pango_parse_markup()"
|
||||
msgstr ""
|
||||
"Tekst przycisku zawiera znaczniki XML. Proszę zobaczyć pango_parse_markup()"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:992
|
||||
#: gtk/gtkmodelbutton.c:1016
|
||||
msgid "Menu name"
|
||||
msgstr "Nazwa menu"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:993
|
||||
#: gtk/gtkmodelbutton.c:1017
|
||||
msgid "The name of the menu to open"
|
||||
msgstr "Nazwa menu do otwarcia"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:1007
|
||||
#: gtk/gtkmodelbutton.c:1031
|
||||
msgid "Whether the menu is a parent"
|
||||
msgstr "Określa, czy menu jest elementem nadrzędnym"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:1019
|
||||
#: gtk/gtkmodelbutton.c:1043
|
||||
msgid "Centered"
|
||||
msgstr "Wyśrodkowane"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:1020
|
||||
#: gtk/gtkmodelbutton.c:1044
|
||||
msgid "Whether to center the contents"
|
||||
msgstr "Określa, czy wyśrodkować zawartość"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:1033
|
||||
#: gtk/gtkmodelbutton.c:1057
|
||||
msgid "Iconic"
|
||||
msgstr "Ikony"
|
||||
|
||||
#: gtk/gtkmodelbutton.c:1034
|
||||
#: gtk/gtkmodelbutton.c:1058
|
||||
msgid "Whether to prefer the icon over text"
|
||||
msgstr "Określa, czy preferować ikony zamiast tekstu"
|
||||
|
||||
@@ -4338,19 +4330,19 @@ msgstr "Może być zmniejszane"
|
||||
msgid "Allow self to be smaller than contents"
|
||||
msgstr "Może być mniejsze niż zawartość"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4701
|
||||
#: gtk/gtkplacessidebar.c:4677
|
||||
msgid "Location to Select"
|
||||
msgstr "Położenie do wybrania"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4702
|
||||
#: gtk/gtkplacessidebar.c:4678
|
||||
msgid "The location to highlight in the sidebar"
|
||||
msgstr "Położenie do wyróżnienia na panelu bocznym"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4707 gtk/gtkplacesview.c:2231
|
||||
#: gtk/gtkplacessidebar.c:4683 gtk/gtkplacesview.c:2231
|
||||
msgid "Open Flags"
|
||||
msgstr "Flagi otwarcia"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4708 gtk/gtkplacesview.c:2232
|
||||
#: gtk/gtkplacessidebar.c:4684 gtk/gtkplacesview.c:2232
|
||||
msgid ""
|
||||
"Modes in which the calling application can open locations selected in the "
|
||||
"sidebar"
|
||||
@@ -4358,68 +4350,68 @@ msgstr ""
|
||||
"Tryby, w których wywołujący program może otwierać położenia wybrane na "
|
||||
"panelu bocznym"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4714
|
||||
#: gtk/gtkplacessidebar.c:4690
|
||||
msgid "Show recent files"
|
||||
msgstr "Wyświetlanie elementu „Ostatnio używane pliki”"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4715
|
||||
#: gtk/gtkplacessidebar.c:4691
|
||||
msgid "Whether the sidebar includes a builtin shortcut for recent files"
|
||||
msgstr ""
|
||||
"Określa, czy panel boczny zawiera wbudowany skrót do ostatnio używanych "
|
||||
"plików"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4720
|
||||
#: gtk/gtkplacessidebar.c:4696
|
||||
msgid "Show “Desktop”"
|
||||
msgstr "Wyświetlanie elementu „Pulpit”"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4721
|
||||
#: gtk/gtkplacessidebar.c:4697
|
||||
msgid "Whether the sidebar includes a builtin shortcut to the Desktop folder"
|
||||
msgstr "Określa, czy panel boczny zawiera wbudowany skrót do katalogu Pulpit"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4726
|
||||
#: gtk/gtkplacessidebar.c:4702
|
||||
msgid "Show “Enter Location”"
|
||||
msgstr "Wyświetlanie elementu „Wprowadź położenie”"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4727
|
||||
#: gtk/gtkplacessidebar.c:4703
|
||||
msgid ""
|
||||
"Whether the sidebar includes a builtin shortcut to manually enter a location"
|
||||
msgstr ""
|
||||
"Określa, czy panel boczny zawiera wbudowany skrót do ręcznego wprowadzania "
|
||||
"położenia"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4733 gtk/gtkplacesview.c:2211
|
||||
#: gtk/gtkplacessidebar.c:4709 gtk/gtkplacesview.c:2211
|
||||
msgid "Whether the sidebar only includes local files"
|
||||
msgstr "Określa, czy panel boczny zawiera tylko lokalne pliki"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4738
|
||||
#: gtk/gtkplacessidebar.c:4714
|
||||
msgid "Show “Trash”"
|
||||
msgstr "Wyświetlanie elementu „Kosz”"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4739
|
||||
#: gtk/gtkplacessidebar.c:4715
|
||||
msgid "Whether the sidebar includes a builtin shortcut to the Trash location"
|
||||
msgstr "Określa, czy panel boczny zawiera wbudowany skrót do kosza"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4744
|
||||
#: gtk/gtkplacessidebar.c:4720
|
||||
msgid "Show “Other locations”"
|
||||
msgstr "Wyświetlanie elementu „Inne położenia”"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4745
|
||||
#: gtk/gtkplacessidebar.c:4721
|
||||
msgid "Whether the sidebar includes an item to show external locations"
|
||||
msgstr ""
|
||||
"Określa, czy panel boczny zawiera wbudowany skrót do wyświetlania "
|
||||
"zewnętrznych położeń"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4750
|
||||
#: gtk/gtkplacessidebar.c:4726
|
||||
msgid "Show “Starred Location”"
|
||||
msgstr "Wyświetlanie elementu „Ulubione”"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4751
|
||||
#: gtk/gtkplacessidebar.c:4727
|
||||
msgid "Whether the sidebar includes an item to show starred files"
|
||||
msgstr ""
|
||||
"Określa, czy panel boczny zawiera wbudowany skrót do wyświetlania ulubionych "
|
||||
"plików"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4765
|
||||
#: gtk/gtkplacessidebar.c:4741
|
||||
msgid "Whether to emit ::populate-popup for popups that are not menus"
|
||||
msgstr ""
|
||||
"Określa, czy wysyłać sygnał ::populate-popup dla wyskakujących okien, które "
|
||||
@@ -4884,12 +4876,12 @@ msgstr ""
|
||||
"Preferowane miejsce przycięcia ciągu tekstowego w przypadku, gdy pasek "
|
||||
"postępu nie ma miejsca na wyświetlenie całego tekstu."
|
||||
|
||||
#: gtk/gtkradiobutton.c:187 gtk/gtkradiomenuitem.c:415
|
||||
#: gtk/gtkradiobutton.c:183 gtk/gtkradiomenuitem.c:415
|
||||
#: gtk/gtkradiotoolbutton.c:81
|
||||
msgid "Group"
|
||||
msgstr "Grupa"
|
||||
|
||||
#: gtk/gtkradiobutton.c:188
|
||||
#: gtk/gtkradiobutton.c:184
|
||||
msgid "The radio button whose group this widget belongs to."
|
||||
msgstr "Przycisk radiowy, do którego grupy należy ten widżet."
|
||||
|
||||
@@ -5773,7 +5765,7 @@ msgstr ""
|
||||
msgid "Reads the current value, or sets a new value"
|
||||
msgstr "Odczytuje bieżącą wartość lub ustawia nową"
|
||||
|
||||
#: gtk/gtkspinner.c:196
|
||||
#: gtk/gtkspinner.c:200
|
||||
msgid "Whether the spinner is active"
|
||||
msgstr "Określa, czy spinner jest aktywny"
|
||||
|
||||
@@ -6547,130 +6539,130 @@ msgstr "Model TreeModelSort"
|
||||
msgid "The model for the TreeModelSort to sort"
|
||||
msgstr "Model porządkowania dla TreeModelSort"
|
||||
|
||||
#: gtk/gtktreeview.c:1012
|
||||
#: gtk/gtktreeview.c:1000
|
||||
msgid "TreeView Model"
|
||||
msgstr "Model TreeView"
|
||||
|
||||
#: gtk/gtktreeview.c:1013
|
||||
#: gtk/gtktreeview.c:1001
|
||||
msgid "The model for the tree view"
|
||||
msgstr "Model dla widoku drzewa"
|
||||
|
||||
#: gtk/gtktreeview.c:1019
|
||||
#: gtk/gtktreeview.c:1007
|
||||
msgid "Headers Visible"
|
||||
msgstr "Widoczne nagłówki"
|
||||
|
||||
#: gtk/gtktreeview.c:1020
|
||||
#: gtk/gtktreeview.c:1008
|
||||
msgid "Show the column header buttons"
|
||||
msgstr "Wyświetlanie przycisków w nagłówkach kolumn"
|
||||
|
||||
#: gtk/gtktreeview.c:1026
|
||||
#: gtk/gtktreeview.c:1014
|
||||
msgid "Headers Clickable"
|
||||
msgstr "Klikalne nagłówki"
|
||||
|
||||
#: gtk/gtktreeview.c:1027
|
||||
#: gtk/gtktreeview.c:1015
|
||||
msgid "Column headers respond to click events"
|
||||
msgstr "Określa, czy nagłówki reagują na zdarzenia kliknięcia"
|
||||
|
||||
#: gtk/gtktreeview.c:1033
|
||||
#: gtk/gtktreeview.c:1021
|
||||
msgid "Expander Column"
|
||||
msgstr "Kolumna elementu rozwijającego"
|
||||
|
||||
#: gtk/gtktreeview.c:1034
|
||||
#: gtk/gtktreeview.c:1022
|
||||
msgid "Set the column for the expander column"
|
||||
msgstr "Ustawia kolumnę, w której pojawia się element rozwijający"
|
||||
|
||||
#: gtk/gtktreeview.c:1047
|
||||
#: gtk/gtktreeview.c:1035
|
||||
msgid "Enable Search"
|
||||
msgstr "Możliwe wyszukiwanie"
|
||||
|
||||
#: gtk/gtktreeview.c:1048
|
||||
#: gtk/gtktreeview.c:1036
|
||||
msgid "View allows user to search through columns interactively"
|
||||
msgstr ""
|
||||
"Określa, czy widok pozwala użytkownikowi na interaktywne przeszukiwanie "
|
||||
"kolumn"
|
||||
|
||||
#: gtk/gtktreeview.c:1054
|
||||
#: gtk/gtktreeview.c:1042
|
||||
msgid "Search Column"
|
||||
msgstr "Kolumna wyszukiwania"
|
||||
|
||||
#: gtk/gtktreeview.c:1055
|
||||
#: gtk/gtktreeview.c:1043
|
||||
msgid "Model column to search through during interactive search"
|
||||
msgstr "Kolumna modelu przeszukiwana podczas wyszukiwania interaktywnego"
|
||||
|
||||
#: gtk/gtktreeview.c:1071
|
||||
#: gtk/gtktreeview.c:1059
|
||||
msgid "Fixed Height Mode"
|
||||
msgstr "Tryb ustalonej wysokości"
|
||||
|
||||
#: gtk/gtktreeview.c:1072
|
||||
#: gtk/gtktreeview.c:1060
|
||||
msgid "Speeds up GtkTreeView by assuming that all rows have the same height"
|
||||
msgstr ""
|
||||
"Przyspiesza GtkTreeView przez założenie, że wszystkie rzędy mają taką samą "
|
||||
"wysokość"
|
||||
|
||||
#: gtk/gtktreeview.c:1089
|
||||
#: gtk/gtktreeview.c:1077
|
||||
msgid "Hover Selection"
|
||||
msgstr "Zaznaczanie wskazanego"
|
||||
|
||||
#: gtk/gtktreeview.c:1090
|
||||
#: gtk/gtktreeview.c:1078
|
||||
msgid "Whether the selection should follow the pointer"
|
||||
msgstr "Określa, czy zaznaczanie ma podążać za kursorem"
|
||||
|
||||
#: gtk/gtktreeview.c:1106
|
||||
#: gtk/gtktreeview.c:1094
|
||||
msgid "Hover Expand"
|
||||
msgstr "Rozwinięcie wskazanego"
|
||||
|
||||
#: gtk/gtktreeview.c:1107
|
||||
#: gtk/gtktreeview.c:1095
|
||||
msgid ""
|
||||
"Whether rows should be expanded/collapsed when the pointer moves over them"
|
||||
msgstr ""
|
||||
"Określa, czy rzędy mają być rozwijane/zwijane podczas przesuwania kursora "
|
||||
"nad nimi"
|
||||
|
||||
#: gtk/gtktreeview.c:1118
|
||||
#: gtk/gtktreeview.c:1106
|
||||
msgid "Show Expanders"
|
||||
msgstr "Wyświetlanie elementów rozwijających"
|
||||
|
||||
#: gtk/gtktreeview.c:1119
|
||||
#: gtk/gtktreeview.c:1107
|
||||
msgid "View has expanders"
|
||||
msgstr "Widok ma elementy rozwijające"
|
||||
|
||||
#: gtk/gtktreeview.c:1130
|
||||
#: gtk/gtktreeview.c:1118
|
||||
msgid "Level Indentation"
|
||||
msgstr "Wcięcie poziomu"
|
||||
|
||||
#: gtk/gtktreeview.c:1131
|
||||
#: gtk/gtktreeview.c:1119
|
||||
msgid "Extra indentation for each level"
|
||||
msgstr "Dodatkowe wcięcie dla każdego poziomu"
|
||||
|
||||
#: gtk/gtktreeview.c:1138
|
||||
#: gtk/gtktreeview.c:1126
|
||||
msgid "Rubber Banding"
|
||||
msgstr "Przyciąganie"
|
||||
|
||||
#: gtk/gtktreeview.c:1139
|
||||
#: gtk/gtktreeview.c:1127
|
||||
msgid ""
|
||||
"Whether to enable selection of multiple items by dragging the mouse pointer"
|
||||
msgstr ""
|
||||
"Określa, czy dopuszczalne jest zaznaczanie wielu elementów przez "
|
||||
"przeciąganie kursora myszy"
|
||||
|
||||
#: gtk/gtktreeview.c:1145
|
||||
#: gtk/gtktreeview.c:1133
|
||||
msgid "Enable Grid Lines"
|
||||
msgstr "Linie siatki"
|
||||
|
||||
#: gtk/gtktreeview.c:1146
|
||||
#: gtk/gtktreeview.c:1134
|
||||
msgid "Whether grid lines should be drawn in the tree view"
|
||||
msgstr "Określa, czy linie siatki mają być rysowane w widoku drzewiastym"
|
||||
|
||||
#: gtk/gtktreeview.c:1153
|
||||
#: gtk/gtktreeview.c:1141
|
||||
msgid "Enable Tree Lines"
|
||||
msgstr "Linie drzewa"
|
||||
|
||||
#: gtk/gtktreeview.c:1154
|
||||
#: gtk/gtktreeview.c:1142
|
||||
msgid "Whether tree lines should be drawn in the tree view"
|
||||
msgstr ""
|
||||
"Określa, czy linie gałęzi drzewa mają być rysowane w widoku drzewiastym"
|
||||
|
||||
#: gtk/gtktreeview.c:1161
|
||||
#: gtk/gtktreeview.c:1149
|
||||
msgid "The column in the model containing the tooltip texts for the rows"
|
||||
msgstr "Kolumna modelu zawierająca teksty podpowiedzi dla rzędów"
|
||||
|
||||
|
@@ -20,15 +20,59 @@
|
||||
|
||||
|
||||
void
|
||||
hello (void)
|
||||
copy (void)
|
||||
{
|
||||
g_print ("hello world\n");
|
||||
GdkClipboard *clipboard = gdk_display_get_clipboard (gdk_display_get_default ());
|
||||
GFile *file = g_file_new_for_path ("/home/mclasen/faw-sig");
|
||||
|
||||
gdk_clipboard_set (clipboard, G_TYPE_FILE, file);
|
||||
|
||||
g_object_unref (file);
|
||||
}
|
||||
|
||||
static void
|
||||
value_received (GObject *object,
|
||||
GAsyncResult *result,
|
||||
gpointer data)
|
||||
{
|
||||
const GValue *value;
|
||||
GError *error = NULL;
|
||||
GSList *l;
|
||||
|
||||
value = gdk_clipboard_read_value_finish (GDK_CLIPBOARD (object), result, &error);
|
||||
if (value == NULL)
|
||||
{
|
||||
g_print ("Failed to read: %s\n", error->message);
|
||||
g_error_free (error);
|
||||
return;
|
||||
}
|
||||
|
||||
for (l = g_value_get_boxed (value); l; l = l->next)
|
||||
g_print ("%s\n", g_file_get_path (l->data));
|
||||
}
|
||||
|
||||
void
|
||||
paste (void)
|
||||
{
|
||||
GdkClipboard *clipboard = gdk_display_get_clipboard (gdk_display_get_default ());
|
||||
|
||||
gdk_clipboard_read_value_async (clipboard, GDK_TYPE_FILE_LIST, 0, NULL, value_received, NULL);
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
clipboard_changed (GdkClipboard *clipboard)
|
||||
{
|
||||
GdkContentFormats *formats = gdk_clipboard_get_formats (clipboard);
|
||||
g_autofree char *s = gdk_content_formats_to_string (formats);
|
||||
g_print ("clipboard contents now: %s, local: %d\n", s, gdk_clipboard_is_local (clipboard));
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
GtkWidget *window, *button;
|
||||
GtkWidget *window, *button, *box;
|
||||
GdkClipboard *clipboard;
|
||||
|
||||
gtk_init ();
|
||||
|
||||
@@ -37,11 +81,22 @@ main (int argc, char *argv[])
|
||||
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
|
||||
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
|
||||
|
||||
button = gtk_button_new ();
|
||||
gtk_button_set_label (GTK_BUTTON (button), "hello world");
|
||||
g_signal_connect (button, "clicked", G_CALLBACK (hello), NULL);
|
||||
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), button);
|
||||
button = gtk_button_new ();
|
||||
gtk_button_set_label (GTK_BUTTON (button), "copy");
|
||||
g_signal_connect (button, "clicked", G_CALLBACK (copy), NULL);
|
||||
gtk_container_add (GTK_CONTAINER (box), button);
|
||||
|
||||
button = gtk_button_new ();
|
||||
gtk_button_set_label (GTK_BUTTON (button), "paste");
|
||||
g_signal_connect (button, "clicked", G_CALLBACK (paste), NULL);
|
||||
gtk_container_add (GTK_CONTAINER (box), button);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), box);
|
||||
|
||||
clipboard = gdk_display_get_clipboard (gdk_display_get_default ());
|
||||
g_signal_connect (clipboard, "changed", G_CALLBACK (clipboard_changed), NULL);
|
||||
|
||||
gtk_widget_show (window);
|
||||
|
||||
|
@@ -103,23 +103,30 @@ visible_child_changed_cb (GtkWidget *stack,
|
||||
}
|
||||
}
|
||||
|
||||
static GList *
|
||||
static GSList *
|
||||
get_file_list (const char *dir)
|
||||
{
|
||||
GFileEnumerator *enumerator;
|
||||
GFile *file;
|
||||
GList *list = NULL;
|
||||
GFileInfo *info;
|
||||
GSList *list = NULL;
|
||||
|
||||
file = g_file_new_for_path (dir);
|
||||
enumerator = g_file_enumerate_children (file, "standard::name", 0, NULL, NULL);
|
||||
enumerator = g_file_enumerate_children (file, "standard::name,standard::type", 0, NULL, NULL);
|
||||
g_object_unref (file);
|
||||
if (enumerator == NULL)
|
||||
return NULL;
|
||||
|
||||
while (g_file_enumerator_iterate (enumerator, NULL, &file, NULL, NULL) && file != NULL)
|
||||
list = g_list_prepend (list, g_object_ref (file));
|
||||
while (g_file_enumerator_iterate (enumerator, &info, &file, NULL, NULL) && file != NULL)
|
||||
{
|
||||
/* the portal can't handle directories */
|
||||
if (g_file_info_get_file_type (info) != G_FILE_TYPE_REGULAR)
|
||||
continue;
|
||||
|
||||
return g_list_reverse (list);
|
||||
list = g_slist_prepend (list, g_object_ref (file));
|
||||
}
|
||||
|
||||
return g_slist_reverse (list);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Reference in New Issue
Block a user