Compare commits
166 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 13357c0133 | |||
| 03dfefe058 | |||
| ea0ccff381 | |||
| 20db44f587 | |||
| b7cd7ca747 | |||
| dcd15354e3 | |||
| 712c8d6253 | |||
| fb1c1bdd2f | |||
| 36c94d665d | |||
| 6089c2ffac | |||
| a243b4d54a | |||
| 62f971be19 | |||
| 3b0fd46b1a | |||
| bb50b6c717 | |||
| 30967177a5 | |||
| 69f444066b | |||
| 292fe97fd5 | |||
| f8c8c33e07 | |||
| f830a5cbdd | |||
| d4373680f7 | |||
| 2c0b1eacfd | |||
| 65541f6409 | |||
| 801dfd0689 | |||
| a36d29191c | |||
| faee4bc635 | |||
| da7c2d6a02 | |||
| 2e55530725 | |||
| 9f81a4149b | |||
| 6706ac1cbb | |||
| 2552d840f3 | |||
| 022ae7c096 | |||
| 4846d3cf35 | |||
| 8bf70b2cf5 | |||
| 337b77dbcc | |||
| f352db564c | |||
| 59527d86ae | |||
| 62814c1eb2 | |||
| b32d6dc01f | |||
| d5794ab4ef | |||
| 973bf2e4a2 | |||
| 81667921be | |||
| 2b26ca7371 | |||
| a38de21ac4 | |||
| d302c2e7a4 | |||
| cde70d0ea8 | |||
| 63998cc93f | |||
| ef05d241e2 | |||
| 25876ce74a | |||
| aef8aa98a5 | |||
| 7f0b30d7d4 | |||
| 74f11d6b9c | |||
| ec2d51beb2 | |||
| 537034c2ad | |||
| 463c1e7049 | |||
| 8766709e76 | |||
| 9a0b914610 | |||
| 25cabe3945 | |||
| 2e9e739111 | |||
| 72b8e937d1 | |||
| c705d2df60 | |||
| ac35a00a5c | |||
| cea2b80f40 | |||
| aaea19ee91 | |||
| 347f4aa54b | |||
| f294563685 | |||
| b85098c819 | |||
| 77e2df6145 | |||
| ed7d5cdba3 | |||
| c76ca484d1 | |||
| 5d55191880 | |||
| 35079629a5 | |||
| a568991866 | |||
| dc35b2770b | |||
| 46667db696 | |||
| ed2ce93465 | |||
| 984e2e41dd | |||
| 0b141481d2 | |||
| 219a8448f4 | |||
| a398c1917a | |||
| 8a34428e00 | |||
| 583a7bf189 | |||
| feacd258de | |||
| f89b149eeb | |||
| 136c719997 | |||
| 9d7461370c | |||
| c3508c9fa3 | |||
| 39bc5d3b66 | |||
| 0b7d04fcdd | |||
| 423f97c3af | |||
| 4d474f4613 | |||
| dcc78e96d8 | |||
| 200aab2f7f | |||
| cfe1b0263f | |||
| 885d028c20 | |||
| 474d742a0e | |||
| 1837787ce6 | |||
| 94fecf591a | |||
| 335ede0f83 | |||
| 1dbf309359 | |||
| 16687615ed | |||
| 1bad36ae1d | |||
| 92f536b907 | |||
| 61cb32fbf9 | |||
| 07d04fb0f8 | |||
| 3a03638e2e | |||
| 53dc151e9f | |||
| 3a0f851238 | |||
| 5245908d45 | |||
| a90714c9db | |||
| d9f2ae7864 | |||
| 1a0e861fcd | |||
| 13dd7c962c | |||
| bb4a34e3c5 | |||
| dae0fb99a4 | |||
| b9930902f3 | |||
| f357d3a42c | |||
| 643d1d9541 | |||
| aec3295cda | |||
| 74083e18e1 | |||
| dd6ef4339b | |||
| f25e41499c | |||
| f32cd8137e | |||
| 0ea3e674c1 | |||
| 3ad6d77d45 | |||
| d28a438dbf | |||
| 02c5953102 | |||
| f093c0c169 | |||
| c0c72b1d40 | |||
| 1ab90ebb17 | |||
| 6312dba24b | |||
| edac0e6c40 | |||
| c6c92aa71b | |||
| 919ab92ac1 | |||
| 4504a7a626 | |||
| 3c76649503 | |||
| 1bbb7555f0 | |||
| a4374fdcbc | |||
| 7349549cdf | |||
| b92c802621 | |||
| 828fcdac2c | |||
| dd1460b707 | |||
| a72782b29a | |||
| 8a0f5159a1 | |||
| d9dd5776e9 | |||
| a2f0b74020 | |||
| e2078e0309 | |||
| ebd04b8a1d | |||
| 44b575443d | |||
| fa3d04e556 | |||
| 794584b13c | |||
| e1c51092df | |||
| a3e247cdbb | |||
| 5f209cd4c1 | |||
| 605ad379c9 | |||
| 73c64b4b67 | |||
| ba247df40c | |||
| 9bb4be9586 | |||
| 51484b1223 | |||
| 6d8b6bd1bb | |||
| 923bd15a53 | |||
| 09be79aaae | |||
| 9b748d864e | |||
| ff4a4b2c9c | |||
| 1639960a86 | |||
| df726fde83 | |||
| cf3913b089 |
@@ -1,3 +1,101 @@
|
||||
Overview of Changes in GTK+ 3.6.5
|
||||
=================================
|
||||
|
||||
* Bug fixes:
|
||||
669808 fullscreen/unscreen was broken for Quartz on OS X
|
||||
672271 File chooser seems over-enthusiastic about using sub...
|
||||
687066 gtk 3.6.1 fails to build for win32
|
||||
688534 gdk 3.6.2 does not build with mesa 9.0.1
|
||||
691426 get_current_desktop does not interpret property data...
|
||||
691515 Insufficient checks for EWMH support
|
||||
691572 Touch: strengthen synthesized touch crossing events...
|
||||
694742 Fix possible memory leak when GlobalAlloc() fails
|
||||
694755 When clicking Activities, sometimes gnome-shell cras...
|
||||
695278 Avoid passing a NULL title to setTitle
|
||||
695312 Initial 'text' set in the non-numeric-only GtkSpinBu...
|
||||
696171 GtkAssistant highlighted font unreadable
|
||||
696202 Add GtkSpinner animation back to Win32 theme
|
||||
win32: add more width to the slider to not cut it wh...
|
||||
win32: add margin to scale trough
|
||||
win32: set color for scale marks
|
||||
win32: scale slider with marks was off by 2 pixels
|
||||
win32: handle again gtk-font-name
|
||||
|
||||
|
||||
* Translation updates:
|
||||
Brazlian Portuguese
|
||||
Catalan
|
||||
Czech
|
||||
French
|
||||
Galician
|
||||
German
|
||||
Hungarian
|
||||
Indonesian
|
||||
Interlingua
|
||||
Lithuanian
|
||||
Polish
|
||||
Serbian
|
||||
Slovenian
|
||||
Spanish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.6.4
|
||||
=================================
|
||||
|
||||
* Bug fixes:
|
||||
691186 stylecontext: Make font hack not crash
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.6.3
|
||||
=================================
|
||||
|
||||
* The Wayland backend works with Wayland 1.0.0 now
|
||||
|
||||
|
||||
* Bug fixes:
|
||||
132333 Can't add a palette to the dialog of a color button
|
||||
371034 Doc for gtk_file_chooser_get_filename: Is the resulting...
|
||||
548793 funny pattern for iterating GtkTreeModel
|
||||
577806 gtk_file_chooser_add_shortcut_folder adds duplicates of...
|
||||
626499 GtkClipboard unnotified on change of OS X pasteboard owner
|
||||
668239 texts disappear when notebook switch page at zh_CN locate!
|
||||
672193 windows (including menus) shown multiple times don't ge...
|
||||
677339 GTK+ 3 documentation wrong about GtkWidget scroll-event...
|
||||
683072 Print dialog shows cryptic status message and displays ...
|
||||
687065 InstallableOptions is not filtered in cups backend
|
||||
687816 GtkTreeView does not draw correctly since commit aaedc7b6
|
||||
688710 [PATCH] Splash screens shouldn't stay on top of all app...
|
||||
688884 Typo in gtk_tree_view_set_tooltip_column documentation
|
||||
689235 Broken function declarations corrupt the stack on windows
|
||||
690266 Freeze with F10/Shift-F10 on submenus
|
||||
Win32: Avoid infinite recursion in the ime input module
|
||||
Quartz: Fixes for splashscreen and tooltip windows
|
||||
|
||||
* Translation updates:
|
||||
Dutch
|
||||
German
|
||||
Gujarati
|
||||
Tamil
|
||||
Uyghur
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.6.2
|
||||
=================================
|
||||
|
||||
* Bug fixes:
|
||||
677609 GtkSizeGroup regression in GTK+ 3.3.20
|
||||
686021 spinner animation should not be subject to...
|
||||
686265 scrolledwindow: set GDK_EXPOSURE_MASK on t...
|
||||
686280 GtkScrollbar and GtkScale rendering broken...
|
||||
687196 filesystemmodel: invalidate nodes on file ...
|
||||
687467 Commit "Implement proper cross-fades for g...
|
||||
687872 Segfault when attempting to get character ...
|
||||
|
||||
* Translation updates:
|
||||
Irish
|
||||
Traditional Chinese
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.6.1
|
||||
=================================
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<CopyDir>$(GlibEtcInstallRoot)</CopyDir>
|
||||
<DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
|
||||
<GtkApiVersion>3.0</GtkApiVersion>
|
||||
<GtkBinaryVersion>2.10.0</GtkBinaryVersion>
|
||||
<GtkBinaryVersion>3.0.0</GtkBinaryVersion>
|
||||
<GtkDummyPrefix>\"/dummy\"</GtkDummyPrefix>
|
||||
<GtkPrefixDefine>GTK_PREFIX="\"$(GtkDummyPrefix)\""</GtkPrefixDefine>
|
||||
<GdkDefines>GDK_COMPILATION;G_LOG_DOMAIN="\"Gdk\""</GdkDefines>
|
||||
|
||||
@@ -41,7 +41,7 @@ copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h

|
||||
/>
|
||||
<UserMacro
|
||||
Name="GtkBinaryVersion"
|
||||
Value="2.10.0"
|
||||
Value="3.0.0"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GtkDummyPrefix"
|
||||
|
||||
+18
-5
@@ -10,8 +10,8 @@
|
||||
|
||||
m4_define([gtk_major_version], [3])
|
||||
m4_define([gtk_minor_version], [6])
|
||||
m4_define([gtk_micro_version], [2])
|
||||
m4_define([gtk_interface_age], [2])
|
||||
m4_define([gtk_micro_version], [6])
|
||||
m4_define([gtk_interface_age], [6])
|
||||
m4_define([gtk_binary_age],
|
||||
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
|
||||
m4_define([gtk_version],
|
||||
@@ -324,7 +324,8 @@ AC_ARG_ENABLE(quartz-relocation,
|
||||
AC_ARG_ENABLE(wayland-cairo-gl,
|
||||
AS_HELP_STRING([--enable-wayland-cairo-gl],
|
||||
[enable the use of Cairo GL in the Wayland backend]),
|
||||
[enable_wayland_cairo_gl=yes])
|
||||
[],
|
||||
[enable_wayland_cairo_gl=no])
|
||||
|
||||
|
||||
cairo_backends=
|
||||
@@ -407,7 +408,7 @@ if test "x$enable_wayland_backend" = "xyes"; then
|
||||
have_gio_unix=yes
|
||||
GDK_WINDOWING="$GDK_WINDOWING
|
||||
#define GDK_WINDOWING_WAYLAND"
|
||||
WAYLAND_PACKAGES="wayland-client xkbcommon wayland-cursor"
|
||||
WAYLAND_PACKAGES="wayland-client >= 1.0.0 xkbcommon >= 0.2.0 wayland-cursor"
|
||||
if test "x$enable_wayland_cairo_gl" = "xyes"; then
|
||||
WAYLAND_PACKAGES="$WAYLAND_PACKAGES wayland-egl egl"
|
||||
fi
|
||||
@@ -714,7 +715,6 @@ AM_PATH_GLIB_2_0(glib_required_version, :,
|
||||
*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
|
||||
gobject gmodule-no-export)
|
||||
|
||||
dnl
|
||||
dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
|
||||
dnl
|
||||
gtk_save_LIBS=$LIBS
|
||||
@@ -748,6 +748,19 @@ else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
#
|
||||
# Disable deprecation checks for all libraries we depend on on stable branches.
|
||||
# This is so newer versions of those libraries don't cause more warnings with
|
||||
# a stable GTK version.
|
||||
# We don't ever want to turn off deprecation warnings for master however, because
|
||||
# that's where we get rid of deprecated API we use.
|
||||
#
|
||||
if test m4_eval(gtk_minor_version % 2) = 0 ; then
|
||||
AC_DEFINE_UNQUOTED(GLIB_DISABLE_DEPRECATION_WARNINGS, 1,
|
||||
[Disable deprecation warnings from glib])
|
||||
fi
|
||||
|
||||
dnl
|
||||
saved_cflags="$CFLAGS"
|
||||
saved_ldflags="$LDFLAGS"
|
||||
|
||||
|
||||
+2
-1
@@ -985,7 +985,8 @@ switch_to_pointer_grab (GdkDisplay *display,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
if (pointer_window != last_grab->window)
|
||||
if (!info->need_touch_press_enter &&
|
||||
pointer_window != last_grab->window)
|
||||
synthesize_crossing_events (display, device, source_device,
|
||||
last_grab->window, pointer_window,
|
||||
GDK_CROSSING_UNGRAB, time, serial);
|
||||
|
||||
+3
-1
@@ -8367,10 +8367,12 @@ send_crossing_event (GdkDisplay *display,
|
||||
window_event_mask = window->event_mask;
|
||||
|
||||
if (type == GDK_ENTER_NOTIFY &&
|
||||
pointer_info->need_touch_press_enter &&
|
||||
(pointer_info->need_touch_press_enter ||
|
||||
gdk_device_get_source (source_device) == GDK_SOURCE_TOUCHSCREEN) &&
|
||||
mode != GDK_CROSSING_TOUCH_BEGIN &&
|
||||
mode != GDK_CROSSING_TOUCH_END)
|
||||
{
|
||||
pointer_info->need_touch_press_enter = TRUE;
|
||||
block_event = TRUE;
|
||||
}
|
||||
else if (type == GDK_LEAVE_NOTIFY)
|
||||
|
||||
@@ -141,6 +141,38 @@
|
||||
return inMove;
|
||||
}
|
||||
|
||||
-(void)checkSendEnterNotify
|
||||
{
|
||||
GdkWindow *window = [[self contentView] gdkWindow];
|
||||
GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl);
|
||||
|
||||
/* When a new window has been created, and the mouse
|
||||
* is in the window area, we will not receive an NSMouseEntered
|
||||
* event. Therefore, we synthesize an enter notify event manually.
|
||||
*/
|
||||
if (!initialPositionKnown)
|
||||
{
|
||||
initialPositionKnown = YES;
|
||||
|
||||
if (NSPointInRect ([NSEvent mouseLocation], [self frame]))
|
||||
{
|
||||
NSEvent *event;
|
||||
|
||||
event = [NSEvent enterExitEventWithType: NSMouseEntered
|
||||
location: [self mouseLocationOutsideOfEventStream]
|
||||
modifierFlags: 0
|
||||
timestamp: [[NSApp currentEvent] timestamp]
|
||||
windowNumber: [impl->toplevel windowNumber]
|
||||
context: NULL
|
||||
eventNumber: 0
|
||||
trackingNumber: [impl->view trackingRect]
|
||||
userData: nil];
|
||||
|
||||
[NSApp postEvent:event atStart:NO];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-(void)windowDidMove:(NSNotification *)aNotification
|
||||
{
|
||||
GdkWindow *window = [[self contentView] gdkWindow];
|
||||
@@ -157,6 +189,8 @@
|
||||
event->configure.height = window->height;
|
||||
|
||||
_gdk_event_queue_append (gdk_display_get_default (), event);
|
||||
|
||||
[self checkSendEnterNotify];
|
||||
}
|
||||
|
||||
-(void)windowDidResize:(NSNotification *)aNotification
|
||||
@@ -186,6 +220,8 @@
|
||||
event->configure.height = window->height;
|
||||
|
||||
_gdk_event_queue_append (gdk_display_get_default (), event);
|
||||
|
||||
[self checkSendEnterNotify];
|
||||
}
|
||||
|
||||
-(id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)styleMask backing:(NSBackingStoreType)backingType defer:(BOOL)flag screen:(NSScreen *)screen
|
||||
@@ -283,6 +319,8 @@
|
||||
[impl->toplevel orderFront:nil];
|
||||
|
||||
inShowOrHide = NO;
|
||||
|
||||
[self checkSendEnterNotify];
|
||||
}
|
||||
|
||||
- (void)hide
|
||||
@@ -293,6 +331,8 @@
|
||||
inShowOrHide = YES;
|
||||
[impl->toplevel orderOut:nil];
|
||||
inShowOrHide = NO;
|
||||
|
||||
initialPositionKnown = NO;
|
||||
}
|
||||
|
||||
- (BOOL)trackManualMove
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
@interface GdkQuartzNSWindow : NSWindow {
|
||||
BOOL inMove;
|
||||
BOOL inShowOrHide;
|
||||
BOOL initialPositionKnown;
|
||||
|
||||
/* Manually triggered move/resize (not by the window manager) */
|
||||
BOOL inManualMove;
|
||||
|
||||
@@ -167,15 +167,6 @@
|
||||
owner:self
|
||||
userData:nil
|
||||
assumeInside:NO];
|
||||
|
||||
if (NSPointInRect ([[self window] convertScreenToBase:[NSEvent mouseLocation]], rect))
|
||||
{
|
||||
/* When a new window (and thus view) has been created, and the mouse
|
||||
* is in the window area, we will not receive an NSMouseEntered
|
||||
* event. Therefore, we synthesize an enter notify event manually.
|
||||
*/
|
||||
_gdk_quartz_events_send_enter_notify_event (gdk_window);
|
||||
}
|
||||
}
|
||||
|
||||
-(void)viewDidMoveToWindow
|
||||
|
||||
@@ -401,34 +401,89 @@ get_window_point_from_screen_point (GdkWindow *window,
|
||||
*y = window->height - point.y;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
is_mouse_button_press_event (NSEventType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case NSLeftMouseDown:
|
||||
case NSRightMouseDown:
|
||||
case NSOtherMouseDown:
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static GdkWindow *
|
||||
get_toplevel_from_ns_event (NSEvent *nsevent,
|
||||
NSPoint *screen_point,
|
||||
gint *x,
|
||||
gint *y)
|
||||
{
|
||||
GdkWindow *toplevel;
|
||||
GdkWindow *toplevel = NULL;
|
||||
|
||||
if ([nsevent window])
|
||||
{
|
||||
GdkQuartzView *view;
|
||||
NSPoint point;
|
||||
NSPoint point, view_point;
|
||||
NSRect view_frame;
|
||||
|
||||
view = (GdkQuartzView *)[[nsevent window] contentView];
|
||||
|
||||
toplevel = [view gdkWindow];
|
||||
|
||||
point = [nsevent locationInWindow];
|
||||
*screen_point = [[nsevent window] convertBaseToScreen:point];
|
||||
view_point = [view convertPoint:point fromView:nil];
|
||||
view_frame = [view frame];
|
||||
|
||||
*x = point.x;
|
||||
*y = toplevel->height - point.y;
|
||||
/* NSEvents come in with a window set, but with window coordinates
|
||||
* out of window bounds. For e.g. moved events this is fine, we use
|
||||
* this information to properly handle enter/leave notify and motion
|
||||
* events. For mouse button press/release, we want to avoid forwarding
|
||||
* these events however, because the window they relate to is not the
|
||||
* window set in the event. This situation appears to occur when button
|
||||
* presses come in just before (or just after?) a window is resized and
|
||||
* also when a button press occurs on the OS X window titlebar.
|
||||
*
|
||||
* By setting toplevel to NULL, we do another attempt to get the right
|
||||
* toplevel window below.
|
||||
*/
|
||||
if (is_mouse_button_press_event ([nsevent type]) &&
|
||||
(view_point.x < view_frame.origin.x ||
|
||||
view_point.x >= view_frame.origin.x + view_frame.size.width ||
|
||||
view_point.y < view_frame.origin.y ||
|
||||
view_point.y >= view_frame.origin.y + view_frame.size.height))
|
||||
{
|
||||
toplevel = NULL;
|
||||
|
||||
/* This is a hack for button presses to break all grabs. E.g. if
|
||||
* a menu is open and one clicks on the title bar (or anywhere
|
||||
* out of window bounds), we really want to pop down the menu (by
|
||||
* breaking the grabs) before OS X handles the action of the title
|
||||
* bar button.
|
||||
*
|
||||
* Because we cannot ingest this event into GDK, we have to do it
|
||||
* here, not very nice.
|
||||
*/
|
||||
_gdk_quartz_events_break_all_grabs (get_time_from_ns_event (nsevent));
|
||||
}
|
||||
else
|
||||
{
|
||||
*screen_point = [[nsevent window] convertBaseToScreen:point];
|
||||
|
||||
*x = point.x;
|
||||
*y = toplevel->height - point.y;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
if (!toplevel)
|
||||
{
|
||||
/* Fallback used when no NSWindow set. This happens e.g. when
|
||||
* we allow motion events without a window set in gdk_event_translate()
|
||||
* that occur immediately after the main menu bar was clicked/used.
|
||||
* This fallback will not return coordinates contained in a window's
|
||||
* titlebar.
|
||||
*/
|
||||
*screen_point = [NSEvent mouseLocation];
|
||||
toplevel = find_toplevel_under_pointer (_gdk_display,
|
||||
@@ -475,7 +530,7 @@ generate_motion_event (GdkWindow *window)
|
||||
|
||||
event->any.type = GDK_MOTION_NOTIFY;
|
||||
event->motion.window = window;
|
||||
event->motion.time = GDK_CURRENT_TIME;
|
||||
event->motion.time = get_time_from_ns_event ([NSApp currentEvent]);
|
||||
event->motion.x = x;
|
||||
event->motion.y = y;
|
||||
event->motion.x_root = x_root;
|
||||
@@ -534,39 +589,6 @@ _gdk_quartz_events_update_focus_window (GdkWindow *window,
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_quartz_events_send_enter_notify_event (GdkWindow *window)
|
||||
{
|
||||
NSPoint screen_point;
|
||||
GdkEvent *event;
|
||||
gint x, y, x_root, y_root;
|
||||
|
||||
event = gdk_event_new (GDK_ENTER_NOTIFY);
|
||||
event->any.window = NULL;
|
||||
event->any.send_event = FALSE;
|
||||
|
||||
screen_point = [NSEvent mouseLocation];
|
||||
|
||||
_gdk_quartz_window_nspoint_to_gdk_xy (screen_point, &x_root, &y_root);
|
||||
get_window_point_from_screen_point (window, screen_point, &x, &y);
|
||||
|
||||
event->crossing.window = window;
|
||||
event->crossing.subwindow = NULL;
|
||||
event->crossing.time = GDK_CURRENT_TIME;
|
||||
event->crossing.x = x;
|
||||
event->crossing.y = y;
|
||||
event->crossing.x_root = x_root;
|
||||
event->crossing.y_root = y_root;
|
||||
event->crossing.mode = GDK_CROSSING_NORMAL;
|
||||
event->crossing.detail = GDK_NOTIFY_ANCESTOR;
|
||||
event->crossing.state = _gdk_quartz_events_get_current_keyboard_modifiers () |
|
||||
_gdk_quartz_events_get_current_mouse_modifiers ();
|
||||
|
||||
gdk_event_set_device (event, _gdk_display->core_pointer);
|
||||
|
||||
append_event (event, TRUE);
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_quartz_events_send_map_event (GdkWindow *window)
|
||||
{
|
||||
@@ -600,6 +622,18 @@ find_toplevel_under_pointer (GdkDisplay *display,
|
||||
if (toplevel && WINDOW_IS_TOPLEVEL (toplevel))
|
||||
get_window_point_from_screen_point (toplevel, screen_point, x, y);
|
||||
|
||||
if (toplevel)
|
||||
{
|
||||
/* If the coordinates are out of window bounds, this toplevel is not
|
||||
* under the pointer and we thus return NULL. This can occur when
|
||||
* toplevel under pointer has not yet been updated due to a very recent
|
||||
* window resize. Alternatively, we should no longer be relying on
|
||||
* the toplevel_under_pointer value which is maintained in gdkwindow.c.
|
||||
*/
|
||||
if (*x < 0 || *y < 0 || *x >= toplevel->width || *y >= toplevel->height)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return toplevel;
|
||||
}
|
||||
|
||||
@@ -772,6 +806,8 @@ find_window_for_ns_event (NSEvent *nsevent,
|
||||
view = (GdkQuartzView *)[[nsevent window] contentView];
|
||||
|
||||
toplevel = get_toplevel_from_ns_event (nsevent, &screen_point, x, y);
|
||||
if (!toplevel)
|
||||
return NULL;
|
||||
_gdk_quartz_window_nspoint_to_gdk_xy (screen_point, x_root, y_root);
|
||||
|
||||
event_type = [nsevent type];
|
||||
@@ -1085,8 +1121,9 @@ synthesize_crossing_event (GdkWindow *window,
|
||||
switch ([nsevent type])
|
||||
{
|
||||
case NSMouseEntered:
|
||||
/* Enter events are considered always to be from the root window as we
|
||||
* can't know for sure from what window we enter.
|
||||
/* Enter events are considered always to be from another toplevel
|
||||
* window, this shouldn't negatively affect any app or gtk code,
|
||||
* and is the only way to make GtkMenu work. EEK EEK EEK.
|
||||
*/
|
||||
if (!(window->event_mask & GDK_ENTER_NOTIFY_MASK))
|
||||
return FALSE;
|
||||
@@ -1096,14 +1133,11 @@ synthesize_crossing_event (GdkWindow *window,
|
||||
x_root, y_root,
|
||||
GDK_ENTER_NOTIFY,
|
||||
GDK_CROSSING_NORMAL,
|
||||
GDK_NOTIFY_ANCESTOR);
|
||||
GDK_NOTIFY_NONLINEAR);
|
||||
return TRUE;
|
||||
|
||||
case NSMouseExited:
|
||||
/* Exited always is to the root window as far as we are concerned,
|
||||
* since there is no way to reliably get information about what new
|
||||
* window is entered when exiting one.
|
||||
*/
|
||||
/* See above */
|
||||
if (!(window->event_mask & GDK_LEAVE_NOTIFY_MASK))
|
||||
return FALSE;
|
||||
|
||||
@@ -1112,7 +1146,7 @@ synthesize_crossing_event (GdkWindow *window,
|
||||
x_root, y_root,
|
||||
GDK_LEAVE_NOTIFY,
|
||||
GDK_CROSSING_NORMAL,
|
||||
GDK_NOTIFY_ANCESTOR);
|
||||
GDK_NOTIFY_NONLINEAR);
|
||||
return TRUE;
|
||||
|
||||
default:
|
||||
@@ -1309,9 +1343,9 @@ gdk_event_translate (GdkEvent *event,
|
||||
}
|
||||
|
||||
/* Also when in a manual resize, we ignore events so that these are
|
||||
* pushed to GdkQuartzWindow's sendEvent handler.
|
||||
* pushed to GdkQuartzNSWindow's sendEvent handler.
|
||||
*/
|
||||
if ([(GdkQuartzWindow *)nswindow isInManualResize])
|
||||
if ([(GdkQuartzNSWindow *)nswindow isInManualResize])
|
||||
return FALSE;
|
||||
|
||||
/* Find the right GDK window to send the event to, taking grabs and
|
||||
@@ -1439,7 +1473,8 @@ gdk_event_translate (GdkEvent *event,
|
||||
if (dx != 0.0 || dy != 0.0)
|
||||
{
|
||||
#ifdef AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
|
||||
if (gdk_quartz_osx_version() >= GDK_OSX_LION &[nsevent hasPreciseScrollingDeltas])
|
||||
if (gdk_quartz_osx_version() >= GDK_OSX_LION &&
|
||||
[nsevent hasPreciseScrollingDeltas])
|
||||
{
|
||||
GdkEvent *emulated_event;
|
||||
|
||||
|
||||
@@ -28,9 +28,14 @@ GdkWindow *_gdk_root = NULL;
|
||||
GdkOSXVersion
|
||||
gdk_quartz_osx_version (void)
|
||||
{
|
||||
gint minor;
|
||||
OSErr err = Gestalt (gestaltSystemVersionMinor, &minor);
|
||||
g_return_val_if_fail (err == noErr, GDK_OSX_UNSUPPORTED);
|
||||
static gint32 minor = GDK_OSX_UNSUPPORTED;
|
||||
|
||||
if (minor == GDK_OSX_UNSUPPORTED)
|
||||
{
|
||||
OSErr err = Gestalt (gestaltSystemVersionMinor, (SInt32*)&minor);
|
||||
|
||||
g_return_val_if_fail (err == noErr, GDK_OSX_UNSUPPORTED);
|
||||
}
|
||||
|
||||
if (minor < GDK_OSX_MIN)
|
||||
return GDK_OSX_UNSUPPORTED;
|
||||
|
||||
@@ -176,7 +176,7 @@ const static struct {
|
||||
{ 67, GDK_KEY_asterisk, GDK_KEY_KP_Multiply },
|
||||
{ 69, GDK_KEY_plus, GDK_KEY_KP_Add },
|
||||
{ 75, GDK_KEY_slash, GDK_KEY_KP_Divide },
|
||||
{ 76, 0x01000003, GDK_KEY_KP_Enter },
|
||||
{ 76, GDK_KEY_Return, GDK_KEY_KP_Enter },
|
||||
{ 78, GDK_KEY_minus, GDK_KEY_KP_Subtract },
|
||||
{ 81, GDK_KEY_equal, GDK_KEY_KP_Equal },
|
||||
{ 82, GDK_KEY_0, GDK_KEY_KP_0 },
|
||||
|
||||
@@ -64,7 +64,6 @@ void _gdk_quartz_events_send_map_event (GdkWindow *window);
|
||||
GdkModifierType _gdk_quartz_events_get_current_keyboard_modifiers (void);
|
||||
GdkModifierType _gdk_quartz_events_get_current_mouse_modifiers (void);
|
||||
|
||||
void _gdk_quartz_events_send_enter_notify_event (GdkWindow *window);
|
||||
void _gdk_quartz_events_break_all_grabs (guint32 time);
|
||||
|
||||
/* Event loop */
|
||||
|
||||
@@ -48,7 +48,8 @@ typedef enum
|
||||
GDK_OSX_LEOPARD = 5,
|
||||
GDK_OSX_SNOW_LEOPARD = 6,
|
||||
GDK_OSX_LION = 7,
|
||||
GDK_OSX_CURRENT = 7,
|
||||
GDK_OSX_MOUNTAIN_LION = 8,
|
||||
GDK_OSX_CURRENT = 8,
|
||||
GDK_OSX_NEW = 99
|
||||
} GdkOSXVersion;
|
||||
|
||||
|
||||
@@ -2315,28 +2315,31 @@ gdk_quartz_window_focus (GdkWindow *window,
|
||||
}
|
||||
}
|
||||
|
||||
static
|
||||
gint window_type_hint_to_level (GdkWindowTypeHint hint)
|
||||
static gint
|
||||
window_type_hint_to_level (GdkWindowTypeHint hint)
|
||||
{
|
||||
/* the order in this switch statement corresponds to the actual
|
||||
* stacking order: the first group is top, the last group is bottom
|
||||
*/
|
||||
switch (hint)
|
||||
{
|
||||
case GDK_WINDOW_TYPE_HINT_DOCK:
|
||||
case GDK_WINDOW_TYPE_HINT_UTILITY:
|
||||
return NSFloatingWindowLevel;
|
||||
case GDK_WINDOW_TYPE_HINT_POPUP_MENU:
|
||||
case GDK_WINDOW_TYPE_HINT_COMBO:
|
||||
case GDK_WINDOW_TYPE_HINT_DND:
|
||||
case GDK_WINDOW_TYPE_HINT_TOOLTIP:
|
||||
return NSPopUpMenuWindowLevel;
|
||||
|
||||
case GDK_WINDOW_TYPE_HINT_NOTIFICATION:
|
||||
case GDK_WINDOW_TYPE_HINT_SPLASHSCREEN:
|
||||
return NSStatusWindowLevel;
|
||||
|
||||
case GDK_WINDOW_TYPE_HINT_MENU: /* Torn-off menu */
|
||||
case GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU: /* Menu from menubar */
|
||||
return NSTornOffMenuWindowLevel;
|
||||
|
||||
case GDK_WINDOW_TYPE_HINT_NOTIFICATION:
|
||||
case GDK_WINDOW_TYPE_HINT_TOOLTIP:
|
||||
return NSStatusWindowLevel;
|
||||
|
||||
case GDK_WINDOW_TYPE_HINT_SPLASHSCREEN:
|
||||
case GDK_WINDOW_TYPE_HINT_POPUP_MENU:
|
||||
case GDK_WINDOW_TYPE_HINT_COMBO:
|
||||
case GDK_WINDOW_TYPE_HINT_DND:
|
||||
return NSPopUpMenuWindowLevel;
|
||||
case GDK_WINDOW_TYPE_HINT_DOCK:
|
||||
case GDK_WINDOW_TYPE_HINT_UTILITY:
|
||||
return NSFloatingWindowLevel;
|
||||
|
||||
case GDK_WINDOW_TYPE_HINT_NORMAL: /* Normal toplevel window */
|
||||
case GDK_WINDOW_TYPE_HINT_DIALOG: /* Dialog window */
|
||||
@@ -2351,7 +2354,7 @@ gint window_type_hint_to_level (GdkWindowTypeHint hint)
|
||||
return NSNormalWindowLevel;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static gboolean
|
||||
window_type_hint_to_shadow (GdkWindowTypeHint hint)
|
||||
{
|
||||
switch (hint)
|
||||
@@ -2381,13 +2384,31 @@ window_type_hint_to_shadow (GdkWindowTypeHint hint)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
window_type_hint_to_hides_on_deactivate (GdkWindowTypeHint hint)
|
||||
{
|
||||
switch (hint)
|
||||
{
|
||||
case GDK_WINDOW_TYPE_HINT_UTILITY:
|
||||
case GDK_WINDOW_TYPE_HINT_MENU: /* Torn-off menu */
|
||||
case GDK_WINDOW_TYPE_HINT_SPLASHSCREEN:
|
||||
case GDK_WINDOW_TYPE_HINT_NOTIFICATION:
|
||||
case GDK_WINDOW_TYPE_HINT_TOOLTIP:
|
||||
return TRUE;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_quartz_window_set_type_hint (GdkWindow *window,
|
||||
GdkWindowTypeHint hint)
|
||||
{
|
||||
GdkWindowImplQuartz *impl;
|
||||
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (window) ||
|
||||
!WINDOW_IS_TOPLEVEL (window))
|
||||
return;
|
||||
@@ -2402,6 +2423,7 @@ gdk_quartz_window_set_type_hint (GdkWindow *window,
|
||||
|
||||
[impl->toplevel setHasShadow: window_type_hint_to_shadow (hint)];
|
||||
[impl->toplevel setLevel: window_type_hint_to_level (hint)];
|
||||
[impl->toplevel setHidesOnDeactivate: window_type_hint_to_hides_on_deactivate (hint)];
|
||||
}
|
||||
|
||||
static GdkWindowTypeHint
|
||||
@@ -2583,7 +2605,7 @@ gdk_quartz_window_set_decorations (GdkWindow *window,
|
||||
{
|
||||
NSRect rect;
|
||||
|
||||
old_view = [impl->toplevel contentView];
|
||||
old_view = [[impl->toplevel contentView] retain];
|
||||
|
||||
rect = [impl->toplevel frame];
|
||||
|
||||
@@ -2602,33 +2624,67 @@ gdk_quartz_window_set_decorations (GdkWindow *window,
|
||||
rect = [NSWindow contentRectForFrameRect:rect styleMask:old_mask];
|
||||
}
|
||||
|
||||
/* Note, before OS 10.6 there doesn't seem to be a way to change this without
|
||||
* recreating the toplevel. There might be bad side-effects of doing
|
||||
* that, but it seems alright.
|
||||
/* Note, before OS 10.6 there doesn't seem to be a way to change this
|
||||
* without recreating the toplevel. From 10.6 onward, a simple call to
|
||||
* setStyleMask takes care of most of this, except for ensuring that the
|
||||
* title is set.
|
||||
*/
|
||||
if ([impl->toplevel respondsToSelector:@selector(setStyleMask:)])
|
||||
{
|
||||
NSString *title = [impl->toplevel title];
|
||||
|
||||
[(id<CanSetStyleMask>)impl->toplevel setStyleMask:new_mask];
|
||||
|
||||
/* It appears that unsetting and then resetting NSTitledWindowMask
|
||||
* does not reset the title in the title bar as might be expected.
|
||||
*
|
||||
* In theory we only need to set this if new_mask includes
|
||||
* NSTitledWindowMask. This behaved extremely oddly when
|
||||
* conditionalized upon that and since it has no side effects (i.e.
|
||||
* if NSTitledWindowMask is not requested, the title will not be
|
||||
* displayed) just do it unconditionally. We also must null check
|
||||
* 'title' before setting it to avoid crashing.
|
||||
*/
|
||||
if (title)
|
||||
[impl->toplevel setTitle:title];
|
||||
}
|
||||
else
|
||||
{
|
||||
[impl->toplevel release];
|
||||
NSString *title = [impl->toplevel title];
|
||||
NSColor *bg = [impl->toplevel backgroundColor];
|
||||
NSScreen *screen = [impl->toplevel screen];
|
||||
|
||||
/* Make sure the old window is closed, recall that releasedWhenClosed
|
||||
* is set on GdkQuartzWindows.
|
||||
*/
|
||||
[impl->toplevel close];
|
||||
|
||||
impl->toplevel = [[GdkQuartzNSWindow alloc] initWithContentRect:rect
|
||||
styleMask:new_mask
|
||||
backing:NSBackingStoreBuffered
|
||||
defer:NO];
|
||||
defer:NO
|
||||
screen:screen];
|
||||
[impl->toplevel setHasShadow: window_type_hint_to_shadow (impl->type_hint)];
|
||||
[impl->toplevel setLevel: window_type_hint_to_level (impl->type_hint)];
|
||||
if (title)
|
||||
[impl->toplevel setTitle:title];
|
||||
[impl->toplevel setBackgroundColor:bg];
|
||||
[impl->toplevel setHidesOnDeactivate: window_type_hint_to_hides_on_deactivate (impl->type_hint)];
|
||||
[impl->toplevel setContentView:old_view];
|
||||
}
|
||||
|
||||
[impl->toplevel setFrame:rect display:YES];
|
||||
if (new_mask == NSBorderlessWindowMask)
|
||||
[impl->toplevel setContentSize:rect.size];
|
||||
else
|
||||
[impl->toplevel setFrame:rect display:YES];
|
||||
|
||||
/* Invalidate the window shadow for non-opaque views that have shadow
|
||||
* enabled, to get the shadow shape updated.
|
||||
*/
|
||||
if (![old_view isOpaque] && [impl->toplevel hasShadow])
|
||||
[(GdkQuartzView*)old_view setNeedsInvalidateShadow:YES];
|
||||
|
||||
[old_view release];
|
||||
}
|
||||
|
||||
GDK_QUARTZ_RELEASE_POOL;
|
||||
@@ -2817,6 +2873,7 @@ static void
|
||||
gdk_quartz_window_fullscreen (GdkWindow *window)
|
||||
{
|
||||
FullscreenSavedGeometry *geometry;
|
||||
GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl);
|
||||
NSRect frame;
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (window) ||
|
||||
@@ -2842,10 +2899,14 @@ gdk_quartz_window_fullscreen (GdkWindow *window)
|
||||
|
||||
gdk_window_set_decorations (window, 0);
|
||||
|
||||
frame = [[NSScreen mainScreen] frame];
|
||||
frame = [[impl->toplevel screen] frame];
|
||||
move_resize_window_internal (window,
|
||||
0, 0,
|
||||
frame.size.width, frame.size.height);
|
||||
[impl->toplevel setContentSize:frame.size];
|
||||
[impl->toplevel makeKeyAndOrderFront:impl->toplevel];
|
||||
|
||||
clear_toplevel_order ();
|
||||
}
|
||||
|
||||
SetSystemUIMode (kUIModeAllHidden, kUIOptionAutoShowMenuBar);
|
||||
@@ -2856,6 +2917,7 @@ gdk_quartz_window_fullscreen (GdkWindow *window)
|
||||
static void
|
||||
gdk_quartz_window_unfullscreen (GdkWindow *window)
|
||||
{
|
||||
GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl);
|
||||
FullscreenSavedGeometry *geometry;
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (window) ||
|
||||
@@ -2877,6 +2939,9 @@ gdk_quartz_window_unfullscreen (GdkWindow *window)
|
||||
|
||||
g_object_set_data (G_OBJECT (window), FULLSCREEN_DATA, NULL);
|
||||
|
||||
[impl->toplevel makeKeyAndOrderFront:impl->toplevel];
|
||||
clear_toplevel_order ();
|
||||
|
||||
gdk_synthesize_window_state (window, GDK_WINDOW_STATE_FULLSCREEN, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,6 +183,7 @@ gdk_device_core_set_window_cursor (GdkDevice *device,
|
||||
x, y);
|
||||
wl_surface_attach (wd->pointer_surface, buffer, 0, 0);
|
||||
wl_surface_damage (wd->pointer_surface, 0, 0, w, h);
|
||||
wl_surface_commit(wd->pointer_surface);
|
||||
|
||||
g_object_unref (cursor);
|
||||
}
|
||||
@@ -1240,14 +1241,14 @@ static GdkModifierType
|
||||
get_modifier (struct xkb_state *state)
|
||||
{
|
||||
GdkModifierType modifiers = 0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, XKB_MOD_NAME_SHIFT, XKB_STATE_EFFECTIVE) > 0)?GDK_SHIFT_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, XKB_MOD_NAME_CAPS, XKB_STATE_EFFECTIVE) > 0)?GDK_LOCK_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, XKB_MOD_NAME_CTRL, XKB_STATE_EFFECTIVE) > 0)?GDK_CONTROL_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, XKB_MOD_NAME_ALT, XKB_STATE_EFFECTIVE) > 0)?GDK_MOD1_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, "Mod2", XKB_STATE_EFFECTIVE) > 0)?GDK_MOD2_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, "Mod3", XKB_STATE_EFFECTIVE) > 0)?GDK_MOD3_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, XKB_MOD_NAME_LOGO, XKB_STATE_EFFECTIVE) > 0)?GDK_MOD4_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, "Mod5", XKB_STATE_EFFECTIVE) > 0)?GDK_MOD5_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, XKB_MOD_NAME_SHIFT, XKB_STATE_MODS_EFFECTIVE) > 0)?GDK_SHIFT_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, XKB_MOD_NAME_CAPS, XKB_STATE_MODS_EFFECTIVE) > 0)?GDK_LOCK_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, XKB_MOD_NAME_CTRL, XKB_STATE_MODS_EFFECTIVE) > 0)?GDK_CONTROL_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, XKB_MOD_NAME_ALT, XKB_STATE_MODS_EFFECTIVE) > 0)?GDK_MOD1_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, "Mod2", XKB_STATE_MODS_EFFECTIVE) > 0)?GDK_MOD2_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, "Mod3", XKB_STATE_MODS_EFFECTIVE) > 0)?GDK_MOD3_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, XKB_MOD_NAME_LOGO, XKB_STATE_MODS_EFFECTIVE) > 0)?GDK_MOD4_MASK:0;
|
||||
modifiers |= (xkb_state_mod_name_is_active (state, "Mod5", XKB_STATE_MODS_EFFECTIVE) > 0)?GDK_MOD5_MASK:0;
|
||||
|
||||
return modifiers;
|
||||
}
|
||||
@@ -1324,16 +1325,11 @@ deliver_key_event(GdkWaylandDevice *device,
|
||||
struct xkb_state *xkb_state;
|
||||
GdkKeymap *keymap;
|
||||
xkb_keysym_t sym;
|
||||
uint32_t num_syms;
|
||||
const xkb_keysym_t *syms;
|
||||
|
||||
keymap = device->keymap;
|
||||
xkb_state = _gdk_wayland_keymap_get_xkb_state (keymap);
|
||||
|
||||
num_syms = xkb_key_get_syms (xkb_state, key, &syms);
|
||||
sym = XKB_KEY_NoSymbol;
|
||||
if (num_syms == 1)
|
||||
sym = syms[0];
|
||||
sym = xkb_state_key_get_one_sym (xkb_state, key);
|
||||
|
||||
device->time = time;
|
||||
device->modifiers = get_modifier (xkb_state);
|
||||
|
||||
@@ -96,7 +96,8 @@ static void
|
||||
output_handle_geometry(void *data,
|
||||
struct wl_output *wl_output,
|
||||
int x, int y, int physical_width, int physical_height,
|
||||
int subpixel, const char *make, const char *model)
|
||||
int subpixel, const char *make, const char *model,
|
||||
int32_t transform)
|
||||
{
|
||||
/*
|
||||
g_signal_emit_by_name (screen, "monitors-changed");
|
||||
@@ -119,8 +120,8 @@ static const struct wl_output_listener output_listener = {
|
||||
};
|
||||
|
||||
static void
|
||||
gdk_display_handle_global(struct wl_display *display, uint32_t id,
|
||||
const char *interface, uint32_t version, void *data)
|
||||
gdk_registry_handle_global(void *data, struct wl_registry *registry, uint32_t id,
|
||||
const char *interface, uint32_t version)
|
||||
{
|
||||
GdkWaylandDisplay *display_wayland = data;
|
||||
GdkDisplay *gdk_display = GDK_DISPLAY_OBJECT (data);
|
||||
@@ -128,27 +129,29 @@ gdk_display_handle_global(struct wl_display *display, uint32_t id,
|
||||
|
||||
if (strcmp(interface, "wl_compositor") == 0) {
|
||||
display_wayland->compositor =
|
||||
wl_display_bind(display, id, &wl_compositor_interface);
|
||||
wl_registry_bind(display_wayland->wl_registry, id, &wl_compositor_interface, 1);
|
||||
} else if (strcmp(interface, "wl_shm") == 0) {
|
||||
display_wayland->shm = wl_display_bind(display, id, &wl_shm_interface);
|
||||
display_wayland->shm =
|
||||
wl_registry_bind(display_wayland->wl_registry, id, &wl_shm_interface, 1);
|
||||
|
||||
/* SHM interface is prerequisite */
|
||||
_gdk_wayland_display_load_cursor_theme(display_wayland);
|
||||
} else if (strcmp(interface, "wl_shell") == 0) {
|
||||
display_wayland->shell = wl_display_bind(display, id, &wl_shell_interface);
|
||||
display_wayland->shell =
|
||||
wl_registry_bind(display_wayland->wl_registry, id, &wl_shell_interface, 1);
|
||||
} else if (strcmp(interface, "wl_output") == 0) {
|
||||
display_wayland->output =
|
||||
wl_display_bind(display, id, &wl_output_interface);
|
||||
wl_registry_bind(display_wayland->wl_registry, id, &wl_output_interface, 1);
|
||||
wl_output_add_listener(display_wayland->output,
|
||||
&output_listener, display_wayland);
|
||||
} else if (strcmp(interface, "wl_seat") == 0) {
|
||||
seat = wl_display_bind (display, id, &wl_seat_interface);
|
||||
seat = wl_registry_bind(display_wayland->wl_registry, id, &wl_seat_interface, 1);
|
||||
_gdk_wayland_device_manager_add_device (gdk_display->device_manager,
|
||||
seat);
|
||||
} else if (strcmp(interface, "wl_data_device_manager") == 0) {
|
||||
display_wayland->data_device_manager =
|
||||
wl_display_bind(display, id,
|
||||
&wl_data_device_manager_interface);
|
||||
wl_registry_bind(display_wayland->wl_registry, id,
|
||||
&wl_data_device_manager_interface, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -210,6 +213,10 @@ gdk_display_init_egl(GdkDisplay *display)
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct wl_registry_listener registry_listener = {
|
||||
gdk_registry_handle_global
|
||||
};
|
||||
|
||||
GdkDisplay *
|
||||
_gdk_wayland_display_open (const gchar *display_name)
|
||||
{
|
||||
@@ -231,14 +238,13 @@ _gdk_wayland_display_open (const gchar *display_name)
|
||||
display->device_manager = _gdk_wayland_device_manager_new (display);
|
||||
|
||||
/* Set up listener so we'll catch all events. */
|
||||
wl_display_add_global_listener(display_wayland->wl_display,
|
||||
gdk_display_handle_global, display_wayland);
|
||||
display_wayland->wl_registry = wl_display_get_registry(display_wayland->wl_display);
|
||||
wl_registry_add_listener(display_wayland->wl_registry, ®istry_listener, display_wayland);
|
||||
|
||||
#ifdef GDK_WAYLAND_USE_EGL
|
||||
gdk_display_init_egl(display);
|
||||
#else
|
||||
wl_display_iterate(wl_display, WL_DISPLAY_READABLE);
|
||||
wl_display_roundtrip(wl_display);
|
||||
wl_display_dispatch(display_wayland->wl_display);
|
||||
#endif
|
||||
|
||||
display_wayland->event_source =
|
||||
@@ -351,8 +357,7 @@ gdk_wayland_display_flush (GdkDisplay *display)
|
||||
g_return_if_fail (GDK_IS_DISPLAY (display));
|
||||
|
||||
if (!display->closed)
|
||||
_gdk_wayland_display_flush (display,
|
||||
GDK_WAYLAND_DISPLAY (display)->event_source);
|
||||
wl_display_flush(GDK_WAYLAND_DISPLAY (display)->wl_display);;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
||||
@@ -76,6 +76,7 @@ struct _GdkWaylandDisplay
|
||||
|
||||
/* Wayland fields below */
|
||||
struct wl_display *wl_display;
|
||||
struct wl_registry *wl_registry;
|
||||
struct wl_compositor *compositor;
|
||||
struct wl_shm *shm;
|
||||
struct wl_shell *shell;
|
||||
|
||||
@@ -136,7 +136,7 @@ gdk_wayland_display_manager_lookup_keyval (GdkDisplayManager *manager,
|
||||
{
|
||||
g_return_val_if_fail (keyval_name != NULL, 0);
|
||||
|
||||
return xkb_keysym_from_name(keyval_name);
|
||||
return xkb_keysym_from_name (keyval_name, 0);
|
||||
}
|
||||
|
||||
static gchar *
|
||||
|
||||
@@ -44,8 +44,7 @@ gdk_event_source_prepare(GSource *base, gint *timeout)
|
||||
if (_gdk_event_queue_find_first (source->display) != NULL)
|
||||
return TRUE;
|
||||
|
||||
while (source->mask & WL_DISPLAY_WRITABLE)
|
||||
wl_display_iterate(display->wl_display, WL_DISPLAY_WRITABLE);
|
||||
wl_display_flush(display->wl_display);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -97,16 +96,6 @@ static GSourceFuncs wl_glib_source_funcs = {
|
||||
gdk_event_source_finalize
|
||||
};
|
||||
|
||||
static int
|
||||
gdk_event_source_update(uint32_t mask, void *data)
|
||||
{
|
||||
GdkWaylandEventSource *source = data;
|
||||
|
||||
source->mask = mask;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_wayland_display_deliver_event (GdkDisplay *display, GdkEvent *event)
|
||||
{
|
||||
@@ -134,8 +123,7 @@ _gdk_wayland_display_event_source_new (GdkDisplay *display)
|
||||
|
||||
display_wayland = GDK_WAYLAND_DISPLAY (display);
|
||||
wl_source->display = display;
|
||||
wl_source->pfd.fd = wl_display_get_fd(display_wayland->wl_display,
|
||||
gdk_event_source_update, source);
|
||||
wl_source->pfd.fd = wl_display_get_fd(display_wayland->wl_display);
|
||||
wl_source->pfd.events = G_IO_IN | G_IO_ERR;
|
||||
g_source_add_poll(source, &wl_source->pfd);
|
||||
|
||||
@@ -148,16 +136,6 @@ _gdk_wayland_display_event_source_new (GdkDisplay *display)
|
||||
return source;
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_wayland_display_flush (GdkDisplay *display, GSource *source)
|
||||
{
|
||||
GdkWaylandEventSource *wayland_source = (GdkWaylandEventSource *) source;
|
||||
|
||||
while (wayland_source->mask & WL_DISPLAY_WRITABLE)
|
||||
wl_display_iterate(GDK_WAYLAND_DISPLAY (display)->wl_display,
|
||||
WL_DISPLAY_WRITABLE);
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_wayland_display_queue_events (GdkDisplay *display)
|
||||
{
|
||||
@@ -166,10 +144,9 @@ _gdk_wayland_display_queue_events (GdkDisplay *display)
|
||||
|
||||
display_wayland = GDK_WAYLAND_DISPLAY (display);
|
||||
source = (GdkWaylandEventSource *) display_wayland->event_source;
|
||||
|
||||
if (source->pfd.revents)
|
||||
{
|
||||
wl_display_iterate(display_wayland->wl_display, WL_DISPLAY_READABLE);
|
||||
source->pfd.revents = 0;
|
||||
wl_display_dispatch(display_wayland->wl_display);
|
||||
source->pfd.revents = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -221,7 +221,7 @@ _gdk_wayland_keymap_new ()
|
||||
names.layout = "us";
|
||||
names.variant = "";
|
||||
names.options = "";
|
||||
keymap->xkb_keymap = xkb_map_new_from_names(context, &names, XKB_MAP_COMPILE_PLACEHOLDER);
|
||||
keymap->xkb_keymap = xkb_keymap_new_from_names (context, &names, 0);
|
||||
keymap->xkb_state = xkb_state_new (keymap->xkb_keymap);
|
||||
xkb_context_unref (context);
|
||||
|
||||
@@ -246,7 +246,7 @@ _gdk_wayland_keymap_new_from_fd (uint32_t format,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
keymap->xkb_keymap = xkb_map_new_from_string (context, map_str, format, XKB_MAP_COMPILE_PLACEHOLDER);
|
||||
keymap->xkb_keymap = xkb_keymap_new_from_string (context, map_str, format, 0);
|
||||
munmap (map_str, size);
|
||||
close (fd);
|
||||
keymap->xkb_state = xkb_state_new (keymap->xkb_keymap);
|
||||
|
||||
@@ -137,7 +137,6 @@ GdkKeymap *_gdk_wayland_device_get_keymap (GdkDevice *device);
|
||||
void _gdk_wayland_display_deliver_event (GdkDisplay *display, GdkEvent *event);
|
||||
GSource *_gdk_wayland_display_event_source_new (GdkDisplay *display);
|
||||
void _gdk_wayland_display_queue_events (GdkDisplay *display);
|
||||
void _gdk_wayland_display_flush (GdkDisplay *display, GSource *source);
|
||||
|
||||
GdkAppLaunchContext *_gdk_wayland_display_get_app_launch_context (GdkDisplay *display);
|
||||
|
||||
|
||||
@@ -1563,6 +1563,7 @@ gdk_wayland_window_process_updates_recurse (GdkWindow *window,
|
||||
cairo_region_get_rectangle (region, i, &rect);
|
||||
wl_surface_damage (impl->surface,
|
||||
rect.x, rect.y, rect.width, rect.height);
|
||||
wl_surface_commit(impl->surface);
|
||||
}
|
||||
|
||||
_gdk_window_process_updates_recurse (window, region);
|
||||
|
||||
@@ -147,7 +147,7 @@ _gdk_win32_window_change_property (GdkWindow *window,
|
||||
{
|
||||
HGLOBAL hdata;
|
||||
gint i, size;
|
||||
guchar *ucptr, *buf = NULL;
|
||||
guchar *ucptr;
|
||||
wchar_t *wcptr, *p;
|
||||
glong wclen;
|
||||
|
||||
@@ -206,7 +206,7 @@ _gdk_win32_window_change_property (GdkWindow *window,
|
||||
WIN32_API_FAILED ("GlobalAlloc");
|
||||
if (!CloseClipboard ())
|
||||
WIN32_API_FAILED ("CloseClipboard");
|
||||
g_free (buf);
|
||||
g_free (wcptr);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -399,7 +399,6 @@ _gdk_win32_screen_get_setting (GdkScreen *screen,
|
||||
g_value_set_boolean (value, TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
#if 0
|
||||
/*
|
||||
* With 'MS Sans Serif' as windows menu font (default on win98se) you'll get a
|
||||
* bunch of :
|
||||
@@ -416,7 +415,7 @@ _gdk_win32_screen_get_setting (GdkScreen *screen,
|
||||
/* Pango finally uses GetDeviceCaps to scale, we use simple
|
||||
* approximation here.
|
||||
*/
|
||||
int nHeight = (0 > ncm.lfMenuFont.lfHeight ? -3*ncm.lfMenuFont.lfHeight/4 : 10);
|
||||
int nHeight = (0 > ncm.lfMenuFont.lfHeight ? - 3 * ncm.lfMenuFont.lfHeight / 4 : 10);
|
||||
if (OUT_STRING_PRECIS == ncm.lfMenuFont.lfOutPrecision)
|
||||
GDK_NOTE(MISC, g_print("gdk_screen_get_setting(%s) : ignoring bitmap font '%s'\n",
|
||||
name, ncm.lfMenuFont.lfFaceName));
|
||||
@@ -424,7 +423,7 @@ _gdk_win32_screen_get_setting (GdkScreen *screen,
|
||||
/* Avoid issues like those described in bug #135098 */
|
||||
g_utf8_validate (ncm.lfMenuFont.lfFaceName, -1, NULL))
|
||||
{
|
||||
char* s = g_strdup_printf ("%s %d", ncm.lfMenuFont.lfFaceName, nHeight);
|
||||
char *s = g_strdup_printf ("%s %d", ncm.lfMenuFont.lfFaceName, nHeight);
|
||||
GDK_NOTE(MISC, g_print("gdk_screen_get_setting(%s) : %s\n", name, s));
|
||||
g_value_set_string (value, s);
|
||||
|
||||
@@ -433,7 +432,6 @@ _gdk_win32_screen_get_setting (GdkScreen *screen,
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include <stdlib.h>
|
||||
#include <windows.h>
|
||||
|
||||
#include "gdk.h"
|
||||
#include "gdkwindowimpl.h"
|
||||
@@ -1533,7 +1534,7 @@ gdk_win32_window_set_urgency_hint (GdkWindow *window,
|
||||
gboolean urgent)
|
||||
{
|
||||
FLASHWINFO flashwinfo;
|
||||
typedef BOOL (*PFN_FlashWindowEx) (FLASHWINFO*);
|
||||
typedef BOOL (WINAPI *PFN_FlashWindowEx) (FLASHWINFO*);
|
||||
PFN_FlashWindowEx flashWindowEx = NULL;
|
||||
|
||||
g_return_if_fail (GDK_IS_WINDOW (window));
|
||||
@@ -3264,7 +3265,7 @@ gdk_win32_window_set_opacity (GdkWindow *window,
|
||||
gdouble opacity)
|
||||
{
|
||||
LONG exstyle;
|
||||
typedef BOOL (*PFN_SetLayeredWindowAttributes) (HWND, COLORREF, BYTE, DWORD);
|
||||
typedef BOOL (WINAPI *PFN_SetLayeredWindowAttributes) (HWND, COLORREF, BYTE, DWORD);
|
||||
PFN_SetLayeredWindowAttributes setLayeredWindowAttributes = NULL;
|
||||
|
||||
g_return_if_fail (GDK_IS_WINDOW (window));
|
||||
|
||||
@@ -280,6 +280,10 @@ get_current_desktop (GdkScreen *screen)
|
||||
unsigned char *data_return = NULL;
|
||||
int workspace = 0;
|
||||
|
||||
if (!gdk_x11_screen_supports_net_wm_hint (screen,
|
||||
gdk_atom_intern_static_string ("_NET_CURRENT_DESKTOP")))
|
||||
return workspace;
|
||||
|
||||
display = GDK_DISPLAY_XDISPLAY (gdk_screen_get_display (screen));
|
||||
win = XRootWindow (display, GDK_SCREEN_XNUMBER (screen));
|
||||
|
||||
@@ -294,7 +298,7 @@ get_current_desktop (GdkScreen *screen)
|
||||
&data_return);
|
||||
|
||||
if (type == XA_CARDINAL && format == 32 && n_items > 0)
|
||||
workspace = (int) data_return[0];
|
||||
workspace = ((long *) data_return)[0];
|
||||
|
||||
if (data_return)
|
||||
XFree (data_return);
|
||||
@@ -330,6 +334,10 @@ get_work_area (GdkScreen *screen,
|
||||
area->width = gdk_screen_get_width (screen);
|
||||
area->height = gdk_screen_get_height (screen);
|
||||
|
||||
if (!gdk_x11_screen_supports_net_wm_hint (screen,
|
||||
gdk_atom_intern_static_string ("_NET_WORKAREA")))
|
||||
return;
|
||||
|
||||
if (workarea == None)
|
||||
return;
|
||||
|
||||
|
||||
@@ -1738,7 +1738,9 @@ static void
|
||||
move_to_current_desktop (GdkWindow *window)
|
||||
{
|
||||
if (gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window),
|
||||
gdk_atom_intern_static_string ("_NET_WM_DESKTOP")))
|
||||
gdk_atom_intern_static_string ("_NET_WM_DESKTOP")) &&
|
||||
gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window),
|
||||
gdk_atom_intern_static_string ("_NET_CURRENT_DESKTOP")))
|
||||
{
|
||||
Atom type;
|
||||
gint format;
|
||||
@@ -2717,7 +2719,9 @@ gdk_x11_window_get_frame_extents (GdkWindow *window,
|
||||
xwindow = GDK_WINDOW_XID (window);
|
||||
|
||||
/* first try: use _NET_FRAME_EXTENTS */
|
||||
if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), xwindow,
|
||||
if (gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window),
|
||||
gdk_atom_intern_static_string ("_NET_FRAME_EXTENTS")) &&
|
||||
XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), xwindow,
|
||||
gdk_x11_get_xatom_by_name_for_display (display,
|
||||
"_NET_FRAME_EXTENTS"),
|
||||
0, G_MAXLONG, False, XA_CARDINAL, &type_return,
|
||||
@@ -2764,7 +2768,9 @@ gdk_x11_window_get_frame_extents (GdkWindow *window,
|
||||
/* use NETWM_VIRTUAL_ROOTS if available */
|
||||
root = GDK_WINDOW_XROOTWIN (window);
|
||||
|
||||
if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), root,
|
||||
if (gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window),
|
||||
gdk_atom_intern_static_string ("_NET_VIRTUAL_ROOTS")) &&
|
||||
XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), root,
|
||||
gdk_x11_get_xatom_by_name_for_display (display,
|
||||
"_NET_VIRTUAL_ROOTS"),
|
||||
0, G_MAXLONG, False, XA_WINDOW, &type_return,
|
||||
|
||||
@@ -287,10 +287,13 @@ gtk_cell_accessible_action_do_action (AtkAction *action,
|
||||
{
|
||||
case 0:
|
||||
_gtk_cell_accessible_parent_expand_collapse (parent, cell);
|
||||
break;
|
||||
case 1:
|
||||
_gtk_cell_accessible_parent_edit (parent, cell);
|
||||
break;
|
||||
case 2:
|
||||
_gtk_cell_accessible_parent_activate (parent, cell);
|
||||
break;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -708,7 +708,7 @@ gtk_icon_view_item_accessible_is_showing (GtkIconViewItemAccessible *item)
|
||||
if (icon_view->priv->hadjustment)
|
||||
visible_rect.x += gtk_adjustment_get_value (icon_view->priv->hadjustment);
|
||||
visible_rect.y = 0;
|
||||
if (icon_view->priv->hadjustment)
|
||||
if (icon_view->priv->vadjustment)
|
||||
visible_rect.y += gtk_adjustment_get_value (icon_view->priv->vadjustment);
|
||||
visible_rect.width = allocation.width;
|
||||
visible_rect.height = allocation.height;
|
||||
|
||||
@@ -552,7 +552,6 @@ gtk_text_cell_accessible_get_character_extents (AtkText *text,
|
||||
gail_renderer = GTK_RENDERER_CELL_ACCESSIBLE (text);
|
||||
g_object_get (gail_renderer, "renderer", >k_renderer, NULL);
|
||||
g_object_get (gtk_renderer, "text", &renderer_text, NULL);
|
||||
g_object_unref (gtk_renderer);
|
||||
if (renderer_text == NULL)
|
||||
{
|
||||
g_object_unref (gtk_renderer);
|
||||
|
||||
@@ -499,6 +499,7 @@ gtk_widget_accessible_notify_gtk (GObject *obj,
|
||||
gtk_widget_accessible_update_tooltip (GTK_WIDGET_ACCESSIBLE (atk_obj),
|
||||
widget);
|
||||
}
|
||||
else
|
||||
return;
|
||||
|
||||
atk_object_notify_state_change (atk_obj, state, value);
|
||||
|
||||
@@ -715,5 +715,17 @@ GtkCalendar.button:hover {
|
||||
}
|
||||
|
||||
.spinner:active {
|
||||
background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent));
|
||||
animation: spinner 1s infinite linear;
|
||||
}
|
||||
|
||||
+12
-3
@@ -28,7 +28,9 @@
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <gio/gio.h>
|
||||
#ifdef G_OS_UNIX
|
||||
#include <gio/gdesktopappinfo.h>
|
||||
#endif
|
||||
#include <gtk.h>
|
||||
|
||||
static gchar **args = NULL;
|
||||
@@ -45,8 +47,10 @@ main (int argc, char *argv[])
|
||||
GOptionContext *context = NULL;
|
||||
gchar *summary;
|
||||
gchar *app_name;
|
||||
#ifdef G_OS_UNIX
|
||||
gchar *desktop_file_name;
|
||||
GDesktopAppInfo *info;
|
||||
#endif
|
||||
GAppInfo *info = NULL;
|
||||
GAppLaunchContext *launch_context;
|
||||
GList *l;
|
||||
GFile *f;
|
||||
@@ -107,12 +111,17 @@ main (int argc, char *argv[])
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
app_name = *args;
|
||||
#ifdef G_OS_UNIX
|
||||
if (g_str_has_suffix (app_name, ".desktop"))
|
||||
desktop_file_name = g_strdup (app_name);
|
||||
else
|
||||
desktop_file_name = g_strconcat (app_name, ".desktop", NULL);
|
||||
info = g_desktop_app_info_new (desktop_file_name);
|
||||
info = G_APP_INFO (g_desktop_app_info_new (desktop_file_name));
|
||||
g_free (desktop_file_name);
|
||||
#else
|
||||
#warning Please add support for creating AppInfo from id for your OS
|
||||
g_printerr (_("Creating AppInfo from id not supported on non unix operating systems"));
|
||||
#endif
|
||||
args++;
|
||||
|
||||
if (!info)
|
||||
@@ -133,7 +142,7 @@ main (int argc, char *argv[])
|
||||
}
|
||||
|
||||
launch_context = (GAppLaunchContext*) gdk_display_get_app_launch_context (gdk_display_get_default ());
|
||||
if (!g_app_info_launch (G_APP_INFO (info), l, launch_context, &error))
|
||||
if (!g_app_info_launch (info, l, launch_context, &error))
|
||||
{
|
||||
/* Translators: the first %s is the program name, the second one */
|
||||
/* is the error message. */
|
||||
|
||||
+382
-24
@@ -432,19 +432,26 @@ GtkButton.check:active:prelight {
|
||||
.scale {
|
||||
background-color: transparent;
|
||||
-GtkScale-value-spacing: 0;
|
||||
-GtkScale-slider-length: 9;
|
||||
-GtkScale-slider-length: 12;
|
||||
-GtkRange-slider-width: 20;
|
||||
-GtkRange-trough-border: 0;
|
||||
}
|
||||
|
||||
.scale.trough {
|
||||
margin: 8px 0;
|
||||
border-style: none;
|
||||
border-width: 0;
|
||||
background-image: -gtk-win32-theme-part(trackbar, 1 1, margins (2 0 2 0));
|
||||
background-image: -gtk-win32-theme-part(trackbar, 1 1);
|
||||
}
|
||||
|
||||
.scale.trough.vertical {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 1 1, margins (0 2 0 2));
|
||||
margin: 0 8px;
|
||||
background-image: -gtk-win32-theme-part(trackbar, 1 1);
|
||||
}
|
||||
|
||||
.scale.mark {
|
||||
/* defines the color of the actuall marks on the scale */
|
||||
color: shade(@bg_color, 0.6);
|
||||
}
|
||||
|
||||
.scale.slider {
|
||||
@@ -493,89 +500,89 @@ GtkButton.check:active:prelight {
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 1);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 1, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below:prelight {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 2);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 2, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below:active,
|
||||
.scale.slider.scale-has-marks-below:prelight:active {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 3);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 3, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below:focus {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 4);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 4, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below:insensitive {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 5);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 5, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below.vertical {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 1);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 1, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below.vertical:prelight {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 2);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 2, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below.vertical:active,
|
||||
.scale.slider.scale-has-marks-below.vertical:prelight:active {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 3);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 3, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below.vertical:focus {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 4);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 4, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below.vertical:insensitive {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 5);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 5, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
|
||||
|
||||
.scale.slider.scale-has-marks-above {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 1);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 1, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above:prelight {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 2);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 2, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above:active,
|
||||
.scale.slider.scale-has-marks-above:prelight:active {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 3);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 3, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above:focus {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 4);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 4, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above:insensitive {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 5);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 5, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above.vertical {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 1);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 1, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above.vertical:prelight {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 2);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 2, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above.vertical:active,
|
||||
.scale.slider.scale-has-marks-above.vertical:prelight:active {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 3);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 3, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above.vertical:focus {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 4);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 4, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above.vertical:insensitive {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 5);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 5, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
/* Progress bars */
|
||||
@@ -791,7 +798,7 @@ GtkSwitch.trough:active {
|
||||
/* Assistant */
|
||||
|
||||
GtkAssistant .sidebar .highlight {
|
||||
background-color: blue;
|
||||
background-color: gray;
|
||||
font: bold;
|
||||
}
|
||||
|
||||
@@ -834,3 +841,354 @@ GtkStatusbar > GtkFrame {
|
||||
background-image: -gtk-win32-theme-part(status, 3 1);
|
||||
}
|
||||
*/
|
||||
|
||||
@keyframes spinner {
|
||||
0% { background-image: none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)); }
|
||||
0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)); }
|
||||
8% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
none; }
|
||||
8% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)); }
|
||||
16% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)); }
|
||||
16% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)); }
|
||||
25% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)); }
|
||||
25% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)); }
|
||||
33% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)); }
|
||||
33% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)); }
|
||||
41% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)); }
|
||||
41% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)); }
|
||||
50% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)); }
|
||||
50% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)); }
|
||||
58% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)); }
|
||||
58% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)); }
|
||||
66% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)); }
|
||||
66% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)); }
|
||||
75% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)); }
|
||||
75% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)); }
|
||||
83% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)); }
|
||||
83% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)); }
|
||||
91% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)); }
|
||||
91% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)); }
|
||||
100% { background-image: none,
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)); }
|
||||
100% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)); }
|
||||
}
|
||||
|
||||
.spinner {
|
||||
background-color: transparent;
|
||||
background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent));
|
||||
background-position: 25.00% 6.70%, 6.70% 25.00%, 0.00% 50.00%, 6.70% 75.00%, 25.00% 93.30%, 50.00% 100.00%, 75.00% 93.30%, 93.30% 75.00%, 100.00% 50.00%, 93.30% 25.00%, 75.00% 6.70%, 50.00% 0.00%;
|
||||
background-size: 20% 20%;
|
||||
background-repeat: no-repeat;
|
||||
transition: background-image 500ms ease-out;
|
||||
}
|
||||
|
||||
.spinner:active {
|
||||
background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.916667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.75)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.666667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.583333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.5)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.416667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.333333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.25)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.166667)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.0833333)), to(transparent)),
|
||||
-gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent));
|
||||
animation: spinner 1s infinite linear;
|
||||
}
|
||||
|
||||
@@ -2395,6 +2395,8 @@ create_credits_page (GtkAboutDialog *about)
|
||||
gtk_widget_set_valign (grid, GTK_ALIGN_START);
|
||||
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sw), grid);
|
||||
|
||||
row = 0;
|
||||
|
||||
if (priv->authors != NULL)
|
||||
add_credits_section (about, GTK_GRID (grid), &row, _("Created by"), priv->authors);
|
||||
|
||||
@@ -2664,7 +2666,7 @@ gtk_about_dialog_get_license_type (GtkAboutDialog *about)
|
||||
* gtk_about_dialog_add_credit_section:
|
||||
* @about: A #GtkAboutDialog
|
||||
* @section_name: The name of the section
|
||||
* @people: The people who belong to that section
|
||||
* @people: (array zero-terminated=1): The people who belong to that section
|
||||
*
|
||||
* Creates a new section in the Credits page.
|
||||
*
|
||||
|
||||
@@ -189,7 +189,7 @@ gtk_action_helper_action_removed (GtkActionHelper *helper)
|
||||
|
||||
if (helper->active)
|
||||
{
|
||||
helper->enabled = FALSE;
|
||||
helper->active = FALSE;
|
||||
gtk_action_helper_report_change (helper, PROP_ACTIVE);
|
||||
}
|
||||
|
||||
|
||||
@@ -159,9 +159,9 @@ static inline gboolean
|
||||
_gtk_bitmask_intersects (const GtkBitmask *mask,
|
||||
const GtkBitmask *other)
|
||||
{
|
||||
if (!_gtk_bitmask_is_allocated (mask) ||
|
||||
!_gtk_bitmask_is_allocated (other))
|
||||
if (_gtk_bitmask_is_allocated (mask) ||
|
||||
_gtk_bitmask_is_allocated (other))
|
||||
return _gtk_allocated_bitmask_intersects (mask, other);
|
||||
else
|
||||
return _gtk_bitmask_to_bits (mask) & _gtk_bitmask_to_bits (other);
|
||||
return _gtk_bitmask_to_bits (mask) & _gtk_bitmask_to_bits (other) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
+137
-37
@@ -38,6 +38,14 @@ enum {
|
||||
LAST_SIGNAL
|
||||
};
|
||||
|
||||
@interface GtkClipboardOwner : NSObject {
|
||||
GtkClipboard *clipboard;
|
||||
@public
|
||||
gboolean setting_same_owner;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
typedef struct _GtkClipboardClass GtkClipboardClass;
|
||||
|
||||
struct _GtkClipboard
|
||||
@@ -45,6 +53,8 @@ struct _GtkClipboard
|
||||
GObject parent_instance;
|
||||
|
||||
NSPasteboard *pasteboard;
|
||||
GtkClipboardOwner *owner;
|
||||
NSInteger change_count;
|
||||
|
||||
GdkAtom selection;
|
||||
|
||||
@@ -76,16 +86,15 @@ struct _GtkClipboardClass
|
||||
GdkEventOwnerChange *event);
|
||||
};
|
||||
|
||||
@interface GtkClipboardOwner : NSObject {
|
||||
GtkClipboard *clipboard;
|
||||
static void gtk_clipboard_class_init (GtkClipboardClass *class);
|
||||
static void gtk_clipboard_finalize (GObject *object);
|
||||
static void gtk_clipboard_owner_change (GtkClipboard *clipboard,
|
||||
GdkEventOwnerChange *event);
|
||||
|
||||
GtkClipboardGetFunc get_func;
|
||||
GtkClipboardClearFunc clear_func;
|
||||
gpointer user_data;
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
static void clipboard_unset (GtkClipboard *clipboard);
|
||||
static GtkClipboard *clipboard_peek (GdkDisplay *display,
|
||||
GdkAtom selection,
|
||||
gboolean only_if_exists);
|
||||
|
||||
@implementation GtkClipboardOwner
|
||||
-(void)pasteboard:(NSPasteboard *)sender provideDataForType:(NSString *)type
|
||||
@@ -117,12 +126,16 @@ struct _GtkClipboardClass
|
||||
}
|
||||
}
|
||||
|
||||
/* pasteboardChangedOwner is not called immediately, and it's not called
|
||||
* reliably. It is somehow documented in the apple api docs, but the docs
|
||||
* suck and don't really give clear instructions. Therefore we track
|
||||
* changeCount in several places below and clear the clipboard if it
|
||||
* changed.
|
||||
*/
|
||||
- (void)pasteboardChangedOwner:(NSPasteboard *)sender
|
||||
{
|
||||
if (clear_func)
|
||||
clear_func (clipboard, user_data);
|
||||
|
||||
[self release];
|
||||
if (! setting_same_owner)
|
||||
clipboard_unset (clipboard);
|
||||
}
|
||||
|
||||
- (id)initWithClipboard:(GtkClipboard *)aClipboard
|
||||
@@ -132,6 +145,7 @@ struct _GtkClipboardClass
|
||||
if (self)
|
||||
{
|
||||
clipboard = aClipboard;
|
||||
setting_same_owner = FALSE;
|
||||
}
|
||||
|
||||
return self;
|
||||
@@ -139,15 +153,6 @@ struct _GtkClipboardClass
|
||||
|
||||
@end
|
||||
|
||||
static void gtk_clipboard_class_init (GtkClipboardClass *class);
|
||||
static void gtk_clipboard_finalize (GObject *object);
|
||||
static void gtk_clipboard_owner_change (GtkClipboard *clipboard,
|
||||
GdkEventOwnerChange *event);
|
||||
|
||||
static void clipboard_unset (GtkClipboard *clipboard);
|
||||
static GtkClipboard *clipboard_peek (GdkDisplay *display,
|
||||
GdkAtom selection,
|
||||
gboolean only_if_exists);
|
||||
|
||||
static const gchar clipboards_owned_key[] = "gtk-clipboards-owned";
|
||||
static GQuark clipboards_owned_key_id = 0;
|
||||
@@ -331,10 +336,6 @@ gtk_clipboard_set_contents (GtkClipboard *clipboard,
|
||||
NSSet *types;
|
||||
NSAutoreleasePool *pool;
|
||||
|
||||
pool = [[NSAutoreleasePool alloc] init];
|
||||
|
||||
owner = [[GtkClipboardOwner alloc] initWithClipboard:clipboard];
|
||||
|
||||
if (!(clipboard->have_owner && have_owner) ||
|
||||
clipboard->user_data != user_data)
|
||||
{
|
||||
@@ -349,17 +350,44 @@ gtk_clipboard_set_contents (GtkClipboard *clipboard,
|
||||
clipboard->user_data != user_data)
|
||||
{
|
||||
(*clear_func) (clipboard, user_data);
|
||||
[pool release];
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
[pool release];
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pool = [[NSAutoreleasePool alloc] init];
|
||||
|
||||
types = _gtk_quartz_target_entries_to_pasteboard_types (targets, n_targets);
|
||||
|
||||
/* call declareTypes before setting the clipboard members because
|
||||
* declareTypes might clear the clipboard
|
||||
*/
|
||||
if (user_data && user_data == clipboard->user_data)
|
||||
{
|
||||
owner = [clipboard->owner retain];
|
||||
|
||||
owner->setting_same_owner = TRUE;
|
||||
clipboard->change_count = [clipboard->pasteboard declareTypes: [types allObjects]
|
||||
owner: owner];
|
||||
owner->setting_same_owner = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
owner = [[GtkClipboardOwner alloc] initWithClipboard:clipboard];
|
||||
|
||||
clipboard->change_count = [clipboard->pasteboard declareTypes: [types allObjects]
|
||||
owner: owner];
|
||||
}
|
||||
|
||||
[owner release];
|
||||
[types release];
|
||||
[pool release];
|
||||
|
||||
clipboard->owner = owner;
|
||||
clipboard->user_data = user_data;
|
||||
clipboard->have_owner = have_owner;
|
||||
if (have_owner)
|
||||
@@ -371,12 +399,6 @@ gtk_clipboard_set_contents (GtkClipboard *clipboard,
|
||||
gtk_target_list_unref (clipboard->target_list);
|
||||
clipboard->target_list = gtk_target_list_new (targets, n_targets);
|
||||
|
||||
types = _gtk_quartz_target_entries_to_pasteboard_types (targets, n_targets);
|
||||
|
||||
[clipboard->pasteboard declareTypes:[types allObjects] owner:owner];
|
||||
[types release];
|
||||
[pool release];
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -420,6 +442,12 @@ gtk_clipboard_get_owner (GtkClipboard *clipboard)
|
||||
{
|
||||
g_return_val_if_fail (clipboard != NULL, NULL);
|
||||
|
||||
if (clipboard->change_count < [clipboard->pasteboard changeCount])
|
||||
{
|
||||
clipboard_unset (clipboard);
|
||||
clipboard->change_count = [clipboard->pasteboard changeCount];
|
||||
}
|
||||
|
||||
if (clipboard->have_owner)
|
||||
return clipboard->user_data;
|
||||
else
|
||||
@@ -448,7 +476,8 @@ clipboard_unset (GtkClipboard *clipboard)
|
||||
clipboard->n_storable_targets = -1;
|
||||
g_free (clipboard->storable_targets);
|
||||
clipboard->storable_targets = NULL;
|
||||
|
||||
|
||||
clipboard->owner = NULL;
|
||||
clipboard->get_func = NULL;
|
||||
clipboard->clear_func = NULL;
|
||||
clipboard->user_data = NULL;
|
||||
@@ -473,6 +502,8 @@ clipboard_unset (GtkClipboard *clipboard)
|
||||
void
|
||||
gtk_clipboard_clear (GtkClipboard *clipboard)
|
||||
{
|
||||
clipboard_unset (clipboard);
|
||||
|
||||
[clipboard->pasteboard declareTypes:nil owner:nil];
|
||||
}
|
||||
|
||||
@@ -656,6 +687,12 @@ gtk_clipboard_wait_for_contents (GtkClipboard *clipboard,
|
||||
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
||||
GtkSelectionData *selection_data = NULL;
|
||||
|
||||
if (clipboard->change_count < [clipboard->pasteboard changeCount])
|
||||
{
|
||||
clipboard_unset (clipboard);
|
||||
clipboard->change_count = [clipboard->pasteboard changeCount];
|
||||
}
|
||||
|
||||
if (target == gdk_atom_intern_static_string ("TARGETS"))
|
||||
{
|
||||
NSArray *types = [clipboard->pasteboard types];
|
||||
@@ -1002,11 +1039,74 @@ gtk_clipboard_set_can_store (GtkClipboard *clipboard,
|
||||
void
|
||||
gtk_clipboard_store (GtkClipboard *clipboard)
|
||||
{
|
||||
/* FIXME: Implement */
|
||||
int i;
|
||||
int n_targets = 0;
|
||||
GtkTargetEntry *targets;
|
||||
|
||||
g_return_if_fail (GTK_IS_CLIPBOARD (clipboard));
|
||||
|
||||
if (!clipboard->target_list || !clipboard->get_func)
|
||||
return;
|
||||
|
||||
/* We simply store all targets into the OS X clipboard. We should be
|
||||
* using the functions gdk_display_supports_clipboard_persistence() and
|
||||
* gdk_display_store_clipboard(), but since for OS X the clipboard support
|
||||
* was implemented in GTK+ and not through GdkSelections, we do it this
|
||||
* way. Doing this properly could be worthwhile to implement in the future.
|
||||
*/
|
||||
|
||||
targets = gtk_target_table_new_from_list (clipboard->target_list,
|
||||
&n_targets);
|
||||
for (i = 0; i < n_targets; i++)
|
||||
{
|
||||
GtkSelectionData selection_data;
|
||||
|
||||
/* in each loop iteration, check if the content is still
|
||||
* there, because calling get_func() can do anything to
|
||||
* the clipboard
|
||||
*/
|
||||
if (!clipboard->target_list || !clipboard->get_func)
|
||||
break;
|
||||
|
||||
memset (&selection_data, 0, sizeof (GtkSelectionData));
|
||||
|
||||
selection_data.selection = clipboard->selection;
|
||||
selection_data.target = gdk_atom_intern_static_string (targets[i].target);
|
||||
selection_data.display = gdk_display_get_default ();
|
||||
selection_data.length = -1;
|
||||
|
||||
clipboard->get_func (clipboard, &selection_data,
|
||||
targets[i].info, clipboard->user_data);
|
||||
|
||||
if (selection_data.length >= 0)
|
||||
_gtk_quartz_set_selection_data_for_pasteboard (clipboard->pasteboard,
|
||||
&selection_data);
|
||||
|
||||
g_free (selection_data.data);
|
||||
}
|
||||
|
||||
if (targets)
|
||||
gtk_target_table_free (targets, n_targets);
|
||||
}
|
||||
|
||||
void
|
||||
_gtk_clipboard_store_all (void)
|
||||
{
|
||||
/* FIXME: Implement */
|
||||
GtkClipboard *clipboard;
|
||||
GSList *displays, *list;
|
||||
|
||||
displays = gdk_display_manager_list_displays (gdk_display_manager_get ());
|
||||
|
||||
list = displays;
|
||||
while (list)
|
||||
{
|
||||
GdkDisplay *display = list->data;
|
||||
|
||||
clipboard = clipboard_peek (display, GDK_SELECTION_CLIPBOARD, TRUE);
|
||||
|
||||
if (clipboard)
|
||||
gtk_clipboard_store (clipboard);
|
||||
|
||||
list = list->next;
|
||||
}
|
||||
}
|
||||
|
||||
+33
-26
@@ -584,36 +584,42 @@ dialog_response (GtkDialog *dialog,
|
||||
}
|
||||
}
|
||||
|
||||
/* Create the dialog and connects its buttons */
|
||||
static void
|
||||
ensure_dialog (GtkColorButton *button)
|
||||
{
|
||||
GtkWidget *parent, *dialog;
|
||||
|
||||
if (button->priv->cs_dialog != NULL)
|
||||
return;
|
||||
|
||||
parent = gtk_widget_get_toplevel (GTK_WIDGET (button));
|
||||
|
||||
button->priv->cs_dialog = dialog = gtk_color_chooser_dialog_new (button->priv->title, NULL);
|
||||
|
||||
if (gtk_widget_is_toplevel (parent) && GTK_IS_WINDOW (parent))
|
||||
{
|
||||
if (GTK_WINDOW (parent) != gtk_window_get_transient_for (GTK_WINDOW (dialog)))
|
||||
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent));
|
||||
|
||||
gtk_window_set_modal (GTK_WINDOW (dialog),
|
||||
gtk_window_get_modal (GTK_WINDOW (parent)));
|
||||
}
|
||||
|
||||
g_signal_connect (dialog, "response",
|
||||
G_CALLBACK (dialog_response), button);
|
||||
g_signal_connect (dialog, "destroy",
|
||||
G_CALLBACK (dialog_destroy), button);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
gtk_color_button_clicked (GtkButton *b)
|
||||
{
|
||||
GtkColorButton *button = GTK_COLOR_BUTTON (b);
|
||||
GtkWidget *dialog;
|
||||
|
||||
/* if dialog already exists, make sure it's shown and raised */
|
||||
if (!button->priv->cs_dialog)
|
||||
{
|
||||
/* Create the dialog and connects its buttons */
|
||||
GtkWidget *parent;
|
||||
|
||||
parent = gtk_widget_get_toplevel (GTK_WIDGET (button));
|
||||
|
||||
button->priv->cs_dialog = dialog = gtk_color_chooser_dialog_new (button->priv->title, NULL);
|
||||
|
||||
if (gtk_widget_is_toplevel (parent) && GTK_IS_WINDOW (parent))
|
||||
{
|
||||
if (GTK_WINDOW (parent) != gtk_window_get_transient_for (GTK_WINDOW (dialog)))
|
||||
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent));
|
||||
|
||||
gtk_window_set_modal (GTK_WINDOW (dialog),
|
||||
gtk_window_get_modal (GTK_WINDOW (parent)));
|
||||
}
|
||||
|
||||
g_signal_connect (dialog, "response",
|
||||
G_CALLBACK (dialog_response), button);
|
||||
g_signal_connect (dialog, "destroy",
|
||||
G_CALLBACK (dialog_destroy), button);
|
||||
}
|
||||
ensure_dialog (button);
|
||||
|
||||
gtk_color_chooser_set_use_alpha (GTK_COLOR_CHOOSER (button->priv->cs_dialog),
|
||||
button->priv->use_alpha);
|
||||
@@ -962,8 +968,9 @@ gtk_color_button_add_palette (GtkColorChooser *chooser,
|
||||
{
|
||||
GtkColorButton *button = GTK_COLOR_BUTTON (chooser);
|
||||
|
||||
if (button->priv->cs_dialog)
|
||||
gtk_color_chooser_add_palette (GTK_COLOR_CHOOSER (button->priv->cs_dialog),
|
||||
ensure_dialog (button);
|
||||
|
||||
gtk_color_chooser_add_palette (GTK_COLOR_CHOOSER (button->priv->cs_dialog),
|
||||
orientation, colors_per_line, n_colors, colors);
|
||||
}
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ gtk_css_value_bg_size_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
{
|
||||
return value1->cover == value2->cover &&
|
||||
value2->contain == value2->contain &&
|
||||
value1->contain == value2->contain &&
|
||||
(value1->x == value2->x ||
|
||||
(value1->x != NULL && value2->x != NULL &&
|
||||
_gtk_css_value_equal (value1->x, value2->x))) &&
|
||||
|
||||
@@ -499,6 +499,8 @@ gtk_css_computed_values_create_css_animations (GtkCssComputedValues *values,
|
||||
_gtk_css_play_state_value_get (_gtk_css_array_value_get_nth (play_states, i)),
|
||||
_gtk_css_fill_mode_value_get (_gtk_css_array_value_get_nth (fill_modes, i)),
|
||||
_gtk_css_number_value_get (_gtk_css_array_value_get_nth (iteration_counts, i), 100));
|
||||
|
||||
_gtk_css_keyframes_unref (keyframes);
|
||||
}
|
||||
values->animations = g_slist_prepend (values->animations, animation);
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ fade_pattern (cairo_pattern_t *pattern,
|
||||
cairo_pattern_add_color_stop_rgba (result, o, r, g, b, a * opacity);
|
||||
}
|
||||
|
||||
return pattern;
|
||||
return result;
|
||||
}
|
||||
|
||||
static cairo_pattern_t *
|
||||
@@ -102,7 +102,7 @@ transition_pattern (cairo_pattern_t *start,
|
||||
{
|
||||
case CAIRO_PATTERN_TYPE_LINEAR:
|
||||
cairo_pattern_get_linear_points (start, &sx0, &sy0, &sx1, &sy1);
|
||||
cairo_pattern_get_linear_points (start, &ex0, &ey0, &ex1, &ey1);
|
||||
cairo_pattern_get_linear_points (end, &ex0, &ey0, &ex1, &ey1);
|
||||
result = cairo_pattern_create_linear ((1 - progress) * sx0 + progress * ex0,
|
||||
(1 - progress) * sx1 + progress * ex1,
|
||||
(1 - progress) * sy0 + progress * ey0,
|
||||
@@ -110,7 +110,7 @@ transition_pattern (cairo_pattern_t *start,
|
||||
break;
|
||||
case CAIRO_PATTERN_TYPE_RADIAL:
|
||||
cairo_pattern_get_radial_circles (start, &sx0, &sy0, &sr0, &sx1, &sy1, &sr1);
|
||||
cairo_pattern_get_radial_circles (start, &ex0, &ey0, &er0, &ex1, &ey1, &er1);
|
||||
cairo_pattern_get_radial_circles (end, &ex0, &ey0, &er0, &ex1, &ey1, &er1);
|
||||
result = cairo_pattern_create_radial ((1 - progress) * sx0 + progress * ex0,
|
||||
(1 - progress) * sy0 + progress * ey0,
|
||||
(1 - progress) * sr0 + progress * er0,
|
||||
@@ -128,7 +128,7 @@ transition_pattern (cairo_pattern_t *start,
|
||||
double so, sr, sg, sb, sa, eo, er, eg, eb, ea;
|
||||
|
||||
cairo_pattern_get_color_stop_rgba (start, i, &so, &sr, &sg, &sb, &sa);
|
||||
cairo_pattern_get_color_stop_rgba (start, i, &eo, &er, &eg, &eb, &ea);
|
||||
cairo_pattern_get_color_stop_rgba (end, i, &eo, &er, &eg, &eb, &ea);
|
||||
|
||||
cairo_pattern_add_color_stop_rgba (result,
|
||||
(1 - progress) * so + progress * eo,
|
||||
|
||||
+13
-2
@@ -36,6 +36,8 @@ struct _GtkCssKeyframes {
|
||||
GtkCssValue **values; /* 2D array: n_keyframes * n_properties of (value or NULL) for all the keyframes */
|
||||
};
|
||||
|
||||
#define KEYFRAMES_VALUE(keyframes, k, p) ((keyframes)->values[(k) * (keyframes)->n_properties + (p)])
|
||||
|
||||
GtkCssKeyframes *
|
||||
_gtk_css_keyframes_ref (GtkCssKeyframes *keyframes)
|
||||
{
|
||||
@@ -49,6 +51,8 @@ _gtk_css_keyframes_ref (GtkCssKeyframes *keyframes)
|
||||
void
|
||||
_gtk_css_keyframes_unref (GtkCssKeyframes *keyframes)
|
||||
{
|
||||
guint k, p;
|
||||
|
||||
g_return_if_fail (keyframes != NULL);
|
||||
|
||||
keyframes->ref_count--;
|
||||
@@ -57,13 +61,20 @@ _gtk_css_keyframes_unref (GtkCssKeyframes *keyframes)
|
||||
|
||||
g_free (keyframes->keyframe_progress);
|
||||
g_free (keyframes->property_ids);
|
||||
|
||||
for (k = 0; k < keyframes->n_keyframes; k++)
|
||||
{
|
||||
for (p = 0; p < keyframes->n_properties; p++)
|
||||
{
|
||||
_gtk_css_value_unref (KEYFRAMES_VALUE (keyframes, k, p));
|
||||
KEYFRAMES_VALUE (keyframes, k, p) = NULL;
|
||||
}
|
||||
}
|
||||
g_free (keyframes->values);
|
||||
|
||||
g_slice_free (GtkCssKeyframes, keyframes);
|
||||
}
|
||||
|
||||
#define KEYFRAMES_VALUE(keyframes, k, p) ((keyframes)->values[(k) * (keyframes)->n_properties + (p)])
|
||||
|
||||
static guint
|
||||
gtk_css_keyframes_add_keyframe (GtkCssKeyframes *keyframes,
|
||||
double progress)
|
||||
|
||||
@@ -24,17 +24,6 @@
|
||||
#include "gtkcssstylepropertyprivate.h"
|
||||
#include "gtkstylepropertiesprivate.h"
|
||||
|
||||
typedef struct {
|
||||
GtkCssSection *section;
|
||||
GtkCssValue *value;
|
||||
GtkCssValue *computed;
|
||||
} GtkCssLookupValue;
|
||||
|
||||
struct _GtkCssLookup {
|
||||
GtkBitmask *missing;
|
||||
GtkCssLookupValue values[1];
|
||||
};
|
||||
|
||||
GtkCssLookup *
|
||||
_gtk_css_lookup_new (const GtkBitmask *relevant)
|
||||
{
|
||||
@@ -65,14 +54,6 @@ _gtk_css_lookup_free (GtkCssLookup *lookup)
|
||||
g_free (lookup);
|
||||
}
|
||||
|
||||
const GtkBitmask *
|
||||
_gtk_css_lookup_get_missing (const GtkCssLookup *lookup)
|
||||
{
|
||||
g_return_val_if_fail (lookup != NULL, NULL);
|
||||
|
||||
return lookup->missing;
|
||||
}
|
||||
|
||||
gboolean
|
||||
_gtk_css_lookup_is_missing (const GtkCssLookup *lookup,
|
||||
guint id)
|
||||
|
||||
@@ -28,10 +28,21 @@ G_BEGIN_DECLS
|
||||
|
||||
typedef struct _GtkCssLookup GtkCssLookup;
|
||||
|
||||
typedef struct {
|
||||
GtkCssSection *section;
|
||||
GtkCssValue *value;
|
||||
GtkCssValue *computed;
|
||||
} GtkCssLookupValue;
|
||||
|
||||
struct _GtkCssLookup {
|
||||
GtkBitmask *missing;
|
||||
GtkCssLookupValue values[1];
|
||||
};
|
||||
|
||||
GtkCssLookup * _gtk_css_lookup_new (const GtkBitmask *relevant);
|
||||
void _gtk_css_lookup_free (GtkCssLookup *lookup);
|
||||
|
||||
const GtkBitmask * _gtk_css_lookup_get_missing (const GtkCssLookup *lookup);
|
||||
static inline const GtkBitmask *_gtk_css_lookup_get_missing (const GtkCssLookup *lookup);
|
||||
gboolean _gtk_css_lookup_is_missing (const GtkCssLookup *lookup,
|
||||
guint id);
|
||||
void _gtk_css_lookup_set (GtkCssLookup *lookup,
|
||||
@@ -47,6 +58,13 @@ void _gtk_css_lookup_resolve (GtkCssLookup
|
||||
GtkCssComputedValues *values,
|
||||
GtkCssComputedValues *parent_values);
|
||||
|
||||
static inline const GtkBitmask *
|
||||
_gtk_css_lookup_get_missing (const GtkCssLookup *lookup)
|
||||
{
|
||||
return lookup->missing;
|
||||
}
|
||||
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
||||
+16
-9
@@ -1568,18 +1568,19 @@ gtk_css_style_provider_lookup (GtkStyleProviderPrivate *provider,
|
||||
{
|
||||
GtkCssProvider *css_provider;
|
||||
GtkCssProviderPrivate *priv;
|
||||
int i;
|
||||
GtkCssRuleset *ruleset;
|
||||
guint j;
|
||||
|
||||
css_provider = GTK_CSS_PROVIDER (provider);
|
||||
priv = css_provider->priv;
|
||||
|
||||
for (i = priv->rulesets->len - 1; i >= 0; i--)
|
||||
if (priv->rulesets->len == 0)
|
||||
return;
|
||||
|
||||
for (ruleset = &g_array_index (priv->rulesets, GtkCssRuleset, priv->rulesets->len - 1);
|
||||
ruleset >= &g_array_index (priv->rulesets, GtkCssRuleset, 0);
|
||||
ruleset--)
|
||||
{
|
||||
GtkCssRuleset *ruleset;
|
||||
|
||||
ruleset = &g_array_index (priv->rulesets, GtkCssRuleset, i);
|
||||
|
||||
if (ruleset->styles == NULL)
|
||||
continue;
|
||||
|
||||
@@ -1603,6 +1604,9 @@ gtk_css_style_provider_lookup (GtkStyleProviderPrivate *provider,
|
||||
ruleset->styles[j].section,
|
||||
ruleset->styles[j].value);
|
||||
}
|
||||
|
||||
if (_gtk_bitmask_is_empty (_gtk_css_lookup_get_missing (lookup)))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1821,9 +1825,12 @@ gtk_css_provider_propagate_error (GtkCssProvider *provider,
|
||||
return;
|
||||
|
||||
*propagate_to = g_error_copy (error);
|
||||
s = _gtk_css_section_to_string (section);
|
||||
g_prefix_error (propagate_to, "%s", s);
|
||||
g_free (s);
|
||||
if (section)
|
||||
{
|
||||
s = _gtk_css_section_to_string (section);
|
||||
g_prefix_error (propagate_to, "%s", s);
|
||||
g_free (s);
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
||||
+32
-10
@@ -98,42 +98,64 @@ gtk_css_value_shadows_transition (GtkCssValue *start,
|
||||
guint property_id,
|
||||
double progress)
|
||||
{
|
||||
GtkCssValue *result;
|
||||
guint i;
|
||||
guint i, len;
|
||||
GtkCssValue **values;
|
||||
|
||||
/* catches the important case of 2 none values */
|
||||
if (start == end)
|
||||
return _gtk_css_value_ref (start);
|
||||
|
||||
if (start->len > end->len)
|
||||
result = gtk_css_shadows_value_new (start->values, start->len);
|
||||
len = start->len;
|
||||
else
|
||||
result = gtk_css_shadows_value_new (end->values, end->len);
|
||||
len = end->len;
|
||||
|
||||
values = g_newa (GtkCssValue *, len);
|
||||
|
||||
for (i = 0; i < MIN (start->len, end->len); i++)
|
||||
{
|
||||
result->values[i] = _gtk_css_value_transition (start->values[i], end->values[i], property_id, progress);
|
||||
values[i] = _gtk_css_value_transition (start->values[i], end->values[i], property_id, progress);
|
||||
if (values[i] == NULL)
|
||||
{
|
||||
while (i--)
|
||||
_gtk_css_value_unref (values[i]);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
if (start->len > end->len)
|
||||
{
|
||||
for (; i < result->len; i++)
|
||||
for (; i < len; i++)
|
||||
{
|
||||
GtkCssValue *fill = _gtk_css_shadow_value_new_for_transition (start->values[i]);
|
||||
result->values[i] = _gtk_css_value_transition (start->values[i], fill, property_id, progress);
|
||||
values[i] = _gtk_css_value_transition (start->values[i], fill, property_id, progress);
|
||||
_gtk_css_value_unref (fill);
|
||||
|
||||
if (values[i] == NULL)
|
||||
{
|
||||
while (i--)
|
||||
_gtk_css_value_unref (values[i]);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (; i < result->len; i++)
|
||||
for (; i < len; i++)
|
||||
{
|
||||
GtkCssValue *fill = _gtk_css_shadow_value_new_for_transition (end->values[i]);
|
||||
result->values[i] = _gtk_css_value_transition (fill, end->values[i], property_id, progress);
|
||||
values[i] = _gtk_css_value_transition (fill, end->values[i], property_id, progress);
|
||||
_gtk_css_value_unref (fill);
|
||||
|
||||
if (values[i] == NULL)
|
||||
{
|
||||
while (i--)
|
||||
_gtk_css_value_unref (values[i]);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return gtk_css_shadows_value_new (values, len);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -565,8 +565,8 @@ parse_background (GtkCssShorthandProperty *shorthand,
|
||||
{
|
||||
g_ptr_array_set_free_func (arrays[i], (GDestroyNotify) _gtk_css_value_unref);
|
||||
g_ptr_array_unref (arrays[i]);
|
||||
return FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
@@ -668,8 +668,8 @@ parse_transition (GtkCssShorthandProperty *shorthand,
|
||||
{
|
||||
g_ptr_array_set_free_func (arrays[i], (GDestroyNotify) _gtk_css_value_unref);
|
||||
g_ptr_array_unref (arrays[i]);
|
||||
return FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
@@ -784,8 +784,8 @@ parse_animation (GtkCssShorthandProperty *shorthand,
|
||||
{
|
||||
g_ptr_array_set_free_func (arrays[i], (GDestroyNotify) _gtk_css_value_unref);
|
||||
g_ptr_array_unref (arrays[i]);
|
||||
return FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
|
||||
@@ -49,10 +49,11 @@ typedef enum { /*< skip >*/
|
||||
GTK_CSS_CHANGE_PARENT_SIBLING_STATE = (1 << 15),
|
||||
/* add more */
|
||||
GTK_CSS_CHANGE_SOURCE = (1 << 16),
|
||||
GTK_CSS_CHANGE_ANIMATE = (1 << 17)
|
||||
GTK_CSS_CHANGE_ANIMATE = (1 << 17),
|
||||
GTK_CSS_CHANGE_FORCE_INVALIDATE = (1 << 18)
|
||||
} GtkCssChange;
|
||||
|
||||
#define GTK_CSS_CHANGE_ANY ((1 << 18) - 1)
|
||||
#define GTK_CSS_CHANGE_ANY ((1 << 19) - 1)
|
||||
#define GTK_CSS_CHANGE_ANY_SELF (GTK_CSS_CHANGE_CLASS | GTK_CSS_CHANGE_NAME | GTK_CSS_CHANGE_POSITION | GTK_CSS_CHANGE_STATE)
|
||||
#define GTK_CSS_CHANGE_ANY_SIBLING (GTK_CSS_CHANGE_SIBLING_CLASS | GTK_CSS_CHANGE_SIBLING_NAME | \
|
||||
GTK_CSS_CHANGE_SIBLING_POSITION | GTK_CSS_CHANGE_SIBLING_STATE)
|
||||
|
||||
@@ -656,8 +656,7 @@ gtk_entry_completion_set_property (GObject *object,
|
||||
break;
|
||||
|
||||
case PROP_TEXT_COLUMN:
|
||||
gtk_entry_completion_set_text_column (completion,
|
||||
g_value_get_int (value));
|
||||
priv->text_column = g_value_get_int (value);
|
||||
break;
|
||||
|
||||
case PROP_INLINE_COMPLETION:
|
||||
|
||||
+4
-2
@@ -1251,6 +1251,7 @@ get_next_site (GtkExpander *expander,
|
||||
case GTK_DIR_RIGHT:
|
||||
return FOCUS_WIDGET;
|
||||
}
|
||||
break;
|
||||
case FOCUS_WIDGET:
|
||||
switch (direction)
|
||||
{
|
||||
@@ -1264,8 +1265,8 @@ get_next_site (GtkExpander *expander,
|
||||
return FOCUS_LABEL;
|
||||
case GTK_DIR_RIGHT:
|
||||
return ltr ? FOCUS_LABEL : FOCUS_NONE;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case FOCUS_LABEL:
|
||||
switch (direction)
|
||||
{
|
||||
@@ -1279,8 +1280,8 @@ get_next_site (GtkExpander *expander,
|
||||
return FOCUS_CHILD;
|
||||
case GTK_DIR_RIGHT:
|
||||
return ltr ? FOCUS_CHILD : FOCUS_WIDGET;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case FOCUS_CHILD:
|
||||
switch (direction)
|
||||
{
|
||||
@@ -1293,6 +1294,7 @@ get_next_site (GtkExpander *expander,
|
||||
case GTK_DIR_RIGHT:
|
||||
return FOCUS_NONE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
g_assert_not_reached ();
|
||||
|
||||
@@ -1032,8 +1032,9 @@ gtk_file_chooser_get_create_folders (GtkFileChooser *chooser)
|
||||
* @chooser: a #GtkFileChooser
|
||||
*
|
||||
* Gets the filename for the currently selected file in
|
||||
* the file selector. If multiple files are selected,
|
||||
* one of the filenames will be returned at random.
|
||||
* the file selector. The filename is returned as an absolute path. If
|
||||
* multiple files are selected, one of the filenames will be returned at
|
||||
* random.
|
||||
*
|
||||
* If the file chooser is in folder mode, this function returns the selected
|
||||
* folder.
|
||||
|
||||
@@ -6798,7 +6798,7 @@ file_system_model_got_thumbnail (GObject *object, GAsyncResult *res, gpointer da
|
||||
copy_attribute (info, queried, G_FILE_ATTRIBUTE_THUMBNAILING_FAILED);
|
||||
copy_attribute (info, queried, G_FILE_ATTRIBUTE_STANDARD_ICON);
|
||||
|
||||
_gtk_file_system_model_update_file (model, file, info, FALSE);
|
||||
_gtk_file_system_model_update_file (model, file, info);
|
||||
|
||||
g_object_unref (info);
|
||||
|
||||
@@ -7978,6 +7978,9 @@ add_shortcut_get_info_cb (GCancellable *cancellable,
|
||||
|
||||
shortcuts_insert_file (data->impl, pos, SHORTCUT_TYPE_FILE, NULL, data->file, NULL, FALSE, SHORTCUTS_SHORTCUTS);
|
||||
|
||||
/* need to call shortcuts_add_bookmarks to flush out any duplicates bug #577806 */
|
||||
shortcuts_add_bookmarks (data->impl);
|
||||
|
||||
out:
|
||||
g_object_unref (data->impl);
|
||||
g_object_unref (data->file);
|
||||
|
||||
@@ -548,8 +548,12 @@ finished_loading_cb (GtkFileSystemModel *model,
|
||||
|
||||
completion = gtk_entry_get_completion (GTK_ENTRY (chooser_entry));
|
||||
update_inline_completion (chooser_entry);
|
||||
gtk_entry_completion_complete (completion);
|
||||
gtk_entry_completion_insert_prefix (completion);
|
||||
|
||||
if (gtk_widget_has_focus (GTK_WIDGET (chooser_entry)))
|
||||
{
|
||||
gtk_entry_completion_complete (completion);
|
||||
gtk_entry_completion_insert_prefix (completion);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
+94
-36
@@ -42,6 +42,9 @@
|
||||
* the special kind of usage for "search" and "recent-files", where the file chooser gives the model the
|
||||
* files to be displayed.
|
||||
*
|
||||
* Internal data structure
|
||||
* -----------------------
|
||||
*
|
||||
* Each file is kept in a FileModelNode structure. Each FileModelNode holds a GFile* and other data. All the
|
||||
* node structures have the same size, determined at runtime, depending on the number of columns that were passed
|
||||
* to _gtk_file_system_model_new() or _gtk_file_system_model_new_for_directory() (that is, the size of a node is
|
||||
@@ -66,7 +69,14 @@
|
||||
*
|
||||
* Each FileModelNode has a node->visible field, which indicates whether the node is visible in the GtkTreeView.
|
||||
* A node may be invisible if, for example, it corresponds to a hidden file and the file chooser is not showing
|
||||
* hidden files.
|
||||
* hidden files. Also, a file filter may be explicitly set onto the model, for example, to only show files that
|
||||
* match "*.jpg". In this case, node->filtered_out says whether the node failed the filter. The ultimate
|
||||
* decision on whether a node is visible or not in the treeview is distilled into the node->visible field.
|
||||
* The reason for having a separate node->filtered_out field is so that the file chooser can query whether
|
||||
* a (filtered-out) folder should be made sensitive in the GUI.
|
||||
*
|
||||
* Visible rows vs. possibly-invisible nodes
|
||||
* -----------------------------------------
|
||||
*
|
||||
* Since not all nodes in the model->files array may be visible, we need a way to map visible row indexes from
|
||||
* the treeview to array indexes in our array of files. And thus we introduce a bit of terminology:
|
||||
@@ -95,6 +105,16 @@
|
||||
*
|
||||
* You never access a node->row directly. Instead, call node_get_tree_row(). That function will validate the nodes
|
||||
* up to the sought one if the node is not valid yet, and it will return a proper 0-based row.
|
||||
*
|
||||
* Sorting
|
||||
* -------
|
||||
*
|
||||
* The model implements the GtkTreeSortable interface. To avoid re-sorting
|
||||
* every time a node gets added (which would lead to O(n^2) performance during
|
||||
* the initial population of the model), the model can freeze itself (with
|
||||
* freeze_updates()) during the intial population process. When the model is
|
||||
* frozen, sorting will not happen. The model will sort itself when the freeze
|
||||
* count goes back to zero, via corresponding calls to thaw_updates().
|
||||
*/
|
||||
|
||||
/*** DEFINES ***/
|
||||
@@ -184,6 +204,12 @@ struct _GtkFileSystemModelClass
|
||||
void (*finished_loading) (GtkFileSystemModel *model, GError *error);
|
||||
};
|
||||
|
||||
static void freeze_updates (GtkFileSystemModel *model);
|
||||
static void thaw_updates (GtkFileSystemModel *model);
|
||||
|
||||
static guint node_get_for_file (GtkFileSystemModel *model,
|
||||
GFile *file);
|
||||
|
||||
static void add_file (GtkFileSystemModel *model,
|
||||
GFile *file,
|
||||
GFileInfo *info);
|
||||
@@ -263,13 +289,13 @@ node_invalidate_index (GtkFileSystemModel *model, guint id)
|
||||
}
|
||||
|
||||
static GtkTreePath *
|
||||
gtk_tree_path_new_from_node (GtkFileSystemModel *model, guint id)
|
||||
tree_path_new_from_node (GtkFileSystemModel *model, guint id)
|
||||
{
|
||||
guint i = node_get_tree_row (model, id);
|
||||
guint r = node_get_tree_row (model, id);
|
||||
|
||||
g_assert (i < model->files->len);
|
||||
g_assert (r < model->files->len);
|
||||
|
||||
return gtk_tree_path_new_from_indices (i, -1);
|
||||
return gtk_tree_path_new_from_indices (r, -1);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -278,7 +304,7 @@ emit_row_inserted_for_node (GtkFileSystemModel *model, guint id)
|
||||
GtkTreePath *path;
|
||||
GtkTreeIter iter;
|
||||
|
||||
path = gtk_tree_path_new_from_node (model, id);
|
||||
path = tree_path_new_from_node (model, id);
|
||||
ITER_INIT_FROM_INDEX (model, &iter, id);
|
||||
gtk_tree_model_row_inserted (GTK_TREE_MODEL (model), path, &iter);
|
||||
gtk_tree_path_free (path);
|
||||
@@ -290,7 +316,7 @@ emit_row_changed_for_node (GtkFileSystemModel *model, guint id)
|
||||
GtkTreePath *path;
|
||||
GtkTreeIter iter;
|
||||
|
||||
path = gtk_tree_path_new_from_node (model, id);
|
||||
path = tree_path_new_from_node (model, id);
|
||||
ITER_INIT_FROM_INDEX (model, &iter, id);
|
||||
gtk_tree_model_row_changed (GTK_TREE_MODEL (model), path, &iter);
|
||||
gtk_tree_path_free (path);
|
||||
@@ -570,7 +596,7 @@ gtk_file_system_model_get_path (GtkTreeModel *tree_model,
|
||||
|
||||
g_return_val_if_fail (ITER_IS_VALID (model, iter), NULL);
|
||||
|
||||
return gtk_tree_path_new_from_node (model, ITER_INDEX (iter));
|
||||
return tree_path_new_from_node (model, ITER_INDEX (iter));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1097,7 +1123,7 @@ thaw_func (gpointer data)
|
||||
{
|
||||
GtkFileSystemModel *model = data;
|
||||
|
||||
_gtk_file_system_model_thaw_updates (model);
|
||||
thaw_updates (model);
|
||||
model->dir_thaw_source = 0;
|
||||
|
||||
return FALSE;
|
||||
@@ -1119,7 +1145,7 @@ gtk_file_system_model_got_files (GObject *object, GAsyncResult *res, gpointer da
|
||||
{
|
||||
if (model->dir_thaw_source == 0)
|
||||
{
|
||||
_gtk_file_system_model_freeze_updates (model);
|
||||
freeze_updates (model);
|
||||
model->dir_thaw_source = gdk_threads_add_timeout_full (IO_PRIORITY + 1,
|
||||
50,
|
||||
thaw_func,
|
||||
@@ -1168,7 +1194,7 @@ gtk_file_system_model_got_files (GObject *object, GAsyncResult *res, gpointer da
|
||||
{
|
||||
g_source_remove (model->dir_thaw_source);
|
||||
model->dir_thaw_source = 0;
|
||||
_gtk_file_system_model_thaw_updates (model);
|
||||
thaw_updates (model);
|
||||
}
|
||||
|
||||
g_signal_emit (model, file_system_model_signals[FINISHED_LOADING], 0, error);
|
||||
@@ -1189,13 +1215,19 @@ gtk_file_system_model_query_done (GObject * object,
|
||||
GtkFileSystemModel *model = data; /* only a valid pointer if not cancelled */
|
||||
GFile *file = G_FILE (object);
|
||||
GFileInfo *info;
|
||||
guint id;
|
||||
|
||||
info = g_file_query_info_finish (file, res, NULL);
|
||||
if (info == NULL)
|
||||
return;
|
||||
|
||||
gdk_threads_enter ();
|
||||
_gtk_file_system_model_update_file (model, file, info, TRUE);
|
||||
|
||||
_gtk_file_system_model_update_file (model, file, info);
|
||||
|
||||
id = node_get_for_file (model, file);
|
||||
gtk_file_system_model_sort_node (model, id);
|
||||
|
||||
gdk_threads_leave ();
|
||||
}
|
||||
|
||||
@@ -1433,14 +1465,14 @@ gtk_file_system_model_refilter_all (GtkFileSystemModel *model)
|
||||
return;
|
||||
}
|
||||
|
||||
_gtk_file_system_model_freeze_updates (model);
|
||||
freeze_updates (model);
|
||||
|
||||
/* start at index 1, don't change the editable */
|
||||
for (i = 1; i < model->files->len; i++)
|
||||
node_compute_visibility_and_filters (model, i);
|
||||
|
||||
model->filter_on_thaw = FALSE;
|
||||
_gtk_file_system_model_thaw_updates (model);
|
||||
thaw_updates (model);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1775,6 +1807,33 @@ _gtk_file_system_model_get_iter_for_file (GtkFileSystemModel *model,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* When an element is added or removed to the model->files array, we need to
|
||||
* update the model->file_lookup mappings of (node, index), as the indexes
|
||||
* change. This function adds the specified increment to the index in that pair
|
||||
* if the index is equal or after the specified id. We use this to slide the
|
||||
* mappings up or down when a node is added or removed, respectively.
|
||||
*/
|
||||
static void
|
||||
adjust_file_lookup (GtkFileSystemModel *model, guint id, int increment)
|
||||
{
|
||||
GHashTableIter iter;
|
||||
gpointer key;
|
||||
gpointer value;
|
||||
|
||||
g_hash_table_iter_init (&iter, model->file_lookup);
|
||||
|
||||
while (g_hash_table_iter_next (&iter, &key, &value))
|
||||
{
|
||||
guint index = GPOINTER_TO_UINT (value);
|
||||
|
||||
if (index >= id)
|
||||
{
|
||||
index += increment;
|
||||
g_hash_table_iter_replace (&iter, GUINT_TO_POINTER (index));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* add_file:
|
||||
* @model: the model
|
||||
@@ -1825,6 +1884,7 @@ remove_file (GtkFileSystemModel *model,
|
||||
{
|
||||
FileModelNode *node;
|
||||
guint id;
|
||||
guint row;
|
||||
|
||||
g_return_if_fail (GTK_IS_FILE_SYSTEM_MODEL (model));
|
||||
g_return_if_fail (G_IS_FILE (file));
|
||||
@@ -1834,17 +1894,22 @@ remove_file (GtkFileSystemModel *model,
|
||||
return;
|
||||
|
||||
node = get_node (model, id);
|
||||
node_set_visible_and_filtered_out (model, id, FALSE, FALSE);
|
||||
row = node_get_tree_row (model, id);
|
||||
|
||||
node_invalidate_index (model, id);
|
||||
|
||||
g_hash_table_remove (model->file_lookup, file);
|
||||
g_object_unref (node->file);
|
||||
adjust_file_lookup (model, id, -1);
|
||||
|
||||
if (node->info)
|
||||
g_object_unref (node->info);
|
||||
|
||||
g_array_remove_index (model->files, id);
|
||||
g_hash_table_remove_all (model->file_lookup);
|
||||
/* We don't need to resort, as removing a row doesn't change the sorting order */
|
||||
|
||||
/* We don't need to resort, as removing a row doesn't change the sorting order of the other rows */
|
||||
|
||||
emit_row_deleted_for_row (model, row);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1852,7 +1917,6 @@ remove_file (GtkFileSystemModel *model,
|
||||
* @model: the model
|
||||
* @file: the file
|
||||
* @info: the new file info
|
||||
* @requires_resort: FIXME: get rid of this argument
|
||||
*
|
||||
* Tells the file system model that the file changed and that the
|
||||
* new @info should be used for it now. If the file is not part of
|
||||
@@ -1861,8 +1925,7 @@ remove_file (GtkFileSystemModel *model,
|
||||
void
|
||||
_gtk_file_system_model_update_file (GtkFileSystemModel *model,
|
||||
GFile *file,
|
||||
GFileInfo *info,
|
||||
gboolean requires_resort)
|
||||
GFileInfo *info)
|
||||
{
|
||||
FileModelNode *node;
|
||||
guint i, id;
|
||||
@@ -1894,9 +1957,6 @@ _gtk_file_system_model_update_file (GtkFileSystemModel *model,
|
||||
|
||||
if (node->visible)
|
||||
emit_row_changed_for_node (model, id);
|
||||
|
||||
if (requires_resort)
|
||||
gtk_file_system_model_sort_node (model, id);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1967,17 +2027,16 @@ _gtk_file_system_model_remove_editable (GtkFileSystemModel *model)
|
||||
}
|
||||
|
||||
/**
|
||||
* _gtk_file_system_model_freeze_updates:
|
||||
* freeze_updates:
|
||||
* @model: a #GtkFileSystemModel
|
||||
*
|
||||
* Freezes most updates on the model, so that performing multiple
|
||||
* operations on the files in the model do not cause any events.
|
||||
* Use _gtk_file_system_model_thaw_updates() to resume proper
|
||||
* operations. It is fine to call this function multiple times as
|
||||
* long as freeze and thaw calls are balanced.
|
||||
* Freezes most updates on the model, so that performing multiple operations on
|
||||
* the files in the model do not cause any events. Use thaw_updates() to resume
|
||||
* proper operations. It is fine to call this function multiple times as long as
|
||||
* freeze and thaw calls are balanced.
|
||||
**/
|
||||
void
|
||||
_gtk_file_system_model_freeze_updates (GtkFileSystemModel *model)
|
||||
static void
|
||||
freeze_updates (GtkFileSystemModel *model)
|
||||
{
|
||||
g_return_if_fail (GTK_IS_FILE_SYSTEM_MODEL (model));
|
||||
|
||||
@@ -1985,14 +2044,13 @@ _gtk_file_system_model_freeze_updates (GtkFileSystemModel *model)
|
||||
}
|
||||
|
||||
/**
|
||||
* _gtk_file_system_model_thaw_updates:
|
||||
* thaw_updates:
|
||||
* @model: a #GtkFileSystemModel
|
||||
*
|
||||
* Undoes the effect of a previous call to
|
||||
* _gtk_file_system_model_freeze_updates()
|
||||
* Undoes the effect of a previous call to freeze_updates()
|
||||
**/
|
||||
void
|
||||
_gtk_file_system_model_thaw_updates (GtkFileSystemModel *model)
|
||||
static void
|
||||
thaw_updates (GtkFileSystemModel *model)
|
||||
{
|
||||
gboolean stuff_added;
|
||||
|
||||
|
||||
@@ -71,8 +71,7 @@ void _gtk_file_system_model_add_and_query_file (GtkFileSystemMode
|
||||
const char *attributes);
|
||||
void _gtk_file_system_model_update_file (GtkFileSystemModel *model,
|
||||
GFile *file,
|
||||
GFileInfo *info,
|
||||
gboolean requires_resort);
|
||||
GFileInfo *info);
|
||||
|
||||
void _gtk_file_system_model_set_show_hidden (GtkFileSystemModel *model,
|
||||
gboolean show_hidden);
|
||||
@@ -82,8 +81,6 @@ void _gtk_file_system_model_set_show_files (GtkFileSystemModel
|
||||
gboolean show_files);
|
||||
void _gtk_file_system_model_set_filter_folders (GtkFileSystemModel *model,
|
||||
gboolean show_folders);
|
||||
void _gtk_file_system_model_freeze_updates (GtkFileSystemModel *model);
|
||||
void _gtk_file_system_model_thaw_updates (GtkFileSystemModel *model);
|
||||
void _gtk_file_system_model_clear_cache (GtkFileSystemModel *model,
|
||||
int column);
|
||||
|
||||
|
||||
+2
-1
@@ -327,6 +327,7 @@ _gtk_gradient_resolve_full (GtkGradient *gradient,
|
||||
{
|
||||
rgba = *_gtk_css_rgba_value_get_rgba (val);
|
||||
*dependencies = _gtk_css_dependencies_union (*dependencies, stop_deps);
|
||||
_gtk_css_value_unref (val);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -467,7 +468,7 @@ gtk_gradient_fade (GtkGradient *gradient,
|
||||
|
||||
stop = &g_array_index (gradient->stops, ColorStop, i);
|
||||
color = gtk_symbolic_color_new_alpha (stop->color, opacity);
|
||||
gtk_gradient_add_color_stop (gradient, stop->offset, color);
|
||||
gtk_gradient_add_color_stop (faded, stop->offset, color);
|
||||
gtk_symbolic_color_unref (color);
|
||||
}
|
||||
|
||||
|
||||
+3
-1
@@ -20,6 +20,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#include "gtkiconhelperprivate.h"
|
||||
#include "string.h"
|
||||
|
||||
G_DEFINE_TYPE (GtkIconHelper, _gtk_icon_helper, G_TYPE_OBJECT)
|
||||
|
||||
@@ -466,7 +467,8 @@ _gtk_icon_helper_set_stock_id (GtkIconHelper *self,
|
||||
{
|
||||
_gtk_icon_helper_clear (self);
|
||||
|
||||
if (stock_id != NULL)
|
||||
if (stock_id != NULL &&
|
||||
g_strcmp0 (stock_id, "") != 0)
|
||||
{
|
||||
self->priv->storage_type = GTK_IMAGE_STOCK;
|
||||
self->priv->stock_id = g_strdup (stock_id);
|
||||
|
||||
+21
-15
@@ -194,7 +194,7 @@ struct _GtkIconThemePrivate
|
||||
glong last_stat_time;
|
||||
GList *dir_mtimes;
|
||||
|
||||
gulong reset_styles_idle;
|
||||
gulong theme_changed_idle;
|
||||
};
|
||||
|
||||
struct _GtkIconInfo
|
||||
@@ -690,7 +690,7 @@ free_dir_mtime (IconThemeDirMtime *dir_mtime)
|
||||
}
|
||||
|
||||
static gboolean
|
||||
reset_styles_idle (gpointer user_data)
|
||||
theme_changed_idle (gpointer user_data)
|
||||
{
|
||||
GtkIconTheme *icon_theme;
|
||||
GtkIconThemePrivate *priv;
|
||||
@@ -698,14 +698,27 @@ reset_styles_idle (gpointer user_data)
|
||||
icon_theme = GTK_ICON_THEME (user_data);
|
||||
priv = icon_theme->priv;
|
||||
|
||||
g_signal_emit (icon_theme, signal_changed, 0);
|
||||
|
||||
if (priv->screen && priv->is_screen_singleton)
|
||||
gtk_style_context_reset_widgets (priv->screen);
|
||||
|
||||
priv->reset_styles_idle = 0;
|
||||
priv->theme_changed_idle = 0;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
queue_theme_changed (GtkIconTheme *icon_theme)
|
||||
{
|
||||
GtkIconThemePrivate *priv = icon_theme->priv;
|
||||
|
||||
if (!priv->theme_changed_idle)
|
||||
priv->theme_changed_idle =
|
||||
gdk_threads_add_idle_full (GTK_PRIORITY_RESIZE - 2,
|
||||
theme_changed_idle, icon_theme, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
do_theme_change (GtkIconTheme *icon_theme)
|
||||
{
|
||||
@@ -717,12 +730,7 @@ do_theme_change (GtkIconTheme *icon_theme)
|
||||
GTK_NOTE (ICONTHEME,
|
||||
g_print ("change to icon theme \"%s\"\n", priv->current_theme));
|
||||
blow_themes (icon_theme);
|
||||
g_signal_emit (icon_theme, signal_changed, 0);
|
||||
|
||||
if (!priv->reset_styles_idle)
|
||||
priv->reset_styles_idle =
|
||||
gdk_threads_add_idle_full (GTK_PRIORITY_RESIZE - 2,
|
||||
reset_styles_idle, icon_theme, NULL);
|
||||
queue_theme_changed (icon_theme);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -754,10 +762,10 @@ gtk_icon_theme_finalize (GObject *object)
|
||||
icon_theme = GTK_ICON_THEME (object);
|
||||
priv = icon_theme->priv;
|
||||
|
||||
if (priv->reset_styles_idle)
|
||||
if (priv->theme_changed_idle)
|
||||
{
|
||||
g_source_remove (priv->reset_styles_idle);
|
||||
priv->reset_styles_idle = 0;
|
||||
g_source_remove (priv->theme_changed_idle);
|
||||
priv->theme_changed_idle = 0;
|
||||
}
|
||||
|
||||
unset_screen (icon_theme);
|
||||
@@ -1297,9 +1305,7 @@ ensure_valid_themes (GtkIconTheme *icon_theme)
|
||||
load_themes (icon_theme);
|
||||
|
||||
if (was_valid)
|
||||
{
|
||||
g_signal_emit (icon_theme, signal_changed, 0);
|
||||
}
|
||||
queue_theme_changed (icon_theme);
|
||||
}
|
||||
|
||||
priv->loading_themes = FALSE;
|
||||
|
||||
+38
-12
@@ -371,28 +371,54 @@ check_quartz_special_cases (GtkIMContextSimple *context_simple,
|
||||
gint n_compose)
|
||||
{
|
||||
GtkIMContextSimplePrivate *priv = context_simple->priv;
|
||||
guint value = 0;
|
||||
|
||||
if (n_compose == 2 &&
|
||||
priv->compose_buffer[1] == GDK_KEY_space)
|
||||
if (n_compose == 2)
|
||||
{
|
||||
gunichar value = 0;
|
||||
|
||||
switch (priv->compose_buffer[0])
|
||||
{
|
||||
case GDK_KEY_dead_doubleacute:
|
||||
value = '"'; break;
|
||||
}
|
||||
switch (priv->compose_buffer[1])
|
||||
{
|
||||
case GDK_KEY_dead_doubleacute:
|
||||
case GDK_KEY_space:
|
||||
value = GDK_KEY_quotedbl; break;
|
||||
|
||||
if (value > 0)
|
||||
{
|
||||
gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple), value);
|
||||
priv->compose_buffer[0] = 0;
|
||||
case 'a': value = GDK_KEY_adiaeresis; break;
|
||||
case 'A': value = GDK_KEY_Adiaeresis; break;
|
||||
case 'e': value = GDK_KEY_ediaeresis; break;
|
||||
case 'E': value = GDK_KEY_Ediaeresis; break;
|
||||
case 'i': value = GDK_KEY_idiaeresis; break;
|
||||
case 'I': value = GDK_KEY_Idiaeresis; break;
|
||||
case 'o': value = GDK_KEY_odiaeresis; break;
|
||||
case 'O': value = GDK_KEY_Odiaeresis; break;
|
||||
case 'u': value = GDK_KEY_udiaeresis; break;
|
||||
case 'U': value = GDK_KEY_Udiaeresis; break;
|
||||
case 'y': value = GDK_KEY_ydiaeresis; break;
|
||||
case 'Y': value = GDK_KEY_Ydiaeresis; break;
|
||||
}
|
||||
break;
|
||||
|
||||
GTK_NOTE (MISC, g_print ("quartz: U+%04X\n", value));
|
||||
return TRUE;
|
||||
case GDK_KEY_dead_acute:
|
||||
switch (priv->compose_buffer[1])
|
||||
{
|
||||
case 'c': value = GDK_KEY_ccedilla; break;
|
||||
case 'C': value = GDK_KEY_Ccedilla; break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (value > 0)
|
||||
{
|
||||
gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple),
|
||||
gdk_keyval_to_unicode (value));
|
||||
priv->compose_buffer[0] = 0;
|
||||
|
||||
GTK_NOTE (MISC, g_print ("quartz: U+%04X\n", value));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -3394,7 +3394,7 @@ gtk_label_ensure_layout (GtkLabel *label)
|
||||
pango_attr_list_insert (attrs, attribute);
|
||||
}
|
||||
}
|
||||
else if (priv->markup_attrs && priv->markup_attrs)
|
||||
else if (priv->markup_attrs || priv->attrs)
|
||||
attrs = pango_attr_list_new ();
|
||||
else
|
||||
attrs = NULL;
|
||||
|
||||
+6
-4
@@ -2437,10 +2437,12 @@ list_store_start_element (GMarkupParseContext *context,
|
||||
else if (strcmp (element_name, "row") == 0)
|
||||
;
|
||||
else if (strcmp (element_name, "column") == 0)
|
||||
for (i = 0; names[i]; i++)
|
||||
if (strcmp (names[i], "type") == 0)
|
||||
data->column_type_names = g_slist_prepend (data->column_type_names,
|
||||
g_strdup (values[i]));
|
||||
{
|
||||
for (i = 0; names[i]; i++)
|
||||
if (strcmp (names[i], "type") == 0)
|
||||
data->column_type_names = g_slist_prepend (data->column_type_names,
|
||||
g_strdup (values[i]));
|
||||
}
|
||||
else if (strcmp (element_name, "columns") == 0)
|
||||
;
|
||||
else if (strcmp (element_name, "data") == 0)
|
||||
|
||||
+10
-2
@@ -1558,7 +1558,7 @@ gtk_main_do_event (GdkEvent *event)
|
||||
* This is the key to implementing modality.
|
||||
*/
|
||||
if (!grab_widget ||
|
||||
(gtk_widget_is_sensitive (event_widget) &&
|
||||
((gtk_widget_is_sensitive (event_widget) || event->type == GDK_SCROLL) &&
|
||||
gtk_widget_is_ancestor (event_widget, grab_widget)))
|
||||
grab_widget = event_widget;
|
||||
|
||||
@@ -2438,7 +2438,15 @@ propagate_event_down (GtkWidget *widget,
|
||||
widget = (GtkWidget *)l->data;
|
||||
|
||||
if (!gtk_widget_is_sensitive (widget))
|
||||
handled_event = TRUE;
|
||||
{
|
||||
/* stop propagating on SCROLL, but don't handle the event, so it
|
||||
* can propagate up again and reach its handling widget
|
||||
*/
|
||||
if (event->type == GDK_SCROLL)
|
||||
break;
|
||||
else
|
||||
handled_event = TRUE;
|
||||
}
|
||||
else
|
||||
handled_event = _gtk_widget_captured_event (widget, event);
|
||||
}
|
||||
|
||||
+21
-4
@@ -806,6 +806,23 @@ gtk_menu_button_get_menu_model (GtkMenuButton *menu_button)
|
||||
return menu_button->priv->model;
|
||||
}
|
||||
|
||||
static void
|
||||
set_align_widget_pointer (GtkMenuButton *menu_button,
|
||||
GtkWidget *align_widget)
|
||||
{
|
||||
GtkMenuButtonPrivate *priv;
|
||||
|
||||
priv = menu_button->priv;
|
||||
|
||||
if (priv->align_widget)
|
||||
g_object_remove_weak_pointer (G_OBJECT (priv->align_widget), (gpointer *) &priv->align_widget);
|
||||
|
||||
priv->align_widget = align_widget;
|
||||
|
||||
if (align_widget)
|
||||
g_object_add_weak_pointer (G_OBJECT (priv->align_widget), (gpointer *) &priv->align_widget);
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_menu_button_set_align_widget:
|
||||
* @menu_button: a #GtkMenuButton
|
||||
@@ -832,10 +849,7 @@ gtk_menu_button_set_align_widget (GtkMenuButton *menu_button,
|
||||
if (priv->align_widget == align_widget)
|
||||
return;
|
||||
|
||||
priv->align_widget = align_widget;
|
||||
|
||||
if (priv->align_widget)
|
||||
g_object_add_weak_pointer (G_OBJECT (priv->align_widget), (gpointer *) &priv->align_widget);
|
||||
set_align_widget_pointer (menu_button, align_widget);
|
||||
|
||||
g_object_notify (G_OBJECT (menu_button), "align-widget");
|
||||
}
|
||||
@@ -926,8 +940,11 @@ gtk_menu_button_dispose (GObject *object)
|
||||
menu_deactivate_cb,
|
||||
object);
|
||||
gtk_menu_detach (GTK_MENU (priv->popup));
|
||||
priv->popup = NULL;
|
||||
}
|
||||
|
||||
set_align_widget_pointer (GTK_MENU_BUTTON (object), NULL);
|
||||
|
||||
g_clear_object (&priv->model);
|
||||
|
||||
G_OBJECT_CLASS (gtk_menu_button_parent_class)->dispose (object);
|
||||
|
||||
+3
-3
@@ -1107,7 +1107,7 @@ gtk_menu_shell_leave_notify (GtkWidget *widget,
|
||||
GdkEventCrossing *event)
|
||||
{
|
||||
if (event->mode == GDK_CROSSING_GTK_GRAB ||
|
||||
event->mode == GDK_CROSSING_GTK_GRAB ||
|
||||
event->mode == GDK_CROSSING_GTK_UNGRAB ||
|
||||
event->mode == GDK_CROSSING_STATE_CHANGED)
|
||||
return TRUE;
|
||||
|
||||
@@ -1727,8 +1727,8 @@ gtk_real_menu_shell_cycle_focus (GtkMenuShell *menu_shell,
|
||||
|
||||
while (menu_shell && !GTK_IS_MENU_BAR (menu_shell))
|
||||
{
|
||||
if (priv->parent_menu_shell)
|
||||
menu_shell = GTK_MENU_SHELL (priv->parent_menu_shell);
|
||||
if (menu_shell->priv->parent_menu_shell)
|
||||
menu_shell = GTK_MENU_SHELL (menu_shell->priv->parent_menu_shell);
|
||||
else
|
||||
menu_shell = NULL;
|
||||
}
|
||||
|
||||
@@ -2495,6 +2495,7 @@ gtk_notebook_size_allocate (GtkWidget *widget,
|
||||
{
|
||||
case GTK_POS_TOP:
|
||||
child_allocation.y += priv->cur_page->requisition.height;
|
||||
/* fall thru */
|
||||
case GTK_POS_BOTTOM:
|
||||
child_allocation.height =
|
||||
MAX (1, child_allocation.height -
|
||||
@@ -2502,6 +2503,7 @@ gtk_notebook_size_allocate (GtkWidget *widget,
|
||||
break;
|
||||
case GTK_POS_LEFT:
|
||||
child_allocation.x += priv->cur_page->requisition.width;
|
||||
/* fall thru */
|
||||
case GTK_POS_RIGHT:
|
||||
child_allocation.width =
|
||||
MAX (1, child_allocation.width -
|
||||
|
||||
+2
-2
@@ -171,7 +171,7 @@ _gtk_rounded_box_grow (GtkRoundedBox *box,
|
||||
box->box.width += left + right;
|
||||
}
|
||||
|
||||
if (box->box.height + bottom + right < 0)
|
||||
if (box->box.height + bottom + top < 0)
|
||||
{
|
||||
box->box.y -= top * box->box.height / (top + bottom);
|
||||
box->box.height = 0;
|
||||
@@ -284,7 +284,7 @@ _gtk_rounded_box_guess_length (const GtkRoundedBox *box,
|
||||
GtkCssSide side)
|
||||
{
|
||||
double length;
|
||||
GtkCssCorner before, after;
|
||||
GtkCssSide before, after;
|
||||
|
||||
before = side;
|
||||
after = (side + 1) % 4;
|
||||
|
||||
+17
-12
@@ -221,6 +221,21 @@ gtk_scale_notify (GObject *object,
|
||||
G_OBJECT_CLASS (gtk_scale_parent_class)->notify (object, pspec);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_scale_update_style (GtkScale *scale)
|
||||
{
|
||||
gint slider_length;
|
||||
GtkRange *range;
|
||||
|
||||
range = GTK_RANGE (scale);
|
||||
|
||||
gtk_widget_style_get (GTK_WIDGET (scale),
|
||||
"slider-length", &slider_length,
|
||||
NULL);
|
||||
|
||||
gtk_range_set_min_slider_size (range, slider_length);
|
||||
_gtk_scale_clear_layout (scale);
|
||||
}
|
||||
|
||||
#define add_slider_binding(binding_set, keyval, mask, scroll) \
|
||||
gtk_binding_entry_add_signal (binding_set, keyval, mask, \
|
||||
@@ -492,6 +507,7 @@ gtk_scale_init (GtkScale *scale)
|
||||
|
||||
context = gtk_widget_get_style_context (GTK_WIDGET (scale));
|
||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_SCALE);
|
||||
gtk_scale_update_style (scale);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1020,18 +1036,7 @@ gtk_scale_get_mark_label_size (GtkScale *scale,
|
||||
static void
|
||||
gtk_scale_style_updated (GtkWidget *widget)
|
||||
{
|
||||
gint slider_length;
|
||||
GtkRange *range;
|
||||
|
||||
range = GTK_RANGE (widget);
|
||||
|
||||
gtk_widget_style_get (widget,
|
||||
"slider-length", &slider_length,
|
||||
NULL);
|
||||
|
||||
gtk_range_set_min_slider_size (range, slider_length);
|
||||
|
||||
_gtk_scale_clear_layout (GTK_SCALE (widget));
|
||||
gtk_scale_update_style (GTK_SCALE (widget));
|
||||
|
||||
GTK_WIDGET_CLASS (gtk_scale_parent_class)->style_updated (widget);
|
||||
}
|
||||
|
||||
+18
-11
@@ -115,21 +115,13 @@ gtk_scrollbar_class_init (GtkScrollbarClass *class)
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_scrollbar_init (GtkScrollbar *scrollbar)
|
||||
gtk_scrollbar_update_style (GtkScrollbar *scrollbar)
|
||||
{
|
||||
GtkStyleContext *context;
|
||||
|
||||
context = gtk_widget_get_style_context (GTK_WIDGET (scrollbar));
|
||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_SCROLLBAR);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_scrollbar_style_updated (GtkWidget *widget)
|
||||
{
|
||||
GtkRange *range = GTK_RANGE (widget);
|
||||
gint slider_length;
|
||||
gboolean fixed_size;
|
||||
gboolean has_a, has_b, has_c, has_d;
|
||||
GtkRange *range = GTK_RANGE (scrollbar);
|
||||
GtkWidget *widget = GTK_WIDGET (scrollbar);
|
||||
|
||||
gtk_widget_style_get (widget,
|
||||
"min-slider-length", &slider_length,
|
||||
@@ -144,7 +136,22 @@ gtk_scrollbar_style_updated (GtkWidget *widget)
|
||||
gtk_range_set_slider_size_fixed (range, fixed_size);
|
||||
_gtk_range_set_steppers (range,
|
||||
has_a, has_b, has_c, has_d);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_scrollbar_init (GtkScrollbar *scrollbar)
|
||||
{
|
||||
GtkStyleContext *context;
|
||||
|
||||
context = gtk_widget_get_style_context (GTK_WIDGET (scrollbar));
|
||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_SCROLLBAR);
|
||||
gtk_scrollbar_update_style (scrollbar);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_scrollbar_style_updated (GtkWidget *widget)
|
||||
{
|
||||
gtk_scrollbar_update_style (GTK_SCROLLBAR (widget));
|
||||
GTK_WIDGET_CLASS (gtk_scrollbar_parent_class)->style_updated (widget);
|
||||
}
|
||||
|
||||
|
||||
+1
-38
@@ -274,9 +274,6 @@ static void gtk_scrolled_window_realize (GtkWidget *wid
|
||||
static void gtk_scrolled_window_unrealize (GtkWidget *widget);
|
||||
static void gtk_scrolled_window_map (GtkWidget *widget);
|
||||
static void gtk_scrolled_window_unmap (GtkWidget *widget);
|
||||
static void gtk_scrolled_window_state_flags_changed (GtkWidget *widget,
|
||||
GtkStateFlags previous_state);
|
||||
static void gtk_scrolled_window_style_updated (GtkWidget *widget);
|
||||
|
||||
static void gtk_scrolled_window_grab_notify (GtkWidget *widget,
|
||||
gboolean was_grabbed);
|
||||
@@ -352,8 +349,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
|
||||
widget_class->unrealize = gtk_scrolled_window_unrealize;
|
||||
widget_class->map = gtk_scrolled_window_map;
|
||||
widget_class->unmap = gtk_scrolled_window_unmap;
|
||||
widget_class->state_flags_changed = gtk_scrolled_window_state_flags_changed;
|
||||
widget_class->style_updated = gtk_scrolled_window_style_updated;
|
||||
widget_class->grab_notify = gtk_scrolled_window_grab_notify;
|
||||
|
||||
container_class->add = gtk_scrolled_window_add;
|
||||
@@ -3379,14 +3374,13 @@ gtk_scrolled_window_realize (GtkWidget *widget)
|
||||
attributes.wclass = GDK_INPUT_OUTPUT;
|
||||
attributes.visual = gtk_widget_get_visual (widget);
|
||||
attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK |
|
||||
GDK_BUTTON_MOTION_MASK | GDK_TOUCH_MASK;
|
||||
GDK_BUTTON_MOTION_MASK | GDK_TOUCH_MASK | GDK_EXPOSURE_MASK;
|
||||
|
||||
attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
|
||||
|
||||
scrolled_window->priv->overshoot_window =
|
||||
gdk_window_new (gtk_widget_get_parent_window (widget),
|
||||
&attributes, attributes_mask);
|
||||
|
||||
gdk_window_set_user_data (scrolled_window->priv->overshoot_window, widget);
|
||||
|
||||
child_widget = gtk_bin_get_child (GTK_BIN (widget));
|
||||
@@ -3432,37 +3426,6 @@ gtk_scrolled_window_unmap (GtkWidget *widget)
|
||||
GTK_WIDGET_CLASS (gtk_scrolled_window_parent_class)->unmap (widget);
|
||||
}
|
||||
|
||||
static void
|
||||
_gtk_scrolled_window_update_background (GtkScrolledWindow *scrolled_window)
|
||||
{
|
||||
GtkWidget *widget = GTK_WIDGET (scrolled_window);
|
||||
|
||||
if (gtk_widget_get_realized (widget))
|
||||
{
|
||||
GtkStyleContext *context;
|
||||
|
||||
context = gtk_widget_get_style_context (widget);
|
||||
gtk_style_context_set_background (context, scrolled_window->priv->overshoot_window);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_scrolled_window_state_flags_changed (GtkWidget *widget,
|
||||
GtkStateFlags previous_state)
|
||||
{
|
||||
_gtk_scrolled_window_update_background (GTK_SCROLLED_WINDOW (widget));
|
||||
gtk_widget_queue_draw (widget);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_scrolled_window_style_updated (GtkWidget *widget)
|
||||
{
|
||||
GTK_WIDGET_CLASS (gtk_scrolled_window_parent_class)->style_updated (widget);
|
||||
|
||||
_gtk_scrolled_window_update_background (GTK_SCROLLED_WINDOW (widget));
|
||||
gtk_widget_queue_draw (widget);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_scrolled_window_grab_notify (GtkWidget *widget,
|
||||
gboolean was_grabbed)
|
||||
|
||||
@@ -1848,6 +1848,9 @@ gtk_settings_notify (GObject *object,
|
||||
if (settings_update_fontconfig (settings))
|
||||
gtk_style_context_reset_widgets (priv->screen);
|
||||
break;
|
||||
case PROP_ENABLE_ANIMATIONS:
|
||||
gtk_style_context_reset_widgets (priv->screen);
|
||||
break;
|
||||
case PROP_CURSOR_THEME_NAME:
|
||||
case PROP_CURSOR_THEME_SIZE:
|
||||
settings_update_cursor_theme (settings);
|
||||
|
||||
+7
-5
@@ -746,6 +746,11 @@ compute_dimension (GtkWidget *widget,
|
||||
min_dimension = *minimum;
|
||||
nat_dimension = *natural;
|
||||
}
|
||||
else if (!gtk_widget_get_mapped (tmp_widget) && priv->ignore_hidden)
|
||||
{
|
||||
min_dimension = 0;
|
||||
nat_dimension = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (mode == GTK_SIZE_GROUP_HORIZONTAL)
|
||||
@@ -754,11 +759,8 @@ compute_dimension (GtkWidget *widget,
|
||||
gtk_widget_get_preferred_height (tmp_widget, &min_dimension, &nat_dimension);
|
||||
}
|
||||
|
||||
if (gtk_widget_get_mapped (tmp_widget) || !priv->ignore_hidden)
|
||||
{
|
||||
min_result = MAX (min_result, min_dimension);
|
||||
nat_result = MAX (nat_result, nat_dimension);
|
||||
}
|
||||
min_result = MAX (min_result, min_dimension);
|
||||
nat_result = MAX (nat_result, nat_dimension);
|
||||
|
||||
tmp_list = tmp_list->next;
|
||||
}
|
||||
|
||||
+6
-1
@@ -1048,7 +1048,12 @@ gtk_spin_button_realize (GtkWidget *widget)
|
||||
|
||||
return_val = FALSE;
|
||||
g_signal_emit (spin_button, spinbutton_signals[OUTPUT], 0, &return_val);
|
||||
if (return_val == FALSE)
|
||||
|
||||
/* If output wasn't processed explicitly by the method connected to the
|
||||
* 'output' signal; and if we don't have any explicit 'text' set initially,
|
||||
* fallback to the default output. */
|
||||
if (!return_val &&
|
||||
(spin_button->priv->numeric || gtk_entry_get_text (GTK_ENTRY (spin_button)) == NULL))
|
||||
gtk_spin_button_default_output (spin_button);
|
||||
|
||||
gtk_widget_queue_resize (GTK_WIDGET (spin_button));
|
||||
|
||||
+19
-6
@@ -2962,6 +2962,9 @@ gtk_style_context_update_cache (GtkStyleContext *context,
|
||||
GHashTableIter iter;
|
||||
gpointer key, value;
|
||||
|
||||
if (_gtk_bitmask_is_empty (parent_changes))
|
||||
return;
|
||||
|
||||
priv = context->priv;
|
||||
|
||||
g_hash_table_iter_init (&iter, priv->style_data);
|
||||
@@ -2978,7 +2981,8 @@ gtk_style_context_update_cache (GtkStyleContext *context,
|
||||
if (_gtk_bitmask_get (changes, GTK_CSS_PROPERTY_FONT_SIZE))
|
||||
changes = _gtk_bitmask_union (changes, data->store->depends_on_font_size);
|
||||
|
||||
build_properties (context, data->store, info, changes);
|
||||
if (!_gtk_bitmask_is_empty (changes))
|
||||
build_properties (context, data->store, info, changes);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3193,7 +3197,7 @@ _gtk_style_context_validate (GtkStyleContext *context,
|
||||
_gtk_bitmask_free (animation_changes);
|
||||
}
|
||||
|
||||
if (!_gtk_bitmask_is_empty (changes))
|
||||
if (!_gtk_bitmask_is_empty (changes) || (change & GTK_CSS_CHANGE_FORCE_INVALIDATE))
|
||||
gtk_style_context_do_invalidate (context);
|
||||
|
||||
change = _gtk_css_change_for_child (change);
|
||||
@@ -3504,7 +3508,7 @@ gtk_style_context_get_font (GtkStyleContext *context,
|
||||
{
|
||||
GtkStyleContextPrivate *priv;
|
||||
StyleData *data;
|
||||
PangoFontDescription *description;
|
||||
PangoFontDescription *description, *previous;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_STYLE_CONTEXT (context), NULL);
|
||||
|
||||
@@ -3515,15 +3519,24 @@ gtk_style_context_get_font (GtkStyleContext *context,
|
||||
|
||||
/* Yuck, fonts are created on-demand but we don't return a ref.
|
||||
* Do bad things to achieve this requirement */
|
||||
description = g_object_get_data (G_OBJECT (data->store), "font-cache-for-get_font");
|
||||
if (description == NULL)
|
||||
gtk_style_context_get (context, state, "font", &description, NULL);
|
||||
|
||||
previous = g_object_get_data (G_OBJECT (data->store), "font-cache-for-get_font");
|
||||
|
||||
if (previous)
|
||||
{
|
||||
pango_font_description_merge (previous, description, TRUE);
|
||||
pango_font_description_free (description);
|
||||
description = previous;
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_style_context_get (context, state, "font", &description, NULL);
|
||||
g_object_set_data_full (G_OBJECT (data->store),
|
||||
"font-cache-for-get_font",
|
||||
description,
|
||||
(GDestroyNotify) pango_font_description_free);
|
||||
}
|
||||
|
||||
return description;
|
||||
}
|
||||
|
||||
|
||||
+32
-34
@@ -122,49 +122,43 @@ _gtk_text_handle_draw (GtkTextHandle *handle,
|
||||
}
|
||||
|
||||
static void
|
||||
_gtk_text_handle_update_shape (GtkTextHandle *handle,
|
||||
GdkWindow *window)
|
||||
_gtk_text_handle_update_shape (GtkTextHandle *handle,
|
||||
GdkWindow *window,
|
||||
GtkTextHandlePosition pos)
|
||||
{
|
||||
GtkTextHandlePrivate *priv;
|
||||
cairo_surface_t *surface;
|
||||
cairo_region_t *region;
|
||||
cairo_t *cr;
|
||||
|
||||
priv = handle->priv;
|
||||
|
||||
surface =
|
||||
gdk_window_create_similar_surface (window,
|
||||
CAIRO_CONTENT_COLOR_ALPHA,
|
||||
gdk_window_get_width (window),
|
||||
gdk_window_get_height (window));
|
||||
|
||||
cr = cairo_create (surface);
|
||||
_gtk_text_handle_draw (handle, cr, pos);
|
||||
cairo_destroy (cr);
|
||||
|
||||
region = gdk_cairo_region_create_from_surface (surface);
|
||||
|
||||
if (gtk_widget_is_composited (priv->parent))
|
||||
gdk_window_shape_combine_region (window, NULL, 0, 0);
|
||||
else
|
||||
{
|
||||
GtkTextHandlePosition pos;
|
||||
cairo_surface_t *surface;
|
||||
cairo_region_t *region;
|
||||
cairo_t *cr;
|
||||
gdk_window_shape_combine_region (window, region, 0, 0);
|
||||
|
||||
if (window == priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_START].window)
|
||||
pos = GTK_TEXT_HANDLE_POSITION_SELECTION_START;
|
||||
else if (window == priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_END].window)
|
||||
pos = GTK_TEXT_HANDLE_POSITION_SELECTION_END;
|
||||
else
|
||||
return;
|
||||
gdk_window_input_shape_combine_region (window, region, 0, 0);
|
||||
|
||||
surface =
|
||||
gdk_window_create_similar_surface (window,
|
||||
CAIRO_CONTENT_COLOR_ALPHA,
|
||||
gdk_window_get_width (window),
|
||||
gdk_window_get_height (window));
|
||||
|
||||
cr = cairo_create (surface);
|
||||
_gtk_text_handle_draw (handle, cr, pos);
|
||||
cairo_destroy (cr);
|
||||
|
||||
region = gdk_cairo_region_create_from_surface (surface);
|
||||
gdk_window_shape_combine_region (window, region, 0, 0);
|
||||
|
||||
cairo_surface_destroy (surface);
|
||||
cairo_region_destroy (region);
|
||||
}
|
||||
cairo_surface_destroy (surface);
|
||||
cairo_region_destroy (region);
|
||||
}
|
||||
|
||||
static GdkWindow *
|
||||
_gtk_text_handle_create_window (GtkTextHandle *handle)
|
||||
_gtk_text_handle_create_window (GtkTextHandle *handle,
|
||||
GtkTextHandlePosition pos)
|
||||
{
|
||||
GtkTextHandlePrivate *priv;
|
||||
GdkRGBA bg = { 0, 0, 0, 0 };
|
||||
@@ -200,7 +194,7 @@ _gtk_text_handle_create_window (GtkTextHandle *handle)
|
||||
gdk_window_set_user_data (window, priv->parent);
|
||||
gdk_window_set_background_rgba (window, &bg);
|
||||
|
||||
_gtk_text_handle_update_shape (handle, window);
|
||||
_gtk_text_handle_update_shape (handle, window, pos);
|
||||
|
||||
return window;
|
||||
}
|
||||
@@ -307,7 +301,7 @@ _gtk_text_handle_update_window (GtkTextHandle *handle,
|
||||
gdk_window_destroy (handle_window->window);
|
||||
|
||||
/* Create new window and apply old state */
|
||||
handle_window->window = _gtk_text_handle_create_window (handle);
|
||||
handle_window->window = _gtk_text_handle_create_window (handle, pos);
|
||||
|
||||
if (visible)
|
||||
{
|
||||
@@ -531,9 +525,9 @@ _gtk_text_handle_set_relative_to (GtkTextHandle *handle,
|
||||
{
|
||||
priv->relative_to = g_object_ref (window);
|
||||
priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_START].window =
|
||||
_gtk_text_handle_create_window (handle);
|
||||
_gtk_text_handle_create_window (handle, GTK_TEXT_HANDLE_POSITION_SELECTION_START);
|
||||
priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_END].window =
|
||||
_gtk_text_handle_create_window (handle);
|
||||
_gtk_text_handle_create_window (handle, GTK_TEXT_HANDLE_POSITION_SELECTION_END);
|
||||
priv->realized = TRUE;
|
||||
}
|
||||
else
|
||||
@@ -580,6 +574,10 @@ _gtk_text_handle_set_mode (GtkTextHandle *handle,
|
||||
}
|
||||
|
||||
priv->mode = mode;
|
||||
|
||||
_gtk_text_handle_update_shape (handle,
|
||||
priv->windows[GTK_TEXT_HANDLE_POSITION_CURSOR].window,
|
||||
GTK_TEXT_HANDLE_POSITION_CURSOR);
|
||||
}
|
||||
|
||||
GtkTextHandleMode
|
||||
|
||||
@@ -1674,6 +1674,7 @@ render_border (cairo_t *cr,
|
||||
border->left - other_border.left);
|
||||
render_frame_fill (cr, &other_box, &other_border, colors, dont_draw);
|
||||
}
|
||||
break;
|
||||
case GTK_BORDER_STYLE_GROOVE:
|
||||
case GTK_BORDER_STYLE_RIDGE:
|
||||
{
|
||||
|
||||
+5
-6
@@ -168,12 +168,12 @@
|
||||
* /* Fill the list store with data */
|
||||
* populate_model (list_store);
|
||||
*
|
||||
* /* Get the first iter in the list */
|
||||
* valid = gtk_tree_model_get_iter_first (list_store, &iter);
|
||||
*
|
||||
* while (valid)
|
||||
* /* Get the first iter in the list, check it is valid and walk
|
||||
* * through the list, reading each row. */
|
||||
* for (valid = gtk_tree_model_get_iter_first (list_store, &iter);
|
||||
* valid;
|
||||
* valid = gtk_tree_model_iter_next (list_store, &iter))
|
||||
* {
|
||||
* /* Walk through the list, reading each row */
|
||||
* gchar *str_data;
|
||||
* gint int_data;
|
||||
*
|
||||
@@ -190,7 +190,6 @@
|
||||
* g_free (str_data);
|
||||
*
|
||||
* row_count++;
|
||||
* valid = gtk_tree_model_iter_next (list_store, &iter);
|
||||
* }
|
||||
* </programlisting>
|
||||
* </example>
|
||||
|
||||
+6
-3
@@ -190,9 +190,12 @@ gboolean gtk_tree_path_is_ancestor (GtkTreePath *path,
|
||||
gboolean gtk_tree_path_is_descendant (GtkTreePath *path,
|
||||
GtkTreePath *ancestor);
|
||||
|
||||
/* Row reference (an object that tracks model changes so it refers to the same
|
||||
* row always; a path refers to a position, not a fixed row). You almost always
|
||||
* want to call gtk_tree_row_reference_new.
|
||||
/**
|
||||
* GtkTreeRowReference:
|
||||
*
|
||||
* A GtkTreeRowReference tracks model changes so that it always refers to the
|
||||
* same row (a #GtkTreePath refers to a position, not a fixed row). Create a
|
||||
* new GtkTreeRowReference with gtk_tree_row_reference_new().
|
||||
*/
|
||||
|
||||
GType gtk_tree_row_reference_get_type (void) G_GNUC_CONST;
|
||||
|
||||
+4
-7
@@ -8133,9 +8133,6 @@ gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view,
|
||||
{
|
||||
tree_view->priv->fixed_height_mode = 0;
|
||||
tree_view->priv->fixed_height = -1;
|
||||
|
||||
/* force a revalidation */
|
||||
install_presize_handler (tree_view);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -8154,11 +8151,11 @@ gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view,
|
||||
|
||||
tree_view->priv->fixed_height_mode = 1;
|
||||
tree_view->priv->fixed_height = -1;
|
||||
|
||||
if (tree_view->priv->tree)
|
||||
initialize_fixed_height_mode (tree_view);
|
||||
}
|
||||
|
||||
/* force a revalidation */
|
||||
install_presize_handler (tree_view);
|
||||
|
||||
g_object_notify (G_OBJECT (tree_view), "fixed-height-mode");
|
||||
}
|
||||
|
||||
@@ -16422,7 +16419,7 @@ gtk_tree_view_set_tooltip_query_cb (GtkWidget *widget,
|
||||
* for you. @column should be set to the column in @tree_view's model
|
||||
* containing the tooltip texts, or -1 to disable this feature.
|
||||
*
|
||||
* When enabled, #GtkWidget::has-tooltip will be set to %TRUE and
|
||||
* When enabled, #GtkWidget:has-tooltip will be set to %TRUE and
|
||||
* @tree_view will connect a #GtkWidget::query-tooltip signal handler.
|
||||
*
|
||||
* Note that the signal handler sets the text with gtk_tooltip_set_markup(),
|
||||
|
||||
+7
-7
@@ -22,6 +22,13 @@
|
||||
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
||||
*/
|
||||
|
||||
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
|
||||
#error "Only <gtk/gtk.h> can be included directly."
|
||||
#endif
|
||||
|
||||
#ifndef __GTK_VERSION_H__
|
||||
#define __GTK_VERSION_H__
|
||||
|
||||
/**
|
||||
* SECTION:gtkfeatures
|
||||
* @Short_description: Variables and functions to check the GTK+ version
|
||||
@@ -32,13 +39,6 @@
|
||||
* use the features described here.
|
||||
*/
|
||||
|
||||
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
|
||||
#error "Only <gtk/gtk.h> can be included directly."
|
||||
#endif
|
||||
|
||||
#ifndef __GTK_VERSION_H__
|
||||
#define __GTK_VERSION_H__
|
||||
|
||||
/**
|
||||
* GTK_MAJOR_VERSION:
|
||||
*
|
||||
|
||||
+3
-1
@@ -857,6 +857,8 @@ gtk_widget_draw_marshallerv (GClosure *closure,
|
||||
param_types);
|
||||
|
||||
cairo_restore (cr);
|
||||
|
||||
va_end (args_copy);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1960,7 +1962,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
|
||||
* button press events for buttons 4 and 5 when the wheel is turned.
|
||||
*
|
||||
* To receive this signal, the #GdkWindow associated to the widget needs
|
||||
* to enable the #GDK_BUTTON_PRESS_MASK mask.
|
||||
* to enable the #GDK_SCROLL_MASK mask.
|
||||
*
|
||||
* This signal will be sent to the grab widget if there is one.
|
||||
*
|
||||
|
||||
@@ -74,6 +74,9 @@ gtk_bitmask_new_parse (const char *string)
|
||||
static const char *tests[] = {
|
||||
"0",
|
||||
"1",
|
||||
"1000000000000000000000000000000",
|
||||
"10000000000000000000000000000000",
|
||||
"100000000000000000000000000000000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000000000000000000000000000000",
|
||||
"10000000000000000000000000000000000000000000000000000000000000000",
|
||||
"1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010",
|
||||
@@ -234,6 +237,49 @@ test_intersect (void)
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
test_intersect_hardcoded (void)
|
||||
{
|
||||
GtkBitmask *left, *right, *intersection, *expected;
|
||||
const char *left_str, *right_str;
|
||||
guint left_len, right_len;
|
||||
guint i, l, r;
|
||||
|
||||
for (l = 0; l < G_N_ELEMENTS (tests); l++)
|
||||
{
|
||||
for (r = 0; r < G_N_ELEMENTS (tests); r++)
|
||||
{
|
||||
left = masks[l];
|
||||
right = masks[r];
|
||||
left_str = tests[l];
|
||||
right_str = tests[r];
|
||||
left_len = strlen (tests[l]);
|
||||
right_len = strlen (tests[r]);
|
||||
|
||||
expected = _gtk_bitmask_new ();
|
||||
if (left_len > right_len)
|
||||
left_str += left_len - right_len;
|
||||
if (right_len > left_len)
|
||||
right_str += right_len - left_len;
|
||||
i = MIN (right_len, left_len);
|
||||
while (i--)
|
||||
{
|
||||
expected = _gtk_bitmask_set (expected, i, left_str[0] == '1' && right_str[0] == '1');
|
||||
right_str++;
|
||||
left_str++;
|
||||
}
|
||||
|
||||
intersection = _gtk_bitmask_intersect (_gtk_bitmask_copy (left), right);
|
||||
|
||||
assert_cmpmasks (intersection, expected);
|
||||
g_assert_cmpint (_gtk_bitmask_is_empty (expected), ==, !_gtk_bitmask_intersects (left, right));
|
||||
|
||||
_gtk_bitmask_free (intersection);
|
||||
_gtk_bitmask_free (expected);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#define SWAP(_a, _b) G_STMT_START{ \
|
||||
guint _tmp = _a; \
|
||||
_a = _b; \
|
||||
@@ -328,6 +374,7 @@ main (int argc, char *argv[])
|
||||
g_test_add_func ("/bitmask/set", test_set);
|
||||
g_test_add_func ("/bitmask/union", test_union);
|
||||
g_test_add_func ("/bitmask/intersect", test_intersect);
|
||||
g_test_add_func ("/bitmask/intersect_hardcoded", test_intersect_hardcoded);
|
||||
g_test_add_func ("/bitmask/invert_range", test_invert_range);
|
||||
|
||||
result = g_test_run ();
|
||||
|
||||
@@ -279,7 +279,7 @@ gtk_im_context_ime_set_client_window (GtkIMContext *context,
|
||||
HIMC himc;
|
||||
HWND hwnd;
|
||||
|
||||
hwnd = GDK_WINDOW_HWND (client_window);
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (himc)
|
||||
{
|
||||
@@ -349,16 +349,19 @@ gtk_im_context_ime_reset (GtkIMContext *context)
|
||||
if (!context_ime->client_window)
|
||||
return;
|
||||
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
|
||||
if (context_ime->preediting && ImmGetOpenStatus (himc))
|
||||
ImmNotifyIME (himc, NI_COMPOSITIONSTR, CPS_CANCEL, 0);
|
||||
if (context_ime->preediting)
|
||||
{
|
||||
if (ImmGetOpenStatus (himc))
|
||||
ImmNotifyIME (himc, NI_COMPOSITIONSTR, CPS_CANCEL, 0);
|
||||
|
||||
context_ime->preediting = FALSE;
|
||||
g_signal_emit_by_name (context, "preedit-changed");
|
||||
context_ime->preediting = FALSE;
|
||||
g_signal_emit_by_name (context, "preedit-changed");
|
||||
}
|
||||
|
||||
ImmReleaseContext (hwnd, himc);
|
||||
}
|
||||
@@ -377,7 +380,7 @@ get_utf8_preedit_string (GtkIMContextIME *context_ime, gint *pos_ret)
|
||||
|
||||
if (!context_ime->client_window)
|
||||
return g_strdup ("");
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return g_strdup ("");
|
||||
@@ -438,7 +441,7 @@ get_pango_attr_list (GtkIMContextIME *context_ime, const gchar *utf8str)
|
||||
|
||||
if (!context_ime->client_window)
|
||||
return attrs;
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return attrs;
|
||||
@@ -576,7 +579,7 @@ gtk_im_context_ime_focus_in (GtkIMContext *context)
|
||||
/* swtich current context */
|
||||
context_ime->focus = TRUE;
|
||||
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
@@ -586,7 +589,7 @@ gtk_im_context_ime_focus_in (GtkIMContext *context)
|
||||
{
|
||||
gdk_window_add_filter (toplevel,
|
||||
gtk_im_context_ime_message_filter, context_ime);
|
||||
top_hwnd = GDK_WINDOW_HWND (toplevel);
|
||||
top_hwnd = gdk_win32_window_get_impl_hwnd (toplevel);
|
||||
|
||||
context_ime->toplevel = toplevel;
|
||||
}
|
||||
@@ -649,7 +652,7 @@ gtk_im_context_ime_focus_out (GtkIMContext *context)
|
||||
/* swtich current context */
|
||||
context_ime->focus = FALSE;
|
||||
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
@@ -711,7 +714,7 @@ gtk_im_context_ime_focus_out (GtkIMContext *context)
|
||||
gdk_window_remove_filter (toplevel,
|
||||
gtk_im_context_ime_message_filter,
|
||||
context_ime);
|
||||
top_hwnd = GDK_WINDOW_HWND (toplevel);
|
||||
top_hwnd = gdk_win32_window_get_impl_hwnd (toplevel);
|
||||
|
||||
context_ime->toplevel = NULL;
|
||||
}
|
||||
@@ -745,7 +748,7 @@ gtk_im_context_ime_set_cursor_location (GtkIMContext *context,
|
||||
if (!context_ime->client_window)
|
||||
return;
|
||||
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
@@ -775,7 +778,7 @@ gtk_im_context_ime_set_use_preedit (GtkIMContext *context,
|
||||
HWND hwnd;
|
||||
HIMC himc;
|
||||
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
@@ -811,7 +814,7 @@ gtk_im_context_ime_set_preedit_font (GtkIMContext *context)
|
||||
if (!GTK_IS_WIDGET (widget))
|
||||
return;
|
||||
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
@@ -918,7 +921,7 @@ gtk_im_context_ime_message_filter (GdkXEvent *xevent,
|
||||
if (!context_ime->focus)
|
||||
return retval;
|
||||
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return retval;
|
||||
@@ -938,8 +941,8 @@ gtk_im_context_ime_message_filter (GdkXEvent *xevent,
|
||||
RECT rc;
|
||||
|
||||
hwnd_top =
|
||||
GDK_WINDOW_HWND (gdk_window_get_toplevel
|
||||
(context_ime->client_window));
|
||||
gdk_win32_window_get_impl_hwnd (gdk_window_get_toplevel
|
||||
(context_ime->client_window));
|
||||
GetWindowRect (hwnd_top, &rc);
|
||||
pt.x = wx;
|
||||
pt.y = wy;
|
||||
|
||||
@@ -1509,7 +1509,7 @@ cups_request_job_info_cb (GtkPrintBackendCups *print_backend,
|
||||
state = 0;
|
||||
|
||||
#ifdef HAVE_CUPS_API_1_6
|
||||
attr = ippFindAttribute (response, "job-state", IPP_TAG_INTEGER);
|
||||
attr = ippFindAttribute (response, "job-state", IPP_TAG_ENUM);
|
||||
state = ippGetInteger (attr, 0);
|
||||
#else
|
||||
for (attr = response->attrs; attr != NULL; attr = attr->next)
|
||||
@@ -1696,7 +1696,7 @@ typedef struct
|
||||
const gchar *member_uris;
|
||||
const gchar *location;
|
||||
const gchar *description;
|
||||
const gchar *state_msg;
|
||||
gchar *state_msg;
|
||||
const gchar *reason_msg;
|
||||
PrinterStateLevel reason_level;
|
||||
gint state;
|
||||
@@ -1732,7 +1732,7 @@ cups_printer_handle_attribute (GtkPrintBackendCups *cups_backend,
|
||||
else if (strcmp (ippGetName (attr), "printer-info") == 0)
|
||||
info->description = ippGetString (attr, 0, NULL);
|
||||
else if (strcmp (ippGetName (attr), "printer-state-message") == 0)
|
||||
info->state_msg = ippGetString (attr, 0, NULL);
|
||||
info->state_msg = g_strdup (ippGetString (attr, 0, NULL));
|
||||
else if (strcmp (ippGetName (attr), "printer-state-reasons") == 0)
|
||||
/* Store most important reason to reason_msg and set
|
||||
its importance at printer_state_reason_level */
|
||||
@@ -2130,8 +2130,8 @@ cups_request_printer_list_cb (GtkPrintBackendCups *cups_backend,
|
||||
|
||||
if (tmp_msg2 != NULL)
|
||||
{
|
||||
g_free (info->state_msg);
|
||||
info->state_msg = tmp_msg2;
|
||||
g_free (tmp_msg2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2159,14 +2159,18 @@ cups_request_printer_list_cb (GtkPrintBackendCups *cups_backend,
|
||||
if (info->reason_level >= GTK_PRINTER_STATE_LEVEL_WARNING)
|
||||
{
|
||||
if (strlen (info->state_msg) == 0)
|
||||
info->state_msg = reason_msg_desc;
|
||||
{
|
||||
g_free (info->state_msg);
|
||||
info->state_msg = reason_msg_desc;
|
||||
reason_msg_desc = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
gchar *tmp_msg = NULL;
|
||||
tmp_msg = g_strjoin (" ; ", info->state_msg,
|
||||
reason_msg_desc, NULL);
|
||||
g_free (info->state_msg);
|
||||
info->state_msg = tmp_msg;
|
||||
g_free (tmp_msg);
|
||||
}
|
||||
}
|
||||
if (reason_msg_desc != NULL)
|
||||
@@ -2195,6 +2199,7 @@ cups_request_printer_list_cb (GtkPrintBackendCups *cups_backend,
|
||||
|
||||
/* The ref is held by GtkPrintBackend, in add_printer() */
|
||||
g_object_unref (printer);
|
||||
g_free (info->state_msg);
|
||||
g_slice_free (PrinterSetupInfo, info);
|
||||
|
||||
if (attr == NULL)
|
||||
@@ -2205,7 +2210,8 @@ cups_request_printer_list_cb (GtkPrintBackendCups *cups_backend,
|
||||
as inactive if it is in the list, emitting a printer_removed signal */
|
||||
if (removed_printer_checklist != NULL)
|
||||
{
|
||||
g_list_free_full (removed_printer_checklist, (GDestroyNotify) mark_printer_inactive);
|
||||
g_list_foreach (removed_printer_checklist, (GFunc) mark_printer_inactive, backend);
|
||||
g_list_free (removed_printer_checklist);
|
||||
list_has_changed = TRUE;
|
||||
}
|
||||
|
||||
@@ -3164,7 +3170,7 @@ value_is_off (const char *value)
|
||||
static char *
|
||||
ppd_group_name (ppd_group_t *group)
|
||||
{
|
||||
return group->text;
|
||||
return group->name;
|
||||
}
|
||||
|
||||
static int
|
||||
|
||||
@@ -88,6 +88,8 @@ tests/reftests/rotated-layout.ref.ui
|
||||
tests/reftests/rotated-layout.ui
|
||||
tests/reftests/toplevel-vs-popup.ref.ui
|
||||
tests/reftests/toplevel-vs-popup.ui
|
||||
tests/reftests/treeview-fixed-height.ref.ui
|
||||
tests/reftests/treeview-fixed-height.ui
|
||||
tests/testfilechooser.c
|
||||
tests/visuals/inline-toolbar-horizontal.ui
|
||||
tests/visuals/inline-toolbar.ui
|
||||
|
||||
+399
-611
File diff suppressed because it is too large
Load Diff
+6419
-4081
File diff suppressed because it is too large
Load Diff
+455
-408
File diff suppressed because it is too large
Load Diff
+2698
-2446
File diff suppressed because it is too large
Load Diff
+8078
-7733
File diff suppressed because it is too large
Load Diff
@@ -89,6 +89,8 @@ tests/reftests/rotated-layout.ref.ui
|
||||
tests/reftests/rotated-layout.ui
|
||||
tests/reftests/toplevel-vs-popup.ref.ui
|
||||
tests/reftests/toplevel-vs-popup.ui
|
||||
tests/reftests/treeview-fixed-height.ref.ui
|
||||
tests/reftests/treeview-fixed-height.ui
|
||||
tests/testfilechooser.c
|
||||
tests/visuals/inline-toolbar-horizontal.ui
|
||||
tests/visuals/inline-toolbar.ui
|
||||
|
||||
@@ -32,8 +32,8 @@ msgstr ""
|
||||
"Project-Id-Version: gtk+ 2.8.2\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk"
|
||||
"%2b&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2012-09-20 18:23+0000\n"
|
||||
"PO-Revision-Date: 2012-08-30 09:01+0200\n"
|
||||
"POT-Creation-Date: 2013-03-20 21:17+0000\n"
|
||||
"PO-Revision-Date: 2013-04-01 16:10+0200\n"
|
||||
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
|
||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
||||
"Language: ca\n"
|
||||
@@ -91,7 +91,7 @@ msgstr "Senyaladors de depuració del GDK que s'han d'habilitar"
|
||||
#. 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:214 ../gdk/gdk.c:217 ../gtk/gtkmain.c:453 ../gtk/gtkmain.c:456
|
||||
#: ../gdk/gdk.c:214 ../gdk/gdk.c:217 ../gtk/gtkmain.c:454 ../gtk/gtkmain.c:457
|
||||
msgid "FLAGS"
|
||||
msgstr "SENYALADORS"
|
||||
|
||||
@@ -717,19 +717,19 @@ msgstr "Pàgina inicial"
|
||||
msgid "About %s"
|
||||
msgstr "Quant a %s"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2399
|
||||
#: ../gtk/gtkaboutdialog.c:2401
|
||||
msgid "Created by"
|
||||
msgstr "Creat per"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2402
|
||||
#: ../gtk/gtkaboutdialog.c:2404
|
||||
msgid "Documented by"
|
||||
msgstr "Documentat per"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2412
|
||||
#: ../gtk/gtkaboutdialog.c:2414
|
||||
msgid "Translated by"
|
||||
msgstr "Traduït per"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2417
|
||||
#: ../gtk/gtkaboutdialog.c:2419
|
||||
msgid "Artwork by"
|
||||
msgstr "Art per"
|
||||
|
||||
@@ -834,7 +834,7 @@ msgstr "No s'ha trobat l'aplicació"
|
||||
msgid "Select an application to open \"%s\""
|
||||
msgstr "Seleccioneu una aplicació per obrir «%s»"
|
||||
|
||||
#: ../gtk/gtkappchooserdialog.c:398 ../gtk/gtkappchooserwidget.c:654
|
||||
#: ../gtk/gtkappchooserdialog.c:398 ../gtk/gtkappchooserwidget.c:657
|
||||
#, c-format
|
||||
msgid "No applications available to open \"%s\""
|
||||
msgstr "No hi ha cap aplicació disponible per obrir «%s»"
|
||||
@@ -866,23 +866,23 @@ msgstr "Oblida l'associació"
|
||||
msgid "Show other applications"
|
||||
msgstr "Mostra altres aplicacions"
|
||||
|
||||
#: ../gtk/gtkappchooserwidget.c:603
|
||||
#: ../gtk/gtkappchooserwidget.c:606
|
||||
msgid "Default Application"
|
||||
msgstr "Aplicació per defecte"
|
||||
|
||||
#: ../gtk/gtkappchooserwidget.c:741
|
||||
#: ../gtk/gtkappchooserwidget.c:744
|
||||
msgid "Recommended Applications"
|
||||
msgstr "Aplicacions recomanades"
|
||||
|
||||
#: ../gtk/gtkappchooserwidget.c:756
|
||||
#: ../gtk/gtkappchooserwidget.c:759
|
||||
msgid "Related Applications"
|
||||
msgstr "Aplicacions relacionades"
|
||||
|
||||
#: ../gtk/gtkappchooserwidget.c:770
|
||||
#: ../gtk/gtkappchooserwidget.c:773
|
||||
msgid "Other Applications"
|
||||
msgstr "Altres aplicacions"
|
||||
|
||||
#: ../gtk/gtkapplication.c:1556
|
||||
#: ../gtk/gtkapplication.c:1558
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s cannot quit at this time:\n"
|
||||
@@ -1047,7 +1047,7 @@ msgstr "No vàlid"
|
||||
#. * an accelerator when the cell is clicked to change the
|
||||
#. * acelerator.
|
||||
#.
|
||||
#: ../gtk/gtkcellrendereraccel.c:416 ../gtk/gtkcellrendereraccel.c:745
|
||||
#: ../gtk/gtkcellrendereraccel.c:416 ../gtk/gtkcellrendereraccel.c:747
|
||||
msgid "New accelerator..."
|
||||
msgstr "Accelerador nou..."
|
||||
|
||||
@@ -1449,7 +1449,7 @@ msgstr "La fixació de majúscules està activada"
|
||||
msgid "Select a File"
|
||||
msgstr "Seleccioneu un fitxer"
|
||||
|
||||
#: ../gtk/gtkfilechooserbutton.c:105 ../gtk/gtkfilechooserdefault.c:1817
|
||||
#: ../gtk/gtkfilechooserbutton.c:105 ../gtk/gtkfilechooserdefault.c:1819
|
||||
msgid "Desktop"
|
||||
msgstr "Escriptori"
|
||||
|
||||
@@ -1465,23 +1465,23 @@ msgstr "Altre..."
|
||||
msgid "Type name of new folder"
|
||||
msgstr "Escriviu el nom de la carpeta nova"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:968
|
||||
#: ../gtk/gtkfilechooserdefault.c:970
|
||||
msgid "Could not retrieve information about the file"
|
||||
msgstr "No s'ha pogut obtenir informació sobre el fitxer"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:979
|
||||
#: ../gtk/gtkfilechooserdefault.c:981
|
||||
msgid "Could not add a bookmark"
|
||||
msgstr "No s'ha pogut afegir una adreça d'interès"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:990
|
||||
#: ../gtk/gtkfilechooserdefault.c:992
|
||||
msgid "Could not remove bookmark"
|
||||
msgstr "No s'ha pogut suprimir l'adreça d'interès"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1001
|
||||
#: ../gtk/gtkfilechooserdefault.c:1003
|
||||
msgid "The folder could not be created"
|
||||
msgstr "No s'ha pogut crear la carpeta"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1014
|
||||
#: ../gtk/gtkfilechooserdefault.c:1016
|
||||
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."
|
||||
@@ -1490,16 +1490,16 @@ msgstr ""
|
||||
"nom. Proveu d'utilitzar un nom diferent per a la carpeta, o bé canvieu el "
|
||||
"nom del fitxer abans de crear-la."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1028
|
||||
#: ../gtk/gtkfilechooserdefault.c:1030
|
||||
msgid "You need to choose a valid filename."
|
||||
msgstr "Cal que trieu un nom de fitxer vàlid."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1031
|
||||
#: ../gtk/gtkfilechooserdefault.c:1033
|
||||
#, c-format
|
||||
msgid "Cannot create a file under %s as it is not a folder"
|
||||
msgstr "No es pot crear un fitxer a %s, atès que no és una carpeta"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1043
|
||||
#: ../gtk/gtkfilechooserdefault.c:1045
|
||||
msgid ""
|
||||
"You may only select folders. The item that you selected is not a folder; "
|
||||
"try using a different item."
|
||||
@@ -1507,11 +1507,11 @@ msgstr ""
|
||||
"Només podeu seleccionar carpetes. L'element que heu seleccionat no és una "
|
||||
"carpeta. Torneu-ho a intentar utilitzant un element diferent."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1053
|
||||
#: ../gtk/gtkfilechooserdefault.c:1055
|
||||
msgid "Invalid file name"
|
||||
msgstr "El nom del fitxer no és vàlid"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1063
|
||||
#: ../gtk/gtkfilechooserdefault.c:1065
|
||||
msgid "The folder contents could not be displayed"
|
||||
msgstr "No s'ha pogut mostrar el contingut de la carpeta"
|
||||
|
||||
@@ -1519,194 +1519,194 @@ msgstr "No s'ha pogut mostrar el contingut de la carpeta"
|
||||
#. * is a hostname. Nautilus and the panel contain the same string
|
||||
#. * to translate.
|
||||
#.
|
||||
#: ../gtk/gtkfilechooserdefault.c:1589
|
||||
#: ../gtk/gtkfilechooserdefault.c:1591
|
||||
#, c-format
|
||||
msgid "%1$s on %2$s"
|
||||
msgstr "%1$s a %2$s"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1738
|
||||
#: ../gtk/gtkfilechooserdefault.c:1740
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1762 ../gtk/gtkfilechooserdefault.c:4988
|
||||
#: ../gtk/gtkfilechooserdefault.c:1764 ../gtk/gtkfilechooserdefault.c:4990
|
||||
msgid "Recently Used"
|
||||
msgstr "Utilitzats recentment"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2361
|
||||
#: ../gtk/gtkfilechooserdefault.c:2363
|
||||
msgid "Select which types of files are shown"
|
||||
msgstr "Seleccioneu quins tipus de fitxers es mostren"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2720
|
||||
#: ../gtk/gtkfilechooserdefault.c:2722
|
||||
#, c-format
|
||||
msgid "Add the folder '%s' to the bookmarks"
|
||||
msgstr "Afegeix la carpeta «%s» a les adreces d'interès"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2764
|
||||
#: ../gtk/gtkfilechooserdefault.c:2766
|
||||
#, c-format
|
||||
msgid "Add the current folder to the bookmarks"
|
||||
msgstr "Afegeix la carpeta actual a les adreces d'interès"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2766
|
||||
#: ../gtk/gtkfilechooserdefault.c:2768
|
||||
#, c-format
|
||||
msgid "Add the selected folders to the bookmarks"
|
||||
msgstr "Afegeix les carpetes seleccionades a les adreces d'interès"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2804
|
||||
#: ../gtk/gtkfilechooserdefault.c:2806
|
||||
#, c-format
|
||||
msgid "Remove the bookmark '%s'"
|
||||
msgstr "Suprimeix l'adreça d'interès «%s»"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2806
|
||||
#: ../gtk/gtkfilechooserdefault.c:2808
|
||||
#, c-format
|
||||
msgid "Bookmark '%s' cannot be removed"
|
||||
msgstr "No es pot suprimir l'adreça d'interès «%s»"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2813 ../gtk/gtkfilechooserdefault.c:3699
|
||||
#: ../gtk/gtkfilechooserdefault.c:2815 ../gtk/gtkfilechooserdefault.c:3701
|
||||
msgid "Remove the selected bookmark"
|
||||
msgstr "Suprimeix l'adreça d'interès seleccionada"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3377
|
||||
#: ../gtk/gtkfilechooserdefault.c:3379
|
||||
msgid "Remove"
|
||||
msgstr "Suprimeix"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3386
|
||||
#: ../gtk/gtkfilechooserdefault.c:3388
|
||||
msgid "Rename..."
|
||||
msgstr "Canvia el nom..."
|
||||
|
||||
#. Accessible object name for the file chooser's shortcuts pane
|
||||
#: ../gtk/gtkfilechooserdefault.c:3550
|
||||
#: ../gtk/gtkfilechooserdefault.c:3552
|
||||
msgid "Places"
|
||||
msgstr "Llocs"
|
||||
|
||||
#. Column header for the file chooser's shortcuts pane
|
||||
#: ../gtk/gtkfilechooserdefault.c:3607
|
||||
#: ../gtk/gtkfilechooserdefault.c:3609
|
||||
msgid "_Places"
|
||||
msgstr "_Llocs"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3687
|
||||
#: ../gtk/gtkfilechooserdefault.c:3689
|
||||
msgid "Add the selected folder to the Bookmarks"
|
||||
msgstr "Afegeix la carpeta seleccionada a les adreces d'interès"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3948
|
||||
#: ../gtk/gtkfilechooserdefault.c:3950
|
||||
msgid "Could not select file"
|
||||
msgstr "No s'ha pogut seleccionar el fitxer"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4173
|
||||
#: ../gtk/gtkfilechooserdefault.c:4175
|
||||
msgid "_Visit this file"
|
||||
msgstr "_Visita aquest fitxer"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4176
|
||||
#: ../gtk/gtkfilechooserdefault.c:4178
|
||||
msgid "_Copy file's location"
|
||||
msgstr "_Copia la ubicació del fitxer"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4179
|
||||
#: ../gtk/gtkfilechooserdefault.c:4181
|
||||
msgid "_Add to Bookmarks"
|
||||
msgstr "_Afegeix a les adreces d'interès"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4186
|
||||
#: ../gtk/gtkfilechooserdefault.c:4188
|
||||
msgid "Show _Hidden Files"
|
||||
msgstr "Mostra els fitxers _ocults"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4189
|
||||
#: ../gtk/gtkfilechooserdefault.c:4191
|
||||
msgid "Show _Size Column"
|
||||
msgstr "Mostra la columna de la _mida"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4414
|
||||
#: ../gtk/gtkfilechooserdefault.c:4416
|
||||
msgid "Files"
|
||||
msgstr "Fitxers"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4465
|
||||
#: ../gtk/gtkfilechooserdefault.c:4467
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4488
|
||||
#: ../gtk/gtkfilechooserdefault.c:4490
|
||||
msgid "Size"
|
||||
msgstr "Mida"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4502
|
||||
#: ../gtk/gtkfilechooserdefault.c:4504
|
||||
msgid "Modified"
|
||||
msgstr "Modificat"
|
||||
|
||||
#. Label
|
||||
#: ../gtk/gtkfilechooserdefault.c:4595
|
||||
#: ../gtk/gtkfilechooserdefault.c:4597
|
||||
msgid "_Name:"
|
||||
msgstr "_Nom:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4826
|
||||
#: ../gtk/gtkfilechooserdefault.c:4828
|
||||
msgid "Type a file name"
|
||||
msgstr "Escriviu un nom de fitxer"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4873 ../gtk/gtkfilechooserdefault.c:4884
|
||||
#: ../gtk/gtkfilechooserdefault.c:4875 ../gtk/gtkfilechooserdefault.c:4886
|
||||
msgid "Please select a folder below"
|
||||
msgstr "Seleccioneu una carpeta a continuació"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4879
|
||||
#: ../gtk/gtkfilechooserdefault.c:4881
|
||||
msgid "Please type a file name"
|
||||
msgstr "Escriviu un nom de fitxer"
|
||||
|
||||
#. Create Folder
|
||||
#: ../gtk/gtkfilechooserdefault.c:4950
|
||||
#: ../gtk/gtkfilechooserdefault.c:4952
|
||||
msgid "Create Fo_lder"
|
||||
msgstr "Crea una ca_rpeta"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4998
|
||||
#: ../gtk/gtkfilechooserdefault.c:5000
|
||||
msgid "Search:"
|
||||
msgstr "Cerca:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:5049
|
||||
#: ../gtk/gtkfilechooserdefault.c:5051
|
||||
msgid "_Location:"
|
||||
msgstr "_Ubicació:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:5500
|
||||
#: ../gtk/gtkfilechooserdefault.c:5502
|
||||
msgid "Save in _folder:"
|
||||
msgstr "De_sa a la carpeta:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:5502
|
||||
#: ../gtk/gtkfilechooserdefault.c:5504
|
||||
msgid "Create in _folder:"
|
||||
msgstr "Crea a la _carpeta:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6589
|
||||
#: ../gtk/gtkfilechooserdefault.c:6591
|
||||
#, c-format
|
||||
msgid "Could not read the contents of %s"
|
||||
msgstr "No s'ha pogut llegir el contingut de %s"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6593
|
||||
#: ../gtk/gtkfilechooserdefault.c:6595
|
||||
msgid "Could not read the contents of the folder"
|
||||
msgstr "No s'ha pogut llegir el contingut de la carpeta"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6686 ../gtk/gtkfilechooserdefault.c:6754
|
||||
#: ../gtk/gtkfilechooserdefault.c:6934
|
||||
#: ../gtk/gtkfilechooserdefault.c:6688 ../gtk/gtkfilechooserdefault.c:6756
|
||||
#: ../gtk/gtkfilechooserdefault.c:6936
|
||||
msgid "Unknown"
|
||||
msgstr "Desconegut"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6701
|
||||
#: ../gtk/gtkfilechooserdefault.c:6703
|
||||
msgid "%H:%M"
|
||||
msgstr "%H:%M"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6703
|
||||
#: ../gtk/gtkfilechooserdefault.c:6705
|
||||
msgid "Yesterday at %H:%M"
|
||||
msgstr "Ahir a les %H:%M"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:7405
|
||||
#: ../gtk/gtkfilechooserdefault.c:7407
|
||||
msgid "Cannot change to folder because it is not local"
|
||||
msgstr "No es pot canviar a la carpeta perquè no és local"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8009 ../gtk/gtkfilechooserdefault.c:8030
|
||||
#: ../gtk/gtkfilechooserdefault.c:8014 ../gtk/gtkfilechooserdefault.c:8035
|
||||
#, c-format
|
||||
msgid "Shortcut %s already exists"
|
||||
msgstr "La drecera %s ja existeix"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8120
|
||||
#: ../gtk/gtkfilechooserdefault.c:8125
|
||||
#, c-format
|
||||
msgid "Shortcut %s does not exist"
|
||||
msgstr "La drecera %s no existeix"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8366 ../gtk/gtkprintunixdialog.c:548
|
||||
#: ../gtk/gtkfilechooserdefault.c:8371 ../gtk/gtkprintunixdialog.c:548
|
||||
#, c-format
|
||||
msgid "A file named \"%s\" already exists. Do you want to replace it?"
|
||||
msgstr "Ja existeix un fitxer amb el nom «%s». Voleu reemplaçar-lo?"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8369 ../gtk/gtkprintunixdialog.c:552
|
||||
#: ../gtk/gtkfilechooserdefault.c:8374 ../gtk/gtkprintunixdialog.c:552
|
||||
#, c-format
|
||||
msgid ""
|
||||
"The file already exists in \"%s\". Replacing it will overwrite its contents."
|
||||
@@ -1714,15 +1714,15 @@ msgstr ""
|
||||
"El fitxer ja existeix a «%s». Si el reemplaceu en sobreescriureu el "
|
||||
"contingut."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8374 ../gtk/gtkprintunixdialog.c:559
|
||||
#: ../gtk/gtkfilechooserdefault.c:8379 ../gtk/gtkprintunixdialog.c:559
|
||||
msgid "_Replace"
|
||||
msgstr "_Reemplaça"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:9181
|
||||
#: ../gtk/gtkfilechooserdefault.c:9186
|
||||
msgid "Could not start the search process"
|
||||
msgstr "No s'ha pogut iniciar el procés de cerca"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:9182
|
||||
#: ../gtk/gtkfilechooserdefault.c:9187
|
||||
msgid ""
|
||||
"The program was not able to create a connection to the indexer daemon. "
|
||||
"Please make sure it is running."
|
||||
@@ -1730,11 +1730,11 @@ msgstr ""
|
||||
"El programa no ha pogut crear cap connexió al dimoni d'indexació. Assegureu-"
|
||||
"vos que s'està executant."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:9196
|
||||
#: ../gtk/gtkfilechooserdefault.c:9201
|
||||
msgid "Could not send the search request"
|
||||
msgstr "No s'ha pogut enviar la sol·licitud de cerca"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:9806
|
||||
#: ../gtk/gtkfilechooserdefault.c:9811
|
||||
#, c-format
|
||||
msgid "Could not mount %s"
|
||||
msgstr "No s'ha pogut muntar %s"
|
||||
@@ -1813,13 +1813,13 @@ msgstr "Obre l'_enllaç"
|
||||
msgid "Copy _Link Address"
|
||||
msgstr "Copia l'adreça de l'en_llaç"
|
||||
|
||||
#: ../gtk/gtk-launch.c:69
|
||||
#: ../gtk/gtk-launch.c:73
|
||||
msgid "APPLICATION [URI...] - launch an APPLICATION with URI."
|
||||
msgstr "APLICACIÓ [URI] - executa una APLICACIÓ amb una URI."
|
||||
|
||||
#. Translators: this message will appear after the usage string
|
||||
#. and before the list of options.
|
||||
#: ../gtk/gtk-launch.c:73
|
||||
#: ../gtk/gtk-launch.c:77
|
||||
msgid ""
|
||||
"Launch specified application by its desktop file info\n"
|
||||
"optionally passing list of URIs as arguments."
|
||||
@@ -1827,34 +1827,41 @@ msgstr ""
|
||||
"Executa l'aplicació especificada pel seu fitxer d'informació\n"
|
||||
"d'escriptori amb una llista opcional d'URI com a arguments."
|
||||
|
||||
#: ../gtk/gtk-launch.c:85
|
||||
#: ../gtk/gtk-launch.c:89
|
||||
#, c-format
|
||||
msgid "Error parsing commandline options: %s\n"
|
||||
msgstr ""
|
||||
"S'ha produït un error en analitzar les opcions de la línia d'ordres: %s\n"
|
||||
|
||||
#: ../gtk/gtk-launch.c:87 ../gtk/gtk-launch.c:100
|
||||
#: ../gtk/gtk-launch.c:91 ../gtk/gtk-launch.c:104
|
||||
#, c-format
|
||||
msgid "Try \"%s --help\" for more information."
|
||||
msgstr "Per a més informació proveu «%s --help»."
|
||||
|
||||
#. Translators: the %s is the program name. This error message
|
||||
#. means the user is calling gtk-launch without any argument.
|
||||
#: ../gtk/gtk-launch.c:98
|
||||
#: ../gtk/gtk-launch.c:102
|
||||
#, c-format
|
||||
msgid "%s: missing application name"
|
||||
msgstr "%s: manca el nom de l'aplicació"
|
||||
|
||||
#: ../gtk/gtk-launch.c:123
|
||||
#, c-format
|
||||
msgid "Creating AppInfo from id not supported on non unix operating systems"
|
||||
msgstr ""
|
||||
"No es poden crear «AppInfo» a partir d'identificadors en sistemes operatius "
|
||||
"que no siguin UNIX"
|
||||
|
||||
#. Translators: the first %s is the program name, the second one
|
||||
#. is the application name.
|
||||
#: ../gtk/gtk-launch.c:122
|
||||
#: ../gtk/gtk-launch.c:131
|
||||
#, c-format
|
||||
msgid "%s: no such application %s"
|
||||
msgstr "%s: no existeix l'aplicació %s"
|
||||
|
||||
#. Translators: the first %s is the program name, the second one
|
||||
#. is the error message.
|
||||
#: ../gtk/gtk-launch.c:140
|
||||
#: ../gtk/gtk-launch.c:149
|
||||
#, c-format
|
||||
msgid "%s: error launching application: %s\n"
|
||||
msgstr "%s: s'ha produït un error en executar l'aplicació: %s\n"
|
||||
@@ -1900,27 +1907,27 @@ msgstr ""
|
||||
"Contacteu amb l'administrador del sistema"
|
||||
|
||||
#. Description of --gtk-module=MODULES in --help output
|
||||
#: ../gtk/gtkmain.c:446
|
||||
#: ../gtk/gtkmain.c:447
|
||||
msgid "Load additional GTK+ modules"
|
||||
msgstr "Carrega mòduls del GTK+ addicionals"
|
||||
|
||||
#. Placeholder in --gtk-module=MODULES in --help output
|
||||
#: ../gtk/gtkmain.c:447
|
||||
#: ../gtk/gtkmain.c:448
|
||||
msgid "MODULES"
|
||||
msgstr "MÒDULS"
|
||||
|
||||
#. Description of --g-fatal-warnings in --help output
|
||||
#: ../gtk/gtkmain.c:449
|
||||
#: ../gtk/gtkmain.c:450
|
||||
msgid "Make all warnings fatal"
|
||||
msgstr "Considera tots els avisos com a greus"
|
||||
|
||||
#. Description of --gtk-debug=FLAGS in --help output
|
||||
#: ../gtk/gtkmain.c:452
|
||||
#: ../gtk/gtkmain.c:453
|
||||
msgid "GTK+ debugging flags to set"
|
||||
msgstr "Senyaladors de depuració de GTK+ que s'han d'habilitar"
|
||||
|
||||
#. Description of --gtk-no-debug=FLAGS in --help output
|
||||
#: ../gtk/gtkmain.c:455
|
||||
#: ../gtk/gtkmain.c:456
|
||||
msgid "GTK+ debugging flags to unset"
|
||||
msgstr "Senyaladors de depuració de GTK+ que s'han d'inhabilitar"
|
||||
|
||||
@@ -1931,20 +1938,20 @@ msgstr "Senyaladors de depuració de GTK+ que s'han d'inhabilitar"
|
||||
#. * Do *not* translate it to "predefinito:LTR", if it
|
||||
#. * it isn't default:LTR or default:RTL it will not work
|
||||
#.
|
||||
#: ../gtk/gtkmain.c:707
|
||||
#: ../gtk/gtkmain.c:704
|
||||
msgid "default:LTR"
|
||||
msgstr "default:LTR"
|
||||
|
||||
#: ../gtk/gtkmain.c:775
|
||||
#: ../gtk/gtkmain.c:772
|
||||
#, c-format
|
||||
msgid "Cannot open display: %s"
|
||||
msgstr "No es pot obrir la pantalla: %s"
|
||||
|
||||
#: ../gtk/gtkmain.c:841
|
||||
#: ../gtk/gtkmain.c:838
|
||||
msgid "GTK+ Options"
|
||||
msgstr "Opcions del GTK+"
|
||||
|
||||
#: ../gtk/gtkmain.c:841
|
||||
#: ../gtk/gtkmain.c:838
|
||||
msgid "Show GTK+ Options"
|
||||
msgstr "Mostra les opcions del GTK+"
|
||||
|
||||
@@ -2033,7 +2040,7 @@ msgstr "Intèrpret d'ordres «Z»"
|
||||
msgid "Cannot end process with PID %d: %s"
|
||||
msgstr "No es pot finalitzar el procés amb el PID %d: %s"
|
||||
|
||||
#: ../gtk/gtknotebook.c:5051 ../gtk/gtknotebook.c:7705
|
||||
#: ../gtk/gtknotebook.c:5053 ../gtk/gtknotebook.c:7707
|
||||
#, c-format
|
||||
msgid "Page %u"
|
||||
msgstr "Pàgina %u"
|
||||
@@ -2041,14 +2048,14 @@ msgstr "Pàgina %u"
|
||||
#. Translators: the format here is used to build the string that will be rendered
|
||||
#. * in the number emblem.
|
||||
#.
|
||||
#: ../gtk/gtknumerableicon.c:481
|
||||
#: ../gtk/gtknumerableicon.c:482
|
||||
#, c-format
|
||||
msgctxt "Number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../gtk/gtkpagesetup.c:646 ../gtk/gtkpapersize.c:846
|
||||
#: ../gtk/gtkpapersize.c:886
|
||||
#: ../gtk/gtkpagesetup.c:646 ../gtk/gtkpapersize.c:848
|
||||
#: ../gtk/gtkpapersize.c:888
|
||||
msgid "Not a valid page setup file"
|
||||
msgstr "No és un fitxer de configuració de pàgina vàlid"
|
||||
|
||||
@@ -2109,7 +2116,7 @@ msgstr "Avall"
|
||||
msgid "File System Root"
|
||||
msgstr "Arrel del sistema de fitxers"
|
||||
|
||||
#: ../gtk/gtkprintbackend.c:748
|
||||
#: ../gtk/gtkprintbackend.c:750
|
||||
msgid "Authentication"
|
||||
msgstr "Autenticació"
|
||||
|
||||
@@ -2340,42 +2347,42 @@ msgstr "General"
|
||||
#. * multiple pages on a sheet when printing
|
||||
#.
|
||||
#: ../gtk/gtkprintunixdialog.c:3058
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3692
|
||||
msgid "Left to right, top to bottom"
|
||||
msgstr "D'esquerra a dreta, de dalt a baix"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3058
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3692
|
||||
msgid "Left to right, bottom to top"
|
||||
msgstr "D'esquerra a dreta, de baix a dalt"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3059
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3693
|
||||
msgid "Right to left, top to bottom"
|
||||
msgstr "De dreta a esquerra, de dalt a baix"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3059
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3693
|
||||
msgid "Right to left, bottom to top"
|
||||
msgstr "De dreta a esquerra, de baix a dalt"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3060
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3688
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3694
|
||||
msgid "Top to bottom, left to right"
|
||||
msgstr "De dalt a baix, d'esquerra a dreta"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3060
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3688
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3694
|
||||
msgid "Top to bottom, right to left"
|
||||
msgstr "De dalt a baix, de dreta a esquerra"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3061
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3689
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3695
|
||||
msgid "Bottom to top, left to right"
|
||||
msgstr "De baix a dalt, d'esquerra a dreta"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3061
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3689
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3695
|
||||
msgid "Bottom to top, right to left"
|
||||
msgstr "De baix a dalt, de dreta a esquerra"
|
||||
|
||||
@@ -2383,7 +2390,7 @@ msgstr "De baix a dalt, de dreta a esquerra"
|
||||
#. * dialog that controls in what order multiple pages are arranged
|
||||
#.
|
||||
#: ../gtk/gtkprintunixdialog.c:3065 ../gtk/gtkprintunixdialog.c:3078
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3766
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3772
|
||||
msgid "Page Ordering"
|
||||
msgstr "Ordenació de les pàgines"
|
||||
|
||||
@@ -3377,7 +3384,7 @@ msgstr ""
|
||||
msgid "Unexpected character data on line %d char %d"
|
||||
msgstr "S'han trobat dades de caràcter inesperades a la línia %d, caràcter %d"
|
||||
|
||||
#: ../gtk/gtkuimanager.c:2738
|
||||
#: ../gtk/gtkuimanager.c:2694
|
||||
msgid "Empty"
|
||||
msgstr "Buit"
|
||||
|
||||
@@ -4566,155 +4573,155 @@ msgstr "En pausa; es refusen les tasques"
|
||||
msgid "Rejecting Jobs"
|
||||
msgstr "Es refusen les tasques"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2909
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2915
|
||||
msgid "Two Sided"
|
||||
msgstr "Doble cara"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2910
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2916
|
||||
msgid "Paper Type"
|
||||
msgstr "Tipus de paper"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2911
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2917
|
||||
msgid "Paper Source"
|
||||
msgstr "Font del paper"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2912
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2918
|
||||
msgid "Output Tray"
|
||||
msgstr "Safata de sortida"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2913
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2919
|
||||
msgid "Resolution"
|
||||
msgstr "Resolució"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2914
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2920
|
||||
msgid "GhostScript pre-filtering"
|
||||
msgstr "Filtrat previ del GhostScript"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2923
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2929
|
||||
msgid "One Sided"
|
||||
msgstr "Una cara"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2925
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2931
|
||||
msgid "Long Edge (Standard)"
|
||||
msgstr "Cantó llarg (estàndard)"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2927
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2933
|
||||
msgid "Short Edge (Flip)"
|
||||
msgstr "Cantó curt (capgirat)"
|
||||
|
||||
#. Translators: this is an option of "Paper Source"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2929
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2931
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2939
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2935
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2937
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2945
|
||||
msgid "Auto Select"
|
||||
msgstr "Selecció automàtica"
|
||||
|
||||
#. Translators: this is an option of "Paper Source"
|
||||
#. Translators: this is an option of "Resolution"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2933
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2935
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2937
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2939
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2941
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3429
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2943
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2947
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3435
|
||||
msgid "Printer Default"
|
||||
msgstr "Per defecte de la impressora"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2943
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2949
|
||||
msgid "Embed GhostScript fonts only"
|
||||
msgstr "Incrusta només els tipus de lletra GhostScript"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2945
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2951
|
||||
msgid "Convert to PS level 1"
|
||||
msgstr "Converteix a PS, nivell 1"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2947
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2953
|
||||
msgid "Convert to PS level 2"
|
||||
msgstr "Converteix a PS, nivell 2"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2949
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2955
|
||||
msgid "No pre-filtering"
|
||||
msgstr "Sense filtratge previ"
|
||||
|
||||
#. 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:2958
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2964
|
||||
msgid "Miscellaneous"
|
||||
msgstr "Miscel·lània"
|
||||
|
||||
#. Translators: These strings name the possible values of the
|
||||
#. * job priority option in the print dialog
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
msgid "Urgent"
|
||||
msgstr "Urgent"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
msgid "High"
|
||||
msgstr "Alta"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
msgid "Medium"
|
||||
msgstr "Mitjana"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
msgid "Low"
|
||||
msgstr "Baixa"
|
||||
|
||||
#. Translators, this string is used to label the job priority option
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3711
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3717
|
||||
msgid "Job Priority"
|
||||
msgstr "Prioritat de la tasca"
|
||||
|
||||
#. Translators, this string is used to label the billing info entry
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3722
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3728
|
||||
msgid "Billing Info"
|
||||
msgstr "Informació de facturació"
|
||||
|
||||
#. Translators, these strings are names for various 'standard' cover
|
||||
#. * pages that the printing system may support.
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "None"
|
||||
msgstr "Cap"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Classified"
|
||||
msgstr "Classificat"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Confidential"
|
||||
msgstr "Confidencial"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Secret"
|
||||
msgstr "Secret"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Standard"
|
||||
msgstr "Estàndard"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Top Secret"
|
||||
msgstr "Alt secret"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Unclassified"
|
||||
msgstr "No classificat"
|
||||
|
||||
#. Translators, this string is used to label the pages-per-sheet option
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3748
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3754
|
||||
msgid "Pages per Sheet"
|
||||
msgstr "Pàgines per full"
|
||||
|
||||
@@ -4722,7 +4729,7 @@ msgstr "Pàgines per full"
|
||||
#. Translators, this is the label used for the option in the print
|
||||
#. * dialog that controls the front cover page.
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3808
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3814
|
||||
msgid "Before"
|
||||
msgstr "Abans"
|
||||
|
||||
@@ -4730,7 +4737,7 @@ msgstr "Abans"
|
||||
#. Translators, this is the label used for the option in the print
|
||||
#. * dialog that controls the back cover page.
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3823
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3829
|
||||
msgid "After"
|
||||
msgstr "Després"
|
||||
|
||||
@@ -4738,7 +4745,7 @@ msgstr "Després"
|
||||
#. * a print job is printed. Possible values are 'now', a specified time,
|
||||
#. * or 'on hold'
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3843
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3849
|
||||
msgid "Print at"
|
||||
msgstr "Imprimeix"
|
||||
|
||||
@@ -4746,7 +4753,7 @@ msgstr "Imprimeix"
|
||||
#. 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:3854
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3860
|
||||
msgid "Print at time"
|
||||
msgstr "Imprimeix a una hora o data determinada"
|
||||
|
||||
@@ -4754,18 +4761,18 @@ msgstr "Imprimeix a una hora o data determinada"
|
||||
#. * size. The two placeholders are replaced with the width and height
|
||||
#. * in points. E.g: "Custom 230.4x142.9"
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3889
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3895
|
||||
#, c-format
|
||||
msgid "Custom %sx%s"
|
||||
msgstr "Personalitzat %sx%s"
|
||||
|
||||
# Connectada? (josep)
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3970
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3976
|
||||
msgid "Printer Profile"
|
||||
msgstr "Perfil de la impressora"
|
||||
|
||||
#. TRANSLATORS: this is when color profile information is unavailable
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3977
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3983
|
||||
msgid "Unavailable"
|
||||
msgstr "No està disponible"
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
# Copyright (C) 2003, 2004, 2005 Miloslav Trmac <mitr@volny.cz>.
|
||||
# Copyright (C) 2006 Lukas Novotny <lukasnov@cvs.gnome.org>.
|
||||
# This file is distributed under the same license as the gtk+ package.
|
||||
#
|
||||
# Stanislav Brabec <utx@k332.feld.cvut.cz>, 1998.
|
||||
# Jiří Pavlovský <pavlovsk@ff.cuni.cz>, 1998.
|
||||
# Jiří Lebl <jirka@5z.com>, 2002.
|
||||
@@ -11,22 +12,23 @@
|
||||
# Jakub Friedl <jfriedl@suse.cz>, 2006.
|
||||
# Lukas Novotny <lukasnov@cvs.gnome.org>, 2006.
|
||||
# Petr Kovar <pknbe@volny.cz>, 2007, 2008, 2009, 2010, 2011, 2012.
|
||||
# Marek Černocký <marek@manet.cz>, 2012.
|
||||
# Marek Černocký <marek@manet.cz>, 2012, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk+\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%"
|
||||
"2b&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2012-09-23 23:34+0000\n"
|
||||
"PO-Revision-Date: 2012-09-24 17:17+0200\n"
|
||||
"Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
|
||||
"Project-Id-Version: gtk+ gtk-3.6\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk"
|
||||
"%2b&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2013-02-08 15:47+0000\n"
|
||||
"PO-Revision-Date: 2013-02-17 20:00+0100\n"
|
||||
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
||||
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
||||
"Language: cs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Virtaal 0.7.1\n"
|
||||
"X-Generator: Gtranslator 2.91.6\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../gdk/gdk.c:155
|
||||
@@ -78,7 +80,7 @@ msgstr "Ladicí příznaky GDK, které nastaví"
|
||||
#. 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:214 ../gdk/gdk.c:217 ../gtk/gtkmain.c:453 ../gtk/gtkmain.c:456
|
||||
#: ../gdk/gdk.c:214 ../gdk/gdk.c:217 ../gtk/gtkmain.c:454 ../gtk/gtkmain.c:457
|
||||
msgid "FLAGS"
|
||||
msgstr "PŘÍZNAKY"
|
||||
|
||||
@@ -696,19 +698,19 @@ msgstr "Domovská stránka"
|
||||
msgid "About %s"
|
||||
msgstr "O aplikaci %s"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2399
|
||||
#: ../gtk/gtkaboutdialog.c:2401
|
||||
msgid "Created by"
|
||||
msgstr "Vytvořili"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2402
|
||||
#: ../gtk/gtkaboutdialog.c:2404
|
||||
msgid "Documented by"
|
||||
msgstr "Zdokumentovali"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2412
|
||||
#: ../gtk/gtkaboutdialog.c:2414
|
||||
msgid "Translated by"
|
||||
msgstr "Přeložili"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2417
|
||||
#: ../gtk/gtkaboutdialog.c:2419
|
||||
msgid "Artwork by"
|
||||
msgstr "Grafika"
|
||||
|
||||
@@ -791,7 +793,6 @@ msgid "Failed to look for applications online"
|
||||
msgstr "Vyhledání aplikací online se nezdařilo"
|
||||
|
||||
#: ../gtk/gtkappchooserdialog.c:188
|
||||
#| msgid "Find applications online"
|
||||
msgid "_Find applications online"
|
||||
msgstr "_Vyhledat aplikace online"
|
||||
|
||||
@@ -814,7 +815,7 @@ msgstr "Nelze nalézt aplikaci"
|
||||
msgid "Select an application to open \"%s\""
|
||||
msgstr "Vyberte aplikaci k zobrazení souboru „%s“"
|
||||
|
||||
#: ../gtk/gtkappchooserdialog.c:398 ../gtk/gtkappchooserwidget.c:654
|
||||
#: ../gtk/gtkappchooserdialog.c:398 ../gtk/gtkappchooserwidget.c:657
|
||||
#, c-format
|
||||
msgid "No applications available to open \"%s\""
|
||||
msgstr "K zobrazení souboru „%s“ nejsou k dispozici žádné aplikace"
|
||||
@@ -846,23 +847,23 @@ msgstr "Zapomenout asociaci"
|
||||
msgid "Show other applications"
|
||||
msgstr "Zobrazit další aplikace"
|
||||
|
||||
#: ../gtk/gtkappchooserwidget.c:603
|
||||
#: ../gtk/gtkappchooserwidget.c:606
|
||||
msgid "Default Application"
|
||||
msgstr "Výchozí aplikace"
|
||||
|
||||
#: ../gtk/gtkappchooserwidget.c:741
|
||||
#: ../gtk/gtkappchooserwidget.c:744
|
||||
msgid "Recommended Applications"
|
||||
msgstr "Doporučené aplikace"
|
||||
|
||||
#: ../gtk/gtkappchooserwidget.c:756
|
||||
#: ../gtk/gtkappchooserwidget.c:759
|
||||
msgid "Related Applications"
|
||||
msgstr "Související aplikace"
|
||||
|
||||
#: ../gtk/gtkappchooserwidget.c:770
|
||||
#: ../gtk/gtkappchooserwidget.c:773
|
||||
msgid "Other Applications"
|
||||
msgstr "Další aplikace"
|
||||
|
||||
#: ../gtk/gtkapplication.c:1556
|
||||
#: ../gtk/gtkapplication.c:1558
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s cannot quit at this time:\n"
|
||||
@@ -1025,7 +1026,7 @@ msgstr "Neplatné"
|
||||
#. * an accelerator when the cell is clicked to change the
|
||||
#. * acelerator.
|
||||
#.
|
||||
#: ../gtk/gtkcellrendereraccel.c:416 ../gtk/gtkcellrendereraccel.c:745
|
||||
#: ../gtk/gtkcellrendereraccel.c:416 ../gtk/gtkcellrendereraccel.c:747
|
||||
msgid "New accelerator..."
|
||||
msgstr "Nová klávesová zkratka…"
|
||||
|
||||
@@ -1425,7 +1426,7 @@ msgstr "Funkce Caps Lock je zapnuta"
|
||||
msgid "Select a File"
|
||||
msgstr "Vyberte soubor"
|
||||
|
||||
#: ../gtk/gtkfilechooserbutton.c:105 ../gtk/gtkfilechooserdefault.c:1817
|
||||
#: ../gtk/gtkfilechooserbutton.c:105 ../gtk/gtkfilechooserdefault.c:1819
|
||||
msgid "Desktop"
|
||||
msgstr "Pracovní plocha"
|
||||
|
||||
@@ -1441,23 +1442,23 @@ msgstr "Jiné…"
|
||||
msgid "Type name of new folder"
|
||||
msgstr "Zadání názvu nové složky"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:968
|
||||
#: ../gtk/gtkfilechooserdefault.c:970
|
||||
msgid "Could not retrieve information about the file"
|
||||
msgstr "O souboru nelze získat informace"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:979
|
||||
#: ../gtk/gtkfilechooserdefault.c:981
|
||||
msgid "Could not add a bookmark"
|
||||
msgstr "Nelze přidat záložku"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:990
|
||||
#: ../gtk/gtkfilechooserdefault.c:992
|
||||
msgid "Could not remove bookmark"
|
||||
msgstr "Nelze odstranit záložku"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1001
|
||||
#: ../gtk/gtkfilechooserdefault.c:1003
|
||||
msgid "The folder could not be created"
|
||||
msgstr "Složku nelze vytvořit"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1014
|
||||
#: ../gtk/gtkfilechooserdefault.c:1016
|
||||
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."
|
||||
@@ -1465,16 +1466,16 @@ msgstr ""
|
||||
"Složku nelze vytvořit, protože již existuje soubor se stejným názvem. Zkuste "
|
||||
"pro složku použít jiný název, nebo nejprve přejmenovat soubor."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1028
|
||||
#: ../gtk/gtkfilechooserdefault.c:1030
|
||||
msgid "You need to choose a valid filename."
|
||||
msgstr "Vybraný název souboru musí být platný."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1031
|
||||
#: ../gtk/gtkfilechooserdefault.c:1033
|
||||
#, c-format
|
||||
msgid "Cannot create a file under %s as it is not a folder"
|
||||
msgstr "V %s nelze vytvořit soubor, jelikož se nejedná o složku"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1043
|
||||
#: ../gtk/gtkfilechooserdefault.c:1045
|
||||
msgid ""
|
||||
"You may only select folders. The item that you selected is not a folder; "
|
||||
"try using a different item."
|
||||
@@ -1482,11 +1483,11 @@ msgstr ""
|
||||
"Vybrat lze pouze složky. Vybraná položka není složkou; zkuste použít jinou "
|
||||
"položku."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1053
|
||||
#: ../gtk/gtkfilechooserdefault.c:1055
|
||||
msgid "Invalid file name"
|
||||
msgstr "Neplatný název souboru"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1063
|
||||
#: ../gtk/gtkfilechooserdefault.c:1065
|
||||
msgid "The folder contents could not be displayed"
|
||||
msgstr "Obsah složky nelze zobrazit"
|
||||
|
||||
@@ -1494,208 +1495,208 @@ msgstr "Obsah složky nelze zobrazit"
|
||||
#. * is a hostname. Nautilus and the panel contain the same string
|
||||
#. * to translate.
|
||||
#.
|
||||
#: ../gtk/gtkfilechooserdefault.c:1589
|
||||
#: ../gtk/gtkfilechooserdefault.c:1591
|
||||
#, c-format
|
||||
msgid "%1$s on %2$s"
|
||||
msgstr "%1$s na %2$s"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1738
|
||||
#: ../gtk/gtkfilechooserdefault.c:1740
|
||||
msgid "Search"
|
||||
msgstr "Hledat"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1762 ../gtk/gtkfilechooserdefault.c:4988
|
||||
#: ../gtk/gtkfilechooserdefault.c:1764 ../gtk/gtkfilechooserdefault.c:4990
|
||||
msgid "Recently Used"
|
||||
msgstr "Naposledy použité"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2361
|
||||
#: ../gtk/gtkfilechooserdefault.c:2363
|
||||
msgid "Select which types of files are shown"
|
||||
msgstr "Výběr zobrazených typů souborů"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2720
|
||||
#: ../gtk/gtkfilechooserdefault.c:2722
|
||||
#, c-format
|
||||
msgid "Add the folder '%s' to the bookmarks"
|
||||
msgstr "Přidá složku „%s“ mezi záložky"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2764
|
||||
#: ../gtk/gtkfilechooserdefault.c:2766
|
||||
#, c-format
|
||||
msgid "Add the current folder to the bookmarks"
|
||||
msgstr "Přidá aktuální složku mezi záložky"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2766
|
||||
#: ../gtk/gtkfilechooserdefault.c:2768
|
||||
#, c-format
|
||||
msgid "Add the selected folders to the bookmarks"
|
||||
msgstr "Přidá zvolené složky mezi záložky"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2804
|
||||
#: ../gtk/gtkfilechooserdefault.c:2806
|
||||
#, c-format
|
||||
msgid "Remove the bookmark '%s'"
|
||||
msgstr "Odstraní záložku „%s“"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2806
|
||||
#: ../gtk/gtkfilechooserdefault.c:2808
|
||||
#, c-format
|
||||
msgid "Bookmark '%s' cannot be removed"
|
||||
msgstr "Záložka „%s“ nemůže být odstraněna"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2813 ../gtk/gtkfilechooserdefault.c:3699
|
||||
#: ../gtk/gtkfilechooserdefault.c:2815 ../gtk/gtkfilechooserdefault.c:3701
|
||||
msgid "Remove the selected bookmark"
|
||||
msgstr "Odstraní zvolenou záložku"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3377
|
||||
#: ../gtk/gtkfilechooserdefault.c:3379
|
||||
msgid "Remove"
|
||||
msgstr "Odstranit"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3386
|
||||
#: ../gtk/gtkfilechooserdefault.c:3388
|
||||
msgid "Rename..."
|
||||
msgstr "Přejmenovat…"
|
||||
|
||||
#. Accessible object name for the file chooser's shortcuts pane
|
||||
#: ../gtk/gtkfilechooserdefault.c:3550
|
||||
#: ../gtk/gtkfilechooserdefault.c:3552
|
||||
msgid "Places"
|
||||
msgstr "Místa"
|
||||
|
||||
#. Column header for the file chooser's shortcuts pane
|
||||
#: ../gtk/gtkfilechooserdefault.c:3607
|
||||
#: ../gtk/gtkfilechooserdefault.c:3609
|
||||
msgid "_Places"
|
||||
msgstr "_Místa"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3687
|
||||
#: ../gtk/gtkfilechooserdefault.c:3689
|
||||
msgid "Add the selected folder to the Bookmarks"
|
||||
msgstr "Přidá zvolenou složku mezi záložky"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3948
|
||||
#: ../gtk/gtkfilechooserdefault.c:3950
|
||||
msgid "Could not select file"
|
||||
msgstr "Nelze vybrat soubor"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4173
|
||||
#: ../gtk/gtkfilechooserdefault.c:4175
|
||||
msgid "_Visit this file"
|
||||
msgstr "Podí_vat se na tento soubor"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4176
|
||||
#: ../gtk/gtkfilechooserdefault.c:4178
|
||||
msgid "_Copy file's location"
|
||||
msgstr "Kopírovat _umístění souboru"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4179
|
||||
#: ../gtk/gtkfilechooserdefault.c:4181
|
||||
msgid "_Add to Bookmarks"
|
||||
msgstr "_Přidat mezi záložky"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4186
|
||||
#: ../gtk/gtkfilechooserdefault.c:4188
|
||||
msgid "Show _Hidden Files"
|
||||
msgstr "Zobrazovat _skryté soubory"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4189
|
||||
#: ../gtk/gtkfilechooserdefault.c:4191
|
||||
msgid "Show _Size Column"
|
||||
msgstr "Z_obrazovat sloupec Velikost"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4414
|
||||
#: ../gtk/gtkfilechooserdefault.c:4416
|
||||
msgid "Files"
|
||||
msgstr "Soubory"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4465
|
||||
#: ../gtk/gtkfilechooserdefault.c:4467
|
||||
msgid "Name"
|
||||
msgstr "Název"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4488
|
||||
#: ../gtk/gtkfilechooserdefault.c:4490
|
||||
msgid "Size"
|
||||
msgstr "Velikost"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4502
|
||||
#: ../gtk/gtkfilechooserdefault.c:4504
|
||||
msgid "Modified"
|
||||
msgstr "Změněno"
|
||||
|
||||
#. Label
|
||||
#: ../gtk/gtkfilechooserdefault.c:4595
|
||||
#: ../gtk/gtkfilechooserdefault.c:4597
|
||||
msgid "_Name:"
|
||||
msgstr "_Název:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4826
|
||||
#: ../gtk/gtkfilechooserdefault.c:4828
|
||||
msgid "Type a file name"
|
||||
msgstr "Zadání názvu souboru"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4873 ../gtk/gtkfilechooserdefault.c:4884
|
||||
#: ../gtk/gtkfilechooserdefault.c:4875 ../gtk/gtkfilechooserdefault.c:4886
|
||||
msgid "Please select a folder below"
|
||||
msgstr "Vyberte prosím složku níže"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4879
|
||||
#: ../gtk/gtkfilechooserdefault.c:4881
|
||||
msgid "Please type a file name"
|
||||
msgstr "Zadejte prosím název souboru"
|
||||
|
||||
#. Create Folder
|
||||
#: ../gtk/gtkfilechooserdefault.c:4950
|
||||
#: ../gtk/gtkfilechooserdefault.c:4952
|
||||
msgid "Create Fo_lder"
|
||||
msgstr "V_ytvořit složku"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4998
|
||||
#: ../gtk/gtkfilechooserdefault.c:5000
|
||||
msgid "Search:"
|
||||
msgstr "Hledat:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:5049
|
||||
#: ../gtk/gtkfilechooserdefault.c:5051
|
||||
msgid "_Location:"
|
||||
msgstr "_Umístění:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:5500
|
||||
#: ../gtk/gtkfilechooserdefault.c:5502
|
||||
msgid "Save in _folder:"
|
||||
msgstr "U_ložit do složky:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:5502
|
||||
#: ../gtk/gtkfilechooserdefault.c:5504
|
||||
msgid "Create in _folder:"
|
||||
msgstr "Vytvořit ve složc_e:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6589
|
||||
#: ../gtk/gtkfilechooserdefault.c:6591
|
||||
#, c-format
|
||||
msgid "Could not read the contents of %s"
|
||||
msgstr "Nelze přečíst obsah %s"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6593
|
||||
#: ../gtk/gtkfilechooserdefault.c:6595
|
||||
msgid "Could not read the contents of the folder"
|
||||
msgstr "Nelze přečíst obsah složky"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6686 ../gtk/gtkfilechooserdefault.c:6754
|
||||
#: ../gtk/gtkfilechooserdefault.c:6934
|
||||
#: ../gtk/gtkfilechooserdefault.c:6688 ../gtk/gtkfilechooserdefault.c:6756
|
||||
#: ../gtk/gtkfilechooserdefault.c:6936
|
||||
msgid "Unknown"
|
||||
msgstr "Neznámé"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6701
|
||||
#: ../gtk/gtkfilechooserdefault.c:6703
|
||||
msgid "%H:%M"
|
||||
msgstr "%H:%M"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6703
|
||||
#: ../gtk/gtkfilechooserdefault.c:6705
|
||||
msgid "Yesterday at %H:%M"
|
||||
msgstr "Včera v %H:%M"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:7405
|
||||
#: ../gtk/gtkfilechooserdefault.c:7407
|
||||
msgid "Cannot change to folder because it is not local"
|
||||
msgstr "Nelze přejít do složky, protože není místní"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8009 ../gtk/gtkfilechooserdefault.c:8030
|
||||
#: ../gtk/gtkfilechooserdefault.c:8014 ../gtk/gtkfilechooserdefault.c:8035
|
||||
#, c-format
|
||||
msgid "Shortcut %s already exists"
|
||||
msgstr "Zkratka %s již existuje"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8120
|
||||
#: ../gtk/gtkfilechooserdefault.c:8125
|
||||
#, c-format
|
||||
msgid "Shortcut %s does not exist"
|
||||
msgstr "Zkratka %s neexistuje"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8366 ../gtk/gtkprintunixdialog.c:548
|
||||
#: ../gtk/gtkfilechooserdefault.c:8371 ../gtk/gtkprintunixdialog.c:548
|
||||
#, c-format
|
||||
msgid "A file named \"%s\" already exists. Do you want to replace it?"
|
||||
msgstr "Soubor nazvaný „%s“ již existuje. Chcete jej nahradit?"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8369 ../gtk/gtkprintunixdialog.c:552
|
||||
#: ../gtk/gtkfilechooserdefault.c:8374 ../gtk/gtkprintunixdialog.c:552
|
||||
#, c-format
|
||||
msgid ""
|
||||
"The file already exists in \"%s\". Replacing it will overwrite its contents."
|
||||
msgstr "V „%s“ již tento soubor existuje. Jeho nahrazení přepíše celý obsah."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8374 ../gtk/gtkprintunixdialog.c:559
|
||||
#: ../gtk/gtkfilechooserdefault.c:8379 ../gtk/gtkprintunixdialog.c:559
|
||||
msgid "_Replace"
|
||||
msgstr "Na_hradit"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:9181
|
||||
#: ../gtk/gtkfilechooserdefault.c:9186
|
||||
msgid "Could not start the search process"
|
||||
msgstr "Nelze spustit proces hledání"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:9182
|
||||
#: ../gtk/gtkfilechooserdefault.c:9187
|
||||
msgid ""
|
||||
"The program was not able to create a connection to the indexer daemon. "
|
||||
"Please make sure it is running."
|
||||
@@ -1703,11 +1704,11 @@ msgstr ""
|
||||
"Program nebyl schopen vytvořit spojení s indexovacím démonem. Ujistěte se "
|
||||
"prosím, že běží."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:9196
|
||||
#: ../gtk/gtkfilechooserdefault.c:9201
|
||||
msgid "Could not send the search request"
|
||||
msgstr "Nelze odeslat vyhledávací požadavek"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:9806
|
||||
#: ../gtk/gtkfilechooserdefault.c:9811
|
||||
#, c-format
|
||||
msgid "Could not mount %s"
|
||||
msgstr "Nelze připojit %s"
|
||||
@@ -1786,13 +1787,13 @@ msgstr "_Otevřít odkaz"
|
||||
msgid "Copy _Link Address"
|
||||
msgstr "Ko_pírovat adresu odkazu"
|
||||
|
||||
#: ../gtk/gtk-launch.c:69
|
||||
#: ../gtk/gtk-launch.c:73
|
||||
msgid "APPLICATION [URI...] - launch an APPLICATION with URI."
|
||||
msgstr "APLIKACE [URI...] - spustit APLIKACI s URI."
|
||||
|
||||
#. Translators: this message will appear after the usage string
|
||||
#. and before the list of options.
|
||||
#: ../gtk/gtk-launch.c:73
|
||||
#: ../gtk/gtk-launch.c:77
|
||||
msgid ""
|
||||
"Launch specified application by its desktop file info\n"
|
||||
"optionally passing list of URIs as arguments."
|
||||
@@ -1800,36 +1801,39 @@ msgstr ""
|
||||
"Spustit zadanou aplikaci s informacemi ze souboru desktop,\n"
|
||||
"volitelně předat seznam URI jako argumenty."
|
||||
|
||||
#: ../gtk/gtk-launch.c:85
|
||||
#: ../gtk/gtk-launch.c:89
|
||||
#, c-format
|
||||
#| msgid "Error parsing option --gdk-debug"
|
||||
msgid "Error parsing commandline options: %s\n"
|
||||
msgstr "Chyba při analýze voleb příkazové řádky: %s\n"
|
||||
|
||||
#: ../gtk/gtk-launch.c:87 ../gtk/gtk-launch.c:100
|
||||
#: ../gtk/gtk-launch.c:91 ../gtk/gtk-launch.c:104
|
||||
#, c-format
|
||||
msgid "Try \"%s --help\" for more information."
|
||||
msgstr "Více informací viz \"%s --help\"."
|
||||
msgstr "Více informací viz „%s --help“."
|
||||
|
||||
#. Translators: the %s is the program name. This error message
|
||||
#. means the user is calling gtk-launch without any argument.
|
||||
#: ../gtk/gtk-launch.c:98
|
||||
#: ../gtk/gtk-launch.c:102
|
||||
#, c-format
|
||||
#| msgid "Find applications online"
|
||||
msgid "%s: missing application name"
|
||||
msgstr "%s: chybí název aplikace"
|
||||
|
||||
#: ../gtk/gtk-launch.c:123
|
||||
#, c-format
|
||||
msgid "Creating AppInfo from id not supported on non unix operating systems"
|
||||
msgstr ""
|
||||
"Vytvoření AppInfo z ID není podporováno na jiných než unixových systémech"
|
||||
|
||||
#. Translators: the first %s is the program name, the second one
|
||||
#. is the application name.
|
||||
#: ../gtk/gtk-launch.c:122
|
||||
#: ../gtk/gtk-launch.c:131
|
||||
#, c-format
|
||||
#| msgid "Could not run application"
|
||||
msgid "%s: no such application %s"
|
||||
msgstr "%s: neexistuje žádná aplikace s názvem %s"
|
||||
|
||||
#. Translators: the first %s is the program name, the second one
|
||||
#. is the error message.
|
||||
#: ../gtk/gtk-launch.c:140
|
||||
#: ../gtk/gtk-launch.c:149
|
||||
#, c-format
|
||||
msgid "%s: error launching application: %s\n"
|
||||
msgstr "%s: chyba při spouštění aplikace: %s\n"
|
||||
@@ -1875,27 +1879,27 @@ msgstr ""
|
||||
"Kontaktujte prosím správce systému"
|
||||
|
||||
#. Description of --gtk-module=MODULES in --help output
|
||||
#: ../gtk/gtkmain.c:446
|
||||
#: ../gtk/gtkmain.c:447
|
||||
msgid "Load additional GTK+ modules"
|
||||
msgstr "Načte přídavné moduly GTK+"
|
||||
|
||||
#. Placeholder in --gtk-module=MODULES in --help output
|
||||
#: ../gtk/gtkmain.c:447
|
||||
#: ../gtk/gtkmain.c:448
|
||||
msgid "MODULES"
|
||||
msgstr "MODULY"
|
||||
|
||||
#. Description of --g-fatal-warnings in --help output
|
||||
#: ../gtk/gtkmain.c:449
|
||||
#: ../gtk/gtkmain.c:450
|
||||
msgid "Make all warnings fatal"
|
||||
msgstr "Učiní všechna varování kritickými"
|
||||
|
||||
#. Description of --gtk-debug=FLAGS in --help output
|
||||
#: ../gtk/gtkmain.c:452
|
||||
#: ../gtk/gtkmain.c:453
|
||||
msgid "GTK+ debugging flags to set"
|
||||
msgstr "Ladicí příznaky GTK+, které nastaví"
|
||||
|
||||
#. Description of --gtk-no-debug=FLAGS in --help output
|
||||
#: ../gtk/gtkmain.c:455
|
||||
#: ../gtk/gtkmain.c:456
|
||||
msgid "GTK+ debugging flags to unset"
|
||||
msgstr "Ladicí příznaky GTK+, jejichž nastavení zruší"
|
||||
|
||||
@@ -1904,20 +1908,20 @@ msgstr "Ladicí příznaky GTK+, jejichž nastavení zruší"
|
||||
#. * Do *not* translate it to "predefinito:LTR", if it
|
||||
#. * it isn't default:LTR or default:RTL it will not work
|
||||
#.
|
||||
#: ../gtk/gtkmain.c:707
|
||||
#: ../gtk/gtkmain.c:704
|
||||
msgid "default:LTR"
|
||||
msgstr "default:LTR"
|
||||
|
||||
#: ../gtk/gtkmain.c:775
|
||||
#: ../gtk/gtkmain.c:772
|
||||
#, c-format
|
||||
msgid "Cannot open display: %s"
|
||||
msgstr "Nelze otevřít displej: %s"
|
||||
|
||||
#: ../gtk/gtkmain.c:841
|
||||
#: ../gtk/gtkmain.c:838
|
||||
msgid "GTK+ Options"
|
||||
msgstr "Přepínače GTK+"
|
||||
|
||||
#: ../gtk/gtkmain.c:841
|
||||
#: ../gtk/gtkmain.c:838
|
||||
msgid "Show GTK+ Options"
|
||||
msgstr "Zobrazit přepínače GTK+"
|
||||
|
||||
@@ -1926,12 +1930,10 @@ msgid "Co_nnect"
|
||||
msgstr "_Připojit"
|
||||
|
||||
#: ../gtk/gtkmountoperation.c:609
|
||||
#| msgid "Co_nnect"
|
||||
msgid "Connect As"
|
||||
msgstr "Připojit se jako"
|
||||
|
||||
#: ../gtk/gtkmountoperation.c:618
|
||||
#| msgid "Connect _anonymously"
|
||||
msgid "_Anonymous"
|
||||
msgstr "_Anonymní"
|
||||
|
||||
@@ -1940,17 +1942,14 @@ msgid "Registered U_ser"
|
||||
msgstr "Regi_strovaný uživatel"
|
||||
|
||||
#: ../gtk/gtkmountoperation.c:638
|
||||
#| msgid "_Username:"
|
||||
msgid "_Username"
|
||||
msgstr "_Uživatelské jméno"
|
||||
|
||||
#: ../gtk/gtkmountoperation.c:643
|
||||
#| msgid "_Domain:"
|
||||
msgid "_Domain"
|
||||
msgstr "_Doména"
|
||||
|
||||
#: ../gtk/gtkmountoperation.c:649
|
||||
#| msgid "_Password:"
|
||||
msgid "_Password"
|
||||
msgstr "_Heslo"
|
||||
|
||||
@@ -2010,7 +2009,7 @@ msgstr "Z Shell"
|
||||
msgid "Cannot end process with PID %d: %s"
|
||||
msgstr "Nelze ukončit proces s PID %d: %s"
|
||||
|
||||
#: ../gtk/gtknotebook.c:5051 ../gtk/gtknotebook.c:7705
|
||||
#: ../gtk/gtknotebook.c:5053 ../gtk/gtknotebook.c:7707
|
||||
#, c-format
|
||||
msgid "Page %u"
|
||||
msgstr "Strana %u"
|
||||
@@ -2018,14 +2017,14 @@ msgstr "Strana %u"
|
||||
#. Translators: the format here is used to build the string that will be rendered
|
||||
#. * in the number emblem.
|
||||
#.
|
||||
#: ../gtk/gtknumerableicon.c:481
|
||||
#: ../gtk/gtknumerableicon.c:482
|
||||
#, c-format
|
||||
msgctxt "Number format"
|
||||
msgid "%d"
|
||||
msgstr "%d"
|
||||
|
||||
#: ../gtk/gtkpagesetup.c:646 ../gtk/gtkpapersize.c:846
|
||||
#: ../gtk/gtkpapersize.c:886
|
||||
#: ../gtk/gtkpagesetup.c:646 ../gtk/gtkpapersize.c:848
|
||||
#: ../gtk/gtkpapersize.c:888
|
||||
msgid "Not a valid page setup file"
|
||||
msgstr "Neplatný soubor vzhledu stránky"
|
||||
|
||||
@@ -2084,12 +2083,11 @@ msgstr "Dolů v cestě"
|
||||
msgid "File System Root"
|
||||
msgstr "Kořen systému souborů"
|
||||
|
||||
#: ../gtk/gtkprintbackend.c:748
|
||||
#: ../gtk/gtkprintbackend.c:750
|
||||
msgid "Authentication"
|
||||
msgstr "Ověření"
|
||||
|
||||
#: ../gtk/gtkprinteroptionwidget.c:546
|
||||
#| msgid "Select a File"
|
||||
msgid "Select a filename"
|
||||
msgstr "Vyberte soubor"
|
||||
|
||||
@@ -2314,42 +2312,42 @@ msgstr "Obecné"
|
||||
#. * multiple pages on a sheet when printing
|
||||
#.
|
||||
#: ../gtk/gtkprintunixdialog.c:3058
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3692
|
||||
msgid "Left to right, top to bottom"
|
||||
msgstr "Zleva doprava, shora dolů"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3058
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3692
|
||||
msgid "Left to right, bottom to top"
|
||||
msgstr "Zleva doprava, zdola nahoru"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3059
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3693
|
||||
msgid "Right to left, top to bottom"
|
||||
msgstr "Zprava doleva, shora dolů"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3059
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3693
|
||||
msgid "Right to left, bottom to top"
|
||||
msgstr "Zprava doleva, zdola nahoru"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3060
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3688
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3694
|
||||
msgid "Top to bottom, left to right"
|
||||
msgstr "Shora dolů, zleva doprava"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3060
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3688
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3694
|
||||
msgid "Top to bottom, right to left"
|
||||
msgstr "Shora dolů, zprava doleva"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3061
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3689
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3695
|
||||
msgid "Bottom to top, left to right"
|
||||
msgstr "Zdola nahoru, zleva doprava"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3061
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3689
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3695
|
||||
msgid "Bottom to top, right to left"
|
||||
msgstr "Zdola nahoru, zprava doleva"
|
||||
|
||||
@@ -2357,7 +2355,7 @@ msgstr "Zdola nahoru, zprava doleva"
|
||||
#. * dialog that controls in what order multiple pages are arranged
|
||||
#.
|
||||
#: ../gtk/gtkprintunixdialog.c:3065 ../gtk/gtkprintunixdialog.c:3078
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3766
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3772
|
||||
msgid "Page Ordering"
|
||||
msgstr "Řazení stran"
|
||||
|
||||
@@ -3341,7 +3339,7 @@ msgstr "Neočekávaná počáteční značka „%s“ na řádku %d, znak %d"
|
||||
msgid "Unexpected character data on line %d char %d"
|
||||
msgstr "Neočekávaná data znaků na řádku %d, znak %d"
|
||||
|
||||
#: ../gtk/gtkuimanager.c:2738
|
||||
#: ../gtk/gtkuimanager.c:2694
|
||||
msgid "Empty"
|
||||
msgstr "Prázdný"
|
||||
|
||||
@@ -4525,169 +4523,169 @@ msgstr "Pozastaveno ; Úlohy se odmítají"
|
||||
msgid "Rejecting Jobs"
|
||||
msgstr "Úlohy se odmítají"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2909
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2915
|
||||
msgid "Two Sided"
|
||||
msgstr "Oboustranný"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2910
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2916
|
||||
msgid "Paper Type"
|
||||
msgstr "Typ papíru"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2911
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2917
|
||||
msgid "Paper Source"
|
||||
msgstr "Zdroj papíru"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2912
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2918
|
||||
msgid "Output Tray"
|
||||
msgstr "Výstupní zásobník"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2913
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2919
|
||||
msgid "Resolution"
|
||||
msgstr "Rozlišení"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2914
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2920
|
||||
msgid "GhostScript pre-filtering"
|
||||
msgstr "Předběžné filtrování GhostScript"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2923
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2929
|
||||
msgid "One Sided"
|
||||
msgstr "Jednostranný"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2925
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2931
|
||||
msgid "Long Edge (Standard)"
|
||||
msgstr "Delší okraj (standardní)"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2927
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2933
|
||||
msgid "Short Edge (Flip)"
|
||||
msgstr "Kratší okraj (otočení)"
|
||||
|
||||
#. Translators: this is an option of "Paper Source"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2929
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2931
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2939
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2935
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2937
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2945
|
||||
msgid "Auto Select"
|
||||
msgstr "Automatický výběr"
|
||||
|
||||
#. Translators: this is an option of "Paper Source"
|
||||
#. Translators: this is an option of "Resolution"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2933
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2935
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2937
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2939
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2941
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3429
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2943
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2947
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3435
|
||||
msgid "Printer Default"
|
||||
msgstr "Výchozí pro tiskárnu"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2943
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2949
|
||||
msgid "Embed GhostScript fonts only"
|
||||
msgstr "Vložit pouze písma GhostScript"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2945
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2951
|
||||
msgid "Convert to PS level 1"
|
||||
msgstr "Převést na PS, úroveň 1"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2947
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2953
|
||||
msgid "Convert to PS level 2"
|
||||
msgstr "Převést na PS, úroveň 2"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2949
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2955
|
||||
msgid "No pre-filtering"
|
||||
msgstr "Bez předběžného filtrování"
|
||||
|
||||
#. 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:2958
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2964
|
||||
msgid "Miscellaneous"
|
||||
msgstr "Různé"
|
||||
|
||||
#. Translators: These strings name the possible values of the
|
||||
#. * job priority option in the print dialog
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
msgid "Urgent"
|
||||
msgstr "Naléhavá"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
msgid "High"
|
||||
msgstr "Vysoká"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
msgid "Medium"
|
||||
msgstr "Střední"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
msgid "Low"
|
||||
msgstr "Nízká"
|
||||
|
||||
#. Translators, this string is used to label the job priority option
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3711
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3717
|
||||
msgid "Job Priority"
|
||||
msgstr "Priorita úlohy"
|
||||
|
||||
#. Translators, this string is used to label the billing info entry
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3722
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3728
|
||||
msgid "Billing Info"
|
||||
msgstr "Účtovací informace"
|
||||
|
||||
#. Translators, these strings are names for various 'standard' cover
|
||||
#. * pages that the printing system may support.
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "None"
|
||||
msgstr "Žádné"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Classified"
|
||||
msgstr "Utajované"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Confidential"
|
||||
msgstr "Důvěrné"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Secret"
|
||||
msgstr "Tajné"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Standard"
|
||||
msgstr "Standardní"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Top Secret"
|
||||
msgstr "Přísně tajné"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
msgid "Unclassified"
|
||||
msgstr "Neutajované"
|
||||
|
||||
#. Translators, this string is used to label the pages-per-sheet option
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3748
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3754
|
||||
msgid "Pages per Sheet"
|
||||
msgstr "Stran na list"
|
||||
|
||||
#. Translators, this is the label used for the option in the print
|
||||
#. * dialog that controls the front cover page.
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3808
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3814
|
||||
msgid "Before"
|
||||
msgstr "Před"
|
||||
|
||||
#. Translators, this is the label used for the option in the print
|
||||
#. * dialog that controls the back cover page.
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3823
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3829
|
||||
msgid "After"
|
||||
msgstr "Za"
|
||||
|
||||
@@ -4695,14 +4693,14 @@ msgstr "Za"
|
||||
#. * a print job is printed. Possible values are 'now', a specified time,
|
||||
#. * or 'on hold'
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3843
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3849
|
||||
msgid "Print at"
|
||||
msgstr "Vytisknout"
|
||||
|
||||
#. 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:3854
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3860
|
||||
msgid "Print at time"
|
||||
msgstr "Vytisknout v určený čas"
|
||||
|
||||
@@ -4710,17 +4708,17 @@ msgstr "Vytisknout v určený čas"
|
||||
#. * size. The two placeholders are replaced with the width and height
|
||||
#. * in points. E.g: "Custom 230.4x142.9"
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3889
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3895
|
||||
#, c-format
|
||||
msgid "Custom %sx%s"
|
||||
msgstr "Vlastní %sx%s"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3970
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3976
|
||||
msgid "Printer Profile"
|
||||
msgstr "Profil tiskárny"
|
||||
|
||||
#. TRANSLATORS: this is when color profile information is unavailable
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3977
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3983
|
||||
msgid "Unavailable"
|
||||
msgstr "Není k dispozici"
|
||||
|
||||
@@ -4741,7 +4739,6 @@ msgid "Unspecified profile"
|
||||
msgstr "Neurčený profil"
|
||||
|
||||
#: ../modules/printbackends/file/gtkprintbackendfile.c:249
|
||||
#| msgid "output.%s"
|
||||
msgid "output"
|
||||
msgstr "výstup"
|
||||
|
||||
@@ -4820,12 +4817,3 @@ msgstr "zkušební-výstup.%s"
|
||||
#: ../modules/printbackends/test/gtkprintbackendtest.c:465
|
||||
msgid "Print to Test Printer"
|
||||
msgstr "Tisknout na zkušební tiskárnu"
|
||||
|
||||
#~ msgid "Connect as u_ser:"
|
||||
#~ msgstr "Připojit se jako _uživatel:"
|
||||
|
||||
#~ msgid "Select a folder"
|
||||
#~ msgstr "Vyberte složku"
|
||||
|
||||
#~ msgid "_Save in folder:"
|
||||
#~ msgstr "Uložit do složk_y:"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user