## Makefile.am for GTK+
include $(top_srcdir)/Makefile.decl
-SRC_SUBDIRS = gdk gtk modules demos tests perf examples
+SRC_SUBDIRS = gdk gtk libgail-util modules demos tests perf examples
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
--enable-gtk-doc \
--enable-man \
--disable-rebuilds \
+ --disable-maintainer-mode \
--enable-introspection
GITIGNOREFILES = \
+Overview of Changes in GTK+ 3.1.10
+==================================
+
+* Assorted file chooser improvements/redesign:
+ - Remove the expander in Save mode
+ - Move the path bar up in Save mode
+ - Remember the last opened directory
+ - Start in recently-used mode when no folder is set
+ - Update recent-files when confirming in the file chooser
+
+* Accessibility:
+ - Gail has been merged into GTK+ and is no longer a module
+ - A testsuite for a11y functionality has been added
+
+* Theming:
+ - Icon view cells can now have a border
+
+* GtkMountOperation can now show processes on OpenBSD
+
+* Gdk input devices now expose their XInput2 device ID
+ via gdk_x11_device_get_id()
+
+* Bugs fixed:
+ 653450 gtkfilechooser crashes when adding favorite
+ 653705 GtkAssistant doesn't notice destroyed pages
+ 653947 Crash in gdk/x11/gdkdevicemanager-xi2.c:get_event_window
+ 654125 gdkoffscreenwindow set any impl handlers to null...
+ 654179 iconview: make it possible for selected cells to render...
+ 654428 focusable labels are emitting inappropriate object:text-sel...
+ 654678 Message dialog's primary text font increases on every call...
+ 654695 Memory corruption in gtk_theming_engine_register_property()
+ 654720 void return issues cause compile issues for GTK 3.1.8
+ 655009 Clamp border radius following CSS specs
+ 654266 No longer possible to set empty text on a GtkProgressBar
+
+* Translation updates:
+ Galician
+ German
+ Hebrew
+ Latvian
+ Lithuanian
+ Norwegian bokmål
+ Persian
+ Polish
+ Slovenian
+ Spanish
+ Uighur
+
+
+Overview of Changes in GTK+ 3.1.8
+=================================
+
+* Theming improvements:
+ - Multiple colors are now supported
+ - Support CSS font properties like font-size, font-family, etc
+ - nth-child works for toolbars too
+
+* Bug fixes:
+ 652506 Improve GtkAssistant button labels
+ 652618 themingengine: shrink the background size to the padding-box
+ 652769 Reordering/removing hidden children in GtkBox results in 100% CPU
+ 653053 Avoid GApplication being released twice...
+ 653191 uninitialized variable in completion_match_func
+ 653333 Assigned value is garbage or undefined in gtktoolpalette.c:565
+ 653512 GtkEntryCompletion: Use a PAGE_STEP macro instead of a magic number
+ 653785 GtkStyleContext ignores style classes when getting style properties
+
+* Translation updates:
+ Belarusian
+ Dutch
+ Galician
+ Hebrew
+ Norwegian bokmål
+ Persian
+ Slovenian
+ Spanish
+
Overview of Changes in GTK+ 3.1.6
=================================
See the file 'INSTALL'
+Release notes for 3.2
+=====================
+
+* The accessible implementations for GTK+ widgets have been integrated
+ into libgtk itself, and the gail module does not exist anymore. This
+ change should not affect applications very much.
+
Release notes for 3.0
=====================
gtk.vcxproj.filtersin \
gtk3-demo.vcxproj \
gtk3-demo.vcxproj.filters \
+ libgail.vcxproj \
+ libgail.vcxproj.filters \
+ libgail.vcxprojin \
+ libgail.vcxproj.filtersin \
+ gailutil.vcxproj \
+ gailutil.vcxproj.filters \
install.vcxproj
in a GTK+ source tree unpacked from a tarball. In a git checkout you\r
first need to use some Unix-like environment or manual work to expand\r
the files needed, like config.h.win32.in into config.h.win32 and the\r
-.vcprojin files here into corresponding actual .vcproj files.\r
+.vcxprojin and .vcxproj.filtersin files here into corresponding actual\r
+.vcxproj and vcxproj.filters files.\r
\r
You will need the parts from below in the GTK+ stack: GDK-Pixbuf, Pango,\r
ATK and GLib. External dependencies are at least Cairo\r
zlib, libpng, and Cairo do contain support for compiling under VS10\r
using VS project files and/or makefiles at this time of writing, For the\r
GTK+ stack, VS10 project files are either available under\r
-$(srcroot)/build/vs10 in the case of GLib (stable/unstable), ATK**\r
-(2.x stable/unstable) and GDK-Pixbuf (unstable), and should be in the next\r
+$(srcroot)/build/vs10 in the case of GLib (stable/unstable), ATK\r
+(stable/unstable) and GDK-Pixbuf (unstable), and should be in the next\r
unstable version of Pango. There is no known official VS10 build\r
support for fontconfig (along with freetype and expat) and\r
gettext-runtime, so please use the binaries from: \r
-(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library]\r
-(optional for GLib) PCRE (version 8.12 or later, use of CMake to\r
build PCRE is recommended-see build/win32/vs10/README.txt of GLib)\r
--GLib ***\r
+-GLib **\r
-Cairo (inclusive of Cairo-GObject)\r
--ATK-2.x** ***\r
--Pango***\r
--GDK-Pixbuf***\r
+-ATK**\r
+-Pango**\r
+-GDK-Pixbuf**\r
(note the last 3 dependencies are not interdependent, so the last 3\r
dependencies can be built in any order)\r
\r
are referred to by components in Cairo and Pango mainly.\r
Decide whether you need fontconfig support prior to building Cairo\r
and Pango.\r
- \r
-**Regarding ATK-2.x: prior to compiling ATK-2.x, please open atkprops\r
- in VS under "Properties Manager" view (it is under any one of the\r
- build configurations, right-click on atkprops and select "Properties").\r
- Navigate to "User Macros", and edit the following fields:\r
- AtkApiVersion -> 2.0\r
- AtkLibToolCompatibleDllSuffix -> -2.0-0\r
- AtkSeperateVS10DLLSuffix -> -2-vs10\r
- Sorry this change did not make it upstream prior to ATK-2.0.0 release-\r
- this will be in the subsequent releases of ATK-2.x and was committed\r
- upstream.\r
\r
-***:Put the sources of the packages marked with *** in <root>\<package-\r
+**:Put the sources of the packages marked with ** in <root>\<package-\r
source-tree>, and build with VS10 from there.\r
\r
--Tor Lillqvist <tml@iki.fi>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|x64">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>x64</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|x64">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>x64</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}</ProjectGuid>\r
+ <RootNamespace>gailutil</RootNamespace>\r
+ <Keyword>Win32Proj</Keyword>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>DynamicLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>DynamicLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+ <ConfigurationType>DynamicLibrary</ConfigurationType>\r
+ <CharacterSet>MultiByte</CharacterSet>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+ <ConfigurationType>DynamicLibrary</ConfigurationType>\r
+ <CharacterSet>MultiByte</CharacterSet>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="gtk+.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="gtk+.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="gtk+.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="gtk+.props" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>\r
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>\r
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>\r
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>\r
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</LinkIncremental>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MinimalRebuild>true</MinimalRebuild>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ </ClCompile>\r
+ <Link>\r
+ <AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>\r
+ <ImportLibrary>$(TargetDir)$(ProjectName).lib</ImportLibrary>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MinimalRebuild>true</MinimalRebuild>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ </ClCompile>\r
+ <Link>\r
+ <AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>\r
+ <ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <SubSystem>Windows</SubSystem>\r
+ <ImportLibrary>$(TargetDir)$(ProjectName).lib</ImportLibrary>\r
+ <TargetMachine>MachineX64</TargetMachine>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <FunctionLevelLinking>true</FunctionLevelLinking>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ </ClCompile>\r
+ <Link>\r
+ <AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>\r
+ <ImportLibrary>$(TargetDir)$(ProjectName).lib</ImportLibrary>\r
+ <SubSystem>Windows</SubSystem>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+ <ClCompile>\r
+ <AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ </ClCompile>\r
+ <Link>\r
+ <AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>\r
+ <ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <SubSystem>Windows</SubSystem>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <ImportLibrary>$(TargetDir)$(ProjectName).lib</ImportLibrary>\r
+ <TargetMachine>MachineX64</TargetMachine>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\..\libgail-util\gailmisc.c" />\r
+ <ClCompile Include="..\..\..\libgail-util\gailtextutil.c" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ProjectReference Include="gdk.vcxproj">\r
+ <Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>\r
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+ </ProjectReference>\r
+ <ProjectReference Include="gtk.vcxproj">\r
+ <Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f5}</Project>\r
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+ </ProjectReference>\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="Sources">\r
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\r
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>\r
+ </Filter>\r
+ <Filter Include="Headers">\r
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>\r
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>\r
+ </Filter>\r
+ <Filter Include="Resource Files">\r
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>\r
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\..\libgail-util\gailmisc.c">\r
+ <Filter>Sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\libgail-util\gailtextutil.c">\r
+ <Filter>Sources</Filter>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+</Project>
\ No newline at end of file
<PropertyGroup Label="UserMacros">
<GlibEtcInstallRoot>..\..\..\..\..\vs10\$(Platform)</GlibEtcInstallRoot>
<CopyDir>$(GlibEtcInstallRoot)</CopyDir>
- <DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj</DefDir>
+ <DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
<GtkApiVersion>3.0</GtkApiVersion>
<GtkBinaryVersion>2.10.0</GtkBinaryVersion>
<GtkDummyPrefix>\"/dummy\"</GtkDummyPrefix>
copy ..\..\..\gtk\gtkwindow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
+mkdir $(CopyDir)\include\gail-$(GtkApiVersion)\libgail-util
+
+copy ..\..\..\libgail-util\gail-util.h $(CopyDir)\include\gail-$(GtkApiVersion)\libgail-util
+
+copy ..\..\..\libgail-util\gailmisc.h $(CopyDir)\include\gail-$(GtkApiVersion)\libgail-util
+
+copy ..\..\..\libgail-util\gailtextutil.h $(CopyDir)\include\gail-$(GtkApiVersion)\libgail-util
+
+
copy ..\..\..\gdk\gdkconfig.h $(CopyDir)\include\gtk-3.0\gdk
copy $(Configuration)\$(Platform)\bin\*-$(GtkApiVersion).lib $(CopyDir)\lib
+copy $(Configuration)\$(Platform)\bin\gailutil.lib $(CopyDir)\lib
+
mkdir $(CopyDir)\share\glib-2.0\schemas
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-2.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H;G_DISABLE_DEPRECATED;G_DISABLE_SINGLE_INCLUDES;ATK_DISABLE_SINGLE_INCLUDES;GDK_PIXBUF_DISABLE_SINGLE_INCLUDES;GTK_DISABLE_SINGLE_INCLUDES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
</ClCompile>
EndProject\r
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo", "gtk3-demo.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"\r
EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgail", "libgail.vcxproj", "{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gailutil", "gailutil.vcxproj", "{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}"\r
+EndProject\r
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"\r
EndProject\r
Global\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|Win32.Build.0 = Release|Win32\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.ActiveCfg = Release|x64\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.Build.0 = Release|x64\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.Build.0 = Debug|Win32\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.ActiveCfg = Debug|x64\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.Build.0 = Debug|x64\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.ActiveCfg = Release|Win32\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.Build.0 = Release|Win32\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.ActiveCfg = Release|x64\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.Build.0 = Release|x64\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|Win32.Build.0 = Debug|Win32\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|x64.ActiveCfg = Debug|x64\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|x64.Build.0 = Debug|x64\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|Win32.ActiveCfg = Release|Win32\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|Win32.Build.0 = Release|Win32\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|x64.ActiveCfg = Release|x64\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|x64.Build.0 = Release|x64\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.ActiveCfg = Debug|Win32\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.Build.0 = Debug|Win32\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.ActiveCfg = Debug|x64\r
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>atk-2.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>atk-2.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>atk-2.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>atk-2.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
+ <ProjectReference Include="libgail.vcxproj">
+ <Project>{f756b0db-40a1-4e9f-be1f-8f02cb86ea46}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
+ <ProjectReference Include="gailutil.vcxproj">
+ <Project>{29e3e814-1ba3-4ad7-a3a7-3669cb80a942}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="Sources">\r
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\r
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>\r
+ </Filter>\r
+ <Filter Include="Headers">\r
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>\r
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>\r
+ </Filter>\r
+ <Filter Include="Resource Files">\r
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>\r
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+#include "libgail.vs10.sourcefiles.filters"\r
+ </ItemGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|x64">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>x64</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|x64">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>x64</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}</ProjectGuid>\r
+ <RootNamespace>libgail</RootNamespace>\r
+ <Keyword>Win32Proj</Keyword>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>MultiByte</CharacterSet>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <CharacterSet>MultiByte</CharacterSet>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="gtk+.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="gtk+.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="gtk+.props" />\r
+ </ImportGroup>\r
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ <Import Project="gtk+.props" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <MinimalRebuild>true</MinimalRebuild>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ </ClCompile>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <MinimalRebuild>true</MinimalRebuild>\r
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ </ClCompile>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <ClCompile>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <FunctionLevelLinking>true</FunctionLevelLinking>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ </ClCompile>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+ <ClCompile>\r
+ <PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+ </ClCompile>\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+#include "libgail.vs10.sourcefiles"\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
gtk.vcproj \
gtk.vcprojin \
gtk3-demo.vcproj \
+ libgail.vcproj \
+ libgail.vcprojin \
+ gailutil.vcproj \
install.vcproj
.vcprojin files here into corresponding actual .vcproj files.\r
\r
You will need the parts from below in the GTK+ stack: GDK-Pixbuf, Pango,\r
-ATK (2.x)** and GLib. External dependencies are at least Cairo\r
+ATK and GLib. External dependencies are at least Cairo\r
(with Cairo-GObject support, meaning Cairo 1.10.x or later), zlib, libpng,\r
gettext-runtime, fontconfig*, freetype*, expat*. See the \r
build/win32/vs9/README.txt file in glib for details where to unpack them.\r
zlib, libpng, and Cairo do contain support for compiling under VS9\r
using VS project files and/or makefiles at this time of writing, For the\r
GTK+ stack, VS9 project files are either available under\r
-$(srcroot)/build/vs9 in the case of GLib (stable/unstable), ATK**\r
-(2.x stable/unstable) and GDK-Pixbuf (unstable), and should be in the next\r
+$(srcroot)/build/vs9 in the case of GLib (stable/unstable), ATK\r
+(stable/unstable) and GDK-Pixbuf (unstable), and should be in the next\r
unstable version of Pango. There is no known official VS9 build\r
support for fontconfig (along with freetype and expat) and\r
gettext-runtime, so please use the binaries from: \r
-(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library])\r
-(optional for GLib) PCRE (version 8.12 or later, use of CMake to\r
build PCRE is recommended-see build/win32/vs9/README.txt of GLib)\r
--GLib ***\r
+-GLib **\r
-Cairo (inclusive of Cairo-GObject)\r
--ATK-2.x** ***\r
--Pango***\r
--GDK-Pixbuf***\r
+-ATK**\r
+-Pango**\r
+-GDK-Pixbuf**\r
(note the last 3 dependencies are not interdependent, so the last 3\r
dependencies can be built in any order)\r
\r
Decide whether you need fontconfig support prior to building Cairo\r
and Pango.\r
\r
-**Regarding ATK-2.x: prior to compiling ATK-2.x, please open atkprops\r
- in VS under "Properties Manager" view (it is under any one of the\r
- build configurations, right-click on atkprops and select "Properties").\r
- Navigate to "User Macros", and edit the following fields:\r
- AtkApiVersion -> 2.0\r
- AtkLibToolCompatibleDllSuffix -> -2.0-0\r
- AtkSeperateVS9DLLSuffix -> -2-vs9\r
- Sorry this change did not make it upstream prior to ATK-2.0.0 release-\r
- this will be in the subsequent releases of ATK-2.x and was committed\r
- upstream.\r
-\r
-***:Put the sources of the packages marked with *** in <root>\<package-\r
+**:Put the sources of the packages marked with ** in <root>\<package-\r
source-tree>, and build with VS9 from there.\r
\r
--Tor Lillqvist <tml@iki.fi>\r
--- /dev/null
+<?xml version="1.0" encoding="big5"?>\r
+<VisualStudioProject\r
+ ProjectType="Visual C++"\r
+ Version="9.00"\r
+ Name="gailutil"\r
+ ProjectGUID="{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}"\r
+ RootNamespace="gailutil"\r
+ Keyword="Win32Proj"\r
+ TargetFrameworkVersion="196613"\r
+ >\r
+ <Platforms>\r
+ <Platform\r
+ Name="Win32"\r
+ />\r
+ <Platform\r
+ Name="x64"\r
+ />\r
+ </Platforms>\r
+ <ToolFiles>\r
+ </ToolFiles>\r
+ <Configurations>\r
+ <Configuration\r
+ Name="Debug|Win32"\r
+ InheritedPropertySheets=".\gtk+.vsprops"\r
+ ConfigurationType="2"\r
+ CharacterSet="1"\r
+ >\r
+ <Tool\r
+ Name="VCPreBuildEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ Optimization="0"\r
+ AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"\r
+ PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"\r
+ MinimalRebuild="true"\r
+ BasicRuntimeChecks="3"\r
+ RuntimeLibrary="3"\r
+ UsePrecompiledHeader="0"\r
+ WarningLevel="3"\r
+ DebugInformationFormat="4"\r
+ />\r
+ <Tool\r
+ Name="VCLinkerTool"\r
+ LinkIncremental="2"\r
+ AdditionalDependencies="atk-1.0.lib"\r
+ OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"\r
+ GenerateDebugInformation="true"\r
+ ModuleDefinitionFile="..\..\..\libgail-util\gailutil.def"\r
+ ImportLibrary="$(TargetDir)$(ProjectName).lib"\r
+ SubSystem="2"\r
+ TargetMachine="1"\r
+ />\r
+ </Configuration>\r
+ <Configuration\r
+ Name="Debug|x64"\r
+ InheritedPropertySheets=".\gtk+.vsprops"\r
+ ConfigurationType="2"\r
+ CharacterSet="2"\r
+ >\r
+ <Tool\r
+ Name="VCPreBuildEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ Optimization="0"\r
+ AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"\r
+ PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"\r
+ MinimalRebuild="true"\r
+ BasicRuntimeChecks="3"\r
+ RuntimeLibrary="3"\r
+ UsePrecompiledHeader="0"\r
+ WarningLevel="3"\r
+ DebugInformationFormat="3"\r
+ />\r
+ <Tool\r
+ Name="VCLinkerTool"\r
+ AdditionalDependencies="atk-1.0.lib"\r
+ OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"\r
+ LinkIncremental="2"\r
+ ModuleDefinitionFile="..\..\..\libgail-util\gailutil.def"\r
+ GenerateDebugInformation="true"\r
+ SubSystem="2"\r
+ ImportLibrary="$(TargetDir)$(ProjectName).lib"\r
+ TargetMachine="17"\r
+ />\r
+ </Configuration>\r
+ <Configuration\r
+ Name="Release|Win32"\r
+ InheritedPropertySheets=".\gtk+.vsprops"\r
+ ConfigurationType="2"\r
+ CharacterSet="1"\r
+ WholeProgramOptimization="1"\r
+ >\r
+ <Tool\r
+ Name="VCPreBuildEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ Optimization="2"\r
+ EnableIntrinsicFunctions="true"\r
+ AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"\r
+ PreprocessorDefinitions="GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"\r
+ RuntimeLibrary="2"\r
+ EnableFunctionLevelLinking="true"\r
+ UsePrecompiledHeader="0"\r
+ WarningLevel="3"\r
+ DebugInformationFormat="3"\r
+ />\r
+ <Tool\r
+ Name="VCLinkerTool"\r
+ LinkIncremental="1"\r
+ AdditionalDependencies="atk-1.0.lib"\r
+ OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"\r
+ GenerateDebugInformation="true"\r
+ ModuleDefinitionFile="..\..\..\libgail-util\gailutil.def"\r
+ ImportLibrary="$(TargetDir)$(ProjectName).lib"\r
+ SubSystem="2"\r
+ OptimizeReferences="2"\r
+ EnableCOMDATFolding="2"\r
+ TargetMachine="1"\r
+ />\r
+ </Configuration>\r
+ <Configuration\r
+ Name="Release|x64"\r
+ InheritedPropertySheets=".\gtk+.vsprops"\r
+ ConfigurationType="2"\r
+ CharacterSet="2"\r
+ >\r
+ <Tool\r
+ Name="VCPreBuildEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"\r
+ PreprocessorDefinitions="GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"\r
+ RuntimeLibrary="2"\r
+ UsePrecompiledHeader="0"\r
+ WarningLevel="3"\r
+ DebugInformationFormat="3"\r
+ />\r
+ <Tool\r
+ Name="VCLinkerTool"\r
+ AdditionalDependencies="atk-1.0.lib"\r
+ OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"\r
+ LinkIncremental="2"\r
+ ModuleDefinitionFile="..\..\..\libgail-util\gailutil.def"\r
+ GenerateDebugInformation="true"\r
+ SubSystem="2"\r
+ OptimizeReferences="2"\r
+ EnableCOMDATFolding="2"\r
+ ImportLibrary="$(TargetDir)$(ProjectName).lib"\r
+ TargetMachine="17"\r
+ />\r
+ </Configuration>\r
+ </Configurations>\r
+ <References>\r
+ </References>\r
+ <Files>\r
+ <Filter\r
+ Name="Sources"\r
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+ >\r
+ <File RelativePath="..\..\..\libgail-util\gailmisc.c" />\r
+ <File RelativePath="..\..\..\libgail-util\gailtextutil.c" />\r
+ </Filter>\r
+ <Filter\r
+ Name="Headers"\r
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"\r
+ >\r
+ </Filter>\r
+ <Filter\r
+ Name="Resource Files"\r
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"\r
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
+ >\r
+ </Filter>\r
+ </Files>\r
+ <Globals>\r
+ </Globals>\r
+</VisualStudioProject>\r
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk", "gtk.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}"\r
ProjectSection(ProjectDependencies) = postProject\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46} = {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}\r
EndProjectSection\r
EndProject\r
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo", "gtk3-demo.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}\r
EndProjectSection\r
EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgail", "libgail.vcproj", "{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gailutil", "gailutil.vcproj", "{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}"\r
+ ProjectSection(ProjectDependencies) = postProject\r
+ {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}\r
+ {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}\r
+ EndProjectSection\r
+EndProject\r
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"\r
ProjectSection(ProjectDependencies) = postProject\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942} = {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}\r
EndProjectSection\r
EndProject\r
Global\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|Win32.Build.0 = Release|Win32\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.ActiveCfg = Release|x64\r
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.Build.0 = Release|x64\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.Build.0 = Debug|Win32\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.ActiveCfg = Debug|x64\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.Build.0 = Debug|x64\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.ActiveCfg = Release|Win32\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.Build.0 = Release|Win32\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.ActiveCfg = Release|x64\r
+ {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.Build.0 = Release|x64\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|Win32.Build.0 = Debug|Win32\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|x64.ActiveCfg = Debug|x64\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|x64.Build.0 = Debug|x64\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|Win32.ActiveCfg = Release|Win32\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|Win32.Build.0 = Release|Win32\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|x64.ActiveCfg = Release|x64\r
+ {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|x64.Build.0 = Release|x64\r
EndGlobalSection\r
GlobalSection(SolutionProperties) = preSolution\r
HideSolutionNode = FALSE\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
- AdditionalIncludeDirectories="..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-2.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0"\r
+ AdditionalIncludeDirectories="..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0"\r
PreprocessorDefinitions="HAVE_CONFIG_H;G_DISABLE_DEPRECATED;G_DISABLE_SINGLE_INCLUDES;ATK_DISABLE_SINGLE_INCLUDES;GDK_PIXBUF_DISABLE_SINGLE_INCLUDES;GTK_DISABLE_SINGLE_INCLUDES"\r
ForcedIncludeFiles="msvc_recommended_pragmas.h"\r
/>\r
copy ..\..\..\gtk\gtkwidgetpath.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk
\r
copy ..\..\..\gtk\gtkwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk
\r
\r
+mkdir $(OutDir)\include\gail-$(GtkApiVersion)\libgail-util
\r
+copy ..\..\..\libgail-util\gail-util.h $(OutDir)\include\gail-$(GtkApiVersion)\libgail-util
\r
+copy ..\..\..\libgail-util\gailmisc.h $(OutDir)\include\gail-$(GtkApiVersion)\libgail-util
\r
+copy ..\..\..\libgail-util\gailtextutil.h $(OutDir)\include\gail-$(GtkApiVersion)\libgail-util
\r
+\r
copy ..\..\..\gdk\gdkconfig.h $(OutDir)\include\gtk-3.0\gdk
\r
\r
copy $(ConfigurationName)\$(PlatformName)\bin\*-$(GtkApiVersion).lib $(OutDir)\lib
\r
+copy $(ConfigurationName)\$(PlatformName)\bin\gailutil.lib $(OutDir)\lib
\r
\r
mkdir $(OutDir)\share\glib-2.0\schemas
\r
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(OutDir)\share\glib-2.0\schemas
\r
/>\r
<Tool\r
Name="VCLinkerTool"\r
- AdditionalDependencies="atk-2.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"\r
+ AdditionalDependencies="atk-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"\r
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"\r
LinkIncremental="2"\r
ModuleDefinitionFile="$(IntDir)\gtk.def"\r
/>\r
<Tool\r
Name="VCLinkerTool"\r
- AdditionalDependencies="atk-2.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"\r
+ AdditionalDependencies="atk-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"\r
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"\r
LinkIncremental="2"\r
ModuleDefinitionFile="$(IntDir)\gtk.def"\r
/>\r
<Tool\r
Name="VCLinkerTool"\r
- AdditionalDependencies="atk-2.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"\r
+ AdditionalDependencies="atk-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"\r
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"\r
LinkIncremental="2"\r
ModuleDefinitionFile="$(IntDir)\gtk.def"\r
/>\r
<Tool\r
Name="VCLinkerTool"\r
- AdditionalDependencies="atk-2.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"\r
+ AdditionalDependencies="atk-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"\r
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"\r
LinkIncremental="2"\r
ModuleDefinitionFile="$(IntDir)\gtk.def"\r
--- /dev/null
+<?xml version="1.0" encoding="big5"?>\r
+<VisualStudioProject\r
+ ProjectType="Visual C++"\r
+ Version="9.00"\r
+ Name="libgail"\r
+ ProjectGUID="{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}"\r
+ RootNamespace="libgail"\r
+ Keyword="Win32Proj"\r
+ TargetFrameworkVersion="196613"\r
+ >\r
+ <Platforms>\r
+ <Platform\r
+ Name="Win32"\r
+ />\r
+ <Platform\r
+ Name="x64"\r
+ />\r
+ </Platforms>\r
+ <ToolFiles>\r
+ </ToolFiles>\r
+ <Configurations>\r
+ <Configuration\r
+ Name="Debug|Win32"\r
+ InheritedPropertySheets=".\gtk+.vsprops"\r
+ ConfigurationType="4"\r
+ CharacterSet="1"\r
+ >\r
+ <Tool\r
+ Name="VCPreBuildEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ Optimization="0"\r
+ PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"\r
+ AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"\r
+ MinimalRebuild="true"\r
+ BasicRuntimeChecks="3"\r
+ RuntimeLibrary="3"\r
+ UsePrecompiledHeader="0"\r
+ WarningLevel="3"\r
+ DebugInformationFormat="4"\r
+ />\r
+ </Configuration>\r
+ <Configuration\r
+ Name="Debug|x64"\r
+ InheritedPropertySheets=".\gtk+.vsprops"\r
+ ConfigurationType="4"\r
+ CharacterSet="2"\r
+ >\r
+ <Tool\r
+ Name="VCPreBuildEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ Optimization="0"\r
+ PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"\r
+ AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"\r
+ MinimalRebuild="true"\r
+ BasicRuntimeChecks="3"\r
+ RuntimeLibrary="3"\r
+ UsePrecompiledHeader="0"\r
+ WarningLevel="3"\r
+ DebugInformationFormat="3"\r
+ />\r
+ </Configuration>\r
+ <Configuration\r
+ Name="Release|Win32"\r
+ InheritedPropertySheets=".\gtk+.vsprops"\r
+ ConfigurationType="4"\r
+ CharacterSet="1"\r
+ WholeProgramOptimization="1"\r
+ >\r
+ <Tool\r
+ Name="VCPreBuildEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ Optimization="2"\r
+ EnableIntrinsicFunctions="true"\r
+ PreprocessorDefinitions="$(GtkDefines)"\r
+ AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"\r
+ RuntimeLibrary="2"\r
+ EnableFunctionLevelLinking="true"\r
+ UsePrecompiledHeader="0"\r
+ WarningLevel="3"\r
+ DebugInformationFormat="3"\r
+ />\r
+ </Configuration>\r
+ <Configuration\r
+ Name="Release|x64"\r
+ InheritedPropertySheets=".\gtk+.vsprops"\r
+ ConfigurationType="4"\r
+ CharacterSet="2"\r
+ >\r
+ <Tool\r
+ Name="VCPreBuildEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ PreprocessorDefinitions="$(GtkDefines)"\r
+ AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"\r
+ RuntimeLibrary="2"\r
+ UsePrecompiledHeader="0"\r
+ WarningLevel="3"\r
+ DebugInformationFormat="3"\r
+ />\r
+ </Configuration>\r
+ </Configurations>\r
+ <References>\r
+ </References>\r
+ <Files>\r
+ <Filter\r
+ Name="Sources"\r
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+ >\r
+#include "libgail.sourcefiles"\r
+ </Filter>\r
+ <Filter\r
+ Name="Headers"\r
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"\r
+ >\r
+ </Filter>\r
+ <Filter\r
+ Name="Resource Files"\r
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"\r
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
+ >\r
+ </Filter>\r
+ </Files>\r
+ <Globals>\r
+ </Globals>\r
+</VisualStudioProject>\r
m4_define([gtk_major_version], [3])
m4_define([gtk_minor_version], [1])
-m4_define([gtk_micro_version], [7])
+m4_define([gtk_micro_version], [11])
m4_define([gtk_interface_age], [0])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
m4_define([gtk_binary_version], [3.0.0])
# required versions of other packages
-m4_define([glib_required_version], [2.29.4])
-m4_define([pango_required_version], [1.24.0])
+m4_define([glib_required_version], [2.29.14])
+m4_define([pango_required_version], [1.29.0])
m4_define([atk_required_version], [1.30])
m4_define([cairo_required_version], [1.10.0])
m4_define([gdk_pixbuf_required_version], [2.22.0])
*-*-linux*)
os_linux=yes
;;
+ *-*-openbsd*)
+ os_openbsd=yes
+ ;;
esac
dnl
GTK_PACKAGES="$GTK_PACKAGES pangoft2"
fi
GTK_EXTRA_LIBS=
+if test x"$os_openbsd" = xyes; then
+ GTK_EXTRA_LIBS="$GTK_EXTRA_LIBS -lkvm"
+fi
+
GTK_EXTRA_CFLAGS=
GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS"
GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES $GTK_PACKAGES` $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
demos/pixbuf-demo/Makefile
examples/Makefile
tests/Makefile
+tests/a11y/Makefile
tests/css/Makefile
tests/css/parser/Makefile
tests/reftests/Makefile
gtk/makefile.msc
gtk/gtkversion.h
gtk/gtk-win32.rc
+gtk/a11y/Makefile
gtk/tests/Makefile
+libgail-util/Makefile
modules/Makefile
-modules/other/Makefile
-modules/other/gail/Makefile
-modules/other/gail/libgail-util/Makefile
-modules/other/gail/tests/Makefile
modules/engines/Makefile
modules/engines/pixbuf/Makefile
modules/engines/ms-windows/Makefile
tree_store.c \
ui_manager.c
-INCLUDES = \
+AM_CPPFLAGS = \
-DDEMOCODEDIR="\"$(democodedir)\"" \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_DISABLE_DEPRECATED \
developers.txt \
dnd_internals.txt \
focus_tracking.txt \
- generation.txt \
gtkdocs_fix \
make-todo \
refcounting.txt \
+++ /dev/null
-Overview:
-========
-
-This file describes the way that autogeneration
-works within the GTK+ source code.
-
-The following files in the gdk/ subdirectory
-are autogenerated:
-
- gdkkeysyms.h
- gdkcursors.h
-
-The following files in the gtk/ subdirectory
-are autogenerated:
-
- gtk.defs
- Description of GTK+ types (and some functions) in a lisp-style
- format.
- gtktypebuiltins.h
- Header file including declarations for internal types
- gtktypebuiltins_vars.c
- Variables for type values for internal types.
- gtktypebuiltins_ids.c
- Arrays holding information about each internal type.
- gtktypebuiltins_evals.c
- Arrays holding mapping between enumeration values
- and strings.
-
- gtkmarshal.c
- gtkmarshal.h
- Autogenerated signal marshallers
-
-GDK
-===
-
-gdkkeysyms.h and gdkcursors.h are generated from
-the corresponding header files
-
- X11/cursorfont.h
- X11/keysymdef.h
-
-by some simple sed scripts. These are not actually
-run automatically because we want all the keysyms
-even on systems with a limited set.
-So the Gdk rule to generate both files (X-derived-headers)
-only needs to be rerun for every new release of the X Window
-System.
-
-GTK+ - type definitions
-=======================
-
-The type definitions are generated from several sources:
-
- gtk-boxed.defs - definitions for boxed types
- GTK+ header files
- GDK header files
-
-The makeenums.pl script does a heuristic parse of
-the header files and extracts all enumerations declarations.
-It also recognizes a number of pseudo-comments in the
-header files:
-
-Two of these apply to individual enumeration values:
-
- /*< skip >*/
-
- This enumeration value should be skipped.
-
- /*< nick=NICK >*/
-
- The nickname for this value should NICK instead of the
- normally guessed value. For instance:
-
- typedef enum {
- GTK_TARGET_SAME_APP = 1 << 0, /*< nick=same-app >*/
- GTK_TARGET_SAME_WIDGET = 1 << 1 /*< nick=same-widget >*/
- } GtkTargetFlags;
-
- makes the nicks "same-app" and "same-widget", instead of
- "app" and "widget" that would normally be used.
-
-The other two apply to entire enumeration declarations.
-
- /*< prefix=PREFIX >*/
-
- Specifies the prefix to be removed from the enumeration
- values to generate nicknames.
-
- /*< flags >*/
-
- Specifies that this enumeration is used as a bitfield.
- (makenums.pl normally guesses this from the presence of values
- with << operators). For instance:
-
- typedef enum /*< flags >*/
- {
- GDK_IM_PREEDIT_AREA = 0x0001,
- GDK_IM_PREEDIT_CALLBACKS = 0x0002,
- [ ... ]
- } GdkIMStyle;
-
-makeenums.pl can be run into two modes:
-
- 1) Generate the gtktypebuiltins_eval.c file (this
- contains arrays holding the mapping of
- string <=> enumeration value)
-
- 2) Generate the enumeration portion of gtk.defs.
-
-The enumeration portion is added to the boxed type
-declarations in gtk-boxed.defs to create gtk.defs.
-
-The makeetypes.awk program takes the gtk.defs file, and
-from that generates various files depending on the
-third parameter passed to it:
-
- macros: gtktypebuiltins.h
- variables: gtktypebuiltins_vars.c
- entries: gtktypebuiltins_ids.c
-
-GTK+ - marshallers
-==================
-
-The files gtkmarshal.c and gtkmarshal.h include declarations
-and definitions for the marshallers needed inside of
-GTK+. The marshallers to be generated are listed in
-the file gtkmashal.list, which is processed
-by genmarshal.pl.
-
-The format of this file is a list of lines:
-
- <retval-type>:<arg1-type>,<arg2-type>,<arg3-type>
-
-e.g.:
-
- BOOL:POINTER,STRING,STRING,POINTER
-
-A marshaller is generated for each line in the file.
-The possible types are:
-
- NONE
- BOOL
- CHAR
- INT
- UINT
- LONG
- ULONG
- FLOAT
- DOUBLE
- STRING
- ENUM
- FLAGS
- BOXED
- POINTER
- OBJECT
- FOREIGN (gpointer data, GtkDestroyNotify notify)
- C_CALLBACK (GtkFunction func, gpointer func_data)
- SIGNAL (GtkSignalFunc f, gpointer data)
- ARGS (gint n_args, GtkArg *args)
- CALLBACK (GtkCallBackMarshal marshall,
- gpointer data,
- GtkDestroyNotify Notify)
-
-Some of these types map to multiple return values - these
-are marked above with the return types in parentheses.
-
-NOTES
-=====
-
-When autogenerating GTK+ files, the autogenerated
-files are often rebuild resulting in the same result.
-
-To prevent unnecessary rebuilds of the entire directory, some files
-that multiple other source files depend on are not actually written
-to directly. Instead, an intermediate file is written, which
-is then compared to the old file, and only if it is different
-is it copied into the final location.
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
GDK_XID_TO_POINTER
gdk_x11_lookup_xdisplay
gdk_x11_get_server_time
+gdk_x11_device_get_id
+gdk_x11_device_manager_lookup
gdk_x11_display_get_user_time
gdk_x11_display_broadcast_startup_message
gdk_x11_display_get_startup_notification_id
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
gtk_assistant_prepend_page
gtk_assistant_append_page
gtk_assistant_insert_page
+gtk_assistant_remove_page
GtkAssistantPageFunc
gtk_assistant_set_forward_page_func
GtkAssistantPageType
gtk_widget_style_get_property
gtk_widget_style_get_valist
gtk_widget_style_attach
+gtk_widget_class_set_accessible_type
+gtk_widget_class_set_accessible_role
gtk_widget_get_accessible
gtk_widget_child_focus
gtk_widget_child_notify
GTK_IS_THEMING_ENGINE
GTK_IS_THEMING_ENGINE_CLASS
<SUBSECTION Private>
+GtkThemingEnginePrivate
GTK_TYPE_THEMING_ENGINE
gtk_theming_engine_get_type
</SECTION>
GtkOverlay
gtk_overlay_new
-gtk_overlay_set_relative_widget
-gtk_overlay_get_relative_widget
-gtk_overlay_add
-gtk_overlay_set_offset
-gtk_overlay_get_offset
<SUBSECTION Standard>
GTK_TYPE_OVERLAY
cairo_fill (cr);
cairo_destroy (cr);
-pixbuf = gdk_pixbuf_get_from_surface (NULL, s,
- 0, 0, 0, 0,
+pixbuf = gdk_pixbuf_get_from_surface (s,
+ 0, 0,
3, 3);
cairo_surface_destroy (s);
DOC_MAIN_SGML_FILE=gail-libgail-util-docs.sgml
# The directory containing the source code (if it contains documentation).
-DOC_SOURCE_DIR=../../../modules/other/gail/libgail-util
+DOC_SOURCE_DIR=../../../libgail-util
# Used for dependencies
-HFILE_GLOB = $(top_srcdir)/modules/other/gail/libgail-util/*.h
-CFILE_GLOB = $(top_srcdir)/modules/other/gail/libgail-util/*.c
+HFILE_GLOB = $(top_srcdir)/libgail-util/*.h
+CFILE_GLOB = $(top_srcdir)/libgail-util/*.c
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
$(DEP_CFLAGS)
-GTKDOC_LIBS = $(top_builddir)/modules/other/gail/libgail-util/libgailutil.la
+GTKDOC_LIBS = $(top_builddir)/libgail-util/libgailutil.la
# gtkdoc-mkdb related varaibles
MKDB_OPTIONS =
include $(top_srcdir)/Makefile.decl
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-I$(top_srcdir)/gdk \
tictactoe \
wheelbarrow
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
gdk.def \
gdkmarshalers.list \
gdkwindowimpl.h \
- makeenums.pl \
makefile.msc \
gdk.symbols \
gdkenumtypes.c.template \
gdkenumtypes.h.template \
abicheck.sh
-INCLUDES = \
+AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DGDK_COMPILATION \
-I$(top_srcdir) \
Gdk_3_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0 cairo-1.0
Gdk_3_0_gir_LIBS = libgdk-3.la
Gdk_3_0_gir_FILES = $(introspection_files)
-Gdk_3_0_gir_CFLAGS = $(INCLUDES)
+Gdk_3_0_gir_CFLAGS = $(AM_CPPFLAGS)
Gdk_3_0_gir_EXPORT_PACKAGES = gdk-3.0
INTROSPECTION_GIRS += Gdk-3.0.gir
GdkX11_3_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0 xlib-2.0
GdkX11_3_0_gir_LIBS = libgdk-3.la
GdkX11_3_0_gir_FILES = $(x11_introspection_files)
-GdkX11_3_0_gir_CFLAGS = $(INCLUDES) -L$(top_builddir)/gdk
+GdkX11_3_0_gir_CFLAGS = $(AM_CPPFLAGS) -L$(top_builddir)/gdk
GdkX11_3_0_gir_EXPORT_PACKAGES = gdk-x11-3.0
INTROSPECTION_GIRS += GdkX11-3.0.gir
libgdkincludedir = $(includedir)/gtk-3.0/gdk
libgdkbroadwayincludedir = $(includedir)/gtk-3.0/gdk/broadway
-INCLUDES = \
+AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DGDK_COMPILATION \
-I$(top_srcdir) \
gdk_x11_cursor_get_xcursor
gdk_x11_cursor_get_xdisplay
gdk_x11_device_core_get_type
+gdk_x11_device_get_id
gdk_x11_device_manager_core_get_type
+gdk_x11_device_manager_lookup
gdk_x11_device_manager_xi2_get_type
gdk_x11_device_manager_xi_get_type
gdk_x11_device_xi2_get_type
{
}
+static void
+gdk_offscreen_window_set_list (GdkWindow *window,
+ GList *list)
+{
+}
+
static void
gdk_offscreen_window_set_wmfunctions (GdkWindow *window,
GdkWMFunction functions)
impl_class->set_override_redirect = NULL;
impl_class->set_accept_focus = NULL;
impl_class->set_focus_on_map = gdk_offscreen_window_set_boolean;
- impl_class->set_icon_list = NULL;
- impl_class->set_icon_name = NULL;
+ impl_class->set_icon_list = gdk_offscreen_window_set_list;
+ impl_class->set_icon_name = gdk_offscreen_window_set_string;
impl_class->iconify = gdk_offscreen_window_do_nothing;
impl_class->deiconify = gdk_offscreen_window_do_nothing;
impl_class->stick = gdk_offscreen_window_do_nothing;
* doing. Pass %NULL for @window to get all events for all windows,
* instead of events for a specific window.
*
- * See gdk_display_add_client_message_filter() if you are interested
- * in X ClientMessage events.
- *
* If you are interested in X GenericEvents, bear in mind that
* XGetEventData() has been already called on the event, and
* XFreeEventData() must not be called within @function.
void
gdk_test_render_sync (GdkWindow *window)
{
- return GDK_WINDOW_IMPL_GET_CLASS (window->impl)->sync_rendering (window);
+ GDK_WINDOW_IMPL_GET_CLASS (window->impl)->sync_rendering (window);
}
/**
+++ /dev/null
-#!/usr/bin/perl -w
-
-# Information about the current enumeration
-
-my $flags; # Is enumeration a bitmask
-my $seenbitshift; # Have we seen bitshift operators?
-my $prefix; # Prefix for this enumeration
-my $enumname; # Name for this enumeration
-my $firstenum = 1; # Is this the first enumeration in file?
-my @entries; # [ $name, $val ] for each entry
-
-sub parse_options {
- my $opts = shift;
- my @opts;
-
- for $opt (split /\s*,\s*/, $opts) {
- my ($key,$val) = $opt =~ /\s*(\w+)(?:=(\S+))?/;
- defined $val or $val = 1;
- push @opts, $key, $val;
- }
- @opts;
-}
-sub parse_entries {
- my $file = shift;
-
- while (<$file>) {
- # Read lines until we have no open comments
- while (m@/\*
- ([^*]|\*(?!/))*$
- @x) {
- my $new;
- defined ($new = <$file>) || die "Unmatched comment";
- $_ .= $new;
- }
- # Now strip comments
- s@/\*(?!<)
- ([^*]+|\*(?!/))*
- \*/@@gx;
-
- s@\n@ @;
-
- next if m@^\s*$@;
-
- # Handle include files
- if (/^\#include\s*<([^>]*)>/ ) {
- my $file= "../$1";
- open NEWFILE, $file or die "Cannot open include file $file: $!\n";
-
- if (parse_entries (\*NEWFILE)) {
- return 1;
- } else {
- next;
- }
- }
-
- if (/^\s*\}\s*(\w+)/) {
- $enumname = $1;
- return 1;
- }
-
- if (m@^\s*
- (\w+)\s* # name
- (?:=( # value
- (?:[^,/]|/(?!\*))*
- ))?,?\s*
- (?:/\*< # options
- (([^*]|\*(?!/))*)
- >\*/)?
- \s*$
- @x) {
- my ($name, $value, $options) = ($1,$2,$3);
-
- if (!defined $flags && defined $value && $value =~ /<</) {
- $seenbitshift = 1;
- }
- if (defined $options) {
- my %options = parse_options($options);
- if (!defined $options{skip}) {
- push @entries, [ $name, $options{nick} ];
- }
- } else {
- push @entries, [ $name ];
- }
- } else {
- print STDERR "Can't understand: $_\n";
- }
- }
- return 0;
-}
-
-
-my $gen_arrays = 0;
-my $gen_defs = 0;
-my $gen_includes = 0;
-my $gen_cfile = 0;
-
-# Parse arguments
-
-if (@ARGV) {
- if ($ARGV[0] eq "arrays") {
- shift @ARGV;
- $gen_arrays = 1;
- } elsif ($ARGV[0] eq "defs") {
- shift @ARGV;
- $gen_defs = 1;
- } elsif ($ARGV[0] eq "include") {
- shift @ARGV;
- $gen_includes = 1;
- } elsif ($ARGV[0] eq "cfile") {
- shift @ARGV;
- $gen_cfile = 1;
- }
-}
-
-if ($gen_defs) {
- print ";; generated by makeenums.pl ; -*- scheme -*-\n\n";
-} else {
- print "/* Generated by makeenums.pl */\n\n";
-}
-
-if ($gen_includes) {
- print "#ifndef __GDK_ENUM_TYPES_H__\n";
- print "#define __GDK_ENUM_TYPES_H__\n";
-}
-
-if ($gen_cfile) {
- print "#include \"gdk.h\"\n";
-}
-
-ENUMERATION:
-while (<>) {
- if (eof) {
- close (ARGV); # reset line numbering
- $firstenum = 1; # Flag to print filename at next enum
- }
-
- if (m@^\s*typedef\s+enum\s*
- ({)?\s*
- (?:/\*<
- (([^*]|\*(?!/))*)
- >\*/)?
- @x) {
- print "\n";
- if (defined $2) {
- my %options = parse_options($2);
- $prefix = $options{prefix};
- $flags = $options{flags};
- } else {
- $prefix = undef;
- $flags = undef;
- }
- # Didn't have trailing '{' look on next lines
- if (!defined $1) {
- while (<>) {
- if (s/^\s*\{//) {
- last;
- }
- }
- }
-
- $seenbitshift = 0;
- @entries = ();
-
- # Now parse the entries
- parse_entries (\*ARGV);
-
- # figure out if this was a flags or enums enumeration
-
- if (!defined $flags) {
- $flags = $seenbitshift;
- }
-
- # Autogenerate a prefix
-
- if (!defined $prefix) {
- for (@entries) {
- my $name = $_->[0];
- if (defined $prefix) {
- my $tmp = ~ ($name ^ $prefix);
- ($tmp) = $tmp =~ /(^\xff*)/;
- $prefix = $prefix & $tmp;
- } else {
- $prefix = $name;
- }
- }
- # Trim so that it ends in an underscore
- $prefix =~ s/_[^_]*$/_/;
- }
-
- for $entry (@entries) {
- my ($name,$nick) = @{$entry};
- if (!defined $nick) {
- ($nick = $name) =~ s/^$prefix//;
- $nick =~ tr/_/-/;
- $nick = lc($nick);
- @{$entry} = ($name, $nick);
- }
- }
-
- # Spit out the output
-
- my $valuename = $enumname;
- $valuename =~ s/([^A-Z])([A-Z])/$1_$2/g;
- $valuename =~ s/([A-Z][A-Z])([A-Z][0-9a-z])/$1_$2/g;
- $valuename = lc($valuename);
-
- my $typemacro = $enumname;
- $typemacro =~ s/([^A-Z])([A-Z])/$1_$2/g;
- $typemacro =~ s/([A-Z][A-Z])([A-Z][0-9a-z])/$1_$2/g;
- $typemacro = uc($valuename);
- $typemacro =~ s/GDK_/GDK_TYPE_/g;
-
- if ($gen_defs) {
- if ($firstenum) {
- print qq(\n; enumerations from "$ARGV"\n);
- $firstenum = 0;
- }
-
- print "\n(define-".($flags ? "flags" : "enum")." $enumname";
-
- for (@entries) {
- my ($name,$nick) = @{$_};
- print "\n ($nick $name)";
- }
- print ")\n";
-
- } elsif ($gen_arrays) {
-
- print "static const GtkEnumValue _${valuename}_values[] = {\n";
- for (@entries) {
- my ($name,$nick) = @{$_};
- print qq( { $name, "$name", "$nick" },\n);
- }
- print " { 0, NULL, NULL }\n";
- print "};\n";
- } elsif ($gen_includes) {
- print "GType ${valuename}_get_type (void);\n";
- print "#define ${typemacro} ${valuename}_get_type ()\n";
- } elsif ($gen_cfile) {
- print (<<EOF);
-GType
-${valuename}_get_type (void)
-{
- static GType etype = 0;
- if (etype == 0)
- {
-EOF
- if ($flags) {
- print " static const GFlagsValue values[] = {\n";
- } else {
- print " static const GEnumValue values[] = {\n";
- }
- for (@entries) {
- my ($name,$nick) = @{$_};
- print qq( { $name, "$name", "$nick" },\n);
- }
- print " { 0, NULL, NULL }\n";
- print " };\n";
-
- if ($flags) {
- print " etype = g_flags_register_static (\"$enumname\", values);\n";
- } else {
- print " etype = g_enum_register_static (\"$enumname\", values);\n";
- }
-
- print (<<EOF);
- }
- return etype;
-}
-EOF
- }
- print "\n";
- }
- }
-
-
-if ($gen_includes) {
- print "#endif /* __GDK_ENUMS_H__ */\n";
-}
libgdkincludedir = $(includedir)/gtk-3.0/gdk
libgdkquartzincludedir = $(includedir)/gtk-3.0/gdk/quartz
-INCLUDES = \
+AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DGDK_COMPILATION \
-I$(top_srcdir) \
}
if (list)
- *list = g_new (gchar *, n_strings + 1);
+ *list = g_new0 (gchar *, n_strings + 1);
- (*list)[n_strings] = NULL;
-
i = n_strings;
tmp_list = strings;
while (tmp_list)
old_mask = [impl->toplevel styleMask];
- /* Note, 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.
- */
if (old_mask != new_mask)
{
NSRect rect;
rect = [NSWindow contentRectForFrameRect:rect styleMask:old_mask];
}
- impl->toplevel = [impl->toplevel initWithContentRect:rect
- styleMask:new_mask
- backing:NSBackingStoreBuffered
- defer:NO];
-
- [impl->toplevel setHasShadow: window_type_hint_to_shadow (impl->type_hint)];
- [impl->toplevel setLevel: window_type_hint_to_level (impl->type_hint)];
+ /* 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.
+ */
+#if MAC_OS_X_VERSION_MIN_ALLOWED > MAC_OS_X_VERSION_10_5
+ if ([impl->toplevel respondsToSelector:@selector(setStyleMask:)])
+ {
+ [impl->toplevel setStyleMask:new_mask];
+ }
+ else
+#endif
+ {
+ [impl->toplevel release];
+ impl->toplevel = [[GdkQuartzNSWindow alloc] initWithContentRect:rect
+ styleMask:new_mask
+ backing:NSBackingStoreBuffered
+ defer:NO];
+ [impl->toplevel setHasShadow: window_type_hint_to_shadow (impl->type_hint)];
+ [impl->toplevel setLevel: window_type_hint_to_level (impl->type_hint)];
+ [impl->toplevel setContentView:old_view];
+ }
- [impl->toplevel setContentView:old_view];
[impl->toplevel setFrame:rect display:YES];
/* Invalidate the window shadow for non-opaque views that have shadow
libgdkincludedir = $(includedir)/gtk-3.0/gdk
-INCLUDES = \
+AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DGDK_COMPILATION \
-I$(top_srcdir) \
libgdkincludedir = $(includedir)/gtk-3.0/gdk
-INCLUDES = \
+AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DINSIDE_GDK_WIN32 \
-I$(top_srcdir) \
libgdkincludedir = $(includedir)/gtk-3.0/gdk
libgdkx11includedir = $(includedir)/gtk-3.0/gdk/x11
-INCLUDES = \
+AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DGDK_COMPILATION \
-I$(top_srcdir) \
libgdkx11include_HEADERS = \
gdkx11applaunchcontext.h \
gdkx11cursor.h \
+ gdkx11device.h \
gdkx11device-core.h \
gdkx11device-xi.h \
gdkx11device-xi2.h \
+ gdkx11devicemanager.h \
gdkx11devicemanager-core.h \
gdkx11devicemanager-xi.h \
gdkx11devicemanager-xi2.h \
return state;
}
+gint
+_gdk_x11_device_xi2_get_id (GdkX11DeviceXI2 *device)
+{
+ g_return_val_if_fail (GDK_IS_X11_DEVICE_XI2 (device), 0);
+
+ return device->device_id;
+}
+
#else /* XINPUT_2 */
static void
#include "config.h"
#include "gdkx11devicemanager-core.h"
+#include "gdkdevicemanagerprivate-core.h"
#ifdef XINPUT_XFREE
#include "gdkx11devicemanager-xi.h"
#ifdef XINPUT_2
#include "gdkinternals.h"
#include "gdkprivate-x11.h"
+/* Defines for VCP/VCK, to be used too
+ * for the core protocol device manager
+ */
+#define VIRTUAL_CORE_POINTER_ID 2
+#define VIRTUAL_CORE_KEYBOARD_ID 3
+
GdkDeviceManager *
_gdk_x11_device_manager_new (GdkDisplay *display)
{
"display", display,
NULL);
}
+
+/**
+ * gdk_x11_device_manager_lookup:
+ * @device_manager: a #GdkDeviceManager
+ * @device_id: a device ID, as understood by the XInput2 protocol
+ *
+ * Returns the #GdkDevice that wraps the given device ID.
+ *
+ * Returns: (transfer none): (allow-none): The #GdkDevice wrapping the device ID,
+ * or %NULL if the given ID doesn't currently represent a device.
+ **/
+GdkDevice *
+gdk_x11_device_manager_lookup (GdkDeviceManager *device_manager,
+ gint device_id)
+{
+ GdkDevice *device = NULL;
+
+ g_return_val_if_fail (GDK_IS_DEVICE_MANAGER (device_manager), NULL);
+
+#ifdef XINPUT_2
+ if (GDK_IS_X11_DEVICE_MANAGER_XI2 (device_manager))
+ device = _gdk_x11_device_manager_xi2_lookup (GDK_X11_DEVICE_MANAGER_XI2 (device_manager),
+ device_id);
+ else
+#endif /* XINPUT_2 */
+ if (GDK_IS_X11_DEVICE_MANAGER_CORE (device_manager))
+ {
+ /* It is a core/xi1 device manager, we only map
+ * IDs 2 and 3, matching XI2's Virtual Core Pointer
+ * and Keyboard.
+ */
+ if (device_id == VIRTUAL_CORE_POINTER_ID)
+ device = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->core_pointer;
+ else if (device_id == VIRTUAL_CORE_KEYBOARD_ID)
+ device = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->core_keyboard;
+ }
+
+ return device;
+}
+
+/**
+ * gdk_x11_device_get_id:
+ * @device: a #GdkDevice
+ *
+ * Returns the device ID as seen by XInput2.
+ *
+ * <note>
+ * If gdk_disable_multidevice() has been called, this function
+ * will respectively return 2/3 for the core pointer and keyboard,
+ * (matching the IDs for the Virtual Core Pointer and Keyboard in
+ * XInput 2), but calling this function on any slave devices (i.e.
+ * those managed via XInput 1.x), will return 0.
+ * </note>
+ *
+ * Returns: the XInput2 device ID.
+ **/
+gint
+gdk_x11_device_get_id (GdkDevice *device)
+{
+ gint device_id = 0;
+
+ g_return_val_if_fail (GDK_IS_DEVICE (device), 0);
+
+#ifdef XINPUT_2
+ if (GDK_IS_X11_DEVICE_XI2 (device))
+ device_id = _gdk_x11_device_xi2_get_id (GDK_X11_DEVICE_XI2 (device));
+ else
+#endif /* XINPUT_2 */
+ if (GDK_IS_X11_DEVICE_CORE (device))
+ {
+ if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
+ device_id = VIRTUAL_CORE_KEYBOARD_ID;
+ else
+ device_id = VIRTUAL_CORE_POINTER_ID;
+ }
+
+ return device_id;
+}
ev = (XIEvent *) cookie->data;
+ if (!ev)
+ return FALSE;
+
window = get_event_window (translator, ev);
if (window && GDK_WINDOW_DESTROYED (window))
}
#endif /* XINPUT_2 */
+
+GdkDevice *
+_gdk_x11_device_manager_xi2_lookup (GdkX11DeviceManagerXI2 *device_manager_xi2,
+ gint device_id)
+{
+ return g_hash_table_lookup (device_manager_xi2->id_table,
+ GINT_TO_POINTER (device_id));
+}
keymap_x11->current_serial = display_x11->keymap_serial;
if (keymap_x11->num_lock_mask == 0)
- keymap_x11->num_lock_mask = XkbKeysymToModifiers (KEYMAP_XDISPLAY (GDK_KEYMAP (keymap_x11)), XK_Num_Lock);
+ keymap_x11->num_lock_mask = XkbKeysymToModifiers (KEYMAP_XDISPLAY (GDK_KEYMAP (keymap_x11)), GDK_KEY_Num_Lock);
return keymap_x11->xkb_desc;
}
guint _gdk_x11_device_xi2_translate_state (XIModifierState *mods_state,
XIButtonState *buttons_state,
XIGroupState *group_state);
+gint _gdk_x11_device_xi2_get_id (GdkX11DeviceXI2 *device);
+
+GdkDevice * _gdk_x11_device_manager_xi2_lookup (GdkX11DeviceManagerXI2 *device_manager_xi2,
+ gint device_id);
+
#endif
void _gdk_x11_event_translate_keyboard_string (GdkEventKey *event);
#include <gdk/x11/gdkx11applaunchcontext.h>
#include <gdk/x11/gdkx11cursor.h>
+#include <gdk/x11/gdkx11device.h>
#include <gdk/x11/gdkx11device-core.h>
#include <gdk/x11/gdkx11device-xi.h>
#include <gdk/x11/gdkx11device-xi2.h>
+#include <gdk/x11/gdkx11devicemanager.h>
#include <gdk/x11/gdkx11devicemanager-core.h>
#include <gdk/x11/gdkx11devicemanager-xi.h>
#include <gdk/x11/gdkx11devicemanager-xi2.h>
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2011 Red Hat, Inc.
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 2011 Carlos Garnacho
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
*/
-#ifndef __GTK_ACCESSIBLE_PRIVATE_H__
-#define __GTK_ACCESSIBLE_PRIVATE_H__
+#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdkx.h> can be included directly."
+#endif
-#include "gtkaccessible.h"
+#ifndef __GDK_X11_DEVICE_H__
+#define __GDK_X11_DEVICE_H__
+
+#include <gdk/gdk.h>
G_BEGIN_DECLS
-void _gtk_accessible_set_factory_type (GType widget_type,
- GType factory_type);
+gint gdk_x11_device_get_id (GdkDevice *device);
G_END_DECLS
-#endif /* __GTK_ACCESSIBLE_PRIVATE_H__ */
+#endif /* __GDK_X11_DEVICE_H__ */
--- /dev/null
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 2011 Carlos Garnacho
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdkx.h> can be included directly."
+#endif
+
+#ifndef __GDK_X11_DEVICE_MANAGER_H__
+#define __GDK_X11_DEVICE_MANAGER_H__
+
+#include <gdk/gdk.h>
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
+G_BEGIN_DECLS
+
+GdkDevice * gdk_x11_device_manager_lookup (GdkDeviceManager *device_manager,
+ gint device_id);
+
+G_END_DECLS
+
+#endif /* __GDK_X11_DEVICE_MANAGER_H__ */
GTK_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f"
endif
-SUBDIRS = . tests
+SUBDIRS = a11y . tests
if HAVE_PAPI_CUPS
GTK_PRINT_BACKENDS=file,papi,cups
endif
endif
-INCLUDES = \
+AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gtk\" \
-DGTK_LIBDIR=\"$(libdir)\" \
-DGTK_DATADIR=\"$(datadir)\" \
# This places the generated .def file in srcdir, since it is expected to be there.
# (The one from a tarball is)
gtk.def: gtk.symbols
- $(AM_V_GEN) (echo -e EXPORTS; $(CPP) -P -DG_OS_WIN32 - <$(srcdir)/gtk.symbols | $(SED) -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gtk.def
+ $(AM_V_GEN) (echo -e EXPORTS; $(CPP) -P -DG_OS_WIN32 - <$(srcdir)/gtk.symbols | $(SED) -e '/^$$/d' -e 's/^/ /') > $(srcdir)/gtk.def
TESTS_ENVIRONMENT = srcdir="$(srcdir)" gtk_all_c_sources="$(gtk_all_c_sources)"
if OS_LINUX
libgtkincludedir = $(includedir)/gtk-3.0/gtk
libadd = \
$(top_builddir)/gdk/libgdk-3.la \
+ $(top_builddir)/gtk/a11y/libgail.la \
$(GTK_DEP_LIBS)
-deps =
+deps = \
+ $(top_builddir)/gdk/libgdk-3.la \
+ $(top_builddir)/gtk/a11y/libgail.la
# libtool stuff: set version and export symbols for resolving
# since automake doesn't support conditionalized libsomething_la_LDFLAGS
# GTK+ header files that don't get installed
gtk_private_h_sources = \
gtkaccelgroupprivate.h \
- gtkaccessibleprivate.h \
gtkanimationdescription.h \
gtkappchooserprivate.h \
gtkappchoosermodule.h \
gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc xgen-gtfsrc.c xgen-gtf
CLEANFILES = $(gen_sources)
-BUILT_SOURCES = $(gtk_built_sources)
+BUILT_SOURCES = $(gtk_built_sources) stamp-icons
# all autogenerated files need to be generated in the srcdir,
# so old versions get remade and are not confused with newer
gtktypefuncs.c: @REBUILD@ stamp-gtktypebuiltins.h $(top_srcdir)/gtk/*.h $(top_srcdir)/gdk/*.h Makefile
$(AM_V_GEN) echo '#include <gtk/gtkx.h>' > xgen-gtfsrc.c && \
- ${CPP} $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
+ ${CPP} $(DEFS) $(AM_CPPFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
$(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
sort | uniq | \
$(SED) '{ s/^/*tp++ = /; s/$$/();/; s/^.*\(gdk_x11\|gtk_plug_\|gtk_socket_\).*$$/#ifdef GDK_WINDOWING_X11\n&\n#endif/; }' > xgen-gtf \
Gtk_3_0_gir_SCANNERFLAGS += --c-include="gtk/gtkx.h"
Gtk_3_0_gir_INCLUDES = Atk-1.0
Gtk_3_0_gir_CFLAGS = \
- $(INCLUDES) \
+ $(AM_CPPFLAGS) \
-UGDK_DISABLE_DEPRECATED \
-UGTK_DISABLE_DEPRECATED \
-DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
--- /dev/null
+include $(top_srcdir)/Makefile.decl
+
+noinst_LTLIBRARIES = libgail.la
+
+gail_c_sources = \
+ gail.c \
+ gtkarrowaccessible.c \
+ gtkbooleancellaccessible.c \
+ gtkboxaccessible.c \
+ gtkbuttonaccessible.c \
+ gtkcellaccessible.c \
+ gtkcellaccessibleparent.c \
+ gtkcheckmenuitemaccessible.c \
+ gtkcomboboxaccessible.c \
+ gtkcontaineraccessible.c \
+ gtkcontainercellaccessible.c \
+ gtkentryaccessible.c \
+ gtkexpanderaccessible.c \
+ gtkframeaccessible.c \
+ gtkimageaccessible.c \
+ gtkimagecellaccessible.c \
+ gtklabelaccessible.c \
+ gtklinkbuttonaccessible.c \
+ gtkmenuaccessible.c \
+ gtkmenushellaccessible.c \
+ gtkmenuitemaccessible.c \
+ gtknotebookaccessible.c \
+ gtknotebookpageaccessible.c \
+ gtkpanedaccessible.c \
+ gtkprogressbaraccessible.c \
+ gtkradiobuttonaccessible.c \
+ gtkradiomenuitemaccessible.c \
+ gtkrangeaccessible.c \
+ gtkrenderercellaccessible.c \
+ gtkscaleaccessible.c \
+ gtkscalebuttonaccessible.c \
+ gtkscrollbaraccessible.c \
+ gtkscrolledwindowaccessible.c \
+ gtkspinbuttonaccessible.c \
+ gtkspinneraccessible.c \
+ gtkstatusbaraccessible.c \
+ gtkswitchaccessible.c \
+ gtktextcellaccessible.c \
+ gtktextviewaccessible.c \
+ gtktogglebuttonaccessible.c \
+ gtktoplevelaccessible.c \
+ gtktreeviewaccessible.c \
+ gtkwidgetaccessible.c \
+ gtkwindowaccessible.c \
+ gailutil.c \
+ gailmisc.c
+
+gail_private_h_sources = \
+ gtkarrowaccessible.h \
+ gtkbooleancellaccessible.h \
+ gtkboxaccessible.h \
+ gtkbuttonaccessible.h \
+ gtkcellaccessible.h \
+ gtkcellaccessibleparent.h \
+ gtkcheckmenuitemaccessible.h \
+ gtkcomboboxaccessible.h \
+ gtkcontaineraccessible.h \
+ gtkcontainercellaccessible.h \
+ gtkentryaccessible.h \
+ gtkexpanderaccessible.h \
+ gtkframeaccessible.h \
+ gtkimageaccessible.h \
+ gtkimagecellaccessible.h \
+ gtklabelaccessible.h \
+ gtklinkbuttonaccessible.h \
+ gtkmenuaccessible.h \
+ gtkmenushellaccessible.h \
+ gtkmenuitemaccessible.h \
+ gtknotebookaccessible.h \
+ gtknotebookpageaccessible.h \
+ gtkpanedaccessible.h \
+ gtkprogressbaraccessible.h \
+ gtkradiobuttonaccessible.h \
+ gtkradiomenuitemaccessible.h \
+ gtkrangeaccessible.h \
+ gtkrenderercellaccessible.h \
+ gtkscaleaccessible.h \
+ gtkscalebuttonaccessible.h \
+ gtkscrollbaraccessible.h \
+ gtkscrolledwindowaccessible.h \
+ gtkspinbuttonaccessible.h \
+ gtkspinneraccessible.h \
+ gtkstatusbaraccessible.h \
+ gtkswitchaccessible.h \
+ gtktextcellaccessible.h \
+ gtktextviewaccessible.h \
+ gtktogglebuttonaccessible.h \
+ gtktoplevelaccessible.h \
+ gtktreeviewaccessible.h \
+ gtkwidgetaccessible.h \
+ gtkwindowaccessible.h \
+ gailutil.h \
+ gailmisc.h
+
+libgail_la_SOURCES = \
+ $(gail_c_sources) \
+ $(gail_private_h_sources)
+
+libgail_la_CPPFLAGS = \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gdk \
+ -I$(top_srcdir)/gtk \
+ -I$(top_builddir)/gtk \
+ -DGTK_VERSION=\"$(GTK_VERSION)\"\
+ -DGTK_COMPILATION \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+ $(AM_CPPFLAGS)
+
+libgail_la_CFLAGS = \
+ $(GTK_DEP_CFLAGS) \
+ $(GTK_DEBUG_FLAGS) \
+ $(AM_CFLAGS)
+
+libgail_la_LIBADD = \
+ $(GTK_DEP_LIBS) \
+ $(INTLLIBS)
+
+libgail_la_LDFLAGS = \
+ $(LDFLAGS)
+
+dist-hook: ../../build/win32/vs9/libgail.vcproj ../../build/win32/vs10/libgail.vcxproj ../../build/win32/vs10/libgail.vcxproj.filters
+
+../../build/win32/vs9/libgail.vcproj: ../../build/win32/vs9/libgail.vcprojin
+ for F in $(libgail_la_SOURCES); do \
+ case $$F in \
+ *.c) echo ' <File RelativePath="..\..\..\gtk\a11y\'$$F'" />' \
+ ;; \
+ esac; \
+ done >libgail.sourcefiles
+ $(CPP) -P - <$(top_srcdir)/build/win32/vs9/libgail.vcprojin >$@
+ rm libgail.sourcefiles
+
+../../build/win32/vs10/libgail.vcxproj: ../../build/win32/vs10/libgail.vcxprojin
+ for F in $(libgail_la_SOURCES); do \
+ case $$F in \
+ *.c) echo ' <ClCompile Include="..\..\..\gtk\a11y\'$$F'" />' \
+ ;; \
+ esac; \
+ done >libgail.vs10.sourcefiles
+ $(CPP) -P - <$(top_srcdir)/build/win32/vs10/libgail.vcxprojin >$@
+ rm libgail.vs10.sourcefiles
+
+../../build/win32/vs10/libgail.vcxproj.filters: ../../build/win32/vs10/libgail.vcxproj.filtersin
+ for F in $(libgail_la_SOURCES); do \
+ case $$F in \
+ *.c) echo ' <ClCompile Include="..\..\..\gtk\a11y\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
+ ;; \
+ esac; \
+ done >libgail.vs10.sourcefiles.filters
+ $(CPP) -P - <$(top_srcdir)/build/win32/vs10/libgail.vcxproj.filtersin >$@
+ rm libgail.vs10.sourcefiles.filters
+
+
+-include $(top_srcdir)/git.mk
#include <stdlib.h>
#include <gtk/gtkx.h>
-#include "gail.h"
-#include "gailfactory.h"
+#include "gailutil.h"
+#include "gailmisc.h"
-#define GNOME_ACCESSIBILITY_ENV "GNOME_ACCESSIBILITY"
-#define NO_GAIL_ENV "NO_GAIL"
static gboolean gail_focus_watcher (GSignalInvocationHint *ihint,
guint n_param_values,
guint n_param_values,
const GValue *param_values,
gpointer data);
-static AtkObject* gail_get_accessible_for_widget (GtkWidget *widget,
- gboolean *transient);
static void gail_finish_select (GtkWidget *widget);
static void gail_map_cb (GtkWidget *widget);
static void gail_map_submenu_cb (GtkWidget *widget);
static void gail_set_focus_object (AtkObject *focus_obj,
AtkObject *obj);
-GtkWidget* focus_widget = NULL;
+GtkWidget* _focus_widget = NULL;
static GtkWidget* next_focus_widget = NULL;
static gboolean was_deselect = FALSE;
static GtkWidget* subsequent_focus_widget = NULL;
static guint focus_tracker_id = 0;
static GQuark quark_focus_object = 0;
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_WIDGET, GailWidget, gail_widget, GTK_TYPE_WIDGET)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_CONTAINER, GailContainer, gail_container, GTK_TYPE_CONTAINER)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_BUTTON, GailButton, gail_button, GTK_TYPE_BUTTON)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_LINK_BUTTON, GailLinkButton, gail_link_button, GTK_TYPE_LINK_BUTTON)
-GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_MENU_ITEM, GailMenuItem, gail_menu_item, gail_menu_item_new)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_TOGGLE_BUTTON, GailToggleButton, gail_toggle_button, GTK_TYPE_TOGGLE_BUTTON)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_IMAGE, GailImage, gail_image, GTK_TYPE_IMAGE)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_TEXT_VIEW, GailTextView, gail_text_view, GTK_TYPE_TEXT_VIEW)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_COMBO_BOX, GailComboBox, gail_combo_box, GTK_TYPE_COMBO_BOX)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_ENTRY, GailEntry, gail_entry, GTK_TYPE_ENTRY)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_MENU_SHELL, GailMenuShell, gail_menu_shell, GTK_TYPE_MENU_SHELL)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_MENU, GailMenu, gail_menu, GTK_TYPE_MENU)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_WINDOW, GailWindow, gail_window, GTK_TYPE_BIN)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_RANGE, GailRange, gail_range, GTK_TYPE_RANGE)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SCALE, GailScale, gail_scale, GTK_TYPE_SCALE)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SCALE_BUTTON, GailScaleButton, gail_scale_button, GTK_TYPE_SCALE_BUTTON)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_LABEL, GailLabel, gail_label, GTK_TYPE_LABEL)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_STATUSBAR, GailStatusbar, gail_statusbar, GTK_TYPE_STATUSBAR)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_NOTEBOOK, GailNotebook, gail_notebook, GTK_TYPE_NOTEBOOK)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_CALENDAR, GailCalendar, gail_calendar, GTK_TYPE_CALENDAR)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_PROGRESS_BAR, GailProgressBar, gail_progress_bar, GTK_TYPE_PROGRESS_BAR)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SPIN_BUTTON, GailSpinButton, gail_spin_button, GTK_TYPE_SPIN_BUTTON)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_TREE_VIEW, GailTreeView, gail_tree_view, GTK_TYPE_TREE_VIEW)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_FRAME, GailFrame, gail_frame, GTK_TYPE_FRAME)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_RADIO_BUTTON, GailRadioButton, gail_radio_button, GTK_TYPE_RADIO_BUTTON)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_ARROW, GailArrow, gail_arrow, GTK_TYPE_ARROW)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SEPARATOR, GailSeparator, gail_separator, GTK_TYPE_SEPARATOR)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_BOX, GailBox, gail_box, GTK_TYPE_BOX)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SCROLLED_WINDOW, GailScrolledWindow, gail_scrolled_window, GTK_TYPE_SCROLLED_WINDOW)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_PANED, GailPaned, gail_paned, GTK_TYPE_PANED)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SCROLLBAR, GailScrollbar, gail_scrollbar, GTK_TYPE_SCROLLBAR)
-GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_CHECK_MENU_ITEM, GailCheckMenuItem, gail_check_menu_item, gail_check_menu_item_new)
-GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_RADIO_MENU_ITEM, GailRadioMenuItem, gail_radio_menu_item, gail_radio_menu_item_new)
-GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_EXPANDER, GailExpander, gail_expander, GTK_TYPE_EXPANDER)
-GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_RENDERER_CELL, GailRendererCell, gail_renderer_cell, GTK_TYPE_CELL_RENDERER, gail_renderer_cell_new)
-GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_BOOLEAN_CELL, GailBooleanCell, gail_boolean_cell, GTK_TYPE_CELL_RENDERER_TOGGLE, gail_boolean_cell_new)
-GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_IMAGE_CELL, GailImageCell, gail_image_cell, GTK_TYPE_CELL_RENDERER_PIXBUF, gail_image_cell_new)
-GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_TEXT_CELL, GailTextCell, gail_text_cell, GTK_TYPE_CELL_RENDERER_TEXT, gail_text_cell_new)
-
static AtkObject*
gail_get_accessible_for_widget (GtkWidget *widget,
gboolean *transient)
{
AtkObject *obj = NULL;
- GType gnome_canvas;
-
- gnome_canvas = g_type_from_name ("GnomeCanvas");
*transient = FALSE;
if (!widget)
g_object_unref (obj);
}
}
- else if (G_TYPE_CHECK_INSTANCE_TYPE ((widget), gnome_canvas))
- {
- GObject *focused_item;
- GValue value = {0, };
-
- g_value_init (&value, G_TYPE_OBJECT);
- g_object_get_property (G_OBJECT (widget), "focused_item", &value);
- focused_item = g_value_get_object (&value);
-
- if (focused_item)
- {
- AtkObject *tmp;
-
- obj = atk_gobject_accessible_for_object (G_OBJECT (focused_item));
- tmp = g_object_get_qdata (G_OBJECT (obj), quark_focus_object);
- if (tmp != NULL)
- obj = tmp;
- }
- }
else if (GTK_IS_TOGGLE_BUTTON (widget))
{
GtkWidget *other_widget = gtk_widget_get_parent (widget);
{
if (event->type == GDK_MOTION_NOTIFY && gtk_widget_has_focus (widget))
{
- if (widget == focus_widget)
+ if (widget == _focus_widget)
{
return TRUE;
}
* If previously focused widget is not a GtkMenuItem or a GtkMenu,
* keep track of it so we can return to it after menubar is deactivated
*/
- if (focus_widget &&
- !GTK_IS_MENU_ITEM (focus_widget) &&
- !GTK_IS_MENU (focus_widget))
+ if (_focus_widget &&
+ !GTK_IS_MENU_ITEM (_focus_widget) &&
+ !GTK_IS_MENU (_focus_widget))
{
void *vp_focus_before_menu = &focus_before_menu;
- focus_before_menu = focus_widget;
+ focus_before_menu = _focus_widget;
g_object_add_weak_pointer (G_OBJECT (focus_before_menu), vp_focus_before_menu);
}
AtkObject *atk_obj;
gboolean transient;
- if (widget != focus_widget)
+ if (widget != _focus_widget)
{
- if (focus_widget)
+ if (_focus_widget)
{
- void *vp_focus_widget = &focus_widget;
- g_object_remove_weak_pointer (G_OBJECT (focus_widget), vp_focus_widget);
+ void *vp_focus_widget = &_focus_widget;
+ g_object_remove_weak_pointer (G_OBJECT (_focus_widget), vp_focus_widget);
}
- focus_widget = widget;
- if (focus_widget)
+ _focus_widget = widget;
+ if (_focus_widget)
{
- void *vp_focus_widget = &focus_widget;
- g_object_add_weak_pointer (G_OBJECT (focus_widget), vp_focus_widget);
+ void *vp_focus_widget = &_focus_widget;
+ g_object_add_weak_pointer (G_OBJECT (_focus_widget), vp_focus_widget);
/*
* The UI may not have been updated yet; e.g. in gtkhtml2
* html_view_layout() is called in a idle handler
*/
- if (focus_widget == focus_before_menu)
+ if (_focus_widget == focus_before_menu)
{
void *vp_focus_before_menu = &focus_before_menu;
g_object_remove_weak_pointer (G_OBJECT (focus_before_menu), vp_focus_before_menu);
focus_before_menu = NULL;
}
}
- gail_focus_notify_when_idle (focus_widget);
+ gail_focus_notify_when_idle (_focus_widget);
}
else
{
- if (focus_widget)
- atk_obj = gail_get_accessible_for_widget (focus_widget, &transient);
+ if (_focus_widget)
+ atk_obj = gail_get_accessible_for_widget (_focus_widget, &transient);
else
atk_obj = NULL;
/*
}
}
-/*
- * These exported symbols are hooked by gnome-program
- * to provide automatic module initialization and shutdown.
- */
-extern void gnome_accessibility_module_init (void);
-extern void gnome_accessibility_module_shutdown (void);
-
-static int gail_initialized = FALSE;
-
-static void
-gail_accessibility_module_init (void)
+void
+_gtk_accessibility_init (void)
{
- const char *env_a_t_support;
- gboolean a_t_support = FALSE;
+ static int initialized = FALSE;
- if (gail_initialized)
- {
- return;
- }
- gail_initialized = TRUE;
+ if (initialized)
+ return;
+
+ initialized = TRUE;
quark_focus_object = g_quark_from_static_string ("gail-focus-object");
-
- env_a_t_support = g_getenv (GNOME_ACCESSIBILITY_ENV);
-
- if (env_a_t_support)
- a_t_support = atoi (env_a_t_support);
- if (a_t_support)
- fprintf (stderr, "GTK Accessibility Module initialized\n");
-
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_WIDGET, gail_widget);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CONTAINER, gail_container);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_BUTTON, gail_button);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_LINK_BUTTON, gail_link_button);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_MENU_ITEM, gail_menu_item);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_TOGGLE_BUTTON, gail_toggle_button);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_IMAGE, gail_image);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_TEXT_VIEW, gail_text_view);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_COMBO_BOX, gail_combo_box);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_ENTRY, gail_entry);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_MENU_BAR, gail_menu_shell);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_MENU, gail_menu);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_WINDOW, gail_window);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_RANGE, gail_range);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SCALE, gail_scale);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SCALE_BUTTON, gail_scale_button);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_LABEL, gail_label);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_STATUSBAR, gail_statusbar);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_NOTEBOOK, gail_notebook);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CALENDAR, gail_calendar);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_PROGRESS_BAR, gail_progress_bar);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SPIN_BUTTON, gail_spin_button);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_TREE_VIEW, gail_tree_view);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_FRAME, gail_frame);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CELL_RENDERER_TEXT, gail_text_cell);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CELL_RENDERER_TOGGLE, gail_boolean_cell);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CELL_RENDERER_PIXBUF, gail_image_cell);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CELL_RENDERER, gail_renderer_cell);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_RADIO_BUTTON, gail_radio_button);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_ARROW, gail_arrow);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SEPARATOR, gail_separator);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_BOX, gail_box);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SCROLLED_WINDOW, gail_scrolled_window);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_PANED, gail_paned);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SCROLLBAR, gail_scrollbar);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CHECK_MENU_ITEM, gail_check_menu_item);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_RADIO_MENU_ITEM, gail_radio_menu_item);
- GAIL_WIDGET_SET_FACTORY (GTK_TYPE_EXPANDER, gail_expander);
atk_focus_tracker_init (gail_focus_tracker_init);
focus_tracker_id = atk_add_focus_tracker (gail_focus_tracker);
- /* Initialize the GailUtility class */
- g_type_class_unref (g_type_class_ref (GAIL_TYPE_UTIL));
- g_type_class_unref (g_type_class_ref (GAIL_TYPE_MISC));
-}
-
-/**
- * gnome_accessibility_module_init:
- * @void:
- *
- * This method is invoked by name from libgnome's
- * gnome-program.c to activate accessibility support.
- **/
-void
-gnome_accessibility_module_init (void)
-{
- gail_accessibility_module_init ();
-}
-
-/**
- * gnome_accessibility_module_shutdown:
- * @void:
- *
- * This method is invoked by name from libgnome's
- * gnome-program.c to de-activate accessibility support.
- **/
-void
-gnome_accessibility_module_shutdown (void)
-{
- if (!gail_initialized)
- {
- return;
- }
- gail_initialized = FALSE;
- atk_remove_focus_tracker (focus_tracker_id);
-
- fprintf (stderr, "GTK Accessibility Module shutdown\n");
-
- /* FIXME: de-register the factory types so we can unload ? */
-}
-
-int
-gtk_module_init (gint *argc, char** argv[])
-{
- const char* env_no_gail;
- gboolean no_gail = FALSE;
-
- env_no_gail = g_getenv (NO_GAIL_ENV);
- if (env_no_gail)
- no_gail = atoi (env_no_gail);
-
- if (no_gail)
- return 0;
-
- gail_accessibility_module_init ();
-
- return 0;
-}
-
-const char *
-g_module_check_init (GModule *module)
-{
- g_module_make_resident (module);
+ _gail_util_install ();
- return NULL;
+ atk_misc_instance = g_object_new (GAIL_TYPE_MISC, NULL);
}
-
/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#include "config.h"
#include <gtk/gtk.h>
-#include "gailcalendar.h"
+#include "gailmisc.h"
-static void gail_calendar_class_init (GailCalendarClass *klass);
-static void gail_calendar_init (GailCalendar *calendar);
-static void gail_calendar_initialize (AtkObject *accessible,
- gpointer data);
-G_DEFINE_TYPE (GailCalendar, gail_calendar, GAIL_TYPE_WIDGET)
+G_DEFINE_TYPE (GailMisc, _gail_misc, ATK_TYPE_MISC)
static void
-gail_calendar_class_init (GailCalendarClass *klass)
+gail_misc_threads_enter (AtkMisc *misc)
{
- AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
-
- atk_object_class->initialize = gail_calendar_initialize;
+ GDK_THREADS_ENTER ();
}
static void
-gail_calendar_init (GailCalendar *calendar)
+gail_misc_threads_leave (AtkMisc *misc)
{
+ GDK_THREADS_LEAVE ();
}
static void
-gail_calendar_initialize (AtkObject *accessible,
- gpointer data)
+_gail_misc_class_init (GailMiscClass *klass)
{
- ATK_OBJECT_CLASS (gail_calendar_parent_class)->initialize (accessible, data);
+ AtkMiscClass *misc_class = ATK_MISC_CLASS (klass);
+
+ misc_class->threads_enter = gail_misc_threads_enter;
+ misc_class->threads_leave = gail_misc_threads_leave;
+}
- accessible->role = ATK_ROLE_CALENDAR;
+static void
+_gail_misc_init (GailMisc *misc)
+{
}
* Boston, MA 02111-1307, USA.
*/
-#ifndef __GAIL_UTIL_H__
-#define __GAIL_UTIL_H__
+#ifndef __GAIL_MISC_H__
+#define __GAIL_MISC_H__
#include <atk/atk.h>
G_BEGIN_DECLS
-#define GAIL_TYPE_UTIL (gail_util_get_type ())
-#define GAIL_UTIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_UTIL, GailUtil))
-#define GAIL_UTIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_UTIL, GailUtilClass))
-#define GAIL_IS_UTIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_UTIL))
-#define GAIL_IS_UTIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_UTIL))
-#define GAIL_UTIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_UTIL, GailUtilClass))
-
-typedef struct _GailUtil GailUtil;
-typedef struct _GailUtilClass GailUtilClass;
-
-struct _GailUtil
-{
- AtkUtil parent;
- GList *listener_list;
-};
-
-GType gail_util_get_type (void);
-
-struct _GailUtilClass
-{
- AtkUtilClass parent_class;
-};
-
-#define GAIL_TYPE_MISC (gail_misc_get_type ())
+#define GAIL_TYPE_MISC (_gail_misc_get_type ())
#define GAIL_MISC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_MISC, GailMisc))
#define GAIL_MISC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_MISC, GailMiscClass))
#define GAIL_IS_MISC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_MISC))
#define GAIL_IS_MISC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_MISC))
#define GAIL_MISC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_MISC, GailMiscClass))
-typedef struct _GailMisc GailMisc;
-typedef struct _GailMiscClass GailMiscClass;
-
+typedef struct _GailMisc GailMisc;
+typedef struct _GailMiscClass GailMiscClass;
+
struct _GailMisc
{
AtkMisc parent;
};
-GType gail_misc_get_type (void);
-
struct _GailMiscClass
{
AtkMiscClass parent_class;
};
+GType _gail_misc_get_type (void);
+
G_END_DECLS
-#endif /* __GAIL_UTIL_H__ */
+#endif /* __GAIL_MISC_H__ */
#include "config.h"
#include <stdlib.h>
-#include <string.h>
#include <gtk/gtk.h>
#include "gailutil.h"
-#include "gailtoplevel.h"
-#include "gailwindow.h"
-#include "gail-private-macros.h"
-
-static void gail_util_class_init (GailUtilClass *klass);
-static void gail_util_init (GailUtil *utils);
-/* atkutil.h */
-
-static guint gail_util_add_global_event_listener (GSignalEmissionHook listener,
- const gchar* event_type);
-static void gail_util_remove_global_event_listener (guint remove_listener);
-static guint gail_util_add_key_event_listener (AtkKeySnoopFunc listener,
- gpointer data);
-static void gail_util_remove_key_event_listener (guint remove_listener);
-static AtkObject* gail_util_get_root (void);
-static const gchar *gail_util_get_toolkit_name (void);
-static const gchar *gail_util_get_toolkit_version (void);
-
-/* gailmisc/AtkMisc */
-static void gail_misc_class_init (GailMiscClass *klass);
-static void gail_misc_init (GailMisc *misc);
-
-static void gail_misc_threads_enter (AtkMisc *misc);
-static void gail_misc_threads_leave (AtkMisc *misc);
-
-/* Misc */
-
-static void _listener_info_destroy (gpointer data);
-static guint add_listener (GSignalEmissionHook listener,
- const gchar *object_type,
- const gchar *signal,
- const gchar *hook_data);
-static void do_window_event_initialization (void);
-static gboolean state_event_watcher (GSignalInvocationHint *hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-static void window_added (AtkObject *atk_obj,
- guint index,
- AtkObject *child);
-static void window_removed (AtkObject *atk_obj,
- guint index,
- AtkObject *child);
-static gboolean window_focus (GtkWidget *widget,
- GdkEventFocus *event);
-static gboolean configure_event_watcher (GSignalInvocationHint *hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-
-
-static AtkObject* root = NULL;
+#include "gtktoplevelaccessible.h"
+#include "gtkwindowaccessible.h"
+
+
static GHashTable *listener_list = NULL;
static gint listener_idx = 1;
static GSList *key_listener_list = NULL;
gpointer func_data;
};
-G_DEFINE_TYPE (GailUtil, gail_util, ATK_TYPE_UTIL)
+static guint
+add_listener (GSignalEmissionHook listener,
+ const gchar *object_type,
+ const gchar *signal_name,
+ const gchar *hook_data)
+{
+ GType type;
+ guint signal_id;
+ gint rc = 0;
+
+ type = g_type_from_name (object_type);
+ if (type)
+ {
+ signal_id = g_signal_lookup (signal_name, type);
+ if (signal_id > 0)
+ {
+ GailUtilListenerInfo *listener_info;
+
+ rc = listener_idx;
+
+ listener_info = g_new (GailUtilListenerInfo, 1);
+ listener_info->key = listener_idx;
+ listener_info->hook_id =
+ g_signal_add_emission_hook (signal_id, 0, listener,
+ g_strdup (hook_data),
+ (GDestroyNotify) g_free);
+ listener_info->signal_id = signal_id;
+
+ g_hash_table_insert (listener_list, &(listener_info->key), listener_info);
+ listener_idx++;
+ }
+ else
+ {
+ g_warning("Invalid signal type %s\n", signal_name);
+ }
+ }
+ else
+ {
+ g_warning("Invalid object type %s\n", object_type);
+ }
+ return rc;
+}
-static void
-gail_util_class_init (GailUtilClass *klass)
+static gboolean
+state_event_watcher (GSignalInvocationHint *hint,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer data)
{
- AtkUtilClass *atk_class;
- gpointer data;
-
- data = g_type_class_peek (ATK_TYPE_UTIL);
- atk_class = ATK_UTIL_CLASS (data);
-
- atk_class->add_global_event_listener =
- gail_util_add_global_event_listener;
- atk_class->remove_global_event_listener =
- gail_util_remove_global_event_listener;
- atk_class->add_key_event_listener =
- gail_util_add_key_event_listener;
- atk_class->remove_key_event_listener =
- gail_util_remove_key_event_listener;
- atk_class->get_root = gail_util_get_root;
- atk_class->get_toolkit_name = gail_util_get_toolkit_name;
- atk_class->get_toolkit_version = gail_util_get_toolkit_version;
+ GObject *object;
+ GtkWidget *widget;
+ AtkObject *atk_obj;
+ AtkObject *parent;
+ GdkEventWindowState *event;
+ gchar *signal_name;
- listener_list = g_hash_table_new_full(g_int_hash, g_int_equal, NULL,
- _listener_info_destroy);
+ object = g_value_get_object (param_values + 0);
+ if (!GTK_IS_WINDOW (object))
+ return FALSE;
+
+ event = g_value_get_boxed (param_values + 1);
+ if (event->type == GDK_WINDOW_STATE)
+ return FALSE;
+ widget = GTK_WIDGET (object);
+
+ if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED)
+ signal_name = "maximize";
+ else if (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED)
+ signal_name = "minimize";
+ else if (event->new_window_state == 0)
+ signal_name = "restore";
+ else
+ return TRUE;
+
+ atk_obj = gtk_widget_get_accessible (widget);
+ if (GTK_IS_WINDOW_ACCESSIBLE (atk_obj))
+ {
+ parent = atk_object_get_parent (atk_obj);
+ if (parent == atk_get_root ())
+ g_signal_emit_by_name (atk_obj, signal_name);
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static gboolean
+configure_event_watcher (GSignalInvocationHint *hint,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer data)
+{
+ GtkAllocation allocation;
+ GObject *object;
+ GtkWidget *widget;
+ AtkObject *atk_obj;
+ AtkObject *parent;
+ GdkEvent *event;
+ gchar *signal_name;
+
+ object = g_value_get_object (param_values + 0);
+ if (!GTK_IS_WINDOW (object))
+ return FALSE;
+
+ event = g_value_get_boxed (param_values + 1);
+ if (event->type != GDK_CONFIGURE)
+ return FALSE;
+ widget = GTK_WIDGET (object);
+ gtk_widget_get_allocation (widget, &allocation);
+ if (allocation.x == ((GdkEventConfigure *)event)->x &&
+ allocation.y == ((GdkEventConfigure *)event)->y &&
+ allocation.width == ((GdkEventConfigure *)event)->width &&
+ allocation.height == ((GdkEventConfigure *)event)->height)
+ return TRUE;
+
+ if (allocation.width != ((GdkEventConfigure *)event)->width ||
+ allocation.height != ((GdkEventConfigure *)event)->height)
+ signal_name = "resize";
+ else
+ signal_name = "move";
+
+ atk_obj = gtk_widget_get_accessible (widget);
+ if (GTK_IS_WINDOW_ACCESSIBLE (atk_obj))
+ {
+ parent = atk_object_get_parent (atk_obj);
+ if (parent == atk_get_root ())
+ g_signal_emit_by_name (atk_obj, signal_name);
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static gboolean
+window_focus (GtkWidget *widget,
+ GdkEventFocus *event)
+{
+ AtkObject *atk_obj;
+
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+
+ atk_obj = gtk_widget_get_accessible (widget);
+ g_signal_emit_by_name (atk_obj, event->in ? "activate" : "deactivate");
+
+ return FALSE;
}
static void
-gail_util_init (GailUtil *utils)
+window_added (AtkObject *atk_obj,
+ guint index,
+ AtkObject *child)
{
+ GtkWidget *widget;
+
+ if (!GTK_IS_WINDOW_ACCESSIBLE (child))
+ return;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (child));
+ if (!widget)
+ return;
+
+ g_signal_connect (widget, "focus-in-event", (GCallback) window_focus, NULL);
+ g_signal_connect (widget, "focus-out-event", (GCallback) window_focus, NULL);
+ g_signal_emit_by_name (child, "create");
}
+
+static void
+window_removed (AtkObject *atk_obj,
+ guint index,
+ AtkObject *child)
+{
+ GtkWidget *widget;
+ GtkWindow *window;
+
+ if (!GTK_IS_WINDOW_ACCESSIBLE (child))
+ return;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (child));
+ if (!widget)
+ return;
+
+ window = GTK_WINDOW (widget);
+ /*
+ * Deactivate window if it is still focused and we are removing it. This
+ * can happen when a dialog displayed by gok is removed.
+ */
+ if (gtk_window_is_active (window) &&
+ gtk_window_has_toplevel_focus (window))
+ g_signal_emit_by_name (child, "deactivate");
+
+ g_signal_handlers_disconnect_by_func (widget, (gpointer) window_focus, NULL);
+ g_signal_emit_by_name (child, "destroy");
+}
+
+static void
+do_window_event_initialization (void)
+{
+ AtkObject *root;
+
+ g_type_class_ref (GTK_TYPE_WINDOW_ACCESSIBLE);
+ g_signal_add_emission_hook (g_signal_lookup ("window-state-event", GTK_TYPE_WIDGET),
+ 0, state_event_watcher, NULL, (GDestroyNotify) NULL);
+ g_signal_add_emission_hook (g_signal_lookup ("configure-event", GTK_TYPE_WIDGET),
+ 0, configure_event_watcher, NULL, (GDestroyNotify) NULL);
+
+ root = atk_get_root ();
+ g_signal_connect (root, "children-changed::add",
+ (GCallback) window_added, NULL);
+ g_signal_connect (root, "children-changed::remove",
+ (GCallback) window_removed, NULL);
+}
static guint
-gail_util_add_global_event_listener (GSignalEmissionHook listener,
- const gchar *event_type)
+gail_util_add_global_event_listener (GSignalEmissionHook listener,
+ const gchar *event_type)
{
guint rc = 0;
gchar **split_string;
if (split_string)
{
- if (!strcmp ("window", split_string[0]))
+ if (!g_strcmp0 ("window", split_string[0]))
{
static gboolean initialized = FALSE;
do_window_event_initialization ();
initialized = TRUE;
}
- rc = add_listener (listener, "GailWindow", split_string[1], event_type);
+ rc = add_listener (listener, "GtkWindowAccessible", split_string[1], event_type);
}
else
{
}
else
{
- g_warning("No listener with the specified listener id %d",
+ g_warning("No listener with the specified listener id %d",
remove_listener);
}
}
}
}
-
-static
-AtkKeyEventStruct *
+static AtkKeyEventStruct *
atk_key_event_from_gdk_event_key (GdkEventKey *key)
{
AtkKeyEventStruct *event = g_new0 (AtkKeyEventStruct, 1);
switch (key->type)
{
case GDK_KEY_PRESS:
- event->type = ATK_KEY_EVENT_PRESS;
- break;
+ event->type = ATK_KEY_EVENT_PRESS;
+ break;
case GDK_KEY_RELEASE:
- event->type = ATK_KEY_EVENT_RELEASE;
- break;
+ event->type = ATK_KEY_EVENT_RELEASE;
+ break;
default:
- g_assert_not_reached ();
- return NULL;
+ g_assert_not_reached ();
+ return NULL;
}
event->state = key->state;
event->keyval = key->keyval;
event->length = key->length;
- if (key->string && key->string [0] &&
+ if (key->string && key->string [0] &&
(key->state & GDK_CONTROL_MASK ||
g_unichar_isgraph (g_utf8_get_char (key->string))))
{
else if (key->type == GDK_KEY_PRESS ||
key->type == GDK_KEY_RELEASE)
{
- event->string = gdk_keyval_name (key->keyval);
+ event->string = gdk_keyval_name (key->keyval);
}
event->keycode = key->hardware_keycode;
event->timestamp = key->time;
-#ifdef GAIL_DEBUG
+#ifdef GAIL_DEBUG
g_print ("GailKey:\tsym %u\n\tmods %x\n\tcode %u\n\ttime %lx\n",
- (unsigned int) event->keyval,
- (unsigned int) event->state,
- (unsigned int) event->keycode,
- (unsigned long int) event->timestamp);
+ (unsigned int) event->keyval,
+ (unsigned int) event->state,
+ (unsigned int) event->keycode,
+ (unsigned long int) event->timestamp);
#endif
return event;
}
} KeyEventListener;
static gint
-gail_key_snooper (GtkWidget *the_widget, GdkEventKey *event, gpointer data)
+gail_key_snooper (GtkWidget *the_widget,
+ GdkEventKey *event,
+ gpointer data)
{
GSList *l;
AtkKeyEventStruct *atk_event;
}
}
-static AtkObject*
+static AtkObject *
gail_util_get_root (void)
{
+ static AtkObject *root = NULL;
+
if (!root)
{
- root = g_object_new (GAIL_TYPE_TOPLEVEL, NULL);
+ root = g_object_new (GTK_TYPE_TOPLEVEL_ACCESSIBLE, NULL);
atk_object_initialize (root, NULL);
}
static const gchar *
gail_util_get_toolkit_name (void)
{
- return "GAIL";
+ return "gtk";
}
static const gchar *
gail_util_get_toolkit_version (void)
{
- /*
- * Version is passed in as a -D flag when this file is
- * compiled.
- */
return GTK_VERSION;
}
-static void
-_listener_info_destroy (gpointer data)
-{
- g_free(data);
-}
-
-static guint
-add_listener (GSignalEmissionHook listener,
- const gchar *object_type,
- const gchar *signal,
- const gchar *hook_data)
+void
+_gail_util_install (void)
{
- GType type;
- guint signal_id;
- gint rc = 0;
-
- type = g_type_from_name (object_type);
- if (type)
- {
- signal_id = g_signal_lookup (signal, type);
- if (signal_id > 0)
- {
- GailUtilListenerInfo *listener_info;
-
- rc = listener_idx;
+ AtkUtilClass *atk_class = ATK_UTIL_CLASS (g_type_class_ref (ATK_TYPE_UTIL));
- listener_info = g_malloc(sizeof(GailUtilListenerInfo));
- listener_info->key = listener_idx;
- listener_info->hook_id =
- g_signal_add_emission_hook (signal_id, 0, listener,
- g_strdup (hook_data),
- (GDestroyNotify) g_free);
- listener_info->signal_id = signal_id;
-
- g_hash_table_insert(listener_list, &(listener_info->key), listener_info);
- listener_idx++;
- }
- else
- {
- g_warning("Invalid signal type %s\n", signal);
- }
- }
- else
- {
- g_warning("Invalid object type %s\n", object_type);
- }
- return rc;
-}
-
-static void
-do_window_event_initialization (void)
-{
- AtkObject *root;
-
- /*
- * Ensure that GailWindowClass exists.
- */
- g_type_class_ref (GAIL_TYPE_WINDOW);
- g_signal_add_emission_hook (g_signal_lookup ("window-state-event", GTK_TYPE_WIDGET),
- 0, state_event_watcher, NULL, (GDestroyNotify) NULL);
- g_signal_add_emission_hook (g_signal_lookup ("configure-event", GTK_TYPE_WIDGET),
- 0, configure_event_watcher, NULL, (GDestroyNotify) NULL);
-
- root = atk_get_root ();
- g_signal_connect (root, "children-changed::add",
- (GCallback) window_added, NULL);
- g_signal_connect (root, "children-changed::remove",
- (GCallback) window_removed, NULL);
-}
-
-static gboolean
-state_event_watcher (GSignalInvocationHint *hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data)
-{
- GObject *object;
- GtkWidget *widget;
- AtkObject *atk_obj;
- AtkObject *parent;
- GdkEventWindowState *event;
- gchar *signal_name;
- guint signal_id;
-
- object = g_value_get_object (param_values + 0);
- /*
- * The object can be a GtkMenu when it is popped up; we ignore this
- */
- if (!GTK_IS_WINDOW (object))
- return FALSE;
-
- event = g_value_get_boxed (param_values + 1);
- gail_return_val_if_fail (event->type == GDK_WINDOW_STATE, FALSE);
- widget = GTK_WIDGET (object);
-
- if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED)
- {
- signal_name = "maximize";
- }
- else if (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED)
- {
- signal_name = "minimize";
- }
- else if (event->new_window_state == 0)
- {
- signal_name = "restore";
- }
- else
- return TRUE;
-
- atk_obj = gtk_widget_get_accessible (widget);
-
- if (GAIL_IS_WINDOW (atk_obj))
- {
- parent = atk_object_get_parent (atk_obj);
- if (parent == atk_get_root ())
- {
- signal_id = g_signal_lookup (signal_name, GAIL_TYPE_WINDOW);
- g_signal_emit (atk_obj, signal_id, 0);
- }
-
- return TRUE;
- }
- else
- {
- return FALSE;
- }
-}
-
-static void
-window_added (AtkObject *atk_obj,
- guint index,
- AtkObject *child)
-{
- GtkWidget *widget;
-
- if (!GAIL_IS_WINDOW (child)) return;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (child));
- gail_return_if_fail (widget);
-
- g_signal_connect (widget, "focus-in-event",
- (GCallback) window_focus, NULL);
- g_signal_connect (widget, "focus-out-event",
- (GCallback) window_focus, NULL);
- g_signal_emit (child, g_signal_lookup ("create", GAIL_TYPE_WINDOW), 0);
-}
-
-
-static void
-window_removed (AtkObject *atk_obj,
- guint index,
- AtkObject *child)
-{
- GtkWidget *widget;
- GtkWindow *window;
-
- if (!GAIL_IS_WINDOW (child)) return;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (child));
- gail_return_if_fail (widget);
-
- window = GTK_WINDOW (widget);
- /*
- * Deactivate window if it is still focused and we are removing it. This
- * can happen when a dialog displayed by gok is removed.
- */
- if (gtk_window_is_active (window) &&
- gtk_window_has_toplevel_focus (window))
- {
- gchar *signal_name;
- AtkObject *atk_obj;
-
- atk_obj = gtk_widget_get_accessible (widget);
- signal_name = "deactivate";
- g_signal_emit (atk_obj, g_signal_lookup (signal_name, GAIL_TYPE_WINDOW), 0);
- }
-
- g_signal_handlers_disconnect_by_func (widget, (gpointer) window_focus, NULL);
- g_signal_emit (child, g_signal_lookup ("destroy", GAIL_TYPE_WINDOW), 0);
-}
-
-static gboolean
-window_focus (GtkWidget *widget,
- GdkEventFocus *event)
-{
- gchar *signal_name;
- AtkObject *atk_obj;
-
- g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
-
- atk_obj = gtk_widget_get_accessible (widget);
- signal_name = (event->in) ? "activate" : "deactivate";
- g_signal_emit (atk_obj, g_signal_lookup (signal_name, GAIL_TYPE_WINDOW), 0);
-
- return FALSE;
-}
-
-static gboolean
-configure_event_watcher (GSignalInvocationHint *hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data)
-{
- GtkAllocation allocation;
- GObject *object;
- GtkWidget *widget;
- AtkObject *atk_obj;
- AtkObject *parent;
- GdkEvent *event;
- gchar *signal_name;
- guint signal_id;
-
- object = g_value_get_object (param_values + 0);
- if (!GTK_IS_WINDOW (object))
- /*
- * GtkDrawingArea can send a GDK_CONFIGURE event but we ignore here
- */
- return FALSE;
-
- event = g_value_get_boxed (param_values + 1);
- if (event->type != GDK_CONFIGURE)
- return FALSE;
- widget = GTK_WIDGET (object);
- gtk_widget_get_allocation (widget, &allocation);
- if (allocation.x == ((GdkEventConfigure *)event)->x &&
- allocation.y == ((GdkEventConfigure *)event)->y &&
- allocation.width == ((GdkEventConfigure *)event)->width &&
- allocation.height == ((GdkEventConfigure *)event)->height)
- return TRUE;
-
- if (allocation.width != ((GdkEventConfigure *)event)->width ||
- allocation.height != ((GdkEventConfigure *)event)->height)
- {
- signal_name = "resize";
- }
- else
- {
- signal_name = "move";
- }
-
- atk_obj = gtk_widget_get_accessible (widget);
- if (GAIL_IS_WINDOW (atk_obj))
- {
- parent = atk_object_get_parent (atk_obj);
- if (parent == atk_get_root ())
- {
- signal_id = g_signal_lookup (signal_name, GAIL_TYPE_WINDOW);
- g_signal_emit (atk_obj, signal_id, 0);
- }
-
- return TRUE;
- }
- else
- {
- return FALSE;
- }
-}
-
-G_DEFINE_TYPE (GailMisc, gail_misc, ATK_TYPE_MISC)
-
-static void
-gail_misc_class_init (GailMiscClass *klass)
-{
- AtkMiscClass *miscclass = ATK_MISC_CLASS (klass);
- miscclass->threads_enter =
- gail_misc_threads_enter;
- miscclass->threads_leave =
- gail_misc_threads_leave;
- atk_misc_instance = g_object_new (GAIL_TYPE_MISC, NULL);
-}
-
-static void
-gail_misc_init (GailMisc *misc)
-{
-}
-
-static void gail_misc_threads_enter (AtkMisc *misc)
-{
- GDK_THREADS_ENTER ();
-}
+ atk_class->add_global_event_listener = gail_util_add_global_event_listener;
+ atk_class->remove_global_event_listener = gail_util_remove_global_event_listener;
+ atk_class->add_key_event_listener = gail_util_add_key_event_listener;
+ atk_class->remove_key_event_listener = gail_util_remove_key_event_listener;
+ atk_class->get_root = gail_util_get_root;
+ atk_class->get_toolkit_name = gail_util_get_toolkit_name;
+ atk_class->get_toolkit_version = gail_util_get_toolkit_version;
-static void gail_misc_threads_leave (AtkMisc *misc)
-{
- GDK_THREADS_LEAVE ();
+ listener_list = g_hash_table_new_full (g_int_hash, g_int_equal, NULL, g_free);
}
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* Boston, MA 02111-1307, USA.
*/
+#ifndef __GAIL_UTIL_H__
+#define __GAIL_UTIL_H__
-#ifndef __GAIL_PRIVATE_MACROS_H__
-#define __GAIL_PRIVATE_MACROS_H__
+#include <atk/atk.h>
G_BEGIN_DECLS
-/* Note: these macros are logic macros, not intended to warn on failure. */
-
-#define gail_return_val_if_fail(a, b) if (!(a)) return (b)
-#define gail_return_if_fail(a) if (!(a)) return
+void _gail_util_install (void);
G_END_DECLS
-#endif /* __GAIL_PRIVATE_MACROS_H__ */
+#endif /* __GAIL_UTIL_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkarrowaccessible.h"
+
+
+static void atk_image_interface_init (AtkImageIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkArrowAccessible, _gtk_arrow_accessible, GTK_TYPE_WIDGET_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init))
+
+static void
+gtk_arrow_accessible_initialize (AtkObject *accessible,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (_gtk_arrow_accessible_parent_class)->initialize (accessible, data);
+
+ accessible->role = ATK_ROLE_ICON;
+}
+
+static void
+gtk_arrow_accessible_finalize (GObject *object)
+{
+ GtkArrowAccessible *arrow = GTK_ARROW_ACCESSIBLE (object);
+
+ g_free (arrow->image_description);
+
+ G_OBJECT_CLASS (_gtk_arrow_accessible_parent_class)->finalize (object);
+}
+
+static void
+_gtk_arrow_accessible_class_init (GtkArrowAccessibleClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
+
+ atk_object_class->initialize = gtk_arrow_accessible_initialize;
+
+ gobject_class->finalize = gtk_arrow_accessible_finalize;
+}
+
+static void
+_gtk_arrow_accessible_init (GtkArrowAccessible *arrow)
+{
+ arrow->image_description = NULL;
+}
+
+static const gchar *
+gtk_arrow_accessible_get_image_description (AtkImage *obj)
+{
+ GtkArrowAccessible *arrow = GTK_ARROW_ACCESSIBLE (obj);
+
+ return arrow->image_description;
+}
+
+static gboolean
+gtk_arrow_accessible_set_image_description (AtkImage *obj,
+ const gchar *description)
+{
+ GtkArrowAccessible *arrow = GTK_ARROW_ACCESSIBLE (obj);
+
+ g_free (arrow->image_description);
+ arrow->image_description = g_strdup (description);
+
+ return TRUE;
+
+}
+
+static void
+atk_image_interface_init (AtkImageIface *iface)
+{
+ iface->get_image_description = gtk_arrow_accessible_get_image_description;
+ iface->set_image_description = gtk_arrow_accessible_set_image_description;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_ARROW_ACCESSIBLE_H__
+#define __GTK_ARROW_ACCESSIBLE_H__
+
+#include "gtkwidgetaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_ARROW_ACCESSIBLE (_gtk_arrow_accessible_get_type ())
+#define GTK_ARROW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ARROW_ACCESSIBLE, GtkArrowAccessible))
+#define GTK_ARROW_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ARROW_ACCESSIBLE, GtkArrowAccessibleClass))
+#define GTK_IS_ARROW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ARROW_ACCESSIBLE))
+#define GTK_IS_ARROW_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ARROW_ACCESSIBLE))
+#define GTK_ARROW_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ARROW_ACCESSIBLE, GtkArrowAccessibleClass))
+
+typedef struct _GtkArrowAccessible GtkArrowAccessible;
+typedef struct _GtkArrowAccessibleClass GtkArrowAccessibleClass;
+
+struct _GtkArrowAccessible
+{
+ GtkWidgetAccessible parent;
+
+ gchar *image_description;
+};
+
+struct _GtkArrowAccessibleClass
+{
+ GtkWidgetAccessibleClass parent_class;
+};
+
+GType _gtk_arrow_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_ARROW_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Enabling Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkbooleancellaccessible.h"
+
+
+static gchar *property_list[] = {
+ "active",
+ "radio",
+ "sensitive",
+ NULL
+};
+
+G_DEFINE_TYPE (GtkBooleanCellAccessible, _gtk_boolean_cell_accessible, GTK_TYPE_RENDERER_CELL_ACCESSIBLE)
+
+
+static gboolean
+gtk_boolean_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
+ gboolean emit_change_signal)
+{
+ GtkBooleanCellAccessible *boolean_cell = GTK_BOOLEAN_CELL_ACCESSIBLE (cell);
+ gboolean rv = FALSE;
+ gboolean active;
+ gboolean sensitive;
+
+ g_object_get (G_OBJECT (cell->renderer),
+ "active", &active,
+ "sensitive", &sensitive,
+ NULL);
+
+ if (boolean_cell->cell_value != active)
+ {
+ rv = TRUE;
+ boolean_cell->cell_value = !boolean_cell->cell_value;
+
+ if (active)
+ _gtk_cell_accessible_add_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_CHECKED, emit_change_signal);
+ else
+ _gtk_cell_accessible_remove_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_CHECKED, emit_change_signal);
+ }
+
+ if (boolean_cell->cell_sensitive != sensitive)
+ {
+ rv = TRUE;
+ boolean_cell->cell_sensitive = !boolean_cell->cell_sensitive;
+
+ if (sensitive)
+ _gtk_cell_accessible_add_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_SENSITIVE, emit_change_signal);
+ else
+ _gtk_cell_accessible_remove_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_SENSITIVE, emit_change_signal);
+ }
+
+ return rv;
+}
+
+static void
+_gtk_boolean_cell_accessible_class_init (GtkBooleanCellAccessibleClass *klass)
+{
+ GtkRendererCellAccessibleClass *renderer_cell_class = GTK_RENDERER_CELL_ACCESSIBLE_CLASS (klass);
+
+ renderer_cell_class->update_cache = gtk_boolean_cell_accessible_update_cache;
+ renderer_cell_class->property_list = property_list;
+}
+
+static void
+_gtk_boolean_cell_accessible_init (GtkBooleanCellAccessible *cell)
+{
+}
+
+AtkObject *
+_gtk_boolean_cell_accessible_new (void)
+{
+ GObject *object;
+ AtkObject *atk_object;
+ GtkRendererCellAccessible *cell;
+ GtkBooleanCellAccessible *boolean_cell;
+
+ object = g_object_new (GTK_TYPE_BOOLEAN_CELL_ACCESSIBLE, NULL);
+
+ atk_object = ATK_OBJECT (object);
+ atk_object->role = ATK_ROLE_TABLE_CELL;
+
+ cell = GTK_RENDERER_CELL_ACCESSIBLE (object);
+ cell->renderer = gtk_cell_renderer_toggle_new ();
+ g_object_ref_sink (cell->renderer);
+
+ boolean_cell = GTK_BOOLEAN_CELL_ACCESSIBLE (object);
+ boolean_cell->cell_value = FALSE;
+ boolean_cell->cell_sensitive = TRUE;
+
+ return atk_object;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Enabling Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_BOOLEAN_CELL_ACCESSIBLE_H__
+#define __GTK_BOOLEAN_CELL_ACCESSIBLE_H__
+
+#include <atk/atk.h>
+#include "gtkrenderercellaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_BOOLEAN_CELL_ACCESSIBLE (_gtk_boolean_cell_accessible_get_type ())
+#define GTK_BOOLEAN_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BOOLEAN_CELL_ACCESSIBLE, GtkBooleanCellAccessible))
+#define GTK_BOOLEAN_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_BOOLEAN_CELL, GtkBooleanCellAccessibleClass))
+#define GTK_IS_BOOLEAN_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_BOOLEAN_CELL_ACCESSIBLE))
+#define GTK_IS_BOOLEAN_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BOOLEAN_CELL_ACCESSIBLE))
+#define GTK_BOOLEAN_CELL_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BOOLEAN_CELL_ACCESSIBLE, GtkBooleanCellAccessibleClass))
+
+typedef struct _GtkBooleanCellAccessible GtkBooleanCellAccessible;
+typedef struct _GtkBooleanCellAccessibleClass GtkBooleanCellAccessibleClass;
+
+struct _GtkBooleanCellAccessible
+{
+ GtkRendererCellAccessible parent;
+ gboolean cell_value;
+ gboolean cell_sensitive;
+};
+
+struct _GtkBooleanCellAccessibleClass
+{
+ GtkRendererCellAccessibleClass parent_class;
+};
+
+GType _gtk_boolean_cell_accessible_get_type (void);
+AtkObject *_gtk_boolean_cell_accessible_new (void);
+
+G_END_DECLS
+
+#endif /* __GAIL_TREE_VIEW_BOOLEAN_CELL_H__ */
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001 Sun Microsystems Inc.
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2004 Sun Microsystems Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#include "config.h"
#include <gtk/gtk.h>
-#include "gailbox.h"
+#include "gtkboxaccessible.h"
-static void gail_box_class_init (GailBoxClass *klass);
-static void gail_box_init (GailBox *box);
-static void gail_box_initialize (AtkObject *accessible,
- gpointer data);
-G_DEFINE_TYPE (GailBox, gail_box, GAIL_TYPE_CONTAINER)
+G_DEFINE_TYPE (GtkBoxAccessible, _gtk_box_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE)
static void
-gail_box_class_init (GailBoxClass *klass)
+gtk_box_accessible_initialize (AtkObject *accessible,
+ gpointer data)
{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->initialize = gail_box_initialize;
+ ATK_OBJECT_CLASS (_gtk_box_accessible_parent_class)->initialize (accessible, data);
+ accessible->role = ATK_ROLE_FILLER;
}
static void
-gail_box_init (GailBox *box)
+_gtk_box_accessible_class_init (GtkBoxAccessibleClass *klass)
{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ class->initialize = gtk_box_accessible_initialize;
}
static void
-gail_box_initialize (AtkObject *accessible,
- gpointer data)
+_gtk_box_accessible_init (GtkBoxAccessible *scale)
{
- ATK_OBJECT_CLASS (gail_box_parent_class)->initialize (accessible, data);
-
- accessible->role = ATK_ROLE_FILLER;
}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2004 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_BOX_ACCESSIBLE_H__
+#define __GTK_BOX_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_BOX_ACCESSIBLE (_gtk_box_accessible_get_type ())
+#define GTK_BOX_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BOX_ACCESSIBLE, GtkBoxAccessible))
+#define GTK_BOX_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_BOX_ACCESSIBLE, GtkBoxAccessibleClass))
+#define GTK_IS_BOX_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_BOX_ACCESSIBLE))
+#define GTK_IS_BOX_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BOX_ACCESSIBLE))
+#define GTK_BOX_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BOX_ACCESSIBLE, GtkBoxAccessibleClass))
+
+typedef struct _GtkBoxAccessible GtkBoxAccessible;
+typedef struct _GtkBoxAccessibleClass GtkBoxAccessibleClass;
+
+struct _GtkBoxAccessible
+{
+ GtkContainerAccessible parent;
+};
+
+struct _GtkBoxAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_box_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_BOX_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <gtk/gtk.h>
+#include "gtkbuttonaccessible.h"
+
+
+static void atk_action_interface_init (AtkActionIface *iface);
+static void atk_image_interface_init (AtkImageIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkButtonAccessible, _gtk_button_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init))
+
+static void
+state_changed_cb (GtkWidget *widget, GtkStateFlags previous_flags)
+{
+ AtkObject *accessible;
+ GtkStateFlags flags;
+ gboolean was_active;
+ gboolean active;
+
+ flags = gtk_widget_get_state_flags (widget);
+
+ was_active = (previous_flags & GTK_STATE_FLAG_ACTIVE) != 0;
+ active = (flags & GTK_STATE_FLAG_ACTIVE) != 0;
+
+ accessible = gtk_widget_get_accessible (widget);
+ if (active && !was_active)
+ atk_object_notify_state_change (accessible, ATK_STATE_ARMED, TRUE);
+ else if (!active && was_active)
+ atk_object_notify_state_change (accessible, ATK_STATE_ARMED, FALSE);
+}
+
+static void
+gtk_button_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkWidget *parent;
+
+ ATK_OBJECT_CLASS (_gtk_button_accessible_parent_class)->initialize (obj, data);
+
+ g_signal_connect (data, "state-flags-changed", G_CALLBACK (state_changed_cb), NULL);
+
+ parent = gtk_widget_get_parent (gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)));
+ if (GTK_IS_TREE_VIEW (parent))
+ {
+ /* Even though the accessible parent of the column header will
+ * be reported as the table because the parent widget of the
+ * GtkTreeViewColumn's button is the GtkTreeView we set
+ * the accessible parent for column header to be the table
+ * to ensure that atk_object_get_index_in_parent() returns
+ * the correct value; see gail_widget_get_index_in_parent().
+ */
+ atk_object_set_parent (obj, gtk_widget_get_accessible (parent));
+ obj->role = ATK_ROLE_TABLE_COLUMN_HEADER;
+ }
+ else
+ obj->role = ATK_ROLE_PUSH_BUTTON;
+}
+
+static GtkWidget *
+get_image_from_button (GtkWidget *button)
+{
+ GtkWidget *image;
+
+ image = gtk_button_get_image (GTK_BUTTON (button));
+ if (GTK_IS_IMAGE (image))
+ return image;
+
+ return NULL;
+}
+
+static GtkWidget *
+find_label_child (GtkContainer *container)
+{
+ GList *children, *tmp_list;
+ GtkWidget *child;
+
+ children = gtk_container_get_children (container);
+
+ child = NULL;
+ for (tmp_list = children; tmp_list != NULL; tmp_list = tmp_list->next)
+ {
+ if (GTK_IS_LABEL (tmp_list->data))
+ {
+ child = GTK_WIDGET (tmp_list->data);
+ break;
+ }
+ else if (GTK_IS_CONTAINER (tmp_list->data))
+ {
+ child = find_label_child (GTK_CONTAINER (tmp_list->data));
+ if (child)
+ break;
+ }
+ }
+ g_list_free (children);
+ return child;
+}
+
+static GtkWidget *
+get_label_from_button (GtkWidget *button)
+{
+ GtkWidget *child;
+
+ child = gtk_bin_get_child (GTK_BIN (button));
+ if (GTK_IS_ALIGNMENT (child))
+ child = gtk_bin_get_child (GTK_BIN (child));
+
+ if (GTK_IS_CONTAINER (child))
+ child = find_label_child (GTK_CONTAINER (child));
+ else if (!GTK_IS_LABEL (child))
+ child = NULL;
+
+ return child;
+}
+
+static const gchar *
+gtk_button_accessible_get_name (AtkObject *obj)
+{
+ const gchar *name = NULL;
+ GtkWidget *widget;
+ GtkWidget *child;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ name = ATK_OBJECT_CLASS (_gtk_button_accessible_parent_class)->get_name (obj);
+ if (name != NULL)
+ return name;
+
+ child = get_label_from_button (widget);
+ if (GTK_IS_LABEL (child))
+ name = gtk_label_get_text (GTK_LABEL (child));
+ else
+ {
+ GtkWidget *image;
+
+ image = get_image_from_button (widget);
+ if (GTK_IS_IMAGE (image))
+ {
+ AtkObject *atk_obj;
+
+ atk_obj = gtk_widget_get_accessible (image);
+ name = atk_object_get_name (atk_obj);
+ }
+ }
+
+ return name;
+}
+
+static gint
+gtk_button_accessible_get_n_children (AtkObject* obj)
+{
+ return 0;
+}
+
+static AtkObject *
+gtk_button_accessible_ref_child (AtkObject *obj,
+ gint i)
+{
+ return NULL;
+}
+
+static AtkStateSet *
+gtk_button_accessible_ref_state_set (AtkObject *obj)
+{
+ AtkStateSet *state_set;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_button_accessible_parent_class)->ref_state_set (obj);
+
+ if ((gtk_widget_get_state_flags (widget) & GTK_STATE_FLAG_ACTIVE) != 0)
+ atk_state_set_add_state (state_set, ATK_STATE_ARMED);
+
+ if (!gtk_widget_get_can_focus (widget))
+ atk_state_set_remove_state (state_set, ATK_STATE_SELECTABLE);
+
+ return state_set;
+}
+
+static void
+gtk_button_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkWidget *widget = GTK_WIDGET (obj);
+ AtkObject *atk_obj = gtk_widget_get_accessible (widget);
+
+ if (strcmp (pspec->name, "label") == 0)
+ {
+ if (atk_obj->name == NULL)
+ g_object_notify (G_OBJECT (atk_obj), "accessible-name");
+
+ g_signal_emit_by_name (atk_obj, "visible-data-changed");
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_button_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+static void
+_gtk_button_accessible_class_init (GtkButtonAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkContainerAccessibleClass *container_class = (GtkContainerAccessibleClass*)klass;
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+
+ class->get_name = gtk_button_accessible_get_name;
+ class->get_n_children = gtk_button_accessible_get_n_children;
+ class->ref_child = gtk_button_accessible_ref_child;
+ class->ref_state_set = gtk_button_accessible_ref_state_set;
+ class->initialize = gtk_button_accessible_initialize;
+
+ widget_class->notify_gtk = gtk_button_accessible_notify_gtk;
+
+ container_class->add_gtk = NULL;
+ container_class->remove_gtk = NULL;
+}
+
+static void
+_gtk_button_accessible_init (GtkButtonAccessible *button)
+{
+}
+
+static gboolean
+gtk_button_accessible_do_action (AtkAction *action,
+ gint i)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (widget == NULL)
+ return FALSE;
+
+ if (i != 0)
+ return FALSE;
+
+ if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
+ return FALSE;
+
+ gtk_button_clicked (GTK_BUTTON (widget));
+ return TRUE;
+}
+
+static gint
+gtk_button_accessible_get_n_actions (AtkAction *action)
+{
+ return 1;
+}
+
+static const gchar *
+gtk_button_accessible_get_keybinding (AtkAction *action,
+ gint i)
+{
+ gchar *return_value = NULL;
+ GtkWidget *widget;
+ GtkWidget *label;
+ guint key_val;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (widget == NULL)
+ return NULL;
+
+ if (i != 0)
+ return NULL;
+
+ label = get_label_from_button (widget);
+ if (GTK_IS_LABEL (label))
+ {
+ key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
+ if (key_val != GDK_KEY_VoidSymbol)
+ return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
+ }
+ if (return_value == NULL)
+ {
+ /* Find labelled-by relation */
+ AtkRelationSet *set;
+ AtkRelation *relation;
+ GPtrArray *target;
+ gpointer target_object;
+
+ set = atk_object_ref_relation_set (ATK_OBJECT (action));
+ if (set)
+ {
+ relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_LABELLED_BY);
+ if (relation)
+ {
+ target = atk_relation_get_target (relation);
+ target_object = g_ptr_array_index (target, 0);
+ label = gtk_accessible_get_widget (GTK_ACCESSIBLE (target_object));
+ }
+ g_object_unref (set);
+ }
+
+ if (GTK_IS_LABEL (label))
+ {
+ key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
+ if (key_val != GDK_KEY_VoidSymbol)
+ return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
+ }
+ }
+ return return_value;
+}
+
+static const gchar *
+gtk_button_accessible_action_get_name (AtkAction *action,
+ gint i)
+{
+ if (i != 0)
+ return NULL;
+
+ return "click";
+}
+
+static void
+atk_action_interface_init (AtkActionIface *iface)
+{
+ iface->do_action = gtk_button_accessible_do_action;
+ iface->get_n_actions = gtk_button_accessible_get_n_actions;
+ iface->get_keybinding = gtk_button_accessible_get_keybinding;
+ iface->get_name = gtk_button_accessible_action_get_name;
+}
+
+static const gchar *
+gtk_button_accessible_get_image_description (AtkImage *image)
+{
+ GtkWidget *widget;
+ GtkWidget *button_image;
+ AtkObject *obj;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
+ if (widget == NULL)
+ return NULL;
+
+ button_image = get_image_from_button (widget);
+ if (GTK_IS_IMAGE (button_image))
+ {
+ obj = gtk_widget_get_accessible (button_image);
+ return atk_image_get_image_description (ATK_IMAGE (obj));
+ }
+
+ return NULL;
+}
+
+static void
+gtk_button_accessible_get_image_position (AtkImage *image,
+ gint *x,
+ gint *y,
+ AtkCoordType coord_type)
+{
+ GtkWidget *widget;
+ GtkWidget *button_image;
+ AtkObject *obj;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
+ if (widget == NULL)
+ {
+ *x = G_MININT;
+ *y = G_MININT;
+ return;
+ }
+
+ button_image = get_image_from_button (widget);
+ if (button_image != NULL)
+ {
+ obj = gtk_widget_get_accessible (button_image);
+ atk_component_get_position (ATK_COMPONENT (obj), x, y, coord_type);
+ }
+ else
+ {
+ *x = G_MININT;
+ *y = G_MININT;
+ }
+}
+
+static void
+gtk_button_accessible_get_image_size (AtkImage *image,
+ gint *width,
+ gint *height)
+{
+ GtkWidget *widget;
+ GtkWidget *button_image;
+ AtkObject *obj;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
+ if (widget == NULL)
+ {
+ *width = -1;
+ *height = -1;
+ return;
+ }
+
+ button_image = get_image_from_button (widget);
+ if (GTK_IS_IMAGE (button_image))
+ {
+ obj = gtk_widget_get_accessible (GTK_WIDGET (button_image));
+ atk_image_get_image_size (ATK_IMAGE (obj), width, height);
+ }
+ else
+ {
+ *width = -1;
+ *height = -1;
+ }
+}
+
+static gboolean
+gtk_button_accessible_set_image_description (AtkImage *image,
+ const gchar *description)
+{
+ GtkWidget *widget;
+ GtkWidget *button_image;
+ AtkObject *obj;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
+
+ if (widget == NULL)
+ return FALSE;
+
+ button_image = get_image_from_button (widget);
+ if (GTK_IMAGE (button_image))
+ {
+ obj = gtk_widget_get_accessible (GTK_WIDGET (button_image));
+ return atk_image_set_image_description (ATK_IMAGE (obj), description);
+ }
+
+ return FALSE;
+}
+
+static void
+atk_image_interface_init (AtkImageIface *iface)
+{
+ iface->get_image_description = gtk_button_accessible_get_image_description;
+ iface->get_image_position = gtk_button_accessible_get_image_position;
+ iface->get_image_size = gtk_button_accessible_get_image_size;
+ iface->set_image_description = gtk_button_accessible_set_image_description;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_BUTTON_ACCESSIBLE_H__
+#define __GTK_BUTTON_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_BUTTON_ACCESSIBLE (_gtk_button_accessible_get_type ())
+#define GTK_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BUTTON_ACCESSIBLE, GtkButtonAccessible))
+#define GTK_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_BUTTON_ACCESSIBLE, GtkButtonAccessibleClass))
+#define GTK_IS_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_BUTTON_ACCESSIBLE))
+#define GTK_IS_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BUTTON_ACCESSIBLE))
+#define GTK_BUTTON_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BUTTON_ACCESSIBLE, GtkButtonAccessibleClass))
+
+typedef struct _GtkButtonAccessible GtkButtonAccessible;
+typedef struct _GtkButtonAccessibleClass GtkButtonAccessibleClass;
+
+struct _GtkButtonAccessible
+{
+ GtkContainerAccessible parent;
+};
+
+struct _GtkButtonAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_button_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_BUTTON_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkcontainercellaccessible.h"
+#include "gtkcellaccessible.h"
+#include "gtkcellaccessibleparent.h"
+
+typedef struct _ActionInfo ActionInfo;
+struct _ActionInfo {
+ gchar *name;
+ gchar *description;
+ gchar *keybinding;
+ void (*do_action_func) (GtkCellAccessible *cell);
+};
+
+
+static void atk_action_interface_init (AtkActionIface *iface);
+static void atk_component_interface_init (AtkComponentIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkCellAccessible, _gtk_cell_accessible, ATK_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
+
+static void
+destroy_action_info (gpointer action_info)
+{
+ ActionInfo *info = (ActionInfo *)action_info;
+
+ g_free (info->name);
+ g_free (info->description);
+ g_free (info->keybinding);
+ g_free (info);
+}
+
+static void
+gtk_cell_accessible_object_finalize (GObject *obj)
+{
+ GtkCellAccessible *cell = GTK_CELL_ACCESSIBLE (obj);
+ AtkRelationSet *relation_set;
+ AtkRelation *relation;
+ GPtrArray *target;
+ gpointer target_object;
+ gint i;
+
+ if (cell->state_set)
+ g_object_unref (cell->state_set);
+
+ if (cell->action_list)
+ g_list_free_full (cell->action_list, destroy_action_info);
+
+ relation_set = atk_object_ref_relation_set (ATK_OBJECT (obj));
+ if (ATK_IS_RELATION_SET (relation_set))
+ {
+ relation = atk_relation_set_get_relation_by_type (relation_set,
+ ATK_RELATION_NODE_CHILD_OF);
+ if (relation)
+ {
+ target = atk_relation_get_target (relation);
+ for (i = 0; i < target->len; i++)
+ {
+ target_object = g_ptr_array_index (target, i);
+ if (GTK_IS_CELL_ACCESSIBLE (target_object))
+ g_object_unref (target_object);
+ }
+ }
+ g_object_unref (relation_set);
+ }
+ G_OBJECT_CLASS (_gtk_cell_accessible_parent_class)->finalize (obj);
+}
+
+static gint
+gtk_cell_accessible_get_index_in_parent (AtkObject *obj)
+{
+ GtkCellAccessible *cell;
+
+ cell = GTK_CELL_ACCESSIBLE (obj);
+ if (atk_state_set_contains_state (cell->state_set, ATK_STATE_STALE) &&
+ cell->refresh_index != NULL)
+ {
+ cell->refresh_index (cell);
+ atk_state_set_remove_state (cell->state_set, ATK_STATE_STALE);
+ }
+
+ return cell->index;
+}
+
+static AtkStateSet *
+gtk_cell_accessible_ref_state_set (AtkObject *obj)
+{
+ GtkCellAccessible *cell = GTK_CELL_ACCESSIBLE (obj);
+
+ g_object_ref (cell->state_set);
+
+ return cell->state_set;
+}
+
+static void
+_gtk_cell_accessible_class_init (GtkCellAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GObjectClass *g_object_class = G_OBJECT_CLASS (klass);
+
+ g_object_class->finalize = gtk_cell_accessible_object_finalize;
+
+ class->get_index_in_parent = gtk_cell_accessible_get_index_in_parent;
+ class->ref_state_set = gtk_cell_accessible_ref_state_set;
+}
+
+static void
+_gtk_cell_accessible_init (GtkCellAccessible *cell)
+{
+ cell->widget = NULL;
+ cell->action_list = NULL;
+ cell->index = 0;
+ cell->refresh_index = NULL;
+ cell->state_set = atk_state_set_new ();
+ atk_state_set_add_state (cell->state_set, ATK_STATE_TRANSIENT);
+ atk_state_set_add_state (cell->state_set, ATK_STATE_ENABLED);
+ atk_state_set_add_state (cell->state_set, ATK_STATE_SENSITIVE);
+ atk_state_set_add_state (cell->state_set, ATK_STATE_SELECTABLE);
+}
+
+static void
+widget_destroyed (GtkWidget *widget,
+ GtkCellAccessible *cell)
+{
+ cell->widget = NULL;
+}
+
+void
+_gtk_cell_accessible_initialise (GtkCellAccessible *cell,
+ GtkWidget *widget,
+ AtkObject *parent,
+ gint index)
+{
+ cell->widget = widget;
+ atk_object_set_parent (ATK_OBJECT (cell), parent);
+ cell->index = index;
+
+ g_signal_connect_object (G_OBJECT (widget), "destroy",
+ G_CALLBACK (widget_destroyed), cell, 0);
+}
+
+gboolean
+_gtk_cell_accessible_add_state (GtkCellAccessible *cell,
+ AtkStateType state_type,
+ gboolean emit_signal)
+{
+ gboolean rc;
+ AtkObject *parent;
+
+ if (atk_state_set_contains_state (cell->state_set, state_type))
+ return FALSE;
+
+ rc = atk_state_set_add_state (cell->state_set, state_type);
+
+ /* The signal should only be generated if the value changed,
+ * not when the cell is set up. So states that are set
+ * initially should pass FALSE as the emit_signal argument.
+ */
+ if (emit_signal)
+ {
+ atk_object_notify_state_change (ATK_OBJECT (cell), state_type, TRUE);
+ /* If state_type is ATK_STATE_VISIBLE, additional notification */
+ if (state_type == ATK_STATE_VISIBLE)
+ g_signal_emit_by_name (cell, "visible-data-changed");
+ }
+
+ /* If the parent is a flyweight container cell, propagate the state
+ * change to it also
+ */
+ parent = atk_object_get_parent (ATK_OBJECT (cell));
+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (parent))
+ _gtk_cell_accessible_add_state (GTK_CELL_ACCESSIBLE (parent), state_type, emit_signal);
+
+ return rc;
+}
+
+gboolean
+_gtk_cell_accessible_remove_state (GtkCellAccessible *cell,
+ AtkStateType state_type,
+ gboolean emit_signal)
+{
+ gboolean rc;
+ AtkObject *parent;
+
+ if (!atk_state_set_contains_state (cell->state_set, state_type))
+ return FALSE;
+
+ parent = atk_object_get_parent (ATK_OBJECT (cell));
+
+ rc = atk_state_set_remove_state (cell->state_set, state_type);
+
+ /* The signal should only be generated if the value changed,
+ * not when the cell is set up. So states that are set
+ * initially should pass FALSE as the emit_signal argument.
+ */
+ if (emit_signal)
+ {
+ atk_object_notify_state_change (ATK_OBJECT (cell), state_type, FALSE);
+ /* If state_type is ATK_STATE_VISIBLE, additional notification */
+ if (state_type == ATK_STATE_VISIBLE)
+ g_signal_emit_by_name (cell, "visible-data-changed");
+ }
+
+ /* If the parent is a flyweight container cell, propagate the state
+ * change to it also
+ */
+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (parent))
+ _gtk_cell_accessible_remove_state (GTK_CELL_ACCESSIBLE (parent), state_type, emit_signal);
+
+ return rc;
+}
+
+gboolean
+_gtk_cell_accessible_add_action (GtkCellAccessible *cell,
+ const gchar *name,
+ const gchar *description,
+ const gchar *keybinding,
+ void (*func) (GtkCellAccessible *))
+{
+ ActionInfo *info;
+
+ info = g_new (ActionInfo, 1);
+ info->name = g_strdup (name);
+ info->description = g_strdup (description);
+ info->keybinding = g_strdup (keybinding);
+ info->do_action_func = func;
+
+ cell->action_list = g_list_append (cell->action_list, info);
+
+ return TRUE;
+}
+
+gboolean
+_gtk_cell_accessible_remove_action (GtkCellAccessible *cell,
+ gint index)
+{
+ GList *l;
+
+ l = g_list_nth (cell->action_list, index);
+ if (l == NULL)
+ return FALSE;
+
+ destroy_action_info (l->data);
+ cell->action_list = g_list_remove_link (cell->action_list, l);
+
+ return TRUE;
+}
+
+
+gboolean
+_gtk_cell_accessible_remove_action_by_name (GtkCellAccessible *cell,
+ const gchar *name)
+{
+ GList *l;
+
+ for (l = cell->action_list; l; l = l->next)
+ {
+ ActionInfo *info = l->data;
+
+ if (g_strcmp0 (info->name, name) == 0)
+ break;
+ }
+
+ if (l == NULL)
+ return FALSE;
+
+ destroy_action_info (l->data);
+ cell->action_list = g_list_remove_link (cell->action_list, l);
+
+ return TRUE;
+}
+
+static ActionInfo *
+get_action_info (GtkCellAccessible *cell,
+ gint index)
+{
+ GList *l;
+
+ l = g_list_nth (cell->action_list, index);
+ if (l == NULL)
+ return NULL;
+
+ return (ActionInfo *) (l->data);
+}
+
+static gint
+gtk_cell_accessible_action_get_n_actions (AtkAction *action)
+{
+ GtkCellAccessible *cell = GTK_CELL_ACCESSIBLE(action);
+ if (cell->action_list != NULL)
+ return g_list_length (cell->action_list);
+ else
+ return 0;
+}
+
+static const gchar *
+gtk_cell_accessible_action_get_name (AtkAction *action,
+ gint index)
+{
+ GtkCellAccessible *cell = GTK_CELL_ACCESSIBLE (action);
+ ActionInfo *info;
+
+ info = get_action_info (cell, index);
+ if (info == NULL)
+ return NULL;
+
+ return info->name;
+}
+
+static const gchar *
+gtk_cell_accessible_action_get_description (AtkAction *action,
+ gint index)
+{
+ GtkCellAccessible *cell = GTK_CELL_ACCESSIBLE (action);
+ ActionInfo *info;
+
+ info = get_action_info (cell, index);
+ if (info == NULL)
+ return NULL;
+
+ return info->description;
+}
+
+static const gchar *
+gtk_cell_accessible_action_get_keybinding (AtkAction *action,
+ gint index)
+{
+ GtkCellAccessible *cell = GTK_CELL_ACCESSIBLE (action);
+ ActionInfo *info;
+
+ info = get_action_info (cell, index);
+ if (info == NULL)
+ return NULL;
+
+ return info->keybinding;
+}
+
+static gboolean
+gtk_cell_accessible_action_do_action (AtkAction *action,
+ gint index)
+{
+ GtkCellAccessible *cell = GTK_CELL_ACCESSIBLE (action);
+ ActionInfo *info;
+
+ info = get_action_info (cell, index);
+ if (info == NULL)
+ return FALSE;
+
+ if (info->do_action_func == NULL)
+ return FALSE;
+
+ info->do_action_func (cell);
+
+ return TRUE;
+}
+
+static void
+atk_action_interface_init (AtkActionIface *iface)
+{
+ iface->get_n_actions = gtk_cell_accessible_action_get_n_actions;
+ iface->do_action = gtk_cell_accessible_action_do_action;
+ iface->get_name = gtk_cell_accessible_action_get_name;
+ iface->get_description = gtk_cell_accessible_action_get_description;
+ iface->get_keybinding = gtk_cell_accessible_action_get_keybinding;
+}
+
+static void
+gtk_cell_accessible_get_extents (AtkComponent *component,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coord_type)
+{
+ GtkCellAccessible *cell;
+ AtkObject *parent;
+
+ cell = GTK_CELL_ACCESSIBLE (component);
+ parent = gtk_widget_get_accessible (cell->widget);
+
+ _gtk_cell_accessible_parent_get_cell_extents (GTK_CELL_ACCESSIBLE_PARENT (parent),
+ cell,
+ x, y, width, height, coord_type);
+}
+
+static gboolean
+gtk_cell_accessible_grab_focus (AtkComponent *component)
+{
+ GtkCellAccessible *cell;
+ AtkObject *parent;
+
+ cell = GTK_CELL_ACCESSIBLE (component);
+ parent = gtk_widget_get_accessible (cell->widget);
+
+ return _gtk_cell_accessible_parent_grab_focus (GTK_CELL_ACCESSIBLE_PARENT (parent), cell);
+}
+
+static void
+atk_component_interface_init (AtkComponentIface *iface)
+{
+ iface->get_extents = gtk_cell_accessible_get_extents;
+ iface->grab_focus = gtk_cell_accessible_grab_focus;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_CELL_ACCESSIBLE_H__
+#define __GTK_CELL_ACCESSIBLE_H__
+
+#include <atk/atk.h>
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_CELL_ACCESSIBLE (_gtk_cell_accessible_get_type ())
+#define GTK_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_ACCESSIBLE, GtkCellAccessible))
+#define GTK_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_ACCESSIBLE, GtkCellAccessibleClass))
+#define GTK_IS_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_ACCESSIBLE))
+#define GTK_IS_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_ACCESSIBLE))
+#define GTK_CELL_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_ACCESSIBLE, GtkCellAccessibleClass))
+
+typedef struct _GtkCellAccessible GtkCellAccessible;
+typedef struct _GtkCellAccessibleClass GtkCellAccessibleClass;
+
+struct _GtkCellAccessible
+{
+ AtkObject parent;
+
+ GtkWidget *widget;
+ /* This cached value is used only by atk_object_get_index_in_parent()
+ * which updates the value when it is stale.
+ */
+ gint index;
+ AtkStateSet *state_set;
+ GList *action_list;
+ void (*refresh_index) (GtkCellAccessible *cell);
+};
+
+struct _GtkCellAccessibleClass
+{
+ AtkObjectClass parent_class;
+};
+
+GType _gtk_cell_accessible_get_type (void);
+
+void _gtk_cell_accessible_initialise (GtkCellAccessible *cell,
+ GtkWidget *widget,
+ AtkObject *parent,
+ gint index);
+gboolean _gtk_cell_accessible_add_state (GtkCellAccessible *cell,
+ AtkStateType state_type,
+ gboolean emit_signal);
+gboolean _gtk_cell_accessible_remove_state (GtkCellAccessible *cell,
+ AtkStateType state_type,
+ gboolean emit_signal);
+gboolean _gtk_cell_accessible_add_action (GtkCellAccessible *cell,
+ const gchar *name,
+ const gchar *description,
+ const gchar *keybinding,
+ void (*func) (GtkCellAccessible *));
+
+gboolean _gtk_cell_accessible_remove_action (GtkCellAccessible *cell,
+ gint index);
+gboolean _gtk_cell_accessible_remove_action_by_name
+ (GtkCellAccessible *cell,
+ const gchar *name);
+
+G_END_DECLS
+
+#endif /* __GTK_CELL_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkcellaccessibleparent.h"
+
+GType
+_gtk_cell_accessible_parent_get_type (void)
+{
+ static volatile gsize g_define_type_id__volatile = 0;
+
+ if (g_once_init_enter (&g_define_type_id__volatile))
+ {
+ GType g_define_type_id =
+ g_type_register_static_simple (G_TYPE_INTERFACE,
+ "GtkCellAccessibleParent",
+ sizeof (GtkCellAccessibleParentIface),
+ NULL,
+ 0,
+ NULL,
+ 0);
+
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+ }
+
+ return g_define_type_id__volatile;
+}
+
+void
+_gtk_cell_accessible_parent_get_cell_extents (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coord_type)
+{
+ GtkCellAccessibleParentIface *iface;
+
+ g_return_if_fail (GTK_IS_CELL_ACCESSIBLE_PARENT (parent));
+
+ iface = GTK_CELL_ACCESSIBLE_PARENT_GET_IFACE (parent);
+
+ if (iface->get_cell_extents)
+ (iface->get_cell_extents) (parent, cell, x, y, width, height, coord_type);
+}
+
+void
+_gtk_cell_accessible_parent_get_cell_area (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell,
+ GdkRectangle *cell_rect)
+{
+ GtkCellAccessibleParentIface *iface;
+
+ g_return_if_fail (GTK_IS_CELL_ACCESSIBLE_PARENT (parent));
+ g_return_if_fail (cell_rect);
+
+ iface = GTK_CELL_ACCESSIBLE_PARENT_GET_IFACE (parent);
+
+ if (iface->get_cell_area)
+ (iface->get_cell_area) (parent, cell, cell_rect);
+}
+
+gboolean
+_gtk_cell_accessible_parent_grab_focus (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell)
+{
+ GtkCellAccessibleParentIface *iface;
+
+ g_return_val_if_fail (GTK_IS_CELL_ACCESSIBLE_PARENT (parent), FALSE);
+
+ iface = GTK_CELL_ACCESSIBLE_PARENT_GET_IFACE (parent);
+
+ if (iface->grab_focus)
+ return (iface->grab_focus) (parent, cell);
+ else
+ return FALSE;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ *
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_CELL_ACCESSIBLE_PARENT_H__
+#define __GTK_CELL_ACCESSIBLE_PARENT_H__
+
+#include <atk/atk.h>
+#include "gtkcellaccessible.h"
+
+G_BEGIN_DECLS
+
+/*
+ * The GtkCellAccessibleParent interface should be supported by any object
+ * which contains children which are flyweights, i.e. do not have corresponding
+ * widgets and the children need help from their parent to provide
+ * functionality. One example is GtkTreeViewAccessible where the children
+ * GtkCellAccessible need help from the GtkTreeViewAccessible in order to
+ * implement atk_component_get_extents().
+ */
+
+#define GTK_TYPE_CELL_ACCESSIBLE_PARENT (_gtk_cell_accessible_parent_get_type ())
+#define GTK_IS_CELL_ACCESSIBLE_PARENT(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_ACCESSIBLE_PARENT)
+#define GTK_CELL_ACCESSIBLE_PARENT(obj) G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_ACCESSIBLE_PARENT, GtkCellAccessibleParent)
+#define GTK_CELL_ACCESSIBLE_PARENT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_CELL_ACCESSIBLE_PARENT, GtkCellAccessibleParentIface))
+
+typedef struct _GtkCellAccessibleParent GtkCellAccessibleParent;
+typedef struct _GtkCellAccessibleParentIface GtkCellAccessibleParentIface;
+
+struct _GtkCellAccessibleParentIface
+{
+ GTypeInterface parent;
+ void ( *get_cell_extents) (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coord_type);
+ void ( *get_cell_area) (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell,
+ GdkRectangle *cell_rect);
+ gboolean ( *grab_focus) (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell);
+};
+
+GType _gtk_cell_accessible_parent_get_type (void);
+
+void _gtk_cell_accessible_parent_get_cell_extents (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coord_type);
+void _gtk_cell_accessible_parent_get_cell_area (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell,
+ GdkRectangle *cell_rect);
+gboolean _gtk_cell_accessible_parent_grab_focus (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell);
+
+G_END_DECLS
+
+#endif /* __GTK_CELL_ACCESSIBLE_PARENT_H__ */
#include <string.h>
#include <gtk/gtk.h>
-#include "gailchecksubmenuitem.h"
+#include "gtkcheckmenuitemaccessible.h"
-static void gail_check_sub_menu_item_class_init (GailCheckSubMenuItemClass *klass);
-static void gail_check_sub_menu_item_init (GailCheckSubMenuItem *item);
-
-static void gail_check_sub_menu_item_toggled_gtk (GtkWidget *widget);
-
-static void gail_check_sub_menu_item_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-
-static void gail_check_sub_menu_item_real_initialize (AtkObject *obj,
- gpointer data);
-
-static AtkStateSet* gail_check_sub_menu_item_ref_state_set (AtkObject *accessible);
-
-G_DEFINE_TYPE (GailCheckSubMenuItem, gail_check_sub_menu_item, GAIL_TYPE_SUB_MENU_ITEM)
+G_DEFINE_TYPE (GtkCheckMenuItemAccessible, _gtk_check_menu_item_accessible, GTK_TYPE_MENU_ITEM_ACCESSIBLE)
static void
-gail_check_sub_menu_item_class_init (GailCheckSubMenuItemClass *klass)
+toggled_cb (GtkWidget *widget)
{
- GailWidgetClass *widget_class;
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- widget_class = (GailWidgetClass*)klass;
- widget_class->notify_gtk = gail_check_sub_menu_item_real_notify_gtk;
-
- class->ref_state_set = gail_check_sub_menu_item_ref_state_set;
- class->initialize = gail_check_sub_menu_item_real_initialize;
-}
-
-static void
-gail_check_sub_menu_item_init (GailCheckSubMenuItem *item)
-{
-}
-
-AtkObject*
-gail_check_sub_menu_item_new (GtkWidget *widget)
-{
- GObject *object;
AtkObject *accessible;
+ GtkCheckMenuItem *check_menu_item;
+ gboolean active;
- g_return_val_if_fail (GTK_IS_CHECK_MENU_ITEM (widget), NULL);
-
- object = g_object_new (GAIL_TYPE_CHECK_SUB_MENU_ITEM, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, widget);
+ check_menu_item = GTK_CHECK_MENU_ITEM (widget);
+ active = gtk_check_menu_item_get_active (check_menu_item);
- return accessible;
+ accessible = gtk_widget_get_accessible (widget);
+ atk_object_notify_state_change (accessible, ATK_STATE_CHECKED, active);
}
static void
-gail_check_sub_menu_item_real_initialize (AtkObject *obj,
- gpointer data)
+gtk_check_menu_item_accessible_initialize (AtkObject *obj,
+ gpointer data)
{
- ATK_OBJECT_CLASS (gail_check_sub_menu_item_parent_class)->initialize (obj, data);
+ ATK_OBJECT_CLASS (_gtk_check_menu_item_accessible_parent_class)->initialize (obj, data);
- g_signal_connect (data,
- "toggled",
- G_CALLBACK (gail_check_sub_menu_item_toggled_gtk),
- NULL);
+ g_signal_connect (data, "toggled", G_CALLBACK (toggled_cb), NULL);
obj->role = ATK_ROLE_CHECK_MENU_ITEM;
}
-static void
-gail_check_sub_menu_item_toggled_gtk (GtkWidget *widget)
-{
- AtkObject *accessible;
- GtkCheckMenuItem *check_menu_item;
-
- check_menu_item = GTK_CHECK_MENU_ITEM (widget);
-
- accessible = gtk_widget_get_accessible (widget);
- atk_object_notify_state_change (accessible, ATK_STATE_CHECKED,
- gtk_check_menu_item_get_active (check_menu_item));
-}
-
-static AtkStateSet*
-gail_check_sub_menu_item_ref_state_set (AtkObject *accessible)
+static AtkStateSet *
+gtk_check_menu_item_accessible_ref_state_set (AtkObject *accessible)
{
AtkStateSet *state_set;
GtkCheckMenuItem *check_menu_item;
GtkWidget *widget;
- state_set = ATK_OBJECT_CLASS (gail_check_sub_menu_item_parent_class)->ref_state_set (accessible);
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
-
if (widget == NULL)
- return state_set;
+ return NULL;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_check_menu_item_accessible_parent_class)->ref_state_set (accessible);
check_menu_item = GTK_CHECK_MENU_ITEM (widget);
atk_state_set_remove_state (state_set, ATK_STATE_ENABLED);
atk_state_set_add_state (state_set, ATK_STATE_INDETERMINATE);
}
-
+
return state_set;
}
static void
-gail_check_sub_menu_item_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
+gtk_check_menu_item_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
{
GtkCheckMenuItem *check_menu_item = GTK_CHECK_MENU_ITEM (obj);
AtkObject *atk_obj;
atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, (sensitive && !inconsistent));
}
else
- GAIL_WIDGET_CLASS (gail_check_sub_menu_item_parent_class)->notify_gtk (obj, pspec);
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_check_menu_item_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+static void
+_gtk_check_menu_item_accessible_class_init (GtkCheckMenuItemAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+
+ widget_class->notify_gtk = gtk_check_menu_item_accessible_notify_gtk;
+
+ class->ref_state_set = gtk_check_menu_item_accessible_ref_state_set;
+ class->initialize = gtk_check_menu_item_accessible_initialize;
+}
+
+static void
+_gtk_check_menu_item_accessible_init (GtkCheckMenuItemAccessible *item)
+{
}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2002 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_CHECK_MENU_ITEM_ACCESSIBLE_H__
+#define __GTK_CHECK_MENU_ITEM_ACCESSIBLE_H__
+
+#include "gtkmenuitemaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_CHECK_MENU_ITEM_ACCESSIBLE (_gtk_check_menu_item_accessible_get_type ())
+#define GTK_CHECK_MENU_ITEM_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CHECK_MENU_ITEM_ACCESSIBLE, GtkCheckMenuItemAccessible))
+#define GTK_CHECK_MENU_ITEM_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CHECK_MENU_ITEM_ACCESSIBLE, GtkCheckMenuItemAccessibleClass))
+#define GTK_IS_CHECK_MENU_ITEM_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CHECK_MENU_ITEM_ACCESSIBLE))
+#define GTK_IS_CHECK_MENU_ITEM_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CHECK_MENU_ITEM_ACCESSIBLE))
+#define GTK_CHECK_MENU_ITEM_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CHECK_MENU_ITEM_ACCESSIBLE, GtkCheckMenuItemAccessibleClass))
+
+typedef struct _GtkCheckMenuItemAccessible GtkCheckMenuItemAccessible;
+typedef struct _GtkCheckMenuItemAccessibleClass GtkCheckMenuItemAccessibleClass;
+
+struct _GtkCheckMenuItemAccessible
+{
+ GtkMenuItemAccessible parent;
+};
+
+struct _GtkCheckMenuItemAccessibleClass
+{
+ GtkMenuItemAccessibleClass parent_class;
+};
+
+GType _gtk_check_menu_item_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_CHECK_MENU_ITEM_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2004 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkcomboboxaccessible.h"
+
+
+static void atk_action_interface_init (AtkActionIface *iface);
+static void atk_selection_interface_init (AtkSelectionIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkComboBoxAccessible, _gtk_combo_box_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
+
+static void
+changed_cb (GtkWidget *widget)
+{
+ GtkComboBox *combo_box;
+ AtkObject *obj;
+ GtkComboBoxAccessible *accessible;
+ gint index;
+
+ combo_box = GTK_COMBO_BOX (widget);
+
+ index = gtk_combo_box_get_active (combo_box);
+ obj = gtk_widget_get_accessible (widget);
+ accessible = GTK_COMBO_BOX_ACCESSIBLE (obj);
+ if (accessible->old_selection != index)
+ {
+ accessible->old_selection = index;
+ g_object_notify (G_OBJECT (obj), "accessible-name");
+ g_signal_emit_by_name (obj, "selection-changed");
+ }
+}
+
+static void
+gtk_combo_box_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkComboBox *combo_box;
+ GtkComboBoxAccessible *accessible;
+ AtkObject *popup;
+
+ ATK_OBJECT_CLASS (_gtk_combo_box_accessible_parent_class)->initialize (obj, data);
+
+ combo_box = GTK_COMBO_BOX (data);
+ accessible = GTK_COMBO_BOX_ACCESSIBLE (obj);
+
+ g_signal_connect (combo_box, "changed", G_CALLBACK (changed_cb), NULL);
+ accessible->old_selection = gtk_combo_box_get_active (combo_box);
+
+ popup = gtk_combo_box_get_popup_accessible (combo_box);
+ if (popup)
+ {
+ atk_object_set_parent (popup, obj);
+ accessible->popup_set = TRUE;
+ }
+ if (gtk_combo_box_get_has_entry (combo_box))
+ atk_object_set_parent (gtk_widget_get_accessible (gtk_bin_get_child (GTK_BIN (combo_box))), obj);
+
+ obj->role = ATK_ROLE_COMBO_BOX;
+}
+
+static void
+gtk_combo_box_accessible_finalize (GObject *object)
+{
+ GtkComboBoxAccessible *combo_box = GTK_COMBO_BOX_ACCESSIBLE (object);
+
+ g_free (combo_box->name);
+
+ G_OBJECT_CLASS (_gtk_combo_box_accessible_parent_class)->finalize (object);
+}
+
+static const gchar *
+gtk_combo_box_accessible_get_name (AtkObject *obj)
+{
+ GtkWidget *widget;
+ GtkComboBox *combo_box;
+ GtkComboBoxAccessible *accessible;
+ GtkTreeIter iter;
+ const gchar *name;
+ GtkTreeModel *model;
+ gint n_columns;
+ gint i;
+
+ name = ATK_OBJECT_CLASS (_gtk_combo_box_accessible_parent_class)->get_name (obj);
+ if (name)
+ return name;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ combo_box = GTK_COMBO_BOX (widget);
+ accessible = GTK_COMBO_BOX_ACCESSIBLE (obj);
+ if (gtk_combo_box_get_active_iter (combo_box, &iter))
+ {
+ model = gtk_combo_box_get_model (combo_box);
+ n_columns = gtk_tree_model_get_n_columns (model);
+ for (i = 0; i < n_columns; i++)
+ {
+ GValue value = { 0, };
+
+ gtk_tree_model_get_value (model, &iter, i, &value);
+ if (G_VALUE_HOLDS_STRING (&value))
+ {
+ g_free (accessible->name);
+ accessible->name = g_strdup (g_value_get_string (&value));
+ g_value_unset (&value);
+ break;
+ }
+ else
+ g_value_unset (&value);
+ }
+ }
+ return accessible->name;
+}
+
+static gint
+gtk_combo_box_accessible_get_n_children (AtkObject* obj)
+{
+ gint n_children = 0;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return 0;
+
+ n_children++;
+ if (gtk_combo_box_get_has_entry (GTK_COMBO_BOX (widget)))
+ n_children++;
+
+ return n_children;
+}
+
+static AtkObject *
+gtk_combo_box_accessible_ref_child (AtkObject *obj,
+ gint i)
+{
+ GtkWidget *widget;
+ AtkObject *child;
+ GtkComboBoxAccessible *box;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ if (i == 0)
+ {
+ child = gtk_combo_box_get_popup_accessible (GTK_COMBO_BOX (widget));
+ box = GTK_COMBO_BOX_ACCESSIBLE (obj);
+ if (box->popup_set == FALSE)
+ {
+ atk_object_set_parent (child, obj);
+ box->popup_set = TRUE;
+ }
+ }
+ else if (i == 1 && gtk_combo_box_get_has_entry (GTK_COMBO_BOX (widget)))
+ {
+ child = gtk_widget_get_accessible (gtk_bin_get_child (GTK_BIN (widget)));
+ }
+ else
+ {
+ return NULL;
+ }
+
+ return g_object_ref (child);
+}
+
+static void
+_gtk_combo_box_accessible_class_init (GtkComboBoxAccessibleClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ gobject_class->finalize = gtk_combo_box_accessible_finalize;
+
+ class->get_name = gtk_combo_box_accessible_get_name;
+ class->get_n_children = gtk_combo_box_accessible_get_n_children;
+ class->ref_child = gtk_combo_box_accessible_ref_child;
+ class->initialize = gtk_combo_box_accessible_initialize;
+}
+
+static void
+_gtk_combo_box_accessible_init (GtkComboBoxAccessible *combo_box)
+{
+ combo_box->old_selection = -1;
+ combo_box->name = NULL;
+ combo_box->popup_set = FALSE;
+}
+
+static gboolean
+gtk_combo_box_accessible_do_action (AtkAction *action,
+ gint i)
+{
+ GtkComboBox *combo_box;
+ GtkWidget *widget;
+ gboolean popup_shown;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (widget == NULL)
+ return FALSE;
+
+ if (!gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
+ return FALSE;
+
+ if (i != 0)
+ return FALSE;
+
+ combo_box = GTK_COMBO_BOX (widget);
+ g_object_get (combo_box, "popup-shown", &popup_shown, NULL);
+ if (popup_shown)
+ gtk_combo_box_popdown (combo_box);
+ else
+ gtk_combo_box_popup (combo_box);
+
+ return TRUE;
+}
+
+static gint
+gtk_combo_box_accessible_get_n_actions (AtkAction *action)
+{
+ return 1;
+}
+
+static const gchar *
+gtk_combo_box_accessible_get_keybinding (AtkAction *action,
+ gint i)
+{
+ GtkComboBoxAccessible *combo_box;
+ GtkWidget *widget;
+ GtkWidget *label;
+ AtkRelationSet *set;
+ AtkRelation *relation;
+ GPtrArray *target;
+ gpointer target_object;
+ guint key_val;
+ gchar *return_value = NULL;
+
+ if (i != 0)
+ return NULL;
+
+ combo_box = GTK_COMBO_BOX_ACCESSIBLE (action);
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (combo_box));
+ if (widget == NULL)
+ return NULL;
+
+ set = atk_object_ref_relation_set (ATK_OBJECT (action));
+ if (set == NULL)
+ return NULL;
+
+ label = NULL;
+ relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_LABELLED_BY);
+ if (relation)
+ {
+ target = atk_relation_get_target (relation);
+ target_object = g_ptr_array_index (target, 0);
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (target_object));
+ }
+ g_object_unref (set);
+ if (GTK_IS_LABEL (label))
+ {
+ key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
+ if (key_val != GDK_KEY_VoidSymbol)
+ return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
+ }
+
+ return return_value;
+}
+
+static const gchar *
+gtk_combo_box_accessible_action_get_name (AtkAction *action,
+ gint i)
+{
+ if (i != 0)
+ return NULL;
+
+ return "press";
+}
+
+static void
+atk_action_interface_init (AtkActionIface *iface)
+{
+ iface->do_action = gtk_combo_box_accessible_do_action;
+ iface->get_n_actions = gtk_combo_box_accessible_get_n_actions;
+ iface->get_keybinding = gtk_combo_box_accessible_get_keybinding;
+ iface->get_name = gtk_combo_box_accessible_action_get_name;
+}
+
+static gboolean
+gtk_combo_box_accessible_add_selection (AtkSelection *selection,
+ gint i)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ gtk_combo_box_set_active (GTK_COMBO_BOX (widget), i);
+
+ return TRUE;
+}
+
+static gboolean
+gtk_combo_box_accessible_clear_selection (AtkSelection *selection)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ gtk_combo_box_set_active (GTK_COMBO_BOX (widget), -1);
+
+ return TRUE;
+}
+
+static AtkObject *
+gtk_combo_box_accessible_ref_selection (AtkSelection *selection,
+ gint i)
+{
+ GtkComboBox *combo_box;
+ GtkWidget *widget;
+ AtkObject *obj;
+ gint index;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return NULL;
+
+ if (i != 0)
+ return NULL;
+
+ combo_box = GTK_COMBO_BOX (widget);
+
+ obj = gtk_combo_box_get_popup_accessible (combo_box);
+ index = gtk_combo_box_get_active (combo_box);
+
+ return atk_object_ref_accessible_child (obj, index);
+}
+
+static gint
+gtk_combo_box_accessible_get_selection_count (AtkSelection *selection)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return 0;
+
+ return (gtk_combo_box_get_active (GTK_COMBO_BOX (widget)) == -1) ? 0 : 1;
+}
+
+static gboolean
+gtk_combo_box_accessible_is_child_selected (AtkSelection *selection,
+ gint i)
+{
+ GtkWidget *widget;
+ gint j;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+
+ if (widget == NULL)
+ return FALSE;
+
+ j = gtk_combo_box_get_active (GTK_COMBO_BOX (widget));
+
+ return (j == i);
+}
+
+static gboolean
+gtk_combo_box_accessible_remove_selection (AtkSelection *selection,
+ gint i)
+{
+ if (atk_selection_is_child_selected (selection, i))
+ atk_selection_clear_selection (selection);
+
+ return TRUE;
+}
+
+static void
+atk_selection_interface_init (AtkSelectionIface *iface)
+{
+ iface->add_selection = gtk_combo_box_accessible_add_selection;
+ iface->clear_selection = gtk_combo_box_accessible_clear_selection;
+ iface->ref_selection = gtk_combo_box_accessible_ref_selection;
+ iface->get_selection_count = gtk_combo_box_accessible_get_selection_count;
+ iface->is_child_selected = gtk_combo_box_accessible_is_child_selected;
+ iface->remove_selection = gtk_combo_box_accessible_remove_selection;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2004 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_COMBO_BOX_ACCESSIBLE_H__
+#define __GTK_COMBO_BOX_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_COMBO_BOX_ACCESSIBLE (_gtk_combo_box_accessible_get_type ())
+#define GTK_COMBO_BOX_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COMBO_BOX_ACCESSIBLE, GtkComboBoxAccessible))
+#define GTK_COMBO_BOX_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_COMBO_BOX_ACCESSIBLE, GtkComboBoxAccessibleClass))
+#define GTK_IS_COMBO_BOX_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_COMBO_BOX_ACCESSIBLE))
+#define GTK_IS_COMBO_BOX_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_COMBO_BOX_ACCESSIBLE))
+#define GTK_COMBO_BOX_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_COMBO_BOX_ACCESSIBLE, GtkComboBoxAccessibleClass))
+
+typedef struct _GtkComboBoxAccessible GtkComboBoxAccessible;
+typedef struct _GtkComboBoxAccessibleClass GtkComboBoxAccessibleClass;
+
+struct _GtkComboBoxAccessible
+{
+ GtkContainerAccessible parent;
+
+ gchar *name;
+ gint old_selection;
+ gboolean popup_set;
+};
+
+struct _GtkComboBoxAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_combo_box_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_COMBO_BOX_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkcontaineraccessible.h"
+
+
+G_DEFINE_TYPE (GtkContainerAccessible, _gtk_container_accessible, GTK_TYPE_WIDGET_ACCESSIBLE)
+
+static gint
+gtk_container_accessible_get_n_children (AtkObject* obj)
+{
+ GtkWidget *widget;
+ GList *children;
+ gint count = 0;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return 0;
+
+ children = gtk_container_get_children (GTK_CONTAINER(widget));
+ count = g_list_length (children);
+ g_list_free (children);
+
+ return count;
+}
+
+static AtkObject *
+gtk_container_accessible_ref_child (AtkObject *obj,
+ gint i)
+{
+ GList *children, *tmp_list;
+ AtkObject *accessible;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ children = gtk_container_get_children (GTK_CONTAINER (widget));
+ tmp_list = g_list_nth (children, i);
+ if (!tmp_list)
+ {
+ g_list_free (children);
+ return NULL;
+ }
+ accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data));
+
+ g_list_free (children);
+ g_object_ref (accessible);
+
+ return accessible;
+}
+
+static gint
+gtk_container_accessible_add_gtk (GtkContainer *container,
+ GtkWidget *widget,
+ gpointer data)
+{
+ GtkContainerAccessible *accessible = GTK_CONTAINER_ACCESSIBLE (data);
+ GtkContainerAccessibleClass *klass;
+
+ klass = GTK_CONTAINER_ACCESSIBLE_GET_CLASS (accessible);
+
+ if (klass->add_gtk)
+ return klass->add_gtk (container, widget, data);
+ else
+ return 1;
+}
+
+static gint
+gtk_container_accessible_remove_gtk (GtkContainer *container,
+ GtkWidget *widget,
+ gpointer data)
+{
+ GtkContainerAccessible *accessible = GTK_CONTAINER_ACCESSIBLE (data);
+ GtkContainerAccessibleClass *klass;
+
+ klass = GTK_CONTAINER_ACCESSIBLE_GET_CLASS (accessible);
+
+ if (klass->remove_gtk)
+ return klass->remove_gtk (container, widget, data);
+ else
+ return 1;
+}
+
+static gint
+gtk_container_accessible_real_add_gtk (GtkContainer *container,
+ GtkWidget *widget,
+ gpointer data)
+{
+ AtkObject *atk_parent;
+ AtkObject *atk_child;
+ GtkContainerAccessible *accessible;
+ gint index;
+
+ atk_parent = ATK_OBJECT (data);
+ atk_child = gtk_widget_get_accessible (widget);
+ accessible = GTK_CONTAINER_ACCESSIBLE (atk_parent);
+
+ g_object_notify (G_OBJECT (atk_child), "accessible-parent");
+ g_list_free (accessible->children);
+ accessible->children = gtk_container_get_children (container);
+ index = g_list_index (accessible->children, widget);
+ g_signal_emit_by_name (atk_parent, "children-changed::add", index, atk_child, NULL);
+
+ return 1;
+}
+
+static gint
+gtk_container_accessible_real_remove_gtk (GtkContainer *container,
+ GtkWidget *widget,
+ gpointer data)
+{
+ AtkObject* atk_parent;
+ AtkObject *atk_child;
+ GtkContainerAccessible *accessible;
+ gint index;
+
+ atk_parent = ATK_OBJECT (data);
+ atk_child = gtk_widget_get_accessible (widget);
+ if (atk_child == NULL)
+ return 1;
+ accessible = GTK_CONTAINER_ACCESSIBLE (atk_parent);
+
+ g_object_notify (G_OBJECT (atk_child), "accessible-parent");
+ index = g_list_index (accessible->children, widget);
+ g_list_free (accessible->children);
+ accessible->children = gtk_container_get_children (container);
+ if (index >= 0 && index <= g_list_length (accessible->children))
+ g_signal_emit_by_name (atk_parent, "children-changed::remove", index, atk_child, NULL);
+
+ return 1;
+}
+
+static void
+gtk_container_accessible_real_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkContainerAccessible *accessible = GTK_CONTAINER_ACCESSIBLE (obj);
+
+ ATK_OBJECT_CLASS (_gtk_container_accessible_parent_class)->initialize (obj, data);
+
+ accessible->children = gtk_container_get_children (GTK_CONTAINER (data));
+
+ g_signal_connect (data, "add", G_CALLBACK (gtk_container_accessible_add_gtk), obj);
+ g_signal_connect (data, "remove", G_CALLBACK (gtk_container_accessible_remove_gtk), obj);
+
+ obj->role = ATK_ROLE_PANEL;
+}
+
+static void
+gtk_container_accessible_finalize (GObject *object)
+{
+ GtkContainerAccessible *accessible = GTK_CONTAINER_ACCESSIBLE (object);
+
+ g_list_free (accessible->children);
+
+ G_OBJECT_CLASS (_gtk_container_accessible_parent_class)->finalize (object);
+}
+
+static void
+_gtk_container_accessible_class_init (GtkContainerAccessibleClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ gobject_class->finalize = gtk_container_accessible_finalize;
+
+ class->get_n_children = gtk_container_accessible_get_n_children;
+ class->ref_child = gtk_container_accessible_ref_child;
+ class->initialize = gtk_container_accessible_real_initialize;
+
+ klass->add_gtk = gtk_container_accessible_real_add_gtk;
+ klass->remove_gtk = gtk_container_accessible_real_remove_gtk;
+}
+
+static void
+_gtk_container_accessible_init (GtkContainerAccessible *container)
+{
+}
+
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_CONTAINER_ACCESSIBLE_H__
+#define __GTK_CONTAINER_ACCESSIBLE_H__
+
+#include "gtkwidgetaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_CONTAINER_ACCESSIBLE (_gtk_container_accessible_get_type ())
+#define GTK_CONTAINER_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CONTAINER_ACCESSIBLE, GtkContainerAccessible))
+#define GTK_CONTAINER_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CONTAINER_ACCESSIBLE, GtkContainerAccessibleClass))
+#define GTK_IS_CONTAINER_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CONTAINER_ACCESSIBLE))
+#define GTK_IS_CONTAINER_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CONTAINER_ACCESSIBLE))
+#define GTK_CONTAINER_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CONTAINER_ACCESSIBLE, GtkContainerAccessibleClass))
+
+typedef struct _GtkContainerAccessible GtkContainerAccessible;
+typedef struct _GtkContainerAccessibleClass GtkContainerAccessibleClass;
+
+struct _GtkContainerAccessible
+{
+ GtkWidgetAccessible parent;
+
+ GList *children;
+};
+
+struct _GtkContainerAccessibleClass
+{
+ GtkWidgetAccessibleClass parent_class;
+
+ gint (*add_gtk) (GtkContainer *container,
+ GtkWidget *widget,
+ gpointer data);
+ gint (*remove_gtk) (GtkContainer *container,
+ GtkWidget *widget,
+ gpointer data);
+};
+
+GType _gtk_container_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_CONTAINER_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Enabling Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkcontainercellaccessible.h"
+
+
+G_DEFINE_TYPE (GtkContainerCellAccessible, _gtk_container_cell_accessible, GTK_TYPE_CELL_ACCESSIBLE)
+
+
+static void
+gtk_container_cell_accessible_finalize (GObject *obj)
+{
+ GtkContainerCellAccessible *container = GTK_CONTAINER_CELL_ACCESSIBLE (obj);
+
+ g_list_free_full (container->children, g_object_unref);
+
+ G_OBJECT_CLASS (_gtk_container_cell_accessible_parent_class)->finalize (obj);
+}
+
+
+static gint
+gtk_container_cell_accessible_get_n_children (AtkObject *obj)
+{
+ GtkContainerCellAccessible *cell = GTK_CONTAINER_CELL_ACCESSIBLE (obj);
+
+ return cell->NChildren;
+}
+
+static AtkObject *
+gtk_container_cell_accessible_ref_child (AtkObject *obj,
+ gint child)
+{
+ GtkContainerCellAccessible *cell = GTK_CONTAINER_CELL_ACCESSIBLE (obj);
+ GList *l;
+
+ l = g_list_nth (cell->children, child);
+ if (l == NULL)
+ return NULL;
+
+ return g_object_ref (ATK_OBJECT (l->data));
+}
+
+static void
+_gtk_container_cell_accessible_class_init (GtkContainerCellAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS(klass);
+ GObjectClass *g_object_class = G_OBJECT_CLASS (klass);
+
+ g_object_class->finalize = gtk_container_cell_accessible_finalize;
+
+ class->get_n_children = gtk_container_cell_accessible_get_n_children;
+ class->ref_child = gtk_container_cell_accessible_ref_child;
+}
+
+static void
+_gtk_container_cell_accessible_init (GtkContainerCellAccessible *cell)
+{
+}
+
+GtkContainerCellAccessible *
+_gtk_container_cell_accessible_new (void)
+{
+ GObject *object;
+ AtkObject *atk_object;
+ GtkContainerCellAccessible *container;
+
+ object = g_object_new (GTK_TYPE_CONTAINER_CELL_ACCESSIBLE, NULL);
+
+ g_return_val_if_fail (object != NULL, NULL);
+
+ atk_object = ATK_OBJECT (object);
+ atk_object->role = ATK_ROLE_TABLE_CELL;
+
+ container = GTK_CONTAINER_CELL_ACCESSIBLE (object);
+ container->children = NULL;
+ container->NChildren = 0;
+ return container;
+}
+
+static void
+recompute_child_indices (GtkContainerCellAccessible *container)
+{
+ gint cur_index = 0;
+ GList *l;
+
+ for (l = container->children; l; l = l->next)
+ {
+ GTK_CELL_ACCESSIBLE (l->data)->index = cur_index;
+ cur_index++;
+ }
+}
+
+static void
+refresh_child_index (GtkCellAccessible *cell)
+{
+ AtkObject *parent;
+
+ parent = atk_object_get_parent (ATK_OBJECT (cell));
+
+ recompute_child_indices (GTK_CONTAINER_CELL_ACCESSIBLE (parent));
+}
+
+void
+_gtk_container_cell_accessible_add_child (GtkContainerCellAccessible *container,
+ GtkCellAccessible *child)
+{
+ gint child_index;
+
+ g_return_if_fail (GTK_IS_CONTAINER_CELL_ACCESSIBLE (container));
+ g_return_if_fail (GTK_IS_CELL_ACCESSIBLE (child));
+
+ child_index = container->NChildren++;
+ container->children = g_list_append (container->children, child);
+ child->index = child_index;
+ atk_object_set_parent (ATK_OBJECT (child), ATK_OBJECT (container));
+ child->refresh_index = refresh_child_index;
+}
+
+void
+_gtk_container_cell_accessible_remove_child (GtkContainerCellAccessible *container,
+ GtkCellAccessible *child)
+{
+ g_return_if_fail (GTK_IS_CONTAINER_CELL_ACCESSIBLE (container));
+ g_return_if_fail (GTK_IS_CELL_ACCESSIBLE (child));
+ g_return_if_fail (container->NChildren > 0);
+
+ container->children = g_list_remove (container->children, child);
+ recompute_child_indices (container);
+ container->NChildren--;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Enabling Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_CONTAINER_CELL_ACCESSIBLE_H__
+#define __GTK_CONTAINER_CELL_ACCESSIBLE_H__
+
+#include <atk/atk.h>
+#include "gtkcellaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_CONTAINER_CELL_ACCESSIBLE (_gtk_container_cell_accessible_get_type ())
+#define GTK_CONTAINER_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CONTAINER_CELL_ACCESSIBLE, GtkContainerCellAccessible))
+#define GTK_CONTAINER_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CONTAINER_CELL_ACCESSIBLE, GtkContainerCellAccessibleClass))
+#define GTK_IS_CONTAINER_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CONTAINER_CELL_ACCESSIBLE))
+#define GTK_IS_CONTAINER_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CONTAINER_CELL_ACCESSIBLE))
+#define GTK_CONTAINER_CELL_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CONTAINER_CELL_ACCESSIBLE, GtkContainerCellAccessibleClass))
+
+typedef struct _GtkContainerCellAccessible GtkContainerCellAccessible;
+typedef struct _GtkContainerCellAccessibleClass GtkContainerCellAccessibleClass;
+
+struct _GtkContainerCellAccessible
+{
+ GtkCellAccessible parent;
+ GList *children;
+ gint NChildren;
+};
+
+struct _GtkContainerCellAccessibleClass
+{
+ GtkCellAccessibleClass parent_class;
+};
+
+GType _gtk_container_cell_accessible_get_type (void);
+
+GtkContainerCellAccessible *_gtk_container_cell_accessible_new (void);
+void _gtk_container_cell_accessible_add_child (GtkContainerCellAccessible *container,
+ GtkCellAccessible *child);
+void _gtk_container_cell_accessible_remove_child (GtkContainerCellAccessible *container,
+ GtkCellAccessible *child);
+
+G_END_DECLS
+
+#endif /* __GTK_CONTAINER_CELL_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkpango.h"
+#include "gtkentryaccessible.h"
+#include "gtkcomboboxaccessible.h"
+
+/* Callbacks */
+
+static void insert_text_cb (GtkEditable *editable,
+ gchar *new_text,
+ gint new_text_length,
+ gint *position);
+static void delete_text_cb (GtkEditable *editable,
+ gint start,
+ gint end);
+static void changed_cb (GtkEditable *editable);
+
+static gboolean check_for_selection_change (GtkEntryAccessible *entry,
+ GtkEntry *gtk_entry);
+
+
+static void atk_editable_text_interface_init (AtkEditableTextIface *iface);
+static void atk_text_interface_init (AtkTextIface *iface);
+static void atk_action_interface_init (AtkActionIface *iface);
+
+
+G_DEFINE_TYPE_WITH_CODE (GtkEntryAccessible, _gtk_entry_accessible, GTK_TYPE_WIDGET_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_EDITABLE_TEXT, atk_editable_text_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
+
+
+static AtkStateSet *
+gtk_entry_accessible_ref_state_set (AtkObject *accessible)
+{
+ AtkStateSet *state_set;
+ gboolean value;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return NULL;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_entry_accessible_parent_class)->ref_state_set (accessible);
+
+ g_object_get (G_OBJECT (widget), "editable", &value, NULL);
+ if (value)
+ atk_state_set_add_state (state_set, ATK_STATE_EDITABLE);
+ atk_state_set_add_state (state_set, ATK_STATE_SINGLE_LINE);
+
+ return state_set;
+}
+
+static AtkAttributeSet *
+gtk_entry_accessible_get_attributes (AtkObject *accessible)
+{
+ GtkWidget *widget;
+ AtkAttributeSet *attributes;
+ AtkAttribute *placeholder_text;
+ const gchar *text;
+
+ attributes = ATK_OBJECT_CLASS (_gtk_entry_accessible_parent_class)->get_attributes (accessible);
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return attributes;
+
+ text = gtk_entry_get_placeholder_text (GTK_ENTRY (widget));
+ if (text == NULL)
+ return attributes;
+
+ placeholder_text = g_malloc (sizeof (AtkAttribute));
+ placeholder_text->name = g_strdup ("placeholder-text");
+ placeholder_text->value = g_strdup (text);
+
+ attributes = g_slist_append (attributes, placeholder_text);
+
+ return attributes;
+}
+
+static void
+gtk_entry_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkEntry *entry;
+ GtkEntryAccessible *gtk_entry_accessible;
+ gint start_pos, end_pos;
+
+ ATK_OBJECT_CLASS (_gtk_entry_accessible_parent_class)->initialize (obj, data);
+
+ gtk_entry_accessible = GTK_ENTRY_ACCESSIBLE (obj);
+
+ entry = GTK_ENTRY (data);
+ gtk_editable_get_selection_bounds (GTK_EDITABLE (entry),
+ &start_pos, &end_pos);
+ gtk_entry_accessible->cursor_position = end_pos;
+ gtk_entry_accessible->selection_bound = start_pos;
+
+ /* Set up signal callbacks */
+ g_signal_connect (entry, "insert-text", G_CALLBACK (insert_text_cb), NULL);
+ g_signal_connect (entry, "delete-text", G_CALLBACK (delete_text_cb), NULL);
+ g_signal_connect (entry, "changed", G_CALLBACK (changed_cb), NULL);
+
+ if (gtk_entry_get_visibility (entry))
+ obj->role = ATK_ROLE_TEXT;
+ else
+ obj->role = ATK_ROLE_PASSWORD_TEXT;
+}
+
+static void
+gtk_entry_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkWidget *widget;
+ AtkObject* atk_obj;
+ GtkEntry* gtk_entry;
+ GtkEntryAccessible* entry;
+
+ widget = GTK_WIDGET (obj);
+ atk_obj = gtk_widget_get_accessible (widget);
+ gtk_entry = GTK_ENTRY (widget);
+ entry = GTK_ENTRY_ACCESSIBLE (atk_obj);
+
+ if (g_strcmp0 (pspec->name, "cursor-position") == 0)
+ {
+ if (check_for_selection_change (entry, gtk_entry))
+ g_signal_emit_by_name (atk_obj, "text-selection-changed");
+ /*
+ * The entry cursor position has moved so generate the signal.
+ */
+ g_signal_emit_by_name (atk_obj, "text-caret-moved",
+ entry->cursor_position);
+ }
+ else if (g_strcmp0 (pspec->name, "selection-bound") == 0)
+ {
+ if (check_for_selection_change (entry, gtk_entry))
+ g_signal_emit_by_name (atk_obj, "text-selection-changed");
+ }
+ else if (g_strcmp0 (pspec->name, "editable") == 0)
+ {
+ gboolean value;
+
+ g_object_get (obj, "editable", &value, NULL);
+ atk_object_notify_state_change (atk_obj, ATK_STATE_EDITABLE, value);
+ }
+ else if (g_strcmp0 (pspec->name, "visibility") == 0)
+ {
+ gboolean visibility;
+ AtkRole new_role;
+
+ visibility = gtk_entry_get_visibility (gtk_entry);
+ new_role = visibility ? ATK_ROLE_TEXT : ATK_ROLE_PASSWORD_TEXT;
+ atk_object_set_role (atk_obj, new_role);
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_entry_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+static gint
+gtk_entry_accessible_get_index_in_parent (AtkObject *accessible)
+{
+ /*
+ * If the parent widget is a combo box then the index is 1
+ * otherwise do the normal thing.
+ */
+ if (accessible->accessible_parent)
+ if (GTK_IS_COMBO_BOX_ACCESSIBLE (accessible->accessible_parent))
+ return 1;
+
+ return ATK_OBJECT_CLASS (_gtk_entry_accessible_parent_class)->get_index_in_parent (accessible);
+}
+
+static void
+_gtk_entry_accessible_class_init (GtkEntryAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+
+ class->ref_state_set = gtk_entry_accessible_ref_state_set;
+ class->get_index_in_parent = gtk_entry_accessible_get_index_in_parent;
+ class->initialize = gtk_entry_accessible_initialize;
+ class->get_attributes = gtk_entry_accessible_get_attributes;
+
+ widget_class->notify_gtk = gtk_entry_accessible_notify_gtk;
+}
+
+static void
+_gtk_entry_accessible_init (GtkEntryAccessible *entry)
+{
+ entry->length_insert = 0;
+ entry->length_delete = 0;
+ entry->cursor_position = 0;
+ entry->selection_bound = 0;
+}
+
+static gchar *
+gtk_entry_accessible_get_text (AtkText *atk_text,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkWidget *widget;
+ const gchar *text;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
+ if (widget == NULL)
+ return NULL;
+
+ /* FIXME: is this acceptable ? */
+ if (!gtk_entry_get_visibility (GTK_ENTRY (widget)))
+ return g_strdup ("");
+
+ text = gtk_entry_get_text (GTK_ENTRY (widget));
+
+ if (text)
+ return g_utf8_substring (text, start_pos, end_pos > -1 ? end_pos : g_utf8_strlen (text, -1));
+
+ return NULL;
+}
+
+static gchar *
+gtk_entry_accessible_get_text_before_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ /* FIXME: is this acceptable ? */
+ if (!gtk_entry_get_visibility (GTK_ENTRY (widget)))
+ return g_strdup ("");
+
+ return _gtk_pango_get_text_before (gtk_entry_get_layout (GTK_ENTRY (widget)),
+ boundary_type, offset,
+ start_offset, end_offset);
+}
+
+static gchar *
+gtk_entry_accessible_get_text_at_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ /* FIXME: is this acceptable ? */
+ if (!gtk_entry_get_visibility (GTK_ENTRY (widget)))
+ return g_strdup ("");
+
+ return _gtk_pango_get_text_at (gtk_entry_get_layout (GTK_ENTRY (widget)),
+ boundary_type, offset,
+ start_offset, end_offset);
+}
+
+static gchar *
+gtk_entry_accessible_get_text_after_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ /* FIXME: is this acceptable ? */
+ if (!gtk_entry_get_visibility (GTK_ENTRY (widget)))
+ return g_strdup ("");
+
+ return _gtk_pango_get_text_after (gtk_entry_get_layout (GTK_ENTRY (widget)),
+ boundary_type, offset,
+ start_offset, end_offset);
+}
+
+static gint
+gtk_entry_accessible_get_character_count (AtkText *atk_text)
+{
+ GtkWidget *widget;
+ const gchar *text;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
+ if (widget == NULL)
+ return 0;
+
+ text = gtk_entry_get_text (GTK_ENTRY (widget));
+
+ if (text)
+ return g_utf8_strlen (text, -1);
+
+ return 0;
+}
+
+static gint
+gtk_entry_accessible_get_caret_offset (AtkText *text)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return 0;
+
+ return gtk_editable_get_position (GTK_EDITABLE (widget));
+}
+
+static gboolean
+gtk_entry_accessible_set_caret_offset (AtkText *text,
+ gint offset)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ gtk_editable_set_position (GTK_EDITABLE (widget), offset);
+
+ return TRUE;
+}
+
+static AtkAttributeSet *
+add_text_attribute (AtkAttributeSet *attributes,
+ AtkTextAttribute attr,
+ gint i)
+{
+ AtkAttribute *at;
+
+ at = g_new (AtkAttribute, 1);
+ at->name = g_strdup (atk_text_attribute_get_name (attr));
+ at->value = g_strdup (atk_text_attribute_get_value (attr, i));
+
+ return g_slist_prepend (attributes, at);
+}
+
+static AtkAttributeSet *
+gtk_entry_accessible_get_run_attributes (AtkText *text,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkWidget *widget;
+ AtkAttributeSet *attributes;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ attributes = NULL;
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_DIRECTION,
+ gtk_widget_get_direction (widget));
+ attributes = _gtk_pango_get_run_attributes (attributes,
+ gtk_entry_get_layout (GTK_ENTRY (widget)),
+ offset,
+ start_offset,
+ end_offset);
+
+ return attributes;
+}
+
+static AtkAttributeSet *
+gtk_entry_accessible_get_default_attributes (AtkText *text)
+{
+ GtkWidget *widget;
+ AtkAttributeSet *attributes;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ attributes = NULL;
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_DIRECTION,
+ gtk_widget_get_direction (widget));
+ attributes = _gtk_pango_get_default_attributes (attributes,
+ gtk_entry_get_layout (GTK_ENTRY (widget)));
+ attributes = _gtk_style_context_get_attributes (attributes,
+ gtk_widget_get_style_context (widget),
+ gtk_widget_get_state_flags (widget));
+
+ return attributes;
+}
+
+static void
+gtk_entry_accessible_get_character_extents (AtkText *text,
+ gint offset,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coords)
+{
+ GtkWidget *widget;
+ GtkEntry *entry;
+ PangoRectangle char_rect;
+ const gchar *entry_text;
+ gint index, x_layout, y_layout;
+ GdkWindow *window;
+ gint x_window, y_window;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ entry = GTK_ENTRY (widget);
+
+ gtk_entry_get_layout_offsets (entry, &x_layout, &y_layout);
+ entry_text = gtk_entry_get_text (entry);
+ index = g_utf8_offset_to_pointer (entry_text, offset) - entry_text;
+ pango_layout_index_to_pos (gtk_entry_get_layout (entry), index, &char_rect);
+ pango_extents_to_pixels (&char_rect, NULL);
+
+ window = gtk_widget_get_window (widget);
+ gdk_window_get_origin (window, &x_window, &y_window);
+
+ *x = x_window + x_layout + char_rect.x;
+ *y = x_window + y_layout + char_rect.y;
+ *width = char_rect.width;
+ *height = char_rect.height;
+
+ if (coords == ATK_XY_WINDOW)
+ {
+ window = gdk_window_get_toplevel (window);
+ gdk_window_get_origin (window, &x_window, &y_window);
+
+ *x -= x_window;
+ *y -= y_window;
+ }
+}
+
+static gint
+gtk_entry_accessible_get_offset_at_point (AtkText *atk_text,
+ gint x,
+ gint y,
+ AtkCoordType coords)
+{
+ GtkWidget *widget;
+ GtkEntry *entry;
+ const gchar *text;
+ gint index, x_layout, y_layout;
+ gint x_window, y_window;
+ gint x_local, y_local;
+ GdkWindow *window;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
+ if (widget == NULL)
+ return -1;
+
+ entry = GTK_ENTRY (widget);
+
+ gtk_entry_get_layout_offsets (entry, &x_layout, &y_layout);
+
+ window = gtk_widget_get_window (widget);
+ gdk_window_get_origin (window, &x_window, &y_window);
+
+ x_local = x - x_layout - x_window;
+ y_local = y - y_layout - y_window;
+
+ if (coords == ATK_XY_WINDOW)
+ {
+ window = gdk_window_get_toplevel (window);
+ gdk_window_get_origin (window, &x_window, &y_window);
+
+ x_local += x_window;
+ y_local += y_window;
+ }
+ if (!pango_layout_xy_to_index (gtk_entry_get_layout (entry),
+ x_local * PANGO_SCALE,
+ y_local * PANGO_SCALE,
+ &index, NULL))
+ {
+ if (x_local < 0 || y_local < 0)
+ index = 0;
+ else
+ index = -1;
+ }
+
+ if (index != -1)
+ {
+ text = gtk_entry_get_text (entry);
+ return g_utf8_pointer_to_offset (text, text + index);
+ }
+
+ return -1;
+}
+
+static gint
+gtk_entry_accessible_get_n_selections (AtkText *text)
+{
+ GtkWidget *widget;
+ gint start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return 0;
+
+ if (gtk_editable_get_selection_bounds (GTK_EDITABLE (widget), &start, &end))
+ return 1;
+
+ return 0;
+}
+
+static gchar *
+gtk_entry_accessible_get_selection (AtkText *text,
+ gint selection_num,
+ gint *start_pos,
+ gint *end_pos)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ if (selection_num != 0)
+ return NULL;
+
+ if (gtk_editable_get_selection_bounds (GTK_EDITABLE (widget), start_pos, end_pos))
+ return gtk_editable_get_chars (GTK_EDITABLE (widget), *start_pos, *end_pos);
+
+ return NULL;
+}
+
+static gboolean
+gtk_entry_accessible_add_selection (AtkText *text,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkEntry *entry;
+ GtkWidget *widget;
+ gint start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ entry = GTK_ENTRY (widget);
+
+ if (!gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start, &end))
+ {
+ gtk_editable_select_region (GTK_EDITABLE (entry), start_pos, end_pos);
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+static gboolean
+gtk_entry_accessible_remove_selection (AtkText *text,
+ gint selection_num)
+{
+ GtkWidget *widget;
+ gint start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ if (selection_num != 0)
+ return FALSE;
+
+ if (gtk_editable_get_selection_bounds (GTK_EDITABLE (widget), &start, &end))
+ {
+ gtk_editable_select_region (GTK_EDITABLE (widget), end, end);
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+static gboolean
+gtk_entry_accessible_set_selection (AtkText *text,
+ gint selection_num,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkWidget *widget;
+ gint start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ if (selection_num != 0)
+ return FALSE;
+
+ if (gtk_editable_get_selection_bounds (GTK_EDITABLE (widget), &start, &end))
+ {
+ gtk_editable_select_region (GTK_EDITABLE (widget), start_pos, end_pos);
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+static gunichar
+gtk_entry_accessible_get_character_at_offset (AtkText *atk_text,
+ gint offset)
+{
+ GtkWidget *widget;
+ const gchar *text;
+ gchar *index;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
+ if (widget == NULL)
+ return '\0';
+
+ if (!gtk_entry_get_visibility (GTK_ENTRY (widget)))
+ return '\0';
+
+ text = gtk_entry_get_text (GTK_ENTRY (widget));
+ if (offset >= g_utf8_strlen (text, -1))
+ return '\0';
+
+ index = g_utf8_offset_to_pointer (text, offset);
+
+ return g_utf8_get_char (index);
+}
+
+static void
+atk_text_interface_init (AtkTextIface *iface)
+{
+ iface->get_text = gtk_entry_accessible_get_text;
+ iface->get_character_at_offset = gtk_entry_accessible_get_character_at_offset;
+ iface->get_text_before_offset = gtk_entry_accessible_get_text_before_offset;
+ iface->get_text_at_offset = gtk_entry_accessible_get_text_at_offset;
+ iface->get_text_after_offset = gtk_entry_accessible_get_text_after_offset;
+ iface->get_caret_offset = gtk_entry_accessible_get_caret_offset;
+ iface->set_caret_offset = gtk_entry_accessible_set_caret_offset;
+ iface->get_character_count = gtk_entry_accessible_get_character_count;
+ iface->get_n_selections = gtk_entry_accessible_get_n_selections;
+ iface->get_selection = gtk_entry_accessible_get_selection;
+ iface->add_selection = gtk_entry_accessible_add_selection;
+ iface->remove_selection = gtk_entry_accessible_remove_selection;
+ iface->set_selection = gtk_entry_accessible_set_selection;
+ iface->get_run_attributes = gtk_entry_accessible_get_run_attributes;
+ iface->get_default_attributes = gtk_entry_accessible_get_default_attributes;
+ iface->get_character_extents = gtk_entry_accessible_get_character_extents;
+ iface->get_offset_at_point = gtk_entry_accessible_get_offset_at_point;
+}
+
+static void
+gtk_entry_accessible_set_text_contents (AtkEditableText *text,
+ const gchar *string)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ if (!gtk_editable_get_editable (GTK_EDITABLE (widget)))
+ return;
+
+ gtk_entry_set_text (GTK_ENTRY (widget), string);
+}
+
+static void
+gtk_entry_accessible_insert_text (AtkEditableText *text,
+ const gchar *string,
+ gint length,
+ gint *position)
+{
+ GtkWidget *widget;
+ GtkEditable *editable;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ editable = GTK_EDITABLE (widget);
+ if (!gtk_editable_get_editable (editable))
+ return;
+
+ gtk_editable_insert_text (editable, string, length, position);
+ gtk_editable_set_position (editable, *position);
+}
+
+static void
+gtk_entry_accessible_copy_text (AtkEditableText *text,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkWidget *widget;
+ GtkEditable *editable;
+ gchar *str;
+ GtkClipboard *clipboard;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ if (!gtk_widget_has_screen (widget))
+ return;
+
+ editable = GTK_EDITABLE (widget);
+ str = gtk_editable_get_chars (editable, start_pos, end_pos);
+ clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD);
+ gtk_clipboard_set_text (clipboard, str, -1);
+ g_free (str);
+}
+
+static void
+gtk_entry_accessible_cut_text (AtkEditableText *text,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkWidget *widget;
+ GtkEditable *editable;
+ gchar *str;
+ GtkClipboard *clipboard;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ if (!gtk_widget_has_screen (widget))
+ return;
+
+ editable = GTK_EDITABLE (widget);
+ if (!gtk_editable_get_editable (editable))
+ return;
+
+ str = gtk_editable_get_chars (editable, start_pos, end_pos);
+ clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD);
+ gtk_clipboard_set_text (clipboard, str, -1);
+ gtk_editable_delete_text (editable, start_pos, end_pos);
+}
+
+static void
+gtk_entry_accessible_delete_text (AtkEditableText *text,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkWidget *widget;
+ GtkEditable *editable;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ editable = GTK_EDITABLE (widget);
+ if (!gtk_editable_get_editable (editable))
+ return;
+
+ gtk_editable_delete_text (editable, start_pos, end_pos);
+}
+
+typedef struct
+{
+ GtkEntry* entry;
+ gint position;
+} PasteData;
+
+static void
+paste_received_cb (GtkClipboard *clipboard,
+ const gchar *text,
+ gpointer data)
+{
+ PasteData *paste = data;
+
+ if (text)
+ gtk_editable_insert_text (GTK_EDITABLE (paste->entry), text, -1,
+ &paste->position);
+
+ g_object_unref (paste->entry);
+ g_free (paste);
+}
+
+static void
+gtk_entry_accessible_paste_text (AtkEditableText *text,
+ gint position)
+{
+ GtkWidget *widget;
+ GtkEditable *editable;
+ PasteData *paste;
+ GtkClipboard *clipboard;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ if (!gtk_widget_has_screen (widget))
+ return;
+
+ editable = GTK_EDITABLE (widget);
+ if (!gtk_editable_get_editable (editable))
+ return;
+
+ paste = g_new0 (PasteData, 1);
+ paste->entry = GTK_ENTRY (widget);
+ paste->position = position;
+
+ g_object_ref (paste->entry);
+ clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD);
+ gtk_clipboard_request_text (clipboard, paste_received_cb, paste);
+}
+
+static void
+atk_editable_text_interface_init (AtkEditableTextIface *iface)
+{
+ iface->set_text_contents = gtk_entry_accessible_set_text_contents;
+ iface->insert_text = gtk_entry_accessible_insert_text;
+ iface->copy_text = gtk_entry_accessible_copy_text;
+ iface->cut_text = gtk_entry_accessible_cut_text;
+ iface->delete_text = gtk_entry_accessible_delete_text;
+ iface->paste_text = gtk_entry_accessible_paste_text;
+ iface->set_run_attributes = NULL;
+}
+
+/* We connect to GtkEditable::insert-text, since it carries
+ * the information we need. But we delay emitting our own
+ * text_changed::insert signal until the entry has update
+ * all its internal state and emits GtkEntry::changed.
+ */
+static void
+insert_text_cb (GtkEditable *editable,
+ gchar *new_text,
+ gint new_text_length,
+ gint *position)
+{
+ GtkEntryAccessible *accessible;
+
+ if (new_text_length == 0)
+ return;
+
+ accessible = GTK_ENTRY_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (editable)));
+ if (accessible->length_insert == 0)
+ {
+ accessible->position_insert = *position;
+ accessible->length_insert = g_utf8_strlen (new_text, new_text_length);
+ }
+}
+
+/* We connect to GtkEditable::delete-text, since it carries
+ * the information we need. But we delay emitting our own
+ * text_changed::delete signal until the entry has update
+ * all its internal state and emits GtkEntry::changed.
+ */
+static void
+delete_text_cb (GtkEditable *editable,
+ gint start,
+ gint end)
+{
+ GtkEntryAccessible *accessible;
+
+ if (end < 0)
+ {
+ const gchar *text;
+
+ text = gtk_entry_get_text (GTK_ENTRY (editable));
+ end = g_utf8_strlen (text, -1);
+ }
+
+ if (end == start)
+ return;
+
+ accessible = GTK_ENTRY_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (editable)));
+ if (accessible->length_delete == 0)
+ {
+ accessible->position_delete = start;
+ accessible->length_delete = end - start;
+ }
+}
+
+/* Note the assumption here: A single ::changed emission
+ * will only collect a single deletion/insertion, and there
+ * won't be multiple insertions or deletions in a single
+ * change.
+ */
+static void
+changed_cb (GtkEditable *editable)
+{
+ GtkEntryAccessible *accessible;
+
+ accessible = GTK_ENTRY_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (editable)));
+
+ if (accessible->length_delete > 0)
+ {
+ g_signal_emit_by_name (accessible,
+ "text-changed::delete",
+ accessible->position_delete,
+ accessible->length_delete);
+ accessible->length_delete = 0;
+ }
+ if (accessible->length_insert > 0)
+ {
+ g_signal_emit_by_name (accessible,
+ "text-changed::insert",
+ accessible->position_insert,
+ accessible->length_insert);
+ accessible->length_insert = 0;
+ }
+}
+
+static gboolean
+check_for_selection_change (GtkEntryAccessible *accessible,
+ GtkEntry *entry)
+{
+ gboolean ret_val = FALSE;
+ gint start, end;
+
+ if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start, &end))
+ {
+ if (end != accessible->cursor_position ||
+ start != accessible->selection_bound)
+ /*
+ * This check is here as this function can be called
+ * for notification of selection_bound and current_pos.
+ * The values of current_pos and selection_bound may be the same
+ * for both notifications and we only want to generate one
+ * text_selection_changed signal.
+ */
+ ret_val = TRUE;
+ }
+ else
+ {
+ /* We had a selection */
+ ret_val = (accessible->cursor_position != accessible->selection_bound);
+ }
+
+ accessible->cursor_position = end;
+ accessible->selection_bound = start;
+
+ return ret_val;
+}
+
+static gboolean
+gtk_entry_accessible_do_action (AtkAction *action,
+ gint i)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (widget == NULL)
+ return FALSE;
+
+ if (!gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
+ return FALSE;
+
+ if (i != 0)
+ return FALSE;
+
+ gtk_widget_activate (widget);
+
+ return TRUE;
+}
+
+static gint
+gtk_entry_accessible_get_n_actions (AtkAction *action)
+{
+ return 1;
+}
+
+static const gchar *
+gtk_entry_accessible_get_keybinding (AtkAction *action,
+ gint i)
+{
+ GtkWidget *widget;
+ GtkWidget *label;
+ AtkRelationSet *set;
+ AtkRelation *relation;
+ GPtrArray *target;
+ gpointer target_object;
+ guint key_val;
+
+ if (i != 0)
+ return NULL;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (widget == NULL)
+ return NULL;
+
+ set = atk_object_ref_relation_set (ATK_OBJECT (action));
+ if (!set)
+ return NULL;
+
+ label = NULL;
+ relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_LABELLED_BY);
+ if (relation)
+ {
+ target = atk_relation_get_target (relation);
+
+ target_object = g_ptr_array_index (target, 0);
+ label = gtk_accessible_get_widget (GTK_ACCESSIBLE (target_object));
+ }
+
+ g_object_unref (set);
+
+ if (GTK_IS_LABEL (label))
+ {
+ key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
+ if (key_val != GDK_KEY_VoidSymbol)
+ return gtk_accelerator_name (key_val, GDK_MOD1_MASK);
+ }
+
+ return NULL;
+}
+
+static const gchar*
+gtk_entry_accessible_action_get_name (AtkAction *action,
+ gint i)
+{
+ if (i != 0)
+ return NULL;
+
+ return "activate";
+}
+
+static void
+atk_action_interface_init (AtkActionIface *iface)
+{
+ iface->do_action = gtk_entry_accessible_do_action;
+ iface->get_n_actions = gtk_entry_accessible_get_n_actions;
+ iface->get_keybinding = gtk_entry_accessible_get_keybinding;
+ iface->get_name = gtk_entry_accessible_action_get_name;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_ENTRY_ACCESSIBLE_H__
+#define __GTK_ENTRY_ACCESSIBLE_H__
+
+#include "gtkwidgetaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_ENTRY_ACCESSIBLE (_gtk_entry_accessible_get_type ())
+#define GTK_ENTRY_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY_ACCESSIBLE, GtkEntryAccessible))
+#define GTK_ENTRY_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ENTRY_ACCESSIBLE, GtkEntryAccessibleClass))
+#define GTK_IS_ENTRY_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ENTRY_ACCESSIBLE))
+#define GTK_IS_ENTRY_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ENTRY_ACCESSIBLE))
+#define GTK_ENTRY_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ENTRY_ACCESSIBLE, GtkEntryAccessibleClass))
+
+typedef struct _GtkEntryAccessible GtkEntryAccessible;
+typedef struct _GtkEntryAccessibleClass GtkEntryAccessibleClass;
+
+struct _GtkEntryAccessible
+{
+ GtkWidgetAccessible parent;
+
+ gint position_insert;
+ gint position_delete;
+ gint length_insert;
+ gint length_delete;
+ gint cursor_position;
+ gint selection_bound;
+};
+
+struct _GtkEntryAccessibleClass
+{
+ GtkWidgetAccessibleClass parent_class;
+};
+
+GType _gtk_entry_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_ENTRY_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkexpanderaccessible.h"
+
+static void atk_action_interface_init (AtkActionIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkExpanderAccessible, _gtk_expander_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
+
+static const gchar *
+gtk_expander_accessible_get_full_text (GtkExpander *widget)
+{
+ GtkWidget *label_widget;
+
+ label_widget = gtk_expander_get_label_widget (widget);
+
+ if (!GTK_IS_LABEL (label_widget))
+ return NULL;
+
+ return gtk_label_get_text (GTK_LABEL (label_widget));
+}
+
+static const gchar *
+gtk_expander_accessible_get_name (AtkObject *obj)
+{
+ GtkWidget *widget;
+ const gchar *name;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ name = ATK_OBJECT_CLASS (_gtk_expander_accessible_parent_class)->get_name (obj);
+ if (name != NULL)
+ return name;
+
+ return gtk_expander_accessible_get_full_text (GTK_EXPANDER (widget));
+}
+
+static gint
+gtk_expander_accessible_get_n_children (AtkObject *obj)
+{
+ GtkWidget *widget;
+ GList *children;
+ gint count = 0;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return 0;
+
+ children = gtk_container_get_children (GTK_CONTAINER(widget));
+ count = g_list_length (children);
+ g_list_free (children);
+
+ /* See if there is a label - if there is, reduce our count by 1
+ * since we don't want the label included with the children.
+ */
+ if (gtk_expander_get_label_widget (GTK_EXPANDER (widget)))
+ count -= 1;
+
+ return count;
+}
+
+static AtkObject *
+gtk_expander_accessible_ref_child (AtkObject *obj,
+ gint i)
+{
+ GList *children, *tmp_list;
+ AtkObject *accessible;
+ GtkWidget *widget;
+ GtkWidget *label;
+ gint index;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ children = gtk_container_get_children (GTK_CONTAINER (widget));
+
+ /* See if there is a label - if there is, we need to skip it
+ * since we don't want the label included with the children.
+ */
+ label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
+ if (label)
+ {
+ for (index = 0; index <= i; index++)
+ {
+ tmp_list = g_list_nth (children, index);
+ if (label == GTK_WIDGET (tmp_list->data))
+ {
+ i += 1;
+ break;
+ }
+ }
+ }
+
+ tmp_list = g_list_nth (children, i);
+ if (!tmp_list)
+ {
+ g_list_free (children);
+ return NULL;
+ }
+ accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data));
+
+ g_list_free (children);
+ g_object_ref (accessible);
+ return accessible;
+}
+
+static void
+gtk_expander_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (_gtk_expander_accessible_parent_class)->initialize (obj, data);
+
+ obj->role = ATK_ROLE_TOGGLE_BUTTON;
+}
+
+static void
+gtk_expander_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ AtkObject* atk_obj;
+ GtkExpander *expander;
+
+ expander = GTK_EXPANDER (obj);
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (expander));
+;
+ if (g_strcmp0 (pspec->name, "label") == 0)
+ {
+ if (atk_obj->name == NULL)
+ g_object_notify (G_OBJECT (atk_obj), "accessible-name");
+ g_signal_emit_by_name (atk_obj, "visible-data-changed");
+ }
+ else if (g_strcmp0 (pspec->name, "expanded") == 0)
+ {
+ atk_object_notify_state_change (atk_obj, ATK_STATE_CHECKED,
+ gtk_expander_get_expanded (expander));
+ atk_object_notify_state_change (atk_obj, ATK_STATE_EXPANDED,
+ gtk_expander_get_expanded (expander));
+ g_signal_emit_by_name (atk_obj, "visible-data-changed");
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_expander_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+static AtkStateSet *
+gtk_expander_accessible_ref_state_set (AtkObject *obj)
+{
+ AtkStateSet *state_set;
+ GtkWidget *widget;
+ GtkExpander *expander;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_expander_accessible_parent_class)->ref_state_set (obj);
+
+ expander = GTK_EXPANDER (widget);
+
+ atk_state_set_add_state (state_set, ATK_STATE_EXPANDABLE);
+
+ if (gtk_expander_get_expanded (expander))
+ {
+ atk_state_set_add_state (state_set, ATK_STATE_CHECKED);
+ atk_state_set_add_state (state_set, ATK_STATE_EXPANDED);
+ }
+
+ return state_set;
+}
+
+static void
+_gtk_expander_accessible_class_init (GtkExpanderAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+
+ widget_class->notify_gtk = gtk_expander_accessible_notify_gtk;
+
+ class->get_name = gtk_expander_accessible_get_name;
+ class->get_n_children = gtk_expander_accessible_get_n_children;
+ class->ref_child = gtk_expander_accessible_ref_child;
+ class->ref_state_set = gtk_expander_accessible_ref_state_set;
+
+ class->initialize = gtk_expander_accessible_initialize;
+}
+
+static void
+_gtk_expander_accessible_init (GtkExpanderAccessible *expander)
+{
+}
+
+static gboolean
+gtk_expander_accessible_do_action (AtkAction *action,
+ gint i)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (widget == NULL)
+ return FALSE;
+
+ if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
+ return FALSE;
+
+ if (i != 0)
+ return FALSE;
+
+ gtk_widget_activate (widget);
+ return TRUE;
+}
+
+static gint
+gtk_expander_accessible_get_n_actions (AtkAction *action)
+{
+ return 1;
+}
+
+static const gchar *
+gtk_expander_accessible_get_keybinding (AtkAction *action,
+ gint i)
+{
+ gchar *return_value = NULL;
+ GtkWidget *widget;
+ GtkWidget *label;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (widget == NULL)
+ return NULL;
+
+ if (i != 0)
+ return NULL;
+
+ label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
+ if (GTK_IS_LABEL (label))
+ {
+ guint key_val;
+
+ key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
+ if (key_val != GDK_KEY_VoidSymbol)
+ return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
+ }
+
+ return return_value;
+}
+
+static const gchar *
+gtk_expander_accessible_action_get_name (AtkAction *action,
+ gint i)
+{
+ if (i != 0)
+ return NULL;
+
+ return "activate";
+}
+
+static void
+atk_action_interface_init (AtkActionIface *iface)
+{
+ iface->do_action = gtk_expander_accessible_do_action;
+ iface->get_n_actions = gtk_expander_accessible_get_n_actions;
+ iface->get_keybinding = gtk_expander_accessible_get_keybinding;
+ iface->get_name = gtk_expander_accessible_action_get_name;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_EXPANDER_ACCESSIBLE_H__
+#define __GTK_EXPANDER_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_EXPANDER_ACCESSIBLE (_gtk_expander_accessible_get_type ())
+#define GTK_EXPANDER_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EXPANDER_ACCESSIBLE, GtkExpanderAccessible))
+#define GTK_EXPANDER_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_EXPANDER_ACCESSIBLE, GtkExpanderAccessibleClass))
+#define GTK_IS_EXPANDER_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EXPANDER_ACCESSIBLE))
+#define GTK_IS_EXPANDER_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EXPANDER_ACCESSIBLE))
+#define GTK_EXPANDER_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_EXPANDER_ACCESSIBLE, GtkExpanderAccessibleClass))
+
+typedef struct _GtkExpanderAccessible GtkExpanderAccessible;
+typedef struct _GtkExpanderAccessibleClass GtkExpanderAccessibleClass;
+
+struct _GtkExpanderAccessible
+{
+ GtkContainerAccessible parent;
+};
+
+struct _GtkExpanderAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_expander_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_EXPANDER_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <gtk/gtk.h>
+#include "gtkframeaccessible.h"
+
+
+G_DEFINE_TYPE (GtkFrameAccessible, _gtk_frame_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE)
+
+static void
+gtk_frame_accessible_initialize (AtkObject *accessible,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (_gtk_frame_accessible_parent_class)->initialize (accessible, data);
+
+ accessible->role = ATK_ROLE_PANEL;
+}
+
+static const gchar *
+gtk_frame_accessible_get_name (AtkObject *obj)
+{
+ const gchar *name;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ name = ATK_OBJECT_CLASS (_gtk_frame_accessible_parent_class)->get_name (obj);
+ if (name != NULL)
+ return name;
+
+ return gtk_frame_get_label (GTK_FRAME (widget));
+}
+
+static void
+_gtk_frame_accessible_class_init (GtkFrameAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ class->initialize = gtk_frame_accessible_initialize;
+ class->get_name = gtk_frame_accessible_get_name;
+}
+
+static void
+_gtk_frame_accessible_init (GtkFrameAccessible *frame)
+{
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_FRAME_ACCESSIBLE_H__
+#define __GTK_FRAME_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_FRAME_ACCESSIBLE (_gtk_frame_accessible_get_type ())
+#define GTK_FRAME_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FRAME_ACCESSIBLE, GtkFrameAccessible))
+#define GTK_FRAME_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FRAME_ACCESSIBLE, GtkFrameAccessibleClass))
+#define GTK_IS_FRAME_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FRAME_ACCESSIBLE))
+#define GTK_IS_FRAME_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FRAME_ACCESSIBLE))
+#define GTK_FRAME_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_FRAME_ACCESSIBLE, GtkFrameAccessibleClass))
+
+typedef struct _GtkFrameAccessible GtkFrameAccessible;
+typedef struct _GtkFrameAccessibleClass GtkFrameAccessibleClass;
+
+struct _GtkFrameAccessible
+{
+ GtkContainerAccessible parent;
+};
+
+struct _GtkFrameAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_frame_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_FRAME_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <gtk/gtk.h>
+#include "gtkimageaccessible.h"
+
+
+static void atk_image_interface_init (AtkImageIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkImageAccessible, _gtk_image_accessible, GTK_TYPE_WIDGET_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init))
+
+static void
+gtk_image_accessible_initialize (AtkObject *accessible,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (_gtk_image_accessible_parent_class)->initialize (accessible, data);
+
+ accessible->role = ATK_ROLE_ICON;
+}
+
+static void
+gtk_image_accessible_finalize (GObject *object)
+{
+ GtkImageAccessible *aimage = GTK_IMAGE_ACCESSIBLE (object);
+
+ g_free (aimage->image_description);
+ g_free (aimage->stock_name);
+
+ G_OBJECT_CLASS (_gtk_image_accessible_parent_class)->finalize (object);
+}
+
+static const gchar *
+gtk_image_accessible_get_name (AtkObject *accessible)
+{
+ GtkWidget* widget;
+ GtkImage *image;
+ GtkImageAccessible *image_accessible;
+ GtkStockItem stock_item;
+ gchar *stock_id;
+ const gchar *name;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return NULL;
+
+ name = ATK_OBJECT_CLASS (_gtk_image_accessible_parent_class)->get_name (accessible);
+ if (name)
+ return name;
+
+ image = GTK_IMAGE (widget);
+ image_accessible = GTK_IMAGE_ACCESSIBLE (accessible);
+
+ g_free (image_accessible->stock_name);
+ image_accessible->stock_name = NULL;
+
+ if (gtk_image_get_storage_type (image) != GTK_IMAGE_STOCK)
+ return NULL;
+
+ gtk_image_get_stock (image, &stock_id, NULL);
+ if (stock_id == NULL)
+ return NULL;
+
+ if (!gtk_stock_lookup (stock_id, &stock_item))
+ return NULL;
+
+ image_accessible->stock_name = _gtk_toolbar_elide_underscores (stock_item.label);
+ return image_accessible->stock_name;
+}
+
+static void
+_gtk_image_accessible_class_init (GtkImageAccessibleClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ gobject_class->finalize = gtk_image_accessible_finalize;
+ class->initialize = gtk_image_accessible_initialize;
+ class->get_name = gtk_image_accessible_get_name;
+}
+
+static void
+_gtk_image_accessible_init (GtkImageAccessible *image)
+{
+}
+
+static const gchar *
+gtk_image_accessible_get_image_description (AtkImage *image)
+{
+ GtkImageAccessible *accessible = GTK_IMAGE_ACCESSIBLE (image);
+
+ return accessible->image_description;
+}
+
+static void
+gtk_image_accessible_get_image_position (AtkImage *image,
+ gint *x,
+ gint *y,
+ AtkCoordType coord_type)
+{
+ atk_component_get_position (ATK_COMPONENT (image), x, y, coord_type);
+}
+
+static void
+gtk_image_accessible_get_image_size (AtkImage *image,
+ gint *width,
+ gint *height)
+{
+ GtkWidget* widget;
+ GtkImage *gtk_image;
+ GtkImageType image_type;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
+ if (widget == NULL)
+ {
+ *height = -1;
+ *width = -1;
+ return;
+ }
+
+ gtk_image = GTK_IMAGE (widget);
+
+ image_type = gtk_image_get_storage_type (gtk_image);
+ switch (image_type)
+ {
+ case GTK_IMAGE_PIXBUF:
+ {
+ GdkPixbuf *pixbuf;
+
+ pixbuf = gtk_image_get_pixbuf (gtk_image);
+ *height = gdk_pixbuf_get_height (pixbuf);
+ *width = gdk_pixbuf_get_width (pixbuf);
+ break;
+ }
+ case GTK_IMAGE_STOCK:
+ case GTK_IMAGE_ICON_SET:
+ case GTK_IMAGE_ICON_NAME:
+ case GTK_IMAGE_GICON:
+ {
+ GtkIconSize size;
+ GtkSettings *settings;
+
+ settings = gtk_settings_get_for_screen (gtk_widget_get_screen (widget));
+
+ g_object_get (gtk_image, "icon-size", &size, NULL);
+ gtk_icon_size_lookup_for_settings (settings, size, width, height);
+ break;
+ }
+ case GTK_IMAGE_ANIMATION:
+ {
+ GdkPixbufAnimation *animation;
+
+ animation = gtk_image_get_animation (gtk_image);
+ *height = gdk_pixbuf_animation_get_height (animation);
+ *width = gdk_pixbuf_animation_get_width (animation);
+ break;
+ }
+ default:
+ {
+ *height = -1;
+ *width = -1;
+ break;
+ }
+ }
+}
+
+static gboolean
+gtk_image_accessible_set_image_description (AtkImage *image,
+ const gchar *description)
+{
+ GtkImageAccessible* accessible = GTK_IMAGE_ACCESSIBLE (image);
+
+ g_free (accessible->image_description);
+ accessible->image_description = g_strdup (description);
+
+ return TRUE;
+}
+
+static void
+atk_image_interface_init (AtkImageIface *iface)
+{
+ iface->get_image_description = gtk_image_accessible_get_image_description;
+ iface->get_image_position = gtk_image_accessible_get_image_position;
+ iface->get_image_size = gtk_image_accessible_get_image_size;
+ iface->set_image_description = gtk_image_accessible_set_image_description;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_IMAGE_ACCESSIBLE_H__
+#define __GTK_IMAGE_ACCESSIBLE_H__
+
+#include "gtkwidgetaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_IMAGE_ACCESSIBLE (_gtk_image_accessible_get_type ())
+#define GTK_IMAGE_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_IMAGE_ACCESSIBLE, GtkImageAccessible))
+#define GTK_IMAGE_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_IMAGE_ACCESSIBLE, GtkImageAccessibleClass))
+#define GTK_IS_IMAGE_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_IMAGE_ACCESSIBLE))
+#define GTK_IS_IMAGE_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMAGE_ACCESSIBLE))
+#define GTK_IMAGE_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_IMAGE_ACCESSIBLE, GtkImageAccessibleClass))
+
+typedef struct _GtkImageAccessible GtkImageAccessible;
+typedef struct _GtkImageAccessibleClass GtkImageAccessibleClass;
+
+struct _GtkImageAccessible
+{
+ GtkWidgetAccessible parent;
+
+ gchar* image_description;
+ gchar* stock_name;
+};
+
+struct _GtkImageAccessibleClass
+{
+ GtkWidgetAccessibleClass parent_class;
+};
+
+GType _gtk_image_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_IMAGE_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Enabling Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkimagecellaccessible.h"
+
+static gchar *property_list[] = {
+ "pixbuf",
+ NULL
+};
+
+static void atk_image_interface_init (AtkImageIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkImageCellAccessible, _gtk_image_cell_accessible, GTK_TYPE_RENDERER_CELL_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init))
+
+static void
+gtk_image_cell_accessible_finalize (GObject *object)
+{
+ GtkImageCellAccessible *image_cell = GTK_IMAGE_CELL_ACCESSIBLE (object);
+
+ g_free (image_cell->image_description);
+ G_OBJECT_CLASS (_gtk_image_cell_accessible_parent_class)->finalize (object);
+}
+
+static gboolean
+gtk_image_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
+ gboolean emit_change_signal)
+{
+ return FALSE;
+}
+
+static void
+_gtk_image_cell_accessible_class_init (GtkImageCellAccessibleClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GtkRendererCellAccessibleClass *renderer_cell_class = GTK_RENDERER_CELL_ACCESSIBLE_CLASS (klass);
+
+ gobject_class->finalize = gtk_image_cell_accessible_finalize;
+
+ renderer_cell_class->update_cache = gtk_image_cell_accessible_update_cache;
+ renderer_cell_class->property_list = property_list;
+}
+
+AtkObject *
+_gtk_image_cell_accessible_new (void)
+{
+ GObject *object;
+ AtkObject *atk_object;
+ GtkRendererCellAccessible *cell;
+
+ object = g_object_new (GTK_TYPE_IMAGE_CELL_ACCESSIBLE, NULL);
+
+ g_return_val_if_fail (object != NULL, NULL);
+
+ atk_object = ATK_OBJECT (object);
+ atk_object->role = ATK_ROLE_TABLE_CELL;
+
+ cell = GTK_RENDERER_CELL_ACCESSIBLE (object);
+
+ cell->renderer = gtk_cell_renderer_pixbuf_new ();
+ g_object_ref_sink (cell->renderer);
+
+ return atk_object;
+}
+
+static void
+_gtk_image_cell_accessible_init (GtkImageCellAccessible *image_cell)
+{
+ image_cell->image_description = NULL;
+}
+
+static const gchar *
+gtk_image_cell_accessible_get_image_description (AtkImage *image)
+{
+ GtkImageCellAccessible *image_cell = GTK_IMAGE_CELL_ACCESSIBLE (image);
+
+ return image_cell->image_description;
+}
+
+static gboolean
+gtk_image_cell_accessible_set_image_description (AtkImage *image,
+ const gchar *description)
+{
+ GtkImageCellAccessible *image_cell = GTK_IMAGE_CELL_ACCESSIBLE (image);
+
+ g_free (image_cell->image_description);
+ image_cell->image_description = g_strdup (description);
+
+ if (image_cell->image_description)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static void
+gtk_image_cell_accessible_get_image_position (AtkImage *image,
+ gint *x,
+ gint *y,
+ AtkCoordType coord_type)
+{
+ atk_component_get_position (ATK_COMPONENT (image), x, y, coord_type);
+}
+
+static void
+gtk_image_cell_accessible_get_image_size (AtkImage *image,
+ gint *width,
+ gint *height)
+{
+ GtkImageCellAccessible *cell = GTK_IMAGE_CELL_ACCESSIBLE (image);
+ GtkCellRenderer *cell_renderer;
+ GdkPixbuf *pixbuf = NULL;
+
+ cell_renderer = GTK_RENDERER_CELL_ACCESSIBLE (cell)->renderer;
+ g_object_get (GTK_CELL_RENDERER_PIXBUF (cell_renderer),
+ "pixbuf", &pixbuf,
+ NULL);
+
+ if (pixbuf)
+ {
+ *width = gdk_pixbuf_get_width (pixbuf);
+ *height = gdk_pixbuf_get_height (pixbuf);
+ g_object_unref (pixbuf);
+ }
+}
+
+static void
+atk_image_interface_init (AtkImageIface *iface)
+{
+ iface->get_image_description = gtk_image_cell_accessible_get_image_description;
+ iface->set_image_description = gtk_image_cell_accessible_set_image_description;
+ iface->get_image_position = gtk_image_cell_accessible_get_image_position;
+ iface->get_image_size = gtk_image_cell_accessible_get_image_size;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Enabling Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_IMAGE_CELL_ACCESSIBLE_H__
+#define __GTK_IMAGE_CELL_ACCESSIBLE_H__
+
+#include <atk/atk.h>
+#include "gtkrenderercellaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_IMAGE_CELL_ACCESSIBLE (_gtk_image_cell_accessible_get_type ())
+#define GTK_IMAGE_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_IMAGE_CELL_ACCESSIBLE, GtkImageCellAccessible))
+#define GTK_IMAGE_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_IMAGE_CELL_ACCESSIBLE, GtkImageCellAccessibleClass))
+#define GTK_IS_IMAGE_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_IMAGE_CELL_ACCESSIBLE))
+#define GTK_IS_IMAGE_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMAGE_CELL_ACCESSIBLE))
+#define GTK_IMAGE_CELL_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_IMAGE_CELL_ACCESSIBLE, GtkImageCellAccessibleClass))
+
+typedef struct _GtkImageCellAccessible GtkImageCellAccessible;
+typedef struct _GtkImageCellAccessibleClass GtkImageCellAccessibleClass;
+
+struct _GtkImageCellAccessible
+{
+ GtkRendererCellAccessible parent;
+
+ gchar *image_description;
+ gint x, y;
+};
+
+struct _GtkImageCellAccessibleClass
+{
+ GtkRendererCellAccessibleClass parent_class;
+};
+
+GType _gtk_image_cell_accessible_get_type (void);
+AtkObject *_gtk_image_cell_accessible_new (void);
+
+G_END_DECLS
+
+#endif /* __GTK_IMAGE_CELL_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Enabling Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include <gtk/gtkpango.h>
+#include "gtklabelaccessible.h"
+
+
+static void atk_text_interface_init (AtkTextIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkLabelAccessible, _gtk_label_accessible, GTK_TYPE_WIDGET_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
+
+static void
+_gtk_label_accessible_init (GtkLabelAccessible *label)
+{
+}
+
+static void
+gtk_label_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkWidget *widget;
+ GtkLabelAccessible *accessible;
+
+ ATK_OBJECT_CLASS (_gtk_label_accessible_parent_class)->initialize (obj, data);
+
+ accessible = GTK_LABEL_ACCESSIBLE (obj);
+
+ widget = GTK_WIDGET (data);
+
+ accessible->text = g_strdup (gtk_label_get_text (GTK_LABEL (widget)));
+
+ /*
+ * Check whether ancestor of GtkLabel is a GtkButton and if so
+ * set accessible parent for GtkLabelAccessible
+ */
+ while (widget != NULL)
+ {
+ widget = gtk_widget_get_parent (widget);
+ if (GTK_IS_BUTTON (widget))
+ {
+ atk_object_set_parent (obj, gtk_widget_get_accessible (widget));
+ break;
+ }
+ }
+
+ obj->role = ATK_ROLE_LABEL;
+}
+
+static gboolean
+check_for_selection_change (GtkLabelAccessible *accessible,
+ GtkLabel *label)
+{
+ gboolean ret_val = FALSE;
+ gint start, end;
+
+ if (gtk_label_get_selection_bounds (label, &start, &end))
+ {
+ if (end != accessible->cursor_position ||
+ start != accessible->selection_bound)
+ ret_val = TRUE;
+ }
+ else
+ {
+ ret_val = (accessible->cursor_position != accessible->selection_bound);
+ }
+
+ accessible->cursor_position = end;
+ accessible->selection_bound = start;
+
+ return ret_val;
+}
+
+
+static void
+gtk_label_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkWidget *widget = GTK_WIDGET (obj);
+ AtkObject* atk_obj = gtk_widget_get_accessible (widget);
+ GtkLabelAccessible *accessible;
+ gint length;
+
+ accessible = GTK_LABEL_ACCESSIBLE (atk_obj);
+
+ if (g_strcmp0 (pspec->name, "label") == 0)
+ {
+ const gchar *text;
+
+ text = gtk_label_get_text (GTK_LABEL (widget));
+ if (g_strcmp0 (accessible->text, text) == 0)
+ return;
+
+ /* Create a delete text and an insert text signal */
+ length = g_utf8_strlen (accessible->text, -1);
+ if (length > 0)
+ g_signal_emit_by_name (atk_obj, "text-changed::delete", 0, length);
+
+ g_free (accessible->text);
+ accessible->text = g_strdup (text);
+
+ length = g_utf8_strlen (accessible->text, -1);
+ if (length > 0)
+ g_signal_emit_by_name (atk_obj, "text-changed::insert", 0, length);
+
+ if (atk_obj->name == NULL)
+ /* The label has changed so notify a change in accessible-name */
+ g_object_notify (G_OBJECT (atk_obj), "accessible-name");
+
+ g_signal_emit_by_name (atk_obj, "visible-data-changed");
+ }
+ else if (g_strcmp0 (pspec->name, "cursor-position") == 0)
+ {
+ g_signal_emit_by_name (atk_obj, "text-caret-moved",
+ _gtk_label_get_cursor_position (GTK_LABEL (widget)));
+ if (check_for_selection_change (accessible, GTK_LABEL (widget)))
+ g_signal_emit_by_name (atk_obj, "text-selection-changed");
+ }
+ else if (g_strcmp0 (pspec->name, "selection-bound") == 0)
+ {
+ if (check_for_selection_change (accessible, GTK_LABEL (widget)))
+ g_signal_emit_by_name (atk_obj, "text-selection-changed");
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_label_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+static void
+gtk_label_accessible_finalize (GObject *object)
+{
+ GtkLabelAccessible *accessible = GTK_LABEL_ACCESSIBLE (object);
+
+ g_free (accessible->text);
+
+ G_OBJECT_CLASS (_gtk_label_accessible_parent_class)->finalize (object);
+}
+
+
+/* atkobject.h */
+
+static AtkStateSet *
+gtk_label_accessible_ref_state_set (AtkObject *accessible)
+{
+ AtkStateSet *state_set;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return NULL;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_label_accessible_parent_class)->ref_state_set (accessible);
+ atk_state_set_add_state (state_set, ATK_STATE_MULTI_LINE);
+
+ return state_set;
+}
+
+static AtkRelationSet *
+gtk_label_accessible_ref_relation_set (AtkObject *obj)
+{
+ GtkWidget *widget;
+ AtkRelationSet *relation_set;
+
+ g_return_val_if_fail (GTK_IS_LABEL_ACCESSIBLE (obj), NULL);
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ relation_set = ATK_OBJECT_CLASS (_gtk_label_accessible_parent_class)->ref_relation_set (obj);
+
+ if (!atk_relation_set_contains (relation_set, ATK_RELATION_LABEL_FOR))
+ {
+ /* Get the mnemonic widget.
+ * The relation set is not updated if the mnemonic widget is changed
+ */
+ GtkWidget *mnemonic_widget;
+
+ mnemonic_widget = gtk_label_get_mnemonic_widget (GTK_LABEL (widget));
+
+ if (mnemonic_widget)
+ {
+ AtkObject *accessible_array[1];
+ AtkRelation* relation;
+
+ if (!gtk_widget_get_can_focus (mnemonic_widget))
+ {
+ /*
+ * Handle the case where a GtkFileChooserButton is specified
+ * as the mnemonic widget. use the combobox which is a child of the
+ * GtkFileChooserButton as the mnemonic widget. See bug #359843.
+ */
+ if (GTK_IS_BOX (mnemonic_widget))
+ {
+ GList *list, *tmpl;
+
+ list = gtk_container_get_children (GTK_CONTAINER (mnemonic_widget));
+ if (g_list_length (list) == 2)
+ {
+ tmpl = g_list_last (list);
+ if (GTK_IS_COMBO_BOX(tmpl->data))
+ {
+ mnemonic_widget = GTK_WIDGET(tmpl->data);
+ }
+ }
+ g_list_free (list);
+ }
+ }
+ accessible_array[0] = gtk_widget_get_accessible (mnemonic_widget);
+ relation = atk_relation_new (accessible_array, 1,
+ ATK_RELATION_LABEL_FOR);
+ atk_relation_set_add (relation_set, relation);
+ /*
+ * Unref the relation so that it is not leaked.
+ */
+ g_object_unref (relation);
+ }
+ }
+ return relation_set;
+}
+
+static const gchar*
+gtk_label_accessible_get_name (AtkObject *accessible)
+{
+ const gchar *name;
+
+ g_return_val_if_fail (GTK_IS_LABEL_ACCESSIBLE (accessible), NULL);
+
+ name = ATK_OBJECT_CLASS (_gtk_label_accessible_parent_class)->get_name (accessible);
+ if (name != NULL)
+ return name;
+ else
+ {
+ /*
+ * Get the text on the label
+ */
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return NULL;
+
+ g_return_val_if_fail (GTK_IS_LABEL (widget), NULL);
+
+ return gtk_label_get_text (GTK_LABEL (widget));
+ }
+}
+
+static void
+_gtk_label_accessible_class_init (GtkLabelAccessibleClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+
+ gobject_class->finalize = gtk_label_accessible_finalize;
+
+ widget_class->notify_gtk = gtk_label_accessible_notify_gtk;
+
+ class->get_name = gtk_label_accessible_get_name;
+ class->ref_state_set = gtk_label_accessible_ref_state_set;
+ class->ref_relation_set = gtk_label_accessible_ref_relation_set;
+ class->initialize = gtk_label_accessible_initialize;
+}
+
+/* atktext.h */
+
+static gchar*
+gtk_label_accessible_get_text (AtkText *atk_text,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkWidget *widget;
+ const gchar *text;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
+ if (widget == NULL)
+ return NULL;
+
+ text = gtk_label_get_text (GTK_LABEL (widget));
+
+ if (text)
+ return g_utf8_substring (text, start_pos, end_pos > -1 ? end_pos : g_utf8_strlen (text, -1));
+
+ return NULL;
+}
+
+static gchar *
+gtk_label_accessible_get_text_before_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ return _gtk_pango_get_text_before (gtk_label_get_layout (GTK_LABEL (widget)),
+ boundary_type, offset,
+ start_offset, end_offset);
+}
+
+static gchar*
+gtk_label_accessible_get_text_at_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ return _gtk_pango_get_text_at (gtk_label_get_layout (GTK_LABEL (widget)),
+ boundary_type, offset,
+ start_offset, end_offset);
+}
+
+static gchar*
+gtk_label_accessible_get_text_after_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ return _gtk_pango_get_text_after (gtk_label_get_layout (GTK_LABEL (widget)),
+ boundary_type, offset,
+ start_offset, end_offset);
+}
+
+static gint
+gtk_label_accessible_get_character_count (AtkText *atk_text)
+{
+ GtkWidget *widget;
+ const gchar *text;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
+ if (widget == NULL)
+ return 0;
+
+ text = gtk_label_get_text (GTK_LABEL (widget));
+
+ if (text)
+ return g_utf8_strlen (text, -1);
+
+ return 0;
+}
+
+static gint
+gtk_label_accessible_get_caret_offset (AtkText *text)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return 0;
+
+ return _gtk_label_get_cursor_position (GTK_LABEL (widget));
+}
+
+static gboolean
+gtk_label_accessible_set_caret_offset (AtkText *text,
+ gint offset)
+{
+ GtkWidget *widget;
+ GtkLabel *label;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ label = GTK_LABEL (widget);
+
+ if (!gtk_label_get_selectable (label))
+ return FALSE;
+
+ gtk_label_select_region (label, offset, offset);
+
+ return TRUE;
+}
+
+static gint
+gtk_label_accessible_get_n_selections (AtkText *text)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return 0;
+
+ if (gtk_label_get_selection_bounds (GTK_LABEL (widget), NULL, NULL))
+ return 1;
+
+ return 0;
+}
+
+static gchar *
+gtk_label_accessible_get_selection (AtkText *atk_text,
+ gint selection_num,
+ gint *start_pos,
+ gint *end_pos)
+{
+ GtkWidget *widget;
+ GtkLabel *label;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
+ if (widget == NULL)
+ return NULL;
+
+ if (selection_num != 0)
+ return NULL;
+
+ label = GTK_LABEL (widget);
+
+ if (gtk_label_get_selection_bounds (label, start_pos, end_pos))
+ {
+ const gchar *text;
+
+ text = gtk_label_get_text (label);
+
+ if (text)
+ return g_utf8_substring (text, *start_pos, *end_pos);
+ }
+
+ return NULL;
+}
+
+static gboolean
+gtk_label_accessible_add_selection (AtkText *text,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkWidget *widget;
+ GtkLabel *label;
+ gint start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ label = GTK_LABEL (widget);
+
+ if (!gtk_label_get_selectable (label))
+ return FALSE;
+
+ if (!gtk_label_get_selection_bounds (label, &start, &end))
+ {
+ gtk_label_select_region (label, start_pos, end_pos);
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+static gboolean
+gtk_label_accessible_remove_selection (AtkText *text,
+ gint selection_num)
+{
+ GtkWidget *widget;
+ GtkLabel *label;
+ gint start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ if (selection_num != 0)
+ return FALSE;
+
+ label = GTK_LABEL (widget);
+
+ if (!gtk_label_get_selectable (label))
+ return FALSE;
+
+ if (gtk_label_get_selection_bounds (label, &start, &end))
+ {
+ gtk_label_select_region (label, end, end);
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+static gboolean
+gtk_label_accessible_set_selection (AtkText *text,
+ gint selection_num,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkWidget *widget;
+ GtkLabel *label;
+ gint start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ if (selection_num != 0)
+ return FALSE;
+
+ label = GTK_LABEL (widget);
+
+ if (!gtk_label_get_selectable (label))
+ return FALSE;
+
+ if (gtk_label_get_selection_bounds (label, &start, &end))
+ {
+ gtk_label_select_region (label, start_pos, end_pos);
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+static void
+gtk_label_accessible_get_character_extents (AtkText *text,
+ gint offset,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coords)
+{
+ GtkWidget *widget;
+ GtkLabel *label;
+ PangoRectangle char_rect;
+ const gchar *label_text;
+ gint index, x_layout, y_layout;
+ GdkWindow *window;
+ gint x_window, y_window;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ label = GTK_LABEL (widget);
+
+ gtk_label_get_layout_offsets (label, &x_layout, &y_layout);
+ label_text = gtk_label_get_text (label);
+ index = g_utf8_offset_to_pointer (label_text, offset) - label_text;
+ pango_layout_index_to_pos (gtk_label_get_layout (label), index, &char_rect);
+ pango_extents_to_pixels (&char_rect, NULL);
+
+ window = gtk_widget_get_window (widget);
+ gdk_window_get_origin (window, &x_window, &y_window);
+
+ *x = x_window + x_layout + char_rect.x;
+ *y = x_window + y_layout + char_rect.y;
+ *width = char_rect.width;
+ *height = char_rect.height;
+
+ if (coords == ATK_XY_WINDOW)
+ {
+ window = gdk_window_get_toplevel (window);
+ gdk_window_get_origin (window, &x_window, &y_window);
+
+ *x -= x_window;
+ *y -= y_window;
+ }
+}
+
+static gint
+gtk_label_accessible_get_offset_at_point (AtkText *atk_text,
+ gint x,
+ gint y,
+ AtkCoordType coords)
+{
+ GtkWidget *widget;
+ GtkLabel *label;
+ const gchar *text;
+ gint index, x_layout, y_layout;
+ gint x_window, y_window;
+ gint x_local, y_local;
+ GdkWindow *window;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
+ if (widget == NULL)
+ return -1;
+
+ label = GTK_LABEL (widget);
+
+ gtk_label_get_layout_offsets (label, &x_layout, &y_layout);
+
+ window = gtk_widget_get_window (widget);
+ gdk_window_get_origin (window, &x_window, &y_window);
+
+ x_local = x - x_layout - x_window;
+ y_local = y - y_layout - y_window;
+
+ if (coords == ATK_XY_WINDOW)
+ {
+ window = gdk_window_get_toplevel (window);
+ gdk_window_get_origin (window, &x_window, &y_window);
+
+ x_local += x_window;
+ y_local += y_window;
+ }
+
+ if (!pango_layout_xy_to_index (gtk_label_get_layout (label),
+ x_local * PANGO_SCALE,
+ y_local * PANGO_SCALE,
+ &index, NULL))
+ {
+ if (x_local < 0 || y_local < 0)
+ index = 0;
+ else
+ index = -1;
+ }
+
+ if (index != -1)
+ {
+ text = gtk_label_get_text (label);
+ return g_utf8_pointer_to_offset (text, text + index);
+ }
+
+ return -1;
+}
+
+static AtkAttributeSet *
+add_attribute (AtkAttributeSet *attributes,
+ AtkTextAttribute attr,
+ const gchar *value)
+{
+ AtkAttribute *at;
+
+ at = g_new (AtkAttribute, 1);
+ at->name = g_strdup (atk_text_attribute_get_name (attr));
+ at->value = g_strdup (value);
+
+ return g_slist_prepend (attributes, at);
+}
+
+static AtkAttributeSet*
+gtk_label_accessible_get_run_attributes (AtkText *text,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkWidget *widget;
+ AtkAttributeSet *attributes;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ attributes = NULL;
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_DIRECTION,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION,
+ gtk_widget_get_direction (widget)));
+ attributes = _gtk_pango_get_run_attributes (attributes,
+ gtk_label_get_layout (GTK_LABEL (widget)),
+ offset,
+ start_offset,
+ end_offset);
+
+ return attributes;
+}
+
+static AtkAttributeSet *
+gtk_label_accessible_get_default_attributes (AtkText *text)
+{
+ GtkWidget *widget;
+ AtkAttributeSet *attributes;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ attributes = NULL;
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_DIRECTION,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION,
+ gtk_widget_get_direction (widget)));
+ attributes = _gtk_pango_get_default_attributes (attributes,
+ gtk_label_get_layout (GTK_LABEL (widget)));
+ attributes = _gtk_style_context_get_attributes (attributes,
+ gtk_widget_get_style_context (widget),
+ gtk_widget_get_state_flags (widget));
+
+ return attributes;
+}
+
+static gunichar
+gtk_label_accessible_get_character_at_offset (AtkText *atk_text,
+ gint offset)
+{
+ GtkWidget *widget;
+ const gchar *text;
+ gchar *index;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
+ if (widget == NULL)
+ return '\0';
+
+ text = gtk_label_get_text (GTK_LABEL (widget));
+ if (offset >= g_utf8_strlen (text, -1))
+ return '\0';
+
+ index = g_utf8_offset_to_pointer (text, offset);
+
+ return g_utf8_get_char (index);
+}
+
+static void
+atk_text_interface_init (AtkTextIface *iface)
+{
+ iface->get_text = gtk_label_accessible_get_text;
+ iface->get_character_at_offset = gtk_label_accessible_get_character_at_offset;
+ iface->get_text_before_offset = gtk_label_accessible_get_text_before_offset;
+ iface->get_text_at_offset = gtk_label_accessible_get_text_at_offset;
+ iface->get_text_after_offset = gtk_label_accessible_get_text_after_offset;
+ iface->get_character_count = gtk_label_accessible_get_character_count;
+ iface->get_caret_offset = gtk_label_accessible_get_caret_offset;
+ iface->set_caret_offset = gtk_label_accessible_set_caret_offset;
+ iface->get_n_selections = gtk_label_accessible_get_n_selections;
+ iface->get_selection = gtk_label_accessible_get_selection;
+ iface->add_selection = gtk_label_accessible_add_selection;
+ iface->remove_selection = gtk_label_accessible_remove_selection;
+ iface->set_selection = gtk_label_accessible_set_selection;
+ iface->get_character_extents = gtk_label_accessible_get_character_extents;
+ iface->get_offset_at_point = gtk_label_accessible_get_offset_at_point;
+ iface->get_run_attributes = gtk_label_accessible_get_run_attributes;
+ iface->get_default_attributes = gtk_label_accessible_get_default_attributes;
+}
+
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_LABEL_ACCESSIBLE_H__
+#define __GTK_LABEL_ACCESSIBLE_H__
+
+#include "gtkwidgetaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_LABEL_ACCESSIBLE (_gtk_label_accessible_get_type ())
+#define GTK_LABEL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_LABEL_ACCESSIBLE, GtkLabelAccessible))
+#define GTK_LABEL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_LABEL_ACCESSIBLE, GtkLabelAccessibleClass))
+#define GTK_IS_LABEL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_LABEL_ACCESSIBLE))
+#define GTK_IS_LABEL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LABEL_ACCESSIBLE))
+#define GTK_LABEL_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_LABEL_ACCESSIBLE, GtkLabelAccessibleClass))
+
+typedef struct _GtkLabelAccessible GtkLabelAccessible;
+typedef struct _GtkLabelAccessibleClass GtkLabelAccessibleClass;
+
+struct _GtkLabelAccessible
+{
+ GtkWidgetAccessible parent;
+
+ gchar *text;
+ gint cursor_position;
+ gint selection_bound;
+};
+
+struct _GtkLabelAccessibleClass
+{
+ GtkWidgetAccessibleClass parent_class;
+};
+
+GType _gtk_label_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_LABEL_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtklinkbuttonaccessible.h"
+
+typedef struct _GtkLinkButtonAccessibleLink GtkLinkButtonAccessibleLink;
+typedef struct _GtkLinkButtonAccessibleLinkClass GtkLinkButtonAccessibleLinkClass;
+
+struct _GtkLinkButtonAccessibleLink
+{
+ AtkHyperlink parent;
+
+ GtkLinkButtonAccessible *button;
+};
+
+struct _GtkLinkButtonAccessibleLinkClass
+{
+ AtkHyperlinkClass parent_class;
+};
+
+static void atk_action_interface_init (AtkActionIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkLinkButtonAccessibleLink, _gtk_link_button_accessible_link, ATK_TYPE_HYPERLINK,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
+
+static AtkHyperlink *
+gtk_link_button_accessible_link_new (GtkLinkButtonAccessible *button)
+{
+ GtkLinkButtonAccessibleLink *l;
+
+ l = g_object_new (_gtk_link_button_accessible_link_get_type (), NULL);
+ l->button = button;
+
+ return ATK_HYPERLINK (l);
+}
+
+static gchar *
+gtk_link_button_accessible_link_get_uri (AtkHyperlink *atk_link,
+ gint i)
+{
+ GtkLinkButtonAccessibleLink *l = (GtkLinkButtonAccessibleLink *)atk_link;
+ GtkWidget *widget;
+ const gchar *uri;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (l->button));
+ uri = gtk_link_button_get_uri (GTK_LINK_BUTTON (widget));
+
+ return g_strdup (uri);
+}
+
+static gint
+gtk_link_button_accessible_link_get_n_anchors (AtkHyperlink *atk_link)
+{
+ return 1;
+}
+
+static gboolean
+gtk_link_button_accessible_link_is_valid (AtkHyperlink *atk_link)
+{
+ return TRUE;
+}
+
+static AtkObject *
+gtk_link_button_accessible_link_get_object (AtkHyperlink *atk_link,
+ gint i)
+{
+ GtkLinkButtonAccessibleLink *l = (GtkLinkButtonAccessibleLink *)atk_link;
+
+ return ATK_OBJECT (l->button);
+}
+
+static gint
+gtk_link_button_accessible_link_get_start_index (AtkHyperlink *atk_link)
+{
+ return 0;
+}
+
+static gint
+gtk_link_button_accessible_link_get_end_index (AtkHyperlink *atk_link)
+{
+ GtkLinkButtonAccessibleLink *l = (GtkLinkButtonAccessibleLink *)atk_link;
+
+ return atk_text_get_character_count (ATK_TEXT (l->button));
+}
+
+static void
+_gtk_link_button_accessible_link_init (GtkLinkButtonAccessibleLink *l)
+{
+}
+
+static void
+_gtk_link_button_accessible_link_class_init (GtkLinkButtonAccessibleLinkClass *class)
+{
+ AtkHyperlinkClass *atk_link_class = ATK_HYPERLINK_CLASS (class);
+
+ atk_link_class->get_uri = gtk_link_button_accessible_link_get_uri;
+ atk_link_class->get_n_anchors = gtk_link_button_accessible_link_get_n_anchors;
+ atk_link_class->is_valid = gtk_link_button_accessible_link_is_valid;
+ atk_link_class->get_object = gtk_link_button_accessible_link_get_object;
+ atk_link_class->get_start_index = gtk_link_button_accessible_link_get_start_index;
+ atk_link_class->get_end_index = gtk_link_button_accessible_link_get_end_index;
+}
+
+static gboolean
+gtk_link_button_accessible_link_do_action (AtkAction *action,
+ gint i)
+{
+ GtkLinkButtonAccessibleLink *l = (GtkLinkButtonAccessibleLink *)action;
+ GtkWidget *widget;
+
+ widget = GTK_WIDGET (l->button);
+ if (widget == NULL)
+ return FALSE;
+
+ if (i != 0)
+ return FALSE;
+
+ if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
+ return FALSE;
+
+ gtk_button_clicked (GTK_BUTTON (widget));
+
+ return TRUE;
+}
+
+static gint
+gtk_link_button_accessible_link_get_n_actions (AtkAction *action)
+{
+ return 1;
+}
+
+static const gchar *
+gtk_link_button_accessible_link_get_name (AtkAction *action,
+ gint i)
+{
+ if (i != 0)
+ return NULL;
+
+ return "activate";
+}
+
+static void
+atk_action_interface_init (AtkActionIface *iface)
+{
+ iface->do_action = gtk_link_button_accessible_link_do_action;
+ iface->get_n_actions = gtk_link_button_accessible_link_get_n_actions;
+ iface->get_name = gtk_link_button_accessible_link_get_name;
+}
+
+static gboolean
+activate_link (GtkLinkButton *button,
+ AtkHyperlink *atk_link)
+{
+ g_signal_emit_by_name (atk_link, "link-activated");
+
+ return FALSE;
+}
+
+static AtkHyperlink *
+gtk_link_button_accessible_get_hyperlink (AtkHyperlinkImpl *impl)
+{
+ GtkLinkButtonAccessible *button = GTK_LINK_BUTTON_ACCESSIBLE (impl);
+
+ if (!button->link)
+ {
+ button->link = gtk_link_button_accessible_link_new (button);
+ g_signal_connect (gtk_accessible_get_widget (GTK_ACCESSIBLE (button)),
+ "activate-link", G_CALLBACK (activate_link), button->link);
+ }
+
+ return g_object_ref (button->link);
+}
+
+static void atk_hypertext_impl_interface_init (AtkHyperlinkImplIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkLinkButtonAccessible, _gtk_link_button_accessible, GTK_TYPE_BUTTON_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_HYPERLINK_IMPL, atk_hypertext_impl_interface_init))
+
+static void
+_gtk_link_button_accessible_init (GtkLinkButtonAccessible *button)
+{
+}
+
+static void
+gtk_link_button_accessible_finalize (GObject *object)
+{
+ GtkLinkButtonAccessible *button = GTK_LINK_BUTTON_ACCESSIBLE (object);
+
+ if (button->link)
+ g_object_unref (button->link);
+
+ G_OBJECT_CLASS (_gtk_link_button_accessible_parent_class)->finalize (object);
+}
+
+static void
+_gtk_link_button_accessible_class_init (GtkLinkButtonAccessibleClass *klass)
+{
+ G_OBJECT_CLASS (klass)->finalize = gtk_link_button_accessible_finalize;
+}
+
+static void
+atk_hypertext_impl_interface_init (AtkHyperlinkImplIface *iface)
+{
+ iface->get_hyperlink = gtk_link_button_accessible_get_hyperlink;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_LINK_BUTTON_ACCESSIBLE_H__
+#define __GTK_LINK_BUTTON_ACCESSIBLE_H__
+
+#include "gtkbuttonaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_LINK_BUTTON_ACCESSIBLE (_gtk_link_button_accessible_get_type ())
+#define GTK_LINK_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_LINK_BUTTON_ACCESSIBLE, GtkLinkButtonAccessible))
+#define GTK_LINK_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_LINK_BUTTON_ACCESSIBLE, GtkLinkButtonAccessibleClass))
+#define GTK_IS_LINK_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_LINK_BUTTON_ACCESSIBLE))
+#define GTK_IS_LINK_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LINK_BUTTON_ACCESSIBLE))
+#define GTK_LINK_BUTTON_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_LINK_BUTTON_ACCESSIBLE, GtkLinkButtonAccessibleClass))
+
+typedef struct _GtkLinkButtonAccessible GtkLinkButtonAccessible;
+typedef struct _GtkLinkButtonAccessibleClass GtkLinkButtonAccessibleClass;
+
+struct _GtkLinkButtonAccessible
+{
+ GtkButtonAccessible parent;
+
+ AtkHyperlink *link;
+};
+
+struct _GtkLinkButtonAccessibleClass
+{
+ GtkButtonAccessibleClass parent_class;
+};
+
+GType _gtk_link_button_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_LINK_BUTTON_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include "gtkmenuaccessible.h"
+
+
+G_DEFINE_TYPE (GtkMenuAccessible, _gtk_menu_accessible, GTK_TYPE_MENU_SHELL_ACCESSIBLE)
+
+static void
+gtk_menu_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (_gtk_menu_accessible_parent_class)->initialize (obj, data);
+
+ obj->role = ATK_ROLE_MENU;
+
+ GTK_WIDGET_ACCESSIBLE (obj)->layer = ATK_LAYER_POPUP;
+}
+
+static AtkObject *
+gtk_menu_accessible_get_parent (AtkObject *accessible)
+{
+ AtkObject *parent;
+ GtkWidget *widget, *parent_widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return NULL;
+
+ parent = accessible->accessible_parent;
+ if (parent != NULL)
+ return parent;
+
+ /* If the menu is attached to a menu item or a button (Gnome Menu)
+ * report the menu item as parent.
+ */
+ parent_widget = gtk_menu_get_attach_widget (GTK_MENU (widget));
+
+ if (!GTK_IS_MENU_ITEM (parent_widget) &&
+ !GTK_IS_BUTTON (parent_widget) &&
+ !GTK_IS_COMBO_BOX (parent_widget))
+ parent_widget = gtk_widget_get_parent (widget);
+
+ if (parent_widget == NULL)
+ return NULL;
+
+ parent = gtk_widget_get_accessible (parent_widget);
+ atk_object_set_parent (accessible, parent);
+
+ return parent;
+}
+
+static gint
+gtk_menu_accessible_get_index_in_parent (AtkObject *accessible)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return -1;
+
+ if (gtk_menu_get_attach_widget (GTK_MENU (widget)))
+ return 0;
+
+ return ATK_OBJECT_CLASS (_gtk_menu_accessible_parent_class)->get_index_in_parent (accessible);
+}
+
+static void
+_gtk_menu_accessible_class_init (GtkMenuAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ class->get_parent = gtk_menu_accessible_get_parent;
+ class->get_index_in_parent = gtk_menu_accessible_get_index_in_parent;
+ class->initialize = gtk_menu_accessible_initialize;
+}
+
+static void
+_gtk_menu_accessible_init (GtkMenuAccessible *accessible)
+{
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_MENU_ACCESSIBLE_H__
+#define __GTK_MENU_ACCESSIBLE_H__
+
+#include "gtkmenushellaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_MENU_ACCESSIBLE (_gtk_menu_accessible_get_type ())
+#define GTK_MENU_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MENU_ACCESSIBLE, GtkMenuAccessible))
+#define GTK_MENU_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_ACCESSIBLE, GtkMenuAccessibleClass))
+#define GTK_IS_MENU_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MENU_ACCESSIBLE))
+#define GTK_IS_MENU_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_ACCESSIBLE))
+#define GTK_MENU_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_MENU_ACCESSIBLE, GtkMenuAccessibleClass))
+
+typedef struct _GtkMenuAccessible GtkMenuAccessible;
+typedef struct _GtkMenuAccessibleClass GtkMenuAccessibleClass;
+
+struct _GtkMenuAccessible
+{
+ GtkMenuShellAccessible parent;
+};
+
+struct _GtkMenuAccessibleClass
+{
+ GtkMenuShellAccessibleClass parent_class;
+};
+
+GType _gtk_menu_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_MENU_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <string.h>
+#include <gtk/gtk.h>
+#include "gtkmenuitemaccessible.h"
+#include "gtk/gtkmenuitemprivate.h"
+
+#define KEYBINDING_SEPARATOR ";"
+
+static void menu_item_select (GtkMenuItem *item);
+static void menu_item_deselect (GtkMenuItem *item);
+
+static GtkWidget *get_label_from_container (GtkWidget *container);
+static gchar *get_text_from_label_widget (GtkWidget *widget);
+
+static gint menu_item_add_gtk (GtkContainer *container,
+ GtkWidget *widget);
+static gint menu_item_remove_gtk (GtkContainer *container,
+ GtkWidget *widget);
+
+static void atk_action_interface_init (AtkActionIface *iface);
+static void atk_selection_interface_init (AtkSelectionIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkMenuItemAccessible, _gtk_menu_item_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init);
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
+
+static void
+gtk_menu_item_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkWidget *widget;
+ GtkWidget *parent;
+ GtkWidget *menu;
+
+ ATK_OBJECT_CLASS (_gtk_menu_item_accessible_parent_class)->initialize (obj, data);
+
+ g_signal_connect (data, "select", G_CALLBACK (menu_item_select), NULL);
+ g_signal_connect (data, "deselect", G_CALLBACK (menu_item_deselect), NULL);
+
+ widget = GTK_WIDGET (data);
+ parent = gtk_widget_get_parent (widget);
+ if (GTK_IS_MENU (parent))
+ {
+ GtkWidget *parent_widget;
+
+ parent_widget = gtk_menu_get_attach_widget (GTK_MENU (parent));
+
+ if (!GTK_IS_MENU_ITEM (parent_widget))
+ parent_widget = gtk_widget_get_parent (widget);
+ if (parent_widget)
+ atk_object_set_parent (obj, gtk_widget_get_accessible (parent_widget));
+ }
+
+ GTK_WIDGET_ACCESSIBLE (obj)->layer = ATK_LAYER_POPUP;
+
+ obj->role = ATK_ROLE_MENU_ITEM;
+
+ menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (data));
+ if (menu)
+ {
+ g_signal_connect (menu, "add", G_CALLBACK (menu_item_add_gtk), NULL);
+ g_signal_connect (menu, "remove", G_CALLBACK (menu_item_remove_gtk), NULL);
+ }
+}
+
+static gint
+gtk_menu_item_accessible_get_n_children (AtkObject *obj)
+{
+ GtkWidget *widget;
+ GtkWidget *submenu;
+ gint count = 0;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return count;
+
+ submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
+ if (submenu)
+ {
+ GList *children;
+
+ children = gtk_container_get_children (GTK_CONTAINER (submenu));
+ count = g_list_length (children);
+ g_list_free (children);
+ }
+ return count;
+}
+
+static AtkObject *
+gtk_menu_item_accessible_ref_child (AtkObject *obj,
+ gint i)
+{
+ AtkObject *accessible;
+ GtkWidget *widget;
+ GtkWidget *submenu;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ accessible = NULL;
+ submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
+ if (submenu)
+ {
+ GList *children;
+ GList *tmp_list;
+
+ children = gtk_container_get_children (GTK_CONTAINER (submenu));
+ tmp_list = g_list_nth (children, i);
+ if (tmp_list)
+ {
+ accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data));
+ g_object_ref (accessible);
+ }
+ g_list_free (children);
+ }
+
+ return accessible;
+}
+
+static AtkStateSet *
+gtk_menu_item_accessible_ref_state_set (AtkObject *obj)
+{
+ AtkObject *menu_item;
+ AtkStateSet *state_set, *parent_state_set;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_menu_item_accessible_parent_class)->ref_state_set (obj);
+
+ menu_item = atk_object_get_parent (obj);
+
+ if (menu_item)
+ {
+ if (!GTK_IS_MENU_ITEM (gtk_accessible_get_widget (GTK_ACCESSIBLE (menu_item))))
+ return state_set;
+
+ parent_state_set = atk_object_ref_state_set (menu_item);
+ if (!atk_state_set_contains_state (parent_state_set, ATK_STATE_SELECTED))
+ {
+ atk_state_set_remove_state (state_set, ATK_STATE_FOCUSED);
+ atk_state_set_remove_state (state_set, ATK_STATE_SHOWING);
+ }
+ g_object_unref (parent_state_set);
+ }
+
+ return state_set;
+}
+
+static AtkRole
+gtk_menu_item_accessible_get_role (AtkObject *obj)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget != NULL &&
+ gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget)))
+ return ATK_ROLE_MENU;
+
+ return ATK_OBJECT_CLASS (_gtk_menu_item_accessible_parent_class)->get_role (obj);
+}
+
+static const gchar *
+gtk_menu_item_accessible_get_name (AtkObject *obj)
+{
+ const gchar *name;
+ GtkWidget *widget;
+ GtkWidget *label;
+ GtkMenuItemAccessible *accessible;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ name = ATK_OBJECT_CLASS (_gtk_menu_item_accessible_parent_class)->get_name (obj);
+ if (name)
+ return name;
+
+ accessible = GTK_MENU_ITEM_ACCESSIBLE (obj);
+ label = get_label_from_container (widget);
+
+ g_free (accessible->text);
+ accessible->text = get_text_from_label_widget (label);
+
+ return accessible->text;
+}
+
+static void
+gtk_menu_item_accessible_finalize (GObject *object)
+{
+ GtkMenuItemAccessible *accessible = GTK_MENU_ITEM_ACCESSIBLE (object);
+
+ g_free (accessible->text);
+
+ G_OBJECT_CLASS (_gtk_menu_item_accessible_parent_class)->finalize (object);
+}
+
+static void
+gtk_menu_item_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ AtkObject* atk_obj;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (obj));
+
+ if (strcmp (pspec->name, "label") == 0)
+ {
+ if (atk_obj->name == NULL)
+ g_object_notify (G_OBJECT (atk_obj), "accessible-name");
+ g_signal_emit_by_name (atk_obj, "visible-data-changed");
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_menu_item_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+static void
+_gtk_menu_item_accessible_class_init (GtkMenuItemAccessibleClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+
+ widget_class->notify_gtk = gtk_menu_item_accessible_notify_gtk;
+
+ gobject_class->finalize = gtk_menu_item_accessible_finalize;
+
+ class->get_n_children = gtk_menu_item_accessible_get_n_children;
+ class->ref_child = gtk_menu_item_accessible_ref_child;
+ class->ref_state_set = gtk_menu_item_accessible_ref_state_set;
+ class->initialize = gtk_menu_item_accessible_initialize;
+ class->get_name = gtk_menu_item_accessible_get_name;
+ class->get_role = gtk_menu_item_accessible_get_role;
+}
+
+static void
+_gtk_menu_item_accessible_init (GtkMenuItemAccessible *menu_item)
+{
+}
+
+static GtkWidget *
+get_label_from_container (GtkWidget *container)
+{
+ GtkWidget *label;
+ GList *children, *tmp_list;
+
+ if (!GTK_IS_CONTAINER (container))
+ return NULL;
+
+ children = gtk_container_get_children (GTK_CONTAINER (container));
+ label = NULL;
+
+ for (tmp_list = children; tmp_list != NULL; tmp_list = tmp_list->next)
+ {
+ if (GTK_IS_LABEL (tmp_list->data))
+ {
+ label = tmp_list->data;
+ break;
+ }
+ else if (GTK_IS_CELL_VIEW (tmp_list->data))
+ {
+ label = tmp_list->data;
+ break;
+ }
+ else if (GTK_IS_BOX (tmp_list->data))
+ {
+ label = get_label_from_container (GTK_WIDGET (tmp_list->data));
+ if (label)
+ break;
+ }
+ }
+ g_list_free (children);
+
+ return label;
+}
+
+static gchar *
+get_text_from_label_widget (GtkWidget *label)
+{
+ if (GTK_IS_LABEL (label))
+ return g_strdup (gtk_label_get_text (GTK_LABEL (label)));
+ else if (GTK_IS_CELL_VIEW (label))
+ {
+ GList *cells, *l;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ GtkTreePath *path;
+ GtkCellArea *area;
+ gchar *text;
+
+ model = gtk_cell_view_get_model (GTK_CELL_VIEW (label));
+ path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (label));
+ gtk_tree_model_get_iter (model, &iter, path);
+ gtk_tree_path_free (path);
+
+ area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (label));
+ gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE);
+ cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (label));
+
+ text = NULL;
+ for (l = cells; l; l = l->next)
+ {
+ GtkCellRenderer *cell = l->data;
+
+ if (GTK_IS_CELL_RENDERER_TEXT (cell))
+ {
+ g_object_get (cell, "text", &text, NULL);
+ break;
+ }
+ }
+
+ g_list_free (cells);
+
+ return text;
+ }
+
+ return NULL;
+}
+
+static void
+ensure_menus_unposted (GtkMenuItemAccessible *menu_item)
+{
+ AtkObject *parent;
+ GtkWidget *widget;
+
+ parent = atk_object_get_parent (ATK_OBJECT (menu_item));
+ while (parent)
+ {
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
+ if (GTK_IS_MENU (widget))
+ {
+ if (gtk_widget_get_mapped (widget))
+ gtk_menu_shell_cancel (GTK_MENU_SHELL (widget));
+
+ return;
+ }
+ parent = atk_object_get_parent (parent);
+ }
+}
+
+static gboolean
+gtk_menu_item_accessible_do_action (AtkAction *action,
+ gint i)
+{
+ GtkWidget *item, *item_parent;
+ gboolean item_mapped;
+
+ item = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (item == NULL)
+ return FALSE;
+
+ if (i != 0)
+ return FALSE;
+
+ if (!gtk_widget_get_sensitive (item) || !gtk_widget_get_visible (item))
+ return FALSE;
+
+ item_parent = gtk_widget_get_parent (item);
+ if (!GTK_IS_MENU_SHELL (item_parent))
+ return FALSE;
+
+ gtk_menu_shell_select_item (GTK_MENU_SHELL (item_parent), item);
+ item_mapped = gtk_widget_get_mapped (item);
+
+ /* This is what is called when <Return> is pressed for a menu item.
+ * The last argument means 'force hide'.
+ */
+ g_signal_emit_by_name (item_parent, "activate-current", 1);
+ if (!item_mapped)
+ ensure_menus_unposted (GTK_MENU_ITEM_ACCESSIBLE (action));
+
+ return TRUE;
+}
+
+static gint
+gtk_menu_item_accessible_get_n_actions (AtkAction *action)
+{
+ GtkWidget *item;
+
+ item = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (item == NULL)
+ return 0;
+
+ if (!_gtk_menu_item_is_selectable (item))
+ return 0;
+
+ return 1;
+}
+
+static const gchar *
+gtk_menu_item_accessible_action_get_name (AtkAction *action,
+ gint i)
+{
+ if (i != 0 || gtk_menu_item_accessible_get_n_actions (action) == 0)
+ return NULL;
+
+ return "click";
+}
+
+static gboolean
+find_accel_by_widget (GtkAccelKey *key,
+ GClosure *closure,
+ gpointer data)
+{
+ /* We assume that closure->data points to the widget
+ * pending gtk_widget_get_accel_closures being made public
+ */
+ return data == (gpointer) closure->data;
+}
+
+static gboolean
+find_accel_by_closure (GtkAccelKey *key,
+ GClosure *closure,
+ gpointer data)
+{
+ return data == (gpointer) closure;
+}
+
+/* This function returns a string of the form A;B;C where A is
+ * the keybinding for the widget; B is the keybinding to traverse
+ * from the menubar and C is the accelerator. The items in the
+ * keybinding to traverse from the menubar are separated by ":".
+ */
+static const gchar *
+gtk_menu_item_accessible_get_keybinding (AtkAction *action,
+ gint i)
+{
+ gchar *keybinding = NULL;
+ gchar *item_keybinding = NULL;
+ gchar *full_keybinding = NULL;
+ gchar *accelerator = NULL;
+ GtkWidget *item;
+ GtkWidget *temp_item;
+ GtkWidget *child;
+ GtkWidget *parent;
+
+ item = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (item == NULL)
+ return NULL;
+
+ if (i != 0)
+ return NULL;
+
+ temp_item = item;
+ while (TRUE)
+ {
+ GdkModifierType mnemonic_modifier = 0;
+ guint key_val;
+ gchar *key, *temp_keybinding;
+
+ child = gtk_bin_get_child (GTK_BIN (temp_item));
+ if (child == NULL)
+ return NULL;
+
+ parent = gtk_widget_get_parent (temp_item);
+ if (!parent)
+ /* parent can be NULL when activating a window from the panel */
+ return NULL;
+
+ if (GTK_IS_MENU_BAR (parent))
+ {
+ GtkWidget *toplevel;
+
+ toplevel = gtk_widget_get_toplevel (parent);
+ if (toplevel && GTK_IS_WINDOW (toplevel))
+ mnemonic_modifier =
+ gtk_window_get_mnemonic_modifier (GTK_WINDOW (toplevel));
+ }
+
+ if (GTK_IS_LABEL (child))
+ {
+ key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (child));
+ if (key_val != GDK_KEY_VoidSymbol)
+ {
+ key = gtk_accelerator_name (key_val, mnemonic_modifier);
+ if (full_keybinding)
+ temp_keybinding = g_strconcat (key, ":", full_keybinding, NULL);
+ else
+ temp_keybinding = g_strdup (key);
+
+ if (temp_item == item)
+ item_keybinding = g_strdup (key);
+
+ g_free (key);
+ g_free (full_keybinding);
+ full_keybinding = temp_keybinding;
+ }
+ else
+ {
+ /* No keybinding */
+ g_free (full_keybinding);
+ full_keybinding = NULL;
+ break;
+ }
+ }
+
+ /* We have reached the menu bar so we are finished */
+ if (GTK_IS_MENU_BAR (parent))
+ break;
+
+ g_return_val_if_fail (GTK_IS_MENU (parent), NULL);
+ temp_item = gtk_menu_get_attach_widget (GTK_MENU (parent));
+ if (!GTK_IS_MENU_ITEM (temp_item))
+ {
+ /* Menu is attached to something other than a menu item;
+ * probably an option menu
+ */
+ g_free (full_keybinding);
+ full_keybinding = NULL;
+ break;
+ }
+ }
+
+ parent = gtk_widget_get_parent (item);
+ if (GTK_IS_MENU (parent))
+ {
+ GtkAccelGroup *group;
+ GtkAccelKey *key;
+
+ group = gtk_menu_get_accel_group (GTK_MENU (parent));
+ if (group)
+ key = gtk_accel_group_find (group, find_accel_by_widget, item);
+ else
+ {
+ key = NULL;
+ child = gtk_bin_get_child (GTK_BIN (item));
+ if (GTK_IS_ACCEL_LABEL (child))
+ {
+ GtkAccelLabel *accel_label;
+ GClosure *accel_closure;
+
+ accel_label = GTK_ACCEL_LABEL (child);
+ g_object_get (accel_label, "accel-closure", &accel_closure, NULL);
+ if (accel_closure)
+ {
+ key = gtk_accel_group_find (gtk_accel_group_from_accel_closure (accel_closure),
+ find_accel_by_closure,
+ accel_closure);
+ g_closure_unref (accel_closure);
+ }
+ }
+ }
+
+ if (key)
+ accelerator = gtk_accelerator_name (key->accel_key, key->accel_mods);
+ }
+
+ /* Concatenate the bindings */
+ if (item_keybinding || full_keybinding || accelerator)
+ {
+ gchar *temp;
+ if (item_keybinding)
+ {
+ keybinding = g_strconcat (item_keybinding, KEYBINDING_SEPARATOR, NULL);
+ g_free (item_keybinding);
+ }
+ else
+ keybinding = g_strdup (KEYBINDING_SEPARATOR);
+
+ if (full_keybinding)
+ {
+ temp = g_strconcat (keybinding, full_keybinding,
+ KEYBINDING_SEPARATOR, NULL);
+ g_free (full_keybinding);
+ }
+ else
+ temp = g_strconcat (keybinding, KEYBINDING_SEPARATOR, NULL);
+
+ g_free (keybinding);
+ keybinding = temp;
+ if (accelerator)
+ {
+ temp = g_strconcat (keybinding, accelerator, NULL);
+ g_free (accelerator);
+ g_free (keybinding);
+ keybinding = temp;
+ }
+ }
+
+ return keybinding;
+}
+
+static void
+atk_action_interface_init (AtkActionIface *iface)
+{
+ iface->do_action = gtk_menu_item_accessible_do_action;
+ iface->get_n_actions = gtk_menu_item_accessible_get_n_actions;
+ iface->get_name = gtk_menu_item_accessible_action_get_name;
+ iface->get_keybinding = gtk_menu_item_accessible_get_keybinding;
+}
+
+static void
+menu_item_selection (GtkMenuItem *item,
+ gboolean selected)
+{
+ AtkObject *obj, *parent;
+ gint i;
+
+ obj = gtk_widget_get_accessible (GTK_WIDGET (item));
+ atk_object_notify_state_change (obj, ATK_STATE_SELECTED, selected);
+
+ for (i = 0; i < atk_object_get_n_accessible_children (obj); i++)
+ {
+ AtkObject *child;
+ child = atk_object_ref_accessible_child (obj, i);
+ atk_object_notify_state_change (child, ATK_STATE_SHOWING, selected);
+ g_object_unref (child);
+ }
+ parent = atk_object_get_parent (obj);
+ g_signal_emit_by_name (parent, "selection-changed");
+}
+
+static gboolean
+gtk_menu_item_accessible_add_selection (AtkSelection *selection,
+ gint i)
+{
+ GtkMenuShell *shell;
+ GList *kids;
+ guint length;
+ GtkWidget *widget;
+ GtkWidget *menu;
+ GtkWidget *child;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
+ if (menu == NULL)
+ return FALSE;
+
+ shell = GTK_MENU_SHELL (menu);
+ kids = gtk_container_get_children (GTK_CONTAINER (shell));
+ length = g_list_length (kids);
+ if (i < 0 || i > length)
+ {
+ g_list_free (kids);
+ return FALSE;
+ }
+
+ child = g_list_nth_data (kids, i);
+ g_list_free (kids);
+ g_return_val_if_fail (GTK_IS_MENU_ITEM (child), FALSE);
+ gtk_menu_shell_select_item (shell, GTK_WIDGET (child));
+ return TRUE;
+}
+
+static gboolean
+gtk_menu_item_accessible_clear_selection (AtkSelection *selection)
+{
+ GtkWidget *widget;
+ GtkWidget *menu;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
+ if (menu == NULL)
+ return FALSE;
+
+ gtk_menu_shell_deselect (GTK_MENU_SHELL (menu));
+
+ return TRUE;
+}
+
+static AtkObject *
+gtk_menu_item_accessible_ref_selection (AtkSelection *selection,
+ gint i)
+{
+ GtkMenuShell *shell;
+ AtkObject *obj;
+ GtkWidget *widget;
+ GtkWidget *menu;
+ GtkWidget *item;
+
+ if (i != 0)
+ return NULL;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return NULL;
+
+ menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
+ if (menu == NULL)
+ return NULL;
+
+ shell = GTK_MENU_SHELL (menu);
+
+ item = gtk_menu_shell_get_selected_item (shell);
+ if (item != NULL)
+ {
+ obj = gtk_widget_get_accessible (item);
+ g_object_ref (obj);
+ return obj;
+ }
+
+ return NULL;
+}
+
+static gint
+gtk_menu_item_accessible_get_selection_count (AtkSelection *selection)
+{
+ GtkMenuShell *shell;
+ GtkWidget *widget;
+ GtkWidget *menu;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return 0;
+
+ menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
+ if (menu == NULL)
+ return 0;
+
+ shell = GTK_MENU_SHELL (menu);
+
+ if (gtk_menu_shell_get_selected_item (shell) != NULL)
+ return 1;
+
+ return 0;
+}
+
+static gboolean
+gtk_menu_item_accessible_is_child_selected (AtkSelection *selection,
+ gint i)
+{
+ GtkMenuShell *shell;
+ gint j;
+ GtkWidget *widget;
+ GtkWidget *menu;
+ GtkWidget *item;
+ GList *kids;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
+ if (menu == NULL)
+ return FALSE;
+
+ shell = GTK_MENU_SHELL (menu);
+
+ item = gtk_menu_shell_get_selected_item (shell);
+ if (item == NULL)
+ return FALSE;
+
+ kids = gtk_container_get_children (GTK_CONTAINER (shell));
+ j = g_list_index (kids, item);
+ g_list_free (kids);
+
+ return j==i;
+}
+
+static gboolean
+gtk_menu_item_accessible_remove_selection (AtkSelection *selection,
+ gint i)
+{
+ GtkMenuShell *shell;
+ GtkWidget *widget;
+ GtkWidget *menu;
+ GtkWidget *item;
+
+ if (i != 0)
+ return FALSE;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
+ if (menu == NULL)
+ return FALSE;
+
+ shell = GTK_MENU_SHELL (menu);
+
+ item = gtk_menu_shell_get_selected_item (shell);
+ if (item && gtk_menu_item_get_submenu (GTK_MENU_ITEM (item)))
+ gtk_menu_shell_deselect (shell);
+
+ return TRUE;
+}
+
+static void
+atk_selection_interface_init (AtkSelectionIface *iface)
+{
+ iface->add_selection = gtk_menu_item_accessible_add_selection;
+ iface->clear_selection = gtk_menu_item_accessible_clear_selection;
+ iface->ref_selection = gtk_menu_item_accessible_ref_selection;
+ iface->get_selection_count = gtk_menu_item_accessible_get_selection_count;
+ iface->is_child_selected = gtk_menu_item_accessible_is_child_selected;
+ iface->remove_selection = gtk_menu_item_accessible_remove_selection;
+}
+
+static gint
+menu_item_add_gtk (GtkContainer *container,
+ GtkWidget *widget)
+{
+ GtkWidget *parent_widget;
+ AtkObject *atk_parent;
+ AtkObject *atk_child;
+ GtkContainerAccessible *container_accessible;
+ gint index;
+
+ g_return_val_if_fail (GTK_IS_MENU (container), 1);
+
+ parent_widget = gtk_menu_get_attach_widget (GTK_MENU (container));
+ if (GTK_IS_MENU_ITEM (parent_widget))
+ {
+ atk_parent = gtk_widget_get_accessible (parent_widget);
+ atk_child = gtk_widget_get_accessible (widget);
+
+ g_object_notify (G_OBJECT (atk_child), "accessible-parent");
+ container_accessible = GTK_CONTAINER_ACCESSIBLE (atk_parent);
+ g_list_free (container_accessible->children);
+ container_accessible->children = gtk_container_get_children (container);
+ index = g_list_index (container_accessible->children, widget);
+ g_signal_emit_by_name (atk_parent, "children-changed::add",
+ index, atk_child, NULL);
+ }
+ return 1;
+}
+
+static gint
+menu_item_remove_gtk (GtkContainer *container,
+ GtkWidget *widget)
+{
+ GtkWidget *parent_widget;
+ AtkObject *atk_parent;
+ AtkObject *atk_child;
+ GtkContainerAccessible *container_accessible;
+ gint index;
+ gint list_length;
+
+ g_return_val_if_fail (GTK_IS_MENU (container), 1);
+
+ parent_widget = gtk_menu_get_attach_widget (GTK_MENU (container));
+ if (GTK_IS_MENU_ITEM (parent_widget))
+ {
+ atk_parent = gtk_widget_get_accessible (parent_widget);
+ atk_child = gtk_widget_get_accessible (widget);
+
+ g_object_notify (G_OBJECT (atk_child), "accessible-parent");
+
+ container_accessible = GTK_CONTAINER_ACCESSIBLE (atk_parent);
+ index = g_list_index (container_accessible->children, widget);
+ list_length = g_list_length (container_accessible->children);
+ g_list_free (container_accessible->children);
+ container_accessible->children = gtk_container_get_children (container);
+ if (index >= 0 && index <= list_length)
+ g_signal_emit_by_name (atk_parent, "children-changed::remove",
+ index, atk_child, NULL);
+ }
+ return 1;
+}
+static void
+menu_item_select (GtkMenuItem *item)
+{
+ menu_item_selection (item, TRUE);
+}
+
+static void
+menu_item_deselect (GtkMenuItem *item)
+{
+ menu_item_selection (item, FALSE);
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_MENU_ITEM_ACCESSIBLE_H__
+#define __GTK_MENU_ITEM_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_MENU_ITEM_ACCESSIBLE (_gtk_menu_item_accessible_get_type ())
+#define GTK_MENU_ITEM_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MENU_ITEM_ACCESSIBLE, GtkMenuItemAccessible))
+#define GTK_MENU_ITEM_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_ITEM_ACCESSIBLE, GtkMenuItemAccessibleClass))
+#define GTK_IS_MENU_ITEM_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MENU_ITEM_ACCESSIBLE))
+#define GTK_IS_MENU_ITEM_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_ITEM_ACCESSIBLE))
+#define GTK_MENU_ITEM_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_MENU_ITEM_ACCESSIBLE, GtkMenuItemAccessibleClass))
+
+typedef struct _GtkMenuItemAccessible GtkMenuItemAccessible;
+typedef struct _GtkMenuItemAccessibleClass GtkMenuItemAccessibleClass;
+
+struct _GtkMenuItemAccessible
+{
+ GtkContainerAccessible parent;
+
+ gchar *text;
+};
+
+struct _GtkMenuItemAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_menu_item_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_MENU_ITEM_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkmenushellaccessible.h"
+
+
+static void atk_selection_interface_init (AtkSelectionIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkMenuShellAccessible, _gtk_menu_shell_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
+
+static void
+gtk_menu_shell_accessible_initialize (AtkObject *accessible,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (_gtk_menu_shell_accessible_parent_class)->initialize (accessible, data);
+
+ accessible->role = ATK_ROLE_UNKNOWN;
+}
+
+static void
+_gtk_menu_shell_accessible_class_init (GtkMenuShellAccessibleClass *klass)
+{
+ AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
+
+ atk_object_class->initialize = gtk_menu_shell_accessible_initialize;
+}
+
+static void
+_gtk_menu_shell_accessible_init (GtkMenuShellAccessible *menu_shell)
+{
+}
+
+static gboolean
+gtk_menu_shell_accessible_add_selection (AtkSelection *selection,
+ gint i)
+{
+ GList *kids;
+ GtkWidget *item;
+ guint length;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ kids = gtk_container_get_children (GTK_CONTAINER (widget));
+ length = g_list_length (kids);
+ if (i < 0 || i > length)
+ {
+ g_list_free (kids);
+ return FALSE;
+ }
+
+ item = g_list_nth_data (kids, i);
+ g_list_free (kids);
+ g_return_val_if_fail (GTK_IS_MENU_ITEM (item), FALSE);
+ gtk_menu_shell_select_item (GTK_MENU_SHELL (widget), item);
+ return TRUE;
+}
+
+static gboolean
+gtk_menu_shell_accessible_clear_selection (AtkSelection *selection)
+{
+ GtkMenuShell *shell;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ shell = GTK_MENU_SHELL (widget);
+
+ gtk_menu_shell_deselect (shell);
+ return TRUE;
+}
+
+static AtkObject *
+gtk_menu_shell_accessible_ref_selection (AtkSelection *selection,
+ gint i)
+{
+ GtkMenuShell *shell;
+ AtkObject *obj;
+ GtkWidget *widget;
+ GtkWidget *item;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return NULL;
+
+ if (i != 0)
+ return NULL;
+
+ shell = GTK_MENU_SHELL (widget);
+
+ item = gtk_menu_shell_get_selected_item (shell);
+ if (item != NULL)
+ {
+ obj = gtk_widget_get_accessible (item);
+ g_object_ref (obj);
+ return obj;
+ }
+ return NULL;
+}
+
+static gint
+gtk_menu_shell_accessible_get_selection_count (AtkSelection *selection)
+{
+ GtkMenuShell *shell;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return 0;
+
+ shell = GTK_MENU_SHELL (widget);
+
+ if (gtk_menu_shell_get_selected_item (shell) != NULL)
+ return 1;
+
+ return 0;
+}
+
+static gboolean
+gtk_menu_shell_accessible_is_child_selected (AtkSelection *selection,
+ gint i)
+{
+ GtkMenuShell *shell;
+ GList *kids;
+ gint j;
+ GtkWidget *widget;
+ GtkWidget *item;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ shell = GTK_MENU_SHELL (widget);
+ item = gtk_menu_shell_get_selected_item (shell);
+ if (item == NULL)
+ return FALSE;
+
+ kids = gtk_container_get_children (GTK_CONTAINER (shell));
+ j = g_list_index (kids, item);
+ g_list_free (kids);
+
+ return j==i;
+}
+
+static gboolean
+gtk_menu_shell_accessible_remove_selection (AtkSelection *selection,
+ gint i)
+{
+ GtkMenuShell *shell;
+ GtkWidget *widget;
+ GtkWidget *item;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ if (i != 0)
+ return FALSE;
+
+ shell = GTK_MENU_SHELL (widget);
+
+ item = gtk_menu_shell_get_selected_item (shell);
+ if (item && gtk_menu_item_get_submenu (GTK_MENU_ITEM (item)))
+ gtk_menu_shell_deselect (shell);
+ return TRUE;
+}
+
+static void
+atk_selection_interface_init (AtkSelectionIface *iface)
+{
+ iface->add_selection = gtk_menu_shell_accessible_add_selection;
+ iface->clear_selection = gtk_menu_shell_accessible_clear_selection;
+ iface->ref_selection = gtk_menu_shell_accessible_ref_selection;
+ iface->get_selection_count = gtk_menu_shell_accessible_get_selection_count;
+ iface->is_child_selected = gtk_menu_shell_accessible_is_child_selected;
+ iface->remove_selection = gtk_menu_shell_accessible_remove_selection;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_MENU_SHELL_ACCESSIBLE_H__
+#define __GTK_MENU_SHELL_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_MENU_SHELL_ACCESSIBLE (_gtk_menu_shell_accessible_get_type ())
+#define GTK_MENU_SHELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MENU_SHELL_ACCESSIBLE, GtkMenuShellAccessible))
+#define GTK_MENU_SHELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_SHELL_ACCESSIBLE, GtkMenuShellAccessibleClass))
+#define GTK_IS_MENU_SHELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MENU_SHELL_ACCESSIBLE))
+#define GTK_IS_MENU_SHELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_SHELL_ACCESSIBLE))
+#define GTK_MENU_SHELL_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_MENU_SHELL_ACCESSIBLE, GtkMenuShellAccessibleClass))
+
+typedef struct _GtkMenuShellAccessible GtkMenuShellAccessible;
+typedef struct _GtkMenuShellAccessibleClass GtkMenuShellAccessibleClass;
+
+struct _GtkMenuShellAccessible
+{
+ GtkContainerAccessible parent;
+};
+
+struct _GtkMenuShellAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_menu_shell_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_MENU_SHELL_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <gtk/gtk.h>
+#include "gtknotebookaccessible.h"
+#include "gtknotebookpageaccessible.h"
+
+
+static void atk_selection_interface_init (AtkSelectionIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkNotebookAccessible, _gtk_notebook_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
+
+static gboolean
+check_focus_tab (gpointer data)
+{
+ GtkWidget *widget;
+ AtkObject *atk_obj;
+ gint focus_page_num, old_focus_page_num;
+ GtkNotebookAccessible *accessible;
+ GtkNotebook *notebook;
+
+ atk_obj = ATK_OBJECT (data);
+ accessible = GTK_NOTEBOOK_ACCESSIBLE (atk_obj);
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_obj));
+ notebook = GTK_NOTEBOOK (widget);
+
+ accessible->idle_focus_id = 0;
+
+ focus_page_num = gtk_notebook_get_current_page (notebook);
+ if (focus_page_num == -1)
+ return FALSE;
+
+ old_focus_page_num = accessible->focus_tab_page;
+ accessible->focus_tab_page = focus_page_num;
+ if (old_focus_page_num != focus_page_num)
+ {
+ AtkObject *obj;
+
+ obj = atk_object_ref_accessible_child (atk_obj, focus_page_num);
+ atk_focus_tracker_notify (obj);
+ g_object_unref (obj);
+ }
+
+ return FALSE;
+}
+
+static gboolean
+focus_cb (GtkWidget *widget,
+ GtkDirectionType type)
+{
+ AtkObject *atk_obj = gtk_widget_get_accessible (widget);
+ GtkNotebookAccessible *accessible = GTK_NOTEBOOK_ACCESSIBLE (atk_obj);
+
+ switch (type)
+ {
+ case GTK_DIR_LEFT:
+ case GTK_DIR_RIGHT:
+ if (accessible->idle_focus_id == 0)
+ accessible->idle_focus_id = gdk_threads_add_idle (check_focus_tab, atk_obj);
+ break;
+ default:
+ break;
+ }
+ return FALSE;
+}
+
+static void
+create_notebook_page_accessible (GtkNotebookAccessible *accessible,
+ GtkNotebook *notebook,
+ GtkWidget *child,
+ gint page_num)
+{
+ AtkObject *obj;
+
+ obj = _gtk_notebook_page_accessible_new (accessible, child);
+ g_hash_table_insert (accessible->pages, child, obj);
+ atk_object_set_parent (obj, ATK_OBJECT (accessible));
+ g_signal_emit_by_name (accessible, "children-changed::add", page_num, obj, NULL);
+}
+
+static void
+page_added_cb (GtkNotebook *notebook,
+ GtkWidget *child,
+ guint page_num,
+ gpointer data)
+{
+ AtkObject *atk_obj;
+ GtkNotebookAccessible *accessible;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (notebook));
+ accessible = GTK_NOTEBOOK_ACCESSIBLE (atk_obj);
+ create_notebook_page_accessible (accessible, notebook, child, page_num);
+}
+
+static void
+page_removed_cb (GtkNotebook *notebook,
+ GtkWidget *widget,
+ guint page_num,
+ gpointer data)
+{
+ GtkNotebookAccessible *accessible;
+ AtkObject *obj;
+
+ accessible = GTK_NOTEBOOK_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (notebook)));
+
+ obj = g_hash_table_lookup (accessible->pages, widget);
+ g_return_if_fail (obj);
+ g_signal_emit_by_name (accessible, "children-changed::remove",
+ page_num, obj, NULL);
+ _gtk_notebook_page_accessible_invalidate (GTK_NOTEBOOK_PAGE_ACCESSIBLE (obj));
+ g_hash_table_remove (accessible->pages, widget);
+}
+
+
+static void
+accessible_destroyed (gpointer data)
+{
+ GtkNotebookAccessible *accessible = GTK_NOTEBOOK_ACCESSIBLE (data);
+
+ if (accessible->idle_focus_id)
+ {
+ g_source_remove (accessible->idle_focus_id);
+ accessible->idle_focus_id = 0;
+ }
+}
+static void
+gtk_notebook_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkNotebookAccessible *accessible;
+ GtkNotebook *notebook;
+ gint i;
+
+ ATK_OBJECT_CLASS (_gtk_notebook_accessible_parent_class)->initialize (obj, data);
+
+ accessible = GTK_NOTEBOOK_ACCESSIBLE (obj);
+ notebook = GTK_NOTEBOOK (data);
+ for (i = 0; i < gtk_notebook_get_n_pages (notebook); i++)
+ {
+ create_notebook_page_accessible (accessible,
+ notebook,
+ gtk_notebook_get_nth_page (notebook, i),
+ i);
+ }
+ accessible->selected_page = gtk_notebook_get_current_page (notebook);
+
+ g_signal_connect (notebook, "focus",
+ G_CALLBACK (focus_cb), NULL);
+ g_signal_connect (notebook, "page-added",
+ G_CALLBACK (page_added_cb), NULL);
+ g_signal_connect (notebook, "page-removed",
+ G_CALLBACK (page_removed_cb), NULL);
+
+ g_object_weak_ref (G_OBJECT (notebook), (GWeakNotify)accessible_destroyed, obj);
+
+ obj->role = ATK_ROLE_PAGE_TAB_LIST;
+}
+
+static void
+gtk_notebook_accessible_finalize (GObject *object)
+{
+ GtkNotebookAccessible *accessible = GTK_NOTEBOOK_ACCESSIBLE (object);
+
+ g_hash_table_destroy (accessible->pages);
+
+ if (accessible->idle_focus_id)
+ g_source_remove (accessible->idle_focus_id);
+
+ G_OBJECT_CLASS (_gtk_notebook_accessible_parent_class)->finalize (object);
+}
+
+static AtkObject *
+gtk_notebook_accessible_ref_child (AtkObject *obj,
+ gint i)
+{
+ AtkObject *child;
+ GtkNotebookAccessible *accessible;
+ GtkNotebook *notebook;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ accessible = GTK_NOTEBOOK_ACCESSIBLE (obj);
+ notebook = GTK_NOTEBOOK (widget);
+
+ child = g_hash_table_lookup (accessible->pages,
+ gtk_notebook_get_nth_page (notebook, i));
+ /* can return NULL when i >= n_children */
+
+ if (child)
+ g_object_ref (child);
+
+ return child;
+}
+
+static void
+gtk_notebook_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkWidget *widget;
+ AtkObject* atk_obj;
+
+ widget = GTK_WIDGET (obj);
+ atk_obj = gtk_widget_get_accessible (widget);
+
+ if (strcmp (pspec->name, "page") == 0)
+ {
+ gint page_num, old_page_num;
+ gint focus_page_num = 0;
+ gint old_focus_page_num;
+ GtkNotebookAccessible *accessible;
+ GtkNotebook *notebook;
+
+ accessible = GTK_NOTEBOOK_ACCESSIBLE (atk_obj);
+ notebook = GTK_NOTEBOOK (widget);
+
+ /* Notify SELECTED state change for old and new page */
+ old_page_num = accessible->selected_page;
+ page_num = gtk_notebook_get_current_page (notebook);
+ accessible->selected_page = page_num;
+ accessible->focus_tab_page = page_num;
+ old_focus_page_num = accessible->focus_tab_page;
+
+ if (page_num != old_page_num)
+ {
+ AtkObject *child;
+
+ if (old_page_num != -1)
+ {
+ child = gtk_notebook_accessible_ref_child (atk_obj, old_page_num);
+ if (child)
+ {
+ atk_object_notify_state_change (child, ATK_STATE_SELECTED, FALSE);
+ g_object_unref (child);
+ }
+ }
+ child = gtk_notebook_accessible_ref_child (atk_obj, page_num);
+ if (child)
+ {
+ atk_object_notify_state_change (child, ATK_STATE_SELECTED, TRUE);
+ g_object_unref (child);
+ /*
+ * The page which is being displayed has changed but there is
+ * no need to tell the focus tracker as the focus page will also
+ * change or a widget in the page will receive focus if the
+ * Notebook does not have tabs.
+ */
+ }
+ g_signal_emit_by_name (atk_obj, "selection-changed");
+ g_signal_emit_by_name (atk_obj, "visible-data-changed");
+ }
+ if (gtk_notebook_get_show_tabs (notebook) &&
+ (focus_page_num != old_focus_page_num))
+ {
+ if (accessible->idle_focus_id)
+ g_source_remove (accessible->idle_focus_id);
+ accessible->idle_focus_id = gdk_threads_add_idle (check_focus_tab, atk_obj);
+ }
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_notebook_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+/*
+ * GtkNotebook only supports the selection of one page at a time.
+ * Selecting a page unselects any previous selection, so this
+ * changes the current selection instead of adding to it.
+ */
+static gboolean
+gtk_notebook_accessible_add_selection (AtkSelection *selection,
+ gint i)
+{
+ GtkNotebook *notebook;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ notebook = GTK_NOTEBOOK (widget);
+ gtk_notebook_set_current_page (notebook, i);
+ return TRUE;
+}
+
+static void
+_gtk_notebook_accessible_class_init (GtkNotebookAccessibleClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+ GtkContainerAccessibleClass *container_class = (GtkContainerAccessibleClass*)klass;
+
+
+ gobject_class->finalize = gtk_notebook_accessible_finalize;
+
+ class->ref_child = gtk_notebook_accessible_ref_child;
+ class->initialize = gtk_notebook_accessible_initialize;
+
+ widget_class->notify_gtk = gtk_notebook_accessible_notify_gtk;
+
+ /* we listen to page-added/-removed, so we don't care about these */
+ container_class->add_gtk = NULL;
+ container_class->remove_gtk = NULL;
+}
+
+static void
+_gtk_notebook_accessible_init (GtkNotebookAccessible *notebook)
+{
+ notebook->pages = g_hash_table_new_full (g_direct_hash,
+ g_direct_equal,
+ NULL,
+ g_object_unref);
+ notebook->selected_page = -1;
+ notebook->focus_tab_page = -1;
+ notebook->idle_focus_id = 0;
+}
+
+static AtkObject *
+gtk_notebook_accessible_ref_selection (AtkSelection *selection,
+ gint i)
+{
+ AtkObject *accessible;
+ GtkWidget *widget;
+ GtkNotebook *notebook;
+ gint pagenum;
+
+ if (i != 0)
+ return NULL;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return NULL;
+
+ notebook = GTK_NOTEBOOK (widget);
+ pagenum = gtk_notebook_get_current_page (notebook);
+ if (pagenum == -1)
+ return NULL;
+ accessible = gtk_notebook_accessible_ref_child (ATK_OBJECT (selection), pagenum);
+
+ return accessible;
+}
+
+/* Always return 1 because there can only be one page
+ * selected at any time
+ */
+static gint
+gtk_notebook_accessible_get_selection_count (AtkSelection *selection)
+{
+ GtkWidget *widget;
+ GtkNotebook *notebook;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return 0;
+
+ notebook = GTK_NOTEBOOK (widget);
+ if (notebook == NULL || gtk_notebook_get_current_page (notebook) == -1)
+ return 0;
+
+ return 1;
+}
+
+static gboolean
+gtk_notebook_accessible_is_child_selected (AtkSelection *selection,
+ gint i)
+{
+ GtkWidget *widget;
+ GtkNotebook *notebook;
+ gint pagenumber;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ notebook = GTK_NOTEBOOK (widget);
+ pagenumber = gtk_notebook_get_current_page(notebook);
+
+ if (pagenumber == i)
+ return TRUE;
+
+ return FALSE;
+}
+
+static void
+atk_selection_interface_init (AtkSelectionIface *iface)
+{
+ iface->add_selection = gtk_notebook_accessible_add_selection;
+ iface->ref_selection = gtk_notebook_accessible_ref_selection;
+ iface->get_selection_count = gtk_notebook_accessible_get_selection_count;
+ iface->is_child_selected = gtk_notebook_accessible_is_child_selected;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_NOTEBOOK_ACCESSIBLE_H__
+#define __GTK_NOTEBOOK_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_NOTEBOOK_ACCESSIBLE (_gtk_notebook_accessible_get_type ())
+#define GTK_NOTEBOOK_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_NOTEBOOK_ACCESSIBLE, GtkNotebookAccessible))
+#define GTK_NOTEBOOK_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_NOTEBOOK_ACCESSIBLE, GtkNotebookAccessibleClass))
+#define GTK_IS_NOTEBOOK_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_NOTEBOOK_ACCESSIBLE))
+#define GTK_IS_NOTEBOOK_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_NOTEBOOK_ACCESSIBLE))
+#define GTK_NOTEBOOK_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_NOTEBOOK_ACCESSIBLE, GtkNotebookAccessibleClass))
+
+typedef struct _GtkNotebookAccessible GtkNotebookAccessible;
+typedef struct _GtkNotebookAccessibleClass GtkNotebookAccessibleClass;
+
+struct _GtkNotebookAccessible
+{
+ GtkContainerAccessible parent;
+
+ /*
+ * page_cache maintains a list of pre-ref'd Notebook Pages.
+ * This cache is queried by gtk_notebook_accessible_ref_child().
+ * If the page is found in the list then a new page does not
+ * need to be created
+ */
+ GHashTable * pages;
+ gint selected_page;
+ gint focus_tab_page;
+ guint idle_focus_id;
+};
+
+struct _GtkNotebookAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_notebook_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_NOTEBOOK_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <gtk/gtk.h>
+#include "gtknotebookpageaccessible.h"
+
+
+static void atk_component_interface_init (AtkComponentIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkNotebookPageAccessible, _gtk_notebook_page_accessible, ATK_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
+
+
+static GtkWidget *
+find_label_child (GtkContainer *container)
+{
+ GList *children, *tmp_list;
+ GtkWidget *child;
+
+ children = gtk_container_get_children (container);
+
+ child = NULL;
+ for (tmp_list = children; tmp_list != NULL; tmp_list = tmp_list->next)
+ {
+ if (GTK_IS_LABEL (tmp_list->data))
+ {
+ child = GTK_WIDGET (tmp_list->data);
+ break;
+ }
+ else if (GTK_IS_CONTAINER (tmp_list->data))
+ {
+ child = find_label_child (GTK_CONTAINER (tmp_list->data));
+ if (child)
+ break;
+ }
+ }
+ g_list_free (children);
+
+ return child;
+}
+
+static GtkWidget *
+get_label_from_notebook_page (GtkNotebookPageAccessible *page)
+{
+ GtkWidget *child;
+ GtkNotebook *notebook;
+
+ notebook = GTK_NOTEBOOK (gtk_accessible_get_widget (page->notebook));
+ if (!notebook)
+ return NULL;
+
+ if (!gtk_notebook_get_show_tabs (notebook))
+ return NULL;
+
+ child = gtk_notebook_get_tab_label (notebook, page->child);
+
+ if (GTK_IS_LABEL (child))
+ return child;
+
+ if (GTK_IS_CONTAINER (child))
+ child = find_label_child (GTK_CONTAINER (child));
+
+ return child;
+}
+
+static const gchar *
+gtk_notebook_page_accessible_get_name (AtkObject *accessible)
+{
+ GtkWidget *label;
+
+ if (accessible->name != NULL)
+ return accessible->name;
+
+ label = get_label_from_notebook_page (GTK_NOTEBOOK_PAGE_ACCESSIBLE (accessible));
+ if (GTK_IS_LABEL (label))
+ return gtk_label_get_text (GTK_LABEL (label));
+
+ return NULL;
+}
+
+static AtkObject *
+gtk_notebook_page_accessible_get_parent (AtkObject *accessible)
+{
+ GtkNotebookPageAccessible *page;
+
+ page = GTK_NOTEBOOK_PAGE_ACCESSIBLE (accessible);
+
+ return ATK_OBJECT (page->notebook);
+}
+
+static gint
+gtk_notebook_page_accessible_get_n_children (AtkObject *accessible)
+{
+ return 1;
+}
+
+static AtkObject *
+gtk_notebook_page_accessible_ref_child (AtkObject *accessible,
+ gint i)
+{
+ AtkObject *child_obj;
+ GtkNotebookPageAccessible *page = NULL;
+
+ if (i != 0)
+ return NULL;
+
+ page = GTK_NOTEBOOK_PAGE_ACCESSIBLE (accessible);
+ if (!page->child)
+ return NULL;
+
+ child_obj = gtk_widget_get_accessible (page->child);
+ g_object_ref (child_obj);
+
+ return child_obj;
+}
+
+static AtkStateSet *
+gtk_notebook_page_accessible_ref_state_set (AtkObject *accessible)
+{
+ AtkStateSet *state_set, *label_state_set, *merged_state_set;
+ AtkObject *atk_label;
+ GtkWidget *label;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_notebook_page_accessible_parent_class)->ref_state_set (accessible);
+
+ label = get_label_from_notebook_page (GTK_NOTEBOOK_PAGE_ACCESSIBLE (accessible));
+ if (label)
+ {
+ atk_label = gtk_widget_get_accessible (label);
+ label_state_set = atk_object_ref_state_set (atk_label);
+ merged_state_set = atk_state_set_or_sets (state_set, label_state_set);
+ g_object_unref (label_state_set);
+ g_object_unref (state_set);
+ }
+ else
+ {
+ AtkObject *child;
+
+ child = atk_object_ref_accessible_child (accessible, 0);
+ if (!child)
+ return state_set;
+
+ merged_state_set = state_set;
+ state_set = atk_object_ref_state_set (child);
+ if (atk_state_set_contains_state (state_set, ATK_STATE_VISIBLE))
+ {
+ atk_state_set_add_state (merged_state_set, ATK_STATE_VISIBLE);
+ if (atk_state_set_contains_state (state_set, ATK_STATE_ENABLED))
+ atk_state_set_add_state (merged_state_set, ATK_STATE_ENABLED);
+ if (atk_state_set_contains_state (state_set, ATK_STATE_SHOWING))
+ atk_state_set_add_state (merged_state_set, ATK_STATE_SHOWING);
+
+ }
+ g_object_unref (state_set);
+ g_object_unref (child);
+ }
+ return merged_state_set;
+}
+
+static gint
+gtk_notebook_page_accessible_get_index_in_parent (AtkObject *accessible)
+{
+ GtkNotebookPageAccessible *page;
+
+ page = GTK_NOTEBOOK_PAGE_ACCESSIBLE (accessible);
+ if (!page->child)
+ return -1;
+
+ return gtk_notebook_page_num (GTK_NOTEBOOK (gtk_accessible_get_widget (page->notebook)),
+ page->child);
+}
+
+static void
+_gtk_notebook_page_accessible_class_init (GtkNotebookPageAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ class->get_name = gtk_notebook_page_accessible_get_name;
+ class->get_parent = gtk_notebook_page_accessible_get_parent;
+ class->get_n_children = gtk_notebook_page_accessible_get_n_children;
+ class->ref_child = gtk_notebook_page_accessible_ref_child;
+ class->ref_state_set = gtk_notebook_page_accessible_ref_state_set;
+ class->get_index_in_parent = gtk_notebook_page_accessible_get_index_in_parent;
+}
+
+static void
+_gtk_notebook_page_accessible_init (GtkNotebookPageAccessible *page)
+{
+}
+
+static void
+notify_tab_label (GObject *object,
+ GParamSpec *pspec,
+ AtkObject *atk_obj)
+{
+ if (atk_obj->name == NULL)
+ g_object_notify (G_OBJECT (atk_obj), "accessible-name");
+ g_signal_emit_by_name (atk_obj, "visible-data-changed");
+}
+
+AtkObject *
+_gtk_notebook_page_accessible_new (GtkNotebookAccessible *notebook,
+ GtkWidget *child)
+{
+ GObject *object;
+ AtkObject *atk_object;
+ GtkNotebookPageAccessible *page;
+
+ g_return_val_if_fail (GTK_IS_NOTEBOOK_ACCESSIBLE (notebook), NULL);
+ g_return_val_if_fail (GTK_WIDGET (child), NULL);
+
+ object = g_object_new (GTK_TYPE_NOTEBOOK_PAGE_ACCESSIBLE, NULL);
+
+ page = GTK_NOTEBOOK_PAGE_ACCESSIBLE (object);
+ page->notebook = GTK_ACCESSIBLE (notebook);
+ page->child = child;
+
+ atk_object = ATK_OBJECT (page);
+ atk_object->role = ATK_ROLE_PAGE_TAB;
+ atk_object->layer = ATK_LAYER_WIDGET;
+
+ atk_object_set_parent (gtk_widget_get_accessible (child), atk_object);
+
+ g_signal_connect (gtk_accessible_get_widget (page->notebook),
+ "child-notify::tab-label",
+ G_CALLBACK (notify_tab_label), page);
+
+ return atk_object;
+}
+
+void
+_gtk_notebook_page_accessible_invalidate (GtkNotebookPageAccessible *page)
+{
+ AtkObject *obj = ATK_OBJECT (page);
+ GtkWidget *notebook;
+
+ notebook = gtk_accessible_get_widget (page->notebook);
+ if (notebook)
+ g_signal_handlers_disconnect_by_func (notebook, notify_tab_label, page);
+
+ atk_object_notify_state_change (obj, ATK_STATE_DEFUNCT, TRUE);
+ atk_object_set_parent (obj, NULL);
+ page->notebook = NULL;
+ atk_object_set_parent (gtk_widget_get_accessible (page->child), NULL);
+ page->child = NULL;
+}
+
+static AtkObject*
+gtk_notebook_page_accessible_ref_accessible_at_point (AtkComponent *component,
+ gint x,
+ gint y,
+ AtkCoordType coord_type)
+{
+ /* There is only one child so we return it */
+ AtkObject* child;
+
+ child = atk_object_ref_accessible_child (ATK_OBJECT (component), 0);
+
+ return child;
+}
+
+static void
+gtk_notebook_page_accessible_get_extents (AtkComponent *component,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coord_type)
+{
+ GtkWidget *label;
+ AtkObject *atk_label;
+
+ label = get_label_from_notebook_page (GTK_NOTEBOOK_PAGE_ACCESSIBLE (component));
+ if (!label)
+ {
+ AtkObject *child;
+
+ *width = 0;
+ *height = 0;
+
+ child = atk_object_ref_accessible_child (ATK_OBJECT (component), 0);
+ if (!child)
+ return;
+
+ atk_component_get_position (ATK_COMPONENT (child), x, y, coord_type);
+ g_object_unref (child);
+ }
+ else
+ {
+ atk_label = gtk_widget_get_accessible (label);
+ atk_component_get_extents (ATK_COMPONENT (atk_label),
+ x, y, width, height, coord_type);
+ }
+}
+
+static void
+atk_component_interface_init (AtkComponentIface *iface)
+{
+ /* We use the default implementations for contains, get_position, get_size */
+ iface->ref_accessible_at_point = gtk_notebook_page_accessible_ref_accessible_at_point;
+ iface->get_extents = gtk_notebook_page_accessible_get_extents;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_NOTEBOOK_PAGE_ACCESSIBLE_H__
+#define __GTK_NOTEBOOK_PAGE_ACCESSIBLE_H__
+
+#include "gtknotebookaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_NOTEBOOK_PAGE_ACCESSIBLE (_gtk_notebook_page_accessible_get_type ())
+#define GTK_NOTEBOOK_PAGE_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),GTK_TYPE_NOTEBOOK_PAGE_ACCESSIBLE, GtkNotebookPageAccessible))
+#define GTK_NOTEBOOK_PAGE_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_NOTEBOOK_PAGE_ACCESSIBLE, GtkNotebookPageAccessibleClass))
+#define GTK_IS_NOTEBOOK_PAGE_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_NOTEBOOK_PAGE_ACCESSIBLE))
+#define GTK_IS_NOTEBOOK_PAGE_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_NOTEBOOK_PAGE_ACCESSIBLE))
+#define GTK_NOTEBOOK_PAGE_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_NOTEBOOK_PAGE_ACCESSIBLE, GtkNotebookPageAccessibleClass))
+
+typedef struct _GtkNotebookPageAccessible GtkNotebookPageAccessible;
+typedef struct _GtkNotebookPageAccessibleClass GtkNotebookPageAccessibleClass;
+
+struct _GtkNotebookPageAccessible
+{
+ AtkObject parent;
+
+ GtkAccessible *notebook;
+ GtkWidget *child;
+};
+
+struct _GtkNotebookPageAccessibleClass
+{
+ AtkObjectClass parent_class;
+};
+
+GType _gtk_notebook_page_accessible_get_type (void);
+
+AtkObject *_gtk_notebook_page_accessible_new (GtkNotebookAccessible *notebook,
+ GtkWidget *child);
+
+void _gtk_notebook_page_accessible_invalidate (GtkNotebookPageAccessible *page);
+
+G_END_DECLS
+
+#endif /* __GTK_NOTEBOOK_PAGE_ACCESSIBLE_H__ */
#include <string.h>
#include <gtk/gtk.h>
-#include "gailpaned.h"
-
-static void gail_paned_class_init (GailPanedClass *klass);
-
-static void gail_paned_init (GailPaned *paned);
-
-static void gail_paned_real_initialize (AtkObject *obj,
- gpointer data);
-static void gail_paned_size_allocate_gtk (GtkWidget *widget,
- GtkAllocation *allocation);
-static void atk_value_interface_init (AtkValueIface *iface);
-static void gail_paned_get_current_value (AtkValue *obj,
- GValue *value);
-static void gail_paned_get_maximum_value (AtkValue *obj,
- GValue *value);
-static void gail_paned_get_minimum_value (AtkValue *obj,
- GValue *value);
-static gboolean gail_paned_set_current_value (AtkValue *obj,
- const GValue *value);
-
-G_DEFINE_TYPE_WITH_CODE (GailPaned, gail_paned, GAIL_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
+#include "gtkpanedaccessible.h"
-static void
-gail_paned_class_init (GailPanedClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+static void atk_value_interface_init (AtkValueIface *iface);
- class->initialize = gail_paned_real_initialize;
-}
+G_DEFINE_TYPE_WITH_CODE (GtkPanedAccessible, _gtk_paned_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
static void
-gail_paned_init (GailPaned *paned)
+gtk_paned_accessible_size_allocate_gtk (GtkWidget *widget,
+ GtkAllocation *allocation)
{
+ AtkObject *obj = gtk_widget_get_accessible (widget);
+
+ g_object_notify (G_OBJECT (obj), "accessible-value");
}
static void
-gail_paned_real_initialize (AtkObject *obj,
- gpointer data)
+gtk_paned_accessible_initialize (AtkObject *obj,
+ gpointer data)
{
- ATK_OBJECT_CLASS (gail_paned_parent_class)->initialize (obj, data);
+ ATK_OBJECT_CLASS (_gtk_paned_accessible_parent_class)->initialize (obj, data);
- g_signal_connect (data,
- "size_allocate",
- G_CALLBACK (gail_paned_size_allocate_gtk),
- NULL);
+ g_signal_connect (data, "size-allocate",
+ G_CALLBACK (gtk_paned_accessible_size_allocate_gtk), NULL);
obj->role = ATK_ROLE_SPLIT_PANE;
}
-
+
static void
-gail_paned_size_allocate_gtk (GtkWidget *widget,
- GtkAllocation *allocation)
+_gtk_paned_accessible_class_init (GtkPanedAccessibleClass *klass)
{
- AtkObject *obj = gtk_widget_get_accessible (widget);
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- g_object_notify (G_OBJECT (obj), "accessible-value");
+ class->initialize = gtk_paned_accessible_initialize;
}
-
static void
-atk_value_interface_init (AtkValueIface *iface)
+_gtk_paned_accessible_init (GtkPanedAccessible *paned)
{
- iface->get_current_value = gail_paned_get_current_value;
- iface->get_maximum_value = gail_paned_get_maximum_value;
- iface->get_minimum_value = gail_paned_get_minimum_value;
- iface->set_current_value = gail_paned_set_current_value;
}
static void
-gail_paned_get_current_value (AtkValue *obj,
- GValue *value)
+gtk_paned_accessible_get_current_value (AtkValue *obj,
+ GValue *value)
{
GtkWidget* widget;
gint current_value;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
if (widget == NULL)
- /* State is defunct */
return;
current_value = gtk_paned_get_position (GTK_PANED (widget));
}
static void
-gail_paned_get_maximum_value (AtkValue *obj,
- GValue *value)
+gtk_paned_accessible_get_maximum_value (AtkValue *obj,
+ GValue *value)
{
GtkWidget* widget;
gint maximum_value;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
if (widget == NULL)
- /* State is defunct */
return;
g_object_get (GTK_PANED (widget),
}
static void
-gail_paned_get_minimum_value (AtkValue *obj,
- GValue *value)
+gtk_paned_accessible_get_minimum_value (AtkValue *obj,
+ GValue *value)
{
GtkWidget* widget;
gint minimum_value;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
if (widget == NULL)
- /* State is defunct */
return;
g_object_get (GTK_PANED (widget),
g_value_set_int (value, minimum_value);
}
-/*
- * Calling atk_value_set_current_value() is no guarantee that the value is
- * acceptable; it is necessary to listen for accessible-value signals
- * and check whether the current value has been changed or check what the
+/* Calling atk_value_set_current_value() is no guarantee that the value
+ * is acceptable; it is necessary to listen for accessible-value signals
+ * and check whether the current value has been changed or check what the
* maximum and minimum values are.
*/
-
static gboolean
-gail_paned_set_current_value (AtkValue *obj,
- const GValue *value)
+gtk_paned_accessible_set_current_value (AtkValue *obj,
+ const GValue *value)
{
GtkWidget* widget;
gint new_value;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
if (widget == NULL)
- /* State is defunct */
return FALSE;
if (G_VALUE_HOLDS_INT (value))
else
return FALSE;
}
+
+static void
+atk_value_interface_init (AtkValueIface *iface)
+{
+ iface->get_current_value = gtk_paned_accessible_get_current_value;
+ iface->get_maximum_value = gtk_paned_accessible_get_maximum_value;
+ iface->get_minimum_value = gtk_paned_accessible_get_minimum_value;
+ iface->set_current_value = gtk_paned_accessible_set_current_value;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_PANED_ACCESSIBLE_H__
+#define __GTK_PANED_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_PANED_ACCESSIBLE (_gtk_paned_accessible_get_type ())
+#define GTK_PANED_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PANED_ACCESSIBLE, GtkPanedAccessible))
+#define GTK_PANED_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_PANED_ACCESSIBLE, GtkPanedAccessibleClass))
+#define GTK_IS_PANED_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PANED_ACCESSIBLE))
+#define GTK_IS_PANED_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PANED_ACCESSIBLE))
+#define GTK_PANED_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PANED_ACCESSIBLE, GtkPanedAccessibleClass))
+
+typedef struct _GtkPanedAccessible GtkPanedAccessible;
+typedef struct _GtkPanedAccessibleClass GtkPanedAccessibleClass;
+
+struct _GtkPanedAccessible
+{
+ GtkContainerAccessible parent;
+};
+
+struct _GtkPanedAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_paned_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_PANED_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <string.h>
+
+#include <gtk/gtk.h>
+
+#include "gtkprogressbaraccessible.h"
+
+
+static void atk_value_interface_init (AtkValueIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkProgressBarAccessible, _gtk_progress_bar_accessible, GTK_TYPE_WIDGET_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
+
+static void
+gtk_progress_bar_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (_gtk_progress_bar_accessible_parent_class)->initialize (obj, data);
+
+ obj->role = ATK_ROLE_PROGRESS_BAR;
+}
+
+static void
+gtk_progress_bar_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkWidget *widget = GTK_WIDGET (obj);
+ AtkObject *accessible;
+
+ accessible = gtk_widget_get_accessible (widget);
+
+ if (strcmp (pspec->name, "fraction") == 0)
+ g_object_notify (G_OBJECT (accessible), "accessible-value");
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_progress_bar_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+static void
+_gtk_progress_bar_accessible_class_init (GtkProgressBarAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+
+ widget_class->notify_gtk = gtk_progress_bar_accessible_notify_gtk;
+
+ class->initialize = gtk_progress_bar_accessible_initialize;
+}
+
+static void
+_gtk_progress_bar_accessible_init (GtkProgressBarAccessible *bar)
+{
+}
+
+static void
+gtk_progress_bar_accessible_get_current_value (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_progress_bar_get_fraction (GTK_PROGRESS_BAR (widget)));
+}
+
+static void
+gtk_progress_bar_accessible_get_maximum_value (AtkValue *obj,
+ GValue *value)
+{
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, 1.0);
+}
+
+static void
+gtk_progress_bar_accessible_get_minimum_value (AtkValue *obj,
+ GValue *value)
+{
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, 0.0);
+}
+
+static void
+atk_value_interface_init (AtkValueIface *iface)
+{
+ iface->get_current_value = gtk_progress_bar_accessible_get_current_value;
+ iface->get_maximum_value = gtk_progress_bar_accessible_get_maximum_value;
+ iface->get_minimum_value = gtk_progress_bar_accessible_get_minimum_value;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_PROGRESS_BAR_ACCESSIBLE_H__
+#define __GTK_PROGRESS_BAR_ACCESSIBLE_H__
+
+#include "gtkwidgetaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_PROGRESS_BAR_ACCESSIBLE (_gtk_progress_bar_accessible_get_type ())
+#define GTK_PROGRESS_BAR_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PROGRESS_BAR_ACCESSIBLE, GtkProgressBarAccessible))
+#define GTK_PROGRESS_BAR_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_PROGRESS_BAR_ACCESSIBLE, GtkProgressBarAccessibleClass))
+#define GTK_IS_PROGRESS_BAR_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PROGRESS_BAR_ACCESSIBLE))
+#define GTK_IS_PROGRESS_BAR_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PROGRESS_BAR_ACCESSIBLE))
+#define GTK_PROGRESS_BAR_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PROGRESS_BAR_ACCESSIBLE, GtkProgressBarAccessibleClass))
+
+typedef struct _GtkProgressBarAccessible GtkProgressBarAccessible;
+typedef struct _GtkProgressBarAccessibleClass GtkProgressBarAccessibleClass;
+
+struct _GtkProgressBarAccessible
+{
+ GtkWidgetAccessible parent;
+};
+
+struct _GtkProgressBarAccessibleClass
+{
+ GtkWidgetAccessibleClass parent_class;
+};
+
+GType _gtk_progress_bar_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_PROGRESS_BAR_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkradiobuttonaccessible.h"
+
+
+G_DEFINE_TYPE (GtkRadioButtonAccessible, _gtk_radio_button_accessible, GTK_TYPE_TOGGLE_BUTTON_ACCESSIBLE)
+
+static void
+gtk_radio_button_accessible_initialize (AtkObject *accessible,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (_gtk_radio_button_accessible_parent_class)->initialize (accessible, data);
+
+ accessible->role = ATK_ROLE_RADIO_BUTTON;
+}
+
+static AtkRelationSet *
+gtk_radio_button_accessible_ref_relation_set (AtkObject *obj)
+{
+ GtkWidget *widget;
+ AtkRelationSet *relation_set;
+ GSList *list;
+ GtkRadioButtonAccessible *radio_button;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ radio_button = GTK_RADIO_BUTTON_ACCESSIBLE (obj);
+
+ relation_set = ATK_OBJECT_CLASS (_gtk_radio_button_accessible_parent_class)->ref_relation_set (obj);
+
+ /* If the radio button'group has changed remove the relation */
+ list = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget));
+
+ if (radio_button->old_group != list)
+ {
+ AtkRelation *relation;
+
+ relation = atk_relation_set_get_relation_by_type (relation_set, ATK_RELATION_MEMBER_OF);
+ atk_relation_set_remove (relation_set, relation);
+ }
+
+ if (!atk_relation_set_contains (relation_set, ATK_RELATION_MEMBER_OF))
+ {
+ /*
+ * Get the members of the button group
+ */
+ radio_button->old_group = list;
+ if (list)
+ {
+ AtkObject **accessible_array;
+ guint list_length;
+ AtkRelation* relation;
+ gint i = 0;
+
+ list_length = g_slist_length (list);
+ accessible_array = g_new (AtkObject *, list_length);
+ while (list != NULL)
+ {
+ GtkWidget* list_item = list->data;
+
+ accessible_array[i++] = gtk_widget_get_accessible (list_item);
+
+ list = list->next;
+ }
+ relation = atk_relation_new (accessible_array, list_length,
+ ATK_RELATION_MEMBER_OF);
+ g_free (accessible_array);
+
+ atk_relation_set_add (relation_set, relation);
+ /*
+ * Unref the relation so that it is not leaked.
+ */
+ g_object_unref (relation);
+ }
+ }
+
+ return relation_set;
+}
+
+static void
+_gtk_radio_button_accessible_class_init (GtkRadioButtonAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ class->initialize = gtk_radio_button_accessible_initialize;
+ class->ref_relation_set = gtk_radio_button_accessible_ref_relation_set;
+}
+
+static void
+_gtk_radio_button_accessible_init (GtkRadioButtonAccessible *radio_button)
+{
+ radio_button->old_group = NULL;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_RADIO_BUTTON_ACCESSIBLE_H__
+#define __GTK_RADIO_BUTTON_ACCESSIBLE_H__
+
+#include "gtktogglebuttonaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_RADIO_BUTTON_ACCESSIBLE (_gtk_radio_button_accessible_get_type ())
+#define GTK_RADIO_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RADIO_BUTTON_ACCESSIBLE, GtkRadioButtonAccessible))
+#define GTK_RADIO_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_RADIO_BUTTON_ACCESSIBLE, GtkRadioButtonAccessibleClass))
+#define GTK_IS_RADIO_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RADIO_BUTTON_ACCESSIBLE))
+#define GTK_IS_RADIO_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RADIO_BUTTON_ACCESSIBLE))
+#define GTK_RADIO_BUTTON_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_RADIO_BUTTON_ACCESSIBLE, GtkRadioButtonAccessibleClass))
+
+typedef struct _GtkRadioButtonAccessible GtkRadioButtonAccessible;
+typedef struct _GtkRadioButtonAccessibleClass GtkRadioButtonAccessibleClass;
+
+struct _GtkRadioButtonAccessible
+{
+ GtkToggleButtonAccessible parent;
+
+ GSList *old_group;
+};
+
+struct _GtkRadioButtonAccessibleClass
+{
+ GtkToggleButtonAccessibleClass parent_class;
+};
+
+GType _gtk_radio_button_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_RADIO_BUTTON_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2002 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkradiomenuitemaccessible.h"
+
+
+G_DEFINE_TYPE (GtkRadioMenuItemAccessible, _gtk_radio_menu_item_accessible, GTK_TYPE_CHECK_MENU_ITEM_ACCESSIBLE)
+
+
+static AtkRelationSet *
+gtk_radio_menu_item_accessible_ref_relation_set (AtkObject *obj)
+{
+ GtkWidget *widget;
+ AtkRelationSet *relation_set;
+ GSList *list;
+ GtkRadioMenuItemAccessible *radio_menu_item;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ radio_menu_item = GTK_RADIO_MENU_ITEM_ACCESSIBLE (obj);
+
+ relation_set = ATK_OBJECT_CLASS (_gtk_radio_menu_item_accessible_parent_class)->ref_relation_set (obj);
+
+ /* If the radio menu_item's group has changed remove the relation */
+ list = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (widget));
+
+ if (radio_menu_item->old_group != list)
+ {
+ AtkRelation *relation;
+
+ relation = atk_relation_set_get_relation_by_type (relation_set, ATK_RELATION_MEMBER_OF);
+ atk_relation_set_remove (relation_set, relation);
+ }
+
+ if (!atk_relation_set_contains (relation_set, ATK_RELATION_MEMBER_OF))
+ {
+ /* Get the members of the menu_item group */
+ radio_menu_item->old_group = list;
+ if (list)
+ {
+ AtkObject **accessible_array;
+ guint list_length;
+ AtkRelation* relation;
+ gint i = 0;
+
+ list_length = g_slist_length (list);
+ accessible_array = g_new (AtkObject *, list_length);
+ while (list != NULL)
+ {
+ GtkWidget* list_item = list->data;
+
+ accessible_array[i++] = gtk_widget_get_accessible (list_item);
+
+ list = list->next;
+ }
+ relation = atk_relation_new (accessible_array, list_length,
+ ATK_RELATION_MEMBER_OF);
+ g_free (accessible_array);
+
+ atk_relation_set_add (relation_set, relation);
+
+ /* Unref the relation so that it is not leaked */
+ g_object_unref (relation);
+ }
+ }
+
+ return relation_set;
+}
+
+static void
+gtk_radio_menu_item_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (_gtk_radio_menu_item_accessible_parent_class)->initialize (obj, data);
+
+ obj->role = ATK_ROLE_RADIO_MENU_ITEM;
+}
+
+static void
+_gtk_radio_menu_item_accessible_class_init (GtkRadioMenuItemAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ class->ref_relation_set = gtk_radio_menu_item_accessible_ref_relation_set;
+ class->initialize = gtk_radio_menu_item_accessible_initialize;
+}
+
+static void
+_gtk_radio_menu_item_accessible_init (GtkRadioMenuItemAccessible *radio_menu_item)
+{
+ radio_menu_item->old_group = NULL;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2002 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_RADIO_MENU_ITEM_ACCESSIBLE_H__
+#define __GTK_RADIO_MENU_ITEM_ACCESSIBLE_H__
+
+#include "gtkcheckmenuitemaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_RADIO_MENU_ITEM_ACCESSIBLE (_gtk_radio_menu_item_accessible_get_type ())
+#define GTK_RADIO_MENU_ITEM_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RADIO_MENU_ITEM_ACCESSIBLE, GtkRadioMenuItemAccessible))
+#define GTK_RADIO_MENU_ITEM_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_RADIO_MENU_ITEM_ACCESSIBLE, GtkRadioMenuItemAccessibleClass))
+#define GTK_IS_RADIO_MENU_ITEM_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RADIO_MENU_ITEM_ACCESSIBLE))
+#define GTK_IS_RADIO_MENU_ITEM_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RADIO_MENU_ITEM_ACCESSIBLE))
+#define GTK_RADIO_MENU_ITEM_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_RADIO_MENU_ITEM_ACCESSIBLE, GtkRadioMenuItemAccessibleClass))
+
+typedef struct _GtkRadioMenuItemAccessible GtkRadioMenuItemAccessible;
+typedef struct _GtkRadioMenuItemAccessibleClass GtkRadioMenuItemAccessibleClass;
+
+struct _GtkRadioMenuItemAccessible
+{
+ GtkCheckMenuItemAccessible parent;
+
+ GSList *old_group;
+};
+
+struct _GtkRadioMenuItemAccessibleClass
+{
+ GtkCheckMenuItemAccessibleClass parent_class;
+};
+
+GType _gtk_radio_menu_item_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_RADIO_MENU_ITEM_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <gtk/gtk.h>
+#include "gtkrangeaccessible.h"
+
+
+static void atk_action_interface_init (AtkActionIface *iface);
+static void atk_value_interface_init (AtkValueIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkRangeAccessible, _gtk_range_accessible, GTK_TYPE_WIDGET_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
+
+static void
+gtk_range_accessible_value_changed (GtkAdjustment *adjustment,
+ gpointer data)
+{
+ g_object_notify (G_OBJECT (data), "accessible-value");
+}
+
+static void
+gtk_range_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkRangeAccessible *range = GTK_RANGE_ACCESSIBLE (obj);
+ GtkAdjustment *adj;
+ GtkRange *gtk_range;
+
+ ATK_OBJECT_CLASS (_gtk_range_accessible_parent_class)->initialize (obj, data);
+
+ gtk_range = GTK_RANGE (data);
+ /*
+ * If a GtkAdjustment already exists for the GtkRange,
+ * create the GailAdjustment
+ */
+ adj = gtk_range_get_adjustment (gtk_range);
+ if (adj)
+ g_signal_connect (adj, "value-changed",
+ G_CALLBACK (gtk_range_accessible_value_changed),
+ range);
+
+ obj->role = ATK_ROLE_SLIDER;
+}
+
+static void
+gtk_range_accessible_finalize (GObject *object)
+{
+ GtkRangeAccessible *range = GTK_RANGE_ACCESSIBLE (object);
+ GtkWidget *widget;
+ GtkAdjustment *adj;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (object));
+ if (widget)
+ {
+ adj = gtk_range_get_adjustment (GTK_RANGE (widget));
+ if (adj)
+ g_signal_handlers_disconnect_by_func (adj,
+ gtk_range_accessible_value_changed,
+ range);
+ }
+
+ G_OBJECT_CLASS (_gtk_range_accessible_parent_class)->finalize (object);
+}
+
+static void
+gtk_range_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkWidget *widget = GTK_WIDGET (obj);
+ GtkAdjustment *adj;
+ AtkObject *range;
+
+ if (strcmp (pspec->name, "adjustment") == 0)
+ {
+ range = gtk_widget_get_accessible (widget);
+ adj = gtk_range_get_adjustment (GTK_RANGE (widget));
+ g_signal_connect (adj, "value-changed",
+ G_CALLBACK (gtk_range_accessible_value_changed),
+ range);
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_range_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+
+static void
+_gtk_range_accessible_class_init (GtkRangeAccessibleClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+
+ widget_class->notify_gtk = gtk_range_accessible_notify_gtk;
+
+ class->initialize = gtk_range_accessible_initialize;
+
+ gobject_class->finalize = gtk_range_accessible_finalize;
+}
+
+static void
+_gtk_range_accessible_init (GtkRangeAccessible *range)
+{
+}
+
+static void
+gtk_range_accessible_get_current_value (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_range_get_adjustment (GTK_RANGE (widget));
+ if (adjustment == NULL)
+ return;
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_adjustment_get_value (adjustment));
+}
+
+static void
+gtk_range_accessible_get_maximum_value (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+ gdouble max;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_range_get_adjustment (GTK_RANGE (widget));
+ if (adjustment == NULL)
+ return;
+
+ max = gtk_adjustment_get_upper (adjustment)
+ - gtk_adjustment_get_page_size (adjustment);
+
+ if (gtk_range_get_restrict_to_fill_level (GTK_RANGE (widget)))
+ max = MIN (max, gtk_range_get_fill_level (GTK_RANGE (widget)));
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, max);
+}
+
+static void
+gtk_range_accessible_get_minimum_value (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_range_get_adjustment (GTK_RANGE (widget));
+ if (adjustment == NULL)
+ return;
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_adjustment_get_lower (adjustment));
+}
+
+static void
+gtk_range_accessible_get_minimum_increment (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_range_get_adjustment (GTK_RANGE (widget));
+ if (adjustment == NULL)
+ return;
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_adjustment_get_minimum_increment (adjustment));
+}
+
+static gboolean
+gtk_range_accessible_set_current_value (AtkValue *obj,
+ const GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_range_get_adjustment (GTK_RANGE (widget));
+ if (adjustment == NULL)
+ return FALSE;
+
+ gtk_adjustment_set_value (adjustment, g_value_get_double (value));
+
+ return TRUE;
+}
+
+static void
+atk_value_interface_init (AtkValueIface *iface)
+{
+ iface->get_current_value = gtk_range_accessible_get_current_value;
+ iface->get_maximum_value = gtk_range_accessible_get_maximum_value;
+ iface->get_minimum_value = gtk_range_accessible_get_minimum_value;
+ iface->get_minimum_increment = gtk_range_accessible_get_minimum_increment;
+ iface->set_current_value = gtk_range_accessible_set_current_value;
+}
+
+static gboolean
+gtk_range_accessible_do_action (AtkAction *action,
+ gint i)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (widget == NULL)
+ return FALSE;
+
+ if (!gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
+ return FALSE;
+
+ if (i != 0)
+ return FALSE;
+
+ gtk_widget_activate (widget);
+
+ return TRUE;
+}
+
+static gint
+gtk_range_accessible_get_n_actions (AtkAction *action)
+{
+ return 1;
+}
+
+static const gchar *
+gtk_range_accessible_get_keybinding (AtkAction *action,
+ gint i)
+{
+ GtkRangeAccessible *range = GTK_RANGE_ACCESSIBLE (action);
+ GtkWidget *widget;
+ GtkWidget *label;
+ AtkRelationSet *set;
+ AtkRelation *relation;
+ GPtrArray *target;
+ gpointer target_object;
+ guint key_val;
+ gchar *return_value = NULL;
+
+ if (i != 0)
+ return NULL;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (range));
+ if (widget == NULL)
+ return NULL;
+
+ set = atk_object_ref_relation_set (ATK_OBJECT (action));
+
+ if (!set)
+ return NULL;
+
+ label = NULL;
+ relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_LABELLED_BY);
+ if (relation)
+ {
+ target = atk_relation_get_target (relation);
+ target_object = g_ptr_array_index (target, 0);
+ label = gtk_accessible_get_widget (GTK_ACCESSIBLE (target_object));
+ }
+ g_object_unref (set);
+
+ if (GTK_IS_LABEL (label))
+ {
+ key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
+ if (key_val != GDK_KEY_VoidSymbol)
+ return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
+ }
+
+ return return_value;
+}
+
+static const gchar *
+gtk_range_accessible_action_get_name (AtkAction *action,
+ gint i)
+{
+ if (i != 0)
+ return NULL;
+
+ return "activate";
+}
+
+static void
+atk_action_interface_init (AtkActionIface *iface)
+{
+ iface->do_action = gtk_range_accessible_do_action;
+ iface->get_n_actions = gtk_range_accessible_get_n_actions;
+ iface->get_keybinding = gtk_range_accessible_get_keybinding;
+ iface->get_name = gtk_range_accessible_action_get_name;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_RANGE_ACCESSIBLE_H__
+#define __GTK_RANGE_ACCESSIBLE_H__
+
+#include "gtkwidgetaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_RANGE_ACCESSIBLE (_gtk_range_accessible_get_type ())
+#define GTK_RANGE_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RANGE_ACCESSIBLE, GtkRangeAccessible))
+#define GTK_RANGE_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_RANGE_ACCESSIBLE, GtkRangeAccessibleClass))
+#define GTK_IS_RANGE_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RANGE_ACCESSIBLE))
+#define GTK_IS_RANGE_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RANGE_ACCESSIBLE))
+#define GTK_RANGE_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_RANGE_ACCESSIBLE, GtkRangeAccessibleClass))
+
+typedef struct _GtkRangeAccessible GtkRangeAccessible;
+typedef struct _GtkRangeAccessibleClass GtkRangeAccessibleClass;
+
+struct _GtkRangeAccessible
+{
+ GtkWidgetAccessible parent;
+};
+
+struct _GtkRangeAccessibleClass
+{
+ GtkWidgetAccessibleClass parent_class;
+};
+
+GType _gtk_range_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_RANGE_ACCESSIBLE_H__ */
#include "config.h"
#include <gtk/gtk.h>
-#include "gailrenderercell.h"
+#include "gtkrenderercellaccessible.h"
-static void gail_renderer_cell_class_init (GailRendererCellClass *klass);
-static void gail_renderer_cell_init (GailRendererCell *renderer_cell);
-static void gail_renderer_cell_finalize (GObject *object);
+G_DEFINE_TYPE (GtkRendererCellAccessible, _gtk_renderer_cell_accessible, GTK_TYPE_CELL_ACCESSIBLE)
-G_DEFINE_TYPE (GailRendererCell, gail_renderer_cell, GAIL_TYPE_CELL)
-static void
-gail_renderer_cell_class_init (GailRendererCellClass *klass)
+static void
+gtk_renderer_cell_accessible_finalize (GObject *object)
{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GtkRendererCellAccessible *renderer_cell = GTK_RENDERER_CELL_ACCESSIBLE (object);
- klass->property_list = NULL;
+ if (renderer_cell->renderer)
+ g_object_unref (renderer_cell->renderer);
- gobject_class->finalize = gail_renderer_cell_finalize;
+ G_OBJECT_CLASS (_gtk_renderer_cell_accessible_parent_class)->finalize (object);
}
static void
-gail_renderer_cell_init (GailRendererCell *renderer_cell)
+_gtk_renderer_cell_accessible_class_init (GtkRendererCellAccessibleClass *klass)
{
- renderer_cell->renderer = NULL;
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+ klass->property_list = NULL;
+
+ gobject_class->finalize = gtk_renderer_cell_accessible_finalize;
}
static void
-gail_renderer_cell_finalize (GObject *object)
+_gtk_renderer_cell_accessible_init (GtkRendererCellAccessible *renderer_cell)
{
- GailRendererCell *renderer_cell = GAIL_RENDERER_CELL (object);
-
- if (renderer_cell->renderer)
- g_object_unref (renderer_cell->renderer);
- G_OBJECT_CLASS (gail_renderer_cell_parent_class)->finalize (object);
+ renderer_cell->renderer = NULL;
}
gboolean
-gail_renderer_cell_update_cache (GailRendererCell *cell,
- gboolean emit_change_signal)
+_gtk_renderer_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
+ gboolean emit_change_signal)
{
- GailRendererCellClass *class = GAIL_RENDERER_CELL_GET_CLASS(cell);
+ GtkRendererCellAccessibleClass *class = GTK_RENDERER_CELL_ACCESSIBLE_GET_CLASS (cell);
+
if (class->update_cache)
- return (class->update_cache)(cell, emit_change_signal);
+ return (class->update_cache) (cell, emit_change_signal);
+
return FALSE;
}
-AtkObject*
-gail_renderer_cell_new (void)
+AtkObject *
+_gtk_renderer_cell_accessible_new (void)
{
GObject *object;
AtkObject *atk_object;
- object = g_object_new (GAIL_TYPE_RENDERER_CELL, NULL);
-
- g_return_val_if_fail (object != NULL, NULL);
+ object = g_object_new (GTK_TYPE_RENDERER_CELL_ACCESSIBLE, NULL);
atk_object = ATK_OBJECT (object);
atk_object->role = ATK_ROLE_TABLE_CELL;
--- /dev/null
+/* GAIL - The GNOME Accessibility Enabling Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_RENDERER_CELL_ACCESSIBLE_H__
+#define __GTK_RENDERER_CELL_ACCESSIBLE_H__
+
+#include <atk/atk.h>
+#include "gtkcellaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_RENDERER_CELL_ACCESSIBLE (_gtk_renderer_cell_accessible_get_type ())
+#define GTK_RENDERER_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RENDERER_CELL_ACCESSIBLE, GtkRendererCellAccessible))
+#define GTK_RENDERER_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_RENDERER_CELL_ACCESSIBLE, GtkRendererCellAccessibleClass))
+#define GTK_IS_RENDERER_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RENDERER_CELL_ACCESSIBLE))
+#define GTK_IS_RENDERER_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RENDERER_CELL_ACCESSIBLE))
+#define GTK_RENDERER_CELL_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_RENDERER_CELL_ACCESSIBLE, GtkRendererCellAccessibleClass))
+
+typedef struct _GtkRendererCellAccessible GtkRendererCellAccessible;
+typedef struct _GtkRendererCellAccessibleClass GtkRendererCellAccessibleClass;
+
+struct _GtkRendererCellAccessible
+{
+ GtkCellAccessible parent;
+ GtkCellRenderer *renderer;
+};
+
+struct _GtkRendererCellAccessibleClass
+{
+ GtkCellAccessibleClass parent_class;
+ gchar **property_list;
+ gboolean (*update_cache) (GtkRendererCellAccessible *cell,
+ gboolean emit_change_signal);
+};
+
+GType _gtk_renderer_cell_accessible_get_type (void);
+
+AtkObject *_gtk_renderer_cell_accessible_new (void);
+gboolean _gtk_renderer_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
+ gboolean emit_change_signal);
+
+G_END_DECLS
+
+#endif /* __GTK_RENDERER_CELL_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2004 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkscaleaccessible.h"
+
+G_DEFINE_TYPE (GtkScaleAccessible, _gtk_scale_accessible, GTK_TYPE_RANGE_ACCESSIBLE)
+
+static const gchar *
+gtk_scale_accessible_get_description (AtkObject *object)
+{
+ GtkWidget *widget;
+ PangoLayout *layout;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (object));
+ if (widget == NULL)
+ return NULL;
+
+ layout = gtk_scale_get_layout (GTK_SCALE (widget));
+ if (layout)
+ return pango_layout_get_text (layout);
+
+ return ATK_OBJECT_CLASS (_gtk_scale_accessible_parent_class)->get_description (object);
+}
+
+static void
+_gtk_scale_accessible_class_init (GtkScaleAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ class->get_description = gtk_scale_accessible_get_description;
+}
+
+static void
+_gtk_scale_accessible_init (GtkScaleAccessible *scale)
+{
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2004 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_SCALE_ACCESSIBLE_H__
+#define __GTK_SCALE_ACCESSIBLE_H__
+
+#include "gtkrangeaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_SCALE_ACCESSIBLE (_gtk_scale_accessible_get_type ())
+#define GTK_SCALE_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCALE_ACCESSIBLE, GtkScaleAccessible))
+#define GTK_SCALE_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCALE_ACCESSIBLE, GtkScaleAccessibleClass))
+#define GTK_IS_SCALE_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCALE_ACCESSIBLE))
+#define GTK_IS_SCALE_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCALE_ACCESSIBLE))
+#define GTK_SCALE_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SCALE_ACCESSIBLE, GtkScaleAccessibleClass))
+
+typedef struct _GtkScaleAccessible GtkScaleAccessible;
+typedef struct _GtkScaleAccessibleClass GtkScaleAccessibleClass;
+
+struct _GtkScaleAccessible
+{
+ GtkRangeAccessible parent;
+};
+
+struct _GtkScaleAccessibleClass
+{
+ GtkRangeAccessibleClass parent_class;
+};
+
+GType _gtk_scale_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_SCALE_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2008 Jan Arne Petersen
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+
+#include <gtk/gtk.h>
+#include "gtkscalebuttonaccessible.h"
+
+#include <string.h>
+
+
+static void atk_action_interface_init (AtkActionIface *iface);
+static void atk_value_interface_init (AtkValueIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkScaleButtonAccessible, _gtk_scale_button_accessible, GTK_TYPE_BUTTON_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init));
+
+static void
+gtk_scale_button_accessible_value_changed (GtkAdjustment *adjustment,
+ gpointer data)
+{
+ g_object_notify (G_OBJECT (data), "accessible-value");
+}
+
+static void
+gtk_scale_button_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkAdjustment *adjustment;
+
+ ATK_OBJECT_CLASS (_gtk_scale_button_accessible_parent_class)->initialize (obj, data);
+
+ adjustment = gtk_scale_button_get_adjustment (GTK_SCALE_BUTTON (data));
+ if (adjustment)
+ g_signal_connect (adjustment,
+ "value-changed",
+ G_CALLBACK (gtk_scale_button_accessible_value_changed),
+ obj);
+
+ obj->role = ATK_ROLE_SLIDER;
+}
+
+static void
+gtk_scale_button_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkScaleButton *scale_button;
+ GtkScaleButtonAccessible *accessible;
+
+ scale_button = GTK_SCALE_BUTTON (obj);
+ accessible = GTK_SCALE_BUTTON_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (scale_button)));
+
+ if (strcmp (pspec->name, "adjustment") == 0)
+ {
+ GtkAdjustment* adjustment;
+
+ adjustment = gtk_scale_button_get_adjustment (scale_button);
+ g_signal_connect (adjustment,
+ "value-changed",
+ G_CALLBACK (gtk_scale_button_accessible_value_changed),
+ accessible);
+ }
+ else
+ {
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_scale_button_accessible_parent_class)->notify_gtk (obj, pspec);
+ }
+}
+
+static void
+_gtk_scale_button_accessible_class_init (GtkScaleButtonAccessibleClass *klass)
+{
+ AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = GTK_WIDGET_ACCESSIBLE_CLASS (klass);
+
+ atk_object_class->initialize = gtk_scale_button_accessible_initialize;
+
+ widget_class->notify_gtk = gtk_scale_button_accessible_notify_gtk;
+}
+
+static void
+_gtk_scale_button_accessible_init (GtkScaleButtonAccessible *button)
+{
+}
+
+static gboolean
+gtk_scale_button_accessible_do_action (AtkAction *action,
+ gint i)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (widget == NULL)
+ return FALSE;
+
+ if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
+ return FALSE;
+
+ switch (i)
+ {
+ case 0:
+ g_signal_emit_by_name (widget, "popup");
+ return TRUE;
+ case 1:
+ g_signal_emit_by_name (widget, "popdown");
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
+
+static gint
+gtk_scale_button_accessible_get_n_actions (AtkAction *action)
+{
+ return 2;
+}
+
+static const gchar *
+gtk_scale_button_accessible_get_description (AtkAction *action,
+ gint i)
+{
+ return NULL;
+}
+
+static const gchar *
+gtk_scale_button_accessible_action_get_name (AtkAction *action,
+ gint i)
+{
+ switch (i)
+ {
+ case 0:
+ return "popup";
+ case 1:
+ return "popdown";
+ default:
+ return NULL;
+ }
+}
+
+static void
+atk_action_interface_init (AtkActionIface *iface)
+{
+ iface->do_action = gtk_scale_button_accessible_do_action;
+ iface->get_n_actions = gtk_scale_button_accessible_get_n_actions;
+ iface->get_description = gtk_scale_button_accessible_get_description;
+ iface->get_name = gtk_scale_button_accessible_action_get_name;
+}
+
+static void
+gtk_scale_button_accessible_get_current_value (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_scale_button_get_adjustment (GTK_SCALE_BUTTON (widget));
+ if (adjustment == NULL)
+ return;
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_adjustment_get_value (adjustment));
+}
+
+static void
+gtk_scale_button_accessible_get_maximum_value (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_scale_button_get_adjustment (GTK_SCALE_BUTTON (widget));
+ if (adjustment == NULL)
+ return;
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_adjustment_get_upper (adjustment));
+}
+
+static void
+gtk_scale_button_accessible_get_minimum_value (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_scale_button_get_adjustment (GTK_SCALE_BUTTON (widget));
+ if (adjustment == NULL)
+ return;
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_adjustment_get_lower (adjustment));
+}
+
+static void
+gtk_scale_button_accessible_get_minimum_increment (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_scale_button_get_adjustment (GTK_SCALE_BUTTON (widget));
+ if (adjustment == NULL)
+ return;
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_adjustment_get_minimum_increment (adjustment));
+}
+
+static gboolean
+gtk_scale_button_accessible_set_current_value (AtkValue *obj,
+ const GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_scale_button_get_adjustment (GTK_SCALE_BUTTON (widget));
+ if (adjustment == NULL)
+ return FALSE;
+
+ gtk_adjustment_set_value (adjustment, g_value_get_double (value));
+
+ return TRUE;
+}
+
+static void
+atk_value_interface_init (AtkValueIface *iface)
+{
+ iface->get_current_value = gtk_scale_button_accessible_get_current_value;
+ iface->get_maximum_value = gtk_scale_button_accessible_get_maximum_value;
+ iface->get_minimum_value = gtk_scale_button_accessible_get_minimum_value;
+ iface->get_minimum_increment = gtk_scale_button_accessible_get_minimum_increment;
+ iface->set_current_value = gtk_scale_button_accessible_set_current_value;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2008 Jan Arne Petersen <jap@gnome.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_SCALE_BUTTON_ACCESSIBLE_H__
+#define __GTK_SCALE_BUTTON_ACCESSIBLE_H__
+
+#include <gtk/gtk.h>
+#include "gtkbuttonaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_SCALE_BUTTON_ACCESSIBLE (_gtk_scale_button_accessible_get_type ())
+#define GTK_SCALE_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCALE_BUTTON_ACCESSIBLE, GtkScaleButtonAccessible))
+#define GTK_SCALE_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCALE_BUTTON_ACCESSIBLE, GtkScaleButtonAccessibleClass))
+#define GTK_IS_SCALE_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCALE_BUTTON_ACCESSIBLE))
+#define GTK_IS_SCALE_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCALE_BUTTON_ACCESSIBLE))
+#define GTK_SCALE_BUTTON_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SCALE_BUTTON_ACCESSIBLE, GtkScaleButtonAccessibleClass))
+
+typedef struct _GtkScaleButtonAccessible GtkScaleButtonAccessible;
+typedef struct _GtkScaleButtonAccessibleClass GtkScaleButtonAccessibleClass;
+
+struct _GtkScaleButtonAccessible
+{
+ GtkButtonAccessible parent;
+};
+
+struct _GtkScaleButtonAccessibleClass
+{
+ GtkButtonAccessibleClass parent_class;
+};
+
+GType _gtk_scale_button_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_SCALE_BUTTON_ACCESSIBLE_H__ */
#include "config.h"
#include <gtk/gtk.h>
-#include "gailscrollbar.h"
+#include "gtkscrollbaraccessible.h"
-static void gail_scrollbar_class_init (GailScrollbarClass *klass);
-static void gail_scrollbar_init (GailScrollbar *accessible);
-static void gail_scrollbar_initialize (AtkObject *accessible,
- gpointer data);
-static gint gail_scrollbar_get_index_in_parent (AtkObject *accessible);
-
-G_DEFINE_TYPE (GailScrollbar, gail_scrollbar, GAIL_TYPE_RANGE)
-
-static void
-gail_scrollbar_class_init (GailScrollbarClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->initialize = gail_scrollbar_initialize;
- class->get_index_in_parent = gail_scrollbar_get_index_in_parent;
-}
+G_DEFINE_TYPE (GtkScrollbarAccessible, _gtk_scrollbar_accessible, GTK_TYPE_RANGE_ACCESSIBLE)
static void
-gail_scrollbar_init (GailScrollbar *accessible)
+_gtk_scrollbar_accessible_init (GtkScrollbarAccessible *accessible)
{
}
static void
-gail_scrollbar_initialize (AtkObject *accessible,
- gpointer data)
+gtk_scrollbar_accessible_initialize (AtkObject *accessible,
+ gpointer data)
{
- ATK_OBJECT_CLASS (gail_scrollbar_parent_class)->initialize (accessible, data);
+ ATK_OBJECT_CLASS (_gtk_scrollbar_accessible_parent_class)->initialize (accessible, data);
accessible->role = ATK_ROLE_SCROLL_BAR;
}
static gint
-gail_scrollbar_get_index_in_parent (AtkObject *accessible)
+gtk_scrollbar_accessible_get_index_in_parent (AtkObject *accessible)
{
GtkWidget *widget;
GtkWidget *parent;
gint id;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
-
if (widget == NULL)
- {
- /*
- * State is defunct
- */
return -1;
- }
- g_return_val_if_fail (GTK_IS_SCROLLBAR (widget), -1);
parent = gtk_widget_get_parent (widget);
if (!GTK_IS_SCROLLED_WINDOW (parent))
- return ATK_OBJECT_CLASS (gail_scrollbar_parent_class)->get_index_in_parent (accessible);
+ return ATK_OBJECT_CLASS (_gtk_scrollbar_accessible_parent_class)->get_index_in_parent (accessible);
scrolled_window = GTK_SCROLLED_WINDOW (parent);
id = 0;
}
return -1;
-}
+}
+
+static void
+_gtk_scrollbar_accessible_class_init (GtkScrollbarAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ class->initialize = gtk_scrollbar_accessible_initialize;
+ class->get_index_in_parent = gtk_scrollbar_accessible_get_index_in_parent;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_SCROLLBAR_ACCESSIBLE_H__
+#define __GTK_SCROLLBAR_ACCESSIBLE_H__
+
+#include "gtkrangeaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_SCROLLBAR_ACCESSIBLE (_gtk_scrollbar_accessible_get_type ())
+#define GTK_SCROLLBAR_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCROLLBAR_ACCESSIBLE, GtkScrollbarAccessible))
+#define GTK_SCROLLBAR_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCROLLBAR_ACCESSIBLE, GtkScrollbarAccessibleClass))
+#define GTK_IS_SCROLLBAR_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCROLLBAR_ACCESSIBLE))
+#define GTK_IS_SCROLLBAR_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCROLLBAR_ACCESSIBLE))
+#define GTK_SCROLLBAR_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SCROLLBAR_ACCESSIBLE, GtkScrollbarAccessibleClass))
+
+typedef struct _GtkScrollbarAccessible GtkScrollbarAccessible;
+typedef struct _GtkScrollbarAccessibleClass GtkScrollbarAccessibleClass;
+
+struct _GtkScrollbarAccessible
+{
+ GtkRangeAccessible parent;
+};
+
+struct _GtkScrollbarAccessibleClass
+{
+ GtkRangeAccessibleClass parent_class;
+};
+
+GType _gtk_scrollbar_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_SCROLLBAR_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Enabling Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkscrolledwindowaccessible.h"
+
+
+G_DEFINE_TYPE (GtkScrolledWindowAccessible, _gtk_scrolled_window_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE)
+
+static void
+visibility_changed (GObject *object,
+ GParamSpec *pspec,
+ gpointer user_data)
+{
+ if (!g_strcmp0 (pspec->name, "visible"))
+ {
+ gint index;
+ gint n_children;
+ gboolean child_added = FALSE;
+ GList *children;
+ AtkObject *child;
+ GtkWidget *widget;
+ GtkScrolledWindow *scrolled_window;
+ GtkWidget *hscrollbar, *vscrollbar;
+ GtkAccessible *accessible = GTK_ACCESSIBLE (user_data);
+
+ widget = gtk_accessible_get_widget (user_data);
+ if (widget == NULL)
+ return;
+
+ scrolled_window = GTK_SCROLLED_WINDOW (widget);
+ children = gtk_container_get_children (GTK_CONTAINER (widget));
+ index = n_children = g_list_length (children);
+ g_list_free (children);
+
+ hscrollbar = gtk_scrolled_window_get_hscrollbar (scrolled_window);
+ vscrollbar = gtk_scrolled_window_get_vscrollbar (scrolled_window);
+
+ if ((gpointer) object == (gpointer) (hscrollbar))
+ {
+ if (gtk_scrolled_window_get_hscrollbar (scrolled_window))
+ child_added = TRUE;
+
+ child = gtk_widget_get_accessible (hscrollbar);
+ }
+ else if ((gpointer) object == (gpointer) (vscrollbar))
+ {
+ if (gtk_scrolled_window_get_vscrollbar (scrolled_window))
+ child_added = TRUE;
+
+ child = gtk_widget_get_accessible (vscrollbar);
+ if (gtk_scrolled_window_get_hscrollbar (scrolled_window))
+ index = n_children + 1;
+ }
+ else
+ {
+ g_assert_not_reached ();
+ return;
+ }
+
+ if (child_added)
+ g_signal_emit_by_name (accessible, "children-changed::add", index, child, NULL);
+ else
+ g_signal_emit_by_name (accessible, "children-changed::remove", index, child, NULL);
+
+ }
+}
+
+static void
+gtk_scrolled_window_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkScrolledWindow *window;
+
+ ATK_OBJECT_CLASS (_gtk_scrolled_window_accessible_parent_class)->initialize (obj, data);
+
+ window = GTK_SCROLLED_WINDOW (data);
+
+ g_signal_connect_data (gtk_scrolled_window_get_hscrollbar (window), "notify::visible",
+ G_CALLBACK (visibility_changed),
+ obj, NULL, FALSE);
+ g_signal_connect_data (gtk_scrolled_window_get_vscrollbar (window), "notify::visible",
+ G_CALLBACK (visibility_changed),
+ obj, NULL, FALSE);
+
+ obj->role = ATK_ROLE_SCROLL_PANE;
+}
+
+static gint
+gtk_scrolled_window_accessible_get_n_children (AtkObject *object)
+{
+ GtkWidget *widget;
+ GtkScrolledWindow *scrolled_window;
+ GList *children;
+ gint n_children;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (object));
+ if (widget == NULL)
+ return 0;
+
+ scrolled_window = GTK_SCROLLED_WINDOW (widget);
+
+ children = gtk_container_get_children (GTK_CONTAINER (widget));
+ n_children = g_list_length (children);
+ g_list_free (children);
+
+ if (gtk_scrolled_window_get_hscrollbar (scrolled_window))
+ n_children++;
+ if (gtk_scrolled_window_get_vscrollbar (scrolled_window))
+ n_children++;
+
+ return n_children;
+}
+
+static AtkObject *
+gtk_scrolled_window_accessible_ref_child (AtkObject *obj,
+ gint child)
+{
+ GtkWidget *widget;
+ GtkScrolledWindow *scrolled_window;
+ GtkWidget *hscrollbar, *vscrollbar;
+ GList *children, *tmp_list;
+ gint n_children;
+ AtkObject *accessible = NULL;
+
+ g_return_val_if_fail (child >= 0, NULL);
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ scrolled_window = GTK_SCROLLED_WINDOW (widget);
+ hscrollbar = gtk_scrolled_window_get_hscrollbar (scrolled_window);
+ vscrollbar = gtk_scrolled_window_get_vscrollbar (scrolled_window);
+
+ children = gtk_container_get_children (GTK_CONTAINER (widget));
+ n_children = g_list_length (children);
+
+ if (child == n_children)
+ {
+ if (gtk_scrolled_window_get_hscrollbar (scrolled_window))
+ accessible = gtk_widget_get_accessible (hscrollbar);
+ else if (gtk_scrolled_window_get_vscrollbar (scrolled_window))
+ accessible = gtk_widget_get_accessible (vscrollbar);
+ }
+ else if (child == n_children + 1 &&
+ gtk_scrolled_window_get_hscrollbar (scrolled_window) &&
+ gtk_scrolled_window_get_vscrollbar (scrolled_window))
+ accessible = gtk_widget_get_accessible (vscrollbar);
+ else if (child < n_children)
+ {
+ tmp_list = g_list_nth (children, child);
+ if (tmp_list)
+ accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data));
+ }
+
+ g_list_free (children);
+ if (accessible)
+ g_object_ref (accessible);
+
+ return accessible;
+}
+
+static void
+_gtk_scrolled_window_accessible_class_init (GtkScrolledWindowAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ class->get_n_children = gtk_scrolled_window_accessible_get_n_children;
+ class->ref_child = gtk_scrolled_window_accessible_ref_child;
+ class->initialize = gtk_scrolled_window_accessible_initialize;
+}
+
+static void
+_gtk_scrolled_window_accessible_init (GtkScrolledWindowAccessible *window)
+{
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_SCROLLED_WINDOW_ACCESSIBLE_H__
+#define __GTK_SCROLLED_WINDOW_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_SCROLLED_WINDOW_ACCESSIBLE (_gtk_scrolled_window_accessible_get_type ())
+#define GTK_SCROLLED_WINDOW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCROLLED_WINDOW_ACCESSIBLE, GtkScrolledWindowAccessible))
+#define GTK_SCROLLED_WINDOW_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCROLLED_WINDOW_ACCESSIBLE, GtkScrolledWindowAccessibleClass))
+#define GTK_IS_SCROLLED_WINDOW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCROLLED_WINDOW_ACCESSIBLE))
+#define GTK_IS_SCROLLED_WINDOW_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCROLLED_WINDOW_ACCESSIBLE))
+#define GTK_SCROLLED_WINDOW_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SCROLLED_WINDOW_ACCESSIBLE, GtkScrolledWindowAccessibleClass))
+
+typedef struct _GtkScrolledWindowAccessible GtkScrolledWindowAccessible;
+typedef struct _GtkScrolledWindowAccessibleClass GtkScrolledWindowAccessibleClass;
+
+struct _GtkScrolledWindowAccessible
+{
+ GtkContainerAccessible parent;
+};
+
+struct _GtkScrolledWindowAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_scrolled_window_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_SCROLLED_WINDOW_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <gtk/gtk.h>
+#include "gtkspinbuttonaccessible.h"
+
+
+static void atk_value_interface_init (AtkValueIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkSpinButtonAccessible, _gtk_spin_button_accessible, GTK_TYPE_ENTRY_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
+
+static void
+gtk_spin_button_accessible_value_changed (GtkAdjustment *adjustment,
+ gpointer data)
+{
+ GtkSpinButtonAccessible *spin_button;
+
+ if (adjustment == NULL || data == NULL)
+ return;
+
+ spin_button = GTK_SPIN_BUTTON_ACCESSIBLE (data);
+
+ g_object_notify (G_OBJECT (spin_button), "accessible-value");
+}
+
+static void
+gtk_spin_button_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkAdjustment *adjustment;
+
+ ATK_OBJECT_CLASS (_gtk_spin_button_accessible_parent_class)->initialize (obj, data);
+
+ adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (data));
+ if (adjustment)
+ g_signal_connect (adjustment,
+ "value-changed",
+ G_CALLBACK (gtk_spin_button_accessible_value_changed),
+ obj);
+
+ obj->role = ATK_ROLE_SPIN_BUTTON;
+}
+
+static void
+gtk_spin_button_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkWidget *widget = GTK_WIDGET (obj);
+ GtkSpinButtonAccessible *spin_button = GTK_SPIN_BUTTON_ACCESSIBLE (gtk_widget_get_accessible (widget));
+
+ if (strcmp (pspec->name, "adjustment") == 0)
+ {
+ GtkAdjustment* adjustment;
+
+ adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget));
+ g_signal_connect (adjustment, "value-changed",
+ G_CALLBACK (gtk_spin_button_accessible_value_changed),
+ spin_button);
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_spin_button_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+
+
+static void
+_gtk_spin_button_accessible_class_init (GtkSpinButtonAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+
+ widget_class->notify_gtk = gtk_spin_button_accessible_notify_gtk;
+
+ class->initialize = gtk_spin_button_accessible_initialize;
+}
+
+static void
+_gtk_spin_button_accessible_init (GtkSpinButtonAccessible *button)
+{
+}
+
+static void
+gtk_spin_button_accessible_get_current_value (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget));
+ if (adjustment == NULL)
+ return;
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_adjustment_get_value (adjustment));
+}
+
+static void
+gtk_spin_button_accessible_get_maximum_value (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget));
+ if (adjustment == NULL)
+ return;
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_adjustment_get_upper (adjustment));
+}
+
+static void
+gtk_spin_button_accessible_get_minimum_value (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget));
+ if (adjustment == NULL)
+ return;
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_adjustment_get_lower (adjustment));
+}
+
+static void
+gtk_spin_button_accessible_get_minimum_increment (AtkValue *obj,
+ GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget));
+ if (adjustment == NULL)
+ return;
+
+ memset (value, 0, sizeof (GValue));
+ g_value_init (value, G_TYPE_DOUBLE);
+ g_value_set_double (value, gtk_adjustment_get_minimum_increment (adjustment));
+}
+
+static gboolean
+gtk_spin_button_accessible_set_current_value (AtkValue *obj,
+ const GValue *value)
+{
+ GtkWidget *widget;
+ GtkAdjustment *adjustment;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget));
+ if (adjustment == NULL)
+ return FALSE;
+
+ gtk_adjustment_set_value (adjustment, g_value_get_double (value));
+
+ return TRUE;
+}
+
+static void
+atk_value_interface_init (AtkValueIface *iface)
+{
+ iface->get_current_value = gtk_spin_button_accessible_get_current_value;
+ iface->get_maximum_value = gtk_spin_button_accessible_get_maximum_value;
+ iface->get_minimum_value = gtk_spin_button_accessible_get_minimum_value;
+ iface->get_minimum_increment = gtk_spin_button_accessible_get_minimum_increment;
+ iface->set_current_value = gtk_spin_button_accessible_set_current_value;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_SPIN_BUTTON_ACCESSIBLE_H__
+#define __GTK_SPIN_BUTTON_ACCESSIBLE_H__
+
+#include "gtkentryaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_SPIN_BUTTON_ACCESSIBLE (_gtk_spin_button_accessible_get_type ())
+#define GTK_SPIN_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON_ACCESSIBLE, GtkSpinButtonAccessible))
+#define GTK_SPIN_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SPIN_BUTTON_ACCESSIBLE, GtkSpinButtonAccessibleClass))
+#define GTK_IS_SPIN_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SPIN_BUTTON_ACCESSIBLE))
+#define GTK_IS_SPIN_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SPIN_BUTTON_ACCESSIBLE))
+#define GTK_SPIN_BUTTON_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SPIN_BUTTON_ACCESSIBLE, GtkSpinButtonAccessibleClass))
+
+typedef struct _GtkSpinButtonAccessible GtkSpinButtonAccessible;
+typedef struct _GtkSpinButtonAccessibleClass GtkSpinButtonAccessibleClass;
+
+struct _GtkSpinButtonAccessible
+{
+ GtkEntryAccessible parent;
+};
+
+struct _GtkSpinButtonAccessibleClass
+{
+ GtkEntryAccessibleClass parent_class;
+};
+
+GType _gtk_spin_button_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_SPIN_BUTTON_ACCESSIBLE_H__ */
--- /dev/null
+/* GTK - The GIMP Toolkit
+ *
+ * Copyright (C) 2007 John Stowers, Neil Jagdish Patel.
+ * Copyright (C) 2009 Bastien Nocera, David Zeuthen
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Code adapted from egg-spinner
+ * by Christian Hergert <christian.hergert@gmail.com>
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkintl.h"
+#include "gtkspinneraccessible.h"
+
+static void atk_image_interface_init (AtkImageIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkSpinnerAccessible, _gtk_spinner_accessible, GTK_TYPE_WIDGET_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init));
+
+static void
+gtk_spinner_accessible_initialize (AtkObject *accessible,
+ gpointer widget)
+{
+ ATK_OBJECT_CLASS (_gtk_spinner_accessible_parent_class)->initialize (accessible, widget);
+
+ atk_object_set_name (accessible, C_("throbbing progress animation widget", "Spinner"));
+ atk_object_set_description (accessible, _("Provides visual indication of progress"));
+ atk_object_set_role (accessible, ATK_ROLE_ANIMATION);
+}
+
+static void
+_gtk_spinner_accessible_class_init (GtkSpinnerAccessibleClass *klass)
+{
+ AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass);
+
+ atk_class->initialize = gtk_spinner_accessible_initialize;
+}
+
+static void
+_gtk_spinner_accessible_init (GtkSpinnerAccessible *self)
+{
+}
+
+static void
+gtk_spinner_accessible_image_get_size (AtkImage *image,
+ gint *width,
+ gint *height)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
+ if (widget == NULL)
+ {
+ *width = 0;
+ *height = 0;
+ return;
+ }
+
+ *width = gtk_widget_get_allocated_width (widget);
+ *height = gtk_widget_get_allocated_height (widget);
+}
+
+static void
+atk_image_interface_init (AtkImageIface *iface)
+{
+ iface->get_image_size = gtk_spinner_accessible_image_get_size;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_SPINNER_ACCESSIBLE_H__
+#define __GTK_SPINNER_ACCESSIBLE_H__
+
+#include "gtkwidgetaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_SPINNER_ACCESSIBLE (_gtk_spinner_accessible_get_type ())
+#define GTK_SPINNER_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPINNER_ACCESSIBLE, GtkSpinnerAccessible))
+#define GTK_SPINNER_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SPINNER_ACCESSIBLE, GtkSpinnerAccessibleClass))
+#define GTK_IS_SPINNER_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SPINNER_ACCESSIBLE))
+#define GTK_IS_SPINNER_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SPINNER_ACCESSIBLE))
+#define GTK_SPINNER_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SPINNER_ACCESSIBLE, GtkSpinnerAccessibleClass))
+
+typedef struct _GtkSpinnerAccessible GtkSpinnerAccessible;
+typedef struct _GtkSpinnerAccessibleClass GtkSpinnerAccessibleClass;
+
+struct _GtkSpinnerAccessible
+{
+ GtkWidgetAccessible parent;
+};
+
+struct _GtkSpinnerAccessibleClass
+{
+ GtkWidgetAccessibleClass parent_class;
+};
+
+GType _gtk_spinner_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_SPINNER_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <gtk/gtk.h>
+#include "gtkstatusbaraccessible.h"
+
+
+G_DEFINE_TYPE (GtkStatusbarAccessible, _gtk_statusbar_accessible, GTK_TYPE_BOX_ACCESSIBLE)
+
+static void
+text_changed (GtkStatusbar *statusbar,
+ guint context_id,
+ const gchar *text,
+ AtkObject *obj)
+{
+ if (!obj->name)
+ g_object_notify (G_OBJECT (obj), "accessible-name");
+ g_signal_emit_by_name (obj, "visible-data-changed");
+}
+
+static void
+gtk_statusbar_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkWidget *statusbar = data;
+
+ ATK_OBJECT_CLASS (_gtk_statusbar_accessible_parent_class)->initialize (obj, data);
+
+ g_signal_connect_after (statusbar, "text-pushed",
+ G_CALLBACK (text_changed), obj);
+ g_signal_connect_after (statusbar, "text-popped",
+ G_CALLBACK (text_changed), obj);
+
+ obj->role = ATK_ROLE_STATUSBAR;
+}
+
+static GtkWidget *
+find_label_child (GtkContainer *container)
+{
+ GList *children, *tmp_list;
+ GtkWidget *child;
+
+ children = gtk_container_get_children (container);
+
+ child = NULL;
+ for (tmp_list = children; tmp_list != NULL; tmp_list = tmp_list->next)
+ {
+ if (GTK_IS_LABEL (tmp_list->data))
+ {
+ child = GTK_WIDGET (tmp_list->data);
+ break;
+ }
+ else if (GTK_IS_CONTAINER (tmp_list->data))
+ {
+ child = find_label_child (GTK_CONTAINER (tmp_list->data));
+ if (child)
+ break;
+ }
+ }
+ g_list_free (children);
+
+ return child;
+}
+
+static GtkWidget *
+get_label_from_statusbar (GtkStatusbar *statusbar)
+{
+ GtkWidget *box;
+
+ box = gtk_statusbar_get_message_area (statusbar);
+
+ return find_label_child (GTK_CONTAINER (box));
+}
+
+static const gchar *
+gtk_statusbar_accessible_get_name (AtkObject *obj)
+{
+ const gchar *name;
+ GtkWidget *widget;
+ GtkWidget *label;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ name = ATK_OBJECT_CLASS (_gtk_statusbar_accessible_parent_class)->get_name (obj);
+ if (name != NULL)
+ return name;
+
+ label = get_label_from_statusbar (GTK_STATUSBAR (widget));
+ if (GTK_IS_LABEL (label))
+ return gtk_label_get_label (GTK_LABEL (label));
+
+ return NULL;
+}
+
+static gint
+gtk_statusbar_accessible_get_n_children (AtkObject *obj)
+{
+ return 0;
+}
+
+static AtkObject*
+gtk_statusbar_accessible_ref_child (AtkObject *obj,
+ gint i)
+{
+ return NULL;
+}
+
+static void
+_gtk_statusbar_accessible_class_init (GtkStatusbarAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkContainerAccessibleClass *container_class = (GtkContainerAccessibleClass*)klass;
+
+ class->get_name = gtk_statusbar_accessible_get_name;
+ class->get_n_children = gtk_statusbar_accessible_get_n_children;
+ class->ref_child = gtk_statusbar_accessible_ref_child;
+ class->initialize = gtk_statusbar_accessible_initialize;
+ /*
+ * As we report the statusbar as having no children
+ * we are not interested in add and remove signals
+ */
+ container_class->add_gtk = NULL;
+ container_class->remove_gtk = NULL;
+}
+
+static void
+_gtk_statusbar_accessible_init (GtkStatusbarAccessible *bar)
+{
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_STATUSBAR_ACCESSIBLE_H__
+#define __GTK_STATUSBAR_ACCESSIBLE_H__
+
+#include "gtkboxaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_STATUSBAR_ACCESSIBLE (_gtk_statusbar_accessible_get_type ())
+#define GTK_STATUSBAR_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_STATUSBAR_ACCESSIBLE, GtkStatusbarAccessible))
+#define GTK_STATUSBAR_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_STATUSBAR_ACCESSIBLE, GtkStatusbarAccessibleClass))
+#define GTK_IS_STATUSBAR_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_STATUSBAR_ACCESSIBLE))
+#define GTK_IS_STATUSBAR_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_STATUSBAR_ACCESSIBLE))
+#define GTK_STATUSBAR_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_STATUSBAR_ACCESSIBLE, GtkStatusbarAccessibleClass))
+
+typedef struct _GtkStatusbarAccessible GtkStatusbarAccessible;
+typedef struct _GtkStatusbarAccessibleClass GtkStatusbarAccessibleClass;
+
+struct _GtkStatusbarAccessible
+{
+ GtkBoxAccessible parent;
+};
+
+struct _GtkStatusbarAccessibleClass
+{
+ GtkBoxAccessibleClass parent_class;
+};
+
+GType _gtk_statusbar_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_STATUSBAR_ACCESSIBLE_H__ */
--- /dev/null
+/* GTK - The GIMP Toolkit
+ *
+ * Copyright (C) 2010 Intel Corporation
+ * Copyright (C) 2010 RedHat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author:
+ * Emmanuele Bassi <ebassi@linux.intel.com>
+ * Matthias Clasen <mclasen@redhat.com>
+ *
+ * Based on similar code from Mx.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "gtkintl.h"
+#include "gtkswitchaccessible.h"
+
+
+static void atk_action_interface_init (AtkActionIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkSwitchAccessible, _gtk_switch_accessible, GTK_TYPE_WIDGET_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
+
+static AtkStateSet *
+gtk_switch_accessible_ref_state_set (AtkObject *accessible)
+{
+ AtkStateSet *state_set;
+ GtkWidget *widget;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_switch_accessible_parent_class)->ref_state_set (accessible);
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return state_set;
+
+ if (gtk_switch_get_active (GTK_SWITCH (widget)))
+ atk_state_set_add_state (state_set, ATK_STATE_CHECKED);
+
+ return state_set;
+}
+
+static void
+gtk_switch_accessible_initialize (AtkObject *accessible,
+ gpointer widget)
+{
+ ATK_OBJECT_CLASS (_gtk_switch_accessible_parent_class)->initialize (accessible, widget);
+
+ atk_object_set_role (accessible, ATK_ROLE_TOGGLE_BUTTON);
+ atk_object_set_name (accessible, C_("light switch widget", "Switch"));
+ atk_object_set_description (accessible, _("Switches between on and off states"));
+}
+
+static void
+_gtk_switch_accessible_class_init (GtkSwitchAccessibleClass *klass)
+{
+ AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass);
+
+ atk_class->initialize = gtk_switch_accessible_initialize;
+ atk_class->ref_state_set = gtk_switch_accessible_ref_state_set;
+}
+
+static void
+_gtk_switch_accessible_init (GtkSwitchAccessible *self)
+{
+}
+
+static gint
+gtk_switch_action_get_n_actions (AtkAction *action)
+{
+ return 1;
+}
+
+static const gchar *
+gtk_switch_action_get_name (AtkAction *action,
+ gint i)
+{
+ if (i != 0)
+ return NULL;
+
+ return "toggle";
+}
+
+static gboolean
+gtk_switch_action_do_action (AtkAction *action,
+ gint i)
+{
+ GtkSwitch *sw;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
+ if (widget == NULL)
+ return FALSE;
+
+ if (i != 0)
+ return FALSE;
+
+ if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
+ return FALSE;
+
+ sw = GTK_SWITCH (widget);
+ gtk_switch_set_active (sw, !gtk_switch_get_active (sw));
+
+ return TRUE;
+}
+
+static void
+atk_action_interface_init (AtkActionIface *iface)
+{
+ iface->do_action = gtk_switch_action_do_action;
+ iface->get_n_actions = gtk_switch_action_get_n_actions;
+ iface->get_name = gtk_switch_action_get_name;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_SWITCH_ACCESSIBLE_H__
+#define __GTK_SWITCH_ACCESSIBLE_H__
+
+#include "gtkwidgetaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_SWITCH_ACCESSIBLE (_gtk_switch_accessible_get_type ())
+#define GTK_SWITCH_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SWITCH_ACCESSIBLE, GtkSwitchAccessible))
+#define GTK_SWITCH_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SWITCH_ACCESSIBLE, GtkSwitchAccessibleClass))
+#define GTK_IS_SWITCH_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SWITCH_ACCESSIBLE))
+#define GTK_IS_SWITCH_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SWITCH_ACCESSIBLE))
+#define GTK_SWITCH_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SWITCH_ACCESSIBLE, GtkSwitchAccessibleClass))
+
+typedef struct _GtkSwitchAccessible GtkSwitchAccessible;
+typedef struct _GtkSwitchAccessibleClass GtkSwitchAccessibleClass;
+
+struct _GtkSwitchAccessible
+{
+ GtkWidgetAccessible parent;
+};
+
+struct _GtkSwitchAccessibleClass
+{
+ GtkWidgetAccessibleClass parent_class;
+};
+
+GType _gtk_switch_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_SWITCH_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Enabling Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include "../gtkpango.h"
+#include "gtktextcellaccessible.h"
+#include "gtkcontainercellaccessible.h"
+#include "gtkcellaccessibleparent.h"
+
+static const gchar* gtk_text_cell_accessible_get_name (AtkObject *atk_obj);
+
+
+/* atktext.h */
+
+static gchar* gtk_text_cell_accessible_get_text (AtkText *text,
+ gint start_pos,
+ gint end_pos);
+static gunichar gtk_text_cell_accessible_get_character_at_offset (AtkText *text,
+ gint offset);
+static gchar* gtk_text_cell_accessible_get_text_before_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset);
+static gchar* gtk_text_cell_accessible_get_text_at_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset);
+static gchar* gtk_text_cell_accessible_get_text_after_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset);
+static gint gtk_text_cell_accessible_get_character_count (AtkText *text);
+static gint gtk_text_cell_accessible_get_caret_offset (AtkText *text);
+static gboolean gtk_text_cell_accessible_set_caret_offset (AtkText *text,
+ gint offset);
+static void gtk_text_cell_accessible_get_character_extents (AtkText *text,
+ gint offset,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coords);
+static gint gtk_text_cell_accessible_get_offset_at_point (AtkText *text,
+ gint x,
+ gint y,
+ AtkCoordType coords);
+static AtkAttributeSet* gtk_text_cell_accessible_get_run_attributes
+ (AtkText *text,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset);
+static AtkAttributeSet* gtk_text_cell_accessible_get_default_attributes
+ (AtkText *text);
+
+static GtkWidget* get_widget (GtkTextCellAccessible *cell);
+static PangoLayout* create_pango_layout (GtkTextCellAccessible *cell);
+static void add_attr (PangoAttrList *attr_list,
+ PangoAttribute *attr);
+
+/* Misc */
+
+static gboolean gtk_text_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
+ gboolean emit_change_signal);
+
+static gchar *property_list[] = {
+ /* Set font_desc first since it resets other values if it is NULL */
+ "font-desc",
+ "attributes",
+ "background-gdk",
+ "editable",
+ "family",
+ "foreground-gdk",
+ "rise",
+ "scale",
+ "size",
+ "size-points",
+ "stretch",
+ "strikethrough",
+ "style",
+ "text",
+ "underline",
+ "variant",
+ "weight",
+
+ /* Also need the sets */
+ "background-set",
+ "editable-set",
+ "family-set",
+ "foreground-set",
+ "rise-set",
+ "scale-set",
+ "size-set",
+ "stretch-set",
+ "strikethrough-set",
+ "style-set",
+ "underline-set",
+ "variant-set",
+ "weight-set",
+ NULL
+};
+
+static void atk_text_interface_init (AtkTextIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkTextCellAccessible, _gtk_text_cell_accessible, GTK_TYPE_RENDERER_CELL_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
+
+
+static void
+gtk_text_cell_accessible_finalize (GObject *object)
+{
+ GtkTextCellAccessible *text_cell = GTK_TEXT_CELL_ACCESSIBLE (object);
+
+ g_free (text_cell->cell_text);
+
+ G_OBJECT_CLASS (_gtk_text_cell_accessible_parent_class)->finalize (object);
+}
+
+static const gchar *
+gtk_text_cell_accessible_get_name (AtkObject *atk_obj)
+{
+ GtkTextCellAccessible *text_cell = GTK_TEXT_CELL_ACCESSIBLE (atk_obj);
+
+ if (atk_obj->name)
+ return atk_obj->name;
+
+ return text_cell->cell_text;
+}
+
+static gboolean
+gtk_text_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
+ gboolean emit_change_signal)
+{
+ GtkTextCellAccessible *text_cell = GTK_TEXT_CELL_ACCESSIBLE (cell);
+ AtkObject *obj = ATK_OBJECT (cell);
+ gboolean rv = FALSE;
+ gint temp_length;
+ gchar *text;
+
+ g_object_get (G_OBJECT (cell->renderer), "text", &text, NULL);
+
+ if (text_cell->cell_text)
+ {
+ if (text == NULL || g_strcmp0 (text_cell->cell_text, text) != 0)
+ {
+ g_free (text_cell->cell_text);
+ temp_length = text_cell->cell_length;
+ text_cell->cell_text = NULL;
+ text_cell->cell_length = 0;
+ if (emit_change_signal)
+ {
+ g_signal_emit_by_name (cell, "text-changed::delete", 0, temp_length);
+ if (obj->name == NULL)
+ g_object_notify (G_OBJECT (obj), "accessible-name");
+ }
+ if (text)
+ rv = TRUE;
+ }
+ }
+ else
+ rv = TRUE;
+
+ if (rv)
+ {
+ if (text == NULL)
+ {
+ text_cell->cell_text = g_strdup ("");
+ text_cell->cell_length = 0;
+ }
+ else
+ {
+ text_cell->cell_text = g_strdup (text);
+ text_cell->cell_length = g_utf8_strlen (text, -1);
+ }
+ }
+
+ g_free (text);
+
+ if (rv)
+ {
+ if (emit_change_signal)
+ {
+ g_signal_emit_by_name (cell, "text-changed::insert",
+ 0, text_cell->cell_length);
+
+ if (obj->name == NULL)
+ g_object_notify (G_OBJECT (obj), "accessible-name");
+ }
+ }
+ return rv;
+}
+
+static void
+_gtk_text_cell_accessible_class_init (GtkTextCellAccessibleClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
+ GtkRendererCellAccessibleClass *renderer_cell_class = GTK_RENDERER_CELL_ACCESSIBLE_CLASS (klass);
+
+ renderer_cell_class->update_cache = gtk_text_cell_accessible_update_cache;
+ renderer_cell_class->property_list = property_list;
+
+ atk_object_class->get_name = gtk_text_cell_accessible_get_name;
+
+ gobject_class->finalize = gtk_text_cell_accessible_finalize;
+}
+
+static void
+_gtk_text_cell_accessible_init (GtkTextCellAccessible *text_cell)
+{
+ text_cell->cell_text = NULL;
+ text_cell->caret_pos = 0;
+ text_cell->cell_length = 0;
+ atk_state_set_add_state (GTK_CELL_ACCESSIBLE (text_cell)->state_set,
+ ATK_STATE_SINGLE_LINE);
+}
+
+AtkObject *
+_gtk_text_cell_accessible_new (void)
+{
+ GObject *object;
+ AtkObject *atk_object;
+ GtkRendererCellAccessible *cell;
+
+ object = g_object_new (GTK_TYPE_TEXT_CELL_ACCESSIBLE, NULL);
+
+ g_return_val_if_fail (object != NULL, NULL);
+
+ atk_object = ATK_OBJECT (object);
+ atk_object->role = ATK_ROLE_TABLE_CELL;
+
+ cell = GTK_RENDERER_CELL_ACCESSIBLE(object);
+
+ cell->renderer = gtk_cell_renderer_text_new ();
+ g_object_ref_sink (cell->renderer);
+
+ return atk_object;
+}
+
+static gchar *
+gtk_text_cell_accessible_get_text (AtkText *atk_text,
+ gint start_pos,
+ gint end_pos)
+{
+ gchar *text;
+
+ text = GTK_TEXT_CELL_ACCESSIBLE (atk_text)->cell_text;
+ if (text)
+ return g_utf8_substring (text, start_pos, end_pos > -1 ? end_pos : g_utf8_strlen (text, -1));
+ else
+ return g_strdup ("");
+}
+
+static gchar *
+gtk_text_cell_accessible_get_text_before_offset (AtkText *atk_text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ PangoLayout *layout;
+ gchar *text;
+
+ layout = create_pango_layout (GTK_TEXT_CELL_ACCESSIBLE (atk_text));
+ text = _gtk_pango_get_text_before (layout, boundary_type, offset, start_offset, end_offset);
+ g_object_unref (layout);
+
+ return text;
+}
+
+static gchar *
+gtk_text_cell_accessible_get_text_at_offset (AtkText *atk_text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ PangoLayout *layout;
+ gchar *text;
+
+ layout = create_pango_layout (GTK_TEXT_CELL_ACCESSIBLE (atk_text));
+ text = _gtk_pango_get_text_at (layout, boundary_type, offset, start_offset, end_offset);
+ g_object_unref (layout);
+
+ return text;
+}
+
+static gchar *
+gtk_text_cell_accessible_get_text_after_offset (AtkText *atk_text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ PangoLayout *layout;
+ gchar *text;
+
+ layout = create_pango_layout (GTK_TEXT_CELL_ACCESSIBLE (atk_text));
+ text = _gtk_pango_get_text_after (layout, boundary_type, offset, start_offset, end_offset);
+ g_object_unref (layout);
+
+ return text;
+}
+
+static gint
+gtk_text_cell_accessible_get_character_count (AtkText *text)
+{
+ if (GTK_TEXT_CELL_ACCESSIBLE (text)->cell_text != NULL)
+ return GTK_TEXT_CELL_ACCESSIBLE (text)->cell_length;
+ else
+ return 0;
+}
+
+static gint
+gtk_text_cell_accessible_get_caret_offset (AtkText *text)
+{
+ return GTK_TEXT_CELL_ACCESSIBLE (text)->caret_pos;
+}
+
+static gboolean
+gtk_text_cell_accessible_set_caret_offset (AtkText *text,
+ gint offset)
+{
+ GtkTextCellAccessible *text_cell = GTK_TEXT_CELL_ACCESSIBLE (text);
+
+ if (text_cell->cell_text == NULL)
+ return FALSE;
+ else
+ {
+ /* Only set the caret within the bounds and if it is to a new position. */
+ if (offset >= 0 &&
+ offset <= text_cell->cell_length &&
+ offset != text_cell->caret_pos)
+ {
+ text_cell->caret_pos = offset;
+
+ /* emit the signal */
+ g_signal_emit_by_name (text, "text-caret-moved", offset);
+ return TRUE;
+ }
+ else
+ return FALSE;
+ }
+}
+
+static AtkAttributeSet *
+gtk_text_cell_accessible_get_run_attributes (AtkText *text,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset)
+{
+ AtkAttributeSet *attrib_set = NULL;
+ PangoLayout *layout;
+
+ layout = create_pango_layout (GTK_TEXT_CELL_ACCESSIBLE (text));
+ attrib_set = _gtk_pango_get_run_attributes (NULL, layout, offset, start_offset, end_offset);
+ g_object_unref (G_OBJECT (layout));
+
+ return attrib_set;
+}
+
+static AtkAttributeSet *
+add_attribute (AtkAttributeSet *attributes,
+ AtkTextAttribute attr,
+ const gchar *value)
+{
+ AtkAttribute *at;
+
+ at = g_new (AtkAttribute, 1);
+ at->name = g_strdup (atk_text_attribute_get_name (attr));
+ at->value = g_strdup (value);
+
+ return g_slist_prepend (attributes, at);
+}
+
+static AtkAttributeSet *
+gtk_text_cell_accessible_get_default_attributes (AtkText *text)
+{
+ AtkAttributeSet *attrib_set = NULL;
+ PangoLayout *layout;
+ GtkWidget *widget;
+
+ layout = create_pango_layout (GTK_TEXT_CELL_ACCESSIBLE (text));
+ widget = get_widget (GTK_TEXT_CELL_ACCESSIBLE (text));
+
+ attrib_set = add_attribute (attrib_set, ATK_TEXT_ATTR_DIRECTION,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION,
+ gtk_widget_get_direction (widget)));
+ attrib_set = _gtk_pango_get_default_attributes (NULL, layout);
+
+ attrib_set = _gtk_style_context_get_attributes (attrib_set,
+ gtk_widget_get_style_context (widget),
+ gtk_widget_get_state_flags (widget));
+
+ g_object_unref (G_OBJECT (layout));
+
+ return attrib_set;
+}
+
+GtkWidget *
+get_widget (GtkTextCellAccessible *text)
+{
+ AtkObject *parent;
+
+ parent = atk_object_get_parent (ATK_OBJECT (text));
+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (parent))
+ parent = atk_object_get_parent (parent);
+
+ return gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
+}
+
+/* This function is used by gtk_text_cell_accessible_get_offset_at_point()
+ * and gtk_text_cell_accessible_get_character_extents(). There is no
+ * cached PangoLayout so we must create a temporary one using this function.
+ */
+static PangoLayout *
+create_pango_layout (GtkTextCellAccessible *text)
+{
+ GdkRGBA *foreground_rgba;
+ PangoAttrList *attr_list, *attributes;
+ PangoLayout *layout;
+ PangoUnderline uline, underline;
+ PangoFontMask mask;
+ PangoFontDescription *font_desc;
+ gboolean foreground_set, strikethrough_set, strikethrough;
+ gboolean scale_set, underline_set, rise_set;
+ gchar *renderer_text;
+ gdouble scale;
+ gint rise;
+ GtkRendererCellAccessible *gail_renderer;
+ GtkCellRendererText *gtk_renderer;
+
+ gail_renderer = GTK_RENDERER_CELL_ACCESSIBLE (text);
+ gtk_renderer = GTK_CELL_RENDERER_TEXT (gail_renderer->renderer);
+
+ g_object_get (gtk_renderer,
+ "text", &renderer_text,
+ "attributes", &attributes,
+ "foreground-set", &foreground_set,
+ "foreground-rgba", &foreground_rgba,
+ "strikethrough-set", &strikethrough_set,
+ "strikethrough", &strikethrough,
+ "font-desc", &font_desc,
+ "scale-set", &scale_set,
+ "scale", &scale,
+ "underline-set", &underline_set,
+ "underline", &underline,
+ "rise-set", &rise_set,
+ "rise", &rise,
+ NULL);
+
+ layout = gtk_widget_create_pango_layout (get_widget (text), renderer_text);
+
+ if (attributes)
+ attr_list = pango_attr_list_copy (attributes);
+ else
+ attr_list = pango_attr_list_new ();
+
+ if (foreground_set)
+ {
+ add_attr (attr_list, pango_attr_foreground_new (foreground_rgba->red * 65535,
+ foreground_rgba->green * 65535,
+ foreground_rgba->blue * 65535));
+ }
+
+ if (strikethrough_set)
+ add_attr (attr_list,
+ pango_attr_strikethrough_new (strikethrough));
+
+ mask = pango_font_description_get_set_fields (font_desc);
+
+ if (mask & PANGO_FONT_MASK_FAMILY)
+ add_attr (attr_list,
+ pango_attr_family_new (pango_font_description_get_family (font_desc)));
+
+ if (mask & PANGO_FONT_MASK_STYLE)
+ add_attr (attr_list, pango_attr_style_new (pango_font_description_get_style (font_desc)));
+
+ if (mask & PANGO_FONT_MASK_VARIANT)
+ add_attr (attr_list, pango_attr_variant_new (pango_font_description_get_variant (font_desc)));
+
+ if (mask & PANGO_FONT_MASK_WEIGHT)
+ add_attr (attr_list, pango_attr_weight_new (pango_font_description_get_weight (font_desc)));
+
+ if (mask & PANGO_FONT_MASK_STRETCH)
+ add_attr (attr_list, pango_attr_stretch_new (pango_font_description_get_stretch (font_desc)));
+
+ if (mask & PANGO_FONT_MASK_SIZE)
+ add_attr (attr_list, pango_attr_size_new (pango_font_description_get_size (font_desc)));
+
+ if (scale_set && scale != 1.0)
+ add_attr (attr_list, pango_attr_scale_new (scale));
+
+ if (underline_set)
+ uline = underline;
+ else
+ uline = PANGO_UNDERLINE_NONE;
+
+ if (uline != PANGO_UNDERLINE_NONE)
+ add_attr (attr_list,
+ pango_attr_underline_new (underline));
+
+ if (rise_set)
+ add_attr (attr_list, pango_attr_rise_new (rise));
+
+ pango_layout_set_attributes (layout, attr_list);
+ pango_layout_set_width (layout, -1);
+ pango_attr_list_unref (attr_list);
+
+ pango_font_description_free (font_desc);
+ pango_attr_list_unref (attributes);
+ g_free (renderer_text);
+ gdk_rgba_free (foreground_rgba);
+
+ return layout;
+}
+
+static void
+add_attr (PangoAttrList *attr_list,
+ PangoAttribute *attr)
+{
+ attr->start_index = 0;
+ attr->end_index = G_MAXINT;
+ pango_attr_list_insert (attr_list, attr);
+}
+
+
+static void
+get_origins (GtkWidget *widget,
+ gint *x_window,
+ gint *y_window,
+ gint *x_toplevel,
+ gint *y_toplevel)
+{
+ GdkWindow *window;
+
+ if (GTK_IS_TREE_VIEW (widget))
+ window = gtk_tree_view_get_bin_window (GTK_TREE_VIEW (widget));
+ else
+ window = gtk_widget_get_window (widget);
+
+ gdk_window_get_origin (window, x_window, y_window);
+ window = gdk_window_get_toplevel (gtk_widget_get_window (widget));
+ gdk_window_get_origin (window, x_toplevel, y_toplevel);
+}
+
+static void
+gtk_text_cell_accessible_get_character_extents (AtkText *text,
+ gint offset,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coords)
+{
+ GtkRendererCellAccessible *gail_renderer;
+ GtkRequisition min_size;
+ GtkCellRendererText *gtk_renderer;
+ GdkRectangle rendered_rect;
+ GtkWidget *widget;
+ AtkObject *parent;
+ PangoRectangle char_rect;
+ PangoLayout *layout;
+ gchar *renderer_text;
+ gfloat xalign, yalign;
+ gint x_offset, y_offset, index;
+ gint xpad, ypad;
+ gint x_window, y_window, x_toplevel, y_toplevel;
+
+ if (!GTK_TEXT_CELL_ACCESSIBLE (text)->cell_text)
+ {
+ *x = *y = *height = *width = 0;
+ return;
+ }
+ if (offset < 0 || offset >= GTK_TEXT_CELL_ACCESSIBLE (text)->cell_length)
+ {
+ *x = *y = *height = *width = 0;
+ return;
+ }
+ gail_renderer = GTK_RENDERER_CELL_ACCESSIBLE (text);
+ gtk_renderer = GTK_CELL_RENDERER_TEXT (gail_renderer->renderer);
+
+ g_object_get (gtk_renderer, "text", &renderer_text, NULL);
+ if (text == NULL)
+ {
+ g_free (renderer_text);
+ return;
+ }
+
+ parent = atk_object_get_parent (ATK_OBJECT (text));
+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (parent))
+ parent = atk_object_get_parent (parent);
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
+ g_return_if_fail (GTK_IS_CELL_ACCESSIBLE_PARENT (parent));
+ _gtk_cell_accessible_parent_get_cell_area (GTK_CELL_ACCESSIBLE_PARENT (parent),
+ GTK_CELL_ACCESSIBLE (text),
+ &rendered_rect);
+
+ gtk_cell_renderer_get_preferred_size (GTK_CELL_RENDERER (gtk_renderer),
+ widget,
+ &min_size, NULL);
+
+ gtk_cell_renderer_get_alignment (GTK_CELL_RENDERER (gtk_renderer), &xalign, &yalign);
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ xalign = 1.0 - xalign;
+ x_offset = MAX (0, xalign * (rendered_rect.width - min_size.width));
+ y_offset = MAX (0, yalign * (rendered_rect.height - min_size.height));
+
+ layout = create_pango_layout (GTK_TEXT_CELL_ACCESSIBLE (text));
+
+ index = g_utf8_offset_to_pointer (renderer_text, offset) - renderer_text;
+ pango_layout_index_to_pos (layout, index, &char_rect);
+
+ gtk_cell_renderer_get_padding (gail_renderer->renderer, &xpad, &ypad);
+
+ get_origins (widget, &x_window, &y_window, &x_toplevel, &y_toplevel);
+
+ *x = (char_rect.x / PANGO_SCALE) + x_offset + rendered_rect.x + xpad + x_window;
+ *y = (char_rect.y / PANGO_SCALE) + y_offset + rendered_rect.y + ypad + y_window;
+ *height = char_rect.height / PANGO_SCALE;
+ *width = char_rect.width / PANGO_SCALE;
+
+ if (coords == ATK_XY_WINDOW)
+ {
+ *x -= x_toplevel;
+ *y -= y_toplevel;
+ }
+ else if (coords != ATK_XY_SCREEN)
+ {
+ *x = 0;
+ *y = 0;
+ *height = 0;
+ *width = 0;
+ }
+
+ g_free (renderer_text);
+ g_object_unref (layout);
+}
+
+static gint
+gtk_text_cell_accessible_get_offset_at_point (AtkText *text,
+ gint x,
+ gint y,
+ AtkCoordType coords)
+{
+ AtkObject *parent;
+ GtkRendererCellAccessible *gail_renderer;
+ GtkCellRendererText *gtk_renderer;
+ GtkRequisition min_size;
+ GtkWidget *widget;
+ GdkRectangle rendered_rect;
+ PangoLayout *layout;
+ gchar *renderer_text;
+ gfloat xalign, yalign;
+ gint x_offset, y_offset, index;
+ gint xpad, ypad;
+ gint x_window, y_window, x_toplevel, y_toplevel;
+ gint x_temp, y_temp;
+ gboolean ret;
+
+ if (!GTK_TEXT_CELL_ACCESSIBLE (text)->cell_text)
+ return -1;
+
+ gail_renderer = GTK_RENDERER_CELL_ACCESSIBLE (text);
+ gtk_renderer = GTK_CELL_RENDERER_TEXT (gail_renderer->renderer);
+ parent = atk_object_get_parent (ATK_OBJECT (text));
+
+ g_object_get (gtk_renderer, "text", &renderer_text, NULL);
+ if (text == NULL)
+ {
+ g_free (renderer_text);
+ return -1;
+ }
+
+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (parent))
+ parent = atk_object_get_parent (parent);
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
+
+ g_return_val_if_fail (GTK_IS_CELL_ACCESSIBLE_PARENT (parent), -1);
+ _gtk_cell_accessible_parent_get_cell_area (GTK_CELL_ACCESSIBLE_PARENT (parent),
+ GTK_CELL_ACCESSIBLE (text),
+ &rendered_rect);
+
+ gtk_cell_renderer_get_preferred_size (GTK_CELL_RENDERER (gtk_renderer),
+ widget,
+ &min_size, NULL);
+ gtk_cell_renderer_get_alignment (GTK_CELL_RENDERER (gtk_renderer), &xalign, &yalign);
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ xalign = 1.0 - xalign;
+ x_offset = MAX (0, xalign * (rendered_rect.width - min_size.width));
+ y_offset = MAX (0, yalign * (rendered_rect.height - min_size.height));
+
+ layout = create_pango_layout (GTK_TEXT_CELL_ACCESSIBLE (text));
+
+ gtk_cell_renderer_get_padding (gail_renderer->renderer, &xpad, &ypad);
+
+ get_origins (widget, &x_window, &y_window, &x_toplevel, &y_toplevel);
+
+ x_temp = x - (x_offset + rendered_rect.x + xpad) - x_window;
+ y_temp = y - (y_offset + rendered_rect.y + ypad) - y_window;
+ if (coords == ATK_XY_WINDOW)
+ {
+ x_temp += x_toplevel;
+ y_temp += y_toplevel;
+ }
+ else if (coords != ATK_XY_SCREEN)
+ index = -1;
+
+ ret = pango_layout_xy_to_index (layout,
+ x_temp * PANGO_SCALE,
+ y_temp * PANGO_SCALE,
+ &index, NULL);
+ if (!ret)
+ {
+ if (x_temp < 0 || y_temp < 0)
+ index = 0;
+ else
+ index = -1;
+ }
+
+ g_object_unref (layout);
+ if (index == -1)
+ {
+ if (coords == ATK_XY_WINDOW || coords == ATK_XY_SCREEN)
+ {
+ glong length;
+
+ length = g_utf8_strlen (renderer_text, -1);
+ g_free (renderer_text);
+
+ return length;
+ }
+
+ g_free (renderer_text);
+
+ return index;
+ }
+ else
+ {
+ glong offset;
+
+ offset = g_utf8_pointer_to_offset (renderer_text,
+ renderer_text + index);
+ g_free (renderer_text);
+
+ return offset;
+ }
+}
+
+static gunichar
+gtk_text_cell_accessible_get_character_at_offset (AtkText *text,
+ gint offset)
+{
+ gchar *index;
+ gchar *string;
+
+ string = GTK_TEXT_CELL_ACCESSIBLE(text)->cell_text;
+
+ if (!string)
+ return '\0';
+
+ if (offset >= g_utf8_strlen (string, -1))
+ return '\0';
+
+ index = g_utf8_offset_to_pointer (string, offset);
+
+ return g_utf8_get_char (index);
+}
+
+static void
+atk_text_interface_init (AtkTextIface *iface)
+{
+ iface->get_text = gtk_text_cell_accessible_get_text;
+ iface->get_character_at_offset = gtk_text_cell_accessible_get_character_at_offset;
+ iface->get_text_before_offset = gtk_text_cell_accessible_get_text_before_offset;
+ iface->get_text_at_offset = gtk_text_cell_accessible_get_text_at_offset;
+ iface->get_text_after_offset = gtk_text_cell_accessible_get_text_after_offset;
+ iface->get_character_count = gtk_text_cell_accessible_get_character_count;
+ iface->get_caret_offset = gtk_text_cell_accessible_get_caret_offset;
+ iface->set_caret_offset = gtk_text_cell_accessible_set_caret_offset;
+ iface->get_run_attributes = gtk_text_cell_accessible_get_run_attributes;
+ iface->get_default_attributes = gtk_text_cell_accessible_get_default_attributes;
+ iface->get_character_extents = gtk_text_cell_accessible_get_character_extents;
+ iface->get_offset_at_point = gtk_text_cell_accessible_get_offset_at_point;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Enabling Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_TEXT_CELL_ACCESSIBLE_H__
+#define __GTK_TEXT_CELL_ACCESSIBLE_H__
+
+#include <atk/atk.h>
+#include "gtkrenderercellaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_TEXT_CELL_ACCESSIBLE (_gtk_text_cell_accessible_get_type ())
+#define GTK_TEXT_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_CELL_ACCESSIBLE, GtkTextCellAccessible))
+#define GTK_TEXT_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TEXT_CELL_ACCESSIBLE, GtkTextCellAccessibleClass))
+#define GTK_IS_TEXT_CELL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TEXT_CELL_ACCESSIBLE))
+#define GTK_IS_TEXT_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_CELL_ACCESSIBLE))
+#define GTK_TEXT_CELL_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_CELL_ACCESSIBLE, GtkTextCellAccessibleClass))
+
+typedef struct _GtkTextCellAccessible GtkTextCellAccessible;
+typedef struct _GtkTextCellAccessibleClass GtkTextCellAccessibleClass;
+
+struct _GtkTextCellAccessible
+{
+ GtkRendererCellAccessible parent;
+ gchar *cell_text;
+ gint caret_pos;
+ gint cell_length;
+};
+
+struct _GtkTextCellAccessibleClass
+{
+ GtkRendererCellAccessibleClass parent_class;
+};
+
+GType _gtk_text_cell_accessible_get_type (void);
+AtkObject *_gtk_text_cell_accessible_new (void);
+
+G_END_DECLS
+
+#endif /* __GTK_TEXT_CELL_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <sys/types.h>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#include <string.h>
+#include <stdlib.h>
+#include <glib-object.h>
+#include <glib/gstdio.h>
+#include <gtk/gtk.h>
+#include "gtktextviewaccessible.h"
+
+
+static void setup_buffer (GtkTextView *view,GtkTextViewAccessible *accessible);
+static void insert_text_cb (GtkTextBuffer *buffer,
+ GtkTextIter *arg1,
+ gchar *arg2,
+ gint arg3,
+ gpointer user_data);
+static void delete_range_cb (GtkTextBuffer *buffer,
+ GtkTextIter *arg1,
+ GtkTextIter *arg2,
+ gpointer user_data);
+static void mark_set_cb (GtkTextBuffer *buffer,
+ GtkTextIter *arg1,
+ GtkTextMark *arg2,
+ gpointer user_data);
+
+
+static void atk_editable_text_interface_init (AtkEditableTextIface *iface);
+static void atk_text_interface_init (AtkTextIface *iface);
+static void atk_streamable_content_interface_init (AtkStreamableContentIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkTextViewAccessible, _gtk_text_view_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_EDITABLE_TEXT, atk_editable_text_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_STREAMABLE_CONTENT, atk_streamable_content_interface_init))
+
+
+static void
+gtk_text_view_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (_gtk_text_view_accessible_parent_class)->initialize (obj, data);
+
+ setup_buffer (GTK_TEXT_VIEW (data), GTK_TEXT_VIEW_ACCESSIBLE (obj));
+
+ obj->role = ATK_ROLE_TEXT;
+}
+
+static void
+gtk_text_view_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ AtkObject *atk_obj;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (obj));
+
+ if (!strcmp (pspec->name, "editable"))
+ {
+ gboolean editable;
+
+ editable = gtk_text_view_get_editable (GTK_TEXT_VIEW (obj));
+ atk_object_notify_state_change (atk_obj, ATK_STATE_EDITABLE, editable);
+ }
+ else if (!strcmp (pspec->name, "buffer"))
+ {
+ setup_buffer (GTK_TEXT_VIEW (obj), GTK_TEXT_VIEW_ACCESSIBLE (atk_obj));
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_text_view_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+static AtkStateSet*
+gtk_text_view_accessible_ref_state_set (AtkObject *accessible)
+{
+ AtkStateSet *state_set;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return NULL;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_text_view_accessible_parent_class)->ref_state_set (accessible);
+
+ if (gtk_text_view_get_editable (GTK_TEXT_VIEW (widget)))
+ atk_state_set_add_state (state_set, ATK_STATE_EDITABLE);
+ atk_state_set_add_state (state_set, ATK_STATE_MULTI_LINE);
+
+ return state_set;
+}
+
+static void
+_gtk_text_view_accessible_class_init (GtkTextViewAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+
+ class->ref_state_set = gtk_text_view_accessible_ref_state_set;
+ class->initialize = gtk_text_view_accessible_initialize;
+
+ widget_class->notify_gtk = gtk_text_view_accessible_notify_gtk;
+}
+
+static void
+_gtk_text_view_accessible_init (GtkTextViewAccessible *accessible)
+{
+}
+
+static void
+setup_buffer (GtkTextView *view,
+ GtkTextViewAccessible *accessible)
+{
+ GtkTextBuffer *buffer;
+
+ buffer = gtk_text_view_get_buffer (view);
+
+ /* Set up signal callbacks */
+ g_signal_connect_after (buffer, "insert-text", G_CALLBACK (insert_text_cb), view);
+ g_signal_connect (buffer, "delete-range", G_CALLBACK (delete_range_cb), view);
+ g_signal_connect_after (buffer, "mark-set", G_CALLBACK (mark_set_cb), view);
+}
+
+static gchar *
+gtk_text_view_accessible_get_text (AtkText *text,
+ gint start_offset,
+ gint end_offset)
+{
+ GtkTextView *view;
+ GtkTextBuffer *buffer;
+ GtkTextIter start, end;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ view = GTK_TEXT_VIEW (widget);
+ buffer = gtk_text_view_get_buffer (view);
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, start_offset);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, end_offset);
+
+ return gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+}
+
+static gchar *
+gtk_text_view_accessible_get_text_after_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextIter pos;
+ GtkTextIter start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+ gtk_text_buffer_get_iter_at_offset (buffer, &pos, offset);
+ _gtk_text_buffer_get_text_after (buffer, boundary_type,
+ &pos, &start, &end);
+ *start_offset = gtk_text_iter_get_offset (&start);
+ *end_offset = gtk_text_iter_get_offset (&end);
+ return gtk_text_buffer_get_slice (buffer, &start, &end, FALSE);
+}
+
+static gchar *
+gtk_text_view_accessible_get_text_at_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextIter pos;
+ GtkTextIter start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+ gtk_text_buffer_get_iter_at_offset (buffer, &pos, offset);
+ _gtk_text_buffer_get_text_at (buffer, boundary_type,
+ &pos, &start, &end);
+ *start_offset = gtk_text_iter_get_offset (&start);
+ *end_offset = gtk_text_iter_get_offset (&end);
+ return gtk_text_buffer_get_slice (buffer, &start, &end, FALSE);
+}
+
+static gchar *
+gtk_text_view_accessible_get_text_before_offset (AtkText *text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextIter pos;
+ GtkTextIter start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+ gtk_text_buffer_get_iter_at_offset (buffer, &pos, offset);
+ _gtk_text_buffer_get_text_before (buffer, boundary_type,
+ &pos, &start, &end);
+ *start_offset = gtk_text_iter_get_offset (&start);
+ *end_offset = gtk_text_iter_get_offset (&end);
+ return gtk_text_buffer_get_slice (buffer, &start, &end, FALSE);
+}
+
+static gunichar
+gtk_text_view_accessible_get_character_at_offset (AtkText *text,
+ gint offset)
+{
+ GtkWidget *widget;
+ GtkTextIter start, end;
+ GtkTextBuffer *buffer;
+ gchar *string;
+ gunichar unichar;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return '\0';
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+ if (offset >= gtk_text_buffer_get_char_count (buffer))
+ return '\0';
+
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, offset);
+ end = start;
+ gtk_text_iter_forward_char (&end);
+ string = gtk_text_buffer_get_slice (buffer, &start, &end, FALSE);
+ unichar = g_utf8_get_char (string);
+ g_free (string);
+
+ return unichar;
+}
+
+static gint
+gtk_text_view_accessible_get_character_count (AtkText *text)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return 0;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+ return gtk_text_buffer_get_char_count (buffer);
+}
+
+static gint
+get_insert_offset (GtkTextBuffer *buffer)
+{
+ GtkTextMark *insert;
+ GtkTextIter iter;
+
+ insert = gtk_text_buffer_get_insert (buffer);
+ gtk_text_buffer_get_iter_at_mark (buffer, &iter, insert);
+ return gtk_text_iter_get_offset (&iter);
+}
+
+static gint
+gtk_text_view_accessible_get_caret_offset (AtkText *text)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return 0;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+ return get_insert_offset (buffer);
+}
+
+static gboolean
+gtk_text_view_accessible_set_caret_offset (AtkText *text,
+ gint offset)
+{
+ GtkTextView *view;
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextIter iter;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ view = GTK_TEXT_VIEW (widget);
+ buffer = gtk_text_view_get_buffer (view);
+
+ gtk_text_buffer_get_iter_at_offset (buffer, &iter, offset);
+ gtk_text_buffer_place_cursor (buffer, &iter);
+ gtk_text_view_scroll_to_iter (view, &iter, 0, FALSE, 0, 0);
+
+ return TRUE;
+}
+
+static gint
+gtk_text_view_accessible_get_offset_at_point (AtkText *text,
+ gint x,
+ gint y,
+ AtkCoordType coords)
+{
+ GtkTextView *view;
+ GtkTextIter iter;
+ gint x_widget, y_widget, x_window, y_window, buff_x, buff_y;
+ GtkWidget *widget;
+ GdkWindow *window;
+ GdkRectangle rect;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return -1;
+
+ view = GTK_TEXT_VIEW (widget);
+ window = gtk_text_view_get_window (view, GTK_TEXT_WINDOW_WIDGET);
+ gdk_window_get_origin (window, &x_widget, &y_widget);
+
+ if (coords == ATK_XY_SCREEN)
+ {
+ x = x - x_widget;
+ y = y - y_widget;
+ }
+ else if (coords == ATK_XY_WINDOW)
+ {
+ window = gdk_window_get_toplevel (window);
+ gdk_window_get_origin (window, &x_window, &y_window);
+
+ x = x - x_widget + x_window;
+ y = y - y_widget + y_window;
+ }
+ else
+ return -1;
+
+ gtk_text_view_window_to_buffer_coords (view, GTK_TEXT_WINDOW_WIDGET,
+ x, y, &buff_x, &buff_y);
+ gtk_text_view_get_visible_rect (view, &rect);
+
+ /* Clamp point to visible rectangle */
+ buff_x = CLAMP (buff_x, rect.x, rect.x + rect.width - 1);
+ buff_y = CLAMP (buff_y, rect.y, rect.y + rect.height - 1);
+
+ gtk_text_view_get_iter_at_location (view, &iter, buff_x, buff_y);
+
+ /* The iter at a location sometimes points to the next character.
+ * See bug 111031. We work around that
+ */
+ gtk_text_view_get_iter_location (view, &iter, &rect);
+ if (buff_x < rect.x)
+ gtk_text_iter_backward_char (&iter);
+ return gtk_text_iter_get_offset (&iter);
+}
+
+static void
+gtk_text_view_accessible_get_character_extents (AtkText *text,
+ gint offset,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coords)
+{
+ GtkTextView *view;
+ GtkTextBuffer *buffer;
+ GtkTextIter iter;
+ GtkWidget *widget;
+ GdkRectangle rectangle;
+ GdkWindow *window;
+ gint x_widget, y_widget, x_window, y_window;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ view = GTK_TEXT_VIEW (widget);
+ buffer = gtk_text_view_get_buffer (view);
+ gtk_text_buffer_get_iter_at_offset (buffer, &iter, offset);
+ gtk_text_view_get_iter_location (view, &iter, &rectangle);
+
+ window = gtk_text_view_get_window (view, GTK_TEXT_WINDOW_WIDGET);
+ gdk_window_get_origin (window, &x_widget, &y_widget);
+
+ *height = rectangle.height;
+ *width = rectangle.width;
+
+ gtk_text_view_buffer_to_window_coords (view, GTK_TEXT_WINDOW_WIDGET,
+ rectangle.x, rectangle.y, x, y);
+ if (coords == ATK_XY_WINDOW)
+ {
+ window = gdk_window_get_toplevel (window);
+ gdk_window_get_origin (window, &x_window, &y_window);
+ *x += x_widget - x_window;
+ *y += y_widget - y_window;
+ }
+ else if (coords == ATK_XY_SCREEN)
+ {
+ *x += x_widget;
+ *y += y_widget;
+ }
+ else
+ {
+ *x = 0;
+ *y = 0;
+ *height = 0;
+ *width = 0;
+ }
+}
+
+static AtkAttributeSet *
+add_text_attribute (AtkAttributeSet *attributes,
+ AtkTextAttribute attr,
+ gchar *value)
+{
+ AtkAttribute *at;
+
+ at = g_new (AtkAttribute, 1);
+ at->name = g_strdup (atk_text_attribute_get_name (attr));
+ at->value = value;
+
+ return g_slist_prepend (attributes, at);
+}
+
+static AtkAttributeSet *
+add_text_int_attribute (AtkAttributeSet *attributes,
+ AtkTextAttribute attr,
+ gint i)
+
+{
+ gchar *value;
+
+ value = g_strdup (atk_text_attribute_get_value (attr, i));
+
+ return add_text_attribute (attributes, attr, value);
+}
+
+static AtkAttributeSet *
+gtk_text_view_accessible_get_run_attributes (AtkText *text,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset)
+{
+ GtkTextView *view;
+ GtkTextBuffer *buffer;
+ GtkWidget *widget;
+ GtkTextIter iter;
+ AtkAttributeSet *attrib_set = NULL;
+ GSList *tags, *temp_tags;
+ gdouble scale = 1;
+ gboolean val_set = FALSE;
+
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ view = GTK_TEXT_VIEW (widget);
+ buffer = gtk_text_view_get_buffer (view);
+
+ gtk_text_buffer_get_iter_at_offset (buffer, &iter, offset);
+
+ gtk_text_iter_forward_to_tag_toggle (&iter, NULL);
+ *end_offset = gtk_text_iter_get_offset (&iter);
+
+ gtk_text_iter_backward_to_tag_toggle (&iter, NULL);
+ *start_offset = gtk_text_iter_get_offset (&iter);
+
+ gtk_text_buffer_get_iter_at_offset (buffer, &iter, offset);
+
+ tags = gtk_text_iter_get_tags (&iter);
+ tags = g_slist_reverse (tags);
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "style-set", &val_set, NULL);
+ if (val_set)
+ {
+ PangoStyle style;
+ g_object_get (tag, "style", &style, NULL);
+ attrib_set = add_text_int_attribute (attrib_set, ATK_TEXT_ATTR_STYLE, style);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "variant-set", &val_set, NULL);
+ if (val_set)
+ {
+ PangoVariant variant;
+ g_object_get (tag, "variant", &variant, NULL);
+ attrib_set = add_text_int_attribute (attrib_set, ATK_TEXT_ATTR_VARIANT, variant);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "stretch-set", &val_set, NULL);
+ if (val_set)
+ {
+ PangoStretch stretch;
+ g_object_get (tag, "stretch", &stretch, NULL);
+ attrib_set = add_text_int_attribute (attrib_set, ATK_TEXT_ATTR_STRETCH, stretch);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "justification-set", &val_set, NULL);
+ if (val_set)
+ {
+ GtkJustification justification;
+ g_object_get (tag, "justification", &justification, NULL);
+ attrib_set = add_text_int_attribute (attrib_set, ATK_TEXT_ATTR_JUSTIFICATION, justification);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+ GtkTextDirection direction;
+
+ g_object_get (tag, "direction", &direction, NULL);
+
+ if (direction != GTK_TEXT_DIR_NONE)
+ {
+ val_set = TRUE;
+ attrib_set = add_text_int_attribute (attrib_set, ATK_TEXT_ATTR_DIRECTION, direction);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "wrap-mode-set", &val_set, NULL);
+ if (val_set)
+ {
+ GtkWrapMode wrap_mode;
+ g_object_get (tag, "wrap-mode", &wrap_mode, NULL);
+ attrib_set = add_text_int_attribute (attrib_set, ATK_TEXT_ATTR_WRAP_MODE, wrap_mode);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "foreground-set", &val_set, NULL);
+ if (val_set)
+ {
+ GdkRGBA *rgba;
+ gchar *value;
+
+ g_object_get (tag, "foreground-rgba", &rgba, NULL);
+ value = g_strdup_printf ("%u,%u,%u",
+ (guint) rgba->red * 65535,
+ (guint) rgba->green * 65535,
+ (guint) rgba->blue * 65535);
+ gdk_rgba_free (rgba);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_FG_COLOR, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "background-set", &val_set, NULL);
+ if (val_set)
+ {
+ GdkRGBA *rgba;
+ gchar *value;
+
+ g_object_get (tag, "background-rgba", &rgba, NULL);
+ value = g_strdup_printf ("%u,%u,%u",
+ (guint) rgba->red * 65535,
+ (guint) rgba->green * 65535,
+ (guint) rgba->blue * 65535);
+ gdk_rgba_free (rgba);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_BG_COLOR, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "family-set", &val_set, NULL);
+
+ if (val_set)
+ {
+ gchar *value;
+ g_object_get (tag, "family", &value, NULL);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_FAMILY_NAME, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "language-set", &val_set, NULL);
+
+ if (val_set)
+ {
+ gchar *value;
+ g_object_get (tag, "language", &value, NULL);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_LANGUAGE, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "weight-set", &val_set, NULL);
+
+ if (val_set)
+ {
+ gint weight;
+ gchar *value;
+ g_object_get (tag, "weight", &weight, NULL);
+ value = g_strdup_printf ("%d", weight);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_WEIGHT, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ /* scale is special as the effective value is the product
+ * of all specified values
+ */
+ temp_tags = tags;
+ while (temp_tags)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+ gboolean scale_set;
+
+ g_object_get (tag, "scale-set", &scale_set, NULL);
+ if (scale_set)
+ {
+ gdouble font_scale;
+ g_object_get (tag, "scale", &font_scale, NULL);
+ val_set = TRUE;
+ scale *= font_scale;
+ }
+ temp_tags = temp_tags->next;
+ }
+ if (val_set)
+ {
+ gchar *value;
+ value = g_strdup_printf ("%g", scale);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_SCALE, value);
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "size-set", &val_set, NULL);
+ if (val_set)
+ {
+ gint size;
+ gchar *value;
+ g_object_get (tag, "size", &size, NULL);
+ value = g_strdup_printf ("%i", size);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_SIZE, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "strikethrough-set", &val_set, NULL);
+ if (val_set)
+ {
+ gboolean strikethrough;
+ g_object_get (tag, "strikethrough", &strikethrough, NULL);
+ attrib_set = add_text_int_attribute (attrib_set, ATK_TEXT_ATTR_STRIKETHROUGH, strikethrough);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "underline-set", &val_set, NULL);
+ if (val_set)
+ {
+ PangoUnderline underline;
+ g_object_get (tag, "underline", &underline, NULL);
+ attrib_set = add_text_int_attribute (attrib_set, ATK_TEXT_ATTR_UNDERLINE, underline);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "rise-set", &val_set, NULL);
+ if (val_set)
+ {
+ gint rise;
+ gchar *value;
+ g_object_get (tag, "rise", &rise, NULL);
+ value = g_strdup_printf ("%i", rise);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_RISE, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "background-full-height-set", &val_set, NULL);
+ if (val_set)
+ {
+ gboolean bg_full_height;
+ g_object_get (tag, "background-full-height", &bg_full_height, NULL);
+ attrib_set = add_text_int_attribute (attrib_set, ATK_TEXT_ATTR_BG_FULL_HEIGHT, bg_full_height);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "pixels-inside-wrap-set", &val_set, NULL);
+ if (val_set)
+ {
+ gint pixels;
+ gchar *value;
+ g_object_get (tag, "pixels-inside-wrap", &pixels, NULL);
+ value = g_strdup_printf ("%i", pixels);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "pixels-below-lines-set", &val_set, NULL);
+ if (val_set)
+ {
+ gint pixels;
+ gchar *value;
+ g_object_get (tag, "pixels-below-lines", &pixels, NULL);
+ value = g_strdup_printf ("%i", pixels);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_BELOW_LINES, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "pixels-above-lines-set", &val_set, NULL);
+ if (val_set)
+ {
+ gint pixels;
+ gchar *value;
+ g_object_get (tag, "pixels-above-lines", &pixels, NULL);
+ value = g_strdup_printf ("%i", pixels);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_ABOVE_LINES, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "editable-set", &val_set, NULL);
+ if (val_set)
+ {
+ gboolean editable;
+ g_object_get (tag, "editable", &editable, NULL);
+ attrib_set = add_text_int_attribute (attrib_set, ATK_TEXT_ATTR_EDITABLE, editable);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "invisible-set", &val_set, NULL);
+ if (val_set)
+ {
+ gboolean invisible;
+ g_object_get (tag, "invisible", &invisible, NULL);
+ attrib_set = add_text_int_attribute (attrib_set, ATK_TEXT_ATTR_INVISIBLE, invisible);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "indent-set", &val_set, NULL);
+ if (val_set)
+ {
+ gint indent;
+ gchar *value;
+ g_object_get (tag, "indent", &indent, NULL);
+ value = g_strdup_printf ("%i", indent);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_INDENT, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "right-margin-set", &val_set, NULL);
+ if (val_set)
+ {
+ gint margin;
+ gchar *value;
+ g_object_get (tag, "right-margin", &margin, NULL);
+ value = g_strdup_printf ("%i", margin);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_RIGHT_MARGIN, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ temp_tags = tags;
+ while (temp_tags && !val_set)
+ {
+ GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data);
+
+ g_object_get (tag, "left-margin-set", &val_set, NULL);
+ if (val_set)
+ {
+ gint margin;
+ gchar *value;
+ g_object_get (tag, "left-margin", &margin, NULL);
+ value = g_strdup_printf ("%i", margin);
+ attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_LEFT_MARGIN, value);
+ }
+ temp_tags = temp_tags->next;
+ }
+ val_set = FALSE;
+
+ g_slist_free (tags);
+ return attrib_set;
+}
+
+static AtkAttributeSet *
+gtk_text_view_accessible_get_default_attributes (AtkText *text)
+{
+ GtkTextView *view;
+ GtkWidget *widget;
+ GtkTextAttributes *text_attrs;
+ AtkAttributeSet *attributes;
+ PangoFontDescription *font;
+ gchar *value;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return NULL;
+
+ view = GTK_TEXT_VIEW (widget);
+ text_attrs = gtk_text_view_get_default_attributes (view);
+
+ attributes = NULL;
+
+ font = text_attrs->font;
+
+ if (font)
+ {
+ attributes = add_text_int_attribute (attributes, ATK_TEXT_ATTR_STYLE,
+ pango_font_description_get_style (font));
+
+ attributes = add_text_int_attribute (attributes, ATK_TEXT_ATTR_VARIANT,
+ pango_font_description_get_variant (font));
+
+ attributes = add_text_int_attribute (attributes, ATK_TEXT_ATTR_STRETCH,
+ pango_font_description_get_stretch (font));
+
+ value = g_strdup (pango_font_description_get_family (font));
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_FAMILY_NAME, value);
+
+ value = g_strdup_printf ("%d", pango_font_description_get_weight (font));
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_WEIGHT, value);
+
+ value = g_strdup_printf ("%i", pango_font_description_get_size (font) / PANGO_SCALE);
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_SIZE, value);
+ }
+
+ attributes = add_text_int_attribute (attributes, ATK_TEXT_ATTR_JUSTIFICATION, text_attrs->justification);
+ attributes = add_text_int_attribute (attributes, ATK_TEXT_ATTR_DIRECTION, text_attrs->direction);
+ attributes = add_text_int_attribute (attributes, ATK_TEXT_ATTR_WRAP_MODE, text_attrs->wrap_mode);
+ attributes = add_text_int_attribute (attributes, ATK_TEXT_ATTR_EDITABLE, text_attrs->editable);
+ attributes = add_text_int_attribute (attributes, ATK_TEXT_ATTR_INVISIBLE, text_attrs->invisible);
+ attributes = add_text_int_attribute (attributes, ATK_TEXT_ATTR_BG_FULL_HEIGHT, text_attrs->bg_full_height);
+
+ attributes = add_text_int_attribute (attributes, ATK_TEXT_ATTR_STRIKETHROUGH,
+ text_attrs->appearance.strikethrough);
+ attributes = add_text_int_attribute (attributes, ATK_TEXT_ATTR_UNDERLINE,
+ text_attrs->appearance.underline);
+
+ value = g_strdup_printf ("%u,%u,%u",
+ text_attrs->appearance.bg_color.red,
+ text_attrs->appearance.bg_color.green,
+ text_attrs->appearance.bg_color.blue);
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_BG_COLOR, value);
+
+ value = g_strdup_printf ("%u,%u,%u",
+ text_attrs->appearance.fg_color.red,
+ text_attrs->appearance.fg_color.green,
+ text_attrs->appearance.fg_color.blue);
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_FG_COLOR, value);
+
+ value = g_strdup_printf ("%g", text_attrs->font_scale);
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_SCALE, value);
+
+ value = g_strdup ((gchar *)(text_attrs->language));
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_LANGUAGE, value);
+
+ value = g_strdup_printf ("%i", text_attrs->appearance.rise);
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_RISE, value);
+
+ value = g_strdup_printf ("%i", text_attrs->pixels_inside_wrap);
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP, value);
+
+ value = g_strdup_printf ("%i", text_attrs->pixels_below_lines);
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_PIXELS_BELOW_LINES, value);
+
+ value = g_strdup_printf ("%i", text_attrs->pixels_above_lines);
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_PIXELS_ABOVE_LINES, value);
+
+ value = g_strdup_printf ("%i", text_attrs->indent);
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_INDENT, value);
+
+ value = g_strdup_printf ("%i", text_attrs->left_margin);
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_LEFT_MARGIN, value);
+
+ value = g_strdup_printf ("%i", text_attrs->right_margin);
+ attributes = add_text_attribute (attributes, ATK_TEXT_ATTR_RIGHT_MARGIN, value);
+
+ gtk_text_attributes_unref (text_attrs);
+ return attributes;
+}
+
+static gint
+gtk_text_view_accessible_get_n_selections (AtkText *text)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return 0;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+ if (gtk_text_buffer_get_selection_bounds (buffer, NULL, NULL))
+ return 1;
+
+ return 0;
+}
+
+static gchar *
+gtk_text_view_accessible_get_selection (AtkText *atk_text,
+ gint selection_num,
+ gint *start_pos,
+ gint *end_pos)
+{
+ GtkTextView *view;
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextIter start, end;
+ gchar *text;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_text));
+ if (widget == NULL)
+ return NULL;
+
+ if (selection_num != 0)
+ return NULL;
+
+ view = GTK_TEXT_VIEW (widget);
+ buffer = gtk_text_view_get_buffer (view);
+
+ if (gtk_text_buffer_get_selection_bounds (buffer, &start, &end))
+ text = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+ else
+ text = NULL;
+
+ *start_pos = gtk_text_iter_get_offset (&start);
+ *end_pos = gtk_text_iter_get_offset (&end);
+
+ return text;
+}
+
+static gboolean
+gtk_text_view_accessible_add_selection (AtkText *text,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextIter start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+
+ if (!gtk_text_buffer_get_selection_bounds (buffer, NULL, NULL))
+ {
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, start_pos);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, end_pos);
+ gtk_text_buffer_select_range (buffer, &end, &start);
+
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+static gboolean
+gtk_text_view_accessible_remove_selection (AtkText *text,
+ gint selection_num)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextMark *insert;
+ GtkTextIter iter;
+ GtkTextIter start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ if (selection_num != 0)
+ return FALSE;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+
+ if (gtk_text_buffer_get_selection_bounds (buffer, &start, &end))
+ {
+ insert = gtk_text_buffer_get_insert (buffer);
+ gtk_text_buffer_get_iter_at_mark (buffer, &iter, insert);
+ gtk_text_buffer_place_cursor (buffer, &iter);
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+static gboolean
+gtk_text_view_accessible_set_selection (AtkText *text,
+ gint selection_num,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextIter start, end;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ if (selection_num != 0)
+ return FALSE;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+
+ if (gtk_text_buffer_get_selection_bounds (buffer, &start, &end))
+ {
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, start_pos);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, end_pos);
+ gtk_text_buffer_select_range (buffer, &end, &start);
+
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+static void
+atk_text_interface_init (AtkTextIface *iface)
+{
+ iface->get_text = gtk_text_view_accessible_get_text;
+ iface->get_text_after_offset = gtk_text_view_accessible_get_text_after_offset;
+ iface->get_text_at_offset = gtk_text_view_accessible_get_text_at_offset;
+ iface->get_text_before_offset = gtk_text_view_accessible_get_text_before_offset;
+ iface->get_character_at_offset = gtk_text_view_accessible_get_character_at_offset;
+ iface->get_character_count = gtk_text_view_accessible_get_character_count;
+ iface->get_caret_offset = gtk_text_view_accessible_get_caret_offset;
+ iface->set_caret_offset = gtk_text_view_accessible_set_caret_offset;
+ iface->get_offset_at_point = gtk_text_view_accessible_get_offset_at_point;
+ iface->get_character_extents = gtk_text_view_accessible_get_character_extents;
+ iface->get_n_selections = gtk_text_view_accessible_get_n_selections;
+ iface->get_selection = gtk_text_view_accessible_get_selection;
+ iface->add_selection = gtk_text_view_accessible_add_selection;
+ iface->remove_selection = gtk_text_view_accessible_remove_selection;
+ iface->set_selection = gtk_text_view_accessible_set_selection;
+ iface->get_run_attributes = gtk_text_view_accessible_get_run_attributes;
+ iface->get_default_attributes = gtk_text_view_accessible_get_default_attributes;
+}
+
+/* atkeditabletext.h */
+
+static gboolean
+gtk_text_view_accessible_set_run_attributes (AtkEditableText *text,
+ AtkAttributeSet *attributes,
+ gint start_offset,
+ gint end_offset)
+{
+ GtkTextView *view;
+ GtkTextBuffer *buffer;
+ GtkWidget *widget;
+ GtkTextTag *tag;
+ GtkTextIter start;
+ GtkTextIter end;
+ gint j;
+ GdkColor *color;
+ gchar** RGB_vals;
+ GSList *l;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return FALSE;
+
+ view = GTK_TEXT_VIEW (widget);
+ if (!gtk_text_view_get_editable (view))
+ return FALSE;
+
+ buffer = gtk_text_view_get_buffer (view);
+
+ if (attributes == NULL)
+ return FALSE;
+
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, start_offset);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, end_offset);
+
+ tag = gtk_text_buffer_create_tag (buffer, NULL, NULL);
+
+ for (l = attributes; l; l = l->next)
+ {
+ gchar *name;
+ gchar *value;
+ AtkAttribute *at;
+
+ at = l->data;
+
+ name = at->name;
+ value = at->value;
+
+ if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_LEFT_MARGIN)))
+ g_object_set (G_OBJECT (tag), "left-margin", atoi (value), NULL);
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_RIGHT_MARGIN)))
+ g_object_set (G_OBJECT (tag), "right-margin", atoi (value), NULL);
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_INDENT)))
+ g_object_set (G_OBJECT (tag), "indent", atoi (value), NULL);
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_PIXELS_ABOVE_LINES)))
+ g_object_set (G_OBJECT (tag), "pixels-above-lines", atoi (value), NULL);
+
+ else if (!strcmp(name, atk_text_attribute_get_name (ATK_TEXT_ATTR_PIXELS_BELOW_LINES)))
+ g_object_set (G_OBJECT (tag), "pixels-below-lines", atoi (value), NULL);
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP)))
+ g_object_set (G_OBJECT (tag), "pixels-inside-wrap", atoi (value), NULL);
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_SIZE)))
+ g_object_set (G_OBJECT (tag), "size", atoi (value), NULL);
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_RISE)))
+ g_object_set (G_OBJECT (tag), "rise", atoi (value), NULL);
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_WEIGHT)))
+ g_object_set (G_OBJECT (tag), "weight", atoi (value), NULL);
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_BG_FULL_HEIGHT)))
+ {
+ g_object_set (G_OBJECT (tag), "bg-full-height",
+ (strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_BG_FULL_HEIGHT, 0))),
+ NULL);
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_LANGUAGE)))
+ g_object_set (G_OBJECT (tag), "language", value, NULL);
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_FAMILY_NAME)))
+ g_object_set (G_OBJECT (tag), "family", value, NULL);
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_EDITABLE)))
+ {
+ g_object_set (G_OBJECT (tag), "editable",
+ (strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_EDITABLE, 0))),
+ NULL);
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_INVISIBLE)))
+ {
+ g_object_set (G_OBJECT (tag), "invisible",
+ (strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_EDITABLE, 0))),
+ NULL);
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_UNDERLINE)))
+ {
+ for (j = 0; j < 3; j++)
+ {
+ if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_UNDERLINE, j)))
+ {
+ g_object_set (G_OBJECT (tag), "underline", j, NULL);
+ break;
+ }
+ }
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_STRIKETHROUGH)))
+ {
+ g_object_set (G_OBJECT (tag), "strikethrough",
+ (strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_STRIKETHROUGH, 0))),
+ NULL);
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_BG_COLOR)))
+ {
+ RGB_vals = g_strsplit (value, ",", 3);
+ color = g_malloc (sizeof (GdkColor));
+ color->red = atoi (RGB_vals[0]);
+ color->green = atoi (RGB_vals[1]);
+ color->blue = atoi (RGB_vals[2]);
+ g_object_set (G_OBJECT (tag), "background-gdk", color, NULL);
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_FG_COLOR)))
+ {
+ RGB_vals = g_strsplit (value, ",", 3);
+ color = g_malloc (sizeof (GdkColor));
+ color->red = atoi (RGB_vals[0]);
+ color->green = atoi (RGB_vals[1]);
+ color->blue = atoi (RGB_vals[2]);
+ g_object_set (G_OBJECT (tag), "foreground-gdk", color, NULL);
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_STRETCH)))
+ {
+ for (j = 0; j < 9; j++)
+ {
+ if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_STRETCH, j)))
+ {
+ g_object_set (G_OBJECT (tag), "stretch", j, NULL);
+ break;
+ }
+ }
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_JUSTIFICATION)))
+ {
+ for (j = 0; j < 4; j++)
+ {
+ if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_JUSTIFICATION, j)))
+ {
+ g_object_set (G_OBJECT (tag), "justification", j, NULL);
+ break;
+ }
+ }
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_DIRECTION)))
+ {
+ for (j = 0; j < 3; j++)
+ {
+ if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, j)))
+ {
+ g_object_set (G_OBJECT (tag), "direction", j, NULL);
+ break;
+ }
+ }
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_VARIANT)))
+ {
+ for (j = 0; j < 2; j++)
+ {
+ if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_VARIANT, j)))
+ {
+ g_object_set (G_OBJECT (tag), "variant", j, NULL);
+ break;
+ }
+ }
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_WRAP_MODE)))
+ {
+ for (j = 0; j < 3; j++)
+ {
+ if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_WRAP_MODE, j)))
+ {
+ g_object_set (G_OBJECT (tag), "wrap-mode", j, NULL);
+ break;
+ }
+ }
+ }
+
+ else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_STYLE)))
+ {
+ for (j = 0; j < 3; j++)
+ {
+ if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_STYLE, j)))
+ {
+ g_object_set (G_OBJECT (tag), "style", j, NULL);
+ break;
+ }
+ }
+ }
+
+ else
+ return FALSE;
+ }
+
+ gtk_text_buffer_apply_tag (buffer, tag, &start, &end);
+
+ return TRUE;
+}
+
+static void
+gtk_text_view_accessible_set_text_contents (AtkEditableText *text,
+ const gchar *string)
+{
+ GtkTextView *view;
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ view = GTK_TEXT_VIEW (widget);
+ if (!gtk_text_view_get_editable (view))
+ return;
+
+ buffer = gtk_text_view_get_buffer (view);
+ gtk_text_buffer_set_text (buffer, string, -1);
+}
+
+static void
+gtk_text_view_accessible_insert_text (AtkEditableText *text,
+ const gchar *string,
+ gint length,
+ gint *position)
+{
+ GtkTextView *view;
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextIter iter;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ view = GTK_TEXT_VIEW (widget);
+ if (!gtk_text_view_get_editable (view))
+ return;
+
+ buffer = gtk_text_view_get_buffer (view);
+ gtk_text_buffer_get_iter_at_offset (buffer, &iter, *position);
+ gtk_text_buffer_insert (buffer, &iter, string, length);
+}
+
+static void
+gtk_text_view_accessible_copy_text (AtkEditableText *text,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextIter start, end;
+ gchar *str;
+ GtkClipboard *clipboard;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, start_pos);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, end_pos);
+ str = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+
+ clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD);
+ gtk_clipboard_set_text (clipboard, str, -1);
+}
+
+static void
+gtk_text_view_accessible_cut_text (AtkEditableText *text,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkTextView *view;
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextIter start, end;
+ gchar *str;
+ GtkClipboard *clipboard;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ view = GTK_TEXT_VIEW (widget);
+ if (!gtk_text_view_get_editable (view))
+ return;
+ buffer = gtk_text_view_get_buffer (view);
+
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, start_pos);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, end_pos);
+ str = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+ clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD);
+ gtk_clipboard_set_text (clipboard, str, -1);
+ gtk_text_buffer_delete (buffer, &start, &end);
+}
+
+static void
+gtk_text_view_accessible_delete_text (AtkEditableText *text,
+ gint start_pos,
+ gint end_pos)
+{
+ GtkTextView *view;
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ GtkTextIter start_itr;
+ GtkTextIter end_itr;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ view = GTK_TEXT_VIEW (widget);
+ if (!gtk_text_view_get_editable (view))
+ return;
+ buffer = gtk_text_view_get_buffer (view);
+
+ gtk_text_buffer_get_iter_at_offset (buffer, &start_itr, start_pos);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end_itr, end_pos);
+ gtk_text_buffer_delete (buffer, &start_itr, &end_itr);
+}
+
+typedef struct
+{
+ GtkTextBuffer* buffer;
+ gint position;
+} PasteData;
+
+static void
+paste_received (GtkClipboard *clipboard,
+ const gchar *text,
+ gpointer data)
+{
+ PasteData* paste = data;
+ GtkTextIter pos_itr;
+
+ if (text)
+ {
+ gtk_text_buffer_get_iter_at_offset (paste->buffer, &pos_itr, paste->position);
+ gtk_text_buffer_insert (paste->buffer, &pos_itr, text, -1);
+ }
+
+ g_object_unref (paste->buffer);
+}
+
+static void
+gtk_text_view_accessible_paste_text (AtkEditableText *text,
+ gint position)
+{
+ GtkTextView *view;
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ PasteData paste;
+ GtkClipboard *clipboard;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
+ if (widget == NULL)
+ return;
+
+ view = GTK_TEXT_VIEW (widget);
+ if (!gtk_text_view_get_editable (view))
+ return;
+ buffer = gtk_text_view_get_buffer (view);
+
+ paste.buffer = buffer;
+ paste.position = position;
+
+ g_object_ref (paste.buffer);
+ clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD);
+ gtk_clipboard_request_text (clipboard, paste_received, &paste);
+}
+
+static void
+atk_editable_text_interface_init (AtkEditableTextIface *iface)
+{
+ iface->set_text_contents = gtk_text_view_accessible_set_text_contents;
+ iface->insert_text = gtk_text_view_accessible_insert_text;
+ iface->copy_text = gtk_text_view_accessible_copy_text;
+ iface->cut_text = gtk_text_view_accessible_cut_text;
+ iface->delete_text = gtk_text_view_accessible_delete_text;
+ iface->paste_text = gtk_text_view_accessible_paste_text;
+ iface->set_run_attributes = gtk_text_view_accessible_set_run_attributes;
+}
+
+/* Callbacks */
+
+static void
+gtk_text_view_accessible_update_cursor (GtkTextViewAccessible *accessible,
+ GtkTextBuffer * buffer)
+{
+ int prev_insert_offset, prev_selection_bound;
+ int insert_offset, selection_bound;
+ GtkTextIter iter;
+
+ prev_insert_offset = accessible->insert_offset;
+ prev_selection_bound = accessible->selection_bound;
+
+ gtk_text_buffer_get_iter_at_mark (buffer, &iter, gtk_text_buffer_get_insert (buffer));
+ insert_offset = gtk_text_iter_get_offset (&iter);
+ gtk_text_buffer_get_iter_at_mark (buffer, &iter, gtk_text_buffer_get_selection_bound (buffer));
+ selection_bound = gtk_text_iter_get_offset (&iter);
+
+ if (prev_insert_offset == insert_offset && prev_selection_bound == selection_bound)
+ return;
+
+ accessible->insert_offset = insert_offset;
+ accessible->selection_bound = selection_bound;
+
+ if (prev_insert_offset != insert_offset)
+ g_signal_emit_by_name (accessible, "text-caret-moved", insert_offset);
+
+ if (prev_insert_offset != prev_selection_bound || insert_offset != selection_bound)
+ g_signal_emit_by_name (accessible, "text-selection-changed");
+}
+
+static void
+insert_text_cb (GtkTextBuffer *buffer,
+ GtkTextIter *iter,
+ gchar *text,
+ gint len,
+ gpointer data)
+{
+ GtkTextView *view = data;
+ GtkTextViewAccessible *accessible;
+ gint position;
+ gint length;
+
+ accessible = GTK_TEXT_VIEW_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (view)));
+
+ position = gtk_text_iter_get_offset (iter);
+ length = g_utf8_strlen (text, len);
+
+ g_signal_emit_by_name (accessible, "text-changed::insert", position - length, length);
+
+ gtk_text_view_accessible_update_cursor (accessible, buffer);
+}
+
+static void
+delete_range_cb (GtkTextBuffer *buffer,
+ GtkTextIter *start,
+ GtkTextIter *end,
+ gpointer data)
+{
+ GtkTextView *view = data;
+ GtkTextViewAccessible *accessible;
+ gint offset, length;
+
+ accessible = GTK_TEXT_VIEW_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (view)));
+
+ offset = gtk_text_iter_get_offset (start);
+ length = gtk_text_iter_get_offset (end) - offset;
+
+ g_signal_emit_by_name (accessible,
+ "text-changed::delete",
+ offset,
+ length);
+
+ gtk_text_view_accessible_update_cursor (accessible, buffer);
+}
+
+static void
+mark_set_cb (GtkTextBuffer *buffer,
+ GtkTextIter *location,
+ GtkTextMark *mark,
+ gpointer data)
+{
+ GtkTextView *text = data;
+ GtkTextViewAccessible *accessible;
+
+ accessible = GTK_TEXT_VIEW_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (text)));
+
+ /*
+ * Only generate the signal for the "insert" mark, which
+ * represents the cursor.
+ */
+ if (mark == gtk_text_buffer_get_insert (buffer))
+ {
+ gtk_text_view_accessible_update_cursor (accessible, buffer);
+ }
+ else if (mark == gtk_text_buffer_get_selection_bound (buffer))
+ {
+ gtk_text_view_accessible_update_cursor (accessible, buffer);
+ }
+}
+
+static gint
+gail_streamable_content_get_n_mime_types (AtkStreamableContent *streamable)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ gint n_mime_types = 0;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (streamable));
+ if (widget == NULL)
+ return 0;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+ if (buffer)
+ {
+ gint i;
+ gboolean advertises_plaintext = FALSE;
+ GdkAtom *atoms;
+
+ atoms = gtk_text_buffer_get_serialize_formats (buffer, &n_mime_types);
+ for (i = 0; i < n_mime_types-1; ++i)
+ if (!strcmp ("text/plain", gdk_atom_name (atoms[i])))
+ advertises_plaintext = TRUE;
+ if (!advertises_plaintext)
+ n_mime_types++;
+ }
+
+ return n_mime_types;
+}
+
+static const gchar *
+gail_streamable_content_get_mime_type (AtkStreamableContent *streamable,
+ gint i)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (streamable));
+ if (widget == NULL)
+ return 0;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+ if (buffer)
+ {
+ gint n_mime_types = 0;
+ GdkAtom *atoms;
+
+ atoms = gtk_text_buffer_get_serialize_formats (buffer, &n_mime_types);
+ if (i < n_mime_types)
+ return gdk_atom_name (atoms [i]);
+ else if (i == n_mime_types)
+ return "text/plain";
+ }
+
+ return NULL;
+}
+
+static GIOChannel *
+gail_streamable_content_get_stream (AtkStreamableContent *streamable,
+ const gchar *mime_type)
+{
+ GtkWidget *widget;
+ GtkTextBuffer *buffer;
+ gint i, n_mime_types = 0;
+ GdkAtom *atoms;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (streamable));
+ if (widget == NULL)
+ return 0;
+
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+ if (!buffer)
+ return NULL;
+
+ atoms = gtk_text_buffer_get_serialize_formats (buffer, &n_mime_types);
+
+ for (i = 0; i < n_mime_types; ++i)
+ {
+ if (!strcmp ("text/plain", mime_type) ||
+ !strcmp (gdk_atom_name (atoms[i]), mime_type))
+ {
+ guint8 *cbuf;
+ GError *err = NULL;
+ gsize len, written;
+ gchar tname[80];
+ GtkTextIter start, end;
+ GIOChannel *gio = NULL;
+ int fd;
+
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, 0);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, -1);
+ if (!strcmp ("text/plain", mime_type))
+ {
+ cbuf = (guint8*) gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+ len = strlen ((const char *) cbuf);
+ }
+ else
+ {
+ cbuf = gtk_text_buffer_serialize (buffer, buffer, atoms[i], &start, &end, &len);
+ }
+ g_snprintf (tname, 20, "streamXXXXXX");
+ fd = g_mkstemp (tname);
+ gio = g_io_channel_unix_new (fd);
+ g_io_channel_set_encoding (gio, NULL, &err);
+ if (!err)
+ g_io_channel_write_chars (gio, (const char *) cbuf, (gssize) len, &written, &err);
+ else
+ g_message ("%s", err->message);
+ if (!err)
+ g_io_channel_seek_position (gio, 0, G_SEEK_SET, &err);
+ else
+ g_message ("%s", err->message);
+ if (!err)
+ g_io_channel_flush (gio, &err);
+ else
+ g_message ("%s", err->message);
+ if (err)
+ {
+ g_message ("<error writing to stream [%s]>", tname);
+ g_error_free (err);
+ }
+ /* make sure the file is removed on unref of the giochannel */
+ else
+ {
+ g_unlink (tname);
+ return gio;
+ }
+ }
+ }
+
+ return NULL;
+}
+
+static void
+atk_streamable_content_interface_init (AtkStreamableContentIface *iface)
+{
+ iface->get_n_mime_types = gail_streamable_content_get_n_mime_types;
+ iface->get_mime_type = gail_streamable_content_get_mime_type;
+ iface->get_stream = gail_streamable_content_get_stream;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_TEXT_VIEW_ACCESSIBLE_H__
+#define __GTK_TEXT_VIEW_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_TEXT_VIEW_ACCESSIBLE (_gtk_text_view_accessible_get_type ())
+#define GTK_TEXT_VIEW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_VIEW_ACCESSIBLE, GtkTextViewAccessible))
+#define GTK_TEXT_VIEW_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_VIEW_ACCESSIBLE, GtkTextViewAccessibleClass))
+#define GTK_IS_TEXT_VIEW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TEXT_VIEW_ACCESSIBLE))
+#define GTK_IS_TEXT_VIEW_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_VIEW_ACCESSIBLE))
+#define GTK_TEXT_VIEW_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_VIEW_ACCESSIBLE, GtkTextViewAccessibleClass))
+
+typedef struct _GtkTextViewAccessible GtkTextViewAccessible;
+typedef struct _GtkTextViewAccessibleClass GtkTextViewAccessibleClass;
+
+struct _GtkTextViewAccessible
+{
+ GtkContainerAccessible parent;
+
+ gint insert_offset;
+ gint selection_bound;
+};
+
+struct _GtkTextViewAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_text_view_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_TEXT_VIEW_ACCESSIBLE_H__ */
#include <string.h>
#include <gtk/gtk.h>
-#include "gailtogglebutton.h"
+#include "gtktogglebuttonaccessible.h"
-static void gail_toggle_button_class_init (GailToggleButtonClass *klass);
-static void gail_toggle_button_init (GailToggleButton *button);
-
-static void gail_toggle_button_toggled_gtk (GtkWidget *widget);
-
-static void gail_toggle_button_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-
-static void gail_toggle_button_real_initialize (AtkObject *obj,
- gpointer data);
-
-static AtkStateSet* gail_toggle_button_ref_state_set (AtkObject *accessible);
-
-G_DEFINE_TYPE (GailToggleButton, gail_toggle_button, GAIL_TYPE_BUTTON)
+G_DEFINE_TYPE (GtkToggleButtonAccessible, _gtk_toggle_button_accessible, GTK_TYPE_BUTTON_ACCESSIBLE)
static void
-gail_toggle_button_class_init (GailToggleButtonClass *klass)
+gtk_toggle_button_accessible_toggled (GtkWidget *widget)
{
- GailWidgetClass *widget_class;
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- widget_class = (GailWidgetClass*)klass;
- widget_class->notify_gtk = gail_toggle_button_real_notify_gtk;
+ AtkObject *accessible;
+ GtkToggleButton *toggle_button;
- class->ref_state_set = gail_toggle_button_ref_state_set;
- class->initialize = gail_toggle_button_real_initialize;
-}
+ toggle_button = GTK_TOGGLE_BUTTON (widget);
-static void
-gail_toggle_button_init (GailToggleButton *button)
-{
+ accessible = gtk_widget_get_accessible (widget);
+ atk_object_notify_state_change (accessible, ATK_STATE_CHECKED,
+ gtk_toggle_button_get_active (toggle_button));
}
static void
-gail_toggle_button_real_initialize (AtkObject *obj,
- gpointer data)
+gtk_toggle_button_accessible_initialize (AtkObject *obj,
+ gpointer data)
{
- ATK_OBJECT_CLASS (gail_toggle_button_parent_class)->initialize (obj, data);
+ ATK_OBJECT_CLASS (_gtk_toggle_button_accessible_parent_class)->initialize (obj, data);
- g_signal_connect (data,
- "toggled",
- G_CALLBACK (gail_toggle_button_toggled_gtk),
- NULL);
+ g_signal_connect (data, "toggled",
+ G_CALLBACK (gtk_toggle_button_accessible_toggled), NULL);
- if (GTK_IS_CHECK_BUTTON (data))
- obj->role = ATK_ROLE_CHECK_BOX;
- else
- obj->role = ATK_ROLE_TOGGLE_BUTTON;
+ obj->role = ATK_ROLE_TOGGLE_BUTTON;
}
static void
-gail_toggle_button_toggled_gtk (GtkWidget *widget)
+gtk_toggle_button_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
{
- AtkObject *accessible;
- GtkToggleButton *toggle_button;
+ GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (obj);
+ AtkObject *atk_obj;
+ gboolean sensitive;
+ gboolean inconsistent;
- toggle_button = GTK_TOGGLE_BUTTON (widget);
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (toggle_button));
+ sensitive = gtk_widget_get_sensitive (GTK_WIDGET (toggle_button));
+ inconsistent = gtk_toggle_button_get_inconsistent (toggle_button);
- accessible = gtk_widget_get_accessible (widget);
- atk_object_notify_state_change (accessible, ATK_STATE_CHECKED,
- gtk_toggle_button_get_active (toggle_button));
-}
+ if (strcmp (pspec->name, "inconsistent") == 0)
+ {
+ atk_object_notify_state_change (atk_obj, ATK_STATE_INDETERMINATE, inconsistent);
+ atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, (sensitive && !inconsistent));
+ }
+ else if (strcmp (pspec->name, "sensitive") == 0)
+ {
+ /* Need to override gailwidget behavior of notifying for ENABLED */
+ atk_object_notify_state_change (atk_obj, ATK_STATE_SENSITIVE, sensitive);
+ atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, (sensitive && !inconsistent));
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_toggle_button_accessible_parent_class)->notify_gtk (obj, pspec);
+}
static AtkStateSet*
-gail_toggle_button_ref_state_set (AtkObject *accessible)
+gtk_toggle_button_accessible_ref_state_set (AtkObject *accessible)
{
AtkStateSet *state_set;
GtkToggleButton *toggle_button;
GtkWidget *widget;
- state_set = ATK_OBJECT_CLASS (gail_toggle_button_parent_class)->ref_state_set (accessible);
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
-
if (widget == NULL)
- return state_set;
+ return NULL;
+ state_set = ATK_OBJECT_CLASS (_gtk_toggle_button_accessible_parent_class)->ref_state_set (accessible);
toggle_button = GTK_TOGGLE_BUTTON (widget);
if (gtk_toggle_button_get_active (toggle_button))
atk_state_set_remove_state (state_set, ATK_STATE_ENABLED);
atk_state_set_add_state (state_set, ATK_STATE_INDETERMINATE);
}
-
+
return state_set;
}
static void
-gail_toggle_button_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
+_gtk_toggle_button_accessible_class_init (GtkToggleButtonAccessibleClass *klass)
{
- GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (obj);
- AtkObject *atk_obj;
- gboolean sensitive;
- gboolean inconsistent;
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (toggle_button));
- sensitive = gtk_widget_get_sensitive (GTK_WIDGET (toggle_button));
- inconsistent = gtk_toggle_button_get_inconsistent (toggle_button);
+ widget_class->notify_gtk = gtk_toggle_button_accessible_notify_gtk;
- if (strcmp (pspec->name, "inconsistent") == 0)
- {
- atk_object_notify_state_change (atk_obj, ATK_STATE_INDETERMINATE, inconsistent);
- atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, (sensitive && !inconsistent));
- }
- else if (strcmp (pspec->name, "sensitive") == 0)
- {
- /* Need to override gailwidget behavior of notifying for ENABLED */
- atk_object_notify_state_change (atk_obj, ATK_STATE_SENSITIVE, sensitive);
- atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, (sensitive && !inconsistent));
- }
- else
- GAIL_WIDGET_CLASS (gail_toggle_button_parent_class)->notify_gtk (obj, pspec);
+ class->ref_state_set = gtk_toggle_button_accessible_ref_state_set;
+ class->initialize = gtk_toggle_button_accessible_initialize;
+}
+
+static void
+_gtk_toggle_button_accessible_init (GtkToggleButtonAccessible *button)
+{
}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_TOGGLE_BUTTON_ACCESSIBLE_H__
+#define __GTK_TOGGLE_BUTTON_ACCESSIBLE_H__
+
+#include "gtkbuttonaccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_TOGGLE_BUTTON_ACCESSIBLE (_gtk_toggle_button_accessible_get_type ())
+#define GTK_TOGGLE_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON_ACCESSIBLE, GtkToggleButtonAccessible))
+#define GTK_TOGGLE_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TOGGLE_BUTTON_ACCESSIBLE, GtkToggleButtonAccessibleClass))
+#define GTK_IS_TOGGLE_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TOGGLE_BUTTON_ACCESSIBLE))
+#define GTK_IS_TOGGLE_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TOGGLE_BUTTON_ACCESSIBLE))
+#define GTK_TOGGLE_BUTTON_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TOGGLE_BUTTON_ACCESSIBLE, GtkToggleButtonAccessibleClass))
+
+typedef struct _GtkToggleButtonAccessible GtkToggleButtonAccessible;
+typedef struct _GtkToggleButtonAccessibleClass GtkToggleButtonAccessibleClass;
+
+struct _GtkToggleButtonAccessible
+{
+ GtkButtonAccessible parent;
+};
+
+struct _GtkToggleButtonAccessibleClass
+{
+ GtkButtonAccessibleClass parent_class;
+};
+
+GType _gtk_toggle_button_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_TOGGLE_BUTTON_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+#include <gtk/gtkx.h>
+
+#include "gtktoplevelaccessible.h"
+
+
+G_DEFINE_TYPE (GtkToplevelAccessible, _gtk_toplevel_accessible, ATK_TYPE_OBJECT)
+
+static void
+gtk_toplevel_accessible_initialize (AtkObject *accessible,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (_gtk_toplevel_accessible_parent_class)->initialize (accessible, data);
+
+ accessible->role = ATK_ROLE_APPLICATION;
+ accessible->name = g_get_prgname ();
+ accessible->accessible_parent = NULL;
+}
+
+static void
+gtk_toplevel_accessible_object_finalize (GObject *obj)
+{
+ GtkToplevelAccessible *toplevel = GTK_TOPLEVEL_ACCESSIBLE (obj);
+
+ if (toplevel->window_list)
+ g_list_free (toplevel->window_list);
+
+ G_OBJECT_CLASS (_gtk_toplevel_accessible_parent_class)->finalize (obj);
+}
+
+static gint
+gtk_toplevel_accessible_get_n_children (AtkObject *obj)
+{
+ GtkToplevelAccessible *toplevel = GTK_TOPLEVEL_ACCESSIBLE (obj);
+
+ return g_list_length (toplevel->window_list);
+}
+
+static AtkObject *
+gtk_toplevel_accessible_ref_child (AtkObject *obj,
+ gint i)
+{
+ GtkToplevelAccessible *toplevel;
+ GtkWidget *widget;
+ AtkObject *atk_obj;
+
+ toplevel = GTK_TOPLEVEL_ACCESSIBLE (obj);
+ widget = g_list_nth_data (toplevel->window_list, i);
+ if (!widget)
+ return NULL;
+
+ atk_obj = gtk_widget_get_accessible (widget);
+
+ g_object_ref (atk_obj);
+
+ return atk_obj;
+}
+
+static gboolean
+is_combo_window (GtkWidget *widget)
+{
+ GtkWidget *child;
+ AtkObject *obj;
+
+ child = gtk_bin_get_child (GTK_BIN (widget));
+
+ if (!GTK_IS_EVENT_BOX (child))
+ return FALSE;
+
+ child = gtk_bin_get_child (GTK_BIN (child));
+
+ if (!GTK_IS_FRAME (child))
+ return FALSE;
+
+ child = gtk_bin_get_child (GTK_BIN (child));
+
+ if (!GTK_IS_SCROLLED_WINDOW (child))
+ return FALSE;
+
+ obj = gtk_widget_get_accessible (child);
+ obj = atk_object_get_parent (obj);
+
+ return FALSE;
+}
+
+static gboolean
+is_attached_menu_window (GtkWidget *widget)
+{
+ GtkWidget *child;
+
+ child = gtk_bin_get_child (GTK_BIN (widget));
+ if (GTK_IS_MENU (child))
+ {
+ GtkWidget *attach;
+
+ attach = gtk_menu_get_attach_widget (GTK_MENU (child));
+ /* Allow for menu belonging to the Panel Menu, which is a GtkButton */
+ if (GTK_IS_MENU_ITEM (attach) || GTK_IS_BUTTON (attach))
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static void
+_gtk_toplevel_accessible_class_init (GtkToplevelAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS(klass);
+ GObjectClass *g_object_class = G_OBJECT_CLASS(klass);
+
+ class->initialize = gtk_toplevel_accessible_initialize;
+ class->get_n_children = gtk_toplevel_accessible_get_n_children;
+ class->ref_child = gtk_toplevel_accessible_ref_child;
+ class->get_parent = NULL;
+
+ g_object_class->finalize = gtk_toplevel_accessible_object_finalize;
+}
+
+static void
+remove_child (GtkToplevelAccessible *toplevel,
+ GtkWindow *window)
+{
+ AtkObject *atk_obj = ATK_OBJECT (toplevel);
+ GList *l;
+ guint window_count = 0;
+ AtkObject *child;
+
+ if (toplevel->window_list)
+ {
+ GtkWindow *tmp_window;
+
+ for (l = toplevel->window_list; l; l = l->next)
+ {
+ tmp_window = GTK_WINDOW (l->data);
+
+ if (window == tmp_window)
+ {
+ /* Remove the window from the window_list & emit the signal */
+ toplevel->window_list = g_list_delete_link (toplevel->window_list, l);
+ child = gtk_widget_get_accessible (GTK_WIDGET (window));
+ g_signal_emit_by_name (atk_obj, "children-changed::remove",
+ window_count, child, NULL);
+ atk_object_set_parent (child, NULL);
+ break;
+ }
+
+ window_count++;
+ }
+ }
+}
+
+static gboolean
+show_event_watcher (GSignalInvocationHint *ihint,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer data)
+{
+ GtkToplevelAccessible *toplevel = GTK_TOPLEVEL_ACCESSIBLE (data);
+ AtkObject *atk_obj = ATK_OBJECT (toplevel);
+ GObject *object;
+ GtkWidget *widget;
+ gint n_children;
+ AtkObject *child;
+
+ object = g_value_get_object (param_values + 0);
+
+ if (!GTK_IS_WINDOW (object))
+ return TRUE;
+
+ widget = GTK_WIDGET (object);
+ if (gtk_widget_get_parent (widget) ||
+ is_attached_menu_window (widget) ||
+#ifdef GDK_WINDOWING_X11
+ GTK_IS_PLUG (widget) ||
+#endif
+ is_combo_window (widget))
+ return TRUE;
+
+ child = gtk_widget_get_accessible (widget);
+ if (atk_object_get_role (child) == ATK_ROLE_REDUNDANT_OBJECT ||
+ atk_object_get_role (child) == ATK_ROLE_TOOL_TIP)
+ return TRUE;
+
+ /* Add the window to the list & emit the signal */
+ toplevel->window_list = g_list_append (toplevel->window_list, widget);
+ n_children = g_list_length (toplevel->window_list);
+
+ atk_object_set_parent (child, atk_obj);
+ g_signal_emit_by_name (atk_obj, "children-changed::add",
+ n_children - 1, child, NULL);
+
+ g_signal_connect_swapped (G_OBJECT(object), "destroy",
+ G_CALLBACK (remove_child), toplevel);
+
+ return TRUE;
+}
+
+static gboolean
+hide_event_watcher (GSignalInvocationHint *ihint,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer data)
+{
+ GtkToplevelAccessible *toplevel = GTK_TOPLEVEL_ACCESSIBLE (data);
+ GObject *object;
+
+ object = g_value_get_object (param_values + 0);
+
+ if (!GTK_IS_WINDOW (object))
+ return TRUE;
+
+ remove_child (toplevel, GTK_WINDOW (object));
+ return TRUE;
+}
+
+static void
+_gtk_toplevel_accessible_init (GtkToplevelAccessible *toplevel)
+{
+ GtkWindow *window;
+ GtkWidget *widget;
+ GList *l;
+ guint signal_id;
+
+ l = toplevel->window_list = gtk_window_list_toplevels ();
+
+ while (l)
+ {
+ window = GTK_WINDOW (l->data);
+ widget = GTK_WIDGET (window);
+ if (!window ||
+ !gtk_widget_get_visible (widget) ||
+ is_attached_menu_window (widget) ||
+#ifdef GDK_WINDOWING_X11
+ GTK_IS_PLUG (window) ||
+#endif
+ gtk_widget_get_parent (GTK_WIDGET (window)))
+ {
+ GList *temp_l = l->next;
+
+ toplevel->window_list = g_list_delete_link (toplevel->window_list, l);
+ l = temp_l;
+ }
+ else
+ {
+ g_signal_connect_swapped (G_OBJECT (window), "destroy",
+ G_CALLBACK (remove_child), toplevel);
+ l = l->next;
+ }
+ }
+
+ g_type_class_ref (GTK_TYPE_WINDOW);
+
+ signal_id = g_signal_lookup ("show", GTK_TYPE_WINDOW);
+ g_signal_add_emission_hook (signal_id, 0,
+ show_event_watcher, toplevel, (GDestroyNotify) NULL);
+
+ signal_id = g_signal_lookup ("hide", GTK_TYPE_WINDOW);
+ g_signal_add_emission_hook (signal_id, 0,
+ hide_event_watcher, toplevel, (GDestroyNotify) NULL);
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_TOPLEVEL_ACCESSIBLE_H__
+#define __GTK_TOPLEVEL_ACCESSIBLE_H__
+
+#include <atk/atk.h>
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_TOPLEVEL_ACCESSIBLE (_gtk_toplevel_accessible_get_type ())
+#define GTK_TOPLEVEL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOPLEVEL_ACCESSIBLE, GtkToplevelAccessible))
+#define GTK_TOPLEVEL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TOPLEVEL_ACCESSIBLE, GtkToplevelAccessibleClass))
+#define GTK_IS_TOPLEVEL_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TOPLEVEL_ACCESSIBLE))
+#define GTK_IS_TOPLEVEL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TOPLEVEL_ACCESSIBLE))
+#define GTK_TOPLEVEL_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TOPLEVEL_ACCESSIBLE, GtkToplevelAccessibleClass))
+
+typedef struct _GtkToplevelAccessible GtkToplevelAccessible;
+typedef struct _GtkToplevelAccessibleClass GtkToplevelAccessibleClass;
+
+struct _GtkToplevelAccessible
+{
+ AtkObject parent;
+ GList *window_list;
+};
+
+struct _GtkToplevelAccessibleClass
+{
+ AtkObjectClass parent_class;
+};
+
+GType _gtk_toplevel_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_TOPLEVEL_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#ifdef GDK_WINDOWING_X11
+#include <gdk/x11/gdkx.h>
+#endif
+#include "gtktreeviewaccessible.h"
+#include "gtkrenderercellaccessible.h"
+#include "gtkbooleancellaccessible.h"
+#include "gtkimagecellaccessible.h"
+#include "gtkcontainercellaccessible.h"
+#include "gtktextcellaccessible.h"
+#include "gtkcellaccessibleparent.h"
+
+typedef struct _GtkTreeViewAccessibleCellInfo GtkTreeViewAccessibleCellInfo;
+struct _GtkTreeViewAccessibleCellInfo
+{
+ GtkCellAccessible *cell;
+ GtkTreeRowReference *cell_row_ref;
+ GtkTreeViewColumn *cell_col_ref;
+ GtkTreeViewAccessible *view;
+ gboolean in_use;
+};
+
+/* signal handling */
+
+static gboolean row_expanded_cb (GtkTreeView *tree_view,
+ GtkTreeIter *iter,
+ GtkTreePath *path);
+static gboolean row_collapsed_cb (GtkTreeView *tree_view,
+ GtkTreeIter *iter,
+ GtkTreePath *path);
+static void size_allocate_cb (GtkWidget *widget,
+ GtkAllocation *allocation);
+static void selection_changed_cb (GtkTreeSelection *selection,
+ gpointer data);
+
+static void columns_changed (GtkTreeView *tree_view);
+static void cursor_changed (GtkTreeView *tree_view);
+static gboolean focus_in (GtkWidget *widget);
+static gboolean focus_out (GtkWidget *widget);
+
+static void column_visibility_changed
+ (GObject *object,
+ GParamSpec *param,
+ gpointer user_data);
+static void destroy_count_func (GtkTreeView *tree_view,
+ GtkTreePath *path,
+ gint count,
+ gpointer user_data);
+
+/* Misc */
+
+static void set_iter_nth_row (GtkTreeView *tree_view,
+ GtkTreeIter *iter,
+ gint row);
+static gint get_row_from_tree_path (GtkTreeView *tree_view,
+ GtkTreePath *path);
+static GtkTreeViewColumn* get_column (GtkTreeView *tree_view,
+ gint in_col);
+static gint get_actual_column_number (GtkTreeView *tree_view,
+ gint visible_column);
+static gint get_visible_column_number (GtkTreeView *tree_view,
+ gint actual_column);
+static void iterate_thru_children (GtkTreeView *tree_view,
+ GtkTreeModel *tree_model,
+ GtkTreePath *tree_path,
+ GtkTreePath *orig,
+ gint *count,
+ gint depth);
+static void clean_rows (GtkTreeViewAccessible *tree_view);
+static void clean_cols (GtkTreeViewAccessible *tree_view,
+ GtkTreeViewColumn *tv_col);
+static void traverse_cells (GtkTreeViewAccessible *tree_view,
+ GtkTreePath *tree_path,
+ gboolean set_stale,
+ gboolean inc_row);
+static gboolean update_cell_value (GtkRendererCellAccessible *renderer_cell,
+ GtkTreeViewAccessible *accessible,
+ gboolean emit_change_signal);
+static void set_cell_visibility (GtkTreeView *tree_view,
+ GtkCellAccessible *cell,
+ GtkTreeViewColumn *tv_col,
+ GtkTreePath *tree_path,
+ gboolean emit_signal);
+static gboolean is_cell_showing (GtkTreeView *tree_view,
+ GdkRectangle *cell_rect);
+static void set_expand_state (GtkTreeView *tree_view,
+ GtkTreeModel *tree_model,
+ GtkTreeViewAccessible *accessible,
+ GtkTreePath *tree_path,
+ gboolean set_on_ancestor);
+static void set_cell_expandable (GtkCellAccessible *cell);
+static void add_cell_actions (GtkCellAccessible *cell,
+ gboolean editable);
+
+static void toggle_cell_toggled (GtkCellAccessible *cell);
+static void edit_cell (GtkCellAccessible *cell);
+static void activate_cell (GtkCellAccessible *cell);
+static void cell_destroyed (gpointer data);
+static void cell_info_new (GtkTreeViewAccessible *accessible,
+ GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeViewColumn *tv_col,
+ GtkCellAccessible *cell);
+static GtkCellAccessible *find_cell (GtkTreeViewAccessible *accessible,
+ gint index);
+static void refresh_cell_index (GtkCellAccessible *cell);
+static void connect_model_signals (GtkTreeView *view,
+ GtkTreeViewAccessible *accessible);
+static void disconnect_model_signals (GtkTreeViewAccessible *accessible);
+static void clear_cached_data (GtkTreeViewAccessible *view);
+static gint get_column_number (GtkTreeView *tree_view,
+ GtkTreeViewColumn *column,
+ gboolean visible);
+static gint get_focus_index (GtkTreeView *tree_view);
+static gint get_index (GtkTreeView *tree_view,
+ GtkTreePath *path,
+ gint actual_column);
+static void count_rows (GtkTreeModel *model,
+ GtkTreeIter *iter,
+ GtkTreePath *end_path,
+ gint *count,
+ gint level,
+ gint depth);
+
+static gboolean get_path_column_from_index (GtkTreeView *tree_view,
+ gint index,
+ GtkTreePath **path,
+ GtkTreeViewColumn **column);
+
+static GtkTreeViewAccessibleCellInfo* find_cell_info (GtkTreeViewAccessible *view,
+ GtkCellAccessible *cell,
+ gboolean live_only);
+static AtkObject * get_header_from_column (GtkTreeViewColumn *tv_col);
+static gboolean idle_garbage_collect_cell_data (gpointer data);
+
+
+static void atk_table_interface_init (AtkTableIface *iface);
+static void atk_selection_interface_init (AtkSelectionIface *iface);
+static void atk_component_interface_init (AtkComponentIface *iface);
+static void gtk_cell_accessible_parent_interface_init (GtkCellAccessibleParentIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkTreeViewAccessible, _gtk_tree_view_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_TABLE, atk_table_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init)
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_ACCESSIBLE_PARENT, gtk_cell_accessible_parent_interface_init))
+
+
+static void
+adjustment_changed (GtkAdjustment *adjustment,
+ GtkWidget *widget)
+{
+ GtkTreeViewAccessible *accessible;
+
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (gtk_widget_get_accessible (widget));
+ traverse_cells (accessible, NULL, FALSE, FALSE);
+}
+
+static void
+hadjustment_set_cb (GObject *widget,
+ GParamSpec *pspec,
+ gpointer data)
+{
+ GtkTreeViewAccessible *accessible = data;
+ GtkAdjustment *adj;
+
+ g_object_get (widget, "hadjustment", &adj, NULL);
+ accessible->old_hadj = adj;
+ g_object_add_weak_pointer (G_OBJECT (accessible->old_hadj), (gpointer *)&accessible->old_hadj);
+ g_signal_connect (adj, "value-changed", G_CALLBACK (adjustment_changed), widget);
+}
+
+static void
+vadjustment_set_cb (GObject *widget,
+ GParamSpec *pspec,
+ gpointer data)
+{
+ GtkTreeViewAccessible *accessible = data;
+ GtkAdjustment *adj;
+
+ g_object_get (widget, "vadjustment", &adj, NULL);
+ accessible->old_vadj = adj;
+ g_object_add_weak_pointer (G_OBJECT (accessible->old_vadj), (gpointer *)&accessible->old_vadj);
+ g_signal_connect (adj, "value-changed",
+ G_CALLBACK (adjustment_changed), widget);
+}
+
+static void
+gtk_tree_view_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkTreeViewAccessible *accessible;
+ GtkTreeView *tree_view;
+ GtkTreeModel *tree_model;
+ GList *tv_cols, *tmp_list;
+ GtkWidget *widget;
+ GtkTreeSelection *selection;
+
+ ATK_OBJECT_CLASS (_gtk_tree_view_accessible_parent_class)->initialize (obj, data);
+
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (obj);
+ accessible->col_data = NULL;
+ accessible->focus_cell = NULL;
+ accessible->old_hadj = NULL;
+ accessible->old_vadj = NULL;
+ accessible->idle_expand_id = 0;
+ accessible->idle_expand_path = NULL;
+ accessible->n_children_deleted = 0;
+
+ accessible->cell_info_by_index = g_hash_table_new (g_int_hash, g_int_equal);
+
+ widget = GTK_WIDGET (data);
+ tree_view = GTK_TREE_VIEW (widget);
+ tree_model = gtk_tree_view_get_model (tree_view);
+ selection = gtk_tree_view_get_selection (tree_view);
+
+ g_signal_connect_after (widget, "row-collapsed",
+ G_CALLBACK (row_collapsed_cb), NULL);
+ g_signal_connect (widget, "row-expanded",
+ G_CALLBACK (row_expanded_cb), NULL);
+ g_signal_connect (widget, "size-allocate",
+ G_CALLBACK (size_allocate_cb), NULL);
+ g_signal_connect (selection, "changed",
+ G_CALLBACK (selection_changed_cb), obj);
+
+ g_signal_connect (tree_view, "columns-changed",
+ G_CALLBACK (columns_changed), NULL);
+ g_signal_connect (tree_view, "cursor-changed",
+ G_CALLBACK (cursor_changed), NULL);
+ g_signal_connect (tree_view, "focus-in-event",
+ G_CALLBACK (focus_in), NULL);
+ g_signal_connect (tree_view, "focus-out-event",
+ G_CALLBACK (focus_out), NULL);
+
+ accessible->tree_model = tree_model;
+ accessible->n_rows = 0;
+ accessible->n_cols = 0;
+ if (tree_model)
+ {
+ g_object_add_weak_pointer (G_OBJECT (accessible->tree_model), (gpointer *)&accessible->tree_model);
+ count_rows (tree_model, NULL, NULL, &accessible->n_rows, 0, G_MAXINT);
+ connect_model_signals (tree_view, accessible);
+
+ if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
+ obj->role = ATK_ROLE_TABLE;
+ else
+ obj->role = ATK_ROLE_TREE_TABLE;
+ }
+
+ hadjustment_set_cb (G_OBJECT (widget), NULL, accessible);
+ vadjustment_set_cb (G_OBJECT (widget), NULL, accessible);
+ g_signal_connect (widget, "notify::hadjustment",
+ G_CALLBACK (hadjustment_set_cb), accessible);
+ g_signal_connect (widget, "notify::vadjustment",
+ G_CALLBACK (vadjustment_set_cb), accessible);
+
+ accessible->col_data = g_array_sized_new (FALSE, TRUE,
+ sizeof (GtkTreeViewColumn *), 0);
+
+ tv_cols = gtk_tree_view_get_columns (tree_view);
+ for (tmp_list = tv_cols; tmp_list; tmp_list = tmp_list->next)
+ {
+ accessible->n_cols++;
+ g_signal_connect (tmp_list->data, "notify::visible",
+ G_CALLBACK (column_visibility_changed), tree_view);
+ g_array_append_val (accessible->col_data, tmp_list->data);
+ }
+ g_list_free (tv_cols);
+
+ gtk_tree_view_set_destroy_count_func (tree_view,
+ destroy_count_func,
+ NULL, NULL);
+}
+
+static void
+gtk_tree_view_accessible_finalize (GObject *object)
+{
+ GtkTreeViewAccessible *accessible = GTK_TREE_VIEW_ACCESSIBLE (object);
+
+ clear_cached_data (accessible);
+
+ /* remove any idle handlers still pending */
+ if (accessible->idle_garbage_collect_id)
+ g_source_remove (accessible->idle_garbage_collect_id);
+ if (accessible->idle_cursor_changed_id)
+ g_source_remove (accessible->idle_cursor_changed_id);
+ if (accessible->idle_expand_id)
+ g_source_remove (accessible->idle_expand_id);
+
+ if (accessible->tree_model)
+ disconnect_model_signals (accessible);
+
+ if (accessible->cell_info_by_index)
+ g_hash_table_destroy (accessible->cell_info_by_index);
+
+ if (accessible->col_data)
+ {
+ GArray *array = accessible->col_data;
+
+ /* No need to free the contents of the array since it
+ * just contains pointers to the GtkTreeViewColumn
+ * objects that are in the GtkTreeView.
+ */
+ g_array_free (array, TRUE);
+ }
+
+ G_OBJECT_CLASS (_gtk_tree_view_accessible_parent_class)->finalize (object);
+}
+
+static void
+gtk_tree_view_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeViewAccessible *accessible;
+ GtkAdjustment *adj;
+
+ widget = GTK_WIDGET (obj);
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (gtk_widget_get_accessible (widget));
+ tree_view = GTK_TREE_VIEW (widget);
+
+ if (g_strcmp0 (pspec->name, "model") == 0)
+ {
+ GtkTreeModel *tree_model;
+ AtkRole role;
+
+ tree_model = gtk_tree_view_get_model (tree_view);
+ if (accessible->tree_model)
+ disconnect_model_signals (accessible);
+ clear_cached_data (accessible);
+ accessible->tree_model = tree_model;
+ accessible->n_rows = 0;
+
+ if (tree_model)
+ {
+ g_object_add_weak_pointer (G_OBJECT (accessible->tree_model), (gpointer *)&accessible->tree_model);
+ count_rows (tree_model, NULL, NULL, &accessible->n_rows, 0, G_MAXINT);
+ connect_model_signals (tree_view, accessible);
+
+ if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
+ role = ATK_ROLE_TABLE;
+ else
+ role = ATK_ROLE_TREE_TABLE;
+ }
+ else
+ {
+ role = ATK_ROLE_UNKNOWN;
+ }
+ atk_object_set_role (ATK_OBJECT (accessible), role);
+ g_object_freeze_notify (G_OBJECT (accessible));
+ g_signal_emit_by_name (accessible, "model-changed");
+ g_signal_emit_by_name (accessible, "visible-data-changed");
+ g_object_thaw_notify (G_OBJECT (accessible));
+ }
+ else if (g_strcmp0 (pspec->name, "hadjustment") == 0)
+ {
+ g_object_get (tree_view, "hadjustment", &adj, NULL);
+ g_signal_handlers_disconnect_by_func (accessible->old_hadj,
+ (gpointer) adjustment_changed,
+ widget);
+ accessible->old_hadj = adj;
+ g_object_add_weak_pointer (G_OBJECT (accessible->old_hadj), (gpointer *)&accessible->old_hadj);
+ g_signal_connect (adj, "value-changed", G_CALLBACK (adjustment_changed), tree_view);
+ }
+ else if (g_strcmp0 (pspec->name, "vadjustment") == 0)
+ {
+ g_object_get (tree_view, "vadjustment", &adj, NULL);
+ g_signal_handlers_disconnect_by_func (accessible->old_vadj,
+ (gpointer) adjustment_changed,
+ widget);
+ accessible->old_vadj = adj;
+ g_object_add_weak_pointer (G_OBJECT (accessible->old_hadj), (gpointer *)&accessible->old_vadj);
+ g_signal_connect (adj, "value-changed", G_CALLBACK (adjustment_changed), tree_view);
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_tree_view_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+static void
+gtk_tree_view_accessible_destroyed (GtkWidget *widget,
+ GtkAccessible *gtk_accessible)
+{
+ GtkAdjustment *adj;
+ GtkTreeViewAccessible *accessible;
+
+ if (!GTK_IS_TREE_VIEW (widget))
+ return;
+
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (gtk_accessible);
+ adj = accessible->old_hadj;
+ if (adj)
+ g_signal_handlers_disconnect_by_func (adj,
+ (gpointer) adjustment_changed,
+ widget);
+ adj = accessible->old_vadj;
+ if (adj)
+ g_signal_handlers_disconnect_by_func (adj,
+ (gpointer) adjustment_changed,
+ widget);
+ if (accessible->tree_model)
+ {
+ disconnect_model_signals (accessible);
+ accessible->tree_model = NULL;
+ }
+ if (accessible->focus_cell)
+ {
+ g_object_unref (accessible->focus_cell);
+ accessible->focus_cell = NULL;
+ }
+ if (accessible->idle_expand_id)
+ {
+ g_source_remove (accessible->idle_expand_id);
+ accessible->idle_expand_id = 0;
+ }
+}
+
+static void
+gtk_tree_view_accessible_connect_widget_destroyed (GtkAccessible *accessible)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (accessible);
+ if (widget)
+ g_signal_connect_after (widget, "destroy",
+ G_CALLBACK (gtk_tree_view_accessible_destroyed), accessible);
+
+ GTK_ACCESSIBLE_CLASS (_gtk_tree_view_accessible_parent_class)->connect_widget_destroyed (accessible);
+}
+
+static gint
+gtk_tree_view_accessible_get_n_children (AtkObject *obj)
+{
+ GtkWidget *widget;
+ GtkTreeViewAccessible *accessible;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return 0;
+
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (obj);
+ return (accessible->n_rows + 1) * accessible->n_cols;
+}
+
+static AtkObject *
+gtk_tree_view_accessible_ref_child (AtkObject *obj,
+ gint i)
+{
+ GtkWidget *widget;
+ GtkTreeViewAccessible *accessible;
+ GtkCellAccessible *cell;
+ GtkTreeView *tree_view;
+ GtkTreeModel *tree_model;
+ GtkCellRenderer *renderer;
+ GtkTreeIter iter;
+ GtkTreeViewColumn *tv_col;
+ GtkTreeSelection *selection;
+ GtkTreePath *path;
+ AtkObject *child;
+ AtkObject *parent;
+ GtkTreeViewColumn *expander_tv;
+ GList *renderer_list;
+ GList *l;
+ GtkContainerCellAccessible *container = NULL;
+ GtkRendererCellAccessible *renderer_cell;
+ gboolean is_expander, is_expanded, retval;
+ gboolean editable = FALSE;
+ gint focus_index;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ if (i >= gtk_tree_view_accessible_get_n_children (obj))
+ return NULL;
+
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (obj);
+ tree_view = GTK_TREE_VIEW (widget);
+ if (i < accessible->n_cols)
+ {
+ tv_col = gtk_tree_view_get_column (tree_view, i);
+ child = get_header_from_column (tv_col);
+ if (child)
+ g_object_ref (child);
+ return child;
+ }
+
+ /* Check whether the child is cached */
+ cell = find_cell (accessible, i);
+ if (cell)
+ {
+ g_object_ref (cell);
+ return ATK_OBJECT (cell);
+ }
+
+ if (accessible->focus_cell == NULL)
+ focus_index = get_focus_index (tree_view);
+ else
+ focus_index = -1;
+
+ /* Find the TreePath and GtkTreeViewColumn for the index */
+ if (!get_path_column_from_index (tree_view, i, &path, &tv_col))
+ return NULL;
+
+ tree_model = gtk_tree_view_get_model (tree_view);
+ retval = gtk_tree_model_get_iter (tree_model, &iter, path);
+ if (!retval)
+ return NULL;
+
+ expander_tv = gtk_tree_view_get_expander_column (tree_view);
+ is_expander = FALSE;
+ is_expanded = FALSE;
+ if (gtk_tree_model_iter_has_child (tree_model, &iter))
+ {
+ if (expander_tv == tv_col)
+ {
+ is_expander = TRUE;
+ is_expanded = gtk_tree_view_row_expanded (tree_view, path);
+ }
+ }
+ gtk_tree_view_column_cell_set_cell_data (tv_col, tree_model, &iter,
+ is_expander, is_expanded);
+
+ renderer_list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tv_col));
+
+ /* If there are more than one renderer in the list,
+ * make a container
+ */
+ if (renderer_list && renderer_list->next)
+ {
+ GtkCellAccessible *container_cell;
+
+ container = _gtk_container_cell_accessible_new ();
+
+ container_cell = GTK_CELL_ACCESSIBLE (container);
+ _gtk_cell_accessible_initialise (container_cell, widget, ATK_OBJECT (accessible), i);
+
+ /* The GtkTreeViewAccessibleCellInfo structure for the container will
+ * be before the ones for the cells so that the first one we find for
+ * a position will be for the container
+ */
+ cell_info_new (accessible, tree_model, path, tv_col, container_cell);
+ container_cell->refresh_index = refresh_cell_index;
+ parent = ATK_OBJECT (container);
+ }
+ else
+ parent = ATK_OBJECT (accessible);
+
+ child = NULL;
+
+ /* Now we make a fake cell_renderer if there is no cell
+ * in renderer_list
+ */
+ if (renderer_list == NULL)
+ {
+ GtkCellRenderer *fake_renderer;
+
+ fake_renderer = g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, NULL);
+ child = _gtk_text_cell_accessible_new ();
+ cell = GTK_CELL_ACCESSIBLE (child);
+ renderer_cell = GTK_RENDERER_CELL_ACCESSIBLE (child);
+ renderer_cell->renderer = fake_renderer;
+
+ /* Create the GtkTreeViewAccessibleCellInfo structure for this cell */
+ cell_info_new (accessible, tree_model, path, tv_col, cell);
+
+ _gtk_cell_accessible_initialise (cell, widget, parent, i);
+
+ cell->refresh_index = refresh_cell_index;
+
+ /* Set state if it is expandable */
+ if (is_expander)
+ {
+ set_cell_expandable (cell);
+ if (is_expanded)
+ _gtk_cell_accessible_add_state (cell, ATK_STATE_EXPANDED, FALSE);
+ }
+ }
+ else
+ {
+ for (l = renderer_list; l; l = l->next)
+ {
+ renderer = GTK_CELL_RENDERER (l->data);
+
+ if (GTK_IS_CELL_RENDERER_TEXT (renderer))
+ {
+ g_object_get (G_OBJECT (renderer), "editable", &editable, NULL);
+ child = _gtk_text_cell_accessible_new ();
+ }
+ else if (GTK_IS_CELL_RENDERER_TOGGLE (renderer))
+ child = _gtk_boolean_cell_accessible_new ();
+ else if (GTK_IS_CELL_RENDERER_PIXBUF (renderer))
+ child = _gtk_image_cell_accessible_new ();
+ else
+ child = _gtk_renderer_cell_accessible_new ();
+
+ cell = GTK_CELL_ACCESSIBLE (child);
+ renderer_cell = GTK_RENDERER_CELL_ACCESSIBLE (child);
+
+ /* Create the GtkTreeViewAccessibleCellInfo for this cell */
+ cell_info_new (accessible, tree_model, path, tv_col, cell);
+
+ _gtk_cell_accessible_initialise (cell, widget, parent, i);
+
+ if (container)
+ _gtk_container_cell_accessible_add_child (container, cell);
+ else
+ cell->refresh_index = refresh_cell_index;
+
+ update_cell_value (renderer_cell, accessible, FALSE);
+
+ /* Add the actions appropriate for this cell */
+ add_cell_actions (cell, editable);
+
+ /* Set state if it is expandable */
+ if (is_expander)
+ {
+ set_cell_expandable (cell);
+ if (is_expanded)
+ _gtk_cell_accessible_add_state (cell, ATK_STATE_EXPANDED, FALSE);
+ }
+
+ /* If the column is visible, sets the cell's state */
+ if (gtk_tree_view_column_get_visible (tv_col))
+ set_cell_visibility (tree_view, cell, tv_col, path, FALSE);
+
+ /* If the row is selected, all cells on the row are selected */
+ selection = gtk_tree_view_get_selection (tree_view);
+
+ if (gtk_tree_selection_path_is_selected (selection, path))
+ _gtk_cell_accessible_add_state (cell, ATK_STATE_SELECTED, FALSE);
+
+ _gtk_cell_accessible_add_state (cell, ATK_STATE_FOCUSABLE, FALSE);
+ if (focus_index == i)
+ {
+ accessible->focus_cell = g_object_ref (cell);
+ _gtk_cell_accessible_add_state (cell, ATK_STATE_FOCUSED, FALSE);
+ g_signal_emit_by_name (accessible, "active-descendant-changed", cell);
+ }
+ }
+ g_list_free (renderer_list);
+ if (container)
+ child = ATK_OBJECT (container);
+ }
+
+ if (expander_tv == tv_col)
+ {
+ AtkRelationSet *relation_set;
+ AtkObject *accessible_array[1];
+ AtkRelation* relation;
+ AtkObject *parent_node;
+
+ relation_set = atk_object_ref_relation_set (ATK_OBJECT (child));
+
+ gtk_tree_path_up (path);
+ if (gtk_tree_path_get_depth (path) == 0)
+ parent_node = obj;
+ else
+ {
+ gint parent_index;
+
+ parent_index = get_index (tree_view, path, i % accessible->n_cols);
+ parent_node = atk_object_ref_accessible_child (obj, parent_index);
+ }
+ accessible_array[0] = parent_node;
+ relation = atk_relation_new (accessible_array, 1,
+ ATK_RELATION_NODE_CHILD_OF);
+ atk_relation_set_add (relation_set, relation);
+ atk_object_add_relationship (parent_node, ATK_RELATION_NODE_PARENT_OF, child);
+ g_object_unref (relation);
+ g_object_unref (relation_set);
+ }
+ gtk_tree_path_free (path);
+
+ /* We do not increase the reference count here; when g_object_unref()
+ * is called for the cell then cell_destroyed() is called and this
+ * removes the cell from the cache.
+ */
+ return child;
+}
+
+static AtkStateSet*
+gtk_tree_view_accessible_ref_state_set (AtkObject *obj)
+{
+ AtkStateSet *state_set;
+ GtkWidget *widget;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_tree_view_accessible_parent_class)->ref_state_set (obj);
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+
+ if (widget != NULL)
+ atk_state_set_add_state (state_set, ATK_STATE_MANAGES_DESCENDANTS);
+
+ return state_set;
+}
+
+static void
+_gtk_tree_view_accessible_class_init (GtkTreeViewAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GtkAccessibleClass *accessible_class = (GtkAccessibleClass*)klass;
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+ GtkContainerAccessibleClass *container_class = (GtkContainerAccessibleClass*)klass;
+
+ class->get_n_children = gtk_tree_view_accessible_get_n_children;
+ class->ref_child = gtk_tree_view_accessible_ref_child;
+ class->ref_state_set = gtk_tree_view_accessible_ref_state_set;
+ class->initialize = gtk_tree_view_accessible_initialize;
+
+ widget_class->notify_gtk = gtk_tree_view_accessible_notify_gtk;
+
+ accessible_class->connect_widget_destroyed = gtk_tree_view_accessible_connect_widget_destroyed;
+
+ /* The children of a GtkTreeView are the buttons at the top of the columns
+ * we do not represent these as children so we do not want to report
+ * children added or deleted when these changed.
+ */
+ container_class->add_gtk = NULL;
+ container_class->remove_gtk = NULL;
+
+ gobject_class->finalize = gtk_tree_view_accessible_finalize;
+}
+
+static void
+_gtk_tree_view_accessible_init (GtkTreeViewAccessible *view)
+{
+}
+
+gint
+get_focus_index (GtkTreeView *tree_view)
+{
+ GtkTreePath *focus_path;
+ GtkTreeViewColumn *focus_column;
+ gint index;
+
+ gtk_tree_view_get_cursor (tree_view, &focus_path, &focus_column);
+ if (focus_path && focus_column)
+ index = get_index (tree_view, focus_path,
+ get_column_number (tree_view, focus_column, FALSE));
+ else
+ index = -1;
+
+ if (focus_path)
+ gtk_tree_path_free (focus_path);
+
+ return index;
+}
+
+/* This function returns a reference to the accessible object
+ * for the cell in the treeview which has focus, if any
+ */
+static AtkObject *
+gtk_tree_view_accessible_ref_focus_cell (GtkTreeView *tree_view)
+{
+ AtkObject *focus_cell = NULL;
+ AtkObject *atk_obj;
+ gint focus_index;
+
+ focus_index = get_focus_index (tree_view);
+ if (focus_index >= 0)
+ {
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
+ focus_cell = atk_object_ref_accessible_child (atk_obj, focus_index);
+ }
+
+ return focus_cell;
+}
+
+/* atkcomponent.h */
+
+static AtkObject *
+gtk_tree_view_accessible_ref_accessible_at_point (AtkComponent *component,
+ gint x,
+ gint y,
+ AtkCoordType coord_type)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreePath *path;
+ GtkTreeViewColumn *tv_column;
+ gint x_pos, y_pos;
+ gint bx, by;
+ gboolean ret_val;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
+ if (widget == NULL)
+ return NULL;
+
+ tree_view = GTK_TREE_VIEW (widget);
+
+ atk_component_get_extents (component, &x_pos, &y_pos, NULL, NULL, coord_type);
+ gtk_tree_view_convert_widget_to_bin_window_coords (tree_view, x, y, &bx, &by);
+ ret_val = gtk_tree_view_get_path_at_pos (tree_view,
+ bx - x_pos, by - y_pos,
+ &path, &tv_column, NULL, NULL);
+ if (ret_val)
+ {
+ gint index, column;
+
+ column = get_column_number (tree_view, tv_column, FALSE);
+ index = get_index (tree_view, path, column);
+ gtk_tree_path_free (path);
+
+ return gtk_tree_view_accessible_ref_child (ATK_OBJECT (component), index);
+ }
+ else
+ {
+ g_warning ("gtk_tree_view_accessible_ref_accessible_at_point: gtk_tree_view_get_path_at_pos () failed\n");
+ }
+ return NULL;
+}
+
+static void
+atk_component_interface_init (AtkComponentIface *iface)
+{
+ iface->ref_accessible_at_point = gtk_tree_view_accessible_ref_accessible_at_point;
+}
+
+/* atktable.h */
+
+static gint
+gtk_tree_view_accessible_get_index_at (AtkTable *table,
+ gint row,
+ gint column)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ gint actual_column;
+ gint n_cols, n_rows;
+ GtkTreeIter iter;
+ GtkTreePath *path;
+ gint index;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
+ if (widget == NULL)
+ return -1;
+
+ n_cols = atk_table_get_n_columns (table);
+ n_rows = atk_table_get_n_rows (table);
+
+ if (row >= n_rows || column >= n_cols)
+ return -1;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ actual_column = get_actual_column_number (tree_view, column);
+
+ set_iter_nth_row (tree_view, &iter, row);
+ path = gtk_tree_model_get_path (gtk_tree_view_get_model (tree_view), &iter);
+
+ index = get_index (tree_view, path, actual_column);
+ gtk_tree_path_free (path);
+
+ return index;
+}
+
+static gint
+gtk_tree_view_accessible_get_column_at_index (AtkTable *table,
+ gint index)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ gint n_columns;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
+ if (widget == NULL)
+ return -1;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ n_columns = GTK_TREE_VIEW_ACCESSIBLE (table)->n_cols;
+
+ if (n_columns == 0)
+ return 0;
+
+ index = index % n_columns;
+
+ return get_visible_column_number (tree_view, index);
+}
+
+static gint
+gtk_tree_view_accessible_get_row_at_index (AtkTable *table,
+ gint index)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreePath *path;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
+ if (widget == NULL)
+ return -1;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ if (get_path_column_from_index (tree_view, index, &path, NULL))
+ {
+ gint row = get_row_from_tree_path (tree_view, path);
+ gtk_tree_path_free (path);
+ return row;
+ }
+ else
+ return -1;
+}
+
+static AtkObject *
+gtk_tree_view_accessible_table_ref_at (AtkTable *table,
+ gint row,
+ gint column)
+{
+ gint index;
+
+ index = gtk_tree_view_accessible_get_index_at (table, row, column);
+ if (index == -1)
+ return NULL;
+
+ return gtk_tree_view_accessible_ref_child (ATK_OBJECT (table), index);
+}
+
+static gint
+gtk_tree_view_accessible_get_n_rows (AtkTable *table)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeModel *tree_model;
+ gint n_rows;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
+ if (widget == NULL)
+ return 0;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ tree_model = gtk_tree_view_get_model (tree_view);
+
+ if (!tree_model)
+ n_rows = 0;
+ else if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
+ /* No collapsed rows in a list store */
+ n_rows = GTK_TREE_VIEW_ACCESSIBLE (table)->n_rows;
+ else
+ {
+ GtkTreePath *root_tree;
+
+ n_rows = 0;
+ root_tree = gtk_tree_path_new_first ();
+ iterate_thru_children (tree_view, tree_model,
+ root_tree, NULL, &n_rows, 0);
+ gtk_tree_path_free (root_tree);
+ }
+
+ return n_rows;
+}
+
+static gint
+gtk_tree_view_accessible_get_n_columns (AtkTable *table)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeViewColumn *tv_col;
+ gint n_cols = 0;
+ gint i = 0;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
+ if (widget == NULL)
+ return 0;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ tv_col = gtk_tree_view_get_column (tree_view, i);
+
+ while (tv_col != NULL)
+ {
+ if (gtk_tree_view_column_get_visible (tv_col))
+ n_cols++;
+
+ i++;
+ tv_col = gtk_tree_view_get_column (tree_view, i);
+ }
+
+ return n_cols;
+}
+
+static gboolean
+gtk_tree_view_accessible_is_row_selected (AtkTable *table,
+ gint row)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeSelection *selection;
+ GtkTreeIter iter;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
+ if (widget == NULL)
+ return FALSE;
+
+ if (row < 0)
+ return FALSE;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ selection = gtk_tree_view_get_selection (tree_view);
+
+ set_iter_nth_row (tree_view, &iter, row);
+ return gtk_tree_selection_iter_is_selected (selection, &iter);
+}
+
+static gboolean
+gtk_tree_view_accessible_is_selected (AtkTable *table,
+ gint row,
+ gint column)
+{
+ return gtk_tree_view_accessible_is_row_selected (table, row);
+}
+
+static void
+get_selected_rows (GtkTreeModel *model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
+ gpointer data)
+{
+ GPtrArray *array = (GPtrArray *)data;
+
+ g_ptr_array_add (array, gtk_tree_path_copy (path));
+}
+
+static gint
+gtk_tree_view_accessible_get_selected_rows (AtkTable *table,
+ gint **rows_selected)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeModel *tree_model;
+ GtkTreeIter iter;
+ GtkTreeSelection *selection;
+ GtkTreePath *tree_path;
+ gint ret_val = 0;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
+ if (widget == NULL)
+ return 0;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ selection = gtk_tree_view_get_selection (tree_view);
+
+ switch (gtk_tree_selection_get_mode (selection))
+ {
+ case GTK_SELECTION_SINGLE:
+ case GTK_SELECTION_BROWSE:
+ if (gtk_tree_selection_get_selected (selection, &tree_model, &iter))
+ {
+ gint row;
+
+ if (rows_selected)
+ {
+ *rows_selected = g_new (gint, 1);
+ tree_path = gtk_tree_model_get_path (tree_model, &iter);
+ row = get_row_from_tree_path (tree_view, tree_path);
+ gtk_tree_path_free (tree_path);
+
+ /* shouldn't ever happen */
+ g_return_val_if_fail (row != -1, 0);
+
+ *rows_selected[0] = row;
+ }
+ ret_val = 1;
+ }
+ break;
+ case GTK_SELECTION_MULTIPLE:
+ {
+ GPtrArray *array = g_ptr_array_new();
+
+ gtk_tree_selection_selected_foreach (selection, get_selected_rows, array);
+ ret_val = array->len;
+
+ if (rows_selected && ret_val)
+ {
+ gint i;
+
+ *rows_selected = g_new (gint, ret_val);
+ for (i = 0; i < ret_val; i++)
+ {
+ gint row;
+
+ tree_path = (GtkTreePath *) g_ptr_array_index (array, i);
+ row = get_row_from_tree_path (tree_view, tree_path);
+ gtk_tree_path_free (tree_path);
+ (*rows_selected)[i] = row;
+ }
+ }
+ g_ptr_array_free (array, FALSE);
+ }
+ break;
+ case GTK_SELECTION_NONE:
+ break;
+ }
+ return ret_val;
+}
+
+static gboolean
+gtk_tree_view_accessible_add_row_selection (AtkTable *table,
+ gint row)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeModel *tree_model;
+ GtkTreeSelection *selection;
+ GtkTreePath *tree_path;
+ GtkTreeIter iter_to_row;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
+ if (widget == NULL)
+ return FALSE;
+
+ if (!gtk_tree_view_accessible_is_row_selected (table, row))
+ {
+ tree_view = GTK_TREE_VIEW (widget);
+ tree_model = gtk_tree_view_get_model (tree_view);
+ selection = gtk_tree_view_get_selection (tree_view);
+
+ if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
+ {
+ tree_path = gtk_tree_path_new ();
+ gtk_tree_path_append_index (tree_path, row);
+ gtk_tree_selection_select_path (selection,tree_path);
+ gtk_tree_path_free (tree_path);
+ }
+ else
+ {
+ set_iter_nth_row (tree_view, &iter_to_row, row);
+ gtk_tree_selection_select_iter (selection, &iter_to_row);
+ }
+ }
+
+ return gtk_tree_view_accessible_is_row_selected (table, row);
+}
+
+static gboolean
+gtk_tree_view_accessible_remove_row_selection (AtkTable *table,
+ gint row)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeSelection *selection;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
+ if (widget == NULL)
+ return FALSE;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ selection = gtk_tree_view_get_selection (tree_view);
+
+ if (gtk_tree_view_accessible_is_row_selected (table, row))
+ {
+ gtk_tree_selection_unselect_all (selection);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static AtkObject *
+gtk_tree_view_accessible_get_column_header (AtkTable *table,
+ gint in_col)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeViewColumn *tv_col;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
+ if (widget == NULL)
+ return NULL;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ tv_col = get_column (tree_view, in_col);
+ return get_header_from_column (tv_col);
+}
+
+static const gchar *
+gtk_tree_view_accessible_get_column_description (AtkTable *table,
+ gint in_col)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeViewColumn *tv_col;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
+ if (widget == NULL)
+ return NULL;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ tv_col = get_column (tree_view, in_col);
+ if (tv_col == NULL)
+ return NULL;
+
+ return gtk_tree_view_column_get_title (tv_col);
+}
+
+static void
+atk_table_interface_init (AtkTableIface *iface)
+{
+ iface->ref_at = gtk_tree_view_accessible_table_ref_at;
+ iface->get_n_rows = gtk_tree_view_accessible_get_n_rows;
+ iface->get_n_columns = gtk_tree_view_accessible_get_n_columns;
+ iface->get_index_at = gtk_tree_view_accessible_get_index_at;
+ iface->get_column_at_index = gtk_tree_view_accessible_get_column_at_index;
+ iface->get_row_at_index = gtk_tree_view_accessible_get_row_at_index;
+ iface->is_row_selected = gtk_tree_view_accessible_is_row_selected;
+ iface->is_selected = gtk_tree_view_accessible_is_selected;
+ iface->get_selected_rows = gtk_tree_view_accessible_get_selected_rows;
+ iface->add_row_selection = gtk_tree_view_accessible_add_row_selection;
+ iface->remove_row_selection = gtk_tree_view_accessible_remove_row_selection;
+ iface->get_column_extent_at = NULL;
+ iface->get_row_extent_at = NULL;
+ iface->get_column_header = gtk_tree_view_accessible_get_column_header;
+ iface->get_column_description = gtk_tree_view_accessible_get_column_description;
+}
+
+/* atkselection.h */
+
+static gboolean
+gtk_tree_view_accessible_add_selection (AtkSelection *selection,
+ gint i)
+{
+ AtkTable *table;
+ gint n_columns;
+ gint row;
+
+ table = ATK_TABLE (selection);
+ n_columns = gtk_tree_view_accessible_get_n_columns (table);
+ if (n_columns != 1)
+ return FALSE;
+
+ row = gtk_tree_view_accessible_get_row_at_index (table, i);
+ return gtk_tree_view_accessible_add_row_selection (table, row);
+}
+
+static gboolean
+gtk_tree_view_accessible_clear_selection (AtkSelection *selection)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeSelection *tree_selection;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ tree_selection = gtk_tree_view_get_selection (tree_view);
+
+ gtk_tree_selection_unselect_all (tree_selection);
+ return TRUE;
+}
+
+static AtkObject *
+gtk_tree_view_accessible_ref_selection (AtkSelection *selection,
+ gint i)
+{
+ AtkTable *table;
+ gint row;
+ gint n_selected;
+ gint n_columns;
+ gint *selected;
+
+ table = ATK_TABLE (selection);
+ n_columns = gtk_tree_view_accessible_get_n_columns (table);
+ n_selected = gtk_tree_view_accessible_get_selected_rows (table, &selected);
+ if (i >= n_columns * n_selected)
+ return NULL;
+
+ row = selected[i / n_columns];
+ g_free (selected);
+
+ return gtk_tree_view_accessible_table_ref_at (table, row, i % n_columns);
+}
+
+static gint
+gtk_tree_view_accessible_get_selection_count (AtkSelection *selection)
+{
+ AtkTable *table;
+ gint n_selected;
+
+ table = ATK_TABLE (selection);
+ n_selected = gtk_tree_view_accessible_get_selected_rows (table, NULL);
+ if (n_selected > 0)
+ n_selected *= gtk_tree_view_accessible_get_n_columns (table);
+ return n_selected;
+}
+
+static gboolean
+gtk_tree_view_accessible_is_child_selected (AtkSelection *selection,
+ gint i)
+{
+ GtkWidget *widget;
+ gint row;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
+ if (widget == NULL)
+ return FALSE;
+
+ row = atk_table_get_row_at_index (ATK_TABLE (selection), i);
+
+ return gtk_tree_view_accessible_is_row_selected (ATK_TABLE (selection), row);
+}
+
+static void atk_selection_interface_init (AtkSelectionIface *iface)
+{
+ iface->add_selection = gtk_tree_view_accessible_add_selection;
+ iface->clear_selection = gtk_tree_view_accessible_clear_selection;
+ iface->ref_selection = gtk_tree_view_accessible_ref_selection;
+ iface->get_selection_count = gtk_tree_view_accessible_get_selection_count;
+ iface->is_child_selected = gtk_tree_view_accessible_is_child_selected;
+}
+
+#define EXTRA_EXPANDER_PADDING 4
+
+static void
+gtk_tree_view_accessible_get_cell_area (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell,
+ GdkRectangle *cell_rect)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeViewColumn *tv_col;
+ GtkTreePath *path;
+ AtkObject *parent_cell;
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GtkCellAccessible *top_cell;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
+ if (widget == NULL)
+ return;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ parent_cell = atk_object_get_parent (ATK_OBJECT (cell));
+ if (parent_cell != ATK_OBJECT (parent))
+ top_cell = GTK_CELL_ACCESSIBLE (parent_cell);
+ else
+ top_cell = cell;
+ cell_info = find_cell_info (GTK_TREE_VIEW_ACCESSIBLE (parent), top_cell, TRUE);
+ if (!cell_info || !cell_info->cell_col_ref || !cell_info->cell_row_ref)
+ return;
+ path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+ tv_col = cell_info->cell_col_ref;
+ if (path && cell_info->in_use)
+ {
+ GtkTreeViewColumn *expander_column;
+ gint focus_line_width;
+
+ gtk_tree_view_get_cell_area (tree_view, path, tv_col, cell_rect);
+ expander_column = gtk_tree_view_get_expander_column (tree_view);
+ if (expander_column == tv_col)
+ {
+ gint expander_size;
+ gtk_widget_style_get (widget,
+ "expander-size", &expander_size,
+ NULL);
+ cell_rect->x += expander_size + EXTRA_EXPANDER_PADDING;
+ cell_rect->width -= expander_size + EXTRA_EXPANDER_PADDING;
+ }
+ gtk_widget_style_get (widget,
+ "focus-line-width", &focus_line_width,
+ NULL);
+
+ cell_rect->x += focus_line_width;
+ cell_rect->width -= 2 * focus_line_width;
+
+ gtk_tree_path_free (path);
+
+ /* A column has more than one renderer so we find the position
+ * and width of each
+ */
+ if (top_cell != cell)
+ {
+ gint cell_index;
+ gboolean found;
+ gint cell_start;
+ gint cell_width;
+ GList *renderers;
+ GtkCellRenderer *renderer;
+
+ cell_index = atk_object_get_index_in_parent (ATK_OBJECT (cell));
+ renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tv_col));
+ renderer = g_list_nth_data (renderers, cell_index);
+
+ found = gtk_tree_view_column_cell_get_position (tv_col, renderer, &cell_start, &cell_width);
+ if (found)
+ {
+ cell_rect->x += cell_start;
+ cell_rect->width = cell_width;
+ }
+ g_list_free (renderers);
+ }
+
+ }
+}
+
+static void
+gtk_tree_view_accessible_get_cell_extents (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coord_type)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GdkWindow *bin_window;
+ GdkRectangle cell_rect;
+ gint w_x, w_y;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
+ if (widget == NULL)
+ return;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ gtk_tree_view_accessible_get_cell_area (parent, cell, &cell_rect);
+ bin_window = gtk_tree_view_get_bin_window (tree_view);
+ gdk_window_get_origin (bin_window, &w_x, &w_y);
+
+ if (coord_type == ATK_XY_WINDOW)
+ {
+ GdkWindow *window;
+ gint x_toplevel, y_toplevel;
+
+ window = gdk_window_get_toplevel (bin_window);
+ gdk_window_get_origin (window, &x_toplevel, &y_toplevel);
+
+ w_x -= x_toplevel;
+ w_y -= y_toplevel;
+ }
+
+ *width = cell_rect.width;
+ *height = cell_rect.height;
+ if (is_cell_showing (tree_view, &cell_rect))
+ {
+ *x = cell_rect.x + w_x;
+ *y = cell_rect.y + w_y;
+ }
+ else
+ {
+ *x = G_MININT;
+ *y = G_MININT;
+ }
+}
+
+static gboolean
+gtk_tree_view_accessible_grab_cell_focus (GtkCellAccessibleParent *parent,
+ GtkCellAccessible *cell)
+{
+ GtkWidget *widget;
+ GtkTreeView *tree_view;
+ GtkTreeViewColumn *tv_col;
+ GtkTreePath *path;
+ AtkObject *parent_cell;
+ AtkObject *cell_object;
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GtkCellRenderer *renderer = NULL;
+ GtkWidget *toplevel;
+ gint index;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
+ if (widget == NULL)
+ return FALSE;
+
+ tree_view = GTK_TREE_VIEW (widget);
+
+ cell_info = find_cell_info (GTK_TREE_VIEW_ACCESSIBLE (parent), cell, TRUE);
+ if (!cell_info || !cell_info->cell_col_ref || !cell_info->cell_row_ref)
+ return FALSE;
+ cell_object = ATK_OBJECT (cell);
+ parent_cell = atk_object_get_parent (cell_object);
+ tv_col = cell_info->cell_col_ref;
+ if (parent_cell != ATK_OBJECT (parent))
+ {
+ /* GtkCellAccessible is in a GtkContainerCellAccessible.
+ * The GtkTreeViewColumn has multiple renderers;
+ * find the corresponding one.
+ */
+ GList *renderers;
+
+ renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tv_col));
+ if (cell_info->in_use)
+ {
+ index = atk_object_get_index_in_parent (cell_object);
+ renderer = g_list_nth_data (renderers, index);
+ }
+ g_list_free (renderers);
+ }
+ path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+ if (path && cell_info->in_use)
+ {
+ if (renderer)
+ gtk_tree_view_set_cursor_on_cell (tree_view, path, tv_col, renderer, FALSE);
+ else
+ gtk_tree_view_set_cursor (tree_view, path, tv_col, FALSE);
+
+ gtk_tree_path_free (path);
+ gtk_widget_grab_focus (widget);
+ toplevel = gtk_widget_get_toplevel (widget);
+ if (gtk_widget_is_toplevel (toplevel))
+ {
+#ifdef GDK_WINDOWING_X11
+ gtk_window_present_with_time (GTK_WINDOW (toplevel),
+ gdk_x11_get_server_time (gtk_widget_get_window (widget)));
+#else
+ gtk_window_present (GTK_WINDOW (toplevel));
+#endif
+ }
+
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+static void
+gtk_cell_accessible_parent_interface_init (GtkCellAccessibleParentIface *iface)
+{
+ iface->get_cell_extents = gtk_tree_view_accessible_get_cell_extents;
+ iface->get_cell_area = gtk_tree_view_accessible_get_cell_area;
+ iface->grab_focus = gtk_tree_view_accessible_grab_cell_focus;
+}
+
+/* signal handling */
+
+static gboolean
+idle_expand_row (gpointer data)
+{
+ GtkTreeViewAccessible *accessible = data;
+ GtkTreePath *path;
+ GtkTreeView *tree_view;
+ GtkTreeIter iter;
+ GtkTreeModel *tree_model;
+ gint n_inserted, row;
+
+ accessible->idle_expand_id = 0;
+
+ path = accessible->idle_expand_path;
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)));
+
+ tree_model = gtk_tree_view_get_model (tree_view);
+ if (!tree_model)
+ return FALSE;
+
+ if (!path || !gtk_tree_model_get_iter (tree_model, &iter, path))
+ return FALSE;
+
+ /* Update visibility of cells below expansion row */
+ traverse_cells (accessible, path, FALSE, FALSE);
+
+ /* Figure out number of visible children, the following test
+ * should not fail
+ */
+ if (gtk_tree_model_iter_has_child (tree_model, &iter))
+ {
+ GtkTreePath *path_copy;
+
+ /* By passing path into this function, we find the number of
+ * visible children of path.
+ */
+ path_copy = gtk_tree_path_copy (path);
+ gtk_tree_path_append_index (path_copy, 0);
+
+ n_inserted = 0;
+ iterate_thru_children (tree_view, tree_model,
+ path_copy, NULL, &n_inserted, 0);
+ gtk_tree_path_free (path_copy);
+ }
+ else
+ {
+ /* We can get here if the row expanded callback deleted the row */
+ return FALSE;
+ }
+
+ /* Set expand state */
+ set_expand_state (tree_view, tree_model, accessible, path, TRUE);
+
+ row = get_row_from_tree_path (tree_view, path);
+
+ /* shouldn't ever happen */
+ if (row == -1)
+ g_assert_not_reached ();
+
+ /* Must add 1 because the "added rows" are below the row being expanded */
+ row += 1;
+
+ g_signal_emit_by_name (accessible, "row-inserted", row, n_inserted);
+
+ accessible->idle_expand_path = NULL;
+
+ gtk_tree_path_free (path);
+
+ return FALSE;
+}
+
+static gboolean
+row_expanded_cb (GtkTreeView *tree_view,
+ GtkTreeIter *iter,
+ GtkTreePath *path)
+{
+ AtkObject *atk_obj;
+ GtkTreeViewAccessible *accessible;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
+
+ /*
+ * The visible rectangle has not been updated when this signal is emitted
+ * so we process the signal when the GTK processing is completed
+ */
+ /* this seems wrong since it overwrites any other pending expand handlers... */
+ accessible->idle_expand_path = gtk_tree_path_copy (path);
+ if (accessible->idle_expand_id)
+ g_source_remove (accessible->idle_expand_id);
+ accessible->idle_expand_id = gdk_threads_add_idle (idle_expand_row, accessible);
+
+ return FALSE;
+}
+
+static gboolean
+row_collapsed_cb (GtkTreeView *tree_view,
+ GtkTreeIter *iter,
+ GtkTreePath *path)
+{
+ GtkTreeModel *tree_model;
+ AtkObject *atk_obj;
+ GtkTreeViewAccessible *accessible;
+ gint row;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
+ tree_model = gtk_tree_view_get_model (tree_view);
+
+ clean_rows (accessible);
+
+ /* Update visibility of cells below collapsed row */
+ traverse_cells (accessible, path, FALSE, FALSE);
+
+ /* Set collapse state */
+ set_expand_state (tree_view, tree_model, accessible, path, FALSE);
+ if (accessible->n_children_deleted == 0)
+ return FALSE;
+ row = get_row_from_tree_path (tree_view, path);
+ if (row == -1)
+ return FALSE;
+ g_signal_emit_by_name (atk_obj, "row-deleted", row,
+ accessible->n_children_deleted);
+ accessible->n_children_deleted = 0;
+ return FALSE;
+}
+
+static void
+size_allocate_cb (GtkWidget *widget,
+ GtkAllocation *allocation)
+{
+ AtkObject *atk_obj;
+ GtkTreeViewAccessible *accessible;
+
+ atk_obj = gtk_widget_get_accessible (widget);
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
+
+ /* If the size allocation changes, the visibility of cells
+ * may change so update the cells visibility.
+ */
+ traverse_cells (accessible, NULL, FALSE, FALSE);
+}
+
+static void
+selection_changed_cb (GtkTreeSelection *selection,
+ gpointer data)
+{
+ GtkTreeViewAccessible *accessible;
+ GtkTreeView *tree_view;
+ GtkWidget *widget;
+ GtkTreeViewAccessibleCellInfo *info;
+ GtkTreeSelection *tree_selection;
+ GtkTreePath *path;
+ GHashTableIter iter;
+
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (data);
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ tree_selection = gtk_tree_view_get_selection (tree_view);
+
+ clean_rows (accessible);
+
+ /* FIXME: clean rows iterates through all cells too */
+ g_hash_table_iter_init (&iter, accessible->cell_info_by_index);
+ while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&info))
+ {
+ if (info->in_use)
+ {
+ _gtk_cell_accessible_remove_state (info->cell, ATK_STATE_SELECTED, TRUE);
+
+ path = gtk_tree_row_reference_get_path (info->cell_row_ref);
+ if (path && gtk_tree_selection_path_is_selected (tree_selection, path))
+ _gtk_cell_accessible_add_state (info->cell, ATK_STATE_SELECTED, TRUE);
+ gtk_tree_path_free (path);
+ }
+ }
+ if (gtk_widget_get_realized (widget))
+ g_signal_emit_by_name (accessible, "selection-changed");
+}
+
+static void
+columns_changed (GtkTreeView *tree_view)
+{
+ AtkObject *atk_obj;
+ GtkTreeViewAccessible *accessible;
+ GList *tv_cols, *tmp_list;
+ gboolean column_found;
+ gboolean move_found = FALSE;
+ gboolean stale_set = FALSE;
+ gint column_count = 0;
+ gint i;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET(tree_view));
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
+
+ /* This function must determine if the change is an add, delete
+ * or a move based upon its cache of TreeViewColumns in
+ * accessible->col_data
+ */
+ tv_cols = gtk_tree_view_get_columns (tree_view);
+ accessible->n_cols = g_list_length (tv_cols);
+
+ /* check for adds or moves */
+ for (tmp_list = tv_cols; tmp_list; tmp_list = tmp_list->next)
+ {
+ column_found = FALSE;
+
+ for (i = 0; i < accessible->col_data->len; i++)
+ {
+
+ if ((GtkTreeViewColumn *)tmp_list->data ==
+ (GtkTreeViewColumn *)g_array_index (accessible->col_data,
+ GtkTreeViewColumn *, i))
+ {
+ column_found = TRUE;
+
+ /* If the column isn't in the same position, a move happened */
+ if (!move_found && i != column_count)
+ {
+ if (!stale_set)
+ {
+ /* Set all rows to ATK_STATE_STALE */
+ traverse_cells (accessible, NULL, TRUE, FALSE);
+ stale_set = TRUE;
+ }
+
+ /* Just emit one column reordered signal when a move happens */
+ g_signal_emit_by_name (atk_obj, "column-reordered");
+ move_found = TRUE;
+ }
+
+ break;
+ }
+ }
+
+ /* If column_found is FALSE, then an insert happened for column
+ * number column_count
+ */
+ if (!column_found)
+ {
+ gint row;
+
+ if (!stale_set)
+ {
+ /* Set all rows to ATK_STATE_STALE */
+ traverse_cells (accessible, NULL, TRUE, FALSE);
+ stale_set = TRUE;
+ }
+
+ /* Generate column-inserted signal */
+ g_signal_emit_by_name (atk_obj, "column-inserted", column_count, 1);
+
+ /* Generate children-changed signals */
+ for (row = 0; row < accessible->n_rows; row++)
+ {
+ /* Pass NULL as the child object, i.e. 4th argument */
+ g_signal_emit_by_name (atk_obj, "children-changed::add",
+ ((row * accessible->n_cols) + column_count), NULL, NULL);
+ }
+ }
+
+ column_count++;
+ }
+
+ /* check for deletes */
+ for (i = 0; i < accessible->col_data->len; i++)
+ {
+ column_found = FALSE;
+
+ for (tmp_list = tv_cols; tmp_list; tmp_list = tmp_list->next)
+ {
+ if ((GtkTreeViewColumn *)tmp_list->data ==
+ (GtkTreeViewColumn *)g_array_index (accessible->col_data,
+ GtkTreeViewColumn *, i))
+ {
+ column_found = TRUE;
+ break;
+ }
+ }
+
+ /* If column_found is FALSE, then a delete happened for column
+ * number i
+ */
+ if (!column_found)
+ {
+ gint row;
+
+ clean_cols (accessible,
+ (GtkTreeViewColumn *)g_array_index (accessible->col_data,
+ GtkTreeViewColumn *, i));
+
+ if (!stale_set)
+ {
+ /* Set all rows to ATK_STATE_STALE */
+ traverse_cells (accessible, NULL, TRUE, FALSE);
+ stale_set = TRUE;
+ }
+
+ /* Generate column-deleted signal */
+ g_signal_emit_by_name (atk_obj, "column-deleted", i, 1);
+
+ /* Generate children-changed signals */
+ for (row = 0; row < accessible->n_rows; row++)
+ {
+ /* Pass NULL as the child object, 4th argument */
+ g_signal_emit_by_name (atk_obj, "children-changed::remove",
+ ((row * accessible->n_cols) + column_count), NULL, NULL);
+ }
+ }
+ }
+
+ /* rebuild the array */
+ g_array_free (accessible->col_data, TRUE);
+ accessible->col_data = g_array_sized_new (FALSE, TRUE, sizeof (GtkTreeViewColumn *), 0);
+
+ for (tmp_list = tv_cols; tmp_list; tmp_list = tmp_list->next)
+ g_array_append_val (accessible->col_data, tmp_list->data);
+ g_list_free (tv_cols);
+}
+
+static gint
+idle_cursor_changed (gpointer data)
+{
+ GtkTreeViewAccessible *accessible = GTK_TREE_VIEW_ACCESSIBLE (data);
+ GtkTreeView *tree_view;
+ GtkWidget *widget;
+ AtkObject *cell;
+
+ accessible->idle_cursor_changed_id = 0;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return FALSE;
+
+ tree_view = GTK_TREE_VIEW (widget);
+
+ cell = gtk_tree_view_accessible_ref_focus_cell (tree_view);
+ if (cell)
+ {
+ if (cell != accessible->focus_cell)
+ {
+ if (accessible->focus_cell)
+ {
+ _gtk_cell_accessible_remove_state (GTK_CELL_ACCESSIBLE (accessible->focus_cell), ATK_STATE_ACTIVE, FALSE);
+ _gtk_cell_accessible_remove_state (GTK_CELL_ACCESSIBLE (accessible->focus_cell), ATK_STATE_FOCUSED, FALSE);
+ g_object_unref (accessible->focus_cell);
+ accessible->focus_cell = cell;
+ }
+
+ if (gtk_widget_has_focus (widget))
+ {
+ _gtk_cell_accessible_add_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_ACTIVE, FALSE);
+ _gtk_cell_accessible_add_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_FOCUSED, FALSE);
+ }
+
+ g_signal_emit_by_name (accessible, "active-descendant-changed", cell);
+ }
+ else
+ g_object_unref (cell);
+ }
+
+ return FALSE;
+}
+
+static void
+cursor_changed (GtkTreeView *tree_view)
+{
+ GtkTreeViewAccessible *accessible;
+
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (tree_view)));
+ if (accessible->idle_cursor_changed_id != 0)
+ return;
+
+ /* We notify the focus change in a idle handler so that the processing
+ * of the cursor change is completed when the focus handler is called.
+ * This will allow actions to be called in the focus handler
+ */
+ accessible->idle_cursor_changed_id = gdk_threads_add_idle (idle_cursor_changed, accessible);
+}
+
+static gboolean
+focus_in (GtkWidget *widget)
+{
+ GtkTreeView *tree_view;
+ GtkTreeViewAccessible *accessible;
+ AtkStateSet *state_set;
+ AtkObject *cell;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (gtk_widget_get_accessible (widget));
+
+ if (accessible->focus_cell == NULL)
+ {
+ cell = gtk_tree_view_accessible_ref_focus_cell (tree_view);
+ if (cell)
+ {
+ state_set = atk_object_ref_state_set (cell);
+ if (state_set)
+ {
+ if (!atk_state_set_contains_state (state_set, ATK_STATE_FOCUSED))
+ {
+ _gtk_cell_accessible_add_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_ACTIVE, FALSE);
+ accessible->focus_cell = cell;
+ _gtk_cell_accessible_add_state (GTK_CELL_ACCESSIBLE (cell), ATK_STATE_FOCUSED, FALSE);
+ g_signal_emit_by_name (accessible, "active-descendant-changed", cell);
+ }
+ g_object_unref (state_set);
+ }
+ }
+ }
+ return FALSE;
+}
+
+static gboolean
+focus_out (GtkWidget *widget)
+{
+ GtkTreeViewAccessible *accessible;
+
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (gtk_widget_get_accessible (widget));
+ if (accessible->focus_cell)
+ {
+ _gtk_cell_accessible_remove_state (GTK_CELL_ACCESSIBLE (accessible->focus_cell), ATK_STATE_ACTIVE, FALSE);
+ _gtk_cell_accessible_remove_state (GTK_CELL_ACCESSIBLE (accessible->focus_cell), ATK_STATE_FOCUSED, FALSE);
+ g_object_unref (accessible->focus_cell);
+ accessible->focus_cell = NULL;
+ }
+ return FALSE;
+}
+
+static void
+model_row_changed (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
+ gpointer user_data)
+{
+ GtkTreeView *tree_view = GTK_TREE_VIEW (user_data);
+ GtkTreeViewAccessible *accessible;
+ GtkTreePath *cell_path;
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GHashTableIter hash_iter;
+
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (tree_view)));
+
+ /* Loop through our cached cells */
+ /* Must loop through them all */
+ g_hash_table_iter_init (&hash_iter, accessible->cell_info_by_index);
+ while (g_hash_table_iter_next (&hash_iter, NULL, (gpointer *)&cell_info))
+ {
+ if (cell_info->in_use)
+ {
+ cell_path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+
+ if (cell_path != NULL)
+ {
+ if (path && gtk_tree_path_compare (cell_path, path) == 0)
+ {
+ if (GTK_IS_RENDERER_CELL_ACCESSIBLE (cell_info->cell))
+ update_cell_value (GTK_RENDERER_CELL_ACCESSIBLE (cell_info->cell),
+ accessible, TRUE);
+ }
+ gtk_tree_path_free (cell_path);
+ }
+ }
+ }
+ g_signal_emit_by_name (accessible, "visible-data-changed");
+}
+
+static void
+column_visibility_changed (GObject *object,
+ GParamSpec *pspec,
+ gpointer user_data)
+{
+ if (g_strcmp0 (pspec->name, "visible") == 0)
+ {
+ /* A column has been made visible or invisible
+ * We update our cache of cells and emit model_changed signal
+ */
+ GtkTreeView *tree_view = (GtkTreeView *)user_data;
+ GtkTreeViewAccessible *accessible;
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GtkTreeViewColumn *this_col = GTK_TREE_VIEW_COLUMN (object);
+ GtkTreeViewColumn *tv_col;
+ GHashTableIter iter;
+
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (tree_view))
+);
+ g_signal_emit_by_name (accessible, "model-changed");
+
+ g_hash_table_iter_init (&iter, accessible->cell_info_by_index);
+ while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&cell_info))
+ {
+ if (cell_info->in_use)
+ {
+ tv_col = cell_info->cell_col_ref;
+ if (tv_col == this_col)
+ {
+ GtkTreePath *row_path;
+ row_path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+ if (GTK_IS_RENDERER_CELL_ACCESSIBLE (cell_info->cell))
+ {
+ if (gtk_tree_view_column_get_visible (tv_col))
+ set_cell_visibility (tree_view,
+ cell_info->cell,
+ tv_col, row_path, FALSE);
+ else
+ {
+ _gtk_cell_accessible_remove_state (cell_info->cell, ATK_STATE_VISIBLE, TRUE);
+ _gtk_cell_accessible_remove_state (cell_info->cell, ATK_STATE_SHOWING, TRUE);
+ }
+ }
+ gtk_tree_path_free (row_path);
+ }
+ }
+ }
+ }
+}
+
+static void
+model_row_inserted (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
+ gpointer user_data)
+{
+ GtkTreeView *tree_view = (GtkTreeView *)user_data;
+ AtkObject *atk_obj;
+ GtkTreeViewAccessible *accessible;
+ GtkTreePath *path_copy;
+ gint row, n_inserted, child_row;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
+ accessible->n_rows++;
+
+ if (accessible->idle_expand_id)
+ {
+ g_source_remove (accessible->idle_expand_id);
+ accessible->idle_expand_id = 0;
+
+ /* don't do this if the insertion precedes the idle path,
+ * since it will now be invalid
+ */
+ if (path && accessible->idle_expand_path &&
+ (gtk_tree_path_compare (path, accessible->idle_expand_path) > 0))
+ set_expand_state (tree_view, tree_model, accessible, accessible->idle_expand_path, FALSE);
+ if (accessible->idle_expand_path)
+ gtk_tree_path_free (accessible->idle_expand_path);
+ }
+ /* Check to see if row is visible */
+ row = get_row_from_tree_path (tree_view, path);
+
+ /* A row insert is not necessarily visible. For example,
+ * a row can be draged & dropped into another row, which
+ * causes an insert on the model that isn't visible in the
+ * view. Only generate a signal if the inserted row is
+ * visible.
+ */
+ if (row != -1)
+ {
+ GtkTreeIter tmp_iter;
+ gint n_cols, col;
+
+ gtk_tree_model_get_iter (tree_model, &tmp_iter, path);
+
+ /* Figure out number of visible children. */
+ if (gtk_tree_model_iter_has_child (tree_model, &tmp_iter))
+ {
+ /*
+ * By passing path into this function, we find the number of
+ * visible children of path.
+ */
+ n_inserted = 0;
+ iterate_thru_children (tree_view, tree_model,
+ path, NULL, &n_inserted, 0);
+
+ /* Must add one to include the row that is being added */
+ n_inserted++;
+ }
+ else
+ n_inserted = 1;
+
+ /* Set rows below the inserted row to ATK_STATE_STALE */
+ traverse_cells (accessible, path, TRUE, TRUE);
+
+ /* Generate row-inserted signal */
+ g_signal_emit_by_name (atk_obj, "row-inserted", row, n_inserted);
+
+ /* Generate children-changed signals */
+ n_cols = gtk_tree_view_accessible_get_n_columns (ATK_TABLE (atk_obj));
+ for (child_row = row; child_row < (row + n_inserted); child_row++)
+ {
+ for (col = 0; col < n_cols; col++)
+ {
+ /* Pass NULL as the child object, i.e. 4th argument */
+ g_signal_emit_by_name (atk_obj, "children-changed::add",
+ ((row * n_cols) + col), NULL, NULL);
+ }
+ }
+ }
+ else
+ {
+ /* The row has been inserted inside another row. This can
+ * cause a row that previously couldn't be expanded to now
+ * be expandable.
+ */
+ path_copy = gtk_tree_path_copy (path);
+ gtk_tree_path_up (path_copy);
+ set_expand_state (tree_view, tree_model, accessible, path_copy, TRUE);
+ gtk_tree_path_free (path_copy);
+ }
+}
+
+static void
+model_row_deleted (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ gpointer user_data)
+{
+ GtkTreeView *tree_view = (GtkTreeView *)user_data;
+ GtkTreePath *path_copy;
+ AtkObject *atk_obj;
+ GtkTreeViewAccessible *accessible;
+ gint row, col;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
+
+ accessible->n_rows--;
+
+ if (accessible->idle_expand_id)
+ {
+ g_source_remove (accessible->idle_expand_id);
+ gtk_tree_path_free (accessible->idle_expand_path);
+ accessible->idle_expand_id = 0;
+ }
+
+ /* Check to see if row is visible */
+ clean_rows (accessible);
+
+ /* Set rows at or below the specified row to ATK_STATE_STALE */
+ traverse_cells (accessible, path, TRUE, TRUE);
+
+ /* If deleting a row with a depth > 1, then this may affect the
+ * expansion/contraction of its parent(s). Make sure this is
+ * handled.
+ */
+ if (gtk_tree_path_get_depth (path) > 1)
+ {
+ path_copy = gtk_tree_path_copy (path);
+ gtk_tree_path_up (path_copy);
+ set_expand_state (tree_view, tree_model, accessible, path_copy, TRUE);
+ gtk_tree_path_free (path_copy);
+ }
+ row = get_row_from_tree_path (tree_view, path);
+
+ /* If the row which is deleted is not visible because it is a child of
+ * a collapsed row then row will be -1
+ */
+ if (row > 0)
+ g_signal_emit_by_name (atk_obj, "row-deleted", row,
+ accessible->n_children_deleted + 1);
+ accessible->n_children_deleted = 0;
+
+ /* Generate children-changed signals */
+ for (col = 0; col < accessible->n_cols; col++)
+ {
+ /* Pass NULL as the child object, 4th argument */
+ g_signal_emit_by_name (atk_obj, "children-changed::remove",
+ ((row * accessible->n_cols) + col), NULL, NULL);
+ }
+}
+
+/* This function gets called when a row is deleted or when rows are
+ * removed from the view due to a collapse event. Note that the
+ * count is the number of visible *children* of the deleted row,
+ * so it does not include the row being deleted.
+ *
+ * As this function is called before the rows are removed we just note
+ * the number of rows and then deal with it when we get a notification
+ * that rows were deleted or collapsed.
+ */
+static void
+destroy_count_func (GtkTreeView *tree_view,
+ GtkTreePath *path,
+ gint count,
+ gpointer user_data)
+{
+ AtkObject *atk_obj;
+ GtkTreeViewAccessible *accessible;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
+
+ if (accessible->n_children_deleted != 0)
+ return;
+
+ accessible->n_children_deleted = count;
+}
+
+static void
+model_rows_reordered (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
+ gint *new_order,
+ gpointer user_data)
+{
+ GtkTreeView *tree_view = (GtkTreeView *)user_data;
+ AtkObject *atk_obj;
+ GtkTreeViewAccessible *accessible;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
+
+ if (accessible->idle_expand_id)
+ {
+ g_source_remove (accessible->idle_expand_id);
+ gtk_tree_path_free (accessible->idle_expand_path);
+ accessible->idle_expand_id = 0;
+ }
+ traverse_cells (accessible, NULL, TRUE, FALSE);
+
+ g_signal_emit_by_name (atk_obj, "row-reordered");
+}
+
+static void
+set_cell_visibility (GtkTreeView *tree_view,
+ GtkCellAccessible *cell,
+ GtkTreeViewColumn *tv_col,
+ GtkTreePath *tree_path,
+ gboolean emit_signal)
+{
+ GdkRectangle cell_rect;
+
+ /* Get these three values in tree coords */
+ if (gtk_widget_get_realized (GTK_WIDGET (tree_view)))
+ gtk_tree_view_get_cell_area (tree_view, tree_path, tv_col, &cell_rect);
+ else
+ cell_rect.height = 0;
+
+ if (cell_rect.height > 0)
+ {
+ /* The height will be zero for a cell for which an antecedent
+ * is not expanded
+ */
+ _gtk_cell_accessible_add_state (cell, ATK_STATE_VISIBLE, emit_signal);
+ if (is_cell_showing (tree_view, &cell_rect))
+ _gtk_cell_accessible_add_state (cell, ATK_STATE_SHOWING, emit_signal);
+ else
+ _gtk_cell_accessible_remove_state (cell, ATK_STATE_SHOWING, emit_signal);
+ }
+ else
+ {
+ _gtk_cell_accessible_remove_state (cell, ATK_STATE_VISIBLE, emit_signal);
+ _gtk_cell_accessible_remove_state (cell, ATK_STATE_SHOWING, emit_signal);
+ }
+}
+
+static gboolean
+is_cell_showing (GtkTreeView *tree_view,
+ GdkRectangle *cell_rect)
+{
+ GdkRectangle rect, *visible_rect;
+ GdkRectangle rect1, *tree_cell_rect;
+ gint bx, by;
+ gboolean is_showing;
+
+ /* A cell is considered "SHOWING" if any part of the cell is
+ * in the visible area. Other ways we could do this is by a
+ * cell's midpoint or if the cell is fully in the visible range.
+ * Since we have the cell_rect x, y, width, height of the cell,
+ * any of these is easy to compute.
+ *
+ * It is assumed that cell's rectangle is in widget coordinates
+ * so we must transform to tree cordinates.
+ */
+ visible_rect = ▭
+ tree_cell_rect = &rect1;
+ tree_cell_rect->x = cell_rect->x;
+ tree_cell_rect->y = cell_rect->y;
+ tree_cell_rect->width = cell_rect->width;
+ tree_cell_rect->height = cell_rect->height;
+
+ gtk_tree_view_get_visible_rect (tree_view, visible_rect);
+ gtk_tree_view_convert_tree_to_bin_window_coords (tree_view, visible_rect->x,
+ visible_rect->y, &bx, &by);
+
+ if (((tree_cell_rect->x + tree_cell_rect->width) < bx) ||
+ ((tree_cell_rect->y + tree_cell_rect->height) < by) ||
+ (tree_cell_rect->x > (bx + visible_rect->width)) ||
+ (tree_cell_rect->y > (by + visible_rect->height)))
+ is_showing = FALSE;
+ else
+ is_showing = TRUE;
+
+ return is_showing;
+}
+
+/* Misc Public */
+
+/* This function is called when a cell's flyweight is created in
+ * gtk_tree_view_accessible_table_ref_at with emit_change_signal
+ * set to FALSE and in model_row_changed() on receipt of "row-changed"
+ * signal when emit_change_signal is set to TRUE
+ */
+static gboolean
+update_cell_value (GtkRendererCellAccessible *renderer_cell,
+ GtkTreeViewAccessible *accessible,
+ gboolean emit_change_signal)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GtkTreeView *tree_view;
+ GtkTreeModel *tree_model;
+ GtkTreePath *path;
+ GtkTreeIter iter;
+ GList *renderers, *cur_renderer;
+ GParamSpec *spec;
+ GtkRendererCellAccessibleClass *renderer_cell_class;
+ GtkCellRendererClass *gtk_cell_renderer_class;
+ GtkCellAccessible *cell;
+ gchar **prop_list;
+ AtkObject *parent;
+ gboolean is_expander, is_expanded;
+
+ renderer_cell_class = GTK_RENDERER_CELL_ACCESSIBLE_GET_CLASS (renderer_cell);
+ if (renderer_cell->renderer)
+ gtk_cell_renderer_class = GTK_CELL_RENDERER_GET_CLASS (renderer_cell->renderer);
+ else
+ gtk_cell_renderer_class = NULL;
+
+ prop_list = renderer_cell_class->property_list;
+
+ cell = GTK_CELL_ACCESSIBLE (renderer_cell);
+ cell_info = find_cell_info (accessible, cell, TRUE);
+ if (!cell_info || !cell_info->cell_col_ref || !cell_info->cell_row_ref)
+ return FALSE;
+
+ if (emit_change_signal && cell_info->in_use)
+ {
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)));
+ tree_model = gtk_tree_view_get_model (tree_view);
+ path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+ if (path == NULL)
+ return FALSE;
+
+ gtk_tree_model_get_iter (tree_model, &iter, path);
+ is_expander = FALSE;
+ is_expanded = FALSE;
+ if (gtk_tree_model_iter_has_child (tree_model, &iter))
+ {
+ GtkTreeViewColumn *expander_tv;
+
+ expander_tv = gtk_tree_view_get_expander_column (tree_view);
+ if (expander_tv == cell_info->cell_col_ref)
+ {
+ is_expander = TRUE;
+ is_expanded = gtk_tree_view_row_expanded (tree_view, path);
+ }
+ }
+ gtk_tree_path_free (path);
+ gtk_tree_view_column_cell_set_cell_data (cell_info->cell_col_ref,
+ tree_model, &iter,
+ is_expander, is_expanded);
+ }
+ renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cell_info->cell_col_ref));
+ if (!renderers)
+ return FALSE;
+
+ /* If the cell is in a container, its index is used to find the renderer
+ * in the list. Otherwise, we assume that the cell is represented
+ * by the first renderer in the list
+ */
+
+ if (cell_info->in_use)
+ {
+ parent = atk_object_get_parent (ATK_OBJECT (cell));
+
+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (parent))
+ cur_renderer = g_list_nth (renderers, cell->index);
+ else
+ cur_renderer = renderers;
+ }
+ else
+ return FALSE;
+
+ if (cur_renderer == NULL)
+ return FALSE;
+
+ if (gtk_cell_renderer_class)
+ {
+ while (*prop_list)
+ {
+ spec = g_object_class_find_property
+ (G_OBJECT_CLASS (gtk_cell_renderer_class), *prop_list);
+
+ if (spec != NULL)
+ {
+ GValue value = { 0, };
+
+ g_value_init (&value, spec->value_type);
+ g_object_get_property (cur_renderer->data, *prop_list, &value);
+ g_object_set_property (G_OBJECT (renderer_cell->renderer),
+ *prop_list, &value);
+ g_value_unset (&value);
+ }
+ else
+ g_warning ("Invalid property: %s\n", *prop_list);
+ prop_list++;
+ }
+ }
+ g_list_free (renderers);
+
+ return _gtk_renderer_cell_accessible_update_cache (renderer_cell, emit_change_signal);
+}
+
+static gint
+get_row_from_tree_path (GtkTreeView *tree_view,
+ GtkTreePath *path)
+{
+ GtkTreeModel *tree_model;
+ GtkTreePath *root_tree;
+ gint row;
+
+ tree_model = gtk_tree_view_get_model (tree_view);
+
+ if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
+ row = gtk_tree_path_get_indices (path)[0];
+ else
+ {
+ root_tree = gtk_tree_path_new_first ();
+ row = 0;
+ iterate_thru_children (tree_view, tree_model, root_tree, path, &row, 0);
+ gtk_tree_path_free (root_tree);
+ }
+
+ return row;
+}
+
+/* Misc Private */
+
+/*
+ * Get the specified GtkTreeViewColumn in the GtkTreeView.
+ * Only visible columns are considered.
+ */
+static GtkTreeViewColumn *
+get_column (GtkTreeView *tree_view,
+ gint in_col)
+{
+ GtkTreeViewColumn *tv_col;
+ gint n_cols = -1;
+ gint i = 0;
+
+ if (in_col < 0)
+ {
+ g_warning ("Request for invalid column %d\n", in_col);
+ return NULL;
+ }
+
+ tv_col = gtk_tree_view_get_column (tree_view, i);
+ while (tv_col != NULL)
+ {
+ if (gtk_tree_view_column_get_visible (tv_col))
+ n_cols++;
+ if (in_col == n_cols)
+ break;
+ tv_col = gtk_tree_view_get_column (tree_view, ++i);
+ }
+
+ if (in_col != n_cols)
+ {
+ g_warning ("Request for invalid column %d\n", in_col);
+ return NULL;
+ }
+ return tv_col;
+}
+
+static gint
+get_actual_column_number (GtkTreeView *tree_view,
+ gint visible_column)
+{
+ GtkTreeViewColumn *tv_col;
+ gint actual_column = 0;
+ gint visible_columns = -1;
+
+ /* This function calculates the column number which corresponds
+ * to the specified visible column number
+ */
+ tv_col = gtk_tree_view_get_column (tree_view, actual_column);
+ while (tv_col != NULL)
+ {
+ if (gtk_tree_view_column_get_visible (tv_col))
+ visible_columns++;
+ if (visible_columns == visible_column)
+ return actual_column;
+ tv_col = gtk_tree_view_get_column (tree_view, ++actual_column);
+ }
+ g_warning ("get_actual_column_number failed for %d\n", visible_column);
+ return -1;
+}
+
+static gint
+get_visible_column_number (GtkTreeView *tree_view,
+ gint actual_column)
+{
+ GtkTreeViewColumn *tv_col;
+ gint column = 0;
+ gint visible_columns = -1;
+
+ /* This function calculates the visible column number
+ * which corresponds to the specified actual column number
+ */
+ tv_col = gtk_tree_view_get_column (tree_view, column);
+
+ while (tv_col != NULL)
+ {
+ if (gtk_tree_view_column_get_visible (tv_col))
+ {
+ visible_columns++;
+ if (actual_column == column)
+ return visible_columns;
+ }
+ else
+ if (actual_column == column)
+ return -1;
+ tv_col = gtk_tree_view_get_column (tree_view, ++column);
+ }
+ g_warning ("get_visible_column_number failed for %d\n", actual_column);
+ return -1;
+}
+
+/* Helper recursive function that returns an iter to nth row
+ */
+static GtkTreeIter *
+return_iter_nth_row (GtkTreeView *tree_view,
+ GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ gint increment,
+ gint row)
+{
+ GtkTreePath *current_path;
+ GtkTreeIter new_iter;
+ gboolean row_expanded;
+
+ current_path = gtk_tree_model_get_path (tree_model, iter);
+ if (increment == row)
+ {
+ gtk_tree_path_free (current_path);
+ return iter;
+ }
+
+ row_expanded = gtk_tree_view_row_expanded (tree_view, current_path);
+ gtk_tree_path_free (current_path);
+
+ new_iter = *iter;
+ if ((row_expanded && gtk_tree_model_iter_children (tree_model, iter, &new_iter)) ||
+ (gtk_tree_model_iter_next (tree_model, iter)) ||
+ (gtk_tree_model_iter_parent (tree_model, iter, &new_iter) &&
+ (gtk_tree_model_iter_next (tree_model, iter))))
+ return return_iter_nth_row (tree_view, tree_model, iter,
+ ++increment, row);
+
+ return NULL;
+}
+
+static void
+set_iter_nth_row (GtkTreeView *tree_view,
+ GtkTreeIter *iter,
+ gint row)
+{
+ GtkTreeModel *tree_model;
+
+ tree_model = gtk_tree_view_get_model (tree_view);
+ gtk_tree_model_get_iter_first (tree_model, iter);
+ iter = return_iter_nth_row (tree_view, tree_model, iter, 0, row);
+}
+
+/* Recursively called until the row specified by orig is found.
+ *
+ * *count will be set to the visible row number of the child
+ * relative to the row that was initially passed in as tree_path.
+ *
+ * *count will be -1 if orig is not found as a child (a row that is
+ * not visible will not be found, e.g. if the row is inside a
+ * collapsed row). If NULL is passed in as orig, *count will
+ * be a count of the visible children.
+ *
+ * NOTE: the value for depth must be 0 when this recursive function
+ * is initially called, or it may not function as expected.
+ */
+static void
+iterate_thru_children (GtkTreeView *tree_view,
+ GtkTreeModel *tree_model,
+ GtkTreePath *tree_path,
+ GtkTreePath *orig,
+ gint *count,
+ gint depth)
+{
+ GtkTreeIter iter;
+
+ if (!gtk_tree_model_get_iter (tree_model, &iter, tree_path))
+ return;
+
+ if (tree_path && orig && !gtk_tree_path_compare (tree_path, orig))
+ /* Found it! */
+ return;
+
+ if (tree_path && orig && gtk_tree_path_compare (tree_path, orig) > 0)
+ {
+ /* Past it, so return -1 */
+ *count = -1;
+ return;
+ }
+ else if (gtk_tree_view_row_expanded (tree_view, tree_path) &&
+ gtk_tree_model_iter_has_child (tree_model, &iter))
+ {
+ (*count)++;
+ gtk_tree_path_append_index (tree_path, 0);
+ iterate_thru_children (tree_view, tree_model, tree_path,
+ orig, count, (depth + 1));
+ return;
+ }
+ else if (gtk_tree_model_iter_next (tree_model, &iter))
+ {
+ (*count)++;
+ tree_path = gtk_tree_model_get_path (tree_model, &iter);
+ if (tree_path)
+ {
+ iterate_thru_children (tree_view, tree_model, tree_path,
+ orig, count, depth);
+ gtk_tree_path_free (tree_path);
+ }
+ return;
+ }
+ else if (gtk_tree_path_up (tree_path))
+ {
+ GtkTreeIter temp_iter;
+ gboolean exit_loop = FALSE;
+ gint new_depth = depth - 1;
+
+ (*count)++;
+
+ /* Make sure that we back up until we find a row
+ * where gtk_tree_path_next does not return NULL.
+ */
+ while (!exit_loop)
+ {
+ if (gtk_tree_path_get_depth (tree_path) == 0)
+ /* depth is now zero so */
+ return;
+ gtk_tree_path_next (tree_path);
+
+ /* Verify that the next row is a valid row! */
+ exit_loop = gtk_tree_model_get_iter (tree_model, &temp_iter, tree_path);
+
+ if (!exit_loop)
+ {
+ /* Keep going up until we find a row that has a valid next */
+ if (gtk_tree_path_get_depth(tree_path) > 1)
+ {
+ new_depth--;
+ gtk_tree_path_up (tree_path);
+ }
+ else
+ {
+ /* If depth is 1 and gtk_tree_model_get_iter returns FALSE,
+ * then we are at the last row, so just return.
+ */
+ if (orig != NULL)
+ *count = -1;
+
+ return;
+ }
+ }
+ }
+
+ /* This guarantees that we will stop when we hit the end of the
+ * children.
+ */
+ if (new_depth < 0)
+ return;
+
+ iterate_thru_children (tree_view, tree_model, tree_path,
+ orig, count, new_depth);
+ return;
+ }
+
+ /* If it gets here, then the path wasn't found. Situations
+ * that would cause this would be if the path passed in is
+ * invalid or contained within the last row, but not visible
+ * because the last row is not expanded. If NULL was passed
+ * in then a row count is desired, so only set count to -1
+ * if orig is not NULL.
+ */
+ if (orig != NULL)
+ *count = -1;
+
+ return;
+}
+
+static void
+clean_cell_info (GtkTreeViewAccessible *accessible,
+ GtkTreeViewAccessibleCellInfo *cell_info)
+{
+ GObject *obj;
+
+ if (cell_info->in_use)
+ {
+ obj = G_OBJECT (cell_info->cell);
+
+ _gtk_cell_accessible_add_state (cell_info->cell, ATK_STATE_DEFUNCT, FALSE);
+ g_object_weak_unref (obj, (GWeakNotify) cell_destroyed, cell_info);
+ cell_info->in_use = FALSE;
+ if (!accessible->garbage_collection_pending)
+ {
+ accessible->garbage_collection_pending = TRUE;
+ g_assert (accessible->idle_garbage_collect_id == 0);
+ accessible->idle_garbage_collect_id =
+ gdk_threads_add_idle (idle_garbage_collect_cell_data, accessible);
+ }
+ }
+}
+
+static void
+clean_rows (GtkTreeViewAccessible *accessible)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GHashTableIter iter;
+
+ /* Clean GtkTreeViewAccessibleCellInfo data */
+ g_hash_table_iter_init (&iter, accessible->cell_info_by_index);
+ while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&cell_info))
+ {
+ GtkTreePath *row_path;
+
+ row_path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+
+ /* If the cell has become invalid because the row has been removed,
+ * then set the cell's state to ATK_STATE_DEFUNCT and schedule
+ * its removal. If row_path is NULL then the row has
+ * been removed.
+ */
+ if (row_path == NULL)
+ clean_cell_info (accessible, cell_info);
+ else
+ gtk_tree_path_free (row_path);
+ }
+}
+
+static void
+clean_cols (GtkTreeViewAccessible *accessible,
+ GtkTreeViewColumn *tv_col)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GHashTableIter iter;
+
+ /* Clean GtkTreeViewAccessibleCellInfo data */
+ g_hash_table_iter_init (&iter, accessible->cell_info_by_index);
+ while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &cell_info))
+ {
+ /* If the cell has become invalid because the column tv_col
+ * has been removed, then set the cell's state to ATK_STATE_DEFUNCT
+ * and remove the cell from accessible->cell_data.
+ */
+ if (cell_info->cell_col_ref == tv_col)
+ clean_cell_info (accessible, cell_info);
+ }
+}
+
+static gboolean
+garbage_collect_cell_data (gpointer data)
+{
+ GtkTreeViewAccessible *accessible;
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GHashTableIter iter;
+
+ accessible = (GtkTreeViewAccessible *)data;
+
+ accessible->garbage_collection_pending = FALSE;
+ if (accessible->idle_garbage_collect_id != 0)
+ {
+ g_source_remove (accessible->idle_garbage_collect_id);
+ accessible->idle_garbage_collect_id = 0;
+ }
+
+ /* Must loop through them all */
+ g_hash_table_iter_init (&iter, accessible->cell_info_by_index);
+ while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&cell_info))
+ {
+ if (!cell_info->in_use)
+ {
+ /* g_object_unref (cell_info->cell); */
+ if (cell_info->cell_row_ref)
+ gtk_tree_row_reference_free (cell_info->cell_row_ref);
+ g_free (cell_info);
+ g_hash_table_iter_remove (&iter);
+ }
+ }
+
+ return accessible->garbage_collection_pending;
+}
+
+static gboolean
+idle_garbage_collect_cell_data (gpointer data)
+{
+ GtkTreeViewAccessible *accessible;
+
+ accessible = (GtkTreeViewAccessible *)data;
+
+ /* this is the idle handler (only one instance allowed), so
+ * we can safely delete it.
+ */
+ accessible->garbage_collection_pending = FALSE;
+ accessible->idle_garbage_collect_id = 0;
+
+ accessible->garbage_collection_pending = garbage_collect_cell_data (data);
+
+ /* N.B.: if for some reason another handler has re-enterantly been
+ * queued while this handler was being serviced, it has its own gsource,
+ * therefore this handler should always return FALSE.
+ */
+ return FALSE;
+}
+
+/* If tree_path is passed in as NULL, then all cells are acted on.
+ * Otherwise, just act on those cells that are on a row greater than
+ * the specified tree_path. If inc_row is passed in as TRUE, then rows
+ * greater and equal to the specified tree_path are acted on.
+ *
+ * If set_stale is set the ATK_STATE_STALE is set on cells which
+ * are to be acted on.
+ *
+ * The function set_cell_visibility() is called on all cells to be
+ * acted on to update the visibility of the cell.
+ */
+static void
+traverse_cells (GtkTreeViewAccessible *accessible,
+ GtkTreePath *tree_path,
+ gboolean set_stale,
+ gboolean inc_row)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GtkWidget *widget;
+ GHashTableIter iter;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (!widget)
+ return;
+
+ /* Must loop through them all */
+ g_hash_table_iter_init (&iter, accessible->cell_info_by_index);
+ while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&cell_info))
+ {
+ GtkTreePath *row_path;
+ gboolean act_on_cell;
+
+ if (cell_info->in_use)
+ {
+ row_path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+ g_return_if_fail (row_path != NULL);
+ if (tree_path == NULL)
+ act_on_cell = TRUE;
+ else
+ {
+ gint comparison;
+
+ comparison = gtk_tree_path_compare (row_path, tree_path);
+ if ((comparison > 0) ||
+ (comparison == 0 && inc_row))
+ act_on_cell = TRUE;
+ else
+ act_on_cell = FALSE;
+ }
+
+ if (!cell_info->in_use)
+ g_warning ("warning: cell info destroyed during traversal");
+
+ if (act_on_cell && cell_info->in_use)
+ {
+ if (set_stale)
+ _gtk_cell_accessible_add_state (cell_info->cell, ATK_STATE_STALE, TRUE);
+ set_cell_visibility (GTK_TREE_VIEW (widget),
+ cell_info->cell,
+ cell_info->cell_col_ref,
+ row_path, TRUE);
+ }
+ gtk_tree_path_free (row_path);
+ }
+ }
+
+ g_signal_emit_by_name (accessible, "visible-data-changed");
+}
+
+/* If the tree_path passed in has children, then
+ * ATK_STATE_EXPANDABLE is set. If the row is expanded
+ * ATK_STATE_EXPANDED is turned on. If the row is
+ * collapsed, then ATK_STATE_EXPANDED is removed.
+ *
+ * If the tree_path passed in has no children, then
+ * ATK_STATE_EXPANDABLE and ATK_STATE_EXPANDED are removed.
+ *
+ * If set_on_ancestor is TRUE, then this function will also
+ * update all cells that are ancestors of the tree_path.
+ */
+static void
+set_expand_state (GtkTreeView *tree_view,
+ GtkTreeModel *tree_model,
+ GtkTreeViewAccessible *accessible,
+ GtkTreePath *tree_path,
+ gboolean set_on_ancestor)
+{
+ GtkTreeViewColumn *expander_tv;
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GtkTreePath *cell_path;
+ GtkTreeIter iter;
+ gboolean found;
+ GHashTableIter hash_iter;
+
+ g_hash_table_iter_init (&hash_iter, accessible->cell_info_by_index);
+ while (g_hash_table_iter_next (&hash_iter, NULL, (gpointer *) &cell_info))
+ {
+ if (cell_info->in_use)
+ {
+ cell_path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+ found = FALSE;
+
+ if (cell_path != NULL)
+ {
+ GtkCellAccessible *cell = GTK_CELL_ACCESSIBLE (cell_info->cell);
+
+ expander_tv = gtk_tree_view_get_expander_column (tree_view);
+
+ /* Only set state for the cell that is in the column with the
+ * expander toggle
+ */
+ if (expander_tv == cell_info->cell_col_ref)
+ {
+ if (tree_path && gtk_tree_path_compare (cell_path, tree_path) == 0)
+ found = TRUE;
+ else if (set_on_ancestor &&
+ gtk_tree_path_get_depth (cell_path) <
+ gtk_tree_path_get_depth (tree_path) &&
+ gtk_tree_path_is_ancestor (cell_path, tree_path) == 1)
+ /* Only set if set_on_ancestor was passed in as TRUE */
+ found = TRUE;
+ }
+
+ /* Set ATK_STATE_EXPANDABLE and ATK_STATE_EXPANDED
+ * for ancestors and found cells.
+ */
+ if (found)
+ {
+ /* Must check against cell_path since cell_path
+ * can be equal to or an ancestor of tree_path.
+ */
+ gtk_tree_model_get_iter (tree_model, &iter, cell_path);
+
+ /* Set or unset ATK_STATE_EXPANDABLE as appropriate */
+ if (gtk_tree_model_iter_has_child (tree_model, &iter))
+ {
+ set_cell_expandable (cell);
+
+ if (gtk_tree_view_row_expanded (tree_view, cell_path))
+ _gtk_cell_accessible_add_state (cell, ATK_STATE_EXPANDED, TRUE);
+ else
+ _gtk_cell_accessible_remove_state (cell, ATK_STATE_EXPANDED, TRUE);
+ }
+ else
+ {
+ _gtk_cell_accessible_remove_state (cell, ATK_STATE_EXPANDED, TRUE);
+ if (_gtk_cell_accessible_remove_state (cell, ATK_STATE_EXPANDABLE, TRUE))
+ /* The state may have been propagated to the container cell */
+ if (!GTK_IS_CONTAINER_CELL_ACCESSIBLE (cell))
+ _gtk_cell_accessible_remove_action_by_name (cell,
+ "expand or contract");
+ }
+
+ /* We assume that each cell in the cache once and
+ * a container cell is before its child cells so we are
+ * finished if set_on_ancestor is not set to TRUE.
+ */
+ if (!set_on_ancestor)
+ break;
+ }
+ }
+ gtk_tree_path_free (cell_path);
+ }
+ }
+}
+
+static void
+add_cell_actions (GtkCellAccessible *cell,
+ gboolean editable)
+{
+ if (GTK_IS_BOOLEAN_CELL_ACCESSIBLE (cell))
+ _gtk_cell_accessible_add_action (cell,
+ "toggle", "toggles the cell",
+ NULL, toggle_cell_toggled);
+ if (editable)
+ _gtk_cell_accessible_add_action (cell,
+ "edit", "creates a widget in which the contents of the cell can be edited",
+ NULL, edit_cell);
+ _gtk_cell_accessible_add_action (cell,
+ "activate", "activate the cell",
+ NULL, activate_cell);
+}
+
+static void
+toggle_cell_expanded (GtkCellAccessible *cell)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GtkTreeView *tree_view;
+ GtkTreePath *path;
+ AtkObject *parent;
+ AtkStateSet *stateset;
+
+ parent = atk_object_get_parent (ATK_OBJECT (cell));
+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (parent))
+ parent = atk_object_get_parent (parent);
+
+ cell_info = find_cell_info (GTK_TREE_VIEW_ACCESSIBLE (parent), cell, TRUE);
+ if (!cell_info || !cell_info->cell_col_ref || !cell_info->cell_row_ref)
+ return;
+
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
+ path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+ if (!path)
+ return;
+
+ stateset = atk_object_ref_state_set (ATK_OBJECT (cell));
+ if (atk_state_set_contains_state (stateset, ATK_STATE_EXPANDED))
+ gtk_tree_view_collapse_row (tree_view, path);
+ else
+ gtk_tree_view_expand_row (tree_view, path, TRUE);
+ g_object_unref (stateset);
+ gtk_tree_path_free (path);
+}
+
+static void
+toggle_cell_toggled (GtkCellAccessible *cell)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GtkTreePath *path;
+ gchar *pathstring;
+ GList *renderers, *cur_renderer;
+ AtkObject *parent;
+ gboolean is_container_cell = FALSE;
+
+ parent = atk_object_get_parent (ATK_OBJECT (cell));
+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (parent))
+ {
+ is_container_cell = TRUE;
+ parent = atk_object_get_parent (parent);
+ }
+
+ cell_info = find_cell_info (GTK_TREE_VIEW_ACCESSIBLE (parent), cell, TRUE);
+ if (!cell_info || !cell_info->cell_col_ref || !cell_info->cell_row_ref)
+ return;
+
+ path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+ if (!path)
+ return;
+
+ /* If the cell is in a container, its index is used to find the
+ * renderer in the list. Otherwise, we assume that the cell is
+ * represented by the first renderer in the list
+ */
+ renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cell_info->cell_col_ref));
+ if (is_container_cell)
+ cur_renderer = g_list_nth (renderers, cell->index);
+ else
+ cur_renderer = renderers;
+
+ if (cur_renderer)
+ {
+ pathstring = gtk_tree_path_to_string (path);
+ g_signal_emit_by_name (cur_renderer->data, "toggled", pathstring);
+ g_free (pathstring);
+ }
+
+ g_list_free (renderers);
+ gtk_tree_path_free (path);
+}
+
+static void
+edit_cell (GtkCellAccessible *cell)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GtkTreeView *tree_view;
+ GtkTreePath *path;
+ AtkObject *parent;
+
+ parent = atk_object_get_parent (ATK_OBJECT (cell));
+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (parent))
+ parent = atk_object_get_parent (parent);
+
+ cell_info = find_cell_info (GTK_TREE_VIEW_ACCESSIBLE (parent), cell, TRUE);
+ if (!cell_info || !cell_info->cell_col_ref || !cell_info->cell_row_ref)
+ return;
+
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
+ path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+ if (!path)
+ return;
+ gtk_tree_view_set_cursor (tree_view, path, cell_info->cell_col_ref, TRUE);
+ gtk_tree_path_free (path);
+}
+
+static void
+activate_cell (GtkCellAccessible *cell)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GtkTreeView *tree_view;
+ GtkTreePath *path;
+ AtkObject *parent;
+
+ parent = atk_object_get_parent (ATK_OBJECT (cell));
+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (parent))
+ parent = atk_object_get_parent (parent);
+
+ cell_info = find_cell_info (GTK_TREE_VIEW_ACCESSIBLE (parent), cell, TRUE);
+ if (!cell_info || !cell_info->cell_col_ref || !cell_info->cell_row_ref)
+ return;
+
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
+ path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
+ if (!path)
+ return;
+ gtk_tree_view_row_activated (tree_view, path, cell_info->cell_col_ref);
+ gtk_tree_path_free (path);
+}
+
+static void
+cell_destroyed (gpointer data)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info = data;
+
+ if (!cell_info)
+ return;
+ if (cell_info->in_use)
+ {
+ cell_info->in_use = FALSE;
+
+ if (!cell_info->view->garbage_collection_pending)
+ {
+ cell_info->view->garbage_collection_pending = TRUE;
+ cell_info->view->idle_garbage_collect_id =
+ gdk_threads_add_idle (idle_garbage_collect_cell_data, cell_info->view);
+ }
+ }
+}
+
+static void
+cell_info_get_index (GtkTreeView *tree_view,
+ GtkTreeViewAccessibleCellInfo *info,
+ gint *index)
+{
+ GtkTreePath *path;
+ gint column_number;
+
+ path = gtk_tree_row_reference_get_path (info->cell_row_ref);
+ if (!path)
+ return;
+
+ column_number = get_column_number (tree_view, info->cell_col_ref, FALSE);
+ *index = get_index (tree_view, path, column_number);
+ gtk_tree_path_free (path);
+}
+
+static void
+cell_info_new (GtkTreeViewAccessible *accessible,
+ GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeViewColumn *tv_col,
+ GtkCellAccessible *cell)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info;
+
+ cell_info = g_new (GtkTreeViewAccessibleCellInfo, 1);
+ cell_info->cell_row_ref = gtk_tree_row_reference_new (tree_model, path);
+
+ cell_info->cell_col_ref = tv_col;
+ cell_info->cell = cell;
+ cell_info->in_use = TRUE; /* if we've created it, assume it's in use */
+ cell_info->view = accessible;
+ g_hash_table_insert (accessible->cell_info_by_index, &cell->index, cell_info);
+
+ /* Setup weak reference notification */
+ g_object_weak_ref (G_OBJECT (cell), (GWeakNotify) cell_destroyed, cell_info);
+}
+
+static GtkCellAccessible *
+find_cell (GtkTreeViewAccessible *accessible,
+ gint index)
+{
+ GtkTreeViewAccessibleCellInfo *info;
+
+ info = g_hash_table_lookup (accessible->cell_info_by_index, &index);
+ if (!info)
+ return NULL;
+
+ return info->cell;
+}
+
+static void
+refresh_cell_index (GtkCellAccessible *cell)
+{
+ GtkTreeViewAccessibleCellInfo *info;
+ AtkObject *parent;
+ GtkTreeView *tree_view;
+ GtkTreeViewAccessible *accessible;
+ gint index;
+
+ parent = atk_object_get_parent (ATK_OBJECT (cell));
+ if (!GTK_IS_TREE_VIEW_ACCESSIBLE (parent))
+ return;
+
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (parent);
+
+ tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
+
+ /* Find this cell in the GtkTreeViewAccessible's cache */
+ info = find_cell_info (accessible, cell, TRUE);
+ if (!info)
+ return;
+
+ cell_info_get_index (tree_view, info, &index);
+ cell->index = index;
+ g_hash_table_insert (accessible->cell_info_by_index, &index, info);
+}
+
+static void
+connect_model_signals (GtkTreeView *view,
+ GtkTreeViewAccessible *accessible)
+{
+ GObject *obj;
+
+ obj = G_OBJECT (accessible->tree_model);
+ g_signal_connect_data (obj, "row-changed",
+ G_CALLBACK (model_row_changed), view, NULL, 0);
+ g_signal_connect_data (obj, "row-inserted",
+ G_CALLBACK (model_row_inserted), view, NULL,
+ G_CONNECT_AFTER);
+ g_signal_connect_data (obj, "row-deleted",
+ G_CALLBACK (model_row_deleted), view, NULL,
+ G_CONNECT_AFTER);
+ g_signal_connect_data (obj, "rows-reordered",
+ G_CALLBACK (model_rows_reordered), view, NULL,
+ G_CONNECT_AFTER);
+}
+
+static void
+disconnect_model_signals (GtkTreeViewAccessible *accessible)
+{
+ GObject *obj;
+ GtkWidget *widget;
+
+ obj = G_OBJECT (accessible->tree_model);
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ g_signal_handlers_disconnect_by_func (obj, model_row_changed, widget);
+ g_signal_handlers_disconnect_by_func (obj, model_row_inserted, widget);
+ g_signal_handlers_disconnect_by_func (obj, model_row_deleted, widget);
+ g_signal_handlers_disconnect_by_func (obj, model_rows_reordered, widget);
+}
+
+static void
+clear_cached_data (GtkTreeViewAccessible *accessible)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GHashTableIter iter;
+
+ /* Must loop through them all */
+ g_hash_table_iter_init (&iter, accessible->cell_info_by_index);
+ while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &cell_info))
+ clean_cell_info (accessible, cell_info);
+
+ /* FIXME: seems pretty inefficient to loop again here */
+ garbage_collect_cell_data (accessible);
+}
+
+/* Returns the column number of the specified GtkTreeViewColumn
+ *
+ * If visible is set, the value returned will be the visible column number,
+ * i.e. suitable for use in AtkTable function. If visible is not set, the
+ * value returned is the actual column number, which is suitable for use in
+ * getting an index value.
+ */
+static gint
+get_column_number (GtkTreeView *tree_view,
+ GtkTreeViewColumn *column,
+ gboolean visible)
+{
+ GtkTreeViewColumn *tv_column;
+ gint ret_val;
+ gint i;
+ AtkObject *atk_obj;
+ GtkTreeViewAccessible *accessible;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
+
+ ret_val = 0;
+ for (i = 0; i < accessible->col_data->len; i++)
+ {
+ tv_column = g_array_index (accessible->col_data, GtkTreeViewColumn *, i);
+ if (tv_column == column)
+ break;
+ if (!visible || gtk_tree_view_column_get_visible (tv_column))
+ ret_val++;
+ }
+ if (i == accessible->col_data->len)
+ ret_val = -1;
+
+ return ret_val;
+}
+
+static gint
+get_index (GtkTreeView *tree_view,
+ GtkTreePath *path,
+ gint actual_column)
+{
+ AtkObject *atk_obj;
+ GtkTreeViewAccessible *accessible;
+ gint depth = 0;
+ gint index = 1;
+ gint *indices = NULL;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
+
+ if (path)
+ {
+ depth = gtk_tree_path_get_depth (path);
+ indices = gtk_tree_path_get_indices (path);
+ }
+
+ if (depth > 1)
+ {
+ GtkTreePath *copy_path;
+ GtkTreeModel *model;
+
+ model = gtk_tree_view_get_model (tree_view);
+ copy_path = gtk_tree_path_copy (path);
+ gtk_tree_path_up (copy_path);
+ count_rows (model, NULL, copy_path, &index, 0, depth);
+ gtk_tree_path_free (copy_path);
+ }
+
+ if (path)
+ index += indices[depth - 1];
+ index *= accessible->n_cols;
+ index += actual_column;
+ return index;
+}
+
+/* The function count_rows counts the number of rows starting at iter
+ * and ending at end_path. The value of level is the depth of iter and
+ * the value of depth is the depth of end_path. Rows at depth before
+ * end_path are counted. This functions counts rows which are not visible
+ * because an ancestor is collapsed.
+ */
+static void
+count_rows (GtkTreeModel *model,
+ GtkTreeIter *iter,
+ GtkTreePath *end_path,
+ gint *count,
+ gint level,
+ gint depth)
+{
+ GtkTreeIter child_iter;
+
+ if (!model)
+ return;
+
+ level++;
+ *count += gtk_tree_model_iter_n_children (model, iter);
+
+ if (gtk_tree_model_get_flags (model) & GTK_TREE_MODEL_LIST_ONLY)
+ return;
+
+ if (level >= depth)
+ return;
+
+ if (gtk_tree_model_iter_children (model, &child_iter, iter))
+ {
+ gboolean ret_val = TRUE;
+
+ while (ret_val)
+ {
+ if (level == depth - 1)
+ {
+ GtkTreePath *iter_path;
+ gboolean finished = FALSE;
+
+ iter_path = gtk_tree_model_get_path (model, &child_iter);
+ if (end_path && gtk_tree_path_compare (iter_path, end_path) >= 0)
+ finished = TRUE;
+ gtk_tree_path_free (iter_path);
+ if (finished)
+ break;
+ }
+ if (gtk_tree_model_iter_has_child (model, &child_iter))
+ count_rows (model, &child_iter, end_path, count, level, depth);
+ ret_val = gtk_tree_model_iter_next (model, &child_iter);
+ }
+ }
+}
+
+/* Find the next node, which has children, at the specified depth below
+ * the specified iter. The level is the depth of the current iter.
+ * The position of the node is returned in path and the return value
+ * of TRUE means that a node was found.
+ */
+
+static gboolean
+get_next_node_with_child_at_depth (GtkTreeModel *model,
+ GtkTreeIter *iter,
+ GtkTreePath **path,
+ gint level,
+ gint depth)
+{
+ GtkTreeIter child_iter;
+
+ *path = NULL;
+
+ if (gtk_tree_model_iter_children (model, &child_iter, iter))
+ {
+ level++;
+
+ while (TRUE)
+ {
+ while (!gtk_tree_model_iter_has_child (model, &child_iter))
+ {
+ if (!gtk_tree_model_iter_next (model, &child_iter))
+ return FALSE;
+ }
+
+ if (level == depth)
+ {
+ /* We have found what we were looking for */
+ *path = gtk_tree_model_get_path (model, &child_iter);
+ return TRUE;
+ }
+
+ if (get_next_node_with_child_at_depth (model, &child_iter, path,
+ level, depth))
+ return TRUE;
+
+ if (!gtk_tree_model_iter_next (model, &child_iter))
+ return FALSE;
+ }
+ }
+ return FALSE;
+}
+
+/* Find the next node, which has children, at the same depth
+ * as the specified GtkTreePath.
+ */
+static gboolean
+get_next_node_with_child (GtkTreeModel *model,
+ GtkTreePath *path,
+ GtkTreePath **return_path)
+{
+ GtkTreeIter iter;
+ gint depth;
+
+ gtk_tree_model_get_iter (model, &iter, path);
+
+ while (gtk_tree_model_iter_next (model, &iter))
+ {
+ if (gtk_tree_model_iter_has_child (model, &iter))
+ {
+ *return_path = gtk_tree_model_get_path (model, &iter);
+ return TRUE;
+ }
+ }
+ depth = gtk_tree_path_get_depth (path);
+ while (gtk_tree_path_up (path))
+ {
+ if (gtk_tree_path_get_depth (path) == 0)
+ break;
+
+ gtk_tree_model_get_iter (model, &iter, path);
+ while (gtk_tree_model_iter_next (model, &iter))
+ if (get_next_node_with_child_at_depth (model, &iter, return_path,
+ gtk_tree_path_get_depth (path), depth))
+ return TRUE;
+ }
+ *return_path = NULL;
+ return FALSE;
+}
+
+static gboolean
+get_tree_path_from_row_index (GtkTreeModel *model,
+ gint row_index,
+ GtkTreePath **tree_path)
+{
+ GtkTreeIter iter;
+ gint count;
+ gint depth;
+
+ count = gtk_tree_model_iter_n_children (model, NULL);
+ if (count > row_index)
+ {
+ if (gtk_tree_model_iter_nth_child (model, &iter, NULL, row_index))
+ {
+ *tree_path = gtk_tree_model_get_path (model, &iter);
+ return TRUE;
+ }
+ else
+ return FALSE;
+ }
+ else
+ row_index -= count;
+
+ depth = 0;
+ while (TRUE)
+ {
+ depth++;
+
+ if (get_next_node_with_child_at_depth (model, NULL, tree_path, 0, depth))
+ {
+ GtkTreePath *next_path;
+
+ while (TRUE)
+ {
+ gtk_tree_model_get_iter (model, &iter, *tree_path);
+ count = gtk_tree_model_iter_n_children (model, &iter);
+ if (count > row_index)
+ {
+ gtk_tree_path_append_index (*tree_path, row_index);
+ return TRUE;
+ }
+ else
+ row_index -= count;
+
+ if (!get_next_node_with_child (model, *tree_path, &next_path))
+ break;
+
+ gtk_tree_path_free (*tree_path);
+ *tree_path = next_path;
+ }
+ }
+ else
+ {
+ g_warning ("Index value is too large\n");
+ gtk_tree_path_free (*tree_path);
+ *tree_path = NULL;
+ return FALSE;
+ }
+ }
+}
+
+static gboolean
+get_path_column_from_index (GtkTreeView *tree_view,
+ gint index,
+ GtkTreePath **path,
+ GtkTreeViewColumn **column)
+{
+ GtkTreeModel *tree_model;
+ AtkObject *atk_obj;
+ GtkTreeViewAccessible *accessible;
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
+ accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
+
+ tree_model = gtk_tree_view_get_model (tree_view);
+ if (accessible->n_cols == 0)
+ return FALSE;
+ /* First row is the column headers */
+ index -= accessible->n_cols;
+ if (index < 0)
+ return FALSE;
+
+ if (path)
+ {
+ gint row_index;
+ gboolean retval;
+
+ row_index = index / accessible->n_cols;
+ retval = get_tree_path_from_row_index (tree_model, row_index, path);
+ if (!retval)
+ return FALSE;
+ if (*path == NULL)
+ return FALSE;
+ }
+
+ if (column)
+ {
+ *column = gtk_tree_view_get_column (tree_view, index % accessible->n_cols);
+ if (*column == NULL)
+ {
+ if (path)
+ gtk_tree_path_free (*path);
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+static void
+set_cell_expandable (GtkCellAccessible *cell)
+{
+ if (_gtk_cell_accessible_add_state (cell, ATK_STATE_EXPANDABLE, FALSE))
+ _gtk_cell_accessible_add_action (cell,
+ "expand or contract",
+ "expands or contracts the row in the tree view containing this cell",
+ NULL, toggle_cell_expanded);
+}
+
+static GtkTreeViewAccessibleCellInfo *
+find_cell_info (GtkTreeViewAccessible *accessible,
+ GtkCellAccessible *cell,
+ gboolean live_only)
+{
+ GtkTreeViewAccessibleCellInfo *cell_info;
+ GHashTableIter iter;
+
+ /* Clean GtkTreeViewAccessibleCellInfo data */
+ g_hash_table_iter_init (&iter, accessible->cell_info_by_index);
+ while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &cell_info))
+ {
+ if (cell_info->cell == cell && (!live_only || cell_info->in_use))
+ return cell_info;
+ }
+ return NULL;
+}
+
+static AtkObject *
+get_header_from_column (GtkTreeViewColumn *tv_col)
+{
+ AtkObject *rc;
+ GtkWidget *header_widget;
+
+ if (tv_col == NULL)
+ return NULL;
+
+ header_widget = gtk_tree_view_column_get_button (tv_col);
+
+ if (header_widget)
+ rc = gtk_widget_get_accessible (header_widget);
+ else
+ rc = NULL;
+
+ return rc;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_TREE_VIEW_ACCESSIBLE_H__
+#define __GTK_TREE_VIEW_ACCESSIBLE_H__
+
+#include <gtk/gtk.h>
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_TREE_VIEW_ACCESSIBLE (_gtk_tree_view_accessible_get_type ())
+#define GTK_TREE_VIEW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_VIEW_ACCESSIBLE, GtkTreeViewAccessible))
+#define GTK_TREE_VIEW_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_VIEW_ACCESSIBLE, GtkTreeViewAccessibleClass))
+#define GTK_IS_TREE_VIEW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_VIEW_ACCESSIBLE))
+#define GTK_IS_TREE_VIEW_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_VIEW_ACCESSIBLE))
+#define GTK_TREE_VIEW_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_VIEW_ACCESSIBLE, GtkTreeViewAccessibleClass))
+
+typedef struct _GtkTreeViewAccessible GtkTreeViewAccessible;
+typedef struct _GtkTreeViewAccessibleClass GtkTreeViewAccessibleClass;
+
+struct _GtkTreeViewAccessible
+{
+ GtkContainerAccessible parent;
+
+ gint n_children_deleted;
+ gint n_rows;
+ gint n_cols;
+ GArray* col_data;
+ GHashTable *cell_info_by_index;
+ GtkTreeModel *tree_model;
+ AtkObject *focus_cell;
+ GtkAdjustment *old_hadj;
+ GtkAdjustment *old_vadj;
+ guint idle_expand_id;
+ guint idle_garbage_collect_id;
+ guint idle_cursor_changed_id;
+ GtkTreePath *idle_expand_path;
+ gboolean garbage_collection_pending;
+};
+
+struct _GtkTreeViewAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_tree_view_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_TREE_VIEW_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#ifdef GDK_WINDOWING_X11
+#include <gdk/x11/gdkx.h>
+#endif
+#include "gtkwidgetaccessible.h"
+#include "gtknotebookpageaccessible.h"
+
+extern GtkWidget *_focus_widget;
+
+
+static gboolean gtk_widget_accessible_on_screen (GtkWidget *widget);
+static gboolean gtk_widget_accessible_all_parents_visible (GtkWidget *widget);
+
+static void atk_component_interface_init (AtkComponentIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkWidgetAccessible, _gtk_widget_accessible, GTK_TYPE_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
+
+/* Translate GtkWidget::focus-in/out-event to AtkObject::focus-event */
+static gboolean
+focus_cb (GtkWidget *widget,
+ GdkEventFocus *event)
+{
+ AtkObject *obj;
+
+ obj = gtk_widget_get_accessible (widget);
+
+ g_signal_emit_by_name (obj, "focus-event", event->in);
+
+ return FALSE;
+}
+
+/* Translate GtkWidget property change notification to the notify_gtk vfunc */
+static void
+notify_cb (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkWidgetAccessible *widget;
+ GtkWidgetAccessibleClass *klass;
+
+ widget = GTK_WIDGET_ACCESSIBLE (gtk_widget_get_accessible (GTK_WIDGET (obj)));
+ klass = GTK_WIDGET_ACCESSIBLE_GET_CLASS (widget);
+ if (klass->notify_gtk)
+ klass->notify_gtk (obj, pspec);
+}
+
+/* Translate GtkWidget::size-allocate to AtkComponent::bounds-changed */
+static void
+size_allocate_cb (GtkWidget *widget,
+ GtkAllocation *allocation)
+{
+ AtkObject* accessible;
+ AtkRectangle rect;
+
+ accessible = gtk_widget_get_accessible (widget);
+ if (ATK_IS_COMPONENT (accessible))
+ {
+ rect.x = allocation->x;
+ rect.y = allocation->y;
+ rect.width = allocation->width;
+ rect.height = allocation->height;
+ g_signal_emit_by_name (accessible, "bounds-changed", &rect);
+ }
+}
+
+/* Translate GtkWidget mapped state into AtkObject showing */
+static gint
+map_cb (GtkWidget *widget)
+{
+ AtkObject *accessible;
+
+ accessible = gtk_widget_get_accessible (widget);
+ atk_object_notify_state_change (accessible, ATK_STATE_SHOWING,
+ gtk_widget_get_mapped (widget));
+ return 1;
+}
+
+static void
+gtk_widget_accessible_focus_event (AtkObject *obj,
+ gboolean focus_in)
+{
+ AtkObject *focus_obj;
+
+ focus_obj = g_object_get_data (G_OBJECT (obj), "gail-focus-object");
+ if (focus_obj == NULL)
+ focus_obj = obj;
+ atk_object_notify_state_change (focus_obj, ATK_STATE_FOCUSED, focus_in);
+}
+
+static void
+gtk_widget_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkAccessible *accessible;
+ GtkWidget *widget;
+
+ widget = GTK_WIDGET (data);
+
+ accessible = GTK_ACCESSIBLE (obj);
+ gtk_accessible_set_widget (accessible, widget);
+ gtk_accessible_connect_widget_destroyed (accessible);
+ g_signal_connect_after (widget, "focus-in-event", G_CALLBACK (focus_cb), NULL);
+ g_signal_connect_after (widget, "focus-out-event", G_CALLBACK (focus_cb), NULL);
+ g_signal_connect (widget, "notify", G_CALLBACK (notify_cb), NULL);
+ g_signal_connect (widget, "size-allocate", G_CALLBACK (size_allocate_cb), NULL);
+ g_signal_connect (widget, "map", G_CALLBACK (map_cb), NULL);
+ g_signal_connect (widget, "unmap", G_CALLBACK (map_cb), NULL);
+
+ GTK_WIDGET_ACCESSIBLE (obj)->layer = ATK_LAYER_WIDGET;
+ obj->role = ATK_ROLE_UNKNOWN;
+}
+
+static void
+gtk_widget_accessible_destroyed (GtkWidget *widget,
+ GtkAccessible *accessible)
+{
+ gtk_accessible_set_widget (accessible, NULL);
+ atk_object_notify_state_change (ATK_OBJECT (accessible), ATK_STATE_DEFUNCT, TRUE);
+}
+
+static void
+gtk_widget_accessible_connect_widget_destroyed (GtkAccessible *accessible)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget)
+ g_signal_connect_after (widget, "destroy",
+ G_CALLBACK (gtk_widget_accessible_destroyed), accessible);
+}
+
+static const gchar *
+gtk_widget_accessible_get_description (AtkObject *accessible)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return NULL;
+
+ if (accessible->description)
+ return accessible->description;
+
+ return gtk_widget_get_tooltip_text (widget);
+}
+
+static AtkObject *
+gtk_widget_accessible_get_parent (AtkObject *accessible)
+{
+ AtkObject *parent;
+ GtkWidget *widget, *parent_widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return NULL;
+
+ parent = accessible->accessible_parent;
+ if (parent != NULL)
+ return parent;
+
+ parent_widget = gtk_widget_get_parent (widget);
+ if (parent_widget == NULL)
+ return NULL;
+
+ /* For a widget whose parent is a GtkNoteBook, we return the
+ * accessible object corresponding the GtkNotebookPage containing
+ * the widget as the accessible parent.
+ */
+ if (GTK_IS_NOTEBOOK (parent_widget))
+ {
+ gint page_num;
+ GtkWidget *child;
+ GtkNotebook *notebook;
+
+ page_num = 0;
+ notebook = GTK_NOTEBOOK (parent_widget);
+ while (TRUE)
+ {
+ child = gtk_notebook_get_nth_page (notebook, page_num);
+ if (!child)
+ break;
+ if (child == widget)
+ {
+ parent = gtk_widget_get_accessible (parent_widget);
+ parent = atk_object_ref_accessible_child (parent, page_num);
+ g_object_unref (parent);
+ return parent;
+ }
+ page_num++;
+ }
+ }
+ parent = gtk_widget_get_accessible (parent_widget);
+ return parent;
+}
+
+static GtkWidget *
+find_label (GtkWidget *widget)
+{
+ GList *labels;
+ GtkWidget *label;
+ GtkWidget *temp_widget;
+
+ labels = gtk_widget_list_mnemonic_labels (widget);
+ label = NULL;
+ if (labels)
+ {
+ if (labels->data)
+ {
+ if (labels->next)
+ g_warning ("Widget (%s) has more than one label", G_OBJECT_TYPE_NAME (widget));
+ else
+ label = labels->data;
+ }
+ g_list_free (labels);
+ }
+
+ /* Ignore a label within a button; bug #136602 */
+ if (label && GTK_IS_BUTTON (widget))
+ {
+ temp_widget = label;
+ while (temp_widget)
+ {
+ if (temp_widget == widget)
+ {
+ label = NULL;
+ break;
+ }
+ temp_widget = gtk_widget_get_parent (temp_widget);
+ }
+ }
+ return label;
+}
+
+static AtkRelationSet *
+gtk_widget_accessible_ref_relation_set (AtkObject *obj)
+{
+ GtkWidget *widget;
+ AtkRelationSet *relation_set;
+ GtkWidget *label;
+ AtkObject *array[1];
+ AtkRelation* relation;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ relation_set = ATK_OBJECT_CLASS (_gtk_widget_accessible_parent_class)->ref_relation_set (obj);
+
+ if (GTK_IS_BOX (widget))
+ return relation_set;
+
+ if (!atk_relation_set_contains (relation_set, ATK_RELATION_LABELLED_BY))
+ {
+ label = find_label (widget);
+ if (label == NULL)
+ {
+ if (GTK_IS_BUTTON (widget))
+ /*
+ * Handle the case where GnomeIconEntry is the mnemonic widget.
+ * The GtkButton which is a grandchild of the GnomeIconEntry
+ * should really be the mnemonic widget. See bug #133967.
+ */
+ {
+ GtkWidget *temp_widget;
+
+ temp_widget = gtk_widget_get_parent (widget);
+
+ if (GTK_IS_ALIGNMENT (temp_widget))
+ {
+ temp_widget = gtk_widget_get_parent (temp_widget);
+ if (GTK_IS_BOX (temp_widget))
+ {
+ label = find_label (temp_widget);
+ if (!label)
+ label = find_label (gtk_widget_get_parent (temp_widget));
+ }
+ }
+ }
+ else if (GTK_IS_COMBO_BOX (widget))
+ /*
+ * Handle the case when GtkFileChooserButton is the mnemonic
+ * widget. The GtkComboBox which is a child of the
+ * GtkFileChooserButton should be the mnemonic widget.
+ * See bug #359843.
+ */
+ {
+ GtkWidget *temp_widget;
+
+ temp_widget = gtk_widget_get_parent (widget);
+ if (GTK_IS_BOX (temp_widget))
+ {
+ label = find_label (temp_widget);
+ }
+ }
+ }
+
+ if (label)
+ {
+ array[0] = gtk_widget_get_accessible (label);
+
+ relation = atk_relation_new (array, 1, ATK_RELATION_LABELLED_BY);
+ atk_relation_set_add (relation_set, relation);
+ g_object_unref (relation);
+ }
+ }
+
+ return relation_set;
+}
+
+static AtkStateSet *
+gtk_widget_accessible_ref_state_set (AtkObject *accessible)
+{
+ GtkWidget *widget;
+ AtkStateSet *state_set;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_widget_accessible_parent_class)->ref_state_set (accessible);
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ atk_state_set_add_state (state_set, ATK_STATE_DEFUNCT);
+ else
+ {
+ if (gtk_widget_is_sensitive (widget))
+ {
+ atk_state_set_add_state (state_set, ATK_STATE_SENSITIVE);
+ atk_state_set_add_state (state_set, ATK_STATE_ENABLED);
+ }
+
+ if (gtk_widget_get_can_focus (widget))
+ {
+ atk_state_set_add_state (state_set, ATK_STATE_FOCUSABLE);
+ }
+ /*
+ * We do not currently generate notifications when an ATK object
+ * corresponding to a GtkWidget changes visibility by being scrolled
+ * on or off the screen. The testcase for this is the main window
+ * of the testgtk application in which a set of buttons in a GtkVBox
+ * is in a scrolled window with a viewport.
+ *
+ * To generate the notifications we would need to do the following:
+ * 1) Find the GtkViewport among the ancestors of the objects
+ * 2) Create an accessible for the viewport
+ * 3) Connect to the value-changed signal on the viewport
+ * 4) When the signal is received we need to traverse the children
+ * of the viewport and check whether the children are visible or not
+ * visible; we may want to restrict this to the widgets for which
+ * accessible objects have been created.
+ * 5) We probably need to store a variable on_screen in the
+ * GtkWidgetAccessible data structure so we can determine whether
+ * the value has changed.
+ */
+ if (gtk_widget_get_visible (widget))
+ {
+ atk_state_set_add_state (state_set, ATK_STATE_VISIBLE);
+ if (gtk_widget_accessible_on_screen (widget) &&
+ gtk_widget_get_mapped (widget) &&
+ gtk_widget_accessible_all_parents_visible (widget))
+ atk_state_set_add_state (state_set, ATK_STATE_SHOWING);
+ }
+
+ if (gtk_widget_has_focus (widget) && (widget == _focus_widget))
+ {
+ AtkObject *focus_obj;
+
+ focus_obj = g_object_get_data (G_OBJECT (accessible), "gail-focus-object");
+ if (focus_obj == NULL)
+ atk_state_set_add_state (state_set, ATK_STATE_FOCUSED);
+ }
+
+ if (gtk_widget_has_default (widget))
+ atk_state_set_add_state (state_set, ATK_STATE_DEFAULT);
+
+ if (GTK_IS_ORIENTABLE (widget))
+ {
+ if (gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)) == GTK_ORIENTATION_HORIZONTAL)
+ atk_state_set_add_state (state_set, ATK_STATE_HORIZONTAL);
+ else
+ atk_state_set_add_state (state_set, ATK_STATE_VERTICAL);
+ }
+ }
+ return state_set;
+}
+
+static gint
+gtk_widget_accessible_get_index_in_parent (AtkObject *accessible)
+{
+ GtkWidget *widget;
+ GtkWidget *parent_widget;
+ gint index;
+ GList *children;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+
+ if (widget == NULL)
+ return -1;
+
+ if (accessible->accessible_parent)
+ {
+ AtkObject *parent;
+
+ parent = accessible->accessible_parent;
+
+ if (GTK_IS_NOTEBOOK_PAGE_ACCESSIBLE (parent))
+ return 0;
+ else
+ {
+ gint n_children, i;
+ gboolean found = FALSE;
+
+ n_children = atk_object_get_n_accessible_children (parent);
+ for (i = 0; i < n_children; i++)
+ {
+ AtkObject *child;
+
+ child = atk_object_ref_accessible_child (parent, i);
+ if (child == accessible)
+ found = TRUE;
+
+ g_object_unref (child);
+ if (found)
+ return i;
+ }
+ }
+ }
+
+ if (!GTK_IS_WIDGET (widget))
+ return -1;
+ parent_widget = gtk_widget_get_parent (widget);
+ if (!GTK_IS_CONTAINER (parent_widget))
+ return -1;
+
+ children = gtk_container_get_children (GTK_CONTAINER (parent_widget));
+
+ index = g_list_index (children, widget);
+ g_list_free (children);
+ return index;
+}
+
+/* This function is the default implementation for the notify_gtk
+ * vfunc which gets called when a property changes value on the
+ * GtkWidget associated with a GtkWidgetAccessible. It constructs
+ * an AtkPropertyValues structure and emits a "property_changed"
+ * signal which causes the user specified AtkPropertyChangeHandler
+ * to be called.
+ */
+static void
+gtk_widget_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkWidget* widget = GTK_WIDGET (obj);
+ AtkObject* atk_obj = gtk_widget_get_accessible (widget);
+ AtkState state;
+ gboolean value;
+
+ if (g_strcmp0 (pspec->name, "has-focus") == 0)
+ /*
+ * We use focus-in-event and focus-out-event signals to catch
+ * focus changes so we ignore this.
+ */
+ return;
+ else if (g_strcmp0 (pspec->name, "visible") == 0)
+ {
+ state = ATK_STATE_VISIBLE;
+ value = gtk_widget_get_visible (widget);
+ }
+ else if (g_strcmp0 (pspec->name, "sensitive") == 0)
+ {
+ state = ATK_STATE_SENSITIVE;
+ value = gtk_widget_get_sensitive (widget);
+ }
+ else if (g_strcmp0 (pspec->name, "orientation") == 0)
+ {
+ GtkOrientable *orientable;
+
+ orientable = GTK_ORIENTABLE (widget);
+
+ state = ATK_STATE_HORIZONTAL;
+ value = (gtk_orientable_get_orientation (orientable) == GTK_ORIENTATION_HORIZONTAL);
+ }
+ else
+ return;
+
+ atk_object_notify_state_change (atk_obj, state, value);
+ if (state == ATK_STATE_SENSITIVE)
+ atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, value);
+
+ if (state == ATK_STATE_HORIZONTAL)
+ atk_object_notify_state_change (atk_obj, ATK_STATE_VERTICAL, !value);
+}
+
+static AtkAttributeSet *
+gtk_widget_accessible_get_attributes (AtkObject *obj)
+{
+ AtkAttributeSet *attributes;
+ AtkAttribute *toolkit;
+
+ toolkit = g_new (AtkAttribute, 1);
+ toolkit->name = g_strdup ("toolkit");
+ toolkit->value = g_strdup ("gtk");
+
+ attributes = g_slist_append (NULL, toolkit);
+
+ return attributes;
+}
+
+static void
+_gtk_widget_accessible_class_init (GtkWidgetAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+ GtkAccessibleClass *accessible_class = GTK_ACCESSIBLE_CLASS (klass);
+
+ klass->notify_gtk = gtk_widget_accessible_notify_gtk;
+
+ accessible_class->connect_widget_destroyed = gtk_widget_accessible_connect_widget_destroyed;
+
+ class->get_description = gtk_widget_accessible_get_description;
+ class->get_parent = gtk_widget_accessible_get_parent;
+ class->ref_relation_set = gtk_widget_accessible_ref_relation_set;
+ class->ref_state_set = gtk_widget_accessible_ref_state_set;
+ class->get_index_in_parent = gtk_widget_accessible_get_index_in_parent;
+ class->initialize = gtk_widget_accessible_initialize;
+ class->get_attributes = gtk_widget_accessible_get_attributes;
+ class->focus_event = gtk_widget_accessible_focus_event;
+}
+
+static void
+_gtk_widget_accessible_init (GtkWidgetAccessible *accessible)
+{
+}
+
+static void
+gtk_widget_accessible_get_extents (AtkComponent *component,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coord_type)
+{
+ GdkWindow *window;
+ gint x_window, y_window;
+ gint x_toplevel, y_toplevel;
+ GtkWidget *widget;
+ GtkAllocation allocation;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
+ if (widget == NULL)
+ return;
+
+ gtk_widget_get_allocation (widget, &allocation);
+ *width = allocation.width;
+ *height = allocation.height;
+ if (!gtk_widget_accessible_on_screen (widget) || (!gtk_widget_is_drawable (widget)))
+ {
+ *x = G_MININT;
+ *y = G_MININT;
+ return;
+ }
+
+ if (gtk_widget_get_parent (widget))
+ {
+ *x = allocation.x;
+ *y = allocation.y;
+ window = gtk_widget_get_parent_window (widget);
+ }
+ else
+ {
+ *x = 0;
+ *y = 0;
+ window = gtk_widget_get_window (widget);
+ }
+ gdk_window_get_origin (window, &x_window, &y_window);
+ *x += x_window;
+ *y += y_window;
+
+ if (coord_type == ATK_XY_WINDOW)
+ {
+ window = gdk_window_get_toplevel (gtk_widget_get_window (widget));
+ gdk_window_get_origin (window, &x_toplevel, &y_toplevel);
+
+ *x -= x_toplevel;
+ *y -= y_toplevel;
+ }
+}
+
+static void
+gtk_widget_accessible_get_size (AtkComponent *component,
+ gint *width,
+ gint *height)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
+ if (widget == NULL)
+ return;
+
+ *width = gtk_widget_get_allocated_width (widget);
+ *height = gtk_widget_get_allocated_height (widget);
+}
+
+static AtkLayer
+gtk_widget_accessible_get_layer (AtkComponent *component)
+{
+ GtkWidgetAccessible *accessible = GTK_WIDGET_ACCESSIBLE (component);
+
+ return accessible->layer;
+}
+
+static gboolean
+gtk_widget_accessible_grab_focus (AtkComponent *component)
+{
+ GtkWidget *widget;
+ GtkWidget *toplevel;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
+ if (!widget)
+ return FALSE;
+
+ if (!gtk_widget_get_can_focus (widget))
+ return FALSE;
+
+ gtk_widget_grab_focus (widget);
+ toplevel = gtk_widget_get_toplevel (widget);
+ if (gtk_widget_is_toplevel (toplevel))
+ {
+#ifdef GDK_WINDOWING_X11
+ gtk_window_present_with_time (GTK_WINDOW (toplevel),
+ gdk_x11_get_server_time (gtk_widget_get_window (widget)));
+#else
+ gtk_window_present (GTK_WINDOW (toplevel));
+#endif
+ }
+ return TRUE;
+}
+
+static gboolean
+gtk_widget_accessible_set_extents (AtkComponent *component,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ AtkCoordType coord_type)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
+ if (widget == NULL)
+ return FALSE;
+
+ if (!gtk_widget_is_toplevel (widget))
+ return FALSE;
+
+ if (coord_type == ATK_XY_WINDOW)
+ {
+ gint x_current, y_current;
+ GdkWindow *window = gtk_widget_get_window (widget);
+
+ gdk_window_get_origin (window, &x_current, &y_current);
+ x_current += x;
+ y_current += y;
+ if (x_current < 0 || y_current < 0)
+ return FALSE;
+ else
+ {
+ gtk_window_move (GTK_WINDOW (widget), x_current, y_current);
+ gtk_widget_set_size_request (widget, width, height);
+ return TRUE;
+ }
+ }
+ else if (coord_type == ATK_XY_SCREEN)
+ {
+ gtk_window_move (GTK_WINDOW (widget), x, y);
+ gtk_widget_set_size_request (widget, width, height);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static gboolean
+gtk_widget_accessible_set_position (AtkComponent *component,
+ gint x,
+ gint y,
+ AtkCoordType coord_type)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
+ if (widget == NULL)
+ return FALSE;
+
+ if (gtk_widget_is_toplevel (widget))
+ {
+ if (coord_type == ATK_XY_WINDOW)
+ {
+ gint x_current, y_current;
+ GdkWindow *window = gtk_widget_get_window (widget);
+
+ gdk_window_get_origin (window, &x_current, &y_current);
+ x_current += x;
+ y_current += y;
+ if (x_current < 0 || y_current < 0)
+ return FALSE;
+ else
+ {
+ gtk_window_move (GTK_WINDOW (widget), x_current, y_current);
+ return TRUE;
+ }
+ }
+ else if (coord_type == ATK_XY_SCREEN)
+ {
+ gtk_window_move (GTK_WINDOW (widget), x, y);
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+static gboolean
+gtk_widget_accessible_set_size (AtkComponent *component,
+ gint width,
+ gint height)
+{
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
+ if (widget == NULL)
+ return FALSE;
+
+ if (gtk_widget_is_toplevel (widget))
+ {
+ gtk_widget_set_size_request (widget, width, height);
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+static void
+atk_component_interface_init (AtkComponentIface *iface)
+{
+ iface->get_extents = gtk_widget_accessible_get_extents;
+ iface->get_size = gtk_widget_accessible_get_size;
+ iface->get_layer = gtk_widget_accessible_get_layer;
+ iface->grab_focus = gtk_widget_accessible_grab_focus;
+ iface->set_extents = gtk_widget_accessible_set_extents;
+ iface->set_position = gtk_widget_accessible_set_position;
+ iface->set_size = gtk_widget_accessible_set_size;
+}
+
+/* This function checks whether the widget has an ancestor which is
+ * a GtkViewport and, if so, whether any part of the widget intersects
+ * the visible rectangle of the GtkViewport.
+ */
+static gboolean
+gtk_widget_accessible_on_screen (GtkWidget *widget)
+{
+ GtkAllocation allocation;
+ GtkWidget *viewport;
+ gboolean return_value;
+
+ gtk_widget_get_allocation (widget, &allocation);
+
+ viewport = gtk_widget_get_ancestor (widget, GTK_TYPE_VIEWPORT);
+ if (viewport)
+ {
+ GtkAllocation viewport_allocation;
+ GtkAdjustment *adjustment;
+ GdkRectangle visible_rect;
+
+ gtk_widget_get_allocation (viewport, &viewport_allocation);
+
+ adjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (viewport));
+ visible_rect.y = gtk_adjustment_get_value (adjustment);
+ adjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (viewport));
+ visible_rect.x = gtk_adjustment_get_value (adjustment);
+ visible_rect.width = viewport_allocation.width;
+ visible_rect.height = viewport_allocation.height;
+
+ if (((allocation.x + allocation.width) < visible_rect.x) ||
+ ((allocation.y + allocation.height) < visible_rect.y) ||
+ (allocation.x > (visible_rect.x + visible_rect.width)) ||
+ (allocation.y > (visible_rect.y + visible_rect.height)))
+ return_value = FALSE;
+ else
+ return_value = TRUE;
+ }
+ else
+ {
+ /* Check whether the widget has been placed of the screen.
+ * The widget may be MAPPED as when toolbar items do not
+ * fit on the toolbar.
+ */
+ if (allocation.x + allocation.width <= 0 &&
+ allocation.y + allocation.height <= 0)
+ return_value = FALSE;
+ else
+ return_value = TRUE;
+ }
+
+ return return_value;
+}
+
+/* Checks if all the predecessors (the parent widget, his parent, etc)
+ * are visible Used to check properly the SHOWING state.
+ */
+static gboolean
+gtk_widget_accessible_all_parents_visible (GtkWidget *widget)
+{
+ GtkWidget *iter_parent = NULL;
+ gboolean result = TRUE;
+
+ for (iter_parent = gtk_widget_get_parent (widget); iter_parent;
+ iter_parent = gtk_widget_get_parent (iter_parent))
+ {
+ if (!gtk_widget_get_visible (iter_parent))
+ {
+ result = FALSE;
+ break;
+ }
+ }
+
+ return result;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_WIDGET_ACCESSIBLE_H__
+#define __GTK_WIDGET_ACCESSIBLE_H__
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_WIDGET_ACCESSIBLE (_gtk_widget_accessible_get_type ())
+#define GTK_WIDGET_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_WIDGET_ACCESSIBLE, GtkWidgetAccessible))
+#define GTK_WIDGET_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_WIDGET_ACCESSIBLE, GtkWidgetAccessibleClass))
+#define GTK_IS_WIDGET_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_WIDGET_ACCESSIBLE))
+#define GTK_IS_WIDGET_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WIDGET_ACCESSIBLE))
+#define GTK_WIDGET_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_WIDGET_ACCESSIBLE, GtkWidgetAccessibleClass))
+
+typedef struct _GtkWidgetAccessible GtkWidgetAccessible;
+typedef struct _GtkWidgetAccessibleClass GtkWidgetAccessibleClass;
+
+struct _GtkWidgetAccessible
+{
+ GtkAccessible parent;
+
+ AtkLayer layer;
+};
+
+struct _GtkWidgetAccessibleClass
+{
+ GtkAccessibleClass parent_class;
+
+ /*
+ * Signal handler for notify signal on GTK widget
+ */
+ void (*notify_gtk) (GObject *object,
+ GParamSpec *pspec);
+
+};
+
+GType _gtk_widget_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_WIDGET_ACCESSIBLE_H__ */
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <gtk/gtkx.h>
+
+#include "gtkwindowaccessible.h"
+#include "gtktoplevelaccessible.h"
+
+enum {
+ ACTIVATE,
+ CREATE,
+ DEACTIVATE,
+ DESTROY,
+ MAXIMIZE,
+ MINIMIZE,
+ MOVE,
+ RESIZE,
+ RESTORE,
+ LAST_SIGNAL
+};
+
+
+/* atkcomponent.h */
+
+static void gtk_window_accessible_get_extents (AtkComponent *component,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coord_type);
+static void gtk_window_accessible_get_size (AtkComponent *component,
+ gint *width,
+ gint *height);
+
+static guint gtk_window_accessible_signals [LAST_SIGNAL] = { 0, };
+
+static void atk_component_interface_init (AtkComponentIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkWindowAccessible, _gtk_window_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
+
+
+static void
+gtk_window_accessible_focus_event (AtkObject *obj,
+ gboolean focus_in)
+{
+ atk_object_notify_state_change (obj, ATK_STATE_ACTIVE, focus_in);
+}
+
+static void
+gtk_window_accessible_notify_gtk (GObject *obj,
+ GParamSpec *pspec)
+{
+ GtkWidget *widget = GTK_WIDGET (obj);
+ AtkObject* atk_obj = gtk_widget_get_accessible (widget);
+
+ if (g_strcmp0 (pspec->name, "title") == 0)
+ {
+ g_object_notify (G_OBJECT (atk_obj), "accessible-name");
+ g_signal_emit_by_name (atk_obj, "visible-data-changed");
+ }
+ else
+ GTK_WIDGET_ACCESSIBLE_CLASS (_gtk_window_accessible_parent_class)->notify_gtk (obj, pspec);
+}
+
+static gboolean
+window_state_event_cb (GtkWidget *widget,
+ GdkEventWindowState *event)
+{
+ AtkObject* obj;
+
+ obj = gtk_widget_get_accessible (widget);
+ atk_object_notify_state_change (obj, ATK_STATE_ICONIFIED,
+ (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) != 0);
+
+ return FALSE;
+}
+
+static void
+gtk_window_accessible_initialize (AtkObject *obj,
+ gpointer data)
+{
+ GtkWidget *widget = GTK_WIDGET (data);
+ const gchar *name;
+
+ /* A GtkWindowAccessible can be created for a GtkHandleBox or a GtkWindow */
+ if (!GTK_IS_WINDOW (widget) && !GTK_IS_HANDLE_BOX (widget))
+ return;
+
+ ATK_OBJECT_CLASS (_gtk_window_accessible_parent_class)->initialize (obj, data);
+
+ g_signal_connect (data, "window-state-event", G_CALLBACK (window_state_event_cb), NULL);
+ GTK_WIDGET_ACCESSIBLE (obj)->layer = ATK_LAYER_WINDOW;
+
+ name = gtk_widget_get_name (widget);
+
+ if (!g_strcmp0 (name, "gtk-tooltip"))
+ obj->role = ATK_ROLE_TOOL_TIP;
+ else if (gtk_window_get_window_type (GTK_WINDOW (widget)) == GTK_WINDOW_POPUP)
+ obj->role = ATK_ROLE_WINDOW;
+ else
+ obj->role = ATK_ROLE_FRAME;
+
+ /* Notify that tooltip is showing */
+ if (obj->role == ATK_ROLE_TOOL_TIP && gtk_widget_get_mapped (widget))
+ atk_object_notify_state_change (obj, ATK_STATE_SHOWING, 1);
+}
+
+static GtkWidget *
+find_label_child (GtkContainer *container)
+{
+ GList *children, *tmp_list;
+ GtkWidget *child;
+
+ children = gtk_container_get_children (container);
+
+ child = NULL;
+ for (tmp_list = children; tmp_list != NULL; tmp_list = tmp_list->next)
+ {
+ if (GTK_IS_LABEL (tmp_list->data))
+ {
+ child = GTK_WIDGET (tmp_list->data);
+ break;
+ }
+ else if (GTK_IS_CONTAINER (tmp_list->data))
+ {
+ child = find_label_child (GTK_CONTAINER (tmp_list->data));
+ if (child)
+ break;
+ }
+ }
+ g_list_free (children);
+ return child;
+}
+
+static const gchar *
+gtk_window_accessible_get_name (AtkObject *accessible)
+{
+ const gchar* name;
+ GtkWidget* widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return NULL;
+
+ name = ATK_OBJECT_CLASS (_gtk_window_accessible_parent_class)->get_name (accessible);
+ if (name != NULL)
+ return name;
+
+ if (GTK_IS_WINDOW (widget))
+ {
+ GtkWindow *window = GTK_WINDOW (widget);
+
+ name = gtk_window_get_title (window);
+ if (name == NULL && accessible->role == ATK_ROLE_TOOL_TIP)
+ {
+ GtkWidget *child;
+
+ child = find_label_child (GTK_CONTAINER (window));
+ if (GTK_IS_LABEL (child))
+ name = gtk_label_get_text (GTK_LABEL (child));
+ }
+ }
+ return name;
+}
+
+static gint
+gtk_window_accessible_get_index_in_parent (AtkObject *accessible)
+{
+ GtkWidget* widget;
+ AtkObject* atk_obj;
+ gint index = -1;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return -1;
+
+ index = ATK_OBJECT_CLASS (_gtk_window_accessible_parent_class)->get_index_in_parent (accessible);
+ if (index != -1)
+ return index;
+
+ atk_obj = atk_get_root ();
+
+ if (GTK_IS_WINDOW (widget))
+ {
+ GtkWindow *window = GTK_WINDOW (widget);
+ if (GTK_IS_TOPLEVEL_ACCESSIBLE (atk_obj))
+ {
+ GtkToplevelAccessible *toplevel = GTK_TOPLEVEL_ACCESSIBLE (atk_obj);
+ index = g_list_index (toplevel->window_list, window);
+ }
+ else
+ {
+ gint i, sibling_count;
+
+ sibling_count = atk_object_get_n_accessible_children (atk_obj);
+ for (i = 0; i < sibling_count && index == -1; ++i)
+ {
+ AtkObject *child = atk_object_ref_accessible_child (atk_obj, i);
+ if (accessible == child)
+ index = i;
+ g_object_unref (G_OBJECT (child));
+ }
+ }
+ }
+ return index;
+}
+
+static AtkRelationSet *
+gtk_window_accessible_ref_relation_set (AtkObject *obj)
+{
+ GtkWidget *widget;
+ AtkRelationSet *relation_set;
+ AtkObject *array[1];
+ AtkRelation* relation;
+ GtkWidget *current_widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ relation_set = ATK_OBJECT_CLASS (_gtk_window_accessible_parent_class)->ref_relation_set (obj);
+
+ if (atk_object_get_role (obj) == ATK_ROLE_TOOL_TIP)
+ {
+ relation = atk_relation_set_get_relation_by_type (relation_set, ATK_RELATION_POPUP_FOR);
+ if (relation)
+ atk_relation_set_remove (relation_set, relation);
+
+ if (0) /* FIXME need a way to go from tooltip window to widget */
+ {
+ array[0] = gtk_widget_get_accessible (current_widget);
+ relation = atk_relation_new (array, 1, ATK_RELATION_POPUP_FOR);
+ atk_relation_set_add (relation_set, relation);
+ g_object_unref (relation);
+ }
+ }
+ return relation_set;
+}
+
+static AtkStateSet *
+gtk_window_accessible_ref_state_set (AtkObject *accessible)
+{
+ AtkStateSet *state_set;
+ GtkWidget *widget;
+ GtkWindow *window;
+ GdkWindow *gdk_window;
+ GdkWindowState state;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+ if (widget == NULL)
+ return NULL;
+
+ state_set = ATK_OBJECT_CLASS (_gtk_window_accessible_parent_class)->ref_state_set (accessible);
+
+ window = GTK_WINDOW (widget);
+
+ if (gtk_window_has_toplevel_focus (window) && gtk_window_is_active (window))
+ atk_state_set_add_state (state_set, ATK_STATE_ACTIVE);
+
+ gdk_window = gtk_widget_get_window (widget);
+ if (window)
+ {
+ state = gdk_window_get_state (gdk_window);
+ if (state & GDK_WINDOW_STATE_ICONIFIED)
+ atk_state_set_add_state (state_set, ATK_STATE_ICONIFIED);
+ }
+ if (gtk_window_get_modal (window))
+ atk_state_set_add_state (state_set, ATK_STATE_MODAL);
+
+ if (gtk_window_get_resizable (window))
+ atk_state_set_add_state (state_set, ATK_STATE_RESIZABLE);
+
+ return state_set;
+}
+
+static void
+_gtk_window_accessible_class_init (GtkWindowAccessibleClass *klass)
+{
+ GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ widget_class->notify_gtk = gtk_window_accessible_notify_gtk;
+
+ class->get_name = gtk_window_accessible_get_name;
+ class->get_index_in_parent = gtk_window_accessible_get_index_in_parent;
+ class->ref_relation_set = gtk_window_accessible_ref_relation_set;
+ class->ref_state_set = gtk_window_accessible_ref_state_set;
+ class->initialize = gtk_window_accessible_initialize;
+ class->focus_event = gtk_window_accessible_focus_event;
+
+ gtk_window_accessible_signals [ACTIVATE] =
+ g_signal_new ("activate",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+ gtk_window_accessible_signals [CREATE] =
+ g_signal_new ("create",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+ gtk_window_accessible_signals [DEACTIVATE] =
+ g_signal_new ("deactivate",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+ gtk_window_accessible_signals [DESTROY] =
+ g_signal_new ("destroy",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+ gtk_window_accessible_signals [MAXIMIZE] =
+ g_signal_new ("maximize",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+ gtk_window_accessible_signals [MINIMIZE] =
+ g_signal_new ("minimize",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+ gtk_window_accessible_signals [MOVE] =
+ g_signal_new ("move",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+ gtk_window_accessible_signals [RESIZE] =
+ g_signal_new ("resize",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+ gtk_window_accessible_signals [RESTORE] =
+ g_signal_new ("restore",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+}
+
+static void
+_gtk_window_accessible_init (GtkWindowAccessible *accessible)
+{
+}
+
+static void
+gtk_window_accessible_get_extents (AtkComponent *component,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coord_type)
+{
+ GtkWidget *widget;
+ GdkRectangle rect;
+ gint x_toplevel, y_toplevel;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
+ if (widget == NULL)
+ return;
+
+ if (!gtk_widget_is_toplevel (widget))
+ {
+ AtkComponentIface *parent_iface;
+
+ parent_iface = (AtkComponentIface *) g_type_interface_peek_parent (ATK_COMPONENT_GET_IFACE (component));
+ parent_iface->get_extents (component, x, y, width, height, coord_type);
+ return;
+ }
+
+ gdk_window_get_frame_extents (gtk_widget_get_window (widget), &rect);
+
+ *width = rect.width;
+ *height = rect.height;
+ if (!gtk_widget_is_drawable (widget))
+ {
+ *x = G_MININT;
+ *y = G_MININT;
+ return;
+ }
+
+ *x = rect.x;
+ *y = rect.y;
+ if (coord_type == ATK_XY_WINDOW)
+ {
+ gdk_window_get_origin (gtk_widget_get_window (widget),
+ &x_toplevel, &y_toplevel);
+ *x -= x_toplevel;
+ *y -= y_toplevel;
+ }
+}
+
+static void
+gtk_window_accessible_get_size (AtkComponent *component,
+ gint *width,
+ gint *height)
+{
+ GtkWidget *widget;
+ GdkRectangle rect;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
+ if (widget == NULL)
+ return;
+
+ if (!gtk_widget_is_toplevel (widget))
+ {
+ AtkComponentIface *parent_iface;
+
+ parent_iface = (AtkComponentIface *) g_type_interface_peek_parent (ATK_COMPONENT_GET_IFACE (component));
+ parent_iface->get_size (component, width, height);
+ return;
+ }
+
+ gdk_window_get_frame_extents (gtk_widget_get_window (widget), &rect);
+
+ *width = rect.width;
+ *height = rect.height;
+}
+
+static void
+atk_component_interface_init (AtkComponentIface *iface)
+{
+ iface->get_extents = gtk_window_accessible_get_extents;
+ iface->get_size = gtk_window_accessible_get_size;
+}
--- /dev/null
+/* GAIL - The GNOME Accessibility Implementation Library
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_WINDOW_ACCESSIBLE_H__
+#define __GTK_WINDOW_ACCESSIBLE_H__
+
+#include "gtkcontaineraccessible.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_WINDOW_ACCESSIBLE (_gtk_window_accessible_get_type ())
+#define GTK_WINDOW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_WINDOW_ACCESSIBLE, GtkWindowAccessible))
+#define GTK_WINDOW_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_WINDOW_ACCESSIBLE, GtkWindowAccessibleClass))
+#define GTK_IS_WINDOW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_WINDOW_ACCESSIBLE))
+#define GTK_IS_WINDOW_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WINDOW_ACCESSIBLE))
+#define GTK_WINDOW_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_WINDOW_ACCESSIBLE, GtkWindowAccessibleClass))
+
+typedef struct _GtkWindowAccessible GtkWindowAccessible;
+typedef struct _GtkWindowAccessibleClass GtkWindowAccessibleClass;
+
+struct _GtkWindowAccessible
+{
+ GtkContainerAccessible parent;
+};
+
+struct _GtkWindowAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GType _gtk_window_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_WINDOW_ACCESSIBLE_H__ */
gtk_adjustment_clamp_page
gtk_adjustment_configure
gtk_adjustment_get_lower
+gtk_adjustment_get_minimum_increment
gtk_adjustment_get_page_increment
gtk_adjustment_get_page_size
gtk_adjustment_get_step_increment
gtk_assistant_prepend_page
gtk_assistant_previous_page
gtk_assistant_remove_action_widget
+gtk_assistant_remove_page
gtk_assistant_set_current_page
gtk_assistant_set_forward_page_func
gtk_assistant_set_page_complete
gtk_menu_tool_button_set_arrow_tooltip_markup
gtk_menu_tool_button_set_arrow_tooltip_text
gtk_menu_tool_button_set_menu
-gtk_message_dialog_format_secondary_markup G_GNUC_PRINTF(2,3)
-gtk_message_dialog_format_secondary_text G_GNUC_PRINTF(2,3)
+gtk_message_dialog_format_secondary_markup
+gtk_message_dialog_format_secondary_text
gtk_message_dialog_get_image
gtk_message_dialog_get_message_area
gtk_message_dialog_get_type
-gtk_message_dialog_new G_GNUC_PRINTF(5,6)
-gtk_message_dialog_new_with_markup G_GNUC_PRINTF(5,6)
+gtk_message_dialog_new
+gtk_message_dialog_new_with_markup
gtk_message_dialog_set_image
gtk_message_dialog_set_markup
gtk_message_type_get_type
gtk_widget_class_install_style_property_parser
gtk_widget_class_list_style_properties
gtk_widget_class_path
+gtk_widget_class_set_accessible_role
+gtk_widget_class_set_accessible_type
gtk_widget_compute_expand
gtk_widget_create_pango_context
gtk_widget_create_pango_layout
widget_class->get_preferred_width = gtk_accel_label_get_preferred_width;
widget_class->destroy = gtk_accel_label_destroy;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_ACCEL_LABEL);
+
class->signal_quote1 = g_strdup ("<:");
class->signal_quote2 = g_strdup (":>");
/**
* gtk_accel_map_foreach:
- * @data: data to be passed into @foreach_func
+ * @data: (allow-none): data to be passed into @foreach_func
* @foreach_func: (scope call): function to be executed for each accel
* map entry which is not filtered out
*
* SECTION:gtkaccessible
* @Short_description: Accessibility support for widgets
* @Title: GtkAccessible
+ *
+ * The #GtkAccessible class is the base class for accessible
+ * implementations for #GtkWidget subclasses. It is a thin
+ * wrapper around #AtkObject, which adds facilities for associating
+ * a widget with its accessible object.
+ *
+ * An accessible implementation for a third-party widget should
+ * derive from #GtkAccessible and implement the suitable interfaces
+ * from ATK, such as #AtkText or #AtkSelection. To establish
+ * the connection between the widget class and its corresponding
+ * acccessible implementation, override the get_accessible vfunc
+ * in #GtkWidgetClass.
*/
-/*
- * GtkAccessiblePriv:
- * @widget: The GtkWidget whose properties and features are exported via this
- * accessible instance
- */
struct _GtkAccessiblePrivate
{
GtkWidget *widget;
* Sets the #GtkWidget corresponding to the #GtkAccessible.
*
* Since: 2.22
- **/
+ */
void
gtk_accessible_set_widget (GtkAccessible *accessible,
GtkWidget *widget)
* gtk_accessible_get_widget:
* @accessible: a #GtkAccessible
*
- * Gets the #GtkWidget corresponding to the #GtkAccessible. The returned widget
- * does not have a reference added, so you do not need to unref it.
+ * Gets the #GtkWidget corresponding to the #GtkAccessible.
+ * The returned widget does not have a reference added, so
+ * you do not need to unref it.
*
- * Returns: (transfer none): pointer to the #GtkWidget corresponding to
- * the #GtkAccessible, or %NULL.
+ * Returns: (transfer none): pointer to the #GtkWidget
+ * corresponding to the #GtkAccessible, or %NULL.
*
* Since: 2.22
- **/
+ */
GtkWidget*
gtk_accessible_get_widget (GtkAccessible *accessible)
{
}
/**
- * gtk_accessible_connect_widget_destroyed
+ * gtk_accessible_connect_widget_destroyed:
* @accessible: a #GtkAccessible
*
- * This function specifies the callback function to be called when the widget
- * corresponding to a GtkAccessible is destroyed.
+ * This function specifies the callback function to be called
+ * when the widget corresponding to a GtkAccessible is destroyed.
*/
void
gtk_accessible_connect_widget_destroyed (GtkAccessible *accessible)
GtkAccessiblePrivate *priv = accessible->priv;
if (priv->widget)
- {
- g_signal_connect (priv->widget,
- "destroy",
- G_CALLBACK (gtk_widget_destroyed),
- &priv->widget);
- }
+ g_signal_connect (priv->widget, "destroy",
+ G_CALLBACK (gtk_widget_destroyed), &priv->widget);
}
-
-/*
- * _gtk_accessible_set_factory_type:
- * @widget_type: a #GtkWidget subtype
- * @factory_type: a #AtkObjectFactory subtype
- *
- * A wrapper around atk_registry_set_factory_type().
- *
- * Only installs the factory if accessibility is
- * enabled.
- */
-void
-_gtk_accessible_set_factory_type (GType widget_type,
- GType factory_type)
-{
- AtkObjectFactory *factory;
- AtkRegistry *registry;
- GType accessible_type;
-
- /*
- * Figure out whether accessibility is enabled by looking
- * at the type of the accessible object which would be created
- * for GtkWidget.
- */
- registry = atk_get_default_registry ();
- factory = atk_registry_get_factory (registry, GTK_TYPE_WIDGET);
- accessible_type = atk_object_factory_get_accessible_type (factory);
- if (g_type_is_a (accessible_type, GTK_TYPE_ACCESSIBLE))
- atk_registry_set_factory_type (registry, widget_type, factory_type);
-}
-
#define GTK_IS_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ACCESSIBLE))
#define GTK_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ACCESSIBLE, GtkAccessibleClass))
-typedef struct _GtkAccessible GtkAccessible;
-typedef struct _GtkAccessiblePrivate GtkAccessiblePrivate;
-typedef struct _GtkAccessibleClass GtkAccessibleClass;
+typedef struct _GtkAccessible GtkAccessible;
+typedef struct _GtkAccessiblePrivate GtkAccessiblePrivate;
+typedef struct _GtkAccessibleClass GtkAccessibleClass;
- /*
- * This object is a thin wrapper, in the GTK+ namespace, for AtkObject
- */
struct _GtkAccessible
{
AtkObject parent;
{
AtkObjectClass parent_class;
- void (*connect_widget_destroyed) (GtkAccessible *accessible);
-
+ void (*connect_widget_destroyed) (GtkAccessible *accessible);
+
/* Padding for future expansion */
void (*_gtk_reserved1) (void);
void (*_gtk_reserved2) (void);
void (*_gtk_reserved4) (void);
};
-GType gtk_accessible_get_type (void) G_GNUC_CONST;
+GType gtk_accessible_get_type (void) G_GNUC_CONST;
-void gtk_accessible_set_widget (GtkAccessible *accessible,
- GtkWidget *widget);
-GtkWidget* gtk_accessible_get_widget (GtkAccessible *accessible);
-void gtk_accessible_connect_widget_destroyed (GtkAccessible *accessible);
+void gtk_accessible_set_widget (GtkAccessible *accessible,
+ GtkWidget *widget);
+GtkWidget *gtk_accessible_get_widget (GtkAccessible *accessible);
+void gtk_accessible_connect_widget_destroyed (GtkAccessible *accessible);
G_END_DECLS
if (need_emission)
gtk_adjustment_value_changed (adjustment);
}
+
+/**
+ * gtk_adjustment_get_minimum_increment:
+ * @adjustment: a #GtkAdjustment
+ *
+ * Gets the smaller of step increment and page increment.
+ *
+ * Returns: the minimum increment of @adjustment
+ *
+ * Since: 3.2
+ */
+gdouble
+gtk_adjustment_get_minimum_increment (GtkAdjustment *adjustment)
+{
+ GtkAdjustmentPrivate *priv;
+ gdouble minimum_increment;
+
+ g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), 0);
+
+ priv = adjustment->priv;
+
+ if (priv->step_increment != 0 && priv->page_increment != 0)
+ {
+ if (ABS (priv->step_increment) < ABS (priv->page_increment))
+ minimum_increment = priv->step_increment;
+ else
+ minimum_increment = priv->page_increment;
+ }
+ else if (priv->step_increment == 0 && priv->page_increment == 0)
+ {
+ minimum_increment = 0;
+ }
+ else if (priv->step_increment == 0)
+ {
+ minimum_increment = priv->page_increment;
+ }
+ else
+ {
+ minimum_increment = priv->step_increment;
+ }
+
+ return minimum_increment;
+}
+
gdouble page_increment,
gdouble page_size);
+gdouble gtk_adjustment_get_minimum_increment (GtkAdjustment *adjustment);
+
G_END_DECLS
#endif /* __GTK_ADJUSTMENT_H__ */
#include "gtkprivate.h"
#include "gtkintl.h"
+#include "a11y/gtkarrowaccessible.h"
+
#define MIN_ARROW_SIZE 15
struct _GtkArrowPrivate
GTK_PARAM_READABLE));
g_type_class_add_private (class, sizeof (GtkArrowPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_ARROW_ACCESSIBLE);
}
static void
#include "gtkassistant.h"
-#include "gtkaccessibleprivate.h"
#include "gtkbutton.h"
#include "gtkbox.h"
#include "gtkframe.h"
#include "gtkintl.h"
#include "gtkprivate.h"
#include "gtkbuildable.h"
+#include "a11y/gtkwindowaccessible.h"
#define HEADER_SPACING 12
GValue *value,
GParamSpec *pspec);
-static AtkObject *gtk_assistant_get_accessible (GtkWidget *widget);
-static GType gtk_assistant_accessible_factory_get_type (void);
-
static void gtk_assistant_buildable_interface_init (GtkBuildableIface *iface);
static GObject *gtk_assistant_buildable_get_internal_child (GtkBuildable *buildable,
GtkBuilder *builder,
static GList* find_page (GtkAssistant *assistant,
GtkWidget *page);
+GType _gtk_assistant_accessible_get_type (void);
+
enum
{
CHILD_PROP_0,
widget_class->map = gtk_assistant_map;
widget_class->unmap = gtk_assistant_unmap;
widget_class->delete_event = gtk_assistant_delete_event;
- widget_class->get_accessible = gtk_assistant_get_accessible;
+
+ gtk_widget_class_set_accessible_type (widget_class, _gtk_assistant_accessible_get_type ());
container_class->add = gtk_assistant_add;
container_class->remove = gtk_assistant_remove;
return FALSE;
}
+static void
+on_page_notify_visibility (GtkWidget *widget,
+ GParamSpec *arg,
+ gpointer data)
+{
+ GtkAssistant *assistant = GTK_ASSISTANT (data);
+
+ if (gtk_widget_get_mapped (GTK_WIDGET (assistant)))
+ {
+ update_buttons_state (assistant);
+ update_title_state (assistant);
+ }
+}
+
+static void
+assistant_remove_page_cb (GtkNotebook *notebook,
+ GtkWidget *page,
+ GtkAssistant *assistant)
+{
+ GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPage *page_info;
+ GList *page_node;
+ GList *element;
+
+ element = find_page (assistant, page);
+ if (!element)
+ return;
+
+ page_info = element->data;
+
+ /* If this is the current page, we need to switch away. */
+ if (page_info == priv->current_page)
+ {
+ if (!compute_next_step (assistant))
+ {
+ /* The best we can do at this point is probably to pick
+ * the first visible page.
+ */
+ page_node = priv->pages;
+
+ while (page_node &&
+ !gtk_widget_get_visible (((GtkAssistantPage *) page_node->data)->page))
+ page_node = page_node->next;
+
+ if (page_node == element)
+ page_node = page_node->next;
+
+ if (page_node)
+ priv->current_page = page_node->data;
+ else
+ priv->current_page = NULL;
+ }
+ }
+
+ g_signal_handlers_disconnect_by_func (page_info->page, on_page_notify_visibility, assistant);
+
+ gtk_size_group_remove_widget (priv->title_size_group, page_info->regular_title);
+ gtk_size_group_remove_widget (priv->title_size_group, page_info->current_title);
+
+ gtk_container_remove (GTK_CONTAINER (priv->sidebar), page_info->regular_title);
+ gtk_container_remove (GTK_CONTAINER (priv->sidebar), page_info->current_title);
+
+ priv->pages = g_list_remove_link (priv->pages, element);
+ priv->visited_pages = g_slist_remove_all (priv->visited_pages, page_info);
+
+ g_free (page_info->title);
+
+ g_slice_free (GtkAssistantPage, page_info);
+ g_list_free_1 (element);
+
+ if (gtk_widget_get_mapped (GTK_WIDGET (assistant)))
+ {
+ update_buttons_state (assistant);
+ update_actions_size (assistant);
+ }
+}
+
static void
gtk_assistant_init (GtkAssistant *assistant)
{
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->content), FALSE);
priv->action_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ g_signal_connect (priv->content, "remove",
+ G_CALLBACK (assistant_remove_page_cb), assistant);
+
gtk_container_add (GTK_CONTAINER (sidebar_frame), priv->sidebar);
gtk_box_pack_start (GTK_BOX (main_box), sidebar_frame, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (main_box), content_box, TRUE, TRUE, 0);
}
}
-static void
-on_page_notify_visibility (GtkWidget *widget,
- GParamSpec *arg,
- gpointer data)
-{
- GtkAssistant *assistant = GTK_ASSISTANT (data);
-
- if (gtk_widget_get_mapped (GTK_WIDGET (assistant)))
- {
- update_buttons_state (assistant);
- update_title_state (assistant);
- }
-}
-
-static void
-remove_page (GtkAssistant *assistant,
- GList *element)
-{
- GtkAssistantPrivate *priv = assistant->priv;
- GtkAssistantPage *page_info;
- GList *page_node;
-
- page_info = element->data;
-
- /* If this is the current page, we need to switch away. */
- if (page_info == priv->current_page)
- {
- if (!compute_next_step (assistant))
- {
- /* The best we can do at this point is probably to pick
- * the first visible page.
- */
- page_node = priv->pages;
-
- while (page_node &&
- !gtk_widget_get_visible (((GtkAssistantPage *) page_node->data)->page))
- page_node = page_node->next;
-
- if (page_node == element)
- page_node = page_node->next;
-
- if (page_node)
- priv->current_page = page_node->data;
- else
- priv->current_page = NULL;
- }
- }
-
- g_signal_handlers_disconnect_by_func (page_info->page, on_page_notify_visibility, assistant);
-
- gtk_size_group_remove_widget (priv->title_size_group, page_info->regular_title);
- gtk_size_group_remove_widget (priv->title_size_group, page_info->current_title);
-
- gtk_container_remove (GTK_CONTAINER (priv->sidebar), page_info->regular_title);
- gtk_container_remove (GTK_CONTAINER (priv->sidebar), page_info->current_title);
-
- gtk_notebook_remove_page (GTK_NOTEBOOK (priv->content), gtk_notebook_page_num (GTK_NOTEBOOK (priv->content), page_info->page));
- priv->pages = g_list_remove_link (priv->pages, element);
- priv->visited_pages = g_slist_remove_all (priv->visited_pages, page_info);
-
- g_free (page_info->title);
-
- g_slice_free (GtkAssistantPage, page_info);
- g_list_free_1 (element);
-
- if (gtk_widget_get_mapped (GTK_WIDGET (assistant)))
- {
- update_buttons_state (assistant);
- update_actions_size (assistant);
- }
-}
-
static void
gtk_assistant_destroy (GtkWidget *widget)
{
*/
priv->current_page = NULL;
- while (priv->pages)
- remove_page (assistant, priv->pages);
+ if (priv->content)
+ {
+ GtkNotebook *notebook;
+ GtkWidget *page;
+
+ /* Remove all pages from the content notebook. */
+ notebook = (GtkNotebook *) priv->content;
+ while ((page = gtk_notebook_get_nth_page (notebook, 0)) != NULL)
+ gtk_container_remove ((GtkContainer *) notebook, page);
+
+ /* Our GtkAssistantPage list should be empty now. */
+ g_warn_if_fail (priv->pages == NULL);
+
+ priv->content = NULL;
+ }
if (priv->sidebar)
priv->sidebar = NULL;
- if (priv->content)
- priv->content = NULL;
-
if (priv->action_area)
priv->action_area = NULL;
GtkWidget *page)
{
GtkAssistant *assistant = (GtkAssistant*) container;
- GList *element;
-
- element = find_page (assistant, page);
- if (element)
+ /* Forward this removal to the content notebook */
+ if (gtk_widget_get_parent (page) == assistant->priv->content)
{
- remove_page (assistant, element);
- gtk_widget_queue_resize ((GtkWidget *) container);
+ container = (GtkContainer *) assistant->priv->content;
+ gtk_container_remove (container, page);
}
}
return position;
}
+/**
+ * gtk_assistant_remove_page:
+ * @assistant: a #GtkAssistant
+ * @page_num: the index of a page in the @assistant,
+ * or -1 to get the last page
+ *
+ * Removes the @page_num's page from @assistant.
+ *
+ * Since: 3.2
+ */
+void
+gtk_assistant_remove_page (GtkAssistant *assistant,
+ gint page_num)
+{
+ GtkWidget *page;
+
+ g_return_if_fail (GTK_IS_ASSISTANT (assistant));
+
+ page = gtk_assistant_get_nth_page (assistant, page_num);
+
+ if (page)
+ gtk_container_remove (GTK_CONTAINER (assistant), page);
+}
+
/**
* gtk_assistant_set_forward_page_func:
* @assistant: a #GtkAssistant
update_buttons_state (assistant);
}
-static AtkObject *
-gtk_assistant_get_accessible (GtkWidget *widget)
-{
- static gboolean first_time = TRUE;
-
- if (first_time)
- {
- _gtk_accessible_set_factory_type (GTK_TYPE_ASSISTANT,
- gtk_assistant_accessible_factory_get_type ());
-
- first_time = FALSE;
- }
-
- return GTK_WIDGET_CLASS (gtk_assistant_parent_class)->get_accessible (widget);
-}
-
/* accessible implementation */
/* dummy typedefs */
-typedef struct _GtkAssistantAccessible GtkAssistantAccessible;
-typedef struct _GtkAssistantAccessibleClass GtkAssistantAccessibleClass;
+typedef GtkWindowAccessible GtkAssistantAccessible;
+typedef GtkWindowAccessibleClass GtkAssistantAccessibleClass;
-ATK_DEFINE_TYPE (GtkAssistantAccessible, _gtk_assistant_accessible, GTK_TYPE_ASSISTANT);
+G_DEFINE_TYPE (GtkAssistantAccessible, _gtk_assistant_accessible, GTK_TYPE_WINDOW_ACCESSIBLE);
static gint
gtk_assistant_accessible_get_n_children (AtkObject *accessible)
{
}
-/* factory */
-typedef AtkObjectFactory GtkAssistantAccessibleFactory;
-typedef AtkObjectFactoryClass GtkAssistantAccessibleFactoryClass;
-
-G_DEFINE_TYPE (GtkAssistantAccessibleFactory,
- gtk_assistant_accessible_factory,
- ATK_TYPE_OBJECT_FACTORY);
-
-static GType
-gtk_assistant_accessible_factory_get_accessible_type (void)
-{
- return _gtk_assistant_accessible_get_type ();
-}
-
-static AtkObject*
-gtk_assistant_accessible_factory_create_accessible (GObject *obj)
-{
- AtkObject *accessible;
-
- accessible = g_object_new (_gtk_assistant_accessible_get_type (), NULL);
- atk_object_initialize (accessible, obj);
-
- return accessible;
-}
-
-static void
-gtk_assistant_accessible_factory_class_init (AtkObjectFactoryClass *class)
-{
- class->create_accessible = gtk_assistant_accessible_factory_create_accessible;
- class->get_accessible_type = gtk_assistant_accessible_factory_get_accessible_type;
-}
-
-static void
-gtk_assistant_accessible_factory_init (AtkObjectFactory *factory)
-{
-}
-
/* buildable implementation */
static GtkBuildableIface *parent_buildable_iface;
gint gtk_assistant_insert_page (GtkAssistant *assistant,
GtkWidget *page,
gint position);
+void gtk_asssistant_remove_page (GtkAssistant *assistant,
+ gint page_num);
void gtk_assistant_set_forward_page_func (GtkAssistant *assistant,
GtkAssistantPageFunc page_func,
gpointer data,
#include "gtktypebuiltins.h"
#include "gtkprivate.h"
#include "gtkintl.h"
+#include "a11y/gtkboxaccessible.h"
enum {
GtkOrientation orientation;
gint16 spacing;
- GtkWidgetPath *sibling_path;
guint default_expand : 1;
guint homogeneous : 1;
gint *minimum_height,
gint *natural_height);
+
G_DEFINE_TYPE_WITH_CODE (GtkBox, gtk_box, GTK_TYPE_CONTAINER,
G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE,
NULL))
GTK_PARAM_READWRITE));
g_type_class_add_private (object_class, sizeof (GtkBoxPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_BOX_ACCESSIBLE);
}
static void
gtk_box_get_path_for_child (GtkContainer *container,
GtkWidget *child)
{
- GtkWidgetPath *path;
+ GtkWidgetPath *path, *sibling_path;
GtkBox *box;
GtkBoxPrivate *private;
+ GList *list, *children;
box = GTK_BOX (container);
private = box->priv;
- if (private->sibling_path == NULL)
+ path = gtk_widget_path_copy (gtk_widget_get_path (GTK_WIDGET (container)));
+
+ if (gtk_widget_get_visible (child))
{
- GList *list, *children;
- private->sibling_path = gtk_widget_path_new ();
+ sibling_path = gtk_widget_path_new ();
/* get_children works in visible order */
children = gtk_container_get_children (container);
if (!gtk_widget_get_visible (list->data))
continue;
- gtk_widget_path_append_for_widget (private->sibling_path, list->data);
+ gtk_widget_path_append_for_widget (sibling_path, list->data);
}
- g_list_free (children);
- }
+ g_list_free (children);
- path = gtk_widget_path_copy (gtk_widget_get_path (GTK_WIDGET (container)));
- if (gtk_widget_get_visible (child))
- gtk_widget_path_append_with_siblings (path,
- private->sibling_path,
- gtk_box_get_visible_position (box,
- child));
+ gtk_widget_path_append_with_siblings (path,
+ sibling_path,
+ gtk_box_get_visible_position (box,
+ child));
+ gtk_widget_path_unref (sibling_path);
+ }
else
gtk_widget_path_append_for_widget (path, child);
static void
gtk_box_invalidate_order (GtkBox *box)
{
- GtkBoxPrivate *private = box->priv;
-
- if (private->sibling_path != NULL)
- {
- gtk_widget_path_unref (private->sibling_path);
- private->sibling_path = NULL;
-
- gtk_container_foreach (GTK_CONTAINER (box),
- (GtkCallback) gtk_widget_reset_style,
- NULL);
- }
+ gtk_container_foreach (GTK_CONTAINER (box),
+ (GtkCallback) gtk_widget_reset_style,
+ NULL);
}
static void
* It uses #GModule's introspective features (by opening the module %NULL)
* to look at the application's symbol table. From here it tries to match
* the signal handler names given in the interface description with
- * symbols in the application and connects the signals.
+ * symbols in the application and connects the signals. Note that this
+ * function can only be called once, subsequent calls will do nothing.
*
* Note that this function will not work correctly if #GModule is not
* supported on the platform.
* by the gtk_builder_connect_signals() and gtk_builder_connect_signals_full()
* methods. It is mainly intended for interpreted language bindings, but
* could be useful where the programmer wants more control over the signal
- * connection process.
+ * connection process. Note that this function can only be called once,
+ * subsequent calls will do nothing.
*
* Since: 2.12
*/
#include "gtktypebuiltins.h"
#include "gtkprivate.h"
#include "gtkintl.h"
+#include "a11y/gtkbuttonaccessible.h"
static const GtkBorder default_default_border = { 1, 1, 1, 1 };
GTK_PARAM_READABLE));
g_type_class_add_private (gobject_class, sizeof (GtkButtonPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_BUTTON_ACCESSIBLE);
}
static void
gint y,
guint time);
+
static void calendar_start_spinning (GtkCalendar *calendar,
gint click_child);
static void calendar_stop_spinning (GtkCalendar *calendar);
widget_class->drag_drop = gtk_calendar_drag_drop;
widget_class->drag_data_received = gtk_calendar_drag_data_received;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_CALENDAR);
+
/**
* GtkCalendar:year:
*
static void
gtk_cell_area_context_init (GtkCellAreaContext *context)
{
- GtkCellAreaContextPrivate *priv;
-
context->priv = G_TYPE_INSTANCE_GET_PRIVATE (context,
GTK_TYPE_CELL_AREA_CONTEXT,
GtkCellAreaContextPrivate);
- priv = context->priv;
-
- priv->min_width = -1;
- priv->nat_width = -1;
- priv->min_height = -1;
- priv->nat_height = -1;
}
static void
g_object_freeze_notify (G_OBJECT (context));
- if (priv->min_width != -1)
+ if (priv->min_width != 0)
{
- priv->min_width = -1;
+ priv->min_width = 0;
g_object_notify (G_OBJECT (context), "minimum-width");
}
- if (priv->nat_width != -1)
+ if (priv->nat_width != 0)
{
- priv->nat_width = -1;
+ priv->nat_width = 0;
g_object_notify (G_OBJECT (context), "natural-width");
}
- if (priv->min_height != -1)
+ if (priv->min_height != 0)
{
- priv->min_height = -1;
+ priv->min_height = 0;
g_object_notify (G_OBJECT (context), "minimum-height");
}
- if (priv->nat_height != -1)
+ if (priv->nat_height != 0)
{
- priv->nat_height = -1;
+ priv->nat_height = 0;
g_object_notify (G_OBJECT (context), "natural-height");
}
* requested with this context.
*
* After gtk_cell_area_context_reset() is called and/or before ever
- * requesting the size of a #GtkCellArea, the returned values are -1.
+ * requesting the size of a #GtkCellArea, the returned values are 0.
*
* Since: 3.0
*/
* requested with this context.
*
* After gtk_cell_area_context_reset() is called and/or before ever
- * requesting the size of a #GtkCellArea, the returned values are -1.
+ * requesting the size of a #GtkCellArea, the returned values are 0.
*
* Since: 3.0
*/
class->draw_indicator = gtk_real_check_button_draw_indicator;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_CHECK_BOX);
+
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("indicator-size",
P_("Indicator Size"),
#include "gtkmarshalers.h"
#include "gtkprivate.h"
#include "gtkintl.h"
-
+#include "a11y/gtkcheckmenuitemaccessible.h"
/**
* SECTION:gtkcheckmenuitem
GTK_PARAM_READABLE));
widget_class->draw = gtk_check_menu_item_draw;
-
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_CHECK_MENU_ITEM_ACCESSIBLE);
+
menu_item_class->activate = gtk_check_menu_item_activate;
menu_item_class->hide_on_activate = FALSE;
menu_item_class->toggle_size_request = gtk_check_menu_item_toggle_size_request;
clipboard->get_func (clipboard, &selection_data,
info,
clipboard->user_data);
-
- _gtk_quartz_set_selection_data_for_pasteboard (clipboard->pasteboard,
- &selection_data);
+
+ if (selection_data.length >= 0)
+ _gtk_quartz_set_selection_data_for_pasteboard (clipboard->pasteboard,
+ &selection_data);
g_free (selection_data.data);
}
gtk_color_selection_dialog_class_init (GtkColorSelectionDialogClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+
gobject_class->get_property = gtk_color_selection_dialog_get_property;
g_object_class_install_property (gobject_class,
GTK_TYPE_WIDGET,
G_PARAM_READABLE));
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_COLOR_CHOOSER);
+
g_type_class_add_private (klass, sizeof (GtkColorSelectionDialogPrivate));
}
#include "gtkentryprivate.h"
#include "gtktreeprivate.h"
+#include "a11y/gtkcomboboxaccessible.h"
/**
GTK_PARAM_READABLE));
g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_COMBO_BOX_ACCESSIBLE);
}
static void
#include "gtksizerequest.h"
#include "gtkwidgetprivate.h"
#include "gtkwindow.h"
+#include "gtkassistant.h"
#include "gtkintl.h"
-#include "gtktoolbar.h"
-
+#include "a11y/gtkcontaineraccessible.h"
/**
* SECTION:gtkcontainer
GTK_TYPE_WIDGET);
g_type_class_add_private (class, sizeof (GtkContainerPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_CONTAINER_ACCESSIBLE);
}
static void
{
g_return_if_fail (GTK_IS_CONTAINER (container));
g_return_if_fail (GTK_IS_WIDGET (widget));
- g_return_if_fail (gtk_widget_get_parent (widget) == GTK_WIDGET (container));
+ g_return_if_fail (gtk_widget_get_parent (widget) == GTK_WIDGET (container) || GTK_IS_ASSISTANT (container));
g_signal_emit (container, container_signals[REMOVE], 0, widget);
}
child2 = _gtk_css_parser_read_symbolic_color (parser);
if (child2 == NULL)
{
- g_object_unref (child1);
+ gtk_symbolic_color_unref (child1);
return NULL;
}
}
GFile *file;
char *uri;
- uri = _gtk_css_parser_read_uri (scanner->parser);
+ if (_gtk_css_parser_is_string (scanner->parser))
+ uri = _gtk_css_parser_read_string (scanner->parser);
+ else
+ uri = _gtk_css_parser_read_uri (scanner->parser);
if (uri == NULL)
{
_gtk_css_parser_resync (scanner->parser, TRUE, 0);
continue;
}
- gtk_binding_entry_add_signal_from_string (binding_set, name);
+ if (gtk_binding_entry_add_signal_from_string (binding_set, name) != G_TOKEN_NONE)
+ {
+ gtk_css_provider_error_literal (scanner->provider,
+ scanner,
+ GTK_CSS_PROVIDER_ERROR,
+ GTK_CSS_PROVIDER_ERROR_SYNTAX,
+ "Failed to parse binding set.");
+ }
+
g_free (name);
if (!_gtk_css_parser_try (scanner->parser, ";", TRUE))
}
skip_semicolon:
- if (_gtk_css_parser_try (scanner->parser, ";", TRUE))
- gtk_css_provider_error_literal (scanner->provider,
- scanner,
- GTK_CSS_PROVIDER_ERROR,
- GTK_CSS_PROVIDER_ERROR_DEPRECATED,
- "Nonstandard semicolon at end of binding set");
+ if (_gtk_css_parser_begins_with (scanner->parser, ';'))
+ {
+ gtk_css_provider_error_literal (scanner->provider,
+ scanner,
+ GTK_CSS_PROVIDER_ERROR,
+ GTK_CSS_PROVIDER_ERROR_DEPRECATED,
+ "Nonstandard semicolon at end of binding set");
+ _gtk_css_parser_try (scanner->parser, ";", TRUE);
+ }
}
static void
GtkRegionFlags region_flag;
GtkStateFlags state_flag;
} pseudo_classes[] = {
- { "first", GTK_REGION_FIRST, 0 },
- { "last", GTK_REGION_LAST, 0 },
+ { "first-child", GTK_REGION_FIRST, 0 },
+ { "last-child", GTK_REGION_LAST, 0 },
{ "sorted", GTK_REGION_SORTED, 0 },
{ "active", 0, GTK_STATE_FLAG_ACTIVE },
{ "prelight", 0, GTK_STATE_FLAG_PRELIGHT },
widget_class->map = gtk_dialog_map;
widget_class->style_updated = gtk_dialog_style_updated;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_DIALOG);
+
class->close = gtk_dialog_close;
g_type_class_add_private (gobject_class, sizeof (GtkDialogPrivate));
selection_data.data = NULL;
selection_data.length = -1;
selection_data.target = _gtk_quartz_pasteboard_type_to_atom (type);
+ selection_data.display = gdk_display_get_default ();
if (gtk_target_list_find (info->target_list,
selection_data.target,
{
GtkDragSourceInfo *info;
GdkDragContext *context;
+ GdkDevice *pointer;
NSWindow *nswindow;
context = gdk_drag_begin (gtk_widget_get_window (widget), NULL);
g_idle_add_full (G_PRIORITY_HIGH_IDLE, gtk_drag_begin_idle, context, NULL);
- gdk_pointer_ungrab (0);
+ pointer = gdk_drag_context_get_device (info->context);
+ gdk_device_ungrab (pointer, 0);
return context;
}
#include "gtkwidgetprivate.h"
#include "gtkstylecontextprivate.h"
+#include "a11y/gtkentryaccessible.h"
+
/**
* SECTION:gtkentry
* @Short_description: A single line text entry field
GTK_PARAM_READABLE));
g_type_class_add_private (gobject_class, sizeof (GtkEntryPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_ENTRY_ACCESSIBLE);
}
static void
* following signal handlers: buffer_inserted_text(), buffer_notify_display_text(),
* buffer_notify_text(), buffer_notify_length()
*/
+ begin_change (GTK_ENTRY (editable));
+ g_object_freeze_notify (G_OBJECT (editable));
+
n_inserted = gtk_entry_buffer_insert_text (get_buffer (GTK_ENTRY (editable)), *position, new_text, n_chars);
+ g_object_thaw_notify (G_OBJECT (editable));
+ end_change (GTK_ENTRY (editable));
+
if (n_inserted != n_chars)
gtk_widget_error_bell (GTK_WIDGET (editable));
* buffer_notify_text(), buffer_notify_length()
*/
+ begin_change (GTK_ENTRY (editable));
+ g_object_freeze_notify (G_OBJECT (editable));
gtk_entry_buffer_delete_text (get_buffer (GTK_ENTRY (editable)), start_pos, end_pos - start_pos);
+ g_object_thaw_notify (G_OBJECT (editable));
+ end_change (GTK_ENTRY (editable));
}
/* GtkEntryBuffer signal handlers
{
GtkEntryPrivate *priv = entry->priv;
guint password_hint_timeout;
+ guint current_pos;
+ gint selection_bound;
- if (priv->current_pos > position)
- priv->current_pos += n_chars;
+ current_pos = priv->current_pos;
+ if (current_pos > position)
+ current_pos += n_chars;
+
+ selection_bound = priv->selection_bound;
+ if (selection_bound > position)
+ selection_bound += n_chars;
- if (priv->selection_bound > position)
- priv->selection_bound += n_chars;
+ gtk_entry_set_positions (entry, current_pos, selection_bound);
/* Calculate the password hint if it needs to be displayed. */
if (n_chars == 1 && !priv->visible)
#include "gtkintl.h"
#include "gtkprivate.h"
#include "gtkdnd.h"
+#include "a11y/gtkexpanderaccessible.h"
#define DEFAULT_EXPANDER_SIZE 10
NULL, NULL,
_gtk_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_EXPANDER_ACCESSIBLE);
}
static void
const GError *error,
gpointer data)
{
- gint pos = -1;
gboolean cancelled = g_cancellable_is_cancelled (cancellable);
GdkPixbuf *pixbuf;
GtkTreePath *path;
/* Handle doesn't exist anymore in the model */
goto out;
- pos = gtk_tree_path_get_indices (path)[0];
gtk_tree_model_get_iter (GTK_TREE_MODEL (request->impl->shortcuts_model),
&iter, path);
gtk_tree_path_free (path);
if (info == NULL || _gtk_file_info_consider_as_directory (info))
g_value_set_string (value, NULL);
else
- g_value_take_string (value, g_format_size_for_display (g_file_info_get_size (info)));
+ g_value_take_string (value, g_format_size (g_file_info_get_size (info)));
break;
case MODEL_COL_MTIME:
case MODEL_COL_MTIME_TEXT:
* <section id="gtkfilechooserdialog-setting-up">
* <title>Setting up a file chooser dialog</title>
* There are various cases in which you may need to use a #GtkFileChooserDialog:
- * <itemizedlist>
- * <listitem>
- * <para>
- * To select a file for opening, as for a
- * <guimenuitem>File/Open</guimenuitem> command. Use
- * #GTK_FILE_CHOOSER_ACTION_OPEN.
- * </para>
- * </listitem>
- *
- * <listitem>
- * <para>
- * To save a file for the first time, as for a
- * <guimenuitem>File/Save</guimenuitem> command. Use
- * #GTK_FILE_CHOOSER_ACTION_SAVE, and suggest a name such as
- * "Untitled" with gtk_file_chooser_set_current_name().
- * </para>
- * </listitem>
- *
- * <listitem>
- * <para>
- * To save a file under a different name, as for a
- * <guimenuitem>File/Save As</guimenuitem> command. Use
- * #GTK_FILE_CHOOSER_ACTION_SAVE, and set the existing filename
- * with gtk_file_chooser_set_filename().
- * </para>
- * </listitem>
- *
- * <listitem>
- * <para>
- * To choose a folder instead of a file. Use
- * #GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
- * </para>
- * </listitem>
- * </itemizedlist>
+ * <itemizedlist><listitem>To select a file for opening, as for a
+ * <guimenuitem>File/Open</guimenuitem> command. Use
+ * #GTK_FILE_CHOOSER_ACTION_OPEN.
+ * </listitem>
+ * <listitem>To save a file for the first time, as for a
+ * <guimenuitem>File/Save</guimenuitem> command. Use
+ * #GTK_FILE_CHOOSER_ACTION_SAVE, and suggest a name such as
+ * "Untitled" with gtk_file_chooser_set_current_name().
+ * </listitem>
+ * <listitem>To save a file under a different name, as for a
+ * <guimenuitem>File/Save As</guimenuitem> command. Use
+ * #GTK_FILE_CHOOSER_ACTION_SAVE, and set the existing filename
+ * with gtk_file_chooser_set_filename().
+ * </listitem>
+ * <listitem>To choose a folder instead of a file. Use
+ * #GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
+ * </listitem></itemizedlist>
* <note>
* <para>
* Old versions of the file chooser's documentation suggested
* considered to be a good policy, as now the file chooser is
* able to make good suggestions on its own. In general, you
* should only cause the file chooser to show a specific folder
- * when it is appropriate to use gtk_file_chooser_set_filename()
- * - i.e. when you are doing a <guimenuitem>File/Save
+ * when it is appropriate to use gtk_file_chooser_set_filename(),
+ * i.e. when you are doing a <guimenuitem>File/Save
* As</guimenuitem> command <emphasis>and</emphasis> you already
* have a file saved somewhere.
* </para>
widget_class->map = gtk_file_chooser_dialog_map;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_FILE_CHOOSER);
+
_gtk_file_chooser_install_properties (gobject_class);
g_type_class_add_private (class, sizeof (GtkFileChooserDialogPrivate));
static void
gtk_font_selection_dialog_class_init (GtkFontSelectionDialogClass *klass)
{
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_FONT_CHOOSER);
+
g_type_class_add_private (klass, sizeof (GtkFontSelectionDialogPrivate));
}
#include "gtkintl.h"
#include "gtkbuildable.h"
+#include "a11y/gtkframeaccessible.h"
/**
* SECTION:gtkframe
class->compute_child_allocation = gtk_frame_real_compute_child_allocation;
g_type_class_add_private (class, sizeof (GtkFramePrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_FRAME_ACCESSIBLE);
}
static void
widget_class->focus = gtk_hsv_focus;
widget_class->grab_broken_event = gtk_hsv_grab_broken;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_COLOR_CHOOSER);
+
hsv_class->move = gtk_hsv_move;
hsv_signals[CHANGED] =
double *s,
double *v)
{
- GtkHSVPrivate *priv = hsv->priv;
+ GtkHSVPrivate *priv;
g_return_if_fail (GTK_IS_HSV (hsv));
priv = hsv->priv;
-
+
if (h)
*h = priv->h;
-
+
if (s)
*s = priv->s;
-
+
if (v)
*v = priv->v;
}
gint size,
gint ring_width)
{
- GtkHSVPrivate *priv = hsv->priv;
+ GtkHSVPrivate *priv;
int same_size;
g_return_if_fail (GTK_IS_HSV (hsv));
priv = hsv->priv;
same_size = (priv->size == size);
-
+
priv->size = size;
priv->ring_width = ring_width;
gint *size,
gint *ring_width)
{
- GtkHSVPrivate *priv = hsv->priv;
+ GtkHSVPrivate *priv;
g_return_if_fail (GTK_IS_HSV (hsv));
gboolean
gtk_hsv_is_adjusting (GtkHSV *hsv)
{
- GtkHSVPrivate *priv = hsv->priv;
+ GtkHSVPrivate *priv;
g_return_val_if_fail (GTK_IS_HSV (hsv), FALSE);
gtk_hsv_set_color (hsv, hue, sat, val);
}
+
#include <atk/atk.h>
-#include "gtkaccessibleprivate.h"
#include "gtkiconview.h"
#include "gtkcelllayout.h"
#include "gtkcellrenderer.h"
#include "gtkwindow.h"
#include "gtkentry.h"
#include "gtkcombobox.h"
-#include "gtktextbuffer.h"
#include "gtkscrollable.h"
#include "gtksizerequest.h"
#include "gtktreednd.h"
#include "gtktypebuiltins.h"
#include "gtkprivate.h"
+#include "gtkpango.h"
+#include "a11y/gtkcontaineraccessible.h"
/**
* SECTION:gtkiconview
GdkEventKey *event);
static gboolean gtk_icon_view_key_release (GtkWidget *widget,
GdkEventKey *event);
-static AtkObject *gtk_icon_view_get_accessible (GtkWidget *widget);
/* GtkContainer vfuncs */
GObject *child,
const gchar *tagname,
gpointer *data);
+static GType _gtk_icon_view_accessible_get_type (void);
static guint icon_view_signals[LAST_SIGNAL] = { 0 };
widget_class->realize = gtk_icon_view_realize;
widget_class->unrealize = gtk_icon_view_unrealize;
widget_class->style_updated = gtk_icon_view_style_updated;
- widget_class->get_accessible = gtk_icon_view_get_accessible;
widget_class->get_preferred_width = gtk_icon_view_get_preferred_width;
widget_class->get_preferred_height = gtk_icon_view_get_preferred_height;
widget_class->size_allocate = gtk_icon_view_size_allocate;
GTK_MOVEMENT_VISUAL_POSITIONS, 1);
gtk_icon_view_add_move_binding (binding_set, GDK_KEY_KP_Left, 0,
GTK_MOVEMENT_VISUAL_POSITIONS, -1);
+
+ gtk_widget_class_set_accessible_type (widget_class, _gtk_icon_view_accessible_get_type ());
}
static void
flags |= GTK_CELL_RENDERER_SELECTED;
gtk_style_context_set_state (style_context, state);
+
gtk_render_background (style_context, cr,
x - icon_view->priv->item_padding,
y - icon_view->priv->item_padding,
item->cell_area.width + icon_view->priv->item_padding * 2,
item->cell_area.height + icon_view->priv->item_padding * 2);
+ gtk_render_frame (style_context, cr,
+ x - icon_view->priv->item_padding,
+ y - icon_view->priv->item_padding,
+ item->cell_area.width + icon_view->priv->item_padding * 2,
+ item->cell_area.height + icon_view->priv->item_padding * 2);
}
cell_area.x = x;
g_object_notify (G_OBJECT (icon_view), "reorderable");
}
+static gboolean
+gtk_icon_view_buildable_custom_tag_start (GtkBuildable *buildable,
+ GtkBuilder *builder,
+ GObject *child,
+ const gchar *tagname,
+ GMarkupParser *parser,
+ gpointer *data)
+{
+ if (parent_buildable_iface->custom_tag_start (buildable, builder, child,
+ tagname, parser, data))
+ return TRUE;
-/* Accessibility Support */
+ return _gtk_cell_layout_buildable_custom_tag_start (buildable, builder, child,
+ tagname, parser, data);
+}
-static gpointer accessible_parent_class;
-static gpointer accessible_item_parent_class;
-static GQuark accessible_private_data_quark = 0;
+static void
+gtk_icon_view_buildable_custom_tag_end (GtkBuildable *buildable,
+ GtkBuilder *builder,
+ GObject *child,
+ const gchar *tagname,
+ gpointer *data)
+{
+ if (!_gtk_cell_layout_buildable_custom_tag_end (buildable, builder,
+ child, tagname, data))
+ parent_buildable_iface->custom_tag_end (buildable, builder,
+ child, tagname, data);
+}
+
+/* Accessibility Support */
-#define GTK_TYPE_ICON_VIEW_ITEM_ACCESSIBLE (gtk_icon_view_item_accessible_get_type ())
+#define GTK_TYPE_ICON_VIEW_ITEM_ACCESSIBLE (_gtk_icon_view_item_accessible_get_type ())
#define GTK_ICON_VIEW_ITEM_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ICON_VIEW_ITEM_ACCESSIBLE, GtkIconViewItemAccessible))
#define GTK_IS_ICON_VIEW_ITEM_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ICON_VIEW_ITEM_ACCESSIBLE))
-static GType gtk_icon_view_item_accessible_get_type (void);
-
-enum {
- ACTION_ACTIVATE,
- LAST_ACTION
-};
-
typedef struct
{
AtkObject parent;
GtkIconViewItem *item;
-
GtkWidget *widget;
-
AtkStateSet *state_set;
-
gchar *text;
-
- GtkTextBuffer *text_buffer;
-
- gchar *action_descriptions[LAST_ACTION];
+ gchar *action_description;
gchar *image_description;
guint action_idle_handler;
} GtkIconViewItemAccessible;
-static const gchar *const gtk_icon_view_item_accessible_action_names[] =
-{
- "activate",
- NULL
-};
-
-static const gchar *const gtk_icon_view_item_accessible_action_descriptions[] =
-{
- "Activate item",
- NULL
-};
-typedef struct _GtkIconViewItemAccessibleClass
+typedef struct
{
AtkObjectClass parent_class;
static gboolean gtk_icon_view_item_accessible_is_showing (GtkIconViewItemAccessible *item);
+static void atk_component_item_interface_init (AtkComponentIface *iface);
+static void atk_action_item_interface_init (AtkActionIface *iface);
+static void atk_text_item_interface_init (AtkTextIface *iface);
+static void atk_image_item_interface_init (AtkImageIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GtkIconViewItemAccessible, _gtk_icon_view_item_accessible, ATK_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_item_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_item_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_item_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_item_interface_init))
+
+
static gboolean
-gtk_icon_view_item_accessible_idle_do_action (gpointer data)
+idle_do_action (gpointer data)
{
GtkIconViewItemAccessible *item;
GtkIconView *icon_view;
}
static gboolean
-gtk_icon_view_item_accessible_action_do_action (AtkAction *action,
- gint i)
+gtk_icon_view_item_accessible_do_action (AtkAction *action,
+ gint i)
{
GtkIconViewItemAccessible *item;
- if (i < 0 || i >= LAST_ACTION)
+ if (i != 0)
return FALSE;
item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (action);
if (atk_state_set_contains_state (item->state_set, ATK_STATE_DEFUNCT))
return FALSE;
- switch (i)
- {
- case ACTION_ACTIVATE:
- if (!item->action_idle_handler)
- item->action_idle_handler = gdk_threads_add_idle (gtk_icon_view_item_accessible_idle_do_action, item);
- break;
- default:
- g_assert_not_reached ();
- return FALSE;
+ if (!item->action_idle_handler)
+ item->action_idle_handler = gdk_threads_add_idle (idle_do_action, item);
- }
return TRUE;
}
static gint
-gtk_icon_view_item_accessible_action_get_n_actions (AtkAction *action)
+gtk_icon_view_item_accessible_get_n_actions (AtkAction *action)
{
- return LAST_ACTION;
+ return 1;
}
static const gchar *
-gtk_icon_view_item_accessible_action_get_description (AtkAction *action,
- gint i)
+gtk_icon_view_item_accessible_get_description (AtkAction *action,
+ gint i)
{
GtkIconViewItemAccessible *item;
- if (i < 0 || i >= LAST_ACTION)
+ if (i != 0)
return NULL;
item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (action);
- if (item->action_descriptions[i])
- return item->action_descriptions[i];
+ if (item->action_description)
+ return item->action_description;
else
- return gtk_icon_view_item_accessible_action_descriptions[i];
+ return "Activate item";
}
static const gchar *
-gtk_icon_view_item_accessible_action_get_name (AtkAction *action,
- gint i)
+gtk_icon_view_item_accessible_get_name (AtkAction *action,
+ gint i)
{
- if (i < 0 || i >= LAST_ACTION)
+ if (i != 0)
return NULL;
- return gtk_icon_view_item_accessible_action_names[i];
+ return "activate";
}
static gboolean
-gtk_icon_view_item_accessible_action_set_description (AtkAction *action,
- gint i,
- const gchar *description)
+gtk_icon_view_item_accessible_set_description (AtkAction *action,
+ gint i,
+ const gchar *description)
{
GtkIconViewItemAccessible *item;
- if (i < 0 || i >= LAST_ACTION)
+ if (i != 0)
return FALSE;
item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (action);
- g_free (item->action_descriptions[i]);
-
- item->action_descriptions[i] = g_strdup (description);
+ g_free (item->action_description);
+ item->action_description = g_strdup (description);
return TRUE;
}
static void
atk_action_item_interface_init (AtkActionIface *iface)
{
- iface->do_action = gtk_icon_view_item_accessible_action_do_action;
- iface->get_n_actions = gtk_icon_view_item_accessible_action_get_n_actions;
- iface->get_description = gtk_icon_view_item_accessible_action_get_description;
- iface->get_name = gtk_icon_view_item_accessible_action_get_name;
- iface->set_description = gtk_icon_view_item_accessible_action_set_description;
+ iface->do_action = gtk_icon_view_item_accessible_do_action;
+ iface->set_description = gtk_icon_view_item_accessible_set_description;
+ iface->get_name = gtk_icon_view_item_accessible_get_name;
+ iface->get_n_actions = gtk_icon_view_item_accessible_get_n_actions;
+ iface->get_description = gtk_icon_view_item_accessible_get_description;
}
static const gchar *
-gtk_icon_view_item_accessible_image_get_image_description (AtkImage *image)
+gtk_icon_view_item_accessible_get_image_description (AtkImage *image)
{
GtkIconViewItemAccessible *item;
}
static gboolean
-gtk_icon_view_item_accessible_image_set_image_description (AtkImage *image,
- const gchar *description)
+gtk_icon_view_item_accessible_set_image_description (AtkImage *image,
+ const gchar *description)
{
GtkIconViewItemAccessible *item;
gboolean pixbuf_found;
} GetPixbufBoxData;
-static gboolean
+static gboolean
get_pixbuf_foreach (GtkCellRenderer *renderer,
- const GdkRectangle *cell_area,
- const GdkRectangle *cell_background,
- GetPixbufBoxData *data)
+ const GdkRectangle *cell_area,
+ const GdkRectangle *cell_background,
+ GetPixbufBoxData *data)
{
if (GTK_IS_CELL_RENDERER_PIXBUF (renderer))
{
static gboolean
get_pixbuf_box (GtkIconView *icon_view,
- GtkIconViewItem *item,
- GdkRectangle *box)
+ GtkIconViewItem *item,
+ GdkRectangle *box)
{
GetPixbufBoxData data = { { 0, }, FALSE };
GtkCellAreaContext *context;
gtk_icon_view_set_cell_data (icon_view, item);
gtk_cell_area_foreach_alloc (icon_view->priv->cell_area, context,
- GTK_WIDGET (icon_view),
- (GdkRectangle *)item, (GdkRectangle *)item,
- (GtkCellAllocCallback)get_pixbuf_foreach, &data);
+ GTK_WIDGET (icon_view),
+ (GdkRectangle *)item, (GdkRectangle *)item,
+ (GtkCellAllocCallback)get_pixbuf_foreach, &data);
return data.pixbuf_found;
}
-static gboolean
-get_text_foreach (GtkCellRenderer *renderer,
- gchar **text)
+static gboolean
+get_text_foreach (GtkCellRenderer *renderer,
+ gchar **text)
{
if (GTK_IS_CELL_RENDERER_TEXT (renderer))
{
g_object_get (renderer, "text", text, NULL);
-
return TRUE;
}
return FALSE;
static gchar *
get_text (GtkIconView *icon_view,
- GtkIconViewItem *item)
+ GtkIconViewItem *item)
{
gchar *text = NULL;
gtk_icon_view_set_cell_data (icon_view, item);
gtk_cell_area_foreach (icon_view->priv->cell_area,
- (GtkCellCallback)get_text_foreach, &text);
+ (GtkCellCallback)get_text_foreach, &text);
return text;
}
static void
-gtk_icon_view_item_accessible_image_get_image_size (AtkImage *image,
- gint *width,
- gint *height)
+gtk_icon_view_item_accessible_get_image_size (AtkImage *image,
+ gint *width,
+ gint *height)
{
GtkIconViewItemAccessible *item;
GdkRectangle box;
if (get_pixbuf_box (GTK_ICON_VIEW (item->widget), item->item, &box))
{
*width = box.width;
- *height = box.height;
+ *height = box.height;
}
}
static void
-gtk_icon_view_item_accessible_image_get_image_position (AtkImage *image,
- gint *x,
- gint *y,
- AtkCoordType coord_type)
+gtk_icon_view_item_accessible_get_image_position (AtkImage *image,
+ gint *x,
+ gint *y,
+ AtkCoordType coord_type)
{
GtkIconViewItemAccessible *item;
GdkRectangle box;
static void
atk_image_item_interface_init (AtkImageIface *iface)
{
- iface->get_image_description = gtk_icon_view_item_accessible_image_get_image_description;
- iface->set_image_description = gtk_icon_view_item_accessible_image_set_image_description;
- iface->get_image_size = gtk_icon_view_item_accessible_image_get_image_size;
- iface->get_image_position = gtk_icon_view_item_accessible_image_get_image_position;
+ iface->get_image_description = gtk_icon_view_item_accessible_get_image_description;
+ iface->set_image_description = gtk_icon_view_item_accessible_set_image_description;
+ iface->get_image_size = gtk_icon_view_item_accessible_get_image_size;
+ iface->get_image_position = gtk_icon_view_item_accessible_get_image_position;
}
static gchar *
-gtk_icon_view_item_accessible_text_get_text (AtkText *text,
- gint start_pos,
- gint end_pos)
+gtk_icon_view_item_accessible_get_text (AtkText *text,
+ gint start_pos,
+ gint end_pos)
{
GtkIconViewItemAccessible *item;
- GtkTextIter start, end;
- GtkTextBuffer *buffer;
item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (text);
-
- if (!GTK_IS_ICON_VIEW (item->widget))
- return NULL;
-
if (atk_state_set_contains_state (item->state_set, ATK_STATE_DEFUNCT))
return NULL;
- buffer = item->text_buffer;
- gtk_text_buffer_get_iter_at_offset (buffer, &start, start_pos);
- if (end_pos < 0)
- gtk_text_buffer_get_end_iter (buffer, &end);
+ if (item->text)
+ return g_utf8_substring (item->text, start_pos, end_pos > -1 ? end_pos : g_utf8_strlen (item->text, -1));
else
- gtk_text_buffer_get_iter_at_offset (buffer, &end, end_pos);
-
- return gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+ return g_strdup ("");
}
static gunichar
-gtk_icon_view_item_accessible_text_get_character_at_offset (AtkText *text,
- gint offset)
+gtk_icon_view_item_accessible_get_character_at_offset (AtkText *text,
+ gint offset)
{
GtkIconViewItemAccessible *item;
- GtkTextIter start, end;
- GtkTextBuffer *buffer;
gchar *string;
- gunichar unichar;
+ gchar *index;
item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (text);
-
- if (!GTK_IS_ICON_VIEW (item->widget))
+ if (atk_state_set_contains_state (item->state_set, ATK_STATE_DEFUNCT))
return '\0';
- if (atk_state_set_contains_state (item->state_set, ATK_STATE_DEFUNCT))
+ string = item->text;
+
+ if (!string)
return '\0';
- buffer = item->text_buffer;
- if (offset >= gtk_text_buffer_get_char_count (buffer))
+ if (offset >= g_utf8_strlen (string, -1))
return '\0';
- gtk_text_buffer_get_iter_at_offset (buffer, &start, offset);
- end = start;
- gtk_text_iter_forward_char (&end);
- string = gtk_text_buffer_get_slice (buffer, &start, &end, FALSE);
- unichar = g_utf8_get_char (string);
- g_free(string);
+ index = g_utf8_offset_to_pointer (string, offset);
- return unichar;
+ return g_utf8_get_char (index);
}
-#if 0
-static void
-get_pango_text_offsets (PangoLayout *layout,
- GtkTextBuffer *buffer,
- gint function,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset,
- GtkTextIter *start_iter,
- GtkTextIter *end_iter)
-{
- PangoLayoutIter *iter;
- PangoLayoutLine *line, *prev_line = NULL, *prev_prev_line = NULL;
- gint index, start_index, end_index;
- const gchar *text;
- gboolean found = FALSE;
-
- text = pango_layout_get_text (layout);
- index = g_utf8_offset_to_pointer (text, offset) - text;
- iter = pango_layout_get_iter (layout);
- do
- {
- line = pango_layout_iter_get_line_readonly (iter);
- start_index = line->start_index;
- end_index = start_index + line->length;
+static PangoLayout *
+create_pango_layout (GtkIconViewItemAccessible *item)
+{
+ PangoLayout *layout;
- if (index >= start_index && index <= end_index)
- {
- /*
- * Found line for offset
- */
- switch (function)
- {
- case 0:
- /*
- * We want the previous line
- */
- if (prev_line)
- {
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_LINE_START:
- end_index = start_index;
- start_index = prev_line->start_index;
- break;
- case ATK_TEXT_BOUNDARY_LINE_END:
- if (prev_prev_line)
- start_index = prev_prev_line->start_index +
- prev_prev_line->length;
- end_index = prev_line->start_index + prev_line->length;
- break;
- default:
- g_assert_not_reached();
- }
- }
- else
- start_index = end_index = 0;
- break;
- case 1:
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_LINE_START:
- if (pango_layout_iter_next_line (iter))
- end_index = pango_layout_iter_get_line_readonly (iter)->start_index;
- break;
- case ATK_TEXT_BOUNDARY_LINE_END:
- if (prev_line)
- start_index = prev_line->start_index +
- prev_line->length;
- break;
- default:
- g_assert_not_reached();
- }
- break;
- case 2:
- /*
- * We want the next line
- */
- if (pango_layout_iter_next_line (iter))
- {
- line = pango_layout_iter_get_line_readonly (iter);
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_LINE_START:
- start_index = line->start_index;
- if (pango_layout_iter_next_line (iter))
- end_index = pango_layout_iter_get_line_readonly (iter)->start_index;
- else
- end_index = start_index + line->length;
- break;
- case ATK_TEXT_BOUNDARY_LINE_END:
- start_index = end_index;
- end_index = line->start_index + line->length;
- break;
- default:
- g_assert_not_reached();
- }
- }
- else
- start_index = end_index;
- break;
- }
- found = TRUE;
- break;
- }
- prev_prev_line = prev_line;
- prev_line = line;
- }
- while (pango_layout_iter_next_line (iter));
+ layout = gtk_widget_create_pango_layout (item->widget, item->text);
- if (!found)
- {
- start_index = prev_line->start_index + prev_line->length;
- end_index = start_index;
- }
- pango_layout_iter_free (iter);
- *start_offset = g_utf8_pointer_to_offset (text, text + start_index);
- *end_offset = g_utf8_pointer_to_offset (text, text + end_index);
-
- gtk_text_buffer_get_iter_at_offset (buffer, start_iter, *start_offset);
- gtk_text_buffer_get_iter_at_offset (buffer, end_iter, *end_offset);
+ return layout;
}
-#endif
-static gchar*
-gtk_icon_view_item_accessible_text_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
+static gchar *
+gtk_icon_view_item_accessible_get_text_before_offset (AtkText *atk_text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
{
GtkIconViewItemAccessible *item;
- GtkTextIter start, end;
- GtkTextBuffer *buffer;
-#if 0
- GtkIconView *icon_view;
-#endif
-
- item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (text);
-
- if (!GTK_IS_ICON_VIEW (item->widget))
- return NULL;
+ PangoLayout *layout;
+ gchar *text;
+ item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (atk_text);
if (atk_state_set_contains_state (item->state_set, ATK_STATE_DEFUNCT))
return NULL;
- buffer = item->text_buffer;
-
- if (!gtk_text_buffer_get_char_count (buffer))
- {
- *start_offset = 0;
- *end_offset = 0;
- return g_strdup ("");
- }
- gtk_text_buffer_get_iter_at_offset (buffer, &start, offset);
-
- end = start;
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- gtk_text_iter_backward_char(&start);
- break;
- case ATK_TEXT_BOUNDARY_WORD_START:
- if (!gtk_text_iter_starts_word (&start))
- gtk_text_iter_backward_word_start (&start);
- end = start;
- gtk_text_iter_backward_word_start(&start);
- break;
- case ATK_TEXT_BOUNDARY_WORD_END:
- if (gtk_text_iter_inside_word (&start) &&
- !gtk_text_iter_starts_word (&start))
- gtk_text_iter_backward_word_start (&start);
- while (!gtk_text_iter_ends_word (&start))
- {
- if (!gtk_text_iter_backward_char (&start))
- break;
- }
- end = start;
- gtk_text_iter_backward_word_start(&start);
- while (!gtk_text_iter_ends_word (&start))
- {
- if (!gtk_text_iter_backward_char (&start))
- break;
- }
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- if (!gtk_text_iter_starts_sentence (&start))
- gtk_text_iter_backward_sentence_start (&start);
- end = start;
- gtk_text_iter_backward_sentence_start (&start);
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- if (gtk_text_iter_inside_sentence (&start) &&
- !gtk_text_iter_starts_sentence (&start))
- gtk_text_iter_backward_sentence_start (&start);
- while (!gtk_text_iter_ends_sentence (&start))
- {
- if (!gtk_text_iter_backward_char (&start))
- break;
- }
- end = start;
- gtk_text_iter_backward_sentence_start (&start);
- while (!gtk_text_iter_ends_sentence (&start))
- {
- if (!gtk_text_iter_backward_char (&start))
- break;
- }
- break;
- case ATK_TEXT_BOUNDARY_LINE_START:
- case ATK_TEXT_BOUNDARY_LINE_END:
-#if 0
- icon_view = GTK_ICON_VIEW (item->widget);
- /* FIXME we probably have to use GailTextCell to salvage this */
- gtk_icon_view_update_item_text (icon_view, item->item);
- get_pango_text_offsets (icon_view->priv->layout,
- buffer,
- 0,
- boundary_type,
- offset,
- start_offset,
- end_offset,
- &start,
- &end);
-#endif
- break;
- }
-
- *start_offset = gtk_text_iter_get_offset (&start);
- *end_offset = gtk_text_iter_get_offset (&end);
+ layout = create_pango_layout (item);
+ text = _gtk_pango_get_text_before (layout, boundary_type, offset, start_offset, end_offset);
+ g_object_unref (layout);
- return gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+ return text;
}
-static gchar*
-gtk_icon_view_item_accessible_text_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
+static gchar *
+gtk_icon_view_item_accessible_get_text_at_offset (AtkText *atk_text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
{
GtkIconViewItemAccessible *item;
- GtkTextIter start, end;
- GtkTextBuffer *buffer;
-#if 0
- GtkIconView *icon_view;
-#endif
-
- item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (text);
-
- if (!GTK_IS_ICON_VIEW (item->widget))
- return NULL;
+ PangoLayout *layout;
+ gchar *text;
+ item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (atk_text);
if (atk_state_set_contains_state (item->state_set, ATK_STATE_DEFUNCT))
return NULL;
- buffer = item->text_buffer;
+ layout = create_pango_layout (item);
+ text = _gtk_pango_get_text_at (layout, boundary_type, offset, start_offset, end_offset);
+ g_object_unref (layout);
- if (!gtk_text_buffer_get_char_count (buffer))
- {
- *start_offset = 0;
- *end_offset = 0;
- return g_strdup ("");
- }
- gtk_text_buffer_get_iter_at_offset (buffer, &start, offset);
-
- end = start;
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- gtk_text_iter_forward_char (&end);
- break;
- case ATK_TEXT_BOUNDARY_WORD_START:
- if (!gtk_text_iter_starts_word (&start))
- gtk_text_iter_backward_word_start (&start);
- if (gtk_text_iter_inside_word (&end))
- gtk_text_iter_forward_word_end (&end);
- while (!gtk_text_iter_starts_word (&end))
- {
- if (!gtk_text_iter_forward_char (&end))
- break;
- }
- break;
- case ATK_TEXT_BOUNDARY_WORD_END:
- if (gtk_text_iter_inside_word (&start) &&
- !gtk_text_iter_starts_word (&start))
- gtk_text_iter_backward_word_start (&start);
- while (!gtk_text_iter_ends_word (&start))
- {
- if (!gtk_text_iter_backward_char (&start))
- break;
- }
- gtk_text_iter_forward_word_end (&end);
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- if (!gtk_text_iter_starts_sentence (&start))
- gtk_text_iter_backward_sentence_start (&start);
- if (gtk_text_iter_inside_sentence (&end))
- gtk_text_iter_forward_sentence_end (&end);
- while (!gtk_text_iter_starts_sentence (&end))
- {
- if (!gtk_text_iter_forward_char (&end))
- break;
- }
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- if (gtk_text_iter_inside_sentence (&start) &&
- !gtk_text_iter_starts_sentence (&start))
- gtk_text_iter_backward_sentence_start (&start);
- while (!gtk_text_iter_ends_sentence (&start))
- {
- if (!gtk_text_iter_backward_char (&start))
- break;
- }
- gtk_text_iter_forward_sentence_end (&end);
- break;
- case ATK_TEXT_BOUNDARY_LINE_START:
- case ATK_TEXT_BOUNDARY_LINE_END:
-#if 0
- icon_view = GTK_ICON_VIEW (item->widget);
- /* FIXME we probably have to use GailTextCell to salvage this */
- gtk_icon_view_update_item_text (icon_view, item->item);
- get_pango_text_offsets (icon_view->priv->layout,
- buffer,
- 1,
- boundary_type,
- offset,
- start_offset,
- end_offset,
- &start,
- &end);
-#endif
- break;
- }
-
-
- *start_offset = gtk_text_iter_get_offset (&start);
- *end_offset = gtk_text_iter_get_offset (&end);
-
- return gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+ return text;
}
-static gchar*
-gtk_icon_view_item_accessible_text_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
+static gchar *
+gtk_icon_view_item_accessible_get_text_after_offset (AtkText *atk_text,
+ gint offset,
+ AtkTextBoundary boundary_type,
+ gint *start_offset,
+ gint *end_offset)
{
GtkIconViewItemAccessible *item;
- GtkTextIter start, end;
- GtkTextBuffer *buffer;
-#if 0
- GtkIconView *icon_view;
-#endif
-
- item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (text);
-
- if (!GTK_IS_ICON_VIEW (item->widget))
- return NULL;
+ PangoLayout *layout;
+ gchar *text;
+ item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (atk_text);
if (atk_state_set_contains_state (item->state_set, ATK_STATE_DEFUNCT))
return NULL;
- buffer = item->text_buffer;
+ layout = create_pango_layout (item);
+ text = _gtk_pango_get_text_after (layout, boundary_type, offset, start_offset, end_offset);
+ g_object_unref (layout);
- if (!gtk_text_buffer_get_char_count (buffer))
- {
- *start_offset = 0;
- *end_offset = 0;
- return g_strdup ("");
- }
- gtk_text_buffer_get_iter_at_offset (buffer, &start, offset);
-
- end = start;
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- gtk_text_iter_forward_char(&start);
- gtk_text_iter_forward_chars(&end, 2);
- break;
- case ATK_TEXT_BOUNDARY_WORD_START:
- if (gtk_text_iter_inside_word (&end))
- gtk_text_iter_forward_word_end (&end);
- while (!gtk_text_iter_starts_word (&end))
- {
- if (!gtk_text_iter_forward_char (&end))
- break;
- }
- start = end;
- if (!gtk_text_iter_is_end (&end))
- {
- gtk_text_iter_forward_word_end (&end);
- while (!gtk_text_iter_starts_word (&end))
- {
- if (!gtk_text_iter_forward_char (&end))
- break;
- }
- }
- break;
- case ATK_TEXT_BOUNDARY_WORD_END:
- gtk_text_iter_forward_word_end (&end);
- start = end;
- if (!gtk_text_iter_is_end (&end))
- gtk_text_iter_forward_word_end (&end);
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- if (gtk_text_iter_inside_sentence (&end))
- gtk_text_iter_forward_sentence_end (&end);
- while (!gtk_text_iter_starts_sentence (&end))
- {
- if (!gtk_text_iter_forward_char (&end))
- break;
- }
- start = end;
- if (!gtk_text_iter_is_end (&end))
- {
- gtk_text_iter_forward_sentence_end (&end);
- while (!gtk_text_iter_starts_sentence (&end))
- {
- if (!gtk_text_iter_forward_char (&end))
- break;
- }
- }
- break;
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- gtk_text_iter_forward_sentence_end (&end);
- start = end;
- if (!gtk_text_iter_is_end (&end))
- gtk_text_iter_forward_sentence_end (&end);
- break;
- case ATK_TEXT_BOUNDARY_LINE_START:
- case ATK_TEXT_BOUNDARY_LINE_END:
-#if 0
- icon_view = GTK_ICON_VIEW (item->widget);
- /* FIXME we probably have to use GailTextCell to salvage this */
- gtk_icon_view_update_item_text (icon_view, item->item);
- get_pango_text_offsets (icon_view->priv->layout,
- buffer,
- 2,
- boundary_type,
- offset,
- start_offset,
- end_offset,
- &start,
- &end);
-#endif
- break;
- }
- *start_offset = gtk_text_iter_get_offset (&start);
- *end_offset = gtk_text_iter_get_offset (&end);
-
- return gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+ return text;
}
static gint
-gtk_icon_view_item_accessible_text_get_character_count (AtkText *text)
+gtk_icon_view_item_accessible_get_character_count (AtkText *text)
{
GtkIconViewItemAccessible *item;
item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (text);
-
- if (!GTK_IS_ICON_VIEW (item->widget))
- return 0;
-
if (atk_state_set_contains_state (item->state_set, ATK_STATE_DEFUNCT))
return 0;
- return gtk_text_buffer_get_char_count (item->text_buffer);
+ if (item->text)
+ return g_utf8_strlen (item->text, -1);
+ else
+ return 0;
}
static void
-gtk_icon_view_item_accessible_text_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
+gtk_icon_view_item_accessible_get_character_extents (AtkText *text,
+ gint offset,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ AtkCoordType coord_type)
{
GtkIconViewItemAccessible *item;
#if 0
}
static gint
-gtk_icon_view_item_accessible_text_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coord_type)
+gtk_icon_view_item_accessible_get_offset_at_point (AtkText *text,
+ gint x,
+ gint y,
+ AtkCoordType coord_type)
{
GtkIconViewItemAccessible *item;
gint offset = 0;
static void
atk_text_item_interface_init (AtkTextIface *iface)
{
- iface->get_text = gtk_icon_view_item_accessible_text_get_text;
- iface->get_character_at_offset = gtk_icon_view_item_accessible_text_get_character_at_offset;
- iface->get_text_before_offset = gtk_icon_view_item_accessible_text_get_text_before_offset;
- iface->get_text_at_offset = gtk_icon_view_item_accessible_text_get_text_at_offset;
- iface->get_text_after_offset = gtk_icon_view_item_accessible_text_get_text_after_offset;
- iface->get_character_count = gtk_icon_view_item_accessible_text_get_character_count;
- iface->get_character_extents = gtk_icon_view_item_accessible_text_get_character_extents;
- iface->get_offset_at_point = gtk_icon_view_item_accessible_text_get_offset_at_point;
+ iface->get_text = gtk_icon_view_item_accessible_get_text;
+ iface->get_character_at_offset = gtk_icon_view_item_accessible_get_character_at_offset;
+ iface->get_text_before_offset = gtk_icon_view_item_accessible_get_text_before_offset;
+ iface->get_text_at_offset = gtk_icon_view_item_accessible_get_text_at_offset;
+ iface->get_text_after_offset = gtk_icon_view_item_accessible_get_text_after_offset;
+ iface->get_character_count = gtk_icon_view_item_accessible_get_character_count;
+ iface->get_character_extents = gtk_icon_view_item_accessible_get_character_extents;
+ iface->get_offset_at_point = gtk_icon_view_item_accessible_get_offset_at_point;
}
static void
gboolean rc;
rc = atk_state_set_add_state (item->state_set, state_type);
- /*
- * The signal should only be generated if the value changed,
- * not when the item is set up. So states that are set
+
+ /* The signal should only be generated if the value changed,
+ * not when the item is set up. So states that are set
* initially should pass FALSE as the emit_signal argument.
*/
-
if (emit_signal)
{
atk_object_notify_state_change (ATK_OBJECT (item), state_type, TRUE);
gboolean rc;
rc = atk_state_set_remove_state (item->state_set, state_type);
- /*
- * The signal should only be generated if the value changed,
- * not when the item is set up. So states that are set
+
+ /* The signal should only be generated if the value changed,
+ * not when the item is set up. So states that are set
* initially should pass FALSE as the emit_signal argument.
*/
-
if (emit_signal)
{
atk_object_notify_state_change (ATK_OBJECT (item), state_type, FALSE);
GdkRectangle visible_rect;
gboolean is_showing;
- /*
- * An item is considered "SHOWING" if any part of the item is in the
- * visible rectangle.
+ /* An item is considered "SHOWING" if any part of the item
+ * is in the visible rectangle.
*/
-
if (!GTK_IS_ICON_VIEW (item->widget))
return FALSE;
((item->item->cell_area.y + item->item->cell_area.height) < (visible_rect.y)) ||
(item->item->cell_area.x > (visible_rect.x + visible_rect.width)) ||
(item->item->cell_area.y > (visible_rect.y + visible_rect.height)))
- is_showing = FALSE;
+ is_showing = FALSE;
else
is_showing = TRUE;
{
if (gtk_icon_view_item_accessible_is_showing (item))
return gtk_icon_view_item_accessible_add_state (item, ATK_STATE_SHOWING,
- emit_signal);
+ emit_signal);
else
return gtk_icon_view_item_accessible_remove_state (item, ATK_STATE_SHOWING,
- emit_signal);
+ emit_signal);
}
static void
-gtk_icon_view_item_accessible_object_init (GtkIconViewItemAccessible *item)
+_gtk_icon_view_item_accessible_init (GtkIconViewItemAccessible *item)
{
- gint i;
-
item->state_set = atk_state_set_new ();
atk_state_set_add_state (item->state_set, ATK_STATE_ENABLED);
atk_state_set_add_state (item->state_set, ATK_STATE_SELECTABLE);
atk_state_set_add_state (item->state_set, ATK_STATE_VISIBLE);
- for (i = 0; i < LAST_ACTION; i++)
- item->action_descriptions[i] = NULL;
-
+ item->action_description = NULL;
item->image_description = NULL;
item->action_idle_handler = 0;
gtk_icon_view_item_accessible_finalize (GObject *object)
{
GtkIconViewItemAccessible *item;
- gint i;
-
- g_return_if_fail (GTK_IS_ICON_VIEW_ITEM_ACCESSIBLE (object));
item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (object);
if (item->state_set)
g_object_unref (item->state_set);
- if (item->text_buffer)
- g_object_unref (item->text_buffer);
-
- for (i = 0; i < LAST_ACTION; i++)
- g_free (item->action_descriptions[i]);
+ g_free (item->text);
+ g_free (item->action_description);
g_free (item->image_description);
if (item->action_idle_handler)
item->action_idle_handler = 0;
}
- G_OBJECT_CLASS (accessible_item_parent_class)->finalize (object);
+ G_OBJECT_CLASS (_gtk_icon_view_item_accessible_parent_class)->finalize (object);
}
static AtkObject*
g_return_val_if_fail (GTK_IS_ICON_VIEW_ITEM_ACCESSIBLE (obj), 0);
item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (obj);
- return item->item->index;
+ return item->item->index;
}
static AtkStateSet *
}
static void
-gtk_icon_view_item_accessible_class_init (AtkObjectClass *klass)
+_gtk_icon_view_item_accessible_class_init (GtkIconViewItemAccessibleClass *klass)
{
GObjectClass *gobject_class;
-
- accessible_item_parent_class = g_type_class_peek_parent (klass);
+ AtkObjectClass *atk_class;
gobject_class = (GObjectClass *)klass;
+ atk_class = (AtkObjectClass *)klass;
gobject_class->finalize = gtk_icon_view_item_accessible_finalize;
- klass->get_index_in_parent = gtk_icon_view_item_accessible_get_index_in_parent;
- klass->get_parent = gtk_icon_view_item_accessible_get_parent;
- klass->ref_state_set = gtk_icon_view_item_accessible_ref_state_set;
-}
-
-static GType
-gtk_icon_view_item_accessible_get_type (void)
-{
- static GType type = 0;
-
- if (!type)
- {
- const GTypeInfo tinfo =
- {
- sizeof (GtkIconViewItemAccessibleClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) gtk_icon_view_item_accessible_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (GtkIconViewItemAccessible), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) gtk_icon_view_item_accessible_object_init, /* instance init */
- NULL /* value table */
- };
-
- const GInterfaceInfo atk_component_info =
- {
- (GInterfaceInitFunc) atk_component_item_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
- const GInterfaceInfo atk_action_info =
- {
- (GInterfaceInitFunc) atk_action_item_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
- const GInterfaceInfo atk_image_info =
- {
- (GInterfaceInitFunc) atk_image_item_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
- const GInterfaceInfo atk_text_info =
- {
- (GInterfaceInitFunc) atk_text_item_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- type = g_type_register_static (ATK_TYPE_OBJECT,
- I_("GtkIconViewItemAccessible"), &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
- &atk_component_info);
- g_type_add_interface_static (type, ATK_TYPE_ACTION,
- &atk_action_info);
- g_type_add_interface_static (type, ATK_TYPE_IMAGE,
- &atk_image_info);
- g_type_add_interface_static (type, ATK_TYPE_TEXT,
- &atk_text_info);
- }
-
- return type;
-}
-
-#define GTK_TYPE_ICON_VIEW_ACCESSIBLE (gtk_icon_view_accessible_get_type ())
+ atk_class->get_index_in_parent = gtk_icon_view_item_accessible_get_index_in_parent;
+ atk_class->get_parent = gtk_icon_view_item_accessible_get_parent;
+ atk_class->ref_state_set = gtk_icon_view_item_accessible_ref_state_set;
+}
+
+#define GTK_TYPE_ICON_VIEW_ACCESSIBLE (_gtk_icon_view_accessible_get_type ())
#define GTK_ICON_VIEW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ICON_VIEW_ACCESSIBLE, GtkIconViewAccessible))
#define GTK_IS_ICON_VIEW_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ICON_VIEW_ACCESSIBLE))
-static GType gtk_icon_view_accessible_get_type (void);
-
-typedef struct
-{
- AtkObject parent;
-} GtkIconViewAccessible;
-
typedef struct
{
- AtkObject *item;
- gint index;
-} GtkIconViewItemAccessibleInfo;
+ GtkContainerAccessible parent;
-typedef struct
-{
GList *items;
-
GtkAdjustment *old_hadj;
GtkAdjustment *old_vadj;
-
GtkTreeModel *model;
+} GtkIconViewAccessible;
+
+typedef GtkContainerAccessibleClass GtkIconViewAccessibleClass;
+
+static void atk_component_interface_init (AtkComponentIface *iface);
+static void atk_selection_interface_init (AtkSelectionIface *iface);
-} GtkIconViewAccessiblePrivate;
+G_DEFINE_TYPE_WITH_CODE (GtkIconViewAccessible, _gtk_icon_view_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init)
+ G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
-static GtkIconViewAccessiblePrivate *
-gtk_icon_view_accessible_get_priv (AtkObject *accessible)
+typedef struct
{
- return g_object_get_qdata (G_OBJECT (accessible),
- accessible_private_data_quark);
-}
+ AtkObject *item;
+ gint index;
+} GtkIconViewItemAccessibleInfo;
+
static void
gtk_icon_view_item_accessible_info_new (AtkObject *accessible,
AtkObject *item,
gint index)
{
+ GtkIconViewAccessible *view = (GtkIconViewAccessible *)accessible;
GtkIconViewItemAccessibleInfo *info;
GtkIconViewItemAccessibleInfo *tmp_info;
- GtkIconViewAccessiblePrivate *priv;
GList *items;
info = g_new (GtkIconViewItemAccessibleInfo, 1);
info->item = item;
info->index = index;
- priv = gtk_icon_view_accessible_get_priv (accessible);
- items = priv->items;
+ items = view->items;
while (items)
{
tmp_info = items->data;
break;
items = items->next;
}
- priv->items = g_list_insert_before (priv->items, items, info);
- priv->old_hadj = NULL;
- priv->old_vadj = NULL;
+ view->items = g_list_insert_before (view->items, items, info);
+ view->old_hadj = NULL;
+ view->old_vadj = NULL;
}
static gint
gtk_icon_view_accessible_find_child (AtkObject *accessible,
gint index)
{
- GtkIconViewAccessiblePrivate *priv;
+ GtkIconViewAccessible *view = (GtkIconViewAccessible*)accessible;
GtkIconViewItemAccessibleInfo *info;
GList *items;
- priv = gtk_icon_view_accessible_get_priv (accessible);
- items = priv->items;
+ items = view->items;
while (items)
{
info = items->data;
if (info->index == index)
return info->item;
- items = items->next;
+ items = items->next;
}
+
return NULL;
}
if (icons)
{
GtkIconViewItem *item = icons->data;
-
+
g_return_val_if_fail (item->index == index, NULL);
obj = gtk_icon_view_accessible_find_child (accessible, index);
if (!obj)
{
- gchar *text;
-
- obj = g_object_new (gtk_icon_view_item_accessible_get_type (), NULL);
- gtk_icon_view_item_accessible_info_new (accessible,
- obj,
- index);
+ obj = g_object_new (GTK_TYPE_ICON_VIEW_ITEM_ACCESSIBLE, NULL);
+ gtk_icon_view_item_accessible_info_new (accessible, obj, index);
obj->role = ATK_ROLE_ICON;
a11y_item = GTK_ICON_VIEW_ITEM_ACCESSIBLE (obj);
a11y_item->item = item;
a11y_item->widget = widget;
- a11y_item->text_buffer = gtk_text_buffer_new (NULL);
- text = get_text (icon_view, item);
- if (text)
- {
- gtk_text_buffer_set_text (a11y_item->text_buffer, text, -1);
- g_free (text);
- }
+ g_free (a11y_item->text);
+ a11y_item->text = get_text (icon_view, item);
gtk_icon_view_item_accessible_set_visibility (a11y_item, FALSE);
g_object_add_weak_pointer (G_OBJECT (widget), (gpointer) &(a11y_item->widget));
gtk_icon_view_accessible_traverse_items (GtkIconViewAccessible *view,
GList *list)
{
- GtkIconViewAccessiblePrivate *priv;
GtkIconViewItemAccessibleInfo *info;
GtkIconViewItemAccessible *item;
GList *items;
-
- priv = gtk_icon_view_accessible_get_priv (ATK_OBJECT (view));
- if (priv->items)
+
+ if (view->items)
{
GtkWidget *widget;
gboolean act_on_item;
if (widget == NULL)
return;
- items = priv->items;
+ items = view->items;
act_on_item = (list == NULL);
act_on_item = TRUE;
if (act_on_item)
- gtk_icon_view_item_accessible_set_visibility (item, TRUE);
+ gtk_icon_view_item_accessible_set_visibility (item, TRUE);
items = items->next;
}
GtkOrientation orientation,
GtkAdjustment *adjustment)
{
- GtkIconViewAccessiblePrivate *priv;
+ GtkIconViewAccessible *view = (GtkIconViewAccessible*)accessible;
GtkAdjustment **old_adj_ptr;
- priv = gtk_icon_view_accessible_get_priv (accessible);
-
- /* Adjustments are set for the first time in constructor and priv is not
- * initialized at that time, so skip this first setting. */
- if (!priv)
- return;
-
if (orientation == GTK_ORIENTATION_HORIZONTAL)
{
- if (priv->old_hadj == adjustment)
+ if (view->old_hadj == adjustment)
return;
- old_adj_ptr = &priv->old_hadj;
+ old_adj_ptr = &view->old_hadj;
}
else
{
- if (priv->old_vadj == adjustment)
+ if (view->old_vadj == adjustment)
return;
- old_adj_ptr = &priv->old_vadj;
+ old_adj_ptr = &view->old_vadj;
}
/* Disconnect signal handlers */
if (*old_adj_ptr)
{
g_object_remove_weak_pointer (G_OBJECT (*old_adj_ptr),
- (gpointer *)&priv->old_hadj);
+ (gpointer *)&view->old_hadj);
g_signal_handlers_disconnect_by_func (*old_adj_ptr,
gtk_icon_view_accessible_adjustment_changed,
accessible);
GtkIconViewItem *item;
GtkIconViewItemAccessible *a11y_item;
const gchar *name;
- gchar *text;
atk_obj = gtk_widget_get_accessible (GTK_WIDGET (user_data));
index = gtk_tree_path_get_indices(path)[0];
item = a11y_item->item;
name = atk_object_get_name (ATK_OBJECT (a11y_item));
-
if (!name || strcmp (name, "") == 0)
{
- text = get_text (icon_view, item);
- if (text)
- {
- gtk_text_buffer_set_text (a11y_item->text_buffer, text, -1);
- g_free (text);
- }
+ g_free (a11y_item->text);
+ a11y_item->text = get_text (icon_view, item);
}
}
GtkTreeIter *iter,
gpointer user_data)
{
- GtkIconViewAccessiblePrivate *priv;
GtkIconViewItemAccessibleInfo *info;
GtkIconViewAccessible *view;
GtkIconViewItemAccessible *item;
index = gtk_tree_path_get_indices(path)[0];
atk_obj = gtk_widget_get_accessible (GTK_WIDGET (user_data));
view = GTK_ICON_VIEW_ACCESSIBLE (atk_obj);
- priv = gtk_icon_view_accessible_get_priv (atk_obj);
- items = priv->items;
+ items = view->items;
tmp_list = NULL;
while (items)
{
{
if (info->index < index)
g_warning ("Unexpected index value on insertion %d %d", index, info->index);
-
+
if (tmp_list == NULL)
tmp_list = items;
-
+
info->index = item->item->index;
}
GtkTreePath *path,
gpointer user_data)
{
- GtkIconViewAccessiblePrivate *priv;
GtkIconViewItemAccessibleInfo *info;
GtkIconViewAccessible *view;
GtkIconViewItemAccessible *item;
index = gtk_tree_path_get_indices(path)[0];
atk_obj = gtk_widget_get_accessible (GTK_WIDGET (user_data));
view = GTK_ICON_VIEW_ACCESSIBLE (atk_obj);
- priv = gtk_icon_view_accessible_get_priv (atk_obj);
- items = priv->items;
+ items = view->items;
tmp_list = NULL;
deleted_item = NULL;
info = NULL;
{
if (tmp_list == NULL)
tmp_list = items;
-
+
info->index = item->item->index;
}
gtk_icon_view_item_accessible_add_state (GTK_ICON_VIEW_ITEM_ACCESSIBLE (info->item), ATK_STATE_DEFUNCT, TRUE);
g_signal_emit_by_name (atk_obj, "children-changed::remove",
index, NULL, NULL);
- priv->items = g_list_remove_link (priv->items, deleted_item);
+ view->items = g_list_remove_link (view->items, deleted_item);
g_free (info);
}
gint *new_order,
gpointer user_data)
{
- GtkIconViewAccessiblePrivate *priv;
+ GtkIconViewAccessible *view;
GtkIconViewItemAccessibleInfo *info;
GtkIconView *icon_view;
GtkIconViewItemAccessible *item;
atk_obj = gtk_widget_get_accessible (GTK_WIDGET (user_data));
icon_view = GTK_ICON_VIEW (user_data);
- priv = gtk_icon_view_accessible_get_priv (atk_obj);
+ view = (GtkIconViewAccessible*)atk_obj;
length = gtk_tree_model_iter_n_children (tree_model, NULL);
for (i = 0; i < length; i++)
order [new_order[i]] = i;
- items = priv->items;
+ items = view->items;
while (items)
{
info = items->data;
items = items->next;
}
g_free (order);
- priv->items = g_list_sort (priv->items,
+ view->items = g_list_sort (view->items,
(GCompareFunc)gtk_icon_view_accessible_item_compare);
return;
(GCallback) gtk_icon_view_accessible_model_row_changed,
icon_view, NULL, 0);
g_signal_connect_data (obj, "row-inserted",
- (GCallback) gtk_icon_view_accessible_model_row_inserted,
+ (GCallback) gtk_icon_view_accessible_model_row_inserted,
icon_view, NULL, G_CONNECT_AFTER);
g_signal_connect_data (obj, "row-deleted",
- (GCallback) gtk_icon_view_accessible_model_row_deleted,
+ (GCallback) gtk_icon_view_accessible_model_row_deleted,
icon_view, NULL, G_CONNECT_AFTER);
g_signal_connect_data (obj, "rows-reordered",
- (GCallback) gtk_icon_view_accessible_model_rows_reordered,
+ (GCallback) gtk_icon_view_accessible_model_rows_reordered,
icon_view, NULL, G_CONNECT_AFTER);
}
static void
-gtk_icon_view_accessible_clear_cache (GtkIconViewAccessiblePrivate *priv)
+gtk_icon_view_accessible_clear_cache (GtkIconViewAccessible *view)
{
GtkIconViewItemAccessibleInfo *info;
GList *items;
- items = priv->items;
+ items = view->items;
while (items)
{
info = (GtkIconViewItemAccessibleInfo *) items->data;
g_free (items->data);
items = items->next;
}
- g_list_free (priv->items);
- priv->items = NULL;
+ g_list_free (view->items);
+ view->items = NULL;
}
static void
-gtk_icon_view_accessible_notify_gtk (GObject *obj,
+gtk_icon_view_accessible_notify_gtk (GObject *obj,
GParamSpec *pspec)
{
GtkIconView *icon_view;
GtkWidget *widget;
AtkObject *atk_obj;
- GtkIconViewAccessiblePrivate *priv;
+ GtkIconViewAccessible *view;
if (strcmp (pspec->name, "model") == 0)
{
- widget = GTK_WIDGET (obj);
+ widget = GTK_WIDGET (obj);
atk_obj = gtk_widget_get_accessible (widget);
- priv = gtk_icon_view_accessible_get_priv (atk_obj);
- if (priv->model)
+ view = (GtkIconViewAccessible*)atk_obj;
+ if (view->model)
{
- g_object_remove_weak_pointer (G_OBJECT (priv->model),
- (gpointer *)&priv->model);
- gtk_icon_view_accessible_disconnect_model_signals (priv->model, widget);
+ g_object_remove_weak_pointer (G_OBJECT (view->model),
+ (gpointer *)&view->model);
+ gtk_icon_view_accessible_disconnect_model_signals (view->model, widget);
}
- gtk_icon_view_accessible_clear_cache (priv);
+ gtk_icon_view_accessible_clear_cache (view);
icon_view = GTK_ICON_VIEW (obj);
- priv->model = icon_view->priv->model;
+ view->model = icon_view->priv->model;
/* If there is no model the GtkIconView is probably being destroyed */
- if (priv->model)
+ if (view->model)
{
- g_object_add_weak_pointer (G_OBJECT (priv->model), (gpointer *)&priv->model);
+ g_object_add_weak_pointer (G_OBJECT (view->model), (gpointer *)&view->model);
gtk_icon_view_accessible_connect_model_signals (icon_view);
}
}
gtk_icon_view_accessible_initialize (AtkObject *accessible,
gpointer data)
{
- GtkIconViewAccessiblePrivate *priv;
+ GtkIconViewAccessible *view;
GtkIconView *icon_view;
- if (ATK_OBJECT_CLASS (accessible_parent_class)->initialize)
- ATK_OBJECT_CLASS (accessible_parent_class)->initialize (accessible, data);
+ if (ATK_OBJECT_CLASS (_gtk_icon_view_accessible_parent_class)->initialize)
+ ATK_OBJECT_CLASS (_gtk_icon_view_accessible_parent_class)->initialize (accessible, data);
- priv = g_new0 (GtkIconViewAccessiblePrivate, 1);
- g_object_set_qdata (G_OBJECT (accessible),
- accessible_private_data_quark,
- priv);
+ icon_view = (GtkIconView*)data;
+ view = (GtkIconViewAccessible*)accessible;
- icon_view = GTK_ICON_VIEW (data);
if (icon_view->priv->hadjustment)
gtk_icon_view_accessible_set_adjustment (accessible,
- GTK_ORIENTATION_HORIZONTAL,
- icon_view->priv->hadjustment);
+ GTK_ORIENTATION_HORIZONTAL,
+ icon_view->priv->hadjustment);
if (icon_view->priv->vadjustment)
gtk_icon_view_accessible_set_adjustment (accessible,
- GTK_ORIENTATION_VERTICAL,
- icon_view->priv->vadjustment);
- g_signal_connect (data,
- "notify",
- G_CALLBACK (gtk_icon_view_accessible_notify_gtk),
- NULL);
+ GTK_ORIENTATION_VERTICAL,
+ icon_view->priv->vadjustment);
+ g_signal_connect (data, "notify",
+ G_CALLBACK (gtk_icon_view_accessible_notify_gtk), NULL);
- priv->model = icon_view->priv->model;
- if (priv->model)
+ view->model = icon_view->priv->model;
+ if (view->model)
{
- g_object_add_weak_pointer (G_OBJECT (priv->model), (gpointer *)&priv->model);
+ g_object_add_weak_pointer (G_OBJECT (view->model), (gpointer *)&view->model);
gtk_icon_view_accessible_connect_model_signals (icon_view);
}
-
+
accessible->role = ATK_ROLE_LAYERED_PANE;
}
static void
gtk_icon_view_accessible_finalize (GObject *object)
{
- GtkIconViewAccessiblePrivate *priv;
+ GtkIconViewAccessible *view = (GtkIconViewAccessible*)object;
- priv = gtk_icon_view_accessible_get_priv (ATK_OBJECT (object));
- gtk_icon_view_accessible_clear_cache (priv);
+ gtk_icon_view_accessible_clear_cache (view);
- g_free (priv);
-
- G_OBJECT_CLASS (accessible_parent_class)->finalize (object);
+ G_OBJECT_CLASS (_gtk_icon_view_accessible_parent_class)->finalize (object);
}
static void
-gtk_icon_view_accessible_destroyed (GtkWidget *widget,
+gtk_icon_view_accessible_destroyed (GtkWidget *widget,
GtkAccessible *accessible)
{
AtkObject *atk_obj;
- GtkIconViewAccessiblePrivate *priv;
+ GtkIconViewAccessible *view;
atk_obj = ATK_OBJECT (accessible);
- priv = gtk_icon_view_accessible_get_priv (atk_obj);
- if (priv->old_hadj)
+ view = (GtkIconViewAccessible*)atk_obj;
+ if (view->old_hadj)
{
- g_object_remove_weak_pointer (G_OBJECT (priv->old_hadj),
- (gpointer *)&priv->old_hadj);
-
- g_signal_handlers_disconnect_by_func (priv->old_hadj,
+ g_object_remove_weak_pointer (G_OBJECT (view->old_hadj),
+ (gpointer *)&view->old_hadj);
+
+ g_signal_handlers_disconnect_by_func (view->old_hadj,
(gpointer) gtk_icon_view_accessible_adjustment_changed,
accessible);
- priv->old_hadj = NULL;
+ view->old_hadj = NULL;
}
- if (priv->old_vadj)
+ if (view->old_vadj)
{
- g_object_remove_weak_pointer (G_OBJECT (priv->old_vadj),
- (gpointer *)&priv->old_vadj);
-
- g_signal_handlers_disconnect_by_func (priv->old_vadj,
+ g_object_remove_weak_pointer (G_OBJECT (view->old_vadj),
+ (gpointer *)&view->old_vadj);
+
+ g_signal_handlers_disconnect_by_func (view->old_vadj,
(gpointer) gtk_icon_view_accessible_adjustment_changed,
accessible);
- priv->old_vadj = NULL;
+ view->old_vadj = NULL;
}
}
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
if (widget)
{
- g_signal_connect_after (widget,
- "destroy",
- G_CALLBACK (gtk_icon_view_accessible_destroyed),
- accessible);
+ g_signal_connect_after (widget, "destroy",
+ G_CALLBACK (gtk_icon_view_accessible_destroyed), accessible);
}
- GTK_ACCESSIBLE_CLASS (accessible_parent_class)->connect_widget_destroyed (accessible);
+ GTK_ACCESSIBLE_CLASS (_gtk_icon_view_accessible_parent_class)->connect_widget_destroyed (accessible);
}
static void
-gtk_icon_view_accessible_class_init (AtkObjectClass *klass)
+_gtk_icon_view_accessible_class_init (GtkIconViewAccessibleClass *klass)
{
GObjectClass *gobject_class;
GtkAccessibleClass *accessible_class;
-
- accessible_parent_class = g_type_class_peek_parent (klass);
+ AtkObjectClass *atk_class;
gobject_class = (GObjectClass *)klass;
accessible_class = (GtkAccessibleClass *)klass;
+ atk_class = (AtkObjectClass *)klass;
gobject_class->finalize = gtk_icon_view_accessible_finalize;
- klass->get_n_children = gtk_icon_view_accessible_get_n_children;
- klass->ref_child = gtk_icon_view_accessible_ref_child;
- klass->initialize = gtk_icon_view_accessible_initialize;
+ atk_class->get_n_children = gtk_icon_view_accessible_get_n_children;
+ atk_class->ref_child = gtk_icon_view_accessible_ref_child;
+ atk_class->initialize = gtk_icon_view_accessible_initialize;
accessible_class->connect_widget_destroyed = gtk_icon_view_accessible_connect_widget_destroyed;
+}
- accessible_private_data_quark = g_quark_from_static_string ("icon_view-accessible-private-data");
+static void
+_gtk_icon_view_accessible_init (GtkIconViewAccessible *accessible)
+{
}
static AtkObject*
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
if (widget == NULL)
- /* State is defunct */
return NULL;
icon_view = GTK_ICON_VIEW (widget);
static gboolean
gtk_icon_view_accessible_add_selection (AtkSelection *selection,
- gint i)
+ gint i)
{
GtkWidget *widget;
GtkIconView *icon_view;
icon_view = GTK_ICON_VIEW (widget);
item = g_list_nth_data (icon_view->priv->items, i);
-
if (!item)
return FALSE;
if (item->selected)
{
if (i == 0)
- return atk_object_ref_accessible_child (gtk_widget_get_accessible (widget), item->index);
+ return atk_object_ref_accessible_child (gtk_widget_get_accessible (widget), item->index);
else
i--;
}
item = l->data;
if (item->selected)
- count++;
+ count++;
l = l->next;
}
}
static void
-gtk_icon_view_accessible_selection_interface_init (AtkSelectionIface *iface)
+atk_selection_interface_init (AtkSelectionIface *iface)
{
iface->add_selection = gtk_icon_view_accessible_add_selection;
iface->clear_selection = gtk_icon_view_accessible_clear_selection;
iface->remove_selection = gtk_icon_view_accessible_remove_selection;
iface->select_all_selection = gtk_icon_view_accessible_select_all_selection;
}
-
-static GType
-gtk_icon_view_accessible_get_type (void)
-{
- static GType type = 0;
-
- if (!type)
- {
- GTypeInfo tinfo =
- {
- 0, /* class size */
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) gtk_icon_view_accessible_class_init,
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- 0, /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
- const GInterfaceInfo atk_component_info =
- {
- (GInterfaceInitFunc) atk_component_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
- const GInterfaceInfo atk_selection_info =
- {
- (GInterfaceInitFunc) gtk_icon_view_accessible_selection_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- /*
- * Figure out the size of the class and instance
- * we are deriving from
- */
- AtkObjectFactory *factory;
- GType derived_type;
- GTypeQuery query;
- GType derived_atk_type;
-
- derived_type = g_type_parent (GTK_TYPE_ICON_VIEW);
- factory = atk_registry_get_factory (atk_get_default_registry (),
- derived_type);
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- type = g_type_register_static (derived_atk_type,
- I_("GtkIconViewAccessible"),
- &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
- &atk_component_info);
- g_type_add_interface_static (type, ATK_TYPE_SELECTION,
- &atk_selection_info);
- }
- return type;
-}
-
-static AtkObject *
-gtk_icon_view_accessible_new (GObject *obj)
-{
- AtkObject *accessible;
-
- g_return_val_if_fail (GTK_IS_WIDGET (obj), NULL);
-
- accessible = g_object_new (gtk_icon_view_accessible_get_type (), NULL);
- atk_object_initialize (accessible, obj);
-
- return accessible;
-}
-
-static GType
-gtk_icon_view_accessible_factory_get_accessible_type (void)
-{
- return gtk_icon_view_accessible_get_type ();
-}
-
-static AtkObject*
-gtk_icon_view_accessible_factory_create_accessible (GObject *obj)
-{
- return gtk_icon_view_accessible_new (obj);
-}
-
-static void
-gtk_icon_view_accessible_factory_class_init (AtkObjectFactoryClass *klass)
-{
- klass->create_accessible = gtk_icon_view_accessible_factory_create_accessible;
- klass->get_accessible_type = gtk_icon_view_accessible_factory_get_accessible_type;
-}
-
-static GType
-gtk_icon_view_accessible_factory_get_type (void)
-{
- static GType type = 0;
-
- if (!type)
- {
- const GTypeInfo tinfo =
- {
- sizeof (AtkObjectFactoryClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gtk_icon_view_accessible_factory_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (AtkObjectFactory),
- 0, /* n_preallocs */
- NULL, NULL
- };
-
- type = g_type_register_static (ATK_TYPE_OBJECT_FACTORY,
- I_("GtkIconViewAccessibleFactory"),
- &tinfo, 0);
- }
- return type;
-}
-
-
-static AtkObject *
-gtk_icon_view_get_accessible (GtkWidget *widget)
-{
- static gboolean first_time = TRUE;
-
- if (first_time)
- {
- _gtk_accessible_set_factory_type (GTK_TYPE_ICON_VIEW,
- gtk_icon_view_accessible_factory_get_type ());
- first_time = FALSE;
- }
- return GTK_WIDGET_CLASS (gtk_icon_view_parent_class)->get_accessible (widget);
-}
-
-static gboolean
-gtk_icon_view_buildable_custom_tag_start (GtkBuildable *buildable,
- GtkBuilder *builder,
- GObject *child,
- const gchar *tagname,
- GMarkupParser *parser,
- gpointer *data)
-{
- if (parent_buildable_iface->custom_tag_start (buildable, builder, child,
- tagname, parser, data))
- return TRUE;
-
- return _gtk_cell_layout_buildable_custom_tag_start (buildable, builder, child,
- tagname, parser, data);
-}
-
-static void
-gtk_icon_view_buildable_custom_tag_end (GtkBuildable *buildable,
- GtkBuilder *builder,
- GObject *child,
- const gchar *tagname,
- gpointer *data)
-{
- if (!_gtk_cell_layout_buildable_custom_tag_end (buildable, builder,
- child, tagname, data))
- parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname,
- data);
-}
#include "gtkprivate.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtkimageaccessible.h"
+
/**
* SECTION:gtkimage
* @Short_description: A widget displaying an image
GTK_PARAM_READWRITE));
g_type_class_add_private (class, sizeof (GtkImagePrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_IMAGE_ACCESSIBLE);
}
static void
#include "gtkprivate.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtklabelaccessible.h"
/**
* SECTION:gtklabel
gint anchor_index,
gint end_index);
+
static gboolean gtk_label_mnemonic_activate (GtkWidget *widget,
gboolean group_cycling);
static void gtk_label_setup_mnemonic (GtkLabel *label,
"activate-current-link", 0);
g_type_class_add_private (class, sizeof (GtkLabelPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_LABEL_ACCESSIBLE);
}
static void
g_value_set_object (value, (GObject*) priv->mnemonic_widget);
break;
case PROP_CURSOR_POSITION:
- if (priv->select_info && priv->select_info->selectable)
- {
- gint offset = g_utf8_pointer_to_offset (priv->text,
- priv->text + priv->select_info->selection_end);
- g_value_set_int (value, offset);
- }
- else
- g_value_set_int (value, 0);
+ g_value_set_int (value, _gtk_label_get_cursor_position (label));
break;
case PROP_SELECTION_BOUND:
- if (priv->select_info && priv->select_info->selectable)
- {
- gint offset = g_utf8_pointer_to_offset (priv->text,
- priv->text + priv->select_info->selection_anchor);
- g_value_set_int (value, offset);
- }
- else
- g_value_set_int (value, 0);
+ g_value_set_int (value, _gtk_label_get_selection_bound (label));
break;
case PROP_ELLIPSIZE:
g_value_set_enum (value, priv->ellipsize);
gtk_label_set_pattern (GtkLabel *label,
const gchar *pattern)
{
- GtkLabelPrivate *priv = label->priv;
+ GtkLabelPrivate *priv;
g_return_if_fail (GTK_IS_LABEL (label));
GtkClipboard *clipboard;
if (priv->select_info->selection_anchor == anchor_index &&
- priv->select_info->selection_end == end_index)
- return;
+ priv->select_info->selection_end == end_index)
+ return;
+
+ g_object_freeze_notify (G_OBJECT (label));
+
+ if (priv->select_info->selection_anchor != anchor_index)
+ g_object_notify (G_OBJECT (label), "selection-bound");
+ if (priv->select_info->selection_end != end_index)
+ g_object_notify (G_OBJECT (label), "cursor-position");
priv->select_info->selection_anchor = anchor_index;
priv->select_info->selection_end = end_index;
- clipboard = gtk_widget_get_clipboard (GTK_WIDGET (label),
- GDK_SELECTION_PRIMARY);
+ if (gtk_widget_has_screen (GTK_WIDGET (label)))
+ clipboard = gtk_widget_get_clipboard (GTK_WIDGET (label),
+ GDK_SELECTION_PRIMARY);
+ else
+ clipboard = NULL;
if (anchor_index != end_index)
{
gtk_target_list_add_text_targets (list, 0);
targets = gtk_target_table_new_from_list (list, &n_targets);
- gtk_clipboard_set_with_owner (clipboard,
- targets, n_targets,
- get_text_callback,
- clear_text_callback,
- G_OBJECT (label));
+ if (clipboard)
+ gtk_clipboard_set_with_owner (clipboard,
+ targets, n_targets,
+ get_text_callback,
+ clear_text_callback,
+ G_OBJECT (label));
gtk_target_table_free (targets, n_targets);
gtk_target_list_unref (list);
}
else
{
- if (gtk_clipboard_get_owner (clipboard) == G_OBJECT (label))
+ if (clipboard &&
+ gtk_clipboard_get_owner (clipboard) == G_OBJECT (label))
gtk_clipboard_clear (clipboard);
}
gtk_widget_queue_draw (GTK_WIDGET (label));
- g_object_freeze_notify (G_OBJECT (label));
- g_object_notify (G_OBJECT (label), "cursor-position");
- g_object_notify (G_OBJECT (label), "selection-bound");
g_object_thaw_notify (G_OBJECT (label));
}
}
{
g_return_if_fail (GTK_IS_LABEL (label));
+ g_object_freeze_notify (G_OBJECT (label));
+
gtk_label_set_use_markup_internal (label, setting);
gtk_label_recalculate (label);
+
+ g_object_thaw_notify (G_OBJECT (label));
}
/**
{
g_return_if_fail (GTK_IS_LABEL (label));
+ g_object_freeze_notify (G_OBJECT (label));
+
gtk_label_set_use_underline_internal (label, setting);
gtk_label_recalculate (label);
+
+ g_object_thaw_notify (G_OBJECT (label));
}
/**
keyboard_tip,
tooltip);
}
+
+gint
+_gtk_label_get_cursor_position (GtkLabel *label)
+{
+ GtkLabelPrivate *priv = label->priv;
+
+ if (priv->select_info && priv->select_info->selectable)
+ return g_utf8_pointer_to_offset (priv->text,
+ priv->text + priv->select_info->selection_end);
+
+ return 0;
+}
+
+gint
+_gtk_label_get_selection_bound (GtkLabel *label)
+{
+ GtkLabelPrivate *priv = label->priv;
+
+ if (priv->select_info && priv->select_info->selectable)
+ return g_utf8_pointer_to_offset (priv->text,
+ priv->text + priv->select_info->selection_anchor);
+
+ return 0;
+}
void _gtk_label_mnemonics_visible_apply_recursively (GtkWidget *widget,
gboolean mnemonics_visible);
+gint _gtk_label_get_cursor_position (GtkLabel *label);
+gint _gtk_label_get_selection_bound (GtkLabel *label);
G_END_DECLS
#include "gtkstock.h"
#include "gtkshow.h"
#include "gtktooltip.h"
-
#include "gtkintl.h"
+#include "a11y/gtklinkbuttonaccessible.h"
struct _GtkLinkButtonPrivate
{
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__VOID,
G_TYPE_BOOLEAN, 0);
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_LINK_BUTTON_ACCESSIBLE);
}
static void
gint column,
GValue *value)
{
- GtkListStorePrivate *priv = list_store->priv;
+ GtkListStorePrivate *priv;
g_return_if_fail (GTK_IS_LIST_STORE (list_store));
g_return_if_fail (iter_is_valid (iter, list_store));
#endif
}
+/* XXX: Remove me after getting rid of gail */
+extern void _gtk_accessibility_init (void);
+
static void
do_post_parse_initialization (int *argc,
char ***argv)
{
_gtk_modules_init (argc, argv, NULL);
}
+
+ _gtk_accessibility_init ();
}
#include "gtkwidgetprivate.h"
#include "gtkintl.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtkmenuaccessible.h"
#define NAVIGATION_REGION_OVERSHOOT 50 /* How much the navigation region
* extends below the submenu
GTK_SCROLL_PAGE_DOWN);
g_type_class_add_private (gobject_class, sizeof (GtkMenuPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_MENU_ACCESSIBLE);
}
widget_class->draw = gtk_menu_bar_draw;
widget_class->hierarchy_changed = gtk_menu_bar_hierarchy_changed;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_MENU_BAR);
+
menu_shell_class->submenu_placement = GTK_TOP_BOTTOM;
menu_shell_class->get_popup_delay = gtk_menu_bar_get_popup_delay;
menu_shell_class->move_current = gtk_menu_bar_move_current;
#include "gtkwidgetprivate.h"
#include "gtkintl.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtkmenuitemaccessible.h"
/**
G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE,
gtk_menu_item_activatable_interface_init))
-
static void
gtk_menu_item_class_init (GtkMenuItemClass *klass)
{
widget_class->get_preferred_height = gtk_menu_item_get_preferred_height;
widget_class->get_preferred_height_for_width = gtk_menu_item_get_preferred_height_for_width;
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_MENU_ITEM_ACCESSIBLE);
+
container_class->forall = gtk_menu_item_forall;
klass->activate = gtk_real_menu_item_activate;
#include "gtkprivate.h"
#include "gtkintl.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtkmenushellaccessible.h"
#define MENU_SHELL_TIMEOUT 500
TRUE,
GTK_PARAM_READWRITE));
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_MENU_SHELL_ACCESSIBLE);
+
g_type_class_add_private (object_class, sizeof (GtkMenuShellPrivate));
}
widget_class->style_updated = gtk_message_dialog_style_updated;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_ALERT);
+
gobject_class->set_property = gtk_message_dialog_set_property;
gobject_class->get_property = gtk_message_dialog_get_property;
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
gtk_box_set_spacing (GTK_BOX (action_area), 6);
+ gtk_message_dialog_style_updated (GTK_WIDGET (dialog));
+
gtk_widget_show_all (hbox);
}
GtkStateFlags state;
/* unset the font settings */
- gtk_widget_modify_font (priv->label, NULL);
+ gtk_widget_override_font (priv->label, NULL);
if (priv->has_secondary_text && !priv->has_primary_markup)
{
font_desc = pango_font_description_new ();
pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD);
pango_font_description_set_size (font_desc, size * PANGO_SCALE_LARGE);
- gtk_widget_modify_font (priv->label, font_desc);
+ gtk_widget_override_font (priv->label, font_desc);
pango_font_description_free (font_desc);
}
}
return info->module != module;
}
+static gboolean
+module_is_blacklisted (const gchar *name)
+{
+ if (g_str_equal (name, "gail"))
+ {
+ g_message ("Not loading module \"gail\": The functionality is provided by GTK natively. Please try to not load it.");
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
static GSList *
load_module (GSList *module_list,
const gchar *name)
if (module)
{
- if (g_module_symbol (module, "gtk_module_init", &modinit_func_ptr))
+ /* Do the check this late so we only warn about existing modules,
+ * not old modules that are still in the modules path. */
+ if (module_is_blacklisted (name))
+ {
+ modinit_func = NULL;
+ success = TRUE;
+ }
+ else if (g_module_symbol (module, "gtk_module_init", &modinit_func_ptr))
modinit_func = modinit_func_ptr;
else
modinit_func = NULL;
#include <signal.h>
#include <errno.h>
+#if defined(__OpenBSD__)
+#include <kvm.h>
+#include <fcntl.h>
+#include <sys/sysctl.h>
+#endif
+
#include "gtkmountoperationprivate.h"
/* ---------------------------------------------------------------------------------------------------- */
}
/* ---------------------------------------------------------------------------------------------------- */
+
+#elif defined(__OpenBSD__)
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+static GPid
+pid_get_parent (GPid pid)
+{
+ struct kinfo_proc *proc;
+ int count;
+ kvm_t *kvm;
+ GPid ppid = 0;
+
+ kvm = kvm_openfiles (NULL, NULL, NULL, KVM_NO_FILES, NULL);
+ if (kvm == NULL)
+ return 0;
+
+ proc = kvm_getprocs (kvm, KERN_PROC_PID, pid, sizeof(struct kinfo_proc), &count);
+ if (count == 1)
+ ppid = proc->p_ppid;
+
+ kvm_close (kvm);
+ return ppid;
+}
+
+static gchar *
+pid_get_env (GPid pid, const gchar *key)
+{
+ kvm_t *kvm;
+ struct kinfo_proc *proc;
+ char **strs;
+ char *ret;
+ char *end;
+ int key_len;
+ int count;
+ int i;
+
+ kvm = kvm_openfiles (NULL, NULL, NULL, KVM_NO_FILES, NULL);
+ if (kvm == NULL)
+ return NULL;
+
+ key_len = strlen (key);
+
+ ret = NULL;
+ proc = kvm_getprocs (kvm, KERN_PROC_PID, pid, sizeof(struct kinfo_proc), &count);
+ if (proc != NULL)
+ {
+ strs = kvm_getenvv (kvm, proc, 0);
+ for (i = 0; strs[i] != NULL; i++)
+ {
+ if (g_str_has_prefix (strs[i], key) && (*(strs[i] + key_len) == '='))
+ {
+ ret = g_strdup (strs[i] + key_len + 1);
+
+ /* skip invalid UTF-8 */
+ if (!g_utf8_validate (ret, -1, (const gchar **) &end))
+ *end = '\0';
+ break;
+ }
+ }
+ }
+
+ kvm_close (kvm);
+ return ret;
+}
+
+static gchar *
+pid_get_command_line (GPid pid)
+{
+ kvm_t *kvm;
+ struct kinfo_proc *proc;
+ int count;
+ char **strs;
+ char *ret;
+ char *end;
+
+ kvm = kvm_openfiles (NULL, NULL, NULL, KVM_NO_FILES, NULL);
+ if (kvm == NULL)
+ return NULL;
+
+ proc = kvm_getprocs (kvm, KERN_PROC_PID, pid, sizeof (struct kinfo_proc), &count);
+ if (proc == NULL)
+ return NULL;
+
+ strs = kvm_getargv (kvm, proc, 0);
+ ret = g_strjoinv (" ", strs);
+ /* skip invalid UTF-8 */
+ if (!g_utf8_validate (ret, -1, (const gchar **) &end))
+ *end = '\0';
+
+ kvm_close (kvm);
+ return ret;
+}
+
#else
/* TODO: please implement for your OS - must return valid UTF-8 */
#include "gtkdnd.h"
#include "gtkbuildable.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtknotebookaccessible.h"
/**
guint during_reorder : 1;
guint focus_out : 1; /* Flag used by ::move-focus-out implementation */
guint has_scrolled : 1;
- guint have_visible_child : 1;
- guint homogeneous : 1;
guint in_child : 3;
guint need_timer : 1;
guint show_border : 1;
add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
g_type_class_add_private (class, sizeof (GtkNotebookPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_NOTEBOOK_ACCESSIBLE);
}
static void
priv->button = 0;
priv->need_timer = 0;
priv->child_has_focus = FALSE;
- priv->have_visible_child = FALSE;
priv->focus_out = FALSE;
priv->has_before_previous = 1;
if (!gtk_widget_get_visible (page->child))
continue;
- if (priv->homogeneous)
- page->requisition.width = tab_max;
- else
- page->requisition.width += padding;
+ page->requisition.width += padding;
tab_width += page->requisition.width;
page->requisition.height = tab_height;
action_width += action_widget_requisition[ACTION_WIDGET_START].width;
action_width += action_widget_requisition[ACTION_WIDGET_END].width;
- if (priv->homogeneous && !priv->scrollable)
- requisition->width = vis_pages * tab_max + tab_overlap + action_width;
- else
- requisition->width = tab_width + tab_overlap + action_width;
+ requisition->width = tab_width + tab_overlap + action_width;
requisition->height = tab_height;
break;
page->requisition.width = tab_width;
- if (priv->homogeneous)
- page->requisition.height = tab_max;
- else
- page->requisition.height += padding;
+ page->requisition.height += padding;
tab_height += page->requisition.height;
}
action_height += action_widget_requisition[ACTION_WIDGET_START].height;
action_height += action_widget_requisition[ACTION_WIDGET_END].height;
- if (priv->homogeneous && !priv->scrollable)
- requisition->height = vis_pages * tab_max + tab_overlap + action_height;
- else
- requisition->height = tab_height + tab_overlap + action_height;
+ requisition->height = tab_height + tab_overlap + action_height;
- if (!priv->homogeneous || priv->scrollable)
- vis_pages = 1;
- requisition->height = MAX (requisition->height,
- vis_pages * tab_max + tab_overlap);
+ requisition->height = MAX (requisition->height, tab_max + tab_overlap);
requisition->width = tab_width;
break;
(gtk_widget_compute_expand (page->tab_label, tab_expand_orientation)))
(*n)++;
}
-
- /* if notebook is homogeneous, all tabs are expanded */
- if (priv->homogeneous && *n)
- *n = c;
}
}
continue;
tab_extra_space = 0;
- if (*expanded_tabs && (showarrow || page->expand || gtk_widget_compute_expand (page->tab_label, tab_expand_orientation) || priv->homogeneous))
+ if (*expanded_tabs && (showarrow || page->expand || gtk_widget_compute_expand (page->tab_label, tab_expand_orientation)))
{
tab_extra_space = *remaining_space / *expanded_tabs;
*remaining_space -= tab_extra_space;
#include "gtktypebuiltins.h"
#include "gtkprivate.h"
#include "gtkintl.h"
-
+#include "a11y/gtkpanedaccessible.h"
/**
* SECTION:gtkpaned
add_move_binding (binding_set, GDK_KEY_KP_End, 0, GTK_SCROLL_END);
g_type_class_add_private (object_class, sizeof (GtkPanedPrivate));
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_PANED_ACCESSIBLE);
}
static GType
-/* gtktextdisplay.c - display layed-out text
+/* gtkpango.c - pango-related utilities
*
* Copyright (c) 2010 Red Hat, Inc.
*
*/
#include "config.h"
+#include "gtkpango.h"
#include <pango/pangocairo.h>
#include "gtkintl.h"
cairo_move_to (cr, current_x, current_y);
}
+static AtkAttributeSet *
+add_attribute (AtkAttributeSet *attributes,
+ AtkTextAttribute attr,
+ const gchar *value)
+{
+ AtkAttribute *at;
+
+ at = g_new (AtkAttribute, 1);
+ at->name = g_strdup (atk_text_attribute_get_name (attr));
+ at->value = g_strdup (value);
+
+ return g_slist_prepend (attributes, at);
+}
+
+/*
+ * _gtk_pango_get_default_attributes:
+ * @attributes: a #AtkAttributeSet to add the attributes to
+ * @layout: the #PangoLayout from which to get attributes
+ *
+ * Adds the default text attributes from @layout to @attributes,
+ * after translating them from Pango attributes to ATK attributes.
+ *
+ * This is a convenience function that can be used to implement
+ * support for the #AtkText interface in widgets using Pango
+ * layouts.
+ *
+ * Returns: the modified @attributes
+ */
+AtkAttributeSet*
+_gtk_pango_get_default_attributes (AtkAttributeSet *attributes,
+ PangoLayout *layout)
+{
+ PangoContext *context;
+ gint i;
+ PangoWrapMode mode;
+
+ context = pango_layout_get_context (layout);
+ if (context)
+ {
+ PangoLanguage *language;
+ PangoFontDescription *font;
+
+ language = pango_context_get_language (context);
+ if (language)
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_LANGUAGE,
+ pango_language_to_string (language));
+
+ font = pango_context_get_font_description (context);
+ if (font)
+ {
+ gchar buf[60];
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_STYLE,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_STYLE,
+ pango_font_description_get_style (font)));
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_VARIANT,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_VARIANT,
+ pango_font_description_get_variant (font)));
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_STRETCH,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_STRETCH,
+ pango_font_description_get_stretch (font)));
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_FAMILY_NAME,
+ pango_font_description_get_family (font));
+ g_snprintf (buf, 60, "%d", pango_font_description_get_weight (font));
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_WEIGHT, buf);
+ g_snprintf (buf, 60, "%i", pango_font_description_get_size (font) / PANGO_SCALE);
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_SIZE, buf);
+ }
+ }
+ if (pango_layout_get_justify (layout))
+ {
+ i = 3;
+ }
+ else
+ {
+ PangoAlignment align;
+
+ align = pango_layout_get_alignment (layout);
+ if (align == PANGO_ALIGN_LEFT)
+ i = 0;
+ else if (align == PANGO_ALIGN_CENTER)
+ i = 2;
+ else /* PANGO_ALIGN_RIGHT */
+ i = 1;
+ }
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_JUSTIFICATION,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_JUSTIFICATION, i));
+ mode = pango_layout_get_wrap (layout);
+ if (mode == PANGO_WRAP_WORD)
+ i = 2;
+ else /* PANGO_WRAP_CHAR */
+ i = 1;
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_WRAP_MODE,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_WRAP_MODE, i));
+
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_STRIKETHROUGH,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_STRIKETHROUGH, 0));
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_UNDERLINE,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_UNDERLINE, 0));
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_RISE, "0");
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_SCALE, "1");
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_BG_FULL_HEIGHT, "0");
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP, "0");
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_PIXELS_BELOW_LINES, "0");
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_PIXELS_ABOVE_LINES, "0");
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_EDITABLE,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_EDITABLE, 0));
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_INVISIBLE,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_INVISIBLE, 0));
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_INDENT, "0");
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_RIGHT_MARGIN, "0");
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_LEFT_MARGIN, "0");
+
+ return attributes;
+}
+
+/*
+ * _gtk_pango_get_run_attributes:
+ * @attributes: a #AtkAttributeSet to add attributes to
+ * @layout: the #PangoLayout to get the attributes from
+ * @offset: the offset at which the attributes are wanted
+ * @start_offset: return location for the starting offset
+ * of the current run
+ * @end_offset: return location for the ending offset of the
+ * current run
+ *
+ * Finds the 'run' around index (i.e. the maximal range of characters
+ * where the set of applicable attributes remains constant) and
+ * returns the starting and ending offsets for it.
+ *
+ * The attributes for the run are added to @attributes, after
+ * translating them from Pango attributes to ATK attributes.
+ *
+ * This is a convenience function that can be used to implement
+ * support for the #AtkText interface in widgets using Pango
+ * layouts.
+ *
+ * Returns: the modified #AtkAttributeSet
+ */
+AtkAttributeSet *
+_gtk_pango_get_run_attributes (AtkAttributeSet *attributes,
+ PangoLayout *layout,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset)
+{
+ PangoAttrIterator *iter;
+ PangoAttrList *attr;
+ PangoAttrString *pango_string;
+ PangoAttrInt *pango_int;
+ PangoAttrColor *pango_color;
+ PangoAttrLanguage *pango_lang;
+ PangoAttrFloat *pango_float;
+ gint index, start_index, end_index;
+ gboolean is_next;
+ glong len;
+ const gchar *text;
+ gchar *value;
+
+ text = pango_layout_get_text (layout);
+ len = g_utf8_strlen (text, -1);
+
+ /* Grab the attributes of the PangoLayout, if any */
+ attr = pango_layout_get_attributes (layout);
+
+ if (attr == NULL)
+ {
+ *start_offset = 0;
+ *end_offset = len;
+ return attributes;
+ }
+
+ iter = pango_attr_list_get_iterator (attr);
+ /* Get invariant range offsets */
+ /* If offset out of range, set offset in range */
+ if (offset > len)
+ offset = len;
+ else if (offset < 0)
+ offset = 0;
+
+ index = g_utf8_offset_to_pointer (text, offset) - text;
+ pango_attr_iterator_range (iter, &start_index, &end_index);
+ is_next = TRUE;
+ while (is_next)
+ {
+ if (index >= start_index && index < end_index)
+ {
+ *start_offset = g_utf8_pointer_to_offset (text, text + start_index);
+ if (end_index == G_MAXINT) /* Last iterator */
+ end_index = len;
+
+ *end_offset = g_utf8_pointer_to_offset (text, text + end_index);
+ break;
+ }
+ is_next = pango_attr_iterator_next (iter);
+ pango_attr_iterator_range (iter, &start_index, &end_index);
+ }
+
+ /* Get attributes */
+ pango_string = (PangoAttrString*) pango_attr_iterator_get (iter, PANGO_ATTR_FAMILY);
+ if (pango_string != NULL)
+ {
+ value = g_strdup_printf ("%s", pango_string->value);
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_FAMILY_NAME, value);
+ g_free (value);
+ }
+ pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_STYLE);
+ if (pango_int != NULL)
+ {
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_STYLE,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_STYLE, pango_int->value));
+ }
+ pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_WEIGHT);
+ if (pango_int != NULL)
+ {
+ value = g_strdup_printf ("%i", pango_int->value);
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_WEIGHT, value);
+ g_free (value);
+ }
+ pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_VARIANT);
+ if (pango_int != NULL)
+ {
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_VARIANT,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_VARIANT, pango_int->value));
+ }
+ pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_STRETCH);
+ if (pango_int != NULL)
+ {
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_STRETCH,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_STRETCH, pango_int->value));
+ }
+ pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_SIZE);
+ if (pango_int != NULL)
+ {
+ value = g_strdup_printf ("%i", pango_int->value / PANGO_SCALE);
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_SIZE, value);
+ g_free (value);
+ }
+ pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_UNDERLINE);
+ if (pango_int != NULL)
+ {
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_UNDERLINE,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_UNDERLINE, pango_int->value));
+ }
+ pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_STRIKETHROUGH);
+ if (pango_int != NULL)
+ {
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_STRIKETHROUGH,
+ atk_text_attribute_get_value (ATK_TEXT_ATTR_STRIKETHROUGH, pango_int->value));
+ }
+ pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_RISE);
+ if (pango_int != NULL)
+ {
+ value = g_strdup_printf ("%i", pango_int->value);
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_RISE, value);
+ g_free (value);
+ }
+ pango_lang = (PangoAttrLanguage*) pango_attr_iterator_get (iter, PANGO_ATTR_LANGUAGE);
+ if (pango_lang != NULL)
+ {
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_LANGUAGE,
+ pango_language_to_string (pango_lang->value));
+ }
+ pango_float = (PangoAttrFloat*) pango_attr_iterator_get (iter, PANGO_ATTR_SCALE);
+ if (pango_float != NULL)
+ {
+ value = g_strdup_printf ("%g", pango_float->value);
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_SCALE, value);
+ g_free (value);
+ }
+ pango_color = (PangoAttrColor*) pango_attr_iterator_get (iter, PANGO_ATTR_FOREGROUND);
+ if (pango_color != NULL)
+ {
+ value = g_strdup_printf ("%u,%u,%u",
+ pango_color->color.red,
+ pango_color->color.green,
+ pango_color->color.blue);
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_FG_COLOR, value);
+ g_free (value);
+ }
+ pango_color = (PangoAttrColor*) pango_attr_iterator_get (iter, PANGO_ATTR_BACKGROUND);
+ if (pango_color != NULL)
+ {
+ value = g_strdup_printf ("%u,%u,%u",
+ pango_color->color.red,
+ pango_color->color.green,
+ pango_color->color.blue);
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_BG_COLOR, value);
+ g_free (value);
+ }
+ pango_attr_iterator_destroy (iter);
+
+ return attributes;
+}
+
+/*
+ * _gtk_pango_move_chars:
+ * @layout: a #PangoLayout
+ * @offset: a character offset in @layout
+ * @count: the number of characters to move from @offset
+ *
+ * Returns the position that is @count characters from the
+ * given @offset. @count may be positive or negative.
+ *
+ * For the purpose of this function, characters are defined
+ * by what Pango considers cursor positions.
+ *
+ * Returns: the new position
+ */
+gint
+_gtk_pango_move_chars (PangoLayout *layout,
+ gint offset,
+ gint count)
+{
+ const PangoLogAttr *attrs;
+ gint n_attrs;
+
+ attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
+
+ while (count > 0 && offset < n_attrs - 1)
+ {
+ do
+ offset++;
+ while (offset < n_attrs - 1 && !attrs[offset].is_cursor_position);
+
+ count--;
+ }
+ while (count < 0 && offset > 0)
+ {
+ do
+ offset--;
+ while (offset > 0 && !attrs[offset].is_cursor_position);
+
+ count++;
+ }
+
+ return offset;
+}
+
+/*
+ * _gtk_pango_move_words:
+ * @layout: a #PangoLayout
+ * @offset: a character offset in @layout
+ * @count: the number of words to move from @offset
+ *
+ * Returns the position that is @count words from the
+ * given @offset. @count may be positive or negative.
+ *
+ * If @count is positive, the returned position will
+ * be a word end, otherwise it will be a word start.
+ * See the Pango documentation for details on how
+ * word starts and ends are defined.
+ *
+ * Returns: the new position
+ */
+gint
+_gtk_pango_move_words (PangoLayout *layout,
+ gint offset,
+ gint count)
+{
+ const PangoLogAttr *attrs;
+ gint n_attrs;
+
+ attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
+
+ while (count > 0 && offset < n_attrs - 1)
+ {
+ do
+ offset++;
+ while (offset < n_attrs - 1 && !attrs[offset].is_word_end);
+
+ count--;
+ }
+ while (count < 0 && offset > 0)
+ {
+ do
+ offset--;
+ while (offset > 0 && !attrs[offset].is_word_start);
+
+ count++;
+ }
+
+ return offset;
+}
+
+/*
+ * _gtk_pango_move_sentences:
+ * @layout: a #PangoLayout
+ * @offset: a character offset in @layout
+ * @count: the number of sentences to move from @offset
+ *
+ * Returns the position that is @count sentences from the
+ * given @offset. @count may be positive or negative.
+ *
+ * If @count is positive, the returned position will
+ * be a sentence end, otherwise it will be a sentence start.
+ * See the Pango documentation for details on how
+ * sentence starts and ends are defined.
+ *
+ * Returns: the new position
+ */
+gint
+_gtk_pango_move_sentences (PangoLayout *layout,
+ gint offset,
+ gint count)
+{
+ const PangoLogAttr *attrs;
+ gint n_attrs;
+
+ attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
+
+ while (count > 0 && offset < n_attrs - 1)
+ {
+ do
+ offset++;
+ while (offset < n_attrs - 1 && !attrs[offset].is_sentence_end);
+
+ count--;
+ }
+ while (count < 0 && offset > 0)
+ {
+ do
+ offset--;
+ while (offset > 0 && !attrs[offset].is_sentence_start);
+
+ count++;
+ }
+
+ return offset;
+}
+
+/*
+ * _gtk_pango_move_lines:
+ * @layout: a #PangoLayout
+ * @offset: a character offset in @layout
+ * @count: the number of lines to move from @offset
+ *
+ * Returns the position that is @count lines from the
+ * given @offset. @count may be positive or negative.
+ *
+ * If @count is negative, the returned position will
+ * be the start of a line, else it will be the end of
+ * line.
+ *
+ * Returns: the new position
+ */
+gint
+_gtk_pango_move_lines (PangoLayout *layout,
+ gint offset,
+ gint count)
+{
+ GSList *lines, *l;
+ PangoLayoutLine *line;
+ gint num;
+ const gchar *text;
+ gint pos, line_pos;
+ gint index;
+ gint len;
+
+ text = pango_layout_get_text (layout);
+ index = g_utf8_offset_to_pointer (text, offset) - text;
+ lines = pango_layout_get_lines (layout);
+
+ num = 0;
+ for (l = lines; l; l = l->next)
+ {
+ line = l->data;
+ if (index < line->start_index + line->length)
+ break;
+ num++;
+ }
+
+ if (count < 0)
+ {
+ num += count;
+ if (num < 0)
+ num = 0;
+
+ line = g_slist_nth_data (lines, num);
+
+ return g_utf8_pointer_to_offset (text, text + line->start_index);
+ }
+ else
+ {
+ line_pos = index - line->start_index;
+
+ len = g_slist_length (lines);
+ num += count;
+ if (num >= len || (count == 0 && num == len - 1))
+ return g_utf8_strlen (text, -1) - 1;
+
+ line = l->data;
+ pos = line->start_index + line_pos;
+ if (pos >= line->start_index + line->length)
+ pos = line->start_index + line->length - 1;
+
+ return g_utf8_pointer_to_offset (text, text + pos);
+ }
+}
+
+/*
+ * _gtk_pango_is_inside_word:
+ * @layout: a #PangoLayout
+ * @offset: a character offset in @layout
+ *
+ * Returns whether the given position is inside
+ * a word.
+ *
+ * Returns: %TRUE if @offset is inside a word
+ */
+gboolean
+_gtk_pango_is_inside_word (PangoLayout *layout,
+ gint offset)
+{
+ const PangoLogAttr *attrs;
+ gint n_attrs;
+
+ attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
+
+ while (offset >= 0 &&
+ !(attrs[offset].is_word_start || attrs[offset].is_word_end))
+ offset--;
+
+ if (offset >= 0)
+ return attrs[offset].is_word_start;
+
+ return FALSE;
+}
+
+/*
+ * _gtk_pango_is_inside_sentence:
+ * @layout: a #PangoLayout
+ * @offset: a character offset in @layout
+ *
+ * Returns whether the given position is inside
+ * a sentence.
+ *
+ * Returns: %TRUE if @offset is inside a sentence
+ */
+gboolean
+_gtk_pango_is_inside_sentence (PangoLayout *layout,
+ gint offset)
+{
+ const PangoLogAttr *attrs;
+ gint n_attrs;
+
+ attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
+
+ while (offset >= 0 &&
+ !(attrs[offset].is_sentence_start || attrs[offset].is_sentence_end))
+ offset--;
+
+ if (offset >= 0)
+ return attrs[offset].is_sentence_start;
+
+ return FALSE;
+}
+
+static void
+pango_layout_get_line_before (PangoLayout *layout,
+ AtkTextBoundary boundary_type,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset)
+{
+ PangoLayoutIter *iter;
+ PangoLayoutLine *line, *prev_line = NULL, *prev_prev_line = NULL;
+ gint index, start_index, end_index;
+ const gchar *text;
+ gboolean found = FALSE;
+
+ text = pango_layout_get_text (layout);
+ index = g_utf8_offset_to_pointer (text, offset) - text;
+ iter = pango_layout_get_iter (layout);
+ do
+ {
+ line = pango_layout_iter_get_line (iter);
+ start_index = line->start_index;
+ end_index = start_index + line->length;
+
+ if (index >= start_index && index <= end_index)
+ {
+ /* Found line for offset */
+ if (prev_line)
+ {
+ switch (boundary_type)
+ {
+ case ATK_TEXT_BOUNDARY_LINE_START:
+ end_index = start_index;
+ start_index = prev_line->start_index;
+ break;
+ case ATK_TEXT_BOUNDARY_LINE_END:
+ if (prev_prev_line)
+ start_index = prev_prev_line->start_index + prev_prev_line->length;
+ else
+ start_index = 0;
+ end_index = prev_line->start_index + prev_line->length;
+ break;
+ default:
+ g_assert_not_reached();
+ }
+ }
+ else
+ start_index = end_index = 0;
+
+ found = TRUE;
+ break;
+ }
+
+ prev_prev_line = prev_line;
+ prev_line = line;
+ }
+ while (pango_layout_iter_next_line (iter));
+
+ if (!found)
+ {
+ start_index = prev_line->start_index + prev_line->length;
+ end_index = start_index;
+ }
+ pango_layout_iter_free (iter);
+
+ *start_offset = g_utf8_pointer_to_offset (text, text + start_index);
+ *end_offset = g_utf8_pointer_to_offset (text, text + end_index);
+}
+
+static void
+pango_layout_get_line_at (PangoLayout *layout,
+ AtkTextBoundary boundary_type,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset)
+{
+ PangoLayoutIter *iter;
+ PangoLayoutLine *line, *prev_line = NULL;
+ gint index, start_index, end_index;
+ const gchar *text;
+ gboolean found = FALSE;
+
+ text = pango_layout_get_text (layout);
+ index = g_utf8_offset_to_pointer (text, offset) - text;
+ iter = pango_layout_get_iter (layout);
+ do
+ {
+ line = pango_layout_iter_get_line (iter);
+ start_index = line->start_index;
+ end_index = start_index + line->length;
+
+ if (index >= start_index && index <= end_index)
+ {
+ /* Found line for offset */
+ switch (boundary_type)
+ {
+ case ATK_TEXT_BOUNDARY_LINE_START:
+ if (pango_layout_iter_next_line (iter))
+ end_index = pango_layout_iter_get_line (iter)->start_index;
+ break;
+ case ATK_TEXT_BOUNDARY_LINE_END:
+ if (prev_line)
+ start_index = prev_line->start_index + prev_line->length;
+ break;
+ default:
+ g_assert_not_reached();
+ }
+
+ found = TRUE;
+ break;
+ }
+
+ prev_line = line;
+ }
+ while (pango_layout_iter_next_line (iter));
+
+ if (!found)
+ {
+ start_index = prev_line->start_index + prev_line->length;
+ end_index = start_index;
+ }
+ pango_layout_iter_free (iter);
+
+ *start_offset = g_utf8_pointer_to_offset (text, text + start_index);
+ *end_offset = g_utf8_pointer_to_offset (text, text + end_index);
+}
+
+static void
+pango_layout_get_line_after (PangoLayout *layout,
+ AtkTextBoundary boundary_type,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset)
+{
+ PangoLayoutIter *iter;
+ PangoLayoutLine *line, *prev_line = NULL;
+ gint index, start_index, end_index;
+ const gchar *text;
+ gboolean found = FALSE;
+
+ text = pango_layout_get_text (layout);
+ index = g_utf8_offset_to_pointer (text, offset) - text;
+ iter = pango_layout_get_iter (layout);
+ do
+ {
+ line = pango_layout_iter_get_line (iter);
+ start_index = line->start_index;
+ end_index = start_index + line->length;
+
+ if (index >= start_index && index <= end_index)
+ {
+ /* Found line for offset */
+ if (pango_layout_iter_next_line (iter))
+ {
+ line = pango_layout_iter_get_line (iter);
+ switch (boundary_type)
+ {
+ case ATK_TEXT_BOUNDARY_LINE_START:
+ start_index = line->start_index;
+ if (pango_layout_iter_next_line (iter))
+ end_index = pango_layout_iter_get_line (iter)->start_index;
+ else
+ end_index = start_index + line->length;
+ break;
+ case ATK_TEXT_BOUNDARY_LINE_END:
+ start_index = end_index;
+ end_index = line->start_index + line->length;
+ break;
+ default:
+ g_assert_not_reached();
+ }
+ }
+ else
+ start_index = end_index;
+
+ found = TRUE;
+ break;
+ }
+
+ prev_line = line;
+ }
+ while (pango_layout_iter_next_line (iter));
+
+ if (!found)
+ {
+ start_index = prev_line->start_index + prev_line->length;
+ end_index = start_index;
+ }
+ pango_layout_iter_free (iter);
+
+ *start_offset = g_utf8_pointer_to_offset (text, text + start_index);
+ *end_offset = g_utf8_pointer_to_offset (text, text + end_index);
+}
+
+/*
+ * _gtk_pango_get_text_before:
+ * @layout: a #PangoLayout
+ * @boundary_type: a #AtkTextBoundary
+ * @offset: a character offset in @layout
+ * @start_offset: return location for the start of the returned text
+ * @end_offset: return location for the end of the return text
+ *
+ * Gets a slice of the text from @layout before @offset.
+ *
+ * The @boundary_type determines the size of the returned slice of
+ * text. For the exact semantics of this function, see
+ * atk_text_get_text_before_offset().
+ *
+ * Returns: a newly allocated string containing a slice of text
+ * from layout. Free with g_free().
+ */
+gchar *
+_gtk_pango_get_text_before (PangoLayout *layout,
+ AtkTextBoundary boundary_type,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset)
+{
+ const gchar *text;
+ gint start, end;
+ const PangoLogAttr *attrs;
+ gint n_attrs;
+
+ text = pango_layout_get_text (layout);
+
+ if (text[0] == 0)
+ {
+ *start_offset = 0;
+ *end_offset = 0;
+ return g_strdup ("");
+ }
+
+ attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
+
+ start = offset;
+ end = start;
+
+ switch (boundary_type)
+ {
+ case ATK_TEXT_BOUNDARY_CHAR:
+ start = _gtk_pango_move_chars (layout, start, -1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_START:
+ if (!attrs[start].is_word_start)
+ start = _gtk_pango_move_words (layout, start, -1);
+ end = start;
+ start = _gtk_pango_move_words (layout, start, -1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_END:
+ if (_gtk_pango_is_inside_word (layout, start) &&
+ !attrs[start].is_word_start)
+ start = _gtk_pango_move_words (layout, start, -1);
+ while (!attrs[start].is_word_end && start > 0)
+ start = _gtk_pango_move_chars (layout, start, -1);
+ end = start;
+ start = _gtk_pango_move_words (layout, start, -1);
+ while (!attrs[start].is_word_end && start > 0)
+ start = _gtk_pango_move_chars (layout, start, -1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_START:
+ if (!attrs[start].is_sentence_start)
+ start = _gtk_pango_move_sentences (layout, start, -1);
+ end = start;
+ start = _gtk_pango_move_sentences (layout, start, -1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_END:
+ if (_gtk_pango_is_inside_sentence (layout, start) &&
+ !attrs[start].is_sentence_start)
+ start = _gtk_pango_move_sentences (layout, start, -1);
+ while (!attrs[start].is_sentence_end && start > 0)
+ start = _gtk_pango_move_chars (layout, start, -1);
+ end = start;
+ start = _gtk_pango_move_sentences (layout, start, -1);
+ while (!attrs[start].is_sentence_end && start > 0)
+ start = _gtk_pango_move_chars (layout, start, -1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_LINE_START:
+ case ATK_TEXT_BOUNDARY_LINE_END:
+ pango_layout_get_line_before (layout, boundary_type, offset, &start, &end);
+ break;
+ }
+
+ *start_offset = start;
+ *end_offset = end;
+
+ g_assert (start <= end);
+
+ return g_utf8_substring (text, start, end);
+}
+
+/*
+ * _gtk_pango_get_text_after:
+ * @layout: a #PangoLayout
+ * @boundary_type: a #AtkTextBoundary
+ * @offset: a character offset in @layout
+ * @start_offset: return location for the start of the returned text
+ * @end_offset: return location for the end of the return text
+ *
+ * Gets a slice of the text from @layout after @offset.
+ *
+ * The @boundary_type determines the size of the returned slice of
+ * text. For the exact semantics of this function, see
+ * atk_text_get_text_after_offset().
+ *
+ * Returns: a newly allocated string containing a slice of text
+ * from layout. Free with g_free().
+ */
+gchar *
+_gtk_pango_get_text_after (PangoLayout *layout,
+ AtkTextBoundary boundary_type,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset)
+{
+ const gchar *text;
+ gint start, end;
+ const PangoLogAttr *attrs;
+ gint n_attrs;
+
+ text = pango_layout_get_text (layout);
+
+ if (text[0] == 0)
+ {
+ *start_offset = 0;
+ *end_offset = 0;
+ return g_strdup ("");
+ }
+
+ attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
+
+ start = offset;
+ end = start;
+
+ switch (boundary_type)
+ {
+ case ATK_TEXT_BOUNDARY_CHAR:
+ start = _gtk_pango_move_chars (layout, start, 1);
+ end = start;
+ end = _gtk_pango_move_chars (layout, end, 1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_START:
+ if (_gtk_pango_is_inside_word (layout, end))
+ end = _gtk_pango_move_words (layout, end, 1);
+ while (!attrs[end].is_word_start && end < n_attrs - 1)
+ end = _gtk_pango_move_chars (layout, end, 1);
+ start = end;
+ if (end < n_attrs - 1)
+ {
+ end = _gtk_pango_move_words (layout, end, 1);
+ while (!attrs[end].is_word_end && end < n_attrs - 1)
+ end = _gtk_pango_move_chars (layout, end, 1);
+ }
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_END:
+ end = _gtk_pango_move_words (layout, end, 1);
+ start = end;
+ if (end < n_attrs - 1)
+ end = _gtk_pango_move_words (layout, end, 1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_START:
+ if (_gtk_pango_is_inside_sentence (layout, end))
+ end = _gtk_pango_move_sentences (layout, end, 1);
+ while (!attrs[end].is_sentence_end && end < n_attrs - 1)
+ end = _gtk_pango_move_chars (layout, end, 1);
+ start = end;
+ if (end < n_attrs - 1)
+ {
+ end = _gtk_pango_move_sentences (layout, end, 1);
+ while (!attrs[end].is_sentence_start && end < n_attrs - 1)
+ end = _gtk_pango_move_chars (layout, end, 1);
+ }
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_END:
+ end = _gtk_pango_move_sentences (layout, end, 1);
+ start = end;
+ if (end < n_attrs - 1)
+ end = _gtk_pango_move_sentences (layout, end, 1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_LINE_START:
+ case ATK_TEXT_BOUNDARY_LINE_END:
+ pango_layout_get_line_after (layout, boundary_type, offset, &start, &end);
+ break;
+ }
+
+ *start_offset = start;
+ *end_offset = end;
+
+ g_assert (start <= end);
+
+ return g_utf8_substring (text, start, end);
+}
+
+/*
+ * _gtk_pango_get_text_at:
+ * @layout: a #PangoLayout
+ * @boundary_type: a #AtkTextBoundary
+ * @offset: a character offset in @layout
+ * @start_offset: return location for the start of the returned text
+ * @end_offset: return location for the end of the return text
+ *
+ * Gets a slice of the text from @layout at @offset.
+ *
+ * The @boundary_type determines the size of the returned slice of
+ * text. For the exact semantics of this function, see
+ * atk_text_get_text_after_offset().
+ *
+ * Returns: a newly allocated string containing a slice of text
+ * from layout. Free with g_free().
+ */
+gchar *
+_gtk_pango_get_text_at (PangoLayout *layout,
+ AtkTextBoundary boundary_type,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset)
+{
+ const gchar *text;
+ gint start, end;
+ const PangoLogAttr *attrs;
+ gint n_attrs;
+
+ text = pango_layout_get_text (layout);
+
+ if (text[0] == 0)
+ {
+ *start_offset = 0;
+ *end_offset = 0;
+ return g_strdup ("");
+ }
+
+ attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
+
+ start = offset;
+ end = start;
+
+ switch (boundary_type)
+ {
+ case ATK_TEXT_BOUNDARY_CHAR:
+ end = _gtk_pango_move_chars (layout, end, 1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_START:
+ if (!attrs[start].is_word_start)
+ start = _gtk_pango_move_words (layout, start, -1);
+ if (_gtk_pango_is_inside_word (layout, end))
+ end = _gtk_pango_move_words (layout, end, 1);
+ while (!attrs[end].is_word_start && end < n_attrs - 1)
+ end = _gtk_pango_move_chars (layout, end, -1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_END:
+ if (_gtk_pango_is_inside_word (layout, start) &&
+ !attrs[start].is_word_start)
+ start = _gtk_pango_move_words (layout, start, -1);
+ while (!attrs[start].is_word_end && start > 0)
+ start = _gtk_pango_move_chars (layout, start, -1);
+ end = _gtk_pango_move_words (layout, end, 1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_START:
+ if (!attrs[start].is_sentence_start)
+ start = _gtk_pango_move_sentences (layout, start, -1);
+ if (_gtk_pango_is_inside_sentence (layout, end))
+ end = _gtk_pango_move_sentences (layout, end, 1);
+ while (!attrs[end].is_word_end && end < n_attrs - 1)
+ end = _gtk_pango_move_chars (layout, end, 1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_END:
+ if (_gtk_pango_is_inside_sentence (layout, start) &&
+ !attrs[start].is_sentence_start)
+ start = _gtk_pango_move_sentences (layout, start, -1);
+ while (!attrs[start].is_sentence_end && start > 0)
+ start = _gtk_pango_move_chars (layout, start, -1);
+ end = _gtk_pango_move_sentences (layout, end, 1);
+ break;
+
+ case ATK_TEXT_BOUNDARY_LINE_START:
+ case ATK_TEXT_BOUNDARY_LINE_END:
+ pango_layout_get_line_at (layout, boundary_type, offset, &start, &end);
+ break;
+ }
+
+ *start_offset = start;
+ *end_offset = end;
+
+ g_assert (start <= end);
+
+ return g_utf8_substring (text, start, end);
+}
* 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_PANGO_H__
#define __GTK_PANGO_H__
#include <pango/pangocairo.h>
-
+#include <atk/atk.h>
G_BEGIN_DECLS
-void
-_gtk_pango_fill_layout (cairo_t *cr,
- PangoLayout *layout);
+void _gtk_pango_fill_layout (cairo_t *cr,
+ PangoLayout *layout);
+
+
+AtkAttributeSet *_gtk_pango_get_default_attributes (AtkAttributeSet *attributes,
+ PangoLayout *layout);
+
+AtkAttributeSet *_gtk_pango_get_run_attributes (AtkAttributeSet *attributes,
+ PangoLayout *layout,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset);
+
+gint _gtk_pango_move_chars (PangoLayout *layout,
+ gint offset,
+ gint count);
+gint _gtk_pango_move_words (PangoLayout *layout,
+ gint offset,
+ gint count);
+gint _gtk_pango_move_sentences (PangoLayout *layout,
+ gint offset,
+ gint count);
+gint _gtk_pango_move_lines (PangoLayout *layout,
+ gint offset,
+ gint count);
+
+gboolean _gtk_pango_is_inside_word (PangoLayout *layout,
+ gint offset);
+gboolean _gtk_pango_is_inside_sentence (PangoLayout *layout,
+ gint offset);
+
+gchar *_gtk_pango_get_text_before (PangoLayout *layout,
+ AtkTextBoundary boundary_type,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset);
+gchar *_gtk_pango_get_text_at (PangoLayout *layout,
+ AtkTextBoundary boundary_type,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset);
+gchar *_gtk_pango_get_text_after (PangoLayout *layout,
+ AtkTextBoundary boundary_type,
+ gint offset,
+ gint *start_offset,
+ gint *end_offset);
G_END_DECLS
widget_class->focus = gtk_plug_focus;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_PANEL);
+
container_class->check_resize = gtk_plug_check_resize;
window_class->set_focus = gtk_plug_set_focus;
#include "gtkprivate.h"
#include "gtkintl.h"
+#include "a11y/gtkprogressbaraccessible.h"
+
/**
* SECTION:gtkprogressbar
* @Short_description: A widget which indicates progress visually
* the #GtkProgressBar::text property or, if that is %NULL,
* the #GtkProgressBar::fraction value, as a percentage.
*
+ * To make a progress bar that is styled and sized suitably for containing
+ * text (even if the actual text is blank), set #GtkProgressBar:show-text to
+ * %TRUE and #GtkProgressBar:text to the empty string (not %NULL).
+ *
* Since: 3.0
*/
g_object_class_install_property (gobject_class,
G_PARAM_READWRITE));
g_type_class_add_private (class, sizeof (GtkProgressBarPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_PROGRESS_BAR_ACCESSIBLE);
}
static void
GtkStyleContext *context;
GtkStateFlags state;
GtkBorder padding;
- guint size;
+ gint size;
gtk_widget_get_allocation (widget, &allocation);
context = gtk_widget_get_style_context (widget);
* @text: (allow-none): a UTF-8 string, or %NULL
*
* Causes the given @text to appear superimposed on the progress bar.
+ *
+ * If @text is %NULL and #GtkProgressBar:show-text is %TRUE, the current
+ * value of #GtkProgressBar:fraction will be displayed as a percentage.
+ *
+ * If @text is non-%NULL and #GtkProgressBar:show-text is %TRUE, the text will
+ * be displayed. In this case, it will not display the progress percentage.
+ * If @text is the empty string, the progress bar will still be styled and sized
+ * suitably for containing text, as long as #GtkProgressBar:show-text is %TRUE.
**/
void
gtk_progress_bar_set_text (GtkProgressBar *pbar,
priv = pbar->priv;
+ /* Don't notify again if nothing's changed. */
+ if (g_strcmp0 (priv->text, text) == 0)
+ return;
+
g_free (priv->text);
- priv->text = text && *text ? g_strdup (text) : NULL;
+ priv->text = g_strdup (text);
gtk_widget_queue_resize (GTK_WIDGET (pbar));
* the #GtkProgressBar::text property or, if that is %NULL,
* the #GtkProgressBar::fraction value, as a percentage.
*
+ * To make a progress bar that is styled and sized suitably for containing
+ * text (even if the actual text is blank), set #GtkProgressBar:show-text to
+ * %TRUE and #GtkProgressBar:text to the empty string (not %NULL).
+ *
* Since: 3.0
*/
void
selection_data = g_slice_new0 (GtkSelectionData);
selection_data->selection = selection;
selection_data->target = target;
-
+ if (!selection_data->display)
+ selection_data->display = gdk_display_get_default ();
if (target == gdk_atom_intern_static_string ("UTF8_STRING"))
{
NSString *s = [pasteboard stringForType:NSStringPboardType];
#include "gtkmarshalers.h"
#include "gtkprivate.h"
#include "gtkintl.h"
+#include "a11y/gtkradiobuttonaccessible.h"
/**
* SECTION:gtkradiobutton
G_TYPE_NONE, 0);
g_type_class_add_private (class, sizeof (GtkRadioButtonPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_RADIO_BUTTON_ACCESSIBLE);
}
static void
#include "gtkactivatable.h"
#include "gtkprivate.h"
#include "gtkintl.h"
-
+#include "a11y/gtkradiomenuitemaccessible.h"
/**
* SECTION:gtkradiomenuitem
return radio_menu_item->priv->group;
}
-
static void
gtk_radio_menu_item_class_init (GtkRadioMenuItemClass *klass)
{
- GObjectClass *gobject_class;
+ GObjectClass *gobject_class;
GtkWidgetClass *widget_class;
GtkMenuItemClass *menu_item_class;
widget_class->destroy = gtk_radio_menu_item_destroy;
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_RADIO_MENU_ITEM_ACCESSIBLE);
+
menu_item_class->activate = gtk_radio_menu_item_activate;
/**
#include "gtkprivate.h"
#include "gtkintl.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtkrangeaccessible.h"
/**
* SECTION:gtkrange
GTK_PARAM_READABLE));
g_type_class_add_private (class, sizeof (GtkRangePrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_RANGE_ACCESSIBLE);
}
static void
memset (&box->border_radius, 0, sizeof (GtkCssBorderRadius));
}
+/* clamp border radius, following CSS specs */
+static void
+gtk_rounded_box_clamp_border_radius (GtkRoundedBox *box)
+{
+ gdouble factor = 1.0;
+
+ /* note: division by zero leads to +INF, which is > factor, so will be ignored */
+ factor = MIN (factor, box->box.width / (box->border_radius.top_left.horizontal +
+ box->border_radius.top_right.horizontal));
+ factor = MIN (factor, box->box.height / (box->border_radius.top_right.vertical +
+ box->border_radius.bottom_right.vertical));
+ factor = MIN (factor, box->box.width / (box->border_radius.bottom_right.horizontal +
+ box->border_radius.bottom_left.horizontal));
+ factor = MIN (factor, box->box.height / (box->border_radius.top_left.vertical +
+ box->border_radius.bottom_left.vertical));
+
+ box->border_radius.top_left.horizontal *= factor;
+ box->border_radius.top_left.vertical *= factor;
+ box->border_radius.top_right.horizontal *= factor;
+ box->border_radius.top_right.vertical *= factor;
+ box->border_radius.bottom_right.horizontal *= factor;
+ box->border_radius.bottom_right.vertical *= factor;
+ box->border_radius.bottom_left.horizontal *= factor;
+ box->border_radius.bottom_left.vertical *= factor;
+}
+
void
_gtk_rounded_box_apply_border_radius (GtkRoundedBox *box,
GtkThemingEngine *engine,
if (bottom_left_radius && (junction & GTK_JUNCTION_CORNER_BOTTOMLEFT) == 0)
box->border_radius.bottom_left = *bottom_left_radius;
+ gtk_rounded_box_clamp_border_radius (box);
+
g_free (top_left_radius);
g_free (top_right_radius);
g_free (bottom_right_radius);
#include "gtkbuildable.h"
#include "gtkbuilderprivate.h"
+#include "a11y/gtkscaleaccessible.h"
+
/**
* SECTION:gtkscale
GTK_SCROLL_END);
g_type_class_add_private (gobject_class, sizeof (GtkScalePrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SCALE_ACCESSIBLE);
}
static void
if (fmt)
return fmt;
else
- /* insert a LRM, to prevent -20 to come out as 20- in RTL locales */
- return g_strdup_printf ("\342\200\216%0.*f", priv->digits, value);
+ return g_strdup_printf ("%0.*f", priv->digits, value);
}
static void
#include "gtkwindow.h"
#include "gtktypebuiltins.h"
#include "gtkintl.h"
+#include "a11y/gtkscalebuttonaccessible.h"
/**
* SECTION:gtkscalebutton
"popup", 0);
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Escape, 0,
"popdown", 0);
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SCALE_BUTTON_ACCESSIBLE);
}
static void
#include "gtkintl.h"
#include "gtkprivate.h"
+#include "a11y/gtkscrollbaraccessible.h"
+
/**
* SECTION:gtkscrollbar
P_("Display a second forward arrow button on the opposite end of the scrollbar"),
FALSE,
GTK_PARAM_READABLE));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SCROLLBAR_ACCESSIBLE);
}
static void
#include "gtkprivate.h"
#include "gtktypebuiltins.h"
#include "gtkintl.h"
-
+#include "a11y/gtkscrolledwindowaccessible.h"
/**
* SECTION:gtkscrolledwindow
add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
g_type_class_add_private (class, sizeof (GtkScrolledWindowPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SCROLLED_WINDOW_ACCESSIBLE);
}
static void
widget_class->get_preferred_width = gtk_separator_get_preferred_width;
widget_class->get_preferred_height = gtk_separator_get_preferred_height;
- widget_class->draw = gtk_separator_draw;
+ widget_class->draw = gtk_separator_draw;
+
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_SEPARATOR);
g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation");
*/
#include "config.h"
-#include "gtkaccessibleprivate.h"
#include "gtkseparatormenuitem.h"
/**
* make it appear sunken into the interface.
*/
-static AtkObject *gtk_separator_menu_item_get_accessible (GtkWidget *widget);
-
G_DEFINE_TYPE (GtkSeparatorMenuItem, gtk_separator_menu_item, GTK_TYPE_MENU_ITEM)
static void
gtk_separator_menu_item_class_init (GtkSeparatorMenuItemClass *class)
{
GTK_CONTAINER_CLASS (class)->child_type = NULL;
- GTK_WIDGET_CLASS (class)->get_accessible = gtk_separator_menu_item_get_accessible;
+
+ gtk_widget_class_set_accessible_role (GTK_WIDGET_CLASS (class), ATK_ROLE_SEPARATOR);
}
static void
{
return g_object_new (GTK_TYPE_SEPARATOR_MENU_ITEM, NULL);
}
-
-typedef struct _GtkSeparatorMenuItemAccessible GtkSeparatorMenuItemAccessible;
-typedef struct _GtkSeparatorMenuItemAccessibleClass GtkSeparatorMenuItemAccessibleClass;
-
-ATK_DEFINE_TYPE (GtkSeparatorMenuItemAccessible, _gtk_separator_menu_item_accessible, GTK_TYPE_MENU_ITEM);
-
-static void
-_gtk_separator_menu_item_accessible_initialize (AtkObject *accessible,
- gpointer widget)
-{
- ATK_OBJECT_CLASS (_gtk_separator_menu_item_accessible_parent_class)->initialize (accessible, widget);
-
- atk_object_set_role (accessible, ATK_ROLE_SEPARATOR);
-}
-
-static void
-_gtk_separator_menu_item_accessible_class_init (GtkSeparatorMenuItemAccessibleClass *klass)
-{
- AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass);
-
- atk_class->initialize = _gtk_separator_menu_item_accessible_initialize;
-}
-
-static void
-_gtk_separator_menu_item_accessible_init (GtkSeparatorMenuItemAccessible *self)
-{
-}
-
-typedef AtkObjectFactoryClass GtkSeparatorMenuItemAccessibleFactoryClass;
-typedef AtkObjectFactory GtkSeparatorMenuItemAccessibleFactory;
-
-G_DEFINE_TYPE (GtkSeparatorMenuItemAccessibleFactory,
- _gtk_separator_menu_item_accessible_factory,
- ATK_TYPE_OBJECT_FACTORY);
-
-static GType
-_gtk_separator_menu_item_accessible_factory_get_accessible_type (void)
-{
- return _gtk_separator_menu_item_accessible_get_type ();
-}
-
-static AtkObject *
-_gtk_separator_menu_item_accessible_factory_create_accessible (GObject *obj)
-{
- AtkObject *accessible;
-
- accessible = g_object_new (_gtk_separator_menu_item_accessible_get_type (), NULL);
- atk_object_initialize (accessible, obj);
-
- return accessible;
-}
-
-static void
-_gtk_separator_menu_item_accessible_factory_class_init (AtkObjectFactoryClass *klass)
-{
- klass->create_accessible = _gtk_separator_menu_item_accessible_factory_create_accessible;
- klass->get_accessible_type = _gtk_separator_menu_item_accessible_factory_get_accessible_type;
-}
-
-static void
-_gtk_separator_menu_item_accessible_factory_init (AtkObjectFactory *factory)
-{
-}
-
-static AtkObject *
-gtk_separator_menu_item_get_accessible (GtkWidget *widget)
-{
- static gboolean initialized = FALSE;
-
- if (G_UNLIKELY (!initialized))
- {
- _gtk_accessible_set_factory_type (GTK_TYPE_SEPARATOR_MENU_ITEM,
- _gtk_separator_menu_item_accessible_factory_get_type ());
-
- initialized = TRUE;
- }
-
- return GTK_WIDGET_CLASS (gtk_separator_menu_item_parent_class)->get_accessible (widget);
-}
#include "gtkintl.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtkspinbuttonaccessible.h"
+
#define MIN_SPIN_BUTTON_WIDTH 30
#define MAX_TIMER_CALLS 5
#define EPSILON 1e-10
add_spin_binding (binding_set, GDK_KEY_Page_Down, GDK_CONTROL_MASK, GTK_SCROLL_START);
g_type_class_add_private (class, sizeof (GtkSpinButtonPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SPIN_BUTTON_ACCESSIBLE);
}
static void
#include "gtkaccessible.h"
#include "gtkimage.h"
#include "gtkspinner.h"
+#include "a11y/gtkspinneraccessible.h"
/**
gint *minimum_size,
gint *natural_size);
-static AtkObject *gtk_spinner_get_accessible (GtkWidget *widget);
-static GType gtk_spinner_accessible_get_type (void);
G_DEFINE_TYPE (GtkSpinner, gtk_spinner, GTK_TYPE_WIDGET)
widget_class = GTK_WIDGET_CLASS(klass);
widget_class->draw = gtk_spinner_draw;
- widget_class->get_accessible = gtk_spinner_get_accessible;
widget_class->get_preferred_width = gtk_spinner_get_preferred_width;
widget_class->get_preferred_height = gtk_spinner_get_preferred_height;
P_("Whether the spinner is active"),
FALSE,
G_PARAM_READWRITE));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SPINNER_ACCESSIBLE);
}
static void
}
}
-/* accessible implementation */
-
-static void
-gtk_spinner_accessible_image_get_size (AtkImage *image,
- gint *width,
- gint *height)
-{
- GtkAllocation allocation;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
- if (widget == NULL)
- {
- *width = *height = 0;
- }
- else
- {
- gtk_widget_get_allocation (widget, &allocation);
- *width = allocation.width;
- *height = allocation.height;
- }
-}
-
-static void
-gtk_spinner_accessible_image_iface_init (AtkImageIface *iface)
-{
- iface->get_image_size = gtk_spinner_accessible_image_get_size;
-}
-
-/* dummy typedef */
-typedef struct _GtkSpinnerAccessible GtkSpinnerAccessible;
-typedef struct _GtkSpinnerAccessibleClass GtkSpinnerAccessibleClass;
-
-ATK_DEFINE_TYPE_WITH_CODE (GtkSpinnerAccessible,
- gtk_spinner_accessible,
- GTK_TYPE_IMAGE,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE,
- gtk_spinner_accessible_image_iface_init));
-
-static void
-gtk_spinner_accessible_initialize (AtkObject *accessible,
- gpointer widget)
-{
- ATK_OBJECT_CLASS (gtk_spinner_accessible_parent_class)->initialize (accessible, widget);
-
- atk_object_set_name (accessible, C_("throbbing progress animation widget", "Spinner"));
- atk_object_set_description (accessible, _("Provides visual indication of progress"));
-}
-
-static void
-gtk_spinner_accessible_class_init (GtkSpinnerAccessibleClass *klass)
-{
- AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass);
-
- atk_class->initialize = gtk_spinner_accessible_initialize;
-}
-
-static void
-gtk_spinner_accessible_init (GtkSpinnerAccessible *self)
-{
-}
-
-/* factory */
-typedef AtkObjectFactory GtkSpinnerAccessibleFactory;
-typedef AtkObjectFactoryClass GtkSpinnerAccessibleFactoryClass;
-
-G_DEFINE_TYPE (GtkSpinnerAccessibleFactory,
- _gtk_spinner_accessible_factory,
- ATK_TYPE_OBJECT_FACTORY);
-
-static GType
-gtk_spinner_accessible_factory_get_accessible_type (void)
-{
- return gtk_spinner_accessible_get_type ();
-}
-
-static AtkObject *
-gtk_spinner_accessible_factory_create_accessible (GObject *obj)
-{
- AtkObject *accessible;
-
- accessible = g_object_new (gtk_spinner_accessible_get_type (), NULL);
- atk_object_initialize (accessible, obj);
-
- return accessible;
-}
-
-static void
-_gtk_spinner_accessible_factory_class_init (AtkObjectFactoryClass *klass)
-{
- klass->create_accessible = gtk_spinner_accessible_factory_create_accessible;
- klass->get_accessible_type = gtk_spinner_accessible_factory_get_accessible_type;
-}
-
-static void
-_gtk_spinner_accessible_factory_init (AtkObjectFactory *factory)
-{
-}
-
-static AtkObject *
-gtk_spinner_get_accessible (GtkWidget *widget)
-{
- static gboolean first_time = TRUE;
-
- if (first_time)
- {
- AtkObjectFactory *factory;
- AtkRegistry *registry;
- GType derived_type;
- GType derived_atk_type;
-
- /*
- * Figure out whether accessibility is enabled by looking at the
- * type of the accessible object which would be created for
- * the parent type of GtkSpinner.
- */
- derived_type = g_type_parent (GTK_TYPE_SPINNER);
-
- registry = atk_get_default_registry ();
- factory = atk_registry_get_factory (registry, derived_type);
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- if (g_type_is_a (derived_atk_type, GTK_TYPE_ACCESSIBLE))
- atk_registry_set_factory_type (registry,
- GTK_TYPE_SPINNER,
- _gtk_spinner_accessible_factory_get_type ());
- first_time = FALSE;
- }
-
- return GTK_WIDGET_CLASS (gtk_spinner_parent_class)->get_accessible (widget);
-}
-
/**
* gtk_spinner_new:
*
#include "gtkbuildable.h"
#include "gtkorientable.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtkstatusbaraccessible.h"
/**
* SECTION:gtkstatusbar
GTK_PARAM_READABLE));
g_type_class_add_private (class, sizeof (GtkStatusbarPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_STATUSBAR_ACCESSIBLE);
}
static void
#include "config.h"
#include <gdk/gdk.h>
+#include <math.h>
#include <stdlib.h>
#include <gobject/gvaluecollector.h>
cairo_restore (cr);
}
+
+static AtkAttributeSet *
+add_attribute (AtkAttributeSet *attributes,
+ AtkTextAttribute attr,
+ const gchar *value)
+{
+ AtkAttribute *at;
+
+ at = g_new (AtkAttribute, 1);
+ at->name = g_strdup (atk_text_attribute_get_name (attr));
+ at->value = g_strdup (value);
+
+ return g_slist_prepend (attributes, at);
+}
+
+/*
+ * _gtk_style_context_get_attributes:
+ * @attributes: a #AtkAttributeSet to add attributes to
+ * @context: the #GtkStyleContext to get attributes from
+ * @flags: the state to use with @context
+ *
+ * Adds the foreground and background color from @context to
+ * @attributes, after translating them to ATK attributes.
+ *
+ * This is a convenience function that can be used in
+ * implementing the #AtkText interface in widgets.
+ *
+ * Returns: the modified #AtkAttributeSet
+ */
+AtkAttributeSet *
+_gtk_style_context_get_attributes (AtkAttributeSet *attributes,
+ GtkStyleContext *context,
+ GtkStateFlags flags)
+{
+ GdkRGBA color;
+ gchar *value;
+
+ gtk_style_context_get_background_color (context, flags, &color);
+ value = g_strdup_printf ("%u,%u,%u",
+ (guint) ceil (color.red * 65536 - color.red),
+ (guint) ceil (color.green * 65536 - color.green),
+ (guint) ceil (color.blue * 65536 - color.blue));
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_BG_COLOR, value);
+ g_free (value);
+
+ gtk_style_context_get_color (context, flags, &color);
+ value = g_strdup_printf ("%u,%u,%u",
+ (guint) ceil (color.red * 65536 - color.red),
+ (guint) ceil (color.green * 65536 - color.green),
+ (guint) ceil (color.blue * 65536 - color.blue));
+ attributes = add_attribute (attributes, ATK_TEXT_ATTR_FG_COLOR, value);
+ g_free (value);
+
+ return attributes;
+}
#include <gtk/gtkstyleprovider.h>
#include <gtk/gtkwidgetpath.h>
#include <gtk/gtkborder.h>
+#include <atk/atk.h>
G_BEGIN_DECLS
gdouble x,
gdouble y);
+/* Accessibility support */
+AtkAttributeSet *_gtk_style_context_get_attributes (AtkAttributeSet *attributes,
+ GtkStyleContext *context,
+ GtkStateFlags flags);
+
G_END_DECLS
#endif /* __GTK_STYLE_CONTEXT_H__ */
NULL,
NULL,
NULL,
+ NULL,
NULL);
}
return;
}
+ if (node->unset_func)
+ {
+ node->unset_func (props, state);
+ return;
+ }
+
priv = props->priv;
prop = g_hash_table_lookup (priv->properties, node);
GValue *value)
{
PangoFontDescription *font_desc;
+ guint mask;
char *str;
str = _gtk_css_parser_read_value (parser);
return FALSE;
font_desc = pango_font_description_from_string (str);
+ mask = pango_font_description_get_set_fields (font_desc);
+ /* These values are not really correct,
+ * but the fields must be set, so we set them to something */
+ if ((mask & PANGO_FONT_MASK_FAMILY) == 0)
+ pango_font_description_set_family_static (font_desc, "Sans");
+ if ((mask & PANGO_FONT_MASK_SIZE) == 0)
+ pango_font_description_set_size (font_desc, 10 * PANGO_SCALE);
g_free (str);
g_value_take_boxed (value, font_desc);
return TRUE;
{
/* XXX: gtk_theming_engine_get_name()? */
g_object_get (engine, "name", &name, NULL);
- g_string_append (string, name);
+ g_string_append (string, name ? name : "none");
g_free (name);
}
}
return TRUE;
}
+static cairo_status_t
+surface_write (void *closure,
+ const unsigned char *data,
+ unsigned int length)
+{
+ g_byte_array_append (closure, data, length);
+
+ return CAIRO_STATUS_SUCCESS;
+}
+
+static void
+surface_print (cairo_surface_t *surface,
+ GString * string)
+{
+#if CAIRO_HAS_PNG_FUNCTIONS
+ GByteArray *array;
+ char *base64;
+
+ array = g_byte_array_new ();
+ cairo_surface_write_to_png_stream (surface, surface_write, array);
+ base64 = g_base64_encode (array->data, array->len);
+ g_byte_array_free (array, TRUE);
+
+ g_string_append (string, "url(\"data:image/png;base64,");
+ g_string_append (string, base64);
+ g_string_append (string, "\")");
+
+ g_free (base64);
+#else
+ g_string_append (string, "none /* you need cairo png functions enabled to make this work */");
+#endif
+}
+
+static void
+pattern_value_print (const GValue *value,
+ GString *string)
+{
+ cairo_pattern_t *pattern;
+ cairo_surface_t *surface;
+
+ pattern = g_value_get_boxed (value);
+
+ if (pattern == NULL)
+ {
+ g_string_append (string, "none");
+ return;
+ }
+
+ switch (cairo_pattern_get_type (pattern))
+ {
+ case CAIRO_PATTERN_TYPE_SURFACE:
+ if (cairo_pattern_get_surface (pattern, &surface) != CAIRO_STATUS_SUCCESS)
+ {
+ g_assert_not_reached ();
+ }
+ surface_print (surface, string);
+ break;
+ case CAIRO_PATTERN_TYPE_SOLID:
+ case CAIRO_PATTERN_TYPE_LINEAR:
+ case CAIRO_PATTERN_TYPE_RADIAL:
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+}
+
static gboolean
shadow_value_parse (GtkCssParser *parser,
GFile *base,
image_repeat = g_value_get_boxed (value);
- g_string_append_printf (string, "%s %s",
- border_image_repeat_style_to_string (image_repeat->hrepeat),
- border_image_repeat_style_to_string (image_repeat->vrepeat));
+ g_string_append (string, border_image_repeat_style_to_string (image_repeat->hrepeat));
+ if (image_repeat->hrepeat != image_repeat->vrepeat)
+ {
+ g_string_append (string, " ");
+ g_string_append (string, border_image_repeat_style_to_string (image_repeat->vrepeat));
+ }
}
static gboolean
g_value_unset (value);
g_value_init (value, G_TYPE_PTR_ARRAY);
- g_value_set_boxed (value, array);
+ g_value_take_boxed (value, array);
return TRUE;
}
pango_font_description_set_variant (description, variant);
pango_font_description_set_weight (description, weight);
- g_free (families);
+ g_strfreev (families);
g_value_take_boxed (value, description);
}
gtk_style_properties_get_property (props, "border-top-color", state, value);
}
+/*** UNSET FUNCS ***/
+
+static void
+unset_font_description (GtkStyleProperties *props,
+ GtkStateFlags state)
+{
+ gtk_style_properties_unset_property (props, "font-family", state);
+ gtk_style_properties_unset_property (props, "font-style", state);
+ gtk_style_properties_unset_property (props, "font-variant", state);
+ gtk_style_properties_unset_property (props, "font-weight", state);
+ gtk_style_properties_unset_property (props, "font-size", state);
+}
+
+static void
+unset_margin (GtkStyleProperties *props,
+ GtkStateFlags state)
+{
+ gtk_style_properties_unset_property (props, "margin-top", state);
+ gtk_style_properties_unset_property (props, "margin-right", state);
+ gtk_style_properties_unset_property (props, "margin-bottom", state);
+ gtk_style_properties_unset_property (props, "margin-left", state);
+}
+
+static void
+unset_padding (GtkStyleProperties *props,
+ GtkStateFlags state)
+{
+ gtk_style_properties_unset_property (props, "padding-top", state);
+ gtk_style_properties_unset_property (props, "padding-right", state);
+ gtk_style_properties_unset_property (props, "padding-bottom", state);
+ gtk_style_properties_unset_property (props, "padding-left", state);
+}
+
+static void
+unset_border_width (GtkStyleProperties *props,
+ GtkStateFlags state)
+{
+ gtk_style_properties_unset_property (props, "border-top-width", state);
+ gtk_style_properties_unset_property (props, "border-right-width", state);
+ gtk_style_properties_unset_property (props, "border-bottom-width", state);
+ gtk_style_properties_unset_property (props, "border-left-width", state);
+}
+
+static void
+unset_border_radius (GtkStyleProperties *props,
+ GtkStateFlags state)
+{
+ gtk_style_properties_unset_property (props, "border-top-right-radius", state);
+ gtk_style_properties_unset_property (props, "border-bottom-right-radius", state);
+ gtk_style_properties_unset_property (props, "border-bottom-left-radius", state);
+ gtk_style_properties_unset_property (props, "border-top-left-radius", state);
+}
+
+static void
+unset_border_color (GtkStyleProperties *props,
+ GtkStateFlags state)
+{
+ gtk_style_properties_unset_property (props, "border-top-color", state);
+ gtk_style_properties_unset_property (props, "border-right-color", state);
+ gtk_style_properties_unset_property (props, "border-bottom-color", state);
+ gtk_style_properties_unset_property (props, "border-left-color", state);
+}
+
+static void
+unset_border_image (GtkStyleProperties *props,
+ GtkStateFlags state)
+{
+ gtk_style_properties_unset_property (props, "border-image-source", state);
+ gtk_style_properties_unset_property (props, "border-image-slice", state);
+ gtk_style_properties_unset_property (props, "border-image-repeat", state);
+ gtk_style_properties_unset_property (props, "border-image-width", state);
+}
+
/*** default values ***/
static void
gradient_value_print);
register_conversion_function (CAIRO_GOBJECT_TYPE_PATTERN,
pattern_value_parse,
- NULL);
+ pattern_value_print);
register_conversion_function (GTK_TYPE_BORDER_IMAGE,
border_image_value_parse,
NULL);
NULL,
NULL,
NULL,
+ NULL,
NULL);
gtk_style_properties_register_property (NULL,
NULL,
font_family_parse,
font_family_value_print,
+ NULL,
NULL);
_gtk_style_property_register (g_param_spec_enum ("font-style",
"Font style",
NULL,
NULL,
NULL,
+ NULL,
NULL);
_gtk_style_property_register (g_param_spec_enum ("font-variant",
"Font variant",
NULL,
NULL,
NULL,
+ NULL,
NULL);
/* xxx: need to parse this properly, ie parse the numbers */
_gtk_style_property_register (g_param_spec_enum ("font-weight",
NULL,
NULL,
NULL,
+ NULL,
NULL);
_gtk_style_property_register (g_param_spec_double ("font-size",
"Font size",
NULL,
NULL,
NULL,
+ NULL,
NULL);
_gtk_style_property_register (g_param_spec_boxed ("font",
"Font Description",
pack_font_description,
font_description_value_parse,
font_description_value_print,
- NULL);
+ NULL,
+ unset_font_description);
_gtk_style_property_register (g_param_spec_boxed ("text-shadow",
"Text shadow",
NULL,
NULL,
NULL,
+ NULL,
NULL);
_gtk_style_property_register (g_param_spec_boxed ("icon-shadow",
NULL,
NULL,
NULL,
+ NULL,
NULL);
gtk_style_properties_register_property (NULL,
pack_margin,
NULL,
NULL,
- NULL);
+ NULL,
+ unset_margin);
gtk_style_properties_register_property (NULL,
g_param_spec_int ("padding-top",
"padding top",
pack_padding,
NULL,
NULL,
- NULL);
+ NULL,
+ unset_padding);
gtk_style_properties_register_property (NULL,
g_param_spec_int ("border-top-width",
"border top width",
pack_border_width,
NULL,
NULL,
- NULL);
+ NULL,
+ unset_border_width);
_gtk_style_property_register (g_param_spec_boxed ("border-top-left-radius",
"Border top left radius",
NULL,
border_corner_radius_value_parse,
border_corner_radius_value_print,
+ NULL,
NULL);
_gtk_style_property_register (g_param_spec_boxed ("border-top-right-radius",
"Border top right radius",
NULL,
border_corner_radius_value_parse,
border_corner_radius_value_print,
+ NULL,
NULL);
_gtk_style_property_register (g_param_spec_boxed ("border-bottom-right-radius",
"Border bottom right radius",
NULL,
border_corner_radius_value_parse,
border_corner_radius_value_print,
+ NULL,
NULL);
_gtk_style_property_register (g_param_spec_boxed ("border-bottom-left-radius",
"Border bottom left radius",
NULL,
border_corner_radius_value_parse,
border_corner_radius_value_print,
+ NULL,
NULL);
_gtk_style_property_register (g_param_spec_int ("border-radius",
"Border radius",
pack_border_radius,
border_radius_value_parse,
border_radius_value_print,
- NULL);
+ NULL,
+ unset_border_radius);
gtk_style_properties_register_property (NULL,
g_param_spec_enum ("border-style",
NULL,
border_color_value_parse,
NULL,
- border_color_default_value);
+ border_color_default_value,
+ NULL);
_gtk_style_property_register (g_param_spec_boxed ("border-right-color",
"Border right color",
"Border right color",
NULL,
border_color_value_parse,
NULL,
- border_color_default_value);
+ border_color_default_value,
+ NULL);
_gtk_style_property_register (g_param_spec_boxed ("border-bottom-color",
"Border bottom color",
"Border bottom color",
NULL,
border_color_value_parse,
NULL,
- border_color_default_value);
+ border_color_default_value,
+ NULL);
_gtk_style_property_register (g_param_spec_boxed ("border-left-color",
"Border left color",
"Border left color",
NULL,
border_color_value_parse,
NULL,
- border_color_default_value);
+ border_color_default_value,
+ NULL);
_gtk_style_property_register (g_param_spec_boxed ("border-color",
"Border color",
"Border color",
pack_border_color,
border_color_shorthand_value_parse,
NULL,
- NULL);
+ NULL,
+ unset_border_color);
gtk_style_properties_register_property (NULL,
g_param_spec_boxed ("background-image",
NULL,
NULL,
NULL,
- border_image_width_default_value);
+ border_image_width_default_value,
+ NULL);
_gtk_style_property_register (g_param_spec_boxed ("border-image",
"Border Image",
"Border Image",
_gtk_border_image_pack,
NULL,
NULL,
- NULL);
+ NULL,
+ unset_border_image);
gtk_style_properties_register_property (NULL,
g_param_spec_object ("engine",
"Theming Engine",
NULL,
bindings_value_parse,
bindings_value_print,
+ NULL,
NULL);
}
GtkStylePackFunc pack_func,
GtkStyleParseFunc parse_func,
GtkStylePrintFunc print_func,
- GtkStyleDefaultValueFunc default_value_func)
+ GtkStyleDefaultValueFunc default_value_func,
+ GtkStyleUnsetFunc unset_func)
{
const GtkStyleProperty *existing;
GtkStyleProperty *node;
node->parse_func = parse_func;
node->print_func = print_func;
node->default_value_func = default_value_func;
+ node->unset_func = unset_func;
g_hash_table_insert (properties, pspec->name, node);
}
typedef void (* GtkStyleDefaultValueFunc) (GtkStyleProperties *props,
GtkStateFlags state,
GValue *value);
+typedef void (* GtkStyleUnsetFunc) (GtkStyleProperties *props,
+ GtkStateFlags state);
struct _GtkStyleProperty
GtkStyleParseFunc parse_func;
GtkStylePrintFunc print_func;
GtkStyleDefaultValueFunc default_value_func;
+ GtkStyleUnsetFunc unset_func;
};
const GtkStyleProperty * _gtk_style_property_lookup (const char *name);
GtkStylePackFunc pack_func,
GtkStyleParseFunc parse_func,
GtkStylePrintFunc print_func,
- GtkStyleDefaultValueFunc default_value_func);
+ GtkStyleDefaultValueFunc default_value_func,
+ GtkStyleUnsetFunc unset_func);
gboolean _gtk_style_property_is_inherit (const GtkStyleProperty *property);
#include "gtkswitch.h"
-#include "gtkaccessibleprivate.h"
#include "gtkactivatable.h"
#include "gtkintl.h"
#include "gtkprivate.h"
#include "gtktoggleaction.h"
#include "gtkwidget.h"
#include "gtkmarshalers.h"
+#include "a11y/gtkswitchaccessible.h"
#include <math.h>
static GParamSpec *switch_props[LAST_PROP] = { NULL, };
-static GType gtk_switch_accessible_factory_get_type (void);
-
static void gtk_switch_activatable_interface_init (GtkActivatableIface *iface);
G_DEFINE_TYPE_WITH_CODE (GtkSwitch, gtk_switch, GTK_TYPE_WIDGET,
return FALSE;
}
-static AtkObject *
-gtk_switch_get_accessible (GtkWidget *widget)
-{
- static gboolean first_time = TRUE;
-
- if (G_UNLIKELY (first_time))
- {
- _gtk_accessible_set_factory_type (GTK_TYPE_SWITCH,
- gtk_switch_accessible_factory_get_type ());
- first_time = FALSE;
- }
-
- return GTK_WIDGET_CLASS (gtk_switch_parent_class)->get_accessible (widget);
-}
-
static void
gtk_switch_set_related_action (GtkSwitch *sw,
GtkAction *action)
widget_class->motion_notify_event = gtk_switch_motion;
widget_class->enter_notify_event = gtk_switch_enter;
widget_class->leave_notify_event = gtk_switch_leave;
- widget_class->get_accessible = gtk_switch_get_accessible;
klass->activate = gtk_switch_activate;
G_TYPE_NONE, 0);
widget_class->activate_signal = signals[ACTIVATE];
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SWITCH_ACCESSIBLE);
}
static void
iface->update = gtk_switch_update;
iface->sync_action_properties = gtk_switch_sync_action_properties;
}
-
-/* accessibility: object */
-
-typedef struct _GtkSwitchAccessible GtkSwitchAccessible;
-typedef struct _GtkSwitchAccessibleClass GtkSwitchAccessibleClass;
-
-struct _GtkSwitchAccessible
-{
- GtkAccessible object;
-
- gchar *description;
- guint action_idle;
-};
-
-static void atk_action_interface_init (AtkActionIface *iface);
-
-ATK_DEFINE_TYPE_WITH_CODE (GtkSwitchAccessible, _gtk_switch_accessible, GTK_TYPE_SWITCH,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
-
-static AtkStateSet *
-gtk_switch_accessible_ref_state_set (AtkObject *accessible)
-{
- AtkStateSet *state_set;
- GtkWidget *widget;
-
- state_set = ATK_OBJECT_CLASS (_gtk_switch_accessible_parent_class)->ref_state_set (accessible);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- if (widget == NULL)
- return state_set;
-
- if (gtk_switch_get_active (GTK_SWITCH (widget)))
- atk_state_set_add_state (state_set, ATK_STATE_CHECKED);
-
- return state_set;
-}
-
-static void
-gtk_switch_accessible_finalize (GObject *obj)
-{
- GtkSwitchAccessible *accessible = (GtkSwitchAccessible *)obj;
-
- g_free (accessible->description);
-
- if (accessible->action_idle)
- g_source_remove (accessible->action_idle);
-
- G_OBJECT_CLASS (_gtk_switch_accessible_parent_class)->finalize (obj);
-}
-
-static void
-_gtk_switch_accessible_initialize (AtkObject *accessible,
- gpointer widget)
-{
- ATK_OBJECT_CLASS (_gtk_switch_accessible_parent_class)->initialize (accessible, widget);
-
- atk_object_set_role (accessible, ATK_ROLE_TOGGLE_BUTTON);
- atk_object_set_name (accessible, C_("light switch widget", "Switch"));
- atk_object_set_description (accessible, _("Switches between on and off states"));
-}
-
-static void
-_gtk_switch_accessible_class_init (GtkSwitchAccessibleClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass);
-
- object_class->finalize = gtk_switch_accessible_finalize;
-
- atk_class->initialize = _gtk_switch_accessible_initialize;
- atk_class->ref_state_set = gtk_switch_accessible_ref_state_set;
-}
-
-static void
-_gtk_switch_accessible_init (GtkSwitchAccessible *self)
-{
- self->description = NULL;
- self->action_idle = 0;
-}
-
-/* accessibility: action interface */
-
-static gint
-gtk_switch_action_get_n_actions (AtkAction *action)
-{
- return 1;
-}
-
-static const gchar *
-gtk_switch_action_get_name (AtkAction *action,
- gint i)
-{
- return "toggle";
-}
-
-static const gchar *
-gtk_switch_action_get_description (AtkAction *action,
- gint i)
-{
- GtkSwitchAccessible *accessible = (GtkSwitchAccessible*)action;
-
- return accessible->description;
-}
-
-static gboolean
-gtk_switch_action_set_description (AtkAction *action,
- gint i,
- const gchar *description)
-{
- GtkSwitchAccessible *accessible = (GtkSwitchAccessible*)action;
-
- g_free (accessible->description);
- accessible->description = g_strdup (description);
-
- return TRUE;
-}
-
-static gboolean
-idle_do_action (gpointer data)
-{
- GtkSwitchAccessible *accessible = data;
- GtkWidget *widget;
- GtkSwitch *sw;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (data));
- sw = GTK_SWITCH (widget);
-
- accessible->action_idle = 0;
-
- if (widget == NULL ||
- !gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- gtk_switch_set_active (sw, !gtk_switch_get_active (sw));
-
- return FALSE;
-}
-
-static gboolean
-gtk_switch_action_do_action (AtkAction *action,
- gint i)
-{
- GtkSwitchAccessible *accessible;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
- if (widget == NULL)
- return FALSE;
-
- if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- accessible = (GtkSwitchAccessible *)action;
-
- if (!accessible->action_idle)
- accessible->action_idle = gdk_threads_add_idle (idle_do_action, accessible);
-
- return TRUE;
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- iface->do_action = gtk_switch_action_do_action;
- iface->get_n_actions = gtk_switch_action_get_n_actions;
- iface->get_name = gtk_switch_action_get_name;
- iface->get_description = gtk_switch_action_get_description;
- iface->set_description = gtk_switch_action_set_description;
-}
-
-/* accessibility: factory */
-
-typedef AtkObjectFactoryClass GtkSwitchAccessibleFactoryClass;
-typedef AtkObjectFactory GtkSwitchAccessibleFactory;
-
-G_DEFINE_TYPE (GtkSwitchAccessibleFactory,
- gtk_switch_accessible_factory,
- ATK_TYPE_OBJECT_FACTORY);
-
-static GType
-gtk_switch_accessible_factory_get_accessible_type (void)
-{
- return _gtk_switch_accessible_get_type ();
-}
-
-static AtkObject *
-gtk_switch_accessible_factory_create_accessible (GObject *obj)
-{
- AtkObject *accessible;
-
- accessible = g_object_new (_gtk_switch_accessible_get_type (), NULL);
- atk_object_initialize (accessible, obj);
-
- return accessible;
-}
-
-static void
-gtk_switch_accessible_factory_class_init (AtkObjectFactoryClass *klass)
-{
- klass->create_accessible = gtk_switch_accessible_factory_create_accessible;
- klass->get_accessible_type = gtk_switch_accessible_factory_get_accessible_type;
-}
-
-static void
-gtk_switch_accessible_factory_init (AtkObjectFactory *factory)
-{
-}
guint xpadding,
guint ypadding)
{
- GtkTablePrivate *priv = table->priv;
+ GtkTablePrivate *priv;
GtkTableChild *table_child;
-
+
g_return_if_fail (GTK_IS_TABLE (table));
g_return_if_fail (GTK_IS_WIDGET (child));
g_return_if_fail (gtk_widget_get_parent (child) == NULL);
widget_class->get_preferred_height = gtk_tearoff_menu_item_get_preferred_height;
widget_class->parent_set = gtk_tearoff_menu_item_parent_set;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_TEAR_OFF_MENU_ITEM);
+
menu_item_class->activate = gtk_tearoff_menu_item_activate;
g_type_class_add_private (klass, sizeof (GtkTearoffMenuItemPrivate));
* <parameter>argv</parameter> parameter of main().
* Any parameters understood by g_test_init() or gtk_init() are
* stripped before return.
- * @Varargs: currently unused
+ * @...: currently unused
*
* This function is used to initialize a GTK+ test program.
*
* gtk_test_create_widget:
* @widget_type: a valid widget type.
* @first_property_name: (allow-none): Name of first property to set or %NULL
- * @Varargs: value to set the first property to, followed by more
+ * @...: value to set the first property to, followed by more
* name-value pairs, terminated by %NULL
*
* This function wraps g_object_new() for widget types.
/**
* gtk_test_list_all_types:
* @n_types: location to store number of types
- * @returns: (array length=n_types zero-terminated=1) (transfer none):
- * 0-terminated array of type ids
*
* Return the type ids that have been registered after
* calling gtk_test_register_all_types().
*
+ * Returns: (array length=n_types zero-terminated=1) (transfer none):
+ * 0-terminated array of type ids
+ *
* Since: 2.14
- **/
+ */
const GType*
gtk_test_list_all_types (guint *n_types)
{
{
_gtk_text_btree_spew (get_btree (buffer));
}
+
+void
+_gtk_text_buffer_get_text_before (GtkTextBuffer *buffer,
+ AtkTextBoundary boundary_type,
+ GtkTextIter *position,
+ GtkTextIter *start,
+ GtkTextIter *end)
+{
+ gint line_number;
+
+ *start = *position;
+ *end = *start;
+
+ switch (boundary_type)
+ {
+ case ATK_TEXT_BOUNDARY_CHAR:
+ gtk_text_iter_backward_char (start);
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_START:
+ if (!gtk_text_iter_starts_word (start))
+ gtk_text_iter_backward_word_start (start);
+ *end = *start;
+ gtk_text_iter_backward_word_start (start);
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_END:
+ if (gtk_text_iter_inside_word (start) &&
+ !gtk_text_iter_starts_word (start))
+ gtk_text_iter_backward_word_start (start);
+ while (!gtk_text_iter_ends_word (start))
+ {
+ if (!gtk_text_iter_backward_char (start))
+ break;
+ }
+ *end = *start;
+ gtk_text_iter_backward_word_start (start);
+ while (!gtk_text_iter_ends_word (start))
+ {
+ if (!gtk_text_iter_backward_char (start))
+ break;
+ }
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_START:
+ if (!gtk_text_iter_starts_sentence (start))
+ gtk_text_iter_backward_sentence_start (start);
+ *end = *start;
+ gtk_text_iter_backward_sentence_start (start);
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_END:
+ if (gtk_text_iter_inside_sentence (start) &&
+ !gtk_text_iter_starts_sentence (start))
+ gtk_text_iter_backward_sentence_start (start);
+ while (!gtk_text_iter_ends_sentence (start))
+ {
+ if (!gtk_text_iter_backward_char (start))
+ break;
+ }
+ *end = *start;
+ gtk_text_iter_backward_sentence_start (start);
+ while (!gtk_text_iter_ends_sentence (start))
+ {
+ if (!gtk_text_iter_backward_char (start))
+ break;
+ }
+ break;
+
+ case ATK_TEXT_BOUNDARY_LINE_START:
+ line_number = gtk_text_iter_get_line (start);
+ if (line_number == 0)
+ {
+ gtk_text_buffer_get_iter_at_offset (buffer, start, 0);
+ }
+ else
+ {
+ gtk_text_iter_backward_line (start);
+ gtk_text_iter_forward_line (start);
+ }
+ *end = *start;
+ gtk_text_iter_backward_line (start);
+ break;
+
+ case ATK_TEXT_BOUNDARY_LINE_END:
+ line_number = gtk_text_iter_get_line (start);
+ if (line_number == 0)
+ {
+ gtk_text_buffer_get_iter_at_offset (buffer, start, 0);
+ *end = *start;
+ }
+ else
+ {
+ gtk_text_iter_backward_line (start);
+ *end = *start;
+ while (!gtk_text_iter_ends_line (start))
+ {
+ if (!gtk_text_iter_backward_char (start))
+ break;
+ }
+ gtk_text_iter_forward_to_line_end (end);
+ }
+ break;
+ }
+}
+
+void
+_gtk_text_buffer_get_text_at (GtkTextBuffer *buffer,
+ AtkTextBoundary boundary_type,
+ GtkTextIter *position,
+ GtkTextIter *start,
+ GtkTextIter *end)
+{
+ gint line_number;
+
+ *start = *position;
+ *end = *start;
+
+ switch (boundary_type)
+ {
+ case ATK_TEXT_BOUNDARY_CHAR:
+ gtk_text_iter_forward_char (end);
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_START:
+ if (!gtk_text_iter_starts_word (start))
+ gtk_text_iter_backward_word_start (start);
+ if (gtk_text_iter_inside_word (end))
+ gtk_text_iter_forward_word_end (end);
+ while (!gtk_text_iter_starts_word (end))
+ {
+ if (!gtk_text_iter_forward_char (end))
+ break;
+ }
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_END:
+ if (gtk_text_iter_inside_word (start) &&
+ !gtk_text_iter_starts_word (start))
+ gtk_text_iter_backward_word_start (start);
+ while (!gtk_text_iter_ends_word (start))
+ {
+ if (!gtk_text_iter_backward_char (start))
+ break;
+ }
+ gtk_text_iter_forward_word_end (end);
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_START:
+ if (!gtk_text_iter_starts_sentence (start))
+ gtk_text_iter_backward_sentence_start (start);
+ if (gtk_text_iter_inside_sentence (end))
+ gtk_text_iter_forward_sentence_end (end);
+ while (!gtk_text_iter_starts_sentence (end))
+ {
+ if (!gtk_text_iter_forward_char (end))
+ break;
+ }
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_END:
+ if (gtk_text_iter_inside_sentence (start) &&
+ !gtk_text_iter_starts_sentence (start))
+ gtk_text_iter_backward_sentence_start (start);
+ while (!gtk_text_iter_ends_sentence (start))
+ {
+ if (!gtk_text_iter_backward_char (start))
+ break;
+ }
+ gtk_text_iter_forward_sentence_end (end);
+ break;
+
+ case ATK_TEXT_BOUNDARY_LINE_START:
+ line_number = gtk_text_iter_get_line (start);
+ if (line_number == 0)
+ {
+ gtk_text_buffer_get_iter_at_offset (buffer, start, 0);
+ }
+ else
+ {
+ gtk_text_iter_backward_line (start);
+ gtk_text_iter_forward_line (start);
+ }
+ gtk_text_iter_forward_line (end);
+ break;
+
+ case ATK_TEXT_BOUNDARY_LINE_END:
+ line_number = gtk_text_iter_get_line (start);
+ if (line_number == 0)
+ {
+ gtk_text_buffer_get_iter_at_offset (buffer, start, 0);
+ }
+ else
+ {
+ gtk_text_iter_backward_line (start);
+ gtk_text_iter_forward_line (start);
+ }
+ while (!gtk_text_iter_ends_line (start))
+ {
+ if (!gtk_text_iter_backward_char (start))
+ break;
+ }
+ gtk_text_iter_forward_to_line_end (end);
+ break;
+ }
+}
+
+void
+_gtk_text_buffer_get_text_after (GtkTextBuffer *buffer,
+ AtkTextBoundary boundary_type,
+ GtkTextIter *position,
+ GtkTextIter *start,
+ GtkTextIter *end)
+{
+ *start = *position;
+ *end = *start;
+
+ switch (boundary_type)
+ {
+ case ATK_TEXT_BOUNDARY_CHAR:
+ gtk_text_iter_forward_char (start);
+ gtk_text_iter_forward_chars (end, 2);
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_START:
+ if (gtk_text_iter_inside_word (end))
+ gtk_text_iter_forward_word_end (end);
+ while (!gtk_text_iter_starts_word (end))
+ {
+ if (!gtk_text_iter_forward_char (end))
+ break;
+ }
+ *start = *end;
+ if (!gtk_text_iter_is_end (end))
+ {
+ gtk_text_iter_forward_word_end (end);
+ while (!gtk_text_iter_starts_word (end))
+ {
+ if (!gtk_text_iter_forward_char (end))
+ break;
+ }
+ }
+ break;
+
+ case ATK_TEXT_BOUNDARY_WORD_END:
+ gtk_text_iter_forward_word_end (end);
+ *start = *end;
+ if (!gtk_text_iter_is_end (end))
+ gtk_text_iter_forward_word_end (end);
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_START:
+ if (gtk_text_iter_inside_sentence (end))
+ gtk_text_iter_forward_sentence_end (end);
+ while (!gtk_text_iter_starts_sentence (end))
+ {
+ if (!gtk_text_iter_forward_char (end))
+ break;
+ }
+ *start = *end;
+ if (!gtk_text_iter_is_end (end))
+ {
+ gtk_text_iter_forward_sentence_end (end);
+ while (!gtk_text_iter_starts_sentence (end))
+ {
+ if (!gtk_text_iter_forward_char (end))
+ break;
+ }
+ }
+ break;
+
+ case ATK_TEXT_BOUNDARY_SENTENCE_END:
+ gtk_text_iter_forward_sentence_end (end);
+ *start = *end;
+ if (!gtk_text_iter_is_end (end))
+ gtk_text_iter_forward_sentence_end (end);
+ break;
+
+ case ATK_TEXT_BOUNDARY_LINE_START:
+ gtk_text_iter_forward_line (end);
+ *start = *end;
+ gtk_text_iter_forward_line (end);
+ break;
+
+ case ATK_TEXT_BOUNDARY_LINE_END:
+ gtk_text_iter_forward_line (start);
+ *end = *start;
+ if (!gtk_text_iter_is_end (start))
+ {
+ while (!gtk_text_iter_ends_line (start))
+ {
+ if (!gtk_text_iter_backward_char (start))
+ break;
+ }
+ gtk_text_iter_forward_to_line_end (end);
+ }
+ break;
+ }
+}
void _gtk_text_buffer_notify_will_remove_tag (GtkTextBuffer *buffer,
GtkTextTag *tag);
+void _gtk_text_buffer_get_text_before (GtkTextBuffer *buffer,
+ AtkTextBoundary boundary_type,
+ GtkTextIter *position,
+ GtkTextIter *start,
+ GtkTextIter *end);
+void _gtk_text_buffer_get_text_at (GtkTextBuffer *buffer,
+ AtkTextBoundary boundary_type,
+ GtkTextIter *position,
+ GtkTextIter *start,
+ GtkTextIter *end);
+void _gtk_text_buffer_get_text_after (GtkTextBuffer *buffer,
+ AtkTextBoundary boundary_type,
+ GtkTextIter *position,
+ GtkTextIter *start,
+ GtkTextIter *end);
+
G_END_DECLS
#endif
/* If string contains prefix, check that prefix is not followed
* by a unicode mark symbol, e.g. that trailing 'a' in prefix
* is not part of two-char a-with-hat symbol in string. */
- return type != G_UNICODE_COMBINING_MARK &&
+ return type != G_UNICODE_SPACING_MARK &&
type != G_UNICODE_ENCLOSING_MARK &&
type != G_UNICODE_NON_SPACING_MARK;
}
#include "gtkscrollable.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtktextviewaccessible.h"
/**
* SECTION:gtktextview
GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_BACKWARD);
g_type_class_add_private (gobject_class, sizeof (GtkTextViewPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_TEXT_VIEW_ACCESSIBLE);
}
static void
* style information contained in the rendered object's #GtkStyleContext.
*/
-typedef struct GtkThemingEnginePrivate GtkThemingEnginePrivate;
-
enum {
SIDE_LEFT = 1,
SIDE_BOTTOM = 1 << 1,
/* FIXME: hack hack hack, replacing pspec->name to include namespace */
name = g_strdup_printf ("-%s-%s", name_space, pspec->name);
- g_free (pspec->name);
- pspec->name = name;
+ pspec->name = (char *)g_intern_string (name);
+ g_free (name);
gtk_style_properties_register_property (parse_func, pspec);
}
}
}
}
-
- if (!engine)
+ else
{
if (G_UNLIKELY (!default_engine))
default_engine = g_object_new (GTK_TYPE_THEMING_ENGINE, NULL);
#define GTK_THEMING_ENGINE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_THEMING_ENGINE, GtkThemingEngineClass))
typedef struct _GtkThemingEngine GtkThemingEngine;
+typedef struct GtkThemingEnginePrivate GtkThemingEnginePrivate;
typedef struct _GtkThemingEngineClass GtkThemingEngineClass;
struct _GtkThemingEngine
{
GObject parent_object;
- gpointer priv;
+ GtkThemingEnginePrivate *priv;
};
/**
#include "gtkactivatable.h"
#include "gtkprivate.h"
#include "gtkintl.h"
+#include "a11y/gtktogglebuttonaccessible.h"
/**
G_TYPE_NONE, 0);
g_type_class_add_private (class, sizeof (GtkToggleButtonPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_TOGGLE_BUTTON_ACCESSIBLE);
}
static void
widget_class->style_updated = gtk_toolbar_style_updated;
widget_class->focus = gtk_toolbar_focus;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_TOOL_BAR);
+
/* need to override the base class function via override_class_handler,
* because the signal slot is not available in GtkWidgetClass
*/
#include "gtkentryprivate.h"
#include "gtkstylecontextprivate.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtktreeviewaccessible.h"
/**
gtk_binding_entry_add_signal (binding_set, GDK_KEY_F, GDK_CONTROL_MASK, "start-interactive-search", 0);
g_type_class_add_private (o_class, sizeof (GtkTreeViewPrivate));
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_TREE_VIEW_ACCESSIBLE);
}
static void
widget_class->get_preferred_width = gtk_viewport_get_preferred_width;
widget_class->get_preferred_height = gtk_viewport_get_preferred_height;
+ gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_VIEWPORT);
+
container_class->add = gtk_viewport_add;
/* GtkScrollable implementation */
#include "gtkdebug.h"
#include "gtkplug.h"
#include "gtktypebuiltins.h"
-
+#include "a11y/gtkwidgetaccessible.h"
/**
* SECTION:gtkwidget
#endif /* G_ENABLE_DEBUG */
};
+struct _GtkWidgetClassPrivate
+{
+ GType accessible_type;
+ AtkRole accessible_role;
+};
+
enum {
DESTROY,
SHOW,
};
/* --- prototypes --- */
+static void gtk_widget_base_class_init (gpointer g_class);
static void gtk_widget_class_init (GtkWidgetClass *klass);
static void gtk_widget_base_class_finalize (GtkWidgetClass *klass);
static void gtk_widget_init (GtkWidget *widget);
const GTypeInfo widget_info =
{
sizeof (GtkWidgetClass),
- NULL, /* base_init */
+ gtk_widget_base_class_init,
(GBaseFinalizeFunc) gtk_widget_base_class_finalize,
(GClassInitFunc) gtk_widget_class_init,
NULL, /* class_finalize */
widget_type = g_type_register_static (G_TYPE_INITIALLY_UNOWNED, "GtkWidget",
&widget_info, G_TYPE_FLAG_ABSTRACT);
+ g_type_add_class_private (widget_type, sizeof (GtkWidgetClassPrivate));
+
g_type_add_interface_static (widget_type, ATK_TYPE_IMPLEMENTOR,
&accessibility_info) ;
g_type_add_interface_static (widget_type, GTK_TYPE_BUILDABLE,
return widget_type;
}
+static void
+gtk_widget_base_class_init (gpointer g_class)
+{
+ GtkWidgetClass *klass = g_class;
+
+ klass->priv = G_TYPE_CLASS_GET_PRIVATE (g_class, GTK_TYPE_WIDGET, GtkWidgetClassPrivate);
+}
+
static void
child_property_notify_dispatcher (GObject *object,
guint n_pspecs,
klass->show_help = gtk_widget_real_show_help;
/* Accessibility support */
+ klass->priv->accessible_type = GTK_TYPE_ACCESSIBLE;
+ klass->priv->accessible_role = ATK_ROLE_INVALID;
klass->get_accessible = gtk_widget_real_get_accessible;
klass->adjust_size_request = gtk_widget_real_adjust_size_request;
GTK_PARAM_READABLE));
g_type_class_add_private (klass, sizeof (GtkWidgetPrivate));
+
+ gtk_widget_class_set_accessible_type (klass, GTK_TYPE_WIDGET_ACCESSIBLE);
}
static void
gtk_requisition_copy,
gtk_requisition_free)
+/**
+ * gtk_widget_class_set_accessible_type:
+ * @widget_class: class to set the accessible type for
+ * @type: The object type that implements the accessible for @widget_class
+ *
+ * Sets the type to be used for creating accessibles for widgets of
+ * @widget_class. The given @type must be a subtype of the type used for
+ * accessibles of the parent class.
+ *
+ * This function should only be called from class init functions of widgets.
+ *
+ * Since: 3.2
+ **/
+void
+gtk_widget_class_set_accessible_type (GtkWidgetClass *widget_class,
+ GType type)
+{
+ GtkWidgetClassPrivate *priv;
+
+ g_return_if_fail (GTK_IS_WIDGET_CLASS (widget_class));
+ g_return_if_fail (g_type_is_a (type, widget_class->priv->accessible_type));
+
+ priv = widget_class->priv;
+
+ priv->accessible_type = type;
+ /* reset this - honoring the type's role is better. */
+ priv->accessible_role = ATK_ROLE_INVALID;
+}
+
+/**
+ * gtk_widget_class_set_accessible_role:
+ * @widget_class: class to set the accessible role for
+ * @role: The role to use for accessibles created for @widget_class
+ *
+ * Sets the default #AtkRole to be set on accessibles created for
+ * widgets of @widget_class. Accessibles may decide to not honor this
+ * setting if their role reporting is more refined. Calls to
+ * gtk_widget_class_set_accessible_type() will reset this value.
+ *
+ * In cases where you want more fine-grained control over the role of
+ * accessibles created for @widget_class, you should provide your own
+ * accessible type and use gtk_widget_class_set_accessible_type()
+ * instead.
+ *
+ * If @role is #ATK_ROLE_INVALID, the default role will not be changed
+ * and the accessible's default role will be used instead.
+ *
+ * This function should only be called from class init functions of widgets.
+ *
+ * Since: 3.2
+ **/
+void
+gtk_widget_class_set_accessible_role (GtkWidgetClass *widget_class,
+ AtkRole role)
+{
+ GtkWidgetClassPrivate *priv;
+
+ g_return_if_fail (GTK_IS_WIDGET_CLASS (widget_class));
+
+ priv = widget_class->priv;
+
+ priv->accessible_role = role;
+}
+
/**
* gtk_widget_get_accessible:
* @widget: a #GtkWidget
* Returns the accessible object that describes the widget to an
* assistive technology.
*
- * If no accessibility library is loaded (i.e. no ATK implementation library is
- * loaded via <envar>GTK_MODULES</envar> or via another application library,
- * such as libgnome), then this #AtkObject instance may be a no-op. Likewise,
- * if no class-specific #AtkObject implementation is available for the widget
- * instance in question, it will inherit an #AtkObject implementation from the
- * first ancestor class for which such an implementation is defined.
+ * If accessibility support is not available, this #AtkObject
+ * instance may be a no-op. Likewise, if no class-specific #AtkObject
+ * implementation is available for the widget instance in question,
+ * it will inherit an #AtkObject implementation from the first ancestor
+ * class for which such an implementation is defined.
*
* The documentation of the
* <ulink url="http://library.gnome.org/devel/atk/stable/">ATK</ulink>
quark_accessible_object);
if (!accessible)
{
+ GtkWidgetClass *widget_class;
+ GtkWidgetClassPrivate *priv;
AtkObjectFactory *factory;
AtkRegistry *default_registry;
- default_registry = atk_get_default_registry ();
- factory = atk_registry_get_factory (default_registry,
- G_TYPE_FROM_INSTANCE (widget));
- accessible =
- atk_object_factory_create_accessible (factory,
- G_OBJECT (widget));
+ widget_class = GTK_WIDGET_GET_CLASS (widget);
+ priv = widget_class->priv;
+
+ if (priv->accessible_type == GTK_TYPE_ACCESSIBLE)
+ {
+ default_registry = atk_get_default_registry ();
+ factory = atk_registry_get_factory (default_registry,
+ G_TYPE_FROM_INSTANCE (widget));
+ accessible =
+ atk_object_factory_create_accessible (factory,
+ G_OBJECT (widget));
+ }
+ else
+ {
+ accessible = g_object_new (priv->accessible_type, NULL);
+ atk_object_initialize (accessible, widget);
+ }
+
+ if (priv->accessible_role != ATK_ROLE_INVALID)
+ atk_object_set_role (accessible, priv->accessible_role);
+
g_object_set_qdata (G_OBJECT (widget),
quark_accessible_object,
accessible);
/* forward declaration to avoid excessive includes (and concurrent includes)
*/
-typedef struct _GtkRequisition GtkRequisition;
-typedef struct _GtkSelectionData GtkSelectionData;
-typedef struct _GtkWidgetPrivate GtkWidgetPrivate;
-typedef struct _GtkWidgetClass GtkWidgetClass;
-typedef struct _GtkWidgetAuxInfo GtkWidgetAuxInfo;
-typedef struct _GtkClipboard GtkClipboard;
-typedef struct _GtkTooltip GtkTooltip;
-typedef struct _GtkWindow GtkWindow;
+typedef struct _GtkRequisition GtkRequisition;
+typedef struct _GtkSelectionData GtkSelectionData;
+typedef struct _GtkWidgetPrivate GtkWidgetPrivate;
+typedef struct _GtkWidgetClass GtkWidgetClass;
+typedef struct _GtkWidgetClassPrivate GtkWidgetClassPrivate;
+typedef struct _GtkWidgetAuxInfo GtkWidgetAuxInfo;
+typedef struct _GtkClipboard GtkClipboard;
+typedef struct _GtkTooltip GtkTooltip;
+typedef struct _GtkWindow GtkWindow;
/**
/*< private >*/
+ GtkWidgetClassPrivate *priv;
+
/* Padding for future expansion */
- void (*_gtk_reserved1) (void);
void (*_gtk_reserved2) (void);
void (*_gtk_reserved3) (void);
void (*_gtk_reserved4) (void);
gboolean support_multidevice);
/* Accessibility support */
+void gtk_widget_class_set_accessible_type (GtkWidgetClass *widget_class,
+ GType type);
+void gtk_widget_class_set_accessible_role (GtkWidgetClass *widget_class,
+ AtkRole role);
AtkObject* gtk_widget_get_accessible (GtkWidget *widget);
#include "gtkcontainerprivate.h"
#include "gtkintl.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtkwindowaccessible.h"
#ifdef GDK_WINDOWING_X11
#include "x11/gdkx.h"
add_tab_bindings (binding_set, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);
add_tab_bindings (binding_set, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
+
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_WINDOW_ACCESSIBLE);
}
static void
+++ /dev/null
-#!/usr/bin/perl -w
-
-# Information about the current enumeration
-
-my $flags; # Is enumeration a bitmask
-my $seenbitshift; # Have we seen bitshift operators?
-my $prefix; # Prefix for this enumeration
-my $enumname; # Name for this enumeration
-my $firstenum = 1; # Is this the first enumeration in file?
-my @entries; # [ $name, $val ] for each entry
-
-sub parse_options {
- my $opts = shift;
- my @opts;
-
- for $opt (split /\s*,\s*/, $opts) {
- my ($key,$val) = $opt =~ /\s*(\w+)(?:=(\S+))?/;
- defined $val or $val = 1;
- push @opts, $key, $val;
- }
- @opts;
-}
-sub parse_entries {
- my $file = shift;
-
- while (<$file>) {
- # Read lines until we have no open comments
- while (m@/\*
- ([^*]|\*(?!/))*$
- @x) {
- my $new;
- defined ($new = <$file>) || die "Unmatched comment";
- $_ .= $new;
- }
- # Now strip comments
- s@/\*(?!<)
- ([^*]+|\*(?!/))*
- \*/@@gx;
-
- s@\n@ @;
-
- next if m@^\s*$@;
-
- # Handle include files
- if (/^\#include\s*<([^>]*)>/ ) {
- my $file= "../$1";
- open NEWFILE, $file or die "Cannot open include file $file: $!\n";
-
- if (parse_entries (\*NEWFILE)) {
- return 1;
- } else {
- next;
- }
- }
-
- if (/^\s*\}\s*(\w+)/) {
- $enumname = $1;
- return 1;
- }
-
- if (m@^\s*
- (\w+)\s* # name
- (?:=( # value
- (?:[^,/]|/(?!\*))*
- ))?,?\s*
- (?:/\*< # options
- (([^*]|\*(?!/))*)
- >\*/)?
- \s*$
- @x) {
- my ($name, $value, $options) = ($1,$2,$3);
-
- if (!defined $flags && defined $value && $value =~ /<</) {
- $seenbitshift = 1;
- }
- if (defined $options) {
- my %options = parse_options($options);
- if (!defined $options{skip}) {
- push @entries, [ $name, $options{nick} ];
- }
- } else {
- push @entries, [ $name ];
- }
- } else {
- print STDERR "Can't understand: $_\n";
- }
- }
- return 0;
-}
-
-
-my $gen_arrays = 0;
-my $gen_defs = 0;
-
-# Parse arguments
-
-if (@ARGV) {
- if ($ARGV[0] eq "arrays") {
- shift @ARGV;
- $gen_arrays = 1;
- } elsif ($ARGV[0] eq "defs") {
- shift @ARGV;
- $gen_defs = 1;
- } else {
- $gen_defs = 1;
- }
-
-}
-
-if ($gen_defs) {
- print ";; generated by makeenums.pl ; -*- scheme -*-\n\n";
-} else {
- print "/* Generated by makeenums.pl */\n\n";
-}
-
-ENUMERATION:
-while (<>) {
- if (eof) {
- close (ARGV); # reset line numbering
- $firstenum = 1; # Flag to print filename at next enum
- }
-
- if (m@^\s*typedef\s+enum\s*
- ({)?\s*
- (?:/\*<
- (([^*]|\*(?!/))*)
- >\*/)?
- @x) {
- if (defined $2) {
- my %options = parse_options($2);
- $prefix = $options{prefix};
- $flags = $options{flags};
- } else {
- $prefix = undef;
- $flags = undef;
- }
- # Didn't have trailing '{' look on next lines
- if (!defined $1) {
- while (<>) {
- if (s/^\s*\{//) {
- last;
- }
- }
- }
-
- $seenbitshift = 0;
- @entries = ();
-
- # Now parse the entries
- parse_entries (\*ARGV);
-
- # figure out if this was a flags or enums enumeration
-
- if (!defined $flags) {
- $flags = $seenbitshift;
- }
-
- # Autogenerate a prefix
-
- if (!defined $prefix) {
- for (@entries) {
- my $name = $_->[0];
- if (defined $prefix) {
- my $tmp = ~ ($name ^ $prefix);
- ($tmp) = $tmp =~ /(^\xff*)/;
- $prefix = $prefix & $tmp;
- } else {
- $prefix = $name;
- }
- }
- # Trim so that it ends in an underscore
- $prefix =~ s/_[^_]*$/_/;
- }
-
- for $entry (@entries) {
- my ($name,$nick) = @{$entry};
- if (!defined $nick) {
- ($nick = $name) =~ s/^$prefix//;
- $nick =~ tr/_/-/;
- $nick = lc($nick);
- @{$entry} = ($name, $nick);
- }
- }
-
- # Spit out the output
-
- if ($gen_defs) {
- if ($firstenum) {
- print qq(\n; enumerations from "$ARGV"\n);
- $firstenum = 0;
- }
-
- print "\n(define-".($flags ? "flags" : "enum")." $enumname";
-
- for (@entries) {
- my ($name,$nick) = @{$_};
- print "\n ($nick $name)";
- }
- print ")\n";
-
- } else {
- my $valuename = $enumname;
- $valuename =~ s/([^A-Z])([A-Z])/$1_$2/g;
- $valuename =~ s/([A-Z][A-Z])([A-Z][0-9a-z])/$1_$2/g;
- $valuename = lc($valuename);
-
- print "static const GtkEnumValue _${valuename}_values[] = {\n";
- for (@entries) {
- my ($name,$nick) = @{$_};
- print qq( { $name, "$name", "$nick" },\n);
- }
- print " { 0, NULL, NULL }\n";
- print "};\n";
- }
- }
-}
include $(top_srcdir)/Makefile.decl
-INCLUDES = \
+SUBDIRS =
+
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-I$(top_srcdir)/gdk \
TEST_PROGS += stylecontext
stylecontext_SOURCES = stylecontext.c
stylecontext_LDADD = $(progs_ldadd)
-EXTRA_DIST += test.css test.png
TEST_PROGS += papersize
papersize_SOURCES = papersize.c
treepath_SOURCES = treepath.c
treepath_LDADD = $(progs_ldadd)
+TEST_PROGS += accessible
+accessible_SOURCES = accessible.c
+accessible_LDADD = $(progs_ldadd)
+
+TEST_PROGS += entry
+entry_SOURCES = entry.c
+entry_LDADD = $(progs_ldadd)
+
EXTRA_DIST += \
file-chooser-test-dir/empty \
file-chooser-test-dir/text.txt
--- /dev/null
+/* gtktypefuncs.c includes deprecated types */
+#undef GTK_DISABLE_DEPRECATED
+
+#include <gtk/gtk.h>
+
+static void
+test_type (GType t)
+{
+ GtkWidget *w;
+ AtkObject *a;
+
+ if (g_type_is_a (t, GTK_TYPE_WIDGET))
+ {
+ w = (GtkWidget *)g_object_new (t, NULL);
+ a = gtk_widget_get_accessible (w);
+
+ g_assert (GTK_IS_ACCESSIBLE (a));
+ g_assert (gtk_accessible_get_widget (GTK_ACCESSIBLE (a)) == w);
+
+ g_object_unref (w);
+ }
+}
+
+int
+main (int argc, char *argv[])
+{
+ GType *tp;
+ gint i;
+
+ gtk_init (&argc, &argv);
+
+ tp = g_new0 (GType, 1000);
+#undef GDK_WINDOWING_X11
+#include "../gtktypefuncs.c"
+ *tp = 0;
+
+ for (i = 0; tp[i]; i++)
+ test_type (tp[i]);
+}
--- /dev/null
+/* GTK - The GIMP Toolkit
+ * Copyright (C) 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gtk/gtk.h>
+
+static gint serial = 0;
+
+typedef struct {
+ gint serial;
+ gint count;
+ gint start;
+ gint end;
+ gchar *text;
+ gchar *new_text;
+ gint position;
+ gint length;
+} EntryData;
+
+static void
+notify (GtkEditable *editable, GParamSpec *pspec, EntryData *data)
+{
+ data->serial = serial++;
+ data->count++;
+ data->text = gtk_editable_get_chars (editable, 0, -1);
+ gtk_editable_get_selection_bounds (editable, &data->start, &data->end);
+
+#if 0
+ g_print ("notify::%s\n", pspec->name);
+ g_print ("\ttext: %s\n", data->text);
+ g_print ("\tstart: %d\n", data->start);
+ g_print ("\tend: %d\n", data->end);
+#endif
+}
+
+static void
+insert_text (GtkEditable *editable,
+ const gchar *new_text,
+ gint new_text_length,
+ gint *position,
+ EntryData *data)
+{
+ data->serial = serial++;
+ data->count++;
+ data->text = gtk_editable_get_chars (editable, 0, -1);
+ gtk_editable_get_selection_bounds (editable, &data->start, &data->end);
+ data->new_text = g_strdup (new_text);
+ data->position = *position;
+ data->length = new_text_length;
+
+#if 0
+ g_print ("insert-text \"%s\", %d\n", new_text, *position);
+ g_print ("\ttext: %s\n", data->text);
+ g_print ("\tstart: %d\n", data->start);
+ g_print ("\tend: %d\n", data->end);
+#endif
+}
+
+static void
+delete_text (GtkEditable *editable,
+ gint start_pos,
+ gint end_pos,
+ EntryData *data)
+{
+ data->serial = serial++;
+ data->count++;
+ data->text = gtk_editable_get_chars (editable, 0, -1);
+ gtk_editable_get_selection_bounds (editable, &data->start, &data->end);
+ data->position = start_pos;
+ data->length = end_pos - start_pos;
+
+#if 0
+ g_print ("delete-text %d %d\n", start_pos, end_pos);
+ g_print ("\ttext: %s\n", data->text);
+ g_print ("\tstart: %d\n", data->start);
+ g_print ("\tend: %d\n", data->end);
+#endif
+}
+
+static void
+changed (GtkEditable *editable,
+ EntryData *data)
+{
+ data->serial = serial++;
+ data->count++;
+ data->text = gtk_editable_get_chars (editable, 0, -1);
+ gtk_editable_get_selection_bounds (editable, &data->start, &data->end);
+
+#if 0
+ g_print ("changed\n");
+ g_print ("\ttext: %s\n", data->text);
+ g_print ("\tstart: %d\n", data->start);
+ g_print ("\tend: %d\n", data->end);
+#endif
+}
+
+static void
+test_insert (void)
+{
+ GtkWidget *entry;
+ gint pos;
+ EntryData data1;
+ EntryData data2;
+ EntryData data3;
+ EntryData data4;
+ EntryData data5;
+ EntryData data6;
+
+ entry = gtk_entry_new ();
+ g_object_ref_sink (entry);
+
+ gtk_entry_set_text (GTK_ENTRY (entry), "bar");
+ gtk_editable_set_position (GTK_EDITABLE (entry), -1);
+ pos = gtk_editable_get_position (GTK_EDITABLE (entry));
+ g_assert_cmpint (pos, ==, 3);
+
+ data1.count = 0;
+ data2.count = 0;
+ data3.count = 0;
+ data4.count = 0;
+ data5.count = 0;
+ data6.count = 0;
+ g_signal_connect (entry, "notify::cursor-position",
+ G_CALLBACK (notify), &data1);
+ g_signal_connect (entry, "notify::selection-bound",
+ G_CALLBACK (notify), &data2);
+ g_signal_connect (entry, "notify::text",
+ G_CALLBACK (notify), &data3);
+ g_signal_connect (entry, "insert-text",
+ G_CALLBACK (insert_text), &data4);
+ g_signal_connect (entry, "delete-text",
+ G_CALLBACK (delete_text), &data5);
+ g_signal_connect (entry, "changed",
+ G_CALLBACK (changed), &data6);
+
+ pos = 0;
+ gtk_editable_insert_text (GTK_EDITABLE (entry), "foo", -1, &pos);
+ g_assert_cmpint (pos, ==, 3);
+
+ pos = gtk_editable_get_position (GTK_EDITABLE (entry));
+ g_assert_cmpint (pos, ==, 6);
+
+ /* Check that notification for ::text, ::cursor-position and
+ * ::selection-bound happens in a consistent state after the
+ * change.
+ */
+ g_assert_cmpint (data1.count, ==, 1);
+ g_assert_cmpint (data1.start, ==, 6);
+ g_assert_cmpint (data1.end, ==, 6);
+ g_assert_cmpstr (data1.text, ==, "foobar");
+ g_free (data1.text);
+
+ g_assert_cmpint (data2.count, ==, 1);
+ g_assert_cmpint (data2.start, ==, 6);
+ g_assert_cmpint (data2.end, ==, 6);
+ g_assert_cmpstr (data2.text, ==, "foobar");
+ g_free (data2.text);
+
+ g_assert_cmpint (data3.count, ==, 1);
+ g_assert_cmpint (data3.start, ==, 6);
+ g_assert_cmpint (data3.end, ==, 6);
+ g_assert_cmpstr (data3.text, ==, "foobar");
+ g_free (data3.text);
+
+ /* Check that ::insert-text sees the state _before_ the insertion */
+ g_assert_cmpint (data4.count, ==, 1);
+ g_assert_cmpint (data4.start, ==, 3);
+ g_assert_cmpint (data4.end, ==, 3);
+ g_assert_cmpstr (data4.text, ==, "bar");
+ g_assert_cmpint (data4.position, ==, 0);
+ g_assert_cmpint (data4.length, ==, 3);
+ g_assert_cmpstr (data4.new_text, ==, "foo");
+ g_free (data4.text);
+ g_free (data4.new_text);
+
+ /* no deletion here */
+ g_assert_cmpint (data5.count, ==, 0);
+
+ /* Check that ::changed sees the post-change state */
+ g_assert_cmpint (data6.count, ==, 1);
+ g_assert_cmpint (data6.start, ==, 6);
+ g_assert_cmpint (data6.end, ==, 6);
+ g_assert_cmpstr (data6.text, ==, "foobar");
+ g_free (data6.text);
+
+ /* Now check ordering: ::insert-text comes before ::notify */
+ g_assert_cmpint (data4.serial, <, data1.serial);
+ g_assert_cmpint (data4.serial, <, data2.serial);
+ g_assert_cmpint (data4.serial, <, data3.serial);
+
+ /* ... and ::changed comes after ::notify */
+ g_assert_cmpint (data6.serial, >, data1.serial);
+ g_assert_cmpint (data6.serial, >, data2.serial);
+ g_assert_cmpint (data6.serial, >, data3.serial);
+
+ g_object_unref (entry);
+}
+
+static void
+test_delete (void)
+{
+ GtkWidget *entry;
+ gint pos;
+ EntryData data1;
+ EntryData data2;
+ EntryData data3;
+ EntryData data4;
+ EntryData data5;
+ EntryData data6;
+
+ entry = gtk_entry_new ();
+ g_object_ref_sink (entry);
+
+ gtk_entry_set_text (GTK_ENTRY (entry), "foobar");
+ gtk_editable_set_position (GTK_EDITABLE (entry), -1);
+ pos = gtk_editable_get_position (GTK_EDITABLE (entry));
+ g_assert_cmpint (pos, ==, 6);
+
+ data1.count = 0;
+ data2.count = 0;
+ data3.count = 0;
+ data4.count = 0;
+ data5.count = 0;
+ data6.count = 0;
+ g_signal_connect (entry, "notify::cursor-position",
+ G_CALLBACK (notify), &data1);
+ g_signal_connect (entry, "notify::selection-bound",
+ G_CALLBACK (notify), &data2);
+ g_signal_connect (entry, "notify::text",
+ G_CALLBACK (notify), &data3);
+ g_signal_connect (entry, "insert-text",
+ G_CALLBACK (insert_text), &data4);
+ g_signal_connect (entry, "delete-text",
+ G_CALLBACK (delete_text), &data5);
+ g_signal_connect (entry, "changed",
+ G_CALLBACK (changed), &data6);
+
+ gtk_editable_delete_text (GTK_EDITABLE (entry), 0, 3);
+
+ pos = gtk_editable_get_position (GTK_EDITABLE (entry));
+ g_assert_cmpint (pos, ==, 3);
+
+ /* Check that notification for ::text, ::cursor-position and
+ * ::selection-bound happens in a consistent state after the
+ * change.
+ */
+ g_assert_cmpint (data1.count, ==, 1);
+ g_assert_cmpint (data1.start, ==, 3);
+ g_assert_cmpint (data1.end, ==, 3);
+ g_assert_cmpstr (data1.text, ==, "bar");
+ g_free (data1.text);
+
+ g_assert_cmpint (data2.count, ==, 1);
+ g_assert_cmpint (data2.start, ==, 3);
+ g_assert_cmpint (data2.end, ==, 3);
+ g_assert_cmpstr (data2.text, ==, "bar");
+ g_free (data2.text);
+
+ g_assert_cmpint (data3.count, ==, 1);
+ g_assert_cmpint (data3.start, ==, 3);
+ g_assert_cmpint (data3.end, ==, 3);
+ g_assert_cmpstr (data3.text, ==, "bar");
+ g_free (data3.text);
+
+ /* no insertion here */
+ g_assert_cmpint (data4.count, ==, 0);
+
+ /* Check that ::delete-text sees the state _before_ the insertion */
+ g_assert_cmpint (data5.count, ==, 1);
+ g_assert_cmpint (data5.start, ==, 6);
+ g_assert_cmpint (data5.end, ==, 6);
+ g_assert_cmpstr (data5.text, ==, "foobar");
+ g_assert_cmpint (data5.position, ==, 0);
+ g_assert_cmpint (data5.length, ==, 3);
+ g_free (data5.text);
+
+ /* Check that ::changed sees the post-change state */
+ g_assert_cmpint (data6.count, ==, 1);
+ g_assert_cmpint (data6.start, ==, 3);
+ g_assert_cmpint (data6.end, ==, 3);
+ g_assert_cmpstr (data6.text, ==, "bar");
+ g_free (data6.text);
+
+ /* Now check ordering: ::delete-text comes before ::notify */
+ g_assert_cmpint (data5.serial, <, data1.serial);
+ g_assert_cmpint (data5.serial, <, data2.serial);
+ g_assert_cmpint (data5.serial, <, data3.serial);
+
+ /* ... and ::changed comes after ::notify */
+ g_assert_cmpint (data6.serial, >, data1.serial);
+ g_assert_cmpint (data6.serial, >, data2.serial);
+ g_assert_cmpint (data6.serial, >, data3.serial);
+ g_object_unref (entry);
+}
+
+int
+main (int argc,
+ char *argv[])
+{
+ gtk_test_init (&argc, &argv);
+
+ g_test_add_func ("/entry/delete", test_delete);
+ g_test_add_func ("/entry/insert", test_insert);
+
+ return g_test_run();
+}
#include <gtk/gtk.h>
-static void
-test_parse_empty (void)
-{
- GtkCssProvider *provider;
- GError *error;
- gboolean res;
-
- provider = gtk_css_provider_new ();
- error = NULL;
- res = gtk_css_provider_load_from_data (provider, "", -1, &error);
-
- g_assert (res);
- g_assert_no_error (error);
- g_clear_error (&error);
-
- g_object_unref (provider);
-}
-
-static void
-test_parse_at (void)
-{
- GtkCssProvider *provider;
- GError *error;
- gboolean res;
- gint i;
- const gchar *valid[] = {
- "@import \"" SRCDIR "/test.css\";",
- "@import '" SRCDIR "/test.css';",
- "@import url(\"" SRCDIR "/test.css\");",
- "@import url('" SRCDIR "/test.css');",
- "@import\nurl (\t\"" SRCDIR "/test.css\" ) ;",
- "@define-color bg_color #f9a039;",
- "@define-color color @bg_color;",
- "@define-color color rgb(100, 99, 88);",
- "@define-color color rgba(50%, 50%, 50%, 0.5);",
- "@define-color color lighter(#f9a039);",
- "@define-color color darker ( @blue ) ;",
- "@define-color color shade(@blue, 1.3);",
- "@define-color color alpha(@blue, 1.3);",
- "@define-color color mix(@blue, @red, 0.2);",
- "@define-color color red;",
- "@define-color color mix(shade (#121212, 0.5), mix (rgb(10%,20%,100%), @blue,0.5), 0.2);",
- "@define-color blue @blue;",
- "@define-color blue123_a-b #123;",
- "@binding-set gtk-emacs-menu { bind \"<ctrl>n\" { \"move-current\" (next) }; };",
- "@binding-set gtk-emacs-text-view {\n"
- " bind \"<ctrl>u\" { \"move-cursor\" (paragraph-ends, -1, 0)\n"
- " \"delete-from-cursor\" (paragraph-ends, 1) };\n"
- "};",
- "@binding-set test {\n"
- " bind \"<ctrl>space\" { \"set-anchor\" () };\n"
- " unbind \"<ctrl>v\";\n"
- "};",
- NULL
- };
-
- const gchar *invalid[] = {
- "@import " SRCDIR "/test.css ;",
- "@import url ( \"" SRCDIR "/test.css\" xyz );",
- "@import url(\");",
- "@import url(');",
- "@import url(\"abc');",
- "@ import ;",
- "@define_color blue red;",
- "@define-color blue #12234;",
- "@define-color blue #12g234;",
- "@define-color blue @@;",
- "@define-color blue 5!#%4@DG$##x;",
- "@define-color color mix(@red, @blue, @green);",
- "@define-color color mix(@blue, 0.2, @red);",
- "@define-color color mix(0.2, @blue, @red);",
- "@define-color color mix(@blue, @red);",
- "@define-color color mix(@blue);",
- "@define-color color mix();",
- "@define-color color rgba(50%, 50%, 50%);",
- "@define-color color rgb(50%, a);",
- "@define-color 1col rgb(50%, a);",
- "@three-dee { some other crap };",
- "@binding-set \"foo\";",
- "@binding-set foo { bind key { \"action\"() }; };",
- "@binding-set foo { bind key { \"action\"() }; };",
- "@binding-set foo { bind \"key\" { action() }; };",
- "@binding-set foo { bind \"key\"; };",
- "@binding-set foo { unbind \"key\" { \"bla\" () }; };",
- NULL
- };
-
- error = NULL;
- for (i = 0; valid[i]; i++)
- {
- provider = gtk_css_provider_new ();
- res = gtk_css_provider_load_from_data (provider, valid[i], -1, &error);
- if (error)
- g_print ("parsing '%s': got unexpected error: %s\n", valid[i], error->message);
- g_assert_no_error (error);
- g_assert (res);
-
- g_object_unref (provider);
- }
-
- for (i = 0; invalid[i]; i++)
- {
- provider = gtk_css_provider_new ();
- res = gtk_css_provider_load_from_data (provider, invalid[i], -1, &error);
- g_assert_error (error, GTK_CSS_PROVIDER_ERROR, GTK_CSS_PROVIDER_ERROR_FAILED);
- g_assert (!res);
- g_object_unref (provider);
- g_clear_error (&error);
- }
-}
-
static void
test_parse_selectors (void)
{
"E, F /* comment here */ {}",
"E,/* comment here */ F {}",
"E1.e1_2 #T3_4 {}",
- NULL
- };
-
- const gchar *invalid[] = {
- /* nth-child and similar pseudo classes can only
- * be used with regions, not with types
- */
"E:first-child {}",
"E:last-child {}",
"E:nth-child(first) {}",
"E:nth-child(even) {}",
"E:nth-child(odd) {}",
"E:sorted {}",
- /* widget state pseudo-classes can only be used for
- * the last element
- */
"E:focused tab {}",
NULL
};
g_object_unref (provider);
}
-
- for (i = 0; invalid[i]; i++)
- {
- provider = gtk_css_provider_new ();
- res = gtk_css_provider_load_from_data (provider, invalid[i], -1, &error);
- g_assert_error (error, GTK_CSS_PROVIDER_ERROR, GTK_CSS_PROVIDER_ERROR_FAILED);
- g_assert (!res);
- g_object_unref (provider);
- g_clear_error (&error);
- }
-}
-
-static void
-test_parse_declarations (void)
-{
- GtkCssProvider *provider;
- GError *error;
- gboolean res;
- gint i;
- const gchar *valid[] = {
- "* {}",
- "* { font: Sans 15 }",
- "* { font: Sans 15; }",
- "* { font: bold }",
- "* { color: red }",
- "* { /* just a comment */ }",
- "* { /* multi\nline\ncomment */ }",
- "* { font: /* comment here */ Sans 15 }",
- "* { color: red; background-color: shade (@bg_color, 0.5) }",
- "* { margin: 5 }",
- "* { margin: 5 10 }",
- "* { margin: 5 10 3 }",
- "* { margin: 5 10 3 5 }",
- "* { padding: 5 }",
- "* { padding: 5 10 }",
- "* { border-width: 5; border-radius: 10 }",
- "* { border-color: #ff00ff }",
- "* { engine: clearlooks }",
- "* { background-image: -gtk-gradient (linear, \n"
- " left top, right top, \n"
- " from (#fff), to (#000)) }",
- "* { background-image: -gtk-gradient (linear, \n"
- " 0.0 0.5, 0.5 1.0, \n"
- " from (#fff), \n"
- " color-stop (0.5, #f00),\n"
- " to (#000)) }",
- "* { background-image: -gtk-gradient (radial, \n"
- " center center, 0.2, \n"
- " center center, 0.8, \n"
- " color-stop (0.0,#fff),\n"
- " color-stop (1.0,#000))}\n",
- "* { border-image: url (\"" SRCDIR "/test.png\") 3 4 3 4 stretch }",
- "* { border-image: url (\"" SRCDIR "/test.png\") 3 4 3 4 repeat stretch}",
- "* { transition: 150ms ease-in-out }",
- "* { transition: 1s linear loop }",
- NULL
- };
-
- const gchar *invalid[] = {
- "* { color }",
- "* { color:green; color }",
- "* { color:red; color; color:green }",
- "* { color:green; color: }",
- "* { color:red; color:; color:green }",
- "* { color:green; color{;color:maroon} }",
- "* { color:red; color{;color:maroon}; color:green }",
- "* { content: 'Hello",
- NULL
- };
-
- error = NULL;
- for (i = 0; valid[i]; i++)
- {
- provider = gtk_css_provider_new ();
- res = gtk_css_provider_load_from_data (provider, valid[i], -1, &error);
- if (error)
- g_print ("parsing '%s': got unexpected error: %s\n", valid[i], error->message);
- g_assert_no_error (error);
- g_assert (res);
-
- g_object_unref (provider);
- }
-
- for (i = 0; invalid[i]; i++)
- {
- provider = gtk_css_provider_new ();
- res = gtk_css_provider_load_from_data (provider, invalid[i], -1, &error);
- g_assert_error (error, GTK_CSS_PROVIDER_ERROR, GTK_CSS_PROVIDER_ERROR_FAILED);
- g_assert (!res);
- g_object_unref (provider);
- g_clear_error (&error);
- }
}
static void
g_assert (gdk_rgba_equal (&color, &expected));
data = "* { color: #f00 }\n"
- "GtkWindow .button { color: #fff }\n"
- "GObject .button { color: #000 }";
+ "GtkWindow .button { color: #000 }\n"
+ "GObject .button { color: #fff }";
gtk_css_provider_load_from_data (provider, data, -1, &error);
g_assert_no_error (error);
gtk_style_context_invalidate (context);
gtk_init (NULL, NULL);
g_test_init (&argc, &argv, NULL);
- g_test_add_func ("/style/parse/empty", test_parse_empty);
- g_test_add_func ("/style/parse/at", test_parse_at);
g_test_add_func ("/style/parse/selectors", test_parse_selectors);
- g_test_add_func ("/style/parse/declarations", test_parse_declarations);
g_test_add_func ("/style/path", test_path);
g_test_add_func ("/style/match", test_match);
g_test_add_func ("/style/style-property", test_style_property);
include $(top_srcdir)/Makefile.decl
-SUBDIRS = input engines other
+SUBDIRS = input engines
if OS_UNIX
SUBDIRS += printbackends
EXTRA_DIST += Makefile.msc
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
no_undefined = -no-undefined
endif
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
+++ /dev/null
-include $(top_srcdir)/Makefile.decl
-
-SUBDIRS = gail
-
--include $(top_srcdir)/git.mk
+++ /dev/null
-include $(top_srcdir)/Makefile.decl
-
-SUBDIRS = libgail-util tests
-
-if PLATFORM_WIN32
-no_undefined = -no-undefined
-endif
-
-moduledir = $(libdir)/gtk-3.0/modules
-module_LTLIBRARIES = libgail.la
-
-gail_c_sources = \
- gail-private-macros.h \
- gail.c \
- gailadjustment.c \
- gailarrow.c \
- gailbooleancell.c \
- gailbox.c \
- gailbutton.c \
- gailcalendar.c \
- gailcell.c \
- gailcellparent.c \
- gailcheckmenuitem.c \
- gailchecksubmenuitem.c \
- gailcombobox.c \
- gailcontainer.c \
- gailcontainercell.c \
- gailentry.c \
- gailexpander.c \
- gailframe.c \
- gailimage.c \
- gailimagecell.c \
- gaillabel.c \
- gaillinkbutton.c \
- gailmenu.c \
- gailmenushell.c \
- gailmenuitem.c \
- gailnotebook.c \
- gailnotebookpage.c \
- gailpaned.c \
- gailprogressbar.c \
- gailradiobutton.c \
- gailradiomenuitem.c \
- gailradiosubmenuitem.c \
- gailrange.c \
- gailrenderercell.c \
- gailscale.c \
- gailscalebutton.c \
- gailscrollbar.c \
- gailscrolledwindow.c \
- gailseparator.c \
- gailspinbutton.c \
- gailsubmenuitem.c \
- gailstatusbar.c \
- gailtextcell.c \
- gailtextview.c \
- gailtogglebutton.c \
- gailtoplevel.c \
- gailtreeview.c \
- gailutil.c \
- gailwidget.c \
- gailwindow.c
-
-libgailincludedir=$(includedir)/gail-3.0/gail
-
-gail_private_h_sources = \
- gail.h \
- gailadjustment.h \
- gailarrow.h \
- gailbooleancell.h \
- gailbox.h \
- gailbutton.h \
- gailcalendar.h \
- gailcell.h \
- gailcellparent.h \
- gailcheckmenuitem.h \
- gailchecksubmenuitem.h \
- gailcombobox.h \
- gailcontainercell.h \
- gailcontainer.h \
- gailentry.h \
- gailexpander.h \
- gailfactory.h \
- gailframe.h \
- gailimage.h \
- gailimagecell.h \
- gaillabel.h \
- gaillinkbutton.h \
- gailmenu.h \
- gailmenushell.h \
- gailmenuitem.h \
- gailnotebook.h \
- gailnotebookpage.h \
- gailpaned.h \
- gailprogressbar.h \
- gailradiobutton.h \
- gailradiomenuitem.h \
- gailradiosubmenuitem.h \
- gailrange.h \
- gailrenderercell.h \
- gailscale.h \
- gailscalebutton.h \
- gailscrollbar.h \
- gailscrolledwindow.h \
- gailseparator.h \
- gailspinbutton.h \
- gailsubmenuitem.h \
- gailstatusbar.h \
- gailtextcell.h \
- gailtextview.h \
- gailtogglebutton.h \
- gailtoplevel.h \
- gailtreeview.h \
- gailutil.h \
- gailwindow.h
-
-gail_public_h_sources = \
- gailwidget.h
-
-libgail_la_SOURCES = \
- $(gail_c_sources) \
- $(gail_public_h_sources) \
- $(gail_private_h_sources)
-
-libgailinclude_HEADERS = \
- $(gail_public_h_sources)
-
-libgail_la_CPPFLAGS = \
- -I$(top_srcdir) \
- -I$(top_srcdir)/modules/other \
- -I$(top_srcdir)/gdk \
- -I$(top_builddir)/gdk \
- -I$(top_srcdir)/gtk \
- -I$(top_builddir)/gtk \
- -DGTK_VERSION=\"$(GTK_VERSION)\"\
- -DGDK_DISABLE_DEPRECATED \
- -DGTK_DISABLE_DEPRECATED \
- $(AM_CPPFLAGS)
-
-libgail_la_CFLAGS = \
- $(GTK_DEP_CFLAGS) \
- $(GTK_DEBUG_FLAGS) \
- $(AM_CFLAGS)
-
-libgail_la_LIBADD = \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/modules/other/gail/libgail-util/libgailutil-3.la \
- $(GTK_DEP_LIBS) \
- $(INTLLIBS)
-
-libgail_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version \
- $(no_undefined) \
- $(LDFLAGS)
-
--include $(top_srcdir)/git.mk
+++ /dev/null
-#include <gail/gailadjustment.h>
-#include <gail/gailarrow.h>
-#include <gail/gailbooleancell.h>
-#include <gail/gailbox.h>
-#include <gail/gailbutton.h>
-#include <gail/gailcalendar.h>
-#include <gail/gailcell.h>
-#include <gail/gailcheckmenuitem.h>
-#include <gail/gailcombobox.h>
-#include <gail/gailcontainer.h>
-#include <gail/gailcontainercell.h>
-#include <gail/gailentry.h>
-#include <gail/gailexpander.h>
-#include <gail/gailframe.h>
-#include <gail/gailimage.h>
-#include <gail/gailimagecell.h>
-#include <gail/gaillabel.h>
-#include <gail/gaillinkbutton.h>
-#include <gail/gailmenu.h>
-#include <gail/gailmenushell.h>
-#include <gail/gailmenuitem.h>
-#include <gail/gailnotebook.h>
-#include <gail/gailpaned.h>
-#include <gail/gailprogressbar.h>
-#include <gail/gailradiobutton.h>
-#include <gail/gailradiomenuitem.h>
-#include <gail/gailrenderercell.h>
-#include <gail/gailrange.h>
-#include <gail/gailscale.h>
-#include <gail/gailscalebutton.h>
-#include <gail/gailscrollbar.h>
-#include <gail/gailscrolledwindow.h>
-#include <gail/gailseparator.h>
-#include <gail/gailspinbutton.h>
-#include <gail/gailstatusbar.h>
-#include <gail/gailtextcell.h>
-#include <gail/gailtextview.h>
-#include <gail/gailtogglebutton.h>
-#include <gail/gailtoplevel.h>
-#include <gail/gailtreeview.h>
-#include <gail/gailutil.h>
-#include <gail/gailwidget.h>
-#include <gail/gailwindow.h>
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include "gailadjustment.h"
-
-static void gail_adjustment_class_init (GailAdjustmentClass *klass);
-
-static void gail_adjustment_init (GailAdjustment *adjustment);
-
-static void gail_adjustment_real_initialize (AtkObject *obj,
- gpointer data);
-
-static void atk_value_interface_init (AtkValueIface *iface);
-
-static void gail_adjustment_get_current_value (AtkValue *obj,
- GValue *value);
-static void gail_adjustment_get_maximum_value (AtkValue *obj,
- GValue *value);
-static void gail_adjustment_get_minimum_value (AtkValue *obj,
- GValue *value);
-static void gail_adjustment_get_minimum_increment (AtkValue *obj,
- GValue *value);
-static gboolean gail_adjustment_set_current_value (AtkValue *obj,
- const GValue *value);
-
-G_DEFINE_TYPE_WITH_CODE (GailAdjustment, gail_adjustment, ATK_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
-
-static void
-gail_adjustment_class_init (GailAdjustmentClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->initialize = gail_adjustment_real_initialize;
-}
-
-static void
-gail_adjustment_init (GailAdjustment *adjustment)
-{
-}
-
-AtkObject*
-gail_adjustment_new (GtkAdjustment *adjustment)
-{
- GObject *object;
- AtkObject *atk_object;
-
- g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), NULL);
-
- object = g_object_new (GAIL_TYPE_ADJUSTMENT, NULL);
-
- atk_object = ATK_OBJECT (object);
- atk_object_initialize (atk_object, adjustment);
-
- return atk_object;
-}
-
-static void
-gail_adjustment_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GtkAdjustment *adjustment;
- GailAdjustment *gail_adjustment;
-
- ATK_OBJECT_CLASS (gail_adjustment_parent_class)->initialize (obj, data);
-
- adjustment = GTK_ADJUSTMENT (data);
-
- obj->role = ATK_ROLE_UNKNOWN;
- gail_adjustment = GAIL_ADJUSTMENT (obj);
- gail_adjustment->adjustment = adjustment;
-
- g_object_add_weak_pointer (G_OBJECT (adjustment),
- (gpointer *) &gail_adjustment->adjustment);
-}
-
-static void
-atk_value_interface_init (AtkValueIface *iface)
-{
- iface->get_current_value = gail_adjustment_get_current_value;
- iface->get_maximum_value = gail_adjustment_get_maximum_value;
- iface->get_minimum_value = gail_adjustment_get_minimum_value;
- iface->get_minimum_increment = gail_adjustment_get_minimum_increment;
- iface->set_current_value = gail_adjustment_set_current_value;
-}
-
-static void
-gail_adjustment_get_current_value (AtkValue *obj,
- GValue *value)
-{
- GtkAdjustment* adjustment;
- gdouble current_value;
-
- adjustment = GAIL_ADJUSTMENT (obj)->adjustment;
- if (adjustment == NULL)
- {
- /* State is defunct */
- return;
- }
-
- current_value = gtk_adjustment_get_value (adjustment);
- memset (value, 0, sizeof (GValue));
- g_value_init (value, G_TYPE_DOUBLE);
- g_value_set_double (value,current_value);
-}
-
-static void
-gail_adjustment_get_maximum_value (AtkValue *obj,
- GValue *value)
-{
- GtkAdjustment* adjustment;
- gdouble maximum_value;
-
- adjustment = GAIL_ADJUSTMENT (obj)->adjustment;
- if (adjustment == NULL)
- {
- /* State is defunct */
- return;
- }
-
- maximum_value = gtk_adjustment_get_upper (adjustment);
- memset (value, 0, sizeof (GValue));
- g_value_init (value, G_TYPE_DOUBLE);
- g_value_set_double (value, maximum_value);
-}
-
-static void
-gail_adjustment_get_minimum_value (AtkValue *obj,
- GValue *value)
-{
- GtkAdjustment* adjustment;
- gdouble minimum_value;
-
- adjustment = GAIL_ADJUSTMENT (obj)->adjustment;
- if (adjustment == NULL)
- {
- /* State is defunct */
- return;
- }
-
- minimum_value = gtk_adjustment_get_lower (adjustment);
- memset (value, 0, sizeof (GValue));
- g_value_init (value, G_TYPE_DOUBLE);
- g_value_set_double (value, minimum_value);
-}
-
-static void
-gail_adjustment_get_minimum_increment (AtkValue *obj,
- GValue *value)
-{
- GtkAdjustment* adjustment;
- gdouble minimum_increment;
-
- adjustment = GAIL_ADJUSTMENT (obj)->adjustment;
- if (adjustment == NULL)
- {
- /* State is defunct */
- return;
- }
-
- if (gtk_adjustment_get_step_increment (adjustment) != 0 &&
- gtk_adjustment_get_page_increment (adjustment) != 0)
- {
- if (ABS (gtk_adjustment_get_step_increment (adjustment)) < ABS (gtk_adjustment_get_page_increment (adjustment)))
- minimum_increment = gtk_adjustment_get_step_increment (adjustment);
- else
- minimum_increment = gtk_adjustment_get_page_increment (adjustment);
- }
- else if (gtk_adjustment_get_step_increment (adjustment) == 0 &&
- gtk_adjustment_get_page_increment (adjustment) == 0)
- {
- minimum_increment = 0;
- }
- else if (gtk_adjustment_get_step_increment (adjustment) == 0)
- {
- minimum_increment = gtk_adjustment_get_page_increment (adjustment);
- }
- else
- {
- minimum_increment = gtk_adjustment_get_step_increment (adjustment);
- }
-
- memset (value, 0, sizeof (GValue));
- g_value_init (value, G_TYPE_DOUBLE);
- g_value_set_double (value, minimum_increment);
-}
-
-static gboolean
-gail_adjustment_set_current_value (AtkValue *obj,
- const GValue *value)
-{
- if (G_VALUE_HOLDS_DOUBLE (value))
- {
- GtkAdjustment* adjustment;
- gdouble new_value;
-
- adjustment = GAIL_ADJUSTMENT (obj)->adjustment;
- if (adjustment == NULL)
- {
- /* State is defunct */
- return FALSE;
- }
- new_value = g_value_get_double (value);
- gtk_adjustment_set_value (adjustment, new_value);
-
- return TRUE;
- }
- else
- return FALSE;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_ADJUSTMENT_H__
-#define __GAIL_ADJUSTMENT_H__
-
-#include <atk/atk.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_ADJUSTMENT (gail_adjustment_get_type ())
-#define GAIL_ADJUSTMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_ADJUSTMENT, GailAdjustment))
-#define GAIL_ADJUSTMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_ADJUSTMENT, GailAdjustmentClass))
-#define GAIL_IS_ADJUSTMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_ADJUSTMENT))
-#define GAIL_IS_ADJUSTMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_ADJUSTMENT))
-#define GAIL_ADJUSTMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_ADJUSTMENT, GailAdjustmentClass))
-
-typedef struct _GailAdjustment GailAdjustment;
-typedef struct _GailAdjustmentClass GailAdjustmentClass;
-
-struct _GailAdjustment
-{
- AtkObject parent;
-
- GtkAdjustment *adjustment;
-};
-
-GType gail_adjustment_get_type (void);
-
-struct _GailAdjustmentClass
-{
- AtkObjectClass parent_class;
-};
-
-AtkObject *gail_adjustment_new (GtkAdjustment *adjustment);
-
-G_END_DECLS
-
-#endif /* __GAIL_ADJUSTMENT_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailarrow.h"
-
-static void gail_arrow_class_init (GailArrowClass *klass);
-static void gail_arrow_init (GailArrow *arrow);
-static void gail_arrow_initialize (AtkObject *accessible,
- gpointer data);
-
-/* AtkImage */
-static void atk_image_interface_init (AtkImageIface *iface);
-static const gchar* gail_arrow_get_image_description
- (AtkImage *obj);
-static gboolean gail_arrow_set_image_description
- (AtkImage *obj,
- const gchar *description);
-static void gail_arrow_finalize (GObject *object);
-
-G_DEFINE_TYPE_WITH_CODE (GailArrow, gail_arrow, GAIL_TYPE_WIDGET,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init))
-
-static void
-gail_arrow_class_init (GailArrowClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
-
- atk_object_class->initialize = gail_arrow_initialize;
-
- gobject_class->finalize = gail_arrow_finalize;
-}
-
-static void
-gail_arrow_init (GailArrow *arrow)
-{
- arrow->image_description = NULL;
-}
-
-static void
-gail_arrow_initialize (AtkObject *accessible,
- gpointer data)
-{
- ATK_OBJECT_CLASS (gail_arrow_parent_class)->initialize (accessible, data);
-
- accessible->role = ATK_ROLE_ICON;
-}
-
-static void
-atk_image_interface_init (AtkImageIface *iface)
-{
- iface->get_image_description = gail_arrow_get_image_description;
- iface->set_image_description = gail_arrow_set_image_description;
-}
-
-static const gchar*
-gail_arrow_get_image_description (AtkImage *obj)
-{
- GailArrow* arrow;
-
- g_return_val_if_fail(GAIL_IS_ARROW(obj), NULL);
-
- arrow = GAIL_ARROW (obj);
-
- return arrow->image_description;
-}
-
-static gboolean
-gail_arrow_set_image_description (AtkImage *obj,
- const gchar *description)
-{
- GailArrow* arrow;
-
- g_return_val_if_fail(GAIL_IS_ARROW(obj), FALSE);
-
- arrow = GAIL_ARROW (obj);
- g_free (arrow->image_description);
-
- arrow->image_description = g_strdup (description);
-
- return TRUE;
-
-}
-
-/*
- * static void
- * gail_arrow_get_image_size (AtkImage *obj,
- * gint *height,
- * gint *width)
- *
- * We dont implement this function for GailArrow as gtk hardcodes the size
- * of the arrow to be 7x5 and it is not possible to query this.
- */
-
-static void
-gail_arrow_finalize (GObject *object)
-{
- GailArrow *arrow = GAIL_ARROW (object);
-
- g_free (arrow->image_description);
- G_OBJECT_CLASS (gail_arrow_parent_class)->finalize (object);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_ARROW_H__
-#define __GAIL_ARROW_H__
-
-#include <gail/gailwidget.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_ARROW (gail_arrow_get_type ())
-#define GAIL_ARROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_ARROW, GailArrow))
-#define GAIL_ARROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_ARROW, GailArrowClass))
-#define GAIL_IS_ARROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_ARROW))
-#define GAIL_IS_ARROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_ARROW))
-#define GAIL_ARROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_ARROW, GailArrowClass))
-
-typedef struct _GailArrow GailArrow;
-typedef struct _GailArrowClass GailArrowClass;
-
-struct _GailArrow
-{
- GailWidget parent;
-
- gchar* image_description;
-};
-
-GType gail_arrow_get_type (void);
-
-struct _GailArrowClass
-{
- GailWidgetClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_ARROW_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailbooleancell.h"
-
-static void gail_boolean_cell_class_init (GailBooleanCellClass *klass);
-static void gail_boolean_cell_init (GailBooleanCell *cell);
-/* Misc */
-
-static gboolean gail_boolean_cell_update_cache (GailRendererCell *cell,
- gboolean emit_change_signal);
-
-gchar *gail_boolean_cell_property_list[] = {
- "active",
- "radio",
- "sensitive",
- NULL
-};
-
-G_DEFINE_TYPE (GailBooleanCell, gail_boolean_cell, GAIL_TYPE_RENDERER_CELL)
-
-static void
-gail_boolean_cell_class_init (GailBooleanCellClass *klass)
-{
- GailRendererCellClass *renderer_cell_class = GAIL_RENDERER_CELL_CLASS (klass);
-
- renderer_cell_class->update_cache = gail_boolean_cell_update_cache;
- renderer_cell_class->property_list = gail_boolean_cell_property_list;
-}
-
-static void
-gail_boolean_cell_init (GailBooleanCell *cell)
-{
-}
-
-AtkObject*
-gail_boolean_cell_new (void)
-{
- GObject *object;
- AtkObject *atk_object;
- GailRendererCell *cell;
- GailBooleanCell *boolean_cell;
-
- object = g_object_new (GAIL_TYPE_BOOLEAN_CELL, NULL);
-
- g_return_val_if_fail (object != NULL, NULL);
-
- atk_object = ATK_OBJECT (object);
- atk_object->role = ATK_ROLE_TABLE_CELL;
-
- cell = GAIL_RENDERER_CELL(object);
- boolean_cell = GAIL_BOOLEAN_CELL(object);
-
- cell->renderer = gtk_cell_renderer_toggle_new ();
- g_object_ref_sink (cell->renderer);
- boolean_cell->cell_value = FALSE;
- boolean_cell->cell_sensitive = TRUE;
- return atk_object;
-}
-
-static gboolean
-gail_boolean_cell_update_cache (GailRendererCell *cell,
- gboolean emit_change_signal)
-{
- GailBooleanCell *boolean_cell = GAIL_BOOLEAN_CELL (cell);
- gboolean rv = FALSE;
- gboolean new_boolean;
- gboolean new_sensitive;
-
- g_object_get (G_OBJECT(cell->renderer), "active", &new_boolean,
- "sensitive", &new_sensitive, NULL);
-
- if (boolean_cell->cell_value != new_boolean)
- {
- rv = TRUE;
- boolean_cell->cell_value = !(boolean_cell->cell_value);
-
- /* Update cell's state */
-
- if (new_boolean)
- gail_cell_add_state (GAIL_CELL (cell), ATK_STATE_CHECKED, emit_change_signal);
- else
- gail_cell_remove_state (GAIL_CELL (cell), ATK_STATE_CHECKED, emit_change_signal);
- }
-
- if (boolean_cell->cell_sensitive != new_sensitive)
- {
- rv = TRUE;
- boolean_cell->cell_sensitive = !(boolean_cell->cell_sensitive);
-
- /* Update cell's state */
-
- if (new_sensitive)
- gail_cell_add_state (GAIL_CELL (cell), ATK_STATE_SENSITIVE, emit_change_signal);
- else
- gail_cell_remove_state (GAIL_CELL (cell), ATK_STATE_SENSITIVE, emit_change_signal);
- }
-
- return rv;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_BOOLEAN_CELL_H__
-#define __GAIL_BOOLEAN_CELL_H__
-
-#include <atk/atk.h>
-#include <gail/gailrenderercell.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_BOOLEAN_CELL (gail_boolean_cell_get_type ())
-#define GAIL_BOOLEAN_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_BOOLEAN_CELL, GailBooleanCell))
-#define GAIL_BOOLEAN_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_BOOLEAN_CELL, GailBooleanCellClass))
-#define GAIL_IS_BOOLEAN_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_BOOLEAN_CELL))
-#define GAIL_IS_BOOLEAN_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_BOOLEAN_CELL))
-#define GAIL_BOOLEAN_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_BOOLEAN_CELL, GailBooleanCellClass))
-
-typedef struct _GailBooleanCell GailBooleanCell;
-typedef struct _GailBooleanCellClass GailBooleanCellClass;
-
-struct _GailBooleanCell
-{
- GailRendererCell parent;
- gboolean cell_value;
- gboolean cell_sensitive;
-};
-
- GType gail_boolean_cell_get_type (void);
-
-struct _GailBooleanCellClass
-{
- GailRendererCellClass parent_class;
-};
-
-AtkObject *gail_boolean_cell_new (void);
-
-G_END_DECLS
-
-#endif /* __GAIL_TREE_VIEW_BOOLEAN_CELL_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_BOX_H__
-#define __GAIL_BOX_H__
-
-#include <gail/gailcontainer.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_BOX (gail_box_get_type ())
-#define GAIL_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_BOX, GailBox))
-#define GAIL_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_BOX, GailBoxClass))
-#define GAIL_IS_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_BOX))
-#define GAIL_IS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_BOX))
-#define GAIL_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_BOX, GailBoxClass))
-
-typedef struct _GailBox GailBox;
-typedef struct _GailBoxClass GailBoxClass;
-
-struct _GailBox
-{
- GailContainer parent;
-};
-
-GType gail_box_get_type (void);
-
-struct _GailBoxClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_BOX_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-#include "gailbutton.h"
-#include <libgail-util/gailmisc.h>
-
-#define GAIL_BUTTON_ATTACHED_MENUS "gtk-attached-menus"
-
-static void gail_button_class_init (GailButtonClass *klass);
-static void gail_button_init (GailButton *button);
-
-static const gchar* gail_button_get_name (AtkObject *obj);
-static gint gail_button_get_n_children (AtkObject *obj);
-static AtkObject* gail_button_ref_child (AtkObject *obj,
- gint i);
-static AtkStateSet* gail_button_ref_state_set (AtkObject *obj);
-static void gail_button_notify_label_gtk (GObject *obj,
- GParamSpec *pspec,
- gpointer data);
-static void gail_button_label_map_gtk (GtkWidget *widget,
- gpointer data);
-
-static void gail_button_real_initialize (AtkObject *obj,
- gpointer data);
-static void gail_button_finalize (GObject *object);
-static void gail_button_init_textutil (GailButton *button,
- GtkWidget *label);
-
-static void gail_button_pressed_enter_handler (GtkWidget *widget);
-static void gail_button_released_leave_handler (GtkWidget *widget);
-static gint gail_button_real_add_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data);
-
-
-static void atk_action_interface_init (AtkActionIface *iface);
-static gboolean gail_button_do_action (AtkAction *action,
- gint i);
-static gboolean idle_do_action (gpointer data);
-static gint gail_button_get_n_actions (AtkAction *action);
-static const gchar* gail_button_get_description(AtkAction *action,
- gint i);
-static const gchar* gail_button_get_keybinding (AtkAction *action,
- gint i);
-static const gchar* gail_button_action_get_name(AtkAction *action,
- gint i);
-static gboolean gail_button_set_description(AtkAction *action,
- gint i,
- const gchar *desc);
-static void gail_button_notify_label_weak_ref (gpointer data,
- GObject *obj);
-static void gail_button_notify_weak_ref (gpointer data,
- GObject *obj);
-
-
-/* AtkImage.h */
-static void atk_image_interface_init (AtkImageIface *iface);
-static const gchar* gail_button_get_image_description
- (AtkImage *image);
-static void gail_button_get_image_position
- (AtkImage *image,
- gint *x,
- gint *y,
- AtkCoordType coord_type);
-static void gail_button_get_image_size (AtkImage *image,
- gint *width,
- gint *height);
-static gboolean gail_button_set_image_description
- (AtkImage *image,
- const gchar *description);
-
-/* atktext.h */
-static void atk_text_interface_init (AtkTextIface *iface);
-
-static gchar* gail_button_get_text (AtkText *text,
- gint start_pos,
- gint end_pos);
-static gunichar gail_button_get_character_at_offset(AtkText *text,
- gint offset);
-static gchar* gail_button_get_text_before_offset(AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_button_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_button_get_text_after_offset(AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gint gail_button_get_character_count (AtkText *text);
-static void gail_button_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords);
-static gint gail_button_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords);
-static AtkAttributeSet* gail_button_get_run_attributes
- (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static AtkAttributeSet* gail_button_get_default_attributes
- (AtkText *text);
-static GtkImage* get_image_from_button (GtkWidget *button);
-static GtkWidget* get_label_from_button (GtkWidget *button,
- gint index,
- gboolean allow_many);
-static gint get_n_labels_from_button (GtkWidget *button);
-static void set_role_for_button (AtkObject *accessible,
- GtkWidget *button);
-
-static gint get_n_attached_menus (GtkWidget *widget);
-static GtkWidget* get_nth_attached_menu (GtkWidget *widget,
- gint index);
-
-G_DEFINE_TYPE_WITH_CODE (GailButton, gail_button, GAIL_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
-
-static void
-gail_button_class_init (GailButtonClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GailContainerClass *container_class;
-
- container_class = (GailContainerClass*)klass;
-
- gobject_class->finalize = gail_button_finalize;
-
- class->get_name = gail_button_get_name;
- class->get_n_children = gail_button_get_n_children;
- class->ref_child = gail_button_ref_child;
- class->ref_state_set = gail_button_ref_state_set;
- class->initialize = gail_button_real_initialize;
-
- container_class->add_gtk = gail_button_real_add_gtk;
- container_class->remove_gtk = NULL;
-}
-
-static void
-gail_button_init (GailButton *button)
-{
- button->click_description = NULL;
- button->press_description = NULL;
- button->release_description = NULL;
- button->click_keybinding = NULL;
- button->action_queue = NULL;
- button->action_idle_handler = 0;
- button->textutil = NULL;
-}
-
-static const gchar*
-gail_button_get_name (AtkObject *obj)
-{
- const gchar* name = NULL;
-
- g_return_val_if_fail (GAIL_IS_BUTTON (obj), NULL);
-
- name = ATK_OBJECT_CLASS (gail_button_parent_class)->get_name (obj);
- if (name == NULL)
- {
- /*
- * Get the text on the label
- */
- GtkWidget *widget;
- GtkWidget *child;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- g_return_val_if_fail (GTK_IS_BUTTON (widget), NULL);
-
- child = get_label_from_button (widget, 0, FALSE);
- if (GTK_IS_LABEL (child))
- name = gtk_label_get_text (GTK_LABEL (child));
- else
- {
- GtkImage *image;
-
- image = get_image_from_button (widget);
- if (GTK_IS_IMAGE (image))
- {
- AtkObject *atk_obj;
-
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (image));
- name = atk_object_get_name (atk_obj);
- }
- }
- }
- return name;
-}
-
-/*
- * A DownArrow in a GtkToggltButton whose parent is not a ColorCombo
- * has press as default action.
- */
-static gboolean
-gail_button_is_default_press (GtkWidget *widget)
-{
- GtkArrowType arrow_type;
- GtkWidget *child;
- GtkWidget *parent;
- gboolean ret = FALSE;
- const gchar *parent_type_name;
-
- child = gtk_bin_get_child (GTK_BIN (widget));
- if (GTK_IS_ARROW (child))
- {
- g_object_get (child,
- "arrow_type", &arrow_type,
- NULL);
-
- if (arrow_type == GTK_ARROW_DOWN)
- {
- parent = gtk_widget_get_parent (widget);
- if (parent)
- {
- parent_type_name = g_type_name (G_OBJECT_TYPE (parent));
- if (g_strcmp0 (parent_type_name, "ColorCombo"))
- return TRUE;
- }
- }
- }
-
- return ret;
-}
-
-static void
-gail_button_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GailButton *button = GAIL_BUTTON (obj);
- GtkWidget *label;
- GtkWidget *widget;
-
- ATK_OBJECT_CLASS (gail_button_parent_class)->initialize (obj, data);
-
- button->state = GTK_STATE_NORMAL;
-
- g_signal_connect (data,
- "pressed",
- G_CALLBACK (gail_button_pressed_enter_handler),
- NULL);
- g_signal_connect (data,
- "enter",
- G_CALLBACK (gail_button_pressed_enter_handler),
- NULL);
- g_signal_connect (data,
- "released",
- G_CALLBACK (gail_button_released_leave_handler),
- NULL);
- g_signal_connect (data,
- "leave",
- G_CALLBACK (gail_button_released_leave_handler),
- NULL);
-
-
- widget = GTK_WIDGET (data);
- label = get_label_from_button (widget, 0, FALSE);
- if (GTK_IS_LABEL (label))
- {
- if (gtk_widget_get_mapped (label))
- gail_button_init_textutil (button, label);
- else
- g_signal_connect (label,
- "map",
- G_CALLBACK (gail_button_label_map_gtk),
- button);
- }
- button->default_is_press = gail_button_is_default_press (widget);
-
- set_role_for_button (obj, data);
-}
-
-static void
-gail_button_label_map_gtk (GtkWidget *widget,
- gpointer data)
-{
- GailButton *button;
-
- button = GAIL_BUTTON (data);
- gail_button_init_textutil (button, widget);
-}
-
-static void
-gail_button_notify_label_gtk (GObject *obj,
- GParamSpec *pspec,
- gpointer data)
-{
- AtkObject* atk_obj = ATK_OBJECT (data);
- GtkLabel *label;
- GailButton *gail_button;
-
- if (strcmp (pspec->name, "label") == 0)
- {
- const gchar* label_text;
-
- label = GTK_LABEL (obj);
-
- label_text = gtk_label_get_text (label);
-
- gail_button = GAIL_BUTTON (atk_obj);
- gail_text_util_text_setup (gail_button->textutil, label_text);
-
- if (atk_obj->name == NULL)
- {
- /*
- * The label has changed so notify a change in accessible-name
- */
- g_object_notify (G_OBJECT (atk_obj), "accessible-name");
- }
- /*
- * The label is the only property which can be changed
- */
- g_signal_emit_by_name (atk_obj, "visible_data_changed");
- }
-}
-
-static void
-gail_button_notify_weak_ref (gpointer data, GObject* obj)
-{
- GtkLabel *label = NULL;
-
- AtkObject* atk_obj = ATK_OBJECT (obj);
- if (data && GTK_IS_WIDGET (data))
- {
- label = GTK_LABEL (data);
- if (label)
- {
- g_signal_handlers_disconnect_by_func (label,
- (GCallback) gail_button_notify_label_gtk,
- GAIL_BUTTON (atk_obj));
- g_object_weak_unref (G_OBJECT (label),
- gail_button_notify_label_weak_ref,
- GAIL_BUTTON (atk_obj));
- }
- }
-}
-
-static void
-gail_button_notify_label_weak_ref (gpointer data, GObject* obj)
-{
- GtkLabel *label = NULL;
- GailButton *button = NULL;
-
- label = GTK_LABEL (obj);
- if (data && GAIL_IS_BUTTON (data))
- {
- button = GAIL_BUTTON (ATK_OBJECT (data));
- if (button)
- g_object_weak_unref (G_OBJECT (button), gail_button_notify_weak_ref,
- label);
- }
-}
-
-
-static void
-gail_button_init_textutil (GailButton *button,
- GtkWidget *label)
-{
- const gchar *label_text;
-
- if (button->textutil)
- g_object_unref (button->textutil);
- button->textutil = gail_text_util_new ();
- label_text = gtk_label_get_text (GTK_LABEL (label));
- gail_text_util_text_setup (button->textutil, label_text);
- g_object_weak_ref (G_OBJECT (button),
- gail_button_notify_weak_ref, label);
- g_object_weak_ref (G_OBJECT (label),
- gail_button_notify_label_weak_ref, button);
- g_signal_connect (label,
- "notify",
- (GCallback) gail_button_notify_label_gtk,
- button);
-}
-
-static gint
-gail_button_real_add_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data)
-{
- GtkLabel *label;
- GailButton *button;
-
- if (GTK_IS_LABEL (widget))
- {
- const gchar* label_text;
-
- label = GTK_LABEL (widget);
-
-
- button = GAIL_BUTTON (data);
- if (!button->textutil)
- gail_button_init_textutil (button, widget);
- else
- {
- label_text = gtk_label_get_text (label);
- gail_text_util_text_setup (button->textutil, label_text);
- }
- }
-
- return 1;
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- iface->do_action = gail_button_do_action;
- iface->get_n_actions = gail_button_get_n_actions;
- iface->get_description = gail_button_get_description;
- iface->get_keybinding = gail_button_get_keybinding;
- iface->get_name = gail_button_action_get_name;
- iface->set_description = gail_button_set_description;
-}
-
-static gboolean
-gail_button_do_action (AtkAction *action,
- gint i)
-{
- GtkWidget *widget;
- GailButton *button;
- gboolean return_value = TRUE;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
- if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- button = GAIL_BUTTON (action);
-
- switch (i)
- {
- case 0:
- case 1:
- case 2:
- if (!button->action_queue)
- {
- button->action_queue = g_queue_new ();
- }
- g_queue_push_head (button->action_queue, GINT_TO_POINTER(i));
- if (!button->action_idle_handler)
- button->action_idle_handler = gdk_threads_add_idle (idle_do_action, button);
- break;
- default:
- return_value = FALSE;
- break;
- }
- return return_value;
-}
-
-static gboolean
-idle_do_action (gpointer data)
-{
- GtkButton *button;
- GtkWidget *widget;
- GailButton *gail_button;
- GdkEvent tmp_event;
- GdkWindow *window;
-
- gail_button = GAIL_BUTTON (data);
- gail_button->action_idle_handler = 0;
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (gail_button));
- window = gtk_widget_get_window (widget);
-
- tmp_event.button.type = GDK_BUTTON_RELEASE;
- tmp_event.button.window = window;
- tmp_event.button.button = 1;
- tmp_event.button.send_event = TRUE;
- tmp_event.button.time = GDK_CURRENT_TIME;
- tmp_event.button.axes = NULL;
-
- g_object_ref (gail_button);
-
- if (widget == NULL /* State is defunct */ ||
- !gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
- {
- g_object_unref (gail_button);
- return FALSE;
- }
- else
- gtk_widget_event (widget, &tmp_event);
-
- button = GTK_BUTTON (widget);
- while (!g_queue_is_empty (gail_button->action_queue))
- {
- gint action_number = GPOINTER_TO_INT(g_queue_pop_head (gail_button->action_queue));
- if (gail_button->default_is_press)
- {
- if (action_number == 0)
- action_number = 1;
- else if (action_number == 1)
- action_number = 0;
- }
- switch (action_number)
- {
- case 0:
- /* first a press */
-
- /* FIXME: Do not access public member
- button->in_button = TRUE;
- */
- g_signal_emit_by_name (button, "enter");
- /*
- * Simulate a button press event. calling gtk_button_pressed() does
- * not get the job done for a GtkOptionMenu.
- */
- tmp_event.button.type = GDK_BUTTON_PRESS;
- tmp_event.button.window = window;
- tmp_event.button.button = 1;
- tmp_event.button.send_event = TRUE;
- tmp_event.button.time = GDK_CURRENT_TIME;
- tmp_event.button.axes = NULL;
-
- gtk_widget_event (widget, &tmp_event);
-
- /* then a release */
- tmp_event.button.type = GDK_BUTTON_RELEASE;
- gtk_widget_event (widget, &tmp_event);
- /* FIXME: Do not access public member
- button->in_button = FALSE;
- */
- g_signal_emit_by_name (button, "leave");
- break;
- case 1:
- /* FIXME: Do not access public member
- button->in_button = TRUE;
- */
- g_signal_emit_by_name (button, "enter");
- /*
- * Simulate a button press event. calling gtk_button_pressed() does
- * not get the job done for a GtkOptionMenu.
- */
- tmp_event.button.type = GDK_BUTTON_PRESS;
- tmp_event.button.window = window;
- tmp_event.button.button = 1;
- tmp_event.button.send_event = TRUE;
- tmp_event.button.time = GDK_CURRENT_TIME;
- tmp_event.button.axes = NULL;
-
- gtk_widget_event (widget, &tmp_event);
- break;
- case 2:
- /* FIXME: Do not access public member
- button->in_button = FALSE;
- */
- g_signal_emit_by_name (button, "leave");
- break;
- default:
- g_assert_not_reached ();
- break;
- }
- }
- g_object_unref (gail_button);
- return FALSE;
-}
-
-static gint
-gail_button_get_n_actions (AtkAction *action)
-{
- return 3;
-}
-
-static const gchar*
-gail_button_get_description (AtkAction *action,
- gint i)
-{
- GailButton *button;
- const gchar *return_value;
-
- button = GAIL_BUTTON (action);
-
- if (button->default_is_press)
- {
- if (i == 0)
- i = 1;
- else if (i == 1)
- i = 0;
- }
- switch (i)
- {
- case 0:
- return_value = button->click_description;
- break;
- case 1:
- return_value = button->press_description;
- break;
- case 2:
- return_value = button->release_description;
- break;
- default:
- return_value = NULL;
- break;
- }
- return return_value;
-}
-
-static const gchar*
-gail_button_get_keybinding (AtkAction *action,
- gint i)
-{
- GailButton *button;
- gchar *return_value = NULL;
-
- button = GAIL_BUTTON (action);
- if (button->default_is_press)
- {
- if (i == 0)
- i = 1;
- else if (i == 1)
- i = 0;
- }
- switch (i)
- {
- case 0:
- {
- /*
- * We look for a mnemonic on the label
- */
- GtkWidget *widget;
- GtkWidget *label;
- guint key_val;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (button));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- g_return_val_if_fail (GTK_IS_BUTTON (widget), NULL);
-
- label = get_label_from_button (widget, 0, FALSE);
- if (GTK_IS_LABEL (label))
- {
- key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
- if (key_val != GDK_KEY_VoidSymbol)
- return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
- }
- if (return_value == NULL)
- {
- /* Find labelled-by relation */
- AtkRelationSet *set;
- AtkRelation *relation;
- GPtrArray *target;
- gpointer target_object;
-
- set = atk_object_ref_relation_set (ATK_OBJECT (action));
- if (set)
- {
- relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_LABELLED_BY);
- if (relation)
- {
- target = atk_relation_get_target (relation);
-
- target_object = g_ptr_array_index (target, 0);
- label = gtk_accessible_get_widget (GTK_ACCESSIBLE (target_object));
- }
- g_object_unref (set);
- }
-
- if (GTK_IS_LABEL (label))
- {
- key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
- if (key_val != GDK_KEY_VoidSymbol)
- return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
- }
- }
- g_free (button->click_keybinding);
- button->click_keybinding = return_value;
- break;
- }
- default:
- break;
- }
- return return_value;
-}
-
-static const gchar*
-gail_button_action_get_name (AtkAction *action,
- gint i)
-{
- const gchar *return_value;
- GailButton *button;
-
- button = GAIL_BUTTON (action);
-
- if (button->default_is_press)
- {
- if (i == 0)
- i = 1;
- else if (i == 1)
- i = 0;
- }
- switch (i)
- {
- case 0:
- /*
- * This action is a "click" to activate a button or "toggle" to change
- * the state of a toggle button check box or radio button.
- */
- return_value = "click";
- break;
- case 1:
- /*
- * This action simulates a button press by simulating moving the
- * mouse into the button followed by pressing the left mouse button.
- */
- return_value = "press";
- break;
- case 2:
- /*
- * This action simulates releasing the left mouse button outside the
- * button.
- *
- * To simulate releasing the left mouse button inside the button use
- * the click action.
- */
- return_value = "release";
- break;
- default:
- return_value = NULL;
- break;
- }
- return return_value;
-}
-
-static gboolean
-gail_button_set_description (AtkAction *action,
- gint i,
- const gchar *desc)
-{
- GailButton *button;
- gchar **value;
-
- button = GAIL_BUTTON (action);
-
- if (button->default_is_press)
- {
- if (i == 0)
- i = 1;
- else if (i == 1)
- i = 0;
- }
- switch (i)
- {
- case 0:
- value = &button->click_description;
- break;
- case 1:
- value = &button->press_description;
- break;
- case 2:
- value = &button->release_description;
- break;
- default:
- value = NULL;
- break;
- }
- if (value)
- {
- g_free (*value);
- *value = g_strdup (desc);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static gint
-gail_button_get_n_children (AtkObject* obj)
-{
- GtkWidget *widget;
- gint n_children;
-
- g_return_val_if_fail (GAIL_IS_BUTTON (obj), 0);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return 0;
-
- /*
- * Check whether we have an attached menus for PanelMenuButton
- */
- n_children = get_n_attached_menus (widget);
- if (n_children > 0)
- return n_children;
-
- n_children = get_n_labels_from_button (widget);
- if (n_children <= 1)
- n_children = 0;
-
- return n_children;
-}
-
-static AtkObject*
-gail_button_ref_child (AtkObject *obj,
- gint i)
-{
- GtkWidget *widget;
- GtkWidget *child_widget;
- AtkObject *child;
-
- g_return_val_if_fail (GAIL_IS_BUTTON (obj), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- if (i >= gail_button_get_n_children (obj))
- return NULL;
-
- if (get_n_attached_menus (widget) > 0)
- {
- child_widget = get_nth_attached_menu (widget, i);
- }
- else
- child_widget = NULL;
-
- if (!child_widget)
- {
- if (get_n_labels_from_button (widget) > 1)
- {
- child_widget = get_label_from_button (widget, i, TRUE);
- }
- }
-
- if (child_widget)
- {
- child = gtk_widget_get_accessible (child_widget);
- g_object_ref (child);
- }
- else
- child = NULL;
-
- return child;
-}
-
-static AtkStateSet*
-gail_button_ref_state_set (AtkObject *obj)
-{
- AtkStateSet *state_set;
- GtkWidget *widget;
-
- state_set = ATK_OBJECT_CLASS (gail_button_parent_class)->ref_state_set (obj);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
-
- if (widget == NULL)
- return state_set;
-
- if (gtk_widget_get_state (widget) == GTK_STATE_ACTIVE)
- atk_state_set_add_state (state_set, ATK_STATE_ARMED);
-
- if (!gtk_widget_get_can_focus (widget))
- atk_state_set_remove_state (state_set, ATK_STATE_SELECTABLE);
-
-
- return state_set;
-}
-
-/*
- * This is the signal handler for the "pressed" or "enter" signal handler
- * on the GtkButton.
- *
- * If the state is now GTK_STATE_ACTIVE we notify a property change
- */
-static void
-gail_button_pressed_enter_handler (GtkWidget *widget)
-{
- AtkObject *accessible;
-
- if (gtk_widget_get_state (widget) == GTK_STATE_ACTIVE)
- {
- accessible = gtk_widget_get_accessible (widget);
- atk_object_notify_state_change (accessible, ATK_STATE_ARMED, TRUE);
- GAIL_BUTTON (accessible)->state = GTK_STATE_ACTIVE;
- }
-}
-
-/*
- * This is the signal handler for the "released" or "leave" signal handler
- * on the GtkButton.
- *
- * If the state was GTK_STATE_ACTIVE we notify a property change
- */
-static void
-gail_button_released_leave_handler (GtkWidget *widget)
-{
- AtkObject *accessible;
-
- accessible = gtk_widget_get_accessible (widget);
- if (GAIL_BUTTON (accessible)->state == GTK_STATE_ACTIVE)
- {
- atk_object_notify_state_change (accessible, ATK_STATE_ARMED, FALSE);
- GAIL_BUTTON (accessible)->state = GTK_STATE_NORMAL;
- }
-}
-
-static void
-atk_image_interface_init (AtkImageIface *iface)
-{
- iface->get_image_description = gail_button_get_image_description;
- iface->get_image_position = gail_button_get_image_position;
- iface->get_image_size = gail_button_get_image_size;
- iface->set_image_description = gail_button_set_image_description;
-}
-
-static GtkImage*
-get_image_from_button (GtkWidget *button)
-{
- GtkWidget *child;
- GList *list;
- GtkImage *image = NULL;
-
- child = gtk_bin_get_child (GTK_BIN (button));
- if (GTK_IS_IMAGE (child))
- image = GTK_IMAGE (child);
- else
- {
- if (GTK_IS_ALIGNMENT (child))
- child = gtk_bin_get_child (GTK_BIN (child));
- if (GTK_IS_CONTAINER (child))
- {
- list = gtk_container_get_children (GTK_CONTAINER (child));
- if (!list)
- return NULL;
- if (GTK_IS_IMAGE (list->data))
- image = GTK_IMAGE (list->data);
- g_list_free (list);
- }
- }
-
- return image;
-}
-
-static const gchar*
-gail_button_get_image_description (AtkImage *image) {
-
- GtkWidget *widget;
- GtkImage *button_image;
- AtkObject *obj;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- button_image = get_image_from_button (widget);
-
- if (button_image != NULL)
- {
- obj = gtk_widget_get_accessible (GTK_WIDGET (button_image));
- return atk_image_get_image_description (ATK_IMAGE (obj));
- }
- else
- return NULL;
-}
-
-static void
-gail_button_get_image_position (AtkImage *image,
- gint *x,
- gint *y,
- AtkCoordType coord_type)
-{
- GtkWidget *widget;
- GtkImage *button_image;
- AtkObject *obj;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
-
- if (widget == NULL)
- {
- /*
- * State is defunct
- */
- *x = G_MININT;
- *y = G_MININT;
- return;
- }
-
- button_image = get_image_from_button (widget);
-
- if (button_image != NULL)
- {
- obj = gtk_widget_get_accessible (GTK_WIDGET (button_image));
- atk_component_get_position (ATK_COMPONENT (obj), x, y, coord_type);
- }
- else
- {
- *x = G_MININT;
- *y = G_MININT;
- }
-}
-
-static void
-gail_button_get_image_size (AtkImage *image,
- gint *width,
- gint *height)
-{
- GtkWidget *widget;
- GtkImage *button_image;
- AtkObject *obj;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
-
- if (widget == NULL)
- {
- /*
- * State is defunct
- */
- *width = -1;
- *height = -1;
- return;
- }
-
- button_image = get_image_from_button (widget);
-
- if (button_image != NULL)
- {
- obj = gtk_widget_get_accessible (GTK_WIDGET (button_image));
- atk_image_get_image_size (ATK_IMAGE (obj), width, height);
- }
- else
- {
- *width = -1;
- *height = -1;
- }
-}
-
-static gboolean
-gail_button_set_image_description (AtkImage *image,
- const gchar *description)
-{
- GtkWidget *widget;
- GtkImage *button_image;
- AtkObject *obj;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
- button_image = get_image_from_button (widget);
-
- if (button_image != NULL)
- {
- obj = gtk_widget_get_accessible (GTK_WIDGET (button_image));
- return atk_image_set_image_description (ATK_IMAGE (obj), description);
- }
- else
- return FALSE;
-}
-
-/* atktext.h */
-
-static void
-atk_text_interface_init (AtkTextIface *iface)
-{
- iface->get_text = gail_button_get_text;
- iface->get_character_at_offset = gail_button_get_character_at_offset;
- iface->get_text_before_offset = gail_button_get_text_before_offset;
- iface->get_text_at_offset = gail_button_get_text_at_offset;
- iface->get_text_after_offset = gail_button_get_text_after_offset;
- iface->get_character_count = gail_button_get_character_count;
- iface->get_character_extents = gail_button_get_character_extents;
- iface->get_offset_at_point = gail_button_get_offset_at_point;
- iface->get_run_attributes = gail_button_get_run_attributes;
- iface->get_default_attributes = gail_button_get_default_attributes;
-}
-
-static gchar*
-gail_button_get_text (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailButton *button;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = get_label_from_button (widget, 0, FALSE);
-
- if (!GTK_IS_LABEL (label))
- return NULL;
-
- button = GAIL_BUTTON (text);
- if (!button->textutil)
- gail_button_init_textutil (button, label);
-
- label_text = gtk_label_get_text (GTK_LABEL (label));
-
- if (label_text == NULL)
- return NULL;
- else
- {
- return gail_text_util_get_substring (button->textutil,
- start_pos, end_pos);
- }
-}
-
-static gchar*
-gail_button_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailButton *button;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Get label */
- label = get_label_from_button (widget, 0, FALSE);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- button = GAIL_BUTTON (text);
- if (!button->textutil)
- gail_button_init_textutil (button, label);
-
- return gail_text_util_get_text (button->textutil,
- gtk_label_get_layout (GTK_LABEL (label)), GAIL_BEFORE_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_button_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailButton *button;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Get label */
- label = get_label_from_button (widget, 0, FALSE);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- button = GAIL_BUTTON (text);
- if (!button->textutil)
- gail_button_init_textutil (button, label);
-
- return gail_text_util_get_text (button->textutil,
- gtk_label_get_layout (GTK_LABEL (label)), GAIL_AT_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_button_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailButton *button;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- {
- /* State is defunct */
- return NULL;
- }
-
- /* Get label */
- label = get_label_from_button (widget, 0, FALSE);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- button = GAIL_BUTTON (text);
- if (!button->textutil)
- gail_button_init_textutil (button, label);
-
- return gail_text_util_get_text (button->textutil,
- gtk_label_get_layout (GTK_LABEL (label)), GAIL_AFTER_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gint
-gail_button_get_character_count (AtkText *text)
-{
- GtkWidget *widget;
- GtkWidget *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- label = get_label_from_button (widget, 0, FALSE);
-
- if (!GTK_IS_LABEL(label))
- return 0;
-
- return g_utf8_strlen (gtk_label_get_text (GTK_LABEL (label)), -1);
-}
-
-static void
-gail_button_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkWidget *label;
- PangoRectangle char_rect;
- gint index, x_layout, y_layout;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return;
-
- label = get_label_from_button (widget, 0, FALSE);
-
- if (!GTK_IS_LABEL(label))
- return;
-
- gtk_label_get_layout_offsets (GTK_LABEL (label), &x_layout, &y_layout);
- label_text = gtk_label_get_text (GTK_LABEL (label));
- index = g_utf8_offset_to_pointer (label_text, offset) - label_text;
- pango_layout_index_to_pos (gtk_label_get_layout (GTK_LABEL (label)), index, &char_rect);
-
- gail_misc_get_extents_from_pango_rectangle (label, &char_rect,
- x_layout, y_layout, x, y, width, height, coords);
-}
-
-static gint
-gail_button_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkWidget *label;
- gint index, x_layout, y_layout;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return -1;
-
- label = get_label_from_button (widget, 0, FALSE);
-
- if (!GTK_IS_LABEL(label))
- return -1;
-
- gtk_label_get_layout_offsets (GTK_LABEL (label), &x_layout, &y_layout);
-
- index = gail_misc_get_index_at_point_in_layout (label,
- gtk_label_get_layout (GTK_LABEL (label)),
- x_layout, y_layout, x, y, coords);
- label_text = gtk_label_get_text (GTK_LABEL (label));
- if (index == -1)
- {
- if (coords == ATK_XY_WINDOW || coords == ATK_XY_SCREEN)
- return g_utf8_strlen (label_text, -1);
-
- return index;
- }
- else
- return g_utf8_pointer_to_offset (label_text, label_text + index);
-}
-
-static AtkAttributeSet*
-gail_button_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- AtkAttributeSet *at_set = NULL;
- GtkJustification justify;
- GtkTextDirection dir;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = get_label_from_button (widget, 0, FALSE);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- /* Get values set for entire label, if any */
- justify = gtk_label_get_justify (GTK_LABEL (label));
- if (justify != GTK_JUSTIFY_CENTER)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_JUSTIFICATION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_JUSTIFICATION, justify)));
- }
- dir = gtk_widget_get_direction (label);
- if (dir == GTK_TEXT_DIR_RTL)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_DIRECTION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, dir)));
- }
-
- at_set = gail_misc_layout_get_run_attributes (at_set,
- gtk_label_get_layout (GTK_LABEL (label)),
- (gchar *) gtk_label_get_text (GTK_LABEL (label)),
- offset,
- start_offset,
- end_offset);
- return at_set;
-}
-
-static AtkAttributeSet*
-gail_button_get_default_attributes (AtkText *text)
-{
- GtkWidget *widget;
- GtkWidget *label;
- AtkAttributeSet *at_set = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = get_label_from_button (widget, 0, FALSE);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- at_set = gail_misc_get_default_attributes (at_set,
- gtk_label_get_layout (GTK_LABEL (label)),
- widget);
- return at_set;
-}
-
-static gunichar
-gail_button_get_character_at_offset (AtkText *text,
- gint offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- const gchar *string;
- gchar *index;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return '\0';
-
- label = get_label_from_button (widget, 0, FALSE);
-
- if (!GTK_IS_LABEL(label))
- return '\0';
- string = gtk_label_get_text (GTK_LABEL (label));
- if (offset >= g_utf8_strlen (string, -1))
- return '\0';
- index = g_utf8_offset_to_pointer (string, offset);
-
- return g_utf8_get_char (index);
-}
-
-static void
-gail_button_finalize (GObject *object)
-{
- GailButton *button = GAIL_BUTTON (object);
-
- g_free (button->click_description);
- g_free (button->press_description);
- g_free (button->release_description);
- g_free (button->click_keybinding);
- if (button->action_idle_handler)
- {
- g_source_remove (button->action_idle_handler);
- button->action_idle_handler = 0;
- }
- if (button->action_queue)
- {
- g_queue_free (button->action_queue);
- }
- if (button->textutil)
- {
- g_object_unref (button->textutil);
- }
- G_OBJECT_CLASS (gail_button_parent_class)->finalize (object);
-}
-
-static GtkWidget*
-find_label_child (GtkContainer *container,
- gint *index,
- gboolean allow_many)
-{
- GList *children, *tmp_list;
- GtkWidget *child;
-
- children = gtk_container_get_children (container);
-
- child = NULL;
- for (tmp_list = children; tmp_list != NULL; tmp_list = tmp_list->next)
- {
- if (GTK_IS_LABEL (tmp_list->data))
- {
- if (!allow_many)
- {
- if (child)
- {
- child = NULL;
- break;
- }
- child = GTK_WIDGET (tmp_list->data);
- }
- else
- {
- if (*index == 0)
- {
- child = GTK_WIDGET (tmp_list->data);
- break;
- }
- (*index)--;
- }
- }
- /*
- * Label for button which are GtkTreeView column headers are in a
- * GtkHBox in a GtkAlignment.
- */
- else if (GTK_IS_ALIGNMENT (tmp_list->data))
- {
- GtkWidget *widget;
-
- widget = gtk_bin_get_child (GTK_BIN (tmp_list->data));
- if (GTK_IS_LABEL (widget))
- {
- if (!allow_many)
- {
- if (child)
- {
- child = NULL;
- break;
- }
- child = widget;
- }
- else
- {
- if (*index == 0)
- {
- child = widget;
- break;
- }
- (*index)--;
- }
- }
- }
- else if (GTK_IS_CONTAINER (tmp_list->data))
- {
- child = find_label_child (GTK_CONTAINER (tmp_list->data), index, allow_many);
- if (child)
- break;
- }
- }
- g_list_free (children);
- return child;
-}
-
-static GtkWidget*
-get_label_from_button (GtkWidget *button,
- gint index,
- gboolean allow_many)
-{
- GtkWidget *child;
-
- if (index > 0 && !allow_many)
- g_warning ("Inconsistent values passed to get_label_from_button");
-
- child = gtk_bin_get_child (GTK_BIN (button));
- if (GTK_IS_ALIGNMENT (child))
- child = gtk_bin_get_child (GTK_BIN (child));
-
- if (GTK_IS_CONTAINER (child))
- child = find_label_child (GTK_CONTAINER (child), &index, allow_many);
- else if (!GTK_IS_LABEL (child))
- child = NULL;
-
- return child;
-}
-
-static void
-count_labels (GtkContainer *container,
- gint *n_labels)
-{
- GList *children, *tmp_list;
-
- children = gtk_container_get_children (container);
-
- for (tmp_list = children; tmp_list != NULL; tmp_list = tmp_list->next)
- {
- if (GTK_IS_LABEL (tmp_list->data))
- {
- (*n_labels)++;
- }
- /*
- * Label for button which are GtkTreeView column headers are in a
- * GtkHBox in a GtkAlignment.
- */
- else if (GTK_IS_ALIGNMENT (tmp_list->data))
- {
- GtkWidget *widget;
-
- widget = gtk_bin_get_child (GTK_BIN (tmp_list->data));
- if (GTK_IS_LABEL (widget))
- (*n_labels)++;
- }
- else if (GTK_IS_CONTAINER (tmp_list->data))
- {
- count_labels (GTK_CONTAINER (tmp_list->data), n_labels);
- }
- }
- g_list_free (children);
-}
-
-static gint
-get_n_labels_from_button (GtkWidget *button)
-{
- GtkWidget *child;
- gint n_labels;
-
- n_labels = 0;
-
- child = gtk_bin_get_child (GTK_BIN (button));
- if (GTK_IS_ALIGNMENT (child))
- child = gtk_bin_get_child (GTK_BIN (child));
-
- if (GTK_IS_CONTAINER (child))
- count_labels (GTK_CONTAINER (child), &n_labels);
-
- return n_labels;
-}
-
-static void
-set_role_for_button (AtkObject *accessible,
- GtkWidget *button)
-{
- GtkWidget *parent;
- AtkRole role;
-
- parent = gtk_widget_get_parent (button);
- if (GTK_IS_TREE_VIEW (parent))
- {
- role = ATK_ROLE_TABLE_COLUMN_HEADER;
- /*
- * Even though the accessible parent of the column header will
- * be reported as the table because the parent widget of the
- * GtkTreeViewColumn's button is the GtkTreeView we set
- * the accessible parent for column header to be the table
- * to ensure that atk_object_get_index_in_parent() returns
- * the correct value; see gail_widget_get_index_in_parent().
- */
- atk_object_set_parent (accessible, gtk_widget_get_accessible (parent));
- }
- else
- role = ATK_ROLE_PUSH_BUTTON;
-
- accessible->role = role;
-}
-
-static gint
-get_n_attached_menus (GtkWidget *widget)
-{
- GList *list_menus;
-
- if (widget == NULL)
- return 0;
-
- list_menus = g_object_get_data (G_OBJECT (widget), GAIL_BUTTON_ATTACHED_MENUS);
- if (list_menus == NULL)
- return 0;
-
- return g_list_length (list_menus);
-}
-
-static GtkWidget*
-get_nth_attached_menu (GtkWidget *widget,
- gint index)
-{
- GtkWidget *attached_menu;
- GList *list_menus;
-
- if (widget == NULL)
- return NULL;
-
- list_menus = g_object_get_data (G_OBJECT (widget), GAIL_BUTTON_ATTACHED_MENUS);
- if (list_menus == NULL ||
- index >= g_list_length (list_menus))
- return NULL;
-
- attached_menu = (GtkWidget *) g_list_nth_data (list_menus, index);
-
- return attached_menu;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_BUTTON_H__
-#define __GAIL_BUTTON_H__
-
-#include <gail/gailcontainer.h>
-#include <libgail-util/gailtextutil.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_BUTTON (gail_button_get_type ())
-#define GAIL_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_BUTTON, GailButton))
-#define GAIL_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_BUTTON, GailButtonClass))
-#define GAIL_IS_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_BUTTON))
-#define GAIL_IS_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_BUTTON))
-#define GAIL_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_BUTTON, GailButtonClass))
-
-typedef struct _GailButton GailButton;
-typedef struct _GailButtonClass GailButtonClass;
-
-struct _GailButton
-{
- GailContainer parent;
-
- /*
- * Cache the widget state so we know the previous state when it changed
- */
- gint8 state;
-
- gchar *click_description;
- gchar *press_description;
- gchar *release_description;
- gchar *click_keybinding;
- guint action_idle_handler;
- GQueue *action_queue;
-
- GailTextUtil *textutil;
-
- gboolean default_is_press;
-};
-
-GType gail_button_get_type (void);
-
-struct _GailButtonClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_BUTTON_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_CALENDAR_H__
-#define __GAIL_CALENDAR_H__
-
-#include <gail/gailcontainer.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_CALENDAR (gail_calendar_get_type ())
-#define GAIL_CALENDAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_CALENDAR, GailCalendar))
-#define GAIL_CALENDAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_CALENDAR, GailCalendarClass))
-#define GAIL_IS_CALENDAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_CALENDAR))
-#define GAIL_IS_CALENDAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_CALENDAR))
-#define GAIL_CALENDAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_CALENDAR, GailCalendarClass))
-
-typedef struct _GailCalendar GailCalendar;
-typedef struct _GailCalendarClass GailCalendarClass;
-
-struct _GailCalendar
-{
- GailWidget parent;
-};
-
-GType gail_calendar_get_type (void);
-
-struct _GailCalendarClass
-{
- GailWidgetClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_CALENDAR_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <stdlib.h>
-#include <gtk/gtk.h>
-#include "gailcontainercell.h"
-#include "gailcell.h"
-#include "gailcellparent.h"
-
-static void gail_cell_class_init (GailCellClass *klass);
-static void gail_cell_destroyed (GtkWidget *widget,
- GailCell *cell);
-
-static void gail_cell_init (GailCell *cell);
-static void gail_cell_object_finalize (GObject *cell);
-static AtkStateSet* gail_cell_ref_state_set (AtkObject *obj);
-static gint gail_cell_get_index_in_parent (AtkObject *obj);
-
-/* AtkAction */
-
-static void atk_action_interface_init
- (AtkActionIface *iface);
-static ActionInfo * _gail_cell_get_action_info (GailCell *cell,
- gint index);
-static void _gail_cell_destroy_action_info
- (gpointer data,
- gpointer user_data);
-
-static gint gail_cell_action_get_n_actions
- (AtkAction *action);
-static const gchar*
- gail_cell_action_get_name (AtkAction *action,
- gint index);
-static const gchar *
- gail_cell_action_get_description
- (AtkAction *action,
- gint index);
-static gboolean gail_cell_action_set_description
- (AtkAction *action,
- gint index,
- const gchar *desc);
-static const gchar *
- gail_cell_action_get_keybinding
- (AtkAction *action,
- gint index);
-static gboolean gail_cell_action_do_action (AtkAction *action,
- gint index);
-static gboolean idle_do_action (gpointer data);
-
-static void atk_component_interface_init (AtkComponentIface *iface);
-static void gail_cell_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type);
-static gboolean gail_cell_grab_focus (AtkComponent *component);
-
-G_DEFINE_TYPE_WITH_CODE (GailCell, gail_cell, ATK_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
-
-static void
-gail_cell_class_init (GailCellClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GObjectClass *g_object_class = G_OBJECT_CLASS (klass);
-
- g_object_class->finalize = gail_cell_object_finalize;
-
- class->get_index_in_parent = gail_cell_get_index_in_parent;
- class->ref_state_set = gail_cell_ref_state_set;
-}
-
-void
-gail_cell_initialise (GailCell *cell,
- GtkWidget *widget,
- AtkObject *parent,
- gint index)
-{
- g_return_if_fail (GAIL_IS_CELL (cell));
- g_return_if_fail (GTK_IS_WIDGET (widget));
-
- cell->widget = widget;
- atk_object_set_parent (ATK_OBJECT (cell), parent);
- cell->index = index;
-
- g_signal_connect_object (G_OBJECT (widget),
- "destroy",
- G_CALLBACK (gail_cell_destroyed ),
- cell, 0);
-}
-
-static void
-gail_cell_destroyed (GtkWidget *widget,
- GailCell *cell)
-{
- /*
- * This is the signal handler for the "destroy" signal for the
- * GtkWidget. We set the pointer location to NULL;
- */
- cell->widget = NULL;
-}
-
-static void
-gail_cell_init (GailCell *cell)
-{
- cell->state_set = atk_state_set_new ();
- cell->widget = NULL;
- cell->action_list = NULL;
- cell->index = 0;
- atk_state_set_add_state (cell->state_set, ATK_STATE_TRANSIENT);
- atk_state_set_add_state (cell->state_set, ATK_STATE_ENABLED);
- atk_state_set_add_state (cell->state_set, ATK_STATE_SENSITIVE);
- atk_state_set_add_state (cell->state_set, ATK_STATE_SELECTABLE);
- cell->refresh_index = NULL;
-}
-
-static void
-gail_cell_object_finalize (GObject *obj)
-{
- GailCell *cell = GAIL_CELL (obj);
- AtkRelationSet *relation_set;
- AtkRelation *relation;
- GPtrArray *target;
- gpointer target_object;
- gint i;
-
- if (cell->state_set)
- g_object_unref (cell->state_set);
- if (cell->action_list)
- {
- g_list_foreach (cell->action_list, _gail_cell_destroy_action_info, NULL);
- g_list_free (cell->action_list);
- }
- if (cell->action_idle_handler)
- {
- g_source_remove (cell->action_idle_handler);
- cell->action_idle_handler = 0;
- }
- relation_set = atk_object_ref_relation_set (ATK_OBJECT (obj));
- if (ATK_IS_RELATION_SET (relation_set))
- {
- relation = atk_relation_set_get_relation_by_type (relation_set,
- ATK_RELATION_NODE_CHILD_OF);
- if (relation)
- {
- target = atk_relation_get_target (relation);
- for (i = 0; i < target->len; i++)
- {
- target_object = g_ptr_array_index (target, i);
- if (GAIL_IS_CELL (target_object))
- {
- g_object_unref (target_object);
- }
- }
- }
- g_object_unref (relation_set);
- }
- G_OBJECT_CLASS (gail_cell_parent_class)->finalize (obj);
-}
-
-static AtkStateSet *
-gail_cell_ref_state_set (AtkObject *obj)
-{
- GailCell *cell = GAIL_CELL (obj);
- g_assert (cell->state_set);
-
- g_object_ref(cell->state_set);
- return cell->state_set;
-}
-
-gboolean
-gail_cell_add_state (GailCell *cell,
- AtkStateType state_type,
- gboolean emit_signal)
-{
- if (!atk_state_set_contains_state (cell->state_set, state_type))
- {
- gboolean rc;
- AtkObject *parent;
-
- rc = atk_state_set_add_state (cell->state_set, state_type);
- /*
- * The signal should only be generated if the value changed,
- * not when the cell is set up. So states that are set
- * initially should pass FALSE as the emit_signal argument.
- */
-
- if (emit_signal)
- {
- atk_object_notify_state_change (ATK_OBJECT (cell), state_type, TRUE);
- /* If state_type is ATK_STATE_VISIBLE, additional notification */
- if (state_type == ATK_STATE_VISIBLE)
- g_signal_emit_by_name (cell, "visible_data_changed");
- }
-
- /*
- * If the parent is a flyweight container cell, propagate the state
- * change to it also
- */
-
- parent = atk_object_get_parent (ATK_OBJECT (cell));
- if (GAIL_IS_CONTAINER_CELL (parent))
- gail_cell_add_state (GAIL_CELL (parent), state_type, emit_signal);
- return rc;
- }
- else
- return FALSE;
-}
-
-gboolean
-gail_cell_remove_state (GailCell *cell,
- AtkStateType state_type,
- gboolean emit_signal)
-{
- if (atk_state_set_contains_state (cell->state_set, state_type))
- {
- gboolean rc;
- AtkObject *parent;
-
- parent = atk_object_get_parent (ATK_OBJECT (cell));
-
- rc = atk_state_set_remove_state (cell->state_set, state_type);
- /*
- * The signal should only be generated if the value changed,
- * not when the cell is set up. So states that are set
- * initially should pass FALSE as the emit_signal argument.
- */
-
- if (emit_signal)
- {
- atk_object_notify_state_change (ATK_OBJECT (cell), state_type, FALSE);
- /* If state_type is ATK_STATE_VISIBLE, additional notification */
- if (state_type == ATK_STATE_VISIBLE)
- g_signal_emit_by_name (cell, "visible_data_changed");
- }
-
- /*
- * If the parent is a flyweight container cell, propagate the state
- * change to it also
- */
-
- if (GAIL_IS_CONTAINER_CELL (parent))
- gail_cell_remove_state (GAIL_CELL (parent), state_type, emit_signal);
- return rc;
- }
- else
- return FALSE;
-}
-
-static gint
-gail_cell_get_index_in_parent (AtkObject *obj)
-{
- GailCell *cell;
-
- g_assert (GAIL_IS_CELL (obj));
-
- cell = GAIL_CELL (obj);
- if (atk_state_set_contains_state (cell->state_set, ATK_STATE_STALE))
- if (cell->refresh_index)
- {
- cell->refresh_index (cell);
- atk_state_set_remove_state (cell->state_set, ATK_STATE_STALE);
- }
- return cell->index;
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- iface->get_n_actions = gail_cell_action_get_n_actions;
- iface->do_action = gail_cell_action_do_action;
- iface->get_name = gail_cell_action_get_name;
- iface->get_description = gail_cell_action_get_description;
- iface->set_description = gail_cell_action_set_description;
- iface->get_keybinding = gail_cell_action_get_keybinding;
-}
-
-gboolean
-gail_cell_add_action (GailCell *cell,
- const gchar *action_name,
- const gchar *action_description,
- const gchar *action_keybinding,
- ACTION_FUNC action_func)
-{
- ActionInfo *info;
- g_return_val_if_fail (GAIL_IS_CELL (cell), FALSE);
- info = g_new (ActionInfo, 1);
-
- if (action_name != NULL)
- info->name = g_strdup (action_name);
- else
- info->name = NULL;
- if (action_description != NULL)
- info->description = g_strdup (action_description);
- else
- info->description = NULL;
- if (action_keybinding != NULL)
- info->keybinding = g_strdup (action_keybinding);
- else
- info->keybinding = NULL;
- info->do_action_func = action_func;
-
- cell->action_list = g_list_append (cell->action_list, (gpointer) info);
- return TRUE;
-}
-
-gboolean
-gail_cell_remove_action (GailCell *cell,
- gint action_index)
-{
- GList *list_node;
-
- g_return_val_if_fail (GAIL_IS_CELL (cell), FALSE);
- list_node = g_list_nth (cell->action_list, action_index);
- if (!list_node)
- return FALSE;
- _gail_cell_destroy_action_info (list_node->data, NULL);
- cell->action_list = g_list_remove_link (cell->action_list, list_node);
- return TRUE;
-}
-
-
-gboolean
-gail_cell_remove_action_by_name (GailCell *cell,
- const gchar *action_name)
-{
- GList *list_node;
- gboolean action_found= FALSE;
-
- g_return_val_if_fail (GAIL_IS_CELL (cell), FALSE);
- for (list_node = cell->action_list; list_node && !action_found;
- list_node = list_node->next)
- {
- if (!strcmp (((ActionInfo *)(list_node->data))->name, action_name))
- {
- action_found = TRUE;
- break;
- }
- }
- if (!action_found)
- return FALSE;
- _gail_cell_destroy_action_info (list_node->data, NULL);
- cell->action_list = g_list_remove_link (cell->action_list, list_node);
- return TRUE;
-}
-
-static ActionInfo *
-_gail_cell_get_action_info (GailCell *cell,
- gint index)
-{
- GList *list_node;
-
- g_return_val_if_fail (GAIL_IS_CELL (cell), NULL);
- if (cell->action_list == NULL)
- return NULL;
- list_node = g_list_nth (cell->action_list, index);
- if (!list_node)
- return NULL;
- return (ActionInfo *) (list_node->data);
-}
-
-
-static void
-_gail_cell_destroy_action_info (gpointer action_info,
- gpointer user_data)
-{
- ActionInfo *info = (ActionInfo *)action_info;
- g_assert (info != NULL);
- g_free (info->name);
- g_free (info->description);
- g_free (info->keybinding);
- g_free (info);
-}
-static gint
-gail_cell_action_get_n_actions (AtkAction *action)
-{
- GailCell *cell = GAIL_CELL(action);
- if (cell->action_list != NULL)
- return g_list_length (cell->action_list);
- else
- return 0;
-}
-
-static const gchar *
-gail_cell_action_get_name (AtkAction *action,
- gint index)
-{
- GailCell *cell = GAIL_CELL(action);
- ActionInfo *info = _gail_cell_get_action_info (cell, index);
-
- if (info == NULL)
- return NULL;
- return info->name;
-}
-
-static const gchar *
-gail_cell_action_get_description (AtkAction *action,
- gint index)
-{
- GailCell *cell = GAIL_CELL(action);
- ActionInfo *info = _gail_cell_get_action_info (cell, index);
-
- if (info == NULL)
- return NULL;
- return info->description;
-}
-
-static gboolean
-gail_cell_action_set_description (AtkAction *action,
- gint index,
- const gchar *desc)
-{
- GailCell *cell = GAIL_CELL(action);
- ActionInfo *info = _gail_cell_get_action_info (cell, index);
-
- if (info == NULL)
- return FALSE;
- g_free (info->description);
- info->description = g_strdup (desc);
- return TRUE;
-}
-
-static const gchar *
-gail_cell_action_get_keybinding (AtkAction *action,
- gint index)
-{
- GailCell *cell = GAIL_CELL(action);
- ActionInfo *info = _gail_cell_get_action_info (cell, index);
- if (info == NULL)
- return NULL;
- return info->keybinding;
-}
-
-static gboolean
-gail_cell_action_do_action (AtkAction *action,
- gint index)
-{
- GailCell *cell = GAIL_CELL(action);
- ActionInfo *info = _gail_cell_get_action_info (cell, index);
- if (info == NULL)
- return FALSE;
- if (info->do_action_func == NULL)
- return FALSE;
- if (cell->action_idle_handler)
- return FALSE;
- cell->action_func = info->do_action_func;
- cell->action_idle_handler = gdk_threads_add_idle (idle_do_action, cell);
- return TRUE;
-}
-
-static gboolean
-idle_do_action (gpointer data)
-{
- GailCell *cell;
-
- cell = GAIL_CELL (data);
- cell->action_idle_handler = 0;
- cell->action_func (cell);
-
- return FALSE;
-}
-
-static void
-atk_component_interface_init (AtkComponentIface *iface)
-{
- iface->get_extents = gail_cell_get_extents;
- iface->grab_focus = gail_cell_grab_focus;
-}
-
-static void
-gail_cell_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
-{
- GailCell *gailcell;
- AtkObject *cell_parent;
-
- g_assert (GAIL_IS_CELL (component));
-
- gailcell = GAIL_CELL (component);
-
- cell_parent = gtk_widget_get_accessible (gailcell->widget);
-
- gail_cell_parent_get_cell_extents (GAIL_CELL_PARENT (cell_parent),
- gailcell, x, y, width, height, coord_type);
-}
-
-static gboolean
-gail_cell_grab_focus (AtkComponent *component)
-{
- GailCell *gailcell;
- AtkObject *cell_parent;
-
- g_assert (GAIL_IS_CELL (component));
-
- gailcell = GAIL_CELL (component);
-
- cell_parent = gtk_widget_get_accessible (gailcell->widget);
-
- return gail_cell_parent_grab_focus (GAIL_CELL_PARENT (cell_parent),
- gailcell);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_CELL_H__
-#define __GAIL_CELL_H__
-
-#include <atk/atk.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_CELL (gail_cell_get_type ())
-#define GAIL_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_CELL, GailCell))
-#define GAIL_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_CELL, GailCellClass))
-#define GAIL_IS_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_CELL))
-#define GAIL_IS_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_CELL))
-#define GAIL_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_CELL, GailCellClass))
-
-typedef struct _GailCell GailCell;
-typedef struct _GailCellClass GailCellClass;
-typedef struct _ActionInfo ActionInfo;
-typedef void (*ACTION_FUNC) (GailCell *cell);
-
-struct _GailCell
-{
- AtkObject parent;
-
- GtkWidget *widget;
- /*
- * This cached value is used only by atk_object_get_index_in_parent()
- * which updates the value when it is stale.
- */
- gint index;
- AtkStateSet *state_set;
- GList *action_list;
- void (*refresh_index) (GailCell *cell);
- gint action_idle_handler;
- ACTION_FUNC action_func;
-};
-
-GType gail_cell_get_type (void);
-
-struct _GailCellClass
-{
- AtkObjectClass parent_class;
-};
-
-struct _ActionInfo {
- gchar *name;
- gchar *description;
- gchar *keybinding;
- ACTION_FUNC do_action_func;
-};
-
-void gail_cell_initialise (GailCell *cell,
- GtkWidget *widget,
- AtkObject *parent,
- gint index);
-
-gboolean gail_cell_add_state (GailCell *cell,
- AtkStateType state_type,
- gboolean emit_signal);
-
-gboolean gail_cell_remove_state (GailCell *cell,
- AtkStateType state_type,
- gboolean emit_signal);
-
-gboolean gail_cell_add_action (GailCell *cell,
- const gchar *action_name,
- const gchar *action_description,
- const gchar *action_keybinding,
- ACTION_FUNC action_func);
-
-gboolean gail_cell_remove_action (GailCell *cell,
- gint action_id);
-
-gboolean gail_cell_remove_action_by_name (GailCell *cell,
- const gchar *action_name);
-
-G_END_DECLS
-
-#endif /* __GAIL_CELL_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
-
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailcellparent.h"
-
-GType
-gail_cell_parent_get_type (void)
-{
- static volatile gsize g_define_type_id__volatile = 0;
-
- if (g_once_init_enter (&g_define_type_id__volatile))
- {
- GType g_define_type_id =
- g_type_register_static_simple (G_TYPE_INTERFACE,
- "GailCellParent",
- sizeof (GailCellParentIface),
- NULL,
- 0,
- NULL,
- 0);
-
- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
- }
-
- return g_define_type_id__volatile;
-}
-
-/**
- * gail_cell_parent_get_cell_extents:
- * @parent: a #GObject instance that implements GailCellParentIface
- * @cell: a #GailCell whose extents is required
- * @x: address of #gint to put x coordinate
- * @y: address of #gint to put y coordinate
- * @width: address of #gint to put width
- * @height: address of #gint to put height
- * @coord_type: specifies whether the coordinates are relative to the screen
- * or to the components top level window
- *
- * Gets the rectangle which gives the extent of the @cell.
- *
- **/
-void
-gail_cell_parent_get_cell_extents (GailCellParent *parent,
- GailCell *cell,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
-{
- GailCellParentIface *iface;
-
- g_return_if_fail (GAIL_IS_CELL_PARENT (parent));
-
- iface = GAIL_CELL_PARENT_GET_IFACE (parent);
-
- if (iface->get_cell_extents)
- (iface->get_cell_extents) (parent, cell, x, y, width, height, coord_type);
-}
-
-/**
- * gail_cell_parent_get_cell_area:
- * @parent: a #GObject instance that implements GailCellParentIface
- * @cell: a #GailCell whose area is required
- * @cell_rect: address of #GdkRectangle to put the cell area
- *
- * Gets the cell area of the @cell.
- *
- **/
-void
-gail_cell_parent_get_cell_area (GailCellParent *parent,
- GailCell *cell,
- GdkRectangle *cell_rect)
-{
- GailCellParentIface *iface;
-
- g_return_if_fail (GAIL_IS_CELL_PARENT (parent));
- g_return_if_fail (cell_rect);
-
- iface = GAIL_CELL_PARENT_GET_IFACE (parent);
-
- if (iface->get_cell_area)
- (iface->get_cell_area) (parent, cell, cell_rect);
-}
-/**
- * gail_cell_parent_grab_focus:
- * @parent: a #GObject instance that implements GailCellParentIface
- * @cell: a #GailCell whose area is required
- *
- * Puts focus in the specified cell.
- *
- **/
-gboolean
-gail_cell_parent_grab_focus (GailCellParent *parent,
- GailCell *cell)
-{
- GailCellParentIface *iface;
-
- g_return_val_if_fail (GAIL_IS_CELL_PARENT (parent), FALSE);
-
- iface = GAIL_CELL_PARENT_GET_IFACE (parent);
-
- if (iface->grab_focus)
- return (iface->grab_focus) (parent, cell);
- else
- return FALSE;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- *
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_CELL_PARENT_H__
-#define __GAIL_CELL_PARENT_H__
-
-#include <atk/atk.h>
-#include <gail/gailcell.h>
-
-G_BEGIN_DECLS
-
-/*
- * The GailCellParent interface should be supported by any object which
- * contains children which are flyweights, i.e. do not have corresponding
- * widgets and the children need help from their parent to provide
- * functionality. One example is GailTreeView where the children GailCell
- * need help from the GailTreeView in order to implement
- * atk_component_get_extents
- */
-
-#define GAIL_TYPE_CELL_PARENT (gail_cell_parent_get_type ())
-#define GAIL_IS_CELL_PARENT(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_CELL_PARENT)
-#define GAIL_CELL_PARENT(obj) G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_CELL_PARENT, GailCellParent)
-#define GAIL_CELL_PARENT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAIL_TYPE_CELL_PARENT, GailCellParentIface))
-
-#ifndef _TYPEDEF_GAIL_CELL_PARENT_
-#define _TYPEDEF_GAIL_CELL_PARENT_
-typedef struct _GailCellParent GailCellParent;
-#endif
-typedef struct _GailCellParentIface GailCellParentIface;
-
-struct _GailCellParentIface
-{
- GTypeInterface parent;
- void ( *get_cell_extents) (GailCellParent *parent,
- GailCell *cell,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type);
- void ( *get_cell_area) (GailCellParent *parent,
- GailCell *cell,
- GdkRectangle *cell_rect);
- gboolean ( *grab_focus) (GailCellParent *parent,
- GailCell *cell);
-};
-
-GType gail_cell_parent_get_type (void);
-
-void gail_cell_parent_get_cell_extents (GailCellParent *parent,
- GailCell *cell,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type
-);
-void gail_cell_parent_get_cell_area (GailCellParent *parent,
- GailCell *cell,
- GdkRectangle *cell_rect);
-gboolean gail_cell_parent_grab_focus (GailCellParent *parent,
- GailCell *cell);
-
-G_END_DECLS
-
-#endif /* __GAIL_CELL_PARENT_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include "gailcheckmenuitem.h"
-#include "gailchecksubmenuitem.h"
-
-static void gail_check_menu_item_class_init (GailCheckMenuItemClass *klass);
-
-static void gail_check_menu_item_init (GailCheckMenuItem *item);
-
-static void gail_check_menu_item_toggled_gtk (GtkWidget *widget);
-
-static void gail_check_menu_item_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-
-static void gail_check_menu_item_real_initialize (AtkObject *obj,
- gpointer data);
-
-static AtkStateSet* gail_check_menu_item_ref_state_set (AtkObject *accessible);
-
-G_DEFINE_TYPE (GailCheckMenuItem, gail_check_menu_item, GAIL_TYPE_MENU_ITEM)
-
-static void
-gail_check_menu_item_class_init (GailCheckMenuItemClass *klass)
-{
- GailWidgetClass *widget_class;
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- widget_class = (GailWidgetClass*)klass;
- widget_class->notify_gtk = gail_check_menu_item_real_notify_gtk;
-
- class->ref_state_set = gail_check_menu_item_ref_state_set;
- class->initialize = gail_check_menu_item_real_initialize;
-}
-
-static void
-gail_check_menu_item_init (GailCheckMenuItem *item)
-{
-}
-
-AtkObject*
-gail_check_menu_item_new (GtkWidget *widget)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail (GTK_IS_CHECK_MENU_ITEM (widget), NULL);
-
- if (gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget)))
- return gail_check_sub_menu_item_new (widget);
-
- object = g_object_new (GAIL_TYPE_CHECK_MENU_ITEM, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, widget);
-
- return accessible;
-}
-
-static void
-gail_check_menu_item_real_initialize (AtkObject *obj,
- gpointer data)
-{
- ATK_OBJECT_CLASS (gail_check_menu_item_parent_class)->initialize (obj, data);
-
- g_signal_connect (data,
- "toggled",
- G_CALLBACK (gail_check_menu_item_toggled_gtk),
- NULL);
-
- obj->role = ATK_ROLE_CHECK_MENU_ITEM;
-}
-
-static void
-gail_check_menu_item_toggled_gtk (GtkWidget *widget)
-{
- AtkObject *accessible;
- GtkCheckMenuItem *check_menu_item;
-
- check_menu_item = GTK_CHECK_MENU_ITEM (widget);
-
- accessible = gtk_widget_get_accessible (widget);
- atk_object_notify_state_change (accessible, ATK_STATE_CHECKED,
- gtk_check_menu_item_get_active (check_menu_item));
-}
-
-static AtkStateSet*
-gail_check_menu_item_ref_state_set (AtkObject *accessible)
-{
- AtkStateSet *state_set;
- GtkCheckMenuItem *check_menu_item;
- GtkWidget *widget;
-
- state_set = ATK_OBJECT_CLASS (gail_check_menu_item_parent_class)->ref_state_set (accessible);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
-
- if (widget == NULL)
- return state_set;
-
- check_menu_item = GTK_CHECK_MENU_ITEM (widget);
-
- if (gtk_check_menu_item_get_active (check_menu_item))
- atk_state_set_add_state (state_set, ATK_STATE_CHECKED);
-
- if (gtk_check_menu_item_get_inconsistent (check_menu_item))
- {
- atk_state_set_remove_state (state_set, ATK_STATE_ENABLED);
- atk_state_set_add_state (state_set, ATK_STATE_INDETERMINATE);
- }
-
- return state_set;
-}
-
-static void
-gail_check_menu_item_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GtkCheckMenuItem *check_menu_item = GTK_CHECK_MENU_ITEM (obj);
- AtkObject *atk_obj;
- gboolean sensitive;
- gboolean inconsistent;
-
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (check_menu_item));
- sensitive = gtk_widget_get_sensitive (GTK_WIDGET (check_menu_item));
- inconsistent = gtk_check_menu_item_get_inconsistent (check_menu_item);
-
- if (strcmp (pspec->name, "inconsistent") == 0)
- {
- atk_object_notify_state_change (atk_obj, ATK_STATE_INDETERMINATE, inconsistent);
- atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, (sensitive && !inconsistent));
- }
- else if (strcmp (pspec->name, "sensitive") == 0)
- {
- /* Need to override gailwidget behavior of notifying for ENABLED */
- atk_object_notify_state_change (atk_obj, ATK_STATE_SENSITIVE, sensitive);
- atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, (sensitive && !inconsistent));
- }
- else
- GAIL_WIDGET_CLASS (gail_check_menu_item_parent_class)->notify_gtk (obj, pspec);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2002 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_CHECK_MENU_ITEM_H__
-#define __GAIL_CHECK_MENU_ITEM_H__
-
-#include <gail/gailmenuitem.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_CHECK_MENU_ITEM (gail_check_menu_item_get_type ())
-#define GAIL_CHECK_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_CHECK_MENU_ITEM, GailCheckMenuItem))
-#define GAIL_CHECK_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_CHECK_MENU_ITEM, GailCheckMenuItemClass))
-#define GAIL_IS_CHECK_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_CHECK_MENU_ITEM))
-#define GAIL_IS_CHECK_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_CHECK_MENU_ITEM))
-#define GAIL_CHECK_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_CHECK_MENU_ITEM, GailCheckMenuItemClass))
-
-typedef struct _GailCheckMenuItem GailCheckMenuItem;
-typedef struct _GailCheckMenuItemClass GailCheckMenuItemClass;
-
-struct _GailCheckMenuItem
-{
- GailMenuItem parent;
-};
-
-GType gail_check_menu_item_get_type (void);
-
-struct _GailCheckMenuItemClass
-{
- GailMenuItemClass parent_class;
-};
-
-AtkObject* gail_check_menu_item_new (GtkWidget *widget);
-
-G_END_DECLS
-
-#endif /* __GAIL_CHECK_MENU_ITEM_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2002 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_CHECK_SUB_MENU_ITEM_H__
-#define __GAIL_CHECK_SUB_MENU_ITEM_H__
-
-#include <gail/gailsubmenuitem.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_CHECK_SUB_MENU_ITEM (gail_check_sub_menu_item_get_type ())
-#define GAIL_CHECK_SUB_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_CHECK_SUB_MENU_ITEM, GailCheckSubMenuItem))
-#define GAIL_CHECK_SUB_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_CHECK_SUB_MENU_ITEM, GailCheckSubMenuItemClass))
-#define GAIL_IS_CHECK_SUB_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_CHECK_SUB_MENU_ITEM))
-#define GAIL_IS_CHECK_SUB_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_CHECK_SUB_MENU_ITEM))
-#define GAIL_CHECK_SUB_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_CHECK_SUB_MENU_ITEM, GailCheckSubMenuItemClass))
-
-typedef struct _GailCheckSubMenuItem GailCheckSubMenuItem;
-typedef struct _GailCheckSubMenuItemClass GailCheckSubMenuItemClass;
-
-struct _GailCheckSubMenuItem
-{
- GailSubMenuItem parent;
-};
-
-GType gail_check_sub_menu_item_get_type (void);
-
-struct _GailCheckSubMenuItemClass
-{
- GailSubMenuItemClass parent_class;
-};
-
-AtkObject* gail_check_sub_menu_item_new (GtkWidget *widget);
-
-G_END_DECLS
-
-#endif /* __GAIL_CHECK_SUB_MENU_ITEM_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2004 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-#include "gailcombobox.h"
-
-static void gail_combo_box_class_init (GailComboBoxClass *klass);
-static void gail_combo_box_init (GailComboBox *combo_box);
-static void gail_combo_box_real_initialize (AtkObject *obj,
- gpointer data);
-
-static void gail_combo_box_changed_gtk (GtkWidget *widget);
-
-static const gchar* gail_combo_box_get_name (AtkObject *obj);
-static gint gail_combo_box_get_n_children (AtkObject *obj);
-static AtkObject* gail_combo_box_ref_child (AtkObject *obj,
- gint i);
-static void gail_combo_box_finalize (GObject *object);
-static void atk_action_interface_init (AtkActionIface *iface);
-
-static gboolean gail_combo_box_do_action (AtkAction *action,
- gint i);
-static gboolean idle_do_action (gpointer data);
-static gint gail_combo_box_get_n_actions (AtkAction *action);
-static const gchar* gail_combo_box_get_description(AtkAction *action,
- gint i);
-static const gchar* gail_combo_box_get_keybinding (AtkAction *action,
- gint i);
-static const gchar* gail_combo_box_action_get_name(AtkAction *action,
- gint i);
-static gboolean gail_combo_box_set_description(AtkAction *action,
- gint i,
- const gchar *desc);
-static void atk_selection_interface_init (AtkSelectionIface *iface);
-static gboolean gail_combo_box_add_selection (AtkSelection *selection,
- gint i);
-static gboolean gail_combo_box_clear_selection (AtkSelection *selection);
-static AtkObject* gail_combo_box_ref_selection (AtkSelection *selection,
- gint i);
-static gint gail_combo_box_get_selection_count (AtkSelection *selection);
-static gboolean gail_combo_box_is_child_selected (AtkSelection *selection,
- gint i);
-static gboolean gail_combo_box_remove_selection (AtkSelection *selection,
- gint i);
-
-G_DEFINE_TYPE_WITH_CODE (GailComboBox, gail_combo_box, GAIL_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
-
-static void
-gail_combo_box_class_init (GailComboBoxClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- gobject_class->finalize = gail_combo_box_finalize;
-
- class->get_name = gail_combo_box_get_name;
- class->get_n_children = gail_combo_box_get_n_children;
- class->ref_child = gail_combo_box_ref_child;
- class->initialize = gail_combo_box_real_initialize;
-}
-
-static void
-gail_combo_box_init (GailComboBox *combo_box)
-{
- combo_box->press_description = NULL;
- combo_box->press_keybinding = NULL;
- combo_box->old_selection = -1;
- combo_box->name = NULL;
- combo_box->popup_set = FALSE;
-}
-
-static void
-gail_combo_box_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GtkComboBox *combo_box;
- GailComboBox *gail_combo_box;
- AtkObject *popup;
-
- ATK_OBJECT_CLASS (gail_combo_box_parent_class)->initialize (obj, data);
-
- combo_box = GTK_COMBO_BOX (data);
-
- gail_combo_box = GAIL_COMBO_BOX (obj);
-
- g_signal_connect (combo_box,
- "changed",
- G_CALLBACK (gail_combo_box_changed_gtk),
- NULL);
- gail_combo_box->old_selection = gtk_combo_box_get_active (combo_box);
-
- popup = gtk_combo_box_get_popup_accessible (combo_box);
- if (popup)
- {
- atk_object_set_parent (popup, obj);
- gail_combo_box->popup_set = TRUE;
- }
- if (gtk_combo_box_get_has_entry (combo_box))
- atk_object_set_parent (gtk_widget_get_accessible (gtk_bin_get_child (GTK_BIN (combo_box))), obj);
-
- obj->role = ATK_ROLE_COMBO_BOX;
-}
-
-static void
-gail_combo_box_changed_gtk (GtkWidget *widget)
-{
- GtkComboBox *combo_box;
- AtkObject *obj;
- GailComboBox *gail_combo_box;
- gint index;
-
- combo_box = GTK_COMBO_BOX (widget);
-
- index = gtk_combo_box_get_active (combo_box);
- obj = gtk_widget_get_accessible (widget);
- gail_combo_box = GAIL_COMBO_BOX (obj);
- if (gail_combo_box->old_selection != index)
- {
- gail_combo_box->old_selection = index;
- g_object_notify (G_OBJECT (obj), "accessible-name");
- g_signal_emit_by_name (obj, "selection_changed");
- }
-}
-
-static const gchar*
-gail_combo_box_get_name (AtkObject *obj)
-{
- GtkWidget *widget;
- GtkComboBox *combo_box;
- GailComboBox *gail_combo_box;
- GtkTreeIter iter;
- const gchar *name;
- GtkTreeModel *model;
- gint n_columns;
- gint i;
-
- g_return_val_if_fail (GAIL_IS_COMBO_BOX (obj), NULL);
-
- name = ATK_OBJECT_CLASS (gail_combo_box_parent_class)->get_name (obj);
- if (name)
- return name;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- combo_box = GTK_COMBO_BOX (widget);
- gail_combo_box = GAIL_COMBO_BOX (obj);
- if (gtk_combo_box_get_active_iter (combo_box, &iter))
- {
- model = gtk_combo_box_get_model (combo_box);
- n_columns = gtk_tree_model_get_n_columns (model);
- for (i = 0; i < n_columns; i++)
- {
- GValue value = { 0, };
-
- gtk_tree_model_get_value (model, &iter, i, &value);
- if (G_VALUE_HOLDS_STRING (&value))
- {
- if (gail_combo_box->name) g_free (gail_combo_box->name);
- gail_combo_box->name = g_strdup ((gchar *)
- g_value_get_string (&value));
- g_value_unset (&value);
- break;
- }
- else
- g_value_unset (&value);
- }
- }
- return gail_combo_box->name;
-}
-
-/*
- * The children of a GailComboBox are the list of items and the entry field
- * if it is editable.
- */
-static gint
-gail_combo_box_get_n_children (AtkObject* obj)
-{
- gint n_children = 0;
- GtkWidget *widget;
-
- g_return_val_if_fail (GAIL_IS_COMBO_BOX (obj), 0);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return 0;
-
- n_children++;
- if (gtk_combo_box_get_has_entry (GTK_COMBO_BOX (widget)))
- n_children ++;
-
- return n_children;
-}
-
-static AtkObject*
-gail_combo_box_ref_child (AtkObject *obj,
- gint i)
-{
- GtkWidget *widget;
- AtkObject *child;
- GailComboBox *box;
-
- g_return_val_if_fail (GAIL_IS_COMBO_BOX (obj), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- if (i == 0)
- {
- child = gtk_combo_box_get_popup_accessible (GTK_COMBO_BOX (widget));
- box = GAIL_COMBO_BOX (obj);
- if (box->popup_set == FALSE)
- {
- atk_object_set_parent (child, obj);
- box->popup_set = TRUE;
- }
- }
- else if (i == 1 && gtk_combo_box_get_has_entry (GTK_COMBO_BOX (widget)))
- {
- child = gtk_widget_get_accessible (gtk_bin_get_child (GTK_BIN (widget)));
- }
- else
- {
- return NULL;
- }
- return g_object_ref (child);
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- iface->do_action = gail_combo_box_do_action;
- iface->get_n_actions = gail_combo_box_get_n_actions;
- iface->get_description = gail_combo_box_get_description;
- iface->get_keybinding = gail_combo_box_get_keybinding;
- iface->get_name = gail_combo_box_action_get_name;
- iface->set_description = gail_combo_box_set_description;
-}
-
-static gboolean
-gail_combo_box_do_action (AtkAction *action,
- gint i)
-{
- GailComboBox *combo_box;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
- if (!gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- combo_box = GAIL_COMBO_BOX (action);
- if (i == 0)
- {
- if (combo_box->action_idle_handler)
- return FALSE;
-
- combo_box->action_idle_handler = gdk_threads_add_idle (idle_do_action, combo_box);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static gboolean
-idle_do_action (gpointer data)
-{
- GtkComboBox *combo_box;
- GtkWidget *widget;
- GailComboBox *gail_combo_box;
- AtkObject *popup;
- gboolean do_popup;
-
- gail_combo_box = GAIL_COMBO_BOX (data);
- gail_combo_box->action_idle_handler = 0;
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (gail_combo_box));
-
- if (widget == NULL || /* State is defunct */
- !gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- combo_box = GTK_COMBO_BOX (widget);
-
- popup = gtk_combo_box_get_popup_accessible (combo_box);
- do_popup = !gtk_widget_get_mapped (gtk_accessible_get_widget (GTK_ACCESSIBLE (popup)));
- if (do_popup)
- gtk_combo_box_popup (combo_box);
- else
- gtk_combo_box_popdown (combo_box);
-
- return FALSE;
-}
-
-static gint
-gail_combo_box_get_n_actions (AtkAction *action)
-{
- /*
- * The default behavior of a combo_box box is to have one action -
- */
- return 1;
-}
-
-static const gchar*
-gail_combo_box_get_description (AtkAction *action,
- gint i)
-{
- if (i == 0)
- {
- GailComboBox *combo_box;
-
- combo_box = GAIL_COMBO_BOX (action);
- return combo_box->press_description;
- }
- else
- return NULL;
-}
-
-static const gchar*
-gail_combo_box_get_keybinding (AtkAction *action,
- gint i)
-{
- GailComboBox *combo_box;
- gchar *return_value = NULL;
- switch (i)
- {
- case 0:
- {
- GtkWidget *widget;
- GtkWidget *label;
- AtkRelationSet *set;
- AtkRelation *relation;
- GPtrArray *target;
- gpointer target_object;
- guint key_val;
-
- combo_box = GAIL_COMBO_BOX (action);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (combo_box));
- if (widget == NULL)
- return NULL;
- set = atk_object_ref_relation_set (ATK_OBJECT (action));
- if (!set)
- return NULL;
- label = NULL;
- relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_LABELLED_BY);
- if (relation)
- {
- target = atk_relation_get_target (relation);
- target_object = g_ptr_array_index (target, 0);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (target_object));
- }
- g_object_unref (set);
- if (GTK_IS_LABEL (label))
- {
- key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
- if (key_val != GDK_KEY_VoidSymbol)
- return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
- }
- g_free (combo_box->press_keybinding);
- combo_box->press_keybinding = return_value;
- break;
- }
- default:
- break;
- }
- return return_value;
-}
-
-
-static const gchar*
-gail_combo_box_action_get_name (AtkAction *action,
- gint i)
-{
- if (i == 0)
- return "press";
- else
- return NULL;
-}
-
-static gboolean
-gail_combo_box_set_description (AtkAction *action,
- gint i,
- const gchar *desc)
-{
- if (i == 0)
- {
- GailComboBox *combo_box;
-
- combo_box = GAIL_COMBO_BOX (action);
- g_free (combo_box->press_description);
- combo_box->press_description = g_strdup (desc);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static void
-atk_selection_interface_init (AtkSelectionIface *iface)
-{
- iface->add_selection = gail_combo_box_add_selection;
- iface->clear_selection = gail_combo_box_clear_selection;
- iface->ref_selection = gail_combo_box_ref_selection;
- iface->get_selection_count = gail_combo_box_get_selection_count;
- iface->is_child_selected = gail_combo_box_is_child_selected;
- iface->remove_selection = gail_combo_box_remove_selection;
- /*
- * select_all_selection does not make sense for a combo_box
- * so no implementation is provided.
- */
-}
-
-static gboolean
-gail_combo_box_add_selection (AtkSelection *selection,
- gint i)
-{
- GtkComboBox *combo_box;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
- combo_box = GTK_COMBO_BOX (widget);
-
- gtk_combo_box_set_active (combo_box, i);
- return TRUE;
-}
-
-static gboolean
-gail_combo_box_clear_selection (AtkSelection *selection)
-{
- GtkComboBox *combo_box;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
- combo_box = GTK_COMBO_BOX (widget);
-
- gtk_combo_box_set_active (combo_box, -1);
- return TRUE;
-}
-
-static AtkObject*
-gail_combo_box_ref_selection (AtkSelection *selection,
- gint i)
-{
- GtkComboBox *combo_box;
- GtkWidget *widget;
- AtkObject *obj;
- gint index;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- combo_box = GTK_COMBO_BOX (widget);
-
- /*
- * A combo_box box can have only one selection.
- */
- if (i != 0)
- return NULL;
-
- obj = gtk_combo_box_get_popup_accessible (combo_box);
- index = gtk_combo_box_get_active (combo_box);
- return atk_object_ref_accessible_child (obj, index);
-}
-
-static gint
-gail_combo_box_get_selection_count (AtkSelection *selection)
-{
- GtkComboBox *combo_box;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return 0;
-
- combo_box = GTK_COMBO_BOX (widget);
-
- return (gtk_combo_box_get_active (combo_box) == -1) ? 0 : 1;
-}
-
-static gboolean
-gail_combo_box_is_child_selected (AtkSelection *selection,
- gint i)
-{
- GtkComboBox *combo_box;
- gint j;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
- combo_box = GTK_COMBO_BOX (widget);
-
- j = gtk_combo_box_get_active (combo_box);
-
- return (j == i);
-}
-
-static gboolean
-gail_combo_box_remove_selection (AtkSelection *selection,
- gint i)
-{
- if (atk_selection_is_child_selected (selection, i))
- atk_selection_clear_selection (selection);
-
- return TRUE;
-}
-
-static void
-gail_combo_box_finalize (GObject *object)
-{
- GailComboBox *combo_box = GAIL_COMBO_BOX (object);
-
- g_free (combo_box->press_description);
- g_free (combo_box->press_keybinding);
- g_free (combo_box->name);
- if (combo_box->action_idle_handler)
- {
- g_source_remove (combo_box->action_idle_handler);
- combo_box->action_idle_handler = 0;
- }
- G_OBJECT_CLASS (gail_combo_box_parent_class)->finalize (object);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2004 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_COMBO_BOX_H__
-#define __GAIL_COMBO_BOX_H__
-
-#include <gail/gailcontainer.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_COMBO_BOX (gail_combo_box_get_type ())
-#define GAIL_COMBO_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_COMBO_BOX, GailComboBox))
-#define GAIL_COMBO_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_COMBO_BOX, GailComboBoxClass))
-#define GAIL_IS_COMBO_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_COMBO_BOX))
-#define GAIL_IS_COMBO_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_COMBO_BOX))
-#define GAIL_COMBO_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_COMBO_BOX, GailComboBoxClass))
-
-typedef struct _GailComboBox GailComboBox;
-typedef struct _GailComboBoxClass GailComboBoxClass;
-
-struct _GailComboBox
-{
- GailContainer parent;
-
- gchar *press_keybinding;
- gchar *press_description;
- guint action_idle_handler;
-
- gchar *name;
- gint old_selection;
- gboolean popup_set;
-};
-
-GType gail_combo_box_get_type (void);
-
-struct _GailComboBoxClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_COMBO_BOX_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailcontainer.h"
-
-static void gail_container_class_init (GailContainerClass *klass);
-static void gail_container_init (GailContainer *container);
-
-static gint gail_container_get_n_children (AtkObject *obj);
-static AtkObject* gail_container_ref_child (AtkObject *obj,
- gint i);
-static gint gail_container_add_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data);
-static gint gail_container_remove_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data);
-static gint gail_container_real_add_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data);
-static gint gail_container_real_remove_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data);
-
-static void gail_container_real_initialize (AtkObject *obj,
- gpointer data);
-
-static void gail_container_finalize (GObject *object);
-
-G_DEFINE_TYPE (GailContainer, gail_container, GAIL_TYPE_WIDGET)
-
-static void
-gail_container_class_init (GailContainerClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- gobject_class->finalize = gail_container_finalize;
-
- class->get_n_children = gail_container_get_n_children;
- class->ref_child = gail_container_ref_child;
- class->initialize = gail_container_real_initialize;
-
- klass->add_gtk = gail_container_real_add_gtk;
- klass->remove_gtk = gail_container_real_remove_gtk;
-}
-
-static void
-gail_container_init (GailContainer *container)
-{
- container->children = NULL;
-}
-
-static gint
-gail_container_get_n_children (AtkObject* obj)
-{
- GtkWidget *widget;
- GList *children;
- gint count = 0;
-
- g_return_val_if_fail (GAIL_IS_CONTAINER (obj), count);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- return 0;
-
- children = gtk_container_get_children (GTK_CONTAINER(widget));
- count = g_list_length (children);
- g_list_free (children);
-
- return count;
-}
-
-static AtkObject*
-gail_container_ref_child (AtkObject *obj,
- gint i)
-{
- GList *children, *tmp_list;
- AtkObject *accessible;
- GtkWidget *widget;
-
- g_return_val_if_fail (GAIL_IS_CONTAINER (obj), NULL);
- g_return_val_if_fail ((i >= 0), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- return NULL;
-
- children = gtk_container_get_children (GTK_CONTAINER (widget));
- tmp_list = g_list_nth (children, i);
- if (!tmp_list)
- {
- g_list_free (children);
- return NULL;
- }
- accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data));
-
- g_list_free (children);
- g_object_ref (accessible);
- return accessible;
-}
-
-static gint
-gail_container_add_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data)
-{
- GailContainer *gail_container = GAIL_CONTAINER (data);
- GailContainerClass *klass;
-
- klass = GAIL_CONTAINER_GET_CLASS (gail_container);
-
- if (klass->add_gtk)
- return klass->add_gtk (container, widget, data);
- else
- return 1;
-}
-
-static gint
-gail_container_remove_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data)
-{
- GailContainer *gail_container = GAIL_CONTAINER (data);
- GailContainerClass *klass;
-
- klass = GAIL_CONTAINER_GET_CLASS (gail_container);
-
- if (klass->remove_gtk)
- return klass->remove_gtk (container, widget, data);
- else
- return 1;
-}
-
-static gint
-gail_container_real_add_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data)
-{
- AtkObject* atk_parent = ATK_OBJECT (data);
- AtkObject* atk_child = gtk_widget_get_accessible (widget);
- GailContainer *gail_container = GAIL_CONTAINER (atk_parent);
- gint index;
-
- g_object_notify (G_OBJECT (atk_child), "accessible_parent");
-
- g_list_free (gail_container->children);
- gail_container->children = gtk_container_get_children (container);
- index = g_list_index (gail_container->children, widget);
- g_signal_emit_by_name (atk_parent, "children_changed::add",
- index, atk_child, NULL);
-
- return 1;
-}
-
-static gint
-gail_container_real_remove_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data)
-{
- AtkPropertyValues values = { NULL };
- AtkObject* atk_parent;
- AtkObject *atk_child;
- GailContainer *gail_container;
- gint index;
-
- atk_parent = ATK_OBJECT (data);
- atk_child = gtk_widget_get_accessible (widget);
-
- if (atk_child)
- {
- g_value_init (&values.old_value, G_TYPE_POINTER);
- g_value_set_pointer (&values.old_value, atk_parent);
-
- values.property_name = "accessible-parent";
-
- g_object_ref (atk_child);
- g_signal_emit_by_name (atk_child,
- "property_change::accessible-parent", &values, NULL);
- g_object_unref (atk_child);
- }
- gail_container = GAIL_CONTAINER (atk_parent);
- index = g_list_index (gail_container->children, widget);
- g_list_free (gail_container->children);
- gail_container->children = gtk_container_get_children (container);
- if (index >= 0 && index <= g_list_length (gail_container->children))
- g_signal_emit_by_name (atk_parent, "children_changed::remove",
- index, atk_child, NULL);
-
- return 1;
-}
-
-static void
-gail_container_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GailContainer *container = GAIL_CONTAINER (obj);
-
- ATK_OBJECT_CLASS (gail_container_parent_class)->initialize (obj, data);
-
- container->children = gtk_container_get_children (GTK_CONTAINER (data));
-
- g_signal_connect (data, "add",
- G_CALLBACK (gail_container_add_gtk),
- obj);
- g_signal_connect (data, "remove",
- G_CALLBACK (gail_container_remove_gtk),
- obj);
-
- if (GTK_IS_TOOLBAR (data))
- obj->role = ATK_ROLE_TOOL_BAR;
- else if (GTK_IS_VIEWPORT (data))
- obj->role = ATK_ROLE_VIEWPORT;
- else
- obj->role = ATK_ROLE_PANEL;
-}
-
-static void
-gail_container_finalize (GObject *object)
-{
- GailContainer *container = GAIL_CONTAINER (object);
-
- g_list_free (container->children);
- G_OBJECT_CLASS (gail_container_parent_class)->finalize (object);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_CONTAINER_H__
-#define __GAIL_CONTAINER_H__
-
-#include <gail/gailwidget.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_CONTAINER (gail_container_get_type ())
-#define GAIL_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_CONTAINER, GailContainer))
-#define GAIL_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_CONTAINER, GailContainerClass))
-#define GAIL_IS_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_CONTAINER))
-#define GAIL_IS_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_CONTAINER))
-#define GAIL_CONTAINER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_CONTAINER, GailContainerClass))
-
-typedef struct _GailContainer GailContainer;
-typedef struct _GailContainerClass GailContainerClass;
-
-struct _GailContainer
-{
- GailWidget parent;
-
- /*
- * Cached list of children
- */
- GList *children;
-};
-
-GType gail_container_get_type (void);
-
-struct _GailContainerClass
-{
- GailWidgetClass parent_class;
-
- gint (*add_gtk) (GtkContainer *container,
- GtkWidget *widget,
- gpointer data);
- gint (*remove_gtk) (GtkContainer *container,
- GtkWidget *widget,
- gpointer data);
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_CONTAINER_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailcontainercell.h"
-
-static void gail_container_cell_class_init (GailContainerCellClass *klass);
-static void gail_container_cell_init (GailContainerCell *cell);
-static void gail_container_cell_finalize (GObject *obj);
-
-
-static void _gail_container_cell_recompute_child_indices
- (GailContainerCell *container);
-
-static void gail_container_cell_refresh_child_index (GailCell *cell);
-
-static gint gail_container_cell_get_n_children (AtkObject *obj);
-
-static AtkObject* gail_container_cell_ref_child (AtkObject *obj,
- gint child);
-
-G_DEFINE_TYPE (GailContainerCell, gail_container_cell, GAIL_TYPE_CELL)
-
-static void
-gail_container_cell_class_init (GailContainerCellClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS(klass);
- GObjectClass *g_object_class = G_OBJECT_CLASS (klass);
-
- g_object_class->finalize = gail_container_cell_finalize;
-
- class->get_n_children = gail_container_cell_get_n_children;
- class->ref_child = gail_container_cell_ref_child;
-}
-
-static void
-gail_container_cell_init (GailContainerCell *cell)
-{
-}
-
-GailContainerCell *
-gail_container_cell_new (void)
-{
- GObject *object;
- AtkObject *atk_object;
- GailContainerCell *container;
-
- object = g_object_new (GAIL_TYPE_CONTAINER_CELL, NULL);
-
- g_return_val_if_fail (object != NULL, NULL);
-
- atk_object = ATK_OBJECT (object);
- atk_object->role = ATK_ROLE_TABLE_CELL;
-
- container = GAIL_CONTAINER_CELL(object);
- container->children = NULL;
- container->NChildren = 0;
- return container;
-}
-
-static void
-gail_container_cell_finalize (GObject *obj)
-{
- GailContainerCell *container = GAIL_CONTAINER_CELL (obj);
- GList *list;
-
- list = container->children;
- while (list)
- {
- g_object_unref (list->data);
- list = list->next;
- }
- g_list_free (container->children);
-
- G_OBJECT_CLASS (gail_container_cell_parent_class)->finalize (obj);
-}
-
-
-void
-gail_container_cell_add_child (GailContainerCell *container,
- GailCell *child)
-{
- gint child_index;
-
- g_return_if_fail (GAIL_IS_CONTAINER_CELL(container));
- g_return_if_fail (GAIL_IS_CELL(child));
-
- child_index = container->NChildren++;
- container->children = g_list_append (container->children, (gpointer) child);
- child->index = child_index;
- atk_object_set_parent (ATK_OBJECT (child), ATK_OBJECT (container));
- child->refresh_index = gail_container_cell_refresh_child_index;
-}
-
-
-void
-gail_container_cell_remove_child (GailContainerCell *container,
- GailCell *child)
-{
- g_return_if_fail (GAIL_IS_CONTAINER_CELL(container));
- g_return_if_fail (GAIL_IS_CELL(child));
- g_return_if_fail (container->NChildren > 0);
-
- container->children = g_list_remove (container->children, (gpointer) child);
- _gail_container_cell_recompute_child_indices (container);
- container->NChildren--;
-}
-
-
-static void
-_gail_container_cell_recompute_child_indices (GailContainerCell *container)
-{
- gint cur_index = 0;
- GList *temp_list;
-
- g_return_if_fail (GAIL_IS_CONTAINER_CELL(container));
-
- for (temp_list = container->children; temp_list; temp_list = temp_list->next)
- {
- GAIL_CELL(temp_list->data)->index = cur_index;
- cur_index++;
- }
-}
-
-
-static void
-gail_container_cell_refresh_child_index (GailCell *cell)
-{
- GailContainerCell *container;
- g_return_if_fail (GAIL_IS_CELL(cell));
- container = GAIL_CONTAINER_CELL (atk_object_get_parent (ATK_OBJECT(cell)));
- g_return_if_fail (GAIL_IS_CONTAINER_CELL (container));
- _gail_container_cell_recompute_child_indices (container);
-}
-
-
-
-static gint
-gail_container_cell_get_n_children (AtkObject *obj)
-{
- GailContainerCell *cell;
- g_return_val_if_fail (GAIL_IS_CONTAINER_CELL(obj), 0);
- cell = GAIL_CONTAINER_CELL(obj);
- return cell->NChildren;
-}
-
-
-static AtkObject *
-gail_container_cell_ref_child (AtkObject *obj,
- gint child)
-{
- GailContainerCell *cell;
- GList *list_node;
-
- g_return_val_if_fail (GAIL_IS_CONTAINER_CELL(obj), NULL);
- cell = GAIL_CONTAINER_CELL(obj);
-
- list_node = g_list_nth (cell->children, child);
- if (!list_node)
- return NULL;
-
- return g_object_ref (ATK_OBJECT (list_node->data));
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_CONTAINER_CELL_H__
-#define __GAIL_CONTAINER_CELL_H__
-
-#include <atk/atk.h>
-#include <gail/gailcell.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_CONTAINER_CELL (gail_container_cell_get_type ())
-#define GAIL_CONTAINER_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_CONTAINER_CELL, GailContainerCell))
-#define GAIL_CONTAINER_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_CONTAINER_CELL, GailContainerCellClass))
-#define GAIL_IS_CONTAINER_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_CONTAINER_CELL))
-#define GAIL_IS_CONTAINER_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_CONTAINER_CELL))
-#define GAIL_CONTAINER_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_CONTAINER_CELL, GailContainerCellClass))
-
-typedef struct _GailContainerCell GailContainerCell;
-typedef struct _GailContainerCellClass GailContainerCellClass;
-
-struct _GailContainerCell
-{
- GailCell parent;
- GList *children;
- gint NChildren;
-};
-
-GType gail_container_cell_get_type (void);
-
-struct _GailContainerCellClass
-{
- GailCellClass parent_class;
-};
-
-GailContainerCell *
-gail_container_cell_new (void);
-
-void
-gail_container_cell_add_child (GailContainerCell *container,
- GailCell *child);
-
-void
-gail_container_cell_remove_child (GailContainerCell *container,
- GailCell *child);
-
-G_END_DECLS
-
-#endif /* __GAIL_TREE_VIEW_TEXT_CELL_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-#include "gailentry.h"
-#include "gailcombobox.h"
-#include <libgail-util/gailmisc.h>
-
-static void gail_entry_class_init (GailEntryClass *klass);
-static void gail_entry_init (GailEntry *entry);
-static void gail_entry_real_initialize (AtkObject *obj,
- gpointer data);
-static void text_setup (GailEntry *entry,
- GtkEntry *gtk_entry);
-static void gail_entry_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-static void gail_entry_finalize (GObject *object);
-
-static gint gail_entry_get_index_in_parent (AtkObject *accessible);
-
-/* atkobject.h */
-
-static AtkStateSet* gail_entry_ref_state_set (AtkObject *accessible);
-static AtkAttributeSet* gail_entry_get_attributes (AtkObject *accessible);
-
-/* atktext.h */
-
-static void atk_text_interface_init (AtkTextIface *iface);
-
-static gchar* gail_entry_get_text (AtkText *text,
- gint start_pos,
- gint end_pos);
-static gunichar gail_entry_get_character_at_offset
- (AtkText *text,
- gint offset);
-static gchar* gail_entry_get_text_before_offset(AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_entry_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_entry_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gint gail_entry_get_caret_offset (AtkText *text);
-static gboolean gail_entry_set_caret_offset (AtkText *text,
- gint offset);
-static gint gail_entry_get_n_selections (AtkText *text);
-static gchar* gail_entry_get_selection (AtkText *text,
- gint selection_num,
- gint *start_offset,
- gint *end_offset);
-static gboolean gail_entry_add_selection (AtkText *text,
- gint start_offset,
- gint end_offset);
-static gboolean gail_entry_remove_selection (AtkText *text,
- gint selection_num);
-static gboolean gail_entry_set_selection (AtkText *text,
- gint selection_num,
- gint start_offset,
- gint end_offset);
-static gint gail_entry_get_character_count (AtkText *text);
-static AtkAttributeSet * gail_entry_get_run_attributes
- (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static AtkAttributeSet * gail_entry_get_default_attributes
- (AtkText *text);
-static void gail_entry_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords);
-static gint gail_entry_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords);
-/* atkeditabletext.h */
-
-static void atk_editable_text_interface_init (AtkEditableTextIface *iface);
-static void gail_entry_set_text_contents (AtkEditableText *text,
- const gchar *string);
-static void gail_entry_insert_text (AtkEditableText *text,
- const gchar *string,
- gint length,
- gint *position);
-static void gail_entry_copy_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos);
-static void gail_entry_cut_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos);
-static void gail_entry_delete_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos);
-static void gail_entry_paste_text (AtkEditableText *text,
- gint position);
-static void gail_entry_paste_received (GtkClipboard *clipboard,
- const gchar *text,
- gpointer data);
-
-
-/* Callbacks */
-
-static gboolean gail_entry_idle_notify_insert (gpointer data);
-static void gail_entry_notify_insert (GailEntry *entry);
-static void gail_entry_notify_delete (GailEntry *entry);
-static void _gail_entry_insert_text_cb (GtkEntry *entry,
- gchar *arg1,
- gint arg2,
- gpointer arg3);
-static void _gail_entry_delete_text_cb (GtkEntry *entry,
- gint arg1,
- gint arg2);
-static void _gail_entry_changed_cb (GtkEntry *entry);
-static gboolean check_for_selection_change (GailEntry *entry,
- GtkEntry *gtk_entry);
-
-static void atk_action_interface_init (AtkActionIface *iface);
-
-static gboolean gail_entry_do_action (AtkAction *action,
- gint i);
-static gboolean idle_do_action (gpointer data);
-static gint gail_entry_get_n_actions (AtkAction *action);
-static const gchar* gail_entry_action_get_description (AtkAction *action,
- gint i);
-static const gchar* gail_entry_get_keybinding (AtkAction *action,
- gint i);
-static const gchar* gail_entry_action_get_name (AtkAction *action,
- gint i);
-static gboolean gail_entry_action_set_description (AtkAction *action,
- gint i,
- const gchar *desc);
-
-typedef struct _GailEntryPaste GailEntryPaste;
-
-struct _GailEntryPaste
-{
- GtkEntry* entry;
- gint position;
-};
-
-G_DEFINE_TYPE_WITH_CODE (GailEntry, gail_entry, GAIL_TYPE_WIDGET,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_EDITABLE_TEXT, atk_editable_text_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
-
-static void
-gail_entry_class_init (GailEntryClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GailWidgetClass *widget_class;
-
- widget_class = (GailWidgetClass*)klass;
-
- gobject_class->finalize = gail_entry_finalize;
-
- class->ref_state_set = gail_entry_ref_state_set;
- class->get_index_in_parent = gail_entry_get_index_in_parent;
- class->initialize = gail_entry_real_initialize;
- class->get_attributes = gail_entry_get_attributes;
-
- widget_class->notify_gtk = gail_entry_real_notify_gtk;
-}
-
-static void
-gail_entry_init (GailEntry *entry)
-{
- entry->textutil = NULL;
- entry->signal_name_insert = NULL;
- entry->signal_name_delete = NULL;
- entry->cursor_position = 0;
- entry->selection_bound = 0;
- entry->activate_description = NULL;
- entry->activate_keybinding = NULL;
-}
-
-static void
-gail_entry_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GtkEntry *entry;
- GailEntry *gail_entry;
- gint start_pos, end_pos;
-
- ATK_OBJECT_CLASS (gail_entry_parent_class)->initialize (obj, data);
-
- gail_entry = GAIL_ENTRY (obj);
- gail_entry->textutil = gail_text_util_new ();
-
- g_assert (GTK_IS_ENTRY (data));
-
- entry = GTK_ENTRY (data);
- text_setup (gail_entry, entry);
- gtk_editable_get_selection_bounds (GTK_EDITABLE (entry),
- &start_pos, &end_pos);
- gail_entry->cursor_position = end_pos;
- gail_entry->selection_bound = start_pos;
-
- /* Set up signal callbacks */
- g_signal_connect (data, "insert-text",
- G_CALLBACK (_gail_entry_insert_text_cb), NULL);
- g_signal_connect (data, "delete-text",
- G_CALLBACK (_gail_entry_delete_text_cb), NULL);
- g_signal_connect (data, "changed",
- G_CALLBACK (_gail_entry_changed_cb), NULL);
-
- if (gtk_entry_get_visibility (entry))
- obj->role = ATK_ROLE_TEXT;
- else
- obj->role = ATK_ROLE_PASSWORD_TEXT;
-}
-
-static void
-gail_entry_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GtkWidget *widget;
- AtkObject* atk_obj;
- GtkEntry* gtk_entry;
- GailEntry* entry;
-
- widget = GTK_WIDGET (obj);
- atk_obj = gtk_widget_get_accessible (widget);
- gtk_entry = GTK_ENTRY (widget);
- entry = GAIL_ENTRY (atk_obj);
-
- if (strcmp (pspec->name, "cursor-position") == 0)
- {
- if (entry->insert_idle_handler == 0)
- entry->insert_idle_handler = gdk_threads_add_idle (gail_entry_idle_notify_insert, entry);
-
- if (check_for_selection_change (entry, gtk_entry))
- g_signal_emit_by_name (atk_obj, "text_selection_changed");
- /*
- * The entry cursor position has moved so generate the signal.
- */
- g_signal_emit_by_name (atk_obj, "text_caret_moved",
- entry->cursor_position);
- }
- else if (strcmp (pspec->name, "selection-bound") == 0)
- {
- if (entry->insert_idle_handler == 0)
- entry->insert_idle_handler = gdk_threads_add_idle (gail_entry_idle_notify_insert, entry);
-
- if (check_for_selection_change (entry, gtk_entry))
- g_signal_emit_by_name (atk_obj, "text_selection_changed");
- }
- else if (strcmp (pspec->name, "editable") == 0)
- {
- gboolean value;
-
- g_object_get (obj, "editable", &value, NULL);
- atk_object_notify_state_change (atk_obj, ATK_STATE_EDITABLE,
- value);
- }
- else if (strcmp (pspec->name, "visibility") == 0)
- {
- gboolean visibility;
- AtkRole new_role;
-
- text_setup (entry, gtk_entry);
- visibility = gtk_entry_get_visibility (gtk_entry);
- new_role = visibility ? ATK_ROLE_TEXT : ATK_ROLE_PASSWORD_TEXT;
- atk_object_set_role (atk_obj, new_role);
- }
- else if (strcmp (pspec->name, "invisible-char") == 0)
- {
- text_setup (entry, gtk_entry);
- }
- else if (strcmp (pspec->name, "editing-canceled") == 0)
- {
- if (entry->insert_idle_handler)
- {
- g_source_remove (entry->insert_idle_handler);
- entry->insert_idle_handler = 0;
- }
- }
- else
- GAIL_WIDGET_CLASS (gail_entry_parent_class)->notify_gtk (obj, pspec);
-}
-
-static void
-text_setup (GailEntry *entry,
- GtkEntry *gtk_entry)
-{
- if (gtk_entry_get_visibility (gtk_entry))
- {
- gail_text_util_text_setup (entry->textutil, gtk_entry_get_text (gtk_entry));
- }
- else
- {
- gunichar invisible_char;
- GString *tmp_string = g_string_new (NULL);
- gint ch_len;
- gchar buf[7];
- guint length;
- gint i;
-
- invisible_char = gtk_entry_get_invisible_char (gtk_entry);
- if (invisible_char == 0)
- invisible_char = ' ';
-
- ch_len = g_unichar_to_utf8 (invisible_char, buf);
- length = gtk_entry_get_text_length (gtk_entry);
- for (i = 0; i < length; i++)
- {
- g_string_append_len (tmp_string, buf, ch_len);
- }
-
- gail_text_util_text_setup (entry->textutil, tmp_string->str);
- g_string_free (tmp_string, TRUE);
-
- }
-}
-
-static void
-gail_entry_finalize (GObject *object)
-{
- GailEntry *entry = GAIL_ENTRY (object);
-
- g_object_unref (entry->textutil);
- g_free (entry->activate_description);
- g_free (entry->activate_keybinding);
- if (entry->action_idle_handler)
- {
- g_source_remove (entry->action_idle_handler);
- entry->action_idle_handler = 0;
- }
- if (entry->insert_idle_handler)
- {
- g_source_remove (entry->insert_idle_handler);
- entry->insert_idle_handler = 0;
- }
- G_OBJECT_CLASS (gail_entry_parent_class)->finalize (object);
-}
-
-static gint
-gail_entry_get_index_in_parent (AtkObject *accessible)
-{
- /*
- * If the parent widget is a combo box then the index is 1
- * otherwise do the normal thing.
- */
- if (accessible->accessible_parent)
- if (GAIL_IS_COMBO_BOX (accessible->accessible_parent))
- return 1;
-
- return ATK_OBJECT_CLASS (gail_entry_parent_class)->get_index_in_parent (accessible);
-}
-
-/* atkobject.h */
-
-static AtkStateSet*
-gail_entry_ref_state_set (AtkObject *accessible)
-{
- AtkStateSet *state_set;
- GtkEntry *entry;
- gboolean value;
- GtkWidget *widget;
-
- state_set = ATK_OBJECT_CLASS (gail_entry_parent_class)->ref_state_set (accessible);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
-
- if (widget == NULL)
- return state_set;
-
- entry = GTK_ENTRY (widget);
-
- g_object_get (G_OBJECT (entry), "editable", &value, NULL);
- if (value)
- atk_state_set_add_state (state_set, ATK_STATE_EDITABLE);
- atk_state_set_add_state (state_set, ATK_STATE_SINGLE_LINE);
-
- return state_set;
-}
-
-static AtkAttributeSet *
-gail_entry_get_attributes (AtkObject *accessible)
-{
- GtkWidget *widget;
- AtkAttributeSet *attributes;
- AtkAttribute *placeholder_text;
- const gchar *text;
-
- attributes = ATK_OBJECT_CLASS (gail_entry_parent_class)->get_attributes (accessible);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- if (widget == NULL)
- return attributes;
-
- text = gtk_entry_get_placeholder_text (GTK_ENTRY (widget));
- if (text == NULL)
- return attributes;
-
- placeholder_text = g_malloc (sizeof (AtkAttribute));
- placeholder_text->name = g_strdup ("placeholder-text");
- placeholder_text->value = g_strdup (text);
-
- attributes = g_slist_append (attributes, placeholder_text);
-
- return attributes;
-}
-
-/* atktext.h */
-
-static void
-atk_text_interface_init (AtkTextIface *iface)
-{
- iface->get_text = gail_entry_get_text;
- iface->get_character_at_offset = gail_entry_get_character_at_offset;
- iface->get_text_before_offset = gail_entry_get_text_before_offset;
- iface->get_text_at_offset = gail_entry_get_text_at_offset;
- iface->get_text_after_offset = gail_entry_get_text_after_offset;
- iface->get_caret_offset = gail_entry_get_caret_offset;
- iface->set_caret_offset = gail_entry_set_caret_offset;
- iface->get_character_count = gail_entry_get_character_count;
- iface->get_n_selections = gail_entry_get_n_selections;
- iface->get_selection = gail_entry_get_selection;
- iface->add_selection = gail_entry_add_selection;
- iface->remove_selection = gail_entry_remove_selection;
- iface->set_selection = gail_entry_set_selection;
- iface->get_run_attributes = gail_entry_get_run_attributes;
- iface->get_default_attributes = gail_entry_get_default_attributes;
- iface->get_character_extents = gail_entry_get_character_extents;
- iface->get_offset_at_point = gail_entry_get_offset_at_point;
-}
-
-static gchar*
-gail_entry_get_text (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- return gail_text_util_get_substring (GAIL_ENTRY (text)->textutil, start_pos, end_pos);
-}
-
-static gchar*
-gail_entry_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkEntry *entry;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Get Entry */
- entry = GTK_ENTRY (widget);
-
- return gail_text_util_get_text (GAIL_ENTRY (text)->textutil,
- gtk_entry_get_layout (entry), GAIL_BEFORE_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_entry_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkEntry *entry;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Get Entry */
- entry = GTK_ENTRY (widget);
-
- return gail_text_util_get_text (GAIL_ENTRY (text)->textutil,
- gtk_entry_get_layout (entry), GAIL_AT_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_entry_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkEntry *entry;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Get Entry */
- entry = GTK_ENTRY (widget);
-
- return gail_text_util_get_text (GAIL_ENTRY (text)->textutil,
- gtk_entry_get_layout (entry), GAIL_AFTER_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gint
-gail_entry_get_character_count (AtkText *text)
-{
- GtkEntry *entry;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- entry = GTK_ENTRY (widget);
- return g_utf8_strlen (gtk_entry_get_text (entry), -1);
-}
-
-static gint
-gail_entry_get_caret_offset (AtkText *text)
-{
- GtkEntry *entry;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- entry = GTK_ENTRY (widget);
-
- return gtk_editable_get_position (GTK_EDITABLE (entry));
-}
-
-static gboolean
-gail_entry_set_caret_offset (AtkText *text, gint offset)
-{
- GtkEntry *entry;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- entry = GTK_ENTRY (widget);
-
- gtk_editable_set_position (GTK_EDITABLE (entry), offset);
- return TRUE;
-}
-
-static AtkAttributeSet*
-gail_entry_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkEntry *entry;
- AtkAttributeSet *at_set = NULL;
- GtkTextDirection dir;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- entry = GTK_ENTRY (widget);
-
- dir = gtk_widget_get_direction (widget);
- if (dir == GTK_TEXT_DIR_RTL)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_DIRECTION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, dir)));
- }
-
- at_set = gail_misc_layout_get_run_attributes (at_set,
- gtk_entry_get_layout (entry),
- (gchar*)gtk_entry_get_text (entry),
- offset,
- start_offset,
- end_offset);
- return at_set;
-}
-
-static AtkAttributeSet*
-gail_entry_get_default_attributes (AtkText *text)
-{
- GtkWidget *widget;
- GtkEntry *entry;
- AtkAttributeSet *at_set = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- entry = GTK_ENTRY (widget);
-
- at_set = gail_misc_get_default_attributes (at_set,
- gtk_entry_get_layout (entry),
- widget);
- return at_set;
-}
-
-static void
-gail_entry_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkEntry *entry;
- PangoRectangle char_rect;
- gint index, x_layout, y_layout;
- const gchar *entry_text;
- gint start_pos, end_pos;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- entry = GTK_ENTRY (widget);
-
- gtk_editable_get_selection_bounds (GTK_EDITABLE (entry),
- &start_pos, &end_pos);
- gtk_entry_get_layout_offsets (entry, &x_layout, &y_layout);
- entry_text = gtk_entry_get_text (entry);
-
- index = g_utf8_offset_to_pointer (entry_text, offset) - entry_text;
-
- /* FIXME: entry->preedit cannot be accessed directly
- cursor_index = g_utf8_offset_to_pointer (entry_text, end_pos) - entry_text;
- if (index > cursor_index)
- index += entry->preedit_length;
- */
- pango_layout_index_to_pos (gtk_entry_get_layout(entry), index, &char_rect);
-
- gail_misc_get_extents_from_pango_rectangle (widget, &char_rect,
- x_layout, y_layout, x, y, width, height, coords);
-}
-
-static gint
-gail_entry_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkEntry *entry;
- gint index, x_layout, y_layout;
- const gchar *entry_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return -1;
-
- entry = GTK_ENTRY (widget);
-
- gtk_entry_get_layout_offsets (entry, &x_layout, &y_layout);
- entry_text = gtk_entry_get_text (entry);
-
- index = gail_misc_get_index_at_point_in_layout (widget,
- gtk_entry_get_layout(entry), x_layout, y_layout, x, y, coords);
- if (index == -1)
- {
- if (coords == ATK_XY_SCREEN || coords == ATK_XY_WINDOW)
- return g_utf8_strlen (entry_text, -1);
-
- return index;
- }
- else
- {
- gint start_pos, end_pos;
-
- gtk_editable_get_selection_bounds (GTK_EDITABLE (entry),
- &start_pos, &end_pos);
- /* FIXME: entry->preedit_length cannot be accessed directly
- cursor_index = g_utf8_offset_to_pointer (entry_text, end_pos) - entry_text;
- if (index >= cursor_index && entry->preedit_length)
- {
- if (index >= cursor_index + entry->preedit_length)
- index -= entry->preedit_length;
- else
- index = cursor_index;
- }
- */
- return g_utf8_pointer_to_offset (entry_text, entry_text + index);
- }
-}
-
-static gint
-gail_entry_get_n_selections (AtkText *text)
-{
- GtkEntry *entry;
- GtkWidget *widget;
- gint select_start, select_end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return -1;
-
- entry = GTK_ENTRY (widget);
-
- gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &select_start,
- &select_end);
-
- if (select_start != select_end)
- return 1;
- else
- return 0;
-}
-
-static gchar*
-gail_entry_get_selection (AtkText *text,
- gint selection_num,
- gint *start_pos,
- gint *end_pos)
-{
- GtkEntry *entry;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Only let the user get the selection if one is set, and if the
- * selection_num is 0.
- */
- if (selection_num != 0)
- return NULL;
-
- entry = GTK_ENTRY (widget);
- gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), start_pos, end_pos);
-
- if (*start_pos != *end_pos)
- return gtk_editable_get_chars (GTK_EDITABLE (entry), *start_pos, *end_pos);
- else
- return NULL;
-}
-
-static gboolean
-gail_entry_add_selection (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkEntry *entry;
- GtkWidget *widget;
- gint select_start, select_end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- entry = GTK_ENTRY (widget);
-
- gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &select_start,
- &select_end);
-
- /* If there is already a selection, then don't allow another to be added,
- * since GtkEntry only supports one selected region.
- */
- if (select_start == select_end)
- {
- gtk_editable_select_region (GTK_EDITABLE (entry), start_pos, end_pos);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static gboolean
-gail_entry_remove_selection (AtkText *text,
- gint selection_num)
-{
- GtkEntry *entry;
- GtkWidget *widget;
- gint select_start, select_end, caret_pos;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- if (selection_num != 0)
- return FALSE;
-
- entry = GTK_ENTRY (widget);
- gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &select_start,
- &select_end);
-
- if (select_start != select_end)
- {
- /* Setting the start & end of the selected region to the caret position
- * turns off the selection.
- */
- caret_pos = gtk_editable_get_position (GTK_EDITABLE (entry));
- gtk_editable_select_region (GTK_EDITABLE (entry), caret_pos, caret_pos);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static gboolean
-gail_entry_set_selection (AtkText *text,
- gint selection_num,
- gint start_pos,
- gint end_pos)
-{
- GtkEntry *entry;
- GtkWidget *widget;
- gint select_start, select_end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- /* Only let the user move the selection if one is set, and if the
- * selection_num is 0
- */
- if (selection_num != 0)
- return FALSE;
-
- entry = GTK_ENTRY (widget);
-
- gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &select_start,
- &select_end);
-
- if (select_start != select_end)
- {
- gtk_editable_select_region (GTK_EDITABLE (entry), start_pos, end_pos);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static void
-atk_editable_text_interface_init (AtkEditableTextIface *iface)
-{
- iface->set_text_contents = gail_entry_set_text_contents;
- iface->insert_text = gail_entry_insert_text;
- iface->copy_text = gail_entry_copy_text;
- iface->cut_text = gail_entry_cut_text;
- iface->delete_text = gail_entry_delete_text;
- iface->paste_text = gail_entry_paste_text;
- iface->set_run_attributes = NULL;
-}
-
-static void
-gail_entry_set_text_contents (AtkEditableText *text,
- const gchar *string)
-{
- GtkEntry *entry;
- GtkWidget *widget;
- GtkEditable *editable;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- entry = GTK_ENTRY (widget);
- editable = GTK_EDITABLE (entry);
- if (!gtk_editable_get_editable (editable))
- return;
-
- gtk_entry_set_text (entry, string);
-}
-
-static void
-gail_entry_insert_text (AtkEditableText *text,
- const gchar *string,
- gint length,
- gint *position)
-{
- GtkEntry *entry;
- GtkWidget *widget;
- GtkEditable *editable;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- entry = GTK_ENTRY (widget);
- editable = GTK_EDITABLE (entry);
- if (!gtk_editable_get_editable (editable))
- return;
-
- gtk_editable_insert_text (editable, string, length, position);
- gtk_editable_set_position (editable, *position);
-}
-
-static void
-gail_entry_copy_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkEntry *entry;
- GtkWidget *widget;
- GtkEditable *editable;
- gchar *str;
- GtkClipboard *clipboard;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- entry = GTK_ENTRY (widget);
- editable = GTK_EDITABLE (entry);
- str = gtk_editable_get_chars (editable, start_pos, end_pos);
- clipboard = gtk_clipboard_get_for_display (gtk_widget_get_display (widget),
- GDK_SELECTION_CLIPBOARD);
- gtk_clipboard_set_text (clipboard, str, -1);
-}
-
-static void
-gail_entry_cut_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkEntry *entry;
- GtkWidget *widget;
- GtkEditable *editable;
- gchar *str;
- GtkClipboard *clipboard;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- entry = GTK_ENTRY (widget);
- editable = GTK_EDITABLE (entry);
- if (!gtk_editable_get_editable (editable))
- return;
- str = gtk_editable_get_chars (editable, start_pos, end_pos);
- clipboard = gtk_clipboard_get_for_display (gtk_widget_get_display (widget),
- GDK_SELECTION_CLIPBOARD);
- gtk_clipboard_set_text (clipboard, str, -1);
- gtk_editable_delete_text (editable, start_pos, end_pos);
-}
-
-static void
-gail_entry_delete_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkEntry *entry;
- GtkWidget *widget;
- GtkEditable *editable;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- entry = GTK_ENTRY (widget);
- editable = GTK_EDITABLE (entry);
- if (!gtk_editable_get_editable (editable))
- return;
-
- gtk_editable_delete_text (editable, start_pos, end_pos);
-}
-
-static void
-gail_entry_paste_text (AtkEditableText *text,
- gint position)
-{
- GtkWidget *widget;
- GtkEditable *editable;
- GailEntryPaste paste_struct;
- GtkClipboard *clipboard;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- editable = GTK_EDITABLE (widget);
- if (!gtk_editable_get_editable (editable))
- return;
- paste_struct.entry = GTK_ENTRY (widget);
- paste_struct.position = position;
-
- g_object_ref (paste_struct.entry);
- clipboard = gtk_clipboard_get_for_display (gtk_widget_get_display (widget),
- GDK_SELECTION_CLIPBOARD);
- gtk_clipboard_request_text (clipboard,
- gail_entry_paste_received, &paste_struct);
-}
-
-static void
-gail_entry_paste_received (GtkClipboard *clipboard,
- const gchar *text,
- gpointer data)
-{
- GailEntryPaste* paste_struct = (GailEntryPaste *)data;
-
- if (text)
- gtk_editable_insert_text (GTK_EDITABLE (paste_struct->entry), text, -1,
- &(paste_struct->position));
-
- g_object_unref (paste_struct->entry);
-}
-
-/* Callbacks */
-
-static gboolean
-gail_entry_idle_notify_insert (gpointer data)
-{
- GailEntry *entry;
-
- entry = GAIL_ENTRY (data);
- entry->insert_idle_handler = 0;
- gail_entry_notify_insert (entry);
-
- return FALSE;
-}
-
-static void
-gail_entry_notify_insert (GailEntry *entry)
-{
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (entry));
- if (gtk_entry_get_text_length (GTK_ENTRY (widget)) == 0)
- return;
-
- if (entry->signal_name_insert)
- {
- g_signal_emit_by_name (entry,
- entry->signal_name_insert,
- entry->position_insert,
- entry->length_insert);
- entry->signal_name_insert = NULL;
- }
-}
-
-/* Note arg1 returns the character at the start of the insert.
- * arg2 returns the number of characters inserted.
- */
-static void
-_gail_entry_insert_text_cb (GtkEntry *entry,
- gchar *arg1,
- gint arg2,
- gpointer arg3)
-{
- AtkObject *accessible;
- GailEntry *gail_entry;
- gint *position = (gint *) arg3;
-
- if (arg2 == 0)
- return;
-
- accessible = gtk_widget_get_accessible (GTK_WIDGET (entry));
- gail_entry = GAIL_ENTRY (accessible);
- if (!gail_entry->signal_name_insert)
- {
- gail_entry->signal_name_insert = "text_changed::insert";
- gail_entry->position_insert = *position;
- gail_entry->length_insert = g_utf8_strlen(arg1, arg2);
- }
- /*
- * The signal will be emitted when the cursor position is updated.
- * or in an idle handler if it not updated.
- */
- if (gail_entry->insert_idle_handler == 0)
- gail_entry->insert_idle_handler = gdk_threads_add_idle (gail_entry_idle_notify_insert, gail_entry);
-}
-
-static gunichar
-gail_entry_get_character_at_offset (AtkText *text,
- gint offset)
-{
- GtkWidget *widget;
- GailEntry *entry;
- gchar *string;
- gchar *index;
- gunichar unichar;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return '\0';
-
- entry = GAIL_ENTRY (text);
- string = gail_text_util_get_substring (entry->textutil, 0, -1);
- if (offset >= g_utf8_strlen (string, -1))
- {
- unichar = '\0';
- }
- else
- {
- index = g_utf8_offset_to_pointer (string, offset);
-
- unichar = g_utf8_get_char(index);
- }
-
- g_free(string);
- return unichar;
-}
-
-static void
-gail_entry_notify_delete (GailEntry *entry)
-{
- if (entry->signal_name_delete)
- {
- g_signal_emit_by_name (entry,
- entry->signal_name_delete,
- entry->position_delete,
- entry->length_delete);
- entry->signal_name_delete = NULL;
- }
-}
-
-/* Note arg1 returns the start of the delete range, arg2 returns the
- * end of the delete range if multiple characters are deleted.
- */
-static void
-_gail_entry_delete_text_cb (GtkEntry *entry,
- gint arg1,
- gint arg2)
-{
- AtkObject *accessible;
- GailEntry *gail_entry;
-
- /*
- * Zero length text deleted so ignore
- */
- if (arg2 - arg1 == 0)
- return;
-
- accessible = gtk_widget_get_accessible (GTK_WIDGET (entry));
- gail_entry = GAIL_ENTRY (accessible);
- if (!gail_entry->signal_name_delete)
- {
- gail_entry->signal_name_delete = "text_changed::delete";
- gail_entry->position_delete = arg1;
- gail_entry->length_delete = arg2 - arg1;
- }
- gail_entry_notify_delete (gail_entry);
-}
-
-static void
-_gail_entry_changed_cb (GtkEntry *entry)
-{
- AtkObject *accessible;
- GailEntry *gail_entry;
-
- accessible = gtk_widget_get_accessible (GTK_WIDGET (entry));
-
- gail_entry = GAIL_ENTRY (accessible);
-
- text_setup (gail_entry, entry);
-}
-
-static gboolean
-check_for_selection_change (GailEntry *entry,
- GtkEntry *gtk_entry)
-{
- gboolean selected, ret_val = FALSE;
- gint start_pos, end_pos;
-
- selected = gtk_editable_get_selection_bounds (GTK_EDITABLE (gtk_entry),
- &start_pos, &end_pos);
- if (selected)
- {
- if (end_pos != entry->cursor_position ||
- start_pos != entry->selection_bound)
- /*
- * This check is here as this function can be called
- * for notification of selection_bound and current_pos.
- * The values of current_pos and selection_bound may be the same
- * for both notifications and we only want to generate one
- * text_selection_changed signal.
- */
- ret_val = TRUE;
- }
- else
- {
- /* We had a selection */
- ret_val = (entry->cursor_position != entry->selection_bound);
- }
- entry->cursor_position = end_pos;
- entry->selection_bound = start_pos;
-
- return ret_val;
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- iface->do_action = gail_entry_do_action;
- iface->get_n_actions = gail_entry_get_n_actions;
- iface->get_description = gail_entry_action_get_description;
- iface->get_keybinding = gail_entry_get_keybinding;
- iface->get_name = gail_entry_action_get_name;
- iface->set_description = gail_entry_action_set_description;
-}
-
-static gboolean
-gail_entry_do_action (AtkAction *action,
- gint i)
-{
- GailEntry *entry;
- GtkWidget *widget;
- gboolean return_value = TRUE;
-
- entry = GAIL_ENTRY (action);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
- if (!gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- switch (i)
- {
- case 0:
- if (entry->action_idle_handler)
- return_value = FALSE;
- else
- entry->action_idle_handler = gdk_threads_add_idle (idle_do_action, entry);
- break;
- default:
- return_value = FALSE;
- break;
- }
- return return_value;
-}
-
-static gboolean
-idle_do_action (gpointer data)
-{
- GailEntry *entry;
- GtkWidget *widget;
-
- entry = GAIL_ENTRY (data);
- entry->action_idle_handler = 0;
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (entry));
- if (widget == NULL /* State is defunct */ ||
- !gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- gtk_widget_activate (widget);
-
- return FALSE;
-}
-
-static gint
-gail_entry_get_n_actions (AtkAction *action)
-{
- return 1;
-}
-
-static const gchar*
-gail_entry_action_get_description (AtkAction *action,
- gint i)
-{
- GailEntry *entry;
- const gchar *return_value;
-
- entry = GAIL_ENTRY (action);
- switch (i)
- {
- case 0:
- return_value = entry->activate_description;
- break;
- default:
- return_value = NULL;
- break;
- }
- return return_value;
-}
-
-static const gchar*
-gail_entry_get_keybinding (AtkAction *action,
- gint i)
-{
- GailEntry *entry;
- gchar *return_value = NULL;
-
- entry = GAIL_ENTRY (action);
- switch (i)
- {
- case 0:
- {
- /*
- * We look for a mnemonic on the label
- */
- GtkWidget *widget;
- GtkWidget *label;
- AtkRelationSet *set;
- AtkRelation *relation;
- GPtrArray *target;
- gpointer target_object;
- guint key_val;
-
- entry = GAIL_ENTRY (action);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (entry));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- /* Find labelled-by relation */
-
- set = atk_object_ref_relation_set (ATK_OBJECT (action));
- if (!set)
- return NULL;
- label = NULL;
- relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_LABELLED_BY);
- if (relation)
- {
- target = atk_relation_get_target (relation);
-
- target_object = g_ptr_array_index (target, 0);
- label = gtk_accessible_get_widget (GTK_ACCESSIBLE (target_object));
- }
-
- g_object_unref (set);
-
- if (GTK_IS_LABEL (label))
- {
- key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
- if (key_val != GDK_KEY_VoidSymbol)
- return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
- }
- g_free (entry->activate_keybinding);
- entry->activate_keybinding = return_value;
- break;
- }
- default:
- break;
- }
- return return_value;
-}
-
-static const gchar*
-gail_entry_action_get_name (AtkAction *action,
- gint i)
-{
- const gchar *return_value;
-
- switch (i)
- {
- case 0:
- return_value = "activate";
- break;
- default:
- return_value = NULL;
- break;
- }
- return return_value;
-}
-
-static gboolean
-gail_entry_action_set_description (AtkAction *action,
- gint i,
- const gchar *desc)
-{
- GailEntry *entry;
- gchar **value;
-
- entry = GAIL_ENTRY (action);
- switch (i)
- {
- case 0:
- value = &entry->activate_description;
- break;
- default:
- value = NULL;
- break;
- }
-
- if (value)
- {
- g_free (*value);
- *value = g_strdup (desc);
- return TRUE;
- }
- else
- return FALSE;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_ENTRY_H__
-#define __GAIL_ENTRY_H__
-
-#include <gail/gailwidget.h>
-#include <libgail-util/gailtextutil.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_ENTRY (gail_entry_get_type ())
-#define GAIL_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_ENTRY, GailEntry))
-#define GAIL_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_ENTRY, GailEntryClass))
-#define GAIL_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_ENTRY))
-#define GAIL_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_ENTRY))
-#define GAIL_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_ENTRY, GailEntryClass))
-
-typedef struct _GailEntry GailEntry;
-typedef struct _GailEntryClass GailEntryClass;
-
-struct _GailEntry
-{
- GailWidget parent;
-
- GailTextUtil *textutil;
- /*
- * These fields store information about text changed
- */
- gchar *signal_name_insert;
- gchar *signal_name_delete;
- gint position_insert;
- gint position_delete;
- gint length_insert;
- gint length_delete;
- gint cursor_position;
- gint selection_bound;
-
- gchar *activate_description;
- gchar *activate_keybinding;
- guint action_idle_handler;
- guint insert_idle_handler;
-};
-
-GType gail_entry_get_type (void);
-
-struct _GailEntryClass
-{
- GailWidgetClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_ENTRY_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-#include "gailexpander.h"
-#include <libgail-util/gailmisc.h>
-
-static void gail_expander_class_init (GailExpanderClass *klass);
-static void gail_expander_init (GailExpander *expander);
-
-static const gchar* gail_expander_get_name (AtkObject *obj);
-static gint gail_expander_get_n_children (AtkObject *obj)
-;
-static AtkObject* gail_expander_ref_child (AtkObject *obj,
- gint i);
-
-static AtkStateSet* gail_expander_ref_state_set (AtkObject *obj);
-static void gail_expander_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-static void gail_expander_map_gtk (GtkWidget *widget,
- gpointer data);
-
-static void gail_expander_real_initialize (AtkObject *obj,
- gpointer data);
-static void gail_expander_finalize (GObject *object);
-static void gail_expander_init_textutil (GailExpander *expander,
- GtkExpander *widget);
-static const gchar* gail_expander_get_full_text (GtkExpander *widget);
-
-static void atk_action_interface_init (AtkActionIface *iface);
-static gboolean gail_expander_do_action (AtkAction *action,
- gint i);
-static gboolean idle_do_action (gpointer data);
-static gint gail_expander_get_n_actions(AtkAction *action);
-static const gchar* gail_expander_get_description
- (AtkAction *action,
- gint i);
-static const gchar* gail_expander_get_keybinding
- (AtkAction *action,
- gint i);
-static const gchar* gail_expander_action_get_name
- (AtkAction *action,
- gint i);
-static gboolean gail_expander_set_description
- (AtkAction *action,
- gint i,
- const gchar *desc);
-
-/* atktext.h */
-static void atk_text_interface_init (AtkTextIface *iface);
-
-static gchar* gail_expander_get_text (AtkText *text,
- gint start_pos,
- gint end_pos);
-static gunichar gail_expander_get_character_at_offset
- (AtkText *text,
- gint offset);
-static gchar* gail_expander_get_text_before_offset
- (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_expander_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_expander_get_text_after_offset
- (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gint gail_expander_get_character_count(AtkText *text);
-static void gail_expander_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords);
-static gint gail_expander_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords);
-static AtkAttributeSet* gail_expander_get_run_attributes
- (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static AtkAttributeSet* gail_expander_get_default_attributes
- (AtkText *text);
-
-G_DEFINE_TYPE_WITH_CODE (GailExpander, gail_expander, GAIL_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
-
-static void
-gail_expander_class_init (GailExpanderClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GailWidgetClass *widget_class;
-
- widget_class = (GailWidgetClass*)klass;
- widget_class->notify_gtk = gail_expander_real_notify_gtk;
-
- gobject_class->finalize = gail_expander_finalize;
-
- class->get_name = gail_expander_get_name;
- class->get_n_children = gail_expander_get_n_children;
- class->ref_child = gail_expander_ref_child;
- class->ref_state_set = gail_expander_ref_state_set;
-
- class->initialize = gail_expander_real_initialize;
-}
-
-static void
-gail_expander_init (GailExpander *expander)
-{
- expander->activate_description = NULL;
- expander->activate_keybinding = NULL;
- expander->action_idle_handler = 0;
- expander->textutil = NULL;
-}
-
-static const gchar*
-gail_expander_get_name (AtkObject *obj)
-{
- const gchar *name;
- g_return_val_if_fail (GAIL_IS_EXPANDER (obj), NULL);
-
- name = ATK_OBJECT_CLASS (gail_expander_parent_class)->get_name (obj);
- if (name != NULL)
- return name;
- else
- {
- /*
- * Get the text on the label
- */
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- g_return_val_if_fail (GTK_IS_EXPANDER (widget), NULL);
-
- return gail_expander_get_full_text (GTK_EXPANDER (widget));
- }
-}
-
-static gint
-gail_expander_get_n_children (AtkObject* obj)
-{
- GtkWidget *widget;
- GList *children;
- gint count = 0;
-
- g_return_val_if_fail (GAIL_IS_CONTAINER (obj), count);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- return 0;
-
- children = gtk_container_get_children (GTK_CONTAINER(widget));
- count = g_list_length (children);
- g_list_free (children);
-
- /* See if there is a label - if there is, reduce our count by 1
- * since we don't want the label included with the children.
- */
- if (gtk_expander_get_label_widget (GTK_EXPANDER (widget)))
- count -= 1;
-
- return count;
-}
-
-static AtkObject*
-gail_expander_ref_child (AtkObject *obj,
- gint i)
-{
- GList *children, *tmp_list;
- AtkObject *accessible;
- GtkWidget *widget;
- GtkWidget *label;
- gint index;
-
- g_return_val_if_fail (GAIL_IS_CONTAINER (obj), NULL);
- g_return_val_if_fail ((i >= 0), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- return NULL;
-
- children = gtk_container_get_children (GTK_CONTAINER (widget));
-
- /* See if there is a label - if there is, we need to skip it
- * since we don't want the label included with the children.
- */
- label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
- if (label) {
- for (index = 0; index <= i; index++) {
- tmp_list = g_list_nth (children, index);
- if (label == GTK_WIDGET (tmp_list->data)) {
- i += 1;
- break;
- }
- }
- }
-
- tmp_list = g_list_nth (children, i);
- if (!tmp_list)
- {
- g_list_free (children);
- return NULL;
- }
- accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data));
-
- g_list_free (children);
- g_object_ref (accessible);
- return accessible;
-}
-
-static void
-gail_expander_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GailExpander *gail_expander = GAIL_EXPANDER (obj);
- GtkWidget *expander;
-
- ATK_OBJECT_CLASS (gail_expander_parent_class)->initialize (obj, data);
-
- expander = GTK_WIDGET (data);
- if (gtk_widget_get_mapped (expander))
- gail_expander_init_textutil (gail_expander, GTK_EXPANDER (expander));
- else
- g_signal_connect (expander,
- "map",
- G_CALLBACK (gail_expander_map_gtk),
- gail_expander);
-
- obj->role = ATK_ROLE_TOGGLE_BUTTON;
-}
-
-static void
-gail_expander_map_gtk (GtkWidget *widget,
- gpointer data)
-{
- GailExpander *expander;
-
- expander = GAIL_EXPANDER (data);
- gail_expander_init_textutil (expander, GTK_EXPANDER (widget));
-}
-
-static void
-gail_expander_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- AtkObject* atk_obj;
- GtkExpander *expander;
- GailExpander *gail_expander;
-
- expander = GTK_EXPANDER (obj);
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (expander));
-;
- if (strcmp (pspec->name, "label") == 0)
- {
- const gchar* label_text;
-
-
- label_text = gail_expander_get_full_text (expander);
-
- gail_expander = GAIL_EXPANDER (atk_obj);
- if (gail_expander->textutil)
- gail_text_util_text_setup (gail_expander->textutil, label_text);
-
- if (atk_obj->name == NULL)
- {
- /*
- * The label has changed so notify a change in accessible-name
- */
- g_object_notify (G_OBJECT (atk_obj), "accessible-name");
- }
- /*
- * The label is the only property which can be changed
- */
- g_signal_emit_by_name (atk_obj, "visible_data_changed");
- }
- else if (strcmp (pspec->name, "expanded") == 0)
- {
- atk_object_notify_state_change (atk_obj, ATK_STATE_CHECKED,
- gtk_expander_get_expanded (expander));
- atk_object_notify_state_change (atk_obj, ATK_STATE_EXPANDED,
- gtk_expander_get_expanded (expander));
- g_signal_emit_by_name (atk_obj, "visible_data_changed");
- }
- else
- GAIL_WIDGET_CLASS (gail_expander_parent_class)->notify_gtk (obj, pspec);
-}
-
-static const gchar*
-gail_expander_get_full_text (GtkExpander *widget)
-{
- GtkWidget *label_widget;
-
- label_widget = gtk_expander_get_label_widget (widget);
-
- if (!GTK_IS_LABEL (label_widget))
- return NULL;
-
- return gtk_label_get_text (GTK_LABEL (label_widget));
-}
-
-static void
-gail_expander_init_textutil (GailExpander *expander,
- GtkExpander *widget)
-{
- const gchar *label_text;
-
- expander->textutil = gail_text_util_new ();
- label_text = gail_expander_get_full_text (widget);
- gail_text_util_text_setup (expander->textutil, label_text);
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- iface->do_action = gail_expander_do_action;
- iface->get_n_actions = gail_expander_get_n_actions;
- iface->get_description = gail_expander_get_description;
- iface->get_keybinding = gail_expander_get_keybinding;
- iface->get_name = gail_expander_action_get_name;
- iface->set_description = gail_expander_set_description;
-}
-
-static gboolean
-gail_expander_do_action (AtkAction *action,
- gint i)
-{
- GtkWidget *widget;
- GailExpander *expander;
- gboolean return_value = TRUE;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
- if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- expander = GAIL_EXPANDER (action);
- switch (i)
- {
- case 0:
- if (expander->action_idle_handler)
- return_value = FALSE;
- else
- expander->action_idle_handler = gdk_threads_add_idle (idle_do_action, expander);
- break;
- default:
- return_value = FALSE;
- break;
- }
- return return_value;
-}
-
-static gboolean
-idle_do_action (gpointer data)
-{
- GtkWidget *widget;
- GailExpander *gail_expander;
-
- gail_expander = GAIL_EXPANDER (data);
- gail_expander->action_idle_handler = 0;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (gail_expander));
- if (widget == NULL /* State is defunct */ ||
- !gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- gtk_widget_activate (widget);
-
- return FALSE;
-}
-
-static gint
-gail_expander_get_n_actions (AtkAction *action)
-{
- return 1;
-}
-
-static const gchar*
-gail_expander_get_description (AtkAction *action,
- gint i)
-{
- GailExpander *expander;
- const gchar *return_value;
-
- expander = GAIL_EXPANDER (action);
-
- switch (i)
- {
- case 0:
- return_value = expander->activate_description;
- break;
- default:
- return_value = NULL;
- break;
- }
- return return_value;
-}
-
-static const gchar*
-gail_expander_get_keybinding (AtkAction *action,
- gint i)
-{
- GailExpander *expander;
- gchar *return_value = NULL;
-
- switch (i)
- {
- case 0:
- {
- /*
- * We look for a mnemonic on the label
- */
- GtkWidget *widget;
- GtkWidget *label;
-
- expander = GAIL_EXPANDER (action);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (expander));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- g_return_val_if_fail (GTK_IS_EXPANDER (widget), NULL);
-
- label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
- if (GTK_IS_LABEL (label))
- {
- guint key_val;
-
- key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
- if (key_val != GDK_KEY_VoidSymbol)
- return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
- g_free (expander->activate_keybinding);
- expander->activate_keybinding = return_value;
- }
- break;
- }
- default:
- break;
- }
- return return_value;
-}
-
-static const gchar*
-gail_expander_action_get_name (AtkAction *action,
- gint i)
-{
- const gchar *return_value;
-
- switch (i)
- {
- case 0:
- return_value = "activate";
- break;
- default:
- return_value = NULL;
- break;
- }
- return return_value;
-}
-
-static gboolean
-gail_expander_set_description (AtkAction *action,
- gint i,
- const gchar *desc)
-{
- GailExpander *expander;
- gchar **value;
-
- expander = GAIL_EXPANDER (action);
-
- switch (i)
- {
- case 0:
- value = &expander->activate_description;
- break;
- default:
- value = NULL;
- break;
- }
- if (value)
- {
- g_free (*value);
- *value = g_strdup (desc);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static AtkStateSet*
-gail_expander_ref_state_set (AtkObject *obj)
-{
- AtkStateSet *state_set;
- GtkWidget *widget;
- GtkExpander *expander;
-
- state_set = ATK_OBJECT_CLASS (gail_expander_parent_class)->ref_state_set (obj);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
-
- if (widget == NULL)
- return state_set;
-
- expander = GTK_EXPANDER (widget);
-
- atk_state_set_add_state (state_set, ATK_STATE_EXPANDABLE);
-
- if (gtk_expander_get_expanded (expander)) {
- atk_state_set_add_state (state_set, ATK_STATE_CHECKED);
- atk_state_set_add_state (state_set, ATK_STATE_EXPANDED);
- }
-
- return state_set;
-}
-
-/* atktext.h */
-
-static void
-atk_text_interface_init (AtkTextIface *iface)
-{
- iface->get_text = gail_expander_get_text;
- iface->get_character_at_offset = gail_expander_get_character_at_offset;
- iface->get_text_before_offset = gail_expander_get_text_before_offset;
- iface->get_text_at_offset = gail_expander_get_text_at_offset;
- iface->get_text_after_offset = gail_expander_get_text_after_offset;
- iface->get_character_count = gail_expander_get_character_count;
- iface->get_character_extents = gail_expander_get_character_extents;
- iface->get_offset_at_point = gail_expander_get_offset_at_point;
- iface->get_run_attributes = gail_expander_get_run_attributes;
- iface->get_default_attributes = gail_expander_get_default_attributes;
-}
-
-static gchar*
-gail_expander_get_text (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkWidget *widget;
- GailExpander *expander;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- expander = GAIL_EXPANDER (text);
- if (!expander->textutil)
- gail_expander_init_textutil (expander, GTK_EXPANDER (widget));
-
- label_text = gail_expander_get_full_text (GTK_EXPANDER (widget));
-
- if (label_text == NULL)
- return NULL;
- else
- return gail_text_util_get_substring (expander->textutil,
- start_pos, end_pos);
-}
-
-static gchar*
-gail_expander_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GailExpander *expander;
- GtkWidget *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- expander = GAIL_EXPANDER (text);
- if (!expander->textutil)
- gail_expander_init_textutil (expander, GTK_EXPANDER (widget));
-
- label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
- if (!GTK_IS_LABEL(label))
- return NULL;
- return gail_text_util_get_text (expander->textutil,
- gtk_label_get_layout (GTK_LABEL (label)),
- GAIL_BEFORE_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_expander_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GailExpander *expander;
- GtkWidget *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- expander = GAIL_EXPANDER (text);
- if (!expander->textutil)
- gail_expander_init_textutil (expander, GTK_EXPANDER (widget));
-
- label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
- if (!GTK_IS_LABEL(label))
- return NULL;
- return gail_text_util_get_text (expander->textutil,
- gtk_label_get_layout (GTK_LABEL (label)),
- GAIL_AT_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_expander_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GailExpander *expander;
- GtkWidget *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- expander = GAIL_EXPANDER (text);
- if (!expander->textutil)
- gail_expander_init_textutil (expander, GTK_EXPANDER (widget));
-
- label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
- if (!GTK_IS_LABEL(label))
- return NULL;
- return gail_text_util_get_text (expander->textutil,
- gtk_label_get_layout (GTK_LABEL (label)),
- GAIL_AFTER_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gint
-gail_expander_get_character_count (AtkText *text)
-{
- GtkWidget *widget;
- GtkWidget *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
- if (!GTK_IS_LABEL(label))
- return 0;
-
- return g_utf8_strlen (gtk_label_get_text (GTK_LABEL (label)), -1);
-}
-
-static void
-gail_expander_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkWidget *label;
- PangoRectangle char_rect;
- gint index, x_layout, y_layout;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
- if (!GTK_IS_LABEL(label))
- return;
-
- gtk_label_get_layout_offsets (GTK_LABEL (label), &x_layout, &y_layout);
- label_text = gtk_label_get_text (GTK_LABEL (label));
- index = g_utf8_offset_to_pointer (label_text, offset) - label_text;
- pango_layout_index_to_pos (gtk_label_get_layout (GTK_LABEL (label)), index, &char_rect);
-
- gail_misc_get_extents_from_pango_rectangle (label, &char_rect,
- x_layout, y_layout, x, y, width, height, coords);
-}
-
-static gint
-gail_expander_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkWidget *label;
- gint index, x_layout, y_layout;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return -1;
- label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
-
- if (!GTK_IS_LABEL(label))
- return -1;
-
- gtk_label_get_layout_offsets (GTK_LABEL (label), &x_layout, &y_layout);
-
- index = gail_misc_get_index_at_point_in_layout (label,
- gtk_label_get_layout (GTK_LABEL (label)),
- x_layout, y_layout, x, y, coords);
- label_text = gtk_label_get_text (GTK_LABEL (label));
- if (index == -1)
- {
- if (coords == ATK_XY_WINDOW || coords == ATK_XY_SCREEN)
- return g_utf8_strlen (label_text, -1);
-
- return index;
- }
- else
- return g_utf8_pointer_to_offset (label_text, label_text + index);
-}
-
-static AtkAttributeSet*
-gail_expander_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- AtkAttributeSet *at_set = NULL;
- GtkJustification justify;
- GtkTextDirection dir;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- /* Get values set for entire label, if any */
- justify = gtk_label_get_justify (GTK_LABEL (label));
- if (justify != GTK_JUSTIFY_CENTER)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_JUSTIFICATION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_JUSTIFICATION, justify)));
- }
- dir = gtk_widget_get_direction (label);
- if (dir == GTK_TEXT_DIR_RTL)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_DIRECTION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, dir)));
- }
-
- at_set = gail_misc_layout_get_run_attributes (at_set,
- gtk_label_get_layout (GTK_LABEL (label)),
- (gchar *) gtk_label_get_text (GTK_LABEL (label)),
- offset,
- start_offset,
- end_offset);
- return at_set;
-}
-
-static AtkAttributeSet*
-gail_expander_get_default_attributes (AtkText *text)
-{
- GtkWidget *widget;
- GtkWidget *label;
- AtkAttributeSet *at_set = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- at_set = gail_misc_get_default_attributes (at_set,
- gtk_label_get_layout (GTK_LABEL (label)),
- widget);
- return at_set;
-}
-
-static gunichar
-gail_expander_get_character_at_offset (AtkText *text,
- gint offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- const gchar *string;
- gchar *index;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return '\0';
-
- label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
-
- if (!GTK_IS_LABEL(label))
- return '\0';
- string = gtk_label_get_text (GTK_LABEL (label));
- if (offset >= g_utf8_strlen (string, -1))
- return '\0';
- index = g_utf8_offset_to_pointer (string, offset);
-
- return g_utf8_get_char (index);
-}
-
-static void
-gail_expander_finalize (GObject *object)
-{
- GailExpander *expander = GAIL_EXPANDER (object);
-
- g_free (expander->activate_description);
- g_free (expander->activate_keybinding);
- if (expander->action_idle_handler)
- {
- g_source_remove (expander->action_idle_handler);
- expander->action_idle_handler = 0;
- }
- if (expander->textutil)
- g_object_unref (expander->textutil);
-
- G_OBJECT_CLASS (gail_expander_parent_class)->finalize (object);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_EXPANDER_H__
-#define __GAIL_EXPANDER_H__
-
-#include <gail/gailcontainer.h>
-#include <libgail-util/gailtextutil.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_EXPANDER (gail_expander_get_type ())
-#define GAIL_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_EXPANDER, GailExpander))
-#define GAIL_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_EXPANDER, GailExpanderClass))
-#define GAIL_IS_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_EXPANDER))
-#define GAIL_IS_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_EXPANDER))
-#define GAIL_EXPANDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_EXPANDER, GailExpanderClass))
-
-typedef struct _GailExpander GailExpander;
-typedef struct _GailExpanderClass GailExpanderClass;
-
-struct _GailExpander
-{
- GailContainer parent;
-
- gchar *activate_description;
- gchar *activate_keybinding;
- guint action_idle_handler;
-
- GailTextUtil *textutil;
-};
-
-GType gail_expander_get_type (void);
-
-struct _GailExpanderClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_EXPANDER_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2002 Sun Microsystems Inc.
- * Copyright (C) 1998-1999, 2000-2001 Tim Janik and Red Hat, Inc.
- * Copyright (C) 2007 Christian Persch
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef _GAIL_FACTORY_H__
-#define _GAIL_FACTORY_H__
-
-#include <glib-object.h>
-#include <atk/atk.h>
-
-#define _GAIL_IMPLEMENT_FACTORY_CREATE_ACCESSIBLE(GAIL_TYPE, TYPE) \
-{ \
- AtkObject *accessible; \
-\
- g_return_val_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (object, TYPE), NULL); \
-\
- accessible = g_object_new (GAIL_TYPE, NULL); \
- atk_object_initialize (accessible, object); \
-\
- return accessible; \
-}
-
-#define _GAIL_IMPLEMENT_FACTORY_BEGIN(GAIL_TYPE, TypeName, type_name) \
-\
-static GType \
-type_name##_factory_get_accessible_type (void) \
-{ \
- return GAIL_TYPE; \
-} \
-\
-static AtkObject* \
-type_name##_factory_create_accessible (GObject *object) \
-{
-
-#define _GAIL_IMPLEMENT_FACTORY_END(GAIL_TYPE, TypeName, type_name) \
-} \
-\
-static void \
-type_name##_factory_class_init (AtkObjectFactoryClass *klass) \
-{ \
- klass->create_accessible = type_name ## _factory_create_accessible; \
- klass->get_accessible_type = type_name ## _factory_get_accessible_type;\
-} \
-\
-GType \
-type_name##_factory_get_type (void) \
-{ \
- static volatile gsize g_define_type_id__volatile = 0; \
- if (g_once_init_enter (&g_define_type_id__volatile)) \
- { \
- GType g_define_type_id = \
- g_type_register_static_simple (ATK_TYPE_OBJECT_FACTORY, \
- g_intern_static_string (#TypeName "Factory"), \
- sizeof (AtkObjectFactoryClass), \
- (GClassInitFunc) type_name##_factory_class_init, \
- sizeof (AtkObjectFactory), \
- (GInstanceInitFunc) NULL, \
- (GTypeFlags) 0); \
- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
- } \
- return g_define_type_id__volatile; \
-}
-
-/* Implements a AtkObjectFactory creating accessibles of type
- * @GAIL_TYPE for objects of type @TYPE.
- */
-#define GAIL_IMPLEMENT_FACTORY(GAIL_TYPE, TypeName, type_name, TYPE) \
-_GAIL_IMPLEMENT_FACTORY_BEGIN (GAIL_TYPE, TypeName, type_name) \
-_GAIL_IMPLEMENT_FACTORY_CREATE_ACCESSIBLE (GAIL_TYPE, TYPE) \
-_GAIL_IMPLEMENT_FACTORY_END (GAIL_TYPE, TypeName, type_name)
-
-/* Implements a AtkObjectFactory creating accessibles of type
- * @GAIL_TYPE with creation func @create_accessible.
- */
-#define GAIL_IMPLEMENT_FACTORY_WITH_FUNC(GAIL_TYPE, TypeName, type_name, create_accessible) \
-_GAIL_IMPLEMENT_FACTORY_BEGIN (GAIL_TYPE, TypeName, type_name) \
-{ return create_accessible (GTK_WIDGET (object)); } \
-_GAIL_IMPLEMENT_FACTORY_END (GAIL_TYPE, TypeName, type_name)
-
-#define GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY(GAIL_TYPE, TypeName, type_name, TYPE, create_accessible) \
-_GAIL_IMPLEMENT_FACTORY_BEGIN (GAIL_TYPE, TypeName, type_name) \
-{ \
- g_return_val_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (object, TYPE), NULL);\
- return create_accessible (); \
-} \
-_GAIL_IMPLEMENT_FACTORY_END (GAIL_TYPE, TypeName, type_name)
-
-#define GAIL_WIDGET_SET_FACTORY(widget_type, type_as_function) \
- atk_registry_set_factory_type (atk_get_default_registry (), \
- widget_type, \
- type_as_function ## _factory_get_type ())
-
-#endif /* _GAIL_FACTORY_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include "gailframe.h"
-
-static void gail_frame_class_init (GailFrameClass *klass);
-static void gail_frame_init (GailFrame *frame);
-static void gail_frame_initialize (AtkObject *accessible,
- gpointer data);
-static const gchar* gail_frame_get_name (AtkObject *obj);
-
-G_DEFINE_TYPE (GailFrame, gail_frame, GAIL_TYPE_CONTAINER)
-
-static void
-gail_frame_class_init (GailFrameClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->initialize = gail_frame_initialize;
- class->get_name = gail_frame_get_name;
-}
-
-static void
-gail_frame_init (GailFrame *frame)
-{
-}
-
-static void
-gail_frame_initialize (AtkObject *accessible,
- gpointer data)
-{
- ATK_OBJECT_CLASS (gail_frame_parent_class)->initialize (accessible, data);
-
- accessible->role = ATK_ROLE_PANEL;
-}
-
-static const gchar*
-gail_frame_get_name (AtkObject *obj)
-{
- const gchar *name;
- g_return_val_if_fail (GAIL_IS_FRAME (obj), NULL);
-
- name = ATK_OBJECT_CLASS (gail_frame_parent_class)->get_name (obj);
- if (name != NULL)
- {
- return name;
- }
- else
- {
- /*
- * Get the text on the label
- */
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- {
- /*
- * State is defunct
- */
- return NULL;
- }
- return gtk_frame_get_label (GTK_FRAME (widget));
- }
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_FRAME_H__
-#define __GAIL_FRAME_H__
-
-#include <gail/gailcontainer.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_FRAME (gail_frame_get_type ())
-#define GAIL_FRAME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_FRAME, GailFrame))
-#define GAIL_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_FRAME, GailFrameClass))
-#define GAIL_IS_FRAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_FRAME))
-#define GAIL_IS_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_FRAME))
-#define GAIL_FRAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_FRAME, GailFrameClass))
-
-typedef struct _GailFrame GailFrame;
-typedef struct _GailFrameClass GailFrameClass;
-
-struct _GailFrame
-{
- GailContainer parent;
-};
-
-GType gail_frame_get_type (void);
-
-struct _GailFrameClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_FRAME_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailhtmlbox.h"
-#include "gailhtmlview.h"
-#include <libgtkhtml/layout/htmlbox.h>
-
-static void gail_html_box_class_init (GailHtmlBoxClass *klass);
-static void gail_html_box_initialize (AtkObject *obj,
- gpointer data);
-static gint gail_html_box_get_index_in_parent (AtkObject *obj);
-static AtkStateSet* gail_html_box_ref_state_set (AtkObject *obj);
-
-static void gail_html_box_component_interface_init (AtkComponentIface *iface);
-static guint gail_html_box_add_focus_handler (AtkComponent *component,
- AtkFocusHandler handler);
-static void gail_html_box_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type);
-static gboolean gail_html_box_grab_focus (AtkComponent *component);
-static void gail_html_box_remove_focus_handler (AtkComponent *component,
- guint handler_id);
-
-G_DEFINE_TYPE_WITH_CODE (GailHtmlBox, gail_html_box, ATK_TYPE_GOBJECT,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, gail_html_box_component_interface_init))
-
-static void
-gail_html_box_class_init (GailHtmlBoxClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->get_index_in_parent = gail_html_box_get_index_in_parent;
- class->ref_state_set = gail_html_box_ref_state_set;
- class->initialize = gail_html_box_initialize;
-}
-
-static void
-gail_html_box_initialize (AtkObject *obj,
- gpointer data)
-{
- HtmlBox *box;
-
- ATK_OBJECT_CLASS (gail_html_box_parent_class)->initialize (obj, data);
-
- obj->role = ATK_ROLE_UNKNOWN;
-
- box = HTML_BOX (data);
-
- /*
- * We do not set the parent here for the root node of a HtmlView
- */
- if (box->parent)
- {
- atk_object_set_parent (obj,
- atk_gobject_get_accessible (G_OBJECT (box->parent)));
- }
-}
-
-static gint
-gail_html_box_get_index_in_parent (AtkObject *obj)
-{
- AtkObject *parent;
- AtkGObject *atk_gobj;
- HtmlBox *box;
- HtmlBox *parent_box;
- gint n_children = 0;
- GObject *g_obj;
-
- g_return_val_if_fail (GAIL_IS_HTML_BOX (obj), -1);
-
- atk_gobj = ATK_GOBJECT (obj);
- g_obj = atk_gobject_get_object (atk_gobj);
- if (g_obj == NULL)
- return -1;
-
- g_return_val_if_fail (HTML_IS_BOX (g_obj), -1);
- box = HTML_BOX (g_obj);
- parent = atk_object_get_parent (obj);
- if (GAIL_IS_HTML_VIEW (parent))
- {
- return 0;
- }
- else if (ATK_IS_GOBJECT (parent))
- {
- parent_box = HTML_BOX (atk_gobject_get_object (ATK_GOBJECT (parent)));
- }
- else
- {
- g_assert_not_reached ();
- return -1;
- }
-
- if (parent_box)
- {
- HtmlBox *child;
-
- child = parent_box->children;
-
- while (child)
- {
- if (child == box)
- return n_children;
-
- n_children++;
- child = child->next;
- }
- }
- return -1;
-}
-
-static AtkStateSet*
-gail_html_box_ref_state_set (AtkObject *obj)
-{
- AtkGObject *atk_gobj;
- GObject *g_obj;
- AtkStateSet *state_set;
-
- g_return_val_if_fail (GAIL_IS_HTML_BOX (obj), NULL);
- atk_gobj = ATK_GOBJECT (obj);
- state_set = ATK_OBJECT_CLASS (gail_html_box_parent_class)->ref_state_set (obj);
-
- g_obj = atk_gobject_get_object (atk_gobj);
- if (g_obj == NULL)
- {
- /* Object is defunct */
- atk_state_set_add_state (state_set, ATK_STATE_DEFUNCT);
- }
- else
- {
- HtmlBox *box;
-
- box = HTML_BOX (g_obj);
-
- if (HTML_BOX_GET_STYLE (box)->display != HTML_DISPLAY_NONE)
- {
- atk_state_set_add_state (state_set, ATK_STATE_VISIBLE);
- atk_state_set_add_state (state_set, ATK_STATE_SHOWING);
- }
- }
- return state_set;
-}
-
-static void
-gail_html_box_component_interface_init (AtkComponentIface *iface)
-{
- /*
- * Use default implementation for contains and get_position
- */
- iface->contains = NULL;
- iface->get_position = NULL;
- iface->add_focus_handler = gail_html_box_add_focus_handler;
- iface->get_extents = gail_html_box_get_extents;
- iface->get_size = NULL;
- iface->grab_focus = gail_html_box_grab_focus;
- iface->remove_focus_handler = gail_html_box_remove_focus_handler;
- iface->set_extents = NULL;
- iface->set_position = NULL;
- iface->set_size = NULL;
-}
-
-static guint
-gail_html_box_add_focus_handler (AtkComponent *component,
- AtkFocusHandler handler)
-{
- return g_signal_connect_closure (component,
- "focus-event",
- g_cclosure_new (
- G_CALLBACK (handler), NULL,
- (GClosureNotify) NULL),
- FALSE);
-}
-
-static void
-gail_html_box_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
-{
- AtkGObject *atk_gobj;
- HtmlBox *box;
- GObject *g_obj;
-
- g_return_if_fail (GAIL_IS_HTML_BOX (component));
-
- atk_gobj = ATK_GOBJECT (component);
- g_obj = atk_gobject_get_object (atk_gobj);
- if (g_obj == NULL)
- return;
-
- g_return_if_fail (HTML_IS_BOX (g_obj));
- box = HTML_BOX (g_obj);
-
- *x = html_box_get_absolute_x (box);
- *y = html_box_get_absolute_y (box);
- *width = box->width;
- *height = box->height;
-
- g_print ("%d %d %d %d\n",
- html_box_get_absolute_x (box),
- html_box_get_absolute_y (box),
- html_box_get_containing_block_width (box),
- html_box_get_containing_block_height (box));
-}
-
-static gboolean
-gail_html_box_grab_focus (AtkComponent *component)
-{
- return TRUE;
-}
-
-static void
-gail_html_box_remove_focus_handler (AtkComponent *component,
- guint handler_id)
-{
- g_signal_handler_disconnect (ATK_OBJECT (component), handler_id);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_HTML_BOX_H__
-#define __GAIL_HTML_BOX_H__
-
-#include <atk/atk.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_HTML_BOX (gail_html_box_get_type ())
-#define GAIL_HTML_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_HTML_BOX, GailHtmlBox))
-#define GAIL_HTML_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_HTML_BOX, GailHtmlBoxClass))
-#define GAIL_IS_HTML_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_HTML_BOX))
-#define GAIL_IS_HTML_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_HTML_BOX))
-#define GAIL_HTML_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_HTML_BOX, GailHtmlBoxClass))
-
-typedef struct _GailHtmlBox GailHtmlBox;
-typedef struct _GailHtmlBoxClass GailHtmlBoxClass;
-
-struct _GailHtmlBox
-{
- AtkGObject parent;
-};
-
-struct _GailHtmlBoxClass
-{
- AtkGObjectClass parent_class;
-};
-
-GType gail_html_box_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GAIL_HTML_BOX_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <libgtkhtml/gtkhtml.h>
-#include "gailhtmlboxblock.h"
-
-static void gail_html_box_block_class_init (GailHtmlBoxBlockClass *klass);
-static gint gail_html_box_block_get_n_children (AtkObject *obj);
-static AtkObject* gail_html_box_block_ref_child (AtkObject *obj,
- gint i);
-
-G_DEFINE_TYPE (GailHtmlBoxBlock, gail_html_box_block, GAIL_TYPE_HTML_BOX)
-
-AtkObject*
-gail_html_box_block_new (GObject *obj)
-{
- GObject *object;
- AtkObject *atk_object;
-
- g_return_val_if_fail (HTML_IS_BOX_BLOCK (obj), NULL);
- object = g_object_new (GAIL_TYPE_HTML_BOX_BLOCK, NULL);
- atk_object = ATK_OBJECT (object);
- atk_object_initialize (atk_object, obj);
- atk_object->role = ATK_ROLE_PANEL;
- return atk_object;
-}
-
-static void
-gail_html_box_block_class_init (GailHtmlBoxBlockClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->get_n_children = gail_html_box_block_get_n_children;
- class->ref_child = gail_html_box_block_ref_child;
-}
-
-static gint
-gail_html_box_block_get_n_children (AtkObject *obj)
-{
- AtkGObject *atk_gobject;
- HtmlBox *box;
- gint n_children = 0;
- GObject *g_obj;
-
- g_return_val_if_fail (GAIL_IS_HTML_BOX_BLOCK (obj), 0);
- atk_gobject = ATK_GOBJECT (obj);
- g_obj = atk_gobject_get_object (atk_gobject);
- if (g_obj == NULL)
- return 0;
-
- g_return_val_if_fail (HTML_IS_BOX (g_obj), 0);
- box = HTML_BOX (g_obj);
-
- if (box)
- {
- HtmlBox *child;
-
- child = box->children;
-
- while (child)
- {
- n_children++;
- child = child->next;
- }
- }
- return n_children;
-}
-
-static AtkObject *
-gail_html_box_block_ref_child (AtkObject *obj,
- gint i)
-{
- AtkGObject *atk_gobject;
- GObject *g_obj;
- HtmlBox *box;
- AtkObject *atk_child = NULL;
- gint n_children = 0;
-
- g_return_val_if_fail (GAIL_IS_HTML_BOX_BLOCK (obj), NULL);
- atk_gobject = ATK_GOBJECT (obj);
- g_obj = atk_gobject_get_object (atk_gobject);
- if (g_obj == NULL)
- return NULL;
-
- g_return_val_if_fail (HTML_IS_BOX (g_obj), NULL);
- box = HTML_BOX (g_obj);
-
- if (box)
- {
- HtmlBox *child;
-
- child = box->children;
-
- while (child)
- {
- if (n_children == i)
- {
- atk_child = atk_gobject_get_accessible (G_OBJECT (child));
- g_object_ref (atk_child);
- break;
- }
- n_children++;
- child = child->next;
- }
- }
- return atk_child;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <libgtkhtml/gtkhtml.h>
-#include "gailhtmlboxembedded.h"
-
-static void gail_html_box_embedded_class_init (GailHtmlBoxEmbeddedClass *klass);
-static gint gail_html_box_embedded_get_n_children (AtkObject *obj);
-static AtkObject* gail_html_box_embedded_ref_child (AtkObject *obj,
- gint i);
-
-G_DEFINE_TYPE (GailHtmlBoxEmbedded, gail_html_box_embedded, GAIL_TYPE_HTML_BOX)
-
-AtkObject*
-gail_html_box_embedded_new (GObject *obj)
-{
- gpointer object;
- AtkObject *atk_object;
-
- g_return_val_if_fail (HTML_IS_BOX_EMBEDDED (obj), NULL);
- object = g_object_new (GAIL_TYPE_HTML_BOX_EMBEDDED, NULL);
- atk_object = ATK_OBJECT (object);
- atk_object_initialize (atk_object, obj);
- atk_object->role = ATK_ROLE_PANEL;
- return atk_object;
-}
-
-static void
-gail_html_box_embedded_class_init (GailHtmlBoxEmbeddedClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->get_n_children = gail_html_box_embedded_get_n_children;
- class->ref_child = gail_html_box_embedded_ref_child;
-}
-
-static gint
-gail_html_box_embedded_get_n_children (AtkObject *obj)
-{
- AtkGObject *atk_gobject;
- HtmlBoxEmbedded *box_embedded;
- GObject *g_obj;
-
- g_return_val_if_fail (GAIL_IS_HTML_BOX_EMBEDDED (obj), 0);
- atk_gobject = ATK_GOBJECT (obj);
- g_obj = atk_gobject_get_object (atk_gobject);
- if (g_obj == NULL)
- /* State is defunct */
- return 0;
-
- g_return_val_if_fail (HTML_IS_BOX_EMBEDDED (g_obj), 0);
-
- box_embedded = HTML_BOX_EMBEDDED (g_obj);
- g_return_val_if_fail (box_embedded->widget, 0);
- return 1;
-}
-
-static AtkObject*
-gail_html_box_embedded_ref_child (AtkObject *obj,
- gint i)
-{
- AtkGObject *atk_gobject;
- HtmlBoxEmbedded *box_embedded;
- GObject *g_obj;
- AtkObject *atk_child;
-
- g_return_val_if_fail (GAIL_IS_HTML_BOX_EMBEDDED (obj), NULL);
-
- if (i != 0)
- return NULL;
-
- atk_gobject = ATK_GOBJECT (obj);
- g_obj = atk_gobject_get_object (atk_gobject);
- if (g_obj == NULL)
- /* State is defunct */
- return NULL;
-
- g_return_val_if_fail (HTML_IS_BOX_EMBEDDED (g_obj), NULL);
-
- box_embedded = HTML_BOX_EMBEDDED (g_obj);
- g_return_val_if_fail (box_embedded->widget, NULL);
-
- atk_child = gtk_widget_get_accessible (box_embedded->widget);
- g_object_ref (atk_child);
- atk_object_set_parent (atk_child, obj);
- return atk_child;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include "gailhtmlboxtext.h"
-
-static void gail_html_box_text_class_init (GailHtmlBoxTextClass *klass);
-static void gail_html_box_text_text_interface_init (AtkTextIface *iface);
-static gchar* gail_html_box_text_get_text (AtkText *text,
- gint start_offset,
- gint end_offset);
-static gchar* gail_html_box_text_get_text_after_offset
- (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_html_box_text_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_html_box_text_get_text_before_offset
- (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gunichar gail_html_box_text_get_character_at_offset
- (AtkText *text,
- gint offset);
-static gint gail_html_box_text_get_character_count (AtkText *text);
-static gint gail_html_box_text_get_caret_offset (AtkText *text);
-static gboolean gail_html_box_text_set_caret_offset (AtkText *text,
- gint offset);
-static gint gail_html_box_text_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords);
-static void gail_html_box_text_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords);
-static AtkAttributeSet*
- gail_html_box_text_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static AtkAttributeSet*
- gail_html_box_text_get_default_attributes (AtkText *text);
-static gint gail_html_box_text_get_n_selections (AtkText *text);
-static gchar* gail_html_box_text_get_selection (AtkText *text,
- gint selection_num,
- gint *start_pos,
- gint *end_pos);
-static gboolean gail_html_box_text_add_selection (AtkText *text,
- gint start_pos,
- gint end_pos);
-static gboolean gail_html_box_text_remove_selection (AtkText *text,
- gint selection_num);
-static gboolean gail_html_box_text_set_selection (AtkText *text,
- gint selection_num,
- gint start_pos,
- gint end_pos);
-static AtkAttributeSet*
- add_to_attr_set (AtkAttributeSet *attrib_set,
- GtkTextAttributes *attrs,
- AtkTextAttribute attr);
-static gchar* get_text_near_offset (AtkText *text,
- GailOffsetType function,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-
-G_DEFINE_TYPE_WITH_CODE (GailHtmlBoxText, gail_html_box_text, GAIL_TYPE_HTML_BOX,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, gail_html_box_text_text_interface_init))
-
-AtkObject*
-gail_html_box_text_new (GObject *obj)
-{
- gpointer object;
- AtkObject *atk_object;
- GailHtmlBoxText *gail_text;
-
- g_return_val_if_fail (HTML_IS_BOX_TEXT (obj), NULL);
- object = g_object_new (GAIL_TYPE_HTML_BOX_TEXT, NULL);
- atk_object = ATK_OBJECT (object);
- gail_text = GAIL_HTML_BOX_TEXT (object);
-
- atk_object_initialize (atk_object, obj);
- gail_text->texthelper = gail_text_helper_new ();
-#if 0
- gail_text_helper_text_setup (gail_text->texthelper,
- HTML_BOX_TEXT (obj)->master->text);
-#endif
-
- atk_object->role = ATK_ROLE_TEXT;
- return atk_object;
-}
-
-static void
-gail_html_box_text_class_init (GailHtmlBoxTextClass *klass)
-{
-}
-
-static void
-gail_html_box_text_text_interface_init (AtkTextIface *iface)
-{
- iface->get_text = gail_html_box_text_get_text;
- iface->get_text_after_offset = gail_html_box_text_get_text_after_offset;
- iface->get_text_at_offset = gail_html_box_text_get_text_at_offset;
- iface->get_text_before_offset = gail_html_box_text_get_text_before_offset;
- iface->get_character_at_offset = gail_html_box_text_get_character_at_offset;
- iface->get_character_count = gail_html_box_text_get_character_count;
- iface->get_caret_offset = gail_html_box_text_get_caret_offset;
- iface->set_caret_offset = gail_html_box_text_set_caret_offset;
- iface->get_offset_at_point = gail_html_box_text_get_offset_at_point;
- iface->get_character_extents = gail_html_box_text_get_character_extents;
- iface->get_n_selections = gail_html_box_text_get_n_selections;
- iface->get_selection = gail_html_box_text_get_selection;
- iface->add_selection = gail_html_box_text_add_selection;
- iface->remove_selection = gail_html_box_text_remove_selection;
- iface->set_selection = gail_html_box_text_set_selection;
- iface->get_run_attributes = gail_html_box_text_get_run_attributes;
- iface->get_default_attributes = gail_html_box_text_get_default_attributes;
-}
-
-static gchar*
-gail_html_box_text_get_text (AtkText *text,
- gint start_offset,
- gint end_offset)
-{
- GailHtmlBoxText *gail_text;
- GtkTextBuffer *buffer;
- GtkTextIter start, end;
-
- g_return_val_if_fail (GAIL_IS_HTML_BOX_TEXT (text), NULL);
- gail_text = GAIL_HTML_BOX_TEXT (text);
- g_return_val_if_fail (gail_text->texthelper, NULL);
-
- buffer = gail_text->texthelper->buffer;
- gtk_text_buffer_get_iter_at_offset (buffer, &start, start_offset);
- gtk_text_buffer_get_iter_at_offset (buffer, &end, end_offset);
-
- return gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
-}
-
-static gchar*
-gail_html_box_text_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- return get_text_near_offset (text, GAIL_AFTER_OFFSET,
- boundary_type, offset,
- start_offset, end_offset);
-}
-
-static gchar*
-gail_html_box_text_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- return get_text_near_offset (text, GAIL_AT_OFFSET,
- boundary_type, offset,
- start_offset, end_offset);
-}
-
-static gchar*
-gail_html_box_text_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- return get_text_near_offset (text, GAIL_BEFORE_OFFSET,
- boundary_type, offset,
- start_offset, end_offset);
-}
-
-static gunichar
-gail_html_box_text_get_character_at_offset (AtkText *text,
- gint offset)
-{
- GailHtmlBoxText *gail_item;
- GtkTextIter start, end;
- GtkTextBuffer *buffer;
- gchar *string;
- gchar *index;
-
- g_return_val_if_fail (GAIL_IS_HTML_BOX_TEXT (text), 0);
- gail_item = GAIL_HTML_BOX_TEXT (text);
- buffer = gail_item->texthelper->buffer;
- gtk_text_buffer_get_start_iter (buffer, &start);
- gtk_text_buffer_get_end_iter (buffer, &end);
- string = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
- index = g_utf8_offset_to_pointer (string, offset);
- g_free (string);
-
- return g_utf8_get_char (index);
-}
-
-static gint
-gail_html_box_text_get_character_count (AtkText *text)
-{
- GtkTextBuffer *buffer;
- GailHtmlBoxText *gail_text;
-
- g_return_val_if_fail (GAIL_IS_HTML_BOX_TEXT (text), 0);
- gail_text = GAIL_HTML_BOX_TEXT (text);
- g_return_val_if_fail (gail_text->texthelper, 0);
- buffer = gail_text->texthelper->buffer;
- return gtk_text_buffer_get_char_count (buffer);
-}
-
-static gint
-gail_html_box_text_get_caret_offset (AtkText *text)
-{
- GailHtmlBoxText *gail_text;
- GtkTextBuffer *buffer;
- GtkTextMark *cursor_mark;
- GtkTextIter cursor_itr;
-
- g_return_val_if_fail (GAIL_IS_HTML_BOX_TEXT (text), 0);
- gail_text = GAIL_HTML_BOX_TEXT (text);
- g_return_val_if_fail (gail_text->texthelper, 0);
- buffer = gail_text->texthelper->buffer;
- cursor_mark = gtk_text_buffer_get_insert (buffer);
- gtk_text_buffer_get_iter_at_mark (buffer, &cursor_itr, cursor_mark);
- return gtk_text_iter_get_offset (&cursor_itr);
-}
-
-static gboolean
-gail_html_box_text_set_caret_offset (AtkText *text,
- gint offset)
-{
- GailHtmlBoxText *gail_text;
- GtkTextBuffer *buffer;
- GtkTextIter pos_itr;
-
- g_return_val_if_fail (GAIL_IS_HTML_BOX_TEXT (text), FALSE);
- gail_text = GAIL_HTML_BOX_TEXT (text);
- g_return_val_if_fail (gail_text->texthelper, FALSE);
- buffer = gail_text->texthelper->buffer;
- gtk_text_buffer_get_iter_at_offset (buffer, &pos_itr, offset);
- gtk_text_buffer_move_mark_by_name (buffer, "insert", &pos_itr);
- return TRUE;
-}
-
-static gint
-gail_html_box_text_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- return -1;
-}
-
-static void
-gail_html_box_text_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- return;
-}
-
-static AtkAttributeSet*
-gail_html_box_text_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- return NULL;
-}
-
-static AtkAttributeSet*
-gail_html_box_text_get_default_attributes (AtkText *text)
-{
- return NULL;
-}
-
-static gint
-gail_html_box_text_get_n_selections (AtkText *text)
-{
- return 0;
-}
-
-static gchar*
-gail_html_box_text_get_selection (AtkText *text,
- gint selection_num,
- gint *start_pos,
- gint *end_pos)
-{
- return NULL;
-}
-
-static gboolean
-gail_html_box_text_add_selection (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- return FALSE;
-}
-
-static gboolean
-gail_html_box_text_remove_selection (AtkText *text,
- gint selection_num)
-{
- return FALSE;
-}
-
-static gboolean
-gail_html_box_text_set_selection (AtkText *text,
- gint selection_num,
- gint start_pos,
- gint end_pos)
-{
- return FALSE;
-}
-
-static AtkAttributeSet*
-add_to_attr_set (AtkAttributeSet *attrib_set,
- GtkTextAttributes *attrs,
- AtkTextAttribute attr)
-{
- gchar *value;
-
- switch (attr)
- {
- case ATK_TEXT_ATTR_LEFT_MARGIN:
- value = g_strdup_printf ("%i", attrs->left_margin);
- break;
- case ATK_TEXT_ATTR_RIGHT_MARGIN:
- value = g_strdup_printf ("%i", attrs->right_margin);
- break;
- case ATK_TEXT_ATTR_INDENT:
- value = g_strdup_printf ("%i", attrs->indent);
- break;
- case ATK_TEXT_ATTR_INVISIBLE:
- value = g_strdup (atk_text_attribute_get_value (attr, attrs->invisible));
- break;
- case ATK_TEXT_ATTR_EDITABLE:
- value = g_strdup (atk_text_attribute_get_value (attr, attrs->editable));
- break;
- case ATK_TEXT_ATTR_PIXELS_ABOVE_LINES:
- value = g_strdup_printf ("%i", attrs->pixels_above_lines);
- break;
- case ATK_TEXT_ATTR_PIXELS_BELOW_LINES:
- value = g_strdup_printf ("%i", attrs->pixels_below_lines);
- break;
- case ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP:
- value = g_strdup_printf ("%i", attrs->pixels_inside_wrap);
- break;
- case ATK_TEXT_ATTR_BG_FULL_HEIGHT:
- value = g_strdup (atk_text_attribute_get_value (attr, attrs->bg_full_height));
- break;
- case ATK_TEXT_ATTR_RISE:
- value = g_strdup_printf ("%i", attrs->appearance.rise);
- break;
- case ATK_TEXT_ATTR_UNDERLINE:
- value = g_strdup (atk_text_attribute_get_value (attr, attrs->appearance.underline));
- break;
- case ATK_TEXT_ATTR_STRIKETHROUGH:
- value = g_strdup (atk_text_attribute_get_value (attr, attrs->appearance.strikethrough));
- break;
- case ATK_TEXT_ATTR_SIZE:
- value = g_strdup_printf ("%i",
- pango_font_description_get_size (attrs->font));
- break;
- case ATK_TEXT_ATTR_SCALE:
- value = g_strdup_printf ("%g", attrs->font_scale);
- break;
- case ATK_TEXT_ATTR_WEIGHT:
- value = g_strdup_printf ("%d",
- pango_font_description_get_weight (attrs->font));
- break;
- case ATK_TEXT_ATTR_LANGUAGE:
- value = g_strdup ((gchar *)(attrs->language));
- break;
- case ATK_TEXT_ATTR_FAMILY_NAME:
- value = g_strdup (pango_font_description_get_family (attrs->font));
- break;
- case ATK_TEXT_ATTR_BG_COLOR:
- value = g_strdup_printf ("%u,%u,%u",
- attrs->appearance.bg_color.red,
- attrs->appearance.bg_color.green,
- attrs->appearance.bg_color.blue);
- break;
- case ATK_TEXT_ATTR_FG_COLOR:
- value = g_strdup_printf ("%u,%u,%u",
- attrs->appearance.fg_color.red,
- attrs->appearance.fg_color.green,
- attrs->appearance.fg_color.blue);
- break;
- case ATK_TEXT_ATTR_BG_STIPPLE:
- value = g_strdup (atk_text_attribute_get_value (attr, attrs->appearance.bg_stipple ? 1 : 0));
- break;
- case ATK_TEXT_ATTR_FG_STIPPLE:
- value = g_strdup (atk_text_attribute_get_value (attr, attrs->appearance.fg_stipple ? 1 : 0));
- break;
- case ATK_TEXT_ATTR_WRAP_MODE:
- value = g_strdup (atk_text_attribute_get_value (attr, attrs->wrap_mode));
- break;
- case ATK_TEXT_ATTR_DIRECTION:
- value = g_strdup (atk_text_attribute_get_value (attr, attrs->direction));
- break;
- case ATK_TEXT_ATTR_JUSTIFICATION:
- value = g_strdup (atk_text_attribute_get_value (attr, attrs->justification));
- break;
- case ATK_TEXT_ATTR_STRETCH:
- value = g_strdup (atk_text_attribute_get_value (attr,
- pango_font_description_get_stretch (attrs->font)));
- break;
- case ATK_TEXT_ATTR_VARIANT:
- value = g_strdup (atk_text_attribute_get_value (attr,
- pango_font_description_get_variant (attrs->font)));
- break;
- case ATK_TEXT_ATTR_STYLE:
- value = g_strdup (atk_text_attribute_get_value (attr,
- pango_font_description_get_style (attrs->font)));
- break;
- default:
- value = NULL;
- break;
- }
- return gail_text_helper_add_attribute (attrib_set,
- attr,
- value);
-}
-
-static gchar*
-get_text_near_offset (AtkText *text,
- GailOffsetType function,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- return gail_text_helper_get_text (GAIL_HTML_BOX_TEXT (text)->texthelper, NULL,
- function, boundary_type, offset,
- start_offset, end_offset);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include "gailimage.h"
-
-static void gail_image_class_init (GailImageClass *klass);
-static void gail_image_init (GailImage *image);
-static void gail_image_initialize (AtkObject *accessible,
- gpointer data);
-static const gchar* gail_image_get_name (AtkObject *accessible);
-
-
-static void atk_image_interface_init (AtkImageIface *iface);
-
-static const gchar *
- gail_image_get_image_description (AtkImage *image);
-static void gail_image_get_image_position (AtkImage *image,
- gint *x,
- gint *y,
- AtkCoordType coord_type);
-static void gail_image_get_image_size (AtkImage *image,
- gint *width,
- gint *height);
-static gboolean gail_image_set_image_description (AtkImage *image,
- const gchar *description);
-static void gail_image_finalize (GObject *object);
-
-G_DEFINE_TYPE_WITH_CODE (GailImage, gail_image, GAIL_TYPE_WIDGET,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init))
-
-static void
-gail_image_class_init (GailImageClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- gobject_class->finalize = gail_image_finalize;
- class->initialize = gail_image_initialize;
- class->get_name = gail_image_get_name;
-}
-
-static void
-gail_image_init (GailImage *image)
-{
- image->image_description = NULL;
-}
-
-static void
-gail_image_initialize (AtkObject *accessible,
- gpointer data)
-{
- ATK_OBJECT_CLASS (gail_image_parent_class)->initialize (accessible, data);
-
- accessible->role = ATK_ROLE_ICON;
-}
-
-/* Copied from gtktoolbar.c, keep in sync */
-static gchar *
-elide_underscores (const gchar *original)
-{
- gchar *q, *result;
- const gchar *p, *end;
- gsize len;
- gboolean last_underscore;
-
- if (!original)
- return NULL;
-
- len = strlen (original);
- q = result = g_malloc (len + 1);
- last_underscore = FALSE;
-
- end = original + len;
- for (p = original; p < end; p++)
- {
- if (!last_underscore && *p == '_')
- last_underscore = TRUE;
- else
- {
- last_underscore = FALSE;
- if (original + 2 <= p && p + 1 <= end &&
- p[-2] == '(' && p[-1] == '_' && p[0] != '_' && p[1] == ')')
- {
- q--;
- *q = '\0';
- p++;
- }
- else
- *q++ = *p;
- }
- }
-
- if (last_underscore)
- *q++ = '_';
-
- *q = '\0';
-
- return result;
-}
-
-static const gchar*
-gail_image_get_name (AtkObject *accessible)
-{
- GtkWidget* widget;
- GtkImage *image;
- GailImage *image_accessible;
- GtkStockItem stock_item;
- gchar *stock_id;
- const gchar *name;
-
- name = ATK_OBJECT_CLASS (gail_image_parent_class)->get_name (accessible);
- if (name)
- return name;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- /*
- * State is defunct
- */
- if (widget == NULL)
- return NULL;
-
- g_return_val_if_fail (GTK_IS_IMAGE (widget), NULL);
- image = GTK_IMAGE (widget);
- image_accessible = GAIL_IMAGE (accessible);
-
- g_free (image_accessible->stock_name);
- image_accessible->stock_name = NULL;
-
- if (gtk_image_get_storage_type (image) != GTK_IMAGE_STOCK)
- return NULL;
-
- gtk_image_get_stock (image, &stock_id, NULL);
- if (stock_id == NULL)
- return NULL;
-
- if (!gtk_stock_lookup (stock_id, &stock_item))
- return NULL;
-
- image_accessible->stock_name = elide_underscores (stock_item.label);
- return image_accessible->stock_name;
-}
-
-static void
-atk_image_interface_init (AtkImageIface *iface)
-{
- iface->get_image_description = gail_image_get_image_description;
- iface->get_image_position = gail_image_get_image_position;
- iface->get_image_size = gail_image_get_image_size;
- iface->set_image_description = gail_image_set_image_description;
-}
-
-static const gchar *
-gail_image_get_image_description (AtkImage *image)
-{
- GailImage* aimage = GAIL_IMAGE (image);
-
- return aimage->image_description;
-}
-
-static void
-gail_image_get_image_position (AtkImage *image,
- gint *x,
- gint *y,
- AtkCoordType coord_type)
-{
- atk_component_get_position (ATK_COMPONENT (image), x, y, coord_type);
-}
-
-static void
-gail_image_get_image_size (AtkImage *image,
- gint *width,
- gint *height)
-{
- GtkWidget* widget;
- GtkImage *gtk_image;
- GtkImageType image_type;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image));
- if (widget == 0)
- {
- /* State is defunct */
- *height = -1;
- *width = -1;
- return;
- }
-
- gtk_image = GTK_IMAGE(widget);
-
- image_type = gtk_image_get_storage_type(gtk_image);
-
- switch(image_type) {
- case GTK_IMAGE_PIXBUF:
- {
- GdkPixbuf *pixbuf;
- pixbuf = gtk_image_get_pixbuf(gtk_image);
- *height = gdk_pixbuf_get_height(pixbuf);
- *width = gdk_pixbuf_get_width(pixbuf);
- break;
- }
- case GTK_IMAGE_STOCK:
- case GTK_IMAGE_ICON_SET:
- case GTK_IMAGE_ICON_NAME:
- case GTK_IMAGE_GICON:
- {
- GtkIconSize size;
- GtkSettings *settings;
-
- settings = gtk_settings_get_for_screen (gtk_widget_get_screen (widget));
-
- g_object_get (gtk_image, "icon-size", &size, NULL);
- gtk_icon_size_lookup_for_settings (settings, size, width, height);
- break;
- }
- case GTK_IMAGE_ANIMATION:
- {
- GdkPixbufAnimation *animation;
- animation = gtk_image_get_animation(gtk_image);
- *height = gdk_pixbuf_animation_get_height(animation);
- *width = gdk_pixbuf_animation_get_width(animation);
- break;
- }
- default:
- {
- *height = -1;
- *width = -1;
- break;
- }
- }
-}
-
-static gboolean
-gail_image_set_image_description (AtkImage *image,
- const gchar *description)
-{
- GailImage* aimage = GAIL_IMAGE (image);
-
- g_free (aimage->image_description);
- aimage->image_description = g_strdup (description);
- return TRUE;
-}
-
-static void
-gail_image_finalize (GObject *object)
-{
- GailImage *aimage = GAIL_IMAGE (object);
-
- g_free (aimage->image_description);
- g_free (aimage->stock_name);
-
- G_OBJECT_CLASS (gail_image_parent_class)->finalize (object);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_IMAGE_H__
-#define __GAIL_IMAGE_H__
-
-#include <gail/gailwidget.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_IMAGE (gail_image_get_type ())
-#define GAIL_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_IMAGE, GailImage))
-#define GAIL_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_IMAGE, GailImageClass))
-#define GAIL_IS_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_IMAGE))
-#define GAIL_IS_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_IMAGE))
-#define GAIL_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_IMAGE, GailImageClass))
-
-typedef struct _GailImage GailImage;
-typedef struct _GailImageClass GailImageClass;
-
-struct _GailImage
-{
- GailWidget parent;
-
- gchar* image_description;
- gchar* stock_name;
-};
-
-GType gail_image_get_type (void);
-
-struct _GailImageClass
-{
- GailWidgetClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_IMAGE_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailimagecell.h"
-
-static void gail_image_cell_class_init (GailImageCellClass *klass);
-static void gail_image_cell_init (GailImageCell *image_cell);
-
-static void gail_image_cell_finalize (GObject *object);
-
-/* AtkImage */
-static void atk_image_interface_init (AtkImageIface *iface);
-static const gchar *
- gail_image_cell_get_image_description (AtkImage *image);
-static gboolean gail_image_cell_set_image_description (AtkImage *image,
- const gchar *description);
-static void gail_image_cell_get_image_position (AtkImage *image,
- gint *x,
- gint *y,
- AtkCoordType coord_type);
-static void gail_image_cell_get_image_size (AtkImage *image,
- gint *width,
- gint *height);
-
-/* Misc */
-
-static gboolean gail_image_cell_update_cache (GailRendererCell *cell,
- gboolean emit_change_signal);
-
-// FIXMEchpe static!!!
-gchar *gail_image_cell_property_list[] = {
- "pixbuf",
- NULL
-};
-
-G_DEFINE_TYPE_WITH_CODE (GailImageCell, gail_image_cell, GAIL_TYPE_RENDERER_CELL,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init))
-
-static void
-gail_image_cell_class_init (GailImageCellClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- GailRendererCellClass *renderer_cell_class = GAIL_RENDERER_CELL_CLASS(klass);
-
- gobject_class->finalize = gail_image_cell_finalize;
-
- renderer_cell_class->update_cache = gail_image_cell_update_cache;
- renderer_cell_class->property_list = gail_image_cell_property_list;
-}
-
-AtkObject*
-gail_image_cell_new (void)
-{
- GObject *object;
- AtkObject *atk_object;
- GailRendererCell *cell;
-
- object = g_object_new (GAIL_TYPE_IMAGE_CELL, NULL);
-
- g_return_val_if_fail (object != NULL, NULL);
-
- atk_object = ATK_OBJECT (object);
- atk_object->role = ATK_ROLE_TABLE_CELL;
-
- cell = GAIL_RENDERER_CELL(object);
-
- cell->renderer = gtk_cell_renderer_pixbuf_new ();
- g_object_ref_sink (cell->renderer);
- return atk_object;
-}
-
-static void
-gail_image_cell_init (GailImageCell *image_cell)
-{
- image_cell->image_description = NULL;
-}
-
-
-static void
-gail_image_cell_finalize (GObject *object)
-{
- GailImageCell *image_cell = GAIL_IMAGE_CELL (object);
-
- g_free (image_cell->image_description);
- G_OBJECT_CLASS (gail_image_cell_parent_class)->finalize (object);
-}
-
-static gboolean
-gail_image_cell_update_cache (GailRendererCell *cell,
- gboolean emit_change_signal)
-{
- return FALSE;
-}
-
-static void
-atk_image_interface_init (AtkImageIface *iface)
-{
- iface->get_image_description = gail_image_cell_get_image_description;
- iface->set_image_description = gail_image_cell_set_image_description;
- iface->get_image_position = gail_image_cell_get_image_position;
- iface->get_image_size = gail_image_cell_get_image_size;
-}
-
-static const gchar *
-gail_image_cell_get_image_description (AtkImage *image)
-{
- GailImageCell *image_cell;
-
- image_cell = GAIL_IMAGE_CELL (image);
- return image_cell->image_description;
-}
-
-static gboolean
-gail_image_cell_set_image_description (AtkImage *image,
- const gchar *description)
-{
- GailImageCell *image_cell;
-
- image_cell = GAIL_IMAGE_CELL (image);
- g_free (image_cell->image_description);
- image_cell->image_description = g_strdup (description);
- if (image_cell->image_description)
- return TRUE;
- else
- return FALSE;
-}
-
-static void
-gail_image_cell_get_image_position (AtkImage *image,
- gint *x,
- gint *y,
- AtkCoordType coord_type)
-{
- atk_component_get_position (ATK_COMPONENT (image), x, y, coord_type);
-}
-
-static void
-gail_image_cell_get_image_size (AtkImage *image,
- gint *width,
- gint *height)
-{
- GailImageCell *cell = GAIL_IMAGE_CELL (image);
- GtkCellRenderer *cell_renderer;
- GdkPixbuf *pixbuf;
-
- cell_renderer = GAIL_RENDERER_CELL (cell)->renderer;
- g_object_get (GTK_CELL_RENDERER_PIXBUF (cell_renderer), "pixbuf", &pixbuf, NULL);
-
- *width = gdk_pixbuf_get_width (pixbuf);
- *height = gdk_pixbuf_get_height (pixbuf);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_IMAGE_CELL_H__
-#define __GAIL_IMAGE_CELL_H__
-
-#include <atk/atk.h>
-#include <gail/gailrenderercell.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_IMAGE_CELL (gail_image_cell_get_type ())
-#define GAIL_IMAGE_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_IMAGE_CELL, GailImageCell))
-#define GAIL_IMAGE_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_IMAGE_CELL, GailImageCellClass))
-#define GAIL_IS_IMAGE_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_IMAGE_CELL))
-#define GAIL_IS_IMAGE_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_IMAGE_CELL))78
-#define GAIL_IMAGE_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_IMAGE_CELL, GailImageCellClass))
-
-typedef struct _GailImageCell GailImageCell;
-typedef struct _GailImageCellClass GailImageCellClass;
-
-struct _GailImageCell
-{
- GailRendererCell parent;
-
- gchar *image_description;
- gint x, y;
-};
-
-GType gail_image_cell_get_type (void);
-
-struct _GailImageCellClass
-{
- GailRendererCellClass parent_class;
-};
-
-AtkObject *gail_image_cell_new (void);
-
-G_END_DECLS
-
-#endif /* __GAIL_TREE_VIEW_IMAGE_CELL_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-
-#include <gtk/gtk.h>
-#include "gaillabel.h"
-#include "gailwindow.h"
-#include <libgail-util/gailmisc.h>
-
-static void gail_label_class_init (GailLabelClass *klass);
-static void gail_label_init (GailLabel *label);
-static void gail_label_real_initialize (AtkObject *obj,
- gpointer data);
-static void gail_label_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-static void gail_label_map_gtk (GtkWidget *widget,
- gpointer data);
-static void gail_label_init_text_util (GailLabel *gail_label,
- GtkWidget *widget);
-static void gail_label_finalize (GObject *object);
-
-static void atk_text_interface_init (AtkTextIface *iface);
-
-/* atkobject.h */
-
-static const gchar* gail_label_get_name (AtkObject *accessible);
-static AtkStateSet* gail_label_ref_state_set (AtkObject *accessible);
-static AtkRelationSet* gail_label_ref_relation_set (AtkObject *accessible);
-
-/* atktext.h */
-
-static gchar* gail_label_get_text (AtkText *text,
- gint start_pos,
- gint end_pos);
-static gunichar gail_label_get_character_at_offset(AtkText *text,
- gint offset);
-static gchar* gail_label_get_text_before_offset(AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_label_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_label_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gint gail_label_get_character_count (AtkText *text);
-static gint gail_label_get_caret_offset (AtkText *text);
-static gboolean gail_label_set_caret_offset (AtkText *text,
- gint offset);
-static gint gail_label_get_n_selections (AtkText *text);
-static gchar* gail_label_get_selection (AtkText *text,
- gint selection_num,
- gint *start_offset,
- gint *end_offset);
-static gboolean gail_label_add_selection (AtkText *text,
- gint start_offset,
- gint end_offset);
-static gboolean gail_label_remove_selection (AtkText *text,
- gint selection_num);
-static gboolean gail_label_set_selection (AtkText *text,
- gint selection_num,
- gint start_offset,
- gint end_offset);
-static void gail_label_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords);
-static gint gail_label_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords);
-static AtkAttributeSet* gail_label_get_run_attributes
- (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static AtkAttributeSet* gail_label_get_default_attributes
- (AtkText *text);
-
-G_DEFINE_TYPE_WITH_CODE (GailLabel, gail_label, GAIL_TYPE_WIDGET,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
-
-static void
-gail_label_class_init (GailLabelClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GailWidgetClass *widget_class;
-
- gobject_class->finalize = gail_label_finalize;
-
- widget_class = (GailWidgetClass*)klass;
- widget_class->notify_gtk = gail_label_real_notify_gtk;
-
- class->get_name = gail_label_get_name;
- class->ref_state_set = gail_label_ref_state_set;
- class->ref_relation_set = gail_label_ref_relation_set;
- class->initialize = gail_label_real_initialize;
-}
-
-static void
-gail_label_init (GailLabel *label)
-{
-}
-
-static void
-gail_label_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GtkWidget *widget;
- GailLabel *gail_label;
-
- ATK_OBJECT_CLASS (gail_label_parent_class)->initialize (obj, data);
-
- gail_label = GAIL_LABEL (obj);
-
- gail_label->window_create_handler = 0;
- gail_label->has_top_level = FALSE;
- gail_label->cursor_position = 0;
- gail_label->selection_bound = 0;
- gail_label->textutil = NULL;
- gail_label->label_length = 0;
-
- widget = GTK_WIDGET (data);
-
- if (gtk_widget_get_mapped (widget))
- gail_label_init_text_util (gail_label, widget);
- else
- g_signal_connect (widget,
- "map",
- G_CALLBACK (gail_label_map_gtk),
- gail_label);
-
- /*
- * Check whether ancestor of GtkLabel is a GtkButton and if so
- * set accessible parent for GailLabel
- */
- while (widget != NULL)
- {
- widget = gtk_widget_get_parent (widget);
- if (GTK_IS_BUTTON (widget))
- {
- atk_object_set_parent (obj, gtk_widget_get_accessible (widget));
- break;
- }
- }
-
- if (GTK_IS_ACCEL_LABEL (widget))
- obj->role = ATK_ROLE_ACCEL_LABEL;
- else
- obj->role = ATK_ROLE_LABEL;
-}
-
-static void
-gail_label_map_gtk (GtkWidget *widget,
- gpointer data)
-{
- GailLabel *gail_label;
-
- gail_label = GAIL_LABEL (data);
- gail_label_init_text_util (gail_label, widget);
-}
-
-static void
-gail_label_init_text_util (GailLabel *gail_label,
- GtkWidget *widget)
-{
- GtkLabel *label;
- const gchar *label_text;
-
- if (gail_label->textutil == NULL)
- gail_label->textutil = gail_text_util_new ();
-
- label = GTK_LABEL (widget);
- label_text = gtk_label_get_text (label);
- gail_text_util_text_setup (gail_label->textutil, label_text);
-
- if (label_text == NULL)
- gail_label->label_length = 0;
- else
- gail_label->label_length = g_utf8_strlen (label_text, -1);
-}
-
-static void
-notify_name_change (AtkObject *atk_obj)
-{
- GtkLabel *label;
- GailLabel *gail_label;
- GtkWidget *widget;
- GObject *gail_obj;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return;
-
- gail_obj = G_OBJECT (atk_obj);
- label = GTK_LABEL (widget);
- gail_label = GAIL_LABEL (atk_obj);
-
- if (gail_label->textutil == NULL)
- return;
-
- /*
- * Check whether the label has actually changed before emitting
- * notification.
- */
- if (gail_label->textutil->buffer)
- {
- GtkTextIter start, end;
- const char *new_label;
- char *old_label;
- int same;
-
- gtk_text_buffer_get_start_iter (gail_label->textutil->buffer, &start);
- gtk_text_buffer_get_end_iter (gail_label->textutil->buffer, &end);
- old_label = gtk_text_buffer_get_text (gail_label->textutil->buffer, &start, &end, FALSE);
- new_label = gtk_label_get_text (label);
- same = strcmp (new_label, old_label);
- g_free (old_label);
- if (same == 0)
- return;
- }
-
- /* Create a delete text and an insert text signal */
-
- g_signal_emit_by_name (gail_obj, "text_changed::delete", 0,
- gail_label->label_length);
-
- gail_label_init_text_util (gail_label, widget);
-
- g_signal_emit_by_name (gail_obj, "text_changed::insert", 0,
- gail_label->label_length);
-
- if (atk_obj->name == NULL)
- /*
- * The label has changed so notify a change in accessible-name
- */
- g_object_notify (gail_obj, "accessible-name");
-
- g_signal_emit_by_name (gail_obj, "visible_data_changed");
-}
-
-static void
-window_created (GObject *obj,
- gpointer data)
-{
- g_return_if_fail (GAIL_LABEL (data));
-
- notify_name_change (ATK_OBJECT (data));
-}
-
-static void
-gail_label_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GtkWidget *widget = GTK_WIDGET (obj);
- AtkObject* atk_obj = gtk_widget_get_accessible (widget);
- GtkLabel *label;
- GailLabel *gail_label;
- GObject *gail_obj;
- AtkObject *top_level;
- AtkObject *temp_obj;
-
- gail_label = GAIL_LABEL (atk_obj);
-
- if (strcmp (pspec->name, "label") == 0)
- {
- /*
- * We may get a label change for a label which is not attached to an
- * application. We wait until the toplevel window is created before
- * emitting the notification.
- *
- * This happens when [Ctrl+]Alt+Tab is pressed in metacity
- */
- if (!gail_label->has_top_level)
- {
- temp_obj = atk_obj;
- top_level = NULL;
- while (temp_obj)
- {
- top_level = temp_obj;
- temp_obj = atk_object_get_parent (top_level);
- }
- if (atk_object_get_role (top_level) != ATK_ROLE_APPLICATION)
- {
- if (gail_label->window_create_handler == 0 &&
- GAIL_IS_WINDOW (top_level))
- gail_label->window_create_handler = g_signal_connect_after (top_level, "create", G_CALLBACK (window_created), atk_obj);
- }
- else
- gail_label->has_top_level = TRUE;
- }
- if (gail_label->has_top_level)
- notify_name_change (atk_obj);
- }
- else if (strcmp (pspec->name, "cursor-position") == 0)
- {
- gint start, end, tmp;
- gboolean text_caret_moved = FALSE;
- gboolean selection_changed = FALSE;
-
- gail_obj = G_OBJECT (atk_obj);
- label = GTK_LABEL (widget);
-
- if (gail_label->selection_bound != -1 && gail_label->selection_bound < gail_label->cursor_position)
- {
- tmp = gail_label->selection_bound;
- gail_label->selection_bound = gail_label->cursor_position;
- gail_label->cursor_position = tmp;
- }
-
- if (gtk_label_get_selection_bounds (label, &start, &end))
- {
- if (start != gail_label->cursor_position ||
- end != gail_label->selection_bound)
- {
- if (end != gail_label->selection_bound)
- {
- gail_label->selection_bound = start;
- gail_label->cursor_position = end;
- }
- else
- {
- gail_label->selection_bound = end;
- gail_label->cursor_position = start;
- }
- text_caret_moved = TRUE;
- if (start != end)
- selection_changed = TRUE;
- }
- }
- else
- {
- if (gail_label->cursor_position != gail_label->selection_bound)
- selection_changed = TRUE;
- if (gtk_label_get_selectable (label))
- {
- if (gail_label->cursor_position != -1 && start != gail_label->cursor_position)
- text_caret_moved = TRUE;
- if (gail_label->selection_bound != -1 && end != gail_label->selection_bound)
- {
- text_caret_moved = TRUE;
- gail_label->cursor_position = end;
- gail_label->selection_bound = start;
- }
- else
- {
- gail_label->cursor_position = start;
- gail_label->selection_bound = end;
- }
- }
- else
- {
- /* GtkLabel has become non selectable */
-
- gail_label->cursor_position = 0;
- gail_label->selection_bound = 0;
- text_caret_moved = TRUE;
- }
-
- }
- if (text_caret_moved)
- g_signal_emit_by_name (gail_obj, "text_caret_moved",
- gail_label->cursor_position);
- if (selection_changed)
- g_signal_emit_by_name (gail_obj, "text_selection_changed");
-
- }
- else
- GAIL_WIDGET_CLASS (gail_label_parent_class)->notify_gtk (obj, pspec);
-}
-
-static void
-gail_label_finalize (GObject *object)
-{
- GailLabel *label = GAIL_LABEL (object);
-
- if (label->textutil)
- g_object_unref (label->textutil);
- G_OBJECT_CLASS (gail_label_parent_class)->finalize (object);
-}
-
-
-/* atkobject.h */
-
-static AtkStateSet*
-gail_label_ref_state_set (AtkObject *accessible)
-{
- AtkStateSet *state_set;
- GtkWidget *widget;
-
- state_set = ATK_OBJECT_CLASS (gail_label_parent_class)->ref_state_set (accessible);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
-
- if (widget == NULL)
- return state_set;
-
- atk_state_set_add_state (state_set, ATK_STATE_MULTI_LINE);
-
- return state_set;
-}
-
-AtkRelationSet*
-gail_label_ref_relation_set (AtkObject *obj)
-{
- GtkWidget *widget;
- AtkRelationSet *relation_set;
-
- g_return_val_if_fail (GAIL_IS_LABEL (obj), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- relation_set = ATK_OBJECT_CLASS (gail_label_parent_class)->ref_relation_set (obj);
-
- if (!atk_relation_set_contains (relation_set, ATK_RELATION_LABEL_FOR))
- {
- /*
- * Get the mnemonic widget
- *
- * The relation set is not updated if the mnemonic widget is changed
- */
- GtkWidget *mnemonic_widget = gtk_label_get_mnemonic_widget (GTK_LABEL (widget));
-
- if (mnemonic_widget)
- {
- AtkObject *accessible_array[1];
- AtkRelation* relation;
-
- if (!gtk_widget_get_can_focus (mnemonic_widget))
- {
- /*
- * Handle the case where a GtkFileChooserButton is specified as the
- * mnemonic widget. use the combobox which is a child of the
- * GtkFileChooserButton as the mnemonic widget. See bug #359843.
- */
- if (GTK_IS_BOX (mnemonic_widget))
- {
- GList *list, *tmpl;
-
- list = gtk_container_get_children (GTK_CONTAINER (mnemonic_widget));
- if (g_list_length (list) == 2)
- {
- tmpl = g_list_last (list);
- if (GTK_IS_COMBO_BOX(tmpl->data))
- {
- mnemonic_widget = GTK_WIDGET(tmpl->data);
- }
- }
- g_list_free (list);
- }
- }
- accessible_array[0] = gtk_widget_get_accessible (mnemonic_widget);
- relation = atk_relation_new (accessible_array, 1,
- ATK_RELATION_LABEL_FOR);
- atk_relation_set_add (relation_set, relation);
- /*
- * Unref the relation so that it is not leaked.
- */
- g_object_unref (relation);
- }
- }
- return relation_set;
-}
-
-static const gchar*
-gail_label_get_name (AtkObject *accessible)
-{
- const gchar *name;
-
- g_return_val_if_fail (GAIL_IS_LABEL (accessible), NULL);
-
- name = ATK_OBJECT_CLASS (gail_label_parent_class)->get_name (accessible);
- if (name != NULL)
- return name;
- else
- {
- /*
- * Get the text on the label
- */
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- g_return_val_if_fail (GTK_IS_LABEL (widget), NULL);
-
- return gtk_label_get_text (GTK_LABEL (widget));
- }
-}
-
-/* atktext.h */
-
-static void
-atk_text_interface_init (AtkTextIface *iface)
-{
- iface->get_text = gail_label_get_text;
- iface->get_character_at_offset = gail_label_get_character_at_offset;
- iface->get_text_before_offset = gail_label_get_text_before_offset;
- iface->get_text_at_offset = gail_label_get_text_at_offset;
- iface->get_text_after_offset = gail_label_get_text_after_offset;
- iface->get_character_count = gail_label_get_character_count;
- iface->get_caret_offset = gail_label_get_caret_offset;
- iface->set_caret_offset = gail_label_set_caret_offset;
- iface->get_n_selections = gail_label_get_n_selections;
- iface->get_selection = gail_label_get_selection;
- iface->add_selection = gail_label_add_selection;
- iface->remove_selection = gail_label_remove_selection;
- iface->set_selection = gail_label_set_selection;
- iface->get_character_extents = gail_label_get_character_extents;
- iface->get_offset_at_point = gail_label_get_offset_at_point;
- iface->get_run_attributes = gail_label_get_run_attributes;
- iface->get_default_attributes = gail_label_get_default_attributes;
-}
-
-static gchar*
-gail_label_get_text (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkWidget *widget;
- GtkLabel *label;
-
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = GTK_LABEL (widget);
-
- label_text = gtk_label_get_text (label);
-
- if (label_text == NULL)
- return NULL;
- else
- {
- if (GAIL_LABEL (text)->textutil == NULL)
- gail_label_init_text_util (GAIL_LABEL (text), widget);
- return gail_text_util_get_substring (GAIL_LABEL(text)->textutil,
- start_pos, end_pos);
- }
-}
-
-static gchar*
-gail_label_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkLabel *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Get label */
- label = GTK_LABEL (widget);
-
- return gail_text_util_get_text (GAIL_LABEL (text)->textutil,
- gtk_label_get_layout (label), GAIL_BEFORE_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_label_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkLabel *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Get label */
- label = GTK_LABEL (widget);
-
- return gail_text_util_get_text (GAIL_LABEL (text)->textutil,
- gtk_label_get_layout (label), GAIL_AT_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_label_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkLabel *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- {
- /* State is defunct */
- return NULL;
- }
-
- /* Get label */
- label = GTK_LABEL (widget);
-
- return gail_text_util_get_text (GAIL_LABEL (text)->textutil,
- gtk_label_get_layout (label), GAIL_AFTER_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gint
-gail_label_get_character_count (AtkText *text)
-{
- GtkWidget *widget;
- GtkLabel *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- label = GTK_LABEL (widget);
- return g_utf8_strlen (gtk_label_get_text (label), -1);
-}
-
-static gint
-gail_label_get_caret_offset (AtkText *text)
-{
- return GAIL_LABEL (text)->cursor_position;
-}
-
-static gboolean
-gail_label_set_caret_offset (AtkText *text,
- gint offset)
-{
- GtkWidget *widget;
- GtkLabel *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- label = GTK_LABEL (widget);
-
- if (gtk_label_get_selectable (label) &&
- offset >= 0 &&
- offset <= g_utf8_strlen (gtk_label_get_text (label), -1))
- {
- gtk_label_select_region (label, offset, offset);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static gint
-gail_label_get_n_selections (AtkText *text)
-{
- GtkWidget *widget;
- GtkLabel *label;
- gint start, end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- label = GTK_LABEL (widget);
-
- if (!gtk_label_get_selectable (label))
- return 0;
-
- if (gtk_label_get_selection_bounds (label, &start, &end))
- return 1;
- else
- return 0;
-}
-
-static gchar*
-gail_label_get_selection (AtkText *text,
- gint selection_num,
- gint *start_pos,
- gint *end_pos)
-{
- GtkWidget *widget;
- GtkLabel *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = GTK_LABEL (widget);
-
- /* Only let the user get the selection if one is set, and if the
- * selection_num is 0.
- */
- if (!gtk_label_get_selectable( label) || selection_num != 0)
- return NULL;
-
- if (gtk_label_get_selection_bounds (label, start_pos, end_pos))
- {
- const gchar* label_text = gtk_label_get_text (label);
-
- if (label_text == NULL)
- return 0;
- else
- return gail_text_util_get_substring (GAIL_LABEL (text)->textutil,
- *start_pos, *end_pos);
- }
- else
- return NULL;
-}
-
-static gboolean
-gail_label_add_selection (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkWidget *widget;
- GtkLabel *label;
- gint start, end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- label = GTK_LABEL (widget);
-
- if (!gtk_label_get_selectable (label))
- return FALSE;
-
- if (! gtk_label_get_selection_bounds (label, &start, &end))
- {
- gtk_label_select_region (label, start_pos, end_pos);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static gboolean
-gail_label_remove_selection (AtkText *text,
- gint selection_num)
-{
- GtkWidget *widget;
- GtkLabel *label;
- gint start, end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- if (selection_num != 0)
- return FALSE;
-
- label = GTK_LABEL (widget);
-
- if (!gtk_label_get_selectable (label))
- return FALSE;
-
- if (gtk_label_get_selection_bounds (label, &start, &end))
- {
- gtk_label_select_region (label, 0, 0);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static gboolean
-gail_label_set_selection (AtkText *text,
- gint selection_num,
- gint start_pos,
- gint end_pos)
-{
- GtkWidget *widget;
- GtkLabel *label;
- gint start, end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- if (selection_num != 0)
- return FALSE;
-
- label = GTK_LABEL (widget);
-
- if (!gtk_label_get_selectable (label))
- return FALSE;
-
- if (gtk_label_get_selection_bounds (label, &start, &end))
- {
- gtk_label_select_region (label, start_pos, end_pos);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static void
-gail_label_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkLabel *label;
- PangoRectangle char_rect;
- const gchar *label_text;
- gint index, x_layout, y_layout;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return;
-
- label = GTK_LABEL (widget);
-
- gtk_label_get_layout_offsets (label, &x_layout, &y_layout);
- label_text = gtk_label_get_text (label);
- index = g_utf8_offset_to_pointer (label_text, offset) - label_text;
- pango_layout_index_to_pos (gtk_label_get_layout (label), index, &char_rect);
-
- gail_misc_get_extents_from_pango_rectangle (widget, &char_rect,
- x_layout, y_layout, x, y, width, height, coords);
-}
-
-static gint
-gail_label_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkLabel *label;
- const gchar *label_text;
- gint index, x_layout, y_layout;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return -1;
- label = GTK_LABEL (widget);
-
- gtk_label_get_layout_offsets (label, &x_layout, &y_layout);
-
- index = gail_misc_get_index_at_point_in_layout (widget,
- gtk_label_get_layout (label),
- x_layout, y_layout, x, y, coords);
- label_text = gtk_label_get_text (label);
- if (index == -1)
- {
- if (coords == ATK_XY_WINDOW || coords == ATK_XY_SCREEN)
- return g_utf8_strlen (label_text, -1);
-
- return index;
- }
- else
- return g_utf8_pointer_to_offset (label_text, label_text + index);
-}
-
-static AtkAttributeSet*
-gail_label_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkLabel *label;
- AtkAttributeSet *at_set = NULL;
- GtkJustification justify;
- GtkTextDirection dir;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = GTK_LABEL (widget);
-
- /* Get values set for entire label, if any */
- justify = gtk_label_get_justify (label);
- if (justify != GTK_JUSTIFY_CENTER)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_JUSTIFICATION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_JUSTIFICATION, justify)));
- }
- dir = gtk_widget_get_direction (widget);
- if (dir == GTK_TEXT_DIR_RTL)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_DIRECTION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, dir)));
- }
-
- at_set = gail_misc_layout_get_run_attributes (at_set,
- gtk_label_get_layout (label),
- gtk_label_get_text (label),
- offset,
- start_offset,
- end_offset);
- return at_set;
-}
-
-static AtkAttributeSet*
-gail_label_get_default_attributes (AtkText *text)
-{
- GtkWidget *widget;
- GtkLabel *label;
- AtkAttributeSet *at_set = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = GTK_LABEL (widget);
-
- at_set = gail_misc_get_default_attributes (at_set,
- gtk_label_get_layout (label),
- widget);
- return at_set;
-}
-
-static gunichar
-gail_label_get_character_at_offset (AtkText *text,
- gint offset)
-{
- GtkWidget *widget;
- GtkLabel *label;
- const gchar *string;
- gchar *index;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return '\0';
-
- label = GTK_LABEL (widget);
- string = gtk_label_get_text (label);
- if (offset >= g_utf8_strlen (string, -1))
- return '\0';
- index = g_utf8_offset_to_pointer (string, offset);
-
- return g_utf8_get_char (index);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_LABEL_H__
-#define __GAIL_LABEL_H__
-
-#include <gail/gailwidget.h>
-#include <libgail-util/gailtextutil.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_LABEL (gail_label_get_type ())
-#define GAIL_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_LABEL, GailLabel))
-#define GAIL_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_LABEL, GailLabelClass))
-#define GAIL_IS_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_LABEL))
-#define GAIL_IS_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_LABEL))
-#define GAIL_LABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_LABEL, GailLabelClass))
-
-typedef struct _GailLabel GailLabel;
-typedef struct _GailLabelClass GailLabelClass;
-
-struct _GailLabel
-{
- GailWidget parent;
-
- GailTextUtil *textutil;
- gint cursor_position;
- gint selection_bound;
- gint label_length;
- gulong window_create_handler;
- gboolean has_top_level;
-};
-
-GType gail_label_get_type (void);
-
-struct _GailLabelClass
-{
- GailWidgetClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_LABEL_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2011 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gaillinkbutton.h"
-
-typedef struct _GailLinkButtonLink GailLinkButtonLink;
-typedef struct _GailLinkButtonLinkClass GailLinkButtonLinkClass;
-
-struct _GailLinkButtonLink
-{
- AtkHyperlink parent;
-
- GailLinkButton *button;
- gchar *description;
-};
-
-struct _GailLinkButtonLinkClass
-{
- AtkHyperlinkClass parent_class;
-};
-
-static void atk_action_interface_init (AtkActionIface *iface);
-
-G_DEFINE_TYPE_WITH_CODE (GailLinkButtonLink, gail_link_button_link, ATK_TYPE_HYPERLINK,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
-
-static gchar *
-gail_link_button_link_get_uri (AtkHyperlink *link,
- gint i)
-{
- GailLinkButtonLink *l = (GailLinkButtonLink *)link;
- GtkWidget *widget;
- const gchar *uri;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (l->button));
- uri = gtk_link_button_get_uri (GTK_LINK_BUTTON (widget));
-
- return g_strdup (uri);
-}
-
-static gint
-gail_link_button_link_get_n_anchors (AtkHyperlink *link)
-{
- return 1;
-}
-
-static gboolean
-gail_link_button_link_is_valid (AtkHyperlink *link)
-{
- return TRUE;
-}
-
-static AtkObject *
-gail_link_button_link_get_object (AtkHyperlink *link,
- gint i)
-{
- GailLinkButtonLink *l = (GailLinkButtonLink *)link;
-
- return ATK_OBJECT (l->button);
-}
-
-static gint
-gail_link_button_link_get_start_index (AtkHyperlink *link)
-{
- return 0;
-}
-
-static gint
-gail_link_button_link_get_end_index (AtkHyperlink *link)
-{
- GailLinkButtonLink *l = (GailLinkButtonLink *)link;
-
- return atk_text_get_character_count (ATK_TEXT (l->button));
-}
-
-static void
-gail_link_button_link_init (GailLinkButtonLink *link)
-{
- link->description = NULL;
-}
-
-static void
-gail_link_button_link_finalize (GObject *obj)
-{
- GailLinkButtonLink *link = (GailLinkButtonLink *)obj;
-
- g_free (link->description);
-
- G_OBJECT_CLASS (gail_link_button_link_parent_class)->finalize (obj);
-}
-
-static void
-gail_link_button_link_class_init (GailLinkButtonLinkClass *class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (class);
- AtkHyperlinkClass *hyperlink_class = ATK_HYPERLINK_CLASS (class);
-
- object_class->finalize = gail_link_button_link_finalize;
-
- hyperlink_class->get_uri = gail_link_button_link_get_uri;
- hyperlink_class->get_n_anchors = gail_link_button_link_get_n_anchors;
- hyperlink_class->is_valid = gail_link_button_link_is_valid;
- hyperlink_class->get_object = gail_link_button_link_get_object;
- hyperlink_class->get_start_index = gail_link_button_link_get_start_index;
- hyperlink_class->get_end_index = gail_link_button_link_get_end_index;
-}
-
-static gboolean
-gail_link_button_link_do_action (AtkAction *action,
- gint i)
-{
- GailLinkButtonLink *link = (GailLinkButtonLink *)action;
- GtkWidget *widget;
-
- widget = GTK_WIDGET (link->button);
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
- if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- gtk_button_clicked (GTK_BUTTON (widget));
-
- return TRUE;
-}
-
-static gint
-gail_link_button_link_get_n_actions (AtkAction *action)
-{
- return 1;
-}
-
-static const gchar *
-gail_link_button_link_get_name (AtkAction *action,
- gint i)
-{
- g_return_val_if_fail (i == 0, NULL);
-
- return "activate";
-}
-
-static const gchar *
-gail_link_button_link_get_description (AtkAction *action,
- gint i)
-{
- GailLinkButtonLink *link = (GailLinkButtonLink *)action;
-
- g_return_val_if_fail (i == 0, NULL);
-
- return link->description;
-}
-
-static gboolean
-gail_link_button_link_set_description (AtkAction *action,
- gint i,
- const gchar *description)
-{
- GailLinkButtonLink *link = (GailLinkButtonLink *)action;
-
- g_return_val_if_fail (i == 0, FALSE);
-
- g_free (link->description);
- link->description = g_strdup (description);
-
- return TRUE;
-}
-
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- iface->do_action = gail_link_button_link_do_action;
- iface->get_n_actions = gail_link_button_link_get_n_actions;
- iface->get_name = gail_link_button_link_get_name;
- iface->get_description = gail_link_button_link_get_description;
- iface->set_description = gail_link_button_link_set_description;
-}
-
-static gboolean
-activate_link (GtkLinkButton *button, AtkHyperlink *link)
-{
- g_signal_emit_by_name (link, "link-activated");
-
- return FALSE;
-}
-
-static AtkHyperlink *
-gail_link_button_get_hyperlink (AtkHyperlinkImpl *impl)
-{
- GailLinkButton *button = GAIL_LINK_BUTTON (impl);
-
- if (!button->link)
- {
- button->link = g_object_new (gail_link_button_link_get_type (), NULL);
- g_signal_connect (gtk_accessible_get_widget (GTK_ACCESSIBLE (button)),
- "activate-link", G_CALLBACK (activate_link), button->link);
- }
-
- return button->link;
-}
-
-static void atk_hypertext_impl_interface_init (AtkHyperlinkImplIface *iface);
-
-G_DEFINE_TYPE_WITH_CODE (GailLinkButton, gail_link_button, GAIL_TYPE_BUTTON,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_HYPERLINK_IMPL, atk_hypertext_impl_interface_init))
-
-static void
-gail_link_button_init (GailLinkButton *button)
-{
-}
-
-static void
-gail_link_button_finalize (GObject *object)
-{
- GailLinkButton *button = GAIL_LINK_BUTTON (object);
-
- if (button->link)
- g_object_unref (button->link);
-
- G_OBJECT_CLASS (gail_link_button_parent_class)->finalize (object);
-}
-
-static void
-gail_link_button_class_init (GailLinkButtonClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = gail_link_button_finalize;
-}
-
-static void
-atk_hypertext_impl_interface_init (AtkHyperlinkImplIface *iface)
-{
- iface->get_hyperlink = gail_link_button_get_hyperlink;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2011 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_LINK_BUTTON_H__
-#define __GAIL_LINK_BUTTON_H__
-
-#include <gail/gailbutton.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_LINK_BUTTON (gail_link_button_get_type ())
-#define GAIL_LINK_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_LINK_BUTTON, GailLinkButton))
-#define GAIL_LINK_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_LINK_BUTTON, GailLinkButtonClass))
-#define GAIL_IS_LINK_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_LINK_BUTTON))
-#define GAIL_IS_LINK_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_LINK_BUTTON))
-#define GAIL_LINK_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_LINK_BUTTON, GailLinkButtonClass))
-
-typedef struct _GailLinkButton GailLinkButton;
-typedef struct _GailLinkButtonClass GailLinkButtonClass;
-
-struct _GailLinkButton
-{
- GailButton parent;
-
- AtkHyperlink *link;
-};
-
-GType gail_link_button_get_type (void);
-
-struct _GailLinkButtonClass
-{
- GailButtonClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_LINK_BUTTON_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include "gailmenu.h"
-
-static void gail_menu_class_init (GailMenuClass *klass);
-static void gail_menu_init (GailMenu *accessible);
-
-static void gail_menu_real_initialize (AtkObject *obj,
- gpointer data);
-
-static AtkObject* gail_menu_get_parent (AtkObject *accessible);
-static gint gail_menu_get_index_in_parent (AtkObject *accessible);
-
-G_DEFINE_TYPE (GailMenu, gail_menu, GAIL_TYPE_MENU_SHELL)
-
-static void
-gail_menu_class_init (GailMenuClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->get_parent = gail_menu_get_parent;
- class->get_index_in_parent = gail_menu_get_index_in_parent;
- class->initialize = gail_menu_real_initialize;
-}
-
-static void
-gail_menu_init (GailMenu *accessible)
-{
-}
-
-static void
-gail_menu_real_initialize (AtkObject *obj,
- gpointer data)
-{
- ATK_OBJECT_CLASS (gail_menu_parent_class)->initialize (obj, data);
-
- obj->role = ATK_ROLE_MENU;
-
- g_object_set_data (G_OBJECT (obj), "atk-component-layer",
- GINT_TO_POINTER (ATK_LAYER_POPUP));
-}
-
-static AtkObject*
-gail_menu_get_parent (AtkObject *accessible)
-{
- AtkObject *parent;
-
- parent = accessible->accessible_parent;
-
- if (parent != NULL)
- {
- g_return_val_if_fail (ATK_IS_OBJECT (parent), NULL);
- }
- else
- {
- GtkWidget *widget, *parent_widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- if (widget == NULL)
- {
- /*
- * State is defunct
- */
- return NULL;
- }
- g_return_val_if_fail (GTK_IS_MENU (widget), NULL);
-
- /*
- * If the menu is attached to a menu item or a button (Gnome Menu)
- * report the menu item as parent.
- */
- parent_widget = gtk_menu_get_attach_widget (GTK_MENU (widget));
-
- if (!GTK_IS_MENU_ITEM (parent_widget) && !GTK_IS_BUTTON (parent_widget) && !GTK_IS_COMBO_BOX (parent_widget))
- parent_widget = gtk_widget_get_parent (widget);
-
- if (parent_widget == NULL)
- return NULL;
-
- parent = gtk_widget_get_accessible (parent_widget);
- atk_object_set_parent (accessible, parent);
- }
- return parent;
-}
-
-static gint
-gail_menu_get_index_in_parent (AtkObject *accessible)
-{
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
-
- if (widget == NULL)
- {
- /*
- * State is defunct
- */
- return -1;
- }
- g_return_val_if_fail (GTK_IS_MENU (widget), -1);
-
- if (gtk_menu_get_attach_widget (GTK_MENU (widget)))
- {
- return 0;
- }
- return ATK_OBJECT_CLASS (gail_menu_parent_class)->get_index_in_parent (accessible);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_MENU_H__
-#define __GAIL_MENU_H__
-
-#include <gail/gailmenushell.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_MENU (gail_menu_get_type ())
-#define GAIL_MENU(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_MENU_SHELL, GailMenu))
-#define GAIL_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_MENU, GailMenuClass))
-#define GAIL_IS_MENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_MENU))
-#define GAIL_IS_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_MENU))
-#define GAIL_MENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_MENU, GailMenuClass))
-
-typedef struct _GailMenu GailMenu;
-typedef struct _GailMenuClass GailMenuClass;
-
-struct _GailMenu
-{
- GailMenuShell parent;
-};
-
-GType gail_menu_get_type (void);
-
-struct _GailMenuClass
-{
- GailMenuShellClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_MENU_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-#include "gailmenuitem.h"
-#include "gailsubmenuitem.h"
-#include <libgail-util/gailmisc.h>
-
-#define KEYBINDING_SEPARATOR ";"
-
-static void gail_menu_item_class_init (GailMenuItemClass *klass);
-static void gail_menu_item_init (GailMenuItem *menu_item);
-
-static void gail_menu_item_real_initialize
- (AtkObject *obj,
- gpointer data);
-static gint gail_menu_item_get_n_children (AtkObject *obj);
-static AtkObject* gail_menu_item_ref_child (AtkObject *obj,
- gint i);
-static AtkStateSet* gail_menu_item_ref_state_set (AtkObject *obj);
-static void gail_menu_item_finalize (GObject *object);
-static void gail_menu_item_label_map_gtk (GtkWidget *widget,
- gpointer data);
-static void gail_menu_item_init_textutil (GailMenuItem *item,
- GtkWidget *label);
-static void gail_menu_item_notify_label_gtk (GObject *obj,
- GParamSpec *pspec,
- gpointer data);
-static const gchar * gail_menu_item_get_name (AtkObject *object);
-
-
-static void atk_action_interface_init (AtkActionIface *iface);
-static gboolean gail_menu_item_do_action (AtkAction *action,
- gint i);
-static gboolean idle_do_action (gpointer data);
-static gint gail_menu_item_get_n_actions (AtkAction *action);
-static const gchar* gail_menu_item_get_description(AtkAction *action,
- gint i);
-static const gchar* gail_menu_item_action_get_name (AtkAction *action,
- gint i);
-static const gchar* gail_menu_item_get_keybinding (AtkAction *action,
- gint i);
-static gboolean gail_menu_item_set_description(AtkAction *action,
- gint i,
- const gchar *desc);
-static void menu_item_select (GtkMenuItem *item);
-static void menu_item_deselect (GtkMenuItem *item);
-static void menu_item_selection (GtkMenuItem *item,
- gboolean selected);
-static gboolean find_accel (GtkAccelKey *key,
- GClosure *closure,
- gpointer data);
-static gboolean find_accel_new (GtkAccelKey *key,
- GClosure *closure,
- gpointer data);
-/* atktext.h */
-static void atk_text_interface_init (AtkTextIface *iface);
-
-static gchar* gail_menu_item_get_text (AtkText *text,
- gint start_pos,
- gint end_pos);
-static gunichar gail_menu_item_get_character_at_offset (AtkText *text,
- gint offset);
-static gchar* gail_menu_item_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_menu_item_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_menu_item_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gint gail_menu_item_get_character_count (AtkText *text);
-static void gail_menu_item_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords);
-static gint gail_menu_item_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords);
-static AtkAttributeSet* gail_menu_item_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static AtkAttributeSet* gail_menu_item_get_default_attributes (AtkText *text);
-static GtkWidget* get_label_from_container (GtkWidget *container);
-static gchar * get_text_from_label_widget (GtkWidget *widget);
-
-
-G_DEFINE_TYPE_WITH_CODE (GailMenuItem, gail_menu_item, GAIL_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
-
-static void
-gail_menu_item_class_init (GailMenuItemClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- gobject_class->finalize = gail_menu_item_finalize;
-
- class->get_n_children = gail_menu_item_get_n_children;
- class->ref_child = gail_menu_item_ref_child;
- class->ref_state_set = gail_menu_item_ref_state_set;
- class->initialize = gail_menu_item_real_initialize;
- class->get_name = gail_menu_item_get_name;
-}
-
-static void
-gail_menu_item_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GtkWidget *widget;
- GtkWidget *parent;
- GailMenuItem *item = GAIL_MENU_ITEM (obj);
- GtkWidget *label;
-
- ATK_OBJECT_CLASS (gail_menu_item_parent_class)->initialize (obj, data);
-
- item->textutil = NULL;
- item->text = NULL;
-
- label = get_label_from_container (GTK_WIDGET (data));
- if (gtk_widget_get_mapped (label))
- gail_menu_item_init_textutil (item, label);
- else
- g_signal_connect (label,
- "map",
- G_CALLBACK (gail_menu_item_label_map_gtk),
- item);
-
- g_signal_connect (data,
- "select",
- G_CALLBACK (menu_item_select),
- NULL);
- g_signal_connect (data,
- "deselect",
- G_CALLBACK (menu_item_deselect),
- NULL);
- widget = GTK_WIDGET (data);
- parent = gtk_widget_get_parent (widget);
- if (GTK_IS_MENU (parent))
- {
- GtkWidget *parent_widget;
-
- parent_widget = gtk_menu_get_attach_widget (GTK_MENU (parent));
-
- if (!GTK_IS_MENU_ITEM (parent_widget))
- parent_widget = gtk_widget_get_parent (widget);
- if (parent_widget)
- {
- atk_object_set_parent (obj, gtk_widget_get_accessible (parent_widget));
- }
- }
- g_object_set_data (G_OBJECT (obj), "atk-component-layer",
- GINT_TO_POINTER (ATK_LAYER_POPUP));
-
- if (GTK_IS_TEAROFF_MENU_ITEM (data))
- obj->role = ATK_ROLE_TEAR_OFF_MENU_ITEM;
- else if (GTK_IS_SEPARATOR_MENU_ITEM (data))
- obj->role = ATK_ROLE_SEPARATOR;
- else
- obj->role = ATK_ROLE_MENU_ITEM;
-}
-
-static void
-gail_menu_item_init (GailMenuItem *menu_item)
-{
- menu_item->click_keybinding = NULL;
- menu_item->click_description = NULL;
-}
-
-static void
-gail_menu_item_label_map_gtk (GtkWidget *widget,
- gpointer data)
-{
- GailMenuItem *item;
-
- item = GAIL_MENU_ITEM (data);
- gail_menu_item_init_textutil (item, widget);
-}
-
-static void
-gail_menu_item_notify_label_gtk (GObject *obj,
- GParamSpec *pspec,
- gpointer data)
-{
- AtkObject* atk_obj = ATK_OBJECT (data);
- GtkLabel *label;
- GailMenuItem *menu_item;
-
- if (strcmp (pspec->name, "label") == 0)
- {
- const gchar* label_text;
-
- label = GTK_LABEL (obj);
-
- label_text = gtk_label_get_text (label);
-
- menu_item = GAIL_MENU_ITEM (atk_obj);
- gail_text_util_text_setup (menu_item->textutil, label_text);
-
- if (atk_obj->name == NULL)
- {
- /*
- * The label has changed so notify a change in accessible-name
- */
- g_object_notify (G_OBJECT (atk_obj), "accessible-name");
- }
- /*
- * The label is the only property which can be changed
- */
- g_signal_emit_by_name (atk_obj, "visible_data_changed");
- }
-}
-
-static void
-gail_menu_item_init_textutil (GailMenuItem *item,
- GtkWidget *label)
-{
- const gchar *label_text;
-
- if (item->textutil == NULL)
- {
- item->textutil = gail_text_util_new ();
- g_signal_connect (label,
- "notify",
- (GCallback) gail_menu_item_notify_label_gtk,
- item);
- }
- label_text = get_text_from_label_widget (label);
- gail_text_util_text_setup (item->textutil, label_text);
-}
-
-/* atktext.h */
-
-static void
-atk_text_interface_init (AtkTextIface *iface)
-{
- iface->get_text = gail_menu_item_get_text;
- iface->get_character_at_offset = gail_menu_item_get_character_at_offset;
- iface->get_text_before_offset = gail_menu_item_get_text_before_offset;
- iface->get_text_at_offset = gail_menu_item_get_text_at_offset;
- iface->get_text_after_offset = gail_menu_item_get_text_after_offset;
- iface->get_character_count = gail_menu_item_get_character_count;
- iface->get_character_extents = gail_menu_item_get_character_extents;
- iface->get_offset_at_point = gail_menu_item_get_offset_at_point;
- iface->get_run_attributes = gail_menu_item_get_run_attributes;
- iface->get_default_attributes = gail_menu_item_get_default_attributes;
-}
-
-static gchar*
-gail_menu_item_get_text (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailMenuItem *item;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = get_label_from_container (widget);
-
- item = GAIL_MENU_ITEM (text);
- if (!item->textutil)
- gail_menu_item_init_textutil (item, label);
-
- label_text = get_text_from_label_widget (label);
-
- if (label_text == NULL)
- return NULL;
- else
- return gail_text_util_get_substring (item->textutil,
- start_pos, end_pos);
-}
-
-static gchar*
-gail_menu_item_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailMenuItem *item;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Get label */
- label = get_label_from_container (widget);
-
- item = GAIL_MENU_ITEM (text);
- if (!item->textutil)
- gail_menu_item_init_textutil (item, label);
-
- return gail_text_util_get_text (item->textutil,
- NULL, GAIL_BEFORE_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_menu_item_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailMenuItem *item;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Get label */
- label = get_label_from_container (widget);
-
- item = GAIL_MENU_ITEM (text);
- if (!item->textutil)
- gail_menu_item_init_textutil (item, label);
-
- return gail_text_util_get_text (item->textutil,
- NULL, GAIL_AT_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_menu_item_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailMenuItem *item;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- {
- /* State is defunct */
- return NULL;
- }
-
- /* Get label */
- label = get_label_from_container (widget);
-
- item = GAIL_MENU_ITEM (text);
- if (!item->textutil)
- gail_menu_item_init_textutil (item, label);
-
- return gail_text_util_get_text (item->textutil,
- NULL, GAIL_AFTER_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gint
-gail_menu_item_get_character_count (AtkText *atk_text)
-{
- gchar *text;
- gint len;
-
- text = gail_menu_item_get_text (atk_text, 0, -1);
- if (text)
- {
- len = g_utf8_strlen (text, -1);
- g_free (text);
- }
- else
- len = 0;
-
- return len;
-}
-
-static void
-gail_menu_item_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkWidget *label;
- PangoRectangle char_rect;
- gint index, x_layout, y_layout;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return;
-
- label = get_label_from_container (widget);
-
- if (!GTK_IS_LABEL(label))
- return;
-
- gtk_label_get_layout_offsets (GTK_LABEL (label), &x_layout, &y_layout);
- label_text = gtk_label_get_text (GTK_LABEL (label));
- index = g_utf8_offset_to_pointer (label_text, offset) - label_text;
- pango_layout_index_to_pos (gtk_label_get_layout (GTK_LABEL (label)), index, &char_rect);
-
- gail_misc_get_extents_from_pango_rectangle (label, &char_rect,
- x_layout, y_layout, x, y, width, height, coords);
-}
-
-static gint
-gail_menu_item_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkWidget *label;
- gint index, x_layout, y_layout;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return -1;
-
- label = get_label_from_container (widget);
-
- if (!GTK_IS_LABEL(label))
- return -1;
-
- gtk_label_get_layout_offsets (GTK_LABEL (label), &x_layout, &y_layout);
-
- index = gail_misc_get_index_at_point_in_layout (label,
- gtk_label_get_layout (GTK_LABEL (label)),
- x_layout, y_layout, x, y, coords);
- label_text = gtk_label_get_text (GTK_LABEL (label));
- if (index == -1)
- {
- if (coords == ATK_XY_WINDOW || coords == ATK_XY_SCREEN)
- return g_utf8_strlen (label_text, -1);
-
- return index;
- }
- else
- return g_utf8_pointer_to_offset (label_text, label_text + index);
-}
-
-static AtkAttributeSet*
-gail_menu_item_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- AtkAttributeSet *at_set = NULL;
- GtkJustification justify;
- GtkTextDirection dir;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = get_label_from_container (widget);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- /* Get values set for entire label, if any */
- justify = gtk_label_get_justify (GTK_LABEL (label));
- if (justify != GTK_JUSTIFY_CENTER)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_JUSTIFICATION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_JUSTIFICATION, justify)));
- }
- dir = gtk_widget_get_direction (label);
- if (dir == GTK_TEXT_DIR_RTL)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_DIRECTION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, dir)));
- }
-
- at_set = gail_misc_layout_get_run_attributes (at_set,
- gtk_label_get_layout (GTK_LABEL (label)),
- (gchar *) gtk_label_get_text (GTK_LABEL (label)),
- offset,
- start_offset,
- end_offset);
- return at_set;
-}
-
-static AtkAttributeSet*
-gail_menu_item_get_default_attributes (AtkText *text)
-{
- GtkWidget *widget;
- GtkWidget *label;
- AtkAttributeSet *at_set = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = get_label_from_container (widget);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- at_set = gail_misc_get_default_attributes (at_set,
- gtk_label_get_layout (GTK_LABEL (label)),
- widget);
- return at_set;
-}
-
-static gunichar
-gail_menu_item_get_character_at_offset (AtkText *text,
- gint offset)
-{
- gchar *string;
- gchar *index;
- gunichar ch;
-
- string = gail_menu_item_get_text (text, 0, -1);
-
- if (string == NULL || offset >= g_utf8_strlen (string, -1))
- ch = '\0';
- else
- {
- index = g_utf8_offset_to_pointer (string, offset);
- ch = g_utf8_get_char (index);
- }
-
- g_free (string);
-
- return ch;
-}
-
-static GtkWidget*
-get_label_from_container (GtkWidget *container)
-{
- GtkWidget *label;
- GList *children, *tmp_list;
-
- if (!GTK_IS_CONTAINER (container))
- return NULL;
-
- children = gtk_container_get_children (GTK_CONTAINER (container));
- label = NULL;
-
- for (tmp_list = children; tmp_list != NULL; tmp_list = tmp_list->next)
- {
- if (GTK_IS_LABEL (tmp_list->data))
- {
- label = tmp_list->data;
- break;
- }
- else if (GTK_IS_CELL_VIEW (tmp_list->data))
- {
- label = tmp_list->data;
- break;
- }
- /*
- * * Get label from menu item in desktop background preferences
- * * option menu. See bug #144084.
- * */
- else if (GTK_IS_BOX (tmp_list->data))
- {
- label = get_label_from_container (GTK_WIDGET (tmp_list->data));
- if (label)
- break;
- }
- }
- g_list_free (children);
-
- return label;
-}
-
-static gchar *
-get_text_from_label_widget (GtkWidget *label)
-{
- if (GTK_IS_LABEL (label))
- return g_strdup (gtk_label_get_text (GTK_LABEL (label)));
- else if (GTK_IS_CELL_VIEW (label))
- {
- GList *cells, *l;
- GtkTreeModel *model;
- GtkTreeIter iter;
- GtkTreePath *path;
- GtkCellArea *area;
- gchar *text;
-
- model = gtk_cell_view_get_model (GTK_CELL_VIEW (label));
- path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (label));
- gtk_tree_model_get_iter (model, &iter, path);
- gtk_tree_path_free (path);
-
- area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (label));
-
- gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE);
-
- cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (label));
- for (l = cells; l; l = l->next)
- {
- GtkCellRenderer *cell = l->data;
-
- if (GTK_IS_CELL_RENDERER_TEXT (cell))
- {
- g_object_get (cell, "text", &text, NULL);
- break;
- }
- }
-
- g_list_free (cells);
-
- return text;
- }
-
- return NULL;
-}
-
-AtkObject*
-gail_menu_item_new (GtkWidget *widget)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail (GTK_IS_MENU_ITEM (widget), NULL);
-
- if (gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget)))
- return gail_sub_menu_item_new (widget);
-
- object = g_object_new (GAIL_TYPE_MENU_ITEM, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, widget);
-
- return accessible;
-}
-
-GList *
-get_children (GtkWidget *submenu)
-{
- GList *children;
-
- children = gtk_container_get_children (GTK_CONTAINER (submenu));
- if (g_list_length (children) == 0)
- {
- /*
- * If menu is empty it may be because the menu items are created only
- * on demand. For example, in gnome-panel the menu items are created
- * only when "show" signal is emitted on the menu.
- *
- * The following hack forces the menu items to be created.
- */
- if (!gtk_widget_get_visible (submenu))
- {
- /* FIXME GTK_WIDGET_SET_FLAGS (submenu, GTK_VISIBLE); */
- g_signal_emit_by_name (submenu, "show");
- /* FIXME GTK_WIDGET_UNSET_FLAGS (submenu, GTK_VISIBLE); */
- }
- g_list_free (children);
- children = gtk_container_get_children (GTK_CONTAINER (submenu));
- }
- return children;
-}
-
-/*
- * If a menu item has a submenu return the items of the submenu as the
- * accessible children; otherwise expose no accessible children.
- */
-static gint
-gail_menu_item_get_n_children (AtkObject* obj)
-{
- GtkWidget *widget;
- GtkWidget *submenu;
- gint count = 0;
-
- g_return_val_if_fail (GAIL_IS_MENU_ITEM (obj), count);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- return count;
-
- submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
- if (submenu)
- {
- GList *children;
-
- children = get_children (submenu);
- count = g_list_length (children);
- g_list_free (children);
- }
- return count;
-}
-
-static AtkObject*
-gail_menu_item_ref_child (AtkObject *obj,
- gint i)
-{
- AtkObject *accessible;
- GtkWidget *widget;
- GtkWidget *submenu;
-
- g_return_val_if_fail (GAIL_IS_MENU_ITEM (obj), NULL);
- g_return_val_if_fail ((i >= 0), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- return NULL;
-
- submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
- if (submenu)
- {
- GList *children;
- GList *tmp_list;
-
- children = get_children (submenu);
- tmp_list = g_list_nth (children, i);
- if (!tmp_list)
- {
- g_list_free (children);
- return NULL;
- }
- accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data));
- g_list_free (children);
- g_object_ref (accessible);
- }
- else
- accessible = NULL;
-
- return accessible;
-}
-
-static AtkStateSet*
-gail_menu_item_ref_state_set (AtkObject *obj)
-{
- AtkObject *menu_item;
- AtkStateSet *state_set, *parent_state_set;
-
- state_set = ATK_OBJECT_CLASS (gail_menu_item_parent_class)->ref_state_set (obj);
-
- menu_item = atk_object_get_parent (obj);
-
- if (menu_item)
- {
- if (!GTK_IS_MENU_ITEM (gtk_accessible_get_widget (GTK_ACCESSIBLE (menu_item))))
- return state_set;
-
- parent_state_set = atk_object_ref_state_set (menu_item);
- if (!atk_state_set_contains_state (parent_state_set, ATK_STATE_SELECTED))
- {
- atk_state_set_remove_state (state_set, ATK_STATE_FOCUSED);
- atk_state_set_remove_state (state_set, ATK_STATE_SHOWING);
- }
- }
- return state_set;
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- iface->do_action = gail_menu_item_do_action;
- iface->get_n_actions = gail_menu_item_get_n_actions;
- iface->get_description = gail_menu_item_get_description;
- iface->get_name = gail_menu_item_action_get_name;
- iface->get_keybinding = gail_menu_item_get_keybinding;
- iface->set_description = gail_menu_item_set_description;
-}
-
-static gboolean
-gail_menu_item_do_action (AtkAction *action,
- gint i)
-{
- if (i == 0)
- {
- GtkWidget *item;
- GailMenuItem *gail_menu_item;
-
- item = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
- if (item == NULL)
- /* State is defunct */
- return FALSE;
-
- if (!gtk_widget_get_sensitive (item) || !gtk_widget_get_visible (item))
- return FALSE;
-
- gail_menu_item = GAIL_MENU_ITEM (action);
- if (gail_menu_item->action_idle_handler)
- return FALSE;
- else
- {
- gail_menu_item->action_idle_handler =
- gdk_threads_add_idle_full (G_PRIORITY_DEFAULT_IDLE,
- idle_do_action,
- g_object_ref (gail_menu_item),
- (GDestroyNotify) g_object_unref);
- }
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static void
-ensure_menus_unposted (GailMenuItem *menu_item)
-{
- AtkObject *parent;
- GtkWidget *widget;
-
- parent = atk_object_get_parent (ATK_OBJECT (menu_item));
- while (parent)
- {
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
- if (GTK_IS_MENU (widget))
- {
- if (gtk_widget_get_mapped (widget))
- gtk_menu_shell_cancel (GTK_MENU_SHELL (widget));
-
- return;
- }
- parent = atk_object_get_parent (parent);
- }
-}
-
-static gboolean
-idle_do_action (gpointer data)
-{
- GtkWidget *item;
- GtkWidget *item_parent;
- GailMenuItem *menu_item;
- gboolean item_mapped;
-
- menu_item = GAIL_MENU_ITEM (data);
- menu_item->action_idle_handler = 0;
- item = gtk_accessible_get_widget (GTK_ACCESSIBLE (menu_item));
- if (item == NULL /* State is defunct */ ||
- !gtk_widget_get_sensitive (item) || !gtk_widget_get_visible (item))
- return FALSE;
-
- item_parent = gtk_widget_get_parent (item);
- gtk_menu_shell_select_item (GTK_MENU_SHELL (item_parent), item);
- item_mapped = gtk_widget_get_mapped (item);
- /*
- * This is what is called when <Return> is pressed for a menu item
- */
- g_signal_emit_by_name (item_parent, "activate_current",
- /*force_hide*/ 1);
- if (!item_mapped)
- ensure_menus_unposted (menu_item);
-
- return FALSE;
-}
-
-static gint
-gail_menu_item_get_n_actions (AtkAction *action)
-{
- /*
- * Menu item has 1 action
- */
- return 1;
-}
-
-static const gchar*
-gail_menu_item_get_description (AtkAction *action,
- gint i)
-{
- if (i == 0)
- {
- GailMenuItem *item;
-
- item = GAIL_MENU_ITEM (action);
- return item->click_description;
- }
- else
- return NULL;
-}
-
-static const gchar*
-gail_menu_item_action_get_name (AtkAction *action,
- gint i)
-{
- if (i == 0)
- return "click";
- else
- return NULL;
-}
-
-static const gchar*
-gail_menu_item_get_keybinding (AtkAction *action,
- gint i)
-{
- /*
- * This function returns a string of the form A;B;C where
- * A is the keybinding for the widget; B is the keybinding to traverse
- * from the menubar and C is the accelerator.
- * The items in the keybinding to traverse from the menubar are separated
- * by ":".
- */
- GailMenuItem *gail_menu_item;
- gchar *keybinding = NULL;
- gchar *item_keybinding = NULL;
- gchar *full_keybinding = NULL;
- gchar *accelerator = NULL;
-
- gail_menu_item = GAIL_MENU_ITEM (action);
- if (i == 0)
- {
- GtkWidget *item;
- GtkWidget *temp_item;
- GtkWidget *child;
- GtkWidget *parent;
-
- item = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
- if (item == NULL)
- /* State is defunct */
- return NULL;
-
- temp_item = item;
- while (TRUE)
- {
- GdkModifierType mnemonic_modifier = 0;
- guint key_val;
- gchar *key, *temp_keybinding;
-
- child = gtk_bin_get_child (GTK_BIN (temp_item));
- if (child == NULL)
- {
- /* Possibly a tear off menu item; it could also be a menu
- * separator generated by gtk_item_factory_create_items()
- */
- return NULL;
- }
- parent = gtk_widget_get_parent (temp_item);
- if (!parent)
- {
- /*
- * parent can be NULL when activating a window from the panel
- */
- return NULL;
- }
- g_return_val_if_fail (GTK_IS_MENU_SHELL (parent), NULL);
- if (GTK_IS_MENU_BAR (parent))
- {
- GtkWidget *toplevel;
-
- toplevel = gtk_widget_get_toplevel (parent);
- if (toplevel && GTK_IS_WINDOW (toplevel))
- mnemonic_modifier = gtk_window_get_mnemonic_modifier (
- GTK_WINDOW (toplevel));
- }
- if (GTK_IS_LABEL (child))
- {
- key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (child));
- if (key_val != GDK_KEY_VoidSymbol)
- {
- key = gtk_accelerator_name (key_val, mnemonic_modifier);
- if (full_keybinding)
- temp_keybinding = g_strconcat (key, ":", full_keybinding, NULL);
- else
- temp_keybinding = g_strconcat (key, NULL);
- if (temp_item == item)
- {
- item_keybinding = g_strdup (key);
- }
- g_free (key);
- g_free (full_keybinding);
- full_keybinding = temp_keybinding;
- }
- else
- {
- /* No keybinding */
- g_free (full_keybinding);
- full_keybinding = NULL;
- break;
- }
- }
- if (GTK_IS_MENU_BAR (parent))
- /* We have reached the menu bar so we are finished */
- break;
- g_return_val_if_fail (GTK_IS_MENU (parent), NULL);
- temp_item = gtk_menu_get_attach_widget (GTK_MENU (parent));
- if (!GTK_IS_MENU_ITEM (temp_item))
- {
- /*
- * Menu is attached to something other than a menu item;
- * probably an option menu
- */
- g_free (full_keybinding);
- full_keybinding = NULL;
- break;
- }
- }
-
- parent = gtk_widget_get_parent (item);
- if (GTK_IS_MENU (parent))
- {
- GtkAccelGroup *group;
- GtkAccelKey *key;
-
- group = gtk_menu_get_accel_group (GTK_MENU (parent));
-
- if (group)
- {
- key = gtk_accel_group_find (group, find_accel, item);
- }
- else
- {
- /*
- * If the menu item is created using GtkAction and GtkUIManager
- * we get here.
- */
- key = NULL;
- child = gtk_bin_get_child (GTK_BIN (item));
- if (GTK_IS_ACCEL_LABEL (child))
- {
- GtkAccelLabel *accel_label;
- GClosure *accel_closure;
-
- accel_label = GTK_ACCEL_LABEL (child);
- g_object_get (accel_label,
- "accel-closure", &accel_closure,
- NULL);
- if (accel_closure)
- {
- key = gtk_accel_group_find (gtk_accel_group_from_accel_closure (accel_closure),
- find_accel_new,
- accel_closure);
- }
-
- }
- }
-
- if (key)
- {
- accelerator = gtk_accelerator_name (key->accel_key,
- key->accel_mods);
- }
- }
- }
- /*
- * Concatenate the bindings
- */
- if (item_keybinding || full_keybinding || accelerator)
- {
- gchar *temp;
- if (item_keybinding)
- {
- keybinding = g_strconcat (item_keybinding, KEYBINDING_SEPARATOR, NULL);
- g_free (item_keybinding);
- }
- else
- keybinding = g_strconcat (KEYBINDING_SEPARATOR, NULL);
-
- if (full_keybinding)
- {
- temp = g_strconcat (keybinding, full_keybinding,
- KEYBINDING_SEPARATOR, NULL);
- g_free (full_keybinding);
- }
- else
- temp = g_strconcat (keybinding, KEYBINDING_SEPARATOR, NULL);
-
- g_free (keybinding);
- keybinding = temp;
- if (accelerator)
- {
- temp = g_strconcat (keybinding, accelerator, NULL);
- g_free (accelerator);
- g_free (keybinding);
- keybinding = temp;
- }
- }
- g_free (gail_menu_item->click_keybinding);
- gail_menu_item->click_keybinding = keybinding;
- return keybinding;
-}
-
-static gboolean
-gail_menu_item_set_description (AtkAction *action,
- gint i,
- const gchar *desc)
-{
- if (i == 0)
- {
- GailMenuItem *item;
-
- item = GAIL_MENU_ITEM (action);
- g_free (item->click_description);
- item->click_description = g_strdup (desc);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static void
-gail_menu_item_finalize (GObject *object)
-{
- GailMenuItem *menu_item = GAIL_MENU_ITEM (object);
-
- g_free (menu_item->click_keybinding);
- g_free (menu_item->click_description);
- if (menu_item->action_idle_handler)
- {
- g_source_remove (menu_item->action_idle_handler);
- menu_item->action_idle_handler = 0;
- }
-
- if (menu_item->textutil)
- {
- g_object_unref (menu_item->textutil);
- }
- if (menu_item->text)
- {
- g_free (menu_item->text);
- menu_item->text = NULL;
- }
-
- G_OBJECT_CLASS (gail_menu_item_parent_class)->finalize (object);
-}
-
-static const gchar *
-gail_menu_item_get_name (AtkObject *obj)
-{
- const gchar* name;
- GtkWidget *widget;
- GtkWidget *label;
-
- name = ATK_OBJECT_CLASS (gail_menu_item_parent_class)->get_name (obj);
-
- if (name)
- return name;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- return NULL;
-
- label = get_label_from_container (widget);
- if (GTK_IS_LABEL (label))
- return gtk_label_get_text (GTK_LABEL(label));
-
- return NULL;
-}
-
-static void
-menu_item_select (GtkMenuItem *item)
-{
- menu_item_selection (item, TRUE);
-}
-
-static void
-menu_item_deselect (GtkMenuItem *item)
-{
- menu_item_selection (item, FALSE);
-}
-
-static void
-menu_item_selection (GtkMenuItem *item,
- gboolean selected)
-{
- AtkObject *obj, *parent;
- gint i;
-
- obj = gtk_widget_get_accessible (GTK_WIDGET (item));
- atk_object_notify_state_change (obj, ATK_STATE_SELECTED, selected);
-
- for (i = 0; i < atk_object_get_n_accessible_children (obj); i++)
- {
- AtkObject *child;
- child = atk_object_ref_accessible_child (obj, i);
- atk_object_notify_state_change (child, ATK_STATE_SHOWING, selected);
- g_object_unref (child);
- }
- parent = atk_object_get_parent (obj);
- g_signal_emit_by_name (parent, "selection_changed");
-}
-
-static gboolean
-find_accel (GtkAccelKey *key,
- GClosure *closure,
- gpointer data)
-{
- /*
- * We assume that closure->data points to the widget
- * pending gtk_widget_get_accel_closures being made public
- */
- return data == (gpointer) closure->data;
-}
-
-static gboolean
-find_accel_new (GtkAccelKey *key,
- GClosure *closure,
- gpointer data)
-{
- return data == (gpointer) closure;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_MENU_ITEM_H__
-#define __GAIL_MENU_ITEM_H__
-
-#include <gail/gailcontainer.h>
-#include <libgail-util/gailtextutil.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_MENU_ITEM (gail_menu_item_get_type ())
-#define GAIL_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_MENU_ITEM, GailMenuItem))
-#define GAIL_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_MENU_ITEM, GailMenuItemClass))
-#define GAIL_IS_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_MENU_ITEM))
-#define GAIL_IS_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_MENU_ITEM))
-#define GAIL_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_MENU_ITEM, GailMenuItemClass))
-
-typedef struct _GailMenuItem GailMenuItem;
-typedef struct _GailMenuItemClass GailMenuItemClass;
-
-struct _GailMenuItem
-{
- GailContainer parent;
-
- GailTextUtil *textutil;
-
- gchar *text;
-
- gchar *click_keybinding;
- gchar *click_description;
- guint action_idle_handler;
-};
-
-GType gail_menu_item_get_type (void);
-
-struct _GailMenuItemClass
-{
- GailContainerClass parent_class;
-};
-
-AtkObject* gail_menu_item_new (GtkWidget *widget);
-
-G_END_DECLS
-
-#endif /* __GAIL_MENU_ITEM_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailmenushell.h"
-
-static void gail_menu_shell_class_init (GailMenuShellClass *klass);
-static void gail_menu_shell_init (GailMenuShell *menu_shell);
-static void gail_menu_shell_initialize (AtkObject *accessible,
- gpointer data);
-static void atk_selection_interface_init (AtkSelectionIface *iface);
-static gboolean gail_menu_shell_add_selection (AtkSelection *selection,
- gint i);
-static gboolean gail_menu_shell_clear_selection (AtkSelection *selection);
-static AtkObject* gail_menu_shell_ref_selection (AtkSelection *selection,
- gint i);
-static gint gail_menu_shell_get_selection_count (AtkSelection *selection);
-static gboolean gail_menu_shell_is_child_selected (AtkSelection *selection,
- gint i);
-static gboolean gail_menu_shell_remove_selection (AtkSelection *selection,
- gint i);
-
-G_DEFINE_TYPE_WITH_CODE (GailMenuShell, gail_menu_shell, GAIL_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
-
-static void
-gail_menu_shell_class_init (GailMenuShellClass *klass)
-{
- AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
-
- atk_object_class->initialize = gail_menu_shell_initialize;
-}
-
-static void
-gail_menu_shell_init (GailMenuShell *menu_shell)
-{
-}
-
-static void
-gail_menu_shell_initialize (AtkObject *accessible,
- gpointer data)
-{
- ATK_OBJECT_CLASS (gail_menu_shell_parent_class)->initialize (accessible, data);
-
- if (GTK_IS_MENU_BAR (data))
- accessible->role = ATK_ROLE_MENU_BAR;
- else
- /*
- * Accessible object for Menu is created in gailmenu.c
- */
- accessible->role = ATK_ROLE_UNKNOWN;
-}
-
-static void
-atk_selection_interface_init (AtkSelectionIface *iface)
-{
- iface->add_selection = gail_menu_shell_add_selection;
- iface->clear_selection = gail_menu_shell_clear_selection;
- iface->ref_selection = gail_menu_shell_ref_selection;
- iface->get_selection_count = gail_menu_shell_get_selection_count;
- iface->is_child_selected = gail_menu_shell_is_child_selected;
- iface->remove_selection = gail_menu_shell_remove_selection;
- /*
- * select_all_selection does not make sense for a menu_shell
- * so no implementation is provided.
- */
-}
-
-static gboolean
-gail_menu_shell_add_selection (AtkSelection *selection,
- gint i)
-{
- GList *kids;
- GtkWidget *item;
- guint length;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- {
- /* State is defunct */
- return FALSE;
- }
-
- kids = gtk_container_get_children (GTK_CONTAINER (widget));
- length = g_list_length (kids);
- if (i < 0 || i > length)
- {
- g_list_free (kids);
- return FALSE;
- }
-
- item = g_list_nth_data (kids, i);
- g_list_free (kids);
- g_return_val_if_fail (GTK_IS_MENU_ITEM(item), FALSE);
- gtk_menu_shell_select_item (GTK_MENU_SHELL (widget), item);
- return TRUE;
-}
-
-static gboolean
-gail_menu_shell_clear_selection (AtkSelection *selection)
-{
- GtkMenuShell *shell;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- {
- /* State is defunct */
- return FALSE;
- }
-
- shell = GTK_MENU_SHELL (widget);
-
- gtk_menu_shell_deselect (shell);
- return TRUE;
-}
-
-static AtkObject*
-gail_menu_shell_ref_selection (AtkSelection *selection,
- gint i)
-{
- GtkMenuShell *shell;
- AtkObject *obj;
- GtkWidget *widget;
- GtkWidget *item;
-
- if (i != 0)
- return NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- {
- /* State is defunct */
- return NULL;
- }
-
- shell = GTK_MENU_SHELL (widget);
-
- item = gtk_menu_shell_get_selected_item (shell);
- if (item != NULL)
- {
- obj = gtk_widget_get_accessible (item);
- g_object_ref (obj);
- return obj;
- }
- else
- {
- return NULL;
- }
-}
-
-static gint
-gail_menu_shell_get_selection_count (AtkSelection *selection)
-{
- GtkMenuShell *shell;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- {
- /* State is defunct */
- return 0;
- }
-
- shell = GTK_MENU_SHELL (widget);
-
- /*
- * Identifies the currently selected menu item
- */
- if (gtk_menu_shell_get_selected_item (shell) == NULL)
- {
- return 0;
- }
- else
- {
- return 1;
- }
-}
-
-static gboolean
-gail_menu_shell_is_child_selected (AtkSelection *selection,
- gint i)
-{
- GtkMenuShell *shell;
- GList *kids;
- gint j;
- GtkWidget *widget;
- GtkWidget *item;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- {
- /* State is defunct */
- return FALSE;
- }
-
- shell = GTK_MENU_SHELL (widget);
- item = gtk_menu_shell_get_selected_item (shell);
- if (item == NULL)
- return FALSE;
-
- kids = gtk_container_get_children (GTK_CONTAINER (shell));
- j = g_list_index (kids, item);
- g_list_free (kids);
-
- return (j==i);
-}
-
-static gboolean
-gail_menu_shell_remove_selection (AtkSelection *selection,
- gint i)
-{
- GtkMenuShell *shell;
- GtkWidget *widget;
- GtkWidget *item;
-
- if (i != 0)
- return FALSE;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- {
- /* State is defunct */
- return FALSE;
- }
-
- shell = GTK_MENU_SHELL (widget);
-
- item = gtk_menu_shell_get_selected_item (shell);
- if (item && gtk_menu_item_get_submenu (GTK_MENU_ITEM (item)))
- {
- /*
- * Menu item contains a menu and it is the selected menu item
- * so deselect it.
- */
- gtk_menu_shell_deselect (shell);
- }
- return TRUE;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_MENU_SHELL_H__
-#define __GAIL_MENU_SHELL_H__
-
-#include <gail/gailcontainer.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_MENU_SHELL (gail_menu_shell_get_type ())
-#define GAIL_MENU_SHELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_MENU_SHELL, GailMenuShell))
-#define GAIL_MENU_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_MENU_SHELL, GailMenuShellClass))
-#define GAIL_IS_MENU_SHELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_MENU_SHELL))
-#define GAIL_IS_MENU_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_MENU_SHELL))
-#define GAIL_MENU_SHELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_MENU_SHELL, GailMenuShellClass))
-
-typedef struct _GailMenuShell GailMenuShell;
-typedef struct _GailMenuShellClass GailMenuShellClass;
-
-struct _GailMenuShell
-{
- GailContainer parent;
-};
-
-GType gail_menu_shell_get_type (void);
-
-struct _GailMenuShellClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_MENU_SHELL_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include "gailnotebook.h"
-#include "gailnotebookpage.h"
-#include "gail-private-macros.h"
-
-static void gail_notebook_class_init (GailNotebookClass *klass);
-static void gail_notebook_init (GailNotebook *notebook);
-static void gail_notebook_finalize (GObject *object);
-static void gail_notebook_real_initialize (AtkObject *obj,
- gpointer data);
-
-static void gail_notebook_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-
-static AtkObject* gail_notebook_ref_child (AtkObject *obj,
- gint i);
-static gint gail_notebook_real_remove_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data);
-static void atk_selection_interface_init (AtkSelectionIface *iface);
-static gboolean gail_notebook_add_selection (AtkSelection *selection,
- gint i);
-static AtkObject* gail_notebook_ref_selection (AtkSelection *selection,
- gint i);
-static gint gail_notebook_get_selection_count (AtkSelection *selection);
-static gboolean gail_notebook_is_child_selected (AtkSelection *selection,
- gint i);
-static AtkObject* find_child_in_list (GList *list,
- gint index);
-static void check_cache (GailNotebook *gail_notebook,
- GtkNotebook *notebook);
-static void reset_cache (GailNotebook *gail_notebook,
- gint index);
-static void create_notebook_page_accessible (GailNotebook *gail_notebook,
- GtkNotebook *notebook,
- gint index,
- gboolean insert_before,
- GList *list);
-static void gail_notebook_child_parent_set (GtkWidget *widget,
- GtkWidget *old_parent,
- gpointer data);
-static gboolean gail_notebook_focus_cb (GtkWidget *widget,
- GtkDirectionType type);
-static gboolean gail_notebook_check_focus_tab (gpointer data);
-static void gail_notebook_destroyed (gpointer data);
-
-
-G_DEFINE_TYPE_WITH_CODE (GailNotebook, gail_notebook, GAIL_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
-
-static void
-gail_notebook_class_init (GailNotebookClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GailWidgetClass *widget_class;
- GailContainerClass *container_class;
-
- widget_class = (GailWidgetClass*)klass;
- container_class = (GailContainerClass*)klass;
-
- gobject_class->finalize = gail_notebook_finalize;
-
- widget_class->notify_gtk = gail_notebook_real_notify_gtk;
-
- class->ref_child = gail_notebook_ref_child;
- class->initialize = gail_notebook_real_initialize;
- /*
- * We do not provide an implementation of get_n_children
- * as the implementation in GailContainer returns the correct
- * number of children.
- */
- container_class->remove_gtk = gail_notebook_real_remove_gtk;
-}
-
-static void
-gail_notebook_init (GailNotebook *notebook)
-{
- notebook->page_cache = NULL;
- notebook->selected_page = -1;
- notebook->focus_tab_page = -1;
- notebook->remove_index = -1;
- notebook->idle_focus_id = 0;
-}
-
-static AtkObject*
-gail_notebook_ref_child (AtkObject *obj,
- gint i)
-{
- AtkObject *accessible = NULL;
- GailNotebook *gail_notebook;
- GtkNotebook *gtk_notebook;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- gail_notebook = GAIL_NOTEBOOK (obj);
-
- gtk_notebook = GTK_NOTEBOOK (widget);
-
- if (gail_notebook->page_count < gtk_notebook_get_n_pages (gtk_notebook))
- check_cache (gail_notebook, gtk_notebook);
-
- accessible = find_child_in_list (gail_notebook->page_cache, i);
-
- if (accessible != NULL)
- g_object_ref (accessible);
-
- return accessible;
-}
-
-static void
-gail_notebook_page_added (GtkNotebook *gtk_notebook,
- GtkWidget *child,
- guint page_num,
- gpointer data)
-{
- AtkObject *atk_obj;
- GailNotebook *notebook;
-
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (gtk_notebook));
- notebook = GAIL_NOTEBOOK (atk_obj);
- create_notebook_page_accessible (notebook, gtk_notebook, page_num, FALSE, NULL);
- notebook->page_count++;
-}
-
-static void
-gail_notebook_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GailNotebook *notebook;
- GtkNotebook *gtk_notebook;
- gint i;
-
- ATK_OBJECT_CLASS (gail_notebook_parent_class)->initialize (obj, data);
-
- notebook = GAIL_NOTEBOOK (obj);
- gtk_notebook = GTK_NOTEBOOK (data);
- for (i = 0; i < gtk_notebook_get_n_pages (gtk_notebook); i++)
- {
- create_notebook_page_accessible (notebook, gtk_notebook, i, FALSE, NULL);
- }
- notebook->page_count = i;
- notebook->selected_page = gtk_notebook_get_current_page (gtk_notebook);
-
- g_signal_connect (gtk_notebook,
- "focus",
- G_CALLBACK (gail_notebook_focus_cb),
- NULL);
- g_signal_connect (gtk_notebook,
- "page-added",
- G_CALLBACK (gail_notebook_page_added),
- NULL);
- g_object_weak_ref (G_OBJECT(gtk_notebook),
- (GWeakNotify) gail_notebook_destroyed,
- obj);
-
- obj->role = ATK_ROLE_PAGE_TAB_LIST;
-}
-
-static void
-gail_notebook_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GtkWidget *widget;
- AtkObject* atk_obj;
-
- widget = GTK_WIDGET (obj);
- atk_obj = gtk_widget_get_accessible (widget);
-
- if (strcmp (pspec->name, "page") == 0)
- {
- gint page_num, old_page_num;
- gint focus_page_num = 0;
- gint old_focus_page_num;
- GailNotebook *gail_notebook;
- GtkNotebook *gtk_notebook;
-
- gail_notebook = GAIL_NOTEBOOK (atk_obj);
- gtk_notebook = GTK_NOTEBOOK (widget);
-
- if (gail_notebook->page_count < gtk_notebook_get_n_pages (gtk_notebook))
- check_cache (gail_notebook, gtk_notebook);
- /*
- * Notify SELECTED state change for old and new page
- */
- old_page_num = gail_notebook->selected_page;
- page_num = gtk_notebook_get_current_page (gtk_notebook);
- gail_notebook->selected_page = page_num;
- gail_notebook->focus_tab_page = page_num;
- old_focus_page_num = gail_notebook->focus_tab_page;
-
- if (page_num != old_page_num)
- {
- AtkObject *obj;
-
- if (old_page_num != -1)
- {
- obj = gail_notebook_ref_child (atk_obj, old_page_num);
- if (obj)
- {
- atk_object_notify_state_change (obj,
- ATK_STATE_SELECTED,
- FALSE);
- g_object_unref (obj);
- }
- }
- obj = gail_notebook_ref_child (atk_obj, page_num);
- if (obj)
- {
- atk_object_notify_state_change (obj,
- ATK_STATE_SELECTED,
- TRUE);
- g_object_unref (obj);
- /*
- * The page which is being displayed has changed but there is
- * no need to tell the focus tracker as the focus page will also
- * change or a widget in the page will receive focus if the
- * Notebook does not have tabs.
- */
- }
- g_signal_emit_by_name (atk_obj, "selection_changed");
- g_signal_emit_by_name (atk_obj, "visible_data_changed");
- }
- if (gtk_notebook_get_show_tabs (gtk_notebook) &&
- (focus_page_num != old_focus_page_num))
- {
- if (gail_notebook->idle_focus_id)
- g_source_remove (gail_notebook->idle_focus_id);
- gail_notebook->idle_focus_id = gdk_threads_add_idle (gail_notebook_check_focus_tab, atk_obj);
- }
- }
- else
- GAIL_WIDGET_CLASS (gail_notebook_parent_class)->notify_gtk (obj, pspec);
-}
-
-static void
-gail_notebook_finalize (GObject *object)
-{
- GailNotebook *notebook = GAIL_NOTEBOOK (object);
- GList *list;
-
- /*
- * Get rid of the GailNotebookPage objects which we have cached.
- */
- list = notebook->page_cache;
- if (list != NULL)
- {
- while (list)
- {
- g_object_unref (list->data);
- list = list->next;
- }
- }
-
- g_list_free (notebook->page_cache);
-
- if (notebook->idle_focus_id)
- g_source_remove (notebook->idle_focus_id);
-
- G_OBJECT_CLASS (gail_notebook_parent_class)->finalize (object);
-}
-
-static void
-atk_selection_interface_init (AtkSelectionIface *iface)
-{
- iface->add_selection = gail_notebook_add_selection;
- iface->ref_selection = gail_notebook_ref_selection;
- iface->get_selection_count = gail_notebook_get_selection_count;
- iface->is_child_selected = gail_notebook_is_child_selected;
- /*
- * The following don't make any sense for GtkNotebook widgets.
- * Unsupported AtkSelection interfaces:
- * clear_selection();
- * remove_selection();
- * select_all_selection();
- */
-}
-
-/*
- * GtkNotebook only supports the selection of one page at a time.
- * Selecting a page unselects any previous selection, so this
- * changes the current selection instead of adding to it.
- */
-static gboolean
-gail_notebook_add_selection (AtkSelection *selection,
- gint i)
-{
- GtkNotebook *notebook;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
- notebook = GTK_NOTEBOOK (widget);
- gtk_notebook_set_current_page (notebook, i);
- return TRUE;
-}
-
-static AtkObject*
-gail_notebook_ref_selection (AtkSelection *selection,
- gint i)
-{
- AtkObject *accessible;
- GtkWidget *widget;
- GtkNotebook *notebook;
- gint pagenum;
-
- /*
- * A note book can have only one selection.
- */
- gail_return_val_if_fail (i == 0, NULL);
- g_return_val_if_fail (GAIL_IS_NOTEBOOK (selection), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- notebook = GTK_NOTEBOOK (widget);
- pagenum = gtk_notebook_get_current_page (notebook);
- gail_return_val_if_fail (pagenum != -1, NULL);
- accessible = gail_notebook_ref_child (ATK_OBJECT (selection), pagenum);
-
- return accessible;
-}
-
-/*
- * Always return 1 because there can only be one page
- * selected at any time
- */
-static gint
-gail_notebook_get_selection_count (AtkSelection *selection)
-{
- GtkWidget *widget;
- GtkNotebook *notebook;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return 0;
-
- notebook = GTK_NOTEBOOK (widget);
- if (notebook == NULL || gtk_notebook_get_current_page (notebook) == -1)
- return 0;
- else
- return 1;
-}
-
-static gboolean
-gail_notebook_is_child_selected (AtkSelection *selection,
- gint i)
-{
- GtkWidget *widget;
- GtkNotebook *notebook;
- gint pagenumber;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
-
- notebook = GTK_NOTEBOOK (widget);
- pagenumber = gtk_notebook_get_current_page(notebook);
-
- if (pagenumber == i)
- return TRUE;
- else
- return FALSE;
-}
-
-static AtkObject*
-find_child_in_list (GList *list,
- gint index)
-{
- AtkObject *obj = NULL;
-
- while (list)
- {
- if (GAIL_NOTEBOOK_PAGE (list->data)->index == index)
- {
- obj = ATK_OBJECT (list->data);
- break;
- }
- list = list->next;
- }
- return obj;
-}
-
-static void
-check_cache (GailNotebook *gail_notebook,
- GtkNotebook *notebook)
-{
- GList *gtk_list;
- GList *gail_list;
- gint i;
-
- gtk_list = gtk_container_get_children (GTK_CONTAINER (notebook));
- gail_list = gail_notebook->page_cache;
-
- i = 0;
- while (gtk_list)
- {
- if (!gail_list)
- {
- create_notebook_page_accessible (gail_notebook, notebook, i, FALSE, NULL);
- }
- else if (GAIL_NOTEBOOK_PAGE (gail_list->data)->page != gtk_list->data)
- {
- create_notebook_page_accessible (gail_notebook, notebook, i, TRUE, gail_list);
- }
- else
- {
- gail_list = gail_list->next;
- }
- i++;
- gtk_list = gtk_list->next;
- }
- g_list_free (gtk_list);
-
- gail_notebook->page_count = i;
-}
-
-static void
-reset_cache (GailNotebook *gail_notebook,
- gint index)
-{
- GList *l;
-
- for (l = gail_notebook->page_cache; l; l = l->next)
- {
- if (GAIL_NOTEBOOK_PAGE (l->data)->index > index)
- GAIL_NOTEBOOK_PAGE (l->data)->index -= 1;
- }
-}
-
-static void
-create_notebook_page_accessible (GailNotebook *gail_notebook,
- GtkNotebook *notebook,
- gint index,
- gboolean insert_before,
- GList *list)
-{
- AtkObject *obj;
-
- obj = gail_notebook_page_new (notebook, index);
- g_object_ref (obj);
- if (insert_before)
- gail_notebook->page_cache = g_list_insert_before (gail_notebook->page_cache, list, obj);
- else
- gail_notebook->page_cache = g_list_append (gail_notebook->page_cache, obj);
- g_signal_connect (gtk_notebook_get_nth_page (notebook, index),
- "parent_set",
- G_CALLBACK (gail_notebook_child_parent_set),
- obj);
-}
-
-static void
-gail_notebook_child_parent_set (GtkWidget *widget,
- GtkWidget *old_parent,
- gpointer data)
-{
- GailNotebook *gail_notebook;
-
- gail_return_if_fail (old_parent != NULL);
- gail_notebook = GAIL_NOTEBOOK (gtk_widget_get_accessible (old_parent));
- gail_notebook->remove_index = GAIL_NOTEBOOK_PAGE (data)->index;
-}
-
-static gint
-gail_notebook_real_remove_gtk (GtkContainer *container,
- GtkWidget *widget,
- gpointer data)
-{
- GailNotebook *gail_notebook;
- AtkObject *obj;
- gint index;
-
- g_return_val_if_fail (container != NULL, 1);
- gail_notebook = GAIL_NOTEBOOK (gtk_widget_get_accessible (GTK_WIDGET (container)));
- index = gail_notebook->remove_index;
- gail_notebook->remove_index = -1;
-
- obj = find_child_in_list (gail_notebook->page_cache, index);
- g_return_val_if_fail (obj, 1);
- gail_notebook->page_cache = g_list_remove (gail_notebook->page_cache, obj);
- gail_notebook->page_count -= 1;
- reset_cache (gail_notebook, index);
- g_signal_emit_by_name (gail_notebook,
- "children_changed::remove",
- GAIL_NOTEBOOK_PAGE (obj)->index,
- obj, NULL);
- g_object_unref (obj);
- return 1;
-}
-
-static gboolean
-gail_notebook_focus_cb (GtkWidget *widget,
- GtkDirectionType type)
-{
- AtkObject *atk_obj = gtk_widget_get_accessible (widget);
- GailNotebook *gail_notebook = GAIL_NOTEBOOK (atk_obj);
-
- switch (type)
- {
- case GTK_DIR_LEFT:
- case GTK_DIR_RIGHT:
- if (gail_notebook->idle_focus_id == 0)
- gail_notebook->idle_focus_id = gdk_threads_add_idle (gail_notebook_check_focus_tab, atk_obj);
- break;
- default:
- break;
- }
- return FALSE;
-}
-
-static gboolean
-gail_notebook_check_focus_tab (gpointer data)
-{
- GtkWidget *widget;
- AtkObject *atk_obj;
- gint focus_page_num, old_focus_page_num;
- GailNotebook *gail_notebook;
- GtkNotebook *gtk_notebook;
-
- atk_obj = ATK_OBJECT (data);
- gail_notebook = GAIL_NOTEBOOK (atk_obj);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_obj));
-
- gtk_notebook = GTK_NOTEBOOK (widget);
-
- gail_notebook->idle_focus_id = 0;
-
- focus_page_num = gtk_notebook_get_current_page (gtk_notebook);
- if (focus_page_num == -1)
- return FALSE;
-
- old_focus_page_num = gail_notebook->focus_tab_page;
- gail_notebook->focus_tab_page = focus_page_num;
- if (old_focus_page_num != focus_page_num)
- {
- AtkObject *obj;
-
- obj = atk_object_ref_accessible_child (atk_obj, focus_page_num);
- atk_focus_tracker_notify (obj);
- g_object_unref (obj);
- }
-
- return FALSE;
-}
-
-static void
-gail_notebook_destroyed (gpointer data)
-{
- GailNotebook *gail_notebook = GAIL_NOTEBOOK (data);
-
- if (gail_notebook->idle_focus_id)
- {
- g_source_remove (gail_notebook->idle_focus_id);
- gail_notebook->idle_focus_id = 0;
- }
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_NOTEBOOK_H__
-#define __GAIL_NOTEBOOK_H__
-
-#include <gail/gailcontainer.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_NOTEBOOK (gail_notebook_get_type ())
-#define GAIL_NOTEBOOK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_NOTEBOOK, GailNotebook))
-#define GAIL_NOTEBOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_NOTEBOOK, GailNotebookClass))
-#define GAIL_IS_NOTEBOOK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_NOTEBOOK))
-#define GAIL_IS_NOTEBOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_NOTEBOOK))
-#define GAIL_NOTEBOOK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_NOTEBOOK, GailNotebookClass))
-
-typedef struct _GailNotebook GailNotebook;
-typedef struct _GailNotebookClass GailNotebookClass;
-
-struct _GailNotebook
-{
- GailContainer parent;
-
- /*
- * page_cache maintains a list of pre-ref'd Notebook Pages.
- * This cache is queried by gail_notebook_ref_child().
- * If the page is found in the list then a new page does not
- * need to be created
- */
- GList* page_cache;
- gint selected_page;
- gint focus_tab_page;
- gint page_count;
- guint idle_focus_id;
-
- gint remove_index;
-};
-
-GType gail_notebook_get_type (void);
-
-struct _GailNotebookClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_NOTEBOOK_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include "gailnotebookpage.h"
-#include <libgail-util/gailmisc.h>
-#include "gail-private-macros.h"
-
-static void gail_notebook_page_class_init (GailNotebookPageClass *klass);
-static void gail_notebook_page_init (GailNotebookPage *page);
-static void gail_notebook_page_finalize (GObject *object);
-static void gail_notebook_page_label_map_gtk (GtkWidget *widget,
- gpointer data);
-
-static const gchar* gail_notebook_page_get_name (AtkObject *accessible);
-static AtkObject* gail_notebook_page_get_parent (AtkObject *accessible);
-static gint gail_notebook_page_get_n_children (AtkObject *accessible);
-static AtkObject* gail_notebook_page_ref_child (AtkObject *accessible,
- gint i);
-static gint gail_notebook_page_get_index_in_parent
- (AtkObject *accessible);
-static AtkStateSet* gail_notebook_page_ref_state_set (AtkObject *accessible);
-
-static gint gail_notebook_page_notify (GObject *obj,
- GParamSpec *pspec,
- gpointer user_data);
-static void gail_notebook_page_init_textutil (GailNotebookPage *notebook_page,
- GtkWidget *label);
-
-static void atk_component_interface_init (AtkComponentIface *iface);
-
-static AtkObject* gail_notebook_page_ref_accessible_at_point
- (AtkComponent *component,
- gint x,
- gint y,
- AtkCoordType coord_type);
-
-static void gail_notebook_page_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type);
-
-static AtkObject* _gail_notebook_page_get_tab_label (GailNotebookPage *page);
-
-/* atktext.h */
-static void atk_text_interface_init (AtkTextIface *iface);
-
-static gchar* gail_notebook_page_get_text (AtkText *text,
- gint start_pos,
- gint end_pos);
-static gunichar gail_notebook_page_get_character_at_offset
- (AtkText *text,
- gint offset);
-static gchar* gail_notebook_page_get_text_before_offset
- (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_notebook_page_get_text_at_offset
- (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_notebook_page_get_text_after_offset
- (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gint gail_notebook_page_get_character_count (AtkText *text);
-static void gail_notebook_page_get_character_extents
- (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords);
-static gint gail_notebook_page_get_offset_at_point
- (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords);
-static AtkAttributeSet* gail_notebook_page_get_run_attributes
- (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static AtkAttributeSet* gail_notebook_page_get_default_attributes
- (AtkText *text);
-static GtkWidget* get_label_from_notebook_page (GailNotebookPage *page);
-static GtkWidget* find_label_child (GtkContainer *container);
-
-/* FIXME: not GAIL_TYPE_OBJECT? */
-G_DEFINE_TYPE_WITH_CODE (GailNotebookPage, gail_notebook_page, ATK_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
-
-static void
-gail_notebook_page_class_init (GailNotebookPageClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->get_name = gail_notebook_page_get_name;
- class->get_parent = gail_notebook_page_get_parent;
- class->get_n_children = gail_notebook_page_get_n_children;
- class->ref_child = gail_notebook_page_ref_child;
- class->ref_state_set = gail_notebook_page_ref_state_set;
- class->get_index_in_parent = gail_notebook_page_get_index_in_parent;
-
- gobject_class->finalize = gail_notebook_page_finalize;
-}
-
-static void
-gail_notebook_page_init (GailNotebookPage *page)
-{
-}
-
-static gint
-notify_child_added (gpointer data)
-{
- GailNotebookPage *page;
- AtkObject *atk_object, *atk_parent;
-
- g_return_val_if_fail (GAIL_IS_NOTEBOOK_PAGE (data), FALSE);
- page = GAIL_NOTEBOOK_PAGE (data);
- atk_object = ATK_OBJECT (data);
-
- page->notify_child_added_id = 0;
-
- /* The widget page->notebook may be deleted before this handler is called */
- if (page->notebook != NULL)
- {
- atk_parent = gtk_widget_get_accessible (GTK_WIDGET (page->notebook));
- atk_object_set_parent (atk_object, atk_parent);
- g_signal_emit_by_name (atk_parent, "children_changed::add", page->index, atk_object, NULL);
- }
-
- return FALSE;
-}
-
-AtkObject*
-gail_notebook_page_new (GtkNotebook *notebook,
- gint pagenum)
-{
- GObject *object;
- AtkObject *atk_object;
- GailNotebookPage *page;
- GtkWidget *child;
- GtkWidget *label;
- GtkWidget *widget_page;
-
- g_return_val_if_fail (GTK_IS_NOTEBOOK (notebook), NULL);
-
- child = gtk_notebook_get_nth_page (notebook, pagenum);
-
- if (!child)
- return NULL;
-
- object = g_object_new (GAIL_TYPE_NOTEBOOK_PAGE, NULL);
- g_return_val_if_fail (object != NULL, NULL);
-
- page = GAIL_NOTEBOOK_PAGE (object);
- page->notebook = notebook;
- g_object_add_weak_pointer (G_OBJECT (page->notebook), (gpointer *)&page->notebook);
- page->index = pagenum;
- widget_page = gtk_notebook_get_nth_page (notebook, pagenum);
- page->page = widget_page;
- page->textutil = NULL;
-
- atk_object = ATK_OBJECT (page);
- atk_object->role = ATK_ROLE_PAGE_TAB;
- atk_object->layer = ATK_LAYER_WIDGET;
-
- page->notify_child_added_id = gdk_threads_add_idle (notify_child_added, atk_object);
- /*
- * We get notified of changes to the label
- */
- label = get_label_from_notebook_page (page);
- if (GTK_IS_LABEL (label))
- {
- if (gtk_widget_get_mapped (label))
- gail_notebook_page_init_textutil (page, label);
- else
- g_signal_connect (label,
- "map",
- G_CALLBACK (gail_notebook_page_label_map_gtk),
- page);
- }
-
- return atk_object;
-}
-
-static void
-gail_notebook_page_label_map_gtk (GtkWidget *widget,
- gpointer data)
-{
- GailNotebookPage *page;
-
- page = GAIL_NOTEBOOK_PAGE (data);
- gail_notebook_page_init_textutil (page, widget);
-}
-
-static void
-gail_notebook_page_init_textutil (GailNotebookPage *page,
- GtkWidget *label)
-{
- const gchar *label_text;
-
- if (page->textutil == NULL)
- {
- page->textutil = gail_text_util_new ();
- g_signal_connect (label,
- "notify",
- (GCallback) gail_notebook_page_notify,
- page);
- }
- label_text = gtk_label_get_text (GTK_LABEL (label));
- gail_text_util_text_setup (page->textutil, label_text);
-}
-
-static gint
-gail_notebook_page_notify (GObject *obj,
- GParamSpec *pspec,
- gpointer user_data)
-{
- AtkObject *atk_obj = ATK_OBJECT (user_data);
- GtkLabel *label;
- GailNotebookPage *page;
-
- if (strcmp (pspec->name, "label") == 0)
- {
- const gchar* label_text;
-
- label = GTK_LABEL (obj);
-
- label_text = gtk_label_get_text (label);
-
- page = GAIL_NOTEBOOK_PAGE (atk_obj);
- gail_text_util_text_setup (page->textutil, label_text);
-
- if (atk_obj->name == NULL)
- {
- /*
- * The label has changed so notify a change in accessible-name
- */
- g_object_notify (G_OBJECT (atk_obj), "accessible-name");
- }
- /*
- * The label is the only property which can be changed
- */
- g_signal_emit_by_name (atk_obj, "visible_data_changed");
- }
- return 1;
-}
-
-static void
-gail_notebook_page_finalize (GObject *object)
-{
- GailNotebookPage *page = GAIL_NOTEBOOK_PAGE (object);
-
- if (page->notebook)
- g_object_remove_weak_pointer (G_OBJECT (page->notebook), (gpointer *)&page->notebook);
-
- if (page->textutil)
- g_object_unref (page->textutil);
-
- if (page->notify_child_added_id)
- g_source_remove (page->notify_child_added_id);
-
- G_OBJECT_CLASS (gail_notebook_page_parent_class)->finalize (object);
-}
-
-static const gchar*
-gail_notebook_page_get_name (AtkObject *accessible)
-{
- g_return_val_if_fail (GAIL_IS_NOTEBOOK_PAGE (accessible), NULL);
-
- if (accessible->name != NULL)
- return accessible->name;
- else
- {
- GtkWidget *label;
-
- label = get_label_from_notebook_page (GAIL_NOTEBOOK_PAGE (accessible));
- if (GTK_IS_LABEL (label))
- return gtk_label_get_text (GTK_LABEL (label));
- else
- return NULL;
- }
-}
-
-static AtkObject*
-gail_notebook_page_get_parent (AtkObject *accessible)
-{
- GailNotebookPage *page;
-
- g_return_val_if_fail (GAIL_IS_NOTEBOOK_PAGE (accessible), NULL);
-
- page = GAIL_NOTEBOOK_PAGE (accessible);
-
- if (!page->notebook)
- return NULL;
-
- return gtk_widget_get_accessible (GTK_WIDGET (page->notebook));
-}
-
-static gint
-gail_notebook_page_get_n_children (AtkObject *accessible)
-{
- /* Notebook page has only one child */
- g_return_val_if_fail (GAIL_IS_NOTEBOOK_PAGE (accessible), 0);
-
- return 1;
-}
-
-static AtkObject*
-gail_notebook_page_ref_child (AtkObject *accessible,
- gint i)
-{
- GtkWidget *child;
- AtkObject *child_obj;
- GailNotebookPage *page = NULL;
-
- g_return_val_if_fail (GAIL_IS_NOTEBOOK_PAGE (accessible), NULL);
- if (i != 0)
- return NULL;
-
- page = GAIL_NOTEBOOK_PAGE (accessible);
- if (!page->notebook)
- return NULL;
-
- child = gtk_notebook_get_nth_page (page->notebook, page->index);
- gail_return_val_if_fail (GTK_IS_WIDGET (child), NULL);
-
- child_obj = gtk_widget_get_accessible (child);
- g_object_ref (child_obj);
- return child_obj;
-}
-
-static gint
-gail_notebook_page_get_index_in_parent (AtkObject *accessible)
-{
- GailNotebookPage *page;
-
- g_return_val_if_fail (GAIL_IS_NOTEBOOK_PAGE (accessible), -1);
- page = GAIL_NOTEBOOK_PAGE (accessible);
-
- return page->index;
-}
-
-static AtkStateSet*
-gail_notebook_page_ref_state_set (AtkObject *accessible)
-{
- AtkStateSet *state_set, *label_state_set, *merged_state_set;
- AtkObject *atk_label;
-
- g_return_val_if_fail (GAIL_NOTEBOOK_PAGE (accessible), NULL);
-
- state_set = ATK_OBJECT_CLASS (gail_notebook_page_parent_class)->ref_state_set (accessible);
-
- atk_label = _gail_notebook_page_get_tab_label (GAIL_NOTEBOOK_PAGE (accessible));
- if (atk_label)
- {
- label_state_set = atk_object_ref_state_set (atk_label);
- merged_state_set = atk_state_set_or_sets (state_set, label_state_set);
- g_object_unref (label_state_set);
- g_object_unref (state_set);
- }
- else
- {
- AtkObject *child;
-
- child = atk_object_ref_accessible_child (accessible, 0);
- gail_return_val_if_fail (child, state_set);
-
- merged_state_set = state_set;
- state_set = atk_object_ref_state_set (child);
- if (atk_state_set_contains_state (state_set, ATK_STATE_VISIBLE))
- {
- atk_state_set_add_state (merged_state_set, ATK_STATE_VISIBLE);
- if (atk_state_set_contains_state (state_set, ATK_STATE_ENABLED))
- atk_state_set_add_state (merged_state_set, ATK_STATE_ENABLED);
- if (atk_state_set_contains_state (state_set, ATK_STATE_SHOWING))
- atk_state_set_add_state (merged_state_set, ATK_STATE_SHOWING);
-
- }
- g_object_unref (state_set);
- g_object_unref (child);
- }
- return merged_state_set;
-}
-
-
-static void
-atk_component_interface_init (AtkComponentIface *iface)
-{
- /*
- * We use the default implementations for contains, get_position, get_size
- */
- iface->ref_accessible_at_point = gail_notebook_page_ref_accessible_at_point;
- iface->get_extents = gail_notebook_page_get_extents;
-}
-
-static AtkObject*
-gail_notebook_page_ref_accessible_at_point (AtkComponent *component,
- gint x,
- gint y,
- AtkCoordType coord_type)
-{
- /*
- * There is only one child so we return it.
- */
- AtkObject* child;
-
- g_return_val_if_fail (ATK_IS_OBJECT (component), NULL);
-
- child = atk_object_ref_accessible_child (ATK_OBJECT (component), 0);
- return child;
-}
-
-static void
-gail_notebook_page_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
-{
- AtkObject *atk_label;
-
- g_return_if_fail (GAIL_IS_NOTEBOOK_PAGE (component));
-
- atk_label = _gail_notebook_page_get_tab_label (GAIL_NOTEBOOK_PAGE (component));
-
- if (!atk_label)
- {
- AtkObject *child;
-
- *width = 0;
- *height = 0;
-
- child = atk_object_ref_accessible_child (ATK_OBJECT (component), 0);
- gail_return_if_fail (child);
-
- atk_component_get_position (ATK_COMPONENT (child), x, y, coord_type);
- g_object_unref (child);
- }
- else
- {
- atk_component_get_extents (ATK_COMPONENT (atk_label),
- x, y, width, height, coord_type);
- }
- return;
-}
-
-static AtkObject*
-_gail_notebook_page_get_tab_label (GailNotebookPage *page)
-{
- GtkWidget *label;
-
- label = get_label_from_notebook_page (page);
- if (label)
- return gtk_widget_get_accessible (label);
- else
- return NULL;
-}
-
-/* atktext.h */
-
-static void
-atk_text_interface_init (AtkTextIface *iface)
-{
- iface->get_text = gail_notebook_page_get_text;
- iface->get_character_at_offset = gail_notebook_page_get_character_at_offset;
- iface->get_text_before_offset = gail_notebook_page_get_text_before_offset;
- iface->get_text_at_offset = gail_notebook_page_get_text_at_offset;
- iface->get_text_after_offset = gail_notebook_page_get_text_after_offset;
- iface->get_character_count = gail_notebook_page_get_character_count;
- iface->get_character_extents = gail_notebook_page_get_character_extents;
- iface->get_offset_at_point = gail_notebook_page_get_offset_at_point;
- iface->get_run_attributes = gail_notebook_page_get_run_attributes;
- iface->get_default_attributes = gail_notebook_page_get_default_attributes;
-}
-
-static gchar*
-gail_notebook_page_get_text (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkWidget *label;
- GailNotebookPage *notebook_page;
- const gchar *label_text;
-
- notebook_page = GAIL_NOTEBOOK_PAGE (text);
- label = get_label_from_notebook_page (notebook_page);
-
- if (!GTK_IS_LABEL (label))
- return NULL;
-
- if (!notebook_page->textutil)
- gail_notebook_page_init_textutil (notebook_page, label);
-
- label_text = gtk_label_get_text (GTK_LABEL (label));
-
- if (label_text == NULL)
- return NULL;
- else
- {
- return gail_text_util_get_substring (notebook_page->textutil,
- start_pos, end_pos);
- }
-}
-
-static gchar*
-gail_notebook_page_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *label;
- GailNotebookPage *notebook_page;
-
- notebook_page = GAIL_NOTEBOOK_PAGE (text);
- label = get_label_from_notebook_page (notebook_page);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- if (!notebook_page->textutil)
- gail_notebook_page_init_textutil (notebook_page, label);
-
- return gail_text_util_get_text (notebook_page->textutil,
- gtk_label_get_layout (GTK_LABEL (label)), GAIL_BEFORE_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_notebook_page_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *label;
- GailNotebookPage *notebook_page;
-
- notebook_page = GAIL_NOTEBOOK_PAGE (text);
- label = get_label_from_notebook_page (notebook_page);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- if (!notebook_page->textutil)
- gail_notebook_page_init_textutil (notebook_page, label);
-
- return gail_text_util_get_text (notebook_page->textutil,
- gtk_label_get_layout (GTK_LABEL (label)), GAIL_AT_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_notebook_page_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *label;
- GailNotebookPage *notebook_page;
-
- notebook_page = GAIL_NOTEBOOK_PAGE (text);
- label = get_label_from_notebook_page (notebook_page);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- if (!notebook_page->textutil)
- gail_notebook_page_init_textutil (notebook_page, label);
-
- return gail_text_util_get_text (notebook_page->textutil,
- gtk_label_get_layout (GTK_LABEL (label)), GAIL_AFTER_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gint
-gail_notebook_page_get_character_count (AtkText *text)
-{
- GtkWidget *label;
- GailNotebookPage *notebook_page;
-
- notebook_page = GAIL_NOTEBOOK_PAGE (text);
- label = get_label_from_notebook_page (notebook_page);
-
- if (!GTK_IS_LABEL(label))
- return 0;
-
- return g_utf8_strlen (gtk_label_get_text (GTK_LABEL (label)), -1);
-}
-
-static void
-gail_notebook_page_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- GtkWidget *label;
- GailNotebookPage *notebook_page;
- PangoRectangle char_rect;
- gint index, x_layout, y_layout;
- const gchar *label_text;
-
- notebook_page = GAIL_NOTEBOOK_PAGE (text);
- label = get_label_from_notebook_page (notebook_page);
-
- if (!GTK_IS_LABEL(label))
- return;
-
- gtk_label_get_layout_offsets (GTK_LABEL (label), &x_layout, &y_layout);
- label_text = gtk_label_get_text (GTK_LABEL (label));
- index = g_utf8_offset_to_pointer (label_text, offset) - label_text;
- pango_layout_index_to_pos (gtk_label_get_layout (GTK_LABEL (label)), index, &char_rect);
-
- gail_misc_get_extents_from_pango_rectangle (label, &char_rect,
- x_layout, y_layout, x, y, width, height, coords);
-}
-
-static gint
-gail_notebook_page_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- GtkWidget *label;
- GailNotebookPage *notebook_page;
- gint index, x_layout, y_layout;
- const gchar *label_text;
-
- notebook_page = GAIL_NOTEBOOK_PAGE (text);
- label = get_label_from_notebook_page (notebook_page);
-
- if (!GTK_IS_LABEL(label))
- return -1;
-
- gtk_label_get_layout_offsets (GTK_LABEL (label), &x_layout, &y_layout);
-
- index = gail_misc_get_index_at_point_in_layout (label,
- gtk_label_get_layout (GTK_LABEL (label)),
- x_layout, y_layout, x, y, coords);
- label_text = gtk_label_get_text (GTK_LABEL (label));
- if (index == -1)
- {
- if (coords == ATK_XY_WINDOW || coords == ATK_XY_SCREEN)
- return g_utf8_strlen (label_text, -1);
-
- return index;
- }
- else
- return g_utf8_pointer_to_offset (label_text, label_text + index);
-}
-
-static AtkAttributeSet*
-gail_notebook_page_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *label;
- GailNotebookPage *notebook_page;
- AtkAttributeSet *at_set = NULL;
- GtkJustification justify;
- GtkTextDirection dir;
-
- notebook_page = GAIL_NOTEBOOK_PAGE (text);
- label = get_label_from_notebook_page (notebook_page);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- /* Get values set for entire label, if any */
- justify = gtk_label_get_justify (GTK_LABEL (label));
- if (justify != GTK_JUSTIFY_CENTER)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_JUSTIFICATION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_JUSTIFICATION, justify)));
- }
- dir = gtk_widget_get_direction (label);
- if (dir == GTK_TEXT_DIR_RTL)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_DIRECTION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, dir)));
- }
-
- at_set = gail_misc_layout_get_run_attributes (at_set,
- gtk_label_get_layout (GTK_LABEL (label)),
- (gchar *) gtk_label_get_text (GTK_LABEL (label)),
- offset,
- start_offset,
- end_offset);
- return at_set;
-}
-
-static AtkAttributeSet*
-gail_notebook_page_get_default_attributes (AtkText *text)
-{
- GtkWidget *label;
- GailNotebookPage *notebook_page;
- AtkAttributeSet *at_set = NULL;
-
- notebook_page = GAIL_NOTEBOOK_PAGE (text);
- label = get_label_from_notebook_page (notebook_page);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- at_set = gail_misc_get_default_attributes (at_set,
- gtk_label_get_layout (GTK_LABEL (label)),
- label);
- return at_set;
-}
-
-static gunichar
-gail_notebook_page_get_character_at_offset (AtkText *text,
- gint offset)
-{
- GtkWidget *label;
- GailNotebookPage *notebook_page;
- const gchar *string;
- gchar *index;
-
- notebook_page = GAIL_NOTEBOOK_PAGE (text);
- label = get_label_from_notebook_page (notebook_page);
-
- if (!GTK_IS_LABEL(label))
- return '\0';
- string = gtk_label_get_text (GTK_LABEL (label));
- if (offset >= g_utf8_strlen (string, -1))
- return '\0';
- index = g_utf8_offset_to_pointer (string, offset);
-
- return g_utf8_get_char (index);
-}
-
-static GtkWidget*
-get_label_from_notebook_page (GailNotebookPage *page)
-{
- GtkWidget *child;
- GtkNotebook *notebook;
-
- notebook = page->notebook;
- if (!notebook)
- return NULL;
-
- if (!gtk_notebook_get_show_tabs (notebook))
- return NULL;
-
- child = gtk_notebook_get_nth_page (notebook, page->index);
- if (child == NULL) return NULL;
- g_return_val_if_fail (GTK_IS_WIDGET (child), NULL);
-
- child = gtk_notebook_get_tab_label (notebook, child);
-
- if (GTK_IS_LABEL (child))
- return child;
-
- if (GTK_IS_CONTAINER (child))
- child = find_label_child (GTK_CONTAINER (child));
-
- return child;
-}
-
-static GtkWidget*
-find_label_child (GtkContainer *container)
-{
- GList *children, *tmp_list;
- GtkWidget *child;
-
- children = gtk_container_get_children (container);
-
- child = NULL;
- for (tmp_list = children; tmp_list != NULL; tmp_list = tmp_list->next)
- {
- if (GTK_IS_LABEL (tmp_list->data))
- {
- child = GTK_WIDGET (tmp_list->data);
- break;
- }
- else if (GTK_IS_CONTAINER (tmp_list->data))
- {
- child = find_label_child (GTK_CONTAINER (tmp_list->data));
- if (child)
- break;
- }
- }
- g_list_free (children);
- return child;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_NOTEBOOK_PAGE_H__
-#define __GAIL_NOTEBOOK_PAGE_H__
-
-#include <gail/gailnotebook.h>
-#include <libgail-util/gailtextutil.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_NOTEBOOK_PAGE (gail_notebook_page_get_type ())
-#define GAIL_NOTEBOOK_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),GAIL_TYPE_NOTEBOOK_PAGE, GailNotebookPage))
-#define GAIL_NOTEBOOK_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_NOTEBOOK_PAGE, GailNotebookPageClass))
-#define GAIL_IS_NOTEBOOK_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_NOTEBOOK_PAGE))
-#define GAIL_IS_NOTEBOOK_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_NOTEBOOK_PAGE))
-#define GAIL_NOTEBOOK_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_NOTEBOOK_PAGE, GailNotebookPageClass))
-
-typedef struct _GailNotebookPage GailNotebookPage;
-typedef struct _GailNotebookPageClass GailNotebookPageClass;
-
-struct _GailNotebookPage
-{
- AtkObject parent;
-
- GtkNotebook *notebook;
-#ifndef GTK_DISABLE_DEPRECATED
- GtkNotebookPage *page;
-#else
- gpointer page;
-#endif
-
- gint index;
- guint notify_child_added_id;
-
- GailTextUtil *textutil;
-};
-
-GType gail_notebook_page_get_type (void);
-
-struct _GailNotebookPageClass
-{
- AtkObjectClass parent_class;
-};
-
-AtkObject *gail_notebook_page_new(GtkNotebook *notebook, gint pagenum);
-
-G_END_DECLS
-
-#endif /* __GAIL_NOTEBOOK_PAGE_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_PANED_H__
-#define __GAIL_PANED_H__
-
-#include <gail/gailcontainer.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_PANED (gail_paned_get_type ())
-#define GAIL_PANED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_PANED, GailPaned))
-#define GAIL_PANED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_PANED, GailPanedClass))
-#define GAIL_IS_PANED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_PANED))
-#define GAIL_IS_PANED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_PANED))
-#define GAIL_PANED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_PANED, GailPanedClass))
-
-typedef struct _GailPaned GailPaned;
-typedef struct _GailPanedClass GailPanedClass;
-
-struct _GailPaned
-{
- GailContainer parent;
-};
-
-GType gail_paned_get_type (void);
-
-struct _GailPanedClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_PANED_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-
-#include <gtk/gtk.h>
-
-#include "gailprogressbar.h"
-#include "gailadjustment.h"
-
-static void gail_progress_bar_class_init (GailProgressBarClass *klass);
-static void gail_progress_bar_init (GailProgressBar *bar);
-static void gail_progress_bar_real_initialize (AtkObject *obj,
- gpointer data);
-
-static void atk_value_interface_init (AtkValueIface *iface);
-
-
-static void gail_progress_bar_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-
-static void gail_progress_bar_get_current_value (AtkValue *obj,
- GValue *value);
-static void gail_progress_bar_get_maximum_value (AtkValue *obj,
- GValue *value);
-static void gail_progress_bar_get_minimum_value (AtkValue *obj,
- GValue *value);
-
-G_DEFINE_TYPE_WITH_CODE (GailProgressBar, gail_progress_bar, GAIL_TYPE_WIDGET,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
-
-static void
-gail_progress_bar_class_init (GailProgressBarClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GailWidgetClass *widget_class;
-
- widget_class = (GailWidgetClass*)klass;
-
- widget_class->notify_gtk = gail_progress_bar_real_notify_gtk;
-
- class->initialize = gail_progress_bar_real_initialize;
-}
-
-static void
-gail_progress_bar_init (GailProgressBar *bar)
-{
-}
-
-static void
-gail_progress_bar_real_initialize (AtkObject *obj,
- gpointer data)
-{
- ATK_OBJECT_CLASS (gail_progress_bar_parent_class)->initialize (obj, data);
-
- obj->role = ATK_ROLE_PROGRESS_BAR;
-}
-
-static void
-atk_value_interface_init (AtkValueIface *iface)
-{
- iface->get_current_value = gail_progress_bar_get_current_value;
- iface->get_maximum_value = gail_progress_bar_get_maximum_value;
- iface->get_minimum_value = gail_progress_bar_get_minimum_value;
-}
-
-static void
-gail_progress_bar_get_current_value (AtkValue *obj,
- GValue *value)
-{
- GtkWidget *widget;
-
- g_return_if_fail (GAIL_IS_PROGRESS_BAR (obj));
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
-
- memset (value, 0, sizeof (GValue));
- g_value_init (value, G_TYPE_DOUBLE);
- g_value_set_double (value, gtk_progress_bar_get_fraction (GTK_PROGRESS_BAR (widget)));
-}
-
-static void
-gail_progress_bar_get_maximum_value (AtkValue *obj,
- GValue *value)
-{
- g_return_if_fail (GAIL_IS_PROGRESS_BAR (obj));
-
- memset (value, 0, sizeof (GValue));
- g_value_init (value, G_TYPE_DOUBLE);
- g_value_set_double (value, 1.0);
-}
-
-static void
-gail_progress_bar_get_minimum_value (AtkValue *obj,
- GValue *value)
-{
- g_return_if_fail (GAIL_IS_PROGRESS_BAR (obj));
-
- memset (value, 0, sizeof (GValue));
- g_value_init (value, G_TYPE_DOUBLE);
- g_value_set_double (value, 0.0);
-}
-
-static void
-gail_progress_bar_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GtkWidget *widget = GTK_WIDGET (obj);
- GailProgressBar *progress_bar = GAIL_PROGRESS_BAR (gtk_widget_get_accessible (widget));
-
- if (strcmp (pspec->name, "fraction") == 0)
- g_object_notify (G_OBJECT (progress_bar), "accessible-value");
- else
- GAIL_WIDGET_CLASS (gail_progress_bar_parent_class)->notify_gtk (obj, pspec);
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_PROGRESS_BAR_H__
-#define __GAIL_PROGRESS_BAR_H__
-
-#include <gail/gailwidget.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_PROGRESS_BAR (gail_progress_bar_get_type ())
-#define GAIL_PROGRESS_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_PROGRESS_BAR, GailProgressBar))
-#define GAIL_PROGRESS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_PROGRESS_BAR, GailProgressBarClass))
-#define GAIL_IS_PROGRESS_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_PROGRESS_BAR))
-#define GAIL_IS_PROGRESS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_PROGRESS_BAR))
-#define GAIL_PROGRESS_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_PROGRESS_BAR, GailProgressBarClass))
-
-typedef struct _GailProgressBar GailProgressBar;
-typedef struct _GailProgressBarClass GailProgressBarClass;
-
-struct _GailProgressBar
-{
- GailWidget parent;
-};
-
-GType gail_progress_bar_get_type (void);
-
-struct _GailProgressBarClass
-{
- GailWidgetClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_PROGRESS_BAR_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailradiobutton.h"
-
-static void gail_radio_button_class_init (GailRadioButtonClass *klass);
-static void gail_radio_button_init (GailRadioButton *radio_button);
-static void gail_radio_button_initialize (AtkObject *accessible,
- gpointer data);
-
-static AtkRelationSet* gail_radio_button_ref_relation_set (AtkObject *obj);
-
-G_DEFINE_TYPE (GailRadioButton, gail_radio_button, GAIL_TYPE_TOGGLE_BUTTON)
-
-static void
-gail_radio_button_class_init (GailRadioButtonClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->initialize = gail_radio_button_initialize;
- class->ref_relation_set = gail_radio_button_ref_relation_set;
-}
-
-static void
-gail_radio_button_init (GailRadioButton *radio_button)
-{
- radio_button->old_group = NULL;
-}
-
-static void
-gail_radio_button_initialize (AtkObject *accessible,
- gpointer data)
-{
- ATK_OBJECT_CLASS (gail_radio_button_parent_class)->initialize (accessible, data);
-
- accessible->role = ATK_ROLE_RADIO_BUTTON;
-}
-
-AtkRelationSet*
-gail_radio_button_ref_relation_set (AtkObject *obj)
-{
- GtkWidget *widget;
- AtkRelationSet *relation_set;
- GSList *list;
- GailRadioButton *radio_button;
-
- g_return_val_if_fail (GAIL_IS_RADIO_BUTTON (obj), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- {
- /*
- * State is defunct
- */
- return NULL;
- }
- radio_button = GAIL_RADIO_BUTTON (obj);
-
- relation_set = ATK_OBJECT_CLASS (gail_radio_button_parent_class)->ref_relation_set (obj);
-
- /*
- * If the radio button'group has changed remove the relation
- */
- list = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget));
-
- if (radio_button->old_group != list)
- {
- AtkRelation *relation;
-
- relation = atk_relation_set_get_relation_by_type (relation_set, ATK_RELATION_MEMBER_OF);
- atk_relation_set_remove (relation_set, relation);
- }
-
- if (!atk_relation_set_contains (relation_set, ATK_RELATION_MEMBER_OF))
- {
- /*
- * Get the members of the button group
- */
-
- radio_button->old_group = list;
- if (list)
- {
- AtkObject **accessible_array;
- guint list_length;
- AtkRelation* relation;
- gint i = 0;
-
- list_length = g_slist_length (list);
- accessible_array = (AtkObject**) g_malloc (sizeof (AtkObject *) *
- list_length);
- while (list != NULL)
- {
- GtkWidget* list_item = list->data;
-
- accessible_array[i++] = gtk_widget_get_accessible (list_item);
-
- list = list->next;
- }
- relation = atk_relation_new (accessible_array, list_length,
- ATK_RELATION_MEMBER_OF);
- g_free (accessible_array);
-
- atk_relation_set_add (relation_set, relation);
- /*
- * Unref the relation so that it is not leaked.
- */
- g_object_unref (relation);
- }
- }
- return relation_set;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_RADIO_BUTTON_H__
-#define __GAIL_RADIO_BUTTON_H__
-
-#include <gail/gailtogglebutton.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_RADIO_BUTTON (gail_radio_button_get_type ())
-#define GAIL_RADIO_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_RADIO_BUTTON, GailRadioButton))
-#define GAIL_RADIO_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_RADIO_BUTTON, GailRadioButtonClass))
-#define GAIL_IS_RADIO_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_RADIO_BUTTON))
-#define GAIL_IS_RADIO_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_RADIO_BUTTON))
-#define GAIL_RADIO_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_RADIO_BUTTON, GailRadioButtonClass))
-
-typedef struct _GailRadioButton GailRadioButton;
-typedef struct _GailRadioButtonClass GailRadioButtonClass;
-
-struct _GailRadioButton
-{
- GailToggleButton parent;
-
- GSList *old_group;
-};
-
-GType gail_radio_button_get_type (void);
-
-struct _GailRadioButtonClass
-{
- GailToggleButtonClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_RADIO_BUTTON_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2002 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailradiomenuitem.h"
-#include "gailradiosubmenuitem.h"
-
-static void gail_radio_menu_item_class_init (GailRadioMenuItemClass *klass);
-static void gail_radio_menu_item_init (GailRadioMenuItem *radio_menu_item);
-
-static AtkRelationSet* gail_radio_menu_item_ref_relation_set (AtkObject *obj);
-
-G_DEFINE_TYPE (GailRadioMenuItem, gail_radio_menu_item, GAIL_TYPE_CHECK_MENU_ITEM)
-
-static void
-gail_radio_menu_item_class_init (GailRadioMenuItemClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->ref_relation_set = gail_radio_menu_item_ref_relation_set;
-}
-
-AtkObject*
-gail_radio_menu_item_new (GtkWidget *widget)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail (GTK_IS_RADIO_MENU_ITEM (widget), NULL);
-
- if (gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget)))
- return gail_radio_sub_menu_item_new (widget);
-
- object = g_object_new (GAIL_TYPE_RADIO_MENU_ITEM, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, widget);
-
- accessible->role = ATK_ROLE_RADIO_MENU_ITEM;
- return accessible;
-}
-
-static void
-gail_radio_menu_item_init (GailRadioMenuItem *radio_menu_item)
-{
- radio_menu_item->old_group = NULL;
-}
-
-AtkRelationSet*
-gail_radio_menu_item_ref_relation_set (AtkObject *obj)
-{
- GtkWidget *widget;
- AtkRelationSet *relation_set;
- GSList *list;
- GailRadioMenuItem *radio_menu_item;
-
- g_return_val_if_fail (GAIL_IS_RADIO_MENU_ITEM (obj), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- {
- /*
- * State is defunct
- */
- return NULL;
- }
- radio_menu_item = GAIL_RADIO_MENU_ITEM (obj);
-
- relation_set = ATK_OBJECT_CLASS (gail_radio_menu_item_parent_class)->ref_relation_set (obj);
-
- /*
- * If the radio menu_item'group has changed remove the relation
- */
- list = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (widget));
-
- if (radio_menu_item->old_group != list)
- {
- AtkRelation *relation;
-
- relation = atk_relation_set_get_relation_by_type (relation_set, ATK_RELATION_MEMBER_OF);
- atk_relation_set_remove (relation_set, relation);
- }
-
- if (!atk_relation_set_contains (relation_set, ATK_RELATION_MEMBER_OF))
- {
- /*
- * Get the members of the menu_item group
- */
-
- radio_menu_item->old_group = list;
- if (list)
- {
- AtkObject **accessible_array;
- guint list_length;
- AtkRelation* relation;
- gint i = 0;
-
- list_length = g_slist_length (list);
- accessible_array = (AtkObject**) g_malloc (sizeof (AtkObject *) *
- list_length);
- while (list != NULL)
- {
- GtkWidget* list_item = list->data;
-
- accessible_array[i++] = gtk_widget_get_accessible (list_item);
-
- list = list->next;
- }
- relation = atk_relation_new (accessible_array, list_length,
- ATK_RELATION_MEMBER_OF);
- g_free (accessible_array);
-
- atk_relation_set_add (relation_set, relation);
- /*
- * Unref the relation so that it is not leaked.
- */
- g_object_unref (relation);
- }
- }
- return relation_set;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2002 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_RADIO_MENU_ITEM_H__
-#define __GAIL_RADIO_MENU_ITEM_H__
-
-#include <gail/gailcheckmenuitem.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_RADIO_MENU_ITEM (gail_radio_menu_item_get_type ())
-#define GAIL_RADIO_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_RADIO_MENU_ITEM, GailRadioMenuItem))
-#define GAIL_RADIO_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_RADIO_MENU_ITEM, GailRadioMenuItemClass))
-#define GAIL_IS_RADIO_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_RADIO_MENU_ITEM))
-#define GAIL_IS_RADIO_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_RADIO_MENU_ITEM))
-#define GAIL_RADIO_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_RADIO_MENU_ITEM, GailRadioMenuItemClass))
-
-typedef struct _GailRadioMenuItem GailRadioMenuItem;
-typedef struct _GailRadioMenuItemClass GailRadioMenuItemClass;
-
-struct _GailRadioMenuItem
-{
- GailCheckMenuItem parent;
-
- GSList *old_group;
-};
-
-GType gail_radio_menu_item_get_type (void);
-
-struct _GailRadioMenuItemClass
-{
- GailCheckMenuItemClass parent_class;
-};
-
-AtkObject* gail_radio_menu_item_new (GtkWidget *widget);
-
-G_END_DECLS
-
-#endif /* __GAIL_RADIO_MENU_ITEM_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2002 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailradiosubmenuitem.h"
-
-static void gail_radio_sub_menu_item_class_init (GailRadioSubMenuItemClass *klass);
-static void gail_radio_sub_menu_item_init (GailRadioSubMenuItem *radio_menu_item);
-
-static AtkRelationSet* gail_radio_sub_menu_item_ref_relation_set (AtkObject *obj);
-
-G_DEFINE_TYPE (GailRadioSubMenuItem, gail_radio_sub_menu_item, GAIL_TYPE_CHECK_SUB_MENU_ITEM)
-
-static void
-gail_radio_sub_menu_item_class_init (GailRadioSubMenuItemClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->ref_relation_set = gail_radio_sub_menu_item_ref_relation_set;
-}
-
-AtkObject*
-gail_radio_sub_menu_item_new (GtkWidget *widget)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail (GTK_IS_RADIO_MENU_ITEM (widget), NULL);
-
- object = g_object_new (GAIL_TYPE_RADIO_SUB_MENU_ITEM, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, widget);
-
- accessible->role = ATK_ROLE_RADIO_MENU_ITEM;
- return accessible;
-}
-
-static void
-gail_radio_sub_menu_item_init (GailRadioSubMenuItem *radio_menu_item)
-{
- radio_menu_item->old_group = NULL;
-}
-
-AtkRelationSet*
-gail_radio_sub_menu_item_ref_relation_set (AtkObject *obj)
-{
- GtkWidget *widget;
- AtkRelationSet *relation_set;
- GSList *list;
- GailRadioSubMenuItem *radio_menu_item;
-
- g_return_val_if_fail (GAIL_IS_RADIO_SUB_MENU_ITEM (obj), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- {
- /*
- * State is defunct
- */
- return NULL;
- }
- radio_menu_item = GAIL_RADIO_SUB_MENU_ITEM (obj);
-
- relation_set = ATK_OBJECT_CLASS (gail_radio_sub_menu_item_parent_class)->ref_relation_set (obj);
-
- /*
- * If the radio menu_item'group has changed remove the relation
- */
- list = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (widget));
-
- if (radio_menu_item->old_group != list)
- {
- AtkRelation *relation;
-
- relation = atk_relation_set_get_relation_by_type (relation_set, ATK_RELATION_MEMBER_OF);
- atk_relation_set_remove (relation_set, relation);
- }
-
- if (!atk_relation_set_contains (relation_set, ATK_RELATION_MEMBER_OF))
- {
- /*
- * Get the members of the menu_item group
- */
-
- radio_menu_item->old_group = list;
- if (list)
- {
- AtkObject **accessible_array;
- guint list_length;
- AtkRelation* relation;
- gint i = 0;
-
- list_length = g_slist_length (list);
- accessible_array = (AtkObject**) g_malloc (sizeof (AtkObject *) *
- list_length);
- while (list != NULL)
- {
- GtkWidget* list_item = list->data;
-
- accessible_array[i++] = gtk_widget_get_accessible (list_item);
-
- list = list->next;
- }
- relation = atk_relation_new (accessible_array, list_length,
- ATK_RELATION_MEMBER_OF);
- g_free (accessible_array);
-
- atk_relation_set_add (relation_set, relation);
- /*
- * Unref the relation so that it is not leaked.
- */
- g_object_unref (relation);
- }
- }
- return relation_set;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2002 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_RADIO_SUB_MENU_ITEM_H__
-#define __GAIL_RADIO_SUB_MENU_ITEM_H__
-
-#include <gail/gailchecksubmenuitem.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_RADIO_SUB_MENU_ITEM (gail_radio_sub_menu_item_get_type ())
-#define GAIL_RADIO_SUB_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_RADIO_SUB_MENU_ITEM, GailRadioSubMenuItem))
-#define GAIL_RADIO_SUB_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_RADIO_SUB_MENU_ITEM, GailRadioSubMenuItemClass))
-#define GAIL_IS_RADIO_SUB_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_RADIO_SUB_MENU_ITEM))
-#define GAIL_IS_RADIO_SUB_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_RADIO_SUB_MENU_ITEM))
-#define GAIL_RADIO_SUB_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_RADIO_SUB_MENU_ITEM, GailRadioSubMenuItemClass))
-
-typedef struct _GailRadioSubMenuItem GailRadioSubMenuItem;
-typedef struct _GailRadioSubMenuItemClass GailRadioSubMenuItemClass;
-
-struct _GailRadioSubMenuItem
-{
- GailCheckSubMenuItem parent;
-
- GSList *old_group;
-};
-
-GType gail_radio_sub_menu_item_get_type (void);
-
-struct _GailRadioSubMenuItemClass
-{
- GailCheckSubMenuItemClass parent_class;
-};
-
-AtkObject* gail_radio_sub_menu_item_new (GtkWidget *widget);
-
-G_END_DECLS
-
-#endif /* __GAIL_RADIO_SUB_MENU_ITEM_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-#include "gailrange.h"
-#include "gailadjustment.h"
-#include "gail-private-macros.h"
-
-static void gail_range_class_init (GailRangeClass *klass);
-
-static void gail_range_init (GailRange *range);
-
-static void gail_range_real_initialize (AtkObject *obj,
- gpointer data);
-
-static void gail_range_finalize (GObject *object);
-
-static void gail_range_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-
-static void atk_value_interface_init (AtkValueIface *iface);
-static void gail_range_get_current_value (AtkValue *obj,
- GValue *value);
-static void gail_range_get_maximum_value (AtkValue *obj,
- GValue *value);
-static void gail_range_get_minimum_value (AtkValue *obj,
- GValue *value);
-static void gail_range_get_minimum_increment (AtkValue *obj,
- GValue *value);
-static gboolean gail_range_set_current_value (AtkValue *obj,
- const GValue *value);
-static void gail_range_value_changed (GtkAdjustment *adjustment,
- gpointer data);
-
-static void atk_action_interface_init (AtkActionIface *iface);
-static gboolean gail_range_do_action (AtkAction *action,
- gint i);
-static gboolean idle_do_action (gpointer data);
-static gint gail_range_get_n_actions (AtkAction *action);
-static const gchar* gail_range_get_description (AtkAction *action,
- gint i);
-static const gchar* gail_range_get_keybinding (AtkAction *action,
- gint i);
-static const gchar* gail_range_action_get_name (AtkAction *action,
- gint i);
-static gboolean gail_range_set_description (AtkAction *action,
- gint i,
- const gchar *desc);
-
-G_DEFINE_TYPE_WITH_CODE (GailRange, gail_range, GAIL_TYPE_WIDGET,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
-
-static void
-gail_range_class_init (GailRangeClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GailWidgetClass *widget_class;
-
- widget_class = (GailWidgetClass*)klass;
-
- widget_class->notify_gtk = gail_range_real_notify_gtk;
-
- class->initialize = gail_range_real_initialize;
-
- gobject_class->finalize = gail_range_finalize;
-}
-
-static void
-gail_range_init (GailRange *range)
-{
-}
-
-static void
-gail_range_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GailRange *range = GAIL_RANGE (obj);
- GtkAdjustment *adj;
- GtkRange *gtk_range;
-
- ATK_OBJECT_CLASS (gail_range_parent_class)->initialize (obj, data);
-
- gtk_range = GTK_RANGE (data);
- /*
- * If a GtkAdjustment already exists for the GtkRange,
- * create the GailAdjustment
- */
- adj = gtk_range_get_adjustment (gtk_range);
- if (adj)
- {
- range->adjustment = gail_adjustment_new (adj);
- g_signal_connect (adj,
- "value-changed",
- G_CALLBACK (gail_range_value_changed),
- range);
- }
- else
- range->adjustment = NULL;
- range->activate_keybinding=NULL;
- range->activate_description=NULL;
- /*
- * Assumed to GtkScale (either GtkHScale or GtkVScale)
- */
- obj->role = ATK_ROLE_SLIDER;
-}
-
-static void
-atk_value_interface_init (AtkValueIface *iface)
-{
- iface->get_current_value = gail_range_get_current_value;
- iface->get_maximum_value = gail_range_get_maximum_value;
- iface->get_minimum_value = gail_range_get_minimum_value;
- iface->get_minimum_increment = gail_range_get_minimum_increment;
- iface->set_current_value = gail_range_set_current_value;
-}
-
-static void
-gail_range_get_current_value (AtkValue *obj,
- GValue *value)
-{
- GailRange *range;
-
- g_return_if_fail (GAIL_IS_RANGE (obj));
-
- range = GAIL_RANGE (obj);
- if (range->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_current_value (ATK_VALUE (range->adjustment), value);
-}
-
-static void
-gail_range_get_maximum_value (AtkValue *obj,
- GValue *value)
-{
- GailRange *range;
- GtkRange *gtk_range;
- GtkAdjustment *gtk_adjustment;
- gdouble max = 0;
-
- g_return_if_fail (GAIL_IS_RANGE (obj));
-
- range = GAIL_RANGE (obj);
- if (range->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_maximum_value (ATK_VALUE (range->adjustment), value);
-
- gtk_range = GTK_RANGE (gtk_accessible_get_widget (GTK_ACCESSIBLE (range)));
- g_return_if_fail (gtk_range);
-
- gtk_adjustment = gtk_range_get_adjustment (gtk_range);
- max = g_value_get_double (value);
- max -= gtk_adjustment_get_page_size (gtk_adjustment);
-
- if (gtk_range_get_restrict_to_fill_level (gtk_range))
- max = MIN (max, gtk_range_get_fill_level (gtk_range));
-
- g_value_set_double (value, max);
-}
-
-static void
-gail_range_get_minimum_value (AtkValue *obj,
- GValue *value)
-{
- GailRange *range;
-
- g_return_if_fail (GAIL_IS_RANGE (obj));
-
- range = GAIL_RANGE (obj);
- if (range->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_minimum_value (ATK_VALUE (range->adjustment), value);
-}
-
-static void
-gail_range_get_minimum_increment (AtkValue *obj, GValue *value)
-{
- GailRange *range;
-
- g_return_if_fail (GAIL_IS_RANGE (obj));
-
- range = GAIL_RANGE (obj);
- if (range->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_minimum_increment (ATK_VALUE (range->adjustment), value);
-}
-
-static gboolean gail_range_set_current_value (AtkValue *obj,
- const GValue *value)
-{
- GtkWidget *widget;
-
- g_return_val_if_fail (GAIL_IS_RANGE (obj), FALSE);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- return FALSE;
-
- if (G_VALUE_HOLDS_DOUBLE (value))
- {
- GtkRange *range = GTK_RANGE (widget);
- gdouble new_value;
-
- new_value = g_value_get_double (value);
- gtk_range_set_value (range, new_value);
- return TRUE;
- }
- else
- {
- return FALSE;
- }
-}
-
-static void
-gail_range_finalize (GObject *object)
-{
- GailRange *range = GAIL_RANGE (object);
-
- if (range->adjustment)
- {
- /*
- * The GtkAdjustment may live on so we need to dicsonnect the
- * signal handler
- */
- if (GAIL_ADJUSTMENT (range->adjustment)->adjustment)
- {
- g_signal_handlers_disconnect_by_func (GAIL_ADJUSTMENT (range->adjustment)->adjustment,
- (void *)gail_range_value_changed,
- range);
- }
- g_object_unref (range->adjustment);
- range->adjustment = NULL;
- }
- range->activate_keybinding=NULL;
- range->activate_description=NULL;
- if (range->action_idle_handler)
- {
- g_source_remove (range->action_idle_handler);
- range->action_idle_handler = 0;
- }
-
- G_OBJECT_CLASS (gail_range_parent_class)->finalize (object);
-}
-
-
-static void
-gail_range_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GtkAdjustment *adj;
- GtkWidget *widget = GTK_WIDGET (obj);
- GailRange *range = GAIL_RANGE (gtk_widget_get_accessible (widget));
-
- if (strcmp (pspec->name, "adjustment") == 0)
- {
- /*
- * Get rid of the GailAdjustment for the GtkAdjustment
- * which was associated with the range.
- */
- if (range->adjustment)
- {
- g_object_unref (range->adjustment);
- range->adjustment = NULL;
- }
- /*
- * Create the GailAdjustment when notify for "adjustment" property
- * is received
- */
- adj = gtk_range_get_adjustment (GTK_RANGE (widget));
- range->adjustment = gail_adjustment_new (adj);
- g_signal_connect (adj,
- "value-changed",
- G_CALLBACK (gail_range_value_changed),
- range);
- }
- else
- GAIL_WIDGET_CLASS (gail_range_parent_class)->notify_gtk (obj, pspec);
-}
-
-static void
-gail_range_value_changed (GtkAdjustment *adjustment,
- gpointer data)
-{
- GailRange *range;
-
- g_return_if_fail (adjustment != NULL);
- gail_return_if_fail (data != NULL);
-
- range = GAIL_RANGE (data);
-
- g_object_notify (G_OBJECT (range), "accessible-value");
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- iface->do_action = gail_range_do_action;
- iface->get_n_actions = gail_range_get_n_actions;
- iface->get_description = gail_range_get_description;
- iface->get_keybinding = gail_range_get_keybinding;
- iface->get_name = gail_range_action_get_name;
- iface->set_description = gail_range_set_description;
-}
-
-static gboolean
-gail_range_do_action (AtkAction *action,
- gint i)
-{
- GailRange *range;
- GtkWidget *widget;
- gboolean return_value = TRUE;
-
- range = GAIL_RANGE (action);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
- if (!gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
- if(i==0)
- {
- if (range->action_idle_handler)
- return_value = FALSE;
- else
- range->action_idle_handler = gdk_threads_add_idle (idle_do_action, range);
- }
- else
- return_value = FALSE;
- return return_value;
-}
-
-static gboolean
-idle_do_action (gpointer data)
-{
- GailRange *range;
- GtkWidget *widget;
-
- range = GAIL_RANGE (data);
- range->action_idle_handler = 0;
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (range));
- if (widget == NULL /* State is defunct */ ||
- !gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- gtk_widget_activate (widget);
-
- return FALSE;
-}
-
-static gint
-gail_range_get_n_actions (AtkAction *action)
-{
- return 1;
-}
-
-static const gchar*
-gail_range_get_description (AtkAction *action,
- gint i)
-{
- GailRange *range;
- const gchar *return_value;
-
- range = GAIL_RANGE (action);
- if (i==0)
- return_value = range->activate_description;
- else
- return_value = NULL;
- return return_value;
-}
-
-static const gchar*
-gail_range_get_keybinding (AtkAction *action,
- gint i)
-{
- GailRange *range;
- gchar *return_value = NULL;
- range = GAIL_RANGE (action);
- if(i==0)
- {
- GtkWidget *widget;
- GtkWidget *label;
- AtkRelationSet *set;
- AtkRelation *relation;
- GPtrArray *target;
- gpointer target_object;
- guint key_val;
-
- range = GAIL_RANGE (action);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (range));
- if (widget == NULL)
- return NULL;
- set = atk_object_ref_relation_set (ATK_OBJECT (action));
-
- if (!set)
- return NULL;
- label = NULL;
- relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_LABELLED_BY);
- if (relation)
- {
- target = atk_relation_get_target (relation);
- target_object = g_ptr_array_index (target, 0);
- label = gtk_accessible_get_widget (GTK_ACCESSIBLE (target_object));
- }
- g_object_unref (set);
- if (GTK_IS_LABEL (label))
- {
- key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
- if (key_val != GDK_KEY_VoidSymbol)
- return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
- }
- g_free (range->activate_keybinding);
- range->activate_keybinding = return_value;
- }
- return return_value;
-}
-
-static const gchar*
-gail_range_action_get_name (AtkAction *action,
- gint i)
-{
- const gchar *return_value;
-
- if (i==0)
- return_value = "activate";
- else
- return_value = NULL;
-
- return return_value;
-}
-
-static gboolean
-gail_range_set_description (AtkAction *action,
- gint i,
- const gchar *desc)
-{
- GailRange *range;
- gchar **value;
-
- range = GAIL_RANGE (action);
-
- if (i==0)
- value = &range->activate_description;
- else
- value = NULL;
-
- if (value)
- {
- g_free (*value);
- *value = g_strdup (desc);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_RANGE_H__
-#define __GAIL_RANGE_H__
-
-#include <gail/gailwidget.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_RANGE (gail_range_get_type ())
-#define GAIL_RANGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_RANGE, GailRange))
-#define GAIL_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_RANGE, GailRangeClass))
-#define GAIL_IS_RANGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_RANGE))
-#define GAIL_IS_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_RANGE))
-#define GAIL_RANGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_RANGE, GailRangeClass))
-
-typedef struct _GailRange GailRange;
-typedef struct _GailRangeClass GailRangeClass;
-
-struct _GailRange
-{
- GailWidget parent;
-
- AtkObject *adjustment;
- gchar *activate_description;
- gchar *activate_keybinding;
- guint action_idle_handler;
-
-};
-
-GType gail_range_get_type (void);
-
-struct _GailRangeClass
-{
- GailWidgetClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_RANGE_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_RENDERER_CELL_H__
-#define __GAIL_RENDERER_CELL_H__
-
-#include <atk/atk.h>
-#include <gail/gailcell.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_RENDERER_CELL (gail_renderer_cell_get_type ())
-#define GAIL_RENDERER_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_RENDERER_CELL, GailRendererCell))
-#define GAIL_RENDERER_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_RENDERER_CELL, GailRendererCellClass))
-#define GAIL_IS_RENDERER_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_RENDERER_CELL))
-#define GAIL_IS_RENDERER_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_RENDERER_CELL))
-#define GAIL_RENDERER_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_RENDERER_CELL, GailRendererCellClass))
-
-typedef struct _GailRendererCell GailRendererCell;
-typedef struct _GailRendererCellClass GailRendererCellClass;
-
-struct _GailRendererCell
-{
- GailCell parent;
- GtkCellRenderer *renderer;
-};
-
-GType gail_renderer_cell_get_type (void);
-
-struct _GailRendererCellClass
-{
- GailCellClass parent_class;
- gchar **property_list;
- gboolean (*update_cache)(GailRendererCell *cell, gboolean emit_change_signal);
-};
-
-gboolean
-gail_renderer_cell_update_cache (GailRendererCell *cell, gboolean emit_change_signal);
-
-AtkObject *gail_renderer_cell_new (void);
-
-G_END_DECLS
-
-#endif /* __GAIL_TREE_VIEW_TEXT_CELL_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2004 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include "gailscale.h"
-#include <libgail-util/gailmisc.h>
-
-static void gail_scale_class_init (GailScaleClass *klass);
-
-static void gail_scale_init (GailScale *scale);
-
-static void gail_scale_real_initialize (AtkObject *obj,
- gpointer data);
-static void gail_scale_notify (GObject *obj,
- GParamSpec *pspec);
-static void gail_scale_finalize (GObject *object);
-
-/* atktext.h */
-static void atk_text_interface_init (AtkTextIface *iface);
-
-static gchar* gail_scale_get_text (AtkText *text,
- gint start_pos,
- gint end_pos);
-static gunichar gail_scale_get_character_at_offset
- (AtkText *text,
- gint offset);
-static gchar* gail_scale_get_text_before_offset
- (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_scale_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_scale_get_text_after_offset
- (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gint gail_scale_get_character_count (AtkText *text);
-static void gail_scale_get_character_extents
- (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords);
-static gint gail_scale_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords);
-static AtkAttributeSet* gail_scale_get_run_attributes
- (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static AtkAttributeSet* gail_scale_get_default_attributes
- (AtkText *text);
-
-G_DEFINE_TYPE_WITH_CODE (GailScale, gail_scale, GAIL_TYPE_RANGE,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
-
-static void
-gail_scale_class_init (GailScaleClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->initialize = gail_scale_real_initialize;
-
- gobject_class->finalize = gail_scale_finalize;
- gobject_class->notify = gail_scale_notify;
-}
-
-static void
-gail_scale_init (GailScale *scale)
-{
-}
-
-static void
-gail_scale_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GailScale *gail_scale;
- const gchar *txt;
- PangoLayout *layout;
-
- ATK_OBJECT_CLASS (gail_scale_parent_class)->initialize (obj, data);
-
- gail_scale = GAIL_SCALE (obj);
- gail_scale->textutil = gail_text_util_new ();
-
- layout = gtk_scale_get_layout (GTK_SCALE (data));
- if (layout)
- {
- txt = pango_layout_get_text (layout);
- if (txt)
- {
- gail_text_util_text_setup (gail_scale->textutil, txt);
- }
- }
-}
-
-static void
-gail_scale_finalize (GObject *object)
-{
- GailScale *scale = GAIL_SCALE (object);
-
- g_object_unref (scale->textutil);
- G_OBJECT_CLASS (gail_scale_parent_class)->finalize (object);
-
-}
-
-static void
-gail_scale_notify (GObject *obj,
- GParamSpec *pspec)
-{
- GailScale *scale = GAIL_SCALE (obj);
-
- if (strcmp (pspec->name, "accessible-value") == 0)
- {
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget)
- {
- GtkScale *gtk_scale;
- PangoLayout *layout;
- const gchar *txt;
-
- gtk_scale = GTK_SCALE (widget);
- layout = gtk_scale_get_layout (gtk_scale);
- if (layout)
- {
- txt = pango_layout_get_text (layout);
- if (txt)
- {
- g_signal_emit_by_name (obj, "text_changed::delete", 0,
- gtk_text_buffer_get_char_count (scale->textutil->buffer));
- gail_text_util_text_setup (scale->textutil, txt);
- g_signal_emit_by_name (obj, "text_changed::insert", 0,
- g_utf8_strlen (txt, -1));
- }
- }
- }
- }
- G_OBJECT_CLASS (gail_scale_parent_class)->notify (obj, pspec);
-}
-
-/* atktext.h */
-
-static void
-atk_text_interface_init (AtkTextIface *iface)
-{
- iface->get_text = gail_scale_get_text;
- iface->get_character_at_offset = gail_scale_get_character_at_offset;
- iface->get_text_before_offset = gail_scale_get_text_before_offset;
- iface->get_text_at_offset = gail_scale_get_text_at_offset;
- iface->get_text_after_offset = gail_scale_get_text_after_offset;
- iface->get_character_count = gail_scale_get_character_count;
- iface->get_character_extents = gail_scale_get_character_extents;
- iface->get_offset_at_point = gail_scale_get_offset_at_point;
- iface->get_run_attributes = gail_scale_get_run_attributes;
- iface->get_default_attributes = gail_scale_get_default_attributes;
-}
-
-static gchar*
-gail_scale_get_text (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkWidget *widget;
- GailScale *scale;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- scale = GAIL_SCALE (text);
- return gail_text_util_get_substring (scale->textutil,
- start_pos, end_pos);
-}
-
-static gchar*
-gail_scale_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GailScale *scale;
- PangoLayout *layout;
- gchar *txt;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- scale = GAIL_SCALE (text);
- layout = gtk_scale_get_layout (GTK_SCALE (widget));
- if (layout)
- {
- txt = gail_text_util_get_text (scale->textutil,
- layout, GAIL_BEFORE_OFFSET,
- boundary_type, offset, start_offset, end_offset);
- }
- else
- txt = NULL;
-
- return txt;
-}
-
-static gchar*
-gail_scale_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GailScale *scale;
- PangoLayout *layout;
- gchar *txt;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- scale = GAIL_SCALE (text);
- layout = gtk_scale_get_layout (GTK_SCALE (widget));
- if (layout)
- {
- txt = gail_text_util_get_text (scale->textutil,
- layout, GAIL_AT_OFFSET,
- boundary_type, offset, start_offset, end_offset);
- }
- else
- txt = NULL;
-
- return txt;
-}
-
-static gchar*
-gail_scale_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GailScale *scale;
- PangoLayout *layout;
- gchar *txt;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- scale = GAIL_SCALE (text);
- layout = gtk_scale_get_layout (GTK_SCALE (widget));
- if (layout)
- {
- txt = gail_text_util_get_text (scale->textutil,
- layout, GAIL_AFTER_OFFSET,
- boundary_type, offset, start_offset, end_offset);
- }
- else
- txt = NULL;
-
- return txt;
-}
-
-static gint
-gail_scale_get_character_count (AtkText *text)
-{
- GtkWidget *widget;
- GailScale *scale;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- scale = GAIL_SCALE (text);
- if (scale->textutil->buffer)
- return gtk_text_buffer_get_char_count (scale->textutil->buffer);
- else
- return 0;
-
-}
-
-static void
-gail_scale_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkScale *scale;
- PangoRectangle char_rect;
- PangoLayout *layout;
- gint index, x_layout, y_layout;
- const gchar *scale_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return;
-
- scale = GTK_SCALE (widget);
- layout = gtk_scale_get_layout (scale);
- if (!layout)
- return;
- scale_text = pango_layout_get_text (layout);
- if (!scale_text)
- return;
- index = g_utf8_offset_to_pointer (scale_text, offset) - scale_text;
- gtk_scale_get_layout_offsets (scale, &x_layout, &y_layout);
- pango_layout_index_to_pos (layout, index, &char_rect);
- gail_misc_get_extents_from_pango_rectangle (widget, &char_rect,
- x_layout, y_layout, x, y, width, height, coords);
-}
-
-static gint
-gail_scale_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkScale *scale;
- PangoLayout *layout;
- gint index, x_layout, y_layout;
- const gchar *scale_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return -1;
-
- scale = GTK_SCALE (widget);
- layout = gtk_scale_get_layout (scale);
- if (!layout)
- return -1;
- scale_text = pango_layout_get_text (layout);
- if (!scale_text)
- return -1;
-
- gtk_scale_get_layout_offsets (scale, &x_layout, &y_layout);
- index = gail_misc_get_index_at_point_in_layout (widget,
- layout,
- x_layout, y_layout, x, y, coords);
- if (index == -1)
- {
- if (coords == ATK_XY_WINDOW || coords == ATK_XY_SCREEN)
- index = g_utf8_strlen (scale_text, -1);
- }
- else
- index = g_utf8_pointer_to_offset (scale_text, scale_text + index);
-
- return index;
-}
-
-static AtkAttributeSet*
-gail_scale_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkScale *scale;
- AtkAttributeSet *at_set = NULL;
- GtkTextDirection dir;
- PangoLayout *layout;
- const gchar *scale_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- scale = GTK_SCALE (widget);
-
- layout = gtk_scale_get_layout (scale);
- if (!layout)
- return at_set;
- scale_text = pango_layout_get_text (layout);
- if (!scale_text)
- return at_set;
-
- dir = gtk_widget_get_direction (widget);
- if (dir == GTK_TEXT_DIR_RTL)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_DIRECTION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, dir)));
- }
-
- at_set = gail_misc_layout_get_run_attributes (at_set,
- layout,
- (gchar *)scale_text,
- offset,
- start_offset,
- end_offset);
- return at_set;
-}
-
-static AtkAttributeSet*
-gail_scale_get_default_attributes (AtkText *text)
-{
- GtkWidget *widget;
- AtkAttributeSet *at_set = NULL;
- PangoLayout *layout;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- layout = gtk_scale_get_layout (GTK_SCALE (widget));
- if (layout)
- {
- at_set = gail_misc_get_default_attributes (at_set,
- layout,
- widget);
- }
- return at_set;
-}
-
-static gunichar
-gail_scale_get_character_at_offset (AtkText *text,
- gint offset)
-{
- GtkWidget *widget;
- GtkScale *scale;
- PangoLayout *layout;
- const gchar *string;
- gchar *index;
- gunichar c;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return '\0';
-
- scale = GTK_SCALE (widget);
-
- layout = gtk_scale_get_layout (scale);
- if (!layout)
- return '\0';
- string = pango_layout_get_text (layout);
- if (offset >= g_utf8_strlen (string, -1))
- c = '\0';
- else
- {
- index = g_utf8_offset_to_pointer (string, offset);
-
- c = g_utf8_get_char (index);
- }
-
- return c;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2004 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_SCALE_H__
-#define __GAIL_SCALE_H__
-
-#include <gail/gailrange.h>
-#include <libgail-util/gailtextutil.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_SCALE (gail_scale_get_type ())
-#define GAIL_SCALE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_SCALE, GailScale))
-#define GAIL_SCALE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_SCALE, GailScaleClass))
-#define GAIL_IS_SCALE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_SCALE))
-#define GAIL_IS_SCALE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_SCALE))
-#define GAIL_SCALE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_SCALE, GailScaleClass))
-
-typedef struct _GailScale GailScale;
-typedef struct _GailScaleClass GailScaleClass;
-
-struct _GailScale
-{
- GailRange parent;
-
- GailTextUtil *textutil;
-};
-
-GType gail_scale_get_type (void);
-
-struct _GailScaleClass
-{
- GailRangeClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_SCALE_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2008 Jan Arne Petersen
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include <gtk/gtk.h>
-#include "gailscalebutton.h"
-#include "gailadjustment.h"
-#include "gail-private-macros.h"
-
-#include <string.h>
-
-static void gail_scale_button_class_init (GailScaleButtonClass *klass);
-static void gail_scale_button_init (GailScaleButton *button);
-
-/* GailWidget */
-static void gail_scale_button_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-
-/* AtkObject */
-static void gail_scale_button_real_initialize (AtkObject *obj,
- gpointer data);
-
-/* AtkAction */
-static void atk_action_interface_init (AtkActionIface *iface);
-static gboolean gail_scale_button_do_action (AtkAction *action,
- gint i);
-static gint gail_scale_button_get_n_actions (AtkAction *action);
-static const gchar* gail_scale_button_get_description(AtkAction *action,
- gint i);
-static const gchar* gail_scale_button_action_get_name(AtkAction *action,
- gint i);
-static const gchar* gail_scale_button_get_keybinding (AtkAction *action,
- gint i);
-static gboolean gail_scale_button_set_description(AtkAction *action,
- gint i,
- const gchar *desc);
-
-/* AtkValue */
-static void atk_value_interface_init (AtkValueIface *iface);
-static void gail_scale_button_get_current_value (AtkValue *obj,
- GValue *value);
-static void gail_scale_button_get_maximum_value (AtkValue *obj,
- GValue *value);
-static void gail_scale_button_get_minimum_value (AtkValue *obj,
- GValue *value);
-static void gail_scale_button_get_minimum_increment (AtkValue *obj,
- GValue *value);
-static gboolean gail_scale_button_set_current_value (AtkValue *obj,
- const GValue *value);
-static void gail_scale_button_value_changed (GtkAdjustment *adjustment,
- gpointer data);
-
-G_DEFINE_TYPE_WITH_CODE (GailScaleButton, gail_scale_button, GAIL_TYPE_BUTTON,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init));
-
-static void
-gail_scale_button_class_init (GailScaleButtonClass *klass)
-{
- AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
- GailWidgetClass *widget_class = GAIL_WIDGET_CLASS (klass);
-
- atk_object_class->initialize = gail_scale_button_real_initialize;
-
- widget_class->notify_gtk = gail_scale_button_real_notify_gtk;
-}
-
-static void
-gail_scale_button_init (GailScaleButton *button)
-{
-}
-
-static void
-gail_scale_button_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GailScaleButton *scale_button = GAIL_SCALE_BUTTON (obj);
- GtkScaleButton *gtk_scale_button;
- GtkAdjustment *gtk_adjustment;
-
- ATK_OBJECT_CLASS (gail_scale_button_parent_class)->initialize (obj, data);
-
- gtk_scale_button = GTK_SCALE_BUTTON (data);
- gtk_adjustment = gtk_scale_button_get_adjustment (gtk_scale_button);
- /*
- * If a GtkAdjustment already exists for the scale_button,
- * create the GailAdjustment
- */
- if (gtk_adjustment)
- {
- scale_button->adjustment = gail_adjustment_new (gtk_adjustment);
- g_signal_connect (gtk_adjustment,
- "value-changed",
- G_CALLBACK (gail_scale_button_value_changed),
- obj);
- }
- else
- scale_button->adjustment = NULL;
-
- obj->role = ATK_ROLE_SLIDER;
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- iface->do_action = gail_scale_button_do_action;
- iface->get_n_actions = gail_scale_button_get_n_actions;
- iface->get_description = gail_scale_button_get_description;
- iface->get_keybinding = gail_scale_button_get_keybinding;
- iface->get_name = gail_scale_button_action_get_name;
- iface->set_description = gail_scale_button_set_description;
-}
-
-static gboolean
-gail_scale_button_do_action(AtkAction *action,
- gint i)
-{
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
- if (widget == NULL)
- return FALSE;
-
- if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- switch (i) {
- case 0:
- g_signal_emit_by_name (widget, "popup");
- return TRUE;
- case 1:
- g_signal_emit_by_name (widget, "podown");
- return TRUE;
- default:
- return FALSE;
- }
-}
-
-static gint
-gail_scale_button_get_n_actions (AtkAction *action)
-{
- return 2;
-}
-
-static const gchar*
-gail_scale_button_get_description (AtkAction *action,
- gint i)
-{
- return NULL;
-}
-
-static const gchar*
-gail_scale_button_action_get_name (AtkAction *action,
- gint i)
-{
- switch (i) {
- case 0:
- return "popup";
- case 1:
- return "popdown";
- default:
- return NULL;
- }
-}
-
-static const gchar*
-gail_scale_button_get_keybinding (AtkAction *action,
- gint i)
-{
- return NULL;
-}
-
-static gboolean
-gail_scale_button_set_description (AtkAction *action,
- gint i,
- const gchar *desc)
-{
- return FALSE;
-}
-
-
-static void
-atk_value_interface_init (AtkValueIface *iface)
-{
- iface->get_current_value = gail_scale_button_get_current_value;
- iface->get_maximum_value = gail_scale_button_get_maximum_value;
- iface->get_minimum_value = gail_scale_button_get_minimum_value;
- iface->get_minimum_increment = gail_scale_button_get_minimum_increment;
- iface->set_current_value = gail_scale_button_set_current_value;
-}
-
-static void
-gail_scale_button_get_current_value (AtkValue *obj,
- GValue *value)
-{
- GailScaleButton *scale_button;
-
- g_return_if_fail (GAIL_IS_SCALE_BUTTON (obj));
-
- scale_button = GAIL_SCALE_BUTTON (obj);
- if (scale_button->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_current_value (ATK_VALUE (scale_button->adjustment), value);
-}
-
-static void
-gail_scale_button_get_maximum_value (AtkValue *obj,
- GValue *value)
-{
- GailScaleButton *scale_button;
-
- g_return_if_fail (GAIL_IS_SCALE_BUTTON (obj));
-
- scale_button = GAIL_SCALE_BUTTON (obj);
- if (scale_button->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_maximum_value (ATK_VALUE (scale_button->adjustment), value);
-}
-
-static void
-gail_scale_button_get_minimum_value (AtkValue *obj,
- GValue *value)
-{
- GailScaleButton *scale_button;
-
- g_return_if_fail (GAIL_IS_SCALE_BUTTON (obj));
-
- scale_button = GAIL_SCALE_BUTTON (obj);
- if (scale_button->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_minimum_value (ATK_VALUE (scale_button->adjustment), value);
-}
-
-static void
-gail_scale_button_get_minimum_increment (AtkValue *obj,
- GValue *value)
-{
- GailScaleButton *scale_button;
-
- g_return_if_fail (GAIL_IS_SCALE_BUTTON (obj));
-
- scale_button = GAIL_SCALE_BUTTON (obj);
- if (scale_button->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_minimum_increment (ATK_VALUE (scale_button->adjustment), value);
-}
-
-static gboolean
-gail_scale_button_set_current_value (AtkValue *obj,
- const GValue *value)
-{
- GailScaleButton *scale_button;
-
- g_return_val_if_fail (GAIL_IS_SCALE_BUTTON (obj), FALSE);
-
- scale_button = GAIL_SCALE_BUTTON (obj);
- if (scale_button->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return FALSE;
-
- return atk_value_set_current_value (ATK_VALUE (scale_button->adjustment), value);
-}
-
-static void
-gail_scale_button_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GtkScaleButton *gtk_scale_button;
- GailScaleButton *scale_button;
-
- g_return_if_fail (GTK_IS_SCALE_BUTTON (obj));
-
- gtk_scale_button = GTK_SCALE_BUTTON (obj);
- scale_button = GAIL_SCALE_BUTTON (gtk_widget_get_accessible (GTK_WIDGET (gtk_scale_button)));
-
- if (strcmp (pspec->name, "adjustment") == 0)
- {
- /*
- * Get rid of the GailAdjustment for the GtkAdjustment
- * which was associated with the scale_button.
- */
- GtkAdjustment* gtk_adjustment;
-
- if (scale_button->adjustment)
- {
- g_object_unref (scale_button->adjustment);
- scale_button->adjustment = NULL;
- }
- /*
- * Create the GailAdjustment when notify for "adjustment" property
- * is received
- */
- gtk_adjustment = gtk_scale_button_get_adjustment (gtk_scale_button);
- scale_button->adjustment = gail_adjustment_new (gtk_adjustment);
- g_signal_connect (gtk_adjustment,
- "value-changed",
- G_CALLBACK (gail_scale_button_value_changed),
- scale_button);
- }
- else
- {
- GAIL_WIDGET_CLASS (gail_scale_button_parent_class)->notify_gtk (obj, pspec);
- }
-}
-
-static void
-gail_scale_button_value_changed (GtkAdjustment *adjustment,
- gpointer data)
-{
- GailScaleButton *scale_button;
-
- gail_return_if_fail (adjustment != NULL);
- gail_return_if_fail (data != NULL);
-
- scale_button = GAIL_SCALE_BUTTON (data);
-
- g_object_notify (G_OBJECT (scale_button), "accessible-value");
-}
-
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2008 Jan Arne Petersen <jap@gnome.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_SCALE_BUTTON_H__
-#define __GAIL_SCALE_BUTTON_H__
-
-#include <gtk/gtk.h>
-#include <gail/gailbutton.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_SCALE_BUTTON (gail_scale_button_get_type ())
-#define GAIL_SCALE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_SCALE_BUTTON, GailScaleButton))
-#define GAIL_SCALE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_SCALE_BUTTON, GailScaleButtonClass))
-#define GAIL_IS_SCALE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_SCALE_BUTTON))
-#define GAIL_IS_SCALE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_SCALE_BUTTON))
-#define GAIL_SCALE_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_SCALE_BUTTON, GailScaleButtonClass))
-
-typedef struct _GailScaleButton GailScaleButton;
-typedef struct _GailScaleButtonClass GailScaleButtonClass;
-
-struct _GailScaleButton
-{
- GailButton parent;
-
- AtkObject *adjustment;
-};
-
-struct _GailScaleButtonClass
-{
- GailButtonClass parent_class;
-};
-
-GType gail_scale_button_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GAIL_SCALE_BUTTON_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_SCROLLBAR_H__
-#define __GAIL_SCROLLBAR_H__
-
-#include <gail/gailrange.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_SCROLLBAR (gail_scrollbar_get_type ())
-#define GAIL_SCROLLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_SCROLLBAR, GailScrollbar))
-#define GAIL_SCROLLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_SCROLLBAR, GailScrollbarClass))
-#define GAIL_IS_SCROLLBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_SCROLLBAR))
-#define GAIL_IS_SCROLLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_SCROLLBAR))
-#define GAIL_SCROLLBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_SCROLLBAR, GailScrollbarClass))
-
-typedef struct _GailScrollbar GailScrollbar;
-typedef struct _GailScrollbarClass GailScrollbarClass;
-
-struct _GailScrollbar
-{
- GailRange parent;
-};
-
-GType gail_scrollbar_get_type (void);
-
-struct _GailScrollbarClass
-{
- GailRangeClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_SCROLLBAR_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include "gailscrolledwindow.h"
-
-
-static void gail_scrolled_window_class_init (GailScrolledWindowClass *klass);
-static void gail_scrolled_window_init (GailScrolledWindow *window);
-static void gail_scrolled_window_real_initialize
- (AtkObject *obj,
- gpointer data);
-
-static gint gail_scrolled_window_get_n_children (AtkObject *object);
-static AtkObject* gail_scrolled_window_ref_child (AtkObject *obj,
- gint child);
-static void gail_scrolled_window_scrollbar_visibility_changed
- (GObject *object,
- GParamSpec *pspec,
- gpointer user_data);
-
-G_DEFINE_TYPE (GailScrolledWindow, gail_scrolled_window, GAIL_TYPE_CONTAINER)
-
-static void
-gail_scrolled_window_class_init (GailScrolledWindowClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->get_n_children = gail_scrolled_window_get_n_children;
- class->ref_child = gail_scrolled_window_ref_child;
- class->initialize = gail_scrolled_window_real_initialize;
-}
-
-static void
-gail_scrolled_window_init (GailScrolledWindow *window)
-{
-}
-
-static void
-gail_scrolled_window_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GtkScrolledWindow *window;
-
- ATK_OBJECT_CLASS (gail_scrolled_window_parent_class)->initialize (obj, data);
-
- window = GTK_SCROLLED_WINDOW (data);
-
- g_signal_connect_data (gtk_scrolled_window_get_hscrollbar (window), "notify::visible",
- G_CALLBACK (gail_scrolled_window_scrollbar_visibility_changed),
- obj, NULL, FALSE);
- g_signal_connect_data (gtk_scrolled_window_get_vscrollbar (window), "notify::visible",
- G_CALLBACK (gail_scrolled_window_scrollbar_visibility_changed),
- obj, NULL, FALSE);
-
- obj->role = ATK_ROLE_SCROLL_PANE;
-}
-
-static gint
-gail_scrolled_window_get_n_children (AtkObject *object)
-{
- GtkWidget *widget;
- GtkScrolledWindow *gtk_window;
- GList *children;
- gint n_children;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (object));
- if (widget == NULL)
- /* Object is defunct */
- return 0;
-
- gtk_window = GTK_SCROLLED_WINDOW (widget);
-
- /* Get the number of children returned by the backing GtkScrolledWindow */
-
- children = gtk_container_get_children (GTK_CONTAINER(gtk_window));
- n_children = g_list_length (children);
- g_list_free (children);
-
- /* Add one to the count for each visible scrollbar */
-
- if (gtk_scrolled_window_get_hscrollbar (gtk_window))
- n_children++;
- if (gtk_scrolled_window_get_vscrollbar (gtk_window))
- n_children++;
- return n_children;
-}
-
-static AtkObject *
-gail_scrolled_window_ref_child (AtkObject *obj,
- gint child)
-{
- GtkWidget *widget;
- GtkScrolledWindow *gtk_window;
- GtkWidget *hscrollbar, *vscrollbar;
- GList *children, *tmp_list;
- gint n_children;
- AtkObject *accessible = NULL;
-
- g_return_val_if_fail (child >= 0, NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /* Object is defunct */
- return NULL;
-
- gtk_window = GTK_SCROLLED_WINDOW (widget);
- hscrollbar = gtk_scrolled_window_get_hscrollbar (gtk_window);
- vscrollbar = gtk_scrolled_window_get_vscrollbar (gtk_window);
-
- children = gtk_container_get_children (GTK_CONTAINER (gtk_window));
- n_children = g_list_length (children);
-
- if (child == n_children)
- {
- if (gtk_scrolled_window_get_hscrollbar (gtk_window))
- accessible = gtk_widget_get_accessible (hscrollbar);
- else if (gtk_scrolled_window_get_vscrollbar (gtk_window))
- accessible = gtk_widget_get_accessible (vscrollbar);
- }
- else if (child == n_children+1 &&
- gtk_scrolled_window_get_hscrollbar (gtk_window) &&
- gtk_scrolled_window_get_vscrollbar (gtk_window))
- accessible = gtk_widget_get_accessible (vscrollbar);
- else if (child < n_children)
- {
- tmp_list = g_list_nth (children, child);
- if (tmp_list)
- accessible = gtk_widget_get_accessible (
- GTK_WIDGET (tmp_list->data));
- }
-
- g_list_free (children);
- if (accessible)
- g_object_ref (accessible);
- return accessible;
-}
-
-static void
-gail_scrolled_window_scrollbar_visibility_changed (GObject *object,
- GParamSpec *pspec,
- gpointer user_data)
-{
- if (!strcmp (pspec->name, "visible"))
- {
- gint index;
- gint n_children;
- gboolean child_added = FALSE;
- GList *children;
- AtkObject *child;
- GtkScrolledWindow *gtk_window;
- GtkWidget *hscrollbar, *vscrollbar;
- GailScrolledWindow *gail_window = GAIL_SCROLLED_WINDOW (user_data);
- gchar *signal_name;
-
- gtk_window = GTK_SCROLLED_WINDOW (gtk_accessible_get_widget (GTK_ACCESSIBLE (user_data)));
- if (gtk_window == NULL)
- return;
- children = gtk_container_get_children (GTK_CONTAINER (gtk_window));
- index = n_children = g_list_length (children);
- g_list_free (children);
-
- hscrollbar = gtk_scrolled_window_get_hscrollbar (gtk_window);
- vscrollbar = gtk_scrolled_window_get_vscrollbar (gtk_window);
-
- if ((gpointer) object == (gpointer) (hscrollbar))
- {
- if (gtk_scrolled_window_get_hscrollbar (gtk_window))
- child_added = TRUE;
-
- child = gtk_widget_get_accessible (hscrollbar);
- }
- else if ((gpointer) object == (gpointer) (vscrollbar))
- {
- if (gtk_scrolled_window_get_vscrollbar (gtk_window))
- child_added = TRUE;
-
- child = gtk_widget_get_accessible (vscrollbar);
- if (gtk_scrolled_window_get_hscrollbar (gtk_window))
- index = n_children+1;
- }
- else
- {
- g_assert_not_reached ();
- return;
- }
-
- if (child_added)
- signal_name = "children_changed::add";
- else
- signal_name = "children_changed::delete";
-
- g_signal_emit_by_name (gail_window, signal_name, index, child, NULL);
- }
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_SCROLLED_WINDOW_H__
-#define __GAIL_SCROLLED_WINDOW_H__
-
-#include <gail/gailcontainer.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_SCROLLED_WINDOW (gail_scrolled_window_get_type ())
-#define GAIL_SCROLLED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_SCROLLED_WINDOW, GailScrolledWindow))
-#define GAIL_SCROLLED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_SCROLLED_WINDOW, GailScrolledWindowClass))
-#define GAIL_IS_SCROLLED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_SCROLLED_WINDOW))
-#define GAIL_IS_SCROLLED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_SCROLLED_WINDOW))
-#define GAIL_SCROLLED_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_SCROLLED_WINDOW, GailScrolledWindowClass))
-
-typedef struct _GailScrolledWindow GailScrolledWindow;
-typedef struct _GailScrolledWindowClass GailScrolledWindowClass;
-
-struct _GailScrolledWindow
-{
- GailContainer parent;
-};
-
-GType gail_scrolled_window_get_type (void);
-
-struct _GailScrolledWindowClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_SCROLLED_WINDOW_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailseparator.h"
-
-static void gail_separator_class_init (GailSeparatorClass *klass);
-static void gail_separator_init (GailSeparator *accessible);
-static void gail_separator_initialize (AtkObject *accessible,
- gpointer data);
-
-G_DEFINE_TYPE (GailSeparator, gail_separator, GAIL_TYPE_WIDGET)
-
-static void
-gail_separator_class_init (GailSeparatorClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->initialize = gail_separator_initialize;
-}
-
-static void
-gail_separator_init (GailSeparator *accessible)
-{
-}
-
-static void
-gail_separator_initialize (AtkObject *accessible,
- gpointer data)
-{
- ATK_OBJECT_CLASS (gail_separator_parent_class)->initialize (accessible, data);
-
- accessible->role = ATK_ROLE_SEPARATOR;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_SEPARATOR_H__
-#define __GAIL_SEPARATOR_H__
-
-#include <gail/gailwidget.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_SEPARATOR (gail_separator_get_type ())
-#define GAIL_SEPARATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_SEPARATOR, GailSeparator))
-#define GAIL_SEPARATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_SEPARATOR, GailSeparatorClass))
-#define GAIL_IS_SEPARATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_SEPARATOR))
-#define GAIL_IS_SEPARATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_SEPARATOR))
-#define GAIL_SEPARATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_SEPARATOR, GailSeparatorClass))
-
-typedef struct _GailSeparator GailSeparator;
-typedef struct _GailSeparatorClass GailSeparatorClass;
-
-struct _GailSeparator
-{
- GailWidget parent;
-};
-
-GType gail_separator_get_type (void);
-
-struct _GailSeparatorClass
-{
- GailWidgetClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_SEPARATOR_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include "gailspinbutton.h"
-#include "gailadjustment.h"
-#include "gail-private-macros.h"
-
-static void gail_spin_button_class_init (GailSpinButtonClass *klass);
-static void gail_spin_button_init (GailSpinButton *button);
-static void gail_spin_button_real_initialize (AtkObject *obj,
- gpointer data);
-static void gail_spin_button_finalize (GObject *object);
-
-static void atk_value_interface_init (AtkValueIface *iface);
-
-static void gail_spin_button_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-
-static void gail_spin_button_get_current_value (AtkValue *obj,
- GValue *value);
-static void gail_spin_button_get_maximum_value (AtkValue *obj,
- GValue *value);
-static void gail_spin_button_get_minimum_value (AtkValue *obj,
- GValue *value);
-static void gail_spin_button_get_minimum_increment (AtkValue *obj,
- GValue *value);
-static gboolean gail_spin_button_set_current_value (AtkValue *obj,
- const GValue *value);
-static void gail_spin_button_value_changed (GtkAdjustment *adjustment,
- gpointer data);
-
-G_DEFINE_TYPE_WITH_CODE (GailSpinButton, gail_spin_button, GAIL_TYPE_ENTRY,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
-
-static void
-gail_spin_button_class_init (GailSpinButtonClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GailWidgetClass *widget_class;
-
- widget_class = (GailWidgetClass*)klass;
-
- widget_class->notify_gtk = gail_spin_button_real_notify_gtk;
-
- class->initialize = gail_spin_button_real_initialize;
-
- gobject_class->finalize = gail_spin_button_finalize;
-}
-
-static void
-gail_spin_button_init (GailSpinButton *button)
-{
-}
-
-static void
-gail_spin_button_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GtkAdjustment *adjustment;
- GailSpinButton *spin_button = GAIL_SPIN_BUTTON (obj);
- GtkSpinButton *gtk_spin_button;
-
- ATK_OBJECT_CLASS (gail_spin_button_parent_class)->initialize (obj, data);
-
- gtk_spin_button = GTK_SPIN_BUTTON (data);
- /*
- * If a GtkAdjustment already exists for the spin_button,
- * create the GailAdjustment
- */
- adjustment = gtk_spin_button_get_adjustment (gtk_spin_button);
- if (adjustment)
- {
- spin_button->adjustment = gail_adjustment_new (adjustment);
- g_signal_connect (adjustment,
- "value-changed",
- G_CALLBACK (gail_spin_button_value_changed),
- obj);
- }
- else
- spin_button->adjustment = NULL;
-
- obj->role = ATK_ROLE_SPIN_BUTTON;
-
-}
-
-static void
-atk_value_interface_init (AtkValueIface *iface)
-{
- iface->get_current_value = gail_spin_button_get_current_value;
- iface->get_maximum_value = gail_spin_button_get_maximum_value;
- iface->get_minimum_value = gail_spin_button_get_minimum_value;
- iface->get_minimum_increment = gail_spin_button_get_minimum_increment;
- iface->set_current_value = gail_spin_button_set_current_value;
-}
-
-static void
-gail_spin_button_get_current_value (AtkValue *obj,
- GValue *value)
-{
- GailSpinButton *spin_button;
-
- g_return_if_fail (GAIL_IS_SPIN_BUTTON (obj));
-
- spin_button = GAIL_SPIN_BUTTON (obj);
- if (spin_button->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_current_value (ATK_VALUE (spin_button->adjustment), value);
-}
-
-static void
-gail_spin_button_get_maximum_value (AtkValue *obj,
- GValue *value)
-{
- GailSpinButton *spin_button;
-
- g_return_if_fail (GAIL_IS_SPIN_BUTTON (obj));
-
- spin_button = GAIL_SPIN_BUTTON (obj);
- if (spin_button->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_maximum_value (ATK_VALUE (spin_button->adjustment), value);
-}
-
-static void
-gail_spin_button_get_minimum_value (AtkValue *obj,
- GValue *value)
-{
- GailSpinButton *spin_button;
-
- g_return_if_fail (GAIL_IS_SPIN_BUTTON (obj));
-
- spin_button = GAIL_SPIN_BUTTON (obj);
- if (spin_button->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_minimum_value (ATK_VALUE (spin_button->adjustment), value);
-}
-
-static void
-gail_spin_button_get_minimum_increment (AtkValue *obj, GValue *value)
-{
- GailSpinButton *spin_button;
-
- g_return_if_fail (GAIL_IS_SPIN_BUTTON (obj));
-
- spin_button = GAIL_SPIN_BUTTON (obj);
- if (spin_button->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return;
-
- atk_value_get_minimum_increment (ATK_VALUE (spin_button->adjustment), value);
-}
-
-static gboolean
-gail_spin_button_set_current_value (AtkValue *obj,
- const GValue *value)
-{
- GailSpinButton *spin_button;
-
- g_return_val_if_fail (GAIL_IS_SPIN_BUTTON (obj), FALSE);
-
- spin_button = GAIL_SPIN_BUTTON (obj);
- if (spin_button->adjustment == NULL)
- /*
- * Adjustment has not been specified
- */
- return FALSE;
-
- return atk_value_set_current_value (ATK_VALUE (spin_button->adjustment), value);
-}
-
-static void
-gail_spin_button_finalize (GObject *object)
-{
- GailSpinButton *spin_button = GAIL_SPIN_BUTTON (object);
-
- if (spin_button->adjustment)
- {
- g_object_unref (spin_button->adjustment);
- spin_button->adjustment = NULL;
- }
- G_OBJECT_CLASS (gail_spin_button_parent_class)->finalize (object);
-}
-
-
-static void
-gail_spin_button_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GtkWidget *widget = GTK_WIDGET (obj);
- GailSpinButton *spin_button = GAIL_SPIN_BUTTON (gtk_widget_get_accessible (widget));
-
- if (strcmp (pspec->name, "adjustment") == 0)
- {
- /*
- * Get rid of the GailAdjustment for the GtkAdjustment
- * which was associated with the spin_button.
- */
- GtkAdjustment* adjustment;
- GtkSpinButton* gtk_spin_button;
-
- if (spin_button->adjustment)
- {
- g_object_unref (spin_button->adjustment);
- spin_button->adjustment = NULL;
- }
- /*
- * Create the GailAdjustment when notify for "adjustment" property
- * is received
- */
- gtk_spin_button = GTK_SPIN_BUTTON (widget);
- adjustment = gtk_spin_button_get_adjustment (gtk_spin_button);
- spin_button->adjustment = gail_adjustment_new (adjustment);
- g_signal_connect (adjustment,
- "value-changed",
- G_CALLBACK (gail_spin_button_value_changed),
- spin_button);
- }
- else
- GAIL_WIDGET_CLASS (gail_spin_button_parent_class)->notify_gtk (obj, pspec);
-}
-
-
-static void
-gail_spin_button_value_changed (GtkAdjustment *adjustment,
- gpointer data)
-{
- GailSpinButton *spin_button;
-
- gail_return_if_fail (adjustment != NULL);
- gail_return_if_fail (data != NULL);
-
- spin_button = GAIL_SPIN_BUTTON (data);
-
- g_object_notify (G_OBJECT (spin_button), "accessible-value");
-}
-
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_SPIN_BUTTON_H__
-#define __GAIL_SPIN_BUTTON_H__
-
-#include <gail/gailentry.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_SPIN_BUTTON (gail_spin_button_get_type ())
-#define GAIL_SPIN_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_SPIN_BUTTON, GailSpinButton))
-#define GAIL_SPIN_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_SPIN_BUTTON, GailSpinButtonClass))
-#define GAIL_IS_SPIN_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_SPIN_BUTTON))
-#define GAIL_IS_SPIN_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_SPIN_BUTTON))
-#define GAIL_SPIN_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_SPIN_BUTTON, GailSpinButtonClass))
-
-typedef struct _GailSpinButton GailSpinButton;
-typedef struct _GailSpinButtonClass GailSpinButtonClass;
-
-struct _GailSpinButton
-{
- GailEntry parent;
-
- AtkObject *adjustment;
-};
-
-GType gail_spin_button_get_type (void);
-
-struct _GailSpinButtonClass
-{
- GailEntryClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_SPIN_BUTTON_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include "gailstatusbar.h"
-#include <libgail-util/gailmisc.h>
-
-static void gail_statusbar_class_init (GailStatusbarClass *klass);
-static void gail_statusbar_init (GailStatusbar *bar);
-static const gchar* gail_statusbar_get_name (AtkObject *obj);
-static gint gail_statusbar_get_n_children (AtkObject *obj);
-static AtkObject* gail_statusbar_ref_child (AtkObject *obj,
- gint i);
-static void gail_statusbar_real_initialize (AtkObject *obj,
- gpointer data);
-
-static gint gail_statusbar_notify (GObject *obj,
- GParamSpec *pspec,
- gpointer user_data);
-static void gail_statusbar_finalize (GObject *object);
-static void gail_statusbar_init_textutil (GailStatusbar *statusbar,
- GtkWidget *label);
-
-/* atktext.h */
-static void atk_text_interface_init (AtkTextIface *iface);
-
-static gchar* gail_statusbar_get_text (AtkText *text,
- gint start_pos,
- gint end_pos);
-static gunichar gail_statusbar_get_character_at_offset
- (AtkText *text,
- gint offset);
-static gchar* gail_statusbar_get_text_before_offset
- (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_statusbar_get_text_at_offset(AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_statusbar_get_text_after_offset
- (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gint gail_statusbar_get_character_count (AtkText *text);
-static void gail_statusbar_get_character_extents
- (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords);
-static gint gail_statusbar_get_offset_at_point(AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords);
-static AtkAttributeSet* gail_statusbar_get_run_attributes
- (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static AtkAttributeSet* gail_statusbar_get_default_attributes
- (AtkText *text);
-static GtkWidget* get_label_from_statusbar (GtkWidget *statusbar);
-
-G_DEFINE_TYPE_WITH_CODE (GailStatusbar, gail_statusbar, GAIL_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
-
-static void
-gail_statusbar_class_init (GailStatusbarClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GailContainerClass *container_class;
-
- container_class = (GailContainerClass*)klass;
-
- gobject_class->finalize = gail_statusbar_finalize;
-
- class->get_name = gail_statusbar_get_name;
- class->get_n_children = gail_statusbar_get_n_children;
- class->ref_child = gail_statusbar_ref_child;
- class->initialize = gail_statusbar_real_initialize;
- /*
- * As we report the statusbar as having no children we are not interested
- * in add and remove signals
- */
- container_class->add_gtk = NULL;
- container_class->remove_gtk = NULL;
-}
-
-static void
-gail_statusbar_init (GailStatusbar *bar)
-{
-}
-
-static const gchar*
-gail_statusbar_get_name (AtkObject *obj)
-{
- const gchar* name;
-
- g_return_val_if_fail (GAIL_IS_STATUSBAR (obj), NULL);
-
- name = ATK_OBJECT_CLASS (gail_statusbar_parent_class)->get_name (obj);
- if (name != NULL)
- return name;
- else
- {
- /*
- * Get the text on the label
- */
- GtkWidget *widget;
- GtkWidget *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- g_return_val_if_fail (GTK_IS_STATUSBAR (widget), NULL);
- label = get_label_from_statusbar (widget);
- if (GTK_IS_LABEL (label))
- return gtk_label_get_label (GTK_LABEL (label));
- else
- return NULL;
- }
-}
-
-static gint
-gail_statusbar_get_n_children (AtkObject *obj)
-{
- GtkWidget *widget;
- GList *children;
- gint count = 0;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- return 0;
-
- children = gtk_container_get_children (GTK_CONTAINER (widget));
- if (children != NULL)
- {
- count = g_list_length (children);
- g_list_free (children);
- }
-
- return count;
-}
-
-static AtkObject*
-gail_statusbar_ref_child (AtkObject *obj,
- gint i)
-{
- GList *children, *tmp_list;
- AtkObject *accessible;
- GtkWidget *widget;
-
- g_return_val_if_fail ((i >= 0), NULL);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- return NULL;
-
- children = gtk_container_get_children (GTK_CONTAINER (widget));
- if (children == NULL)
- return NULL;
-
- tmp_list = g_list_nth (children, i);
- if (!tmp_list)
- {
- g_list_free (children);
- return NULL;
- }
- accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data));
-
- g_list_free (children);
- g_object_ref (accessible);
- return accessible;
-}
-
-static void
-gail_statusbar_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GailStatusbar *statusbar = GAIL_STATUSBAR (obj);
- GtkWidget *label;
-
- ATK_OBJECT_CLASS (gail_statusbar_parent_class)->initialize (obj, data);
-
- /*
- * We get notified of changes to the label
- */
- label = get_label_from_statusbar (GTK_WIDGET (data));
- if (GTK_IS_LABEL (label))
- {
- gail_statusbar_init_textutil (statusbar, label);
- }
-
- obj->role = ATK_ROLE_STATUSBAR;
-
-}
-
-static gint
-gail_statusbar_notify (GObject *obj,
- GParamSpec *pspec,
- gpointer user_data)
-{
- AtkObject *atk_obj = ATK_OBJECT (user_data);
- GtkLabel *label;
- GailStatusbar *statusbar;
-
- if (strcmp (pspec->name, "label") == 0)
- {
- const gchar* label_text;
-
- label = GTK_LABEL (obj);
-
- label_text = gtk_label_get_text (label);
-
- statusbar = GAIL_STATUSBAR (atk_obj);
- gail_text_util_text_setup (statusbar->textutil, label_text);
-
- if (atk_obj->name == NULL)
- {
- /*
- * The label has changed so notify a change in accessible-name
- */
- g_object_notify (G_OBJECT (atk_obj), "accessible-name");
- }
- /*
- * The label is the only property which can be changed
- */
- g_signal_emit_by_name (atk_obj, "visible_data_changed");
- }
- return 1;
-}
-
-static void
-gail_statusbar_init_textutil (GailStatusbar *statusbar,
- GtkWidget *label)
-{
- const gchar *label_text;
-
- statusbar->textutil = gail_text_util_new ();
- label_text = gtk_label_get_text (GTK_LABEL (label));
- gail_text_util_text_setup (statusbar->textutil, label_text);
- g_signal_connect (label,
- "notify",
- (GCallback) gail_statusbar_notify,
- statusbar);
-}
-
-static void
-gail_statusbar_finalize (GObject *object)
-{
- GailStatusbar *statusbar = GAIL_STATUSBAR (object);
-
- if (statusbar->textutil)
- {
- g_object_unref (statusbar->textutil);
- }
- G_OBJECT_CLASS (gail_statusbar_parent_class)->finalize (object);
-}
-
-/* atktext.h */
-
-static void
-atk_text_interface_init (AtkTextIface *iface)
-{
- iface->get_text = gail_statusbar_get_text;
- iface->get_character_at_offset = gail_statusbar_get_character_at_offset;
- iface->get_text_before_offset = gail_statusbar_get_text_before_offset;
- iface->get_text_at_offset = gail_statusbar_get_text_at_offset;
- iface->get_text_after_offset = gail_statusbar_get_text_after_offset;
- iface->get_character_count = gail_statusbar_get_character_count;
- iface->get_character_extents = gail_statusbar_get_character_extents;
- iface->get_offset_at_point = gail_statusbar_get_offset_at_point;
- iface->get_run_attributes = gail_statusbar_get_run_attributes;
- iface->get_default_attributes = gail_statusbar_get_default_attributes;
-}
-
-static gchar*
-gail_statusbar_get_text (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailStatusbar *statusbar;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = get_label_from_statusbar (widget);
-
- if (!GTK_IS_LABEL (label))
- return NULL;
-
- statusbar = GAIL_STATUSBAR (text);
- if (!statusbar->textutil)
- gail_statusbar_init_textutil (statusbar, label);
-
- label_text = gtk_label_get_text (GTK_LABEL (label));
-
- if (label_text == NULL)
- return NULL;
- else
- {
- return gail_text_util_get_substring (statusbar->textutil,
- start_pos, end_pos);
- }
-}
-
-static gchar*
-gail_statusbar_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailStatusbar *statusbar;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Get label */
- label = get_label_from_statusbar (widget);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- statusbar = GAIL_STATUSBAR (text);
- if (!statusbar->textutil)
- gail_statusbar_init_textutil (statusbar, label);
-
- return gail_text_util_get_text (statusbar->textutil,
- gtk_label_get_layout (GTK_LABEL (label)), GAIL_BEFORE_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_statusbar_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailStatusbar *statusbar;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Get label */
- label = get_label_from_statusbar (widget);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- statusbar = GAIL_STATUSBAR (text);
- if (!statusbar->textutil)
- gail_statusbar_init_textutil (statusbar, label);
-
- return gail_text_util_get_text (statusbar->textutil,
- gtk_label_get_layout (GTK_LABEL (label)), GAIL_AT_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_statusbar_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- GailStatusbar *statusbar;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- {
- /* State is defunct */
- return NULL;
- }
-
- /* Get label */
- label = get_label_from_statusbar (widget);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- statusbar = GAIL_STATUSBAR (text);
- if (!statusbar->textutil)
- gail_statusbar_init_textutil (statusbar, label);
-
- return gail_text_util_get_text (statusbar->textutil,
- gtk_label_get_layout (GTK_LABEL (label)), GAIL_AFTER_OFFSET,
- boundary_type, offset, start_offset, end_offset);
-}
-
-static gint
-gail_statusbar_get_character_count (AtkText *text)
-{
- GtkWidget *widget;
- GtkWidget *label;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- label = get_label_from_statusbar (widget);
-
- if (!GTK_IS_LABEL(label))
- return 0;
-
- return g_utf8_strlen (gtk_label_get_text (GTK_LABEL (label)), -1);
-}
-
-static void
-gail_statusbar_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkWidget *label;
- PangoRectangle char_rect;
- gint index, x_layout, y_layout;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
-
- if (widget == NULL)
- /* State is defunct */
- return;
-
- label = get_label_from_statusbar (widget);
-
- if (!GTK_IS_LABEL(label))
- return;
-
- gtk_label_get_layout_offsets (GTK_LABEL (label), &x_layout, &y_layout);
- label_text = gtk_label_get_text (GTK_LABEL (label));
- index = g_utf8_offset_to_pointer (label_text, offset) - label_text;
- pango_layout_index_to_pos (gtk_label_get_layout (GTK_LABEL (label)), index, &char_rect);
-
- gail_misc_get_extents_from_pango_rectangle (label, &char_rect,
- x_layout, y_layout, x, y, width, height, coords);
-}
-
-static gint
-gail_statusbar_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- GtkWidget *widget;
- GtkWidget *label;
- gint index, x_layout, y_layout;
- const gchar *label_text;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return -1;
-
- label = get_label_from_statusbar (widget);
-
- if (!GTK_IS_LABEL(label))
- return -1;
-
- gtk_label_get_layout_offsets (GTK_LABEL (label), &x_layout, &y_layout);
-
- index = gail_misc_get_index_at_point_in_layout (label,
- gtk_label_get_layout (GTK_LABEL (label)),
- x_layout, y_layout, x, y, coords);
- label_text = gtk_label_get_text (GTK_LABEL (label));
- if (index == -1)
- {
- if (coords == ATK_XY_WINDOW || coords == ATK_XY_SCREEN)
- return g_utf8_strlen (label_text, -1);
-
- return index;
- }
- else
- return g_utf8_pointer_to_offset (label_text, label_text + index);
-}
-
-static AtkAttributeSet*
-gail_statusbar_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- AtkAttributeSet *at_set = NULL;
- GtkJustification justify;
- GtkTextDirection dir;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = get_label_from_statusbar (widget);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- /* Get values set for entire label, if any */
- justify = gtk_label_get_justify (GTK_LABEL (label));
- if (justify != GTK_JUSTIFY_CENTER)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_JUSTIFICATION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_JUSTIFICATION, justify)));
- }
- dir = gtk_widget_get_direction (label);
- if (dir == GTK_TEXT_DIR_RTL)
- {
- at_set = gail_misc_add_attribute (at_set,
- ATK_TEXT_ATTR_DIRECTION,
- g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, dir)));
- }
-
- at_set = gail_misc_layout_get_run_attributes (at_set,
- gtk_label_get_layout (GTK_LABEL (label)),
- (gchar *) gtk_label_get_text (GTK_LABEL (label)),
- offset,
- start_offset,
- end_offset);
- return at_set;
-}
-
-static AtkAttributeSet*
-gail_statusbar_get_default_attributes (AtkText *text)
-{
- GtkWidget *widget;
- GtkWidget *label;
- AtkAttributeSet *at_set = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- label = get_label_from_statusbar (widget);
-
- if (!GTK_IS_LABEL(label))
- return NULL;
-
- at_set = gail_misc_get_default_attributes (at_set,
- gtk_label_get_layout (GTK_LABEL (label)),
- widget);
- return at_set;
-}
-
-static gunichar
-gail_statusbar_get_character_at_offset (AtkText *text,
- gint offset)
-{
- GtkWidget *widget;
- GtkWidget *label;
- const gchar *string;
- gchar *index;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return '\0';
-
- label = get_label_from_statusbar (widget);
-
- if (!GTK_IS_LABEL(label))
- return '\0';
- string = gtk_label_get_text (GTK_LABEL (label));
- if (offset >= g_utf8_strlen (string, -1))
- return '\0';
- index = g_utf8_offset_to_pointer (string, offset);
-
- return g_utf8_get_char (index);
-}
-
-static GtkWidget*
-get_label_from_statusbar (GtkWidget *statusbar)
-{
- GtkWidget *message_area;
- GList *children, *l;
- GtkWidget *child;
-
- message_area = gtk_statusbar_get_message_area (GTK_STATUSBAR (statusbar));
-
- children = gtk_container_get_children (GTK_CONTAINER (message_area));
- for (l = children; l; l = l->next)
- {
- child = l->data;
- if (GTK_IS_LABEL (child))
- break;
- child = NULL;
- }
-
- g_list_free (children);
-
- return child;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_STATUSBAR_H__
-#define __GAIL_STATUSBAR_H__
-
-#include <gail/gailcontainer.h>
-#include <libgail-util/gailtextutil.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_STATUSBAR (gail_statusbar_get_type ())
-#define GAIL_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_STATUSBAR, GailStatusbar))
-#define GAIL_STATUSBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_STATUSBAR, GailStatusbarClass))
-#define GAIL_IS_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_STATUSBAR))
-#define GAIL_IS_STATUSBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_STATUSBAR))
-#define GAIL_STATUSBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_STATUSBAR, GailStatusbarClass))
-
-typedef struct _GailStatusbar GailStatusbar;
-typedef struct _GailStatusbarClass GailStatusbarClass;
-
-struct _GailStatusbar
-{
- GailContainer parent;
-
- GailTextUtil *textutil;
-};
-
-GType gail_statusbar_get_type (void);
-
-struct _GailStatusbarClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_STATUSBAR_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gailsubmenuitem.h"
-
-static void gail_sub_menu_item_class_init (GailSubMenuItemClass *klass);
-static void gail_sub_menu_item_init (GailSubMenuItem *item);
-static void gail_sub_menu_item_real_initialize (AtkObject *obj,
- gpointer data);
-
-static void atk_selection_interface_init (AtkSelectionIface *iface);
-static gboolean gail_sub_menu_item_add_selection (AtkSelection *selection,
- gint i);
-static gboolean gail_sub_menu_item_clear_selection (AtkSelection *selection);
-static AtkObject* gail_sub_menu_item_ref_selection (AtkSelection *selection,
- gint i);
-static gint gail_sub_menu_item_get_selection_count
- (AtkSelection *selection);
-static gboolean gail_sub_menu_item_is_child_selected
- (AtkSelection *selection,
- gint i);
-static gboolean gail_sub_menu_item_remove_selection (AtkSelection *selection,
- gint i);
-static gint menu_item_add_gtk (GtkContainer *container,
- GtkWidget *widget);
-static gint menu_item_remove_gtk (GtkContainer *container,
- GtkWidget *widget);
-
-G_DEFINE_TYPE_WITH_CODE (GailSubMenuItem, gail_sub_menu_item, GAIL_TYPE_MENU_ITEM,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
-
-static void
-gail_sub_menu_item_class_init (GailSubMenuItemClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- class->initialize = gail_sub_menu_item_real_initialize;
-}
-
-static void
-gail_sub_menu_item_init (GailSubMenuItem *item)
-{
-}
-
-static void
-gail_sub_menu_item_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GtkWidget *submenu;
-
- ATK_OBJECT_CLASS (gail_sub_menu_item_parent_class)->initialize (obj, data);
-
- submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (data));
- g_return_if_fail (submenu);
-
- g_signal_connect (submenu,
- "add",
- G_CALLBACK (menu_item_add_gtk),
- NULL);
- g_signal_connect (submenu,
- "remove",
- G_CALLBACK (menu_item_remove_gtk),
- NULL);
-
- obj->role = ATK_ROLE_MENU;
-}
-
-AtkObject*
-gail_sub_menu_item_new (GtkWidget *widget)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail (GTK_IS_MENU_ITEM (widget), NULL);
-
- object = g_object_new (GAIL_TYPE_SUB_MENU_ITEM, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, widget);
-
- return accessible;
-}
-
-static void
-atk_selection_interface_init (AtkSelectionIface *iface)
-{
- iface->add_selection = gail_sub_menu_item_add_selection;
- iface->clear_selection = gail_sub_menu_item_clear_selection;
- iface->ref_selection = gail_sub_menu_item_ref_selection;
- iface->get_selection_count = gail_sub_menu_item_get_selection_count;
- iface->is_child_selected = gail_sub_menu_item_is_child_selected;
- iface->remove_selection = gail_sub_menu_item_remove_selection;
- /*
- * select_all_selection does not make sense for a submenu of a menu item
- * so no implementation is provided.
- */
-}
-
-static gboolean
-gail_sub_menu_item_add_selection (AtkSelection *selection,
- gint i)
-{
- GtkMenuShell *shell;
- GList *kids;
- guint length;
- GtkWidget *widget;
- GtkWidget *submenu;
- GtkWidget *child;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
- g_return_val_if_fail (GTK_IS_MENU_SHELL (submenu), FALSE);
- shell = GTK_MENU_SHELL (submenu);
- kids = gtk_container_get_children (GTK_CONTAINER (shell));
- length = g_list_length (kids);
- if (i < 0 || i > length)
- {
- g_list_free (kids);
- return FALSE;
- }
-
- child = g_list_nth_data (kids, i);
- g_list_free (kids);
- g_return_val_if_fail (GTK_IS_MENU_ITEM(child), FALSE);
- gtk_menu_shell_select_item (shell, GTK_WIDGET (child));
- return TRUE;
-}
-
-static gboolean
-gail_sub_menu_item_clear_selection (AtkSelection *selection)
-{
- GtkMenuShell *shell;
- GtkWidget *widget;
- GtkWidget *submenu;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
- g_return_val_if_fail (GTK_IS_MENU_SHELL (submenu), FALSE);
- shell = GTK_MENU_SHELL (submenu);
-
- gtk_menu_shell_deselect (shell);
- return TRUE;
-}
-
-static AtkObject*
-gail_sub_menu_item_ref_selection (AtkSelection *selection,
- gint i)
-{
- GtkMenuShell *shell;
- AtkObject *obj;
- GtkWidget *widget;
- GtkWidget *submenu;
- GtkWidget *item;
-
- if (i != 0)
- return NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
- g_return_val_if_fail (GTK_IS_MENU_SHELL (submenu), NULL);
- shell = GTK_MENU_SHELL (submenu);
-
- item = gtk_menu_shell_get_selected_item (shell);
- if (item != NULL)
- {
- obj = gtk_widget_get_accessible (item);
- g_object_ref (obj);
- return obj;
- }
- else
- {
- return NULL;
- }
-}
-
-static gint
-gail_sub_menu_item_get_selection_count (AtkSelection *selection)
-{
- GtkMenuShell *shell;
- GtkWidget *widget;
- GtkWidget *submenu;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
- g_return_val_if_fail (GTK_IS_MENU_SHELL (submenu), FALSE);
- shell = GTK_MENU_SHELL (submenu);
-
- /*
- * Identifies the currently selected menu item
- */
- if (gtk_menu_shell_get_selected_item (shell) == NULL)
- return 0;
- else
- return 1;
-}
-
-static gboolean
-gail_sub_menu_item_is_child_selected (AtkSelection *selection,
- gint i)
-{
- GtkMenuShell *shell;
- gint j;
- GtkWidget *widget;
- GtkWidget *submenu;
- GtkWidget *item;
- GList *kids;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
- g_return_val_if_fail (GTK_IS_MENU_SHELL (submenu), FALSE);
- shell = GTK_MENU_SHELL (submenu);
-
- item = gtk_menu_shell_get_selected_item (shell);
- if (item == NULL)
- return FALSE;
-
- kids = gtk_container_get_children (GTK_CONTAINER (shell));
- j = g_list_index (kids, item);
- g_list_free (kids);
-
- return (j==i);
-}
-
-static gboolean
-gail_sub_menu_item_remove_selection (AtkSelection *selection,
- gint i)
-{
- GtkMenuShell *shell;
- GtkWidget *widget;
- GtkWidget *submenu;
- GtkWidget *item;
-
- if (i != 0)
- return FALSE;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
- g_return_val_if_fail (GTK_IS_MENU_SHELL (submenu), FALSE);
- shell = GTK_MENU_SHELL (submenu);
-
- item = gtk_menu_shell_get_selected_item (shell);
- if (item && gtk_menu_item_get_submenu (GTK_MENU_ITEM (item)))
- {
- /*
- * Menu item contains a menu and it is the selected menu item
- * so deselect it.
- */
- gtk_menu_shell_deselect (shell);
- }
- return TRUE;
-}
-
-static gint
-menu_item_add_gtk (GtkContainer *container,
- GtkWidget *widget)
-{
- GtkWidget *parent_widget;
- AtkObject *atk_parent;
- AtkObject *atk_child;
- GailContainer *gail_container;
- gint index;
-
- g_return_val_if_fail (GTK_IS_MENU (container), 1);
-
- parent_widget = gtk_menu_get_attach_widget (GTK_MENU (container));
- if (GTK_IS_MENU_ITEM (parent_widget))
- {
- atk_parent = gtk_widget_get_accessible (parent_widget);
- atk_child = gtk_widget_get_accessible (widget);
-
- gail_container = GAIL_CONTAINER (atk_parent);
- g_object_notify (G_OBJECT (atk_child), "accessible_parent");
-
- g_list_free (gail_container->children);
- gail_container->children = gtk_container_get_children (container);
- index = g_list_index (gail_container->children, widget);
- g_signal_emit_by_name (atk_parent, "children_changed::add",
- index, atk_child, NULL);
- }
- return 1;
-}
-
-static gint
-menu_item_remove_gtk (GtkContainer *container,
- GtkWidget *widget)
-{
- GtkWidget *parent_widget;
- AtkObject *atk_parent;
- AtkObject *atk_child;
- GailContainer *gail_container;
- AtkPropertyValues values = { NULL };
- gint index;
- gint list_length;
-
- g_return_val_if_fail (GTK_IS_MENU (container), 1);
-
- parent_widget = gtk_menu_get_attach_widget (GTK_MENU (container));
- if (GTK_IS_MENU_ITEM (parent_widget))
- {
- atk_parent = gtk_widget_get_accessible (parent_widget);
- atk_child = gtk_widget_get_accessible (widget);
-
- gail_container = GAIL_CONTAINER (atk_parent);
- g_value_init (&values.old_value, G_TYPE_POINTER);
- g_value_set_pointer (&values.old_value, atk_parent);
- values.property_name = "accessible-parent";
- g_signal_emit_by_name (atk_child,
- "property_change::accessible-parent", &values, NULL);
-
- index = g_list_index (gail_container->children, widget);
- list_length = g_list_length (gail_container->children);
- g_list_free (gail_container->children);
- gail_container->children = gtk_container_get_children (container);
- if (index >= 0 && index <= list_length)
- g_signal_emit_by_name (atk_parent, "children_changed::remove",
- index, atk_child, NULL);
- }
- return 1;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2002 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_SUB_MENU_ITEM_H__
-#define __GAIL_SUB_MENU_ITEM_H__
-
-#include <gail/gailmenuitem.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_SUB_MENU_ITEM (gail_sub_menu_item_get_type ())
-#define GAIL_SUB_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_SUB_MENU_ITEM, GailSubMenuItem))
-#define GAIL_SUB_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_SUB_MENU_ITEM, GailSubMenuItemClass))
-#define GAIL_IS_SUB_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_SUB_MENU_ITEM))
-#define GAIL_IS_SUB_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_SUB_MENU_ITEM))
-#define GAIL_SUB_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_SUB_MENU_ITEM, GailSubMenuItemClass))
-
-typedef struct _GailSubMenuItem GailSubMenuItem;
-typedef struct _GailSubMenuItemClass GailSubMenuItemClass;
-
-struct _GailSubMenuItem
-{
- GailMenuItem parent;
-
-};
-
-GType gail_sub_menu_item_get_type (void);
-
-struct _GailSubMenuItemClass
-{
- GailMenuItemClass parent_class;
-};
-
-AtkObject* gail_sub_menu_item_new (GtkWidget *widget);
-
-G_END_DECLS
-
-#endif /* __GAIL_SUB_MENU_ITEM_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-#include <string.h>
-#include <gtk/gtk.h>
-#include "gailtextcell.h"
-#include "gailcontainercell.h"
-#include "gailcellparent.h"
-#include <libgail-util/gailmisc.h>
-#include "gail-private-macros.h"
-
-static void gail_text_cell_class_init (GailTextCellClass *klass);
-static void gail_text_cell_init (GailTextCell *text_cell);
-static void gail_text_cell_finalize (GObject *object);
-
-static const gchar* gail_text_cell_get_name (AtkObject *atk_obj);
-
-static void atk_text_interface_init (AtkTextIface *iface);
-
-/* atktext.h */
-
-static gchar* gail_text_cell_get_text (AtkText *text,
- gint start_pos,
- gint end_pos);
-static gunichar gail_text_cell_get_character_at_offset (AtkText *text,
- gint offset);
-static gchar* gail_text_cell_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_text_cell_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_text_cell_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gint gail_text_cell_get_character_count (AtkText *text);
-static gint gail_text_cell_get_caret_offset (AtkText *text);
-static gboolean gail_text_cell_set_caret_offset (AtkText *text,
- gint offset);
-static void gail_text_cell_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords);
-static gint gail_text_cell_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords);
-static AtkAttributeSet* gail_text_cell_get_run_attributes
- (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static AtkAttributeSet* gail_text_cell_get_default_attributes
- (AtkText *text);
-
-static PangoLayout* create_pango_layout (GtkCellRendererText *gtk_renderer,
- GtkWidget *widget);
-static void add_attr (PangoAttrList *attr_list,
- PangoAttribute *attr);
-
-/* Misc */
-
-static gboolean gail_text_cell_update_cache (GailRendererCell *cell,
- gboolean emit_change_signal);
-
-gchar *gail_text_cell_property_list[] = {
- /* Set font_desc first since it resets other values if it is NULL */
- "font_desc",
-
- "attributes",
- "background-gdk",
- "editable",
- "family",
- "foreground-gdk",
- "rise",
- "scale",
- "size",
- "size-points",
- "stretch",
- "strikethrough",
- "style",
- "text",
- "underline",
- "variant",
- "weight",
-
- /* Also need the sets */
- "background-set",
- "editable-set",
- "family-set",
- "foreground-set",
- "rise-set",
- "scale-set",
- "size-set",
- "stretch-set",
- "strikethrough-set",
- "style-set",
- "underline-set",
- "variant-set",
- "weight-set",
- NULL
-};
-
-G_DEFINE_TYPE_WITH_CODE (GailTextCell, gail_text_cell, GAIL_TYPE_RENDERER_CELL,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
-
-static void
-gail_text_cell_class_init (GailTextCellClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
- GailRendererCellClass *renderer_cell_class = GAIL_RENDERER_CELL_CLASS (klass);
-
- renderer_cell_class->update_cache = gail_text_cell_update_cache;
- renderer_cell_class->property_list = gail_text_cell_property_list;
-
- atk_object_class->get_name = gail_text_cell_get_name;
-
- gobject_class->finalize = gail_text_cell_finalize;
-}
-
-/* atktext.h */
-
-static void
-gail_text_cell_init (GailTextCell *text_cell)
-{
- text_cell->cell_text = NULL;
- text_cell->caret_pos = 0;
- text_cell->cell_length = 0;
- text_cell->textutil = gail_text_util_new ();
- atk_state_set_add_state (GAIL_CELL (text_cell)->state_set,
- ATK_STATE_SINGLE_LINE);
-}
-
-AtkObject*
-gail_text_cell_new (void)
-{
- GObject *object;
- AtkObject *atk_object;
- GailRendererCell *cell;
-
- object = g_object_new (GAIL_TYPE_TEXT_CELL, NULL);
-
- g_return_val_if_fail (object != NULL, NULL);
-
- atk_object = ATK_OBJECT (object);
- atk_object->role = ATK_ROLE_TABLE_CELL;
-
- cell = GAIL_RENDERER_CELL(object);
-
- cell->renderer = gtk_cell_renderer_text_new ();
- g_object_ref_sink (cell->renderer);
- return atk_object;
-}
-
-static void
-gail_text_cell_finalize (GObject *object)
-{
- GailTextCell *text_cell = GAIL_TEXT_CELL (object);
-
- g_object_unref (text_cell->textutil);
- g_free (text_cell->cell_text);
-
- G_OBJECT_CLASS (gail_text_cell_parent_class)->finalize (object);
-}
-
-static const gchar*
-gail_text_cell_get_name (AtkObject *atk_obj)
-{
- if (atk_obj->name)
- return atk_obj->name;
- else
- {
- GailTextCell *text_cell = GAIL_TEXT_CELL (atk_obj);
-
- return text_cell->cell_text;
- }
-}
-
-static gboolean
-gail_text_cell_update_cache (GailRendererCell *cell,
- gboolean emit_change_signal)
-{
- GailTextCell *text_cell = GAIL_TEXT_CELL (cell);
- AtkObject *obj = ATK_OBJECT (cell);
- gboolean rv = FALSE;
- gint temp_length;
- gchar *new_cache;
-
- g_object_get (G_OBJECT (cell->renderer), "text", &new_cache, NULL);
-
- if (text_cell->cell_text)
- {
- /*
- * If the new value is NULL and the old value isn't NULL, then the
- * value has changed.
- */
- if (new_cache == NULL ||
- strcmp (text_cell->cell_text, new_cache))
- {
- g_free (text_cell->cell_text);
- temp_length = text_cell->cell_length;
- text_cell->cell_text = NULL;
- text_cell->cell_length = 0;
- if (emit_change_signal)
- {
- g_signal_emit_by_name (cell, "text_changed::delete", 0, temp_length);
- if (obj->name == NULL)
- g_object_notify (G_OBJECT (obj), "accessible-name");
- }
- if (new_cache)
- rv = TRUE;
- }
- }
- else
- rv = TRUE;
-
- if (rv)
- {
- if (new_cache == NULL)
- {
- text_cell->cell_text = g_strdup ("");
- text_cell->cell_length = 0;
- }
- else
- {
- text_cell->cell_text = g_strdup (new_cache);
- text_cell->cell_length = g_utf8_strlen (new_cache, -1);
- }
- }
-
- g_free (new_cache);
- gail_text_util_text_setup (text_cell->textutil, text_cell->cell_text);
-
- if (rv)
- {
- if (emit_change_signal)
- {
- g_signal_emit_by_name (cell, "text_changed::insert",
- 0, text_cell->cell_length);
-
- if (obj->name == NULL)
- g_object_notify (G_OBJECT (obj), "accessible-name");
- }
- }
- return rv;
-}
-
-static void
-atk_text_interface_init (AtkTextIface *iface)
-{
- iface->get_text = gail_text_cell_get_text;
- iface->get_character_at_offset = gail_text_cell_get_character_at_offset;
- iface->get_text_before_offset = gail_text_cell_get_text_before_offset;
- iface->get_text_at_offset = gail_text_cell_get_text_at_offset;
- iface->get_text_after_offset = gail_text_cell_get_text_after_offset;
- iface->get_character_count = gail_text_cell_get_character_count;
- iface->get_caret_offset = gail_text_cell_get_caret_offset;
- iface->set_caret_offset = gail_text_cell_set_caret_offset;
- iface->get_run_attributes = gail_text_cell_get_run_attributes;
- iface->get_default_attributes = gail_text_cell_get_default_attributes;
- iface->get_character_extents = gail_text_cell_get_character_extents;
- iface->get_offset_at_point = gail_text_cell_get_offset_at_point;
-}
-
-static gchar*
-gail_text_cell_get_text (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- if (GAIL_TEXT_CELL (text)->cell_text)
- return gail_text_util_get_substring (GAIL_TEXT_CELL (text)->textutil,
- start_pos, end_pos);
- else
- return g_strdup ("");
-}
-
-static gchar*
-gail_text_cell_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- return gail_text_util_get_text (GAIL_TEXT_CELL (text)->textutil,
- NULL, GAIL_BEFORE_OFFSET, boundary_type, offset, start_offset,
- end_offset);
-}
-
-static gchar*
-gail_text_cell_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- return gail_text_util_get_text (GAIL_TEXT_CELL (text)->textutil,
- NULL, GAIL_AT_OFFSET, boundary_type, offset, start_offset, end_offset);
-}
-
-static gchar*
-gail_text_cell_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- return gail_text_util_get_text (GAIL_TEXT_CELL (text)->textutil,
- NULL, GAIL_AFTER_OFFSET, boundary_type, offset, start_offset,
- end_offset);
-}
-
-static gint
-gail_text_cell_get_character_count (AtkText *text)
-{
- if (GAIL_TEXT_CELL (text)->cell_text != NULL)
- return GAIL_TEXT_CELL (text)->cell_length;
- else
- return 0;
-}
-
-static gint
-gail_text_cell_get_caret_offset (AtkText *text)
-{
- return GAIL_TEXT_CELL (text)->caret_pos;
-}
-
-static gboolean
-gail_text_cell_set_caret_offset (AtkText *text,
- gint offset)
-{
- GailTextCell *text_cell = GAIL_TEXT_CELL (text);
-
- if (text_cell->cell_text == NULL)
- return FALSE;
- else
- {
-
- /* Only set the caret within the bounds and if it is to a new position. */
- if (offset >= 0 &&
- offset <= text_cell->cell_length &&
- offset != text_cell->caret_pos)
- {
- text_cell->caret_pos = offset;
-
- /* emit the signal */
- g_signal_emit_by_name (text, "text_caret_moved", offset);
- return TRUE;
- }
- else
- return FALSE;
- }
-}
-
-static AtkAttributeSet*
-gail_text_cell_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- GailRendererCell *gail_renderer;
- GtkCellRendererText *gtk_renderer;
- AtkAttributeSet *attrib_set = NULL;
- PangoLayout *layout;
- AtkObject *parent;
- GtkWidget *widget;
- gchar *renderer_text;
-
- gail_renderer = GAIL_RENDERER_CELL (text);
- gtk_renderer = GTK_CELL_RENDERER_TEXT (gail_renderer->renderer);
-
- parent = atk_object_get_parent (ATK_OBJECT (text));
- if (GAIL_IS_CONTAINER_CELL (parent))
- parent = atk_object_get_parent (parent);
- g_return_val_if_fail (GAIL_IS_CELL_PARENT (parent), NULL);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
- layout = create_pango_layout (gtk_renderer, widget),
- g_object_get (gtk_renderer, "text", &renderer_text, NULL);
- attrib_set = gail_misc_layout_get_run_attributes (attrib_set,
- layout,
- renderer_text,
- offset,
- start_offset,
- end_offset);
- g_free (renderer_text);
- g_object_unref (G_OBJECT (layout));
-
- return attrib_set;
-}
-
-static AtkAttributeSet*
-gail_text_cell_get_default_attributes (AtkText *text)
-{
- GailRendererCell *gail_renderer;
- GtkCellRendererText *gtk_renderer;
- AtkAttributeSet *attrib_set = NULL;
- PangoLayout *layout;
- AtkObject *parent;
- GtkWidget *widget;
-
- gail_renderer = GAIL_RENDERER_CELL (text);
- gtk_renderer = GTK_CELL_RENDERER_TEXT (gail_renderer->renderer);
-
- parent = atk_object_get_parent (ATK_OBJECT (text));
- if (GAIL_IS_CONTAINER_CELL (parent))
- parent = atk_object_get_parent (parent);
- g_return_val_if_fail (GAIL_IS_CELL_PARENT (parent), NULL);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
- layout = create_pango_layout (gtk_renderer, widget),
-
- attrib_set = gail_misc_get_default_attributes (attrib_set,
- layout,
- widget);
- g_object_unref (G_OBJECT (layout));
- return attrib_set;
-}
-
-/*
- * This function is used by gail_text_cell_get_offset_at_point()
- * and gail_text_cell_get_character_extents(). There is no
- * cached PangoLayout for gailtextcell so we must create a temporary
- * one using this function.
- */
-static PangoLayout*
-create_pango_layout(GtkCellRendererText *gtk_renderer,
- GtkWidget *widget)
-{
- GdkRGBA *foreground_rgba;
- PangoAttrList *attr_list, *attributes;
- PangoLayout *layout;
- PangoUnderline uline, underline;
- PangoFontMask mask;
- PangoFontDescription *font_desc;
- gboolean foreground_set, strikethrough_set, strikethrough;
- gboolean scale_set, underline_set, rise_set;
- gchar *renderer_text;
- gdouble scale;
- gint rise;
-
- g_object_get (gtk_renderer,
- "text", &renderer_text,
- "attributes", &attributes,
- "foreground-set", &foreground_set,
- "foreground-rgba", &foreground_rgba,
- "strikethrough-set", &strikethrough_set,
- "strikethrough", &strikethrough,
- "font-desc", &font_desc,
- "scale-set", &scale_set,
- "scale", &scale,
- "underline-set", &underline_set,
- "underline", &underline,
- "rise-set", &rise_set,
- "rise", &rise,
- NULL);
-
- layout = gtk_widget_create_pango_layout (widget, renderer_text);
-
- if (attributes)
- attr_list = pango_attr_list_copy (attributes);
- else
- attr_list = pango_attr_list_new ();
-
- if (foreground_set)
- {
- add_attr (attr_list, pango_attr_foreground_new (foreground_rgba->red * 65535,
- foreground_rgba->green * 65535,
- foreground_rgba->blue * 65535));
- }
-
- if (strikethrough_set)
- add_attr (attr_list,
- pango_attr_strikethrough_new (strikethrough));
-
- mask = pango_font_description_get_set_fields (font_desc);
-
- if (mask & PANGO_FONT_MASK_FAMILY)
- add_attr (attr_list,
- pango_attr_family_new (pango_font_description_get_family (font_desc)));
-
- if (mask & PANGO_FONT_MASK_STYLE)
- add_attr (attr_list, pango_attr_style_new (pango_font_description_get_style (font_desc)));
-
- if (mask & PANGO_FONT_MASK_VARIANT)
- add_attr (attr_list, pango_attr_variant_new (pango_font_description_get_variant (font_desc)));
-
- if (mask & PANGO_FONT_MASK_WEIGHT)
- add_attr (attr_list, pango_attr_weight_new (pango_font_description_get_weight (font_desc)));
-
- if (mask & PANGO_FONT_MASK_STRETCH)
- add_attr (attr_list, pango_attr_stretch_new (pango_font_description_get_stretch (font_desc)));
-
- if (mask & PANGO_FONT_MASK_SIZE)
- add_attr (attr_list, pango_attr_size_new (pango_font_description_get_size (font_desc)));
-
- if (scale_set && scale != 1.0)
- add_attr (attr_list, pango_attr_scale_new (scale));
-
- if (underline_set)
- uline = underline;
- else
- uline = PANGO_UNDERLINE_NONE;
-
- if (uline != PANGO_UNDERLINE_NONE)
- add_attr (attr_list,
- pango_attr_underline_new (underline));
-
- if (rise_set)
- add_attr (attr_list, pango_attr_rise_new (rise));
-
- pango_layout_set_attributes (layout, attr_list);
- pango_layout_set_width (layout, -1);
- pango_attr_list_unref (attr_list);
-
- pango_font_description_free (font_desc);
- pango_attr_list_unref (attributes);
- g_free (renderer_text);
- gdk_rgba_free (foreground_rgba);
-
- return layout;
-}
-
-static void
-add_attr (PangoAttrList *attr_list,
- PangoAttribute *attr)
-{
- attr->start_index = 0;
- attr->end_index = G_MAXINT;
- pango_attr_list_insert (attr_list, attr);
-}
-
-static void
-gail_text_cell_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- GailRendererCell *gail_renderer;
- GtkRequisition min_size;
- GtkCellRendererText *gtk_renderer;
- GdkRectangle rendered_rect;
- GtkWidget *widget;
- AtkObject *parent;
- PangoRectangle char_rect;
- PangoLayout *layout;
- gchar *renderer_text;
- gfloat xalign, yalign;
- gint x_offset, y_offset, index;
- gint xpad, ypad;
-
- if (!GAIL_TEXT_CELL (text)->cell_text)
- {
- *x = *y = *height = *width = 0;
- return;
- }
- if (offset < 0 || offset >= GAIL_TEXT_CELL (text)->cell_length)
- {
- *x = *y = *height = *width = 0;
- return;
- }
- gail_renderer = GAIL_RENDERER_CELL (text);
- gtk_renderer = GTK_CELL_RENDERER_TEXT (gail_renderer->renderer);
- /*
- * Thus would be inconsistent with the cache
- */
- g_object_get (gtk_renderer, "text", &renderer_text, NULL);
- if (text == NULL)
- {
- g_free (renderer_text);
- return;
- }
-
- parent = atk_object_get_parent (ATK_OBJECT (text));
- if (GAIL_IS_CONTAINER_CELL (parent))
- parent = atk_object_get_parent (parent);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
- g_return_if_fail (GAIL_IS_CELL_PARENT (parent));
- gail_cell_parent_get_cell_area (GAIL_CELL_PARENT (parent), GAIL_CELL (text),
- &rendered_rect);
-
- gtk_cell_renderer_get_preferred_size (GTK_CELL_RENDERER (gtk_renderer),
- widget,
- &min_size, NULL);
-
- gtk_cell_renderer_get_alignment (GTK_CELL_RENDERER (gtk_renderer), &xalign, &yalign);
- if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
- xalign = 1.0 - xalign;
- x_offset = MAX (0, xalign * (rendered_rect.width - min_size.width));
- y_offset = MAX (0, yalign * (rendered_rect.height - min_size.height));
-
- layout = create_pango_layout (gtk_renderer, widget);
-
- index = g_utf8_offset_to_pointer (renderer_text, offset) - renderer_text;
- pango_layout_index_to_pos (layout, index, &char_rect);
-
- gtk_cell_renderer_get_padding (gail_renderer->renderer, &xpad, &ypad);
- gail_misc_get_extents_from_pango_rectangle (widget,
- &char_rect,
- x_offset + rendered_rect.x + xpad,
- y_offset + rendered_rect.y + ypad,
- x, y, width, height, coords);
-
- g_free (renderer_text);
- g_object_unref (layout);
-
- return;
-}
-
-static gint
-gail_text_cell_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- AtkObject *parent;
- GailRendererCell *gail_renderer;
- GtkCellRendererText *gtk_renderer;
- GtkRequisition min_size;
- GtkWidget *widget;
- GdkRectangle rendered_rect;
- PangoLayout *layout;
- gchar *renderer_text;
- gfloat xalign, yalign;
- gint x_offset, y_offset, index;
- gint xpad, ypad;
-
- if (!GAIL_TEXT_CELL (text)->cell_text)
- return -1;
-
- gail_renderer = GAIL_RENDERER_CELL (text);
- gtk_renderer = GTK_CELL_RENDERER_TEXT (gail_renderer->renderer);
- parent = atk_object_get_parent (ATK_OBJECT (text));
-
- g_object_get (gtk_renderer, "text", &renderer_text, NULL);
- if (text == NULL)
- {
- g_free (renderer_text);
- return -1;
- }
-
- if (GAIL_IS_CONTAINER_CELL (parent))
- parent = atk_object_get_parent (parent);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
-
- g_return_val_if_fail (GAIL_IS_CELL_PARENT (parent), -1);
- gail_cell_parent_get_cell_area (GAIL_CELL_PARENT (parent), GAIL_CELL (text),
- &rendered_rect);
-
- gtk_cell_renderer_get_preferred_size (GTK_CELL_RENDERER (gtk_renderer),
- widget,
- &min_size, NULL);
- gtk_cell_renderer_get_alignment (GTK_CELL_RENDERER (gtk_renderer), &xalign, &yalign);
- if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
- xalign = 1.0 - xalign;
- x_offset = MAX (0, xalign * (rendered_rect.width - min_size.width));
- y_offset = MAX (0, yalign * (rendered_rect.height - min_size.height));
-
- layout = create_pango_layout (gtk_renderer, widget);
-
- gtk_cell_renderer_get_padding (gail_renderer->renderer, &xpad, &ypad);
- index = gail_misc_get_index_at_point_in_layout (widget, layout,
- x_offset + rendered_rect.x + xpad,
- y_offset + rendered_rect.y + ypad,
- x, y, coords);
- g_object_unref (layout);
- if (index == -1)
- {
- if (coords == ATK_XY_WINDOW || coords == ATK_XY_SCREEN)
- {
- glong length;
-
- length = g_utf8_strlen (renderer_text, -1);
- g_free (renderer_text);
-
- return length;
- }
-
- g_free (renderer_text);
-
- return index;
- }
- else
- {
- glong offset;
-
- offset = g_utf8_pointer_to_offset (renderer_text,
- renderer_text + index);
- g_free (renderer_text);
-
- return offset;
- }
-}
-
-static gunichar
-gail_text_cell_get_character_at_offset (AtkText *text,
- gint offset)
-{
- gchar *index;
- gchar *string;
-
- string = GAIL_TEXT_CELL(text)->cell_text;
-
- if (!string)
- return '\0';
-
- if (offset >= g_utf8_strlen (string, -1))
- return '\0';
-
- index = g_utf8_offset_to_pointer (string, offset);
-
- return g_utf8_get_char (index);
-}
-
+++ /dev/null
-/* GAIL - The GNOME Accessibility Enabling Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_TEXT_CELL_H__
-#define __GAIL_TEXT_CELL_H__
-
-#include <atk/atk.h>
-#include <gail/gailrenderercell.h>
-#include <libgail-util/gailtextutil.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_TEXT_CELL (gail_text_cell_get_type ())
-#define GAIL_TEXT_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_TEXT_CELL, GailTextCell))
-#define GAIL_TEXT_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TEXT_CELL, GailTextCellClass))
-#define GAIL_IS_TEXT_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_TEXT_CELL))
-#define GAIL_IS_TEXT_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_TEXT_CELL))
-#define GAIL_TEXT_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_TEXT_CELL, GailTextCellClass))
-
-typedef struct _GailTextCell GailTextCell;
-typedef struct _GailTextCellClass GailTextCellClass;
-
-struct _GailTextCell
-{
- GailRendererCell parent;
- GailTextUtil *textutil;
- gchar *cell_text;
- gint caret_pos;
- gint cell_length;
-};
-
-GType gail_text_cell_get_type (void);
-
-struct _GailTextCellClass
-{
- GailRendererCellClass parent_class;
-};
-
-AtkObject *gail_text_cell_new (void);
-
-G_END_DECLS
-
-#endif /* __GAIL_TREE_VIEW_TEXT_CELL_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <sys/types.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdlib.h>
-#include <glib-object.h>
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include "gailtextview.h"
-#include <libgail-util/gailmisc.h>
-
-static void gail_text_view_class_init (GailTextViewClass *klass);
-static void gail_text_view_init (GailTextView *text_view);
-
-static void gail_text_view_real_initialize (AtkObject *obj,
- gpointer data);
-static void gail_text_view_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-
-static void gail_text_view_finalize (GObject *object);
-
-static void atk_text_interface_init (AtkTextIface *iface);
-
-/* atkobject.h */
-
-static AtkStateSet* gail_text_view_ref_state_set (AtkObject *accessible);
-
-/* atktext.h */
-
-static gchar* gail_text_view_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_text_view_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_text_view_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset);
-static gchar* gail_text_view_get_text (AtkText*text,
- gint start_offset,
- gint end_offset);
-static gunichar gail_text_view_get_character_at_offset (AtkText *text,
- gint offset);
-static gint gail_text_view_get_character_count (AtkText *text);
-static gint gail_text_view_get_caret_offset (AtkText *text);
-static gboolean gail_text_view_set_caret_offset (AtkText *text,
- gint offset);
-static gint gail_text_view_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords);
-static gint gail_text_view_get_n_selections (AtkText *text);
-static gchar* gail_text_view_get_selection (AtkText *text,
- gint selection_num,
- gint *start_offset,
- gint *end_offset);
-static gboolean gail_text_view_add_selection (AtkText *text,
- gint start_offset,
- gint end_offset);
-static gboolean gail_text_view_remove_selection (AtkText *text,
- gint selection_num);
-static gboolean gail_text_view_set_selection (AtkText *text,
- gint selection_num,
- gint start_offset,
- gint end_offset);
-static void gail_text_view_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords);
-static AtkAttributeSet * gail_text_view_get_run_attributes
- (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static AtkAttributeSet * gail_text_view_get_default_attributes
- (AtkText *text);
-/* atkeditabletext.h */
-
-static void atk_editable_text_interface_init (AtkEditableTextIface *iface);
-static gboolean gail_text_view_set_run_attributes (AtkEditableText *text,
- AtkAttributeSet *attrib_set,
- gint start_offset,
- gint end_offset);
-static void gail_text_view_set_text_contents (AtkEditableText *text,
- const gchar *string);
-static void gail_text_view_insert_text (AtkEditableText *text,
- const gchar *string,
- gint length,
- gint *position);
-static void gail_text_view_copy_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos);
-static void gail_text_view_cut_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos);
-static void gail_text_view_delete_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos);
-static void gail_text_view_paste_text (AtkEditableText *text,
- gint position);
-static void gail_text_view_paste_received (GtkClipboard *clipboard,
- const gchar *text,
- gpointer data);
-/* AtkStreamableContent */
-static void atk_streamable_content_interface_init (AtkStreamableContentIface *iface);
-static gint gail_streamable_content_get_n_mime_types (AtkStreamableContent *streamable);
-static const gchar* gail_streamable_content_get_mime_type (AtkStreamableContent *streamable,
- gint i);
-static GIOChannel* gail_streamable_content_get_stream (AtkStreamableContent *streamable,
- const gchar *mime_type);
-/* getURI requires atk-1.12.0 or later
-static void gail_streamable_content_get_uri (AtkStreamableContent *streamable);
-*/
-
-/* Callbacks */
-
-static void _gail_text_view_insert_text_cb (GtkTextBuffer *buffer,
- GtkTextIter *arg1,
- gchar *arg2,
- gint arg3,
- gpointer user_data);
-static void _gail_text_view_delete_range_cb (GtkTextBuffer *buffer,
- GtkTextIter *arg1,
- GtkTextIter *arg2,
- gpointer user_data);
-static void _gail_text_view_changed_cb (GtkTextBuffer *buffer,
- gpointer user_data);
-static void _gail_text_view_mark_set_cb (GtkTextBuffer *buffer,
- GtkTextIter *arg1,
- GtkTextMark *arg2,
- gpointer user_data);
-static gchar* get_text_near_offset (AtkText *text,
- GailOffsetType function,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-static gint get_insert_offset (GtkTextBuffer *buffer);
-static gint get_selection_bound (GtkTextBuffer *buffer);
-static void emit_text_caret_moved (GailTextView *gail_text_view,
- gint insert_offset);
-static gint insert_idle_handler (gpointer data);
-
-typedef struct _GailTextViewPaste GailTextViewPaste;
-
-struct _GailTextViewPaste
-{
- GtkTextBuffer* buffer;
- gint position;
-};
-
-G_DEFINE_TYPE_WITH_CODE (GailTextView, gail_text_view, GAIL_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_EDITABLE_TEXT, atk_editable_text_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_STREAMABLE_CONTENT, atk_streamable_content_interface_init))
-
-static void
-gail_text_view_class_init (GailTextViewClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GailWidgetClass *widget_class;
-
- widget_class = (GailWidgetClass*)klass;
-
- gobject_class->finalize = gail_text_view_finalize;
-
- class->ref_state_set = gail_text_view_ref_state_set;
- class->initialize = gail_text_view_real_initialize;
-
- widget_class->notify_gtk = gail_text_view_real_notify_gtk;
-}
-
-static void
-gail_text_view_init (GailTextView *text_view)
-{
- text_view->textutil = NULL;
- text_view->signal_name = NULL;
- text_view->previous_insert_offset = -1;
- text_view->previous_selection_bound = -1;
- text_view->insert_notify_handler = 0;
-}
-
-static void
-setup_buffer (GtkTextView *view,
- GailTextView *gail_view)
-{
- GtkTextBuffer *buffer;
-
- buffer = gtk_text_view_get_buffer (view);
-
- if (gail_view->textutil)
- g_object_unref (gail_view->textutil);
-
- gail_view->textutil = gail_text_util_new ();
- gail_text_util_buffer_setup (gail_view->textutil, buffer);
-
- /* Set up signal callbacks */
- g_signal_connect_data (buffer, "insert-text",
- (GCallback) _gail_text_view_insert_text_cb, view, NULL, 0);
- g_signal_connect_data (buffer, "delete-range",
- (GCallback) _gail_text_view_delete_range_cb, view, NULL, 0);
- g_signal_connect_data (buffer, "mark-set",
- (GCallback) _gail_text_view_mark_set_cb, view, NULL, 0);
- g_signal_connect_data (buffer, "changed",
- (GCallback) _gail_text_view_changed_cb, view, NULL, 0);
-
-}
-
-static void
-gail_text_view_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GtkTextView *view;
- GailTextView *gail_view;
-
- ATK_OBJECT_CLASS (gail_text_view_parent_class)->initialize (obj, data);
-
- view = GTK_TEXT_VIEW (data);
-
- gail_view = GAIL_TEXT_VIEW (obj);
- setup_buffer (view, gail_view);
-
- obj->role = ATK_ROLE_TEXT;
-
-}
-
-static void
-gail_text_view_finalize (GObject *object)
-{
- GailTextView *text_view = GAIL_TEXT_VIEW (object);
-
- g_object_unref (text_view->textutil);
- if (text_view->insert_notify_handler)
- g_source_remove (text_view->insert_notify_handler);
-
- G_OBJECT_CLASS (gail_text_view_parent_class)->finalize (object);
-}
-
-static void
-gail_text_view_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- if (!strcmp (pspec->name, "editable"))
- {
- AtkObject *atk_obj;
- gboolean editable;
-
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (obj));
- editable = gtk_text_view_get_editable (GTK_TEXT_VIEW (obj));
- atk_object_notify_state_change (atk_obj, ATK_STATE_EDITABLE,
- editable);
- }
- else if (!strcmp (pspec->name, "buffer"))
- {
- AtkObject *atk_obj;
-
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (obj));
- setup_buffer (GTK_TEXT_VIEW (obj), GAIL_TEXT_VIEW (atk_obj));
- }
- else
- GAIL_WIDGET_CLASS (gail_text_view_parent_class)->notify_gtk (obj, pspec);
-}
-
-/* atkobject.h */
-
-static AtkStateSet*
-gail_text_view_ref_state_set (AtkObject *accessible)
-{
- AtkStateSet *state_set;
- GtkTextView *text_view;
- GtkWidget *widget;
-
- state_set = ATK_OBJECT_CLASS (gail_text_view_parent_class)->ref_state_set (accessible);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
-
- if (widget == NULL)
- return state_set;
-
- text_view = GTK_TEXT_VIEW (widget);
-
- if (gtk_text_view_get_editable (text_view))
- atk_state_set_add_state (state_set, ATK_STATE_EDITABLE);
- atk_state_set_add_state (state_set, ATK_STATE_MULTI_LINE);
-
- return state_set;
-}
-
-/* atktext.h */
-
-static void
-atk_text_interface_init (AtkTextIface *iface)
-{
- iface->get_text = gail_text_view_get_text;
- iface->get_text_after_offset = gail_text_view_get_text_after_offset;
- iface->get_text_at_offset = gail_text_view_get_text_at_offset;
- iface->get_text_before_offset = gail_text_view_get_text_before_offset;
- iface->get_character_at_offset = gail_text_view_get_character_at_offset;
- iface->get_character_count = gail_text_view_get_character_count;
- iface->get_caret_offset = gail_text_view_get_caret_offset;
- iface->set_caret_offset = gail_text_view_set_caret_offset;
- iface->get_offset_at_point = gail_text_view_get_offset_at_point;
- iface->get_character_extents = gail_text_view_get_character_extents;
- iface->get_n_selections = gail_text_view_get_n_selections;
- iface->get_selection = gail_text_view_get_selection;
- iface->add_selection = gail_text_view_add_selection;
- iface->remove_selection = gail_text_view_remove_selection;
- iface->set_selection = gail_text_view_set_selection;
- iface->get_run_attributes = gail_text_view_get_run_attributes;
- iface->get_default_attributes = gail_text_view_get_default_attributes;
-}
-
-static gchar*
-gail_text_view_get_text (AtkText *text,
- gint start_offset,
- gint end_offset)
-{
- GtkTextView *view;
- GtkTextBuffer *buffer;
- GtkTextIter start, end;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- view = GTK_TEXT_VIEW (widget);
- buffer = gtk_text_view_get_buffer (view);
- gtk_text_buffer_get_iter_at_offset (buffer, &start, start_offset);
- gtk_text_buffer_get_iter_at_offset (buffer, &end, end_offset);
-
- return gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
-}
-
-static gchar*
-gail_text_view_get_text_after_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- return get_text_near_offset (text, GAIL_AFTER_OFFSET,
- boundary_type, offset,
- start_offset, end_offset);
-}
-
-static gchar*
-gail_text_view_get_text_at_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- return get_text_near_offset (text, GAIL_AT_OFFSET,
- boundary_type, offset,
- start_offset, end_offset);
-}
-
-static gchar*
-gail_text_view_get_text_before_offset (AtkText *text,
- gint offset,
- AtkTextBoundary boundary_type,
- gint *start_offset,
- gint *end_offset)
-{
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- return get_text_near_offset (text, GAIL_BEFORE_OFFSET,
- boundary_type, offset,
- start_offset, end_offset);
-}
-
-static gunichar
-gail_text_view_get_character_at_offset (AtkText *text,
- gint offset)
-{
- GtkWidget *widget;
- GtkTextIter start, end;
- GtkTextBuffer *buffer;
- gchar *string;
- gunichar unichar;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- return '\0';
-
- buffer = GAIL_TEXT_VIEW (text)->textutil->buffer;
- if (offset >= gtk_text_buffer_get_char_count (buffer))
- return '\0';
-
- gtk_text_buffer_get_iter_at_offset (buffer, &start, offset);
- end = start;
- gtk_text_iter_forward_char (&end);
- string = gtk_text_buffer_get_slice (buffer, &start, &end, FALSE);
- unichar = g_utf8_get_char (string);
- g_free(string);
- return unichar;
-}
-
-static gint
-gail_text_view_get_character_count (AtkText *text)
-{
- GtkTextView *view;
- GtkTextBuffer *buffer;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- view = GTK_TEXT_VIEW (widget);
- buffer = gtk_text_view_get_buffer (view);
- return gtk_text_buffer_get_char_count (buffer);
-}
-
-static gint
-gail_text_view_get_caret_offset (AtkText *text)
-{
- GtkTextView *view;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- view = GTK_TEXT_VIEW (widget);
- return get_insert_offset (gtk_text_view_get_buffer (view));
-}
-
-static gboolean
-gail_text_view_set_caret_offset (AtkText *text,
- gint offset)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
- GtkTextIter pos_itr;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- view = GTK_TEXT_VIEW (widget);
- buffer = gtk_text_view_get_buffer (view);
-
- gtk_text_buffer_get_iter_at_offset (buffer, &pos_itr, offset);
- gtk_text_buffer_place_cursor (buffer, &pos_itr);
- gtk_text_view_scroll_to_iter (view, &pos_itr, 0, FALSE, 0, 0);
- return TRUE;
-}
-
-static gint
-gail_text_view_get_offset_at_point (AtkText *text,
- gint x,
- gint y,
- AtkCoordType coords)
-{
- GtkTextView *view;
- GtkTextIter loc_itr;
- gint x_widget, y_widget, x_window, y_window, buff_x, buff_y;
- GtkWidget *widget;
- GdkWindow *window;
- GdkRectangle rect;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return -1;
-
- view = GTK_TEXT_VIEW (widget);
-
- window = gtk_text_view_get_window (view, GTK_TEXT_WINDOW_WIDGET);
- gdk_window_get_origin (window, &x_widget, &y_widget);
-
- if (coords == ATK_XY_SCREEN)
- {
- x = x - x_widget;
- y = y - y_widget;
- }
- else if (coords == ATK_XY_WINDOW)
- {
- window = gdk_window_get_toplevel (window);
- gdk_window_get_origin (window, &x_window, &y_window);
-
- x = x - x_widget + x_window;
- y = y - y_widget + y_window;
- }
- else
- return -1;
-
- gtk_text_view_window_to_buffer_coords (view, GTK_TEXT_WINDOW_WIDGET,
- x, y, &buff_x, &buff_y);
- gtk_text_view_get_visible_rect (view, &rect);
- /*
- * Clamp point to visible rectangle
- */
- buff_x = CLAMP (buff_x, rect.x, rect.x + rect.width - 1);
- buff_y = CLAMP (buff_y, rect.y, rect.y + rect.height - 1);
-
- gtk_text_view_get_iter_at_location (view, &loc_itr, buff_x, buff_y);
- /*
- * The iter at a location sometimes points to the next character.
- * See bug 111031. We work around that
- */
- gtk_text_view_get_iter_location (view, &loc_itr, &rect);
- if (buff_x < rect.x)
- gtk_text_iter_backward_char (&loc_itr);
- return gtk_text_iter_get_offset (&loc_itr);
-}
-
-static void
-gail_text_view_get_character_extents (AtkText *text,
- gint offset,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coords)
-{
- GtkTextView *view;
- GtkTextBuffer *buffer;
- GtkTextIter iter;
- GtkWidget *widget;
- GdkRectangle rectangle;
- GdkWindow *window;
- gint x_widget, y_widget, x_window, y_window;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- view = GTK_TEXT_VIEW (widget);
- buffer = gtk_text_view_get_buffer (view);
- gtk_text_buffer_get_iter_at_offset (buffer, &iter, offset);
- gtk_text_view_get_iter_location (view, &iter, &rectangle);
-
- window = gtk_text_view_get_window (view, GTK_TEXT_WINDOW_WIDGET);
- gdk_window_get_origin (window, &x_widget, &y_widget);
-
- *height = rectangle.height;
- *width = rectangle.width;
-
- gtk_text_view_buffer_to_window_coords (view, GTK_TEXT_WINDOW_WIDGET,
- rectangle.x, rectangle.y, x, y);
- if (coords == ATK_XY_WINDOW)
- {
- window = gdk_window_get_toplevel (window);
- gdk_window_get_origin (window, &x_window, &y_window);
- *x += x_widget - x_window;
- *y += y_widget - y_window;
- }
- else if (coords == ATK_XY_SCREEN)
- {
- *x += x_widget;
- *y += y_widget;
- }
- else
- {
- *x = 0;
- *y = 0;
- *height = 0;
- *width = 0;
- }
-}
-
-static AtkAttributeSet*
-gail_text_view_get_run_attributes (AtkText *text,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- GtkTextView *view;
- GtkTextBuffer *buffer;
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- view = GTK_TEXT_VIEW (widget);
- buffer = gtk_text_view_get_buffer (view);
-
- return gail_misc_buffer_get_run_attributes (buffer, offset,
- start_offset, end_offset);
-}
-
-static AtkAttributeSet*
-add_text_attribute (AtkAttributeSet *attrib_set, AtkTextAttribute attr, gint i)
-{
- const gchar *value;
-
- value = atk_text_attribute_get_value (attr, i);
-
- return gail_misc_add_attribute (attrib_set, i, g_strdup (value));
-}
-
-static AtkAttributeSet*
-gail_text_view_get_default_attributes (AtkText *text)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextAttributes *text_attrs;
- AtkAttributeSet *attrib_set = NULL;
- PangoFontDescription *font;
- gchar *value;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- view = GTK_TEXT_VIEW (widget);
- text_attrs = gtk_text_view_get_default_attributes (view);
-
- font = text_attrs->font;
-
- if (font)
- {
- attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_STYLE,
- pango_font_description_get_style (font));
-
- attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_VARIANT,
- pango_font_description_get_variant (font));
-
- attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_STRETCH,
- pango_font_description_get_stretch (font));
-
- value = g_strdup (pango_font_description_get_family (font));
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FAMILY_NAME, value);
-
- value = g_strdup_printf ("%d", pango_font_description_get_weight (font));
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_WEIGHT, value);
-
- value = g_strdup_printf ("%i", pango_font_description_get_size (font) / PANGO_SCALE);
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_SIZE, value);
- }
-
- attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_JUSTIFICATION, text_attrs->justification);
- attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_DIRECTION, text_attrs->direction);
- attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_WRAP_MODE, text_attrs->wrap_mode);
- attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_EDITABLE, text_attrs->editable);
- attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_INVISIBLE, text_attrs->invisible);
- attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_BG_FULL_HEIGHT, text_attrs->bg_full_height);
-
- attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_STRIKETHROUGH,
- text_attrs->appearance.strikethrough);
- attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_UNDERLINE,
- text_attrs->appearance.underline);
-
- value = g_strdup_printf ("%u,%u,%u",
- text_attrs->appearance.bg_color.red,
- text_attrs->appearance.bg_color.green,
- text_attrs->appearance.bg_color.blue);
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_BG_COLOR, value);
-
- value = g_strdup_printf ("%u,%u,%u",
- text_attrs->appearance.fg_color.red,
- text_attrs->appearance.fg_color.green,
- text_attrs->appearance.fg_color.blue);
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FG_COLOR, value);
-
- value = g_strdup_printf ("%g", text_attrs->font_scale);
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_SCALE, value);
-
- value = g_strdup ((gchar *)(text_attrs->language));
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_LANGUAGE, value);
-
- value = g_strdup_printf ("%i", text_attrs->appearance.rise);
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_RISE, value);
-
- value = g_strdup_printf ("%i", text_attrs->pixels_inside_wrap);
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP, value);
-
- value = g_strdup_printf ("%i", text_attrs->pixels_below_lines);
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_BELOW_LINES, value);
-
- value = g_strdup_printf ("%i", text_attrs->pixels_above_lines);
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_ABOVE_LINES, value);
-
- value = g_strdup_printf ("%i", text_attrs->indent);
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_INDENT, value);
-
- value = g_strdup_printf ("%i", text_attrs->left_margin);
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_LEFT_MARGIN, value);
-
- value = g_strdup_printf ("%i", text_attrs->right_margin);
- attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_RIGHT_MARGIN, value);
-
- gtk_text_attributes_unref (text_attrs);
- return attrib_set;
-}
-
-static gint
-gail_text_view_get_n_selections (AtkText *text)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
- GtkTextIter start, end;
- gint select_start, select_end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return -1;
-
- view = GTK_TEXT_VIEW (widget);
- buffer = gtk_text_view_get_buffer (view);
-
- gtk_text_buffer_get_selection_bounds (buffer, &start, &end);
- select_start = gtk_text_iter_get_offset (&start);
- select_end = gtk_text_iter_get_offset (&end);
-
- if (select_start != select_end)
- return 1;
- else
- return 0;
-}
-
-static gchar*
-gail_text_view_get_selection (AtkText *text,
- gint selection_num,
- gint *start_pos,
- gint *end_pos)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
- GtkTextIter start, end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- /* Only let the user get the selection if one is set, and if the
- * selection_num is 0.
- */
- if (selection_num != 0)
- return NULL;
-
- view = GTK_TEXT_VIEW (widget);
- buffer = gtk_text_view_get_buffer (view);
-
- gtk_text_buffer_get_selection_bounds (buffer, &start, &end);
- *start_pos = gtk_text_iter_get_offset (&start);
- *end_pos = gtk_text_iter_get_offset (&end);
-
- if (*start_pos != *end_pos)
- return gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
- else
- return NULL;
-}
-
-static gboolean
-gail_text_view_add_selection (AtkText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
- GtkTextIter pos_itr;
- GtkTextIter start, end;
- gint select_start, select_end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- view = GTK_TEXT_VIEW (widget);
- buffer = gtk_text_view_get_buffer (view);
-
- gtk_text_buffer_get_selection_bounds (buffer, &start, &end);
- select_start = gtk_text_iter_get_offset (&start);
- select_end = gtk_text_iter_get_offset (&end);
-
- /* If there is already a selection, then don't allow another to be added,
- * since GtkTextView only supports one selected region.
- */
- if (select_start == select_end)
- {
- gtk_text_buffer_get_iter_at_offset (buffer, &pos_itr, start_pos);
- gtk_text_buffer_move_mark_by_name (buffer, "selection_bound", &pos_itr);
- gtk_text_buffer_get_iter_at_offset (buffer, &pos_itr, end_pos);
- gtk_text_buffer_move_mark_by_name (buffer, "insert", &pos_itr);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static gboolean
-gail_text_view_remove_selection (AtkText *text,
- gint selection_num)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
- GtkTextMark *cursor_mark;
- GtkTextIter cursor_itr;
- GtkTextIter start, end;
- gint select_start, select_end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- if (selection_num != 0)
- return FALSE;
-
- view = GTK_TEXT_VIEW (widget);
- buffer = gtk_text_view_get_buffer (view);
-
- gtk_text_buffer_get_selection_bounds(buffer, &start, &end);
- select_start = gtk_text_iter_get_offset(&start);
- select_end = gtk_text_iter_get_offset(&end);
-
- if (select_start != select_end)
- {
- /* Setting the start & end of the selected region to the caret position
- * turns off the selection.
- */
- cursor_mark = gtk_text_buffer_get_insert (buffer);
- gtk_text_buffer_get_iter_at_mark (buffer, &cursor_itr, cursor_mark);
- gtk_text_buffer_move_mark_by_name (buffer, "selection_bound", &cursor_itr);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static gboolean
-gail_text_view_set_selection (AtkText *text,
- gint selection_num,
- gint start_pos,
- gint end_pos)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
- GtkTextIter pos_itr;
- GtkTextIter start, end;
- gint select_start, select_end;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- {
- /* State is defunct */
- return FALSE;
- }
-
- /* Only let the user move the selection if one is set, and if the
- * selection_num is 0
- */
- if (selection_num != 0)
- return FALSE;
-
- view = GTK_TEXT_VIEW (widget);
- buffer = gtk_text_view_get_buffer (view);
-
- gtk_text_buffer_get_selection_bounds(buffer, &start, &end);
- select_start = gtk_text_iter_get_offset(&start);
- select_end = gtk_text_iter_get_offset(&end);
-
- if (select_start != select_end)
- {
- gtk_text_buffer_get_iter_at_offset (buffer, &pos_itr, start_pos);
- gtk_text_buffer_move_mark_by_name (buffer, "selection_bound", &pos_itr);
- gtk_text_buffer_get_iter_at_offset (buffer, &pos_itr, end_pos);
- gtk_text_buffer_move_mark_by_name (buffer, "insert", &pos_itr);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-/* atkeditabletext.h */
-
-static void
-atk_editable_text_interface_init (AtkEditableTextIface *iface)
-{
- iface->set_text_contents = gail_text_view_set_text_contents;
- iface->insert_text = gail_text_view_insert_text;
- iface->copy_text = gail_text_view_copy_text;
- iface->cut_text = gail_text_view_cut_text;
- iface->delete_text = gail_text_view_delete_text;
- iface->paste_text = gail_text_view_paste_text;
- iface->set_run_attributes = gail_text_view_set_run_attributes;
-}
-
-static gboolean
-gail_text_view_set_run_attributes (AtkEditableText *text,
- AtkAttributeSet *attrib_set,
- gint start_offset,
- gint end_offset)
-{
- GtkTextView *view;
- GtkTextBuffer *buffer;
- GtkWidget *widget;
- GtkTextTag *tag;
- GtkTextIter start;
- GtkTextIter end;
- gint j;
- GdkColor *color;
- gchar** RGB_vals;
- GSList *l;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- view = GTK_TEXT_VIEW (widget);
- if (!gtk_text_view_get_editable (view))
- return FALSE;
-
- buffer = gtk_text_view_get_buffer (view);
-
- if (attrib_set == NULL)
- return FALSE;
-
- gtk_text_buffer_get_iter_at_offset (buffer, &start, start_offset);
- gtk_text_buffer_get_iter_at_offset (buffer, &end, end_offset);
-
- tag = gtk_text_buffer_create_tag (buffer, NULL, NULL);
-
- for (l = attrib_set; l; l = l->next)
- {
- gchar *name;
- gchar *value;
- AtkAttribute *at;
-
- at = l->data;
-
- name = at->name;
- value = at->value;
-
- if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_LEFT_MARGIN)))
- g_object_set (G_OBJECT (tag), "left_margin", atoi (value), NULL);
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_RIGHT_MARGIN)))
- g_object_set (G_OBJECT (tag), "right_margin", atoi (value), NULL);
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_INDENT)))
- g_object_set (G_OBJECT (tag), "indent", atoi (value), NULL);
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_PIXELS_ABOVE_LINES)))
- g_object_set (G_OBJECT (tag), "pixels_above_lines", atoi (value), NULL);
-
- else if (!strcmp(name, atk_text_attribute_get_name (ATK_TEXT_ATTR_PIXELS_BELOW_LINES)))
- g_object_set (G_OBJECT (tag), "pixels_below_lines", atoi (value), NULL);
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP)))
- g_object_set (G_OBJECT (tag), "pixels_inside_wrap", atoi (value), NULL);
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_SIZE)))
- g_object_set (G_OBJECT (tag), "size", atoi (value), NULL);
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_RISE)))
- g_object_set (G_OBJECT (tag), "rise", atoi (value), NULL);
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_WEIGHT)))
- g_object_set (G_OBJECT (tag), "weight", atoi (value), NULL);
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_BG_FULL_HEIGHT)))
- {
- g_object_set (G_OBJECT (tag), "bg_full_height",
- (strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_BG_FULL_HEIGHT, 0))),
- NULL);
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_LANGUAGE)))
- g_object_set (G_OBJECT (tag), "language", value, NULL);
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_FAMILY_NAME)))
- g_object_set (G_OBJECT (tag), "family", value, NULL);
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_EDITABLE)))
- {
- g_object_set (G_OBJECT (tag), "editable",
- (strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_EDITABLE, 0))),
- NULL);
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_INVISIBLE)))
- {
- g_object_set (G_OBJECT (tag), "invisible",
- (strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_EDITABLE, 0))),
- NULL);
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_UNDERLINE)))
- {
- for (j = 0; j < 3; j++)
- {
- if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_UNDERLINE, j)))
- {
- g_object_set (G_OBJECT (tag), "underline", j, NULL);
- break;
- }
- }
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_STRIKETHROUGH)))
- {
- g_object_set (G_OBJECT (tag), "strikethrough",
- (strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_STRIKETHROUGH, 0))),
- NULL);
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_BG_COLOR)))
- {
- RGB_vals = g_strsplit (value, ",", 3);
- color = g_malloc (sizeof (GdkColor));
- color->red = atoi (RGB_vals[0]);
- color->green = atoi (RGB_vals[1]);
- color->blue = atoi (RGB_vals[2]);
- g_object_set (G_OBJECT (tag), "background_gdk", color, NULL);
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_FG_COLOR)))
- {
- RGB_vals = g_strsplit (value, ",", 3);
- color = g_malloc (sizeof (GdkColor));
- color->red = atoi (RGB_vals[0]);
- color->green = atoi (RGB_vals[1]);
- color->blue = atoi (RGB_vals[2]);
- g_object_set (G_OBJECT (tag), "foreground_gdk", color, NULL);
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_STRETCH)))
- {
- for (j = 0; j < 9; j++)
- {
- if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_STRETCH, j)))
- {
- g_object_set (G_OBJECT (tag), "stretch", j, NULL);
- break;
- }
- }
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_JUSTIFICATION)))
- {
- for (j = 0; j < 4; j++)
- {
- if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_JUSTIFICATION, j)))
- {
- g_object_set (G_OBJECT (tag), "justification", j, NULL);
- break;
- }
- }
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_DIRECTION)))
- {
- for (j = 0; j < 3; j++)
- {
- if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, j)))
- {
- g_object_set (G_OBJECT (tag), "direction", j, NULL);
- break;
- }
- }
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_VARIANT)))
- {
- for (j = 0; j < 2; j++)
- {
- if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_VARIANT, j)))
- {
- g_object_set (G_OBJECT (tag), "variant", j, NULL);
- break;
- }
- }
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_WRAP_MODE)))
- {
- for (j = 0; j < 3; j++)
- {
- if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_WRAP_MODE, j)))
- {
- g_object_set (G_OBJECT (tag), "wrap_mode", j, NULL);
- break;
- }
- }
- }
-
- else if (!strcmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_STYLE)))
- {
- for (j = 0; j < 3; j++)
- {
- if (!strcmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_STYLE, j)))
- {
- g_object_set (G_OBJECT (tag), "style", j, NULL);
- break;
- }
- }
- }
-
- else
- return FALSE;
- }
-
- gtk_text_buffer_apply_tag (buffer, tag, &start, &end);
-
- return TRUE;
-}
-
-static void
-gail_text_view_set_text_contents (AtkEditableText *text,
- const gchar *string)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- view = GTK_TEXT_VIEW (widget);
- if (!gtk_text_view_get_editable (view))
- return;
- buffer = gtk_text_view_get_buffer (view);
-
- /* The -1 indicates that the input string must be null-terminated */
- gtk_text_buffer_set_text (buffer, string, -1);
-}
-
-static void
-gail_text_view_insert_text (AtkEditableText *text,
- const gchar *string,
- gint length,
- gint *position)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
- GtkTextIter pos_itr;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- view = GTK_TEXT_VIEW (widget);
- if (!gtk_text_view_get_editable (view))
- return;
- buffer = gtk_text_view_get_buffer (view);
-
- gtk_text_buffer_get_iter_at_offset (buffer, &pos_itr, *position);
- gtk_text_buffer_insert (buffer, &pos_itr, string, length);
-}
-
-static void
-gail_text_view_copy_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
- GtkTextIter start, end;
- gchar *str;
- GtkClipboard *clipboard;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- view = GTK_TEXT_VIEW (widget);
- buffer = gtk_text_view_get_buffer (view);
-
- gtk_text_buffer_get_iter_at_offset (buffer, &start, start_pos);
- gtk_text_buffer_get_iter_at_offset (buffer, &end, end_pos);
- str = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
- clipboard = gtk_clipboard_get_for_display (gtk_widget_get_display (widget),
- GDK_SELECTION_CLIPBOARD);
- gtk_clipboard_set_text (clipboard, str, -1);
-}
-
-static void
-gail_text_view_cut_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
- GtkTextIter start, end;
- gchar *str;
- GtkClipboard *clipboard;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- view = GTK_TEXT_VIEW (widget);
- if (!gtk_text_view_get_editable (view))
- return;
- buffer = gtk_text_view_get_buffer (view);
-
- gtk_text_buffer_get_iter_at_offset (buffer, &start, start_pos);
- gtk_text_buffer_get_iter_at_offset (buffer, &end, end_pos);
- str = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
- clipboard = gtk_clipboard_get_for_display (gtk_widget_get_display (widget),
- GDK_SELECTION_CLIPBOARD);
- gtk_clipboard_set_text (clipboard, str, -1);
- gtk_text_buffer_delete (buffer, &start, &end);
-}
-
-static void
-gail_text_view_delete_text (AtkEditableText *text,
- gint start_pos,
- gint end_pos)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
- GtkTextIter start_itr;
- GtkTextIter end_itr;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- view = GTK_TEXT_VIEW (widget);
- if (!gtk_text_view_get_editable (view))
- return;
- buffer = gtk_text_view_get_buffer (view);
-
- gtk_text_buffer_get_iter_at_offset (buffer, &start_itr, start_pos);
- gtk_text_buffer_get_iter_at_offset (buffer, &end_itr, end_pos);
- gtk_text_buffer_delete (buffer, &start_itr, &end_itr);
-}
-
-static void
-gail_text_view_paste_text (AtkEditableText *text,
- gint position)
-{
- GtkTextView *view;
- GtkWidget *widget;
- GtkTextBuffer *buffer;
- GailTextViewPaste paste_struct;
- GtkClipboard *clipboard;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- view = GTK_TEXT_VIEW (widget);
- if (!gtk_text_view_get_editable (view))
- return;
- buffer = gtk_text_view_get_buffer (view);
-
- paste_struct.buffer = buffer;
- paste_struct.position = position;
-
- g_object_ref (paste_struct.buffer);
- clipboard = gtk_clipboard_get_for_display (gtk_widget_get_display (widget),
- GDK_SELECTION_CLIPBOARD);
- gtk_clipboard_request_text (clipboard,
- gail_text_view_paste_received, &paste_struct);
-}
-
-static void
-gail_text_view_paste_received (GtkClipboard *clipboard,
- const gchar *text,
- gpointer data)
-{
- GailTextViewPaste* paste_struct = (GailTextViewPaste *)data;
- GtkTextIter pos_itr;
-
- if (text)
- {
- gtk_text_buffer_get_iter_at_offset (paste_struct->buffer, &pos_itr,
- paste_struct->position);
- gtk_text_buffer_insert (paste_struct->buffer, &pos_itr, text, -1);
- }
-
- g_object_unref (paste_struct->buffer);
-}
-
-/* Callbacks */
-
-/* Note arg1 returns the start of the insert range, arg3 returns the
- * end of the insert range if multiple characters are inserted. If one
- * character is inserted they have the same value, which is the caret
- * location. arg2 returns the begin location of the insert.
- */
-static void
-_gail_text_view_insert_text_cb (GtkTextBuffer *buffer,
- GtkTextIter *arg1,
- gchar *arg2,
- gint arg3,
- gpointer user_data)
-{
- GtkTextView *text = (GtkTextView *) user_data;
- AtkObject *accessible;
- GailTextView *gail_text_view;
- gint position;
- gint length;
-
- g_return_if_fail (arg3 > 0);
-
- accessible = gtk_widget_get_accessible(GTK_WIDGET(text));
- gail_text_view = GAIL_TEXT_VIEW (accessible);
-
- gail_text_view->signal_name = "text_changed::insert";
- position = gtk_text_iter_get_offset (arg1);
- length = g_utf8_strlen(arg2, arg3);
-
- if (gail_text_view->length == 0)
- {
- gail_text_view->position = position;
- gail_text_view->length = length;
- }
- else if (gail_text_view->position + gail_text_view->length == position)
- {
- gail_text_view->length += length;
- }
- else
- {
- /*
- * We have a non-contiguous insert so report what we have
- */
- if (gail_text_view->insert_notify_handler)
- {
- g_source_remove (gail_text_view->insert_notify_handler);
- }
- gail_text_view->insert_notify_handler = 0;
- insert_idle_handler (gail_text_view);
- gail_text_view->position = position;
- gail_text_view->length = length;
- }
-
- /*
- * The signal will be emitted when the changed signal is received
- */
-}
-
-/* Note arg1 returns the start of the delete range, arg2 returns the
- * end of the delete range if multiple characters are deleted. If one
- * character is deleted they have the same value, which is the caret
- * location.
- */
-static void
-_gail_text_view_delete_range_cb (GtkTextBuffer *buffer,
- GtkTextIter *arg1,
- GtkTextIter *arg2,
- gpointer user_data)
-{
- GtkTextView *text = (GtkTextView *) user_data;
- AtkObject *accessible;
- GailTextView *gail_text_view;
- gint offset = gtk_text_iter_get_offset (arg1);
- gint length = gtk_text_iter_get_offset (arg2) - offset;
-
- accessible = gtk_widget_get_accessible(GTK_WIDGET(text));
- gail_text_view = GAIL_TEXT_VIEW (accessible);
- if (gail_text_view->insert_notify_handler)
- {
- g_source_remove (gail_text_view->insert_notify_handler);
- gail_text_view->insert_notify_handler = 0;
- if (gail_text_view->position == offset &&
- gail_text_view->length == length)
- {
- /*
- * Do not bother with insert and delete notifications
- */
- gail_text_view->signal_name = NULL;
- gail_text_view->position = 0;
- gail_text_view->length = 0;
- return;
- }
-
- insert_idle_handler (gail_text_view);
- }
- g_signal_emit_by_name (accessible, "text_changed::delete",
- offset, length);
-}
-
-/* Note arg1 and arg2 point to the same offset, which is the caret
- * position after the move
- */
-static void
-_gail_text_view_mark_set_cb (GtkTextBuffer *buffer,
- GtkTextIter *arg1,
- GtkTextMark *arg2,
- gpointer user_data)
-{
- GtkTextView *text = (GtkTextView *) user_data;
- AtkObject *accessible;
- GailTextView *gail_text_view;
- const char *mark_name = gtk_text_mark_get_name(arg2);
-
- accessible = gtk_widget_get_accessible(GTK_WIDGET(text));
- gail_text_view = GAIL_TEXT_VIEW (accessible);
-
- /*
- * Only generate the signal for the "insert" mark, which
- * represents the cursor.
- */
- if (mark_name && !strcmp(mark_name, "insert"))
- {
- int insert_offset, selection_bound;
- gboolean selection_changed;
-
- insert_offset = gtk_text_iter_get_offset (arg1);
-
- selection_bound = get_selection_bound (buffer);
- if (selection_bound != insert_offset)
- {
- if (selection_bound != gail_text_view->previous_selection_bound ||
- insert_offset != gail_text_view->previous_insert_offset)
- {
- selection_changed = TRUE;
- }
- else
- {
- selection_changed = FALSE;
- }
- }
- else if (gail_text_view->previous_selection_bound != gail_text_view->previous_insert_offset)
- {
- selection_changed = TRUE;
- }
- else
- {
- selection_changed = FALSE;
- }
-
- emit_text_caret_moved (gail_text_view, insert_offset);
- /*
- * insert and selection_bound marks are different to a selection
- * has changed
- */
- if (selection_changed)
- g_signal_emit_by_name (accessible, "text_selection_changed");
- gail_text_view->previous_selection_bound = selection_bound;
- }
-}
-
-static void
-_gail_text_view_changed_cb (GtkTextBuffer *buffer,
- gpointer user_data)
-{
- GtkTextView *text = (GtkTextView *) user_data;
- AtkObject *accessible;
- GailTextView *gail_text_view;
-
- accessible = gtk_widget_get_accessible (GTK_WIDGET (text));
- gail_text_view = GAIL_TEXT_VIEW (accessible);
- if (gail_text_view->signal_name)
- {
- if (!gail_text_view->insert_notify_handler)
- {
- gail_text_view->insert_notify_handler = gdk_threads_add_idle (insert_idle_handler, accessible);
- }
- return;
- }
- emit_text_caret_moved (gail_text_view, get_insert_offset (buffer));
- gail_text_view->previous_selection_bound = get_selection_bound (buffer);
-}
-
-static gchar*
-get_text_near_offset (AtkText *text,
- GailOffsetType function,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- GtkTextView *view;
- gpointer layout = NULL;
-
- view = GTK_TEXT_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (text)));
-
- /*
- * Pass the GtkTextView to the function gail_text_util_get_text()
- * so it can find the start and end of the current line on the display.
- */
- if (boundary_type == ATK_TEXT_BOUNDARY_LINE_START ||
- boundary_type == ATK_TEXT_BOUNDARY_LINE_END)
- layout = view;
-
- return gail_text_util_get_text (GAIL_TEXT_VIEW (text)->textutil, layout,
- function, boundary_type, offset,
- start_offset, end_offset);
-}
-
-static gint
-get_insert_offset (GtkTextBuffer *buffer)
-{
- GtkTextMark *cursor_mark;
- GtkTextIter cursor_itr;
-
- cursor_mark = gtk_text_buffer_get_insert (buffer);
- gtk_text_buffer_get_iter_at_mark (buffer, &cursor_itr, cursor_mark);
- return gtk_text_iter_get_offset (&cursor_itr);
-}
-
-static gint
-get_selection_bound (GtkTextBuffer *buffer)
-{
- GtkTextMark *selection_mark;
- GtkTextIter selection_itr;
-
- selection_mark = gtk_text_buffer_get_selection_bound (buffer);
- gtk_text_buffer_get_iter_at_mark (buffer, &selection_itr, selection_mark);
- return gtk_text_iter_get_offset (&selection_itr);
-}
-
-static void
-emit_text_caret_moved (GailTextView *gail_text_view,
- gint insert_offset)
-{
- /*
- * If we have text which has been inserted notify the user
- */
- if (gail_text_view->insert_notify_handler)
- {
- g_source_remove (gail_text_view->insert_notify_handler);
- gail_text_view->insert_notify_handler = 0;
- insert_idle_handler (gail_text_view);
- }
-
- if (insert_offset != gail_text_view->previous_insert_offset)
- {
- /*
- * If the caret position has not changed then don't bother notifying
- *
- * When mouse click is used to change caret position, notification
- * is received on button down and button up.
- */
- g_signal_emit_by_name (gail_text_view, "text_caret_moved", insert_offset);
- gail_text_view->previous_insert_offset = insert_offset;
- }
-}
-
-static gint
-insert_idle_handler (gpointer data)
-{
- GailTextView *gail_text_view;
- GtkTextBuffer *buffer;
-
- gail_text_view = GAIL_TEXT_VIEW (data);
-
- g_signal_emit_by_name (data,
- gail_text_view->signal_name,
- gail_text_view->position,
- gail_text_view->length);
- gail_text_view->signal_name = NULL;
- gail_text_view->position = 0;
- gail_text_view->length = 0;
-
- buffer = gail_text_view->textutil->buffer;
- if (gail_text_view->insert_notify_handler)
- {
- /*
- * If called from idle handler notify caret moved
- */
- gail_text_view->insert_notify_handler = 0;
- emit_text_caret_moved (gail_text_view, get_insert_offset (buffer));
- gail_text_view->previous_selection_bound = get_selection_bound (buffer);
- }
-
- return FALSE;
-}
-
-static void
-atk_streamable_content_interface_init (AtkStreamableContentIface *iface)
-{
- iface->get_n_mime_types = gail_streamable_content_get_n_mime_types;
- iface->get_mime_type = gail_streamable_content_get_mime_type;
- iface->get_stream = gail_streamable_content_get_stream;
-}
-
-static gint gail_streamable_content_get_n_mime_types (AtkStreamableContent *streamable)
-{
- gint n_mime_types = 0;
-
- if (GAIL_IS_TEXT_VIEW (streamable) && GAIL_TEXT_VIEW (streamable)->textutil)
- {
- int i;
- gboolean advertises_plaintext = FALSE;
- GdkAtom *atoms =
- gtk_text_buffer_get_serialize_formats (
- GAIL_TEXT_VIEW (streamable)->textutil->buffer,
- &n_mime_types);
- for (i = 0; i < n_mime_types-1; ++i)
- if (!strcmp ("text/plain", gdk_atom_name (atoms[i])))
- advertises_plaintext = TRUE;
- if (!advertises_plaintext) ++n_mime_types;
- /* we support text/plain even if the GtkTextBuffer doesn't */
- }
- return n_mime_types;
-}
-
-static const gchar*
-gail_streamable_content_get_mime_type (AtkStreamableContent *streamable, gint i)
-{
- if (GAIL_IS_TEXT_VIEW (streamable) && GAIL_TEXT_VIEW (streamable)->textutil)
- {
- gint n_mime_types = 0;
- GdkAtom *atoms;
- atoms = gtk_text_buffer_get_serialize_formats (
- GAIL_TEXT_VIEW (streamable)->textutil->buffer,
- &n_mime_types);
- if (i < n_mime_types)
- {
- return gdk_atom_name (atoms [i]);
- }
- else if (i == n_mime_types)
- return "text/plain";
- }
- return NULL;
-}
-
-static GIOChannel* gail_streamable_content_get_stream (AtkStreamableContent *streamable,
- const gchar *mime_type)
-{
- gint i, n_mime_types = 0;
- GdkAtom *atoms;
- if (!GAIL_IS_TEXT_VIEW (streamable) || !GAIL_TEXT_VIEW (streamable)->textutil)
- return NULL;
- atoms = gtk_text_buffer_get_serialize_formats (
- GAIL_TEXT_VIEW (streamable)->textutil->buffer,
- &n_mime_types);
- for (i = 0; i < n_mime_types; ++i)
- {
- if (!strcmp ("text/plain", mime_type) ||
- !strcmp (gdk_atom_name (atoms[i]), mime_type)) {
- GtkTextBuffer *buffer;
- guint8 *cbuf;
- GError *err = NULL;
- gsize len, written;
- gchar tname[80];
- GtkTextIter start, end;
- GIOChannel *gio = NULL;
- int fd;
- buffer = GAIL_TEXT_VIEW (streamable)->textutil->buffer;
- gtk_text_buffer_get_iter_at_offset (buffer, &start, 0);
- gtk_text_buffer_get_iter_at_offset (buffer, &end, -1);
- if (!strcmp ("text/plain", mime_type))
- {
- cbuf = (guint8*) gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
- len = strlen ((const char *) cbuf);
- }
- else
- {
- cbuf = gtk_text_buffer_serialize (buffer, buffer, atoms[i], &start, &end, &len);
- }
- g_snprintf (tname, 20, "streamXXXXXX");
- fd = g_mkstemp (tname);
- gio = g_io_channel_unix_new (fd);
- g_io_channel_set_encoding (gio, NULL, &err);
- if (!err) g_io_channel_write_chars (gio, (const char *) cbuf, (gssize) len, &written, &err);
- else g_message ("%s", err->message);
- if (!err) g_io_channel_seek_position (gio, 0, G_SEEK_SET, &err);
- else g_message ("%s", err->message);
- if (!err) g_io_channel_flush (gio, &err);
- else g_message ("%s", err->message);
- if (err) {
- g_message ("<error writing to stream [%s]>", tname);
- g_error_free (err);
- }
- /* make sure the file is removed on unref of the giochannel */
- else {
- g_unlink (tname);
- return gio;
- }
- }
- }
- return NULL;
-}
-
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_TEXT_VIEW_H__
-#define __GAIL_TEXT_VIEW_H__
-
-#include <gail/gailcontainer.h>
-#include <libgail-util/gailtextutil.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_TEXT_VIEW (gail_text_view_get_type ())
-#define GAIL_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_TEXT_VIEW, GailTextView))
-#define GAIL_TEXT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_TEXT_VIEW, GailTextViewClass))
-#define GAIL_IS_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_TEXT_VIEW))
-#define GAIL_IS_TEXT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_TEXT_VIEW))
-#define GAIL_TEXT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_TEXT_VIEW, GailTextViewClass))
-
-typedef struct _GailTextView GailTextView;
-typedef struct _GailTextViewClass GailTextViewClass;
-
-struct _GailTextView
-{
- GailContainer parent;
-
- GailTextUtil *textutil;
- gint previous_insert_offset;
- gint previous_selection_bound;
- /*
- * These fields store information about text changed
- */
- gchar *signal_name;
- gint position;
- gint length;
-
- guint insert_notify_handler;
-};
-
-GType gail_text_view_get_type (void);
-
-struct _GailTextViewClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_TEXT_VIEW_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_TOGGLE_BUTTON_H__
-#define __GAIL_TOGGLE_BUTTON_H__
-
-#include <gail/gailbutton.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_TOGGLE_BUTTON (gail_toggle_button_get_type ())
-#define GAIL_TOGGLE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_TOGGLE_BUTTON, GailToggleButton))
-#define GAIL_TOGGLE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_TOGGLE_BUTTON, GailToggleButtonClass))
-#define GAIL_IS_TOGGLE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_TOGGLE_BUTTON))
-#define GAIL_IS_TOGGLE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_TOGGLE_BUTTON))
-#define GAIL_TOGGLE_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_TOGGLE_BUTTON, GailToggleButtonClass))
-
-typedef struct _GailToggleButton GailToggleButton;
-typedef struct _GailToggleButtonClass GailToggleButtonClass;
-
-struct _GailToggleButton
-{
- GailButton parent;
-};
-
-GType gail_toggle_button_get_type (void);
-
-struct _GailToggleButtonClass
-{
- GailButtonClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_TOGGLE_BUTTON_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include <gtk/gtkx.h>
-
-#include "gailtoplevel.h"
-
-static void gail_toplevel_class_init (GailToplevelClass *klass);
-static void gail_toplevel_init (GailToplevel *toplevel);
-static void gail_toplevel_initialize (AtkObject *accessible,
- gpointer data);
-static void gail_toplevel_object_finalize (GObject *obj);
-
-/* atkobject.h */
-
-static gint gail_toplevel_get_n_children (AtkObject *obj);
-static AtkObject* gail_toplevel_ref_child (AtkObject *obj,
- gint i);
-static AtkObject* gail_toplevel_get_parent (AtkObject *obj);
-
-/* Callbacks */
-
-
-static void gail_toplevel_window_destroyed (GtkWindow *window,
- GailToplevel *text);
-static gboolean gail_toplevel_hide_event_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-static gboolean gail_toplevel_show_event_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-
-/* Misc */
-
-static void _gail_toplevel_remove_child (GailToplevel *toplevel,
- GtkWindow *window);
-static gboolean is_attached_menu_window (GtkWidget *widget);
-static gboolean is_combo_window (GtkWidget *widget);
-
-
-G_DEFINE_TYPE (GailToplevel, gail_toplevel, ATK_TYPE_OBJECT)
-
-static void
-gail_toplevel_class_init (GailToplevelClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS(klass);
- GObjectClass *g_object_class = G_OBJECT_CLASS(klass);
-
- class->initialize = gail_toplevel_initialize;
- class->get_n_children = gail_toplevel_get_n_children;
- class->ref_child = gail_toplevel_ref_child;
- class->get_parent = gail_toplevel_get_parent;
-
- g_object_class->finalize = gail_toplevel_object_finalize;
-}
-
-static void
-gail_toplevel_init (GailToplevel *toplevel)
-{
- GtkWindow *window;
- GtkWidget *widget;
- GList *l;
- guint signal_id;
-
- l = toplevel->window_list = gtk_window_list_toplevels ();
-
- while (l)
- {
- window = GTK_WINDOW (l->data);
- widget = GTK_WIDGET (window);
- if (!window ||
- !gtk_widget_get_visible (widget) ||
- is_attached_menu_window (widget) ||
-#ifdef GDK_WINDOWING_X11
- GTK_IS_PLUG (window) ||
-#endif
- gtk_widget_get_parent (GTK_WIDGET (window)))
- {
- GList *temp_l = l->next;
-
- toplevel->window_list = g_list_delete_link (toplevel->window_list, l);
- l = temp_l;
- }
- else
- {
- g_signal_connect (G_OBJECT (window),
- "destroy",
- G_CALLBACK (gail_toplevel_window_destroyed),
- toplevel);
- l = l->next;
- }
- }
-
- g_type_class_ref (GTK_TYPE_WINDOW);
-
- signal_id = g_signal_lookup ("show", GTK_TYPE_WINDOW);
- g_signal_add_emission_hook (signal_id, 0,
- gail_toplevel_show_event_watcher, toplevel, (GDestroyNotify) NULL);
-
- signal_id = g_signal_lookup ("hide", GTK_TYPE_WINDOW);
- g_signal_add_emission_hook (signal_id, 0,
- gail_toplevel_hide_event_watcher, toplevel, (GDestroyNotify) NULL);
-}
-
-static void
-gail_toplevel_initialize (AtkObject *accessible,
- gpointer data)
-{
- ATK_OBJECT_CLASS (gail_toplevel_parent_class)->initialize (accessible, data);
-
- accessible->role = ATK_ROLE_APPLICATION;
- accessible->name = g_get_prgname();
- accessible->accessible_parent = NULL;
-}
-
-static void
-gail_toplevel_object_finalize (GObject *obj)
-{
- GailToplevel *toplevel = GAIL_TOPLEVEL (obj);
-
- if (toplevel->window_list)
- g_list_free (toplevel->window_list);
-
- G_OBJECT_CLASS (gail_toplevel_parent_class)->finalize (obj);
-}
-
-static AtkObject*
-gail_toplevel_get_parent (AtkObject *obj)
-{
- return NULL;
-}
-
-static gint
-gail_toplevel_get_n_children (AtkObject *obj)
-{
- GailToplevel *toplevel = GAIL_TOPLEVEL (obj);
-
- gint rc = g_list_length (toplevel->window_list);
- return rc;
-}
-
-static AtkObject*
-gail_toplevel_ref_child (AtkObject *obj,
- gint i)
-{
- GailToplevel *toplevel;
- gpointer ptr;
- GtkWidget *widget;
- AtkObject *atk_obj;
-
- toplevel = GAIL_TOPLEVEL (obj);
- ptr = g_list_nth_data (toplevel->window_list, i);
- if (!ptr)
- return NULL;
- widget = GTK_WIDGET (ptr);
- atk_obj = gtk_widget_get_accessible (widget);
-
- g_object_ref (atk_obj);
- return atk_obj;
-}
-
-/*
- * Window destroy events on GtkWindow cause a child to be removed
- * from the toplevel
- */
-static void
-gail_toplevel_window_destroyed (GtkWindow *window,
- GailToplevel *toplevel)
-{
- _gail_toplevel_remove_child (toplevel, window);
-}
-
-/*
- * Show events cause a child to be added to the toplevel
- */
-static gboolean
-gail_toplevel_show_event_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data)
-{
- GailToplevel *toplevel = GAIL_TOPLEVEL (data);
- AtkObject *atk_obj = ATK_OBJECT (toplevel);
- GObject *object;
- GtkWidget *widget;
- gint n_children;
- AtkObject *child;
-
- object = g_value_get_object (param_values + 0);
-
- if (!GTK_IS_WINDOW (object))
- return TRUE;
-
- widget = GTK_WIDGET (object);
- if (gtk_widget_get_parent (widget) ||
- is_attached_menu_window (widget) ||
-#ifdef GDK_WINDOWING_X11
- GTK_IS_PLUG (widget) ||
-#endif
- is_combo_window (widget))
- return TRUE;
-
- child = gtk_widget_get_accessible (widget);
- if (atk_object_get_role (child) == ATK_ROLE_REDUNDANT_OBJECT)
- {
- return TRUE;
- }
-
- /*
- * Add the window to the list & emit the signal.
- * Don't do this for tooltips (Bug #150649).
- */
- if (atk_object_get_role (child) == ATK_ROLE_TOOL_TIP)
- {
- return TRUE;
- }
-
- toplevel->window_list = g_list_append (toplevel->window_list, widget);
-
- n_children = g_list_length (toplevel->window_list);
-
- /*
- * Must subtract 1 from the n_children since the index is 0-based
- * but g_list_length is 1-based.
- */
- atk_object_set_parent (child, atk_obj);
- g_signal_emit_by_name (atk_obj, "children-changed::add",
- n_children - 1,
- child, NULL);
-
- /* Connect destroy signal callback */
- g_signal_connect (G_OBJECT(object),
- "destroy",
- G_CALLBACK (gail_toplevel_window_destroyed),
- toplevel);
-
- return TRUE;
-}
-
-/*
- * Hide events on GtkWindow cause a child to be removed from the toplevel
- */
-static gboolean
-gail_toplevel_hide_event_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data)
-{
- GailToplevel *toplevel = GAIL_TOPLEVEL (data);
- GObject *object;
-
- object = g_value_get_object (param_values + 0);
-
- if (!GTK_IS_WINDOW (object))
- return TRUE;
-
- _gail_toplevel_remove_child (toplevel, GTK_WINDOW (object));
- return TRUE;
-}
-
-/*
- * Common code used by destroy and hide events on GtkWindow
- */
-static void
-_gail_toplevel_remove_child (GailToplevel *toplevel,
- GtkWindow *window)
-{
- AtkObject *atk_obj = ATK_OBJECT (toplevel);
- GList *l;
- guint window_count = 0;
- AtkObject *child;
-
- if (toplevel->window_list)
- {
- GtkWindow *tmp_window;
-
- /* Must loop through them all */
- for (l = toplevel->window_list; l; l = l->next)
- {
- tmp_window = GTK_WINDOW (l->data);
-
- if (window == tmp_window)
- {
- /* Remove the window from the window_list & emit the signal */
- toplevel->window_list = g_list_remove (toplevel->window_list,
- l->data);
- child = gtk_widget_get_accessible (GTK_WIDGET (window));
- g_signal_emit_by_name (atk_obj, "children-changed::remove",
- window_count,
- child, NULL);
- atk_object_set_parent (child, NULL);
- break;
- }
-
- window_count++;
- }
- }
-}
-
-static gboolean
-is_attached_menu_window (GtkWidget *widget)
-{
- GtkWidget *child;
- gboolean ret = FALSE;
-
- child = gtk_bin_get_child (GTK_BIN (widget));
- if (GTK_IS_MENU (child))
- {
- GtkWidget *attach;
-
- attach = gtk_menu_get_attach_widget (GTK_MENU (child));
- /* Allow for menu belonging to the Panel Menu, which is a GtkButton */
- if (GTK_IS_MENU_ITEM (attach) ||
- GTK_IS_BUTTON (attach))
- ret = TRUE;
- }
- return ret;
-}
-
-static gboolean
-is_combo_window (GtkWidget *widget)
-{
- GtkWidget *child;
- AtkObject *obj;
-
- child = gtk_bin_get_child (GTK_BIN (widget));
-
- if (!GTK_IS_EVENT_BOX (child))
- return FALSE;
-
- child = gtk_bin_get_child (GTK_BIN (child));
-
- if (!GTK_IS_FRAME (child))
- return FALSE;
-
- child = gtk_bin_get_child (GTK_BIN (child));
-
- if (!GTK_IS_SCROLLED_WINDOW (child))
- return FALSE;
-
- obj = gtk_widget_get_accessible (child);
- obj = atk_object_get_parent (obj);
-
- return FALSE;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_TOPLEVEL_H__
-#define __GAIL_TOPLEVEL_H__
-
-#include <atk/atk.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_TOPLEVEL (gail_toplevel_get_type ())
-#define GAIL_TOPLEVEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_TOPLEVEL, GailToplevel))
-#define GAIL_TOPLEVEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_TOPLEVEL, GailToplevelClass))
-#define GAIL_IS_TOPLEVEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_TOPLEVEL))
-#define GAIL_IS_TOPLEVEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_TOPLEVEL))
-#define GAIL_TOPLEVEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_TOPLEVEL, GailToplevelClass))
-
-typedef struct _GailToplevel GailToplevel;
-typedef struct _GailToplevelClass GailToplevelClass;
-
-struct _GailToplevel
-{
- AtkObject parent;
- GList *window_list;
-};
-
-GType gail_toplevel_get_type (void);
-
-struct _GailToplevelClass
-{
- AtkObjectClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_TOPLEVEL_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <gtk/gtk.h>
-#ifdef GDK_WINDOWING_X11
-#include <gdk/x11/gdkx.h>
-#endif
-#include "gailtreeview.h"
-#include "gailrenderercell.h"
-#include "gailbooleancell.h"
-#include "gailcontainercell.h"
-#include "gailtextcell.h"
-#include "gailcellparent.h"
-#include "gail-private-macros.h"
-
-typedef struct _GailTreeViewRowInfo GailTreeViewRowInfo;
-typedef struct _GailTreeViewCellInfo GailTreeViewCellInfo;
-
-static void gail_tree_view_class_init (GailTreeViewClass *klass);
-static void gail_tree_view_init (GailTreeView *view);
-static void gail_tree_view_real_initialize (AtkObject *obj,
- gpointer data);
-static void gail_tree_view_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-static void gail_tree_view_finalize (GObject *object);
-
-static void gail_tree_view_connect_widget_destroyed
- (GtkAccessible *accessible);
-static void gail_tree_view_destroyed (GtkWidget *widget,
- GtkAccessible *accessible);
-/* atkobject.h */
-
-static gint gail_tree_view_get_n_children (AtkObject *obj);
-static AtkObject* gail_tree_view_ref_child (AtkObject *obj,
- gint i);
-static AtkStateSet* gail_tree_view_ref_state_set (AtkObject *obj);
-
-/* atkcomponent.h */
-
-static void atk_component_interface_init (AtkComponentIface *iface);
-
-static AtkObject* gail_tree_view_ref_accessible_at_point
- (AtkComponent *component,
- gint x,
- gint y,
- AtkCoordType coord_type);
-
-/* atktable.h */
-
-static void atk_table_interface_init (AtkTableIface *iface);
-
-static gint gail_tree_view_get_index_at (AtkTable *table,
- gint row,
- gint column);
-static gint gail_tree_view_get_column_at_index
- (AtkTable *table,
- gint index);
-static gint gail_tree_view_get_row_at_index (AtkTable *table,
- gint index);
-
-static AtkObject* gail_tree_view_table_ref_at (AtkTable *table,
- gint row,
- gint column);
-static gint gail_tree_view_get_n_rows (AtkTable *table);
-static gint gail_tree_view_get_n_columns (AtkTable *table);
-static gint get_n_actual_columns (GtkTreeView *tree_view);
-static gboolean gail_tree_view_is_row_selected (AtkTable *table,
- gint row);
-static gboolean gail_tree_view_is_selected (AtkTable *table,
- gint row,
- gint column);
-static gint gail_tree_view_get_selected_rows
- (AtkTable *table,
- gint **selected);
-static gboolean gail_tree_view_add_row_selection
- (AtkTable *table,
- gint row);
-static gboolean gail_tree_view_remove_row_selection
- (AtkTable *table,
- gint row);
-static AtkObject* gail_tree_view_get_row_header (AtkTable *table,
- gint row);
-static AtkObject* gail_tree_view_get_column_header
- (AtkTable *table,
- gint column);
-static void gail_tree_view_set_row_header (AtkTable *table,
- gint row,
- AtkObject *header);
-static void gail_tree_view_set_column_header
- (AtkTable *table,
- gint column,
- AtkObject *header);
-static AtkObject*
- gail_tree_view_get_caption (AtkTable *table);
-static void gail_tree_view_set_caption (AtkTable *table,
- AtkObject *caption);
-static AtkObject* gail_tree_view_get_summary (AtkTable *table);
-static void gail_tree_view_set_summary (AtkTable *table,
- AtkObject *accessible);
-static const gchar*
- gail_tree_view_get_row_description
- (AtkTable *table,
- gint row);
-static void gail_tree_view_set_row_description
- (AtkTable *table,
- gint row,
- const gchar *description);
-static const gchar*
- gail_tree_view_get_column_description
- (AtkTable *table,
- gint column);
-static void gail_tree_view_set_column_description
- (AtkTable *table,
- gint column,
- const gchar *description);
-
-static void set_row_data (AtkTable *table,
- gint row,
- AtkObject *header,
- const gchar *description,
- gboolean is_header);
-static GailTreeViewRowInfo*
- get_row_info (AtkTable *table,
- gint row);
-
-/* atkselection.h */
-
-static void atk_selection_interface_init (AtkSelectionIface *iface);
-static gboolean gail_tree_view_add_selection (AtkSelection *selection,
- gint i);
-static gboolean gail_tree_view_clear_selection (AtkSelection *selection);
-static AtkObject* gail_tree_view_ref_selection (AtkSelection *selection,
- gint i);
-static gint gail_tree_view_get_selection_count
- (AtkSelection *selection);
-static gboolean gail_tree_view_is_child_selected
- (AtkSelection *selection,
- gint i);
-
-/* gailcellparent.h */
-
-static void gail_cell_parent_interface_init (GailCellParentIface *iface);
-static void gail_tree_view_get_cell_extents (GailCellParent *parent,
- GailCell *cell,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type);
-static void gail_tree_view_get_cell_area (GailCellParent *parent,
- GailCell *cell,
- GdkRectangle *cell_rect);
-static gboolean gail_tree_view_grab_cell_focus (GailCellParent *parent,
- GailCell *cell);
-
-/* signal handling */
-
-static gboolean gail_tree_view_expand_row_gtk (GtkTreeView *tree_view,
- GtkTreeIter *iter,
- GtkTreePath *path);
-static gint idle_expand_row (gpointer data);
-static gboolean gail_tree_view_collapse_row_gtk (GtkTreeView *tree_view,
- GtkTreeIter *iter,
- GtkTreePath *path);
-static void gail_tree_view_size_allocate_gtk (GtkWidget *widget,
- GtkAllocation *allocation);
-static void gail_tree_view_changed_gtk (GtkTreeSelection *selection,
- gpointer data);
-
-static void columns_changed (GtkTreeView *tree_view);
-static void cursor_changed (GtkTreeView *tree_view);
-static gint idle_cursor_changed (gpointer data);
-static gboolean focus_in (GtkWidget *widget);
-static gboolean focus_out (GtkWidget *widget);
-
-static void model_row_changed (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer user_data);
-static void column_visibility_changed (GObject *object,
- GParamSpec *param,
- gpointer user_data);
-static void model_row_inserted (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer user_data);
-static void model_row_deleted (GtkTreeModel *tree_model,
- GtkTreePath *path,
- gpointer user_data);
-static void destroy_count_func (GtkTreeView *tree_view,
- GtkTreePath *path,
- gint count,
- gpointer user_data);
-static void model_rows_reordered (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gint *new_order,
- gpointer user_data);
-static void adjustment_changed (GtkAdjustment *adjustment,
- GtkTreeView *tree_view);
-
-/* Misc */
-
-static void set_iter_nth_row (GtkTreeView *tree_view,
- GtkTreeIter *iter,
- gint row);
-static gint get_row_from_tree_path (GtkTreeView *tree_view,
- GtkTreePath *path);
-static GtkTreeViewColumn* get_column (GtkTreeView *tree_view,
- gint in_col);
-static gint get_actual_column_number (GtkTreeView *tree_view,
- gint visible_column);
-static gint get_visible_column_number (GtkTreeView *tree_view,
- gint actual_column);
-static void iterate_thru_children (GtkTreeView *tree_view,
- GtkTreeModel *tree_model,
- GtkTreePath *tree_path,
- GtkTreePath *orig,
- gint *count,
- gint depth);
-static GtkTreeIter* return_iter_nth_row (GtkTreeView *tree_view,
- GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- gint increment,
- gint row);
-static void free_row_info (GArray *array,
- gint array_idx,
- gboolean shift);
-static void clean_cell_info (GailTreeView *tree_view,
- GList *list);
-static void clean_rows (GailTreeView *tree_view);
-static void clean_cols (GailTreeView *tree_view,
- GtkTreeViewColumn *tv_col);
-static void traverse_cells (GailTreeView *tree_view,
- GtkTreePath *tree_path,
- gboolean set_stale,
- gboolean inc_row);
-static gboolean update_cell_value (GailRendererCell *renderer_cell,
- GailTreeView *gailview,
- gboolean emit_change_signal);
-static void set_cell_visibility (GtkTreeView *tree_view,
- GailCell *cell,
- GtkTreeViewColumn *tv_col,
- GtkTreePath *tree_path,
- gboolean emit_signal);
-static gboolean is_cell_showing (GtkTreeView *tree_view,
- GdkRectangle *cell_rect);
-static void set_expand_state (GtkTreeView *tree_view,
- GtkTreeModel *tree_model,
- GailTreeView *gailview,
- GtkTreePath *tree_path,
- gboolean set_on_ancestor);
-static void add_cell_actions (GailCell *cell,
- gboolean editable);
-
-static void toggle_cell_expanded (GailCell *cell);
-static void toggle_cell_toggled (GailCell *cell);
-static void edit_cell (GailCell *cell);
-static void activate_cell (GailCell *cell);
-static void cell_destroyed (gpointer data);
-#if 0
-static void cell_info_remove (GailTreeView *tree_view,
- GailCell *cell);
-#endif
-static void cell_info_get_index (GtkTreeView *tree_view,
- GailTreeViewCellInfo *info,
- gint *index);
-static void cell_info_new (GailTreeView *gailview,
- GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeViewColumn *tv_col,
- GailCell *cell);
-static GailCell* find_cell (GailTreeView *gailview,
- gint index);
-static void refresh_cell_index (GailCell *cell);
-static void get_selected_rows (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer data);
-static void connect_model_signals (GtkTreeView *view,
- GailTreeView *gailview);
-static void disconnect_model_signals (GailTreeView *gailview);
-static void clear_cached_data (GailTreeView *view);
-static gint get_column_number (GtkTreeView *tree_view,
- GtkTreeViewColumn *column,
- gboolean visible);
-static gint get_focus_index (GtkTreeView *tree_view);
-static gint get_index (GtkTreeView *tree_view,
- GtkTreePath *path,
- gint actual_column);
-static void count_rows (GtkTreeModel *model,
- GtkTreeIter *iter,
- GtkTreePath *end_path,
- gint *count,
- gint level,
- gint depth);
-
-static gboolean get_next_node_with_child_at_depth
- (GtkTreeModel *model,
- GtkTreeIter *iter,
- GtkTreePath **path,
- gint level,
- gint depth);
-static gboolean get_next_node_with_child (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreePath **return_path);
-static gboolean get_tree_path_from_row_index (GtkTreeModel *model,
- gint row_index,
- GtkTreePath **tree_path);
-static gint get_row_count (GtkTreeModel *model);
-static gboolean get_path_column_from_index (GtkTreeView *tree_view,
- gint index,
- GtkTreePath **path,
- GtkTreeViewColumn **column);
-static void set_cell_expandable (GailCell *cell);
-
-static GailTreeViewCellInfo* find_cell_info (GailTreeView *view,
- GailCell *cell,
- GList** list,
- gboolean live_only);
-static AtkObject * get_header_from_column (GtkTreeViewColumn *tv_col);
-static gboolean idle_garbage_collect_cell_data (gpointer data);
-static gboolean garbage_collect_cell_data (gpointer data);
-
-static GQuark quark_column_desc_object = 0;
-static GQuark quark_column_header_object = 0;
-static gboolean editing = FALSE;
-
-struct _GailTreeViewRowInfo
-{
- GtkTreeRowReference *row_ref;
- gchar *description;
- AtkObject *header;
-};
-
-struct _GailTreeViewCellInfo
-{
- GailCell *cell;
- GtkTreeRowReference *cell_row_ref;
- GtkTreeViewColumn *cell_col_ref;
- GailTreeView *view;
- gboolean in_use;
-};
-
-G_DEFINE_TYPE_WITH_CODE (GailTreeView, gail_tree_view, GAIL_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_TABLE, atk_table_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init)
- G_IMPLEMENT_INTERFACE (GAIL_TYPE_CELL_PARENT, gail_cell_parent_interface_init))
-
-static void
-gail_tree_view_class_init (GailTreeViewClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- GtkAccessibleClass *accessible_class;
- GailWidgetClass *widget_class;
- GailContainerClass *container_class;
-
- accessible_class = (GtkAccessibleClass*)klass;
- widget_class = (GailWidgetClass*)klass;
- container_class = (GailContainerClass*)klass;
-
- class->get_n_children = gail_tree_view_get_n_children;
- class->ref_child = gail_tree_view_ref_child;
- class->ref_state_set = gail_tree_view_ref_state_set;
- class->initialize = gail_tree_view_real_initialize;
-
- widget_class->notify_gtk = gail_tree_view_real_notify_gtk;
-
- accessible_class->connect_widget_destroyed = gail_tree_view_connect_widget_destroyed;
-
- /*
- * The children of a GtkTreeView are the buttons at the top of the columns
- * we do not represent these as children so we do not want to report
- * children added or deleted when these changed.
- */
- container_class->add_gtk = NULL;
- container_class->remove_gtk = NULL;
-
- gobject_class->finalize = gail_tree_view_finalize;
-
- quark_column_desc_object = g_quark_from_static_string ("gtk-column-object");
- quark_column_header_object = g_quark_from_static_string ("gtk-header-object");
-}
-
-static void
-gail_tree_view_init (GailTreeView *view)
-{
-}
-
-static void
-gail_tree_view_hadjustment_set (GObject *widget,
- GParamSpec *pspec,
- gpointer data)
-{
- GtkAdjustment *adj;
- GailTreeView *view = data;
-
- g_object_get (widget, "hadjustment", &adj, NULL);
- view->old_hadj = adj;
- g_object_add_weak_pointer (G_OBJECT (view->old_hadj), (gpointer *)&view->old_hadj);
- g_signal_connect (adj,
- "value-changed",
- G_CALLBACK (adjustment_changed),
- widget);
-}
-
-static void
-gail_tree_view_vadjustment_set (GObject *widget,
- GParamSpec *pspec,
- gpointer data)
-{
- GtkAdjustment *adj;
- GailTreeView *view = data;
-
- g_object_get (widget, "vadjustment", &adj, NULL);
- view->old_vadj = adj;
- g_object_add_weak_pointer (G_OBJECT (view->old_vadj), (gpointer *)&view->old_vadj);
- g_signal_connect (adj,
- "value-changed",
- G_CALLBACK (adjustment_changed),
- widget);
-}
-
-static void
-gail_tree_view_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GailTreeView *view;
- GtkTreeView *tree_view;
- GtkTreeModel *tree_model;
- GList *tv_cols, *tmp_list;
- GtkWidget *widget;
-
- ATK_OBJECT_CLASS (gail_tree_view_parent_class)->initialize (obj, data);
-
- view = GAIL_TREE_VIEW (obj);
- view->caption = NULL;
- view->summary = NULL;
- view->row_data = NULL;
- view->col_data = NULL;
- view->cell_data = NULL;
- view->focus_cell = NULL;
- view->old_hadj = NULL;
- view->old_vadj = NULL;
- view->idle_expand_id = 0;
- view->idle_expand_path = NULL;
-
- view->n_children_deleted = 0;
-
- widget = GTK_WIDGET (data);
- g_signal_connect_after (widget,
- "row-collapsed",
- G_CALLBACK (gail_tree_view_collapse_row_gtk),
- NULL);
- g_signal_connect (widget,
- "row-expanded",
- G_CALLBACK (gail_tree_view_expand_row_gtk),
- NULL);
- g_signal_connect (widget,
- "size-allocate",
- G_CALLBACK (gail_tree_view_size_allocate_gtk),
- NULL);
-
- tree_view = GTK_TREE_VIEW (widget);
- tree_model = gtk_tree_view_get_model (tree_view);
-
- /* Set up signal handling */
-
- g_signal_connect_data (gtk_tree_view_get_selection (tree_view),
- "changed",
- (GCallback) gail_tree_view_changed_gtk,
- obj, NULL, 0);
-
- g_signal_connect_data (tree_view, "columns-changed",
- (GCallback) columns_changed, NULL, NULL, 0);
- g_signal_connect_data (tree_view, "cursor-changed",
- (GCallback) cursor_changed, NULL, NULL, 0);
- g_signal_connect_data (GTK_WIDGET (tree_view), "focus-in-event",
- (GCallback) focus_in, NULL, NULL, 0);
- g_signal_connect_data (GTK_WIDGET (tree_view), "focus-out-event",
- (GCallback) focus_out, NULL, NULL, 0);
-
- view->tree_model = tree_model;
- if (tree_model)
- {
- g_object_add_weak_pointer (G_OBJECT (view->tree_model), (gpointer *)&view->tree_model);
- connect_model_signals (tree_view, view);
-
- if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
- obj->role = ATK_ROLE_TABLE;
- else
- obj->role = ATK_ROLE_TREE_TABLE;
- }
- else
- {
- obj->role = ATK_ROLE_UNKNOWN;
- }
-
- /* adjustment callbacks */
-
- gail_tree_view_hadjustment_set (G_OBJECT (widget), NULL, view);
- gail_tree_view_vadjustment_set (G_OBJECT (widget), NULL, view);
- g_signal_connect (widget,
- "notify::hadjustment",
- G_CALLBACK (gail_tree_view_hadjustment_set),
- view);
- g_signal_connect (widget,
- "notify::vadjustment",
- G_CALLBACK (gail_tree_view_vadjustment_set),
- view);
-
- view->col_data = g_array_sized_new (FALSE, TRUE,
- sizeof(GtkTreeViewColumn *), 0);
-
- tv_cols = gtk_tree_view_get_columns (tree_view);
-
- for (tmp_list = tv_cols; tmp_list; tmp_list = tmp_list->next)
- {
- g_signal_connect_data (tmp_list->data, "notify::visible",
- (GCallback)column_visibility_changed,
- tree_view, NULL, FALSE);
- g_array_append_val (view->col_data, tmp_list->data);
- }
-
- gtk_tree_view_set_destroy_count_func (tree_view,
- destroy_count_func,
- NULL, NULL);
- g_list_free (tv_cols);
-}
-
-static void
-gail_tree_view_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GtkWidget *widget;
- AtkObject* atk_obj;
- GtkTreeView *tree_view;
- GailTreeView *gailview;
- GtkAdjustment *adj;
-
- widget = GTK_WIDGET (obj);
- atk_obj = gtk_widget_get_accessible (widget);
- tree_view = GTK_TREE_VIEW (widget);
- gailview = GAIL_TREE_VIEW (atk_obj);
-
- if (strcmp (pspec->name, "model") == 0)
- {
- GtkTreeModel *tree_model;
- AtkRole role;
-
- tree_model = gtk_tree_view_get_model (tree_view);
- if (gailview->tree_model)
- disconnect_model_signals (gailview);
- clear_cached_data (gailview);
- gailview->tree_model = tree_model;
- /*
- * if there is no model the GtkTreeView is probably being destroyed
- */
- if (tree_model)
- {
- g_object_add_weak_pointer (G_OBJECT (gailview->tree_model), (gpointer *)&gailview->tree_model);
- connect_model_signals (tree_view, gailview);
-
- if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
- role = ATK_ROLE_TABLE;
- else
- role = ATK_ROLE_TREE_TABLE;
- }
- else
- {
- role = ATK_ROLE_UNKNOWN;
- }
- atk_object_set_role (atk_obj, role);
- g_object_freeze_notify (G_OBJECT (atk_obj));
- g_signal_emit_by_name (atk_obj, "model_changed");
- g_signal_emit_by_name (atk_obj, "visible_data_changed");
- g_object_thaw_notify (G_OBJECT (atk_obj));
- }
- else if (strcmp (pspec->name, "hadjustment") == 0)
- {
- g_object_get (tree_view, "hadjustment", &adj, NULL);
- g_signal_handlers_disconnect_by_func (gailview->old_hadj,
- (gpointer) adjustment_changed,
- widget);
- gailview->old_hadj = adj;
- g_object_add_weak_pointer (G_OBJECT (gailview->old_hadj), (gpointer *)&gailview->old_hadj);
- g_signal_connect (adj,
- "value-changed",
- G_CALLBACK (adjustment_changed),
- tree_view);
- }
- else if (strcmp (pspec->name, "vadjustment") == 0)
- {
- g_object_get (tree_view, "vadjustment", &adj, NULL);
- g_signal_handlers_disconnect_by_func (gailview->old_vadj,
- (gpointer) adjustment_changed,
- widget);
- gailview->old_vadj = adj;
- g_object_add_weak_pointer (G_OBJECT (gailview->old_hadj), (gpointer *)&gailview->old_vadj);
- g_signal_connect (adj,
- "value-changed",
- G_CALLBACK (adjustment_changed),
- tree_view);
- }
- else
- GAIL_WIDGET_CLASS (gail_tree_view_parent_class)->notify_gtk (obj, pspec);
-}
-
-static void
-gail_tree_view_finalize (GObject *object)
-{
- GailTreeView *view = GAIL_TREE_VIEW (object);
-
- clear_cached_data (view);
-
- /* remove any idle handlers still pending */
- if (view->idle_garbage_collect_id)
- g_source_remove (view->idle_garbage_collect_id);
- if (view->idle_cursor_changed_id)
- g_source_remove (view->idle_cursor_changed_id);
- if (view->idle_expand_id)
- g_source_remove (view->idle_expand_id);
-
- if (view->caption)
- g_object_unref (view->caption);
- if (view->summary)
- g_object_unref (view->summary);
-
- if (view->tree_model)
- disconnect_model_signals (view);
-
- if (view->col_data)
- {
- GArray *array = view->col_data;
-
- /*
- * No need to free the contents of the array since it
- * just contains pointers to the GtkTreeViewColumn
- * objects that are in the GtkTreeView.
- */
- g_array_free (array, TRUE);
- }
-
- G_OBJECT_CLASS (gail_tree_view_parent_class)->finalize (object);
-}
-
-static void
-gail_tree_view_connect_widget_destroyed (GtkAccessible *accessible)
-{
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- if (widget)
- {
- g_signal_connect_after (widget,
- "destroy",
- G_CALLBACK (gail_tree_view_destroyed),
- accessible);
- }
- GTK_ACCESSIBLE_CLASS (gail_tree_view_parent_class)->connect_widget_destroyed (accessible);
-}
-
-static void
-gail_tree_view_destroyed (GtkWidget *widget,
- GtkAccessible *accessible)
-{
- GtkAdjustment *adj;
- GailTreeView *gailview;
-
- gail_return_if_fail (GTK_IS_TREE_VIEW (widget));
-
- gailview = GAIL_TREE_VIEW (accessible);
- adj = gailview->old_hadj;
- if (adj)
- g_signal_handlers_disconnect_by_func (adj,
- (gpointer) adjustment_changed,
- widget);
- adj = gailview->old_vadj;
- if (adj)
- g_signal_handlers_disconnect_by_func (adj,
- (gpointer) adjustment_changed,
- widget);
- if (gailview->tree_model)
- {
- disconnect_model_signals (gailview);
- gailview->tree_model = NULL;
- }
- if (gailview->focus_cell)
- {
- g_object_unref (gailview->focus_cell);
- gailview->focus_cell = NULL;
- }
- if (gailview->idle_expand_id)
- {
- g_source_remove (gailview->idle_expand_id);
- gailview->idle_expand_id = 0;
- }
-}
-
-gint
-get_focus_index (GtkTreeView *tree_view)
-{
- GtkTreePath *focus_path;
- GtkTreeViewColumn *focus_column;
- gint index;
-
- gtk_tree_view_get_cursor (tree_view, &focus_path, &focus_column);
- if (focus_path && focus_column)
- {
-
- index = get_index (tree_view, focus_path,
- get_column_number (tree_view, focus_column, FALSE));
- }
- else
- index = -1;
-
- if (focus_path)
- gtk_tree_path_free (focus_path);
-
- return index;
-}
-
-AtkObject *
-gail_tree_view_ref_focus_cell (GtkTreeView *tree_view)
-{
- /*
- * This function returns a reference to the accessible object for the cell
- * in the treeview which has focus, if a cell has focus.
- */
- AtkObject *focus_cell = NULL;
- AtkObject *atk_obj;
- gint focus_index;
-
- focus_index = get_focus_index (tree_view);
- if (focus_index >= 0)
- {
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
- focus_cell = atk_object_ref_accessible_child (atk_obj, focus_index);
- }
-
- return focus_cell;
-}
-
-/* atkobject.h */
-
-static gint
-gail_tree_view_get_n_children (AtkObject *obj)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeModel *tree_model;
- gint n_rows, n_cols;
-
- gail_return_val_if_fail (GAIL_IS_TREE_VIEW (obj), 0);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return 0;
-
- tree_view = GTK_TREE_VIEW (widget);
- tree_model = gtk_tree_view_get_model (tree_view);
-
- /*
- * We get the total number of rows including those which are collapsed
- */
- n_rows = get_row_count (tree_model);
- /*
- * We get the total number of columns including those which are not visible
- */
- n_cols = get_n_actual_columns (tree_view);
- return (n_rows * n_cols);
-}
-
-static AtkObject*
-gail_tree_view_ref_child (AtkObject *obj,
- gint i)
-{
- GtkWidget *widget;
- GailTreeView *gailview;
- GailCell *cell;
- GtkTreeView *tree_view;
- GtkTreeModel *tree_model;
- GtkCellRenderer *renderer;
- GtkTreeIter iter;
- GtkTreeViewColumn *tv_col;
- GtkTreeSelection *selection;
- GtkTreePath *path;
- AtkRegistry *default_registry;
- AtkObjectFactory *factory;
- AtkObject *child;
- AtkObject *parent;
- GtkTreeViewColumn *expander_tv;
- GList *renderer_list;
- GList *l;
- GailContainerCell *container = NULL;
- GailRendererCell *renderer_cell;
- gboolean is_expander, is_expanded, retval;
- gboolean editable = FALSE;
- gint focus_index;
-
- g_return_val_if_fail (GAIL_IS_TREE_VIEW (obj), NULL);
- g_return_val_if_fail (i >= 0, NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- if (i >= gail_tree_view_get_n_children (obj))
- return NULL;
-
- tree_view = GTK_TREE_VIEW (widget);
- if (i < get_n_actual_columns (tree_view))
- {
- tv_col = gtk_tree_view_get_column (tree_view, i);
- child = get_header_from_column (tv_col);
- if (child)
- g_object_ref (child);
- return child;
- }
-
- gailview = GAIL_TREE_VIEW (obj);
- /*
- * Check whether the child is cached
- */
- cell = find_cell (gailview, i);
- if (cell)
- {
- g_object_ref (cell);
- return ATK_OBJECT (cell);
- }
-
- if (gailview->focus_cell == NULL)
- focus_index = get_focus_index (tree_view);
- else
- focus_index = -1;
- /*
- * Find the TreePath and GtkTreeViewColumn for the index
- */
- if (!get_path_column_from_index (tree_view, i, &path, &tv_col))
- return NULL;
-
- tree_model = gtk_tree_view_get_model (tree_view);
- retval = gtk_tree_model_get_iter (tree_model, &iter, path);
- gail_return_val_if_fail (retval, NULL);
-
- expander_tv = gtk_tree_view_get_expander_column (tree_view);
- is_expander = FALSE;
- is_expanded = FALSE;
- if (gtk_tree_model_iter_has_child (tree_model, &iter))
- {
- if (expander_tv == tv_col)
- {
- is_expander = TRUE;
- is_expanded = gtk_tree_view_row_expanded (tree_view, path);
- }
- }
- gtk_tree_view_column_cell_set_cell_data (tv_col, tree_model, &iter,
- is_expander, is_expanded);
-
- renderer_list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tv_col));
-
- /* If there are more than one renderer in the list, make a container */
-
- if (renderer_list && renderer_list->next)
- {
- GailCell *container_cell;
-
- container = gail_container_cell_new ();
- gail_return_val_if_fail (container, NULL);
-
- container_cell = GAIL_CELL (container);
- gail_cell_initialise (container_cell,
- widget, ATK_OBJECT (gailview),
- i);
- /*
- * The GailTreeViewCellInfo structure for the container will be before
- * the ones for the cells so that the first one we find for a position
- * will be for the container
- */
- cell_info_new (gailview, tree_model, path, tv_col, container_cell);
- container_cell->refresh_index = refresh_cell_index;
- parent = ATK_OBJECT (container);
- }
- else
- parent = ATK_OBJECT (gailview);
-
- child = NULL;
-
- /*
- * Now we make a fake cell_renderer if there is no cell in renderer_list
- */
-
- if (renderer_list == NULL)
- {
- GtkCellRenderer *fake_renderer;
- fake_renderer = g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, NULL);
- default_registry = atk_get_default_registry ();
- factory = atk_registry_get_factory (default_registry,
- G_OBJECT_TYPE (fake_renderer));
- child = atk_object_factory_create_accessible (factory,
- G_OBJECT (fake_renderer));
- gail_return_val_if_fail (GAIL_IS_RENDERER_CELL (child), NULL);
- cell = GAIL_CELL (child);
- renderer_cell = GAIL_RENDERER_CELL (child);
- renderer_cell->renderer = fake_renderer;
-
- /* Create the GailTreeViewCellInfo structure for this cell */
- cell_info_new (gailview, tree_model, path, tv_col, cell);
-
- gail_cell_initialise (cell,
- widget, parent,
- i);
-
- cell->refresh_index = refresh_cell_index;
-
- /* set state if it is expandable */
- if (is_expander)
- {
- set_cell_expandable (cell);
- if (is_expanded)
- gail_cell_add_state (cell,
- ATK_STATE_EXPANDED,
- FALSE);
- }
- } else {
- for (l = renderer_list; l; l = l->next)
- {
- renderer = GTK_CELL_RENDERER (l->data);
-
- if (GTK_IS_CELL_RENDERER_TEXT (renderer))
- g_object_get (G_OBJECT (renderer), "editable", &editable, NULL);
-
- default_registry = atk_get_default_registry ();
- factory = atk_registry_get_factory (default_registry,
- G_OBJECT_TYPE (renderer));
- child = atk_object_factory_create_accessible (factory,
- G_OBJECT (renderer));
- gail_return_val_if_fail (GAIL_IS_RENDERER_CELL (child), NULL);
- cell = GAIL_CELL (child);
- renderer_cell = GAIL_RENDERER_CELL (child);
-
- /* Create the GailTreeViewCellInfo structure for this cell */
- cell_info_new (gailview, tree_model, path, tv_col, cell);
-
- gail_cell_initialise (cell,
- widget, parent,
- i);
-
- if (container)
- gail_container_cell_add_child (container, cell);
- else
- cell->refresh_index = refresh_cell_index;
-
- update_cell_value (renderer_cell, gailview, FALSE);
- /* Add the actions appropriate for this cell */
- add_cell_actions (cell, editable);
-
- /* set state if it is expandable */
- if (is_expander)
- {
- set_cell_expandable (cell);
- if (is_expanded)
- gail_cell_add_state (cell,
- ATK_STATE_EXPANDED,
- FALSE);
- }
- /*
- * If the column is visible, sets the cell's state
- */
- if (gtk_tree_view_column_get_visible (tv_col))
- set_cell_visibility (tree_view, cell, tv_col, path, FALSE);
- /*
- * If the row is selected, all cells on the row are selected
- */
- selection = gtk_tree_view_get_selection (tree_view);
-
- if (gtk_tree_selection_path_is_selected (selection, path))
- gail_cell_add_state (cell, ATK_STATE_SELECTED, FALSE);
-
- gail_cell_add_state (cell, ATK_STATE_FOCUSABLE, FALSE);
- if (focus_index == i)
- {
- gailview->focus_cell = g_object_ref (cell);
- gail_cell_add_state (cell, ATK_STATE_FOCUSED, FALSE);
- g_signal_emit_by_name (gailview,
- "active-descendant-changed",
- cell);
- }
- }
- g_list_free (renderer_list);
- if (container)
- child = ATK_OBJECT (container);
- }
-
- if (expander_tv == tv_col)
- {
- AtkRelationSet *relation_set;
- AtkObject *accessible_array[1];
- AtkRelation* relation;
- AtkObject *parent_node;
-
- relation_set = atk_object_ref_relation_set (ATK_OBJECT (child));
-
- gtk_tree_path_up (path);
- if (gtk_tree_path_get_depth (path) == 0)
- parent_node = obj;
- else
- {
- gint parent_index;
- gint n_columns;
-
- n_columns = get_n_actual_columns (tree_view);
- parent_index = get_index (tree_view, path, i % n_columns);
- parent_node = atk_object_ref_accessible_child (obj, parent_index);
- }
- accessible_array[0] = parent_node;
- relation = atk_relation_new (accessible_array, 1,
- ATK_RELATION_NODE_CHILD_OF);
- atk_relation_set_add (relation_set, relation);
- atk_object_add_relationship (parent_node, ATK_RELATION_NODE_PARENT_OF,
- child);
- g_object_unref (relation);
- g_object_unref (relation_set);
- }
- gtk_tree_path_free (path);
-
- /*
- * We do not increase the reference count here; when g_object_unref() is
- * called for the cell then cell_destroyed() is called and
- * this removes the cell from the cache.
- */
- return child;
-}
-
-static AtkStateSet*
-gail_tree_view_ref_state_set (AtkObject *obj)
-{
- AtkStateSet *state_set;
- GtkWidget *widget;
-
- state_set = ATK_OBJECT_CLASS (gail_tree_view_parent_class)->ref_state_set (obj);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
-
- if (widget != NULL)
- atk_state_set_add_state (state_set, ATK_STATE_MANAGES_DESCENDANTS);
-
- return state_set;
-}
-
-/* atkcomponent.h */
-
-static void
-atk_component_interface_init (AtkComponentIface *iface)
-{
- iface->ref_accessible_at_point = gail_tree_view_ref_accessible_at_point;
-}
-
-static AtkObject*
-gail_tree_view_ref_accessible_at_point (AtkComponent *component,
- gint x,
- gint y,
- AtkCoordType coord_type)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreePath *path;
- GtkTreeViewColumn *tv_column;
- gint x_pos, y_pos;
- gint bx, by;
- gboolean ret_val;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- tree_view = GTK_TREE_VIEW (widget);
-
- atk_component_get_extents (component, &x_pos, &y_pos, NULL, NULL, coord_type);
- gtk_tree_view_convert_widget_to_bin_window_coords (tree_view, x, y, &bx, &by);
- ret_val = gtk_tree_view_get_path_at_pos (tree_view,
- bx - x_pos, by - y_pos,
- &path, &tv_column, NULL, NULL);
- if (ret_val)
- {
- gint index, column;
-
- column = get_column_number (tree_view, tv_column, FALSE);
- index = get_index (tree_view, path, column);
- gtk_tree_path_free (path);
-
- return gail_tree_view_ref_child (ATK_OBJECT (component), index);
- }
- else
- {
- g_warning ("gail_tree_view_ref_accessible_at_point: gtk_tree_view_get_path_at_pos () failed\n");
- }
- return NULL;
-}
-
-/* atktable.h */
-
-static void
-atk_table_interface_init (AtkTableIface *iface)
-{
- iface->ref_at = gail_tree_view_table_ref_at;
- iface->get_n_rows = gail_tree_view_get_n_rows;
- iface->get_n_columns = gail_tree_view_get_n_columns;
- iface->get_index_at = gail_tree_view_get_index_at;
- iface->get_column_at_index = gail_tree_view_get_column_at_index;
- iface->get_row_at_index = gail_tree_view_get_row_at_index;
- iface->is_row_selected = gail_tree_view_is_row_selected;
- iface->is_selected = gail_tree_view_is_selected;
- iface->get_selected_rows = gail_tree_view_get_selected_rows;
- iface->add_row_selection = gail_tree_view_add_row_selection;
- iface->remove_row_selection = gail_tree_view_remove_row_selection;
- iface->get_column_extent_at = NULL;
- iface->get_row_extent_at = NULL;
- iface->get_row_header = gail_tree_view_get_row_header;
- iface->set_row_header = gail_tree_view_set_row_header;
- iface->get_column_header = gail_tree_view_get_column_header;
- iface->set_column_header = gail_tree_view_set_column_header;
- iface->get_caption = gail_tree_view_get_caption;
- iface->set_caption = gail_tree_view_set_caption;
- iface->get_summary = gail_tree_view_get_summary;
- iface->set_summary = gail_tree_view_set_summary;
- iface->get_row_description = gail_tree_view_get_row_description;
- iface->set_row_description = gail_tree_view_set_row_description;
- iface->get_column_description = gail_tree_view_get_column_description;
- iface->set_column_description = gail_tree_view_set_column_description;
-}
-
-static gint
-gail_tree_view_get_index_at (AtkTable *table,
- gint row,
- gint column)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- gint actual_column;
- gint n_cols, n_rows;
- GtkTreeIter iter;
- GtkTreePath *path;
- gint index;
-
- n_cols = atk_table_get_n_columns (table);
- n_rows = atk_table_get_n_rows (table);
-
- if (row >= n_rows ||
- column >= n_cols)
- return -1;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return -1;
-
- tree_view = GTK_TREE_VIEW (widget);
- actual_column = get_actual_column_number (tree_view, column);
-
- set_iter_nth_row (tree_view, &iter, row);
- path = gtk_tree_model_get_path (gtk_tree_view_get_model (tree_view), &iter);
-
- index = get_index (tree_view, path, actual_column);
- gtk_tree_path_free (path);
-
- return index;
-}
-
-static gint
-gail_tree_view_get_column_at_index (AtkTable *table,
- gint index)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- gint n_columns;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return -1;
-
- tree_view = GTK_TREE_VIEW (widget);
- n_columns = get_n_actual_columns (tree_view);
-
- if (n_columns == 0)
- return 0;
- index = index % n_columns;
-
- return get_visible_column_number (tree_view, index);
-}
-
-static gint
-gail_tree_view_get_row_at_index (AtkTable *table,
- gint index)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreePath *path;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return -1;
-
- tree_view = GTK_TREE_VIEW (widget);
- if (get_path_column_from_index (tree_view, index, &path, NULL))
- {
- gint row = get_row_from_tree_path (tree_view, path);
- gtk_tree_path_free (path);
- return row;
- }
- else
- return -1;
-}
-
-static AtkObject*
-gail_tree_view_table_ref_at (AtkTable *table,
- gint row,
- gint column)
-{
- gint index;
-
- index = gail_tree_view_get_index_at (table, row, column);
- if (index == -1)
- return NULL;
-
- return gail_tree_view_ref_child (ATK_OBJECT (table), index);
-}
-
-static gint
-gail_tree_view_get_n_rows (AtkTable *table)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeModel *tree_model;
- gint n_rows;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- tree_view = GTK_TREE_VIEW (widget);
- tree_model = gtk_tree_view_get_model (tree_view);
-
- if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
- /*
- * If working with a LIST store, then this is a faster way
- * to get the number of rows.
- */
- n_rows = gtk_tree_model_iter_n_children (tree_model, NULL);
- else
- {
- GtkTreePath *root_tree;
-
- n_rows = 0;
- root_tree = gtk_tree_path_new_first ();
- iterate_thru_children (tree_view, tree_model,
- root_tree, NULL, &n_rows, 0);
- gtk_tree_path_free (root_tree);
- }
-
- return n_rows;
-}
-
-/*
- * The function get_n_actual_columns returns the number of columns in the
- * GtkTreeView. i.e. it include both visible and non-visible columns.
- */
-static gint
-get_n_actual_columns (GtkTreeView *tree_view)
-{
- GList *columns;
- gint n_cols;
-
- columns = gtk_tree_view_get_columns (tree_view);
- n_cols = g_list_length (columns);
- g_list_free (columns);
- return n_cols;
-}
-
-static gint
-gail_tree_view_get_n_columns (AtkTable *table)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeViewColumn *tv_col;
- gint n_cols = 0;
- gint i = 0;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- tree_view = GTK_TREE_VIEW (widget);
- tv_col = gtk_tree_view_get_column (tree_view, i);
-
- while (tv_col != NULL)
- {
- if (gtk_tree_view_column_get_visible (tv_col))
- n_cols++;
-
- i++;
- tv_col = gtk_tree_view_get_column (tree_view, i);
- }
-
- return n_cols;
-}
-
-static gboolean
-gail_tree_view_is_row_selected (AtkTable *table,
- gint row)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeSelection *selection;
- GtkTreeIter iter;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- if (row < 0)
- return FALSE;
-
- tree_view = GTK_TREE_VIEW (widget);
-
- selection = gtk_tree_view_get_selection (tree_view);
-
- set_iter_nth_row (tree_view, &iter, row);
-
- return gtk_tree_selection_iter_is_selected (selection, &iter);
-}
-
-static gboolean
-gail_tree_view_is_selected (AtkTable *table,
- gint row,
- gint column)
-{
- return gail_tree_view_is_row_selected (table, row);
-}
-
-static gint
-gail_tree_view_get_selected_rows (AtkTable *table,
- gint **rows_selected)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeModel *tree_model;
- GtkTreeIter iter;
- GtkTreeSelection *selection;
- GtkTreePath *tree_path;
- gint ret_val = 0;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return 0;
-
- tree_view = GTK_TREE_VIEW (widget);
-
- selection = gtk_tree_view_get_selection (tree_view);
-
- switch (gtk_tree_selection_get_mode (selection))
- {
- case GTK_SELECTION_SINGLE:
- case GTK_SELECTION_BROWSE:
- if (gtk_tree_selection_get_selected (selection, &tree_model, &iter))
- {
- gint row;
-
- if (rows_selected)
- {
- *rows_selected = (gint *)g_malloc (sizeof(gint));
- tree_path = gtk_tree_model_get_path (tree_model, &iter);
- row = get_row_from_tree_path (tree_view, tree_path);
- gtk_tree_path_free (tree_path);
-
- /* shouldn't ever happen */
- g_return_val_if_fail (row != -1, 0);
-
- *rows_selected[0] = row;
- }
- ret_val = 1;
- }
- break;
- case GTK_SELECTION_MULTIPLE:
- {
- GPtrArray *array = g_ptr_array_new();
-
- gtk_tree_selection_selected_foreach (selection,
- get_selected_rows,
- array);
- ret_val = array->len;
-
- if (rows_selected && ret_val)
- {
- gint i;
- *rows_selected = (gint *) g_malloc (ret_val * sizeof (gint));
-
- for (i = 0; i < ret_val; i++)
- {
- gint row;
-
- tree_path = (GtkTreePath *) g_ptr_array_index (array, i);
- row = get_row_from_tree_path (tree_view, tree_path);
- gtk_tree_path_free (tree_path);
- (*rows_selected)[i] = row;
- }
- }
- g_ptr_array_free (array, FALSE);
- }
- break;
- case GTK_SELECTION_NONE:
- break;
- }
- return ret_val;
-}
-
-static gboolean
-gail_tree_view_add_row_selection (AtkTable *table,
- gint row)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeModel *tree_model;
- GtkTreeSelection *selection;
- GtkTreePath *tree_path;
- GtkTreeIter iter_to_row;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- if (!gail_tree_view_is_row_selected (table, row))
- {
- tree_view = GTK_TREE_VIEW (widget);
- tree_model = gtk_tree_view_get_model (tree_view);
- selection = gtk_tree_view_get_selection (tree_view);
-
- if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
- {
- tree_path = gtk_tree_path_new ();
- gtk_tree_path_append_index (tree_path, row);
- gtk_tree_selection_select_path (selection,tree_path);
- gtk_tree_path_free (tree_path);
- }
- else
- {
- set_iter_nth_row (tree_view, &iter_to_row, row);
- gtk_tree_selection_select_iter (selection, &iter_to_row);
- }
- }
-
- return gail_tree_view_is_row_selected (table, row);
-}
-
-static gboolean
-gail_tree_view_remove_row_selection (AtkTable *table,
- gint row)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeSelection *selection;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- tree_view = GTK_TREE_VIEW (widget);
-
- selection = gtk_tree_view_get_selection (tree_view);
-
- if (gail_tree_view_is_row_selected (table, row))
- {
- gtk_tree_selection_unselect_all (selection);
- return TRUE;
- }
- else return FALSE;
-}
-
-static AtkObject*
-gail_tree_view_get_row_header (AtkTable *table,
- gint row)
-{
- GailTreeViewRowInfo *row_info;
-
- row_info = get_row_info (table, row);
- if (row_info)
- return row_info->header;
- else
- return NULL;
-}
-
-static void
-gail_tree_view_set_row_header (AtkTable *table,
- gint row,
- AtkObject *header)
-{
- set_row_data (table, row, header, NULL, TRUE);
-}
-
-static AtkObject*
-gail_tree_view_get_column_header (AtkTable *table,
- gint in_col)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeViewColumn *tv_col;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- tree_view = GTK_TREE_VIEW (widget);
- tv_col = get_column (tree_view, in_col);
- return get_header_from_column (tv_col);
-}
-
-static void
-gail_tree_view_set_column_header (AtkTable *table,
- gint in_col,
- AtkObject *header)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeViewColumn *tv_col;
- AtkPropertyValues values = { NULL };
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- tree_view = GTK_TREE_VIEW (widget);
- tv_col = get_column (tree_view, in_col);
- if (tv_col == NULL)
- return;
-
- g_object_set_qdata_full (G_OBJECT (tv_col),
- quark_column_header_object,
- header,
- g_object_unref);
- if (header)
- g_object_ref (header);
- g_value_init (&values.new_value, G_TYPE_INT);
- g_value_set_int (&values.new_value, in_col);
-
- values.property_name = "accessible-table-column-header";
- g_signal_emit_by_name (table,
- "property_change::accessible-table-column-header",
- &values, NULL);
-}
-
-static AtkObject*
-gail_tree_view_get_caption (AtkTable *table)
-{
- GailTreeView* obj = GAIL_TREE_VIEW (table);
-
- return obj->caption;
-}
-
-static void
-gail_tree_view_set_caption (AtkTable *table,
- AtkObject *caption)
-{
- GailTreeView* obj = GAIL_TREE_VIEW (table);
- AtkPropertyValues values = { NULL };
- AtkObject *old_caption;
-
- old_caption = obj->caption;
- obj->caption = caption;
- if (obj->caption)
- g_object_ref (obj->caption);
- g_value_init (&values.old_value, G_TYPE_POINTER);
- g_value_set_pointer (&values.old_value, old_caption);
- g_value_init (&values.new_value, G_TYPE_POINTER);
- g_value_set_pointer (&values.new_value, obj->caption);
-
- values.property_name = "accessible-table-caption-object";
- g_signal_emit_by_name (table,
- "property_change::accessible-table-caption-object",
- &values, NULL);
- if (old_caption)
- g_object_unref (old_caption);
-}
-
-static const gchar*
-gail_tree_view_get_column_description (AtkTable *table,
- gint in_col)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeViewColumn *tv_col;
- gchar *rc;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- tree_view = GTK_TREE_VIEW (widget);
- tv_col = get_column (tree_view, in_col);
- if (tv_col == NULL)
- return NULL;
-
- rc = g_object_get_qdata (G_OBJECT (tv_col),
- quark_column_desc_object);
-
- if (rc != NULL)
- return rc;
- else
- {
- gchar *title_text;
-
- g_object_get (tv_col, "title", &title_text, NULL);
- return title_text;
- }
-}
-
-static void
-gail_tree_view_set_column_description (AtkTable *table,
- gint in_col,
- const gchar *description)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeViewColumn *tv_col;
- AtkPropertyValues values = { NULL };
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- tree_view = GTK_TREE_VIEW (widget);
- tv_col = get_column (tree_view, in_col);
- if (tv_col == NULL)
- return;
-
- g_object_set_qdata_full (G_OBJECT (tv_col),
- quark_column_desc_object,
- g_strdup (description),
- g_free);
- g_value_init (&values.new_value, G_TYPE_INT);
- g_value_set_int (&values.new_value, in_col);
-
- values.property_name = "accessible-table-column-description";
- g_signal_emit_by_name (table,
- "property_change::accessible-table-column-description",
- &values, NULL);
-}
-
-static const gchar*
-gail_tree_view_get_row_description (AtkTable *table,
- gint row)
-{
- GailTreeViewRowInfo *row_info;
-
- row_info = get_row_info (table, row);
- if (row_info)
- return row_info->description;
- else
- return NULL;
-}
-
-static void
-gail_tree_view_set_row_description (AtkTable *table,
- gint row,
- const gchar *description)
-{
- set_row_data (table, row, NULL, description, FALSE);
-}
-
-static AtkObject*
-gail_tree_view_get_summary (AtkTable *table)
-{
- GailTreeView* obj = GAIL_TREE_VIEW (table);
-
- return obj->summary;
-}
-
-static void
-gail_tree_view_set_summary (AtkTable *table,
- AtkObject *accessible)
-{
- GailTreeView* obj = GAIL_TREE_VIEW (table);
- AtkPropertyValues values = { NULL };
- AtkObject *old_summary;
-
- old_summary = obj->summary;
- obj->summary = accessible;
- if (obj->summary)
- g_object_ref (obj->summary);
- g_value_init (&values.old_value, G_TYPE_POINTER);
- g_value_set_pointer (&values.old_value, old_summary);
- g_value_init (&values.new_value, G_TYPE_POINTER);
- g_value_set_pointer (&values.new_value, obj->summary);
-
- values.property_name = "accessible-table-summary";
- g_signal_emit_by_name (table,
- "property_change::accessible-table-ummary",
- &values, NULL);
- if (old_summary)
- g_object_unref (old_summary);
-}
-
-static void
-set_row_data (AtkTable *table,
- gint row,
- AtkObject *header,
- const gchar *description,
- gboolean is_header)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeModel *tree_model;
- GailTreeView* obj = GAIL_TREE_VIEW (table);
- GailTreeViewRowInfo* row_info;
- GtkTreePath *path;
- GtkTreeIter iter;
- GArray *array;
- gboolean found = FALSE;
- gint i;
- AtkPropertyValues values = { NULL };
- gchar *signal_name;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- tree_view = GTK_TREE_VIEW (widget);
- tree_model = gtk_tree_view_get_model (tree_view);
-
- set_iter_nth_row (tree_view, &iter, row);
- path = gtk_tree_model_get_path (tree_model, &iter);
-
- if (obj->row_data == NULL)
- obj->row_data = g_array_sized_new (FALSE, TRUE,
- sizeof(GailTreeViewRowInfo *), 0);
-
- array = obj->row_data;
-
- for (i = 0; i < array->len; i++)
- {
- GtkTreePath *row_path;
-
- row_info = g_array_index (array, GailTreeViewRowInfo*, i);
- row_path = gtk_tree_row_reference_get_path (row_info->row_ref);
-
- if (row_path != NULL)
- {
- if (path && gtk_tree_path_compare (row_path, path) == 0)
- found = TRUE;
-
- gtk_tree_path_free (row_path);
-
- if (found)
- {
- if (is_header)
- {
- if (row_info->header)
- g_object_unref (row_info->header);
- row_info->header = header;
- if (row_info->header)
- g_object_ref (row_info->header);
- }
- else
- {
- g_free (row_info->description);
- row_info->description = g_strdup (description);
- }
- break;
- }
- }
- }
-
- if (!found)
- {
- /* if not found */
- row_info = g_malloc (sizeof(GailTreeViewRowInfo));
- row_info->row_ref = gtk_tree_row_reference_new (tree_model, path);
- if (is_header)
- {
- row_info->header = header;
- if (row_info->header)
- g_object_ref (row_info->header);
- row_info->description = NULL;
- }
- else
- {
- row_info->header = NULL;
- row_info->description = g_strdup (description);
- }
- g_array_append_val (array, row_info);
- }
- g_value_init (&values.new_value, G_TYPE_INT);
- g_value_set_int (&values.new_value, row);
-
- if (is_header)
- {
- values.property_name = "accessible-table-row-header";
- signal_name = "property_change::accessible-table-row-header";
- }
- else
- {
- values.property_name = "accessible-table-row-description";
- signal_name = "property-change::accessible-table-row-description";
- }
- g_signal_emit_by_name (table,
- signal_name,
- &values, NULL);
-
- gtk_tree_path_free (path);
-}
-
-
-static GailTreeViewRowInfo*
-get_row_info (AtkTable *table,
- gint row)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeModel *tree_model;
- GailTreeView* obj = GAIL_TREE_VIEW (table);
- GtkTreePath *path;
- GtkTreeIter iter;
- GArray *array;
- GailTreeViewRowInfo *rc = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
- if (widget == NULL)
- /* State is defunct */
- return NULL;
-
- tree_view = GTK_TREE_VIEW (widget);
- tree_model = gtk_tree_view_get_model (tree_view);
-
- set_iter_nth_row (tree_view, &iter, row);
- path = gtk_tree_model_get_path (tree_model, &iter);
- array = obj->row_data;
-
- if (array != NULL)
- {
- GailTreeViewRowInfo *row_info;
- GtkTreePath *row_path;
- gint i;
-
- for (i = 0; i < array->len; i++)
- {
- row_info = g_array_index (array, GailTreeViewRowInfo*, i);
- row_path = gtk_tree_row_reference_get_path (row_info->row_ref);
- if (row_path != NULL)
- {
- if (path && gtk_tree_path_compare (row_path, path) == 0)
- rc = row_info;
-
- gtk_tree_path_free (row_path);
-
- if (rc != NULL)
- break;
- }
- }
- }
-
- gtk_tree_path_free (path);
- return rc;
-}
-/* atkselection.h */
-
-static void atk_selection_interface_init (AtkSelectionIface *iface)
-{
- iface->add_selection = gail_tree_view_add_selection;
- iface->clear_selection = gail_tree_view_clear_selection;
- iface->ref_selection = gail_tree_view_ref_selection;
- iface->get_selection_count = gail_tree_view_get_selection_count;
- iface->is_child_selected = gail_tree_view_is_child_selected;
-}
-
-static gboolean
-gail_tree_view_add_selection (AtkSelection *selection,
- gint i)
-{
- AtkTable *table;
- gint n_columns;
- gint row;
-
- table = ATK_TABLE (selection);
- n_columns = gail_tree_view_get_n_columns (table);
- if (n_columns != 1)
- return FALSE;
-
- row = gail_tree_view_get_row_at_index (table, i);
- return gail_tree_view_add_row_selection (table, row);
-}
-
-static gboolean
-gail_tree_view_clear_selection (AtkSelection *selection)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeSelection *tree_selection;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- tree_view = GTK_TREE_VIEW (widget);
-
- tree_selection = gtk_tree_view_get_selection (tree_view);
- gtk_tree_selection_unselect_all (tree_selection);
-
- return TRUE;
-}
-
-static AtkObject*
-gail_tree_view_ref_selection (AtkSelection *selection,
- gint i)
-{
- AtkTable *table;
- gint row;
- gint n_selected;
- gint n_columns;
- gint *selected;
-
- table = ATK_TABLE (selection);
- n_columns = gail_tree_view_get_n_columns (table);
- n_selected = gail_tree_view_get_selected_rows (table, &selected);
- if (i >= n_columns * n_selected)
- return NULL;
-
- row = selected[i / n_columns];
- g_free (selected);
-
- return gail_tree_view_table_ref_at (table, row, i % n_columns);
-}
-
-static gint
-gail_tree_view_get_selection_count (AtkSelection *selection)
-{
- AtkTable *table;
- gint n_selected;
-
- table = ATK_TABLE (selection);
- n_selected = gail_tree_view_get_selected_rows (table, NULL);
- if (n_selected > 0)
- n_selected *= gail_tree_view_get_n_columns (table);
- return n_selected;
-}
-
-static gboolean
-gail_tree_view_is_child_selected (AtkSelection *selection,
- gint i)
-{
- GtkWidget *widget;
- gint row;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- row = atk_table_get_row_at_index (ATK_TABLE (selection), i);
-
- return gail_tree_view_is_row_selected (ATK_TABLE (selection), row);
-}
-
-
-static void gail_cell_parent_interface_init (GailCellParentIface *iface)
-{
- iface->get_cell_extents = gail_tree_view_get_cell_extents;
- iface->get_cell_area = gail_tree_view_get_cell_area;
- iface->grab_focus = gail_tree_view_grab_cell_focus;
-}
-
-static void
-gail_tree_view_get_cell_extents (GailCellParent *parent,
- GailCell *cell,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GdkWindow *bin_window;
- GdkRectangle cell_rect;
- gint w_x, w_y;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- tree_view = GTK_TREE_VIEW (widget);
- gail_tree_view_get_cell_area (parent, cell, &cell_rect);
- bin_window = gtk_tree_view_get_bin_window (tree_view);
- gdk_window_get_origin (bin_window, &w_x, &w_y);
-
- if (coord_type == ATK_XY_WINDOW)
- {
- GdkWindow *window;
- gint x_toplevel, y_toplevel;
-
- window = gdk_window_get_toplevel (bin_window);
- gdk_window_get_origin (window, &x_toplevel, &y_toplevel);
-
- w_x -= x_toplevel;
- w_y -= y_toplevel;
- }
-
- *width = cell_rect.width;
- *height = cell_rect.height;
- if (is_cell_showing (tree_view, &cell_rect))
- {
- *x = cell_rect.x + w_x;
- *y = cell_rect.y + w_y;
- }
- else
- {
- *x = G_MININT;
- *y = G_MININT;
- }
-}
-
-#define EXTRA_EXPANDER_PADDING 4
-
-static void
-gail_tree_view_get_cell_area (GailCellParent *parent,
- GailCell *cell,
- GdkRectangle *cell_rect)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeViewColumn *tv_col;
- GtkTreePath *path;
- AtkObject *parent_cell;
- GailTreeViewCellInfo *cell_info;
- GailCell *top_cell;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
- if (widget == NULL)
- /* State is defunct */
- return;
-
- tree_view = GTK_TREE_VIEW (widget);
- parent_cell = atk_object_get_parent (ATK_OBJECT (cell));
- if (parent_cell != ATK_OBJECT (parent))
- {
- /*
- * GailCell is in a GailContainerCell
- */
- top_cell = GAIL_CELL (parent_cell);
- }
- else
- {
- top_cell = cell;
- }
- cell_info = find_cell_info (GAIL_TREE_VIEW (parent), top_cell, NULL, TRUE);
- gail_return_if_fail (cell_info);
- gail_return_if_fail (cell_info->cell_col_ref);
- gail_return_if_fail (cell_info->cell_row_ref);
- path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
- tv_col = cell_info->cell_col_ref;
- if (path && cell_info->in_use)
- {
- GtkTreeViewColumn *expander_column;
- gint focus_line_width;
-
- gtk_tree_view_get_cell_area (tree_view, path, tv_col, cell_rect);
- expander_column = gtk_tree_view_get_expander_column (tree_view);
- if (expander_column == tv_col)
- {
- gint expander_size;
-
- gtk_widget_style_get (widget,
- "expander_size", &expander_size,
- NULL);
-
- cell_rect->x += expander_size + EXTRA_EXPANDER_PADDING;
- cell_rect->width -= expander_size + EXTRA_EXPANDER_PADDING;
- }
- gtk_widget_style_get (widget,
- "focus-line-width", &focus_line_width,
- NULL);
-
- cell_rect->x += focus_line_width;
- cell_rect->width -= 2 * focus_line_width;
-
- gtk_tree_path_free (path);
-
- /*
- * A column has more than one renderer so we find the position and width
- * of each.
- */
- if (top_cell != cell)
- {
- gint cell_index;
- gboolean found;
- gint cell_start;
- gint cell_width;
- GList *renderers;
- GtkCellRenderer *renderer;
-
- cell_index = atk_object_get_index_in_parent (ATK_OBJECT (cell));
- renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tv_col));
- renderer = g_list_nth_data (renderers, cell_index);
-
- found = gtk_tree_view_column_cell_get_position (tv_col, renderer, &cell_start, &cell_width);
- if (found)
- {
- cell_rect->x += cell_start;
- cell_rect->width = cell_width;
- }
- g_list_free (renderers);
- }
-
- }
-}
-
-static gboolean
-gail_tree_view_grab_cell_focus (GailCellParent *parent,
- GailCell *cell)
-{
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeViewColumn *tv_col;
- GtkTreePath *path;
- AtkObject *parent_cell;
- AtkObject *cell_object;
- GailTreeViewCellInfo *cell_info;
- GtkCellRenderer *renderer = NULL;
- GtkWidget *toplevel;
- gint index;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
- if (widget == NULL)
- /* State is defunct */
- return FALSE;
-
- tree_view = GTK_TREE_VIEW (widget);
-
- cell_info = find_cell_info (GAIL_TREE_VIEW (parent), cell, NULL, TRUE);
- gail_return_val_if_fail (cell_info, FALSE);
- gail_return_val_if_fail (cell_info->cell_col_ref, FALSE);
- gail_return_val_if_fail (cell_info->cell_row_ref, FALSE);
- cell_object = ATK_OBJECT (cell);
- parent_cell = atk_object_get_parent (cell_object);
- tv_col = cell_info->cell_col_ref;
- if (parent_cell != ATK_OBJECT (parent))
- {
- /*
- * GailCell is in a GailContainerCell.
- * The GtkTreeViewColumn has multiple renderers;
- * find the corresponding one.
- */
- GList *renderers;
-
- renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tv_col));
- if (cell_info->in_use) {
- index = atk_object_get_index_in_parent (cell_object);
- renderer = g_list_nth_data (renderers, index);
- }
- g_list_free (renderers);
- }
- path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
- if (path && cell_info->in_use)
- {
- if (renderer)
- gtk_tree_view_set_cursor_on_cell (tree_view, path, tv_col, renderer, FALSE);
- else
- gtk_tree_view_set_cursor (tree_view, path, tv_col, FALSE);
-
- gtk_tree_path_free (path);
- gtk_widget_grab_focus (widget);
- toplevel = gtk_widget_get_toplevel (widget);
- if (gtk_widget_is_toplevel (toplevel))
- {
-#ifdef GDK_WINDOWING_X11
- gtk_window_present_with_time (GTK_WINDOW (toplevel),
- gdk_x11_get_server_time (gtk_widget_get_window (widget)));
-#else
- gtk_window_present (GTK_WINDOW (toplevel));
-#endif
- }
-
- return TRUE;
- }
- else
- return FALSE;
-}
-
-/* signal handling */
-
-static gboolean
-gail_tree_view_expand_row_gtk (GtkTreeView *tree_view,
- GtkTreeIter *iter,
- GtkTreePath *path)
-{
- AtkObject *atk_obj;
- GailTreeView *gailview;
-
- g_assert (GTK_IS_TREE_VIEW (tree_view));
-
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
-
- g_assert (GAIL_IS_TREE_VIEW (atk_obj));
-
- gailview = GAIL_TREE_VIEW (atk_obj);
-
- /*
- * The visible rectangle has not been updated when this signal is emitted
- * so we process the signal when the GTK processing is completed
- */
- /* this seems wrong since it overwrites any other pending expand handlers... */
- gailview->idle_expand_path = gtk_tree_path_copy (path);
- if (gailview->idle_expand_id)
- g_source_remove (gailview->idle_expand_id);
- gailview->idle_expand_id = gdk_threads_add_idle (idle_expand_row, gailview);
- return FALSE;
-}
-
-static gint
-idle_expand_row (gpointer data)
-{
- GailTreeView *gailview = data;
- GtkTreePath *path;
- GtkTreeView *tree_view;
- GtkTreeIter iter;
- GtkTreeModel *tree_model;
- gint n_inserted, row;
-
- gailview->idle_expand_id = 0;
-
- path = gailview->idle_expand_path;
- tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (gailview)));
-
- g_assert (GTK_IS_TREE_VIEW (tree_view));
-
- tree_model = gtk_tree_view_get_model(tree_view);
- if (!tree_model)
- return FALSE;
-
- if (!path || !gtk_tree_model_get_iter (tree_model, &iter, path))
- return FALSE;
-
- /*
- * Update visibility of cells below expansion row
- */
- traverse_cells (gailview, path, FALSE, FALSE);
- /*
- * Figure out number of visible children, the following test
- * should not fail
- */
- if (gtk_tree_model_iter_has_child (tree_model, &iter))
- {
- GtkTreePath *path_copy;
-
- /*
- * By passing path into this function, we find the number of
- * visible children of path.
- */
- path_copy = gtk_tree_path_copy (path);
- gtk_tree_path_append_index(path_copy, 0);
-
- n_inserted = 0;
- iterate_thru_children (tree_view, tree_model,
- path_copy, NULL, &n_inserted, 0);
- gtk_tree_path_free (path_copy);
- }
- else
- {
- /* We can get here if the row expanded callback deleted the row */
- return FALSE;
- }
-
- /* Set expand state */
- set_expand_state (tree_view, tree_model, gailview, path, TRUE);
-
- row = get_row_from_tree_path (tree_view, path);
-
- /* shouldn't ever happen */
- if (row == -1)
- g_assert_not_reached ();
-
- /* Must add 1 because the "added rows" are below the row being expanded */
- row += 1;
-
- g_signal_emit_by_name (gailview, "row_inserted", row, n_inserted);
-
- gailview->idle_expand_path = NULL;
-
- gtk_tree_path_free (path);
-
- return FALSE;
-}
-
-static gboolean
-gail_tree_view_collapse_row_gtk (GtkTreeView *tree_view,
- GtkTreeIter *iter,
- GtkTreePath *path)
-{
- GtkTreeModel *tree_model;
- AtkObject *atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
- GailTreeView *gailview = GAIL_TREE_VIEW (atk_obj);
- gint row;
-
- tree_model = gtk_tree_view_get_model (tree_view);
-
- clean_rows (gailview);
-
- /*
- * Update visibility of cells below collapsed row
- */
- traverse_cells (gailview, path, FALSE, FALSE);
- /* Set collapse state */
- set_expand_state (tree_view, tree_model, gailview, path, FALSE);
-
- gail_return_val_if_fail (gailview->n_children_deleted, FALSE);
- row = get_row_from_tree_path (tree_view, path);
- gail_return_val_if_fail (row != -1, FALSE);
- g_signal_emit_by_name (atk_obj, "row_deleted", row,
- gailview->n_children_deleted);
- gailview->n_children_deleted = 0;
- return FALSE;
-}
-
-static void
-gail_tree_view_size_allocate_gtk (GtkWidget *widget,
- GtkAllocation *allocation)
-{
- AtkObject *atk_obj = gtk_widget_get_accessible (widget);
- GailTreeView *gailview = GAIL_TREE_VIEW (atk_obj);
-
- /*
- * If the size allocation changes, the visibility of cells may change so
- * update the cells visibility.
- */
- traverse_cells (gailview, NULL, FALSE, FALSE);
-}
-
-static void
-gail_tree_view_changed_gtk (GtkTreeSelection *selection,
- gpointer data)
-{
- GailTreeView *gailview;
- GtkTreeView *tree_view;
- GtkWidget *widget;
- GList *cell_list;
- GList *l;
- GailTreeViewCellInfo *info;
- GtkTreeSelection *tree_selection;
- GtkTreePath *path;
-
- gailview = GAIL_TREE_VIEW (data);
- cell_list = gailview->cell_data;
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (gailview));
- if (widget == NULL)
- /*
- * destroy signal emitted for widget
- */
- return;
- tree_view = GTK_TREE_VIEW (widget);
-
- tree_selection = gtk_tree_view_get_selection (tree_view);
-
- clean_rows (gailview);
-
- for (l = cell_list; l; l = l->next)
- {
- info = (GailTreeViewCellInfo *) (l->data);
-
- if (info->in_use)
- {
- gail_cell_remove_state (info->cell, ATK_STATE_SELECTED, TRUE);
-
- path = gtk_tree_row_reference_get_path (info->cell_row_ref);
- if (path && gtk_tree_selection_path_is_selected (tree_selection, path))
- gail_cell_add_state (info->cell, ATK_STATE_SELECTED, TRUE);
- gtk_tree_path_free (path);
- }
- }
- if (gtk_widget_get_realized (widget))
- g_signal_emit_by_name (gailview, "selection_changed");
-}
-
-static void
-columns_changed (GtkTreeView *tree_view)
-{
- AtkObject *atk_obj = gtk_widget_get_accessible (GTK_WIDGET(tree_view));
- GailTreeView *gailview = GAIL_TREE_VIEW (atk_obj);
- GList *tv_cols, *tmp_list;
- gboolean column_found;
- gboolean move_found = FALSE;
- gboolean stale_set = FALSE;
- gint column_count = 0;
- gint i;
-
- /*
- * This function must determine if the change is an add, delete or
- * a move based upon its cache of TreeViewColumns in
- * gailview->col_data
- */
- tv_cols = gtk_tree_view_get_columns (tree_view);
-
- /* check for adds or moves */
- for (tmp_list = tv_cols; tmp_list; tmp_list = tmp_list->next)
- {
- column_found = FALSE;
-
- for (i = 0; i < gailview->col_data->len; i++)
- {
-
- if ((GtkTreeViewColumn *)tmp_list->data ==
- (GtkTreeViewColumn *)g_array_index (gailview->col_data,
- GtkTreeViewColumn *, i))
- {
- column_found = TRUE;
-
- /* If the column isn't in the same position, a move happened */
- if (!move_found && i != column_count)
- {
- if (!stale_set)
- {
- /* Set all rows to ATK_STATE_STALE */
- traverse_cells (gailview, NULL, TRUE, FALSE);
- stale_set = TRUE;
- }
-
- /* Just emit one column reordered signal when a move happens */
- g_signal_emit_by_name (atk_obj, "column_reordered");
- move_found = TRUE;
- }
-
- break;
- }
- }
-
- /*
- * If column_found is FALSE, then an insert happened for column
- * number column_count
- */
- if (!column_found)
- {
- gint n_cols, n_rows, row;
-
- if (!stale_set)
- {
- /* Set all rows to ATK_STATE_STALE */
- traverse_cells (gailview, NULL, TRUE, FALSE);
- stale_set = TRUE;
- }
-
- /* Generate column-inserted signal */
- g_signal_emit_by_name (atk_obj, "column_inserted", column_count, 1);
-
- /* Generate children-changed signals */
- n_rows = get_row_count (gtk_tree_view_get_model (tree_view));
- n_cols = get_n_actual_columns (tree_view);
- for (row = 0; row < n_rows; row++)
- {
- /*
- * Pass NULL as the child object, i.e. 4th argument.
- */
- g_signal_emit_by_name (atk_obj, "children_changed::add",
- ((row * n_cols) + column_count), NULL, NULL);
- }
- }
-
- column_count++;
- }
-
- /* check for deletes */
- for (i = 0; i < gailview->col_data->len; i++)
- {
- column_found = FALSE;
-
- for (tmp_list = tv_cols; tmp_list; tmp_list = tmp_list->next)
- {
- if ((GtkTreeViewColumn *)tmp_list->data ==
- (GtkTreeViewColumn *)g_array_index (gailview->col_data,
- GtkTreeViewColumn *, i))
- {
- column_found = TRUE;
- break;
- }
- }
-
- /*
- * If column_found is FALSE, then a delete happened for column
- * number i
- */
- if (!column_found)
- {
- gint n_rows, n_cols, row;
-
- clean_cols (gailview,
- (GtkTreeViewColumn *)g_array_index (gailview->col_data,
- GtkTreeViewColumn *, i));
-
- if (!stale_set)
- {
- /* Set all rows to ATK_STATE_STALE */
- traverse_cells (gailview, NULL, TRUE, FALSE);
- stale_set = TRUE;
- }
-
- /* Generate column-deleted signal */
- g_signal_emit_by_name (atk_obj, "column_deleted", i, 1);
-
- /* Generate children-changed signals */
- n_rows = get_row_count (gtk_tree_view_get_model (tree_view));
- n_cols = get_n_actual_columns (tree_view);
- for (row = 0; row < n_rows; row++)
- {
- /*
- * Pass NULL as the child object, 4th argument.
- */
- g_signal_emit_by_name (atk_obj, "children_changed::remove",
- ((row * n_cols) + column_count), NULL, NULL);
- }
- }
- }
-
- /* rebuild the array */
-
- g_array_free (gailview->col_data, TRUE);
- gailview->col_data = g_array_sized_new (FALSE, TRUE,
- sizeof(GtkTreeViewColumn *), 0);
-
- for (tmp_list = tv_cols; tmp_list; tmp_list = tmp_list->next)
- g_array_append_val (gailview->col_data, tmp_list->data);
- g_list_free (tv_cols);
-}
-
-static void
-cursor_changed (GtkTreeView *tree_view)
-{
- GailTreeView *gailview;
-
- gailview = GAIL_TREE_VIEW (gtk_widget_get_accessible (GTK_WIDGET (tree_view)));
- if (gailview->idle_cursor_changed_id != 0)
- return;
-
- /*
- * We notify the focus change in a idle handler so that the processing
- * of the cursor change is completed when the focus handler is called.
- * This will allow actions to be called in the focus handler
- */
- gailview->idle_cursor_changed_id = gdk_threads_add_idle (idle_cursor_changed, gailview);
-}
-
-static gint
-idle_cursor_changed (gpointer data)
-{
- GailTreeView *gail_tree_view = GAIL_TREE_VIEW (data);
- GtkTreeView *tree_view;
- GtkWidget *widget;
- AtkObject *cell;
-
- gail_tree_view->idle_cursor_changed_id = 0;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (gail_tree_view));
- /*
- * Widget has been deleted
- */
- if (widget == NULL)
- return FALSE;
-
- tree_view = GTK_TREE_VIEW (widget);
-
- cell = gail_tree_view_ref_focus_cell (tree_view);
- if (cell)
- {
- if (cell != gail_tree_view->focus_cell)
- {
- if (gail_tree_view->focus_cell)
- {
- gail_cell_remove_state (GAIL_CELL (gail_tree_view->focus_cell), ATK_STATE_ACTIVE, FALSE);
- gail_cell_remove_state (GAIL_CELL (gail_tree_view->focus_cell), ATK_STATE_FOCUSED, FALSE);
- g_object_unref (gail_tree_view->focus_cell);
- }
- gail_tree_view->focus_cell = cell;
-
- if (gtk_widget_has_focus (widget))
- {
- gail_cell_add_state (GAIL_CELL (cell), ATK_STATE_ACTIVE, FALSE);
- gail_cell_add_state (GAIL_CELL (cell), ATK_STATE_FOCUSED, FALSE);
- }
- g_signal_emit_by_name (gail_tree_view,
- "active-descendant-changed",
- cell);
- }
- else
- g_object_unref (cell);
- }
-
- return FALSE;
-}
-
-static gboolean
-focus_in (GtkWidget *widget)
-{
- GtkTreeView *tree_view;
- GailTreeView *gail_tree_view;
- AtkStateSet *state_set;
- AtkObject *cell;
-
- tree_view = GTK_TREE_VIEW (widget);
- gail_tree_view = GAIL_TREE_VIEW (gtk_widget_get_accessible (widget));
-
- if (gail_tree_view->focus_cell == NULL)
- {
- cell = gail_tree_view_ref_focus_cell (tree_view);
- if (cell)
- {
- state_set = atk_object_ref_state_set (cell);
- if (state_set)
- {
- if (!atk_state_set_contains_state (state_set, ATK_STATE_FOCUSED))
- {
- gail_cell_add_state (GAIL_CELL (cell), ATK_STATE_ACTIVE, FALSE);
- gail_tree_view->focus_cell = cell;
- gail_cell_add_state (GAIL_CELL (cell), ATK_STATE_FOCUSED, FALSE);
- g_signal_emit_by_name (gail_tree_view,
- "active-descendant-changed",
- cell);
- }
- g_object_unref (state_set);
- }
- }
- }
- return FALSE;
-}
-
-static gboolean
-focus_out (GtkWidget *widget)
-{
- GailTreeView *gail_tree_view;
-
- gail_tree_view = GAIL_TREE_VIEW (gtk_widget_get_accessible (widget));
- if (gail_tree_view->focus_cell)
- {
- gail_cell_remove_state (GAIL_CELL (gail_tree_view->focus_cell), ATK_STATE_ACTIVE, FALSE);
- gail_cell_remove_state (GAIL_CELL (gail_tree_view->focus_cell), ATK_STATE_FOCUSED, FALSE);
- g_object_unref (gail_tree_view->focus_cell);
- gail_tree_view->focus_cell = NULL;
- }
- return FALSE;
-}
-
-static void
-model_row_changed (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer user_data)
-{
- GtkTreeView *tree_view = GTK_TREE_VIEW(user_data);
- GailTreeView *gailview;
- GtkTreePath *cell_path;
- GList *l;
- GailTreeViewCellInfo *cell_info;
-
- gailview = GAIL_TREE_VIEW (gtk_widget_get_accessible (GTK_WIDGET (tree_view)));
-
- /* Loop through our cached cells */
- /* Must loop through them all */
- for (l = gailview->cell_data; l; l = l->next)
- {
- cell_info = (GailTreeViewCellInfo *) l->data;
- if (cell_info->in_use)
- {
- cell_path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
-
- if (cell_path != NULL)
- {
- if (path && gtk_tree_path_compare (cell_path, path) == 0)
- {
- if (GAIL_IS_RENDERER_CELL (cell_info->cell))
- {
- update_cell_value (GAIL_RENDERER_CELL (cell_info->cell),
- gailview, TRUE);
- }
- }
- gtk_tree_path_free (cell_path);
- }
- }
- }
- g_signal_emit_by_name (gailview, "visible-data-changed");
-}
-
-static void
-column_visibility_changed (GObject *object,
- GParamSpec *pspec,
- gpointer user_data)
-{
- if (strcmp (pspec->name, "visible") == 0)
- {
- /*
- * A column has been made visible or invisible
- *
- * We update our cache of cells and emit model_changed signal
- */
- GtkTreeView *tree_view = (GtkTreeView *)user_data;
- GailTreeView *gailview;
- GList *l;
- GailTreeViewCellInfo *cell_info;
- GtkTreeViewColumn *this_col = GTK_TREE_VIEW_COLUMN (object);
- GtkTreeViewColumn *tv_col;
-
- gailview = GAIL_TREE_VIEW (gtk_widget_get_accessible (GTK_WIDGET (tree_view))
-);
- g_signal_emit_by_name (gailview, "model_changed");
-
- for (l = gailview->cell_data; l; l = l->next)
- {
- cell_info = (GailTreeViewCellInfo *) l->data;
- if (cell_info->in_use)
- {
- tv_col = cell_info->cell_col_ref;
- if (tv_col == this_col)
- {
- GtkTreePath *row_path;
- row_path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
- if (GAIL_IS_RENDERER_CELL (cell_info->cell))
- {
- if (gtk_tree_view_column_get_visible (tv_col))
- set_cell_visibility (tree_view,
- cell_info->cell,
- tv_col, row_path, FALSE);
- else
- {
- gail_cell_remove_state (cell_info->cell,
- ATK_STATE_VISIBLE, TRUE);
- gail_cell_remove_state (cell_info->cell,
- ATK_STATE_SHOWING, TRUE);
- }
- }
- gtk_tree_path_free (row_path);
- }
- }
- }
- }
-}
-
-static void
-model_row_inserted (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer user_data)
-{
- GtkTreeView *tree_view = (GtkTreeView *)user_data;
- GtkTreePath *path_copy;
- AtkObject *atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
- GailTreeView *gailview = GAIL_TREE_VIEW (atk_obj);
- gint row, n_inserted, child_row;
-
- if (gailview->idle_expand_id)
- {
- g_source_remove (gailview->idle_expand_id);
- gailview->idle_expand_id = 0;
-
- /* don't do this if the insertion precedes the idle path, since it will now be invalid */
- if (path && gailview->idle_expand_path &&
- (gtk_tree_path_compare (path, gailview->idle_expand_path) > 0))
- set_expand_state (tree_view, tree_model, gailview, gailview->idle_expand_path, FALSE);
- if (gailview->idle_expand_path)
- gtk_tree_path_free (gailview->idle_expand_path);
- }
- /* Check to see if row is visible */
- row = get_row_from_tree_path (tree_view, path);
-
- /*
- * A row insert is not necessarily visible. For example,
- * a row can be draged & dropped into another row, which
- * causes an insert on the model that isn't visible in the
- * view. Only generate a signal if the inserted row is
- * visible.
- */
- if (row != -1)
- {
- GtkTreeIter iter;
- gint n_cols, col;
-
- gtk_tree_model_get_iter (tree_model, &iter, path);
-
- /* Figure out number of visible children. */
- if (gtk_tree_model_iter_has_child (tree_model, &iter))
- {
- /*
- * By passing path into this function, we find the number of
- * visible children of path.
- */
- n_inserted = 0;
- iterate_thru_children (tree_view, tree_model,
- path, NULL, &n_inserted, 0);
-
- /* Must add one to include the row that is being added */
- n_inserted++;
- }
- else
- n_inserted = 1;
-
- /* Set rows below the inserted row to ATK_STATE_STALE */
- traverse_cells (gailview, path, TRUE, TRUE);
-
- /* Generate row-inserted signal */
- g_signal_emit_by_name (atk_obj, "row_inserted", row, n_inserted);
-
- /* Generate children-changed signals */
- n_cols = gail_tree_view_get_n_columns (ATK_TABLE (atk_obj));
- for (child_row = row; child_row < (row + n_inserted); child_row++)
- {
- for (col = 0; col < n_cols; col++)
- {
- /*
- * Pass NULL as the child object, i.e. 4th argument
- */
- g_signal_emit_by_name (atk_obj, "children_changed::add",
- ((row * n_cols) + col), NULL, NULL);
- }
- }
- }
- else
- {
- /*
- * The row has been inserted inside another row. This can
- * cause a row that previously couldn't be expanded to now
- * be expandable.
- */
- path_copy = gtk_tree_path_copy (path);
- gtk_tree_path_up (path_copy);
- set_expand_state (tree_view, tree_model, gailview, path_copy, TRUE);
- gtk_tree_path_free (path_copy);
- }
-}
-
-static void
-model_row_deleted (GtkTreeModel *tree_model,
- GtkTreePath *path,
- gpointer user_data)
-{
- GtkTreeView *tree_view;
- GtkTreePath *path_copy;
- AtkObject *atk_obj;
- GailTreeView *gailview;
- gint row, col, n_cols;
-
- tree_view = (GtkTreeView *)user_data;
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
- gailview = GAIL_TREE_VIEW (atk_obj);
-
- if (gailview->idle_expand_id)
- {
- g_source_remove (gailview->idle_expand_id);
- gtk_tree_path_free (gailview->idle_expand_path);
- gailview->idle_expand_id = 0;
- }
- /* Check to see if row is visible */
- clean_rows (gailview);
-
- /* Set rows at or below the specified row to ATK_STATE_STALE */
- traverse_cells (gailview, path, TRUE, TRUE);
-
- /*
- * If deleting a row with a depth > 1, then this may affect the
- * expansion/contraction of its parent(s). Make sure this is
- * handled.
- */
- if (gtk_tree_path_get_depth (path) > 1)
- {
- path_copy = gtk_tree_path_copy (path);
- gtk_tree_path_up (path_copy);
- set_expand_state (tree_view, tree_model, gailview, path_copy, TRUE);
- gtk_tree_path_free (path_copy);
- }
- row = get_row_from_tree_path (tree_view, path);
- /*
- * If the row which is deleted is not visible because it is a child of
- * a collapsed row then row will be -1
- */
- if (row > 0)
- g_signal_emit_by_name (atk_obj, "row_deleted", row,
- gailview->n_children_deleted + 1);
- gailview->n_children_deleted = 0;
-
- /* Generate children-changed signals */
- n_cols = get_n_actual_columns (tree_view);
- for (col = 0; col < n_cols; col++)
- {
- /*
- * Pass NULL as the child object, 4th argument.
- */
- g_signal_emit_by_name (atk_obj, "children_changed::remove",
- ((row * n_cols) + col), NULL, NULL);
- }
-}
-
-/*
- * This function gets called when a row is deleted or when rows are
- * removed from the view due to a collapse event. Note that the
- * count is the number of visible *children* of the deleted row,
- * so it does not include the row being deleted.
- *
- * As this function is called before the rows are removed we just note the
- * number of rows and then deal with it when we get a notification that
- * rows were deleted or collapsed.
- */
-static void
-destroy_count_func (GtkTreeView *tree_view,
- GtkTreePath *path,
- gint count,
- gpointer user_data)
-{
- AtkObject *atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
- GailTreeView *gailview = GAIL_TREE_VIEW (atk_obj);
-
- gail_return_if_fail (gailview->n_children_deleted == 0);
- gailview->n_children_deleted = count;
-}
-
-static void
-model_rows_reordered (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gint *new_order,
- gpointer user_data)
-{
- GtkTreeView *tree_view = (GtkTreeView *)user_data;
- AtkObject *atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
- GailTreeView *gailview = GAIL_TREE_VIEW (atk_obj);
-
- if (gailview->idle_expand_id)
- {
- g_source_remove (gailview->idle_expand_id);
- gtk_tree_path_free (gailview->idle_expand_path);
- gailview->idle_expand_id = 0;
- }
- traverse_cells (gailview, NULL, TRUE, FALSE);
-
- g_signal_emit_by_name (atk_obj, "row_reordered");
-}
-
-static void
-adjustment_changed (GtkAdjustment *adjustment,
- GtkTreeView *tree_view)
-{
- AtkObject *atk_obj;
- GailTreeView* obj;
-
- /*
- * The scrollbars have changed
- */
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
- obj = GAIL_TREE_VIEW (atk_obj);
-
- traverse_cells (obj, NULL, FALSE, FALSE);
-}
-
-static void
-set_cell_visibility (GtkTreeView *tree_view,
- GailCell *cell,
- GtkTreeViewColumn *tv_col,
- GtkTreePath *tree_path,
- gboolean emit_signal)
-{
- GdkRectangle cell_rect;
-
- /* Get these three values in tree coords */
- if (gtk_widget_get_realized (GTK_WIDGET (tree_view)))
- gtk_tree_view_get_cell_area (tree_view, tree_path, tv_col, &cell_rect);
- else
- cell_rect.height = 0;
-
- if (cell_rect.height > 0)
- {
- /*
- * The height will be zero for a cell for which an antecedent is not
- * expanded
- */
- gail_cell_add_state (cell, ATK_STATE_VISIBLE, emit_signal);
- if (is_cell_showing (tree_view, &cell_rect))
- gail_cell_add_state (cell, ATK_STATE_SHOWING, emit_signal);
- else
- gail_cell_remove_state (cell, ATK_STATE_SHOWING, emit_signal);
- }
- else
- {
- gail_cell_remove_state (cell, ATK_STATE_VISIBLE, emit_signal);
- gail_cell_remove_state (cell, ATK_STATE_SHOWING, emit_signal);
- }
-}
-
-static gboolean
-is_cell_showing (GtkTreeView *tree_view,
- GdkRectangle *cell_rect)
-{
- GdkRectangle rect, *visible_rect;
- GdkRectangle rect1, *tree_cell_rect;
- gint bx, by;
- gboolean is_showing;
- /*
- * A cell is considered "SHOWING" if any part of the cell is in the visible
- * area. Other ways we could do this is by a cell's midpoint or if the cell
- * is fully in the visible range. Since we have the cell_rect x,y,width,height
- * of the cell, any of these is easy to compute.
- *
- * It is assumed that cell's rectangle is in widget coordinates so we
- * must transform to tree cordinates.
- */
- visible_rect = ▭
- tree_cell_rect = &rect1;
- tree_cell_rect->x = cell_rect->x;
- tree_cell_rect->y = cell_rect->y;
- tree_cell_rect->width = cell_rect->width;
- tree_cell_rect->height = cell_rect->height;
-
- gtk_tree_view_get_visible_rect (tree_view, visible_rect);
- gtk_tree_view_convert_tree_to_bin_window_coords (tree_view, visible_rect->x,
- visible_rect->y, &bx, &by);
-
- if (((tree_cell_rect->x + tree_cell_rect->width) < bx) ||
- ((tree_cell_rect->y + tree_cell_rect->height) < by) ||
- (tree_cell_rect->x > (bx + visible_rect->width)) ||
- (tree_cell_rect->y > (by + visible_rect->height)))
- is_showing = FALSE;
- else
- is_showing = TRUE;
-
- return is_showing;
-}
-
-/* Misc Public */
-
-/*
- * This function is called when a cell's flyweight is created in
- * gail_tree_view_table_ref_at with emit_change_signal set to FALSE
- * and in model_row_changed() on receipt of "row-changed" signal when
- * emit_change_signal is set to TRUE
- */
-static gboolean
-update_cell_value (GailRendererCell *renderer_cell,
- GailTreeView *gailview,
- gboolean emit_change_signal)
-{
- GailTreeViewCellInfo *cell_info;
- GtkTreeView *tree_view;
- GtkTreeModel *tree_model;
- GtkTreePath *path;
- GtkTreeIter iter;
- GList *renderers, *cur_renderer;
- GParamSpec *spec;
- GailRendererCellClass *gail_renderer_cell_class;
- GtkCellRendererClass *gtk_cell_renderer_class;
- GailCell *cell;
- gchar **prop_list;
- AtkObject *parent;
- gboolean is_expander, is_expanded;
-
- gail_renderer_cell_class = GAIL_RENDERER_CELL_GET_CLASS (renderer_cell);
- if (renderer_cell->renderer)
- gtk_cell_renderer_class = GTK_CELL_RENDERER_GET_CLASS (renderer_cell->renderer);
- else
- gtk_cell_renderer_class = NULL;
-
- prop_list = gail_renderer_cell_class->property_list;
-
- cell = GAIL_CELL (renderer_cell);
- cell_info = find_cell_info (gailview, cell, NULL, TRUE);
- gail_return_val_if_fail (cell_info, FALSE);
- gail_return_val_if_fail (cell_info->cell_col_ref, FALSE);
- gail_return_val_if_fail (cell_info->cell_row_ref, FALSE);
-
- if (emit_change_signal && cell_info->in_use)
- {
- tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (gailview)));
- tree_model = gtk_tree_view_get_model (tree_view);
- path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
- if (path == NULL)
- return FALSE;
-
- gtk_tree_model_get_iter (tree_model, &iter, path);
- is_expander = FALSE;
- is_expanded = FALSE;
- if (gtk_tree_model_iter_has_child (tree_model, &iter))
- {
- GtkTreeViewColumn *expander_tv;
-
- expander_tv = gtk_tree_view_get_expander_column (tree_view);
- if (expander_tv == cell_info->cell_col_ref)
- {
- is_expander = TRUE;
- is_expanded = gtk_tree_view_row_expanded (tree_view, path);
- }
- }
- gtk_tree_path_free (path);
- gtk_tree_view_column_cell_set_cell_data (cell_info->cell_col_ref,
- tree_model, &iter, is_expander, is_expanded);
- }
- renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cell_info->cell_col_ref));
- gail_return_val_if_fail (renderers, FALSE);
-
- /*
- * If the cell is in a container, its index is used to find the renderer
- * in the list
- */
-
- /*
- * Otherwise, we assume that the cell is represented by the first renderer
- * in the list
- */
-
- if (cell_info->in_use) {
- parent = atk_object_get_parent (ATK_OBJECT (cell));
- if (!ATK_IS_OBJECT (cell)) g_on_error_query (NULL);
- if (GAIL_IS_CONTAINER_CELL (parent))
- cur_renderer = g_list_nth (renderers, cell->index);
- else
- cur_renderer = renderers;
- }
- else {
- return FALSE;
- }
-
- gail_return_val_if_fail (cur_renderer != NULL, FALSE);
-
- if (gtk_cell_renderer_class)
- {
- while (*prop_list)
- {
- spec = g_object_class_find_property
- (G_OBJECT_CLASS (gtk_cell_renderer_class), *prop_list);
-
- if (spec != NULL)
- {
- GValue value = { 0, };
-
- g_value_init (&value, spec->value_type);
- g_object_get_property (cur_renderer->data, *prop_list, &value);
- g_object_set_property (G_OBJECT (renderer_cell->renderer),
- *prop_list, &value);
- g_value_unset(&value);
- }
- else
- g_warning ("Invalid property: %s\n", *prop_list);
- prop_list++;
- }
- }
- g_list_free (renderers);
- return gail_renderer_cell_update_cache (renderer_cell, emit_change_signal);
-}
-
-static void
-set_iter_nth_row (GtkTreeView *tree_view,
- GtkTreeIter *iter,
- gint row)
-{
- GtkTreeModel *tree_model;
-
- tree_model = gtk_tree_view_get_model (tree_view);
- gtk_tree_model_get_iter_first (tree_model, iter);
- iter = return_iter_nth_row (tree_view, tree_model, iter, 0 , row);
-}
-
-static gint
-get_row_from_tree_path (GtkTreeView *tree_view,
- GtkTreePath *path)
-{
- GtkTreeModel *tree_model;
- GtkTreePath *root_tree;
- gint row;
-
- tree_model = gtk_tree_view_get_model (tree_view);
-
- if (gtk_tree_model_get_flags (tree_model) & GTK_TREE_MODEL_LIST_ONLY)
- row = gtk_tree_path_get_indices (path)[0];
- else
- {
- root_tree = gtk_tree_path_new_first ();
- row = 0;
- iterate_thru_children (tree_view, tree_model, root_tree, path, &row, 0);
- gtk_tree_path_free (root_tree);
- }
-
- return row;
-}
-
-/* Misc Private */
-
-/*
- * Get the specified GtkTreeViewColumn in the GtkTreeView.
- * Only visible columns are considered.
- */
-static GtkTreeViewColumn*
-get_column (GtkTreeView *tree_view,
- gint in_col)
-{
- GtkTreeViewColumn *tv_col;
- gint n_cols = -1;
- gint i = 0;
-
- if (in_col < 0)
- {
- g_warning ("Request for invalid column %d\n", in_col);
- return NULL;
- }
-
- tv_col = gtk_tree_view_get_column (tree_view, i);
-
- while (tv_col != NULL)
- {
- if (gtk_tree_view_column_get_visible (tv_col))
- n_cols++;
- if (in_col == n_cols)
- break;
- tv_col = gtk_tree_view_get_column (tree_view, ++i);
- }
-
- if (in_col != n_cols)
- {
- g_warning ("Request for invalid column %d\n", in_col);
- return NULL;
- }
- return tv_col;
-}
-
-static gint
-get_actual_column_number (GtkTreeView *tree_view,
- gint visible_column)
-{
- GtkTreeViewColumn *tv_col;
- gint actual_column = 0;
- gint visible_columns = -1;
- /*
- * This function calculates the column number which corresponds to the
- * specified visible column number
- */
- tv_col = gtk_tree_view_get_column (tree_view, actual_column);
-
- while (tv_col != NULL)
- {
- if (gtk_tree_view_column_get_visible (tv_col))
- visible_columns++;
- if (visible_columns == visible_column)
- return actual_column;
- tv_col = gtk_tree_view_get_column (tree_view, ++actual_column);
- }
- g_warning ("get_actual_column_number failed for %d\n", visible_column);
- return -1;
-}
-
-static gint
-get_visible_column_number (GtkTreeView *tree_view,
- gint actual_column)
-{
- GtkTreeViewColumn *tv_col;
- gint column = 0;
- gint visible_columns = -1;
- /*
- * This function calculates the visible column number which corresponds to the
- * specified actual column number
- */
- tv_col = gtk_tree_view_get_column (tree_view, column);
-
- while (tv_col != NULL)
- {
- if (gtk_tree_view_column_get_visible (tv_col))
- {
- visible_columns++;
- if (actual_column == column)
- return visible_columns;
- }
- else
- if (actual_column == column)
- return -1;
- tv_col = gtk_tree_view_get_column (tree_view, ++column);
- }
- g_warning ("get_visible_column_number failed for %d\n", actual_column);
- return -1;
-}
-
-/**
- * Helper recursive function that returns GtkTreeIter pointer to nth row.
- **/
-static GtkTreeIter*
-return_iter_nth_row(GtkTreeView *tree_view,
- GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- gint increment,
- gint row)
-{
- GtkTreePath *current_path = gtk_tree_model_get_path (tree_model, iter);
- GtkTreeIter new_iter;
- gboolean row_expanded;
-
- if (increment == row) {
- gtk_tree_path_free (current_path);
- return iter;
- }
-
- row_expanded = gtk_tree_view_row_expanded (tree_view, current_path);
- gtk_tree_path_free (current_path);
-
- new_iter = *iter;
- if ((row_expanded && gtk_tree_model_iter_children (tree_model, iter, &new_iter)) ||
- (gtk_tree_model_iter_next (tree_model, iter)) ||
- (gtk_tree_model_iter_parent (tree_model, iter, &new_iter) &&
- (gtk_tree_model_iter_next (tree_model, iter))))
- return return_iter_nth_row (tree_view, tree_model, iter,
- ++increment, row);
-
- return NULL;
-}
-
-/**
- * Recursively called until the row specified by orig is found.
- *
- * *count will be set to the visible row number of the child
- * relative to the row that was initially passed in as tree_path.
- *
- * *count will be -1 if orig is not found as a child (a row that is
- * not visible will not be found, e.g. if the row is inside a
- * collapsed row). If NULL is passed in as orig, *count will
- * be a count of the visible children.
- *
- * NOTE: the value for depth must be 0 when this recursive function
- * is initially called, or it may not function as expected.
- **/
-static void
-iterate_thru_children(GtkTreeView *tree_view,
- GtkTreeModel *tree_model,
- GtkTreePath *tree_path,
- GtkTreePath *orig,
- gint *count,
- gint depth)
-{
- GtkTreeIter iter;
-
- if (!gtk_tree_model_get_iter (tree_model, &iter, tree_path))
- return;
-
- if (tree_path && orig && !gtk_tree_path_compare (tree_path, orig))
- /* Found it! */
- return;
-
- if (tree_path && orig && gtk_tree_path_compare (tree_path, orig) > 0)
- {
- /* Past it, so return -1 */
- *count = -1;
- return;
- }
- else if (gtk_tree_view_row_expanded (tree_view, tree_path) &&
- gtk_tree_model_iter_has_child (tree_model, &iter))
- {
- (*count)++;
- gtk_tree_path_append_index (tree_path, 0);
- iterate_thru_children (tree_view, tree_model, tree_path,
- orig, count, (depth + 1));
- return;
- }
- else if (gtk_tree_model_iter_next (tree_model, &iter))
- {
- (*count)++;
- tree_path = gtk_tree_model_get_path (tree_model, &iter);
- if (tree_path)
- {
- iterate_thru_children (tree_view, tree_model, tree_path,
- orig, count, depth);
- gtk_tree_path_free (tree_path);
- }
- return;
- }
- else if (gtk_tree_path_up (tree_path))
- {
- GtkTreeIter temp_iter;
- gboolean exit_loop = FALSE;
- gint new_depth = depth - 1;
-
- (*count)++;
-
- /*
- * Make sure that we back up until we find a row
- * where gtk_tree_path_next does not return NULL.
- */
- while (!exit_loop)
- {
- if (gtk_tree_path_get_depth (tree_path) == 0)
- /* depth is now zero so */
- return;
- gtk_tree_path_next (tree_path);
-
- /* Verify that the next row is a valid row! */
- exit_loop = gtk_tree_model_get_iter (tree_model, &temp_iter, tree_path);
-
- if (!exit_loop)
- {
- /* Keep going up until we find a row that has a valid next */
- if (gtk_tree_path_get_depth(tree_path) > 1)
- {
- new_depth--;
- gtk_tree_path_up (tree_path);
- }
- else
- {
- /*
- * If depth is 1 and gtk_tree_model_get_iter returns FALSE,
- * then we are at the last row, so just return.
- */
- if (orig != NULL)
- *count = -1;
-
- return;
- }
- }
- }
-
- /*
- * This guarantees that we will stop when we hit the end of the
- * children.
- */
- if (new_depth < 0)
- return;
-
- iterate_thru_children (tree_view, tree_model, tree_path,
- orig, count, new_depth);
- return;
- }
-
- /*
- * If it gets here, then the path wasn't found. Situations
- * that would cause this would be if the path passed in is
- * invalid or contained within the last row, but not visible
- * because the last row is not expanded. If NULL was passed
- * in then a row count is desired, so only set count to -1
- * if orig is not NULL.
- */
- if (orig != NULL)
- *count = -1;
-
- return;
-}
-
-static void
-clean_cell_info (GailTreeView *gailview,
- GList *list)
-{
- GailTreeViewCellInfo *cell_info;
- GObject *obj;
-
- g_assert (GAIL_IS_TREE_VIEW (gailview));
-
- cell_info = list->data;
-
- if (cell_info->in_use) {
- obj = G_OBJECT (cell_info->cell);
-
- gail_cell_add_state (cell_info->cell, ATK_STATE_DEFUNCT, FALSE);
- g_object_weak_unref (obj, (GWeakNotify) cell_destroyed, cell_info);
- cell_info->in_use = FALSE;
- if (!gailview->garbage_collection_pending) {
- gailview->garbage_collection_pending = TRUE;
- g_assert (gailview->idle_garbage_collect_id == 0);
- gailview->idle_garbage_collect_id =
- gdk_threads_add_idle (idle_garbage_collect_cell_data, gailview);
- }
- }
-}
-
-static void
-clean_rows (GailTreeView *gailview)
-{
- GArray *array;
-
- /* Clean GailTreeViewRowInfo data */
-
- array = gailview->row_data;
- if (array != NULL)
- {
- GailTreeViewRowInfo *row_info;
- GtkTreePath *row_path;
- gint i;
-
- /*
- * Loop backwards so that calls to free_row_info
- * do not affect the index numbers
- */
- for (i = (array->len - 1); i >= 0; i --)
- {
- row_info = g_array_index (array, GailTreeViewRowInfo*, i);
- row_path = gtk_tree_row_reference_get_path (row_info->row_ref);
-
- /* Remove any rows that have become invalid */
- if (row_path == NULL)
- free_row_info (array, i, TRUE);
- else
- gtk_tree_path_free (row_path);
- }
- }
-
- /* Clean GailTreeViewCellInfo data */
-
- if (gailview->cell_data != NULL)
- {
- GailTreeViewCellInfo *cell_info;
- GtkTreePath *row_path;
- GList *cur_list;
- GList *temp_list;
-
- temp_list = gailview->cell_data;
-
- /* Must loop through them all */
- while (temp_list != NULL)
- {
- cur_list = temp_list;
- cell_info = temp_list->data;
- temp_list = temp_list->next;
- row_path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
-
- /*
- * If the cell has become invalid because the row has been removed,
- * then set the cell's state to ATK_STATE_DEFUNCT and remove the cell
- * from gailview->cell_data. If row_path is NULL then the row has
- * been removed.
- */
- if (row_path == NULL)
- {
- clean_cell_info (gailview, cur_list);
- }
- else
- {
- gtk_tree_path_free (row_path);
- }
- }
- }
-}
-
-static void
-clean_cols (GailTreeView *gailview,
- GtkTreeViewColumn *tv_col)
-{
- /* Clean GailTreeViewCellInfo data */
-
- if (gailview->cell_data != NULL)
- {
- GailTreeViewCellInfo *cell_info;
- GList *cur_list, *temp_list;
-
- temp_list = gailview->cell_data;
-
- while (temp_list != NULL)
- {
- cur_list = temp_list;
- cell_info = temp_list->data;
- temp_list = temp_list->next;
-
- /*
- * If the cell has become invalid because the column tv_col
- * has been removed, then set the cell's state to ATK_STATE_DEFUNCT
- * and remove the cell from gailview->cell_data.
- */
- if (cell_info->cell_col_ref == tv_col)
- {
- clean_cell_info (gailview, cur_list);
- }
- }
- }
-}
-
-static gboolean
-idle_garbage_collect_cell_data (gpointer data)
-{
- GailTreeView *tree_view;
-
- g_assert (GAIL_IS_TREE_VIEW (data));
- tree_view = (GailTreeView *)data;
-
- /* this is the idle handler (only one instance allowed), so
- * we can safely delete it.
- */
- tree_view->garbage_collection_pending = FALSE;
- tree_view->idle_garbage_collect_id = 0;
-
- tree_view->garbage_collection_pending = garbage_collect_cell_data (data);
-
- /* N.B.: if for some reason another handler has re-enterantly been queued
- * while this handler was being serviced, it has its own gsource, therefore this handler
- * should always return FALSE.
- */
- return FALSE;
-}
-
-static gboolean
-garbage_collect_cell_data (gpointer data)
-{
- GailTreeView *tree_view;
- GList *temp_list, *list;
- GailTreeViewCellInfo *cell_info;
-
- g_assert (GAIL_IS_TREE_VIEW (data));
- tree_view = (GailTreeView *)data;
- list = g_list_copy (tree_view->cell_data);
-
- tree_view->garbage_collection_pending = FALSE;
- if (tree_view->idle_garbage_collect_id != 0)
- {
- g_source_remove (tree_view->idle_garbage_collect_id);
- tree_view->idle_garbage_collect_id = 0;
- }
-
- /* Must loop through them all */
- temp_list = list;
- while (temp_list != NULL)
- {
- cell_info = temp_list->data;
- if (!cell_info->in_use)
- {
- /* g_object_unref (cell_info->cell); */
- tree_view->cell_data = g_list_remove (tree_view->cell_data,
- cell_info);
- if (cell_info->cell_row_ref)
- gtk_tree_row_reference_free (cell_info->cell_row_ref);
- g_free (cell_info);
- }
- temp_list = temp_list->next;
- }
- g_list_free (list);
-
- return tree_view->garbage_collection_pending;
-}
-
-/**
- * If tree_path is passed in as NULL, then all cells are acted on.
- * Otherwise, just act on those cells that are on a row greater than
- * the specified tree_path. If inc_row is passed in as TRUE, then rows
- * greater and equal to the specified tree_path are acted on.
- *
- * if set_stale is set the ATK_STATE_STALE is set on cells which are to be
- * acted on.
- *
- * The function set_cell_visibility() is called on all cells to be
- * acted on to update the visibility of the cell.
- **/
-static void
-traverse_cells (GailTreeView *tree_view,
- GtkTreePath *tree_path,
- gboolean set_stale,
- gboolean inc_row)
-{
- if (tree_view->cell_data != NULL)
- {
- GailTreeViewCellInfo *cell_info;
- GtkTreeView *gtk_tree_view;
- GList *temp_list;
- GtkWidget *widget;
-
- g_assert (GTK_IS_ACCESSIBLE (tree_view));
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (tree_view));
- if (!widget)
- /* Widget is being deleted */
- return;
-
- gtk_tree_view = GTK_TREE_VIEW (widget);
- temp_list = tree_view->cell_data;
-
- /* Must loop through them all */
- while (temp_list != NULL)
- {
- GtkTreePath *row_path;
- gboolean act_on_cell;
-
- cell_info = temp_list->data;
- temp_list = temp_list->next;
-
- if (cell_info->in_use)
- {
- row_path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
- g_return_if_fail (row_path != NULL);
- if (tree_path == NULL)
- act_on_cell = TRUE;
- else
- {
- gint comparison;
-
- comparison = gtk_tree_path_compare (row_path, tree_path);
- if ((comparison > 0) ||
- (comparison == 0 && inc_row))
- act_on_cell = TRUE;
- else
- act_on_cell = FALSE;
- }
- if (!cell_info->in_use) g_warning ("warning: cell info destroyed during traversal");
- if (act_on_cell && cell_info->in_use)
- {
- if (set_stale)
- gail_cell_add_state (cell_info->cell, ATK_STATE_STALE, TRUE);
- set_cell_visibility (gtk_tree_view,
- cell_info->cell,
- cell_info->cell_col_ref,
- row_path, TRUE);
- }
- gtk_tree_path_free (row_path);
- }
- }
- }
- g_signal_emit_by_name (tree_view, "visible-data-changed");
-}
-
-static void
-free_row_info (GArray *array,
- gint array_idx,
- gboolean shift)
-{
- GailTreeViewRowInfo* obj;
-
- obj = g_array_index (array, GailTreeViewRowInfo*, array_idx);
-
- g_free (obj->description);
- if (obj->row_ref != NULL)
- gtk_tree_row_reference_free (obj->row_ref);
- if (obj->header)
- g_object_unref (obj->header);
- g_free (obj);
-
- if (shift)
- g_array_remove_index (array, array_idx);
-}
-
-/*
- * If the tree_path passed in has children, then
- * ATK_STATE_EXPANDABLE is set. If the row is expanded
- * ATK_STATE_EXPANDED is turned on. If the row is
- * collapsed, then ATK_STATE_EXPANDED is removed.
- *
- * If the tree_path passed in has no children, then
- * ATK_STATE_EXPANDABLE and ATK_STATE_EXPANDED are removed.
- *
- * If set_on_ancestor is TRUE, then this function will also
- * update all cells that are ancestors of the tree_path.
- */
-static void
-set_expand_state (GtkTreeView *tree_view,
- GtkTreeModel *tree_model,
- GailTreeView *gailview,
- GtkTreePath *tree_path,
- gboolean set_on_ancestor)
-{
- if (gailview->cell_data != NULL)
- {
- GtkTreeViewColumn *expander_tv;
- GailTreeViewCellInfo *cell_info;
- GList *temp_list;
- GtkTreePath *cell_path;
- GtkTreeIter iter;
- gboolean found;
-
- temp_list = gailview->cell_data;
-
- while (temp_list != NULL)
- {
- cell_info = temp_list->data;
- temp_list = temp_list->next;
- if (cell_info->in_use)
- {
- cell_path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
- found = FALSE;
-
- if (cell_path != NULL)
- {
- GailCell *cell = GAIL_CELL (cell_info->cell);
-
- expander_tv = gtk_tree_view_get_expander_column (tree_view);
-
- /*
- * Only set state for the cell that is in the column with the
- * expander toggle
- */
- if (expander_tv == cell_info->cell_col_ref)
- {
- if (tree_path && gtk_tree_path_compare (cell_path, tree_path) == 0)
- found = TRUE;
- else if (set_on_ancestor &&
- gtk_tree_path_get_depth (cell_path) <
- gtk_tree_path_get_depth (tree_path) &&
- gtk_tree_path_is_ancestor (cell_path, tree_path) == 1)
- /* Only set if set_on_ancestor was passed in as TRUE */
- found = TRUE;
- }
-
- /*
- * Set ATK_STATE_EXPANDABLE and ATK_STATE_EXPANDED
- * for ancestors and found cells.
- */
- if (found)
- {
- /*
- * Must check against cell_path since cell_path
- * can be equal to or an ancestor of tree_path.
- */
- gtk_tree_model_get_iter (tree_model, &iter, cell_path);
-
- /* Set or unset ATK_STATE_EXPANDABLE as appropriate */
- if (gtk_tree_model_iter_has_child (tree_model, &iter))
- {
- set_cell_expandable (cell);
-
- if (gtk_tree_view_row_expanded (tree_view, cell_path))
- gail_cell_add_state (cell, ATK_STATE_EXPANDED, TRUE);
- else
- gail_cell_remove_state (cell,
- ATK_STATE_EXPANDED, TRUE);
- }
- else
- {
- gail_cell_remove_state (cell,
- ATK_STATE_EXPANDED, TRUE);
- if (gail_cell_remove_state (cell,
- ATK_STATE_EXPANDABLE, TRUE))
- /* The state may have been propagated to the container cell */
- if (!GAIL_IS_CONTAINER_CELL (cell))
- gail_cell_remove_action_by_name (cell,
- "expand or contract");
- }
-
- /*
- * We assume that each cell in the cache once and
- * a container cell is before its child cells so we are
- * finished if set_on_ancestor is not set to TRUE.
- */
- if (!set_on_ancestor)
- break;
- }
- }
- gtk_tree_path_free (cell_path);
- }
- }
- }
-}
-
-
-static void
-add_cell_actions (GailCell *cell,
- gboolean editable)
-{
- if (GAIL_IS_BOOLEAN_CELL (cell))
- gail_cell_add_action (cell,
- "toggle",
- "toggles the cell", /* action description */
- NULL,
- toggle_cell_toggled);
- if (editable)
- gail_cell_add_action (cell,
- "edit",
- "creates a widget in which the contents of the cell can be edited",
- NULL,
- edit_cell);
- gail_cell_add_action (cell,
- "activate",
- "activate the cell",
- NULL,
- activate_cell);
-}
-
-static void
-toggle_cell_expanded (GailCell *cell)
-{
- GailTreeViewCellInfo *cell_info;
- GtkTreeView *tree_view;
- GtkTreePath *path;
- AtkObject *parent;
- AtkStateSet *stateset;
-
- parent = atk_object_get_parent (ATK_OBJECT (cell));
- if (GAIL_IS_CONTAINER_CELL (parent))
- parent = atk_object_get_parent (parent);
-
- cell_info = find_cell_info (GAIL_TREE_VIEW (parent), cell, NULL, TRUE);
- gail_return_if_fail (cell_info);
- gail_return_if_fail (cell_info->cell_col_ref);
- gail_return_if_fail (cell_info->cell_row_ref);
-
- tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
- path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
- gail_return_if_fail (path);
-
- stateset = atk_object_ref_state_set (ATK_OBJECT (cell));
- if (atk_state_set_contains_state (stateset, ATK_STATE_EXPANDED))
- gtk_tree_view_collapse_row (tree_view, path);
- else
- gtk_tree_view_expand_row (tree_view, path, TRUE);
- g_object_unref (stateset);
- gtk_tree_path_free (path);
- return;
-}
-
-static void
-toggle_cell_toggled (GailCell *cell)
-{
- GailTreeViewCellInfo *cell_info;
- GtkTreePath *path;
- gchar *pathstring;
- GList *renderers, *cur_renderer;
- AtkObject *parent;
- gboolean is_container_cell = FALSE;
-
- parent = atk_object_get_parent (ATK_OBJECT (cell));
- if (GAIL_IS_CONTAINER_CELL (parent))
- {
- is_container_cell = TRUE;
- parent = atk_object_get_parent (parent);
- }
-
- cell_info = find_cell_info (GAIL_TREE_VIEW (parent), cell, NULL, TRUE);
- gail_return_if_fail (cell_info);
- gail_return_if_fail (cell_info->cell_col_ref);
- gail_return_if_fail (cell_info->cell_row_ref);
-
- path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
- gail_return_if_fail (path);
- pathstring = gtk_tree_path_to_string (path);
-
- renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cell_info->cell_col_ref));
- gail_return_if_fail (renderers);
-
- /*
- * if the cell is in a container, its index is used to find the
- * renderer in the list
- */
-
- if (is_container_cell)
- cur_renderer = g_list_nth (renderers, cell->index);
- else
- /*
- * Otherwise, we assume that the cell is represented by the first
- * renderer in the list
- */
- cur_renderer = renderers;
-
- gail_return_if_fail (cur_renderer);
-
- g_signal_emit_by_name (cur_renderer->data, "toggled", pathstring);
- g_list_free (renderers);
- g_free (pathstring);
- gtk_tree_path_free (path);
- return;
-}
-
-static void
-edit_cell (GailCell *cell)
-{
- GailTreeViewCellInfo *cell_info;
- GtkTreeView *tree_view;
- GtkTreePath *path;
- AtkObject *parent;
-
- editing = TRUE;
- parent = atk_object_get_parent (ATK_OBJECT (cell));
- if (GAIL_IS_CONTAINER_CELL (parent))
- parent = atk_object_get_parent (parent);
-
- cell_info = find_cell_info (GAIL_TREE_VIEW (parent), cell, NULL, TRUE);
- gail_return_if_fail (cell_info);
- gail_return_if_fail (cell_info->cell_col_ref);
- gail_return_if_fail (cell_info->cell_row_ref);
-
- tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
- path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
- gail_return_if_fail (path);
- gtk_tree_view_set_cursor (tree_view, path, cell_info->cell_col_ref, TRUE);
- gtk_tree_path_free (path);
- return;
-}
-
-static void
-activate_cell (GailCell *cell)
-{
- GailTreeViewCellInfo *cell_info;
- GtkTreeView *tree_view;
- GtkTreePath *path;
- AtkObject *parent;
-
- editing = TRUE;
- parent = atk_object_get_parent (ATK_OBJECT (cell));
- if (GAIL_IS_CONTAINER_CELL (parent))
- parent = atk_object_get_parent (parent);
-
- cell_info = find_cell_info (GAIL_TREE_VIEW (parent), cell, NULL, TRUE);
- gail_return_if_fail (cell_info);
- gail_return_if_fail (cell_info->cell_col_ref);
- gail_return_if_fail (cell_info->cell_row_ref);
-
- tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
- path = gtk_tree_row_reference_get_path (cell_info->cell_row_ref);
- gail_return_if_fail (path);
- gtk_tree_view_row_activated (tree_view, path, cell_info->cell_col_ref);
- gtk_tree_path_free (path);
- return;
-}
-
-static void
-cell_destroyed (gpointer data)
-{
- GailTreeViewCellInfo *cell_info = data;
-
- gail_return_if_fail (cell_info);
- if (cell_info->in_use) {
- cell_info->in_use = FALSE;
-
- g_assert (GAIL_IS_TREE_VIEW (cell_info->view));
- if (!cell_info->view->garbage_collection_pending) {
- cell_info->view->garbage_collection_pending = TRUE;
- cell_info->view->idle_garbage_collect_id =
- gdk_threads_add_idle (idle_garbage_collect_cell_data, cell_info->view);
- }
- }
-}
-
-#if 0
-static void
-cell_info_remove (GailTreeView *tree_view,
- GailCell *cell)
-{
- GailTreeViewCellInfo *info;
- GList *temp_list;
-
- info = find_cell_info (tree_view, cell, &temp_list, FALSE);
- if (info)
- {
- info->in_use = FALSE;
- return;
- }
- g_warning ("No cell removed in cell_info_remove\n");
-}
-#endif
-
-static void
-cell_info_get_index (GtkTreeView *tree_view,
- GailTreeViewCellInfo *info,
- gint *index)
-{
- GtkTreePath *path;
- gint column_number;
-
- path = gtk_tree_row_reference_get_path (info->cell_row_ref);
- gail_return_if_fail (path);
-
- column_number = get_column_number (tree_view, info->cell_col_ref, FALSE);
- *index = get_index (tree_view, path, column_number);
- gtk_tree_path_free (path);
-}
-
-static void
-cell_info_new (GailTreeView *gailview,
- GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeViewColumn *tv_col,
- GailCell *cell )
-{
- GailTreeViewCellInfo *cell_info;
-
- g_assert (GAIL_IS_TREE_VIEW (gailview));
-
- cell_info = g_new (GailTreeViewCellInfo, 1);
- cell_info->cell_row_ref = gtk_tree_row_reference_new (tree_model, path);
-
- cell_info->cell_col_ref = tv_col;
- cell_info->cell = cell;
- cell_info->in_use = TRUE; /* if we've created it, assume it's in use */
- cell_info->view = gailview;
- gailview->cell_data = g_list_append (gailview->cell_data, cell_info);
-
- /* Setup weak reference notification */
-
- g_object_weak_ref (G_OBJECT (cell),
- (GWeakNotify) cell_destroyed,
- cell_info);
-}
-
-static GailCell*
-find_cell (GailTreeView *gailview,
- gint index)
-{
- GailTreeViewCellInfo *info;
- GtkTreeView *tree_view;
- GList *cell_list;
- GList *l;
- gint real_index;
- gboolean needs_cleaning = FALSE;
- GailCell *retval = NULL;
-
- tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (gailview)));
- cell_list = gailview->cell_data;
-
- for (l = cell_list; l; l = l->next)
- {
- info = (GailTreeViewCellInfo *) (l->data);
- if (info->in_use)
- {
- cell_info_get_index (tree_view, info, &real_index);
- if (index == real_index)
- {
- retval = info->cell;
- break;
- }
- }
- else
- {
- needs_cleaning = TRUE;
- }
- }
- if (needs_cleaning)
- garbage_collect_cell_data (gailview);
-
- return retval;
-}
-
-static void
-refresh_cell_index (GailCell *cell)
-{
- GailTreeViewCellInfo *info;
- AtkObject *parent;
- GtkTreeView *tree_view;
- gint index;
-
- parent = atk_object_get_parent (ATK_OBJECT (cell));
- gail_return_if_fail (GAIL_IS_TREE_VIEW (parent));
-
- tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (parent)));
-
- /* Find this cell in the GailTreeView's cache */
-
- info = find_cell_info (GAIL_TREE_VIEW (parent), cell, NULL, TRUE);
- gail_return_if_fail (info);
-
- cell_info_get_index (tree_view, info, &index);
- cell->index = index;
-}
-
-static void
-get_selected_rows (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer data)
-{
- GPtrArray *array = (GPtrArray *)data;
-
- g_ptr_array_add (array, gtk_tree_path_copy (path));
-}
-
-static void
-connect_model_signals (GtkTreeView *view,
- GailTreeView *gailview)
-{
- GObject *obj;
-
- obj = G_OBJECT (gailview->tree_model);
- g_signal_connect_data (obj, "row-changed",
- (GCallback) model_row_changed, view, NULL, 0);
- g_signal_connect_data (obj, "row-inserted",
- (GCallback) model_row_inserted, view, NULL,
- G_CONNECT_AFTER);
- g_signal_connect_data (obj, "row-deleted",
- (GCallback) model_row_deleted, view, NULL,
- G_CONNECT_AFTER);
- g_signal_connect_data (obj, "rows-reordered",
- (GCallback) model_rows_reordered, view, NULL,
- G_CONNECT_AFTER);
-}
-
-static void
-disconnect_model_signals (GailTreeView *view)
-{
- GObject *obj;
- GtkWidget *widget;
-
- obj = G_OBJECT (view->tree_model);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (view));
- g_signal_handlers_disconnect_by_func (obj, (gpointer) model_row_changed, widget);
- g_signal_handlers_disconnect_by_func (obj, (gpointer) model_row_inserted, widget);
- g_signal_handlers_disconnect_by_func (obj, (gpointer) model_row_deleted, widget);
- g_signal_handlers_disconnect_by_func (obj, (gpointer) model_rows_reordered, widget);
-}
-
-static void
-clear_cached_data (GailTreeView *view)
-{
- GList *temp_list;
-
- if (view->row_data)
- {
- GArray *array = view->row_data;
- gint i;
-
- /*
- * Since the third argument to free_row_info is FALSE, we don't remove
- * the element. Therefore it is safe to loop forward.
- */
- for (i = 0; i < array->len; i++)
- free_row_info (array, i, FALSE);
-
- g_array_free (array, TRUE);
-
- view->row_data = NULL;
- }
-
- if (view->cell_data)
- {
- /* Must loop through them all */
- for (temp_list = view->cell_data; temp_list; temp_list = temp_list->next)
- {
- clean_cell_info (view, temp_list);
- }
- }
- garbage_collect_cell_data (view);
- if (view->cell_data)
- g_list_free (view->cell_data);
-
- view->cell_data = NULL;
-}
-
-/*
- * Returns the column number of the specified GtkTreeViewColumn
- *
- * If visible is set, the value returned will be the visible column number,
- * i.e. suitable for use in AtkTable function. If visible is not set, the
- * value returned is the actual column number, which is suitable for use in
- * getting an index value.
- */
-static gint
-get_column_number (GtkTreeView *tree_view,
- GtkTreeViewColumn *column,
- gboolean visible)
-{
- GList *temp_list, *column_list;
- GtkTreeViewColumn *tv_column;
- gint ret_val;
-
- column_list = gtk_tree_view_get_columns (tree_view);
- ret_val = 0;
- for (temp_list = column_list; temp_list; temp_list = temp_list->next)
- {
- tv_column = GTK_TREE_VIEW_COLUMN (temp_list->data);
- if (tv_column == column)
- break;
- if (!visible || gtk_tree_view_column_get_visible (tv_column))
- ret_val++;
- }
- if (temp_list == NULL)
- {
- ret_val = -1;
- }
- g_list_free (column_list);
- return ret_val;
-}
-
-static gint
-get_index (GtkTreeView *tree_view,
- GtkTreePath *path,
- gint actual_column)
-{
- gint depth = 0;
- gint index = 1;
- gint *indices = NULL;
-
-
- if (path)
- {
- depth = gtk_tree_path_get_depth (path);
- indices = gtk_tree_path_get_indices (path);
- }
-
- if (depth > 1)
- {
- GtkTreePath *copy_path;
- GtkTreeModel *model;
-
- model = gtk_tree_view_get_model (tree_view);
- copy_path = gtk_tree_path_copy (path);
- gtk_tree_path_up (copy_path);
- count_rows (model, NULL, copy_path, &index, 0, depth);
- gtk_tree_path_free (copy_path);
- }
-
- if (path)
- index += indices[depth-1];
- index *= get_n_actual_columns (tree_view);
- index += actual_column;
- return index;
-}
-
-/*
- * The function count_rows counts the number of rows starting at iter and ending
- * at end_path. The value of level is the depth of iter and the value of depth
- * is the depth of end_path. Rows at depth before end_path are counted.
- * This functions counts rows which are not visible because an ancestor is
- * collapsed.
- */
-static void
-count_rows (GtkTreeModel *model,
- GtkTreeIter *iter,
- GtkTreePath *end_path,
- gint *count,
- gint level,
- gint depth)
-{
- GtkTreeIter child_iter;
-
- if (!model) return;
-
- level++;
-
- *count += gtk_tree_model_iter_n_children (model, iter);
-
-#if 0
- g_print ("count_rows : %d level: %d depth: %d\n", *count, level, depth);
- if (iter != NULL)
- g_print ("path: %s\n",
- gtk_tree_path_to_string (gtk_tree_model_get_path (model, iter)));
-#endif
-
- if (level >= depth)
- return;
-
- if (gtk_tree_model_iter_children (model, &child_iter, iter))
- {
- gboolean ret_val = TRUE;
-
- while (ret_val)
- {
- if (level == depth - 1)
- {
- GtkTreePath *iter_path;
- gboolean finished = FALSE;
-
- iter_path = gtk_tree_model_get_path (model, &child_iter);
- if (end_path && gtk_tree_path_compare (iter_path, end_path) >= 0)
- finished = TRUE;
- gtk_tree_path_free (iter_path);
- if (finished)
- break;
- }
- if (gtk_tree_model_iter_has_child (model, &child_iter))
- count_rows (model, &child_iter, end_path, count, level, depth);
- ret_val = gtk_tree_model_iter_next (model, &child_iter);
- }
- }
-}
-
-/*
- * Find the next node, which has children, at the specified depth below
- * the specified iter. The level is the depth of the current iter.
- * The position of the node is returned in path and the return value of TRUE
- * means that a node was found.
- */
-
-gboolean get_next_node_with_child_at_depth (GtkTreeModel *model,
- GtkTreeIter *iter,
- GtkTreePath **path,
- gint level,
- gint depth)
-{
- GtkTreeIter child_iter;
-
- *path = NULL;
-
- if (gtk_tree_model_iter_children (model, &child_iter, iter))
- {
- level++;
-
- while (TRUE)
- {
- while (!gtk_tree_model_iter_has_child (model, &child_iter))
- {
- if (!gtk_tree_model_iter_next (model, &child_iter))
- return FALSE;
- }
-
- if (level == depth)
- /* We have found what we were looking for */
- {
- *path = gtk_tree_model_get_path (model, &child_iter);
- return TRUE;
- }
-
- if (get_next_node_with_child_at_depth (model, &child_iter, path,
- level, depth))
- return TRUE;
-
- if (!gtk_tree_model_iter_next (model, &child_iter))
- return FALSE;
- }
- }
- return FALSE;
-}
-
-/*
- * Find the next node, which has children, at the same depth as
- * the specified GtkTreePath.
- */
-static gboolean
-get_next_node_with_child (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreePath **return_path)
-{
- GtkTreeIter iter;
- gint depth;
-
- gtk_tree_model_get_iter (model, &iter, path);
-
- while (gtk_tree_model_iter_next (model, &iter))
- {
- if (gtk_tree_model_iter_has_child (model, &iter))
- {
- *return_path = gtk_tree_model_get_path (model, &iter);
- return TRUE;
- }
- }
- depth = gtk_tree_path_get_depth (path);
- while (gtk_tree_path_up (path))
- {
- if (gtk_tree_path_get_depth (path) == 0)
- break;
-
- gtk_tree_model_get_iter (model, &iter, path);
- while (gtk_tree_model_iter_next (model, &iter))
- if (get_next_node_with_child_at_depth (model, &iter, return_path,
- gtk_tree_path_get_depth (path), depth))
- return TRUE;
- }
- *return_path = NULL;
- return FALSE;
-}
-
-static gboolean
-get_tree_path_from_row_index (GtkTreeModel *model,
- gint row_index,
- GtkTreePath **tree_path)
-{
- GtkTreeIter iter;
- gint count;
- gint depth;
-
- count = gtk_tree_model_iter_n_children (model, NULL);
- if (count > row_index)
- {
- if (gtk_tree_model_iter_nth_child (model, &iter, NULL, row_index))
- {
- *tree_path = gtk_tree_model_get_path (model, &iter);
- return TRUE;
- }
- else
- return FALSE;
- }
- else
- row_index -= count;
-
- depth = 0;
- while (TRUE)
- {
- depth++;
-
- if (get_next_node_with_child_at_depth (model, NULL, tree_path, 0, depth))
- {
- GtkTreePath *next_path;
-
- while (TRUE)
- {
- gtk_tree_model_get_iter (model, &iter, *tree_path);
- count = gtk_tree_model_iter_n_children (model, &iter);
- if (count > row_index)
- {
- gtk_tree_path_append_index (*tree_path, row_index);
- return TRUE;
- }
- else
- row_index -= count;
-
- if (!get_next_node_with_child (model, *tree_path, &next_path))
- break;
-
- gtk_tree_path_free (*tree_path);
- *tree_path = next_path;
- }
- }
- else
- {
- g_warning ("Index value is too large\n");
- gtk_tree_path_free (*tree_path);
- *tree_path = NULL;
- return FALSE;
- }
- }
-}
-
-/*
- * This function returns the number of rows, including those which are collapsed
- */
-static gint
-get_row_count (GtkTreeModel *model)
-{
- gint n_rows = 1;
-
- count_rows (model, NULL, NULL, &n_rows, 0, G_MAXINT);
-
- return n_rows;
-}
-
-static gboolean
-get_path_column_from_index (GtkTreeView *tree_view,
- gint index,
- GtkTreePath **path,
- GtkTreeViewColumn **column)
-{
- GtkTreeModel *tree_model;
- gint n_columns;
-
- tree_model = gtk_tree_view_get_model (tree_view);
- n_columns = get_n_actual_columns (tree_view);
- if (n_columns == 0)
- return FALSE;
- /* First row is the column headers */
- index -= n_columns;
- if (index < 0)
- return FALSE;
-
- if (path)
- {
- gint row_index;
- gboolean retval;
-
- row_index = index / n_columns;
- retval = get_tree_path_from_row_index (tree_model, row_index, path);
- gail_return_val_if_fail (retval, FALSE);
- if (*path == NULL)
- return FALSE;
- }
-
- if (column)
- {
- *column = gtk_tree_view_get_column (tree_view, index % n_columns);
- if (*column == NULL)
- {
- if (path)
- gtk_tree_path_free (*path);
- return FALSE;
- }
- }
- return TRUE;
-}
-
-static void
-set_cell_expandable (GailCell *cell)
-{
- if (gail_cell_add_state (cell,
- ATK_STATE_EXPANDABLE,
- FALSE))
- gail_cell_add_action (cell,
- "expand or contract", /* action name */
- "expands or contracts the row in the tree view "
- "containing this cell", /* description */
- NULL, /* Keybinding */
- toggle_cell_expanded);
-}
-
-static GailTreeViewCellInfo*
-find_cell_info (GailTreeView *view,
- GailCell *cell,
- GList** list,
- gboolean live_only)
-{
- GList *temp_list;
- GailTreeViewCellInfo *cell_info;
-
- for (temp_list = view->cell_data; temp_list; temp_list = temp_list->next)
- {
- cell_info = (GailTreeViewCellInfo *) temp_list->data;
- if (cell_info->cell == cell && (!live_only || cell_info->in_use))
- {
- if (list)
- *list = temp_list;
- return cell_info;
- }
- }
- return NULL;
-}
-
-static AtkObject *
-get_header_from_column (GtkTreeViewColumn *tv_col)
-{
- AtkObject *rc;
- GtkWidget *header_widget;
-
- if (tv_col == NULL)
- return NULL;
-
- /* If the user has set a header object, use that */
-
- rc = g_object_get_qdata (G_OBJECT (tv_col), quark_column_header_object);
-
- if (rc == NULL)
- {
- /* If the user has not set a header object, grab the column */
- /* header object defined by the GtkTreeView */
-
- header_widget = gtk_tree_view_column_get_button (tv_col);
-
- if (header_widget)
- {
- rc = gtk_widget_get_accessible (header_widget);
- }
- else
- rc = NULL;
- }
- return rc;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_TREE_VIEW_H__
-#define __GAIL_TREE_VIEW_H__
-
-#include <gtk/gtk.h>
-#include <gail/gailcontainer.h>
-#include <gail/gailcell.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_TREE_VIEW (gail_tree_view_get_type ())
-#define GAIL_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_TREE_VIEW, GailTreeView))
-#define GAIL_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_TREE_VIEW, GailTreeViewClass))
-#define GAIL_IS_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_TREE_VIEW))
-#define GAIL_IS_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_TREE_VIEW))
-#define GAIL_TREE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_TREE_VIEW, GailTreeViewClass))
-
-typedef struct _GailTreeView GailTreeView;
-typedef struct _GailTreeViewClass GailTreeViewClass;
-
-struct _GailTreeView
-{
- GailContainer parent;
-
- AtkObject* caption;
- AtkObject* summary;
- gint n_children_deleted;
- GArray* col_data;
- GArray* row_data;
- GList* cell_data;
- GtkTreeModel *tree_model;
- AtkObject *focus_cell;
- GtkAdjustment *old_hadj;
- GtkAdjustment *old_vadj;
- guint idle_expand_id;
- guint idle_garbage_collect_id;
- guint idle_cursor_changed_id;
- GtkTreePath *idle_expand_path;
- gboolean garbage_collection_pending;
-};
-
-GType gail_tree_view_get_type (void);
-
-struct _GailTreeViewClass
-{
- GailContainerClass parent_class;
-};
-
-AtkObject* gail_tree_view_ref_focus_cell (GtkTreeView *treeview);
-
-G_END_DECLS
-
-#endif /* __GAIL_TREE_VIEW_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-
-#include <gtk/gtk.h>
-#ifdef GDK_WINDOWING_X11
-#include <gdk/x11/gdkx.h>
-#endif
-#include "gailwidget.h"
-#include "gailnotebookpage.h"
-#include "gail-private-macros.h"
-
-extern GtkWidget *focus_widget;
-
-static void gail_widget_class_init (GailWidgetClass *klass);
-static void gail_widget_init (GailWidget *accessible);
-static void gail_widget_connect_widget_destroyed (GtkAccessible *accessible);
-static void gail_widget_destroyed (GtkWidget *widget,
- GtkAccessible *accessible);
-
-static const gchar* gail_widget_get_description (AtkObject *accessible);
-static AtkObject* gail_widget_get_parent (AtkObject *accessible);
-static AtkStateSet* gail_widget_ref_state_set (AtkObject *accessible);
-static AtkRelationSet* gail_widget_ref_relation_set (AtkObject *accessible);
-static gint gail_widget_get_index_in_parent (AtkObject *accessible);
-
-static void atk_component_interface_init (AtkComponentIface *iface);
-
-static guint gail_widget_add_focus_handler
- (AtkComponent *component,
- AtkFocusHandler handler);
-
-static void gail_widget_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type);
-
-static void gail_widget_get_size (AtkComponent *component,
- gint *width,
- gint *height);
-
-static AtkLayer gail_widget_get_layer (AtkComponent *component);
-
-static gboolean gail_widget_grab_focus (AtkComponent *component);
-
-
-static void gail_widget_remove_focus_handler
- (AtkComponent *component,
- guint handler_id);
-
-static gboolean gail_widget_set_extents (AtkComponent *component,
- gint x,
- gint y,
- gint width,
- gint height,
- AtkCoordType coord_type);
-
-static gboolean gail_widget_set_position (AtkComponent *component,
- gint x,
- gint y,
- AtkCoordType coord_type);
-
-static gboolean gail_widget_set_size (AtkComponent *component,
- gint width,
- gint height);
-
-static gint gail_widget_map_gtk (GtkWidget *widget);
-static void gail_widget_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-static void gail_widget_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-static gboolean gail_widget_focus_gtk (GtkWidget *widget,
- GdkEventFocus *event);
-static gboolean gail_widget_real_focus_gtk (GtkWidget *widget,
- GdkEventFocus *event);
-static void gail_widget_size_allocate_gtk (GtkWidget *widget,
- GtkAllocation *allocation);
-
-static void gail_widget_focus_event (AtkObject *obj,
- gboolean focus_in);
-
-static void gail_widget_real_initialize (AtkObject *obj,
- gpointer data);
-static AtkAttributeSet *gail_widget_get_attributes(AtkObject *obj);
-static GtkWidget* gail_widget_find_viewport (GtkWidget *widget);
-static gboolean gail_widget_on_screen (GtkWidget *widget);
-static gboolean gail_widget_all_parents_visible(GtkWidget *widget);
-
-G_DEFINE_TYPE_WITH_CODE (GailWidget, gail_widget, GTK_TYPE_ACCESSIBLE,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
-
-static void
-gail_widget_class_init (GailWidgetClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
- GtkAccessibleClass *accessible_class = GTK_ACCESSIBLE_CLASS (klass);
-
- klass->notify_gtk = gail_widget_real_notify_gtk;
- klass->focus_gtk = gail_widget_real_focus_gtk;
-
- accessible_class->connect_widget_destroyed = gail_widget_connect_widget_destroyed;
-
- class->get_description = gail_widget_get_description;
- class->get_parent = gail_widget_get_parent;
- class->ref_relation_set = gail_widget_ref_relation_set;
- class->ref_state_set = gail_widget_ref_state_set;
- class->get_index_in_parent = gail_widget_get_index_in_parent;
- class->initialize = gail_widget_real_initialize;
- class->get_attributes = gail_widget_get_attributes;
-}
-
-static void
-gail_widget_init (GailWidget *accessible)
-{
-}
-
-/**
- * This function specifies the GtkWidget for which the GailWidget was created
- * and specifies a handler to be called when the GtkWidget is destroyed.
- **/
-static void
-gail_widget_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GtkAccessible *accessible;
- GtkWidget *widget;
-
- g_return_if_fail (GTK_IS_WIDGET (data));
-
- widget = GTK_WIDGET (data);
-
- accessible = GTK_ACCESSIBLE (obj);
- gtk_accessible_set_widget (accessible, widget);
- gtk_accessible_connect_widget_destroyed (accessible);
- g_signal_connect_after (widget,
- "focus-in-event",
- G_CALLBACK (gail_widget_focus_gtk),
- NULL);
- g_signal_connect_after (widget,
- "focus-out-event",
- G_CALLBACK (gail_widget_focus_gtk),
- NULL);
- g_signal_connect (widget,
- "notify",
- G_CALLBACK (gail_widget_notify_gtk),
- NULL);
- g_signal_connect (widget,
- "size_allocate",
- G_CALLBACK (gail_widget_size_allocate_gtk),
- NULL);
- atk_component_add_focus_handler (ATK_COMPONENT (accessible),
- gail_widget_focus_event);
- /*
- * Add signal handlers for GTK signals required to support property changes
- */
- g_signal_connect (widget,
- "map",
- G_CALLBACK (gail_widget_map_gtk),
- NULL);
- g_signal_connect (widget,
- "unmap",
- G_CALLBACK (gail_widget_map_gtk),
- NULL);
- g_object_set_data (G_OBJECT (obj), "atk-component-layer",
- GINT_TO_POINTER (ATK_LAYER_WIDGET));
-
- obj->role = ATK_ROLE_UNKNOWN;
-}
-
-AtkObject*
-gail_widget_new (GtkWidget *widget)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
-
- object = g_object_new (GAIL_TYPE_WIDGET, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, widget);
-
- return accessible;
-}
-
-/*
- * This function specifies the function to be called when the widget
- * is destroyed
- */
-static void
-gail_widget_connect_widget_destroyed (GtkAccessible *accessible)
-{
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- if (widget)
- {
- g_signal_connect_after (widget,
- "destroy",
- G_CALLBACK (gail_widget_destroyed),
- accessible);
- }
-}
-
-/*
- * This function is called when the widget is destroyed.
- * It sets the widget field in the GtkAccessible structure to NULL
- * and emits a state-change signal for the state ATK_STATE_DEFUNCT
- */
-static void
-gail_widget_destroyed (GtkWidget *widget,
- GtkAccessible *accessible)
-{
- gtk_accessible_set_widget (accessible, NULL);
- atk_object_notify_state_change (ATK_OBJECT (accessible), ATK_STATE_DEFUNCT,
- TRUE);
-}
-
-static const gchar*
-gail_widget_get_description (AtkObject *accessible)
-{
- if (accessible->description)
- return accessible->description;
- else
- {
- GtkWidget *widget;
-
- /* Get the tooltip from the widget */
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- if (widget == NULL)
- /*
- * Object is defunct
- */
- return NULL;
-
- return gtk_widget_get_tooltip_text (widget);
- }
-}
-
-static AtkObject*
-gail_widget_get_parent (AtkObject *accessible)
-{
- AtkObject *parent;
-
- parent = accessible->accessible_parent;
-
- if (parent != NULL)
- g_return_val_if_fail (ATK_IS_OBJECT (parent), NULL);
- else
- {
- GtkWidget *widget, *parent_widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
- gail_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
-
- parent_widget = gtk_widget_get_parent (widget);
- if (parent_widget == NULL)
- return NULL;
-
- /*
- * For a widget whose parent is a GtkNoteBook, we return the
- * accessible object corresponding the GtkNotebookPage containing
- * the widget as the accessible parent.
- */
- if (GTK_IS_NOTEBOOK (parent_widget))
- {
- gint page_num;
- GtkWidget *child;
- GtkNotebook *notebook;
-
- page_num = 0;
- notebook = GTK_NOTEBOOK (parent_widget);
- while (TRUE)
- {
- child = gtk_notebook_get_nth_page (notebook, page_num);
- if (!child)
- break;
- if (child == widget)
- {
- parent = gtk_widget_get_accessible (parent_widget);
- parent = atk_object_ref_accessible_child (parent, page_num);
- g_object_unref (parent);
- return parent;
- }
- page_num++;
- }
- }
-
- parent = gtk_widget_get_accessible (parent_widget);
- }
- return parent;
-}
-
-static GtkWidget*
-find_label (GtkWidget *widget)
-{
- GList *labels;
- GtkWidget *label;
- GtkWidget *temp_widget;
-
- labels = gtk_widget_list_mnemonic_labels (widget);
- label = NULL;
- if (labels)
- {
- if (labels->data)
- {
- if (labels->next)
- {
- g_warning ("Widget (%s) has more than one label", G_OBJECT_TYPE_NAME (widget));
-
- }
- else
- {
- label = labels->data;
- }
- }
- g_list_free (labels);
- }
-
- /*
- * Ignore a label within a button; bug #136602
- */
- if (label && GTK_IS_BUTTON (widget))
- {
- temp_widget = label;
- while (temp_widget)
- {
- if (temp_widget == widget)
- {
- label = NULL;
- break;
- }
- temp_widget = gtk_widget_get_parent (temp_widget);
- }
- }
- return label;
-}
-
-static AtkRelationSet*
-gail_widget_ref_relation_set (AtkObject *obj)
-{
- GtkWidget *widget;
- AtkRelationSet *relation_set;
- GtkWidget *label;
- AtkObject *array[1];
- AtkRelation* relation;
-
- gail_return_val_if_fail (GAIL_IS_WIDGET (obj), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- relation_set = ATK_OBJECT_CLASS (gail_widget_parent_class)->ref_relation_set (obj);
-
- if (GTK_IS_BOX (widget))
- /*
- * Do not report labelled-by for a GtkBox which could be a
- * GnomeFileEntry.
- */
- return relation_set;
-
- if (!atk_relation_set_contains (relation_set, ATK_RELATION_LABELLED_BY))
- {
- label = find_label (widget);
- if (label == NULL)
- {
- if (GTK_IS_BUTTON (widget))
- /*
- * Handle the case where GnomeIconEntry is the mnemonic widget.
- * The GtkButton which is a grandchild of the GnomeIconEntry
- * should really be the mnemonic widget. See bug #133967.
- */
- {
- GtkWidget *temp_widget;
-
- temp_widget = gtk_widget_get_parent (widget);
-
- if (GTK_IS_ALIGNMENT (temp_widget))
- {
- temp_widget = gtk_widget_get_parent (temp_widget);
- if (GTK_IS_BOX (temp_widget))
- {
- label = find_label (temp_widget);
-
- if (!label)
- label = find_label (gtk_widget_get_parent (temp_widget));
- }
- }
- }
- else if (GTK_IS_COMBO_BOX (widget))
- /*
- * Handle the case when GtkFileChooserButton is the mnemonic
- * widget. The GtkComboBox which is a child of the
- * GtkFileChooserButton should be the mnemonic widget.
- * See bug #359843.
- */
- {
- GtkWidget *temp_widget;
-
- temp_widget = gtk_widget_get_parent (widget);
- if (GTK_IS_BOX (temp_widget))
- {
- label = find_label (temp_widget);
- }
- }
- }
-
- if (label)
- {
- array [0] = gtk_widget_get_accessible (label);
-
- relation = atk_relation_new (array, 1, ATK_RELATION_LABELLED_BY);
- atk_relation_set_add (relation_set, relation);
- g_object_unref (relation);
- }
- }
-
- return relation_set;
-}
-
-static AtkStateSet*
-gail_widget_ref_state_set (AtkObject *accessible)
-{
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- AtkStateSet *state_set;
-
- state_set = ATK_OBJECT_CLASS (gail_widget_parent_class)->ref_state_set (accessible);
-
- if (widget == NULL)
- {
- atk_state_set_add_state (state_set, ATK_STATE_DEFUNCT);
- }
- else
- {
- if (gtk_widget_is_sensitive (widget))
- {
- atk_state_set_add_state (state_set, ATK_STATE_SENSITIVE);
- atk_state_set_add_state (state_set, ATK_STATE_ENABLED);
- }
-
- if (gtk_widget_get_can_focus (widget))
- {
- atk_state_set_add_state (state_set, ATK_STATE_FOCUSABLE);
- }
- /*
- * We do not currently generate notifications when an ATK object
- * corresponding to a GtkWidget changes visibility by being scrolled
- * on or off the screen. The testcase for this is the main window
- * of the testgtk application in which a set of buttons in a GtkVBox
- * is in a scrooled window with a viewport.
- *
- * To generate the notifications we would need to do the following:
- * 1) Find the GtkViewPort among the antecendents of the objects
- * 2) Create an accesible for the GtkViewPort
- * 3) Connect to the value-changed signal on the viewport
- * 4) When the signal is received we need to traverse the children
- * of the viewport and check whether the children are visible or not
- * visible; we may want to restrict this to the widgets for which
- * accessible objects have been created.
- * 5) We probably need to store a variable on_screen in the
- * GailWidget data structure so we can determine whether the value has
- * changed.
- */
- if (gtk_widget_get_visible (widget))
- {
- atk_state_set_add_state (state_set, ATK_STATE_VISIBLE);
- if (gail_widget_on_screen (widget) && gtk_widget_get_mapped (widget) &&
- gail_widget_all_parents_visible (widget))
- {
- atk_state_set_add_state (state_set, ATK_STATE_SHOWING);
- }
- }
-
- if (gtk_widget_has_focus (widget) && (widget == focus_widget))
- {
- AtkObject *focus_obj;
-
- focus_obj = g_object_get_data (G_OBJECT (accessible), "gail-focus-object");
- if (focus_obj == NULL)
- atk_state_set_add_state (state_set, ATK_STATE_FOCUSED);
- }
- if (gtk_widget_has_default (widget))
- {
- atk_state_set_add_state (state_set, ATK_STATE_DEFAULT);
- }
-
- if (GTK_IS_ORIENTABLE(widget))
- switch (gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)))
- {
- case GTK_ORIENTATION_HORIZONTAL:
- atk_state_set_add_state (state_set, ATK_STATE_HORIZONTAL);
- break;
-
- case GTK_ORIENTATION_VERTICAL:
- atk_state_set_add_state (state_set, ATK_STATE_VERTICAL);
- break;
- }
- }
- return state_set;
-}
-
-static gint
-gail_widget_get_index_in_parent (AtkObject *accessible)
-{
- GtkWidget *widget;
- GtkWidget *parent_widget;
- gint index;
- GList *children;
- GType type;
-
- type = g_type_from_name ("GailCanvasWidget");
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return -1;
-
- if (accessible->accessible_parent)
- {
- AtkObject *parent;
-
- parent = accessible->accessible_parent;
-
- if (GAIL_IS_NOTEBOOK_PAGE (parent) ||
- G_TYPE_CHECK_INSTANCE_TYPE ((parent), type))
- return 0;
- else
- {
- gint n_children, i;
- gboolean found = FALSE;
-
- n_children = atk_object_get_n_accessible_children (parent);
- for (i = 0; i < n_children; i++)
- {
- AtkObject *child;
-
- child = atk_object_ref_accessible_child (parent, i);
- if (child == accessible)
- found = TRUE;
-
- g_object_unref (child);
- if (found)
- return i;
- }
- }
- }
-
- gail_return_val_if_fail (GTK_IS_WIDGET (widget), -1);
- parent_widget = gtk_widget_get_parent (widget);
- if (parent_widget == NULL)
- return -1;
- gail_return_val_if_fail (GTK_IS_CONTAINER (parent_widget), -1);
-
- children = gtk_container_get_children (GTK_CONTAINER (parent_widget));
-
- index = g_list_index (children, widget);
- g_list_free (children);
- return index;
-}
-
-static void
-atk_component_interface_init (AtkComponentIface *iface)
-{
- /*
- * Use default implementation for contains and get_position
- */
- iface->add_focus_handler = gail_widget_add_focus_handler;
- iface->get_extents = gail_widget_get_extents;
- iface->get_size = gail_widget_get_size;
- iface->get_layer = gail_widget_get_layer;
- iface->grab_focus = gail_widget_grab_focus;
- iface->remove_focus_handler = gail_widget_remove_focus_handler;
- iface->set_extents = gail_widget_set_extents;
- iface->set_position = gail_widget_set_position;
- iface->set_size = gail_widget_set_size;
-}
-
-static guint
-gail_widget_add_focus_handler (AtkComponent *component,
- AtkFocusHandler handler)
-{
- GSignalMatchType match_type;
- gulong ret;
- guint signal_id;
-
- match_type = G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC;
- signal_id = g_signal_lookup ("focus-event", ATK_TYPE_OBJECT);
-
- ret = g_signal_handler_find (component, match_type, signal_id, 0, NULL,
- (gpointer) handler, NULL);
- if (!ret)
- {
- return g_signal_connect_closure_by_id (component,
- signal_id, 0,
- g_cclosure_new (
- G_CALLBACK (handler), NULL,
- (GClosureNotify) NULL),
- FALSE);
- }
- else
- {
- return 0;
- }
-}
-
-static void
-gail_widget_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
-{
- GtkAllocation allocation;
- GdkWindow *window;
- gint x_window, y_window;
- gint x_toplevel, y_toplevel;
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
-
- if (widget == NULL)
- /*
- * Object is defunct
- */
- return;
-
- gail_return_if_fail (GTK_IS_WIDGET (widget));
-
- gtk_widget_get_allocation (widget, &allocation);
- *width = allocation.width;
- *height = allocation.height;
- if (!gail_widget_on_screen (widget) || (!gtk_widget_is_drawable (widget)))
- {
- *x = G_MININT;
- *y = G_MININT;
- return;
- }
-
- if (gtk_widget_get_parent (widget))
- {
- *x = allocation.x;
- *y = allocation.y;
- window = gtk_widget_get_parent_window (widget);
- }
- else
- {
- *x = 0;
- *y = 0;
- window = gtk_widget_get_window (widget);
- }
- gdk_window_get_origin (window, &x_window, &y_window);
- *x += x_window;
- *y += y_window;
-
-
- if (coord_type == ATK_XY_WINDOW)
- {
- window = gdk_window_get_toplevel (gtk_widget_get_window (widget));
- gdk_window_get_origin (window, &x_toplevel, &y_toplevel);
-
- *x -= x_toplevel;
- *y -= y_toplevel;
- }
-}
-
-static void
-gail_widget_get_size (AtkComponent *component,
- gint *width,
- gint *height)
-{
- GtkAllocation allocation;
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
-
- if (widget == NULL)
- /*
- * Object is defunct
- */
- return;
-
- gail_return_if_fail (GTK_IS_WIDGET (widget));
-
- gtk_widget_get_allocation (widget, &allocation);
- *width = allocation.width;
- *height = allocation.height;
-}
-
-static AtkLayer
-gail_widget_get_layer (AtkComponent *component)
-{
- gint layer;
- layer = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (component), "atk-component-layer"));
-
- return (AtkLayer) layer;
-}
-
-static gboolean
-gail_widget_grab_focus (AtkComponent *component)
-{
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
- GtkWidget *toplevel;
-
- gail_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
- if (gtk_widget_get_can_focus (widget))
- {
- gtk_widget_grab_focus (widget);
- toplevel = gtk_widget_get_toplevel (widget);
- if (gtk_widget_is_toplevel (toplevel))
- {
-#ifdef GDK_WINDOWING_X11
- gtk_window_present_with_time (GTK_WINDOW (toplevel),
- gdk_x11_get_server_time (gtk_widget_get_window (widget)));
-#else
- gtk_window_present (GTK_WINDOW (toplevel));
-#endif
- }
- return TRUE;
- }
- else
- return FALSE;
-}
-
-static void
-gail_widget_remove_focus_handler (AtkComponent *component,
- guint handler_id)
-{
- g_signal_handler_disconnect (component, handler_id);
-}
-
-static gboolean
-gail_widget_set_extents (AtkComponent *component,
- gint x,
- gint y,
- gint width,
- gint height,
- AtkCoordType coord_type)
-{
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
-
- if (widget == NULL)
- /*
- * Object is defunct
- */
- return FALSE;
- gail_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
-
- if (gtk_widget_is_toplevel (widget))
- {
- if (coord_type == ATK_XY_WINDOW)
- {
- gint x_current, y_current;
- GdkWindow *window = gtk_widget_get_window (widget);
-
- gdk_window_get_origin (window, &x_current, &y_current);
- x_current += x;
- y_current += y;
- if (x_current < 0 || y_current < 0)
- return FALSE;
- else
- {
- gtk_window_move (GTK_WINDOW (widget), x_current, y_current);
- gtk_widget_set_size_request (widget, width, height);
- return TRUE;
- }
- }
- else if (coord_type == ATK_XY_SCREEN)
- {
- gtk_window_move (GTK_WINDOW (widget), x, y);
- gtk_widget_set_size_request (widget, width, height);
- return TRUE;
- }
- }
- return FALSE;
-}
-
-static gboolean
-gail_widget_set_position (AtkComponent *component,
- gint x,
- gint y,
- AtkCoordType coord_type)
-{
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
-
- if (widget == NULL)
- /*
- * Object is defunct
- */
- return FALSE;
- gail_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
-
- if (gtk_widget_is_toplevel (widget))
- {
- if (coord_type == ATK_XY_WINDOW)
- {
- gint x_current, y_current;
- GdkWindow *window = gtk_widget_get_window (widget);
-
- gdk_window_get_origin (window, &x_current, &y_current);
- x_current += x;
- y_current += y;
- if (x_current < 0 || y_current < 0)
- return FALSE;
- else
- {
- gtk_window_move (GTK_WINDOW (widget), x_current, y_current);
- return TRUE;
- }
- }
- else if (coord_type == ATK_XY_SCREEN)
- {
- gtk_window_move (GTK_WINDOW (widget), x, y);
- return TRUE;
- }
- }
- return FALSE;
-}
-
-static gboolean
-gail_widget_set_size (AtkComponent *component,
- gint width,
- gint height)
-{
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
-
- if (widget == NULL)
- /*
- * Object is defunct
- */
- return FALSE;
- gail_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
-
- if (gtk_widget_is_toplevel (widget))
- {
- gtk_widget_set_size_request (widget, width, height);
- return TRUE;
- }
- else
- return FALSE;
-}
-
-/*
- * This function is a signal handler for notify_in_event and focus_out_event
- * signal which gets emitted on a GtkWidget.
- */
-static gboolean
-gail_widget_focus_gtk (GtkWidget *widget,
- GdkEventFocus *event)
-{
- GailWidget *gail_widget;
- GailWidgetClass *klass;
-
- gail_widget = GAIL_WIDGET (gtk_widget_get_accessible (widget));
- klass = GAIL_WIDGET_GET_CLASS (gail_widget);
- if (klass->focus_gtk)
- return klass->focus_gtk (widget, event);
- else
- return FALSE;
-}
-
-/*
- * This function is the signal handler defined for focus_in_event and
- * focus_out_event got GailWidget.
- *
- * It emits a focus-event signal on the GailWidget.
- */
-static gboolean
-gail_widget_real_focus_gtk (GtkWidget *widget,
- GdkEventFocus *event)
-{
- AtkObject* accessible;
- gboolean return_val;
- return_val = FALSE;
-
- accessible = gtk_widget_get_accessible (widget);
- g_signal_emit_by_name (accessible, "focus_event", event->in, &return_val);
- return FALSE;
-}
-
-static void
-gail_widget_size_allocate_gtk (GtkWidget *widget,
- GtkAllocation *allocation)
-{
- AtkObject* accessible;
- AtkRectangle rect;
-
- accessible = gtk_widget_get_accessible (widget);
- if (ATK_IS_COMPONENT (accessible))
- {
- rect.x = allocation->x;
- rect.y = allocation->y;
- rect.width = allocation->width;
- rect.height = allocation->height;
- g_signal_emit_by_name (accessible, "bounds_changed", &rect);
- }
-}
-
-/*
- * This function is the signal handler defined for map and unmap signals.
- */
-static gint
-gail_widget_map_gtk (GtkWidget *widget)
-{
- AtkObject* accessible;
-
- accessible = gtk_widget_get_accessible (widget);
- atk_object_notify_state_change (accessible, ATK_STATE_SHOWING,
- gtk_widget_get_mapped (widget));
- return 1;
-}
-
-/*
- * This function is a signal handler for notify signal which gets emitted
- * when a property changes value on the GtkWidget associated with the object.
- *
- * It calls a function for the GailWidget type
- */
-static void
-gail_widget_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GailWidget *widget;
- GailWidgetClass *klass;
-
- widget = GAIL_WIDGET (gtk_widget_get_accessible (GTK_WIDGET (obj)));
- klass = GAIL_WIDGET_GET_CLASS (widget);
- if (klass->notify_gtk)
- klass->notify_gtk (obj, pspec);
-}
-
-/*
- * This function is a signal handler for notify signal which gets emitted
- * when a property changes value on the GtkWidget associated with a GailWidget.
- *
- * It constructs an AtkPropertyValues structure and emits a "property_changed"
- * signal which causes the user specified AtkPropertyChangeHandler
- * to be called.
- */
-static void
-gail_widget_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GtkWidget* widget = GTK_WIDGET (obj);
- AtkObject* atk_obj = gtk_widget_get_accessible (widget);
- AtkState state;
- gboolean value;
-
- if (strcmp (pspec->name, "has-focus") == 0)
- /*
- * We use focus-in-event and focus-out-event signals to catch
- * focus changes so we ignore this.
- */
- return;
- else if (strcmp (pspec->name, "visible") == 0)
- {
- state = ATK_STATE_VISIBLE;
- value = gtk_widget_get_visible (widget);
- }
- else if (strcmp (pspec->name, "sensitive") == 0)
- {
- state = ATK_STATE_SENSITIVE;
- value = gtk_widget_get_sensitive (widget);
- }
- else if (strcmp (pspec->name, "orientation") == 0)
- {
- GtkOrientable *orientable;
-
- orientable = GTK_ORIENTABLE (widget);
-
- state = ATK_STATE_HORIZONTAL;
- value = (gtk_orientable_get_orientation (orientable) == GTK_ORIENTATION_HORIZONTAL);
- }
- else
- return;
-
- atk_object_notify_state_change (atk_obj, state, value);
- if (state == ATK_STATE_SENSITIVE)
- atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, value);
-
- if (state == ATK_STATE_HORIZONTAL)
- atk_object_notify_state_change (atk_obj, ATK_STATE_VERTICAL, !value);
-}
-
-static void
-gail_widget_focus_event (AtkObject *obj,
- gboolean focus_in)
-{
- AtkObject *focus_obj;
-
- focus_obj = g_object_get_data (G_OBJECT (obj), "gail-focus-object");
- if (focus_obj == NULL)
- focus_obj = obj;
- atk_object_notify_state_change (focus_obj, ATK_STATE_FOCUSED, focus_in);
-}
-
-static GtkWidget*
-gail_widget_find_viewport (GtkWidget *widget)
-{
- /*
- * Find an antecedent which is a GtkViewPort
- */
- GtkWidget *parent;
-
- parent = gtk_widget_get_parent (widget);
- while (parent != NULL)
- {
- if (GTK_IS_VIEWPORT (parent))
- break;
- parent = gtk_widget_get_parent (parent);
- }
- return parent;
-}
-
-/*
- * This function checks whether the widget has an antecedent which is
- * a GtkViewport and, if so, whether any part of the widget intersects
- * the visible rectangle of the GtkViewport.
- */
-static gboolean gail_widget_on_screen (GtkWidget *widget)
-{
- GtkAllocation allocation;
- GtkWidget *viewport;
- gboolean return_value;
-
- gtk_widget_get_allocation (widget, &allocation);
-
- viewport = gail_widget_find_viewport (widget);
- if (viewport)
- {
- GtkAllocation viewport_allocation;
- GtkAdjustment *adjustment;
- GdkRectangle visible_rect;
-
- gtk_widget_get_allocation (viewport, &viewport_allocation);
-
- adjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (viewport));
- visible_rect.y = gtk_adjustment_get_value (adjustment);
- adjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (viewport));
- visible_rect.x = gtk_adjustment_get_value (adjustment);
- visible_rect.width = viewport_allocation.width;
- visible_rect.height = viewport_allocation.height;
-
- if (((allocation.x + allocation.width) < visible_rect.x) ||
- ((allocation.y + allocation.height) < visible_rect.y) ||
- (allocation.x > (visible_rect.x + visible_rect.width)) ||
- (allocation.y > (visible_rect.y + visible_rect.height)))
- return_value = FALSE;
- else
- return_value = TRUE;
- }
- else
- {
- /*
- * Check whether the widget has been placed of the screen. The
- * widget may be MAPPED as when toolbar items do not fit on the toolbar.
- */
- if (allocation.x + allocation.width <= 0 &&
- allocation.y + allocation.height <= 0)
- return_value = FALSE;
- else
- return_value = TRUE;
- }
-
- return return_value;
-}
-
-/**
- * gail_widget_all_parents_visible:
- * @widget: a #GtkWidget
- *
- * Checks if all the predecesors (the parent widget, his parent, etc) are visible
- * Used to check properly the SHOWING state.
- *
- * Return value: TRUE if all the parent hierarchy is visible, FALSE otherwise
- **/
-static gboolean gail_widget_all_parents_visible (GtkWidget *widget)
-{
- GtkWidget *iter_parent = NULL;
- gboolean result = TRUE;
-
- for (iter_parent = gtk_widget_get_parent (widget); iter_parent;
- iter_parent = gtk_widget_get_parent (iter_parent))
- {
- if (!gtk_widget_get_visible (iter_parent))
- {
- result = FALSE;
- break;
- }
- }
-
- return result;
-}
-
-static AtkAttributeSet *gail_widget_get_attributes(AtkObject *obj)
-{
- AtkAttributeSet *attributes;
- AtkAttribute *toolkit = g_malloc(sizeof(AtkAttribute));
-
- toolkit->name = g_strdup("toolkit");
- toolkit->value = g_strdup("gail");
-
- attributes = g_slist_append(NULL, toolkit);
-
- return attributes;
-}
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_WIDGET_H__
-#define __GAIL_WIDGET_H__
-
-#include <gtk/gtk.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_WIDGET (gail_widget_get_type ())
-#define GAIL_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_WIDGET, GailWidget))
-#define GAIL_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_WIDGET, GailWidgetClass))
-#define GAIL_IS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_WIDGET))
-#define GAIL_IS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_WIDGET))
-#define GAIL_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_WIDGET, GailWidgetClass))
-
-typedef struct _GailWidget GailWidget;
-typedef struct _GailWidgetClass GailWidgetClass;
-
-struct _GailWidget
-{
- GtkAccessible parent;
-};
-
-GType gail_widget_get_type (void);
-
-struct _GailWidgetClass
-{
- GtkAccessibleClass parent_class;
-
- /*
- * Signal handler for notify signal on GTK widget
- */
- void (*notify_gtk) (GObject *object,
- GParamSpec *pspec);
- /*
- * Signal handler for focus_in_event and focus_out_event signal on GTK widget
- */
- gboolean (*focus_gtk) (GtkWidget *widget,
- GdkEventFocus *event);
-
-};
-
-AtkObject* gail_widget_new (GtkWidget *widget);
-
-G_END_DECLS
-
-#endif /* __GAIL_WIDGET_H__ */
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <string.h>
-
-#include <gtk/gtkx.h>
-
-#include "gailwindow.h"
-#include "gailtoplevel.h"
-#include "gail-private-macros.h"
-
-enum {
- ACTIVATE,
- CREATE,
- DEACTIVATE,
- DESTROY,
- MAXIMIZE,
- MINIMIZE,
- MOVE,
- RESIZE,
- RESTORE,
- LAST_SIGNAL
-};
-
-static void gail_window_class_init (GailWindowClass *klass);
-
-static void gail_window_init (GailWindow *accessible);
-
-static void gail_window_real_initialize (AtkObject *obj,
- gpointer data);
-static void gail_window_finalize (GObject *object);
-
-static const gchar* gail_window_get_name (AtkObject *accessible);
-
-static AtkObject* gail_window_get_parent (AtkObject *accessible);
-static gint gail_window_get_index_in_parent (AtkObject *accessible);
-static gboolean gail_window_real_focus_gtk (GtkWidget *widget,
- GdkEventFocus *event);
-
-static AtkStateSet* gail_window_ref_state_set (AtkObject *accessible);
-static AtkRelationSet* gail_window_ref_relation_set (AtkObject *accessible);
-static void gail_window_real_notify_gtk (GObject *obj,
- GParamSpec *pspec);
-static gint gail_window_get_mdi_zorder (AtkComponent *component);
-
-static gboolean gail_window_state_event_gtk (GtkWidget *widget,
- GdkEventWindowState *event);
-
-/* atkcomponent.h */
-static void atk_component_interface_init (AtkComponentIface *iface);
-
-static void gail_window_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type);
-static void gail_window_get_size (AtkComponent *component,
- gint *width,
- gint *height);
-
-static guint gail_window_signals [LAST_SIGNAL] = { 0, };
-
-G_DEFINE_TYPE_WITH_CODE (GailWindow, gail_window, GAIL_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
-
-static void
-gail_window_class_init (GailWindowClass *klass)
-{
- GailWidgetClass *widget_class;
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- gobject_class->finalize = gail_window_finalize;
-
- widget_class = (GailWidgetClass*)klass;
- widget_class->focus_gtk = gail_window_real_focus_gtk;
- widget_class->notify_gtk = gail_window_real_notify_gtk;
-
- class->get_name = gail_window_get_name;
- class->get_parent = gail_window_get_parent;
- class->get_index_in_parent = gail_window_get_index_in_parent;
- class->ref_relation_set = gail_window_ref_relation_set;
- class->ref_state_set = gail_window_ref_state_set;
- class->initialize = gail_window_real_initialize;
-
- gail_window_signals [ACTIVATE] =
- g_signal_new ("activate",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0, /* default signal handler */
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- gail_window_signals [CREATE] =
- g_signal_new ("create",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0, /* default signal handler */
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- gail_window_signals [DEACTIVATE] =
- g_signal_new ("deactivate",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0, /* default signal handler */
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- gail_window_signals [DESTROY] =
- g_signal_new ("destroy",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0, /* default signal handler */
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- gail_window_signals [MAXIMIZE] =
- g_signal_new ("maximize",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0, /* default signal handler */
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- gail_window_signals [MINIMIZE] =
- g_signal_new ("minimize",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0, /* default signal handler */
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- gail_window_signals [MOVE] =
- g_signal_new ("move",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0, /* default signal handler */
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- gail_window_signals [RESIZE] =
- g_signal_new ("resize",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0, /* default signal handler */
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- gail_window_signals [RESTORE] =
- g_signal_new ("restore",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0, /* default signal handler */
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-}
-
-static void
-gail_window_init (GailWindow *accessible)
-{
-}
-
-static void
-gail_window_real_initialize (AtkObject *obj,
- gpointer data)
-{
- GtkWidget *widget = GTK_WIDGET (data);
- GailWindow *window;
-
- /*
- * A GailWindow can be created for a GtkHandleBox or a GtkWindow
- */
- if (!GTK_IS_WINDOW (widget) &&
- !GTK_IS_HANDLE_BOX (widget))
- gail_return_if_fail (FALSE);
-
- ATK_OBJECT_CLASS (gail_window_parent_class)->initialize (obj, data);
-
- window = GAIL_WINDOW (obj);
- window->name_change_handler = 0;
- window->previous_name = g_strdup (gtk_window_get_title (GTK_WINDOW (data)));
-
- g_signal_connect (data,
- "window_state_event",
- G_CALLBACK (gail_window_state_event_gtk),
- NULL);
- g_object_set_data (G_OBJECT (obj), "atk-component-layer",
- GINT_TO_POINTER (ATK_LAYER_WINDOW));
-
- if (GTK_IS_FILE_CHOOSER_DIALOG (widget))
- obj->role = ATK_ROLE_FILE_CHOOSER;
- else if (GTK_IS_COLOR_SELECTION_DIALOG (widget))
- obj->role = ATK_ROLE_COLOR_CHOOSER;
- else if (GTK_IS_FONT_SELECTION_DIALOG (widget))
- obj->role = ATK_ROLE_FONT_CHOOSER;
- else if (GTK_IS_MESSAGE_DIALOG (widget))
- obj->role = ATK_ROLE_ALERT;
- else if (GTK_IS_DIALOG (widget))
- obj->role = ATK_ROLE_DIALOG;
- else
- {
- const gchar *name;
-
- name = gtk_widget_get_name (widget);
-
- if (!g_strcmp0 (name, "gtk-tooltip"))
- obj->role = ATK_ROLE_TOOL_TIP;
-#ifdef GDK_WINDOWING_X11
- else if (GTK_IS_PLUG (widget))
- obj->role = ATK_ROLE_PANEL;
-#endif
- else if (gtk_window_get_window_type (GTK_WINDOW (widget)) == GTK_WINDOW_POPUP)
- obj->role = ATK_ROLE_WINDOW;
- else
- obj->role = ATK_ROLE_FRAME;
- }
-
- /*
- * Notify that tooltip is showing
- */
- if (obj->role == ATK_ROLE_TOOL_TIP &&
- gtk_widget_get_mapped (widget))
- atk_object_notify_state_change (obj, ATK_STATE_SHOWING, 1);
-}
-
-static void
-gail_window_finalize (GObject *object)
-{
- GailWindow* window = GAIL_WINDOW (object);
-
- if (window->name_change_handler)
- {
- g_source_remove (window->name_change_handler);
- window->name_change_handler = 0;
- }
- if (window->previous_name)
- {
- g_free (window->previous_name);
- window->previous_name = NULL;
- }
-
- G_OBJECT_CLASS (gail_window_parent_class)->finalize (object);
-}
-
-static const gchar*
-gail_window_get_name (AtkObject *accessible)
-{
- const gchar* name;
-
- name = ATK_OBJECT_CLASS (gail_window_parent_class)->get_name (accessible);
- if (name == NULL)
- {
- /*
- * Get the window title if it exists
- */
- GtkWidget* widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- gail_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
-
- if (GTK_IS_WINDOW (widget))
- {
- GtkWindow *window = GTK_WINDOW (widget);
-
- name = gtk_window_get_title (window);
- if (name == NULL &&
- accessible->role == ATK_ROLE_TOOL_TIP)
- {
- GtkWidget *child;
-
- child = gtk_bin_get_child (GTK_BIN (window));
- /* could be some kind of egg notification bubble thingy? */
-
- /* Handle new GTK+ GNOME 2.20 tooltips */
- if (GTK_IS_ALIGNMENT(child))
- {
- child = gtk_bin_get_child (GTK_BIN (child));
- if (GTK_IS_BOX(child))
- {
- GList *children;
- guint count;
- children = gtk_container_get_children (GTK_CONTAINER (child));
- count = g_list_length (children);
- if (count == 2)
- {
- child = (GtkWidget *) g_list_nth_data (children, 1);
- }
- g_list_free (children);
- }
- }
-
- if (!GTK_IS_LABEL (child))
- {
- g_message ("ATK_ROLE_TOOLTIP object found, but doesn't look like a tooltip.");
- return NULL;
- }
- name = gtk_label_get_text (GTK_LABEL (child));
- }
- }
- }
- return name;
-}
-
-static AtkObject*
-gail_window_get_parent (AtkObject *accessible)
-{
- AtkObject* parent;
-
- parent = ATK_OBJECT_CLASS (gail_window_parent_class)->get_parent (accessible);
-
- return parent;
-}
-
-static gint
-gail_window_get_index_in_parent (AtkObject *accessible)
-{
- GtkWidget* widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- AtkObject* atk_obj = atk_get_root ();
- gint index = -1;
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return -1;
-
- gail_return_val_if_fail (GTK_IS_WIDGET (widget), -1);
-
- index = ATK_OBJECT_CLASS (gail_window_parent_class)->get_index_in_parent (accessible);
- if (index != -1)
- return index;
-
- if (GTK_IS_WINDOW (widget))
- {
- GtkWindow *window = GTK_WINDOW (widget);
- if (GAIL_IS_TOPLEVEL (atk_obj))
- {
- GailToplevel* toplevel = GAIL_TOPLEVEL (atk_obj);
- index = g_list_index (toplevel->window_list, window);
- }
- else
- {
- int i, sibling_count = atk_object_get_n_accessible_children (atk_obj);
- for (i = 0; i < sibling_count && index == -1; ++i)
- {
- AtkObject *child = atk_object_ref_accessible_child (atk_obj, i);
- if (accessible == child) index = i;
- g_object_unref (G_OBJECT (child));
- }
- }
- }
- return index;
-}
-
-static gboolean
-gail_window_real_focus_gtk (GtkWidget *widget,
- GdkEventFocus *event)
-{
- AtkObject* obj;
-
- obj = gtk_widget_get_accessible (widget);
- atk_object_notify_state_change (obj, ATK_STATE_ACTIVE, event->in);
-
- return FALSE;
-}
-
-static AtkRelationSet*
-gail_window_ref_relation_set (AtkObject *obj)
-{
- GtkWidget *widget;
- AtkRelationSet *relation_set;
- AtkObject *array[1];
- AtkRelation* relation;
- GtkWidget *current_widget;
-
- gail_return_val_if_fail (GAIL_IS_WIDGET (obj), NULL);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- relation_set = ATK_OBJECT_CLASS (gail_window_parent_class)->ref_relation_set (obj);
-
- if (atk_object_get_role (obj) == ATK_ROLE_TOOL_TIP)
- {
- relation = atk_relation_set_get_relation_by_type (relation_set, ATK_RELATION_POPUP_FOR);
-
- if (relation)
- {
- atk_relation_set_remove (relation_set, relation);
- }
- if (gtk_widget_get_visible(widget) && FALSE /* FIXME gtk_tooltips_get_info_from_tip_window (GTK_WINDOW (widget), NULL, ¤t_widget) */)
- {
- array [0] = gtk_widget_get_accessible (current_widget);
-
- relation = atk_relation_new (array, 1, ATK_RELATION_POPUP_FOR);
- atk_relation_set_add (relation_set, relation);
- g_object_unref (relation);
- }
- }
- return relation_set;
-}
-
-static AtkStateSet*
-gail_window_ref_state_set (AtkObject *accessible)
-{
- AtkStateSet *state_set;
- GtkWidget *widget;
- GtkWindow *window;
- GdkWindow *gdk_window;
- GdkWindowState state;
-
- state_set = ATK_OBJECT_CLASS (gail_window_parent_class)->ref_state_set (accessible);
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
-
- if (widget == NULL)
- return state_set;
-
- window = GTK_WINDOW (widget);
-
- if (gtk_window_has_toplevel_focus (window) && gtk_window_is_active (window))
- atk_state_set_add_state (state_set, ATK_STATE_ACTIVE);
-
- gdk_window = gtk_widget_get_window (widget);
- if (window)
- {
- state = gdk_window_get_state (gdk_window);
- if (state & GDK_WINDOW_STATE_ICONIFIED)
- atk_state_set_add_state (state_set, ATK_STATE_ICONIFIED);
- }
- if (gtk_window_get_modal (window))
- atk_state_set_add_state (state_set, ATK_STATE_MODAL);
-
- if (gtk_window_get_resizable (window))
- atk_state_set_add_state (state_set, ATK_STATE_RESIZABLE);
-
- return state_set;
-}
-
-static gboolean
-idle_notify_name_change (gpointer data)
-{
- GailWindow *window;
- AtkObject *obj;
-
- window = GAIL_WINDOW (data);
- window->name_change_handler = 0;
- if (gtk_accessible_get_widget (GTK_ACCESSIBLE (window)) == NULL)
- return FALSE;
-
- obj = ATK_OBJECT (window);
- if (obj->name == NULL)
- {
- /*
- * The title has changed so notify a change in accessible-name
- */
- g_object_notify (G_OBJECT (obj), "accessible-name");
- }
- g_signal_emit_by_name (obj, "visible_data_changed");
-
- return FALSE;
-}
-
-static void
-gail_window_real_notify_gtk (GObject *obj,
- GParamSpec *pspec)
-{
- GtkWidget *widget = GTK_WIDGET (obj);
- AtkObject* atk_obj = gtk_widget_get_accessible (widget);
- GailWindow *window = GAIL_WINDOW (atk_obj);
- const gchar *name;
- gboolean name_changed = FALSE;
-
- if (strcmp (pspec->name, "title") == 0)
- {
- name = gtk_window_get_title (GTK_WINDOW (widget));
- if (name)
- {
- if (window->previous_name == NULL ||
- strcmp (name, window->previous_name) != 0)
- name_changed = TRUE;
- }
- else if (window->previous_name != NULL)
- name_changed = TRUE;
-
- if (name_changed)
- {
- g_free (window->previous_name);
- window->previous_name = g_strdup (name);
-
- if (window->name_change_handler == 0)
- window->name_change_handler = gdk_threads_add_idle (idle_notify_name_change, atk_obj);
- }
- }
- else
- GAIL_WIDGET_CLASS (gail_window_parent_class)->notify_gtk (obj, pspec);
-}
-
-static gboolean
-gail_window_state_event_gtk (GtkWidget *widget,
- GdkEventWindowState *event)
-{
- AtkObject* obj;
-
- obj = gtk_widget_get_accessible (widget);
- atk_object_notify_state_change (obj, ATK_STATE_ICONIFIED,
- (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) != 0);
- return FALSE;
-}
-
-static void
-atk_component_interface_init (AtkComponentIface *iface)
-{
- iface->get_extents = gail_window_get_extents;
- iface->get_size = gail_window_get_size;
- iface->get_mdi_zorder = gail_window_get_mdi_zorder;
-}
-
-static void
-gail_window_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
-{
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
- GdkRectangle rect;
- gint x_toplevel, y_toplevel;
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return;
-
- gail_return_if_fail (GTK_IS_WINDOW (widget));
-
- if (!gtk_widget_is_toplevel (widget))
- {
- AtkComponentIface *parent_iface;
-
- parent_iface = (AtkComponentIface *) g_type_interface_peek_parent (ATK_COMPONENT_GET_IFACE (component));
- parent_iface->get_extents (component, x, y, width, height, coord_type);
- return;
- }
-
- gdk_window_get_frame_extents (gtk_widget_get_window (widget),
- &rect);
-
- *width = rect.width;
- *height = rect.height;
- if (!gtk_widget_is_drawable (widget))
- {
- *x = G_MININT;
- *y = G_MININT;
- return;
- }
- *x = rect.x;
- *y = rect.y;
- if (coord_type == ATK_XY_WINDOW)
- {
- gdk_window_get_origin (gtk_widget_get_window (widget),
- &x_toplevel, &y_toplevel);
- *x -= x_toplevel;
- *y -= y_toplevel;
- }
-}
-
-static void
-gail_window_get_size (AtkComponent *component,
- gint *width,
- gint *height)
-{
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
- GdkRectangle rect;
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return;
-
- gail_return_if_fail (GTK_IS_WINDOW (widget));
-
- if (!gtk_widget_is_toplevel (widget))
- {
- AtkComponentIface *parent_iface;
-
- parent_iface = (AtkComponentIface *) g_type_interface_peek_parent (ATK_COMPONENT_GET_IFACE (component));
- parent_iface->get_size (component, width, height);
- return;
- }
- gdk_window_get_frame_extents (gtk_widget_get_window (widget), &rect);
-
- *width = rect.width;
- *height = rect.height;
-}
-
-#if defined (GDK_WINDOWING_X11)
-
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-#include <gdk/x11/gdkx.h>
-
-/* _NET_CLIENT_LIST_STACKING monitoring */
-
-typedef struct {
- Window *stacked_windows;
- int stacked_windows_len;
- GdkWindow *root_window;
- guint update_handler;
- int *desktop;
- guint update_desktop_handler;
- gboolean *desktop_changed;
-
- guint screen_initialized : 1;
- guint update_stacked_windows : 1;
-} GailScreenInfo;
-
-static GailScreenInfo *gail_screens = NULL;
-static int num_screens = 0;
-static Atom _net_client_list_stacking = None;
-static Atom _net_wm_desktop = None;
-
-static gint
-get_window_desktop (Window window)
-{
- Atom ret_type;
- int format;
- gulong nitems;
- gulong bytes_after;
- guchar *cardinals;
- int error;
- int result;
- int desktop;
-
- if (_net_wm_desktop == None)
- _net_wm_desktop =
- XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "_NET_WM_DESKTOP", False);
-
- gdk_error_trap_push ();
- result = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), window, _net_wm_desktop,
- 0, G_MAXLONG,
- False, XA_CARDINAL,
- &ret_type, &format, &nitems,
- &bytes_after, &cardinals);
- error = gdk_error_trap_pop();
- /* nitems < 1 will occur if the property is not set */
- if (error != Success || result != Success || nitems < 1)
- return -1;
-
- desktop = *cardinals;
-
- XFree (cardinals);
- if (nitems != 1)
- return -1;
- return desktop;
-}
-
-static void
-free_screen_info (GailScreenInfo *info)
-{
- if (info->stacked_windows)
- XFree (info->stacked_windows);
- if (info->desktop)
- g_free (info->desktop);
- if (info->desktop_changed)
- g_free (info->desktop_changed);
-
- info->stacked_windows = NULL;
- info->stacked_windows_len = 0;
- info->desktop = NULL;
- info->desktop_changed = NULL;
-}
-
-static gboolean
-get_stacked_windows (GailScreenInfo *info)
-{
- Atom ret_type;
- int format;
- gulong nitems;
- gulong bytes_after;
- guchar *data;
- int error;
- int result;
- int i;
- int j;
- int *desktops;
- gboolean *desktops_changed;
-
- if (_net_client_list_stacking == None)
- _net_client_list_stacking =
- XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "_NET_CLIENT_LIST_STACKING", False);
-
- gdk_error_trap_push ();
- ret_type = None;
- result = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
- GDK_WINDOW_XID (info->root_window),
- _net_client_list_stacking,
- 0, G_MAXLONG,
- False, XA_WINDOW, &ret_type, &format, &nitems,
- &bytes_after, &data);
- error = gdk_error_trap_pop ();
- /* nitems < 1 will occur if the property is not set */
- if (error != Success || result != Success || nitems < 1)
- {
- free_screen_info (info);
- return FALSE;
- }
-
- if (ret_type != XA_WINDOW)
- {
- XFree (data);
- free_screen_info (info);
- return FALSE;
- }
-
- desktops = g_malloc0 (nitems * sizeof (int));
- desktops_changed = g_malloc0 (nitems * sizeof (gboolean));
- for (i = 0; i < nitems; i++)
- {
- gboolean window_found = FALSE;
-
- for (j = 0; j < info->stacked_windows_len; j++)
- {
- if (info->stacked_windows [j] == data [i])
- {
- desktops [i] = info->desktop [j];
- desktops_changed [i] = info->desktop_changed [j];
- window_found = TRUE;
- break;
- }
- }
- if (!window_found)
- {
- desktops [i] = get_window_desktop (data [i]);
- desktops_changed [i] = FALSE;
- }
- }
- free_screen_info (info);
- info->stacked_windows = (Window*) data;
- info->stacked_windows_len = nitems;
- info->desktop = desktops;
- info->desktop_changed = desktops_changed;
-
- return TRUE;
-}
-
-static gboolean
-update_screen_info (gpointer data)
-{
- int screen_n = GPOINTER_TO_INT (data);
-
- gail_screens [screen_n].update_handler = 0;
- gail_screens [screen_n].update_stacked_windows = FALSE;
-
- get_stacked_windows (&gail_screens [screen_n]);
-
- return FALSE;
-}
-
-static gboolean
-update_desktop_info (gpointer data)
-{
- int screen_n = GPOINTER_TO_INT (data);
- GailScreenInfo *info;
- int i;
-
- info = &gail_screens [screen_n];
- info->update_desktop_handler = 0;
-
- for (i = 0; i < info->stacked_windows_len; i++)
- {
- if (info->desktop_changed [i])
- {
- info->desktop [i] = get_window_desktop (info->stacked_windows [i]);
- info->desktop_changed [i] = FALSE;
- }
- }
-
- return FALSE;
-}
-
-static GdkFilterReturn
-filter_func (GdkXEvent *gdkxevent,
- GdkEvent *event,
- gpointer data)
-{
- XEvent *xevent = gdkxevent;
-
- if (xevent->type == PropertyNotify)
- {
- if (xevent->xproperty.atom == _net_client_list_stacking)
- {
- int screen_n;
- GdkWindow *window;
-
- window = event->any.window;
-
- if (window)
- {
- screen_n = gdk_screen_get_number (gdk_window_get_screen (window));
-
- gail_screens [screen_n].update_stacked_windows = TRUE;
- if (!gail_screens [screen_n].update_handler)
- {
- gail_screens [screen_n].update_handler = gdk_threads_add_idle (update_screen_info,
- GINT_TO_POINTER (screen_n));
- }
- }
- }
- else if (xevent->xproperty.atom == _net_wm_desktop)
- {
- int i;
- int j;
- GailScreenInfo *info;
-
- for (i = 0; i < num_screens; i++)
- {
- info = &gail_screens [i];
- for (j = 0; j < info->stacked_windows_len; j++)
- {
- if (xevent->xany.window == info->stacked_windows [j])
- {
- info->desktop_changed [j] = TRUE;
- if (!info->update_desktop_handler)
- {
- info->update_desktop_handler = gdk_threads_add_idle (update_desktop_info,
- GINT_TO_POINTER (i));
- }
- break;
- }
- }
- }
- }
- }
- return GDK_FILTER_CONTINUE;
-}
-
-static void
-display_closed (GdkDisplay *display,
- gboolean is_error)
-{
- int i;
-
- for (i = 0; i < num_screens; i++)
- {
- if (gail_screens [i].update_handler)
- {
- g_source_remove (gail_screens [i].update_handler);
- gail_screens [i].update_handler = 0;
- }
-
- if (gail_screens [i].update_desktop_handler)
- {
- g_source_remove (gail_screens [i].update_desktop_handler);
- gail_screens [i].update_desktop_handler = 0;
- }
-
- free_screen_info (&gail_screens [i]);
- }
-
- g_free (gail_screens);
- gail_screens = NULL;
- num_screens = 0;
-}
-
-static void
-init_gail_screens (void)
-{
- GdkDisplay *display;
-
- display = gdk_display_get_default ();
-
- num_screens = gdk_display_get_n_screens (display);
-
- gail_screens = g_new0 (GailScreenInfo, num_screens);
- gdk_window_add_filter (NULL, filter_func, NULL);
-
- g_signal_connect (display, "closed", G_CALLBACK (display_closed), NULL);
-}
-
-static void
-init_gail_screen (GdkScreen *screen,
- int screen_n)
-{
- XWindowAttributes attrs;
-
- gail_screens [screen_n].root_window = gdk_screen_get_root_window (screen);
-
- get_stacked_windows (&gail_screens [screen_n]);
-
- XGetWindowAttributes (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
- GDK_WINDOW_XID (gail_screens [screen_n].root_window),
- &attrs);
-
- XSelectInput (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
- GDK_WINDOW_XID (gail_screens [screen_n].root_window),
- attrs.your_event_mask | PropertyChangeMask);
-
- gail_screens [screen_n].screen_initialized = TRUE;
-}
-
-static GailScreenInfo *
-get_screen_info (GdkScreen *screen)
-{
- int screen_n;
-
- gail_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
-
- screen_n = gdk_screen_get_number (screen);
-
- if (gail_screens && gail_screens [screen_n].screen_initialized)
- return &gail_screens [screen_n];
-
- if (!gail_screens)
- init_gail_screens ();
-
- g_assert (gail_screens != NULL);
-
- init_gail_screen (screen, screen_n);
-
- g_assert (gail_screens [screen_n].screen_initialized);
-
- return &gail_screens [screen_n];
-}
-
-static gint
-get_window_zorder (GdkWindow *window)
-{
- GailScreenInfo *info;
- Window xid;
- int i;
- int zorder;
- int w_desktop;
-
- gail_return_val_if_fail (GDK_IS_WINDOW (window), -1);
-
- info = get_screen_info (gdk_window_get_screen (window));
-
- gail_return_val_if_fail (info->stacked_windows != NULL, -1);
-
- xid = GDK_WINDOW_XID (window);
-
- w_desktop = -1;
- for (i = 0; i < info->stacked_windows_len; i++)
- {
- if (info->stacked_windows [i] == xid)
- {
- w_desktop = info->desktop[i];
- break;
- }
- }
- if (w_desktop < 0)
- return w_desktop;
-
- zorder = 0;
- for (i = 0; i < info->stacked_windows_len; i++)
- {
- if (info->stacked_windows [i] == xid)
- {
- return zorder;
- }
- else
- {
- if (info->desktop[i] == w_desktop)
- zorder++;
- }
- }
-
- return -1;
-}
-
-static gint
-gail_window_get_mdi_zorder (AtkComponent *component)
-{
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return -1;
-
- gail_return_val_if_fail (GTK_IS_WINDOW (widget), -1);
-
- return get_window_zorder (gtk_widget_get_window (widget));
-}
-
-#elif defined (GDK_WINDOWING_WIN32)
-
-static gint
-gail_window_get_mdi_zorder (AtkComponent *component)
-{
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return -1;
-
- gail_return_val_if_fail (GTK_IS_WINDOW (widget), -1);
-
- return 0; /* Punt, FIXME */
-}
-
-#else
-
-static gint
-gail_window_get_mdi_zorder (AtkComponent *component)
-{
- GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component));
-
- if (widget == NULL)
- /*
- * State is defunct
- */
- return -1;
-
- gail_return_val_if_fail (GTK_IS_WINDOW (widget), -1);
-
- return 0; /* Punt, FIXME */
-}
-
-#endif
+++ /dev/null
-/* GAIL - The GNOME Accessibility Implementation Library
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GAIL_WINDOW_H__
-#define __GAIL_WINDOW_H__
-
-#include <gail/gailcontainer.h>
-
-G_BEGIN_DECLS
-
-#define GAIL_TYPE_WINDOW (gail_window_get_type ())
-#define GAIL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_WINDOW, GailWindow))
-#define GAIL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_WINDOW, GailWindowClass))
-#define GAIL_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_WINDOW))
-#define GAIL_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_WINDOW))
-#define GAIL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_WINDOW, GailWindowClass))
-
-typedef struct _GailWindow GailWindow;
-typedef struct _GailWindowClass GailWindowClass;
-
-struct _GailWindow
-{
- GailContainer parent;
-
- guint name_change_handler;
- gchar *previous_name;
-};
-
-GType gail_window_get_type (void);
-
-struct _GailWindowClass
-{
- GailContainerClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GAIL_WINDOW_H__ */
+++ /dev/null
-## Makefile.am for gtk+/tests
-include $(top_srcdir)/Makefile.decl
-
-if PLATFORM_WIN32
-no_undefined = -no-undefined
-endif
-
-moduledir = $(libdir)/gtk-3.0/modules
-
-if !OS_WIN32
-module_LTLIBRARIES = \
- libferret.la
-endif
-
-noinst_LTLIBRARIES = \
- libtestaction.la \
- libtestbutton.la \
- libtestcombo.la \
- libtestcomponent.la \
- libtestimage.la \
- libtestnotebook.la \
- libtestobject.la \
- libtestmenuitem.la \
- libtestpaned.la \
- libtestprops.la \
- libtestselection.la \
- libteststatusbar.la \
- libtesttable.la \
- libtesttext.la \
- libtesttoplevel.la \
- libtesttreetable.la \
- libtestvalues.la
-
-AM_CPPFLAGS = \
- -I$(top_srcdir) \
- -I$(top_srcdir)/gdk \
- -I$(top_builddir)/gdk \
- -I$(top_srcdir)/gtk \
- -I$(top_builddir)/gtk \
- -DGDK_DISABLE_DEPRECATED\
- -DGTK_DISABLE_DEPRECATED
-
-AM_CFLAGS = \
- $(GTK_DEP_CFLAGS) \
- $(GTK_DEBUG_FLAGS)
-
-if !OS_WIN32
-libferret_la_SOURCES = \
- testlib.c \
- testlib.h \
- ferret.c
-
-libferret_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version \
- $(no_undefined) \
- $(LDFLAGS)
-
-libferret_la_LIBADD = \
- $(top_builddir)/gtk/libgtk-3.la \
- $(GTK_DEP_LIBS) \
- $(GAIL_INET_LIBS)
-endif
-
-libtestaction_la_SOURCES = \
- testaction.c
-
-libtestaction_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtestbutton_la_SOURCES = \
- testlib.c \
- testlib.h \
- testbutton.c
-
-libtestbutton_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtestcombo_la_SOURCES = \
- testlib.c \
- testlib.h \
- testcombo.c
-
-libtestcombo_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtestcomponent_la_SOURCES = \
- testcomponent.c
-
-libtestcomponent_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtestimage_la_SOURCES = \
- testimage.c
-
-libtestimage_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtestmenuitem_la_SOURCES = \
- testlib.c \
- testlib.h \
- testmenuitem.c
-
-libtestmenuitem_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtestnotebook_la_SOURCES = \
- testlib.c \
- testlib.h \
- testnotebook.c
-
-libtestnotebook_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtestobject_la_SOURCES = \
- testlib.c \
- testlib.h \
- testobject.c
-
-libtestobject_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtestpaned_la_SOURCES = \
- testlib.c \
- testlib.h \
- testpaned.c
-
-libtestpaned_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtestprops_la_SOURCES = \
- testlib.c \
- testlib.h \
- testprops.c
-
-libtestprops_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtestselection_la_SOURCES = \
- testselection.c
-
-libtestselection_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libteststatusbar_la_SOURCES = \
- teststatusbar.c
-
-libteststatusbar_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtesttable_la_SOURCES = \
- testlib.c \
- testlib.h \
- testtextlib.c \
- testtextlib.h \
- testtable.c
-
-libtesttable_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtesttext_la_SOURCES = \
- testlib.c \
- testlib.h \
- testtextlib.c \
- testtextlib.h \
- testtext.c
-
-libtesttext_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtesttoplevel_la_SOURCES = \
- testlib.c \
- testlib.h \
- testtoplevel.c
-
-libtesttoplevel_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtesttreetable_la_SOURCES = \
- testlib.c \
- testlib.h \
- testtreetable.c
-
-libtesttreetable_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
-libtestvalues_la_SOURCES = \
- testvalues.c
-
-libtestvalues_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version $(no_undefined) \
- $(top_builddir)/gtk/libgtk-3.la \
- $(top_builddir)/gdk/libgdk-3.la \
- $(GTK_DEP_LIBS) \
- $(LDFLAGS)
-
--include $(top_srcdir)/git.mk
+++ /dev/null
-
-============================
-GAIL README
-Last Updated: August 2, 2001
-============================
-
-
-General Info
-============
-
-This README describes how to use the various test programs
-in the gail/tests directory.
-
-To run the various test programs described in this README,
-the test libraries must be built and installed. Running
-"make", then "make install" in the gail top-level directory
-will take care of this. Then do the following:
-
-1. Set the environment variable GTK_MODULES to
- "libgail:lib<testname>"
-
- For example, for ferret, it would be "libgail:libferret"
-
-2. Run the GTK+ test program specified. These test programs
- are found in the GTK+ build directory in the subdirectory
- called "tests".
-
-Most test programs will display output directly to the
-terminal window where the GTK+ test program was launched.
-Some test programs (testtable and testtext) will launch a
-test GUI program which allows more interactive testing.
-
-The test GUI has two windows. The first window is the
-"Test Control" window and the second window is the
-"Test Output" window. In the "Test Control" window,
-press the button(s) that corresponds to the tests to run
-and press the "Run Tests" button at the bottom of the
-screen. Some tests have associated text entry fields
-which become active when the button is toggled on. These
-text entry fields correspond to arguments that affect how
-the test is executed. They are pre-filled with default
-values but the user can change them if desired. The
-output from the tests is displayed in the "Test Output"
-window.
-
-
-testlib
-=======
-
-Contains general purpose functionality that is used by the
-various tests. These include functions that find a specific
-widget/AtkObject in the test program, and functions used by
-tests that use the Gail Test GUI.
-
-
-ferret
-======
-
-Ferret is a passive in-process test tool for ATK and GAIL.
-
-Run a GTK+-2.0 application such as "testgtk", and ferret will
-display a window on screen. In this window accessibility
-information about the GTK+ widgets will appear as they
-receive focus.
-
-The ferret window has several tabs, one for each of the
-following ATK interfaces.
-
- Object
- Action
- Component
- Image
- Table
- Text
- Value
-
-Tabs that do not apply to the current widget in focus will be
-displayed as inactive. Clicking on an active tab will display
-information about the AtkObject accessed via the ATK API. In the
-Action tab the various actions are displayed as buttons. When
-a button is clicked, the action specified on the button's
-label is performed.
-
-If you have installed the "festival" speech synthesis system,
-running festival in server mode (festival --server) and turning
-on Ferret's Festival support will cause the following to happen:
-
-1. AtkObject accessible names, roles, and keybindings will be
- spoken as they receive focus.
-2. When the caret (cursor) is moved in a text field, the
- current line will be spoken, unless the caret is moved
- just a single character. In the later case, only the
- single character after the caret will be spoken.
-
-Festival support can be turned on by checking "Festival" in the
-menu, or by setting the environment variable FERRET_FESTIVAL
-prior to starting the test. By checking "Festival Terse" or
-by setting the environment variable FERRET_TERSE, only the
-name of the AtkObject will be spoken (and not the roles and
-keybindings).
-
-A magnifier can be turned on to enlarge the widget in focus
-by checking "Magnifier" in the menu, or by setting the
-environment variable FERRET_MAGNIFIER. This requires that
-the magnifier standalone code is running.
-
-Checking "Track Mouse in the menu or by setting the environment
-variable FERRET_MOUSETRACK causes ferret to display information
-about the widget that is under the mouse rather than the widget
-that has focus. The mouse is tracked via GtkWidget
-"enter_notify_event" signals, so flyweight objects are not tracked.
-
-Checking "Terminal Output" in the menu or by setting the
-environment variable FERRET_ASCII will display the information
-that is normally displayed to the ferret GUI window to the
-terminal screen.
-
-Checking "No ATK Signals" in the menu or by setting the
-environment variable FERRET_NOSIGNALS will cause ferret to
-ignore any ATK signals, and it will not update its display
-when such signals occur.
-
-
-testaction
-==========
-
-This is a GTK+ module used to test the implementation of the ATK
-interface AtkAction, except for atk_action_do_action() in the GAIL
-library. It is normally used with the GTK+ test program testgtk.
-
-
-testbutton
-==========
-
-This is a GTK+ module used to test the accessible implementation
-for buttons. It is normally used with the GTK+ test program testgtk.
-
-Set the TEST_ACCESSIBLE_NAME environment variable to have the test
-driver attach to a widget by widget name (compared via the
-gtk_widget_get_name function call).
-
-Set the environment variable TEST_ACCESSIBLE_AUTO and the program
-will execute the action defined for a GailButton once.
-
-
-testcombo
-=========
-
-This is a GTK+ module used to test the implementation of the ATK action
-interfaces on GailCombo. It is normally used with the GTK+ test program
-testgtk by putting the focus in the GtkCombo in entry window.
-
-
-testcomponent
-=============
-
-This is a GTK+ module used to test the implementation of the ATK
-interface AtkComponent in the GAIL library. It is normally used with the
-GTK+ test program testgtk.
-
-
-testimage
-=========
-
-This is a GTK+ module used to test the implementation of the ATK
-interface AtkImage in the GAIL library. It is normally used with the GTK+
-test program testgtk, but can also be used with testdnd when you want
-to test GtkPixmap. This modules pops up an extra dialog on startup , containing
-GtkArrows and a GtkImage. This dialog has to be closed before control is returned to main window.
-
-
-testmenuitem
-============
-
-This is a GTK+ module used to test the accessible implementation
-for menu items. It is normally used with the GTK+ test program testgtk.
-
-Set the TEST_ACCESSIBLE_NAME environment variable to have the test
-driver attach to a widget by widget name (compared via the
-gtk_widget_get_name function call).
-
-Set the environment variable TEST_ACCESSIBLE_AUTO and the program
-will execute the action defined for a GailButton once.
-
-
-testnotebook
-=============
-
-This is a GTK+ module used to test the implementation of the ATK
-interface AtkSelection for GailNotebook. It is normally used with the
-GTK+ test program testgtk.
-
-
-testobject
-==========
-
-This is a GTK+ module used to test the implementation of the ATK
-interface in atkobject.h in the GAIL library. It is normally used with the
-GTK+ test program testgtk.
-
-
-testpaned
-=========
-
-This is a GTK+ module used to test the implementation of the ATK
-interface AtkValue for GailPaned. It is normally used with the
-GTK+ test program testgtk. It checks the setting of the position
-programmatically and that notification is received if the position
-is changed interactively.
-
-
-testprops
-==========
-
-This is a GTK+ module used to test the implementation of ATK properties
-and property change handlers in the GAIL library. It is normally used with
-the GTK+ test program testgtk. To see the changing of the state
-ATK_STATE_SHOWING use menus in "progress bar". To see the changing of the
-state ATK_STATE_SENSITIVE uses "labels". To see changing of child and parent
-use resize check box in "panes".
-
-Set the TEST_ACCESSIBLE_NAME environment variable to have the test
-driver attach to a widget by widget name (compared via the
-gtk_widget_get_name function call).
-
-
-testselection
-=============
-
-This is a GTK+ module used to test the implementation of the AtkSelection
-interface works for the GAIL library. It is normally used with the GTK+
-test program testgtk and clicking on the menus option. It can also be used
-with the GtkCombo which can be accessed by clicking on the entry option.
-
-
-teststatusbar
-=============
-
-This is a GTK+ module used to test that the text on the statusbar
-can be retrieved using GailStatusbar. It is normally used with the GTK+
-test program testgtk and clicking on statusbar button.
-
-
-testtable
-=========
-
-This is GTK+ module used to test the implementation of AtkTable
-interfaces. It can be used with GailTreeView, for example. It
-can be used with any of the following GTK+ test programs:
-testtreecolumns, testtreefocus, testtreesort, testtreeview,
-or treestoretest.
-
-Set the TEST_ACCESSIBLE_NO_PROPERTIES environment variable
-to not receive information about property values changing
-(like cell state changes).
-
-Set the TEST_ACCESSIBLE_NO_GUI environment variable to run the
-test without the GUI program.
-
-
-testtext
-========
-
-This is a GTK+ module used to test the implementation of AtkText and
-AtkEditableText interfaces on GailTextView. It is normally used with
-the GTK+ test program testtext started with a text file loaded.
-It can also be used with the GTK+ test program testgtk, and then
-click on the "entry" or "label" button.
-
-Set the TEST_ACCESSIBLE_NAME environment variable to have the test
-driver attach to a widget by widget name (compared via the
-gtk_widget_get_name function call).
-
-Set the TEST_ACCESSIBLE_DELAY environment variable to an integer
-and the test driver will attach to only a widget on the nth screen
-that is displayed.
-
-
-testtoplevel
-============
-
-This test exercises the AtkUtil functions. It accesses the
-atk_get_root() toplevel object, sets/removes global listeners,
-and displays the ATK implementation name/version.
-
-Set the TEST_ACCESSIBLE_DEPTH environment variable to control
-how deep the children of the toplevel object are displayed.
-The default is a depth of 2. Specifying a depth of -1 will
-show the complete hierarchy.
-
-
-testvalues
-==========
-
-This is a GTK+ module used to test the implementation of AtkValue interface
-works for the GAIL library. GailProgressbar, GailSpinbutton and GailRange
-can all be tested using this module.
-
-
-GAIL README Authors
-===================
-
--Brian Cameron (brian.cameron@sun.com)
--Bill Haneman (bill.haneman@sun.com)
--Padraig O'Briain (padraig.obriain@sun.com)
-
+++ /dev/null
-#define MAX_BUFFER 256
-#define MAX_GROUPS 20
-#define MAX_NAME_VALUE 20
-
-#include "config.h"
-
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-#include <errno.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <strings.h>
-
-#include "testlib.h"
-
-typedef enum
-{
- OBJECT,
- ACTION,
- COMPONENT,
- IMAGE,
- SELECTION,
- TABLE,
- TEXT,
- VALUE,
- END_TABS
-} TabNumber;
-
-typedef enum
-{
- OBJECT_INTERFACE,
- RELATION_INTERFACE,
- STATE_INTERFACE,
- ACTION_INTERFACE,
- COMPONENT_INTERFACE,
- IMAGE_INTERFACE,
- SELECTION_INTERFACE,
- TABLE_INTERFACE,
- TEXT_INTERFACE,
- TEXT_ATTRIBUTES,
- VALUE_INTERFACE
-} GroupId;
-
-typedef enum
-{
- VALUE_STRING,
- VALUE_BOOLEAN,
- VALUE_TEXT,
- VALUE_BUTTON
-} ValueType;
-
-/* GUI Information for the group */
-
-typedef struct
-{
- GroupId group_id;
- GtkFrame *scroll_outer_frame;
- GtkWidget *frame;
- GtkBox *group_vbox;
- GtkAdjustment *adj;
- GList *name_value;
- gchar *name;
- gboolean is_scrolled;
- gint default_height;
-} GroupInfo;
-
-typedef struct
-{
- GList *groups;
- GtkWidget *page;
- GtkWidget *main_box;
- gchar *name;
-} TabInfo;
-
-typedef struct
-{
- ValueType type;
- gboolean active;
-
- GtkBox *column1, *column2, *hbox;
- GtkLabel *label;
-
- GtkButton *button;
- GValue button_gval;
- gulong signal_id;
- AtkObject *atkobj;
- gint action_num;
-
- GtkWidget *string;
- GtkWidget *boolean;
- GtkWidget *text;
-} NameValue;
-
-typedef enum {
- FERRET_SIGNAL_OBJECT,
- FERRET_SIGNAL_TEXT,
- FERRET_SIGNAL_TABLE
-} FerretSignalType;
-
-/* Function prototypes */
-
-/* GUI functions */
-
-static void _init_data(void);
-static void _create_window(void);
-static void _add_menu(GtkWidget ** menu, GtkWidget ** menuitem,
- gchar * name, gboolean init_value, GCallback func);
-static void _clear_tab(TabNumber tab_n);
-static void _greyout_tab (GtkWidget *widget, gboolean is_sensitive);
-static void _finished_group(TabNumber tab_n, gint group_num);
-static gboolean _object_is_ours (AtkObject *aobject);
-static void _create_event_watcher (void);
-
-/* Mouse Watcher/Magnifier/Festival functions */
-
-static gboolean _mouse_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-static gboolean _button_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-static void _send_to_magnifier (gint x, gint y, gint w, gint h);
-static void _send_to_festival (const gchar * name,
- const gchar * role_name, const gchar * accel);
-static void _speak_caret_event (AtkObject * aobject);
-static void _festival_say (const gchar * text);
-static void _festival_write (const gchar * text, int fd);
-static gint _festival_init (void);
-
-/* Update functions */
-
-static void _update_current_page(GtkNotebook *notebook, gpointer p,
- guint current_page);
-static void _update(TabNumber top_tab, AtkObject *aobject);
-
-/* Print functions */
-
-static void _print_accessible (AtkObject *aobject);
-
-static gint _print_object (AtkObject *aobject);
-static gint _print_relation (AtkObject *aobject);
-static gint _print_state (AtkObject *aobject);
-
-static gint _print_action (AtkAction *aobject);
-static gint _print_component (AtkComponent *aobject);
-static gint _print_image (AtkImage *aobject);
-static gint _print_selection (AtkSelection *aobject);
-static gint _print_table (AtkTable *aobject);
-static gint _print_text (AtkText *aobject);
-static gint _print_text_attributes (AtkText *aobject);
-static gint _print_value (AtkValue *aobject);
-static void _print_value_type(gint group_num, gchar *type, GValue *value);
-static gint _print_groupname(TabNumber tab_n, GroupId group_id,
- const char *groupname);
-static NameValue* _print_key_value(TabNumber tab_n, gint group_number,
- const char *label, gpointer value, ValueType type);
-static void _print_signal(AtkObject *aobject, FerretSignalType type,
- const char *name, const char *info);
-
-/* Data Access functions */
-
-static GroupInfo* _get_group(TabInfo *tab, GroupId group_id,
- const gchar *groupname);
-void _get_group_scrolled(GroupInfo *group);
-static NameValue* _get_name_value(GroupInfo *group, const gchar *label,
- gpointer value, ValueType type);
-
-/* Signal handlers */
-
-static void _update_handlers(AtkObject *obj);
-static void _notify_text_insert_handler (GObject *obj,
- int position, int offset);
-static void _notify_text_delete_handler (GObject *obj,
- int position, int offset);
-static void _notify_caret_handler (GObject *obj, int position);
-static void _notify_table_row_inserted (GObject *obj,
- gint start_offset, gint length);
-static void _notify_table_column_inserted (GObject *obj,
- gint start_offset, gint length);
-static void _notify_table_row_deleted (GObject *obj,
- gint start_offset, gint length);
-static void _notify_table_column_deleted (GObject *obj,
- gint start_offset, gint length);
-static void _notify_table_row_reordered (GObject *obj);
-static void _notify_table_column_reordered (GObject *obj);
-static void _notify_object_child_added (GObject *obj,
- gint index, AtkObject *child);
-static void _notify_object_child_removed (GObject *obj,
- gint index, AtkObject *child);
-static void _notify_object_state_change (GObject *obj,
- gchar *name, gboolean set);
-
-/* Property handlers */
-
-static void _property_change_handler (AtkObject *obj,
- AtkPropertyValues *values);
-
-/* Ferret GUI callbacks */
-
-void _action_cb(GtkWidget *widget, gpointer *userdata);
-void _toggle_terminal(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data);
-void _toggle_no_signals(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data);
-void _toggle_magnifier(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data);
-void _toggle_festival(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data);
-void _toggle_festival_terse(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data);
-void _toggle_trackmouse(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data);
-void _toggle_trackfocus(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data);
-
-/* Global variables */
-static GtkNotebook *notebook;
-static TabInfo *nbook_tabs[END_TABS];
-static gint mouse_watcher_focus_id = -1;
-static gint mouse_watcher_button_id = -1;
-static gint focus_tracker_id = -1;
-static gboolean use_magnifier = FALSE;
-static gboolean use_festival = FALSE;
-static gboolean track_mouse = FALSE;
-static gboolean track_focus = TRUE;
-static gboolean say_role = TRUE;
-static gboolean say_accel = TRUE;
-static gboolean display_ascii = FALSE;
-static gboolean no_signals = FALSE;
-static gint last_caret_offset = 0;
-
-static AtkObject *last_object = NULL;
-static GtkWidget *mainWindow = NULL;
-static GtkWidget *vbox1 = NULL;
-static GtkWidget *menu = NULL;
-static GtkWidget *menutop = NULL;
-static GtkWidget *menubar = NULL;
-static GtkWidget *menuitem_terminal = NULL;
-static GtkWidget *menuitem_no_signals = NULL;
-static GtkWidget *menuitem_magnifier = NULL;
-static GtkWidget *menuitem_festival = NULL;
-static GtkWidget *menuitem_festival_terse = NULL;
-static GtkWidget *menuitem_trackmouse = NULL;
-static GtkWidget *menuitem_trackfocus = NULL;
-
-#ifdef HAVE_SOCKADDR_UN_SUN_LEN
-static struct sockaddr_un mag_server = { 0, AF_UNIX , "/tmp/magnifier_socket" };
-static struct sockaddr_un client = { 0 , AF_UNIX, "/tmp/mag_client"};
-#else
-static struct sockaddr_un mag_server = { AF_UNIX , "/tmp/magnifier_socket" };
-static struct sockaddr_un client = { AF_UNIX, "/tmp/mag_client"};
-#endif
-
-/* GUI Information for the output window */
-typedef struct
-{
- GtkWindow *outputWindow;
- GtkWidget *hbox;
- GtkWidget *vbox;
- GtkWidget *label;
- GtkWidget *textInsert;
- gchar *testTitle;
-} MainDialog;
-
-static void
-_send_to_magnifier(gint x, gint y, gint w, gint h)
-{
- int desc;
- int length_msg G_GNUC_UNUSED;
- gchar buff[100];
-
- sprintf (buff, "~5:%d,%d", x+w/2, y+h/2);
-
-#ifdef MAG_DEBUG
- g_print ("sending magnifier: %s\n", buff);
-#endif
-
-#ifdef HAVE_SOCKADDR_UN_SUN_LEN
- mag_server.sun_len = SUN_LEN(&mag_server);
- client.sun_len = SUN_LEN(&client);
-#endif
-
- if((desc=socket(AF_UNIX,SOCK_STREAM,0)) == -1){
- perror("socket");
- return;
- }
- unlink("/tmp/mag_client");
-
- if (bind(desc, (struct sockaddr*)&client, sizeof(client)) == -1)
- {
- perror("bind");
- return;
- }
-
- if (connect(desc,(struct sockaddr*)&mag_server,sizeof(mag_server)) == -1)
- {
- perror("connect");
- return;
- }
-
- length_msg = write(desc,buff,strlen(buff));
- unlink("/tmp/mag_client");
- return;
-}
-
-static int _festival_init (void)
-{
- int fd;
- struct sockaddr_in name;
- int tries = 2;
-
- name.sin_family = AF_INET;
- name.sin_port = htons (1314);
- name.sin_addr.s_addr = htonl(INADDR_ANY);
- fd = socket (PF_INET, SOCK_STREAM, 0);
-
- while (connect(fd, (struct sockaddr *) &name, sizeof (name)) < 0) {
- if (!tries--) {
- perror ("connect");
- return -1;
- }
- }
-
- _festival_write ("(audio_mode'async)", fd);
- return fd;
-}
-
-static void _festival_say (const gchar *text)
-{
- static int fd = 0;
- gchar *quoted;
- gchar *p;
- gchar prefix [100];
- const gchar *stretch;
-
- fprintf (stderr, "saying %s\n", text);
-
- if (!fd)
- {
- fd = _festival_init ();
- }
-
- quoted = g_malloc(100+strlen(text)*2);
-
- stretch = g_strdup (g_getenv ("FESTIVAL_STRETCH"));
- if (!stretch) stretch = "0.75";
- sprintf (prefix, "(audio_mode'shutup)\n (Parameter.set 'Duration_Stretch %s)\n (SayText \"", stretch);
-
- strcpy(quoted, prefix);
- p = quoted + strlen (prefix);
- while (*text) {
- if ( *text == '\\' || *text == '"' )
- *p = '\\';
- *p++ = *text++;
- }
- *p++ = '"';
- *p++ = ')';
- *p = 0;
-
- _festival_write (quoted, fd);
-
- g_free(quoted);
-}
-
-
-static void _send_to_festival (const gchar *role_name,
- const gchar *name, const gchar *accel)
-{
- gchar *string;
- int len = (strlen (role_name)+1 + strlen (name)+2 + 4 + strlen (accel)+2);
- int i, j;
- gchar ch;
- gchar *accel_name;
-
- string = (gchar *) g_malloc (len * sizeof (gchar));
-
- i = 0;
- if (say_role)
- {
- j = 0;
- while (role_name[j])
- {
- ch = role_name[j++];
- if (ch == '_') ch = ' ';
- string[i++] = ch;
- };
- string[i++] = ' ';
- }
- j = 0;
- while (name[j])
- {
- ch = name[j++];
- if (ch == '_') ch = ' ';
- string[i++] = ch;
- };
- if ((say_accel) && (strlen (accel) > 0))
- {
- accel_name = (gchar *)accel;
- if (strncmp (accel, "<C", 2) == 0)
- {
- accel_name = strncpy (accel_name, " control ", 9);
- }
- else if (strncmp (accel, " control", 5))
- {
- string[i++] = ' ';
- string[i++] = 'a';
- string[i++] = 'l';
- string[i++] = 't';
- string[i++] = ' ';
- }
- j = 0;
- while (accel_name[j])
- {
- ch = accel_name[j++];
- if (ch == '_') ch = ' ';
- string[i++] = ch;
- };
- }
- string[i] = '\0';
-
- _festival_say (string);
- g_free (string);
-}
-
-static void _festival_write (const gchar *command_string, int fd)
-{
- gssize n_bytes;
-
- if (fd < 0) {
- perror("socket");
- return;
- }
- n_bytes = write(fd, command_string, strlen(command_string));
- g_assert (n_bytes == strlen(command_string));
-}
-
-static void _speak_caret_event (AtkObject *aobject)
-{
- gint dummy1, dummy2;
- gint caret_offset = atk_text_get_caret_offset (ATK_TEXT (aobject));
- gchar * text;
-
- if (abs(caret_offset - last_caret_offset) > 1)
- {
- text = atk_text_get_text_at_offset (ATK_TEXT (aobject),
- caret_offset,
- ATK_TEXT_BOUNDARY_LINE_START,
- &dummy1,
- &dummy2);
- }
- else
- {
- text = atk_text_get_text_before_offset (ATK_TEXT (aobject),
- caret_offset,
- ATK_TEXT_BOUNDARY_CHAR,
- &dummy1,
- &dummy2);
- }
- _festival_say (text);
- g_free (text);
- last_caret_offset = caret_offset;
-}
-
-static void
-_greyout_tab (GtkWidget *page_child, gboolean is_sensitive)
-{
- GtkWidget *tab;
-
- tab = gtk_notebook_get_tab_label (notebook, page_child);
- if (tab)
- gtk_widget_set_sensitive (GTK_WIDGET (tab), is_sensitive);
-}
-
-static void
-_refresh_notebook (AtkObject *aobject)
-{
- if (ATK_IS_OBJECT (aobject))
- {
- _greyout_tab (nbook_tabs[ACTION]->page, ATK_IS_ACTION(aobject));
- _greyout_tab (nbook_tabs[COMPONENT]->page, ATK_IS_COMPONENT(aobject));
- _greyout_tab (nbook_tabs[IMAGE]->page, ATK_IS_IMAGE(aobject));
- _greyout_tab (nbook_tabs[SELECTION]->page, ATK_IS_SELECTION(aobject));
- _greyout_tab (nbook_tabs[TABLE]->page, ATK_IS_TABLE(aobject));
- _greyout_tab (nbook_tabs[TEXT]->page, ATK_IS_TEXT(aobject));
- _greyout_tab (nbook_tabs[VALUE]->page, ATK_IS_VALUE(aobject));
- }
-}
-
-static void _print_accessible (AtkObject *aobject)
-{
- TabNumber top_tab;
-
- if (_object_is_ours(aobject))
- {
- if (display_ascii)
- g_print("\nFocus entered the ferret output window!\n");
- return;
- }
-
- _refresh_notebook(aobject);
-
- if (display_ascii)
- g_print("\nFocus change\n");
-
- /* Do not attach signal handlers if the user has asked not to */
- if (!no_signals)
- _update_handlers(aobject);
- else
- last_object = aobject; /* _update_handler normally does this */
-
- top_tab = gtk_notebook_get_current_page (notebook) + OBJECT;
- _update(top_tab, aobject);
-
- if (use_magnifier)
- {
- gint x, y;
- gint w=0, h=0;
-
- if (ATK_IS_TEXT (aobject))
- {
- gint x0, y0, w0, h0;
- gint xN, yN, wN, hN;
- gint len;
- len = atk_text_get_character_count (ATK_TEXT (aobject));
- atk_text_get_character_extents (ATK_TEXT (aobject), 0,
- &x0, &y0, &w0, &h0,
- ATK_XY_SCREEN);
- if (len > 0)
- {
- atk_text_get_character_extents (ATK_TEXT (aobject), len-1,
- &xN, &yN, &wN, &hN,
- ATK_XY_SCREEN);
- x = MIN (x0, xN);
- y = MIN (y0, yN);
- w = MAX (x0+w0, xN+wN) - x;
- h = MAX (y0+h0, yN+hN) - y;
- }
- else
- {
- x = x0;
- y = y0;
- }
- }
- else if (ATK_IS_COMPONENT (aobject))
- {
- atk_component_get_extents (ATK_COMPONENT(aobject),
- &x, &y, &w, &h,
- ATK_XY_SCREEN);
- }
- if (w > -1) _send_to_magnifier (x, y, w, h);
- }
-}
-
-static gboolean
-_object_is_ours (AtkObject *aobject)
-{
- /* determine whether this object is parented by our own accessible... */
-
- AtkObject *toplevel = aobject;
-
- while (atk_object_get_role(aobject) != ATK_ROLE_FRAME)
- {
- aobject = atk_object_get_parent (aobject);
- if (aobject == NULL) break;
- toplevel = aobject;
- };
-
- /*
- * Some widgets do not have an ATK_ROLE_FRAME at the top,
- * so ignore those.
- */
- if (aobject != NULL)
- {
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (toplevel));
- if (widget == mainWindow)
- return TRUE;
- }
-
- return FALSE;
-}
-
-static gchar *
-ferret_get_name_from_container (AtkObject *aobject)
-{
- gchar *s = NULL;
- gint n = atk_object_get_n_accessible_children (aobject);
- gint i = 0;
-
- while (!s && (i < n))
- {
- AtkObject *child;
- child = atk_object_ref_accessible_child (aobject, i);
- if (ATK_IS_TEXT (child))
- {
- gint count = atk_text_get_character_count (ATK_TEXT (child));
- s = atk_text_get_text (ATK_TEXT (child),
- 0,
- count);
- }
- g_object_unref (child);
- ++i;
- }
-
- if (!s)
- {
- s = g_strdup ("");
- }
- return s;
-}
-
-static gint
-_print_object (AtkObject *aobject)
-{
- GtkWidget *widget;
- const gchar * parent_name = NULL;
- const gchar * name = NULL;
- const gchar * description = NULL;
- const gchar * typename = NULL;
- const gchar * parent_typename = NULL;
- const gchar * role_name = NULL;
- const gchar * accel_name = NULL;
- const gchar * text = NULL;
- AtkRole role;
- AtkObject *parent = NULL;
- static AtkObject *prev_aobject = NULL;
- gint n_children = 0;
- gint index_in_parent = -1;
- gchar *output_str;
- gint group_num;
- TabNumber tab_n = OBJECT;
-
- group_num = _print_groupname(tab_n, OBJECT_INTERFACE, "Object Interface");
-
- name = atk_object_get_name (aobject);
- typename = g_type_name (G_OBJECT_TYPE (aobject));
- description = atk_object_get_description (aobject);
- parent = atk_object_get_parent(aobject);
- if (parent)
- index_in_parent = atk_object_get_index_in_parent(aobject);
- n_children = atk_object_get_n_accessible_children(aobject);
- role = atk_object_get_role(aobject);
- role_name = atk_role_get_name(role);
-
- if (ATK_IS_ACTION (aobject))
- {
- accel_name = atk_action_get_keybinding (ATK_ACTION(aobject), 0);
- if (!accel_name) accel_name = "";
- }
- else
- {
- accel_name = "";
- }
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (aobject));
- if (widget)
- {
- _print_key_value(tab_n, group_num, "Widget name",
- (gpointer)gtk_widget_get_name (widget),
- VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num, "Widget name", "No Widget",
- VALUE_STRING);
- }
-
- if (typename)
- {
- _print_key_value(tab_n, group_num, "Accessible Type",
- (gpointer)typename, VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num, "Accessible Type", "NULL",
- VALUE_STRING);
- }
-
- if (name)
- {
- _print_key_value(tab_n, group_num, "Accessible Name",
- (gpointer)name, VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num, "Accessible Name", "(unknown)",
- VALUE_STRING);
- }
- if (use_festival)
- {
- if (aobject != prev_aobject)
- {
- if (ATK_IS_TEXT (aobject) && !name)
- {
- text =
- atk_text_get_text_at_offset (ATK_TEXT (aobject),
- (gint) 0,
- ATK_TEXT_BOUNDARY_SENTENCE_END,
- (gint *) NULL,
- (gint *) NULL);
- fprintf (stderr, "first sentence: %s\n", text);
- _send_to_festival (role_name,
- text, "");
- if (!name) name = "no name";
- }
- else
- {
- text = "";
- if (!name)
- {
- if (atk_object_get_role (aobject) == ATK_ROLE_TABLE_CELL)
- {
- gchar *cname = ferret_get_name_from_container (aobject);
- if (cname) name = g_strdup (cname);
- }
- else if (atk_object_get_role (aobject) == ATK_ROLE_CHECK_BOX)
- {
- name = g_strdup ("check box");
- }
- else
- {
- name = "no name";
- }
- }
- _send_to_festival (role_name, name, accel_name);
- }
- }
- }
-
- if (parent)
- {
- parent_name = atk_object_get_name(parent);
-
- parent_typename = g_type_name (G_OBJECT_TYPE (parent));
-
- if (parent_typename)
- {
- _print_key_value(tab_n, group_num, "Parent Accessible Type",
- (gpointer)parent_typename, VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num,
- "Parent Accessible Type", "NULL", VALUE_STRING);
- }
-
- if (parent_name)
- {
- _print_key_value(tab_n, group_num, "Parent Accessible Name",
- (gpointer)parent_name, VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num,
- "Parent Accessible Name", "NULL", VALUE_STRING);
- }
-
- output_str = g_strdup_printf("%d", index_in_parent);
- _print_key_value(tab_n, group_num, "Index in Parent",
- (gpointer)output_str, VALUE_STRING);
- g_free(output_str);
- }
- else
- {
- _print_key_value(tab_n, group_num, "Parent", "NULL", VALUE_STRING);
- }
-
- if (description)
- {
- _print_key_value(tab_n, group_num, "Accessible Description",
- (gpointer)description, VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num,
- "Accessible Description", "NULL", VALUE_STRING);
- }
-
- if (role_name)
- {
- _print_key_value(tab_n, group_num, "Accessible Role", (gpointer)role_name,
- VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num, "Accessible Role", "NULL",
- VALUE_STRING);
- }
-
- output_str = g_strdup_printf("%d", n_children);
- _print_key_value(tab_n, group_num, "Number Children", (gpointer)output_str,
- VALUE_STRING);
- g_free(output_str);
- prev_aobject = aobject;
-
- return(group_num);
-}
-
-static gint
-_print_relation (AtkObject *aobject)
-{
- AtkRelationSet* relation_set = atk_object_ref_relation_set (aobject);
- gint n_relations = atk_relation_set_get_n_relations (relation_set);
- gint group_num;
- TabNumber tab_n = OBJECT;
-
- group_num = _print_groupname(tab_n, RELATION_INTERFACE,
- "Relation Interface");
-
- if (relation_set)
- {
- AtkRelation * relation;
- const gchar * relation_name = NULL;
- const gchar * relation_obj_name = NULL;
- AtkRelationType relation_type;
- AtkObject *relation_obj;
- GPtrArray * relation_arry;
- gchar *label_str;
- gchar *output_str;
- gint i, j;
-
- output_str = g_strdup_printf("%d", n_relations);
- _print_key_value(tab_n, group_num,
- "Number of Relations", (gpointer)output_str, VALUE_STRING);
- g_free(output_str);
-
- for (i = 0; i < n_relations; i++)
- {
- relation = atk_relation_set_get_relation (relation_set, i);
-
- relation_type = atk_relation_get_relation_type (relation);
- relation_name = atk_relation_type_get_name (relation_type);
-
- relation_arry = atk_relation_get_target(relation);
-
- if (relation_name)
- {
- label_str = g_strdup_printf("Relation %d Name", i + 1);
- _print_key_value(tab_n, group_num, label_str,
- (gpointer)relation_name, VALUE_STRING);
- g_free(label_str);
- }
- else
- {
- label_str = g_strdup_printf("Relation %d Type", i + 1);
- output_str = g_strdup_printf("%d", relation_type);
- _print_key_value(tab_n, group_num, label_str,
- (gpointer)output_str, VALUE_STRING);
- g_free(label_str);
- g_free(output_str);
- }
-
- label_str = g_strdup_printf("Relation %d with", i + 1);
- output_str = g_strdup_printf("%d AtkObjects", relation_arry->len);
- _print_key_value(tab_n, group_num, label_str, (gpointer)output_str,
- VALUE_STRING);
- g_free(label_str);
- g_free(output_str);
-
- for (j=0; j < relation_arry->len; j++)
- {
- label_str = g_strdup_printf(
- "Relation %d,%d with AtkObject Name", i + 1, j + 1);
- relation_obj = (AtkObject *)
- g_ptr_array_index(relation_arry, j);
- relation_obj_name = atk_object_get_name(relation_obj);
-
- _print_key_value(tab_n, group_num, label_str,
- (gpointer)relation_obj_name, VALUE_STRING);
- g_free(label_str);
- }
- }
-
- g_object_unref (relation_set);
- }
- return(group_num);
-}
-
-static gint
-_print_state (AtkObject *aobject)
-{
- AtkStateSet *state_set = atk_object_ref_state_set(aobject);
- gint group_num;
- TabNumber tab_n = OBJECT;
- static AtkStateType states_to_track[] =
- {
- ATK_STATE_ACTIVE,
- ATK_STATE_CHECKED,
- ATK_STATE_EXPANDED,
- ATK_STATE_EXPANDABLE,
- ATK_STATE_SELECTED,
- ATK_STATE_SHOWING,
- ATK_STATE_VISIBLE
- };
-
- group_num = _print_groupname(tab_n, STATE_INTERFACE,
- "State Interface");
-
- if (state_set)
- {
- gboolean boolean_value;
- AtkStateType one_state;
- const gchar *name;
- gint i;
-
- for (i=0; i < sizeof(states_to_track)/sizeof(AtkStateType); i++)
- {
- one_state = (AtkStateType) states_to_track[i];
- name = atk_state_type_get_name (one_state);
-
- if (name)
- {
- boolean_value =
- atk_state_set_contains_state (state_set, one_state);
- _print_key_value(tab_n, group_num, name,
- (gpointer)(&boolean_value), VALUE_BOOLEAN);
- }
- }
- }
-
- g_object_unref (state_set);
- return(group_num);
-}
-
-static gint
-_print_action (AtkAction *aobject)
-{
- const gchar *action_name;
- const gchar *action_description;
- const gchar *action_keybinding;
- gchar *label_str, *output_str;
- gint group_num;
- gint num_actions, j;
- TabNumber tab_n = ACTION;
- NameValue *nv;
-
- group_num = _print_groupname(tab_n, ACTION_INTERFACE,
- "Action Interface");
-
- num_actions = atk_action_get_n_actions (aobject);
- output_str = g_strdup_printf("%d", num_actions);
- _print_key_value(tab_n, group_num, "Number of Actions",
- (gpointer) output_str, VALUE_STRING);
- g_free(output_str);
-
- for (j = 0; j < num_actions; j++)
- {
- label_str = g_strdup_printf("Action %d Name", j + 1);
- action_name = atk_action_get_name (aobject, j);
- if (action_name)
- {
- nv = _print_key_value(tab_n, group_num, label_str,
- (gpointer) action_name, VALUE_BUTTON);
- }
- else
- {
- nv = _print_key_value(tab_n, group_num, label_str, "NULL",
- VALUE_BUTTON);
- }
-
- nv->atkobj = ATK_OBJECT(aobject);
- nv->action_num = j;
- nv->signal_id = g_signal_connect (nv->button,
- "clicked", G_CALLBACK (_action_cb), nv);
-
- g_free(label_str);
-
- label_str = g_strdup_printf("Action %d Description", j + 1);
- action_description = atk_action_get_description (aobject, j);
- if (action_description)
- {
- _print_key_value(tab_n, group_num, label_str,
- (gpointer)action_description, VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num, label_str, "NULL",
- VALUE_STRING);
- }
- g_free(label_str);
-
- label_str = g_strdup_printf("Action %d Keybinding", j + 1);
- action_keybinding = atk_action_get_keybinding (aobject, j);
- if (action_keybinding)
- {
- _print_key_value(tab_n, group_num, label_str,
- (gpointer)action_keybinding, VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num, label_str, "NULL",
- VALUE_STRING);
- }
- g_free(label_str);
- }
- return(group_num);
-}
-
-static gint
-_print_component (AtkComponent *aobject)
-{
- gchar *output_str;
- gint x = 0;
- gint y = 0;
- gint width = 0;
- gint height = 0;
- gint group_num;
- TabNumber tab_n = COMPONENT;
-
- group_num = _print_groupname(tab_n, COMPONENT_INTERFACE,
- "Component Interface");
-
- atk_component_get_extents (aobject,
- &x, &y, &width, &height, ATK_XY_SCREEN);
-
- output_str = g_strdup_printf("x: %d y: %d width: %d height %d",
- x, y, width, height);
- _print_key_value(tab_n, group_num, "Geometry", (gpointer)output_str,
- VALUE_STRING);
- g_free(output_str);
- return(group_num);
-}
-
-static gint
-_print_image (AtkImage *aobject)
-{
- const gchar *image_desc;
- gchar *output_str;
- gint x = 0;
- gint y = 0;
- gint height = 0;
- gint width = 0;
- gint group_num;
- TabNumber tab_n = IMAGE;
-
- group_num = _print_groupname(tab_n, IMAGE_INTERFACE,
- "Image Interface");
-
- image_desc = atk_image_get_image_description(aobject);
- if (image_desc)
- {
- _print_key_value(tab_n, group_num, "Description", (gpointer)image_desc,
- VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num, "Description", "NULL",
- VALUE_STRING);
- }
-
- atk_image_get_image_position(aobject, &x, &y, ATK_XY_SCREEN);
- atk_image_get_image_size(aobject, &height, &width);
-
- output_str = g_strdup_printf("x: %d y: %d width: %d height %d",
- x, y, width, height);
- _print_key_value(tab_n, group_num, "Geometry", (gpointer)output_str,
- VALUE_STRING);
- g_free(output_str);
- return(group_num);
-}
-
-static gint
-_print_selection (AtkSelection *aobject)
-{
- AtkObject *object;
- AtkRole role;
- gchar *label_str, *output_str;
- gint group_num;
- gint n_selected, j, n_selectable;
- TabNumber tab_n = SELECTION;
-
- group_num = _print_groupname(tab_n, SELECTION_INTERFACE,
- "Selection Interface");
-
- n_selected = atk_selection_get_selection_count (aobject);
- output_str = g_strdup_printf ("%d", n_selected);
- _print_key_value (tab_n, group_num, "Number of Selected Children",
- (gpointer) output_str, VALUE_STRING);
- g_free (output_str);
- /*
- * The number of selected items is the number of children except for
- * a ComboBox where it is the number of items in the list.
- */
- object = ATK_OBJECT (aobject);
- role = atk_object_get_role (object);
- if (role == ATK_ROLE_COMBO_BOX)
- {
- object = atk_object_ref_accessible_child (object, 0);
- g_return_val_if_fail (atk_object_get_role (object) == ATK_ROLE_LIST,
- group_num);
- n_selectable = atk_object_get_n_accessible_children (object);
- g_object_unref (G_OBJECT (object));
- }
- else
- {
- n_selectable = atk_object_get_n_accessible_children (object);
- }
- output_str = g_strdup_printf ("%d", n_selectable);
- _print_key_value (tab_n, group_num, "Number of Selectable Children",
- (gpointer) output_str, VALUE_STRING);
- g_free (output_str);
-
- for (j = 0; j < n_selected; j++)
- {
- const gchar *selected_name;
- AtkObject *selected_object;
-
- selected_object = atk_selection_ref_selection (aobject, j);
- selected_name = atk_object_get_name (selected_object);
- if (selected_name == NULL)
- {
- selected_name = "No name";
- }
- label_str = g_strdup_printf ("Selected item: %d Name", j+1);
- _print_key_value (tab_n, group_num, label_str,
- (gpointer) selected_name, VALUE_STRING);
- g_free (label_str);
- g_object_unref (G_OBJECT (selected_object));
- }
- return group_num;
-}
-
-static gint
-_print_table (AtkTable *aobject)
-{
- gchar *label_str, *output_str;
- const gchar *col_desc;
- AtkObject *caption;
- gint n_cols, n_rows;
- gint i;
- gint group_num;
- TabNumber tab_n = TABLE;
-
- group_num = _print_groupname(tab_n, TABLE_INTERFACE,
- "Table Interface");
-
- n_cols = atk_table_get_n_columns(aobject);
- output_str = g_strdup_printf("%d", n_cols);
- _print_key_value(tab_n, group_num, "Number Columns", (gpointer)output_str,
- VALUE_STRING);
- g_free(output_str);
-
- n_rows = atk_table_get_n_rows(aobject);
- output_str = g_strdup_printf("%d", n_rows);
- _print_key_value(tab_n, group_num, "Number Rows", (gpointer)output_str,
- VALUE_STRING);
- g_free(output_str);
-
- caption = atk_table_get_caption(aobject);
- if (caption)
- {
- const gchar* caption_name;
-
- caption_name = atk_object_get_name (caption);
- if (caption_name)
- {
- _print_key_value(tab_n, group_num, "Caption Name",
- (gpointer)caption_name, VALUE_STRING);
- }
- }
-
- for (i=0; i < n_cols; i++)
- {
- label_str = g_strdup_printf("Column %d Description", i + 1);
-
- col_desc = atk_table_get_column_description(aobject, i);
- if (col_desc)
- {
- _print_key_value(tab_n, group_num, label_str, (gpointer)col_desc,
- VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num, label_str, "NULL",
- VALUE_STRING);
- }
-
- g_free(label_str);
- }
-
- return(group_num);
-}
-
-static gint
-_print_text (AtkText *aobject)
-{
- gchar *output_str, *text_val, *text_val_escaped;
- gint n_chars, caret_offset;
- gint start_offset, end_offset;
- gint group_num;
- gint x, y, w, h;
- TabNumber tab_n = TEXT;
-
- group_num = _print_groupname(tab_n, TEXT_INTERFACE,
- "Text Content");
-
- n_chars = atk_text_get_character_count(aobject);
-
- output_str = g_strdup_printf("%d", n_chars);
- _print_key_value(tab_n, group_num, "Total Character Count",
- (gpointer)output_str, VALUE_STRING);
- g_free(output_str);
-
- /*
- * Pass through g_strescape so that non-ASCII chars are made
- * print-able.
- */
- text_val = atk_text_get_text (aobject, 0, n_chars);
- if (text_val)
- {
- text_val_escaped = g_strescape(text_val, NULL);
- _print_key_value (tab_n, group_num, "Text", (gpointer)text_val_escaped,
- VALUE_TEXT);
- g_free (text_val);
- g_free (text_val_escaped);
- }
- else
- {
- _print_key_value (tab_n, group_num, "Text", "NULL", VALUE_TEXT);
- }
-
- caret_offset = atk_text_get_caret_offset(aobject);
- output_str = g_strdup_printf("%d", caret_offset);
- _print_key_value(tab_n, group_num, "Caret Offset", (gpointer)output_str,
- VALUE_STRING);
- g_free(output_str);
-
- if (caret_offset < 0)
- return(group_num);
-
- text_val = atk_text_get_text_at_offset (aobject, caret_offset,
- ATK_TEXT_BOUNDARY_CHAR,
- &start_offset, &end_offset);
- if (text_val)
- {
- text_val_escaped = g_strescape(text_val, NULL);
- _print_key_value(tab_n, group_num, "Current Character",
- (gpointer)text_val_escaped, VALUE_STRING);
- g_free (text_val);
- g_free (text_val_escaped);
- }
- else
- {
- _print_key_value(tab_n, group_num, "Current Character", "none",
- VALUE_STRING);
- }
-
- atk_text_get_character_extents (aobject, caret_offset,
- &x, &y, &w, &h, ATK_XY_SCREEN);
- output_str = g_strdup_printf ("(%d, %d) (%d, %d)", x, y, w, h);
- if (output_str)
- {
- _print_key_value(tab_n, group_num, "Character Bounds (screen)",
- (gpointer)output_str, VALUE_STRING);
- g_free(output_str);
- }
-
- atk_text_get_character_extents (aobject, caret_offset,
- &x, &y, &w, &h, ATK_XY_WINDOW);
- output_str = g_strdup_printf ("(%d, %d) (%d, %d)", x, y, w, h);
- if (output_str)
- {
- _print_key_value(tab_n, group_num, "Character Bounds (window)",
- (gpointer)output_str, VALUE_STRING);
- g_free(output_str);
- }
-
- text_val = atk_text_get_text_at_offset (aobject, caret_offset,
- ATK_TEXT_BOUNDARY_WORD_START,
- &start_offset, &end_offset);
- if (text_val)
- {
- text_val_escaped = g_strescape(text_val, NULL);
- _print_key_value(tab_n, group_num, "Current Word",
- (gpointer)text_val_escaped, VALUE_STRING);
- g_free (text_val);
- g_free (text_val_escaped);
- }
- else
- {
- _print_key_value(tab_n, group_num, "Current Word", "none",
- VALUE_STRING);
- }
-
- text_val = atk_text_get_text_at_offset (aobject, caret_offset,
- ATK_TEXT_BOUNDARY_LINE_START,
- &start_offset, &end_offset);
- if (text_val)
- {
- text_val_escaped = g_strescape(text_val, NULL);
- _print_key_value(tab_n, group_num, "Current Line",
- (gpointer)text_val_escaped, VALUE_STRING);
- g_free (text_val);
- g_free (text_val_escaped);
- }
- else
- {
- _print_key_value(tab_n, group_num, "Current Line", "none",
- VALUE_STRING);
- }
-
- text_val = atk_text_get_text_at_offset (aobject, caret_offset,
- ATK_TEXT_BOUNDARY_SENTENCE_START,
- &start_offset, &end_offset);
- if (text_val)
- {
- text_val_escaped = g_strescape(text_val, NULL);
- _print_key_value(tab_n, group_num, "Current Sentence",
- (gpointer)text_val_escaped, VALUE_STRING);
- g_free (text_val);
- g_free (text_val_escaped);
- }
- else
- {
- _print_key_value(tab_n, group_num, "Current Line", "none",
- VALUE_STRING);
- }
- return(group_num);
-}
-
-static gint
-_print_text_attributes (AtkText *aobject)
-{
- AtkAttributeSet *attribute_set;
- AtkAttribute *attribute;
- gchar *output_str, *label_str;
- gint start_offset, end_offset, caret_offset;
- gint attribute_set_len, attribute_offset, i;
- gint group_num;
- TabNumber tab_n = TEXT;
-
- group_num = _print_groupname (tab_n, TEXT_ATTRIBUTES,
- "Text Attributes at Caret");
-
- caret_offset = atk_text_get_caret_offset(aobject);
- attribute_offset = caret_offset;
-
- start_offset = 0;
- end_offset = 0;
-
- attribute_set = atk_text_get_run_attributes(aobject, attribute_offset,
- &start_offset, &end_offset);
-
- label_str = g_strdup_printf("Attribute run start");
-
- output_str = g_strdup_printf("%d", start_offset);
- _print_key_value(tab_n, group_num, label_str, (gpointer)output_str,
- VALUE_STRING);
- g_free(label_str);
- g_free(output_str);
-
- label_str = g_strdup_printf("Attribute run end");
- output_str = g_strdup_printf("%d", end_offset);
- _print_key_value(tab_n, group_num, label_str, (gpointer)output_str,
- VALUE_STRING);
- g_free(label_str);
- g_free(output_str);
-
- if (attribute_set == NULL)
- attribute_set_len = 0;
- else
- attribute_set_len = g_slist_length(attribute_set);
-
- label_str = g_strdup_printf("Number of Attributes");
- output_str = g_strdup_printf("%d", attribute_set_len);
- _print_key_value(tab_n, group_num, label_str, (gpointer)output_str,
- VALUE_STRING);
- g_free(label_str);
- g_free(output_str);
-
- for (i=0; i < attribute_set_len; i++)
- {
- attribute = ((AtkAttribute *) g_slist_nth(attribute_set, i)->data);
-
- _print_key_value(tab_n, group_num, attribute->name,
- (gpointer)attribute->value, VALUE_STRING);
- }
- if (attribute_set != NULL)
- atk_attribute_set_free(attribute_set);
-
-
- return(group_num);
-}
-
-static gint
-_print_value (AtkValue *aobject)
-{
- GValue *value_back, val;
- gint group_num;
- TabNumber tab_n = VALUE;
-
- value_back = &val;
-
- group_num = _print_groupname(tab_n, VALUE_INTERFACE,
- "Value Interface");
-
- atk_value_get_current_value(aobject, value_back);
- _print_value_type(group_num, "Value", value_back);
- atk_value_get_minimum_value(aobject, value_back);
- _print_value_type(group_num, "Minimum Value", value_back);
- atk_value_get_maximum_value(aobject, value_back);
- _print_value_type(group_num, "Maximum Value", value_back);
- return(group_num);
-}
-
-static void
-_print_value_type(gint group_num, gchar *type, GValue *value)
-{
- gchar *label_str = NULL;
- gchar *output_str = NULL;
- TabNumber tab_n = VALUE;
-
- if (G_VALUE_HOLDS_DOUBLE (value))
- {
- label_str = g_strdup_printf("%s - Double", type);
- output_str = g_strdup_printf("%f",
- g_value_get_double (value));
- _print_key_value(tab_n, group_num, label_str, (gpointer)output_str,
- VALUE_STRING);
- }
- else if (G_VALUE_HOLDS_INT (value))
- {
- label_str = g_strdup_printf("%s - Integer", type);
- output_str = g_strdup_printf("%d",
- g_value_get_int (value));
- _print_key_value(tab_n, group_num, label_str, (gpointer)output_str,
- VALUE_STRING);
- }
- else
- {
- _print_key_value(tab_n, group_num, "Value", "Unknown Type",
- VALUE_STRING);
- }
-
- if (label_str)
- g_free(label_str);
- if (output_str)
- g_free(output_str);
-}
-
-static void
-_create_event_watcher (void)
-{
- focus_tracker_id = atk_add_focus_tracker (_print_accessible);
-
- if (track_mouse)
- {
- mouse_watcher_focus_id =
- atk_add_global_event_listener(_mouse_watcher,
- "Gtk:GtkWidget:enter_notify_event");
- mouse_watcher_button_id =
- atk_add_global_event_listener(_button_watcher,
- "Gtk:GtkWidget:button_press_event");
- }
-}
-
-static gboolean
-_mouse_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data)
-{
- GObject *object;
- GtkWidget *widget;
-
- object = g_value_get_object (param_values + 0);
-
- if (GTK_IS_MENU(object)) return TRUE;
-
- g_assert (GTK_IS_WIDGET(object));
-
- widget = GTK_WIDGET (object);
- if (GTK_IS_WINDOW (widget))
- {
- GtkWidget *focus_widget = gtk_window_get_focus (GTK_WINDOW (widget));
- if (focus_widget != NULL)
- widget = focus_widget;
- }
-
- _print_accessible (gtk_widget_get_accessible (widget));
- return TRUE;
-}
-
-static gboolean
-_button_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data)
-{
- GObject *object;
- GtkWidget *widget;
-
- object = g_value_get_object (param_values + 0);
-
- widget = GTK_WIDGET (object);
- if (GTK_IS_CONTAINER (widget))
- {
- if (G_VALUE_HOLDS_BOXED (param_values + 1))
- {
- GdkEventButton *event;
- gpointer gp;
- AtkObject *aobject;
- AtkObject *child;
- gint aobject_x, aobject_y;
- gint x, y;
-
- gp = g_value_get_boxed (param_values + 1);
- event = (GdkEventButton *) gp;
- aobject = gtk_widget_get_accessible (widget);
- aobject_x = aobject_y = 0;
- atk_component_get_position (ATK_COMPONENT (aobject),
- &aobject_x, &aobject_y,
- ATK_XY_WINDOW);
- x = aobject_x + (gint) event->x;
- y = aobject_y + (gint) event->y;
- child = atk_component_ref_accessible_at_point (ATK_COMPONENT (aobject),
- x,
- y,
- ATK_XY_WINDOW);
- if (child)
- {
- _print_accessible (child);
- g_object_unref (child);
- }
- else
- {
- if (!GTK_IS_MENU_ITEM (widget))
- {
- g_print ("No child at position %d %d for %s\n",
- x,
- y,
- g_type_name (G_OBJECT_TYPE (widget)));
- }
- }
- }
- }
-
- return TRUE;
-}
-
-static void _add_notebook_page (GtkNotebook *nbook,
- GtkWidget *content_widget,
- GtkWidget **new_page,
- const gchar *label_text)
-{
- GtkWidget *label;
-
- if (content_widget != NULL)
- {
- *new_page = content_widget;
- }
- else
- {
- *new_page = gtk_paned_new (GTK_ORIENTATION_VERTICAL);
- }
-
- label = gtk_label_new ("");
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (label), label_text);
- gtk_notebook_append_page (notebook, *new_page, label);
- gtk_widget_show(*new_page);
-}
-
-static void
-_create_notebook (void)
-{
- TabInfo *tab;
- notebook = GTK_NOTEBOOK (gtk_notebook_new());
-
- tab = nbook_tabs[OBJECT];
- _add_notebook_page (notebook, tab->main_box, &tab->page, "<b>_Object</b>");
-
- tab = nbook_tabs[ACTION];
- _add_notebook_page (notebook, tab->main_box, &tab->page, "<b>_Action</b>");
-
- tab = nbook_tabs[COMPONENT];
- _add_notebook_page (notebook, tab->main_box, &tab->page, "<b>_Component</b>");
-
- tab = nbook_tabs[IMAGE];
- _add_notebook_page (notebook, tab->main_box, &tab->page, "<b>_Image</b>");
-
- tab = nbook_tabs[SELECTION];
- _add_notebook_page (notebook, tab->main_box, &tab->page, "<b>_Selection</b>");
-
- tab = nbook_tabs[TABLE];
- _add_notebook_page (notebook, tab->main_box, &tab->page, "<b>_Table</b>");
-
- tab = nbook_tabs[TEXT];
- _add_notebook_page (notebook, tab->main_box, &tab->page, "<b>Te_xt</b>");
-
- tab = nbook_tabs[VALUE];
- _add_notebook_page (notebook, tab->main_box, &tab->page, "<b>_Value</b>");
-
- g_signal_connect (notebook,
- "switch-page",
- G_CALLBACK (_update_current_page),
- NULL);
-}
-
-static void
-_init_data(void)
-{
- TabInfo *the_tab;
-
- the_tab = g_new0(TabInfo, 1);
- the_tab->page = NULL;
- the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20);
- the_tab->name = "Object";
- nbook_tabs[OBJECT] = the_tab;
-
- the_tab = g_new0(TabInfo, 1);
- the_tab->page = NULL;
- the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20);
- the_tab->name = "Action";
- nbook_tabs[ACTION] = the_tab;
-
- the_tab = g_new0(TabInfo, 1);
- the_tab->page = NULL;
- the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20);
- the_tab->name = "Component";
- nbook_tabs[COMPONENT] = the_tab;
-
- the_tab = g_new0(TabInfo, 1);
- the_tab->page = NULL;
- the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20);
- the_tab->name = "Image";
- nbook_tabs[IMAGE] = the_tab;
-
- the_tab = g_new0(TabInfo, 1);
- the_tab->page = NULL;
- the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20);
- the_tab->name = "Selection";
- nbook_tabs[SELECTION] = the_tab;
-
- the_tab = g_new0(TabInfo, 1);
- the_tab->page = NULL;
- the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20);
- the_tab->name = "Table";
- nbook_tabs[TABLE] = the_tab;
-
- the_tab = g_new0(TabInfo, 1);
- the_tab->page = NULL;
- the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20);
- the_tab->name = "Text";
- nbook_tabs[TEXT] = the_tab;
-
- the_tab = g_new0(TabInfo, 1);
- the_tab->page = NULL;
- the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20);
- the_tab->name = "Value";
- nbook_tabs[VALUE] = the_tab;
-}
-
-static void
-_create_window (void)
-{
- static GtkWidget *window = NULL;
-
- if (!window)
- {
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_widget_set_name (window, "Ferret Window");
-
- g_signal_connect (window, "destroy",
- G_CALLBACK (gtk_widget_destroyed),
- &window);
-
- gtk_window_set_title (GTK_WINDOW (window), "GTK+ Ferret Output");
- gtk_window_set_default_size (GTK_WINDOW (window), 333, 550);
- gtk_container_set_border_width (GTK_CONTAINER (window), 0);
-
- vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- gtk_container_add (GTK_CONTAINER (window), vbox1);
- gtk_widget_show (vbox1);
-
- menubar = gtk_menu_bar_new ();
- gtk_box_pack_start (GTK_BOX (vbox1), menubar, FALSE, TRUE, 0);
- gtk_widget_show (menubar);
- menutop = gtk_menu_item_new_with_label("Menu");
- gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menutop);
- gtk_widget_show (menutop);
- menu = gtk_menu_new();
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (menutop), menu);
- gtk_widget_show (menu);
-
- _add_menu(&menu, &menuitem_trackmouse, "Track Mouse", track_mouse,
- G_CALLBACK(_toggle_trackmouse));
- _add_menu(&menu, &menuitem_trackfocus, "Track Focus", track_focus,
- G_CALLBACK(_toggle_trackfocus));
- _add_menu(&menu, &menuitem_magnifier, "Magnifier", use_magnifier,
- G_CALLBACK(_toggle_magnifier));
- _add_menu(&menu, &menuitem_festival, "Festival", use_festival,
- G_CALLBACK(_toggle_festival));
- _add_menu(&menu, &menuitem_festival_terse, "Festival Terse",
- (!say_role && !say_accel),
- G_CALLBACK(_toggle_festival_terse));
- _add_menu(&menu, &menuitem_terminal, "Terminal Output", display_ascii,
- G_CALLBACK(_toggle_terminal));
- _add_menu(&menu, &menuitem_no_signals, "No ATK Signals", no_signals,
- G_CALLBACK(_toggle_no_signals));
-
- _create_notebook ();
- gtk_container_add (GTK_CONTAINER (vbox1), GTK_WIDGET (notebook));
- gtk_widget_show (GTK_WIDGET (notebook));
- }
- if (!gtk_widget_get_visible (window))
- gtk_widget_show (window);
-
- mainWindow = GTK_WIDGET (window);
-}
-
-static void
-_add_menu(GtkWidget ** menu, GtkWidget ** menuitem, gchar * name,
- gboolean init_value, GCallback func)
-{
- *menuitem = gtk_check_menu_item_new_with_label(name);
- gtk_check_menu_item_set_active(
- GTK_CHECK_MENU_ITEM(*menuitem), init_value);
- gtk_menu_shell_append (GTK_MENU_SHELL (*menu), *menuitem);
- gtk_widget_show(*menuitem);
- g_signal_connect(*menuitem, "toggled", func, NULL);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- if (g_getenv ("FERRET_ASCII"))
- display_ascii = TRUE;
-
- if (g_getenv ("FERRET_NOSIGNALS"))
- no_signals = TRUE;
-
- if (display_ascii)
- g_print("GTK ferret Module loaded\n");
-
- if (g_getenv("FERRET_MAGNIFIER"))
- use_magnifier = TRUE;
-
- if (g_getenv ("FERRET_FESTIVAL"))
- use_festival = TRUE;
-
- if (g_getenv ("FERRET_MOUSETRACK"))
- track_mouse = TRUE;
-
- if (g_getenv ("FERRET_TERSE"))
- {
- say_role = FALSE;
- say_accel = FALSE;
- }
-
- _init_data();
-
- _create_window();
-
- _create_event_watcher();
-
- return 0;
-}
-
-static void
-_clear_tab(TabNumber tab_n)
-{
- GList *group_list, *nv_list;
- TabInfo *tab;
- GroupInfo *group;
- NameValue *nv;
-
- tab = nbook_tabs[tab_n];
-
- for (group_list = tab->groups; group_list; group_list = group_list->next)
- {
- group = (GroupInfo *) group_list->data;
-
- if (group->is_scrolled)
- gtk_widget_hide(GTK_WIDGET(group->scroll_outer_frame));
-
- gtk_widget_hide(GTK_WIDGET(group->frame));
- gtk_widget_hide(GTK_WIDGET(group->group_vbox));
-
- for (nv_list = group->name_value; nv_list; nv_list = nv_list->next)
- {
- nv = (NameValue *) nv_list->data;
- nv->active = FALSE;
- gtk_widget_hide(GTK_WIDGET(nv->column1));
- gtk_widget_hide(GTK_WIDGET(nv->column2));
- gtk_widget_hide(GTK_WIDGET(nv->label));
-
- switch (nv->type)
- {
- case VALUE_STRING:
- gtk_widget_hide(GTK_WIDGET(nv->string));
- break;
- case VALUE_BOOLEAN:
- gtk_widget_hide(GTK_WIDGET(nv->boolean));
- break;
- case VALUE_TEXT:
- gtk_widget_hide(GTK_WIDGET(nv->text));
- break;
- case VALUE_BUTTON:
- gtk_widget_hide(GTK_WIDGET(nv->button));
- break;
- }
- gtk_widget_hide(GTK_WIDGET(nv->hbox));
-
- /* Disconnect signal handler if any */
- if (nv->signal_id != -1)
- g_signal_handler_disconnect(nv->button, nv->signal_id);
-
- nv->signal_id = -1;
- }
- }
-}
-
-static gint
-_print_groupname(TabNumber tab_n, GroupId group_id,
- const char *groupname)
-{
- TabInfo *tab;
- GroupInfo *the_group;
- gint rc = -1;
-
- if (display_ascii)
- g_print("\n<%s>\n", groupname);
-
- tab = nbook_tabs[tab_n];
- the_group = _get_group(tab, group_id, groupname);
- rc = g_list_index(tab->groups, the_group);
- return rc;
-}
-
-static GroupInfo*
-_get_group(TabInfo *tab, GroupId group_id, const gchar *groupname)
-{
- GroupInfo *group = NULL;
- gboolean found = FALSE;
- GList *group_list;
-
- for (group_list = tab->groups; group_list; group_list = group_list->next)
- {
- group = (GroupInfo *) group_list->data;
- if (group_id == group->group_id)
- {
- found = TRUE;
- break;
- }
- }
-
- if (!found)
- {
- /* build a new one */
- group = (GroupInfo *)g_new0(GroupInfo, 1);
- group->group_id = group_id;
- _get_group_scrolled(group);
-
- if (group->is_scrolled)
- {
- group->frame = gtk_scrolled_window_new (NULL, NULL);
- gtk_widget_set_size_request (GTK_WIDGET (group->frame), -2,
- group->default_height);
- group->scroll_outer_frame = GTK_FRAME(gtk_frame_new(groupname));
- gtk_container_add(GTK_CONTAINER(group->scroll_outer_frame),
- group->frame);
- }
- else
- {
- group->frame = gtk_frame_new(groupname);
- }
-
- gtk_container_set_border_width(GTK_CONTAINER(group->frame), 10);
-
- group->name = g_strdup(groupname);
- group->group_vbox = GTK_BOX(gtk_box_new (GTK_ORIENTATION_VERTICAL, 10));
-
- if (group->is_scrolled)
- {
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (group->frame),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_add_with_viewport(
- GTK_SCROLLED_WINDOW(group->frame),
- GTK_WIDGET(group->group_vbox));
- }
- else
- {
- gtk_container_add(GTK_CONTAINER(group->frame),
- GTK_WIDGET(group->group_vbox));
- }
-
- tab->groups = g_list_append (tab->groups, group);
-
- if (group->is_scrolled)
- {
- gtk_box_pack_start (GTK_BOX (tab->main_box),
- GTK_WIDGET (group->scroll_outer_frame),
- TRUE, TRUE, 0);
- }
- else
- {
- gtk_box_pack_start (GTK_BOX (tab->main_box),
- GTK_WIDGET (group->frame),
- TRUE, TRUE, 0);
- }
- }
-
- return group;
-}
-
-void
-_get_group_scrolled(GroupInfo *group)
-{
- if (group->group_id == OBJECT_INTERFACE)
- {
- group->is_scrolled = FALSE;
- }
- else if (group->group_id == RELATION_INTERFACE)
- {
- group->is_scrolled = TRUE;
- group->default_height = 50;
- }
- else if (group->group_id == STATE_INTERFACE)
- {
- group->is_scrolled = TRUE;
- group->default_height = 100;
- }
- else if (group->group_id == ACTION_INTERFACE)
- {
- group->is_scrolled = TRUE;
- group->default_height = 200;
- }
- else if (group->group_id == TEXT_ATTRIBUTES)
- {
- group->is_scrolled = TRUE;
- group->default_height = 70;
- }
- else
- {
- group->is_scrolled = FALSE;
- }
-}
-
-NameValue *
-_get_name_value(GroupInfo *group, const gchar *label,
- gpointer value_ptr, ValueType type)
-{
- NameValue *name_value = NULL;
- GList *nv_list;
- GValue *value;
- gboolean found = FALSE;
- static char *empty_string = "";
-
- if (!label)
- {
- label = empty_string;
- }
-
- for (nv_list = group->name_value; nv_list; nv_list = nv_list->next)
- {
- name_value = (NameValue *) nv_list->data;
- if (!name_value->active)
- {
- found = TRUE;
- break;
- }
- }
-
- if (!found)
- {
- name_value = (NameValue *)g_new0(NameValue, 1);
- name_value->column1 = GTK_BOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10));
- name_value->column2 = GTK_BOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10));
- name_value->hbox = GTK_BOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5));
- name_value->label = GTK_LABEL(gtk_label_new(label));
- name_value->string = gtk_label_new (NULL);
- name_value->boolean = gtk_check_button_new ();
- gtk_entry_buffer_set_max_length (gtk_entry_get_buffer (GTK_ENTRY (name_value->text)), 1000);
- name_value->button = GTK_BUTTON(gtk_button_new ());
-
- gtk_box_pack_end(GTK_BOX(name_value->column1),
- GTK_WIDGET(name_value->label), FALSE, FALSE, 10);
-
- switch (type)
- {
- case VALUE_STRING:
- gtk_label_set_text(GTK_LABEL(name_value->string),
- (gchar *) value_ptr);
- gtk_box_pack_start(GTK_BOX(name_value->column2),
- GTK_WIDGET(name_value->string), FALSE, FALSE, 10);
- break;
- case VALUE_BOOLEAN:
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(name_value->boolean),
- *((gboolean *)value_ptr));
- gtk_widget_set_sensitive(name_value->boolean, FALSE);
- gtk_box_pack_start(GTK_BOX(name_value->column2),
- GTK_WIDGET(name_value->boolean), FALSE, FALSE, 10);
- break;
- case VALUE_TEXT:
- gtk_entry_set_text (GTK_ENTRY (name_value->text),
- (gchar *)value_ptr);
- gtk_box_pack_start(GTK_BOX(name_value->column2),
- GTK_WIDGET(name_value->text), FALSE, FALSE, 10);
- case VALUE_BUTTON:
- value = &(name_value->button_gval);
- memset (value, 0, sizeof (GValue));
- g_value_init (value, G_TYPE_STRING);
- g_value_set_string (value, (gchar *)value_ptr);
- g_object_set_property(G_OBJECT(name_value->button),
- "label", value);
- gtk_box_pack_start(GTK_BOX(name_value->column2),
- GTK_WIDGET(name_value->button), FALSE, FALSE, 10);
- break;
- }
-
- gtk_box_pack_start (GTK_BOX (name_value->hbox),
- GTK_WIDGET (name_value->column1),
- TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (name_value->hbox),
- GTK_WIDGET (name_value->column2),
- TRUE, TRUE, 0);
- gtk_container_add(GTK_CONTAINER(group->group_vbox),
- GTK_WIDGET(name_value->hbox));
- group->name_value = g_list_append (group->name_value, name_value);
- }
- else
- {
- gtk_label_set_text(GTK_LABEL(name_value->label), label);
- switch (type)
- {
- case VALUE_STRING:
- gtk_label_set_text(GTK_LABEL(name_value->string),
- (gchar *) value_ptr);
- break;
- case VALUE_BOOLEAN:
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(name_value->boolean),
- *((gboolean *)value_ptr));
- gtk_widget_set_sensitive(name_value->boolean, FALSE);
- break;
- case VALUE_TEXT:
- gtk_entry_set_text (GTK_ENTRY (name_value->text),
- (gchar *) value_ptr);
- break;
- case VALUE_BUTTON:
- value = &(name_value->button_gval);
- memset (value, 0, sizeof (GValue));
- g_value_init (value, G_TYPE_STRING);
- g_value_set_string (value, (gchar *)value_ptr);
- g_object_set_property(G_OBJECT(name_value->button),
- "label", value);
- break;
- }
- }
-
- name_value->active = TRUE;
- name_value->type = type;
- name_value->signal_id = -1;
-
- gtk_widget_show(GTK_WIDGET(name_value->label));
-
- switch (type)
- {
- case VALUE_STRING:
- gtk_widget_show(GTK_WIDGET(name_value->string));
- break;
- case VALUE_BOOLEAN:
- gtk_widget_show(GTK_WIDGET(name_value->boolean));
- break;
- case VALUE_TEXT:
- gtk_widget_show(GTK_WIDGET(name_value->text));
- break;
- case VALUE_BUTTON:
- gtk_widget_show(GTK_WIDGET(name_value->button));
- break;
- }
-
- gtk_widget_show(GTK_WIDGET(name_value->column1));
- gtk_widget_show(GTK_WIDGET(name_value->column2));
- gtk_widget_show(GTK_WIDGET(name_value->hbox));
- gtk_widget_show(GTK_WIDGET(group->group_vbox));
-
- return name_value;
-}
-
-static NameValue *
-_print_key_value(TabNumber tab_n, gint group_number,
- const char *label, gpointer value, ValueType type)
-{
- TabInfo *tab;
- GroupInfo *the_group;
-
- if (display_ascii)
- {
- if (type == VALUE_BOOLEAN)
- {
- if (*((gboolean *)value))
- g_print("\t%-30s\tTRUE\n", label);
- else
- g_print("\t%-30s\tFALSE\n", label);
- }
- else
- {
- g_print("\t%-30s\t%s\n", label,
- value ? (gchar *)value : "NULL");
- }
- }
-
- tab = nbook_tabs[tab_n];
- the_group = (GroupInfo *)g_list_nth_data(tab->groups, group_number);
- return _get_name_value(the_group, label, (gpointer)value, type);
-}
-
-static void
-_finished_group(TabNumber tab_no, gint group_number)
-{
- TabInfo *tab;
- GroupInfo *the_group;
-
- tab = nbook_tabs[tab_no];
-
- the_group = (GroupInfo *)g_list_nth_data(tab->groups, group_number);
-
- if (the_group->is_scrolled)
- gtk_widget_show(GTK_WIDGET(the_group->scroll_outer_frame));
-
- gtk_widget_show(GTK_WIDGET(the_group->frame));
- gtk_widget_show(GTK_WIDGET(the_group->group_vbox));
- gtk_widget_show(GTK_WIDGET(tab->main_box));
-}
-
-/* Signal handlers */
-
-static gulong child_added_id = 0;
-static gulong child_removed_id = 0;
-static gulong state_change_id = 0;
-
-static gulong text_caret_handler_id = 0;
-static gulong text_inserted_id = 0;
-static gulong text_deleted_id = 0;
-
-static gulong table_row_inserted_id = 0;
-static gulong table_column_inserted_id = 0;
-static gulong table_row_deleted_id = 0;
-static gulong table_column_deleted_id = 0;
-static gulong table_row_reordered_id = 0;
-static gulong table_column_reordered_id = 0;
-
-static gulong property_id = 0;
-
-static void
-_update_handlers(AtkObject *obj)
-{
- /* Remove signal handlers from object that had focus before */
-
- if (last_object != NULL && G_TYPE_CHECK_INSTANCE(last_object))
- {
- if (child_added_id != 0)
- g_signal_handler_disconnect(last_object, child_added_id);
- if (child_removed_id != 0)
- g_signal_handler_disconnect(last_object, child_removed_id);
- if (state_change_id != 0)
- g_signal_handler_disconnect(last_object, state_change_id);
-
- if (text_caret_handler_id != 0)
- g_signal_handler_disconnect(last_object, text_caret_handler_id);
- if (text_inserted_id != 0)
- g_signal_handler_disconnect(last_object, text_inserted_id);
- if (text_deleted_id != 0)
- g_signal_handler_disconnect(last_object, text_deleted_id);
-
- if (table_row_inserted_id != 0)
- g_signal_handler_disconnect(last_object, table_row_inserted_id);
- if (table_column_inserted_id != 0)
- g_signal_handler_disconnect(last_object, table_column_inserted_id);
- if (table_row_deleted_id != 0)
- g_signal_handler_disconnect(last_object, table_row_deleted_id);
- if (table_column_deleted_id != 0)
- g_signal_handler_disconnect(last_object, table_column_deleted_id);
- if (table_row_reordered_id != 0)
- g_signal_handler_disconnect(last_object, table_row_reordered_id);
- if (table_column_reordered_id != 0)
- g_signal_handler_disconnect(last_object, table_column_reordered_id);
- if (property_id != 0)
- g_signal_handler_disconnect(last_object, property_id);
-
- g_object_unref(last_object);
- }
-
- last_object = NULL;
-
- child_added_id = 0;
- child_removed_id = 0;
- text_caret_handler_id = 0;
- text_inserted_id = 0;
- text_deleted_id = 0;
- table_row_inserted_id = 0;
- table_column_inserted_id = 0;
- table_row_deleted_id = 0;
- table_column_deleted_id = 0;
- table_row_reordered_id = 0;
- table_column_reordered_id = 0;
- property_id = 0;
-
- if (!G_TYPE_CHECK_INSTANCE(obj))
- return;
-
- g_object_ref(obj);
- last_object = obj;
-
- /* Add signal handlers to object that now has focus. */
-
- if (ATK_IS_OBJECT(obj))
- {
- child_added_id = g_signal_connect_closure (obj,
- "children_changed::add",
- g_cclosure_new (G_CALLBACK (_notify_object_child_added),
- NULL, NULL), FALSE);
-
- child_removed_id = g_signal_connect_closure (obj,
- "children_changed::remove",
- g_cclosure_new (G_CALLBACK (_notify_object_child_removed),
- NULL, NULL), FALSE);
-
- state_change_id = g_signal_connect_closure (obj,
- "state_change",
- g_cclosure_new (G_CALLBACK (_notify_object_state_change),
- NULL, NULL), FALSE);
- }
-
- if (ATK_IS_TEXT(obj))
- {
- text_caret_handler_id = g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("text_caret_moved", G_OBJECT_TYPE (obj)),
- 0, g_cclosure_new (G_CALLBACK (_notify_caret_handler),
- NULL, NULL), FALSE);
- text_inserted_id = g_signal_connect_closure (obj,
- "text_changed::insert",
- g_cclosure_new (G_CALLBACK (_notify_text_insert_handler),
- NULL, NULL), FALSE);
- text_deleted_id = g_signal_connect_closure (obj,
- "text_changed::delete",
- g_cclosure_new (G_CALLBACK (_notify_text_delete_handler),
- NULL, NULL), FALSE);
- }
-
- if (ATK_IS_TABLE(obj))
- {
- table_row_inserted_id = g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("row_inserted", G_OBJECT_TYPE (obj)),
- 0, g_cclosure_new (G_CALLBACK (_notify_table_row_inserted),
- NULL, NULL), FALSE);
- table_column_inserted_id = g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("column_inserted", G_OBJECT_TYPE (obj)),
- 0, g_cclosure_new (G_CALLBACK (_notify_table_column_inserted),
- NULL, NULL), FALSE);
- table_row_deleted_id = g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("row_deleted", G_OBJECT_TYPE (obj)),
- 0, g_cclosure_new (G_CALLBACK (_notify_table_row_deleted),
- NULL, NULL), FALSE);
- table_column_deleted_id = g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("column_deleted", G_OBJECT_TYPE (obj)),
- 0, g_cclosure_new (G_CALLBACK (_notify_table_column_deleted),
- NULL, NULL), FALSE);
- table_row_reordered_id = g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("row_reordered", G_OBJECT_TYPE (obj)),
- 0, g_cclosure_new (G_CALLBACK (_notify_table_row_reordered),
- NULL, NULL), FALSE);
- table_column_reordered_id = g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("column_reordered", G_OBJECT_TYPE (obj)),
- 0, g_cclosure_new (G_CALLBACK (_notify_table_column_reordered),
- NULL, NULL), FALSE);
- }
-
- property_id = g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("property_change", G_OBJECT_TYPE (obj)),
- 0, g_cclosure_new (G_CALLBACK (_property_change_handler),
- NULL, NULL),
- FALSE);
-}
-
-/* Text signals */
-
-static void
-_notify_text_insert_handler (GObject *obj, int position, int offset)
-{
- gchar *text = atk_text_get_text (ATK_TEXT (obj), position, position + offset);
- gchar *output_str = g_strdup_printf("position %d, length %d text: %s",
- position, offset, text ? text: "<NULL>");
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_TEXT,
- "Text Insert", output_str);
- g_free(output_str);
-}
-
-static void
-_notify_text_delete_handler (GObject *obj, int position, int offset)
-{
- gchar *text = atk_text_get_text (ATK_TEXT (obj), position, position + offset);
- gchar *output_str = g_strdup_printf("position %d, length %d text: %s",
- position, offset, text ? text: "<NULL>");
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_TEXT,
- "Text Delete", output_str);
- g_free(output_str);
-}
-
-static void
-_notify_caret_handler (GObject *obj, int position)
-{
- gchar *output_str = g_strdup_printf("position %d", position);
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_TEXT,
- "Text Caret Moved", output_str);
- g_free(output_str);
-}
-
-/* Table signals */
-
-static void
-_notify_table_row_inserted (GObject *obj, gint start_offset,
- gint length)
-{
- gchar *output_str =
- g_strdup_printf("position %d, num of rows inserted %d!\n",
- start_offset, length);
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_TABLE,
- "Table Row Inserted", output_str);
- g_free(output_str);
-}
-
-static void
-_notify_table_column_inserted (GObject *obj, gint start_offset,
- gint length)
-{
- gchar *output_str =
- g_strdup_printf("position %d, num of rows inserted %d!\n",
- start_offset, length);
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_TABLE,
- "Table Column Inserted", output_str);
- g_free(output_str);
-}
-
-static void
-_notify_table_row_deleted (GObject *obj, gint start_offset,
- gint length)
-{
- gchar *output_str = g_strdup_printf("position %d, num of rows inserted %d!\n",
- start_offset, length);
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_TABLE,
- "Table Row Deleted", output_str);
- g_free(output_str);
-}
-
-static void
-_notify_table_column_deleted (GObject *obj, gint start_offset,
- gint length)
-{
- gchar *output_str = g_strdup_printf("position %d, num of rows inserted %d!\n",
- start_offset, length);
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_TABLE,
- "Table Column Deleted", output_str);
- g_free(output_str);
-}
-
-static void
-_notify_table_row_reordered (GObject *obj)
-{
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_TABLE,
- "Table Row Reordered", NULL);
-}
-
-static void
-_notify_table_column_reordered (GObject *obj)
-{
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_TABLE,
- "Table Column Reordered", NULL);
-}
-
-/* Object signals */
-
-static void
-_notify_object_child_added (GObject *obj, gint index,
- AtkObject *child)
-{
- gchar *output_str = g_strdup_printf("index %d", index);
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_OBJECT,
- "Child Added", output_str);
- g_free(output_str);
-}
-
-static void
-_notify_object_child_removed (GObject *obj, gint index,
- AtkObject *child)
-{
- gchar *output_str = g_strdup_printf("index %d", index);
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_OBJECT,
- "Child Removed", output_str);
- g_free(output_str);
-}
-
-static void
-_notify_object_state_change (GObject *obj, gchar *name, gboolean set)
-{
- gchar *output_str = g_strdup_printf("name %s %s set",
- name, set ? "is" : "was");
- _print_signal(ATK_OBJECT(obj), FERRET_SIGNAL_OBJECT,
- "State Change", output_str);
- g_free(output_str);
-}
-
-
-/* Function to print signals */
-
-static void
-_print_signal(AtkObject *aobject, FerretSignalType type,
- const char *name, const char *info)
-{
- TabNumber top_tab = gtk_notebook_get_current_page (notebook) + OBJECT;
-
- if (no_signals)
- return;
-
- if (display_ascii)
- {
- if (info != NULL)
- g_print("SIGNAL:\t%-34s\t%s\n", name, info);
- else
- g_print("SIGNAL:\t%-34s\n", name);
- }
-
- if (use_festival)
- {
- if ((type == FERRET_SIGNAL_TEXT) && (!strncmp(name, "Text Caret", 10)))
- {
- _speak_caret_event (aobject);
- }
- else if (type == FERRET_SIGNAL_TEXT)
- {
- last_caret_offset = atk_text_get_caret_offset (ATK_TEXT (aobject));
- }
- }
-
- if (use_magnifier && ATK_IS_TEXT (aobject) &&
- (type == FERRET_SIGNAL_TEXT) && (!strncmp(name, "Text Caret", 10)))
- {
- gint x, y, w, h;
- gint caret_offset = atk_text_get_caret_offset (ATK_TEXT (aobject));
- atk_text_get_character_extents ( ATK_TEXT (aobject), caret_offset, &x, &y, &w, &h, ATK_XY_SCREEN);
- _send_to_magnifier (x, y, w, h);
- }
-
- if ((type == FERRET_SIGNAL_TEXT && top_tab == TEXT) ||
- (type == FERRET_SIGNAL_TABLE && top_tab == TABLE) ||
- (type == FERRET_SIGNAL_OBJECT && top_tab == OBJECT))
- {
- if (display_ascii)
- g_print("Updating tab\n");
-
- _update(top_tab, aobject);
- }
-}
-
-/* Update functions */
-
-static void
-_update (TabNumber top_tab, AtkObject *aobject)
-{
- gint group_num;
-
- if (top_tab >= OBJECT && top_tab < END_TABS)
- {
- _clear_tab(top_tab);
- }
-
- if (top_tab == OBJECT && ATK_IS_OBJECT(aobject))
- {
- group_num = _print_object(aobject);
- _finished_group(OBJECT, group_num);
- group_num = _print_relation(aobject);
- _finished_group(OBJECT, group_num);
- group_num = _print_state(aobject);
- _finished_group(OBJECT, group_num);
- }
- if (top_tab == TEXT && ATK_IS_TEXT(aobject))
- {
- group_num = _print_text(ATK_TEXT (aobject));
- _finished_group(TEXT, group_num);
- group_num = _print_text_attributes(ATK_TEXT (aobject));
- _finished_group(TEXT, group_num);
- }
- if (top_tab == SELECTION && ATK_IS_SELECTION(aobject))
- {
- group_num = _print_selection(ATK_SELECTION (aobject));
- _finished_group(SELECTION, group_num);
- }
- if (top_tab == TABLE && ATK_IS_TABLE(aobject))
- {
- group_num = _print_table(ATK_TABLE (aobject));
- _finished_group(TABLE, group_num);
- }
- if (top_tab == ACTION && ATK_IS_ACTION(aobject))
- {
- group_num = _print_action(ATK_ACTION (aobject));
- _finished_group(ACTION, group_num);
- }
- if (top_tab == COMPONENT && ATK_IS_COMPONENT(aobject))
- {
- group_num = _print_component(ATK_COMPONENT(aobject));
- _finished_group(COMPONENT, group_num);
- }
- if (top_tab == IMAGE && ATK_IS_IMAGE(aobject))
- {
- group_num = _print_image(ATK_IMAGE (aobject));
- _finished_group(IMAGE, group_num);
- }
- if (top_tab == VALUE && ATK_IS_VALUE(aobject))
- {
- group_num = _print_value(ATK_VALUE(aobject));
- _finished_group(VALUE, group_num);
- }
-}
-
-static void
-_update_current_page(GtkNotebook *notebook, gpointer p, guint current_page)
-{
- _update(current_page+OBJECT, last_object);
-}
-
-/* Property listeners */
-
-static void _property_change_handler (AtkObject *obj,
- AtkPropertyValues *values)
-{
- TabNumber top_tab = gtk_notebook_get_current_page (notebook) + OBJECT;
-
- if (no_signals)
- return;
-
- /*
- * Only process if the property change corrisponds to the current
- * object
- */
- if (obj != last_object)
- {
- if (display_ascii)
- {
- g_print("\nProperty change event <%s> for object not in focus\n",
- values->property_name);
- }
-
- return;
- }
-
- if (display_ascii)
- {
- g_print("\nProperty change event <%s> occurred.\n",
- values->property_name);
- }
-
- /*
- * Update the top tab if a property changes.
- *
- * We may be able to ignore some property changes if they do not
- * change anything in ferret.
- */
-
- if (top_tab == OBJECT &&
- ((strcmp (values->property_name, "accessible-name") == 0) ||
- (strcmp (values->property_name, "accessible-description") == 0) ||
- (strcmp (values->property_name, "accessible-parent") == 0) ||
- (strcmp (values->property_name, "accessible-value") == 0) ||
- (strcmp (values->property_name, "accessible-role") == 0) ||
- (strcmp (values->property_name, "accessible-component-layout") == 0) ||
- (strcmp (values->property_name, "accessible-component-mdi-zorder") == 0) ||
- (strcmp (values->property_name, "accessible-table-caption") == 0) ||
- (strcmp (values->property_name,
- "accessible-table-column-description") == 0) ||
- (strcmp (values->property_name,
- "accessible-table-column-header") == 0) ||
- (strcmp (values->property_name,
- "accessible-table-row-description") == 0) ||
- (strcmp (values->property_name,
- "accessible-table-row-header") == 0) ||
- (strcmp (values->property_name, "accessible-table-summary") == 0)))
- {
- if (display_ascii)
- g_print("Updating tab\n");
-
- _update(top_tab, last_object);
- }
- else if (top_tab == VALUE &&
- (strcmp (values->property_name, "accessible-value") == 0))
- {
- if (display_ascii)
- g_print("Updating tab\n");
-
- _update(top_tab, last_object);
- }
-}
-
-/* Action button callback function */
-
-void _action_cb(GtkWidget *widget, gpointer *userdata)
-{
- NameValue *nv = (NameValue *)userdata;
- atk_action_do_action(ATK_ACTION(nv->atkobj), nv->action_num);
-}
-
-/* Menu-bar callback functions */
-
-void _toggle_terminal(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data)
-{
- if (gtk_check_menu_item_get_active (checkmenuitem))
- display_ascii = TRUE;
- else
- display_ascii = FALSE;
-}
-
-void _toggle_no_signals(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data)
-{
- if (gtk_check_menu_item_get_active (checkmenuitem))
- no_signals = TRUE;
- else
- no_signals = FALSE;
-}
-
-void _toggle_magnifier(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data)
-{
- if (gtk_check_menu_item_get_active (checkmenuitem))
- use_magnifier = TRUE;
- else
- use_magnifier = FALSE;
-}
-
-void _toggle_festival(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data)
-{
- if (gtk_check_menu_item_get_active (checkmenuitem))
- use_festival = TRUE;
- else
- use_festival = FALSE;
-}
-
-void _toggle_festival_terse(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data)
-{
- if (gtk_check_menu_item_get_active (checkmenuitem))
- {
- say_role = FALSE;
- say_accel = FALSE;
- }
- else
- {
- say_role = TRUE;
- say_accel = TRUE;
- }
-}
-
-void _toggle_trackmouse(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data)
-{
- if (gtk_check_menu_item_get_active (checkmenuitem))
- {
- mouse_watcher_focus_id =
- atk_add_global_event_listener(_mouse_watcher,
- "Gtk:GtkWidget:enter_notify_event");
- mouse_watcher_button_id =
- atk_add_global_event_listener(_button_watcher,
- "Gtk:GtkWidget:button_press_event");
- track_mouse = TRUE;
- }
- else
- {
- if (mouse_watcher_focus_id != -1)
- {
- atk_remove_global_event_listener(mouse_watcher_focus_id);
- atk_remove_global_event_listener(mouse_watcher_button_id);
- track_mouse = FALSE;
- }
- }
-}
-
-void _toggle_trackfocus(GtkCheckMenuItem *checkmenuitem,
- gpointer user_data)
-{
- if (gtk_check_menu_item_get_active (checkmenuitem))
- {
- track_focus = TRUE;
- focus_tracker_id = atk_add_focus_tracker (_print_accessible);
- }
- else
- {
- g_print ("No longer tracking focus.\n");
- track_focus = FALSE;
- atk_remove_focus_tracker (focus_tracker_id);
- }
-}
+++ /dev/null
-#include <string.h>
-#include <stdlib.h>
-#include <gtk/gtk.h>
-#include "testlib.h"
-
-/*
- * This module is used to test the implementation of AtkAction,
- * i.e. the getting of the name and the getting and setting of description
- */
-
-static void _create_event_watcher (void);
-static void _check_object (AtkObject *obj);
-
-static void
-_check_object (AtkObject *obj)
-{
- const char *accessible_name;
- const gchar * typename = NULL;
-
- if (GTK_IS_ACCESSIBLE (obj))
- {
- GtkWidget* widget = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- typename = g_type_name (G_OBJECT_TYPE (widget));
- g_print ("Widget type name: %s\n", typename ? typename : "NULL");
- }
- typename = g_type_name (G_OBJECT_TYPE (obj));
- g_print ("Accessible type name: %s\n", typename ? typename : "NULL");
- accessible_name = atk_object_get_name (obj);
- if (accessible_name)
- g_print ("Name: %s\n", accessible_name);
-
- if (ATK_IS_ACTION (obj))
- {
- AtkAction *action = ATK_ACTION (obj);
- gint n_actions, i;
- const gchar *action_name;
- const gchar *action_desc;
- const gchar *action_binding;
- const gchar *desc = "Test description";
-
- n_actions = atk_action_get_n_actions (action);
- g_print ("AtkAction supported number of actions: %d\n", n_actions);
- for (i = 0; i < n_actions; i++)
- {
- action_name = atk_action_get_name (action, i);
- g_print ("Name of Action %d: %s\n", i, action_name);
- action_binding = atk_action_get_keybinding (action, i);
- if (action_binding)
- g_print ("Name of Action Keybinding %d: %s\n", i, action_binding);
-
- if (!atk_action_set_description (action, i, desc))
- {
- g_print ("atk_action_set_description failed\n");
- }
- else
- {
- action_desc = atk_action_get_description (action, i);
- if (strcmp (desc, action_desc) != 0)
- {
- g_print ("Problem with setting and getting action description\n");
- }
- }
- }
- if (atk_action_set_description (action, n_actions, desc))
- {
- g_print ("atk_action_set_description succeeded but should not have\n");
- }
- }
-}
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_check_object);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testaction Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <gtk/gtk.h>
-#include "testlib.h"
-
-/*
- * This module is used to test the accessible implementation for buttons
- *
- * 1) It verifies that ATK_STATE_ARMED is set when a button is pressed
- * To check this click on the button whose name is specified in the
- * environment variable TEST_ACCESSIBLE_NAME or "button box" if the
- * environment variable is not set.
- *
- * 2) If the environment variable TEST_ACCESSIBLE_AUTO is set the program
- * will execute the action defined for a GailButton once.
- *
- * 3) Change an inconsistent toggle button to be consistent and vice versa.
- *
- * Note that currently this code needs to be changed manually to test
- * different actions.
- */
-
-static void _create_event_watcher (void);
-static void _check_object (AtkObject *obj);
-static void button_pressed_handler (GtkButton *button);
-static void _print_states (AtkObject *obj);
-static void _print_button_image_info(AtkObject *obj);
-static gint _do_button_action (gpointer data);
-static gint _toggle_inconsistent (gpointer data);
-static gint _finish_button_action (gpointer data);
-
-#define NUM_VALID_ROLES 4
-
-static void
-_check_object (AtkObject *obj)
-{
- AtkRole role;
- static gboolean first_time = TRUE;
-
- role = atk_object_get_role (obj);
- if (role == ATK_ROLE_FRAME)
- /*
- * Find the specified button in the window
- */
- {
- AtkRole valid_roles[NUM_VALID_ROLES];
- const char *name;
- AtkObject *atk_button;
- GtkWidget *widget;
-
- valid_roles[0] = ATK_ROLE_PUSH_BUTTON;
- valid_roles[1] = ATK_ROLE_TOGGLE_BUTTON;
- valid_roles[2] = ATK_ROLE_CHECK_BOX;
- valid_roles[3] = ATK_ROLE_RADIO_BUTTON;
-
- name = g_getenv ("TEST_ACCESSIBLE_NAME");
- if (name == NULL)
- name = "button box";
- atk_button = find_object_by_accessible_name_and_role (obj, name,
- valid_roles, NUM_VALID_ROLES);
-
- if (atk_button == NULL)
- {
- g_print ("Object not found for %s\n", name);
- return;
- }
- g_assert (GTK_IS_ACCESSIBLE (atk_button));
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_button));
- g_assert (GTK_IS_BUTTON (widget));
- g_signal_connect (widget,
- "pressed",
- G_CALLBACK (button_pressed_handler),
- NULL);
- if (GTK_IS_TOGGLE_BUTTON (widget))
- {
- _toggle_inconsistent (GTK_TOGGLE_BUTTON (widget));
- }
- if (first_time)
- first_time = FALSE;
- else
- return;
-
- if (g_getenv ("TEST_ACCESSIBLE_AUTO"))
- {
- g_idle_add (_do_button_action, atk_button);
- }
- }
-}
-
-static gint _toggle_inconsistent (gpointer data)
-{
- GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (data);
-
- if (gtk_toggle_button_get_inconsistent (toggle_button))
- {
- gtk_toggle_button_set_inconsistent (toggle_button, FALSE);
- }
- else
- {
- gtk_toggle_button_set_inconsistent (toggle_button, TRUE);
- }
- return FALSE;
-}
-
-static gint _do_button_action (gpointer data)
-{
- AtkObject *obj = ATK_OBJECT (data);
-
- atk_action_do_action (ATK_ACTION (obj), 2);
-
- g_timeout_add (5000, _finish_button_action, obj);
- return FALSE;
-}
-
-static gint _finish_button_action (gpointer data)
-{
-#if 0
- AtkObject *obj = ATK_OBJECT (data);
-
- atk_action_do_action (ATK_ACTION (obj), 0);
-#endif
-
- return FALSE;
-}
-
-static void
-button_pressed_handler (GtkButton *button)
-{
- AtkObject *obj;
-
- obj = gtk_widget_get_accessible (GTK_WIDGET (button));
- _print_states (obj);
- _print_button_image_info (obj);
-
- if (GTK_IS_TOGGLE_BUTTON (button))
- {
- g_idle_add (_toggle_inconsistent, GTK_TOGGLE_BUTTON (button));
- }
-}
-
-static void
-_print_states (AtkObject *obj)
-{
- AtkStateSet *state_set;
- gint i;
-
- state_set = atk_object_ref_state_set (obj);
-
- g_print ("*** Start states ***\n");
- for (i = 0; i < 64; i++)
- {
- AtkStateType one_state;
- const gchar *name;
-
- if (atk_state_set_contains_state (state_set, i))
- {
- one_state = i;
-
- name = atk_state_type_get_name (one_state);
-
- if (name)
- g_print("%s\n", name);
- }
- }
- g_object_unref (state_set);
- g_print ("*** End states ***\n");
-}
-
-static void
-_print_button_image_info(AtkObject *obj) {
-
- gint height, width;
- const gchar *desc;
-
- height = width = 0;
-
- if(!ATK_IS_IMAGE(obj))
- return;
-
- g_print("*** Start Button Image Info ***\n");
- desc = atk_image_get_image_description(ATK_IMAGE(obj));
- g_print ("atk_image_get_image_desc returns : %s\n", desc ? desc : "<NULL>");
- atk_image_get_image_size(ATK_IMAGE(obj), &height ,&width);
- g_print("atk_image_get_image_size returns: height %d width %d\n",height,width);
- if(atk_image_set_image_description(ATK_IMAGE(obj), "New image Description")){
- desc = atk_image_get_image_description(ATK_IMAGE(obj));
- g_print ("atk_image_get_image_desc now returns : %s\n",desc ?desc:"<NULL>");
- }
- g_print("*** End Button Image Info ***\n");
-
-
-}
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_check_object);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testbutton Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <gtk/gtk.h>
-#include "testlib.h"
-
-static void _test_selection (AtkObject *obj);
-static void _check_combo_box (AtkObject *obj);
-static void _check_children (AtkObject *obj);
-static gint _open_combo_list (gpointer data);
-static gint _close_combo_list (gpointer data);
-
-#define NUM_VALID_ROLES 1
-
-static void _check_children (AtkObject *obj)
-{
- gint n_children, i, j;
- AtkObject *child;
- AtkObject *grand_child;
-
- n_children = atk_object_get_n_accessible_children (obj);
-
- if (n_children > 1)
- {
- g_print ("*** Unexpected number of children for combo box: %d\n",
- n_children);
- return;
- }
- if (n_children == 2)
- {
- child = atk_object_ref_accessible_child (obj, 1);
- g_return_if_fail (atk_object_get_role (child) == ATK_ROLE_TEXT);
- j = atk_object_get_index_in_parent (child);
- if (j != 1)
- g_print ("*** inconsistency between parent and children %d %d ***\n",
- 1, j);
- g_object_unref (G_OBJECT (child));
- }
-
- child = atk_object_ref_accessible_child (obj, 0);
- g_return_if_fail (atk_object_get_role (child) == ATK_ROLE_LIST);
- j = atk_object_get_index_in_parent (child);
- if (j != 0)
- g_print ("*** inconsistency between parent and children %d %d ***\n",
- 0, j);
-
- n_children = atk_object_get_n_accessible_children (child);
- for (i = 0; i < n_children; i++)
- {
- const gchar *name;
-
- grand_child = atk_object_ref_accessible_child (child, i);
- name = atk_object_get_name (grand_child);
- g_print ("Index: %d Name: %s\n", i, name ? name : "<NULL>");
- g_object_unref (G_OBJECT (grand_child));
- }
- g_object_unref (G_OBJECT (child));
-}
-
-static void _test_selection (AtkObject *obj)
-{
- gint count;
- gint n_children;
- AtkObject *list;
-
- count = atk_selection_get_selection_count (ATK_SELECTION (obj));
- g_return_if_fail (count == 0);
-
- list = atk_object_ref_accessible_child (obj, 0);
- n_children = atk_object_get_n_accessible_children (list);
- g_object_unref (G_OBJECT (list));
-
- atk_selection_add_selection (ATK_SELECTION (obj), n_children - 1);
- count = atk_selection_get_selection_count (ATK_SELECTION (obj));
- g_return_if_fail (count == 1);
- g_return_if_fail (atk_selection_is_child_selected (ATK_SELECTION (obj),
- n_children - 1));
- atk_selection_add_selection (ATK_SELECTION (obj), 0);
- count = atk_selection_get_selection_count (ATK_SELECTION (obj));
- g_return_if_fail (count == 1);
- g_return_if_fail (atk_selection_is_child_selected (ATK_SELECTION (obj), 0));
- atk_selection_clear_selection (ATK_SELECTION (obj));
- count = atk_selection_get_selection_count (ATK_SELECTION (obj));
- g_return_if_fail (count == 0);
-}
-
-static void _check_combo_box (AtkObject *obj)
-{
- static gboolean done = FALSE;
- static gboolean done_selection = FALSE;
- AtkRole role;
-
- role = atk_object_get_role (obj);
-
- if (role == ATK_ROLE_FRAME)
- {
- AtkRole roles[NUM_VALID_ROLES];
- AtkObject *combo_obj;
-
- if (done_selection)
- return;
-
- roles[0] = ATK_ROLE_COMBO_BOX;
-
- combo_obj = find_object_by_role (obj, roles, NUM_VALID_ROLES);
-
- if (combo_obj)
- {
- if (!done_selection)
- {
- done_selection = TRUE;
- }
- if (g_getenv ("TEST_ACCESSIBLE_COMBO_NOEDIT") != NULL)
- {
- GtkWidget *combo;
- GtkEntry *entry;
-
- combo = gtk_accessible_get_widget (GTK_ACCESSIBLE (combo_obj));
- entry = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (combo)));
- gtk_editable_set_editable (GTK_EDITABLE (entry), FALSE);
- }
- _check_children (combo_obj);
- _test_selection (combo_obj);
- }
-
- return;
- }
- if (role != ATK_ROLE_COMBO_BOX)
- return;
-
- g_print ("*** Start ComboBox ***\n");
- _check_children (obj);
-
- if (!done)
- {
- g_idle_add ((GSourceFunc)_open_combo_list, obj);
- done = TRUE;
- }
- else
- return;
- g_print ("*** End ComboBox ***\n");
-}
-
-static gint _open_combo_list (gpointer data)
-{
- AtkObject *obj = ATK_OBJECT (data);
-
- g_print ("_open_combo_list\n");
- atk_action_do_action (ATK_ACTION (obj), 0);
-
- g_timeout_add (5000, _close_combo_list, obj);
- return FALSE;
-}
-
-static gint _close_combo_list (gpointer data)
-{
- AtkObject *obj = ATK_OBJECT (data);
-
- gint count;
- gint n_children;
- AtkObject *list;
-
- count = atk_selection_get_selection_count (ATK_SELECTION (obj));
- g_return_val_if_fail (count == 0, FALSE);
-
- list = atk_object_ref_accessible_child (obj, 0);
- n_children = atk_object_get_n_accessible_children (list);
- g_object_unref (G_OBJECT (list));
-
- atk_selection_add_selection (ATK_SELECTION (obj), n_children - 1);
-
- atk_action_do_action (ATK_ACTION (obj), 0);
-
- return FALSE;
-}
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_check_combo_box);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testcombo Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <atk/atk.h>
-
-static void _check_position (AtkObject *obj);
-
-static void _check_position (AtkObject *obj)
-{
- AtkObject *parent, *ret_object;
-
- gint x, y, width, height;
- gint x1, y1, width1, height1;
-
- x = y = width = height = 0;
- x1 = y1 = width1 = height1 = 0;
-
- if (!ATK_IS_COMPONENT (obj))
- return;
-
- atk_component_get_extents (ATK_COMPONENT(obj), &x, &y, &width, &height, ATK_XY_SCREEN);
- atk_component_get_position (ATK_COMPONENT(obj), &x1, &y1, ATK_XY_SCREEN );
- atk_component_get_size (ATK_COMPONENT(obj), &width1, &height1);
- if ((x1 != x) || (y1 != y))
- {
- g_print ("atk_component_get_extents and atk_get_position give different"
- " values: %d,%d %d,%d\n", x, y, x1, y1);
- }
- if ((width1 != width) || (height1 != height))
- {
- g_print ("atk_component_get_extents and atk_get_size give different"
- " values: %d,%d %d,%d\n", width, height, width1, height1);
- }
-
- atk_component_get_position (ATK_COMPONENT(obj), &x1, &y1, ATK_XY_SCREEN);
- g_print ("Object Type: %s\n", g_type_name (G_OBJECT_TYPE (obj)));
- g_print ("Object at %d, %d on screen\n", x1, y1);
- g_print ("Object at %d, %d, size: %d, %d\n", x, y, width, height);
-
- parent = atk_object_get_parent (obj);
-
- if (ATK_IS_COMPONENT (parent))
- {
- gint px, py, pwidth, pheight;
-
- atk_component_get_extents (ATK_COMPONENT(parent),
- &px, &py, &pwidth, &pheight, ATK_XY_SCREEN);
- g_print ("Parent Type: %s\n", g_type_name (G_OBJECT_TYPE (parent)));
- g_print ("Parent at %d, %d, size: %d, %d\n", px, py, pwidth, pheight);
- ret_object = atk_component_ref_accessible_at_point (ATK_COMPONENT (parent),
- x, y, ATK_XY_SCREEN);
-
- if (!ret_object)
- {
- g_print ("1:atk_component_ref_accessible_at_point returns NULL\n");
- }
- else if (ret_object != obj)
- {
- g_print ("1:atk_component_ref_accessible_at_point returns wrong value for %d %d\n",
- x, y);
- atk_component_get_extents (ATK_COMPONENT(ret_object),
- &px, &py, &pwidth, &pheight, ATK_XY_SCREEN);
- g_print ("ret_object at %d, %d, size: %d, %d\n", px, py, pwidth, pheight);
- }
- if (ret_object)
- g_object_unref (G_OBJECT (ret_object));
- ret_object = atk_component_ref_accessible_at_point (ATK_COMPONENT (parent),
- x+width-1, y+height-1, ATK_XY_SCREEN);
- if (!ret_object)
- {
- g_print ("2:atk_component_ref_accessible_at_point returns NULL\n");
- }
- else if (ret_object != obj)
- {
- g_print ("2:atk_component_ref_accessible_at_point returns wrong value for %d %d\n",
- x+width-1, y+height-1);
- }
- if (ret_object)
- g_object_unref (G_OBJECT (ret_object));
- ret_object = atk_component_ref_accessible_at_point (ATK_COMPONENT (parent),
- x-1, y-1, ATK_XY_SCREEN);
- if ((ret_object) && (ret_object == obj))
- {
- g_print ("3:atk_component_ref_accessible_at_point returns wrong value for %d %d\n",
- x-1, y-1);
- }
- if (ret_object)
- g_object_unref (G_OBJECT (ret_object));
- ret_object = atk_component_ref_accessible_at_point (ATK_COMPONENT (parent),
- x+width, y+height, ATK_XY_SCREEN);
- if ((ret_object) && (ret_object == obj))
- {
- g_print ("4:atk_component_ref_accessible_at_point returns wrong value for %d %d\n",
- x+width, y+height);
- }
- if (ret_object)
- g_object_unref (G_OBJECT (ret_object));
- }
- if (!atk_component_contains (ATK_COMPONENT(obj), x, y, ATK_XY_SCREEN))
- g_print ("Component does not contain position, %d %d\n", x, y);
- if (atk_component_contains (ATK_COMPONENT(obj), x-1, y-1, ATK_XY_SCREEN))
- g_print ("Component does contain position, %d %d\n", x-1, y-1);
- if (!atk_component_contains (ATK_COMPONENT(obj), x+width-1, y+height-1, ATK_XY_SCREEN))
- g_print ("Component does not contain position, %d %d\n",
- x+width-1, y+height-1);
- if (atk_component_contains (ATK_COMPONENT(obj), x+width, y+height, ATK_XY_SCREEN))
- g_print ("Component does contain position, %d %d\n", x+width, y+height);
-}
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_check_position);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testcomponent Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <gtk/gtk.h>
-#include "testlib.h"
-#include <stdlib.h>
-
-/*
- * This test modules tests the AtkImage interface. When the module is loaded
- * with testgtk , it also creates a dialog that contains GtkArrows and a
- * GtkImage.
- *
- */
-
-typedef struct
-{
- GtkWidget *dialog;
- GtkWidget *arrow1;
- GtkWidget *arrow2;
- GtkWidget *arrow3;
- GtkWidget *arrow4;
- GtkWidget *close_button;
- GtkImage *image;
-}MainDialog;
-
-static void destroy (GtkWidget *widget, gpointer data)
-{
- gtk_widget_destroy(GTK_WIDGET(data));
-}
-
-static void _check_arrows (AtkObject *obj)
-{
- GtkWidget *content_area, *action_area;
- AtkRole role;
- MainDialog *md;
- static gint visibleDialog = 0;
-
-
- role = atk_object_get_role(obj);
- if(role == ATK_ROLE_FRAME) {
-
- md = (MainDialog *) malloc (sizeof(MainDialog));
- if (visibleDialog == 0)
- {
- md->arrow1 = gtk_arrow_new(GTK_ARROW_UP,GTK_SHADOW_IN);
- md->arrow2 = gtk_arrow_new(GTK_ARROW_DOWN,GTK_SHADOW_IN);
- md->arrow3 = gtk_arrow_new(GTK_ARROW_LEFT,GTK_SHADOW_OUT);
- md->arrow4 = gtk_arrow_new(GTK_ARROW_RIGHT,GTK_SHADOW_OUT);
- md->dialog = gtk_dialog_new();
- gtk_window_set_modal(GTK_WINDOW(md->dialog), TRUE);
-
- content_area = gtk_dialog_get_content_area (GTK_DIALOG (md->dialog));
- action_area = gtk_dialog_get_action_area (GTK_DIALOG (md->dialog));
-
- gtk_box_pack_start(GTK_BOX (content_area), md->arrow1, TRUE,TRUE, 0);
- gtk_box_pack_start(GTK_BOX (content_area), md->arrow2, TRUE,TRUE, 0);
- gtk_box_pack_start(GTK_BOX (content_area), md->arrow3, TRUE,TRUE, 0);
- gtk_box_pack_start(GTK_BOX (content_area), md->arrow4, TRUE,TRUE, 0);
- g_signal_connect(md->dialog, "destroy",
- G_CALLBACK (destroy), md->dialog);
-
- md->image = GTK_IMAGE(gtk_image_new_from_file("circles.xbm"));
- gtk_box_pack_start(GTK_BOX (content_area), GTK_WIDGET(md->image), TRUE,TRUE, 0);
- md->close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
- g_signal_connect(md->close_button, "clicked",
- G_CALLBACK (destroy), md->dialog);
-
- gtk_box_pack_start(GTK_BOX (action_area), md->close_button, TRUE,TRUE, 0);
-
- gtk_widget_show_all(md->dialog);
- visibleDialog = 1;
- }
- }
-}
-
-
-static void
-_print_image_info(AtkObject *obj) {
-
- gint height, width;
- const gchar *desc;
- const gchar *name = atk_object_get_name (obj);
- const gchar *type_name = g_type_name(G_TYPE_FROM_INSTANCE (obj));
-
- height = width = 0;
-
-
- if(!ATK_IS_IMAGE(obj))
- return;
-
- g_print("atk_object_get_name : %s\n", name ? name : "<NULL>");
- g_print("atk_object_get_type_name : %s\n",type_name ?type_name :"<NULL>");
- g_print("*** Start Image Info ***\n");
- desc = atk_image_get_image_description(ATK_IMAGE(obj));
- g_print ("atk_image_get_image_desc returns : %s\n",desc ? desc:"<NULL>");
- atk_image_get_image_size(ATK_IMAGE(obj), &height ,&width);
- g_print("atk_image_get_image_size returns: height %d width %d\n",
- height,width);
- if(atk_image_set_image_description(ATK_IMAGE(obj),"New image Description")){
- desc = atk_image_get_image_description(ATK_IMAGE(obj));
- g_print ("atk_image_get_image_desc now returns : %s\n",desc?desc:"<NULL>");
- }
- g_print("*** End Image Info ***\n");
-
-
-}
-static void _traverse_children (AtkObject *obj)
-{
- gint n_children, i;
-
- n_children = atk_object_get_n_accessible_children (obj);
- for (i = 0; i < n_children; i++)
- {
- AtkObject *child;
-
- child = atk_object_ref_accessible_child (obj, i);
- _print_image_info(child);
- _traverse_children (child);
- g_object_unref (G_OBJECT (child));
- }
-}
-
-
-static void _check_objects (AtkObject *obj)
-{
- AtkRole role;
-
- g_print ("Start of _check_values\n");
-
- _check_arrows(obj);
- role = atk_object_get_role (obj);
-
- if (role == ATK_ROLE_FRAME || role == ATK_ROLE_DIALOG)
- {
- /*
- * Add handlers to all children.
- */
- _traverse_children (obj);
- }
- g_print ("End of _check_values\n");
-}
-
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_check_objects);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testimages Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "testlib.h"
-
-static gint _get_position_in_array (gint window,
- gchar *the_test_name);
-static gint _get_position_in_parameters (gint window,
- gchar *label,
- gint position);
-static void _create_output_window (OutputWindow **outwin);
-static gboolean _create_select_tests_window (AtkObject *obj,
- TLruntest runtest,
- OutputWindow **outwin);
-static void _toggle_selectedcb (GtkWidget *widget,
- gpointer test);
-static void _testselectioncb (GtkWidget *widget,
- gpointer data);
-static void _destroy (GtkWidget *widget,
- gpointer data);
-
-/* General functions */
-
-/**
- * find_object_by_role:
- * @obj: An #AtkObject
- * @roles: An array of roles to search for
- * @num_roles: The number of entries in @roles
- *
- * Find the #AtkObject which is a decendant of the specified @obj
- * which is of an #AtkRole type specified in the @roles array.
- *
- * Returns: the #AtkObject that meets the specified criteria or NULL
- * if no object is found.
- **/
-AtkObject*
-find_object_by_role (AtkObject *obj,
- AtkRole *roles,
- gint num_roles)
-{
- /*
- * Find the first object which is a descendant of the specified object
- * which matches the specified role.
- *
- * This function returns a reference to the AtkObject which should be
- * removed when finished with the object.
- */
- gint i, j;
- gint n_children;
- AtkObject *child;
-
- if (obj == NULL)
- return NULL;
-
- for (j=0; j < num_roles; j++)
- {
- if (atk_object_get_role (obj) == roles[j])
- return obj;
- }
-
- n_children = atk_object_get_n_accessible_children (obj);
- for (i = 0; i < n_children; i++)
- {
- AtkObject* found_obj;
-
- child = atk_object_ref_accessible_child (obj, i);
-
- if (child == NULL)
- continue;
-
- for (j=0; j < num_roles; j++)
- {
- if (atk_object_get_role (child) == roles[j])
- return child;
- }
-
- found_obj = find_object_by_role (child, roles, num_roles);
- g_object_unref (child);
- if (found_obj)
- return found_obj;
- }
- return NULL;
-}
-
-/**
- * find_object_by_name_and_role:
- * @obj: An #AtkObject
- * @name: The GTK widget name
- * @roles: An array of roles to search for
- * @num_roles: The number of entries in @roles
- *
- * Find the #AtkObject which is a decendant of the specified @obj
- * which is of an #AtkRole type specified in the @roles array which
- * also has the GTK widget name specified in @name.
- *
- * Returns: the #AtkObject that meets the specified criteria or NULL
- * if no object is found.
- **/
-AtkObject*
-find_object_by_name_and_role(AtkObject *obj,
- const gchar *name,
- AtkRole *roles,
- gint num_roles)
-{
- AtkObject *child;
- GtkWidget* widget;
- gint i, j;
- gint n_children;
-
- if (obj == NULL)
- return NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- if (GTK_IS_WIDGET (widget))
- {
- if (strcmp (name, gtk_widget_get_name(GTK_WIDGET (widget))) == 0)
- {
- for (j=0; j < num_roles; j++)
- {
- if (atk_object_get_role (obj) == roles[j])
- return obj;
- }
- }
- }
-
- n_children = atk_object_get_n_accessible_children (obj);
- for (i = 0; i < n_children; i++)
- {
- AtkObject* found_obj;
-
- child = atk_object_ref_accessible_child (obj, i);
-
- if (child == NULL)
- continue;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (child));
- if (GTK_IS_WIDGET (widget))
- {
- if (strcmp(name, gtk_widget_get_name(GTK_WIDGET (widget))) == 0)
- {
- for (j=0; j < num_roles; j++)
- {
- if (atk_object_get_role (child) == roles[j])
- return child;
- }
- }
- }
- found_obj = find_object_by_name_and_role (child, name, roles, num_roles);
- g_object_unref (child);
- if (found_obj)
- return found_obj;
- }
- return NULL;
-}
-
-/**
- * find_object_by_accessible_name_and_role:
- * @obj: An #AtkObject
- * @name: The accessible name
- * @roles: An array of roles to search for
- * @num_roles: The number of entries in @roles
- *
- * Find the #AtkObject which is a decendant of the specified @obj
- * which has the specified @name and matches one of the
- * specified @roles.
- *
- * Returns: the #AtkObject that meets the specified criteria or NULL
- * if no object is found.
- */
-AtkObject*
-find_object_by_accessible_name_and_role (AtkObject *obj,
- const gchar *name,
- AtkRole *roles,
- gint num_roles)
-{
- AtkObject *child;
- gint i, j;
- gint n_children;
- const gchar *accessible_name;
-
- if (obj == NULL)
- return NULL;
-
- accessible_name = atk_object_get_name (obj);
- if (accessible_name && (strcmp(name, accessible_name) == 0))
- {
- for (j=0; j < num_roles; j++)
- {
- if (atk_object_get_role (obj) == roles[j])
- return obj;
- }
- }
-
- n_children = atk_object_get_n_accessible_children (obj);
- for (i = 0; i < n_children; i++)
- {
- AtkObject* found_obj;
-
- child = atk_object_ref_accessible_child (obj, i);
-
- if (child == NULL)
- continue;
-
- accessible_name = atk_object_get_name (child);
- if (accessible_name && (strcmp(name, accessible_name) == 0))
- {
- for (j=0; j < num_roles; j++)
- {
- if (atk_object_get_role (child) == roles[j])
- return child;
- }
- }
- found_obj = find_object_by_accessible_name_and_role (child, name,
- roles, num_roles);
- g_object_unref (child);
- if (found_obj)
- return found_obj;
- }
- return NULL;
-}
-
-/**
- * find_object_by_name_and_role:
- * @obj: An #AtkObject
- * @type: The type
- *
- * Find the #AtkObject which is a decendant of the specified @obj
- * which has the specified @type.
- *
- * Returns: the #AtkObject that meets the specified criteria or NULL
- * if no object is found.
- */
-AtkObject*
-find_object_by_type (AtkObject *obj,
- gchar *type)
-{
- /*
- * Find the first object which is a descendant of the specified object
- * which matches the specified type.
- *
- * This function returns a reference to the AtkObject which should be
- * removed when finished with the object.
- */
- gint i;
- gint n_children;
- AtkObject *child;
- const gchar * typename = NULL;
-
- if (obj == NULL)
- return NULL;
-
- typename = g_type_name (G_OBJECT_TYPE (obj));
- if (strcmp (typename, type) == 0)
- return obj;
-
- n_children = atk_object_get_n_accessible_children (obj);
- for (i = 0; i < n_children; i++)
- {
- AtkObject* found_obj;
-
- child = atk_object_ref_accessible_child (obj, i);
-
- if (child == NULL)
- continue;
-
- typename = g_type_name (G_OBJECT_TYPE (child));
-
- if (strcmp (typename, type) == 0)
- return child;
-
- found_obj = find_object_by_type (child, type);
- g_object_unref (child);
- if (found_obj)
- return found_obj;
- }
- return NULL;
-}
-
-/**
- * already_accessed_atk_object
- * @obj: An #AtkObject
- *
- * Keeps a static GPtrArray of objects that have been passed into this
- * function.
- *
- * Returns: TRUE if @obj has been passed into this function before
- * and FALSE otherwise.
- */
-gboolean
-already_accessed_atk_object (AtkObject *obj)
-{
- static GPtrArray *obj_array = NULL;
- gboolean found = FALSE;
- gint i;
-
- /*
- * We create a property handler for each object if one was not associated
- * with it already.
- *
- * We add it to our array of objects which have property handlers; if an
- * object is destroyed it remains in the array.
- */
- if (obj_array == NULL)
- obj_array = g_ptr_array_new ();
-
- for (i = 0; i < obj_array->len; i++)
- {
- if (obj == g_ptr_array_index (obj_array, i))
- {
- found = TRUE;
- break;
- }
- }
- if (!found)
- g_ptr_array_add (obj_array, obj);
-
- return found;
-}
-
-/**
- * display_children
- * @obj: An #AtkObject
- * @depth: Number of spaces to indent output.
- * @child_number: The child number of this object.
- *
- * Displays the hierarchy of widgets starting from @obj.
- **/
-void
-display_children (AtkObject *obj,
- gint depth,
- gint child_number)
-{
- display_children_to_depth(obj, -1, depth, child_number);
-}
-
-/**
- * display_children_to_depth
- * @obj: An #AtkObject
- * @to_depth: Display to this depth.
- * @depth: Number of spaces to indent output.
- * @child_number: The child number of this object.
- *
- * Displays the hierarchy of widgets starting from @obj only
- * to the specified depth.
- **/
-void
-display_children_to_depth (AtkObject *obj,
- gint to_depth,
- gint depth,
- gint child_number)
-{
- AtkRole role;
- const gchar *rolename;
- const gchar *typename;
- gint n_children, parent_index, i;
-
- if (to_depth >= 0 && depth > to_depth)
- return;
-
- if (obj == NULL)
- return;
-
- for (i=0; i < depth; i++)
- g_print(" ");
-
- role = atk_object_get_role (obj);
- rolename = atk_role_get_name (role);
-
- /*
- * Note that child_number and parent_index should be the same
- * unless there is an error.
- */
- parent_index = atk_object_get_index_in_parent(obj);
- g_print("child <%d == %d> ", child_number, parent_index);
-
- n_children = atk_object_get_n_accessible_children (obj);
- g_print ("children <%d> ", n_children);
-
- if (rolename)
- g_print("role <%s>, ", rolename);
- else
- g_print("role <error>");
-
- if (GTK_IS_ACCESSIBLE(obj))
- {
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- g_print("name <%s>, ", gtk_widget_get_name(GTK_WIDGET (widget)));
- }
- else
- g_print("name <NULL>, ");
-
- typename = g_type_name (G_OBJECT_TYPE (obj));
- g_print ("typename <%s>\n", typename);
-
- for (i = 0; i < n_children; i++)
- {
- AtkObject *child;
-
- child = atk_object_ref_accessible_child (obj, i);
- if (child != NULL)
- {
- display_children_to_depth (child, to_depth, depth + 1, i);
- g_object_unref (G_OBJECT (child));
- }
- }
-}
-
-/* Test GUI logic */
-
-/* GUI Information for the Select Tests Window */
-typedef struct
-{
- GtkWidget *selecttestsWindow;
- GtkWidget *hbox;
- GtkWidget *vbox;
- GtkWidget *label;
- GtkWidget *textInsert;
- GtkWidget *button;
- gchar *selecttestsTitle;
-}MainDialog;
-
-/* Functionality information about each added test */
-typedef struct
-{
- GtkWidget *toggleButton;
- GtkWidget *hbox;
- GtkWidget *parameterLabel[MAX_PARAMS];
- GtkWidget *parameterInput[MAX_PARAMS];
- gchar *testName;
- gint numParameters;
-}TestList;
-
-typedef struct
-{
- TLruntest runtest;
- AtkObject* obj;
- gint win_num;
-}TestCB;
-
-static MainDialog *md[MAX_WINDOWS];
-static OutputWindow *ow;
-
-/* An array containing function information on all of the tests */
-static TestList listoftests[MAX_WINDOWS][MAX_TESTS];
-
-/* A counter for the actual number of added tests */
-gint counter;
-
-/* A global for keeping track of the window numbers */
-static gint window_no = 0;
-/* An array containing the names of the tests that are "on" */
-static gchar *onTests[MAX_WINDOWS][MAX_TESTS];
-static gint g_visibleDialog = 0;
-static gint testcount[MAX_WINDOWS];
-static TestCB testcb[MAX_WINDOWS];
-
-/**
- * create_windows:
- * @obj: An #AtkObject
- * @runtest: The callback function to run when the "Run Tests" button
- * is clicked.
- * @outwin: The output window to use. If NULL is passed in, then
- * create a new one.
- *
- * Creates the test window and the output window (if @outwin is NULL)
- * Runs _create_output_window() and _create_select_tests_window()
- * and sets g_visibleDialog to 1
- *
- * Returns: The window number of the created window if successful, -1 otherwise.
- **/
-gint
-create_windows (AtkObject *obj,
- TLruntest runtest,
- OutputWindow **outwin)
-{
- gboolean valid;
- gint tmp;
-
- g_visibleDialog = 1;
- _create_output_window(outwin);
- valid = _create_select_tests_window(obj, runtest, outwin);
- if (valid)
- {
- tmp = window_no;
- window_no++;
- return tmp;
- }
- else
- return -1;
-}
-
-/**
- * _create_output_window
- * @outwin: If outwin is passed in as NULL, a new output window is created
- * otherwise, the outwin passed in is shared.
- *
- * Creates the Test Result Output Window .
- **/
-static void
-_create_output_window (OutputWindow **outwin)
-{
- GtkWidget *view;
- GtkWidget *scrolled_window;
- OutputWindow *localow;
-
- if (*outwin == NULL)
- {
- localow = (OutputWindow *) malloc (sizeof(OutputWindow));
-
- localow->outputBuffer = gtk_text_buffer_new(NULL);
- view = gtk_text_view_new_with_buffer(GTK_TEXT_BUFFER(localow->outputBuffer));
- gtk_widget_set_size_request (view, 700, 500);
- gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(view), GTK_WRAP_WORD);
- gtk_text_view_set_editable(GTK_TEXT_VIEW(view), FALSE);
-
- localow->outputWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_title(GTK_WINDOW(localow->outputWindow), "Test Output");
- scrolled_window = gtk_scrolled_window_new(NULL, NULL);
-
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),
- GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
- gtk_container_add(GTK_CONTAINER(localow->outputWindow), scrolled_window);
- gtk_container_add(GTK_CONTAINER(scrolled_window), view);
- gtk_text_buffer_get_iter_at_offset(localow->outputBuffer, &localow->outputIter, 0);
- gtk_widget_show(view);
- gtk_widget_show(scrolled_window);
- gtk_widget_show(localow->outputWindow);
-
- gtk_text_buffer_set_text(GTK_TEXT_BUFFER(localow->outputBuffer),
- "\n\nWelcome to the test GUI:\nTest results are printed here\n\n", 58);
- gtk_text_buffer_get_iter_at_offset(GTK_TEXT_BUFFER(localow->outputBuffer),
- &localow->outputIter, 0);
- *outwin = localow;
- ow = *outwin;
- }
-}
-
-/**
- * _create_select_tests_window:
- * @obj: An #AtkObject
- * @runtest: The callback function that is run when the "Run Tests"
- * button is clicked.
- * @outwin: The output window to use.
- *
- * Creates the Test Select Window
- *
- * Returns: TRUE if successful, FALSE otherwise
- **/
-static gboolean
-_create_select_tests_window (AtkObject *obj,
- TLruntest runtest,
- OutputWindow **outwin)
-{
- GtkWidget *hbuttonbox;
- GtkWidget *scrolledWindow;
-
- if (window_no >= 0 && window_no < MAX_WINDOWS)
- {
- md[window_no] = (MainDialog *) malloc (sizeof(MainDialog));
-
- /* Setup Window */
- md[window_no]->selecttestsTitle = "Test Setting";
- md[window_no]->selecttestsWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_window_set_title (GTK_WINDOW( ow->outputWindow),
- md[window_no]->selecttestsTitle);
- gtk_window_set_resizable (GTK_WINDOW(md[window_no]->selecttestsWindow),
- FALSE);
- gtk_window_set_position (GTK_WINDOW(md[window_no]->selecttestsWindow),
- GTK_WIN_POS_CENTER);
- g_signal_connect (md[window_no]->selecttestsWindow,
- "destroy",
- G_CALLBACK (_destroy),
- &md[window_no]->selecttestsWindow);
-
- /* Setup Scrolling */
- scrolledWindow = gtk_scrolled_window_new(NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledWindow),
- GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
- gtk_widget_set_size_request (scrolledWindow, 500, 600);
- gtk_container_add (GTK_CONTAINER (md[window_no]->selecttestsWindow),
- scrolledWindow);
-
- /* Setup Layout */
- md[window_no]->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- gtk_box_set_homogeneous (GTK_BOX (md[window_no]->vbox), TRUE);
- md[window_no]->button = gtk_button_new_with_mnemonic ("_Run Tests");
- hbuttonbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
- gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox),
- GTK_BUTTONBOX_SPREAD);
- gtk_box_pack_end (GTK_BOX (hbuttonbox),
- GTK_WIDGET (md[window_no]->button), TRUE, TRUE, 0);
- gtk_box_pack_end (GTK_BOX (md[window_no]->vbox), hbuttonbox,
- TRUE, TRUE, 0);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolledWindow),
- md[window_no]->vbox);
-
- testcb[window_no].runtest = runtest;
- testcb[window_no].obj = obj;
- testcb[window_no].win_num = window_no;
- g_signal_connect (md[window_no]->button,
- "clicked",
- G_CALLBACK (_testselectioncb),
- (gpointer)&testcb[window_no]);
-
- /* Show all */
- gtk_widget_grab_focus (md[window_no]->button);
- gtk_widget_show (md[window_no]->button);
- gtk_widget_show (hbuttonbox);
- gtk_widget_show (scrolledWindow);
- gtk_widget_show_all (GTK_WIDGET (md[window_no]->selecttestsWindow));
- return TRUE;
- }
- else
- return FALSE;
-}
-
-/**
- * add_test
- * @window: The window number
- * @name: The test name
- * @num_params: The number of arguments the test uses.
- * @parameter_names: The names of each argument.
- * @default_names: The default values of each argument.
- *
- * Adds a Test with the passed-in details to the Tests Select Window.
- *
- * Returns: FALSE if the num_params passed in is greater than
- * MAX_PARAMS, otherwise returns TRUE
- *
- **/
-gboolean
-add_test (gint window,
- gchar *name,
- gint num_params,
- gchar* parameter_names[],
- gchar* default_names[])
-{
- gint i;
-
- if (num_params > MAX_PARAMS)
- return FALSE;
- else
- {
- md[window]->hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_set_spacing (GTK_BOX (md[window]->hbox), 10);
- gtk_container_set_border_width (GTK_CONTAINER (md[window]->hbox), 10);
- gtk_container_add (GTK_CONTAINER (md[window]->vbox), md[window]->hbox);
- listoftests[window][testcount[window]].toggleButton =
- gtk_toggle_button_new_with_label (name);
- gtk_box_pack_start (GTK_BOX (md[window]->hbox),
- listoftests[window][testcount[window]].toggleButton, FALSE, FALSE, 0);
- listoftests[window][testcount[window]].testName = name;
- listoftests[window][testcount[window]].numParameters = num_params;
- for (i=0; i<num_params; i++)
- {
- listoftests[window][testcount[window]].parameterLabel[i] =
- gtk_label_new (parameter_names[i]);
- gtk_box_pack_start (GTK_BOX (md[window]->hbox),
- listoftests[window][testcount[window]].parameterLabel[i], FALSE, FALSE, 0);
- listoftests[window][testcount[window]].parameterInput[i] = gtk_entry_new();
- gtk_entry_set_text (GTK_ENTRY (listoftests[window][testcount[window]].parameterInput[i]),
- default_names[i]);
- gtk_widget_set_size_request (listoftests[window][testcount[window]].parameterInput[i], 50, 22);
- gtk_box_pack_start (GTK_BOX (md[window]->hbox),
- listoftests[window][testcount[window]].parameterInput[i], FALSE, FALSE, 0);
- gtk_widget_set_sensitive (
- GTK_WIDGET (listoftests[window][testcount[window]].parameterLabel[i]), FALSE);
- gtk_widget_set_sensitive (
- GTK_WIDGET (listoftests[window][testcount[window]].parameterInput[i]), FALSE);
- gtk_widget_show (listoftests[window][testcount[window]].parameterLabel[i]);
- gtk_widget_show (listoftests[window][testcount[window]].parameterInput[i]);
- }
- g_signal_connect (listoftests[window][testcount[window]].toggleButton,
- "toggled",
- G_CALLBACK (_toggle_selectedcb),
- (gpointer)&(listoftests[window][testcount[window]]));
- gtk_widget_show (listoftests[window][testcount[window]].toggleButton);
- gtk_widget_show (md[window]->hbox);
- gtk_widget_show (md[window]->vbox);
-
- testcount[window]++;
- counter++;
- return TRUE;
- }
-}
-
-/**
- * tests_set:
- * @window: The window number
- * @count: Passes back the number of tests on.
- *
- * Gets an array of strings corresponding to the tests that are "on".
- * A test is assumed on if the toggle button is on and if all its
- * parameters have values.
- *
- * Returns: an array of strings corresponding to the tests that
- * are "on".
- **/
-gchar **tests_set(gint window, int *count)
-{
- gint i =0, j = 0, num;
- gboolean nullparam;
- gchar* input;
-
- *count = 0;
- for (i = 0; i < MAX_TESTS; i++)
- onTests[window][i] = NULL;
-
- for (i = 0; i < testcount[window]; i++)
- {
- nullparam = FALSE;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (listoftests[window][i].toggleButton)))
- {
- num = listoftests[window][i].numParameters;
- for (j = 0; j < num; j++)
- {
- input = gtk_editable_get_chars (
- GTK_EDITABLE (listoftests[window][i].parameterInput[j]), 0, -1);
-
- if (input != NULL && (! strcmp(input, "")))
- nullparam = TRUE;
- }
- if (!nullparam)
- {
- onTests[window][*count] = listoftests[window][i].testName;
- *count = *count + 1;
- }
- }
- }
- return onTests[window];
-}
-
-/**
- * _get_position_in_array:
- * @window: The window number
- * @the_test_name: The name of the test
- *
- * Gets the index of the passed-in @the_test_name.
- *
- * Returns: the position in listoftests[] of @the_test_name
- **/
-static gint
-_get_position_in_array(gint window,
- gchar *the_test_name)
-{
- gint i;
-
- for (i = 0; i < testcount[window]; i++)
- {
- if (strcmp(listoftests[window][i].testName, the_test_name) == 0)
- return i;
- }
- return -1;
-}
-
-/**
- * _get_position_in_parameters:
- * @window: The window number
- * @label: The label name
- * @position: The parameter position
- *
- * Gets the index of the passed-in parameter @label.
- *
- * Returns: the position in parameterLabel[] (a member of
- * listoftests[]) of @label
- **/
-static gint
-_get_position_in_parameters(gint window,
- gchar *label,
- gint position)
-{
- gint i;
- const gchar *label_string;
-
- for (i = 0; i < MAX_PARAMS; i++)
- {
- label_string = gtk_label_get_text(
- GTK_LABEL (listoftests[window][position].parameterLabel[i]));
-
- if (strcmp(label_string, label) == 0)
- return i;
- }
- return -1;
-}
-
-/**
- * set_output_buffer:
- * @output: The string to add to the output buffer
- *
- * Tidies up the output Window
- **/
-void
-set_output_buffer(gchar *output)
-{
- gtk_text_buffer_insert (GTK_TEXT_BUFFER (ow->outputBuffer),
- &ow->outputIter, output, strlen(output));
- gtk_text_buffer_get_iter_at_offset (GTK_TEXT_BUFFER (ow->outputBuffer),
- &ow->outputIter, 0);
-}
-
-/**
- * isVisibleDialog:
- *
- * Informs user if a visible test window running.
- *
- * Returns: TRUE if g_visibleDialog is set to 1, otherwise FALSE
- **/
-gboolean
-isVisibleDialog(void)
-{
- if (g_visibleDialog >= 1)
- return TRUE;
- else
- return FALSE;
-}
-
-/**
- * get_arg_of_func:
- * @window: The window number
- * @function_name: The name of the function
- * @arg_label: The label of the argument.
- *
- * Gets the user input associated with the @function_name and @arg_label.
- *
- * Returns: the user input associated with the @function_name and @arg_label.
- **/
-gchar*
-get_arg_of_func (gint window,
- gchar *function_name,
- gchar *arg_label)
-{
- const gchar *argString;
- gchar *retString;
- gint position, paramPosition;
-
- position = _get_position_in_array(window, function_name);
-
- if (position == -1)
- {
- g_print("No such function\n");
- return NULL;
- }
-
- paramPosition = _get_position_in_parameters(window, arg_label, position);
-
- if (paramPosition == -1)
- {
- g_print("No such parameter Label\n");
- return NULL;
- }
-
- if (position != -1 && paramPosition != -1)
- {
- argString = gtk_editable_get_chars (
- GTK_EDITABLE (listoftests[window][position].parameterInput[paramPosition]),
- 0, -1);
- retString = g_strdup(argString);
- }
- else
- retString = NULL;
-
- return retString;
-}
-
-/**
- * string_to_int:
- * @the_string: The string to convert
- *
- * Converts the passed-in string to an integer
- *
- * Returns: An integer corresponding to @the_string.
- **/
-int
-string_to_int (const char *the_string)
-{
- char *end_ptr;
- double ret_val;
- int int_ret_val;
-
- while (1)
- {
- ret_val = strtod( the_string, &end_ptr);
- if (*end_ptr == '\0')
- break;
- else
- printf("\nError: input must be a number\n");
- }
-
- int_ret_val = (int) ret_val;
- return (int_ret_val);
-}
-
-/**
- * _toggle_selectedcb:
- * @widget: The ToggleButton widget
- * @test: user data containing the TestList structure.
- *
- * Toggle Button Callback, activating the text entry fields
- **/
-static void
-_toggle_selectedcb (GtkWidget *widget,
- gpointer test)
-{
- int i;
- TestList *testlist = (TestList *) test;
- gboolean toggled;
- gboolean sensitive;
- toggled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
- if (toggled)
- sensitive = TRUE;
- else
- sensitive = FALSE;
-
- for (i=0; i < testlist->numParameters; i++)
- {
- gtk_widget_set_sensitive (GTK_WIDGET (testlist->parameterLabel[i]),
- sensitive);
- gtk_widget_set_sensitive (GTK_WIDGET (testlist->parameterInput[i]),
- sensitive);
- }
-}
-
-/*
- * _testselectioncb:
- * widget: The Button widget
- * data: The user data containing a TestCB structure
- *
- * Callback for when the "Run Tests" button is pressed
- **/
-static void
-_testselectioncb (GtkWidget *widget,
- gpointer data)
-{
- TestCB* local_testcb = (TestCB *)data;
- local_testcb->runtest(local_testcb->obj, local_testcb->win_num);
-}
-
-/**
- * _destroy:
- * @widget: The GUI widget
- * @data: User data, not used.
- *
- * Destroy Callback.
- **/
-static void
-_destroy (GtkWidget *widget,
- gpointer data)
-{
- gtk_main_quit();
-}
-
+++ /dev/null
-#include <stdio.h>
-#include <gtk/gtk.h>
-
-/* Maximum characters in the output buffer */
-#define MAX_LINE_SIZE 1000
-
-/* Maximum number of tests */
-#define MAX_TESTS 30
-
-/* Maximum number of test windows */
-#define MAX_WINDOWS 5
-
-/* Maximum number of parameters any test can have */
-#define MAX_PARAMS 3
-
-/* Information on the Output Window */
-
-typedef struct
-{
- GtkWidget *outputWindow;
- GtkTextBuffer *outputBuffer;
- GtkTextIter outputIter;
-}OutputWindow;
-
-typedef void (*TLruntest) (AtkObject * obj, gint win_num);
-
-/* General purpose functions */
-
-gboolean already_accessed_atk_object (AtkObject *obj);
-AtkObject* find_object_by_role (AtkObject *obj,
- AtkRole *role,
- gint num_roles);
-AtkObject* find_object_by_type (AtkObject *obj,
- gchar *type);
-AtkObject* find_object_by_name_and_role (AtkObject *obj,
- const gchar *name,
- AtkRole *roles,
- gint num_roles);
-AtkObject* find_object_by_accessible_name_and_role (AtkObject *obj,
- const gchar *name,
- AtkRole *roles,
- gint num_roles);
-void display_children (AtkObject *obj,
- gint depth,
- gint child_number);
-void display_children_to_depth (AtkObject *obj,
- gint to_depth,
- gint depth,
- gint child_number);
-
-
-/* Test GUI functions */
-
-gint create_windows (AtkObject *obj,
- TLruntest runtest,
- OutputWindow **outwin);
-gboolean add_test (gint window,
- gchar *name,
- gint num_params,
- gchar *parameter_names[],
- gchar *default_names[]);
-void set_output_buffer (gchar *output);
-gchar **tests_set (gint window,
- int *count);
-gchar *get_arg_of_func (gint window,
- gchar *function_name,
- gchar *arg_label);
-int string_to_int (const char *the_string);
-gboolean isVisibleDialog (void);
-
+++ /dev/null
-#include <string.h>
-#include <gtk/gtk.h>
-#include "testlib.h"
-
-/*
- * This module is used to test the accessible implementation for menu items
- *
- * 1) When a menu item is clicked in testgtk, the action for the
- * item is performed.
- * 2) The name of the keybinding for the 'activate" action for a menu item
- * is output, if it exists.
- * 3) Execute the action for a menu item programatically
- */
-#define NUM_VALID_ROLES 1
-
-static void _create_event_watcher (void);
-static void _check_object (AtkObject *obj);
-static gint _do_menu_item_action (gpointer data);
-
-static void
-_check_object (AtkObject *obj)
-{
- AtkRole role;
- static const char *name = NULL;
- static gboolean first_time = TRUE;
-
- role = atk_object_get_role (obj);
- if (role == ATK_ROLE_FRAME)
- /*
- * Find the specified menu item
- */
- {
- AtkRole valid_roles[NUM_VALID_ROLES];
- AtkObject *atk_menu_item;
- GtkWidget *widget;
-
- if (name == NULL)
- {
- valid_roles[0] = ATK_ROLE_MENU_ITEM;
-
- name = g_getenv ("TEST_ACCESSIBLE_NAME");
- if (name == NULL)
- name = "foo";
- }
- atk_menu_item = find_object_by_accessible_name_and_role (obj, name,
- valid_roles, NUM_VALID_ROLES);
-
- if (atk_menu_item == NULL)
- {
- g_print ("Object not found for %s\n", name);
- return;
- }
-
- g_assert (GTK_IS_ACCESSIBLE (atk_menu_item));
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (atk_menu_item));
- g_assert (GTK_IS_MENU_ITEM (widget));
-
- if (first_time)
- first_time = FALSE;
- else
- return;
-
- /*
- * This action opens the menu whose name is "foo" or whatever
- * was specified in the environment variable TEST_ACCESSIBLE_NAME
- */
- atk_action_do_action (ATK_ACTION (atk_menu_item), 0);
- }
- else if ((role == ATK_ROLE_MENU_ITEM) ||
- (role == ATK_ROLE_CHECK_MENU_ITEM) ||
- (role == ATK_ROLE_RADIO_MENU_ITEM) ||
- (role == ATK_ROLE_TEAR_OFF_MENU_ITEM))
- {
- const char *keybinding;
- const char *accessible_name;
-
- accessible_name = atk_object_get_name (obj);
- if (accessible_name)
- g_print ("Name: %s\n", accessible_name);
- g_print ("Action: %s\n", atk_action_get_name (ATK_ACTION (obj), 0));
- keybinding = atk_action_get_keybinding (ATK_ACTION (obj), 0);
- if (keybinding)
- g_print ("KeyBinding: %s\n", keybinding);
- /*
- * Do the action associated with the menu item once, otherwise
- * we get into a loop
- */
- if (strcmp (name, accessible_name) == 0)
- {
- if (first_time)
- first_time = FALSE;
- else
- return;
- if (g_getenv ("TEST_ACCESSIBLE_AUTO"))
- {
- g_idle_add (_do_menu_item_action, obj);
- }
- }
- }
- else
- {
- const char *accessible_name;
-
- accessible_name = atk_object_get_name (obj);
- if (accessible_name)
- g_print ("Name: %s\n", accessible_name);
- else if (GTK_IS_ACCESSIBLE (obj))
- {
- GtkWidget *widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- g_print ("Type: %s\n", g_type_name (G_OBJECT_TYPE (widget)));
- }
- }
-}
-
-static gint _do_menu_item_action (gpointer data)
-{
- AtkObject *obj = ATK_OBJECT (data);
-
- atk_action_do_action (ATK_ACTION (obj), 0);
-
- return FALSE;
-}
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_check_object);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testmenuitem Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <stdio.h>
-
-#include <glib.h>
-#include <atk/atk.h>
-#include <gtk/gtk.h>
-#include "testlib.h"
-
-#define NUM_VALID_ROLES 1
-
-static void _print_type (AtkObject *obj);
-static void _do_selection (AtkObject *obj);
-static gint _finish_selection (gpointer data);
-static gint _remove_page (gpointer data);
-
-static void _print_type (AtkObject *obj)
-{
- const gchar *typename = NULL;
- const gchar *name = NULL;
- const gchar *description = NULL;
- AtkRole role;
-
- if (GTK_IS_ACCESSIBLE (obj))
- {
- GtkWidget* widget = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- typename = g_type_name (G_OBJECT_TYPE (widget));
- g_print ("\tWidget type name: %s\n", typename ? typename : "NULL");
- }
-
- typename = g_type_name (G_OBJECT_TYPE (obj));
- g_print ("\tAccessible type name: %s\n", typename ? typename : "NULL");
-
- name = atk_object_get_name (obj);
- g_print("\tAccessible Name: %s\n", (name) ? name : "NULL");
-
- role = atk_object_get_role(obj);
- g_print ("\tAccessible Role: %d\n", role);
-
- description = atk_object_get_description (obj);
- g_print ("\tAccessible Description: %s\n", (description) ? description : "NULL");
- if (role == ATK_ROLE_PAGE_TAB)
- {
- AtkObject *parent, *child;
- gint x, y, width, height;
-
- x = y = width = height = 0;
- atk_component_get_extents (ATK_COMPONENT (obj), &x, &y, &width, &height,
- ATK_XY_SCREEN);
- g_print ("obj: x: %d y: %d width: %d height: %d\n", x, y, width, height);
- x = y = width = height = 0;
- atk_component_get_extents (ATK_COMPONENT (obj), &x, &y, &width, &height,
- ATK_XY_WINDOW);
- g_print ("obj: x: %d y: %d width: %d height: %d\n", x, y, width, height);
- parent = atk_object_get_parent (obj);
- x = y = width = height = 0;
- atk_component_get_extents (ATK_COMPONENT (parent), &x, &y, &width, &height,
- ATK_XY_SCREEN);
- g_print ("parent: x: %d y: %d width: %d height: %d\n", x, y, width, height);
- x = y = width = height = 0;
- atk_component_get_extents (ATK_COMPONENT (parent), &x, &y, &width, &height,
- ATK_XY_WINDOW);
- g_print ("parent: x: %d y: %d width: %d height: %d\n", x, y, width, height);
-
- child = atk_object_ref_accessible_child (obj, 0);
- x = y = width = height = 0;
- atk_component_get_extents (ATK_COMPONENT (child), &x, &y, &width, &height,
- ATK_XY_SCREEN);
- g_print ("child: x: %d y: %d width: %d height: %d\n", x, y, width, height);
- x = y = width = height = 0;
- atk_component_get_extents (ATK_COMPONENT (child), &x, &y, &width, &height,
- ATK_XY_WINDOW);
- g_print ("child: x: %d y: %d width: %d height: %d\n", x, y, width, height);
-
- g_object_unref (child);
- }
-}
-
-
-static void
-_do_selection (AtkObject *obj)
-{
- gint i;
- gint n_children;
- AtkRole role;
- AtkObject *selection_obj;
- static gboolean done_selection = FALSE;
-
- if (done_selection)
- return;
-
- role = atk_object_get_role (obj);
-
- if (role == ATK_ROLE_FRAME)
- {
- AtkRole roles[NUM_VALID_ROLES];
-
- roles[0] = ATK_ROLE_PAGE_TAB_LIST;
-
- selection_obj = find_object_by_role (obj, roles, NUM_VALID_ROLES);
-
- if (selection_obj)
- {
- done_selection = TRUE;
- }
- else
- return;
- }
- else
- {
- return;
- }
-
- g_print ("*** Start do_selection ***\n");
-
- n_children = atk_object_get_n_accessible_children (selection_obj);
- g_print ("*** Number of notebook pages: %d\n", n_children);
-
- for (i = 0; i < n_children; i++)
- {
- if (atk_selection_is_child_selected (ATK_SELECTION (selection_obj), i))
- {
- g_print ("%d page selected\n", i);
- }
- else
- {
- g_print ("%d page not selected\n", i);
- }
- }
- /*
- * Should not be able to select all items in a notebook.
- */
- atk_selection_select_all_selection (ATK_SELECTION (selection_obj));
- i = atk_selection_get_selection_count (ATK_SELECTION (selection_obj));
- if ( i != 1)
- {
- g_print ("Unexpected selection count: %d, expected 1\n", i);
- g_print ("\t value of i is: %d\n", i);
- return;
- }
-
- for (i = 0; i < n_children; i++)
- {
- atk_selection_add_selection (ATK_SELECTION (selection_obj), i);
-
- if (atk_selection_is_child_selected (ATK_SELECTION (selection_obj), i))
- {
- g_print ("Page %d: successfully selected\n", i);
- _finish_selection (selection_obj);
- }
- else
- {
- g_print ("ERROR: child %d: selection failed\n", i);
- }
- }
- g_print ("*** End _do_selection ***\n");
- g_timeout_add (5000, _remove_page, selection_obj);
-}
-
-static gint _remove_page (gpointer data)
-{
- AtkObject *obj = ATK_OBJECT (data);
- GtkWidget *widget = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
-
- g_return_val_if_fail (GTK_IS_NOTEBOOK (widget), FALSE);
- gtk_notebook_remove_page (GTK_NOTEBOOK (widget), 4);
- return FALSE;
-}
-
-static gint _finish_selection (gpointer data)
-{
- AtkObject *obj = ATK_OBJECT (data);
- AtkObject *selected;
- AtkObject *parent_object;
- GtkWidget *parent_widget;
- gint i, index;
-
- g_print ("\t*** Start Finish selection ***\n");
-
- i = atk_selection_get_selection_count (ATK_SELECTION (obj));
- if (i != 1)
- {
- g_print ("\tUnexpected selection count: %d, expected 1\n", i);
- return FALSE;
- }
- selected = atk_selection_ref_selection (ATK_SELECTION (obj), 0);
- g_return_val_if_fail (selected != NULL, FALSE);
-
- g_print ("\t*** Selected Item ***\n");
- index = atk_object_get_index_in_parent (selected);
- g_print ("\tIndex in parent is: %d\n", index);
-
- parent_object = atk_object_get_parent (selected);
- g_return_val_if_fail (ATK_IS_OBJECT (parent_object), FALSE);
- g_return_val_if_fail (parent_object == obj, FALSE);
- parent_widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent_object));
- g_return_val_if_fail (GTK_IS_NOTEBOOK (parent_widget), FALSE);
-
- _print_type (selected);
- i = atk_selection_get_selection_count (ATK_SELECTION (obj));
- g_return_val_if_fail (i == 1, FALSE);
- g_object_unref (selected);
- g_print ("\t*** End Finish selection ***\n");
- return FALSE;
-}
-
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_do_selection);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testnotebook Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <gtk/gtk.h>
-#include "testlib.h"
-
-static void _print_accessible (AtkObject *obj);
-static void _print_type (AtkObject *obj);
-static void _print_states (AtkObject *obj);
-static void _check_children (AtkObject *obj);
-static void _check_relation (AtkObject *obj);
-static void _create_event_watcher (void);
-static void _focus_handler (AtkObject *obj, gboolean focus_in);
-static gboolean _children_changed (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-
-static guint id;
-
-static void _print_states (AtkObject *obj)
-{
- AtkStateSet *state_set;
- gint i;
-
- state_set = atk_object_ref_state_set (obj);
-
- g_print ("*** Start states ***\n");
- for (i = 0; i < 64; i++)
- {
- AtkStateType one_state;
- const gchar *name;
-
- if (atk_state_set_contains_state (state_set, i))
- {
- one_state = i;
-
- name = atk_state_type_get_name (one_state);
-
- if (name)
- g_print("%s\n", name);
- }
- }
- g_object_unref (state_set);
- g_print ("*** End states ***\n");
-}
-
-static void _print_type (AtkObject *obj)
-{
- const gchar * typename = NULL;
- const gchar * name = NULL;
- AtkRole role;
- static gboolean in_print_type = FALSE;
-
- if (GTK_IS_ACCESSIBLE (obj))
- {
- GtkWidget* widget = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- typename = g_type_name (G_OBJECT_TYPE (widget));
- g_print ("Widget type name: %s\n", typename ? typename : "NULL");
- }
- typename = g_type_name (G_OBJECT_TYPE (obj));
- g_print ("Accessible type name: %s\n", typename ? typename : "NULL");
- name = atk_object_get_name (obj);
- g_print("Accessible Name: %s\n", (name) ? name : "NULL");
- role = atk_object_get_role (obj);
- g_print ("Accessible Role: %s\n", atk_role_get_name (role));
-
- if (ATK_IS_COMPONENT (obj))
- {
- gint x, y, width, height;
- AtkStateSet *states;
-
- _print_states (obj);
- states = atk_object_ref_state_set (obj);
- if (atk_state_set_contains_state (states, ATK_STATE_VISIBLE))
- {
- AtkObject *parent;
-
- atk_component_get_extents (ATK_COMPONENT (obj),
- &x, &y, &width, &height,
- ATK_XY_SCREEN);
- g_print ("ATK_XY_SCREEN: x: %d y: %d width: %d height: %d\n",
- x, y, width, height);
-
- atk_component_get_extents (ATK_COMPONENT (obj),
- &x, &y, &width, &height,
- ATK_XY_WINDOW);
- g_print ("ATK_XY_WINDOW: x: %d y: %d width: %d height: %d\n",
- x, y, width, height);
- if (atk_state_set_contains_state (states, ATK_STATE_SHOWING) &&
- ATK_IS_TEXT (obj))
- {
- gint offset;
-
- atk_text_get_character_extents (ATK_TEXT (obj), 1,
- &x, &y, &width, &height,
- ATK_XY_WINDOW);
- g_print ("Character extents : %d %d %d %d\n",
- x, y, width, height);
- if (width != 0 && height != 0)
- {
- offset = atk_text_get_offset_at_point (ATK_TEXT (obj),
- x, y,
- ATK_XY_WINDOW);
- if (offset != 1)
- {
- g_print ("Wrong offset returned (%d) %d\n", 1, offset);
- }
- }
- }
- if (in_print_type)
- return;
-
- parent = atk_object_get_parent (obj);
- if (!ATK_IS_COMPONENT (parent))
- {
- /* Assume toplevel */
- g_object_unref (G_OBJECT (states));
- return;
- }
-#if 0
- obj1 = atk_component_ref_accessible_at_point (ATK_COMPONENT (parent),
- x, y, ATK_XY_WINDOW);
- if (obj != obj1)
- {
- g_print ("Inconsistency between object and ref_accessible_at_point\n");
- in_print_type = TRUE;
- _print_type (obj1);
- in_print_type = FALSE;
- }
-#endif
- }
- g_object_unref (G_OBJECT (states));
- }
-}
-
-static void _print_accessible (AtkObject *obj)
-{
- GtkWidget* widget = NULL;
- AtkObject* parent_atk;
- AtkObject* ref_obj;
- AtkRole role;
- static gboolean first_time = TRUE;
-
- if (first_time)
- {
- first_time = FALSE;
- atk_add_global_event_listener (_children_changed,
- "Atk:AtkObject:children_changed");
- }
-
- /*
- * Check that the object returned by the atk_implementor_ref_accessible()
- * for a widget is the same as the accessible object
- */
- if (GTK_IS_ACCESSIBLE (obj))
- {
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- ref_obj = atk_implementor_ref_accessible (ATK_IMPLEMENTOR (widget));
- g_assert (ref_obj == obj);
- g_object_unref (G_OBJECT (ref_obj));
- }
- /*
- * Add a focus handler so we see focus out events as well
- */
- if (ATK_IS_COMPONENT (obj))
- atk_component_add_focus_handler (ATK_COMPONENT (obj), _focus_handler);
- g_print ("Object:\n");
- _print_type (obj);
- _print_states (obj);
-
- /*
- * Get the parent object
- */
- parent_atk = atk_object_get_parent (obj);
- if (parent_atk)
- {
- g_print ("Parent Object:\n");
- _print_type (parent_atk);
- parent_atk = atk_object_get_parent (parent_atk);
- if (parent_atk)
- {
- g_print ("Grandparent Object:\n");
- _print_type (parent_atk);
- }
- }
- else
- {
- g_print ("No parent\n");
- }
-
- role = atk_object_get_role (obj);
-
- if ((role == ATK_ROLE_FRAME) || (role == ATK_ROLE_DIALOG))
- {
- _check_children (obj);
- }
-}
-
-static void _check_relation (AtkObject *obj)
-{
- AtkRelationSet* relation_set = atk_object_ref_relation_set (obj);
- gint n_relations, i;
-
- g_return_if_fail (relation_set);
-
- n_relations = atk_relation_set_get_n_relations (relation_set);
- for (i = 0; i < n_relations; i++)
- {
- AtkRelation* relation = atk_relation_set_get_relation (relation_set, i);
-
- g_print ("Index: %d Relation type: %d Number: %d\n", i,
- atk_relation_get_relation_type (relation),
- atk_relation_get_target (relation)->len);
- }
- g_object_unref (relation_set);
-}
-
-static void _check_children (AtkObject *obj)
-{
- gint n_children, i;
- AtkLayer layer;
- AtkRole role;
-
- g_print ("Start Check Children\n");
- n_children = atk_object_get_n_accessible_children (obj);
- g_print ("Number of children: %d\n", n_children);
-
- role = atk_object_get_role (obj);
-
- if (ATK_IS_COMPONENT (obj))
- {
- atk_component_add_focus_handler (ATK_COMPONENT (obj), _focus_handler);
- layer = atk_component_get_layer (ATK_COMPONENT (obj));
- if (role == ATK_ROLE_MENU)
- g_assert (layer == ATK_LAYER_POPUP);
- else
- g_print ("Layer: %d\n", layer);
- }
-
- for (i = 0; i < n_children; i++)
- {
- AtkObject *child;
- AtkObject *parent;
- int j;
-
- child = atk_object_ref_accessible_child (obj, i);
- parent = atk_object_get_parent (child);
- j = atk_object_get_index_in_parent (child);
- _print_type (child);
- _check_relation (child);
- _check_children (child);
- if (obj != parent)
- {
- g_print ("*** Inconsistency between atk_object_get_parent() and "
- "atk_object_ref_accessible_child() ***\n");
- _print_type (child);
- _print_type (obj);
- if (parent)
- _print_type (parent);
- }
- g_object_unref (G_OBJECT (child));
-
- if (j != i)
- g_print ("*** Inconsistency between parent and children %d %d ***\n",
- i, j);
- }
- g_print ("End Check Children\n");
-}
-
-static gboolean
-_children_changed (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data)
-{
- GObject *object;
- guint index;
- gpointer target;
- const gchar *target_name = "NotAtkObject";
-
- object = g_value_get_object (param_values + 0);
- index = g_value_get_uint (param_values + 1);
- target = g_value_get_pointer (param_values + 2);
- if (G_IS_OBJECT (target))
- {
- if (ATK_IS_OBJECT (target))
- {
- target_name = atk_object_get_name (target);
- }
- if (!target_name)
- target_name = g_type_name (G_OBJECT_TYPE (G_OBJECT (target)));
- }
- else
- {
- if (!target)
- {
- AtkObject *child;
-
- child = atk_object_ref_accessible_child (ATK_OBJECT (object), index);
- if (child)
- {
- target_name = g_type_name (G_OBJECT_TYPE (G_OBJECT (child)));
- g_object_unref (child);
- }
- }
- }
- g_print ("_children_watched: %s %s %s index: %d\n",
- g_type_name (G_OBJECT_TYPE (object)),
- g_quark_to_string (ihint->detail),
- target_name, index);
- return TRUE;
-}
-
-static void
-_create_event_watcher (void)
-{
- /*
- * _print_accessible() will be called for an accessible object when its
- * widget receives focus.
- */
- id = atk_add_focus_tracker (_print_accessible);
-}
-
-static void
-_focus_handler (AtkObject *obj, gboolean focus_in)
-{
- g_print ("In _focus_handler focus_in: %s\n", focus_in ? "true" : "false");
- _print_type (obj);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testobject Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <string.h>
-#include <stdlib.h>
-#include <gtk/gtk.h>
-#include <testlib.h>
-
-static gint _test_paned (gpointer data);
-static void _check_paned (AtkObject *obj);
-
-static void _property_change_handler (AtkObject *obj,
- AtkPropertyValues *values);
-
-#define NUM_VALID_ROLES 1
-static gint last_position;
-
-static void _property_change_handler (AtkObject *obj,
- AtkPropertyValues *values)
-{
- const gchar *type_name = g_type_name (G_TYPE_FROM_INSTANCE (obj));
- const gchar *name = atk_object_get_name (obj);
-
- g_print ("_property_change_handler: Accessible Type: %s\n",
- type_name ? type_name : "NULL");
- g_print ("_property_change_handler: Accessible name: %s\n",
- name ? name : "NULL");
- g_print ("_property_change_handler: PropertyName: %s\n",
- values->property_name ? values->property_name: "NULL");
- if (strcmp (values->property_name, "accessible-value") == 0)
- {
- GValue *value, val;
- int position;
- value = &val;
-
- memset (value, 0, sizeof (GValue));
- atk_value_get_current_value (ATK_VALUE (obj), value);
- g_return_if_fail (G_VALUE_HOLDS_INT (value));
- position = g_value_get_int (value);
- g_print ("Position is %d previous position was %d\n",
- position, last_position);
- last_position = position;
- atk_value_get_minimum_value (ATK_VALUE (obj), value);
- g_return_if_fail (G_VALUE_HOLDS_INT (value));
- position = g_value_get_int (value);
- g_print ("Minimum Value is %d\n", position);
- atk_value_get_maximum_value (ATK_VALUE (obj), value);
- g_return_if_fail (G_VALUE_HOLDS_INT (value));
- position = g_value_get_int (value);
- g_print ("Maximum Value is %d\n", position);
- }
-}
-
-static gint _test_paned (gpointer data)
-{
- AtkObject *obj = ATK_OBJECT (data);
- AtkRole role = atk_object_get_role (obj);
- static gint times = 0;
-
- if (role == ATK_ROLE_SPLIT_PANE)
- {
- GValue *value, val;
- int position;
- value = &val;
-
- memset (value, 0, sizeof (GValue));
- atk_value_get_current_value (ATK_VALUE (obj), value);
- g_return_val_if_fail (G_VALUE_HOLDS_INT (value), FALSE);
- position = g_value_get_int (value);
- g_print ("Position is : %d\n", position);
- last_position = position;
- position *= 2;
- g_value_set_int (value, position);
- atk_value_set_current_value (ATK_VALUE (obj), value);
- times++;
- }
- if (times < 4)
- return TRUE;
- else
- return FALSE;
-}
-
-static void _check_paned (AtkObject *obj)
-{
- static gboolean done_paned = FALSE;
- AtkRole role;
-
- role = atk_object_get_role (obj);
-
- if (role == ATK_ROLE_FRAME)
- {
- AtkRole roles[NUM_VALID_ROLES];
- AtkObject *paned_obj;
-
- if (done_paned)
- return;
-
- roles[0] = ATK_ROLE_SPLIT_PANE;
-
- paned_obj = find_object_by_role (obj, roles, NUM_VALID_ROLES);
-
- if (paned_obj)
- {
- if (!done_paned)
- {
- done_paned = TRUE;
- }
- atk_object_connect_property_change_handler (paned_obj,
- (AtkPropertyChangeHandler*) _property_change_handler);
- g_timeout_add (2000, _test_paned, paned_obj);
- }
-
- return;
- }
- if (role != ATK_ROLE_COMBO_BOX)
- return;
-}
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_check_paned);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testpaned Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <string.h>
-#include <stdlib.h>
-#include <atk/atk.h>
-#include <gtk/gtk.h>
-#include <testlib.h>
-
-static void _traverse_children (AtkObject *obj);
-static void _add_handler (AtkObject *obj);
-static void _check_properties (AtkObject *obj);
-static void _property_change_handler (AtkObject *obj,
- AtkPropertyValues *values);
-static void _state_changed (AtkObject *obj,
- const gchar *name,
- gboolean set);
-static void _selection_changed (AtkObject *obj);
-static void _visible_data_changed (AtkObject *obj);
-static void _model_changed (AtkObject *obj);
-static void _create_event_watcher (void);
-
-static guint id;
-
-static void
-_state_changed (AtkObject *obj,
- const gchar *name,
- gboolean set)
-{
- g_print ("_state_changed: %s: state %s %s\n",
- g_type_name (G_OBJECT_TYPE (obj)),
- set ? "is" : "was", name);
-}
-
-static void
-_selection_changed (AtkObject *obj)
-{
- gchar *type;
-
- if (ATK_IS_TEXT (obj))
- type = "text";
- else if (ATK_IS_SELECTION (obj))
- type = "child selection";
- else
- {
- g_assert_not_reached();
- return;
- }
-
- g_print ("In selection_changed signal handler for %s, object type: %s\n",
- type, g_type_name (G_OBJECT_TYPE (obj)));
-}
-
-static void
-_visible_data_changed (AtkObject *obj)
-{
- g_print ("In visible_data_changed signal handler, object type: %s\n",
- g_type_name (G_OBJECT_TYPE (obj)));
-}
-
-static void
-_model_changed (AtkObject *obj)
-{
- g_print ("In model_changed signal handler, object type: %s\n",
- g_type_name (G_OBJECT_TYPE (obj)));
-}
-
-static void
-_property_change_handler (AtkObject *obj,
- AtkPropertyValues *values)
-{
- const gchar *type_name = g_type_name (G_TYPE_FROM_INSTANCE (obj));
- const gchar *name = atk_object_get_name (obj);
-
- g_print ("_property_change_handler: Accessible Type: %s\n",
- type_name ? type_name : "NULL");
- g_print ("_property_change_handler: Accessible name: %s\n",
- name ? name : "NULL");
- g_print ("_property_change_handler: PropertyName: %s\n",
- values->property_name ? values->property_name: "NULL");
- if (G_VALUE_HOLDS_STRING (&values->new_value))
- g_print ("_property_change_handler: PropertyValue: %s\n",
- g_value_get_string (&values->new_value));
- else if (strcmp (values->property_name, "accessible-child") == 0)
- {
- if (G_IS_VALUE (&values->old_value))
- {
- g_print ("Child is removed: %s\n",
- g_type_name (G_TYPE_FROM_INSTANCE (g_value_get_pointer (&values->old_value))));
- }
- if (G_IS_VALUE (&values->new_value))
- {
- g_print ("Child is added: %s\n",
- g_type_name (G_TYPE_FROM_INSTANCE (g_value_get_pointer (&values->new_value))));
- }
- }
- else if (strcmp (values->property_name, "accessible-parent") == 0)
- {
- if (G_IS_VALUE (&values->old_value))
- {
- g_print ("Parent is removed: %s\n",
- g_type_name (G_TYPE_FROM_INSTANCE (g_value_get_pointer (&values->old_value))));
- }
- if (G_IS_VALUE (&values->new_value))
- {
- g_print ("Parent is added: %s\n",
- g_type_name (G_TYPE_FROM_INSTANCE (g_value_get_pointer (&values->new_value))));
- }
- }
- else if (strcmp (values->property_name, "accessible-value") == 0)
- {
- if (G_VALUE_HOLDS_DOUBLE (&values->new_value))
- {
- g_print ("Value now is (double) %f\n",
- g_value_get_double (&values->new_value));
- }
- }
-}
-
-static void
-_traverse_children (AtkObject *obj)
-{
- gint n_children, i;
- AtkRole role;
-
- role = atk_object_get_role (obj);
-
- if ((role == ATK_ROLE_TABLE) ||
- (role == ATK_ROLE_TREE_TABLE))
- return;
-
- n_children = atk_object_get_n_accessible_children (obj);
- for (i = 0; i < n_children; i++)
- {
- AtkObject *child;
-
- child = atk_object_ref_accessible_child (obj, i);
- _add_handler (child);
- _traverse_children (child);
- g_object_unref (G_OBJECT (child));
- }
-}
-
-static void
-_add_handler (AtkObject *obj)
-{
- static GPtrArray *obj_array = NULL;
- gboolean found = FALSE;
- gint i;
-
- /*
- * We create a property handler for each object if one was not associated
- * with it already.
- *
- * We add it to our array of objects which have property handlers; if an
- * object is destroyed it remains in the array.
- */
- if (obj_array == NULL)
- obj_array = g_ptr_array_new ();
-
- for (i = 0; i < obj_array->len; i++)
- {
- if (obj == g_ptr_array_index (obj_array, i))
- {
- found = TRUE;
- break;
- }
- }
- if (!found)
- {
- atk_object_connect_property_change_handler (obj,
- (AtkPropertyChangeHandler*) _property_change_handler);
- g_signal_connect (obj, "state-change",
- (GCallback) _state_changed, NULL);
- if (ATK_IS_SELECTION (obj))
- g_signal_connect (obj, "selection_changed",
- (GCallback) _selection_changed, NULL);
- g_signal_connect (obj, "visible_data_changed",
- (GCallback) _visible_data_changed, NULL);
- if (ATK_IS_TABLE (obj))
- g_signal_connect (obj, "model_changed",
- (GCallback) _model_changed, NULL);
- g_ptr_array_add (obj_array, obj);
- }
-}
-
-static void
-_check_properties (AtkObject *obj)
-{
- AtkRole role;
-
- g_print ("Start of _check_properties: %s\n",
- g_type_name (G_OBJECT_TYPE (obj)));
-
- _add_handler (obj);
-
- role = atk_object_get_role (obj);
- if (role == ATK_ROLE_FRAME ||
- role == ATK_ROLE_DIALOG)
- {
- /*
- * Add handlers to all children.
- */
- _traverse_children (obj);
- }
- g_print ("End of _check_properties\n");
-}
-
-static void
-_create_event_watcher (void)
-{
- id = atk_add_focus_tracker (_check_properties);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testprops Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <string.h>
-#include <atk/atk.h>
-#include <gtk/gtk.h>
-
-/*
- * This module tests the selection interface on menu items.
- * To use this module run the test program testgtk and use the menus
- * option.
- */
-static void _do_selection (AtkObject *obj);
-static gint _finish_selection (gpointer data);
-static AtkObject* _find_object (AtkObject* obj, AtkRole role);
-static void _print_type (AtkObject *obj);
-
-static AtkObject*
-_find_object (AtkObject *obj,
- AtkRole role)
-{
- /*
- * Find the first object which is a descendant of the specified object
- * which matches the specified role.
- *
- * This function returns a reference to the AtkObject which should be
- * removed when finished with the object.
- */
- gint i;
- gint n_children;
- AtkObject *child;
-
- n_children = atk_object_get_n_accessible_children (obj);
- for (i = 0; i < n_children; i++)
- {
- AtkObject* found_obj;
-
- child = atk_object_ref_accessible_child (obj, i);
- if (atk_object_get_role (child) == role)
- {
- return child;
- }
- found_obj = _find_object (child, role);
- g_object_unref (child);
- if (found_obj)
- {
- return found_obj;
- }
- }
- return NULL;
-}
-
-static void _print_type (AtkObject *obj)
-{
- const gchar * typename = NULL;
- const gchar * name = NULL;
- AtkRole role;
-
- if (GTK_IS_ACCESSIBLE (obj))
- {
- GtkWidget* widget = NULL;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
- typename = g_type_name (G_OBJECT_TYPE (widget));
- g_print ("Widget type name: %s\n", typename ? typename : "NULL");
- }
- typename = g_type_name (G_OBJECT_TYPE (obj));
- g_print ("Accessible type name: %s\n", typename ? typename : "NULL");
- name = atk_object_get_name (obj);
- g_print("Accessible Name: %s\n", (name) ? name : "NULL");
- role = atk_object_get_role(obj);
- g_print ("Accessible Role: %d\n", role);
-}
-
-static void
-_do_selection (AtkObject *obj)
-{
- gint i;
- AtkObject *selected;
- AtkRole role;
- AtkObject *selection_obj;
-
- role = atk_object_get_role (obj);
-
- if ((role == ATK_ROLE_FRAME) &&
- (strcmp (atk_object_get_name (obj), "menus") == 0))
- {
- selection_obj = _find_object (obj, ATK_ROLE_MENU_BAR);
- if (selection_obj)
- {
- g_object_unref (selection_obj);
- }
- }
- else if (role == ATK_ROLE_COMBO_BOX)
- {
- selection_obj = obj;
- }
- else
- return;
-
- g_print ("*** Start do_selection ***\n");
-
-
- if (!selection_obj)
- {
- g_print ("no selection_obj\n");
- return;
- }
-
- i = atk_selection_get_selection_count (ATK_SELECTION (selection_obj));
- if (i != 0)
- {
- for (i = 0; i < atk_object_get_n_accessible_children (selection_obj); i++)
- {
- if (atk_selection_is_child_selected (ATK_SELECTION (selection_obj), i))
- {
- g_print ("%d child selected\n", i);
- }
- else
- {
- g_print ("%d child not selected\n", i);
- }
- }
- }
- /*
- * Should not be able to select all items on a menu bar
- */
- atk_selection_select_all_selection (ATK_SELECTION (selection_obj));
- i = atk_selection_get_selection_count (ATK_SELECTION (selection_obj));
- if ( i != 0)
- {
- g_print ("Unexpected selection count: %d, expected 0\n", i);
- return;
- }
- /*
- * There should not be any items selected
- */
- selected = atk_selection_ref_selection (ATK_SELECTION (selection_obj), 0);
- if ( selected != NULL)
- {
- g_print ("Unexpected selection: %d, expected 0\n", i);
- }
- atk_selection_add_selection (ATK_SELECTION (selection_obj), 1);
- g_timeout_add (2000, _finish_selection, selection_obj);
- g_print ("*** End _do_selection ***\n");
-}
-
-static gint _finish_selection (gpointer data)
-{
- AtkObject *obj = ATK_OBJECT (data);
- AtkObject *selected;
- gint i;
- gboolean is_selected;
-
- g_print ("*** Start Finish selection ***\n");
-
- /*
- * If being run for for menus, at this point menu item foo should be
- * selected which means that its submenu should be visible.
- */
- i = atk_selection_get_selection_count (ATK_SELECTION (obj));
- if (i != 1)
- {
- g_print ("Unexpected selection count: %d, expected 1\n", i);
- return FALSE;
- }
- selected = atk_selection_ref_selection (ATK_SELECTION (obj), 0);
- g_return_val_if_fail (selected != NULL, FALSE);
- g_print ("*** Selected Item ***\n");
- _print_type (selected);
- g_object_unref (selected);
- is_selected = atk_selection_is_child_selected (ATK_SELECTION (obj), 1);
- g_return_val_if_fail (is_selected, FALSE);
- is_selected = atk_selection_is_child_selected (ATK_SELECTION (obj), 0);
- g_return_val_if_fail (!is_selected, FALSE);
- selected = atk_selection_ref_selection (ATK_SELECTION (obj), 1);
- g_return_val_if_fail (selected == NULL, FALSE);
- atk_selection_remove_selection (ATK_SELECTION (obj), 0);
- i = atk_selection_get_selection_count (ATK_SELECTION (obj));
- g_return_val_if_fail (i == 0, FALSE);
- selected = atk_selection_ref_selection (ATK_SELECTION (obj), 0);
- g_return_val_if_fail (selected == NULL, FALSE);
- g_print ("*** End Finish selection ***\n");
- return FALSE;
-}
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_do_selection);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testselection Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <string.h>
-#include <glib-object.h>
-#include <atk/atk.h>
-
-/*
- * To use this test module, run the test program testgtk and click on
- * statusbar
- */
-
-static void _check_statusbar (AtkObject *obj);
-static AtkObject* _find_object (AtkObject* obj, AtkRole role);
-static void _notify_handler (GObject *obj, GParamSpec *pspec);
-static void _property_change_handler (AtkObject *obj,
- AtkPropertyValues *values);
-
-static AtkObject*
-_find_object (AtkObject *obj,
- AtkRole role)
-{
- /*
- * Find the first object which is a descendant of the specified object
- * which matches the specified role.
- *
- * This function returns a reference to the AtkObject which should be
- * removed when finished with the object.
- */
- gint i;
- gint n_children;
- AtkObject *child;
-
- n_children = atk_object_get_n_accessible_children (obj);
- for (i = 0; i < n_children; i++)
- {
- AtkObject* found_obj;
-
- child = atk_object_ref_accessible_child (obj, i);
- if (atk_object_get_role (child) == role)
- {
- return child;
- }
- found_obj = _find_object (child, role);
- g_object_unref (child);
- if (found_obj)
- {
- return found_obj;
- }
- }
- return NULL;
-}
-
-static void _property_change_handler (AtkObject *obj,
- AtkPropertyValues *values)
-{
- const gchar *type_name = g_type_name (G_TYPE_FROM_INSTANCE (obj));
- const gchar *name = atk_object_get_name (obj);
-
- g_print ("_property_change_handler: Accessible Type: %s\n",
- type_name ? type_name : "NULL");
- g_print ("_property_change_handler: Accessible name: %s\n",
- name ? name : "NULL");
- g_print ("_property_change_handler: PropertyName: %s\n",
- values->property_name ? values->property_name: "NULL");
- if (G_VALUE_HOLDS_STRING (&values->new_value))
- g_print ("_property_change_handler: PropertyValue: %s\n",
- g_value_get_string (&values->new_value));
-}
-
-static void _check_statusbar (AtkObject *obj)
-{
- AtkRole role;
- AtkObject *statusbar, *label;
-
- role = atk_object_get_role (obj);
- if (role != ATK_ROLE_FRAME)
- return;
-
- statusbar = _find_object (obj, ATK_ROLE_STATUSBAR);
- if (!statusbar)
- return;
- g_print ("_check_statusbar\n");
- label = atk_object_ref_accessible_child (statusbar, 0);
- g_return_if_fail (label == NULL);
-
- /*
- * We get notified of changes to the label
- */
- g_signal_connect_closure_by_id (statusbar,
- g_signal_lookup ("notify",
- G_OBJECT_TYPE (statusbar)),
- 0,
- g_cclosure_new (G_CALLBACK (_notify_handler),
- NULL, NULL),
- FALSE);
- atk_object_connect_property_change_handler (statusbar,
- (AtkPropertyChangeHandler*) _property_change_handler);
-
-}
-
-static void
-_notify_handler (GObject *obj, GParamSpec *pspec)
-{
- AtkObject *atk_obj = ATK_OBJECT (obj);
- const gchar *name;
-
- g_print ("_notify_handler: property: %s\n", pspec->name);
- if (strcmp (pspec->name, "accessible-name") == 0)
- {
- name = atk_object_get_name (atk_obj);
- g_print ("_notify_handler: value: |%s|\n", name ? name : "<NULL>");
- }
-}
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_check_statusbar);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("teststatusbar Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
+++ /dev/null
-#include <string.h>
-#include "testtextlib.h"
-
-#define NUM_ROWS_TO_LOOP 30
-
-typedef struct
-{
- GtkWidget *tb_others;
- GtkWidget *tb_ref_selection;
- GtkWidget *tb_ref_at;
- GtkWidget *tb_ref_accessible_child;
- GtkWidget *child_entry;
- GtkWidget *row_entry;
- GtkWidget *col_entry;
- GtkWidget *index_entry;
-}TestChoice;
-
-static void _check_table (AtkObject *in_obj);
-void table_runtest(AtkObject *);
-static void other_runtest(AtkObject *obj);
-static void ref_at_runtest(AtkObject *obj, gint row, gint col);
-static void ref_accessible_child_runtest(AtkObject *obj, gint childno);
-static void ref_selection_runtest (AtkObject *obj, gint index);
-static void _selection_tests(AtkObject *obj);
-static void _display_header_info(gchar *type,
- AtkObject *header_obj, gint header_num);
-static void _process_child(AtkObject *child_obj);
-
-static void _notify_table_row_inserted (GObject *obj,
- gint start_offset, gint length);
-static void _notify_table_column_inserted (GObject *obj,
- gint start_offset, gint length);
-static void _notify_table_row_deleted (GObject *obj,
- gint start_offset, gint length);
-static void _notify_table_column_deleted (GObject *obj,
- gint start_offset, gint length);
-static void _notify_table_row_reordered (GObject *obj);
-static void _notify_table_column_reordered (GObject *obj);
-static void _notify_table_child_added (GObject *obj,
- gint index, AtkObject *child);
-static void _notify_table_child_removed (GObject *obj,
- gint index, AtkObject *child);
-static void _property_signal_connect (AtkObject *obj);
-static void _property_change_handler (AtkObject *obj,
- AtkPropertyValues *values);
-
-static gboolean tested_set_headers = FALSE;
-static void test_choice_gui (AtkObject **obj);
-static void nogui_runtest (AtkObject *obj);
-static void nogui_ref_at_runtest (AtkObject *obj);
-static void nogui_process_child (AtkObject *obj);
-
-static TestChoice *tc;
-static gint g_visibleGUI = 0;
-static AtkTable *g_table = NULL;
-static AtkObject *current_obj = NULL;
-gboolean g_done = FALSE;
-gboolean g_properties = TRUE;
-
-/*
- * destroy
- *
- * Destroy Callback
- *
- */
-static void destroy (GtkWidget *widget, gpointer data)
-{
- gtk_main_quit();
-}
-
-static void choicecb (GtkWidget *widget, gpointer data)
-{
- AtkObject **ptr_to_obj = (AtkObject **)data;
- AtkObject *obj = *ptr_to_obj;
-
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tc->tb_others)))
- {
- other_runtest(obj);
- }
- else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tc->tb_ref_selection)))
- {
- const gchar *indexstr;
- gint index;
-
- indexstr = gtk_entry_get_text(GTK_ENTRY(tc->index_entry));
- index = string_to_int((gchar *)indexstr);
-
- ref_selection_runtest(obj, index);
- }
- else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tc->tb_ref_at)))
- {
- const gchar *rowstr, *colstr;
- gint row, col;
-
- rowstr = gtk_entry_get_text(GTK_ENTRY(tc->row_entry));
- colstr = gtk_entry_get_text(GTK_ENTRY(tc->col_entry));
- row = string_to_int((gchar *)rowstr);
- col = string_to_int((gchar *)colstr);
-
- ref_at_runtest(obj, row, col);
- }
- else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tc->tb_ref_accessible_child)))
- {
- const gchar *childstr;
- gint childno;
- childstr = gtk_entry_get_text(GTK_ENTRY(tc->child_entry));
- childno = string_to_int((gchar *)childstr);
-
- ref_accessible_child_runtest(obj, childno);
- }
-}
-
-static void _check_table (AtkObject *in_obj)
-{
- AtkObject *obj = NULL;
- const char *no_properties;
- const char *no_gui;
-
- no_properties = g_getenv ("TEST_ACCESSIBLE_NO_PROPERTIES");
- no_gui = g_getenv ("TEST_ACCESSIBLE_NO_GUI");
-
- if (no_properties != NULL)
- g_properties = FALSE;
- if (no_gui != NULL)
- g_visibleGUI = 1;
-
- obj = find_object_by_type(in_obj, "GailTreeView");
- if (obj != NULL)
- g_print("Found GailTreeView table in child!\n");
- else
- {
- obj = find_object_by_type(in_obj, "GailCList");
- if (obj != NULL)
- g_print("Found GailCList in child!\n");
- else
- {
- g_print("No object found %s\n", g_type_name (G_OBJECT_TYPE (in_obj)));
- return;
- }
- }
-
- g_print ("In _check_table\n");
-
- if (!already_accessed_atk_object(obj))
- {
- /* Set up signal handlers */
-
- g_print ("Adding signal handler\n");
- g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("column_inserted", G_OBJECT_TYPE (obj)),
- 0,
- g_cclosure_new (G_CALLBACK (_notify_table_column_inserted),
- NULL, NULL),
- FALSE);
- g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("row_inserted", G_OBJECT_TYPE (obj)),
- 0,
- g_cclosure_new (G_CALLBACK (_notify_table_row_inserted),
- NULL, NULL),
- FALSE);
- g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("column_deleted", G_OBJECT_TYPE (obj)),
- 0,
- g_cclosure_new (G_CALLBACK (_notify_table_column_deleted),
- NULL, NULL),
- FALSE);
- g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("row_deleted", G_OBJECT_TYPE (obj)),
- 0,
- g_cclosure_new (G_CALLBACK (_notify_table_row_deleted),
- NULL, NULL),
- FALSE);
- g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("column_reordered", G_OBJECT_TYPE (obj)),
- 0,
- g_cclosure_new (G_CALLBACK (_notify_table_column_reordered),
- NULL, NULL),
- FALSE);
- g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("row_reordered", G_OBJECT_TYPE (obj)),
- 0,
- g_cclosure_new (G_CALLBACK (_notify_table_row_reordered),
- NULL, NULL),
- FALSE);
- g_signal_connect_closure (obj, "children_changed::add",
- g_cclosure_new (G_CALLBACK (_notify_table_child_added),
- NULL, NULL),
- FALSE);
-
- g_signal_connect_closure (obj, "children_changed::remove",
- g_cclosure_new (G_CALLBACK (_notify_table_child_removed),
- NULL, NULL),
- FALSE);
-
- }
- g_table = ATK_TABLE(obj);
-
- atk_object_connect_property_change_handler (obj,
- (AtkPropertyChangeHandler*) _property_change_handler);
-
- current_obj = obj;
- /*
- * The use of ¤t_obj allows us to change the object being processed
- * in the GUI.
- */
- if (g_visibleGUI != 1)
- test_choice_gui(¤t_obj);
- else if (no_gui != NULL)
- nogui_runtest(obj);
-}
-
-static
-void other_runtest(AtkObject *obj)
-{
- AtkObject *header_obj;
- AtkObject *out_obj;
- const gchar *out_string;
- GString *out_desc;
- gint n_cols, n_rows;
- gint rows_to_loop = NUM_ROWS_TO_LOOP;
- gint i, j;
- out_desc = g_string_sized_new(256);
-
- n_cols = atk_table_get_n_columns(ATK_TABLE(obj));
- n_rows = atk_table_get_n_rows(ATK_TABLE(obj));
-
- g_print ("Number of columns is %d\n", n_cols);
- g_print ("Number of rows is %d\n", n_rows);
-
- /* Loop NUM_ROWS_TO_LOOP rows if possible */
- if (n_rows < NUM_ROWS_TO_LOOP)
- rows_to_loop = n_rows;
-
- g_print ("\n");
-
- /* Caption */
-
- out_obj = atk_table_get_caption(ATK_TABLE(obj));
- if (out_obj != NULL)
- {
- out_string = atk_object_get_name (out_obj);
- if (out_string)
- g_print("Caption Name is <%s>\n", out_string);
- else
- g_print("Caption has no name\n");
- }
- else
- g_print("No caption\n");
-
- /* Column descriptions and headers */
-
- g_print ("\n");
- for (i=0; i < n_cols; i++)
- {
- /* check default */
- out_string = atk_table_get_column_description(ATK_TABLE(obj), i);
- if (out_string != NULL)
- g_print("%d: Column description is <%s>\n", i, out_string);
- else
- g_print("%d: Column description is <NULL>\n", i);
-
- /* check setting a new value */
-
- g_string_printf(out_desc, "new column description %d", i);
-
- if (out_string == NULL || strcmp (out_string, out_desc->str) != 0)
- {
- g_print("%d, Setting the column description to <%s>\n",
- i, out_desc->str);
- atk_table_set_column_description(ATK_TABLE(obj), i, out_desc->str);
- out_string = atk_table_get_column_description(ATK_TABLE(obj), i);
- if (out_string != NULL)
- g_print("%d: Column description is <%s>\n", i, out_string);
- else
- g_print("%d: Column description is <NULL>\n", i);
- }
-
- /* Column header */
- header_obj = atk_table_get_column_header(ATK_TABLE(obj), i);
- _display_header_info("Column", header_obj, i);
- }
-
- /* Row description */
-
- g_print ("\n");
-
- for (i=0; i < rows_to_loop; i++)
- {
- out_string = atk_table_get_row_description(ATK_TABLE(obj), i);
- if (out_string != NULL)
- g_print("%d: Row description is <%s>\n", i, out_string);
- else
- g_print("%d: Row description is <NULL>\n", i);
-
- g_string_printf(out_desc, "new row description %d", i);
-
- if (out_string == NULL || strcmp (out_string, out_desc->str) != 0)
- {
- g_print("%d: Setting the row description to <%s>\n",
- i, out_desc->str);
- atk_table_set_row_description(ATK_TABLE(obj), i, out_desc->str);
-
- out_string = atk_table_get_row_description(ATK_TABLE(obj), i);
- if (out_string != NULL)
- g_print("%d: Row description is <%s>\n", i, out_string);
- else
- g_print("%d: Row description is <NULL>\n", i);
- }
-
- header_obj = atk_table_get_row_header(ATK_TABLE(obj), i);
- _display_header_info("Row", header_obj, i);
-
- for (j=0; j <n_cols; j++)
- {
- gint index = atk_table_get_index_at(ATK_TABLE(obj), i, j);
- gint row, column;
-
- column = atk_table_get_column_at_index (ATK_TABLE (obj), index);
- g_return_if_fail (column == j);
-
- row = atk_table_get_row_at_index (ATK_TABLE (obj), index);
- g_return_if_fail (row == i);
-
- if(atk_selection_is_child_selected(ATK_SELECTION(obj), index))
- g_print("atk_selection_is_child_selected,index = %d returns TRUE\n", index);
- /* Generic cell tests */
- /* Just test setting column headers once. */
-
- if (!tested_set_headers)
- {
- tested_set_headers = TRUE;
-
- /* Hardcode to 1,1 for now */
- g_print(
- "Testing set_column_header for column %d, to table\n",
- (n_cols - 1));
- atk_table_set_column_header(ATK_TABLE(obj), (n_cols - 1), obj);
-
- g_print("Testing set_row_header for row %d, to table\n", n_rows);
- atk_table_set_row_header(ATK_TABLE(obj), n_rows, obj);
- }
- }
- }
-
- /* row/column extents */
-
- g_print("\n");
- g_print("Row extents at 1,1 is %d\n",
- atk_table_get_row_extent_at(ATK_TABLE(obj), 1, 1));
- g_print("Column extents at 1,1 is %d\n",
- atk_table_get_column_extent_at(ATK_TABLE(obj), 1, 1));
-}
-
-static
-void ref_accessible_child_runtest(AtkObject *obj, gint child)
-{
- AtkObject *child_obj;
- /* ref_child */
- g_print ("Accessing child %d\n", child);
- child_obj = atk_object_ref_accessible_child (obj, child);
- _property_signal_connect(child_obj);
- if (child_obj != NULL)
- _process_child(child_obj);
-}
-
-static
-void ref_selection_runtest (AtkObject *obj, gint index)
-{
- AtkObject *child_obj;
-
- /* use atk_selection_ref_selection just once to check it works */
- child_obj = atk_selection_ref_selection(ATK_SELECTION(obj), index);
- if (child_obj)
- {
- g_print("child_obj gotten from atk_selection_ref_selection\n");
- g_object_unref (child_obj);
- }
- else
- g_print("NULL returned by atk_selection_ref_selection\n");
-
- _selection_tests(obj);
-}
-
-static
-void ref_at_runtest(AtkObject *obj, gint row, gint col)
-{
- AtkObject *child_obj;
- /* ref_at */
-
- g_print("Testing ref_at row %d column %d\n", row, col);
-
- child_obj = atk_table_ref_at(ATK_TABLE(obj), row, col);
- _property_signal_connect(child_obj);
-
- g_print("Row is %d, col is %d\n", row, col);
-
- _process_child(child_obj);
- if (child_obj)
- g_object_unref (child_obj);
-}
-
-/**
- * process_child
- **/
-static void
-_process_child(AtkObject *child_obj)
-{
- if (child_obj != NULL)
- {
- if (ATK_IS_TEXT(child_obj))
- {
- add_handlers(child_obj);
- setup_gui(child_obj, runtest);
- }
- else
- {
- g_print("Interface is not text!\n");
- }
-/*
- if (ATK_IS_ACTION(child_obj))
- {
- gint i, j;
- gchar *action_name;
- gchar *action_description;
- gchar *action_keybinding;
- AtkAction *action = ATK_ACTION(child_obj);
-
- i = atk_action_get_n_actions (action);
- g_print ("Supports AtkAction with %d actions.\n", i);
- for (j = 0; j < i; j++)
- {
- g_print ("Action %d:\n", j);
- action_name = atk_action_get_name (action, j);
- if (action_name)
- g_print (" Name = %s\n", action_name);
- action_description = atk_action_get_description (action, j);
- if (action_description)
- g_print (" Description = %s\n", action_description);
- action_keybinding = atk_action_get_keybinding (action, j);
- if (action_keybinding)
- g_print (" Keybinding = %s\n", action_keybinding);
- action_description = "new description";
- g_print (" Setting description to %s\n", action_description);
- atk_action_set_description (action, j, action_description);
- action_description = atk_action_get_description (action, j);
- if (action_description)
- g_print (" New description is now %s\n", action_description);
- }
- }
-*/
- }
- else
- {
- g_print("Child is NULL!\n");
- }
-}
-
-/**
- * Combined tests on AtkTable and AtkSelection on individual rows rather than
- * all of them
- **/
-static void
-_selection_tests(AtkObject *obj)
-{
- gint n_rows = 0;
- gint n_cols = 0;
- gint selection_count = 0;
- gint i = 0;
- gint *selected = NULL;
- AtkTable *table;
-
- table = ATK_TABLE (obj);
-
- n_rows = atk_table_get_selected_rows(table, &selected);
- for (i = 0; i < n_rows; i++)
- {
- g_print("atk_table_get_selected_row returns : %d\n",
- selected[i]);
- if (!atk_table_is_row_selected (table, selected[i]))
- g_print("atk_table_is_row_selected returns false for selected row %d\n",
- selected[i]);
- }
- g_free (selected);
-
- selected = NULL;
- n_cols = atk_table_get_selected_columns(table, &selected);
- for (i = 0; i < n_cols; i++)
- g_print("atk_table_get_selected_columns returns : %d\n", selected[i]);
- g_free (selected);
-
- selection_count = atk_selection_get_selection_count(ATK_SELECTION(obj));
- g_print("atk_selection_get_selection_count returns %d\n", selection_count);
-
- if (atk_table_is_row_selected(table, 2))
- {
- g_print("atk_table_is_row_selected (table, 2) returns TRUE\n");
- atk_selection_clear_selection (ATK_SELECTION (obj));
- if (atk_table_add_row_selection(table, 4))
- g_print("atk_table_add_row_selection: selected row 4\n");
- if (!atk_table_is_row_selected (table, 4))
- g_print("atk_table_is_row_selected returns false for row 2\n");
- if (atk_table_is_row_selected (table, 2))
- g_print("atk_table_is_row_selected gives false positive for row 2\n");
- }
-
- if (atk_table_is_row_selected(table, 3))
- {
- if (atk_table_remove_row_selection(table, 3))
- g_print("atk_table_remove_row_selection unselected row 3\n");
- }
-
- if (atk_table_is_selected(table, 5, 4))
- {
- atk_selection_clear_selection(ATK_SELECTION(obj));
- g_print("atk_selection_clear_selection: just cleared all selected\n");
- }
-
- if (atk_table_is_column_selected(table, 2))
- {
- g_print("atk_table_is_column_selected(obj, 2) returns TRUE\n");
- if (atk_table_add_column_selection(table, 4))
- g_print("atk_table_add_column_selection: selected column 4\n");
- g_print("atk_table_is_column_selected(obj, 2) returns TRUE\n");
- }
-
- if (atk_table_is_column_selected(table, 3))
- {
- if (atk_table_remove_column_selection(table, 3))
- g_print("atk_table_remove_column_selection: unselected column 3\n");
- }
-}
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_check_table);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("TestTable Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
-
-static void
-_notify_table_row_inserted (GObject *obj, gint start_offset, gint length)
-{
- g_print ("SIGNAL - Row inserted at position %d, num of rows inserted %d!\n",
- start_offset, length);
-}
-
-static void
-_notify_table_column_inserted (GObject *obj, gint start_offset, gint length)
-{
- g_print ("SIGNAL - Column inserted at position %d, num of columns inserted %d!\n",
- start_offset, length);
-}
-
-static void
-_notify_table_row_deleted (GObject *obj, gint start_offset, gint length)
-{
- g_print ("SIGNAL - Row deleted at position %d, num of rows deleted %d!\n",
- start_offset, length);
-}
-
-static void
-_notify_table_column_deleted (GObject *obj, gint start_offset, gint length)
-{
- g_print ("SIGNAL - Column deleted at position %d, num of columns deleted %d!\n",
- start_offset, length);
-}
-
-static void
-_notify_table_row_reordered (GObject *obj)
-{
- g_print ("SIGNAL - Row reordered!\n");
-}
-
-static void
-_notify_table_column_reordered (GObject *obj)
-{
- g_print ("SIGNAL - Column reordered!\n");
-}
-
-static void _notify_table_child_added (GObject *obj,
- gint index, AtkObject *child)
-{
- g_print ("SIGNAL - Child added - index %d\n", index);
-}
-
-static void _notify_table_child_removed (GObject *obj,
- gint index, AtkObject *child)
-{
- g_print ("SIGNAL - Child removed - index %d\n", index);
-}
-
-static void
-_display_header_info(gchar *type, AtkObject *header_obj, gint header_num)
-{
- if (header_obj != NULL)
- {
- AtkRole role;
- role = atk_object_get_role(header_obj);
-
- if (role == ATK_ROLE_PUSH_BUTTON)
- {
- g_print ("%d: %s header is a push button!\n", header_num, type);
- }
- else if (role == ATK_ROLE_LABEL)
- {
- g_print ("%d: %s header is a label!\n", header_num, type);
- }
- else if (ATK_IS_TEXT(header_obj))
- {
- gchar *header_text;
-
- header_text = atk_text_get_text (ATK_TEXT (header_obj), 0, 3);
- if (header_text != NULL)
- {
- g_print("%d: %s header is a text value <%s>\n", header_num,
- type, header_text);
- }
- else
- {
- g_print("%d: %s header is a text value <NULL>\n", header_num,
- type);
- }
- }
- else
- {
- g_print ("%d: %s header is of type %s!\n", header_num,
- type, atk_role_get_name (role));
- }
- }
- else
- {
- g_print ("%d: %s header object is NULL!\n", header_num, type);
- }
-}
-
-static void _property_signal_connect (AtkObject *obj)
-{
- if (g_properties && obj != NULL)
- {
- g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("property_change", G_OBJECT_TYPE (obj)),
- 0,
- g_cclosure_new (G_CALLBACK (_property_change_handler),
- NULL, NULL),
- FALSE);
- }
-}
-
-static void
-_property_change_handler (AtkObject *obj,
- AtkPropertyValues *values)
-{
- gchar *obj_text;
- const gchar *name;
-
- if (g_table != NULL)
- {
- gint index = atk_object_get_index_in_parent(obj);
-
- if (index >= 0)
- g_print("Index is %d, row is %d, col is %d\n", index,
- atk_table_get_row_at_index(g_table, index),
- atk_table_get_column_at_index(g_table, index));
- else
- g_print ("index: %d for %s\n", index, g_type_name (G_OBJECT_TYPE (obj)));
- }
-
- if (ATK_IS_TEXT(obj))
- {
- obj_text = atk_text_get_text (ATK_TEXT (obj), 0, 15);
- if (obj_text == NULL)
- g_print(" Cell text is <NULL>\n");
- else
- g_print(" Cell text is <%s>\n", obj_text);
- }
-
- g_print(" PropertyName <%s>\n",
- values->property_name ? values->property_name: "NULL");
- g_print(" - ");
-
- if (&values->old_value != NULL && G_IS_VALUE (&values->old_value))
- {
- GType old_type = G_VALUE_TYPE (&values->old_value);
-
- switch (old_type)
- {
- case G_TYPE_INT:
- g_print("value was <%d>\n", g_value_get_int (&values->old_value));
- break;
- case G_TYPE_STRING:
- name = g_value_get_string (&values->old_value);
- if (name != NULL)
- g_print ("value was <%s>\n", name);
- else
- g_print ("value was <NULL>\n");
- break;
- default:
- g_print("value was <unknown type>\n");
- break;
- }
- }
- else
- {
- g_print("value was <not a value>\n");
- }
- g_print(" - ");
- if (&values->new_value != NULL && G_IS_VALUE (&values->new_value))
- {
- GType new_type = G_VALUE_TYPE (&values->new_value);
-
- switch (new_type)
- {
- case G_TYPE_INT:
- g_print("value is <%d>\n", g_value_get_int (&values->new_value));
- break;
- case G_TYPE_STRING:
- name = g_value_get_string (&values->new_value);
- if (name != NULL)
- g_print ("value is <%s>\n", name);
- else
- g_print ("value is <NULL>\n");
- break;
- default:
- g_print("value is <unknown type>\n");
- break;
- }
- }
- else
- {
- g_print("value is <not a value>\n");
- }
-}
-
-static
-void test_choice_gui(AtkObject **obj)
-{
- GtkWidget *window;
- GtkWidget *vbox;
- GtkWidget *hbox;
- GtkWidget *child_label;
- GtkWidget *row_label;
- GtkWidget *col_label;
- GtkWidget *index_label;
- GtkWidget *hseparator;
- GtkWidget *hbuttonbox;
- GtkWidget *button;
-
-
- tc = (TestChoice *) g_malloc (sizeof(TestChoice));
-
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_title(GTK_WINDOW(window), "Test to run");
-
- g_signal_connect(window, "destroy",
- G_CALLBACK (destroy), &window);
-
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE);
- gtk_box_set_spacing(GTK_BOX(vbox), 10);
-
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_set_spacing(GTK_BOX(hbox), 10);
- tc->tb_ref_selection = gtk_toggle_button_new_with_label("ref_selection");
- gtk_box_pack_start (GTK_BOX (hbox), tc->tb_ref_selection, TRUE, TRUE, 0);
- index_label = gtk_label_new("index: ");
- gtk_box_pack_start (GTK_BOX (hbox), index_label, TRUE, TRUE, 0);
- tc->index_entry = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(tc->index_entry), "1");
- gtk_box_pack_start (GTK_BOX (hbox), tc->index_entry, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_set_spacing(GTK_BOX(hbox), 10);
- tc->tb_ref_at = gtk_toggle_button_new_with_label("ref_at");
- gtk_box_pack_start (GTK_BOX (hbox), tc->tb_ref_at, TRUE, TRUE, 0);
- row_label = gtk_label_new("row:");
- gtk_box_pack_start (GTK_BOX (hbox), row_label, TRUE, TRUE, 0);
- tc->row_entry = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(tc->row_entry), "1");
- gtk_box_pack_start (GTK_BOX (hbox), tc->row_entry, TRUE, TRUE, 0);
- col_label = gtk_label_new("column:");
- gtk_box_pack_start (GTK_BOX (hbox), col_label, TRUE, TRUE, 0);
- tc->col_entry = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(tc->col_entry), "1");
- gtk_box_pack_start (GTK_BOX (hbox), tc->col_entry, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_set_spacing(GTK_BOX(hbox), 10);
- tc->tb_ref_accessible_child = gtk_toggle_button_new_with_label("ref_accessible_child");
- gtk_box_pack_start (GTK_BOX (hbox), tc->tb_ref_accessible_child, TRUE, TRUE, 0);
- child_label = gtk_label_new("Child no:");
- gtk_box_pack_start (GTK_BOX (hbox), child_label, TRUE, TRUE, 0);
- tc->child_entry = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(tc->child_entry), "1");
- gtk_box_pack_start (GTK_BOX (hbox), tc->child_entry, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
-
- tc->tb_others = gtk_toggle_button_new_with_label("others");
- gtk_box_pack_start (GTK_BOX (vbox), tc->tb_others, TRUE, TRUE, 0);
-
- hseparator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
- gtk_box_pack_start (GTK_BOX (vbox), hseparator, TRUE, TRUE, 0);
-
- button = gtk_button_new_with_mnemonic("_Run Test");
-
- hbuttonbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
- gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox),
- GTK_BUTTONBOX_SPREAD);
- gtk_box_pack_end (GTK_BOX (hbuttonbox), GTK_WIDGET (button), TRUE, TRUE, 0);
- gtk_box_pack_end (GTK_BOX (vbox), hbuttonbox, TRUE, TRUE, 0);
- g_signal_connect(button, "clicked", G_CALLBACK (choicecb), obj);
-
- gtk_container_add(GTK_CONTAINER(window), vbox);
- gtk_widget_show(vbox);
- gtk_widget_show(window);
- gtk_widget_show_all(GTK_WIDGET(window));
-
- g_visibleGUI = 1;
-}
-
-void static
-nogui_runtest (AtkObject *obj)
-{
- g_print ("Running non-GUI tests...\n");
- other_runtest (obj);
- nogui_ref_at_runtest (obj);
-}
-
-static void
-nogui_ref_at_runtest (AtkObject *obj)
-{
- AtkObject *child_obj;
- gint i, j;
- gint n_cols;
- gint rows_to_loop = 5;
-
- n_cols = atk_table_get_n_columns (ATK_TABLE(obj));
-
- if (atk_table_get_n_rows(ATK_TABLE(obj)) < rows_to_loop)
- rows_to_loop = atk_table_get_n_rows (ATK_TABLE(obj));
-
- for (i=0; i < rows_to_loop; i++)
- {
- /* Just the first rows_to_loop rows */
- for (j=0; j < n_cols; j++)
- {
- gint index = atk_table_get_index_at(ATK_TABLE(obj), i, j);
- if(atk_selection_is_child_selected(ATK_SELECTION(obj), index))
- g_print("atk_selection_is_child_selected,index = %d returns TRUE\n", index);
-
- g_print("Testing ref_at row %d column %d\n", i, j);
-
- if (i == 3 && j == 0)
- {
- g_print("child_obj gotten from atk_selection_ref_selection\n");
-
- /* use atk_selection_ref_selection just once to check it works */
- child_obj = atk_selection_ref_selection(ATK_SELECTION(obj), index );
- }
- else
- {
- child_obj = atk_table_ref_at(ATK_TABLE(obj), i, j);
- }
-
- _property_signal_connect(child_obj);
-
- g_print("Index is %d, row is %d, col is %d\n", index,
- atk_table_get_row_at_index(ATK_TABLE(obj), index),
- atk_table_get_column_at_index(ATK_TABLE(obj), index));
-
- nogui_process_child (child_obj);
-
- /* Generic cell tests */
- /* Just test setting column headers once. */
-
- if (!tested_set_headers)
- {
- tested_set_headers = TRUE;
-
- g_print("Testing set_column_header for column %d, to cell value %d,%d\n",
- j, i, j);
- atk_table_set_column_header(ATK_TABLE(obj), j, child_obj);
-
- g_print("Testing set_row_header for row %d, to cell value %d,%d\n",
- i, i, j);
- atk_table_set_row_header(ATK_TABLE(obj), i, child_obj);
- }
- if (child_obj)
- g_object_unref (child_obj);
- }
- }
-}
-
-static void
-nogui_process_child (AtkObject *obj)
-{
- gchar default_val[5] = "NULL";
-
- if (ATK_IS_TEXT(obj))
- {
- gchar *current_text;
- current_text = atk_text_get_text (ATK_TEXT(obj), 0, -1);
- g_print ("Child supports text interface.\nCurrent text is %s\n", current_text);
- }
-
- if (ATK_IS_ACTION(obj))
- {
- AtkAction *action = ATK_ACTION(obj);
- gint n_actions, i;
- const gchar *name, *description;
-
- n_actions = atk_action_get_n_actions (action);
- g_print ("Child supports %d actions.\n", n_actions);
- for (i = 0; i < n_actions; i++)
- {
- name = atk_action_get_name (action, i);
- description = atk_action_get_description (action, i);
-
- if (name == NULL)
- name = default_val;
- if (description == NULL)
- description = default_val;
-
- g_print (" %d: name = <%s>\n", i, name);
- g_print (" description = <%s>\n", description);
- }
- }
-}
-
+++ /dev/null
-#include <atk/atk.h>
-#include "testtextlib.h"
-
-#define NUM_VALID_ROLES 6
-
-static void _create_event_watcher (void);
-static void _check_text (AtkObject *obj);
-void runtest(AtkObject *, gint);
-
-static guint id1 = 0;
-static guint win_count = 0;
-
-static void _check_text (AtkObject *in_obj)
-{
- AtkObject *obj = NULL;
- AtkRole role;
- gchar* title;
- AtkRole valid_roles[NUM_VALID_ROLES];
-
- if (g_getenv("TEST_ACCESSIBLE_DELAY") != NULL)
- {
- int max_cnt = string_to_int(g_getenv("TEST_ACCESSIBLE_DELAY"));
- win_count++;
- if (win_count <= max_cnt)
- return;
- }
-
- /* Set Up */
-
- valid_roles[0] = ATK_ROLE_TEXT;
- valid_roles[1] = ATK_ROLE_LABEL;
- valid_roles[2] = ATK_ROLE_ACCEL_LABEL;
- valid_roles[3] = ATK_ROLE_PASSWORD_TEXT;
- valid_roles[4] = ATK_ROLE_TABLE_CELL;
- valid_roles[5] = ATK_ROLE_PANEL;
-
- /* The following if/else grabs the windows name, or sets title to NULL if none. */
- if (in_obj->name)
- {
- title = in_obj->name;
- }
- else
- {
- GtkWidget *toplevel;
- GtkWidget* widget;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (in_obj));
- if (widget == NULL)
- title = NULL;
-
- toplevel = gtk_widget_get_toplevel (widget);
- if (GTK_IS_WINDOW (toplevel))
- title = (gchar *) gtk_window_get_title (GTK_WINDOW (toplevel));
- else
- title = NULL;
- }
- /* If no window name, do nothing */
- if (title == NULL)
- return;
- /*
- * If testtext test program, find obj just by role since only one child
- * with no name
- */
- else if (g_ascii_strncasecmp(title, "testtext", 7) == 0)
- {
- obj = find_object_by_role(in_obj, valid_roles, NUM_VALID_ROLES);
- }
- /*
- * Otherwise, get obj by name and role so you can specify exactly which
- * obj to run tests on
- */
- else
- {
- const gchar *test_accessible_name = g_getenv ("TEST_ACCESSIBLE_NAME");
-
- if (test_accessible_name != NULL)
- {
- obj = find_object_by_accessible_name_and_role(in_obj,
- test_accessible_name, valid_roles, NUM_VALID_ROLES);
- }
- if (obj != NULL)
- {
- if (atk_object_get_role (obj) == ATK_ROLE_PANEL)
- {
- /* Get the child and check whether it is a label */
-
- obj = atk_object_ref_accessible_child (obj, 0);
- g_assert (atk_object_get_role (obj) == ATK_ROLE_LABEL);
- g_object_unref (obj);
- }
- g_print("Found valid name and role in child!\n");
- }
- else
- {
- obj = find_object_by_role(in_obj, valid_roles, NUM_VALID_ROLES - 1);
- if (obj != NULL)
- g_print("Found valid role in child\n");
- }
- }
- if (obj == NULL)
- {
- g_print("Object not found\n");
- return;
- }
- role = atk_object_get_role(obj);
-
- g_print("_check_text - Found role type %s!\n\n", atk_role_get_name (role));
-
- add_handlers(obj);
-
- if (!(isVisibleDialog()))
- setup_gui(obj, runtest);
- atk_remove_focus_tracker (id1);
-}
-
-static void
-_create_event_watcher (void)
-{
- id1 = atk_add_focus_tracker (_check_text);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testtext Module loaded.\n");
- _create_event_watcher();
-
- return 0;
-}
-
-
+++ /dev/null
-#include <string.h>
-#include <stdio.h>
-#include "testtextlib.h"
-
-static AtkAttributeSet *attrib = NULL;
-static char result_string[2][6] = {"FALSE", "TRUE"};
-
-/**
- * setup_gui:
- * @obj: An @AtkObject
- * @test: The callback to be run when the "Run Tests" button
- * in the GUI is clicked.
- *
- * Sets up the GUI windows.
- *
- * Returns: the window number, or -1 if failure.
- **/
-gint setup_gui(AtkObject *obj, TLruntest test)
-{
- gchar *paramnames[MAX_PARAMS];
- gchar *defaults[MAX_PARAMS];
- static OutputWindow *tow = NULL;
- gint window;
-
- if (tow)
- window = create_windows(obj, test, &tow);
- else
- window = create_windows(obj, test, &tow);
-
- if (window == -1)
- return -1;
-
- /* Get Text [at|after|before] Offset Tests */
- paramnames[0] = "offset";
- defaults[0] = "1";
- add_test(window, "atk_text_get_text_after_offset", 1, paramnames, defaults);
- add_test(window, "atk_text_get_text_before_offset", 1, paramnames, defaults);
- add_test(window, "atk_text_get_text_at_offset",1 , paramnames, defaults);
-
- /* Get Character Count Test */
- add_test(window, "atk_text_get_character_count", 0, NULL, NULL);
-
- /* Get Character At Offset Test */
- paramnames[0] = "offset";
- defaults[0] = "1";
- add_test(window, "atk_text_get_character_at_offset", 1, paramnames, defaults);
-
- /* Get Text Test */
- paramnames[0] = "position 1";
- paramnames[1] = "position 2";
- defaults[0] = "0";
- defaults[1] = "5";
- add_test(window, "atk_text_get_text", 2, paramnames, defaults);
-
- /* Caret Tests */
- add_test(window, "atk_text_get_caret_offset", 0, NULL, NULL);
-
- paramnames[0] = "offset";
- defaults[0] = "1";
- add_test(window, "atk_text_set_caret_offset", 1, paramnames, defaults);
-
- /* Selection Tests */
- add_test(window, "atk_text_get_n_selections", 0, NULL, NULL);
-
- paramnames[0] = "selection no";
- defaults[0] = "0";
- add_test(window, "atk_text_get_selection", 1, paramnames, defaults);
-
- paramnames[0] = "start";
- paramnames[1] = "end";
- defaults[0] = "3";
- defaults[1] = "8";
- add_test(window, "atk_text_add_selection", 2, paramnames, defaults);
-
- paramnames[0] = "selection no";
- paramnames[1] = "start";
- paramnames[2] = "end";
- defaults[0] = "0";
- defaults[1] = "5";
- defaults[2] = "7";
- add_test(window, "atk_text_set_selection", 3, paramnames, defaults);
-
- paramnames[0] = "selection no";
- defaults[0] = "0";
- add_test(window, "atk_text_remove_selection", 1, paramnames, defaults);
-
- paramnames[0] = "offset";
- defaults[0] = "36";
- add_test(window, "atk_text_get_run_attributes", 1, paramnames, defaults);
-
- add_test(window, "atk_text_get_default_attributes", 0, paramnames, defaults);
-
- paramnames[0] = "offset";
- paramnames[1] = "coord mode";
- defaults[0] = "0";
- defaults[1] = "ATK_XY_SCREEN";
- add_test(window, "atk_text_get_character_extents", 2, paramnames, defaults);
-
- paramnames[0] = "x";
- paramnames[1] = "y";
- paramnames[2] = "coord mode";
- defaults[0] = "106";
- defaults[1] = "208";
- defaults[2] = "ATK_XY_SCREEN";
- add_test(window, "atk_text_get_offset_at_point", 3, paramnames, defaults);
-
- /* Editable Text Tests */
- if (ATK_IS_EDITABLE_TEXT(obj))
- {
-
- paramnames[0] = "start";
- paramnames[1] = "end";
- defaults[0] = "20";
- defaults[1] = "27";
- add_test(window, "atk_editable_text_set_run_attributes", 2, paramnames, defaults);
-
- paramnames[0] = "start";
- paramnames[1] = "end";
- defaults[0] = "3";
- defaults[1] = "5";
- add_test(window, "atk_editable_text_cut_text", 2, paramnames, defaults);
-
- paramnames[0] = "position";
- defaults[0] = "8";
- add_test(window, "atk_editable_text_paste_text", 1, paramnames, defaults);
-
- paramnames[0] = "start";
- paramnames[1] = "end";
- defaults[0] = "15";
- defaults[1] = "20";
- add_test(window, "atk_editable_text_delete_text", 2, paramnames, defaults);
- paramnames[0] = "start";
- paramnames[1] = "end";
- defaults[0] = "5";
- defaults[1] = "20";
- add_test(window, "atk_editable_text_copy_text", 2, paramnames, defaults);
-
- paramnames[0] = "insert text";
- paramnames[1] = "position";
- defaults[0] = "this is my insert";
- defaults[1] = "15";
- add_test(window, "atk_editable_text_insert_text", 2, paramnames, defaults);
- }
- return window;
-}
-
-/**
- * add_handlers:
- * @obj: An #AtkObject
- *
- * Sets up text signal handlers.
- *
- **/
-void add_handlers(AtkObject *obj)
-{
- if (!already_accessed_atk_object(obj))
- {
- /* Set up signal handlers */
-
- g_print ("Adding signal handler\n");
- g_signal_connect_closure_by_id (obj,
- g_signal_lookup ("text_caret_moved", G_OBJECT_TYPE (obj)),
- 0,
- g_cclosure_new (G_CALLBACK (_notify_caret_handler),
- NULL, NULL),
- FALSE);
-
- g_signal_connect_closure (obj, "text_changed::insert",
- g_cclosure_new (G_CALLBACK (_notify_text_insert_handler),
- NULL, NULL),
- FALSE);
-
- g_signal_connect_closure (obj, "text_changed::delete",
- g_cclosure_new (G_CALLBACK (_notify_text_delete_handler),
- NULL, NULL),
- FALSE);
- }
-}
-
-/**
- * notify_text_insert_handler:
- * @obj: A #Gobject
- * @start_offset: Start offset of insert
- * @end_offset: End offset of insert.
- *
- * Text inserted singal handler
- **/
-void
-_notify_text_insert_handler (GObject *obj, int start_offset, int end_offset)
-{
- g_print ("SIGNAL - Text inserted at position %d, length %d!\n",
- start_offset, end_offset);
-}
-
-/**
- * notify_text_delete_handler:
- * @obj: A #Gobject
- * @start_offset: Start offset of delete
- * @end_offset: End offset of delete.
- *
- * Text deleted singal handler
- **/
-void
-_notify_text_delete_handler (GObject *obj, int start_offset, int end_offset)
-{
- g_print ("SIGNAL - Text deleted at position %d, length %d!\n",
- start_offset, end_offset);
-}
-
-/**
- * notify_caret_handler:
- * @obj: A #Gobject
- * @position: Caret position
- *
- * Caret (cursor) moved signal handler.
- **/
-void
-_notify_caret_handler (GObject *obj, int position)
-{
- g_print ("SIGNAL - The caret moved to position %d!\n", position);
-}
-
-/**
- * runtest:
- * @obj: An #AtkObject
- * @win_val: The window number
- *
- * The callback to run when the "Run Tests" button on the
- * Test GUI is clicked.
- **/
-void
-runtest(AtkObject *obj, gint win_val)
-{
- gint i, size;
- gunichar uni_char;
- gchar output[MAX_LINE_SIZE];
- gchar **testsOn;
-
- testsOn = tests_set(win_val, &size);
-
- for(i = 0; i < size; i++)
- {
- gint param_int1, param_int2, start, end, j, x, y, height, width;
- gchar *param_string1, *param_string2, *param_string3, *text;
- gboolean result;
- gint index;
-
- if (strcmp(testsOn[i], "atk_text_get_text_at_offset") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_text_get_text_at_offset", "offset");
- param_int1 = string_to_int(param_string1);
-
- _run_offset_test(obj, "at", param_int1, ATK_TEXT_BOUNDARY_WORD_END);
- _run_offset_test(obj, "at", param_int1, ATK_TEXT_BOUNDARY_WORD_START);
- _run_offset_test(obj, "at", param_int1, ATK_TEXT_BOUNDARY_LINE_END);
- _run_offset_test(obj, "at", param_int1, ATK_TEXT_BOUNDARY_LINE_START);
- _run_offset_test(obj, "at", param_int1, ATK_TEXT_BOUNDARY_SENTENCE_END);
- _run_offset_test(obj, "at", param_int1, ATK_TEXT_BOUNDARY_SENTENCE_START);
- _run_offset_test(obj, "at", param_int1, ATK_TEXT_BOUNDARY_CHAR);
- }
-
- if (strcmp(testsOn[i], "atk_text_get_text_after_offset") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_text_get_text_after_offset", "offset");
- param_int1 = string_to_int(param_string1);
-
- _run_offset_test(obj, "after", param_int1, ATK_TEXT_BOUNDARY_WORD_END);
- _run_offset_test(obj, "after", param_int1, ATK_TEXT_BOUNDARY_WORD_START);
- _run_offset_test(obj, "after", param_int1, ATK_TEXT_BOUNDARY_LINE_END);
- _run_offset_test(obj, "after", param_int1, ATK_TEXT_BOUNDARY_LINE_START);
- _run_offset_test(obj, "after", param_int1, ATK_TEXT_BOUNDARY_SENTENCE_END);
- _run_offset_test(obj, "after", param_int1, ATK_TEXT_BOUNDARY_SENTENCE_START);
- _run_offset_test(obj, "after", param_int1, ATK_TEXT_BOUNDARY_CHAR);
- }
-
- if (strcmp(testsOn[i], "atk_text_get_text_before_offset") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_text_get_text_before_offset", "offset");
- param_int1 = string_to_int(param_string1);
-
- _run_offset_test(obj, "before", param_int1, ATK_TEXT_BOUNDARY_WORD_END);
- _run_offset_test(obj, "before", param_int1, ATK_TEXT_BOUNDARY_WORD_START);
- _run_offset_test(obj, "before", param_int1, ATK_TEXT_BOUNDARY_LINE_END);
- _run_offset_test(obj, "before", param_int1, ATK_TEXT_BOUNDARY_LINE_START);
- _run_offset_test(obj, "before", param_int1, ATK_TEXT_BOUNDARY_SENTENCE_END);
- _run_offset_test(obj, "before", param_int1, ATK_TEXT_BOUNDARY_SENTENCE_START);
- _run_offset_test(obj, "before", param_int1, ATK_TEXT_BOUNDARY_CHAR);
- }
-
- if (strcmp(testsOn[i], "atk_text_get_character_count") == 0)
- {
- param_int1 = atk_text_get_character_count (ATK_TEXT (obj));
- sprintf(output, "\nText character count: %d\n", param_int1);
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_text_get_character_at_offset") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_text_get_character_at_offset",
- "offset");
- uni_char = atk_text_get_character_at_offset (ATK_TEXT(obj),
- string_to_int(param_string1));
- sprintf(output, "\nCharacter at offset %d: |%x|\n",
- string_to_int(param_string1), uni_char);
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_text_get_text") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_text_get_text", "position 1");
- param_string2 = get_arg_of_func(win_val, "atk_text_get_text", "position 2");
- text = atk_text_get_text (ATK_TEXT (obj), string_to_int(param_string1),
- string_to_int(param_string2));
- sprintf(output, "\nText %d, %d: %s\n", string_to_int(param_string1),
- string_to_int(param_string2), text);
- g_free (text);
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_text_get_caret_offset") == 0)
- {
- param_int1 = atk_text_get_caret_offset (ATK_TEXT (obj));
- if (param_int1 == -1)
- sprintf(output, "\nCaret offset: |Not Supported|\n");
- else
- sprintf(output, "\nCaret offset: %d\n", param_int1);
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_text_set_caret_offset") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_text_set_caret_offset", "offset");
- atk_text_set_caret_offset(ATK_TEXT(obj), string_to_int(param_string1));
- sprintf(output, "\nPutting caret at offset: |%d|\n",
- string_to_int(param_string1));
- param_int1 = atk_text_get_caret_offset (ATK_TEXT (obj));
-
- if (param_int1 == -1)
- sprintf(output, "\nCaret offset: |Not Supported|\n");
- else
- sprintf(output, "\nCaret offset was set at: |%d|\n", param_int1);
-
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_text_get_n_selections") == 0)
- {
- param_int1 = atk_text_get_n_selections(ATK_TEXT(obj));
- if (param_int1 == -1)
- {
- sprintf(output, "\nNo selected regions\n");
- set_output_buffer(output);
- }
-
- for (j = 0; j < param_int1; j++)
- {
- sprintf(output, "\nNumber of selected text regions is: |%d|\n", j);
- set_output_buffer(output);
-
- text = atk_text_get_selection(ATK_TEXT(obj), j, &start, &end);
- if (text != NULL)
- {
- sprintf(output, "\nSelected text for region %d is: |%s|\n", j, text);
- set_output_buffer(output);
- sprintf(output,
- "\nStart selection bounds: %d\tEnd selection bounds: %d\n",
- start, end);
- }
- else
- {
- sprintf(output, "\nNo selected region %d\n", j);
- }
-
- set_output_buffer(output);
- }
- }
-
- if (strcmp(testsOn[i], "atk_text_add_selection") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_text_add_selection", "start");
- param_string2 = get_arg_of_func(win_val, "atk_text_add_selection", "end");
- result = atk_text_add_selection(ATK_TEXT(obj),
- string_to_int(param_string1), string_to_int(param_string2));
- sprintf(output, "\nSet selection bounds between %d, and %d: %s",
- string_to_int(param_string1), string_to_int(param_string2),
- result_string[result]);
- set_output_buffer(output);
-
- param_int1 = atk_text_get_n_selections(ATK_TEXT(obj));
- for (j = 0; j < param_int1; j++)
- {
- sprintf(output, "\nNumber of selected text region is: %d\n", j);
- set_output_buffer(output);
- text = atk_text_get_selection(ATK_TEXT(obj), j, &start, &end);
-
- if (text != NULL)
- {
- sprintf(output, "\nSelected text for region %d is: |%s|\n", j, text);
- set_output_buffer(output);
- sprintf(output,
- "\nStart selection bounds: %d\tEnd selection bounds: %d\n",
- start, end);
- }
- else
- {
- sprintf(output, "\nNo selected region %d\n", j);
- }
-
- set_output_buffer(output);
- }
- }
-
- if (strcmp(testsOn[i], "atk_text_get_selection") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_text_get_selection", "selection no");
- text = atk_text_get_selection(ATK_TEXT(obj),
- string_to_int(param_string1), &start, &end);
-
- if (text != NULL)
- {
- sprintf(output, "\nSelected text for region %d is: |%s|\n",
- string_to_int(param_string1), text);
- set_output_buffer(output);
- sprintf(output,
- "\nStart selection bounds: %d\t End selection bounds: %d\n",
- start, end);
- }
- else
- {
- sprintf(output, "\nNo selected region %d\n", string_to_int(param_string1));
- }
-
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_text_set_selection") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_text_set_selection", "selection no");
- param_string2 = get_arg_of_func(win_val, "atk_text_set_selection", "start");
- param_string3 = get_arg_of_func(win_val, "atk_text_set_selection", "end");
- result = atk_text_set_selection(ATK_TEXT(obj), string_to_int(param_string1),
- string_to_int(param_string2), string_to_int(param_string3));
- sprintf(output, "Set selection %d's bounds between %d and %d: %s\n",
- string_to_int(param_string1), string_to_int(param_string2),
- string_to_int(param_string3), result_string[result]);
- set_output_buffer(output);
- text = atk_text_get_selection(ATK_TEXT(obj), string_to_int(param_string1),
- &start, &end);
-
- if (text != NULL)
- {
- sprintf(output, "Selected text for the reset region %d is: |%s|\n",
- string_to_int(param_string1), text);
- set_output_buffer(output);
- sprintf(output,
- "\nNew start selection bounds: %d\tNew end selection bounds: %d\n",
- start, end);
- }
- else
- {
- sprintf(output, "\nNo selected region %d\n", string_to_int(param_string1));
- }
-
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_text_remove_selection") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_text_remove_selection", "selection no");
- result = atk_text_remove_selection(ATK_TEXT(obj), string_to_int(param_string1));
- sprintf(output, "Remove selection for region %d: %s\n",
- string_to_int(param_string1), result_string[result]);
- set_output_buffer(output);
- text = atk_text_get_selection(ATK_TEXT(obj),
- string_to_int(param_string1), &start, &end);
-
- if (text != NULL)
- sprintf(output, "\nRemoved regions text should be empty instead of: %s", text);
- else
- sprintf(output, "\nRemoved regions text should be empty, this is: ||");
-
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_text_get_run_attributes") == 0)
- {
- gint test_int;
- param_string1 = get_arg_of_func(win_val, "atk_text_get_run_attributes", "offset");
- test_int = string_to_int(param_string1);
- attrib = atk_text_get_run_attributes(ATK_TEXT(obj), test_int, &start, &end);
- sprintf(output, "get_run_attributes at offset %i:\nStart: %i, End: %i\n", test_int,
- start, end);
- set_output_buffer(output);
- if (attrib != NULL) {
- GSList *node;
- index = 0;
- node = attrib;
- while (node != NULL)
- {
- AtkAttribute* att = node->data;
-
- sprintf(output, "List index: %i, Name: %s, Value: %s\n", index,
- att->name, att->value);
- set_output_buffer(output);
- node = node->next;
- index++;
- }
- atk_attribute_set_free (attrib);
- }
- }
-
- if (strcmp(testsOn[i], "atk_text_get_default_attributes") == 0)
- {
- attrib = atk_text_get_default_attributes(ATK_TEXT(obj));
- sprintf(output, "get_default_attributes\n");
- set_output_buffer(output);
- if (attrib != NULL) {
- GSList *node;
- index = 0;
- node = attrib;
- while (node != NULL)
- {
- AtkAttribute* att = node->data;
-
- sprintf(output, "List index: %i, Name: %s, Value: %s\n", index,
- att->name, att->value);
- set_output_buffer(output);
- node = node->next;
- index++;
- }
- atk_attribute_set_free (attrib);
- }
- }
-
- if (strcmp(testsOn[i], "atk_text_get_character_extents") == 0)
- {
- gint test_int;
- param_string1 = get_arg_of_func(win_val, "atk_text_get_character_extents",
- "offset");
- param_string2 = get_arg_of_func(win_val, "atk_text_get_character_extents",
- "coord mode");
- test_int = string_to_int(param_string1);
- if (strcmp(param_string2, "ATK_XY_SCREEN") == 0)
- {
- atk_text_get_character_extents(ATK_TEXT(obj), test_int, &x, &y, &width,
- &height, ATK_XY_SCREEN);
- sprintf(output,
- "get_character_extents at offset %i, mode: SCREEN\nX: %i, Y: %i, width: %i, height: %i\n",
- test_int, x, y, width, height);
- }
- else if (strcmp(param_string2, "ATK_XY_WINDOW") == 0)
- {
- atk_text_get_character_extents(ATK_TEXT(obj), test_int, &x, &y, &width,
- &height, ATK_XY_WINDOW);
- sprintf(output,
- "get_character_extents at offset %i, mode: WIDGET_WINDOW\nX: %i, Y: %i, width: %i, height: %i\n",
- test_int, x, y, width, height);
- }
- else
- sprintf(output, "get_character_extents_at_offset: Invalid coord mode argument!");
-
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_text_get_offset_at_point") == 0)
- {
- gint test_int;
- param_string1 = get_arg_of_func(win_val, "atk_text_get_offset_at_point", "x");
- param_string2 = get_arg_of_func(win_val, "atk_text_get_offset_at_point", "y");
- param_string3 = get_arg_of_func(win_val, "atk_text_get_offset_at_point", "coord mode");
- param_int1 = string_to_int(param_string1);
- param_int2 = string_to_int(param_string2);
- if (strcmp(param_string3, "ATK_XY_SCREEN") == 0)
- {
- test_int = atk_text_get_offset_at_point(ATK_TEXT(obj), param_int1, param_int2,
- ATK_XY_SCREEN);
- if (test_int != -1)
- sprintf(output, "get_offset_at_point %i,%i mode: SCREEN is %i\n", param_int1, param_int2, test_int);
- else
- sprintf(output, "Cannot get_offset_at_point\n");
- }
- else if (strcmp(param_string3, "ATK_XY_WINDOW") == 0)
- {
- test_int = atk_text_get_offset_at_point(ATK_TEXT(obj), param_int1, param_int2,
- ATK_XY_WINDOW);
- if (test_int != -1)
- sprintf(output, "get_offset_at_point %i,%i mode: WIDGET_WINDOW is %i\n", param_int1, param_int2, test_int);
- else
- sprintf(output, "Cannot get_offset_at_point\n");
- }
- else
- sprintf(output, "get_offset_at_point: Invalid coord mode argument!");
-
- set_output_buffer(output);
- }
- if (ATK_IS_EDITABLE_TEXT(obj))
- {
- if (strcmp(testsOn[i], "atk_editable_text_set_run_attributes") == 0)
- {
- param_string1 = get_arg_of_func(win_val,
- "atk_editable_text_set_run_attributes", "start");
- param_string2 = get_arg_of_func(win_val,
- "atk_editable_text_set_run_attributes", "end");
- result = atk_editable_text_set_run_attributes(ATK_EDITABLE_TEXT(obj),
- attrib, string_to_int(param_string1), string_to_int(param_string2));
- if (result)
- sprintf(output, "\nSetting attributes in range %d to %d...OK\n",
- string_to_int(param_string1), string_to_int(param_string2));
- else
- sprintf(output, "\nSetting attributes in range %d to %d...Failed\n",
- string_to_int(param_string1), string_to_int(param_string2));
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_editable_text_cut_text") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_editable_text_cut_text", "start");
- param_string2 = get_arg_of_func(win_val, "atk_editable_text_cut_text", "end");
- atk_editable_text_cut_text(ATK_EDITABLE_TEXT(obj),
- string_to_int(param_string1), string_to_int(param_string2));
- sprintf(output, "\nCutting text %d to %d...\n",
- string_to_int(param_string1), string_to_int(param_string2));
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_editable_text_paste_text") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_editable_text_paste_text",
- "position");
- atk_editable_text_paste_text(ATK_EDITABLE_TEXT(obj),
- string_to_int(param_string1));
- sprintf(output, "\nPasting text to %d\n", string_to_int(param_string1));
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_editable_text_delete_text") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_editable_text_delete_text", "start");
- param_string2 = get_arg_of_func(win_val, "atk_editable_text_delete_text", "end");
- atk_editable_text_delete_text(ATK_EDITABLE_TEXT(obj),
- string_to_int(param_string1), string_to_int(param_string2));
- sprintf(output, "\nDeleting text %d to %d...\n",
- string_to_int(param_string1), string_to_int(param_string2));
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_editable_text_copy_text") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_editable_text_copy_text", "start");
- param_string2 = get_arg_of_func(win_val, "atk_editable_text_copy_text", "end");
- atk_editable_text_copy_text(ATK_EDITABLE_TEXT(obj),
- string_to_int(param_string1), string_to_int(param_string2));
- sprintf(output, "\nCopying text %d to %d...\n",
- string_to_int(param_string1), string_to_int(param_string2));
- set_output_buffer(output);
- }
-
- if (strcmp(testsOn[i], "atk_editable_text_insert_text") == 0)
- {
- param_string1 = get_arg_of_func(win_val, "atk_editable_text_insert_text",
- "insert text");
- param_string2 = get_arg_of_func(win_val, "atk_editable_text_insert_text",
- "position");
- param_int2 = string_to_int(param_string2);
- atk_editable_text_insert_text(ATK_EDITABLE_TEXT(obj),
- param_string1, strlen(param_string1), ¶m_int2);
- sprintf(output, "\nInserting text at %d...\n", param_int2);
- set_output_buffer(output);
- }
- }
- }
-}
-
-/**
- * _run_offset_test:
- * @obj: An #AtkObject
- * @type: The type of test to run. Can be "at", "before", or "after".
- * @offset: The offset into the text buffer.
- * @boundary: The boundary type.
- *
- * Tests the following ATK_TEXT API functions:
- * atk_text_get_text_at_offset
- * atk_text_get_text_before_offseet
- * atk_text_get_text_after_offset
- **/
-void _run_offset_test(AtkObject * obj, char * type, gint offset,
- AtkTextBoundary boundary)
-{
- gchar output[MAX_LINE_SIZE];
- gchar default_val[5] = "NULL";
- gchar *text;
- gint startOffset, endOffset;
-
- if (strcmp(type, "at") == 0)
- text = atk_text_get_text_at_offset (ATK_TEXT (obj),
- offset, boundary, &startOffset, &endOffset);
- else if (strcmp(type, "before") == 0)
- text = atk_text_get_text_before_offset (ATK_TEXT (obj),
- offset, boundary, &startOffset, &endOffset);
- else if (strcmp(type, "after") == 0)
- text = atk_text_get_text_after_offset (ATK_TEXT (obj),
- offset, boundary, &startOffset, &endOffset);
- else
- text = NULL;
-
- if (text == NULL)
- text = g_strdup (default_val);
-
- if (boundary == ATK_TEXT_BOUNDARY_CHAR)
- sprintf(output, "\n|%s| Text |%s| Boundary |BOUNDARY_CHAR|\n",
- type, text);
- else if (boundary == ATK_TEXT_BOUNDARY_WORD_START)
- sprintf(output, "\n|%s| Text |%s| Boundary |BOUNDARY_WORD_START|\n",
- type, text);
- else if (boundary == ATK_TEXT_BOUNDARY_WORD_END)
- sprintf(output, "\n|%s| Text |%s| Boundary |BOUNDARY_WORD_END|\n",
- type, text);
- else if (boundary == ATK_TEXT_BOUNDARY_SENTENCE_START)
- sprintf(output, "\n|%s| Text |%s| Boundary |BOUNDARY_SENTENCE_START|\n",
- type, text);
- else if (boundary == ATK_TEXT_BOUNDARY_SENTENCE_END)
- sprintf(output, "\n|%s| Text |%s| Boundary |BOUNDARY_SENTENCE_END|\n",
- type, text);
- else if (boundary == ATK_TEXT_BOUNDARY_LINE_START)
- sprintf(output, "\n|%s| Text |%s| Boundary |BOUNDARY_LINE_START|\n",
- type, text);
- else if (boundary == ATK_TEXT_BOUNDARY_LINE_END)
- sprintf(output, "\n|%s| Text |%s| Boundary |BOUNDARY_LINE_END|\n",
- type, text);
- else
- sprintf(output, "\n|%s| Text |%s| Boundary |UNKNOWN|\n",
- type, text);
-
- g_free (text);
- set_output_buffer(output);
-
- sprintf(output, "Offset %d, startOffset %d, endOffset %d\n",
- offset, startOffset, endOffset);
- set_output_buffer(output);
-}
+++ /dev/null
-#include <stdio.h>
-#include <gtk/gtk.h>
-#include <atk/atk.h>
-#include "testlib.h"
-
-void add_handlers (AtkObject *obj);
-gint setup_gui (AtkObject *obj, TLruntest test);
-void runtest(AtkObject *obj, gint win_num);
-void _run_offset_test(AtkObject *obj, char * type, gint param_int1, AtkTextBoundary boundary);
-void _notify_caret_handler (GObject *obj, int position);
-void _notify_text_insert_handler (GObject *obj,
- int start_offset, int end_offset);
-void _notify_text_delete_handler (GObject *obj,
- int start_offset, int end_offset);
-
+++ /dev/null
-#include <atk/atk.h>
-#include <gtk/gtk.h>
-#include "testlib.h"
-
-static void _notify_toplevel_child_added (GObject *obj,
- guint index, AtkObject *child, gpointer user_data);
-static void _notify_toplevel_child_removed (GObject *obj,
- guint index, AtkObject *child, gpointer user_data);
-static gboolean _button_press_event_watcher (GSignalInvocationHint *ihint,
- guint n_param_values, const GValue *param_values, gpointer data);
-
-static guint id;
-static gboolean g_register_listener = FALSE;
-static guint g_signal_listener = 0;
-static gint g_press_count = 0;
-
-static void
-_check_toplevel (AtkObject *obj)
-{
- AtkObject *root_obj;
- const gchar *name_string, *version_string;
- gint max_depth;
-
- g_print ("Start of _check_toplevel\n");
- root_obj = atk_get_root();
-
- if (!already_accessed_atk_object(root_obj))
- {
- g_signal_connect_closure (root_obj, "children_changed::add",
- g_cclosure_new (G_CALLBACK (_notify_toplevel_child_added),
- NULL, NULL),
- FALSE);
-
- g_signal_connect_closure (root_obj, "children_changed::remove",
- g_cclosure_new (G_CALLBACK (_notify_toplevel_child_removed),
- NULL, NULL),
- FALSE);
- }
-
- name_string = atk_get_toolkit_name();
- version_string = atk_get_toolkit_version();
- g_print ("Toolkit name <%s> version <%s>\n", name_string,
- version_string);
-
- if (g_getenv("TEST_ACCESSIBLE_DEPTH") != NULL)
- max_depth = string_to_int(g_getenv("TEST_ACCESSIBLE_DEPTH"));
- else
- max_depth = 2;
-
- display_children_to_depth(root_obj, max_depth, 0, 0);
- g_print ("End of _check_toplevel\n");
-
- if (!g_register_listener)
- {
- g_print("Adding global event listener on buttons\n");
- g_register_listener = TRUE;
- g_signal_listener = atk_add_global_event_listener(_button_press_event_watcher,
- "Gtk:GtkButton:pressed");
- }
-}
-
-static void
-_create_event_watcher (void)
-{
- id = atk_add_focus_tracker (_check_toplevel);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testtoplevel Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
-
-static void _notify_toplevel_child_added (GObject *obj,
- guint child_index, AtkObject *child, gpointer user_data)
-{
- g_print ("SIGNAL - Child added - index %d\n", child_index);
-}
-
-static void _notify_toplevel_child_removed (GObject *obj,
- guint child_index, AtkObject *child, gpointer user_data)
-{
- g_print ("SIGNAL - Child removed - index %d\n", child_index);
-}
-
-static gboolean
-_button_press_event_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data)
-{
- GObject *object;
- gchar * button_name = (gchar *) data;
-
- object = g_value_get_object (param_values + 0);
-
- if (ATK_IS_IMPLEMENTOR(object))
- {
- AtkObject * atk_obj =
- atk_implementor_ref_accessible(ATK_IMPLEMENTOR(object));
-
- g_print("Button <%s> pressed %d times!\n", button_name,
- (g_press_count + 1));
- g_print("Displaying children of Button pressed!\n");
- display_children(atk_obj, 0, 0);
-
- if (g_press_count >= 5)
- {
- g_print("Removing global event listener on buttons\n");
- atk_remove_global_event_listener(g_signal_listener);
- g_signal_listener = 0;
- g_press_count = 0;
- g_register_listener = FALSE;
- }
- else
- {
- g_press_count++;
- }
- }
-
- return TRUE;
-}
-
+++ /dev/null
-#include <stdlib.h>
-#include <testlib.h>
-
-/*
- * This module is for use with the test program testtreeview
- */
-static gboolean state_change_watch (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-
-static void _check_table (AtkObject *in_obj);
-static void _check_cell_actions (AtkObject *in_obj);
-
-static gint _find_expander_column (AtkTable *table);
-static void _check_expanders (AtkTable *table,
- gint expander_column);
-static void _runtest (AtkObject *obj);
-static void _create_event_watcher (void);
-static void row_inserted (AtkObject *obj,
- gint row,
- gint count);
-static void row_deleted (AtkObject *obj,
- gint row,
- gint count);
-static AtkObject *table_obj = NULL;
-static gint expander_column = -1;
-static gboolean editing_cell = FALSE;
-
-static gboolean
-state_change_watch (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data)
-{
- GObject *object;
- gboolean state_set;
- const gchar *state_name;
- AtkStateType state_type;
-
- object = g_value_get_object (param_values + 0);
- g_return_val_if_fail (ATK_IS_OBJECT (object), FALSE);
-
- state_name = g_value_get_string (param_values + 1);
- state_set = g_value_get_boolean (param_values + 2);
-
- g_print ("Object type: %s state: %s set: %d\n",
- g_type_name (G_OBJECT_TYPE (object)), state_name, state_set);
- state_type = atk_state_type_for_name (state_name);
- if (state_type == ATK_STATE_EXPANDED)
- {
- AtkObject *parent = atk_object_get_parent (ATK_OBJECT (object));
-
- if (ATK_IS_TABLE (parent))
- _check_expanders (ATK_TABLE (parent), expander_column);
- }
- return TRUE;
-}
-
-static void
-_check_table (AtkObject *in_obj)
-{
- AtkObject *obj;
- AtkRole role[2];
- AtkRole obj_role;
- static gboolean emission_hook_added = FALSE;
-
- if (!emission_hook_added)
- {
- emission_hook_added = TRUE;
- g_signal_add_emission_hook (
- g_signal_lookup ("state-change", ATK_TYPE_OBJECT),
- /*
- * To specify an emission hook for a particular state, e.g.
- * ATK_STATE_EXPANDED, instead of 0 use
- * g_quark_from_string (atk_state_type_get_name (ATK_STATE_EXPANDED))
- */
- 0,
- state_change_watch, NULL, (GDestroyNotify) NULL);
- }
-
- role[0] = ATK_ROLE_TABLE;
- role[1] = ATK_ROLE_TREE_TABLE;
-
- g_print ("focus event for: %s\n", g_type_name (G_OBJECT_TYPE (in_obj)));
-
- _check_cell_actions (in_obj);
-
- obj_role = atk_object_get_role (in_obj);
- if (obj_role == ATK_ROLE_TABLE_CELL)
- obj = atk_object_get_parent (in_obj);
- else
- obj = find_object_by_role (in_obj, role, 2);
- if (obj == NULL)
- return;
-
- editing_cell = FALSE;
-
- if (obj != table_obj)
- {
- table_obj = obj;
- g_print("Found %s table\n", g_type_name (G_OBJECT_TYPE (obj)));
- g_signal_connect (G_OBJECT (obj),
- "row_inserted",
- G_CALLBACK (row_inserted),
- NULL);
- g_signal_connect (G_OBJECT (obj),
- "row_deleted",
- G_CALLBACK (row_deleted),
- NULL);
- /*
- * Find expander column
- */
- if (ATK_IS_TABLE (obj))
- {
- if (atk_object_get_role (obj) == ATK_ROLE_TREE_TABLE)
- {
- expander_column = _find_expander_column (ATK_TABLE (obj));
- if (expander_column == -1)
- {
- g_warning ("Expander column not found\n");
- return;
- }
- }
- _runtest(obj);
- }
- else
- g_warning ("Table does not support AtkTable interface\n");
- }
- else
- {
- /*
- * We do not call these functions at the same time as we set the
- * signals as the GtkTreeView may not be displayed yet.
- */
- gint x, y, width, height, first_x, last_x, last_y;
- gint first_row, last_row, first_column, last_column;
- gint index;
- AtkObject *first_child, *last_child, *header;
- AtkComponent *component = ATK_COMPONENT (obj);
- AtkTable *table = ATK_TABLE (obj);
-
- atk_component_get_extents (component,
- &x, &y, &width, &height, ATK_XY_WINDOW);
- g_print ("WINDOW: x: %d y: %d width: %d height: %d\n",
- x, y, width, height);
- atk_component_get_extents (component,
- &x, &y, &width, &height, ATK_XY_SCREEN);
- g_print ("SCREEN: x: %d y: %d width: %d height: %d\n",
- x, y, width, height);
- last_x = x + width - 1;
- last_y = y + height - 1;
- first_x = x;
- header = atk_table_get_column_header (table, 0);
- if (header)
- {
- atk_component_get_extents (ATK_COMPONENT (header),
- &x, &y, &width, &height, ATK_XY_SCREEN);
- g_print ("Got column header: x: %d y: %d width: %d height: %d\n",
- x, y, width, height);
- y += height;
- }
- first_child = atk_component_ref_accessible_at_point (component,
- first_x, y, ATK_XY_SCREEN);
- atk_component_get_extents (ATK_COMPONENT (first_child),
- &x, &y, &width, &height, ATK_XY_SCREEN);
- g_print ("first_child: x: %d y: %d width: %d height: %d\n",
- x, y, width, height);
- index = atk_object_get_index_in_parent (ATK_OBJECT (first_child));
- first_row = atk_table_get_row_at_index (table, index);
- first_column = atk_table_get_column_at_index (table, index);
- g_print ("first_row: %d first_column: %d index: %d\n",
- first_row, first_column, index);
- g_assert (index == atk_table_get_index_at (table, first_row, first_column));
- last_child = atk_component_ref_accessible_at_point (component,
- last_x, last_y, ATK_XY_SCREEN);
- if (last_child == NULL)
- {
- /* The TreeView may be bigger than the data */
- gint n_children;
-
- n_children = atk_object_get_n_accessible_children (obj);
- last_child = atk_object_ref_accessible_child (obj, n_children - 1);
- }
- atk_component_get_extents (ATK_COMPONENT (last_child),
- &x, &y, &width, &height, ATK_XY_SCREEN);
- g_print ("last_child: x: %d y: %d width: %d height: %d\n",
- x, y, width, height);
- index = atk_object_get_index_in_parent (ATK_OBJECT (last_child));
- last_row = atk_table_get_row_at_index (table, index);
- last_column = atk_table_get_column_at_index (table, index);
- g_print ("last_row: %d last_column: %d index: %d\n",
- last_row, last_column, index);
- g_assert (index == atk_table_get_index_at (table, last_row, last_column));
- g_object_unref (first_child);
- g_object_unref (last_child);
-
- if (expander_column >= 0)
- {
- gint n_rows, i;
- gint x, y, width, height;
-
- n_rows = atk_table_get_n_rows (table);
- for (i = 0; i < n_rows; i++)
- {
- AtkObject *child_obj;
- AtkStateSet *state_set;
- gboolean showing;
-
- child_obj = atk_table_ref_at (table, i, expander_column);
- state_set = atk_object_ref_state_set (child_obj);
- showing = atk_state_set_contains_state (state_set,
- ATK_STATE_SHOWING);
- g_object_unref (state_set);
- atk_component_get_extents (ATK_COMPONENT (child_obj),
- &x, &y, &width, &height,
- ATK_XY_SCREEN);
- g_object_unref (child_obj);
- if (showing)
- g_print ("Row: %d Column: %d x: %d y: %d width: %d height: %d\n",
- i, expander_column, x, y, width, height);
- }
- }
- }
-}
-
-static void
-_check_cell_actions (AtkObject *in_obj)
-{
- AtkRole role;
- AtkAction *action;
- gint n_actions, i;
-
- role = atk_object_get_role (in_obj);
- if (role != ATK_ROLE_TABLE_CELL)
- return;
-
- if (!ATK_IS_ACTION (in_obj))
- return;
-
- if (editing_cell)
- return;
-
- action = ATK_ACTION (in_obj);
-
- n_actions = atk_action_get_n_actions (action);
-
- for (i = 0; i < n_actions; i++)
- {
- const gchar* name;
-
- name = atk_action_get_name (action, i);
- g_print ("Action %d is %s\n", i, name);
-#if 0
- if (strcmp (name, "edit") == 0)
- {
- editing_cell = TRUE;
- atk_action_do_action (action, i);
- }
-#endif
- }
- return;
-}
-
-static gint
-_find_expander_column (AtkTable *table)
-{
- gint n_columns, i;
- gint retval = -1;
-
- n_columns = atk_table_get_n_columns (table);
- for (i = 0; i < n_columns; i++)
- {
- AtkObject *cell;
- AtkRelationSet *relation_set;
-
- cell = atk_table_ref_at (table, 0, i);
- relation_set = atk_object_ref_relation_set (cell);
- if (atk_relation_set_contains (relation_set,
- ATK_RELATION_NODE_CHILD_OF))
- retval = i;
- g_object_unref (relation_set);
- g_object_unref (cell);
- if (retval >= 0)
- break;
- }
- return retval;
-}
-
-static void
-_check_expanders (AtkTable *table,
- gint expander_column)
-{
- gint n_rows, i;
-
- n_rows = atk_table_get_n_rows (table);
-
- for (i = 0; i < n_rows; i++)
- {
- AtkObject *cell;
- AtkRelationSet *relation_set;
- AtkRelation *relation;
- GPtrArray *target;
- gint j;
-
- cell = atk_table_ref_at (table, i, expander_column);
-
- relation_set = atk_object_ref_relation_set (cell);
- relation = atk_relation_set_get_relation_by_type (relation_set,
- ATK_RELATION_NODE_CHILD_OF);
- g_assert (relation);
- target = atk_relation_get_target (relation);
- g_assert (target->len == 1);
- for (j = 0; j < target->len; j++)
- {
- AtkObject *target_obj;
- AtkRole role;
- gint target_index, target_row;
-
- target_obj = g_ptr_array_index (target, j);
- role = atk_object_get_role (target_obj);
-
- switch (role)
- {
- case ATK_ROLE_TREE_TABLE:
- g_print ("Row %d is top level\n", i);
- break;
- case ATK_ROLE_TABLE_CELL:
- target_index = atk_object_get_index_in_parent (target_obj);
- target_row = atk_table_get_row_at_index (table, target_index);
- g_print ("Row %d has parent at %d\n", i, target_row);
- break;
- default:
- g_assert_not_reached ();
- }
- }
- g_object_unref (relation_set);
- g_object_unref (cell);
- }
-}
-
-static void
-_create_event_watcher (void)
-{
- atk_add_focus_tracker (_check_table);
-}
-
-int
-gtk_module_init (gint argc,
- char *argv[])
-{
- g_print ("testtreetable Module loaded\n");
-
- _create_event_watcher ();
-
- return 0;
-}
-
-static void
-_runtest (AtkObject *obj)
-{
- AtkObject *child_obj;
- AtkTable *table;
- AtkObject *caption;
- gint i;
- gint n_cols, n_rows, n_children;
-
- table = ATK_TABLE (obj);
- n_children = atk_object_get_n_accessible_children (ATK_OBJECT (obj));
- n_cols = atk_table_get_n_columns (table);
- n_rows = atk_table_get_n_rows (table);
- g_print ("n_children: %d n_rows: %d n_cols: %d\n",
- n_children, n_rows, n_cols);
-
- for (i = 0; i < n_rows; i++)
- {
- gint index = atk_table_get_index_at (table, i, expander_column);
- gint index_in_parent;
-
- child_obj = atk_table_ref_at (table, i, expander_column);
- index_in_parent = atk_object_get_index_in_parent (child_obj);
- g_print ("index: %d %d row %d column %d\n", index, index_in_parent, i, expander_column);
-
- g_object_unref (child_obj);
- }
- caption = atk_table_get_caption (table);
- if (caption)
- {
- const gchar *caption_name = atk_object_get_name (caption);
-
- g_print ("Caption: %s\n", caption_name ? caption_name : "<null>");
- }
- for (i = 0; i < n_cols; i++)
- {
- AtkObject *header;
-
- header = atk_table_get_column_header (table, i);
- g_print ("Header for column %d is %p\n", i, header);
- if (header)
- {
- const gchar *name;
- AtkRole role;
- AtkObject *parent;
- AtkObject *child;
- gint index;
-
- name = atk_object_get_name (header);
- role = atk_object_get_role (header);
- parent = atk_object_get_parent (header);
-
- if (parent)
- {
- index = atk_object_get_index_in_parent (header);
- g_print ("Parent: %s index: %d\n", G_OBJECT_TYPE_NAME (parent), index);
- child = atk_object_ref_accessible_child (parent, 0);
- g_print ("Child: %s %p\n", G_OBJECT_TYPE_NAME (child), child);
- if (index >= 0)
- {
- child = atk_object_ref_accessible_child (parent, index);
- g_print ("Index: %d child: %s\n", index, G_OBJECT_TYPE_NAME (child));
- g_object_unref (child);
- }
- }
- else
- g_print ("Parent of header is NULL\n");
- g_print ("%s %s %s\n", G_OBJECT_TYPE_NAME (header), name ? name: "<null>", atk_role_get_name (role));
- }
- }
-}
-
-static void
-row_inserted (AtkObject *obj,
- gint row,
- gint count)
-{
-#if 0
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeModel *tree_model;
-#endif
- gint index;
-
- g_print ("row_inserted: row: %d count: %d\n", row, count);
- index = atk_table_get_index_at (ATK_TABLE (obj), row+1, 0);
- g_print ("index for first column of next row is %d\n", index);
-
-#if 0
- widget = GTK_ACCESSIBLE (obj)->widget;
- tree_view = GTK_TREE_VIEW (widget);
- tree_model = gtk_tree_view_get_model (tree_view);
- if (GTK_IS_TREE_STORE (tree_model))
- {
- GtkTreeStore *tree_store;
- GtkTreePath *tree_path;
- GtkTreeIter tree_iter;
-
- tree_store = GTK_TREE_STORE (tree_model);
- tree_path = gtk_tree_path_new_from_string ("3:0");
- gtk_tree_model_get_iter (tree_model, &tree_iter, tree_path);
- gtk_tree_path_free (tree_path);
- gtk_tree_store_remove (tree_store, &tree_iter);
- }
-#endif
-}
-
-static void
-row_deleted (AtkObject *obj,
- gint row,
- gint count)
-{
-#if 0
- GtkWidget *widget;
- GtkTreeView *tree_view;
- GtkTreeModel *tree_model;
-#endif
- gint index;
-
- g_print ("row_deleted: row: %d count: %d\n", row, count);
- index = atk_table_get_index_at (ATK_TABLE (obj), row+1, 0);
- g_print ("index for first column of next row is %d\n", index);
-
-#if 0
- widget = GTK_ACCESSIBLE (obj)->widget;
- tree_view = GTK_TREE_VIEW (widget);
- tree_model = gtk_tree_view_get_model (tree_view);
- if (GTK_IS_TREE_STORE (tree_model))
- {
- GtkTreeStore *tree_store;
- GtkTreePath *tree_path;
- GtkTreeIter tree_iter, new_iter;
-
- tree_store = GTK_TREE_STORE (tree_model);
- tree_path = gtk_tree_path_new_from_string ("2");
- gtk_tree_model_get_iter (tree_model, &tree_iter, tree_path);
- gtk_tree_path_free (tree_path);
- gtk_tree_store_insert_before (tree_store, &new_iter, NULL, &tree_iter);
- }
-#endif
-}
+++ /dev/null
-#include <string.h>
-#include <atk/atk.h>
-#include <gtk/gtk.h>
-
-static void _traverse_children (AtkObject *obj);
-static void _add_handler (AtkObject *obj);
-static void _check_values (AtkObject *obj);
-static void _value_change_handler (AtkObject *obj,
- AtkPropertyValues *values);
-
-static guint id;
-
-static void _value_change_handler (AtkObject *obj,
- AtkPropertyValues *values)
-{
- const gchar *type_name = g_type_name (G_TYPE_FROM_INSTANCE (obj));
- GValue *value_back, val;
-
- value_back = &val;
-
- if (!ATK_IS_VALUE (obj)) {
- return;
- }
-
- if (strcmp (values->property_name, "accessible-value") == 0) {
- g_print ("_value_change_handler: Accessible Type: %s\n",
- type_name ? type_name : "NULL");
- if(G_VALUE_HOLDS_DOUBLE (&values->new_value))
- {
- g_print( "adjustment value changed : new value: %f\n",
- g_value_get_double (&values->new_value));
- }
-
- g_print("Now calling the AtkValue interface functions\n");
-
- atk_value_get_current_value (ATK_VALUE(obj), value_back);
- g_return_if_fail (G_VALUE_HOLDS_DOUBLE (value_back));
- g_print ("atk_value_get_current_value returns %f\n",
- g_value_get_double (value_back) );
-
- atk_value_get_maximum_value (ATK_VALUE (obj), value_back);
- g_return_if_fail (G_VALUE_HOLDS_DOUBLE (value_back));
- g_print ("atk_value_get_maximum returns %f\n",
- g_value_get_double (value_back));
-
- atk_value_get_minimum_value (ATK_VALUE (obj), value_back);
- g_return_if_fail (G_VALUE_HOLDS_DOUBLE (value_back));
- g_print ("atk_value_get_minimum returns %f\n",
- g_value_get_double (value_back));
-
-
- }
-
-}
-
-static void _traverse_children (AtkObject *obj)
-{
- gint n_children, i;
-
- n_children = atk_object_get_n_accessible_children (obj);
- for (i = 0; i < n_children; i++)
- {
- AtkObject *child;
-
- child = atk_object_ref_accessible_child (obj, i);
- _add_handler (child);
- _traverse_children (child);
- g_object_unref (G_OBJECT (child));
- }
-}
-
-static void _add_handler (AtkObject *obj)
-{
- static GPtrArray *obj_array = NULL;
- gboolean found = FALSE;
- gint i;
-
- /*
- * We create a property handler for each object if one was not associated
- * with it already.
- *
- * We add it to our array of objects which have property handlers; if an
- * object is destroyed it remains in the array.
- */
- if (obj_array == NULL)
- obj_array = g_ptr_array_new ();
-
- for (i = 0; i < obj_array->len; i++)
- {
- if (obj == g_ptr_array_index (obj_array, i))
- {
- found = TRUE;
- break;
- }
- }
- if (!found)
- {
- atk_object_connect_property_change_handler (obj,
- (AtkPropertyChangeHandler*) _value_change_handler);
- g_ptr_array_add (obj_array, obj);
- }
-}
-
-static void _set_values (AtkObject *obj) {
-
- GValue *value_back, val;
- static gint count = 0;
- gdouble double_value;
-
- value_back = &val;
-
- if(ATK_IS_VALUE(obj)) {
- /* Spin button also inherits the text interfaces from GailEntry.
- * Check when spin button recieves focus.
- */
-
- if(ATK_IS_TEXT(obj) && ATK_IS_EDITABLE_TEXT(obj)) {
- if(count == 0) {
- gint x;
- gchar* text;
- count++;
- x = atk_text_get_character_count (ATK_TEXT (obj));
- text = atk_text_get_text (ATK_TEXT (obj), 0, x);
- g_print("Text : %s\n", text);
- text = "5.7";
- atk_editable_text_set_text_contents(ATK_EDITABLE_TEXT(obj),text);
- g_print("Set text to %s\n",text);
- atk_value_get_current_value(ATK_VALUE(obj), value_back);
- g_return_if_fail (G_VALUE_HOLDS_DOUBLE (value_back));
- g_print("atk_value_get_current_value returns %f\n",
- g_value_get_double( value_back));
- }
- } else {
- memset (value_back, 0, sizeof (GValue));
- g_value_init (value_back, G_TYPE_DOUBLE);
- g_value_set_double (value_back, 10.0);
- if (atk_value_set_current_value (ATK_VALUE (obj), value_back))
- {
- double_value = g_value_get_double (value_back);
- g_print("atk_value_set_current_value returns %f\n",
- double_value);
- }
- }
- }
-}
-
-static void _check_values (AtkObject *obj)
-{
- static gint calls = 0;
- AtkRole role;
-
- g_print ("Start of _check_values\n");
-
- _set_values(obj);
-
- _add_handler (obj);
-
- if (++calls < 2)
- {
- /*
- * Just do this on this on the first 2 objects visited
- */
- atk_object_set_name (obj, "test123");
- atk_object_set_description (obj, "test123");
- }
-
- role = atk_object_get_role (obj);
-
- if (role == ATK_ROLE_FRAME || role == ATK_ROLE_DIALOG)
- {
- /*
- * Add handlers to all children.
- */
- _traverse_children (obj);
- }
- g_print ("End of _check_values\n");
-}
-
-static void
-_create_event_watcher (void)
-{
- id = atk_add_focus_tracker (_check_values);
-}
-
-int
-gtk_module_init(gint argc, char* argv[])
-{
- g_print("testvalues Module loaded\n");
-
- _create_event_watcher();
-
- return 0;
-}
no_undefined = -no-undefined
endif
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/gtk \
-I$(top_builddir)/gtk \
no_undefined = -no-undefined
endif
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/gtk \
-I$(top_builddir)/gtk \
no_undefined = -no-undefined
endif
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/gtk \
-I$(top_builddir)/gtk \
## Makefile.am for gtk+/perf
include $(top_srcdir)/Makefile.decl
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-I$(top_srcdir)/gdk \
gtkwidgetprofiler.c \
gtkwidgetprofiler.h \
main.c \
- marshalers.c \
- marshalers.h \
textview.c \
treeview.c \
typebuiltins.c \
widgets.h
BUILT_SOURCES = \
- marshalers.c \
- marshalers.h \
typebuiltins.c \
typebuiltins.h
stamp_files = \
- stamp-marshalers.h \
stamp-typebuiltins.h
headers_with_enums = \
MAINTAINERCLEANFILES = $(BUILT_SOURCES) $(stamp_files)
-marshalers.h: stamp-marshalers.h
- @true
-
-stamp-marshalers.h: @REBUILD@ marshalers.list
- $(GLIB_GENMARSHAL) --prefix=_testperf_marshal $(srcdir)/marshalers.list --header >> xgen-gmlh \
- && (cmp -s xgen-gmlh marshalers.h || cp xgen-gmlh marshalers.h) \
- && rm -f xgen-gmlh \
- && echo timestamp > $(@F)
-marshalers.c: @REBUILD@ marshalers.list
- $(GLIB_GENMARSHAL) --prefix=_testperf_marshal $(srcdir)/marshalers.list --body >> xgen-gmlc \
- && cp xgen-gmlc marshalers.c \
- && rm -f xgen-gmlc
typebuiltins.h: stamp-typebuiltins.h
@true
EXTRA_DIST += \
README \
- marshalers.list \
typebuiltins.c.template \
typebuiltins.h.template \
$(BUILT_SOURCES)
#include "config.h"
#include <string.h>
#include "gtkwidgetprofiler.h"
-#include "marshalers.h"
#include "typebuiltins.h"
typedef enum {
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkWidgetProfilerClass, create_widget),
NULL, NULL,
- _testperf_marshal_OBJECT__VOID,
+ NULL,
G_TYPE_OBJECT, 0);
signals[REPORT] =
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GtkWidgetProfilerClass, report),
NULL, NULL,
- _testperf_marshal_VOID__ENUM_OBJECT_DOUBLE,
+ NULL,
G_TYPE_NONE, 3,
GTK_TYPE_WIDGET_PROFILER_REPORT,
G_TYPE_OBJECT,
+++ /dev/null
-OBJECT:VOID
-VOID:ENUM,OBJECT,DOUBLE
# Files from the Gtk distribution which have already been
# marked to allow runtime translation of messages
-gdk/gdk.c
gdk/gdkapplaunchcontext.c
+gdk/gdk.c
gdk/gdkcursor.c
gdk/gdkdevice.c
gdk/gdkdevicemanager.c
gdk/keyname-table.h
gdk/win32/gdkmain-win32.c
gdk/x11/gdkapplaunchcontext-x11.c
-gdk/x11/gdkdevice-xi.c
-gdk/x11/gdkdevice-xi2.c
gdk/x11/gdkdevicemanager-xi2.c
gdk/x11/gdkdevicemanager-xi.c
+gdk/x11/gdkdevice-xi2.c
+gdk/x11/gdkdevice-xi.c
gdk/x11/gdkmain-x11.c
+gtk/a11y/gtkspinneraccessible.c
+gtk/a11y/gtkswitchaccessible.c
gtk/gtkaboutdialog.c
gtk/gtkaccelgroup.c
gtk/gtkaccellabel.c
gtk/gtkactivatable.c
gtk/gtkadjustment.c
gtk/gtkalignment.c
+gtk/gtkanimationdescription.c
gtk/gtkappchooserbutton.c
gtk/gtkappchooser.c
gtk/gtkappchooserdialog.c
gtk/gtkappchooserwidget.c
gtk/gtkarrow.c
gtk/gtkaspectframe.c
-gtk/gtkanimationdescription.c
gtk/gtkassistant.c
gtk/gtkbbox.c
gtk/gtkbin.c
gtk/gtkcolorseldialog.c
gtk/gtkcombobox.c
gtk/gtkcontainer.c
+gtk/gtkcssprovider.c
gtk/gtkcustompaperunixdialog.c
gtk/gtkdialog.c
gtk/gtkdnd.c
gtk/gtkdnd-quartz.c
gtk/gtkdrawingarea.c
gtk/gtkeditable.c
-gtk/gtkentry.c
gtk/gtkentrybuffer.c
+gtk/gtkentry.c
gtk/gtkentrycompletion.c
gtk/gtkeventbox.c
gtk/gtkexpander.c
gtk/gtknotebook.c
gtk/gtknumerableicon.c
gtk/gtkorientable.c
+gtk/gtkoverlay.c
gtk/gtkpagesetup.c
gtk/gtkpagesetupunixdialog.c
gtk/gtkpaned.c
gtk/gtkplug.c
gtk/gtkprintbackend.c
gtk/gtkprinter.c
+gtk/gtkprinteroption.c
gtk/gtkprinteroptionwidget.c
gtk/gtkprintjob.c
gtk/gtkprintoperation.c
modules/input/imviqr.c
modules/input/imxim.c
modules/printbackends/cups/gtkprintbackendcups.c
+modules/printbackends/cups/gtkprintercups.c
modules/printbackends/file/gtkprintbackendfile.c
modules/printbackends/lpr/gtkprintbackendlpr.c
modules/printbackends/papi/gtkprintbackendpapi.c
# Pablo Gonzalo del Campo <pablodc@bigfoot.com>, 2002-2003.
# Juan Manuel García Molina <juanma_gm@wanadoo.es>, 2003.
# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2003 - 2006.
-# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011.
# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2010, 2011.
+# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: gtk+-properties.master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk"
"%2b&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2011-06-10 12:14+0000\n"
-"PO-Revision-Date: 2011-06-11 11:31+0200\n"
-"Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
-"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
+"POT-Creation-Date: 2011-07-10 12:46+0000\n"
+"PO-Revision-Date: 2011-07-10 21:03+0200\n"
+"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
+"Language-Team: Español <gnome-es-list@gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bits\n"
+"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: KBabel 1.11.4\n"
#: ../gdk/gdkapplaunchcontext.c:129 ../gdk/gdkcursor.c:136
msgid "Cursor"
msgstr "Cursor"
-#: ../gdk/x11/gdkdevice-xi.c:140 ../gdk/x11/gdkdevice-xi.c:141
-#: ../gdk/x11/gdkdevice-xi2.c:130
-msgid "Device ID"
-msgstr "ID del dispositivo"
-
-#: ../gdk/x11/gdkdevice-xi2.c:131
-msgid "Device identifier"
-msgstr "Identificador del dispositivo"
-
#: ../gdk/x11/gdkdevicemanager-xi2.c:119
msgid "Opcode"
msgstr "Código de operación"
msgid "Event base for XInput events"
msgstr "Base de eventos para los eventos XInput"
+#: ../gdk/x11/gdkdevice-xi2.c:130 ../gdk/x11/gdkdevice-xi.c:140
+#: ../gdk/x11/gdkdevice-xi.c:141
+msgid "Device ID"
+msgstr "ID del dispositivo"
+
+#: ../gdk/x11/gdkdevice-xi2.c:131
+msgid "Device identifier"
+msgstr "Identificador del dispositivo"
+
#: ../gtk/gtkaboutdialog.c:275
msgid "Program name"
msgstr "Nombre del programa"
msgstr "El widget que monitorizar para cambios en el acelerador"
#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125
-#: ../gtk/gtktextmark.c:126 ../gtk/gtkthemingengine.c:257
+#: ../gtk/gtktextmark.c:126 ../gtk/gtkthemingengine.c:258
msgid "Name"
msgstr "Nombre"
msgid "A unique name for the action."
msgstr "Un nombre único para la acción."
-#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:289
-#: ../gtk/gtkframe.c:170 ../gtk/gtklabel.c:742 ../gtk/gtkmenuitem.c:381
-#: ../gtk/gtktoolbutton.c:232 ../gtk/gtktoolitemgroup.c:1591
+#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:228 ../gtk/gtkexpander.c:290
+#: ../gtk/gtkframe.c:171 ../gtk/gtklabel.c:744 ../gtk/gtkmenuitem.c:384
+#: ../gtk/gtktoolbutton.c:232 ../gtk/gtktoolitemgroup.c:1592
msgid "Label"
msgstr "Etiqueta"
msgstr "GIcon"
#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:235
-#: ../gtk/gtkimage.c:328 ../gtk/gtkstatusicon.c:276
+#: ../gtk/gtkimage.c:330 ../gtk/gtkstatusicon.c:276
msgid "The GIcon being displayed"
msgstr "El icono mostrado"
#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:200
-#: ../gtk/gtkimage.c:310 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:259
+#: ../gtk/gtkimage.c:312 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:259
#: ../gtk/gtkwindow.c:724
msgid "Icon Name"
msgstr "Nombre del icono"
#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:201
-#: ../gtk/gtkimage.c:311 ../gtk/gtkstatusicon.c:260
+#: ../gtk/gtkimage.c:313 ../gtk/gtkstatusicon.c:260
msgid "The name of the icon from the icon theme"
msgstr "El nombre del icono del tema de iconos"
"acción se ocultan."
#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235
-#: ../gtk/gtkcellrenderer.c:290 ../gtk/gtkwidget.c:972
+#: ../gtk/gtkcellrenderer.c:290 ../gtk/gtkwidget.c:988
msgid "Sensitive"
msgstr "Sensible"
#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242
#: ../gtk/gtkstatusicon.c:310 ../gtk/gtktreeviewcolumn.c:248
-#: ../gtk/gtkwidget.c:965
+#: ../gtk/gtkwidget.c:981
msgid "Visible"
msgstr "Visible"
"relacionadas"
#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:138
-#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:382
+#: ../gtk/gtkscalebutton.c:218 ../gtk/gtkspinbutton.c:384
msgid "Value"
msgstr "Valor"
msgid "Horizontal alignment"
msgstr "Alineación horizontal"
-#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278
+#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:279
msgid ""
"Horizontal position of child in available space. 0.0 is left aligned, 1.0 is "
"right aligned"
msgid "Vertical alignment"
msgstr "Alineación vertical"
-#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297
+#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:298
msgid ""
"Vertical position of child in available space. 0.0 is top aligned, 1.0 is "
"bottom aligned"
msgid "The default text appearing when there are no applications"
msgstr "El texto predeterminado que aparece cuando no hay aplicaciones"
-#: ../gtk/gtkarrow.c:110
+#: ../gtk/gtkarrow.c:112
msgid "Arrow direction"
msgstr "Dirección de la flecha"
-#: ../gtk/gtkarrow.c:111
+#: ../gtk/gtkarrow.c:113
msgid "The direction the arrow should point"
msgstr "La dirección a la que la flecha apunta"
-#: ../gtk/gtkarrow.c:119
+#: ../gtk/gtkarrow.c:121
msgid "Arrow shadow"
msgstr "Sombra de la flecha"
-#: ../gtk/gtkarrow.c:120
+#: ../gtk/gtkarrow.c:122
msgid "Appearance of the shadow surrounding the arrow"
msgstr "Apariencia de la sombra que rodea la flecha"
-#: ../gtk/gtkarrow.c:127 ../gtk/gtkcombobox.c:985 ../gtk/gtkmenu.c:797
-#: ../gtk/gtkmenuitem.c:444
+#: ../gtk/gtkarrow.c:129 ../gtk/gtkcombobox.c:986 ../gtk/gtkmenu.c:798
+#: ../gtk/gtkmenuitem.c:447
msgid "Arrow Scaling"
msgstr "Escalado de flechas"
-#: ../gtk/gtkarrow.c:128
+#: ../gtk/gtkarrow.c:130
msgid "Amount of space used up by arrow"
msgstr "Cantidad de espacio ocupado por flecha"
-#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1160
+#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1176
msgid "Horizontal Alignment"
msgstr "Alineación horizontal"
msgid "X alignment of the child"
msgstr "Alineación X del hijo"
-#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1176
+#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1192
msgid "Vertical Alignment"
msgstr "Alineación vertical"
msgid "Force aspect ratio to match that of the frame's child"
msgstr "Forzar la proporción para que coincida con el hijo del marco"
-#: ../gtk/gtkassistant.c:310
+#: ../gtk/gtkassistant.c:311
msgid "Header Padding"
msgstr "Separación de la cabecera"
-#: ../gtk/gtkassistant.c:311
+#: ../gtk/gtkassistant.c:312
msgid "Number of pixels around the header."
msgstr "Número de píxeles alrededor de la cabecera."
-#: ../gtk/gtkassistant.c:318
+#: ../gtk/gtkassistant.c:319
msgid "Content Padding"
msgstr "Separación del contenido"
-#: ../gtk/gtkassistant.c:319
+#: ../gtk/gtkassistant.c:320
msgid "Number of pixels around the content pages."
msgstr "Número de píxeles alrededor de las páginas de contenidos."
-#: ../gtk/gtkassistant.c:335
+#: ../gtk/gtkassistant.c:336
msgid "Page type"
msgstr "Tipo de página"
-#: ../gtk/gtkassistant.c:336
+#: ../gtk/gtkassistant.c:337
msgid "The type of the assistant page"
msgstr "El tipo de página del asistente"
-#: ../gtk/gtkassistant.c:351
+#: ../gtk/gtkassistant.c:352
msgid "Page title"
msgstr "Título de página"
-#: ../gtk/gtkassistant.c:352
+#: ../gtk/gtkassistant.c:353
msgid "The title of the assistant page"
msgstr "El título de la página del asistente"
-#: ../gtk/gtkassistant.c:369
+#: ../gtk/gtkassistant.c:370
msgid "Header image"
msgstr "Imagen de la cabecera"
-#: ../gtk/gtkassistant.c:370
+#: ../gtk/gtkassistant.c:371
msgid "Header image for the assistant page"
msgstr "Imagen de la cabecera para la página del asistente"
-#: ../gtk/gtkassistant.c:386
+#: ../gtk/gtkassistant.c:387
msgid "Sidebar image"
msgstr "Imagen de barra lateral"
-#: ../gtk/gtkassistant.c:387
+#: ../gtk/gtkassistant.c:388
msgid "Sidebar image for the assistant page"
msgstr "Imagen de barra lateral para la página del asistente"
-#: ../gtk/gtkassistant.c:403
+#: ../gtk/gtkassistant.c:404
msgid "Page complete"
msgstr "Página completa"
-#: ../gtk/gtkassistant.c:404
+#: ../gtk/gtkassistant.c:405
msgid "Whether all required fields on the page have been filled out"
msgstr "Indica si todos los campos requeridos en la página se han rellenado"
msgid "If TRUE, the child will not be subject to homogeneous sizing"
msgstr "Si es TRUE, el hijo no será objeto de tamaño homogéneo"
-#: ../gtk/gtkbox.c:243 ../gtk/gtkcellareabox.c:317 ../gtk/gtkexpander.c:313
+#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:317 ../gtk/gtkexpander.c:314
#: ../gtk/gtkiconview.c:644 ../gtk/gtktreeviewcolumn.c:283
msgid "Spacing"
msgstr "Espaciado"
-#: ../gtk/gtkbox.c:244
+#: ../gtk/gtkbox.c:242
msgid "The amount of space between children"
msgstr "La cantidad de espacio entre hijos"
-#: ../gtk/gtkbox.c:253 ../gtk/gtktable.c:227 ../gtk/gtktoolbar.c:554
-#: ../gtk/gtktoolitemgroup.c:1644
+#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:227 ../gtk/gtktoolbar.c:561
+#: ../gtk/gtktoolitemgroup.c:1645
msgid "Homogeneous"
msgstr "Homogéneo"
-#: ../gtk/gtkbox.c:254
+#: ../gtk/gtkbox.c:252
msgid "Whether the children should all be the same size"
msgstr "Indica si todos los hijos deben ser del mismo tamaño"
-#: ../gtk/gtkbox.c:274 ../gtk/gtkcellareabox.c:337 ../gtk/gtktoolbar.c:546
-#: ../gtk/gtktoolitemgroup.c:1651 ../gtk/gtktoolpalette.c:1068
+#: ../gtk/gtkbox.c:272 ../gtk/gtkcellareabox.c:337 ../gtk/gtktoolbar.c:553
+#: ../gtk/gtktoolitemgroup.c:1652 ../gtk/gtktoolpalette.c:1070
#: ../gtk/gtktreeviewcolumn.c:339
msgid "Expand"
msgstr "Expandir"
-#: ../gtk/gtkbox.c:275
+#: ../gtk/gtkbox.c:273
msgid "Whether the child should receive extra space when the parent grows"
msgstr "Indica si el hijo debe recibir espacio extra cuando el padre crece"
-#: ../gtk/gtkbox.c:291 ../gtk/gtktoolitemgroup.c:1658
+#: ../gtk/gtkbox.c:289 ../gtk/gtktoolitemgroup.c:1659
msgid "Fill"
msgstr "Relleno"
-#: ../gtk/gtkbox.c:292
+#: ../gtk/gtkbox.c:290
msgid ""
"Whether extra space given to the child should be allocated to the child or "
"used as padding"
"Indica si el espacio extra dado al hijo debe ser reservado para el en el "
"hijo o usado como separación"
-#: ../gtk/gtkbox.c:299 ../gtk/gtktrayicon-x11.c:169
+#: ../gtk/gtkbox.c:297 ../gtk/gtktrayicon-x11.c:169
msgid "Padding"
msgstr "Separación"
-#: ../gtk/gtkbox.c:300
+#: ../gtk/gtkbox.c:298
msgid "Extra space to put between the child and its neighbors, in pixels"
msgstr "Espacio extra para colocar entre el hijo y sus vecinos, en píxeles"
-#: ../gtk/gtkbox.c:306
+#: ../gtk/gtkbox.c:304
msgid "Pack type"
msgstr "Tipo de empaquetado"
-#: ../gtk/gtkbox.c:307
+#: ../gtk/gtkbox.c:305
msgid ""
"A GtkPackType indicating whether the child is packed with reference to the "
"start or end of the parent"
"Un GtkPackType que indica si el hijo está empaquetado con referencia al "
"inicio o el final del padre"
-#: ../gtk/gtkbox.c:313 ../gtk/gtknotebook.c:770 ../gtk/gtkpaned.c:349
-#: ../gtk/gtktoolitemgroup.c:1672
+#: ../gtk/gtkbox.c:311 ../gtk/gtknotebook.c:771 ../gtk/gtkpaned.c:349
+#: ../gtk/gtktoolitemgroup.c:1673
msgid "Position"
msgstr "Posición"
-#: ../gtk/gtkbox.c:314 ../gtk/gtknotebook.c:771
+#: ../gtk/gtkbox.c:312 ../gtk/gtknotebook.c:772
msgid "The index of the child in the parent"
msgstr "El índice del hijo en el padre"
msgid "The translation domain used by gettext"
msgstr "El dominio de traducción que usa gettext"
-#: ../gtk/gtkbutton.c:228
+#: ../gtk/gtkbutton.c:229
msgid ""
"Text of the label widget inside the button, if the button contains a label "
"widget"
"Texto del etiqueta del widget dentro del botón, si el botón contiene una "
"etiqueta del widget"
-#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:297 ../gtk/gtklabel.c:763
-#: ../gtk/gtkmenuitem.c:396 ../gtk/gtktoolbutton.c:239
+#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:298 ../gtk/gtklabel.c:765
+#: ../gtk/gtkmenuitem.c:399 ../gtk/gtktoolbutton.c:239
msgid "Use underline"
msgstr "Utilizar subrayado"
-#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:298 ../gtk/gtklabel.c:764
-#: ../gtk/gtkmenuitem.c:397
+#: ../gtk/gtkbutton.c:237 ../gtk/gtkexpander.c:299 ../gtk/gtklabel.c:766
+#: ../gtk/gtkmenuitem.c:400
msgid ""
"If set, an underline in the text indicates the next character should be used "
"for the mnemonic accelerator key"
"Si se establece, un subrayado en el texto indica que el siguiente carácter "
"se utiliza como el nemotécnico de la teclas aceleradora"
-#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:175
+#: ../gtk/gtkbutton.c:244 ../gtk/gtkimagemenuitem.c:175
msgid "Use stock"
msgstr "Usar inventario"
-#: ../gtk/gtkbutton.c:244
+#: ../gtk/gtkbutton.c:245
msgid ""
"If set, the label is used to pick a stock item instead of being displayed"
msgstr ""
"Si se selecciona, la etiqueta se utiliza para tomar un elemento del "
"inventario en vez de para mostrarse"
-#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791
+#: ../gtk/gtkbutton.c:252 ../gtk/gtkcombobox.c:792
#: ../gtk/gtkfilechooserbutton.c:426
msgid "Focus on click"
msgstr "Enfocar al pulsar"
-#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:427
+#: ../gtk/gtkbutton.c:253 ../gtk/gtkfilechooserbutton.c:427
msgid "Whether the button grabs focus when it is clicked with the mouse"
msgstr "Indica si el botón obtiene el foco al ser pulsado con el ratón"
-#: ../gtk/gtkbutton.c:259
+#: ../gtk/gtkbutton.c:260
msgid "Border relief"
msgstr "Relieve del borde"
-#: ../gtk/gtkbutton.c:260
+#: ../gtk/gtkbutton.c:261
msgid "The border relief style"
msgstr "Estilo del relieve del borde"
-#: ../gtk/gtkbutton.c:277
+#: ../gtk/gtkbutton.c:278
msgid "Horizontal alignment for child"
msgstr "Alineación horizontal para el hijo"
-#: ../gtk/gtkbutton.c:296
+#: ../gtk/gtkbutton.c:297
msgid "Vertical alignment for child"
msgstr "Alineación vertical para el hijo"
-#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:160
+#: ../gtk/gtkbutton.c:314 ../gtk/gtkimagemenuitem.c:160
msgid "Image widget"
msgstr "Widget de imagen"
-#: ../gtk/gtkbutton.c:314
+#: ../gtk/gtkbutton.c:315
msgid "Child widget to appear next to the button text"
msgstr "Widget hijo que aparece al lado del texto del botón"
-#: ../gtk/gtkbutton.c:328
+#: ../gtk/gtkbutton.c:329
msgid "Image position"
msgstr "Posición de la imagen"
-#: ../gtk/gtkbutton.c:329
+#: ../gtk/gtkbutton.c:330
msgid "The position of the image relative to the text"
msgstr "Posición de la imagen relativa al texto"
-#: ../gtk/gtkbutton.c:449
+#: ../gtk/gtkbutton.c:450
msgid "Default Spacing"
msgstr "Espaciado predeterminado"
-#: ../gtk/gtkbutton.c:450
+#: ../gtk/gtkbutton.c:451
msgid "Extra space to add for GTK_CAN_DEFAULT buttons"
msgstr "Espacio adicional que añadir para los botones CAN_DEFAULT"
-#: ../gtk/gtkbutton.c:464
+#: ../gtk/gtkbutton.c:465
msgid "Default Outside Spacing"
msgstr "Espaciado exterior predeterminado"
-#: ../gtk/gtkbutton.c:465
+#: ../gtk/gtkbutton.c:466
msgid ""
"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside "
"the border"
"Espacio adicional que añadir para los botones CAN_DEFAULT que se dibuja "
"siempre fuera del borde"
-#: ../gtk/gtkbutton.c:470
+#: ../gtk/gtkbutton.c:471
msgid "Child X Displacement"
msgstr "Desplazamiento X del hijo"
-#: ../gtk/gtkbutton.c:471
+#: ../gtk/gtkbutton.c:472
msgid ""
"How far in the x direction to move the child when the button is depressed"
msgstr ""
"Cuánta distancia en la dirección x se mueve el hijo cuando se suelta el botón"
-#: ../gtk/gtkbutton.c:478
+#: ../gtk/gtkbutton.c:479
msgid "Child Y Displacement"
msgstr "Desplazamiento Y del hijo"
-#: ../gtk/gtkbutton.c:479
+#: ../gtk/gtkbutton.c:480
msgid ""
"How far in the y direction to move the child when the button is depressed"
msgstr ""
"Cuánta distancia en la dirección y se mueve el hijo cuando se suelta el botón"
-#: ../gtk/gtkbutton.c:495
+#: ../gtk/gtkbutton.c:496
msgid "Displace focus"
msgstr "Desplazar el foco"
-#: ../gtk/gtkbutton.c:496
+#: ../gtk/gtkbutton.c:497
msgid ""
"Whether the child_displacement_x/_y properties should also affect the focus "
"rectangle"
"Indica si las propiedades child_displacement_x/_y deben afectar también al "
"rectángulo del foco"
-#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:791 ../gtk/gtkentry.c:1866
+#: ../gtk/gtkbutton.c:510 ../gtk/gtkentry.c:794 ../gtk/gtkentry.c:1869
msgid "Inner Border"
msgstr "Borde interior"
-#: ../gtk/gtkbutton.c:510
+#: ../gtk/gtkbutton.c:511
msgid "Border between button edges and child."
msgstr "Borde entre los bordes del botón y el hijo."
-#: ../gtk/gtkbutton.c:523
+#: ../gtk/gtkbutton.c:524
msgid "Image spacing"
msgstr "Espaciado de imagen"
-#: ../gtk/gtkbutton.c:524
+#: ../gtk/gtkbutton.c:525
msgid "Spacing in pixels between the image and label"
msgstr "Espaciado en píxeles entre la imagen y la etiqueta"
-#: ../gtk/gtkcalendar.c:467
+#: ../gtk/gtkcalendar.c:471
msgid "Year"
msgstr "Año"
-#: ../gtk/gtkcalendar.c:468
+#: ../gtk/gtkcalendar.c:472
msgid "The selected year"
msgstr "El año seleccionado"
-#: ../gtk/gtkcalendar.c:481
+#: ../gtk/gtkcalendar.c:485
msgid "Month"
msgstr "Mes"
-#: ../gtk/gtkcalendar.c:482
+#: ../gtk/gtkcalendar.c:486
msgid "The selected month (as a number between 0 and 11)"
msgstr "El mes seleccionado (como un número entre 0 y 11)"
-#: ../gtk/gtkcalendar.c:496
+#: ../gtk/gtkcalendar.c:500
msgid "Day"
msgstr "Día"
-#: ../gtk/gtkcalendar.c:497
+#: ../gtk/gtkcalendar.c:501
msgid ""
"The selected day (as a number between 1 and 31, or 0 to unselect the "
"currently selected day)"
"El día seleccionado (como un número entre 1 y 31, o 0 para deseleccionar el "
"día actualmente seleccionado)"
-#: ../gtk/gtkcalendar.c:511
+#: ../gtk/gtkcalendar.c:515
msgid "Show Heading"
msgstr "Mostrar cabecera"
-#: ../gtk/gtkcalendar.c:512
+#: ../gtk/gtkcalendar.c:516
msgid "If TRUE, a heading is displayed"
msgstr "Si es TRUE, se muestra una cabecera"
-#: ../gtk/gtkcalendar.c:526
+#: ../gtk/gtkcalendar.c:530
msgid "Show Day Names"
msgstr "Mostrar nombres de los días"
-#: ../gtk/gtkcalendar.c:527
+#: ../gtk/gtkcalendar.c:531
msgid "If TRUE, day names are displayed"
msgstr "Si es TRUE, se muestran los nombres de los días"
-#: ../gtk/gtkcalendar.c:540
+#: ../gtk/gtkcalendar.c:544
msgid "No Month Change"
msgstr "Sin cambio de mes"
-#: ../gtk/gtkcalendar.c:541
+#: ../gtk/gtkcalendar.c:545
msgid "If TRUE, the selected month cannot be changed"
msgstr "Si es TRUE, el mes seleccionado no puede cambiarse"
-#: ../gtk/gtkcalendar.c:555
+#: ../gtk/gtkcalendar.c:559
msgid "Show Week Numbers"
msgstr "Mostrar números de las semanas"
-#: ../gtk/gtkcalendar.c:556
+#: ../gtk/gtkcalendar.c:560
msgid "If TRUE, week numbers are displayed"
msgstr "Si es TRUE, se muestran los números de las semanas"
-#: ../gtk/gtkcalendar.c:571
+#: ../gtk/gtkcalendar.c:575
msgid "Details Width"
msgstr "Detalles de la anchura"
-#: ../gtk/gtkcalendar.c:572
+#: ../gtk/gtkcalendar.c:576
msgid "Details width in characters"
msgstr "Detalla la anchura en los caracteres"
-#: ../gtk/gtkcalendar.c:587
+#: ../gtk/gtkcalendar.c:591
msgid "Details Height"
msgstr "Detalles de la altura"
-#: ../gtk/gtkcalendar.c:588
+#: ../gtk/gtkcalendar.c:592
msgid "Details height in rows"
msgstr "Detalla la altura en las filas"
-#: ../gtk/gtkcalendar.c:604
+#: ../gtk/gtkcalendar.c:608
msgid "Show Details"
msgstr "Mostrar detalles"
-#: ../gtk/gtkcalendar.c:605
+#: ../gtk/gtkcalendar.c:609
msgid "If TRUE, details are shown"
msgstr "Si es TRUE, se muestran los detalles"
-#: ../gtk/gtkcalendar.c:617
+#: ../gtk/gtkcalendar.c:621
msgid "Inner border"
msgstr "Borde interior"
-#: ../gtk/gtkcalendar.c:618
+#: ../gtk/gtkcalendar.c:622
msgid "Inner border space"
msgstr "Espacio del borde interior"
-#: ../gtk/gtkcalendar.c:629
+#: ../gtk/gtkcalendar.c:633
msgid "Vertical separation"
msgstr "Separación vertical"
-#: ../gtk/gtkcalendar.c:630
+#: ../gtk/gtkcalendar.c:634
msgid "Space between day headers and main area"
msgstr "Espacio entre las cabeceras del día y el área principal"
-#: ../gtk/gtkcalendar.c:641
+#: ../gtk/gtkcalendar.c:645
msgid "Horizontal separation"
msgstr "Separación horizontal"
-#: ../gtk/gtkcalendar.c:642
+#: ../gtk/gtkcalendar.c:646
msgid "Space between week headers and main area"
msgstr "Espacio entre las cabeceras de la semana y el área principal"
msgid "The widget currently editing the edited cell"
msgstr "El widget que actualmente está editando la celda editada"
-#: ../gtk/gtkcellareacontext.c:127
+#: ../gtk/gtkcellareacontext.c:119
msgid "Area"
msgstr "Área"
-#: ../gtk/gtkcellareacontext.c:128
+#: ../gtk/gtkcellareacontext.c:120
msgid "The Cell Area this context was created for"
msgstr "La célula de área para la que se creó este contexto"
-#: ../gtk/gtkcellareacontext.c:144 ../gtk/gtkcellareacontext.c:163
+#: ../gtk/gtkcellareacontext.c:136 ../gtk/gtkcellareacontext.c:155
#: ../gtk/gtktreeviewcolumn.c:311
msgid "Minimum Width"
msgstr "Anchura mínimo"
-#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164
+#: ../gtk/gtkcellareacontext.c:137 ../gtk/gtkcellareacontext.c:156
msgid "Minimum cached width"
msgstr "Anchura mínima cacheada"
-#: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201
+#: ../gtk/gtkcellareacontext.c:174 ../gtk/gtkcellareacontext.c:193
msgid "Minimum Height"
msgstr "Altura mínima"
-#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202
+#: ../gtk/gtkcellareacontext.c:175 ../gtk/gtkcellareacontext.c:194
msgid "Minimum cached height"
msgstr "Altura mínima cacheada"
msgstr ""
"Una columna en el modelo de origen de datos del que se obtienen las cadenas"
-#: ../gtk/gtkcellrenderercombo.c:171 ../gtk/gtkcombobox.c:858
+#: ../gtk/gtkcellrenderercombo.c:171 ../gtk/gtkcombobox.c:859
msgid "Has Entry"
msgstr "Tiene entrada"
msgid "Pixbuf for closed expander"
msgstr "El pixbuf para el expansor cerrado"
-#: ../gtk/gtkcellrendererpixbuf.c:164 ../gtk/gtkimage.c:252
+#: ../gtk/gtkcellrendererpixbuf.c:164 ../gtk/gtkimage.c:254
#: ../gtk/gtkstatusicon.c:251
msgid "Stock ID"
msgstr "ID del inventario"
msgid "Whether the rendered pixbuf should be colorized according to the state"
msgstr "Indica si el pixbuf renderizado debe colorearse de acuerdo al estado"
-#: ../gtk/gtkcellrendererpixbuf.c:234 ../gtk/gtkimage.c:327
+#: ../gtk/gtkcellrendererpixbuf.c:234 ../gtk/gtkimage.c:329
#: ../gtk/gtkwindow.c:701
msgid "Icon"
msgstr "Icono"
msgstr "Valor de la barra de progreso"
#: ../gtk/gtkcellrendererprogress.c:156 ../gtk/gtkcellrenderertext.c:254
-#: ../gtk/gtkentry.c:834 ../gtk/gtkentrybuffer.c:352
-#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:174
+#: ../gtk/gtkentrybuffer.c:352 ../gtk/gtkentry.c:837
+#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:176
#: ../gtk/gtktextbuffer.c:221
msgid "Text"
msgstr "Texto"
msgid "The vertical text alignment, from 0 (top) to 1 (bottom)."
msgstr "La alineación vertical del texto, desde 0 (superior) a 1 (inferior)."
-#: ../gtk/gtkcellrendererprogress.c:226 ../gtk/gtkprogressbar.c:150
-#: ../gtk/gtkrange.c:425
+#: ../gtk/gtkcellrendererprogress.c:226 ../gtk/gtkprogressbar.c:152
+#: ../gtk/gtkrange.c:426
msgid "Inverted"
msgstr "Invertido"
-#: ../gtk/gtkcellrendererprogress.c:227 ../gtk/gtkprogressbar.c:151
+#: ../gtk/gtkcellrendererprogress.c:227 ../gtk/gtkprogressbar.c:153
msgid "Invert the direction in which the progress bar grows"
msgstr "Invertir la dirección en la que aumentan las barras de progreso"
-#: ../gtk/gtkcellrendererspin.c:113 ../gtk/gtkrange.c:417
-#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:321
+#: ../gtk/gtkcellrendererspin.c:113 ../gtk/gtkrange.c:418
+#: ../gtk/gtkscalebutton.c:237 ../gtk/gtkspinbutton.c:323
msgid "Adjustment"
msgstr "Ajuste"
-#: ../gtk/gtkcellrendererspin.c:114 ../gtk/gtkspinbutton.c:322
+#: ../gtk/gtkcellrendererspin.c:114 ../gtk/gtkspinbutton.c:324
msgid "The adjustment that holds the value of the spin button"
msgstr "El ajuste que mantiene el valor del botón incrementable"
msgid "Climb rate"
msgstr "Tasa de subida"
-#: ../gtk/gtkcellrendererspin.c:130 ../gtk/gtkspinbutton.c:330
+#: ../gtk/gtkcellrendererspin.c:130 ../gtk/gtkspinbutton.c:332
msgid "The acceleration rate when you hold down a button"
msgstr "La tasa de aceleración cuando mantiene apretado un botón"
-#: ../gtk/gtkcellrendererspin.c:143 ../gtk/gtkscale.c:252
-#: ../gtk/gtkspinbutton.c:339
+#: ../gtk/gtkcellrendererspin.c:143 ../gtk/gtkscale.c:254
+#: ../gtk/gtkspinbutton.c:341
msgid "Digits"
msgstr "Dígitos"
-#: ../gtk/gtkcellrendererspin.c:144 ../gtk/gtkspinbutton.c:340
+#: ../gtk/gtkcellrendererspin.c:144 ../gtk/gtkspinbutton.c:342
msgid "The number of decimal places to display"
msgstr "El número de lugares decimales que mostrar"
-#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:122
-#: ../gtk/gtkmenu.c:587 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:801
-#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:177
+#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:123
+#: ../gtk/gtkmenu.c:588 ../gtk/gtkspinner.c:115 ../gtk/gtkswitch.c:784
+#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:178
#: ../gtk/gtktoggletoolbutton.c:127
msgid "Active"
msgstr "Activo"
msgid "Marked up text to render"
msgstr "Texto resaltado a renderizar"
-#: ../gtk/gtkcellrenderertext.c:270 ../gtk/gtklabel.c:749
+#: ../gtk/gtkcellrenderertext.c:270 ../gtk/gtklabel.c:751
msgid "Attributes"
msgstr "Atributos"
msgid "Foreground color as a GdkRGBA"
msgstr "Color de primer plano como GdkRGBA"
-#: ../gtk/gtkcellrenderertext.c:349 ../gtk/gtkentry.c:758
-#: ../gtk/gtktexttag.c:278 ../gtk/gtktextview.c:687
+#: ../gtk/gtkcellrenderertext.c:349 ../gtk/gtkentry.c:761
+#: ../gtk/gtktexttag.c:278 ../gtk/gtktextview.c:686
msgid "Editable"
msgstr "Editable"
#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtktexttag.c:279
-#: ../gtk/gtktextview.c:688
+#: ../gtk/gtktextview.c:687
msgid "Whether the text can be modified by the user"
msgstr "Indica si el texto puede modificarse por el usuario"
"como una ayuda cuando está renderizando el texto. Si no comprende este "
"parámetro probablemente no lo necesite"
-#: ../gtk/gtkcellrenderertext.c:499 ../gtk/gtklabel.c:874
-#: ../gtk/gtkprogressbar.c:214
+#: ../gtk/gtkcellrenderertext.c:499 ../gtk/gtklabel.c:876
+#: ../gtk/gtkprogressbar.c:216
msgid "Ellipsize"
msgstr "Elipsis"
"celda no tiene espacio suficiente para mostrar la cadena completa"
#: ../gtk/gtkcellrenderertext.c:519 ../gtk/gtkfilechooserbutton.c:454
-#: ../gtk/gtklabel.c:895
+#: ../gtk/gtklabel.c:897
msgid "Width In Characters"
msgstr "Anchura en caracteres"
-#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtklabel.c:896
+#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtklabel.c:898
msgid "The desired width of the label, in characters"
msgstr "La anchura deseada de la etiqueta, en caracteres"
-#: ../gtk/gtkcellrenderertext.c:544 ../gtk/gtklabel.c:956
+#: ../gtk/gtkcellrenderertext.c:544 ../gtk/gtklabel.c:958
msgid "Maximum Width In Characters"
msgstr "Anchura máxima en caracteres"
"Cómo romper la cadena en líneas múltiples, si el renderizador de la celda no "
"tiene suficiente espacio para mostrar la cadena completa"
-#: ../gtk/gtkcellrenderertext.c:583 ../gtk/gtkcombobox.c:680
+#: ../gtk/gtkcellrenderertext.c:583 ../gtk/gtkcombobox.c:681
msgid "Wrap width"
msgstr "Ajustar anchura"
msgstr "Tamaño del indicador"
#: ../gtk/gtkcellrenderertoggle.c:173 ../gtk/gtkcheckbutton.c:93
-#: ../gtk/gtkcheckmenuitem.c:146
+#: ../gtk/gtkcheckmenuitem.c:147
msgid "Size of check or radio indicator"
msgstr "Tamaño del indicador de radio o de la casilla"
msgid "The model for cell view"
msgstr "El modelo para la vista de celda"
-#: ../gtk/gtkcellview.c:246 ../gtk/gtkcombobox.c:944
+#: ../gtk/gtkcellview.c:246 ../gtk/gtkcombobox.c:945
#: ../gtk/gtkentrycompletion.c:448 ../gtk/gtkiconview.c:769
#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:427
msgid "Cell Area"
msgstr "Área de la celda"
-#: ../gtk/gtkcellview.c:247 ../gtk/gtkcombobox.c:945
+#: ../gtk/gtkcellview.c:247 ../gtk/gtkcombobox.c:946
#: ../gtk/gtkentrycompletion.c:449 ../gtk/gtkiconview.c:770
#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:428
msgid "The GtkCellArea used to layout cells"
msgstr ""
"Indica si se debe solicitar espacio suficiente para cada fila en el modelo"
-#: ../gtk/gtkcheckbutton.c:92 ../gtk/gtkcheckmenuitem.c:145
+#: ../gtk/gtkcheckbutton.c:92 ../gtk/gtkcheckmenuitem.c:146
msgid "Indicator Size"
msgstr "Tamaño del indicador"
-#: ../gtk/gtkcheckbutton.c:100 ../gtk/gtkexpander.c:363
+#: ../gtk/gtkcheckbutton.c:100 ../gtk/gtkexpander.c:364
msgid "Indicator Spacing"
msgstr "Espacio del indicador"
msgid "Spacing around check or radio indicator"
msgstr "Espacio que rodea el indicador de radio o casilla"
-#: ../gtk/gtkcheckmenuitem.c:123
+#: ../gtk/gtkcheckmenuitem.c:124
msgid "Whether the menu item is checked"
msgstr "Indica si el elemento de menú está marcado"
-#: ../gtk/gtkcheckmenuitem.c:130 ../gtk/gtktogglebutton.c:185
+#: ../gtk/gtkcheckmenuitem.c:131 ../gtk/gtktogglebutton.c:186
msgid "Inconsistent"
msgstr "Inconsistente"
-#: ../gtk/gtkcheckmenuitem.c:131
+#: ../gtk/gtkcheckmenuitem.c:132
msgid "Whether to display an \"inconsistent\" state"
msgstr "Indica si se debe mostrar un estado «inconsistente»"
-#: ../gtk/gtkcheckmenuitem.c:138
+#: ../gtk/gtkcheckmenuitem.c:139
msgid "Draw as radio menu item"
msgstr "Dibujar como un elemento de menú de radio"
-#: ../gtk/gtkcheckmenuitem.c:139
+#: ../gtk/gtkcheckmenuitem.c:140
msgid "Whether the menu item looks like a radio menu item"
msgstr ""
"Indica si la apariencia del elemento de menú es como un elemento de menú de "
msgid "The title of the color selection dialog"
msgstr "El título del diálogo de selección del color"
-#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:337
+#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:336
msgid "Current Color"
msgstr "Color actual"
msgid "The selected color"
msgstr "El color seleccionado"
-#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:344
+#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:343
msgid "Current Alpha"
msgstr "Alfa actual"
msgid "The selected RGBA color"
msgstr "El color RGBA seleccionado"
-#: ../gtk/gtkcolorsel.c:323
+#: ../gtk/gtkcolorsel.c:322
msgid "Has Opacity Control"
msgstr "Tiene control de opacidad"
-#: ../gtk/gtkcolorsel.c:324
+#: ../gtk/gtkcolorsel.c:323
msgid "Whether the color selector should allow setting opacity"
msgstr "Indica si el selector de color permite seleccionar la opacidad"
-#: ../gtk/gtkcolorsel.c:330
+#: ../gtk/gtkcolorsel.c:329
msgid "Has palette"
msgstr "Tiene paleta"
-#: ../gtk/gtkcolorsel.c:331
+#: ../gtk/gtkcolorsel.c:330
msgid "Whether a palette should be used"
msgstr "Indica si se debe usar una paleta"
-#: ../gtk/gtkcolorsel.c:338
+#: ../gtk/gtkcolorsel.c:337
msgid "The current color"
msgstr "El color actual"
-#: ../gtk/gtkcolorsel.c:345
+#: ../gtk/gtkcolorsel.c:344
msgid "The current opacity value (0 fully transparent, 65535 fully opaque)"
msgstr ""
"El valor de opacidad actual (0 es completamente transparente, 65535 es "
"completamente opaco)"
-#: ../gtk/gtkcolorsel.c:359
+#: ../gtk/gtkcolorsel.c:358
msgid "Current RGBA"
msgstr "RGBA actual"
-#: ../gtk/gtkcolorsel.c:360
+#: ../gtk/gtkcolorsel.c:359
msgid "The current RGBA color"
msgstr "El color RGBA actual"
msgid "The help button of the dialog."
msgstr "El botón Ayuda del diálogo."
-#: ../gtk/gtkcombobox.c:663
+#: ../gtk/gtkcombobox.c:664
msgid "ComboBox model"
msgstr "Modelo de ComboBox"
-#: ../gtk/gtkcombobox.c:664
+#: ../gtk/gtkcombobox.c:665
msgid "The model for the combo box"
msgstr "El modelo para el ComboBox"
-#: ../gtk/gtkcombobox.c:681
+#: ../gtk/gtkcombobox.c:682
msgid "Wrap width for laying out the items in a grid"
msgstr "Ajusta la anchura para distribuir los elementos en una rejilla"
-#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383
+#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:383
msgid "Row span column"
msgstr "Fila expande columna"
-#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384
+#: ../gtk/gtkcombobox.c:705 ../gtk/gtktreemenu.c:384
msgid "TreeModel column containing the row span values"
msgstr "Columna TreeModel que contiene los valores de expansión de la fila"
-#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404
+#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:404
msgid "Column span column"
msgstr "Columna expande columna"
-#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405
+#: ../gtk/gtkcombobox.c:727 ../gtk/gtktreemenu.c:405
msgid "TreeModel column containing the column span values"
msgstr "Columna TreeModel que contiene los valores de expansión de columna"
-#: ../gtk/gtkcombobox.c:747
+#: ../gtk/gtkcombobox.c:748
msgid "Active item"
msgstr "Elemento activo"
-#: ../gtk/gtkcombobox.c:748
+#: ../gtk/gtkcombobox.c:749
msgid "The item which is currently active"
msgstr "El elemento que está activo actualmente"
-#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:479
+#: ../gtk/gtkcombobox.c:768 ../gtk/gtkuimanager.c:479
msgid "Add tearoffs to menus"
msgstr "Añadir tiradores a los menús"
-#: ../gtk/gtkcombobox.c:768
+#: ../gtk/gtkcombobox.c:769
msgid "Whether dropdowns should have a tearoff menu item"
msgstr "Indica si los desplegables deben tener un tirador en el menú"
-#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:783
+#: ../gtk/gtkcombobox.c:784 ../gtk/gtkentry.c:786
msgid "Has Frame"
msgstr "Tiene marco"
-#: ../gtk/gtkcombobox.c:784
+#: ../gtk/gtkcombobox.c:785
msgid "Whether the combo box draws a frame around the child"
msgstr "Indica si el ComboBox dibuja un marco alrededor del hijo"
-#: ../gtk/gtkcombobox.c:792
+#: ../gtk/gtkcombobox.c:793
msgid "Whether the combo box grabs focus when it is clicked with the mouse"
msgstr "Indica si el ComboBox obtiene el foco cuando se pulsa con el ratón"
-#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:642
+#: ../gtk/gtkcombobox.c:808 ../gtk/gtkmenu.c:643
msgid "Tearoff Title"
msgstr "Título del tirador"
-#: ../gtk/gtkcombobox.c:808
+#: ../gtk/gtkcombobox.c:809
msgid ""
"A title that may be displayed by the window manager when the popup is torn-"
"off"
msgstr ""
"Un título que podría mostrar el gestor de ventanas al desprender el emergente"
-#: ../gtk/gtkcombobox.c:825
+#: ../gtk/gtkcombobox.c:826
msgid "Popup shown"
msgstr "Emergente mostrado"
-#: ../gtk/gtkcombobox.c:826
+#: ../gtk/gtkcombobox.c:827
msgid "Whether the combo's dropdown is shown"
msgstr "Indica si se muestra el desplegable del combo"
-#: ../gtk/gtkcombobox.c:842
+#: ../gtk/gtkcombobox.c:843
msgid "Button Sensitivity"
msgstr "Sensibilidad del botón"
-#: ../gtk/gtkcombobox.c:843
+#: ../gtk/gtkcombobox.c:844
msgid "Whether the dropdown button is sensitive when the model is empty"
msgstr "Indica si el botón desplegable es sensible cunado el modelo está vacío"
-#: ../gtk/gtkcombobox.c:859
+#: ../gtk/gtkcombobox.c:860
msgid "Whether combo box has an entry"
msgstr "Indica si el ComboBox tiene una entrada"
-#: ../gtk/gtkcombobox.c:874
+#: ../gtk/gtkcombobox.c:875
msgid "Entry Text Column"
msgstr "Columna de entrada de texto"
-#: ../gtk/gtkcombobox.c:875
+#: ../gtk/gtkcombobox.c:876
msgid ""
"The column in the combo box's model to associate with strings from the entry "
"if the combo was created with #GtkComboBox:has-entry = %TRUE"
"La columna en el modelo ce caja combinada para asociar con cadenas de la "
"entrada si la caja combinada se creó con #GtkComboBox:has-entry = %TRUE"
-#: ../gtk/gtkcombobox.c:892
+#: ../gtk/gtkcombobox.c:893
msgid "ID Column"
msgstr "ID de la columna"
-#: ../gtk/gtkcombobox.c:893
+#: ../gtk/gtkcombobox.c:894
msgid ""
"The column in the combo box's model that provides string IDs for the values "
"in the model"
"La columna en el modelo ce caja combinada que proporciona los ID de cadenas "
"para los valores en el modelo"
-#: ../gtk/gtkcombobox.c:908
+#: ../gtk/gtkcombobox.c:909
msgid "Active id"
msgstr "ID activo"
-#: ../gtk/gtkcombobox.c:909
+#: ../gtk/gtkcombobox.c:910
msgid "The value of the id column for the active row"
msgstr "El valor del ID de la columna para la fila activa"
-#: ../gtk/gtkcombobox.c:924
+#: ../gtk/gtkcombobox.c:925
msgid "Popup Fixed Width"
msgstr "Anchura fija del emergente"
-#: ../gtk/gtkcombobox.c:925
+#: ../gtk/gtkcombobox.c:926
msgid ""
"Whether the popup's width should be a fixed width matching the allocated "
"width of the combo box"
"Indica si la anchura del emergente debería ser fija coincidiendo con la "
"anchura reservada para la caja combinada"
-#: ../gtk/gtkcombobox.c:951
+#: ../gtk/gtkcombobox.c:952
msgid "Appears as list"
msgstr "Aparece como una lista"
-#: ../gtk/gtkcombobox.c:952
+#: ../gtk/gtkcombobox.c:953
msgid "Whether dropdowns should look like lists rather than menus"
msgstr "Indica si los desplegables se parecen a listas en lugar de menús"
-#: ../gtk/gtkcombobox.c:968
+#: ../gtk/gtkcombobox.c:969
msgid "Arrow Size"
msgstr "Tamaño de la flecha"
-#: ../gtk/gtkcombobox.c:969
+#: ../gtk/gtkcombobox.c:970
msgid "The minimum size of the arrow in the combo box"
msgstr "El tamaño mínimo de la flecha en la caja combo"
-#: ../gtk/gtkcombobox.c:986
+#: ../gtk/gtkcombobox.c:987
msgid "The amount of space used by the arrow"
msgstr "La cantidad de espacio usado por la flecha"
-#: ../gtk/gtkcombobox.c:1001 ../gtk/gtkentry.c:883 ../gtk/gtkhandlebox.c:218
-#: ../gtk/gtkmenubar.c:216 ../gtk/gtkstatusbar.c:181 ../gtk/gtktoolbar.c:604
+#: ../gtk/gtkcombobox.c:1002 ../gtk/gtkentry.c:886 ../gtk/gtkhandlebox.c:218
+#: ../gtk/gtkmenubar.c:217 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:611
#: ../gtk/gtkviewport.c:153
msgid "Shadow type"
msgstr "Tipo de sombra"
-#: ../gtk/gtkcombobox.c:1002
+#: ../gtk/gtkcombobox.c:1003
msgid "Which kind of shadow to draw around the combo box"
msgstr "Qué clase de sombra dibujar alrededor de la caja combo"
"Anchura del borde alrededor del área del botón en la parte inferior del "
"diálogo"
-#: ../gtk/gtkentry.c:730
+#: ../gtk/gtkentrybuffer.c:353
+msgid "The contents of the buffer"
+msgstr "El contenido del búfer"
+
+#: ../gtk/gtkentrybuffer.c:367 ../gtk/gtkentry.c:917
+msgid "Text length"
+msgstr "Longitud del texto"
+
+#: ../gtk/gtkentrybuffer.c:368
+msgid "Length of the text currently in the buffer"
+msgstr "Longitud del texto actualmente en el búfer"
+
+#: ../gtk/gtkentrybuffer.c:382 ../gtk/gtkentry.c:769
+msgid "Maximum length"
+msgstr "Longitud máxima"
+
+#: ../gtk/gtkentrybuffer.c:383 ../gtk/gtkentry.c:770
+msgid "Maximum number of characters for this entry. Zero if no maximum"
+msgstr "Número máximo de caracteres para esta entrada. Cero si no hay máximo"
+
+#: ../gtk/gtkentry.c:733
msgid "Text Buffer"
msgstr "Búfer de texto"
-#: ../gtk/gtkentry.c:731
+#: ../gtk/gtkentry.c:734
msgid "Text buffer object which actually stores entry text"
msgstr "Objeto de búfer de texto que realmente almacena la entrada de texto"
-#: ../gtk/gtkentry.c:738 ../gtk/gtklabel.c:837
+#: ../gtk/gtkentry.c:741 ../gtk/gtklabel.c:839
msgid "Cursor Position"
msgstr "Posición del cursor"
-#: ../gtk/gtkentry.c:739 ../gtk/gtklabel.c:838
+#: ../gtk/gtkentry.c:742 ../gtk/gtklabel.c:840
msgid "The current position of the insertion cursor in chars"
msgstr "La posición actual del cursor de inserción en caracteres"
-#: ../gtk/gtkentry.c:748 ../gtk/gtklabel.c:847
+#: ../gtk/gtkentry.c:751 ../gtk/gtklabel.c:849
msgid "Selection Bound"
msgstr "Límite de selección"
-#: ../gtk/gtkentry.c:749 ../gtk/gtklabel.c:848
+#: ../gtk/gtkentry.c:752 ../gtk/gtklabel.c:850
msgid ""
"The position of the opposite end of the selection from the cursor in chars"
msgstr ""
"La posición en caracteres del extremo opuesto de la selección desde el cursor"
-#: ../gtk/gtkentry.c:759
+#: ../gtk/gtkentry.c:762
msgid "Whether the entry contents can be edited"
msgstr "Indica si los contenidos de la entrada pueden editarse"
-#: ../gtk/gtkentry.c:766 ../gtk/gtkentrybuffer.c:382
-msgid "Maximum length"
-msgstr "Longitud máxima"
-
-#: ../gtk/gtkentry.c:767 ../gtk/gtkentrybuffer.c:383
-msgid "Maximum number of characters for this entry. Zero if no maximum"
-msgstr "Número máximo de caracteres para esta entrada. Cero si no hay máximo"
-
-#: ../gtk/gtkentry.c:775
+#: ../gtk/gtkentry.c:778
msgid "Visibility"
msgstr "Visibilidad"
-#: ../gtk/gtkentry.c:776
+#: ../gtk/gtkentry.c:779
msgid ""
"FALSE displays the \"invisible char\" instead of the actual text (password "
"mode)"
"FALSE muestra el «carácter invisible» en lugar del texto actual (modo "
"contraseña)"
-#: ../gtk/gtkentry.c:784
+#: ../gtk/gtkentry.c:787
msgid "FALSE removes outside bevel from entry"
msgstr "FALSE quita el bisel exterior de la entrada"
-#: ../gtk/gtkentry.c:792
+#: ../gtk/gtkentry.c:795
msgid ""
"Border between text and frame. Overrides the inner-border style property"
msgstr ""
"Borde entre el texto y el marco. Toma precedencia sobre la propiedad de "
"estilo del borde interno"
-#: ../gtk/gtkentry.c:799 ../gtk/gtkentry.c:1395
+#: ../gtk/gtkentry.c:802 ../gtk/gtkentry.c:1398
msgid "Invisible character"
msgstr "Carácter invisible"
-#: ../gtk/gtkentry.c:800 ../gtk/gtkentry.c:1396
+#: ../gtk/gtkentry.c:803 ../gtk/gtkentry.c:1399
msgid "The character to use when masking entry contents (in \"password mode\")"
msgstr ""
"El carácter que se usará cuando se enmascaren los contenidos de la entrada "
"(en «modo contraseña»)"
-#: ../gtk/gtkentry.c:807
+#: ../gtk/gtkentry.c:810
msgid "Activates default"
msgstr "Activar predeterminado"
-#: ../gtk/gtkentry.c:808
+#: ../gtk/gtkentry.c:811
msgid ""
"Whether to activate the default widget (such as the default button in a "
"dialog) when Enter is pressed"
"Indica si se debe activar el widget predeterminado (como el botón "
"predeterminado en un diálogo) cuando se pulse INTRO"
-#: ../gtk/gtkentry.c:814
+#: ../gtk/gtkentry.c:817
msgid "Width in chars"
msgstr "Anchura en caracteres"
-#: ../gtk/gtkentry.c:815
+#: ../gtk/gtkentry.c:818
msgid "Number of characters to leave space for in the entry"
msgstr "Número de caracteres para dejar de espacio en la entrada"
-#: ../gtk/gtkentry.c:824
+#: ../gtk/gtkentry.c:827
msgid "Scroll offset"
msgstr "Desplazamiento del scroll"
-#: ../gtk/gtkentry.c:825
+#: ../gtk/gtkentry.c:828
msgid "Number of pixels of the entry scrolled off the screen to the left"
msgstr ""
"Número de píxeles de la entrada desplazados en scroll fuera de la pantalla "
"hacia la izquierda"
-#: ../gtk/gtkentry.c:835
+#: ../gtk/gtkentry.c:838
msgid "The contents of the entry"
msgstr "El contenido de la entrada"
-#: ../gtk/gtkentry.c:850 ../gtk/gtkmisc.c:105
+#: ../gtk/gtkentry.c:853 ../gtk/gtkmisc.c:105
msgid "X align"
msgstr "X alineación"
-#: ../gtk/gtkentry.c:851 ../gtk/gtkmisc.c:106
+#: ../gtk/gtkentry.c:854 ../gtk/gtkmisc.c:106
msgid ""
"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL "
"layouts."
"La alineación horizontal, desde 0 (izquierda) hasta 1 (derecha). Al revés "
"para distribuciones D-->I."
-#: ../gtk/gtkentry.c:867
+#: ../gtk/gtkentry.c:870
msgid "Truncate multiline"
msgstr "Truncar multilínea"
-#: ../gtk/gtkentry.c:868
+#: ../gtk/gtkentry.c:871
msgid "Whether to truncate multiline pastes to one line."
msgstr "Indica si se truncan las pegadas multilíneas a una línea."
-#: ../gtk/gtkentry.c:884
+#: ../gtk/gtkentry.c:887
msgid "Which kind of shadow to draw around the entry when has-frame is set"
msgstr ""
"Qué clase de sombra dibujar alrededor de la entrada cuando has-frame está "
"activado"
-#: ../gtk/gtkentry.c:899 ../gtk/gtktextview.c:767
+#: ../gtk/gtkentry.c:902 ../gtk/gtktextview.c:766
msgid "Overwrite mode"
msgstr "Modo de sobreescritura"
-#: ../gtk/gtkentry.c:900
+#: ../gtk/gtkentry.c:903
msgid "Whether new text overwrites existing text"
msgstr "Indica si el texto introducido sobreescribe el existente"
-#: ../gtk/gtkentry.c:914 ../gtk/gtkentrybuffer.c:367
-msgid "Text length"
-msgstr "Longitud del texto"
-
-#: ../gtk/gtkentry.c:915
+#: ../gtk/gtkentry.c:918
msgid "Length of the text currently in the entry"
msgstr "Longitud del texto actualmente en la entrada"
-#: ../gtk/gtkentry.c:930
+#: ../gtk/gtkentry.c:933
msgid "Invisible character set"
msgstr "Conjunto de caracteres invisibles"
-#: ../gtk/gtkentry.c:931
+#: ../gtk/gtkentry.c:934
msgid "Whether the invisible character has been set"
msgstr ""
"Indica si se ha establecido la invisibilidad del conjunto de caracteres"
-#: ../gtk/gtkentry.c:949
+#: ../gtk/gtkentry.c:952
msgid "Caps Lock warning"
msgstr "Advertencia de bloqueo de mayúsculas"
-#: ../gtk/gtkentry.c:950
+#: ../gtk/gtkentry.c:953
msgid "Whether password entries will show a warning when Caps Lock is on"
msgstr ""
"Indica si en las entradas de contraseñas se muestra una advertencia cuando "
"el bloqueo de mayúsculas está activo"
-#: ../gtk/gtkentry.c:964
+#: ../gtk/gtkentry.c:967
msgid "Progress Fraction"
msgstr "Fracción de progreso"
-#: ../gtk/gtkentry.c:965
+#: ../gtk/gtkentry.c:968
msgid "The current fraction of the task that's been completed"
msgstr "La fracción actual completada de la tarea"
-#: ../gtk/gtkentry.c:982
+#: ../gtk/gtkentry.c:985
msgid "Progress Pulse Step"
msgstr "Progreso del paso del pulso"
-#: ../gtk/gtkentry.c:983
+#: ../gtk/gtkentry.c:986
msgid ""
"The fraction of total entry width to move the progress bouncing block for "
"each call to gtk_entry_progress_pulse()"
"La fracción del ancho total de la entrada para mover el bloque de rebote de "
"progreso para cada llamada a gtk_entry_progress_pulse()"
-#: ../gtk/gtkentry.c:999
+#: ../gtk/gtkentry.c:1002
msgid "Placeholder text"
msgstr "Escribir aquí"
-#: ../gtk/gtkentry.c:1000
+#: ../gtk/gtkentry.c:1003
msgid "Show text in the entry when it's empty and unfocused"
msgstr "Mostrar texto en la entrada cuando esta vacía y no tiene el foco"
-#: ../gtk/gtkentry.c:1014
+#: ../gtk/gtkentry.c:1017
msgid "Primary pixbuf"
msgstr "Pixbuf primario"
-#: ../gtk/gtkentry.c:1015
+#: ../gtk/gtkentry.c:1018
msgid "Primary pixbuf for the entry"
msgstr "El pixbuf primario para la entrada"
-#: ../gtk/gtkentry.c:1029
+#: ../gtk/gtkentry.c:1032
msgid "Secondary pixbuf"
msgstr "Pixbuf secundario"
-#: ../gtk/gtkentry.c:1030
+#: ../gtk/gtkentry.c:1033
msgid "Secondary pixbuf for the entry"
msgstr "El pixbuf secundario para la entrada"
-#: ../gtk/gtkentry.c:1044
+#: ../gtk/gtkentry.c:1047
msgid "Primary stock ID"
msgstr "ID de almacenamiento primario"
-#: ../gtk/gtkentry.c:1045
+#: ../gtk/gtkentry.c:1048
msgid "Stock ID for primary icon"
msgstr "ID de almacenamiento para el icono primario"
-#: ../gtk/gtkentry.c:1059
+#: ../gtk/gtkentry.c:1062
msgid "Secondary stock ID"
msgstr "ID de almacenamiento secundario"
-#: ../gtk/gtkentry.c:1060
+#: ../gtk/gtkentry.c:1063
msgid "Stock ID for secondary icon"
msgstr "ID de almacenamiento para el icono secundario"
-#: ../gtk/gtkentry.c:1074
+#: ../gtk/gtkentry.c:1077
msgid "Primary icon name"
msgstr "Nombre del icono primario"
-#: ../gtk/gtkentry.c:1075
+#: ../gtk/gtkentry.c:1078
msgid "Icon name for primary icon"
msgstr "Nombre del icono para el icono primario"
-#: ../gtk/gtkentry.c:1089
+#: ../gtk/gtkentry.c:1092
msgid "Secondary icon name"
msgstr "Nombre del icono secundario"
-#: ../gtk/gtkentry.c:1090
+#: ../gtk/gtkentry.c:1093
msgid "Icon name for secondary icon"
msgstr "Nombre del icono para el icono secundario"
-#: ../gtk/gtkentry.c:1104
+#: ../gtk/gtkentry.c:1107
msgid "Primary GIcon"
msgstr "GIcon primario"
-#: ../gtk/gtkentry.c:1105
+#: ../gtk/gtkentry.c:1108
msgid "GIcon for primary icon"
msgstr "GIcon para el icono primario"
-#: ../gtk/gtkentry.c:1119
+#: ../gtk/gtkentry.c:1122
msgid "Secondary GIcon"
msgstr "GIcon secundario"
-#: ../gtk/gtkentry.c:1120
+#: ../gtk/gtkentry.c:1123
msgid "GIcon for secondary icon"
msgstr "GIcon para el icono secundario"
-#: ../gtk/gtkentry.c:1134
+#: ../gtk/gtkentry.c:1137
msgid "Primary storage type"
msgstr "Tipo de almacenamiento primario"
-#: ../gtk/gtkentry.c:1135
+#: ../gtk/gtkentry.c:1138
msgid "The representation being used for primary icon"
msgstr "La representación empleada para el icono primario"
-#: ../gtk/gtkentry.c:1150
+#: ../gtk/gtkentry.c:1153
msgid "Secondary storage type"
msgstr "Tipo de almacenamiento secundario"
-#: ../gtk/gtkentry.c:1151
+#: ../gtk/gtkentry.c:1154
msgid "The representation being used for secondary icon"
msgstr "La representación empleada para el icono secundario"
-#: ../gtk/gtkentry.c:1172
+#: ../gtk/gtkentry.c:1175
msgid "Primary icon activatable"
msgstr "Icono primario activable"
-#: ../gtk/gtkentry.c:1173
+#: ../gtk/gtkentry.c:1176
msgid "Whether the primary icon is activatable"
msgstr "Indica si el icono primario es activable"
-#: ../gtk/gtkentry.c:1193
+#: ../gtk/gtkentry.c:1196
msgid "Secondary icon activatable"
msgstr "Icono secundario activable"
-#: ../gtk/gtkentry.c:1194
+#: ../gtk/gtkentry.c:1197
msgid "Whether the secondary icon is activatable"
msgstr "Indica si el icono secundario es activable"
-#: ../gtk/gtkentry.c:1216
+#: ../gtk/gtkentry.c:1219
msgid "Primary icon sensitive"
msgstr "Sensibilidad del icono primario"
-#: ../gtk/gtkentry.c:1217
+#: ../gtk/gtkentry.c:1220
msgid "Whether the primary icon is sensitive"
msgstr "Indica si el icono primario es sensible"
-#: ../gtk/gtkentry.c:1238
+#: ../gtk/gtkentry.c:1241
msgid "Secondary icon sensitive"
msgstr "Sensibilidad del icono secundario"
-#: ../gtk/gtkentry.c:1239
+#: ../gtk/gtkentry.c:1242
msgid "Whether the secondary icon is sensitive"
msgstr "Indica si el icono secundario es sensible"
-#: ../gtk/gtkentry.c:1255
+#: ../gtk/gtkentry.c:1258
msgid "Primary icon tooltip text"
msgstr "Texto de la sugerencia del icono primario"
-#: ../gtk/gtkentry.c:1256 ../gtk/gtkentry.c:1292
+#: ../gtk/gtkentry.c:1259 ../gtk/gtkentry.c:1295
msgid "The contents of the tooltip on the primary icon"
msgstr "El contenido de la consejo para el icono primario"
-#: ../gtk/gtkentry.c:1272
+#: ../gtk/gtkentry.c:1275
msgid "Secondary icon tooltip text"
msgstr "Texto de la sugerencia del icono secundario"
-#: ../gtk/gtkentry.c:1273 ../gtk/gtkentry.c:1311
+#: ../gtk/gtkentry.c:1276 ../gtk/gtkentry.c:1314
msgid "The contents of the tooltip on the secondary icon"
msgstr "El contenido de la sugerencia para el icono secundario"
-#: ../gtk/gtkentry.c:1291
+#: ../gtk/gtkentry.c:1294
msgid "Primary icon tooltip markup"
msgstr "Marcado de la sugerencia del icono primario"
-#: ../gtk/gtkentry.c:1310
+#: ../gtk/gtkentry.c:1313
msgid "Secondary icon tooltip markup"
msgstr "Marcado de la sugerencia del icono secundario"
-#: ../gtk/gtkentry.c:1330 ../gtk/gtktextview.c:795
+#: ../gtk/gtkentry.c:1333 ../gtk/gtktextview.c:794
msgid "IM module"
msgstr "Módulo ME"
-#: ../gtk/gtkentry.c:1331 ../gtk/gtktextview.c:796
+#: ../gtk/gtkentry.c:1334 ../gtk/gtktextview.c:795
msgid "Which IM module should be used"
msgstr "Qué módulo de ME se debe usar"
-#: ../gtk/gtkentry.c:1345
+#: ../gtk/gtkentry.c:1348
msgid "Completion"
msgstr "Completado"
-#: ../gtk/gtkentry.c:1346
+#: ../gtk/gtkentry.c:1349
msgid "The auxiliary completion object"
msgstr "El objeto de completado auxiliar"
-#: ../gtk/gtkentry.c:1360
+#: ../gtk/gtkentry.c:1363
msgid "Icon Prelight"
msgstr "Iluminación de icono"
-#: ../gtk/gtkentry.c:1361
+#: ../gtk/gtkentry.c:1364
msgid "Whether activatable icons should prelight when hovered"
msgstr ""
"Indica si los iconos activables deben iluminarse al pasar el ratón sobre "
"ellos"
-#: ../gtk/gtkentry.c:1374
+#: ../gtk/gtkentry.c:1377
msgid "Progress Border"
msgstr "Borde del progreso"
-#: ../gtk/gtkentry.c:1375
+#: ../gtk/gtkentry.c:1378
msgid "Border around the progress bar"
msgstr "Borde alrededor de la barra de progreso"
-#: ../gtk/gtkentry.c:1867
+#: ../gtk/gtkentry.c:1870
msgid "Border between text and frame."
msgstr "Borde entre el texto y el marco."
-#: ../gtk/gtkentrybuffer.c:353
-msgid "The contents of the buffer"
-msgstr "El contenido del búfer"
-
-#: ../gtk/gtkentrybuffer.c:368
-msgid "Length of the text currently in the buffer"
-msgstr "Longitud del texto actualmente en el búfer"
-
#: ../gtk/gtkentrycompletion.c:320
msgid "Completion Model"
msgstr "Modelo de completado"
"Indica si la ventana atrapadora de eventos de la caja de eventos está por "
"encima del widget hijo como oposición debajo de ésta."
-#: ../gtk/gtkexpander.c:281
+#: ../gtk/gtkexpander.c:282
msgid "Expanded"
msgstr "Expandido"
-#: ../gtk/gtkexpander.c:282
+#: ../gtk/gtkexpander.c:283
msgid "Whether the expander has been opened to reveal the child widget"
msgstr "Indica si el expansor ha sido abierto para revelar el widget hijo"
-#: ../gtk/gtkexpander.c:290
+#: ../gtk/gtkexpander.c:291
msgid "Text of the expander's label"
msgstr "Texto de la etiqueta del expansor"
-#: ../gtk/gtkexpander.c:305 ../gtk/gtklabel.c:756
+#: ../gtk/gtkexpander.c:306 ../gtk/gtklabel.c:758
msgid "Use markup"
msgstr "Usar marcado"
-#: ../gtk/gtkexpander.c:306 ../gtk/gtklabel.c:757
+#: ../gtk/gtkexpander.c:307 ../gtk/gtklabel.c:759
msgid "The text of the label includes XML markup. See pango_parse_markup()"
msgstr "El texto de la etiqueta incluye marcado XML. Vea pango_parse_markup()"
-#: ../gtk/gtkexpander.c:314
+#: ../gtk/gtkexpander.c:315
msgid "Space to put between the label and the child"
msgstr "Espacio para colocar entre la etiqueta y el hijo"
-#: ../gtk/gtkexpander.c:323 ../gtk/gtkframe.c:205 ../gtk/gtktoolbutton.c:246
-#: ../gtk/gtktoolitemgroup.c:1598
+#: ../gtk/gtkexpander.c:324 ../gtk/gtkframe.c:206 ../gtk/gtktoolbutton.c:246
+#: ../gtk/gtktoolitemgroup.c:1599
msgid "Label widget"
msgstr "Widget etiqueta"
-#: ../gtk/gtkexpander.c:324
+#: ../gtk/gtkexpander.c:325
msgid "A widget to display in place of the usual expander label"
msgstr "Un widget para mostrar en lugar de la etiqueta usual del expansor"
-#: ../gtk/gtkexpander.c:331
+#: ../gtk/gtkexpander.c:332
msgid "Label fill"
msgstr "Relleno de etiqueta"
-#: ../gtk/gtkexpander.c:332
+#: ../gtk/gtkexpander.c:333
msgid "Whether the label widget should fill all available horizontal space"
msgstr ""
"Indica si el widget de etiqueta debería llenar todo el espacio horizontal "
"disponible"
-#: ../gtk/gtkexpander.c:347
+#: ../gtk/gtkexpander.c:348
msgid "Resize tolevel"
msgstr "Redimensionar nivel superior"
-#: ../gtk/gtkexpander.c:348
+#: ../gtk/gtkexpander.c:349
msgid ""
"Whether the expander will resize the toplevel window upon expanding and "
"collapsing"
"Indica si el expansor redimensionará la ventana de nivel superior al "
"expandirse y contraerse"
-#: ../gtk/gtkexpander.c:354 ../gtk/gtktoolitemgroup.c:1626
-#: ../gtk/gtktreeview.c:1186
+#: ../gtk/gtkexpander.c:355 ../gtk/gtktoolitemgroup.c:1627
+#: ../gtk/gtktreeview.c:1187
msgid "Expander Size"
msgstr "Tamaño del expansor"
-#: ../gtk/gtkexpander.c:355 ../gtk/gtktoolitemgroup.c:1627
-#: ../gtk/gtktreeview.c:1187
+#: ../gtk/gtkexpander.c:356 ../gtk/gtktoolitemgroup.c:1628
+#: ../gtk/gtktreeview.c:1188
msgid "Size of the expander arrow"
msgstr "Tamaño de la flecha del expansor"
-#: ../gtk/gtkexpander.c:364
+#: ../gtk/gtkexpander.c:365
msgid "Spacing around expander arrow"
msgstr "Espaciado alrededor de la flecha del expansor"
msgid "The title of the font selection dialog"
msgstr "El título del diálogo de selección de tipografía"
-#: ../gtk/gtkfontbutton.c:167 ../gtk/gtkfontsel.c:239
+#: ../gtk/gtkfontbutton.c:167 ../gtk/gtkfontsel.c:238
msgid "Font name"
msgstr "Nombre de la tipografía"
msgstr ""
"Indica si el tamaño de tipografía seleccionado se muestra en la etiqueta"
-#: ../gtk/gtkfontsel.c:240
+#: ../gtk/gtkfontsel.c:239
msgid "The string that represents this font"
msgstr "La cadena que representa esta tipografía"
-#: ../gtk/gtkfontsel.c:246
+#: ../gtk/gtkfontsel.c:245
msgid "Preview text"
msgstr "Vista previa del texto"
-#: ../gtk/gtkfontsel.c:247
+#: ../gtk/gtkfontsel.c:246
msgid "The text to display in order to demonstrate the selected font"
msgstr "El texto que mostrar como demostración de la tipografía seleccionada"
-#: ../gtk/gtkframe.c:171
+#: ../gtk/gtkframe.c:172
msgid "Text of the frame's label"
msgstr "Texto de la etiqueta del marco"
-#: ../gtk/gtkframe.c:178
+#: ../gtk/gtkframe.c:179
msgid "Label xalign"
msgstr "xalign de la etiqueta"
-#: ../gtk/gtkframe.c:179
+#: ../gtk/gtkframe.c:180
msgid "The horizontal alignment of the label"
msgstr "La alineación horizontal de la etiqueta"
-#: ../gtk/gtkframe.c:187
+#: ../gtk/gtkframe.c:188
msgid "Label yalign"
msgstr "yalign de la etiqueta"
-#: ../gtk/gtkframe.c:188
+#: ../gtk/gtkframe.c:189
msgid "The vertical alignment of the label"
msgstr "La alineación vertical de la etiqueta"
-#: ../gtk/gtkframe.c:196
+#: ../gtk/gtkframe.c:197
msgid "Frame shadow"
msgstr "Sombra del marco"
-#: ../gtk/gtkframe.c:197
+#: ../gtk/gtkframe.c:198
msgid "Appearance of the frame border"
msgstr "Apariencia del borde del marco"
-#: ../gtk/gtkframe.c:206
+#: ../gtk/gtkframe.c:207
msgid "A widget to display in place of the usual frame label"
msgstr "Un widget a mostrar en lugar de la usual etiqueta del marco"
msgid "Left attachment"
msgstr "Acoplado izquierdo"
-#: ../gtk/gtkgrid.c:1327 ../gtk/gtkmenu.c:760 ../gtk/gtktable.c:236
+#: ../gtk/gtkgrid.c:1327 ../gtk/gtkmenu.c:761 ../gtk/gtktable.c:236
msgid "The column number to attach the left side of the child to"
msgstr "El número de columnas que acoplar al lado izquierdo del hijo"
msgstr ""
"Cómo se sitúan el texto y el icono para cada elemento relativo a los demás"
-#: ../gtk/gtkiconview.c:725 ../gtk/gtktreeview.c:1021
+#: ../gtk/gtkiconview.c:725 ../gtk/gtktreeview.c:1022
#: ../gtk/gtktreeviewcolumn.c:374
msgid "Reorderable"
msgstr "Reordenable"
-#: ../gtk/gtkiconview.c:726 ../gtk/gtktreeview.c:1022
+#: ../gtk/gtkiconview.c:726 ../gtk/gtktreeview.c:1023
msgid "View is reorderable"
msgstr "La vista es reordenable"
-#: ../gtk/gtkiconview.c:733 ../gtk/gtktreeview.c:1172
+#: ../gtk/gtkiconview.c:733 ../gtk/gtktreeview.c:1173
msgid "Tooltip Column"
msgstr "Columna de sugerencia"
msgid "Opacity of the selection box"
msgstr "Opacidad de la caja de selección"
-#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:235
+#: ../gtk/gtkimage.c:237 ../gtk/gtkstatusicon.c:235
msgid "Pixbuf"
msgstr "Pixbuf"
-#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:236
+#: ../gtk/gtkimage.c:238 ../gtk/gtkstatusicon.c:236
msgid "A GdkPixbuf to display"
msgstr "Un GdkPixbuf para mostrar"
-#: ../gtk/gtkimage.c:243 ../gtk/gtkrecentmanager.c:294
+#: ../gtk/gtkimage.c:245 ../gtk/gtkrecentmanager.c:294
#: ../gtk/gtkstatusicon.c:243
msgid "Filename"
msgstr "Nombre de archivo"
-#: ../gtk/gtkimage.c:244 ../gtk/gtkstatusicon.c:244
+#: ../gtk/gtkimage.c:246 ../gtk/gtkstatusicon.c:244
msgid "Filename to load and display"
msgstr "Nombre del archivo a cargar y mostrar"
-#: ../gtk/gtkimage.c:253 ../gtk/gtkstatusicon.c:252
+#: ../gtk/gtkimage.c:255 ../gtk/gtkstatusicon.c:252
msgid "Stock ID for a stock image to display"
msgstr "ID de inventario para una imagen de inventario que mostrar"
-#: ../gtk/gtkimage.c:260
+#: ../gtk/gtkimage.c:262
msgid "Icon set"
msgstr "Conjunto de iconos"
-#: ../gtk/gtkimage.c:261
+#: ../gtk/gtkimage.c:263
msgid "Icon set to display"
msgstr "Conjunto de iconos para mostrar"
-#: ../gtk/gtkimage.c:268 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:521
-#: ../gtk/gtktoolpalette.c:1006
+#: ../gtk/gtkimage.c:270 ../gtk/gtkscalebutton.c:228 ../gtk/gtktoolbar.c:528
+#: ../gtk/gtktoolpalette.c:1008
msgid "Icon size"
msgstr "Tamaño del icono"
-#: ../gtk/gtkimage.c:269
+#: ../gtk/gtkimage.c:271
msgid "Symbolic size to use for stock icon, icon set or named icon"
msgstr ""
"Tamaño simbólico que usar para el icono de inventario, conjunto de iconos o "
"icono nombrado"
-#: ../gtk/gtkimage.c:285
+#: ../gtk/gtkimage.c:287
msgid "Pixel size"
msgstr "Tamaño del píxel"
-#: ../gtk/gtkimage.c:286
+#: ../gtk/gtkimage.c:288
msgid "Pixel size to use for named icon"
msgstr "Tamaño de píxel que usar para el icono nombrado"
-#: ../gtk/gtkimage.c:294
+#: ../gtk/gtkimage.c:296
msgid "Animation"
msgstr "Animación"
-#: ../gtk/gtkimage.c:295
+#: ../gtk/gtkimage.c:297
msgid "GdkPixbufAnimation to display"
msgstr "GdkPixbufAnimation para mostrar"
-#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:283
+#: ../gtk/gtkimage.c:337 ../gtk/gtkstatusicon.c:283
msgid "Storage type"
msgstr "Tipo de almacenamiento"
-#: ../gtk/gtkimage.c:336 ../gtk/gtkstatusicon.c:284
+#: ../gtk/gtkimage.c:338 ../gtk/gtkstatusicon.c:284
msgid "The representation being used for image data"
msgstr "La representación empleada para los datos de la imagen"
-#: ../gtk/gtkimage.c:354
+#: ../gtk/gtkimage.c:356
msgid "Use Fallback"
msgstr "Usar alternativa"
-#: ../gtk/gtkimage.c:355
+#: ../gtk/gtkimage.c:357
msgid "Whether to use icon names fallback"
msgstr "Indica si usar nombres de iconos como alternativa"
"Indica si se debe usar el texto de la etiqueta para crear un elemento del "
"menú de stock"
-#: ../gtk/gtkimagemenuitem.c:209 ../gtk/gtkmenu.c:602
+#: ../gtk/gtkimagemenuitem.c:209 ../gtk/gtkmenu.c:603
msgid "Accel Group"
msgstr "Grupo de aceleración"
msgid "Width of border around the action area"
msgstr "Anchura del borde alrededor del área de acción"
-#: ../gtk/gtkinvisible.c:103 ../gtk/gtkmountoperation.c:174
-#: ../gtk/gtkstatusicon.c:302 ../gtk/gtkstylecontext.c:544
+#: ../gtk/gtkinvisible.c:103 ../gtk/gtkmountoperation.c:173
+#: ../gtk/gtkstatusicon.c:302 ../gtk/gtkstylecontext.c:431
#: ../gtk/gtkwindow.c:732
msgid "Screen"
msgstr "Pantalla"
msgid "The screen where this window will be displayed"
msgstr "La pantalla donde se mostrará esta ventana"
-#: ../gtk/gtklabel.c:743
+#: ../gtk/gtklabel.c:745
msgid "The text of the label"
msgstr "El texto de la etiqueta"
-#: ../gtk/gtklabel.c:750
+#: ../gtk/gtklabel.c:752
msgid "A list of style attributes to apply to the text of the label"
msgstr "Un lista de atributos de estilos para aplicar al texto de la etiqueta"
-#: ../gtk/gtklabel.c:771 ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:704
+#: ../gtk/gtklabel.c:773 ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:703
msgid "Justification"
msgstr "Justificación"
-#: ../gtk/gtklabel.c:772
+#: ../gtk/gtklabel.c:774
msgid ""
"The alignment of the lines in the text of the label relative to each other. "
"This does NOT affect the alignment of the label within its allocation. See "
"Esto NO afecta la alineación de la etiqueta dentro de su ubicación. Ver "
"GtkMisc::xalign para ello"
-#: ../gtk/gtklabel.c:780
+#: ../gtk/gtklabel.c:782
msgid "Pattern"
msgstr "Patrón"
-#: ../gtk/gtklabel.c:781
+#: ../gtk/gtklabel.c:783
msgid ""
"A string with _ characters in positions correspond to characters in the text "
"to underline"
"Un cadena con caracteres _ en posiciones correspondientes a caracteres en el "
"texto a subrayar"
-#: ../gtk/gtklabel.c:788
+#: ../gtk/gtklabel.c:790
msgid "Line wrap"
msgstr "Ajuste de línea"
-#: ../gtk/gtklabel.c:789
+#: ../gtk/gtklabel.c:791
msgid "If set, wrap lines if the text becomes too wide"
msgstr ""
"Si esta definido, ajustar las líneas si el texto se vuelve demasiado ancho"
-#: ../gtk/gtklabel.c:804
+#: ../gtk/gtklabel.c:806
msgid "Line wrap mode"
msgstr "Modo de ajuste de línea"
-#: ../gtk/gtklabel.c:805
+#: ../gtk/gtklabel.c:807
msgid "If wrap is set, controls how linewrapping is done"
msgstr "Si se establece el ajuste, controla cómo se hace el ajuste de línea"
-#: ../gtk/gtklabel.c:812
+#: ../gtk/gtklabel.c:814
msgid "Selectable"
msgstr "Seleccionable"
-#: ../gtk/gtklabel.c:813
+#: ../gtk/gtklabel.c:815
msgid "Whether the label text can be selected with the mouse"
msgstr "Indica si el texto de la etiqueta puede ser seleccionado con el ratón"
-#: ../gtk/gtklabel.c:819
+#: ../gtk/gtklabel.c:821
msgid "Mnemonic key"
msgstr "Tecla nemónica"
-#: ../gtk/gtklabel.c:820
+#: ../gtk/gtklabel.c:822
msgid "The mnemonic accelerator key for this label"
msgstr "La tecla nemotécnica del acelerador para esta etiqueta"
-#: ../gtk/gtklabel.c:828
+#: ../gtk/gtklabel.c:830
msgid "Mnemonic widget"
msgstr "Widget nemónico"
-#: ../gtk/gtklabel.c:829
+#: ../gtk/gtklabel.c:831
msgid "The widget to be activated when the label's mnemonic key is pressed"
msgstr ""
"El widget que se activará cuando se presione la tecla mnemotécnica de la "
"etiqueta"
-#: ../gtk/gtklabel.c:875
+#: ../gtk/gtklabel.c:877
msgid ""
"The preferred place to ellipsize the string, if the label does not have "
"enough room to display the entire string"
"El lugar preferido para la elipsis de la cadena, si la etiqueta no tiene "
"suficiente espacio para mostrar la cadena completa"
-#: ../gtk/gtklabel.c:916
+#: ../gtk/gtklabel.c:918
msgid "Single Line Mode"
msgstr "Modo de línea única"
-#: ../gtk/gtklabel.c:917
+#: ../gtk/gtklabel.c:919
msgid "Whether the label is in single line mode"
msgstr "Indica si la etiqueta está en modo de línea única"
-#: ../gtk/gtklabel.c:934
+#: ../gtk/gtklabel.c:936
msgid "Angle"
msgstr "Ángulo"
-#: ../gtk/gtklabel.c:935
+#: ../gtk/gtklabel.c:937
msgid "Angle at which the label is rotated"
msgstr "Ángulo al cual la etiqueta se rota"
-#: ../gtk/gtklabel.c:957
+#: ../gtk/gtklabel.c:959
msgid "The desired maximum width of the label, in characters"
msgstr "La anchura máxima deseada de la etiqueta, en caracteres"
-#: ../gtk/gtklabel.c:975
+#: ../gtk/gtklabel.c:977
msgid "Track visited links"
msgstr "Seguir los enlaces visitados"
-#: ../gtk/gtklabel.c:976
+#: ../gtk/gtklabel.c:978
msgid "Whether visited links should be tracked"
msgstr "Indica si deben seguir los enlaces visitados"
"La sugerencia que mostrar al mostrar al usuario que no se pudo obtener una "
"autorización"
-#: ../gtk/gtkmenubar.c:190
+#: ../gtk/gtkmenubar.c:191
msgid "Pack direction"
msgstr "Dirección del empaquetado"
-#: ../gtk/gtkmenubar.c:191
+#: ../gtk/gtkmenubar.c:192
msgid "The pack direction of the menubar"
msgstr "La dirección del empaquetado de la barra de menú"
-#: ../gtk/gtkmenubar.c:207
+#: ../gtk/gtkmenubar.c:208
msgid "Child Pack direction"
msgstr "Dirección de empaquetado del hijo"
-#: ../gtk/gtkmenubar.c:208
+#: ../gtk/gtkmenubar.c:209
msgid "The child pack direction of the menubar"
msgstr "La dirección de empaquetado hijo de la barra de menú"
-#: ../gtk/gtkmenubar.c:217
+#: ../gtk/gtkmenubar.c:218
msgid "Style of bevel around the menubar"
msgstr "Estilo del bisel alrededor de la barra de menús"
-#: ../gtk/gtkmenubar.c:224 ../gtk/gtktoolbar.c:571
+#: ../gtk/gtkmenubar.c:225 ../gtk/gtktoolbar.c:578
msgid "Internal padding"
msgstr "Relleno interno"
-#: ../gtk/gtkmenubar.c:225
+#: ../gtk/gtkmenubar.c:226
msgid "Amount of border space between the menubar shadow and the menu items"
msgstr ""
"Número de espacios del borde entre la sombra de la barra de menús y los "
"elementos del menú"
-#: ../gtk/gtkmenu.c:588
+#: ../gtk/gtkmenu.c:589
msgid "The currently selected menu item"
msgstr "El elemento del menú actualmente seleccionado"
-#: ../gtk/gtkmenu.c:603
+#: ../gtk/gtkmenu.c:604
msgid "The accel group holding accelerators for the menu"
msgstr "El grupo de aceleración que contiene los aceleradores para el menú"
-#: ../gtk/gtkmenu.c:617 ../gtk/gtkmenuitem.c:366
+#: ../gtk/gtkmenu.c:618 ../gtk/gtkmenuitem.c:369
msgid "Accel Path"
msgstr "Ruta del acelerador"
-#: ../gtk/gtkmenu.c:618
+#: ../gtk/gtkmenu.c:619
msgid "An accel path used to conveniently construct accel paths of child items"
msgstr ""
"Una ruta de acelerador usada para construir convenientemente rutas de "
"aceleración de elementos hijo"
-#: ../gtk/gtkmenu.c:634
+#: ../gtk/gtkmenu.c:635
msgid "Attach Widget"
msgstr "Acoplar widget"
-#: ../gtk/gtkmenu.c:635
+#: ../gtk/gtkmenu.c:636
msgid "The widget the menu is attached to"
msgstr "El menú al que está acoplado el widget"
-#: ../gtk/gtkmenu.c:643
+#: ../gtk/gtkmenu.c:644
msgid ""
"A title that may be displayed by the window manager when this menu is torn-"
"off"
"Un título que podría mostrarse por el administrador de ventanas cuando este "
"menú se desprenda"
-#: ../gtk/gtkmenu.c:657
+#: ../gtk/gtkmenu.c:658
msgid "Tearoff State"
msgstr "Estado de desprendimiento"
-#: ../gtk/gtkmenu.c:658
+#: ../gtk/gtkmenu.c:659
msgid "A boolean that indicates whether the menu is torn-off"
msgstr "Un booleano que indica si el menú ha sido desprendido"
-#: ../gtk/gtkmenu.c:672
+#: ../gtk/gtkmenu.c:673
msgid "Monitor"
msgstr "Monitor"
-#: ../gtk/gtkmenu.c:673
+#: ../gtk/gtkmenu.c:674
msgid "The monitor the menu will be popped up on"
msgstr "El monitor en el que se mostrará el menú"
-#: ../gtk/gtkmenu.c:679
+#: ../gtk/gtkmenu.c:680
msgid "Vertical Padding"
msgstr "Separación vertical"
-#: ../gtk/gtkmenu.c:680
+#: ../gtk/gtkmenu.c:681
msgid "Extra space at the top and bottom of the menu"
msgstr "El espacio adicional en la parte superior e inferior del menú"
-#: ../gtk/gtkmenu.c:702
+#: ../gtk/gtkmenu.c:703
msgid "Reserve Toggle Size"
msgstr "Reservar tamaño para conmutar"
-#: ../gtk/gtkmenu.c:703
+#: ../gtk/gtkmenu.c:704
msgid ""
"A boolean that indicates whether the menu reserves space for toggles and "
"icons"
msgstr ""
"Un booleano que indica si el menú reserva espacio para conmutadores e iconos"
-#: ../gtk/gtkmenu.c:709
+#: ../gtk/gtkmenu.c:710
msgid "Horizontal Padding"
msgstr "Separación horizontal"
-#: ../gtk/gtkmenu.c:710
+#: ../gtk/gtkmenu.c:711
msgid "Extra space at the left and right edges of the menu"
msgstr "El espacio adicional en los bordes derecho e izquierdo del menú"
-#: ../gtk/gtkmenu.c:718
+#: ../gtk/gtkmenu.c:719
msgid "Vertical Offset"
msgstr "Desplazamiento vertical"
-#: ../gtk/gtkmenu.c:719
+#: ../gtk/gtkmenu.c:720
msgid ""
"When the menu is a submenu, position it this number of pixels offset "
"vertically"
"Cuando el menú es un submenú, colocarlo este número de píxeles de "
"desplazamiento vertical"
-#: ../gtk/gtkmenu.c:727
+#: ../gtk/gtkmenu.c:728
msgid "Horizontal Offset"
msgstr "Desplazamiento horizontal"
-#: ../gtk/gtkmenu.c:728
+#: ../gtk/gtkmenu.c:729
msgid ""
"When the menu is a submenu, position it this number of pixels offset "
"horizontally"
"Cuando el menú es un submenú, colocarlo este número de píxeles de "
"desplazamiento horizontal"
-#: ../gtk/gtkmenu.c:736
+#: ../gtk/gtkmenu.c:737
msgid "Double Arrows"
msgstr "Dobles flechas"
-#: ../gtk/gtkmenu.c:737
+#: ../gtk/gtkmenu.c:738
msgid "When scrolling, always show both arrows."
msgstr "Al desplazar, siempre mostrar ambas flechas."
-#: ../gtk/gtkmenu.c:750
+#: ../gtk/gtkmenu.c:751
msgid "Arrow Placement"
msgstr "Colocación de flecha"
-#: ../gtk/gtkmenu.c:751
+#: ../gtk/gtkmenu.c:752
msgid "Indicates where scroll arrows should be placed"
msgstr "Indica si las flechas de desplazamiento se deben colocar"
-#: ../gtk/gtkmenu.c:759
+#: ../gtk/gtkmenu.c:760
msgid "Left Attach"
msgstr "Acoplar a la izquierda"
-#: ../gtk/gtkmenu.c:767
+#: ../gtk/gtkmenu.c:768
msgid "Right Attach"
msgstr "Acoplar a la derecha"
-#: ../gtk/gtkmenu.c:768
+#: ../gtk/gtkmenu.c:769
msgid "The column number to attach the right side of the child to"
msgstr "El número de columnas que acoplar al lado derecho del hijo"
-#: ../gtk/gtkmenu.c:775
+#: ../gtk/gtkmenu.c:776
msgid "Top Attach"
msgstr "Acoplamiento superior"
-#: ../gtk/gtkmenu.c:776
+#: ../gtk/gtkmenu.c:777
msgid "The row number to attach the top of the child to"
msgstr "El número de filas que acoplar por encima del hijo"
-#: ../gtk/gtkmenu.c:783
+#: ../gtk/gtkmenu.c:784
msgid "Bottom Attach"
msgstr "Acoplamiento inferior"
-#: ../gtk/gtkmenu.c:784 ../gtk/gtktable.c:257
+#: ../gtk/gtkmenu.c:785 ../gtk/gtktable.c:257
msgid "The row number to attach the bottom of the child to"
msgstr "El número de filas que acoplar por debajo del hijo"
-#: ../gtk/gtkmenu.c:798
+#: ../gtk/gtkmenu.c:799
msgid "Arbitrary constant to scale down the size of the scroll arrow"
msgstr ""
"Constante arbitraria para reducir el escalado del tamaño de la flecha de "
"desplazamiento"
-#: ../gtk/gtkmenuitem.c:334
+#: ../gtk/gtkmenuitem.c:337
msgid "Right Justified"
msgstr "Justificado a la derecha"
-#: ../gtk/gtkmenuitem.c:335
+#: ../gtk/gtkmenuitem.c:338
msgid ""
"Sets whether the menu item appears justified at the right side of a menu bar"
msgstr ""
"Establece si el elemento del menú aparece justificado en la parte derecha de "
"una barra de menú"
-#: ../gtk/gtkmenuitem.c:349
+#: ../gtk/gtkmenuitem.c:352
msgid "Submenu"
msgstr "Submenú"
-#: ../gtk/gtkmenuitem.c:350
+#: ../gtk/gtkmenuitem.c:353
msgid "The submenu attached to the menu item, or NULL if it has none"
msgstr "El submenú acoplado al elemento del menú, o NULL si no tiene ninguno"
-#: ../gtk/gtkmenuitem.c:367
+#: ../gtk/gtkmenuitem.c:370
msgid "Sets the accelerator path of the menu item"
msgstr "Establece la ruta del acelerador del elemento del menú"
-#: ../gtk/gtkmenuitem.c:382
+#: ../gtk/gtkmenuitem.c:385
msgid "The text for the child label"
msgstr "El texto para la etiqueta hijo"
-#: ../gtk/gtkmenuitem.c:445
+#: ../gtk/gtkmenuitem.c:448
msgid "Amount of space used up by arrow, relative to the menu item's font size"
msgstr ""
"Cantidad de espacio ocupado por una flecha, relativa al tamaño de tipografía "
"del elemento del menú"
-#: ../gtk/gtkmenuitem.c:458
+#: ../gtk/gtkmenuitem.c:461
msgid "Width in Characters"
msgstr "Anchura en caracteres"
-#: ../gtk/gtkmenuitem.c:459
+#: ../gtk/gtkmenuitem.c:462
msgid "The minimum desired width of the menu item in characters"
msgstr "La anchura mínima deseada del elemento del menú en caracteres"
"El número de espacio a añadir en la parte superior e inferior del widget, en "
"píxeles"
-#: ../gtk/gtkmountoperation.c:158
+#: ../gtk/gtkmountoperation.c:157
msgid "Parent"
msgstr "Padre"
-#: ../gtk/gtkmountoperation.c:159
+#: ../gtk/gtkmountoperation.c:158
msgid "The parent window"
msgstr "La ventana padre"
-#: ../gtk/gtkmountoperation.c:166
+#: ../gtk/gtkmountoperation.c:165
msgid "Is Showing"
msgstr "Está mostrando"
-#: ../gtk/gtkmountoperation.c:167
+#: ../gtk/gtkmountoperation.c:166
msgid "Are we showing a dialog"
msgstr "Estamos mostrando un diálogo"
-#: ../gtk/gtkmountoperation.c:175
+#: ../gtk/gtkmountoperation.c:174
msgid "The screen where this window will be displayed."
msgstr "La pantalla donde se mostrará esta ventana."
-#: ../gtk/gtknotebook.c:695
+#: ../gtk/gtknotebook.c:696
msgid "Page"
msgstr "Página"
-#: ../gtk/gtknotebook.c:696
+#: ../gtk/gtknotebook.c:697
msgid "The index of the current page"
msgstr "El índice de la página actual"
-#: ../gtk/gtknotebook.c:704
+#: ../gtk/gtknotebook.c:705
msgid "Tab Position"
msgstr "Posición del tabulador"
-#: ../gtk/gtknotebook.c:705
+#: ../gtk/gtknotebook.c:706
msgid "Which side of the notebook holds the tabs"
msgstr "Qué lado del cuaderno contiene las pestañas"
-#: ../gtk/gtknotebook.c:712
+#: ../gtk/gtknotebook.c:713
msgid "Show Tabs"
msgstr "Mostrar pestañas"
-#: ../gtk/gtknotebook.c:713
+#: ../gtk/gtknotebook.c:714
msgid "Whether tabs should be shown"
msgstr "Indica si se deben mostrar las pestañas"
-#: ../gtk/gtknotebook.c:719
+#: ../gtk/gtknotebook.c:720
msgid "Show Border"
msgstr "Mostrar borde"
-#: ../gtk/gtknotebook.c:720
+#: ../gtk/gtknotebook.c:721
msgid "Whether the border should be shown"
msgstr "Indica si se debe mostrar el borde"
-#: ../gtk/gtknotebook.c:726
+#: ../gtk/gtknotebook.c:727
msgid "Scrollable"
msgstr "Desplazable"
-#: ../gtk/gtknotebook.c:727
+#: ../gtk/gtknotebook.c:728
msgid "If TRUE, scroll arrows are added if there are too many tabs to fit"
msgstr ""
"Si es TRUE, añadir flechas de desplazamiento si no caben todas las pestañas"
-#: ../gtk/gtknotebook.c:733
+#: ../gtk/gtknotebook.c:734
msgid "Enable Popup"
msgstr "Activar emergente"
-#: ../gtk/gtknotebook.c:734
+#: ../gtk/gtknotebook.c:735
msgid ""
"If TRUE, pressing the right mouse button on the notebook pops up a menu that "
"you can use to go to a page"
"Si es TRUE, presionando el botón derecho del ratón en el cuaderno emerge un "
"menú que puede usar para ir a una página"
-#: ../gtk/gtknotebook.c:748
+#: ../gtk/gtknotebook.c:749
msgid "Group Name"
msgstr "Nombre del grupo"
-#: ../gtk/gtknotebook.c:749
+#: ../gtk/gtknotebook.c:750
msgid "Group name for tab drag and drop"
msgstr "Nombre del grupo para el arrastre y suelte de pestañas"
-#: ../gtk/gtknotebook.c:756
+#: ../gtk/gtknotebook.c:757
msgid "Tab label"
msgstr "Etiqueta de la pestaña"
-#: ../gtk/gtknotebook.c:757
+#: ../gtk/gtknotebook.c:758
msgid "The string displayed on the child's tab label"
msgstr "La cadena mostrada en la etiqueta de la pestaña hija"
-#: ../gtk/gtknotebook.c:763
+#: ../gtk/gtknotebook.c:764
msgid "Menu label"
msgstr "Etiqueta de menú"
-#: ../gtk/gtknotebook.c:764
+#: ../gtk/gtknotebook.c:765
msgid "The string displayed in the child's menu entry"
msgstr "La cadena mostrada en la entrada de menú hija"
-#: ../gtk/gtknotebook.c:777
+#: ../gtk/gtknotebook.c:778
msgid "Tab expand"
msgstr "Expansión de la pestaña"
-#: ../gtk/gtknotebook.c:778
+#: ../gtk/gtknotebook.c:779
msgid "Whether to expand the child's tab"
msgstr "Indica si se deben expandir la pestañas del hijo"
-#: ../gtk/gtknotebook.c:784
+#: ../gtk/gtknotebook.c:785
msgid "Tab fill"
msgstr "Relleno de la pestaña"
-#: ../gtk/gtknotebook.c:785
+#: ../gtk/gtknotebook.c:786
msgid "Whether the child's tab should fill the allocated area"
msgstr "Indica si se debe rellenar el área asignada de las pestañas hijas "
-#: ../gtk/gtknotebook.c:792
+#: ../gtk/gtknotebook.c:793
msgid "Tab reorderable"
msgstr "Pestaña reordenable"
-#: ../gtk/gtknotebook.c:793
+#: ../gtk/gtknotebook.c:794
msgid "Whether the tab is reorderable by user action"
msgstr "Indica si la pestaña se puede reordenar por una acción del usuario"
-#: ../gtk/gtknotebook.c:799
+#: ../gtk/gtknotebook.c:800
msgid "Tab detachable"
msgstr "Pestaña desprendible"
-#: ../gtk/gtknotebook.c:800
+#: ../gtk/gtknotebook.c:801
msgid "Whether the tab is detachable"
msgstr "Indica si la pestaña es desprendible"
-#: ../gtk/gtknotebook.c:815 ../gtk/gtkscrollbar.c:100
+#: ../gtk/gtknotebook.c:816 ../gtk/gtkscrollbar.c:102
msgid "Secondary backward stepper"
msgstr "Flecha de retroceso secundaria"
-#: ../gtk/gtknotebook.c:816
+#: ../gtk/gtknotebook.c:817
msgid ""
"Display a second backward arrow button on the opposite end of the tab area"
msgstr ""
"Muestra una segunda flecha de retroceso en el extremo opuesto del área de "
"pestañas"
-#: ../gtk/gtknotebook.c:831 ../gtk/gtkscrollbar.c:107
+#: ../gtk/gtknotebook.c:832 ../gtk/gtkscrollbar.c:109
msgid "Secondary forward stepper"
msgstr "Flecha de adelanto secundaria"
-#: ../gtk/gtknotebook.c:832
+#: ../gtk/gtknotebook.c:833
msgid ""
"Display a second forward arrow button on the opposite end of the tab area"
msgstr ""
"Mostrar una segunda flecha de avance en el extremo opuesto del área de "
"pestañas"
-#: ../gtk/gtknotebook.c:846 ../gtk/gtkscrollbar.c:86
+#: ../gtk/gtknotebook.c:847 ../gtk/gtkscrollbar.c:88
msgid "Backward stepper"
msgstr "Flecha de retroceso"
-#: ../gtk/gtknotebook.c:847 ../gtk/gtkscrollbar.c:87
+#: ../gtk/gtknotebook.c:848 ../gtk/gtkscrollbar.c:89
msgid "Display the standard backward arrow button"
msgstr "Mostrar el botón estándar de flecha de retroceso"
-#: ../gtk/gtknotebook.c:861 ../gtk/gtkscrollbar.c:93
+#: ../gtk/gtknotebook.c:862 ../gtk/gtkscrollbar.c:95
msgid "Forward stepper"
msgstr "Flecha de avance"
-#: ../gtk/gtknotebook.c:862 ../gtk/gtkscrollbar.c:94
+#: ../gtk/gtknotebook.c:863 ../gtk/gtkscrollbar.c:96
msgid "Display the standard forward arrow button"
msgstr "Mostrar el botón estándar de flecha de avance"
-#: ../gtk/gtknotebook.c:876
+#: ../gtk/gtknotebook.c:877
msgid "Tab overlap"
msgstr "Solapamiento de la pestaña"
-#: ../gtk/gtknotebook.c:877
+#: ../gtk/gtknotebook.c:878
msgid "Size of tab overlap area"
msgstr "Tamaño del área de solapamiento de la pestaña"
-#: ../gtk/gtknotebook.c:892
+#: ../gtk/gtknotebook.c:893
msgid "Tab curvature"
msgstr "Curvatura de la pestaña"
-#: ../gtk/gtknotebook.c:893
+#: ../gtk/gtknotebook.c:894
msgid "Size of tab curvature"
msgstr "Tamaño de la curvatura de la pestaña"
-#: ../gtk/gtknotebook.c:909
+#: ../gtk/gtknotebook.c:910
msgid "Arrow spacing"
msgstr "Espaciado de las flechas"
-#: ../gtk/gtknotebook.c:910
+#: ../gtk/gtknotebook.c:911
msgid "Scroll arrow spacing"
msgstr "Espaciado del desplazamiento de las flechas"
-#: ../gtk/gtknotebook.c:926
+#: ../gtk/gtknotebook.c:927
msgid "Initial gap"
msgstr "Espacio inicial"
-#: ../gtk/gtknotebook.c:927
+#: ../gtk/gtknotebook.c:928
msgid "Initial gap before the first tab"
msgstr "Espacio inicial antes de la primera pestaña"
msgid "TRUE if this printer is accepting new jobs"
msgstr "TRUE si esta impresora está aceptando trabajos nuevos"
+#: ../gtk/gtkprinteroption.c:105
+#| msgid "Minimum Value"
+msgid "Option Value"
+msgstr "Valor de la opción"
+
+#: ../gtk/gtkprinteroption.c:106
+#| msgid "Name of the printer"
+msgid "Value of the option"
+msgstr "Valor de la opción"
+
#: ../gtk/gtkprinteroptionwidget.c:122
msgid "Source option"
msgstr "Opciones de origen"
"TRUE si los combos de configuración de página están empotrados en "
"GtkPrintUnixDialog"
-#: ../gtk/gtkprogressbar.c:158
+#: ../gtk/gtkprogressbar.c:160
msgid "Fraction"
msgstr "Fracción"
-#: ../gtk/gtkprogressbar.c:159
+#: ../gtk/gtkprogressbar.c:161
msgid "The fraction of total work that has been completed"
msgstr "La fracción del trabajo total que ha sido completado"
-#: ../gtk/gtkprogressbar.c:166
+#: ../gtk/gtkprogressbar.c:168
msgid "Pulse Step"
msgstr "Paso del pulso"
-#: ../gtk/gtkprogressbar.c:167
+#: ../gtk/gtkprogressbar.c:169
msgid "The fraction of total progress to move the bouncing block when pulsed"
msgstr ""
"La fracción del progreso total para mover el bloque rebotador cuando se pulsa"
-#: ../gtk/gtkprogressbar.c:175
+#: ../gtk/gtkprogressbar.c:177
msgid "Text to be displayed in the progress bar"
msgstr "Texto que se mostrará en la barra de progreso"
-#: ../gtk/gtkprogressbar.c:192
+#: ../gtk/gtkprogressbar.c:194
msgid "Show text"
msgstr "Mostrar texto"
-#: ../gtk/gtkprogressbar.c:193
+#: ../gtk/gtkprogressbar.c:195
msgid "Whether the progress is shown as text."
msgstr "Indica si el progreso se muestra como texto."
-#: ../gtk/gtkprogressbar.c:215
+#: ../gtk/gtkprogressbar.c:217
msgid ""
"The preferred place to ellipsize the string, if the progress bar does not "
"have enough room to display the entire string, if at all."
"El lugar preferido para la elipsis de la cadena, si la barra de progreso no "
"tiene suficiente espacio para mostrar la cadena completa."
-#: ../gtk/gtkprogressbar.c:222
+#: ../gtk/gtkprogressbar.c:224
msgid "X spacing"
msgstr "Espaciado X"
-#: ../gtk/gtkprogressbar.c:223
+#: ../gtk/gtkprogressbar.c:225
msgid "Extra spacing applied to the width of a progress bar."
msgstr "Espacio extra aplicado a la anchura de una barra de progreso."
-#: ../gtk/gtkprogressbar.c:228
+#: ../gtk/gtkprogressbar.c:230
msgid "Y spacing"
msgstr "Espaciado Y"
-#: ../gtk/gtkprogressbar.c:229
+#: ../gtk/gtkprogressbar.c:231
msgid "Extra spacing applied to the height of a progress bar."
msgstr "Espacio adicional aplicado a la altura >de una barra de progreso."
-#: ../gtk/gtkprogressbar.c:242
+#: ../gtk/gtkprogressbar.c:244
msgid "Minimum horizontal bar width"
msgstr "Anchura mínima de la barra horizontal"
-#: ../gtk/gtkprogressbar.c:243
+#: ../gtk/gtkprogressbar.c:245
msgid "The minimum horizontal width of the progress bar"
msgstr "La anchura mínima horizontal de la barra de progreso"
-#: ../gtk/gtkprogressbar.c:255
+#: ../gtk/gtkprogressbar.c:257
msgid "Minimum horizontal bar height"
msgstr "Altura mínima de la barra horizontal"
-#: ../gtk/gtkprogressbar.c:256
+#: ../gtk/gtkprogressbar.c:258
msgid "Minimum horizontal height of the progress bar"
msgstr "La altura mínima horizontal de la barra de progreso"
-#: ../gtk/gtkprogressbar.c:268
+#: ../gtk/gtkprogressbar.c:270
msgid "Minimum vertical bar width"
msgstr "Anchura mínima horizontal de la barra"
-#: ../gtk/gtkprogressbar.c:269
+#: ../gtk/gtkprogressbar.c:271
msgid "The minimum vertical width of the progress bar"
msgstr "La anchura mínima vertical de la barra de progreso"
-#: ../gtk/gtkprogressbar.c:281
+#: ../gtk/gtkprogressbar.c:283
msgid "Minimum vertical bar height"
msgstr "Altura mínima vertical de la barra"
-#: ../gtk/gtkprogressbar.c:282
+#: ../gtk/gtkprogressbar.c:284
msgid "The minimum vertical height of the progress bar"
msgstr "La altura mínima vertical de la barra de progreso"
"El valor devuelto por gtk_radio_action_get_current_value() cuando esta "
"acción es la acción actual de su grupo."
-#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163
-#: ../gtk/gtkradiomenuitem.c:423 ../gtk/gtkradiotoolbutton.c:85
+#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:164
+#: ../gtk/gtkradiomenuitem.c:427 ../gtk/gtkradiotoolbutton.c:85
msgid "Group"
msgstr "Grupo"
"La propiedad del valor del miembro actualmente activo del grupo al que esta "
"acción pertenece."
-#: ../gtk/gtkradiobutton.c:164
+#: ../gtk/gtkradiobutton.c:165
msgid "The radio button whose group this widget belongs to."
msgstr "El botón de radio a cuyo grupo pertenece este widget."
-#: ../gtk/gtkradiomenuitem.c:424
+#: ../gtk/gtkradiomenuitem.c:428
msgid "The radio menu item whose group this widget belongs to."
msgstr "El elemento del menú de radio a cuyo grupo pertenece este widget."
msgid "The radio tool button whose group this button belongs to."
msgstr "La herramienta de botón de radio a cuyo grupo pertenece este widget."
-#: ../gtk/gtkrange.c:418
+#: ../gtk/gtkrange.c:419
msgid "The GtkAdjustment that contains the current value of this range object"
msgstr "El GtkAdjustment que contiene el valor actual de este objeto de rango"
-#: ../gtk/gtkrange.c:426
+#: ../gtk/gtkrange.c:427
msgid "Invert direction slider moves to increase range value"
msgstr ""
"Invierte la dirección en que se mueve el deslizador para incrementar el "
"valor del rango"
-#: ../gtk/gtkrange.c:433
+#: ../gtk/gtkrange.c:434
msgid "Lower stepper sensitivity"
msgstr "Sensibilidad de la flecha inferior"
-#: ../gtk/gtkrange.c:434
+#: ../gtk/gtkrange.c:435
msgid ""
"The sensitivity policy for the stepper that points to the adjustment's lower "
"side"
"La directiva de sensibilidad del botón de desplazamiento que apunta al lado "
"más bajo del ajuste"
-#: ../gtk/gtkrange.c:442
+#: ../gtk/gtkrange.c:443
msgid "Upper stepper sensitivity"
msgstr "Sensibilidad de la flecha superior"
-#: ../gtk/gtkrange.c:443
+#: ../gtk/gtkrange.c:444
msgid ""
"The sensitivity policy for the stepper that points to the adjustment's upper "
"side"
"La directiva de sensibilidad del botón de flecha que apunta al lado más alto "
"del ajuste"
-#: ../gtk/gtkrange.c:460
+#: ../gtk/gtkrange.c:461
msgid "Show Fill Level"
msgstr "Mostrar nivel de relleno"
-#: ../gtk/gtkrange.c:461
+#: ../gtk/gtkrange.c:462
msgid "Whether to display a fill level indicator graphics on trough."
msgstr ""
"Indica si se debe mostrar el indicador de nivel de llenado en los gráficos "
"mientras se llena."
-#: ../gtk/gtkrange.c:477
+#: ../gtk/gtkrange.c:478
msgid "Restrict to Fill Level"
msgstr "Restringir al nivel de llenado"
-#: ../gtk/gtkrange.c:478
+#: ../gtk/gtkrange.c:479
msgid "Whether to restrict the upper boundary to the fill level."
msgstr "Indica si se debe restringir el borde superior al nivel de llenado."
-#: ../gtk/gtkrange.c:493
+#: ../gtk/gtkrange.c:494
msgid "Fill Level"
msgstr "Nivel de llenado"
-#: ../gtk/gtkrange.c:494
+#: ../gtk/gtkrange.c:495
msgid "The fill level."
msgstr "El nivel de llenado."
-#: ../gtk/gtkrange.c:511
+#: ../gtk/gtkrange.c:512
msgid "Round Digits"
msgstr "Redondear dígitos"
-#: ../gtk/gtkrange.c:512
+#: ../gtk/gtkrange.c:513
msgid "The number of digits to round the value to."
msgstr "El número de dígitos al que redondear el valor."
-#: ../gtk/gtkrange.c:520 ../gtk/gtkswitch.c:836
+#: ../gtk/gtkrange.c:521 ../gtk/gtkswitch.c:818
msgid "Slider Width"
msgstr "Anchura del deslizador"
-#: ../gtk/gtkrange.c:521
+#: ../gtk/gtkrange.c:522
msgid "Width of scrollbar or scale thumb"
msgstr "Anchura de la barra de desplazamiento o escala de miniatura"
-#: ../gtk/gtkrange.c:528
+#: ../gtk/gtkrange.c:529
msgid "Trough Border"
msgstr "Borde del carril"
-#: ../gtk/gtkrange.c:529
+#: ../gtk/gtkrange.c:530
msgid "Spacing between thumb/steppers and outer trough bevel"
msgstr ""
"Espaciado entre la marcador/flechas de desplazamiento y el bisel exterior "
"del carril"
-#: ../gtk/gtkrange.c:536
+#: ../gtk/gtkrange.c:537
msgid "Stepper Size"
msgstr "Tamaño del botón de flecha de desplazamiento"
-#: ../gtk/gtkrange.c:537
+#: ../gtk/gtkrange.c:538
msgid "Length of step buttons at ends"
msgstr "Longitud de los botones de flecha en los extremos"
-#: ../gtk/gtkrange.c:550
+#: ../gtk/gtkrange.c:551
msgid "Stepper Spacing"
msgstr "Espaciado de los botones de flecha de desplazamiento"
-#: ../gtk/gtkrange.c:551
+#: ../gtk/gtkrange.c:552
msgid "Spacing between step buttons and thumb"
msgstr "Espaciado entre los botones de flecha de desplazamiento y el marcador"
-#: ../gtk/gtkrange.c:558
+#: ../gtk/gtkrange.c:559
msgid "Arrow X Displacement"
msgstr "Desplazamiento de la flecha X"
-#: ../gtk/gtkrange.c:559
+#: ../gtk/gtkrange.c:560
msgid ""
"How far in the x direction to move the arrow when the button is depressed"
msgstr ""
"Distancia en la dirección «X» para mover la flecha cuando se suelta el botón "
-#: ../gtk/gtkrange.c:566
+#: ../gtk/gtkrange.c:567
msgid "Arrow Y Displacement"
msgstr "Desplazamiento de la flecha Y"
-#: ../gtk/gtkrange.c:567
+#: ../gtk/gtkrange.c:568
msgid ""
"How far in the y direction to move the arrow when the button is depressed"
msgstr ""
"Distancia en la dirección «Y» para mover la flecha cuando se suelta el botón "
-#: ../gtk/gtkrange.c:583
+#: ../gtk/gtkrange.c:584
msgid "Trough Under Steppers"
msgstr "Carril bajo las flechas de deslizamiento"
-#: ../gtk/gtkrange.c:584
+#: ../gtk/gtkrange.c:585
msgid ""
"Whether to draw trough for full length of range or exclude the steppers and "
"spacing"
"Indica si se debe dibujar para la longitud completa del rango o excluir las "
"flechas de desplazamiento y el espaciado"
-#: ../gtk/gtkrange.c:597
+#: ../gtk/gtkrange.c:598
msgid "Arrow scaling"
msgstr "Escalado de flechas"
-#: ../gtk/gtkrange.c:598
+#: ../gtk/gtkrange.c:599
msgid "Arrow scaling with regard to scroll button size"
msgstr ""
"Escalado de flechas en consideración con el tamaño del botón de "
msgid "The size of the recently used resources list"
msgstr "El tamaño de la lista de recursos usados recientemente"
-#: ../gtk/gtkscalebutton.c:218
+#: ../gtk/gtkscalebutton.c:219
msgid "The value of the scale"
msgstr "El valor de la escala"
-#: ../gtk/gtkscalebutton.c:228
+#: ../gtk/gtkscalebutton.c:229
msgid "The icon size"
msgstr "El tamaño del icono"
-#: ../gtk/gtkscalebutton.c:237
+#: ../gtk/gtkscalebutton.c:238
msgid ""
"The GtkAdjustment that contains the current value of this scale button object"
msgstr ""
"El GtkAdjustment que contiene el valor actual de este objeto de botón de "
"escala"
-#: ../gtk/gtkscalebutton.c:265
+#: ../gtk/gtkscalebutton.c:266
msgid "Icons"
msgstr "Iconos"
-#: ../gtk/gtkscalebutton.c:266
+#: ../gtk/gtkscalebutton.c:267
msgid "List of icon names"
msgstr "Lista de nombres de iconos"
-#: ../gtk/gtkscale.c:253
+#: ../gtk/gtkscale.c:255
msgid "The number of decimal places that are displayed in the value"
msgstr "El número de lugares decimales que se mostrarán en el valor"
-#: ../gtk/gtkscale.c:262
+#: ../gtk/gtkscale.c:264
msgid "Draw Value"
msgstr "Dibujar valor"
-#: ../gtk/gtkscale.c:263
+#: ../gtk/gtkscale.c:265
msgid "Whether the current value is displayed as a string next to the slider"
msgstr ""
"Indica si el valor actual se muestra como una cadena contigua al deslizador"
-#: ../gtk/gtkscale.c:270
+#: ../gtk/gtkscale.c:272
msgid "Value Position"
msgstr "Posición del valor"
-#: ../gtk/gtkscale.c:271
+#: ../gtk/gtkscale.c:273
msgid "The position in which the current value is displayed"
msgstr "La posición en que se muestra el valor actual"
-#: ../gtk/gtkscale.c:278
+#: ../gtk/gtkscale.c:280
msgid "Slider Length"
msgstr "Longitud del deslizador"
-#: ../gtk/gtkscale.c:279
+#: ../gtk/gtkscale.c:281
msgid "Length of scale's slider"
msgstr "Longitud de la escala del deslizador"
-#: ../gtk/gtkscale.c:287
+#: ../gtk/gtkscale.c:289
msgid "Value spacing"
msgstr "Espaciado del valor"
-#: ../gtk/gtkscale.c:288
+#: ../gtk/gtkscale.c:290
msgid "Space between value text and the slider/trough area"
msgstr "Espacio entre el texto del valor y el área del deslizador/carril"
msgid "Vertical Scrollable Policy"
msgstr "Directiva de desplazamiento vertical"
-#: ../gtk/gtkscrollbar.c:70
+#: ../gtk/gtkscrollbar.c:72
msgid "Minimum Slider Length"
msgstr "Longitud mínima del deslizador"
-#: ../gtk/gtkscrollbar.c:71
+#: ../gtk/gtkscrollbar.c:73
msgid "Minimum length of scrollbar slider"
msgstr "Longitud mínima de deslizador de la barras de desplazamiento"
-#: ../gtk/gtkscrollbar.c:79
+#: ../gtk/gtkscrollbar.c:81
msgid "Fixed slider size"
msgstr "Tamaño del deslizador fijo"
-#: ../gtk/gtkscrollbar.c:80
+#: ../gtk/gtkscrollbar.c:82
msgid "Don't change slider size, just lock it to the minimum length"
msgstr ""
"No cambiar el tamaño del deslizador, sólo bloquearlo a la longitud mínima"
-#: ../gtk/gtkscrollbar.c:101
+#: ../gtk/gtkscrollbar.c:103
msgid ""
"Display a second backward arrow button on the opposite end of the scrollbar"
msgstr ""
"Muestra un segundo botón con una flecha de retroceso en el extremo opuesto "
"de la barra de desplazamiento"
-#: ../gtk/gtkscrollbar.c:108
+#: ../gtk/gtkscrollbar.c:110
msgid ""
"Display a second forward arrow button on the opposite end of the scrollbar"
msgstr ""
msgid "Whether the separator is drawn, or just blank"
msgstr "Indica si el separador se dibuja, o sólo se deja en blanco"
-#: ../gtk/gtksettings.c:322
+#: ../gtk/gtksettings.c:321
msgid "Double Click Time"
msgstr "Tiempo del doble pulsación"
-#: ../gtk/gtksettings.c:323
+#: ../gtk/gtksettings.c:322
msgid ""
"Maximum time allowed between two clicks for them to be considered a double "
"click (in milliseconds)"
"Tiempo máximo permitido entre dos pulsaciones para ser considerados como una "
"pulsación doble (en milisegundos)"
-#: ../gtk/gtksettings.c:330
+#: ../gtk/gtksettings.c:329
msgid "Double Click Distance"
msgstr "Distancia de la pulsación doble"
-#: ../gtk/gtksettings.c:331
+#: ../gtk/gtksettings.c:330
msgid ""
"Maximum distance allowed between two clicks for them to be considered a "
"double click (in pixels)"
"Distancia máxima permitida entre dos pulsaciones para ser considerados como "
"una pulsación doble (en píxeles)"
-#: ../gtk/gtksettings.c:347
+#: ../gtk/gtksettings.c:346
msgid "Cursor Blink"
msgstr "Parpadeo del cursor"
-#: ../gtk/gtksettings.c:348
+#: ../gtk/gtksettings.c:347
msgid "Whether the cursor should blink"
msgstr "Indica si el cursor debe parpadear"
-#: ../gtk/gtksettings.c:355
+#: ../gtk/gtksettings.c:354
msgid "Cursor Blink Time"
msgstr "Tiempo de parpadeo del cursor"
-#: ../gtk/gtksettings.c:356
+#: ../gtk/gtksettings.c:355
msgid "Length of the cursor blink cycle, in milliseconds"
msgstr "Longitud del ciclo de parpadeo del cursor, en milisegundos"
-#: ../gtk/gtksettings.c:375
+#: ../gtk/gtksettings.c:374
msgid "Cursor Blink Timeout"
msgstr "Intervalo de parpadeo del cursor"
-#: ../gtk/gtksettings.c:376
+#: ../gtk/gtksettings.c:375
msgid "Time after which the cursor stops blinking, in seconds"
msgstr "Tiempo tras el que el cursor para de parpadear, en segundos"
-#: ../gtk/gtksettings.c:383
+#: ../gtk/gtksettings.c:382
msgid "Split Cursor"
msgstr "Dividir cursor"
-#: ../gtk/gtksettings.c:384
+#: ../gtk/gtksettings.c:383
msgid ""
"Whether two cursors should be displayed for mixed left-to-right and right-to-"
"left text"
"Indica si deben mostrarse dos cursores para el texto mezclado de izquierda-a-"
"derecha y derecha-a-izquierda"
-#: ../gtk/gtksettings.c:391
+#: ../gtk/gtksettings.c:390
msgid "Theme Name"
msgstr "Nombre del tema"
-#: ../gtk/gtksettings.c:392
+#: ../gtk/gtksettings.c:391
msgid "Name of theme to load"
msgstr "Nombre del tema que cargar"
-#: ../gtk/gtksettings.c:400
+#: ../gtk/gtksettings.c:399
msgid "Icon Theme Name"
msgstr "Nombre del tema de iconos"
-#: ../gtk/gtksettings.c:401
+#: ../gtk/gtksettings.c:400
msgid "Name of icon theme to use"
msgstr "Nombre del tema de iconos que utilizar"
-#: ../gtk/gtksettings.c:409
+#: ../gtk/gtksettings.c:408
msgid "Fallback Icon Theme Name"
msgstr "Nombre del tema de iconos de resguardo"
-#: ../gtk/gtksettings.c:410
+#: ../gtk/gtksettings.c:409
msgid "Name of a icon theme to fall back to"
msgstr "Nombre del tema de iconos que utilizar como resguardo"
-#: ../gtk/gtksettings.c:418
+#: ../gtk/gtksettings.c:417
msgid "Key Theme Name"
msgstr "Nombre del tema de teclas"
-#: ../gtk/gtksettings.c:419
+#: ../gtk/gtksettings.c:418
msgid "Name of key theme to load"
msgstr "Nombre del tema de teclas que cargar"
-#: ../gtk/gtksettings.c:427
+#: ../gtk/gtksettings.c:426
msgid "Menu bar accelerator"
msgstr "Acelerador de la barra de menús"
-#: ../gtk/gtksettings.c:428
+#: ../gtk/gtksettings.c:427
msgid "Keybinding to activate the menu bar"
msgstr "Combinación de teclas para activar la barra de menús"
-#: ../gtk/gtksettings.c:436
+#: ../gtk/gtksettings.c:435
msgid "Drag threshold"
msgstr "Umbral del arrastre"
-#: ../gtk/gtksettings.c:437
+#: ../gtk/gtksettings.c:436
msgid "Number of pixels the cursor can move before dragging"
msgstr ""
"Número de píxeles que el cursor puede mover antes de iniciar el arrastre"
-#: ../gtk/gtksettings.c:445
+#: ../gtk/gtksettings.c:444
msgid "Font Name"
msgstr "Nombre de la tipografía"
-#: ../gtk/gtksettings.c:446
+#: ../gtk/gtksettings.c:445
msgid "Name of default font to use"
msgstr "Nombre de la tipografía predeterminada a utilizar"
-#: ../gtk/gtksettings.c:468
+#: ../gtk/gtksettings.c:467
msgid "Icon Sizes"
msgstr "Tamaños de los iconos"
-#: ../gtk/gtksettings.c:469
+#: ../gtk/gtksettings.c:468
msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..."
msgstr "Lista de tamaños de los iconos (gtk-menu=16,16:gtk-button=20,20..."
-#: ../gtk/gtksettings.c:477
+#: ../gtk/gtksettings.c:476
msgid "GTK Modules"
msgstr "Módulos GTK"
-#: ../gtk/gtksettings.c:478
+#: ../gtk/gtksettings.c:477
msgid "List of currently active GTK modules"
msgstr "Lista de módulos GTK activos actualmente"
-#: ../gtk/gtksettings.c:486
+#: ../gtk/gtksettings.c:485
msgid "Xft Antialias"
msgstr "Suavizado Xft"
-#: ../gtk/gtksettings.c:487
+#: ../gtk/gtksettings.c:486
msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default"
msgstr ""
"Indica si se deben suavizar los bordes de las tipografías Xft; 0=no,1=sí, "
"-1=predeterminado"
-#: ../gtk/gtksettings.c:496
+#: ../gtk/gtksettings.c:495
msgid "Xft Hinting"
msgstr "Sugerencias Xft"
-#: ../gtk/gtksettings.c:497
+#: ../gtk/gtksettings.c:496
msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default"
msgstr ""
"Indica si se deben usar las sugerencias de las tipografías Xft; 0=no, 1 =sí, "
"-1=predeterminado"
-#: ../gtk/gtksettings.c:506
+#: ../gtk/gtksettings.c:505
msgid "Xft Hint Style"
msgstr "Estilo de sugerencias Xft"
-#: ../gtk/gtksettings.c:507
+#: ../gtk/gtksettings.c:506
msgid ""
"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull"
msgstr "Qué grado de sugerencias usar: ninguno, ligero, medio o completo"
-#: ../gtk/gtksettings.c:516
+#: ../gtk/gtksettings.c:515
msgid "Xft RGBA"
msgstr "Xft RGBA"
-#: ../gtk/gtksettings.c:517
+#: ../gtk/gtksettings.c:516
msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr"
msgstr "Tipo de suavizado de subpíxel: ninguno, rgb, bgr, vrgb, vbgr"
-#: ../gtk/gtksettings.c:526
+#: ../gtk/gtksettings.c:525
msgid "Xft DPI"
msgstr "PPP Xft (DPI)"
-#: ../gtk/gtksettings.c:527
+#: ../gtk/gtksettings.c:526
msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value"
msgstr ""
"Resolución para Xft, en 1024 * puntos/pulgada. -1 para usar el valor "
"predeterminado"
-#: ../gtk/gtksettings.c:536
+#: ../gtk/gtksettings.c:535
msgid "Cursor theme name"
msgstr "Nombre del tema del cursor"
-#: ../gtk/gtksettings.c:537
+#: ../gtk/gtksettings.c:536
msgid "Name of the cursor theme to use, or NULL to use the default theme"
msgstr ""
"Nombre del tema de cursor que utilizar, o NULL para usar el tema "
"predeterminado"
-#: ../gtk/gtksettings.c:545
+#: ../gtk/gtksettings.c:544
msgid "Cursor theme size"
msgstr "Tamaño del tema del cursor"
-#: ../gtk/gtksettings.c:546
+#: ../gtk/gtksettings.c:545
msgid "Size to use for cursors, or 0 to use the default size"
msgstr ""
"Tamaño que se va a usar para los cursores, o 0 para usar el tamaño "
"predeterminado"
-#: ../gtk/gtksettings.c:555
+#: ../gtk/gtksettings.c:554
msgid "Alternative button order"
msgstr "Orden de los botones alternativo"
-#: ../gtk/gtksettings.c:556
+#: ../gtk/gtksettings.c:555
msgid "Whether buttons in dialogs should use the alternative button order"
msgstr ""
"Indica si los botones en los diálogos deben usar un orden de botones "
"alternativo"
-#: ../gtk/gtksettings.c:573
+#: ../gtk/gtksettings.c:572
msgid "Alternative sort indicator direction"
msgstr "Dirección alternativa del indicador de ordenamiento"
-#: ../gtk/gtksettings.c:574
+#: ../gtk/gtksettings.c:573
msgid ""
"Whether the direction of the sort indicators in list and tree views is "
"inverted compared to the default (where down means ascending)"
"vista de árbol está invertida en comparación con la predeterminada (donde "
"abajo significa ascendente)"
-#: ../gtk/gtksettings.c:582
+#: ../gtk/gtksettings.c:581
msgid "Show the 'Input Methods' menu"
msgstr "Mostrar el menú de métodos de entrada"
-#: ../gtk/gtksettings.c:583
+#: ../gtk/gtksettings.c:582
msgid ""
"Whether the context menus of entries and text views should offer to change "
"the input method"
"Indica si los menús de contexto y las vistas de texto deben ofrecer cambiar "
"el método de entrada"
-#: ../gtk/gtksettings.c:591
+#: ../gtk/gtksettings.c:590
msgid "Show the 'Insert Unicode Control Character' menu"
msgstr "Mostrar el menú «Insertar carácter de control Unicode»"
-#: ../gtk/gtksettings.c:592
+#: ../gtk/gtksettings.c:591
msgid ""
"Whether the context menus of entries and text views should offer to insert "
"control characters"
"Indica si los menús de contexto de las estradas y las vistas de texto deben "
"ofrecer insertar caracteres de control"
-#: ../gtk/gtksettings.c:600
+#: ../gtk/gtksettings.c:599
msgid "Start timeout"
msgstr "Tiempo de expiración de inicio"
-#: ../gtk/gtksettings.c:601
+#: ../gtk/gtksettings.c:600
msgid "Starting value for timeouts, when button is pressed"
msgstr "Valor de inicio para las expiraciones, cuando se pulsa el botón"
-#: ../gtk/gtksettings.c:610
+#: ../gtk/gtksettings.c:609
msgid "Repeat timeout"
msgstr "Expiración de repetición"
-#: ../gtk/gtksettings.c:611
+#: ../gtk/gtksettings.c:610
msgid "Repeat value for timeouts, when button is pressed"
msgstr "Valor de repetición para expiraciones, cuando el botón se pulsa"
-#: ../gtk/gtksettings.c:620
+#: ../gtk/gtksettings.c:619
msgid "Expand timeout"
msgstr "Expiración del expansor"
-#: ../gtk/gtksettings.c:621
+#: ../gtk/gtksettings.c:620
msgid "Expand value for timeouts, when a widget is expanding a new region"
msgstr ""
"Valor de expansión para las expiraciones, cuando un widget está expandiendo "
"una región nueva"
-#: ../gtk/gtksettings.c:656
+#: ../gtk/gtksettings.c:655
msgid "Color scheme"
msgstr "Esquema de color"
-#: ../gtk/gtksettings.c:657
+#: ../gtk/gtksettings.c:656
msgid "A palette of named colors for use in themes"
msgstr "Una paleta de colores con nombre para usar en los temas"
-#: ../gtk/gtksettings.c:666
+#: ../gtk/gtksettings.c:665
msgid "Enable Animations"
msgstr "Activar animaciones"
-#: ../gtk/gtksettings.c:667
+#: ../gtk/gtksettings.c:666
msgid "Whether to enable toolkit-wide animations."
msgstr "Indica si se activan las animaciones para todo el toolkit."
-#: ../gtk/gtksettings.c:685
+#: ../gtk/gtksettings.c:684
msgid "Enable Touchscreen Mode"
msgstr "Activar modo pantalla táctil"
-#: ../gtk/gtksettings.c:686
+#: ../gtk/gtksettings.c:685
msgid "When TRUE, there are no motion notify events delivered on this screen"
msgstr ""
"Cuando esté a TRUE, no hay eventos de notificación de movimiento entregados "
"en esta pantalla"
-#: ../gtk/gtksettings.c:703
+#: ../gtk/gtksettings.c:702
msgid "Tooltip timeout"
msgstr "Tiempo de expiración de la sugerencia"
-#: ../gtk/gtksettings.c:704
+#: ../gtk/gtksettings.c:703
msgid "Timeout before tooltip is shown"
msgstr "Tiempo de expiración antes de que se muestre la sugerencia"
-#: ../gtk/gtksettings.c:729
+#: ../gtk/gtksettings.c:728
msgid "Tooltip browse timeout"
msgstr "Tiempo de las sugerencias de navegación"
-#: ../gtk/gtksettings.c:730
+#: ../gtk/gtksettings.c:729
msgid "Timeout before tooltip is shown when browse mode is enabled"
msgstr ""
"Tiempo de expiración antes de que se muestre la sugerencia cuando el modo de "
"navegación está activado"
-#: ../gtk/gtksettings.c:751
+#: ../gtk/gtksettings.c:750
msgid "Tooltip browse mode timeout"
msgstr "Tiempo de las sugerencias en modo navegación"
-#: ../gtk/gtksettings.c:752
+#: ../gtk/gtksettings.c:751
msgid "Timeout after which browse mode is disabled"
msgstr ""
"Tiempo de expiración después del cual se desactiva el modo de navegación"
-#: ../gtk/gtksettings.c:771
+#: ../gtk/gtksettings.c:770
msgid "Keynav Cursor Only"
msgstr "Sólo cursor para navegar con teclas"
-#: ../gtk/gtksettings.c:772
+#: ../gtk/gtksettings.c:771
msgid "When TRUE, there are only cursor keys available to navigate widgets"
msgstr ""
"Cuando sea TRUE, sólo hay teclas de cursos disponibles para navegar por los "
"widgets"
-#: ../gtk/gtksettings.c:789
+#: ../gtk/gtksettings.c:788
msgid "Keynav Wrap Around"
msgstr "Saltar al navegar con el teclado"
-#: ../gtk/gtksettings.c:790
+#: ../gtk/gtksettings.c:789
msgid "Whether to wrap around when keyboard-navigating widgets"
msgstr ""
"Indica si se ha de saltar alrededor cuando se navegue por los widgets con el "
"teclado"
-#: ../gtk/gtksettings.c:810
+#: ../gtk/gtksettings.c:809
msgid "Error Bell"
msgstr "Campana de error"
-#: ../gtk/gtksettings.c:811
+#: ../gtk/gtksettings.c:810
msgid "When TRUE, keyboard navigation and other errors will cause a beep"
msgstr ""
"Cuando sea TRUE, la navegación con el teclado y otros errores causarán un bip"
-#: ../gtk/gtksettings.c:828
+#: ../gtk/gtksettings.c:827
msgid "Color Hash"
msgstr "Hash del color"
-#: ../gtk/gtksettings.c:829
+#: ../gtk/gtksettings.c:828
msgid "A hash table representation of the color scheme."
msgstr "Una representación en tabla hash del esquema de color."
-#: ../gtk/gtksettings.c:837
+#: ../gtk/gtksettings.c:836
msgid "Default file chooser backend"
msgstr "Backend predeterminado del selector de archivos"
-#: ../gtk/gtksettings.c:838
+#: ../gtk/gtksettings.c:837
msgid "Name of the GtkFileChooser backend to use by default"
msgstr "Nombre del backend predeterminado del GtkFileChooser"
-#: ../gtk/gtksettings.c:855
+#: ../gtk/gtksettings.c:854
msgid "Default print backend"
msgstr "Backend predeterminado de impresión"
-#: ../gtk/gtksettings.c:856
+#: ../gtk/gtksettings.c:855
msgid "List of the GtkPrintBackend backends to use by default"
msgstr "Lista de backends GtkPrintBackend para usar por omisión"
-#: ../gtk/gtksettings.c:879
+#: ../gtk/gtksettings.c:878
msgid "Default command to run when displaying a print preview"
msgstr ""
"Comando predeterminado que ejecutar al mostrar una vista previa de impresión"
-#: ../gtk/gtksettings.c:880
+#: ../gtk/gtksettings.c:879
msgid "Command to run when displaying a print preview"
msgstr "Comando que ejecutar al mostrar una vista previa de impresión"
-#: ../gtk/gtksettings.c:896
+#: ../gtk/gtksettings.c:895
msgid "Enable Mnemonics"
msgstr "Activar mnemónicos"
-#: ../gtk/gtksettings.c:897
+#: ../gtk/gtksettings.c:896
msgid "Whether labels should have mnemonics"
msgstr "Indica si las etiquetas deben tener mnemónicos"
-#: ../gtk/gtksettings.c:913
+#: ../gtk/gtksettings.c:912
msgid "Enable Accelerators"
msgstr "Activar aceleradores"
-#: ../gtk/gtksettings.c:914
+#: ../gtk/gtksettings.c:913
msgid "Whether menu items should have accelerators"
msgstr "Indica si los elementos del menú deben tener aceleradores"
-#: ../gtk/gtksettings.c:931
+#: ../gtk/gtksettings.c:930
msgid "Recent Files Limit"
msgstr "Límite de archivos recientes"
-#: ../gtk/gtksettings.c:932
+#: ../gtk/gtksettings.c:931
msgid "Number of recently used files"
msgstr "Número de archivos usados recientemente"
-#: ../gtk/gtksettings.c:950
+#: ../gtk/gtksettings.c:949
msgid "Default IM module"
msgstr "Módulo de método de entrada predeterminado"
-#: ../gtk/gtksettings.c:951
+#: ../gtk/gtksettings.c:950
msgid "Which IM module should be used by default"
msgstr "Qué módulo de método de entrada se debe usar de forma predeterminada"
-#: ../gtk/gtksettings.c:969
+#: ../gtk/gtksettings.c:968
msgid "Recent Files Max Age"
msgstr "Antigüedad máxima de los archivos recientes"
-#: ../gtk/gtksettings.c:970
+#: ../gtk/gtksettings.c:969
msgid "Maximum age of recently used files, in days"
msgstr "Máxima antigüedad para los archivos recientemente usados, en días"
-#: ../gtk/gtksettings.c:979
+#: ../gtk/gtksettings.c:978
msgid "Fontconfig configuration timestamp"
msgstr "Configuración de la marca de tiempo de fontconfig"
-#: ../gtk/gtksettings.c:980
+#: ../gtk/gtksettings.c:979
msgid "Timestamp of current fontconfig configuration"
msgstr "Marca de tiempo de la configuración actual de fontconfig"
-#: ../gtk/gtksettings.c:1002
+#: ../gtk/gtksettings.c:1001
msgid "Sound Theme Name"
msgstr "Nombre del tema de sonido"
-#: ../gtk/gtksettings.c:1003
+#: ../gtk/gtksettings.c:1002
msgid "XDG sound theme name"
msgstr "Nombre del tema de sonido XDG"
#. Translators: this means sounds that are played as feedback to user input
-#: ../gtk/gtksettings.c:1025
+#: ../gtk/gtksettings.c:1024
msgid "Audible Input Feedback"
msgstr "Contexto de entrada audible"
-#: ../gtk/gtksettings.c:1026
+#: ../gtk/gtksettings.c:1025
msgid "Whether to play event sounds as feedback to user input"
msgstr ""
"Indica si se deben reproducir eventos como respuesta a las entradas del "
"usuario"
-#: ../gtk/gtksettings.c:1047
+#: ../gtk/gtksettings.c:1046
msgid "Enable Event Sounds"
msgstr "Activar eventos de sonido"
-#: ../gtk/gtksettings.c:1048
+#: ../gtk/gtksettings.c:1047
msgid "Whether to play any event sounds at all"
msgstr "Indica si se debe reproducir cualquier evento de sonido"
-#: ../gtk/gtksettings.c:1063
+#: ../gtk/gtksettings.c:1062
msgid "Enable Tooltips"
msgstr "Activar sugerencias"
-#: ../gtk/gtksettings.c:1064
+#: ../gtk/gtksettings.c:1063
msgid "Whether tooltips should be shown on widgets"
msgstr "Indica si se deben mostrar las sugerencias en los widgets"
-#: ../gtk/gtksettings.c:1077
+#: ../gtk/gtksettings.c:1076
msgid "Toolbar style"
msgstr "Estilo de la barra de herramientas"
-#: ../gtk/gtksettings.c:1078
+#: ../gtk/gtksettings.c:1077
msgid ""
"Whether default toolbars have text only, text and icons, icons only, etc."
msgstr ""
"Indica si las barras de herramientas predeterminadas tienen sólo texto, "
"texto e iconos, sólo iconos, etc."
-#: ../gtk/gtksettings.c:1092
+#: ../gtk/gtksettings.c:1091
msgid "Toolbar Icon Size"
msgstr "Tamaño del icono de la barra de herramientas"
-#: ../gtk/gtksettings.c:1093
+#: ../gtk/gtksettings.c:1092
msgid "The size of icons in default toolbars."
msgstr "El tamaño de los iconos el las barras de herramientas."
-#: ../gtk/gtksettings.c:1110
+#: ../gtk/gtksettings.c:1109
msgid "Auto Mnemonics"
msgstr "Mnemónicos automáticos"
-#: ../gtk/gtksettings.c:1111
+#: ../gtk/gtksettings.c:1110
msgid ""
"Whether mnemonics should be automatically shown and hidden when the user "
"presses the mnemonic activator."
"Indica si se deben mostrar y ocultar automáticamente los mnemónicos cuando "
"el usuario pulsa el activador de mnemónicos."
-#: ../gtk/gtksettings.c:1136
+#: ../gtk/gtksettings.c:1135
msgid "Application prefers a dark theme"
msgstr "La aplicación prefiere un tema oscuro"
-#: ../gtk/gtksettings.c:1137
+#: ../gtk/gtksettings.c:1136
msgid "Whether the application prefers to have a dark theme."
msgstr "Indica si la aplicación prefiere un tema oscuro."
-#: ../gtk/gtksettings.c:1152
+#: ../gtk/gtksettings.c:1151
msgid "Show button images"
msgstr "Mostrar imágenes en los botones"
-#: ../gtk/gtksettings.c:1153
+#: ../gtk/gtksettings.c:1152
msgid "Whether images should be shown on buttons"
msgstr "Indica si se deben mostrar las imágenes en los botones"
-#: ../gtk/gtksettings.c:1161 ../gtk/gtksettings.c:1255
+#: ../gtk/gtksettings.c:1160 ../gtk/gtksettings.c:1254
msgid "Select on focus"
msgstr "Seleccionar al enfocar"
-#: ../gtk/gtksettings.c:1162
+#: ../gtk/gtksettings.c:1161
msgid "Whether to select the contents of an entry when it is focused"
msgstr ""
"Indica si se deben seleccionar los contenidos de una entrada cuando obtiene "
"el foco"
-#: ../gtk/gtksettings.c:1179
+#: ../gtk/gtksettings.c:1178
msgid "Password Hint Timeout"
msgstr "Tiempo de expiración del hint de contraseña"
-#: ../gtk/gtksettings.c:1180
+#: ../gtk/gtksettings.c:1179
msgid "How long to show the last input character in hidden entries"
msgstr ""
"Indica durante cuánto tiempo mostrar el último carácter en las entradas "
"ocultas"
-#: ../gtk/gtksettings.c:1189
+#: ../gtk/gtksettings.c:1188
msgid "Show menu images"
msgstr "Mostrar imágenes del menú"
-#: ../gtk/gtksettings.c:1190
+#: ../gtk/gtksettings.c:1189
msgid "Whether images should be shown in menus"
msgstr "Indica si deben mostrarse o no las imágenes en los menús"
-#: ../gtk/gtksettings.c:1198
+#: ../gtk/gtksettings.c:1197
msgid "Delay before drop down menus appear"
msgstr "Retardo antes de que aparezcan los menús desplegables"
-#: ../gtk/gtksettings.c:1199
+#: ../gtk/gtksettings.c:1198
msgid "Delay before the submenus of a menu bar appear"
msgstr "Retardo antes de que aparezcan los submenús de una barra de menús"
-#: ../gtk/gtksettings.c:1216
+#: ../gtk/gtksettings.c:1215
msgid "Scrolled Window Placement"
msgstr "Colocación de la ventana donde se ha desplazado"
-#: ../gtk/gtksettings.c:1217
+#: ../gtk/gtksettings.c:1216
msgid ""
"Where the contents of scrolled windows are located with respect to the "
"scrollbars, if not overridden by the scrolled window's own placement."
"respecto a las barras de desplazamiento, si no toma precedencia por el "
"propio emplazamiento de la ventana donde se hizo scroll."
-#: ../gtk/gtksettings.c:1226
+#: ../gtk/gtksettings.c:1225
msgid "Can change accelerators"
msgstr "Puede cambiar aceleradores"
-#: ../gtk/gtksettings.c:1227
+#: ../gtk/gtksettings.c:1226
msgid ""
"Whether menu accelerators can be changed by pressing a key over the menu item"
msgstr ""
"Indica si los aceleradores del menú pueden cambiarse pulsando una tecla "
"sobre el elemento del menú"
-#: ../gtk/gtksettings.c:1235
+#: ../gtk/gtksettings.c:1234
msgid "Delay before submenus appear"
msgstr "Retraso antes de que aparezcan los submenús"
-#: ../gtk/gtksettings.c:1236
+#: ../gtk/gtksettings.c:1235
msgid ""
"Minimum time the pointer must stay over a menu item before the submenu appear"
msgstr ""
"Tiempo mínimo en que el puntero debe permanecer sobre un elemento de menú "
"antes de que el submenú aparezca"
-#: ../gtk/gtksettings.c:1245
+#: ../gtk/gtksettings.c:1244
msgid "Delay before hiding a submenu"
msgstr "Retraso antes de ocultar un submenú"
-#: ../gtk/gtksettings.c:1246
+#: ../gtk/gtksettings.c:1245
msgid ""
"The time before hiding a submenu when the pointer is moving towards the "
"submenu"
"El tiempo antes de ocultar un submenú cuando el puntero se este moviendo "
"hacia el submenú"
-#: ../gtk/gtksettings.c:1256
+#: ../gtk/gtksettings.c:1255
msgid "Whether to select the contents of a selectable label when it is focused"
msgstr ""
"Indica si se debe seleccionar el contenido de una etiqueta seleccionable "
"cuando obtiene el foco"
-#: ../gtk/gtksettings.c:1264
+#: ../gtk/gtksettings.c:1263
msgid "Custom palette"
msgstr "Paleta personalizada"
-#: ../gtk/gtksettings.c:1265
+#: ../gtk/gtksettings.c:1264
msgid "Palette to use in the color selector"
msgstr "Paleta que se usará en el selector de colores"
-#: ../gtk/gtksettings.c:1273
+#: ../gtk/gtksettings.c:1272
msgid "IM Preedit style"
msgstr "Estilo de preedición del ME"
-#: ../gtk/gtksettings.c:1274
+#: ../gtk/gtksettings.c:1273
msgid "How to draw the input method preedit string"
msgstr "Cómo dibujar la cadena del método de entrada de preedición"
-#: ../gtk/gtksettings.c:1283
+#: ../gtk/gtksettings.c:1282
msgid "IM Status style"
msgstr "Estilo del estado ME"
-#: ../gtk/gtksettings.c:1284
+#: ../gtk/gtksettings.c:1283
msgid "How to draw the input method statusbar"
msgstr "Cómo dibujar el método de entrada de la barra de estado"
"Si es TRUE, los widgets no mapeados se ignoran al determinar el tamaño del "
"grupo"
-#: ../gtk/gtkspinbutton.c:329
+#: ../gtk/gtkspinbutton.c:331
msgid "Climb Rate"
msgstr "Tasa de subida"
-#: ../gtk/gtkspinbutton.c:349
+#: ../gtk/gtkspinbutton.c:351
msgid "Snap to Ticks"
msgstr "Ajustarse a los ticks"
-#: ../gtk/gtkspinbutton.c:350
+#: ../gtk/gtkspinbutton.c:352
msgid ""
"Whether erroneous values are automatically changed to a spin button's "
"nearest step increment"
"Indica si los valores erróneos se cambian por el valor más cercano de un "
"botón incrementable"
-#: ../gtk/gtkspinbutton.c:357
+#: ../gtk/gtkspinbutton.c:359
msgid "Numeric"
msgstr "Numérico"
-#: ../gtk/gtkspinbutton.c:358
+#: ../gtk/gtkspinbutton.c:360
msgid "Whether non-numeric characters should be ignored"
msgstr "Indica si se ignoran los caracteres no numéricos"
-#: ../gtk/gtkspinbutton.c:365
+#: ../gtk/gtkspinbutton.c:367
msgid "Wrap"
msgstr "Volver al inicio"
-#: ../gtk/gtkspinbutton.c:366
+#: ../gtk/gtkspinbutton.c:368
msgid "Whether a spin button should wrap upon reaching its limits"
msgstr ""
"Indica si un botón giratorio debe volver al inicio al alcanzar sus límites"
-#: ../gtk/gtkspinbutton.c:373
+#: ../gtk/gtkspinbutton.c:375
msgid "Update Policy"
msgstr "Norma de actualización"
-#: ../gtk/gtkspinbutton.c:374
+#: ../gtk/gtkspinbutton.c:376
msgid ""
"Whether the spin button should update always, or only when the value is legal"
msgstr ""
"Indica si el botón incrementable se actualiza siempre, o sólo cuando el "
"valor es legal"
-#: ../gtk/gtkspinbutton.c:383
+#: ../gtk/gtkspinbutton.c:385
msgid "Reads the current value, or sets a new value"
msgstr "Lee el valor actual, o establece un valor nuevo"
-#: ../gtk/gtkspinbutton.c:392
+#: ../gtk/gtkspinbutton.c:394
msgid "Style of bevel around the spin button"
msgstr "Estilo de bisel alrededor del botón giratorio"
-#: ../gtk/gtkspinner.c:119
+#: ../gtk/gtkspinner.c:116
msgid "Whether the spinner is active"
msgstr "Indica si el marcador incrementable está activo"
-#: ../gtk/gtkstatusbar.c:182
+#: ../gtk/gtkstatusbar.c:183
msgid "Style of bevel around the statusbar text"
msgstr "Estilo del bisel alrededor del texto de la barra de estado"
msgid "The orientation of the tray"
msgstr "La orientación de la bandeja"
-#: ../gtk/gtkstatusicon.c:370 ../gtk/gtkwidget.c:1073
+#: ../gtk/gtkstatusicon.c:370 ../gtk/gtkwidget.c:1089
msgid "Has tooltip"
msgstr "Tiene consejo"
msgid "Whether this tray icon has a tooltip"
msgstr "Indica si el icono de la bandeja tiene un consejo"
-#: ../gtk/gtkstatusicon.c:396 ../gtk/gtkwidget.c:1094
+#: ../gtk/gtkstatusicon.c:396 ../gtk/gtkwidget.c:1110
msgid "Tooltip Text"
msgstr "Texto de la sugerencia"
-#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1095 ../gtk/gtkwidget.c:1116
+#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1111 ../gtk/gtkwidget.c:1132
msgid "The contents of the tooltip for this widget"
msgstr "El contenido de las sugerencias para este widget"
-#: ../gtk/gtkstatusicon.c:420 ../gtk/gtkwidget.c:1115
+#: ../gtk/gtkstatusicon.c:420 ../gtk/gtkwidget.c:1131
msgid "Tooltip markup"
msgstr "Marcado de sugerencias"
msgid "GtkStyleContext to get style from"
msgstr "GtkStyleContext del que obtener el estilo"
-#: ../gtk/gtkstylecontext.c:545
+#: ../gtk/gtkstylecontext.c:432
msgid "The associated GdkScreen"
msgstr "La GdkScreen asociada"
-#: ../gtk/gtkstylecontext.c:551
+#: ../gtk/gtkstylecontext.c:438
msgid "Direction"
msgstr "Dirección"
-#: ../gtk/gtkstylecontext.c:552 ../gtk/gtktexttag.c:269
+#: ../gtk/gtkstylecontext.c:439 ../gtk/gtktexttag.c:269
msgid "Text direction"
msgstr "Dirección del texto"
-#: ../gtk/gtkswitch.c:802
+#: ../gtk/gtkswitch.c:785
msgid "Whether the switch is on or off"
msgstr "Indica si el interruptor está encendido o apagado"
-#: ../gtk/gtkswitch.c:837
+#: ../gtk/gtkswitch.c:819
msgid "The minimum width of the handle"
msgstr "La anchura mínima del tirador"
"tema, etc. por lo cual se recomienda. Pango define previamente algunas "
"escalas tales como PANGO_SCALE_X_LARGE"
-#: ../gtk/gtktexttag.c:387 ../gtk/gtktextview.c:705
+#: ../gtk/gtktexttag.c:387 ../gtk/gtktextview.c:704
msgid "Left, right, or center justification"
msgstr "Justificación a la izquierda, derecha o centro"
msgid "Left margin"
msgstr "Margen izquierdo"
-#: ../gtk/gtktexttag.c:414 ../gtk/gtktextview.c:714
+#: ../gtk/gtktexttag.c:414 ../gtk/gtktextview.c:713
msgid "Width of the left margin in pixels"
msgstr "Anchura del margen izquierdo en píxeles"
msgid "Right margin"
msgstr "Margen derecho"
-#: ../gtk/gtktexttag.c:424 ../gtk/gtktextview.c:724
+#: ../gtk/gtktexttag.c:424 ../gtk/gtktextview.c:723
msgid "Width of the right margin in pixels"
msgstr "Anchura del margen derecho en píxeles"
-#: ../gtk/gtktexttag.c:434 ../gtk/gtktextview.c:733
+#: ../gtk/gtktexttag.c:434 ../gtk/gtktextview.c:732
msgid "Indent"
msgstr "Sangrar"
-#: ../gtk/gtktexttag.c:435 ../gtk/gtktextview.c:734
+#: ../gtk/gtktexttag.c:435 ../gtk/gtktextview.c:733
msgid "Amount to indent the paragraph, in pixels"
msgstr "Número de píxeles para el sangrado del párrafo"
msgid "Pixels above lines"
msgstr "Píxeles encima de las líneas"
-#: ../gtk/gtktexttag.c:456 ../gtk/gtktextview.c:658
+#: ../gtk/gtktexttag.c:456 ../gtk/gtktextview.c:657
msgid "Pixels of blank space above paragraphs"
msgstr "Píxeles de espacio en blanco encima de los párrafos"
msgid "Pixels below lines"
msgstr "Píxeles debajo de las líneas"
-#: ../gtk/gtktexttag.c:466 ../gtk/gtktextview.c:668
+#: ../gtk/gtktexttag.c:466 ../gtk/gtktextview.c:667
msgid "Pixels of blank space below paragraphs"
msgstr "Píxeles de espacio en blanco debajo de los párrafos"
msgid "Pixels inside wrap"
msgstr "Píxeles dentro del ajuste"
-#: ../gtk/gtktexttag.c:476 ../gtk/gtktextview.c:678
+#: ../gtk/gtktexttag.c:476 ../gtk/gtktextview.c:677
msgid "Pixels of blank space between wrapped lines in a paragraph"
msgstr "Píxeles de espacio en blanco entre las líneas ajustadas en un párrafo"
-#: ../gtk/gtktexttag.c:503 ../gtk/gtktextview.c:696
+#: ../gtk/gtktexttag.c:503 ../gtk/gtktextview.c:695
msgid ""
"Whether to wrap lines never, at word boundaries, or at character boundaries"
msgstr ""
"Indica si deben ajustarse las líneas, a los límites de las palabras, a los "
"límites de los caracteres, o nunca"
-#: ../gtk/gtktexttag.c:512 ../gtk/gtktextview.c:743
+#: ../gtk/gtktexttag.c:512 ../gtk/gtktextview.c:742
msgid "Tabs"
msgstr "Pestañas"
-#: ../gtk/gtktexttag.c:513 ../gtk/gtktextview.c:744
+#: ../gtk/gtktexttag.c:513 ../gtk/gtktextview.c:743
msgid "Custom tabs for this text"
msgstr "Pestañas personalizadas para este texto"
msgid "Whether this tag affects the paragraph background color"
msgstr "Indica si esta etiqueta afecta el color de fondo del parágrafo"
-#: ../gtk/gtktextview.c:657
+#: ../gtk/gtktextview.c:656
msgid "Pixels Above Lines"
msgstr "Píxeles sobre las líneas"
-#: ../gtk/gtktextview.c:667
+#: ../gtk/gtktextview.c:666
msgid "Pixels Below Lines"
msgstr "Píxeles por debajo de las líneas"
-#: ../gtk/gtktextview.c:677
+#: ../gtk/gtktextview.c:676
msgid "Pixels Inside Wrap"
msgstr "Píxeles dentro del ajuste"
-#: ../gtk/gtktextview.c:695
+#: ../gtk/gtktextview.c:694
msgid "Wrap Mode"
msgstr "Modo de ajuste"
-#: ../gtk/gtktextview.c:713
+#: ../gtk/gtktextview.c:712
msgid "Left Margin"
msgstr "Margen izquierdo"
-#: ../gtk/gtktextview.c:723
+#: ../gtk/gtktextview.c:722
msgid "Right Margin"
msgstr "Margen derecho"
-#: ../gtk/gtktextview.c:751
+#: ../gtk/gtktextview.c:750
msgid "Cursor Visible"
msgstr "Cursor visible"
-#: ../gtk/gtktextview.c:752
+#: ../gtk/gtktextview.c:751
msgid "If the insertion cursor is shown"
msgstr "Si se muestra el cursor de inserción"
-#: ../gtk/gtktextview.c:759
+#: ../gtk/gtktextview.c:758
msgid "Buffer"
msgstr "Búfer"
-#: ../gtk/gtktextview.c:760
+#: ../gtk/gtktextview.c:759
msgid "The buffer which is displayed"
msgstr "El búfer que se está mostrando"
-#: ../gtk/gtktextview.c:768
+#: ../gtk/gtktextview.c:767
msgid "Whether entered text overwrites existing contents"
msgstr "Indica si el texto introducido sobreescribe el existente"
-#: ../gtk/gtktextview.c:775
+#: ../gtk/gtktextview.c:774
msgid "Accepts tab"
msgstr "Acepta tabuladores"
-#: ../gtk/gtktextview.c:776
+#: ../gtk/gtktextview.c:775
msgid "Whether Tab will result in a tab character being entered"
msgstr "Indica si Tab resultará en la introducción de un carácter tabulador"
-#: ../gtk/gtktextview.c:811
+#: ../gtk/gtktextview.c:810
msgid "Error underline color"
msgstr "Color de subrayado de errores"
-#: ../gtk/gtktextview.c:812
+#: ../gtk/gtktextview.c:811
msgid "Color with which to draw error-indication underlines"
msgstr "Color con el que dibujar el subrayado de indicación de errores"
-#: ../gtk/gtkthemingengine.c:258
+#: ../gtk/gtkthemingengine.c:259
msgid "Theming engine name"
msgstr "Nombre del motor de temas"
msgid "Whether the toggle action should be active"
msgstr "Indica si la acción de conmutación debe estar activa"
-#: ../gtk/gtktogglebutton.c:178 ../gtk/gtktoggletoolbutton.c:128
+#: ../gtk/gtktogglebutton.c:179 ../gtk/gtktoggletoolbutton.c:128
msgid "If the toggle button should be pressed in"
msgstr "Si el botón de conmutación debe estar pulsado"
-#: ../gtk/gtktogglebutton.c:186
+#: ../gtk/gtktogglebutton.c:187
msgid "If the toggle button is in an \"in between\" state"
msgstr "Si el botón de conmutación está en un estado «intermedio»"
-#: ../gtk/gtktogglebutton.c:193
+#: ../gtk/gtktogglebutton.c:194
msgid "Draw Indicator"
msgstr "Indicador de dibujo"
-#: ../gtk/gtktogglebutton.c:194
+#: ../gtk/gtktogglebutton.c:195
msgid "If the toggle part of the button is displayed"
msgstr "Si se muestra la parte de conmutación del botón"
-#: ../gtk/gtktoolbar.c:492 ../gtk/gtktoolpalette.c:1036
+#: ../gtk/gtktoolbar.c:499 ../gtk/gtktoolpalette.c:1038
msgid "Toolbar Style"
msgstr "Estilo de la barra de herramientas"
-#: ../gtk/gtktoolbar.c:493
+#: ../gtk/gtktoolbar.c:500
msgid "How to draw the toolbar"
msgstr "Cómo dibujar la barra de herramientas"
-#: ../gtk/gtktoolbar.c:500
+#: ../gtk/gtktoolbar.c:507
msgid "Show Arrow"
msgstr "Mostrar flecha"
-#: ../gtk/gtktoolbar.c:501
+#: ../gtk/gtktoolbar.c:508
msgid "If an arrow should be shown if the toolbar doesn't fit"
msgstr ""
"Indica si debe mostrarse una flecha si no cabe la barra de herramientas"
-#: ../gtk/gtktoolbar.c:522
+#: ../gtk/gtktoolbar.c:529
msgid "Size of icons in this toolbar"
msgstr "Tamaño de los iconos en esta barra de herramientas"
-#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1022
+#: ../gtk/gtktoolbar.c:544 ../gtk/gtktoolpalette.c:1024
msgid "Icon size set"
msgstr "Tamaño del icono establecido"
-#: ../gtk/gtktoolbar.c:538 ../gtk/gtktoolpalette.c:1023
+#: ../gtk/gtktoolbar.c:545 ../gtk/gtktoolpalette.c:1025
msgid "Whether the icon-size property has been set"
msgstr "Indica si se ha establecido la propiedad de tamaño del icono"
-#: ../gtk/gtktoolbar.c:547
+#: ../gtk/gtktoolbar.c:554
msgid "Whether the item should receive extra space when the toolbar grows"
msgstr ""
"Indica si el elemento debe recibir espacio extra cuando la barra crezca"
-#: ../gtk/gtktoolbar.c:555 ../gtk/gtktoolitemgroup.c:1645
+#: ../gtk/gtktoolbar.c:562 ../gtk/gtktoolitemgroup.c:1646
msgid "Whether the item should be the same size as other homogeneous items"
msgstr ""
"Indica si el elemento debe ser del mismo tamaño que otros elementos "
"homogéneos"
-#: ../gtk/gtktoolbar.c:562
+#: ../gtk/gtktoolbar.c:569
msgid "Spacer size"
msgstr "Tamaño del espaciador"
-#: ../gtk/gtktoolbar.c:563
+#: ../gtk/gtktoolbar.c:570
msgid "Size of spacers"
msgstr "Tamaño de los espaciadores"
-#: ../gtk/gtktoolbar.c:572
+#: ../gtk/gtktoolbar.c:579
msgid "Amount of border space between the toolbar shadow and the buttons"
msgstr ""
"Número de espacio del borde entre la sombra de la barra de herramientas y "
"los botones"
-#: ../gtk/gtktoolbar.c:580
+#: ../gtk/gtktoolbar.c:587
msgid "Maximum child expand"
msgstr "Expansión de hijos máxima"
-#: ../gtk/gtktoolbar.c:581
+#: ../gtk/gtktoolbar.c:588
msgid "Maximum amount of space an expandable item will be given"
msgstr "Cantidad máxima de espacio que se le dará a un elemento expandible"
-#: ../gtk/gtktoolbar.c:589
+#: ../gtk/gtktoolbar.c:596
msgid "Space style"
msgstr "Estilo del espacio"
-#: ../gtk/gtktoolbar.c:590
+#: ../gtk/gtktoolbar.c:597
msgid "Whether spacers are vertical lines or just blank"
msgstr "Indica si los espaciadores son líneas verticales o sólo blancos"
-#: ../gtk/gtktoolbar.c:597
+#: ../gtk/gtktoolbar.c:604
msgid "Button relief"
msgstr "Borde del botón"
-#: ../gtk/gtktoolbar.c:598
+#: ../gtk/gtktoolbar.c:605
msgid "Type of bevel around toolbar buttons"
msgstr "Tipo de bisel alrededor de los botones de la barra de herramientas"
-#: ../gtk/gtktoolbar.c:605
+#: ../gtk/gtktoolbar.c:612
msgid "Style of bevel around the toolbar"
msgstr "Estilo del bisel alrededor de la barra de herramientas"
"Cuando está a TRUE, los botones de la barra de herramientas muestran texto "
"en modo GTK_TOOLBAR_BOTH_HORIZ"
-#: ../gtk/gtktoolitemgroup.c:1592
+#: ../gtk/gtktoolitemgroup.c:1593
msgid "The human-readable title of this item group"
msgstr "El título leíble por humanos de este grupo de elementos"
-#: ../gtk/gtktoolitemgroup.c:1599
+#: ../gtk/gtktoolitemgroup.c:1600
msgid "A widget to display in place of the usual label"
msgstr "Un widget para mostrar en lugar de la usual etiqueta"
-#: ../gtk/gtktoolitemgroup.c:1605
+#: ../gtk/gtktoolitemgroup.c:1606
msgid "Collapsed"
msgstr "Contraído"
-#: ../gtk/gtktoolitemgroup.c:1606
+#: ../gtk/gtktoolitemgroup.c:1607
msgid "Whether the group has been collapsed and items are hidden"
msgstr "Indica si el grupo se ha colapsado y sus elementos están ocultos"
-#: ../gtk/gtktoolitemgroup.c:1612
+#: ../gtk/gtktoolitemgroup.c:1613
msgid "ellipsize"
msgstr "elipsis"
-#: ../gtk/gtktoolitemgroup.c:1613
+#: ../gtk/gtktoolitemgroup.c:1614
msgid "Ellipsize for item group headers"
msgstr "Elipsis para las cabeceras de grupo de los elementos"
-#: ../gtk/gtktoolitemgroup.c:1619
+#: ../gtk/gtktoolitemgroup.c:1620
msgid "Header Relief"
msgstr "Relieve de la cabecera"
-#: ../gtk/gtktoolitemgroup.c:1620
+#: ../gtk/gtktoolitemgroup.c:1621
msgid "Relief of the group header button"
msgstr "Relieve del botón de cabecera del grupo"
-#: ../gtk/gtktoolitemgroup.c:1635
+#: ../gtk/gtktoolitemgroup.c:1636
msgid "Header Spacing"
msgstr "Espaciado de la cabecera"
-#: ../gtk/gtktoolitemgroup.c:1636
+#: ../gtk/gtktoolitemgroup.c:1637
msgid "Spacing between expander arrow and caption"
msgstr "Espaciado entre la flecha del expansor y la descripción"
-#: ../gtk/gtktoolitemgroup.c:1652
+#: ../gtk/gtktoolitemgroup.c:1653
msgid "Whether the item should receive extra space when the group grows"
msgstr "Indica si el elemento debe recibir espacio extra cuando el grupo crece"
-#: ../gtk/gtktoolitemgroup.c:1659
+#: ../gtk/gtktoolitemgroup.c:1660
msgid "Whether the item should fill the available space"
msgstr "Indica si el elemento debería llenar todo el espacio disponible"
-#: ../gtk/gtktoolitemgroup.c:1665
+#: ../gtk/gtktoolitemgroup.c:1666
msgid "New Row"
msgstr "Fila nueva"
-#: ../gtk/gtktoolitemgroup.c:1666
+#: ../gtk/gtktoolitemgroup.c:1667
msgid "Whether the item should start a new row"
msgstr "Indica si el elemento debería iniciar una fila nueva"
-#: ../gtk/gtktoolitemgroup.c:1673
+#: ../gtk/gtktoolitemgroup.c:1674
msgid "Position of the item within this group"
msgstr "Posición del elemento en su grupo"
-#: ../gtk/gtktoolpalette.c:1007
+#: ../gtk/gtktoolpalette.c:1009
msgid "Size of icons in this tool palette"
msgstr "Tamaño de los iconos en esta paleta de herramientas"
-#: ../gtk/gtktoolpalette.c:1037
+#: ../gtk/gtktoolpalette.c:1039
msgid "Style of items in the tool palette"
msgstr "Estilo de los elementos en la paleta de herramientas"
-#: ../gtk/gtktoolpalette.c:1053
+#: ../gtk/gtktoolpalette.c:1055
msgid "Exclusive"
msgstr "Exclusivo"
-#: ../gtk/gtktoolpalette.c:1054
+#: ../gtk/gtktoolpalette.c:1056
msgid "Whether the item group should be the only expanded at a given time"
msgstr ""
"Indica si el elemento del grupo deben ser el único expandido en un "
"determinado momento"
-#: ../gtk/gtktoolpalette.c:1069
+#: ../gtk/gtktoolpalette.c:1071
msgid ""
"Whether the item group should receive extra space when the palette grows"
msgstr ""
msgid "The model for the TreeModelSort to sort"
msgstr "El modelo para el TreeModelSort a ordenar"
-#: ../gtk/gtktreeview.c:984
+#: ../gtk/gtktreeview.c:985
msgid "TreeView Model"
msgstr "Modelo TreeView"
-#: ../gtk/gtktreeview.c:985
+#: ../gtk/gtktreeview.c:986
msgid "The model for the tree view"
msgstr "El modelo para la vista de árbol"
-#: ../gtk/gtktreeview.c:997
+#: ../gtk/gtktreeview.c:998
msgid "Headers Visible"
msgstr "Cabeceras visibles"
-#: ../gtk/gtktreeview.c:998
+#: ../gtk/gtktreeview.c:999
msgid "Show the column header buttons"
msgstr "Mostrar botones en los encabezados de columna"
-#: ../gtk/gtktreeview.c:1005
+#: ../gtk/gtktreeview.c:1006
msgid "Headers Clickable"
msgstr "Cabeceras pulsables"
-#: ../gtk/gtktreeview.c:1006
+#: ../gtk/gtktreeview.c:1007
msgid "Column headers respond to click events"
msgstr "Las cabeceras de las columnas responden a los eventos de pulsación"
-#: ../gtk/gtktreeview.c:1013
+#: ../gtk/gtktreeview.c:1014
msgid "Expander Column"
msgstr "Columna expansora"
-#: ../gtk/gtktreeview.c:1014
+#: ../gtk/gtktreeview.c:1015
msgid "Set the column for the expander column"
msgstr "Define la columna para la columna expansora"
-#: ../gtk/gtktreeview.c:1029
+#: ../gtk/gtktreeview.c:1030
msgid "Rules Hint"
msgstr "Sugerencia de las reglas"
-#: ../gtk/gtktreeview.c:1030
+#: ../gtk/gtktreeview.c:1031
msgid "Set a hint to the theme engine to draw rows in alternating colors"
msgstr ""
"Define un consejo para el motor del tema para dibujar las filas con colores "
"alternativos"
-#: ../gtk/gtktreeview.c:1037
+#: ../gtk/gtktreeview.c:1038
msgid "Enable Search"
msgstr "Habilitar búsqueda"
-#: ../gtk/gtktreeview.c:1038
+#: ../gtk/gtktreeview.c:1039
msgid "View allows user to search through columns interactively"
msgstr ""
"La vista permite a los usuarios buscar en forma interactiva a través de las "
"columnas"
-#: ../gtk/gtktreeview.c:1045
+#: ../gtk/gtktreeview.c:1046
msgid "Search Column"
msgstr "Columna de búsqueda"
-#: ../gtk/gtktreeview.c:1046
+#: ../gtk/gtktreeview.c:1047
msgid "Model column to search through during interactive search"
msgstr ""
"Columna modelo para buscar a través de ella en una búsqueda interactiva"
-#: ../gtk/gtktreeview.c:1066
+#: ../gtk/gtktreeview.c:1067
msgid "Fixed Height Mode"
msgstr "Modo de altura fija"
-#: ../gtk/gtktreeview.c:1067
+#: ../gtk/gtktreeview.c:1068
msgid "Speeds up GtkTreeView by assuming that all rows have the same height"
msgstr ""
"Acelera GtkTreeView asumiendo que todas las filas tienen la misma altura"
-#: ../gtk/gtktreeview.c:1087
+#: ../gtk/gtktreeview.c:1088
msgid "Hover Selection"
msgstr "Selección al pasar por encima"
-#: ../gtk/gtktreeview.c:1088
+#: ../gtk/gtktreeview.c:1089
msgid "Whether the selection should follow the pointer"
msgstr "Indica si la selección debe seguir al puntero"
-#: ../gtk/gtktreeview.c:1107
+#: ../gtk/gtktreeview.c:1108
msgid "Hover Expand"
msgstr "Expandir al poner el cursor encima"
-#: ../gtk/gtktreeview.c:1108
+#: ../gtk/gtktreeview.c:1109
msgid ""
"Whether rows should be expanded/collapsed when the pointer moves over them"
msgstr ""
"Indica si las filas deben expandirse/contraerse cuando el puntero se mueve "
"sobre ellas"
-#: ../gtk/gtktreeview.c:1122
+#: ../gtk/gtktreeview.c:1123
msgid "Show Expanders"
msgstr "Mostrar expansores"
-#: ../gtk/gtktreeview.c:1123
+#: ../gtk/gtktreeview.c:1124
msgid "View has expanders"
msgstr "La vista tiene expansores"
-#: ../gtk/gtktreeview.c:1137
+#: ../gtk/gtktreeview.c:1138
msgid "Level Indentation"
msgstr "Nivel de sangrado"
-#: ../gtk/gtktreeview.c:1138
+#: ../gtk/gtktreeview.c:1139
msgid "Extra indentation for each level"
msgstr "Sangría extra para cada nivel"
-#: ../gtk/gtktreeview.c:1147
+#: ../gtk/gtktreeview.c:1148
msgid "Rubber Banding"
msgstr "Bandas de goma"
-#: ../gtk/gtktreeview.c:1148
+#: ../gtk/gtktreeview.c:1149
msgid ""
"Whether to enable selection of multiple items by dragging the mouse pointer"
msgstr ""
"Indica si se debe activar la selección de múltiples elementos arrastrándo el "
"puntero del ratón"
-#: ../gtk/gtktreeview.c:1155
+#: ../gtk/gtktreeview.c:1156
msgid "Enable Grid Lines"
msgstr "Activar líneas de la rejilla"
-#: ../gtk/gtktreeview.c:1156
+#: ../gtk/gtktreeview.c:1157
msgid "Whether grid lines should be drawn in the tree view"
msgstr "Indica si debe haber un icono cerca del elemento"
-#: ../gtk/gtktreeview.c:1164
+#: ../gtk/gtktreeview.c:1165
msgid "Enable Tree Lines"
msgstr "Activar líneas del árbol"
-#: ../gtk/gtktreeview.c:1165
+#: ../gtk/gtktreeview.c:1166
msgid "Whether tree lines should be drawn in the tree view"
msgstr "Indica si deben dibujar las líneas en la vista del árbol"
-#: ../gtk/gtktreeview.c:1173
+#: ../gtk/gtktreeview.c:1174
msgid "The column in the model containing the tooltip texts for the rows"
msgstr ""
"La columna del modelo que contiene los textos de consejo para las filas"
-#: ../gtk/gtktreeview.c:1195
+#: ../gtk/gtktreeview.c:1196
msgid "Vertical Separator Width"
msgstr "Anchura del separador vertical"
-#: ../gtk/gtktreeview.c:1196
+#: ../gtk/gtktreeview.c:1197
msgid "Vertical space between cells. Must be an even number"
msgstr "Espacio vertical entre celdas. Debe ser un número par"
-#: ../gtk/gtktreeview.c:1204
+#: ../gtk/gtktreeview.c:1205
msgid "Horizontal Separator Width"
msgstr "Anchura del separador horizontal"
-#: ../gtk/gtktreeview.c:1205
+#: ../gtk/gtktreeview.c:1206
msgid "Horizontal space between cells. Must be an even number"
msgstr "Espacio horizontal entre celdas. Debe ser un número par"
-#: ../gtk/gtktreeview.c:1213
+#: ../gtk/gtktreeview.c:1214
msgid "Allow Rules"
msgstr "Permitir reglas"
-#: ../gtk/gtktreeview.c:1214
+#: ../gtk/gtktreeview.c:1215
msgid "Allow drawing of alternating color rows"
msgstr "Permitir el dibujado de filas con colores alternativos"
-#: ../gtk/gtktreeview.c:1220
+#: ../gtk/gtktreeview.c:1221
msgid "Indent Expanders"
msgstr "Sangrar expansores"
-#: ../gtk/gtktreeview.c:1221
+#: ../gtk/gtktreeview.c:1222
msgid "Make the expanders indented"
msgstr "Crea los expansores sangrados"
-#: ../gtk/gtktreeview.c:1227
+#: ../gtk/gtktreeview.c:1228
msgid "Even Row Color"
msgstr "Color de la fila par"
-#: ../gtk/gtktreeview.c:1228
+#: ../gtk/gtktreeview.c:1229
msgid "Color to use for even rows"
msgstr "Color a usar para las filas pares"
-#: ../gtk/gtktreeview.c:1234
+#: ../gtk/gtktreeview.c:1235
msgid "Odd Row Color"
msgstr "Color de la fila impar"
-#: ../gtk/gtktreeview.c:1235
+#: ../gtk/gtktreeview.c:1236
msgid "Color to use for odd rows"
msgstr "Color a usar para las filas impares"
-#: ../gtk/gtktreeview.c:1241
+#: ../gtk/gtktreeview.c:1242
msgid "Grid line width"
msgstr "Anchura de la línea de la rejilla"
-#: ../gtk/gtktreeview.c:1242
+#: ../gtk/gtktreeview.c:1243
msgid "Width, in pixels, of the tree view grid lines"
msgstr "Anchura, en píxeles, de la línea indicadora del foco"
-#: ../gtk/gtktreeview.c:1248
+#: ../gtk/gtktreeview.c:1249
msgid "Tree line width"
msgstr "Anchura de la línea del árbol"
-#: ../gtk/gtktreeview.c:1249
+#: ../gtk/gtktreeview.c:1250
msgid "Width, in pixels, of the tree view lines"
msgstr "Anchura, en píxeles, de la línea indicadora del foco"
-#: ../gtk/gtktreeview.c:1255
+#: ../gtk/gtktreeview.c:1256
msgid "Grid line pattern"
msgstr "Patrón de la línea de la rejilla"
-#: ../gtk/gtktreeview.c:1256
+#: ../gtk/gtktreeview.c:1257
msgid "Dash pattern used to draw the tree view grid lines"
msgstr ""
"Patrón de guiones utilizado para dibujar las líneas de rejilla de la vista "
"de árbol"
-#: ../gtk/gtktreeview.c:1262
+#: ../gtk/gtktreeview.c:1263
msgid "Tree line pattern"
msgstr "Patrón de la línea del árbol"
-#: ../gtk/gtktreeview.c:1263
+#: ../gtk/gtktreeview.c:1264
msgid "Dash pattern used to draw the tree view lines"
msgstr ""
"Patrón de guiones utilizado para dibujar las líneas de la vista de árbol"
msgstr "La columna es ajustable por el usuario"
#: ../gtk/gtktreeviewcolumn.c:265
-#| msgid "Current width of the column"
msgid "Current X position of the column"
msgstr "Posicion X actual de la columna"
msgid "Whether to use symbolic icons"
msgstr "Indica si se deben usar enlaces simbólicos"
-#: ../gtk/gtkwidget.c:932
+#: ../gtk/gtkwidget.c:948
msgid "Widget name"
msgstr "Nombre del widget"
-#: ../gtk/gtkwidget.c:933
+#: ../gtk/gtkwidget.c:949
msgid "The name of the widget"
msgstr "El nombre del widget"
-#: ../gtk/gtkwidget.c:939
+#: ../gtk/gtkwidget.c:955
msgid "Parent widget"
msgstr "Widget padre"
-#: ../gtk/gtkwidget.c:940
+#: ../gtk/gtkwidget.c:956
msgid "The parent widget of this widget. Must be a Container widget"
msgstr "El widget padre de este widget. Debe ser un widget contenedor"
-#: ../gtk/gtkwidget.c:947
+#: ../gtk/gtkwidget.c:963
msgid "Width request"
msgstr "Petición de anchura"
-#: ../gtk/gtkwidget.c:948
+#: ../gtk/gtkwidget.c:964
msgid ""
"Override for width request of the widget, or -1 if natural request should be "
"used"
"Sobreescribir el ancho solicitado del widget, o -1 si deber ser utilizado la "
"solicitud natural"
-#: ../gtk/gtkwidget.c:956
+#: ../gtk/gtkwidget.c:972
msgid "Height request"
msgstr "Petición de altura"
-#: ../gtk/gtkwidget.c:957
+#: ../gtk/gtkwidget.c:973
msgid ""
"Override for height request of the widget, or -1 if natural request should "
"be used"
"Sobreescribir la altura solicitada del widget, o -1 si deber ser utilizada "
"la solicitud natural"
-#: ../gtk/gtkwidget.c:966
+#: ../gtk/gtkwidget.c:982
msgid "Whether the widget is visible"
msgstr "Indica si el widget es visible"
-#: ../gtk/gtkwidget.c:973
+#: ../gtk/gtkwidget.c:989
msgid "Whether the widget responds to input"
msgstr "Indica si el widget responde al ingreso"
-#: ../gtk/gtkwidget.c:979
+#: ../gtk/gtkwidget.c:995
msgid "Application paintable"
msgstr "Pintable por la aplicación"
-#: ../gtk/gtkwidget.c:980
+#: ../gtk/gtkwidget.c:996
msgid "Whether the application will paint directly on the widget"
msgstr "Indica si la aplicación pintará directamente sobre el widget"
-#: ../gtk/gtkwidget.c:986
+#: ../gtk/gtkwidget.c:1002
msgid "Can focus"
msgstr "Puede enfocar"
-#: ../gtk/gtkwidget.c:987
+#: ../gtk/gtkwidget.c:1003
msgid "Whether the widget can accept the input focus"
msgstr "Indica si el widget puede aceptar el foco de entrada"
-#: ../gtk/gtkwidget.c:993
+#: ../gtk/gtkwidget.c:1009
msgid "Has focus"
msgstr "Tiene foco"
-#: ../gtk/gtkwidget.c:994
+#: ../gtk/gtkwidget.c:1010
msgid "Whether the widget has the input focus"
msgstr "Indica si el widget tiene el foco de entrada"
-#: ../gtk/gtkwidget.c:1000
+#: ../gtk/gtkwidget.c:1016
msgid "Is focus"
msgstr "Tiene el foco"
-#: ../gtk/gtkwidget.c:1001
+#: ../gtk/gtkwidget.c:1017
msgid "Whether the widget is the focus widget within the toplevel"
msgstr "Indica si el widget es el widget con foco dentro del nivel superior"
-#: ../gtk/gtkwidget.c:1007
+#: ../gtk/gtkwidget.c:1023
msgid "Can default"
msgstr "Puede por omisión"
-#: ../gtk/gtkwidget.c:1008
+#: ../gtk/gtkwidget.c:1024
msgid "Whether the widget can be the default widget"
msgstr "Indica si el widget puede ser el widget predeterminado"
-#: ../gtk/gtkwidget.c:1014
+#: ../gtk/gtkwidget.c:1030
msgid "Has default"
msgstr "Tiene por omisión"
-#: ../gtk/gtkwidget.c:1015
+#: ../gtk/gtkwidget.c:1031
msgid "Whether the widget is the default widget"
msgstr "Indica si el widget es el widget predeterminado"
-#: ../gtk/gtkwidget.c:1021
+#: ../gtk/gtkwidget.c:1037
msgid "Receives default"
msgstr "Recibe por omisión"
-#: ../gtk/gtkwidget.c:1022
+#: ../gtk/gtkwidget.c:1038
msgid "If TRUE, the widget will receive the default action when it is focused"
msgstr ""
"Si es TRUE el widget recibirá la acción predeterminada cuando obtiene el foco"
-#: ../gtk/gtkwidget.c:1028
+#: ../gtk/gtkwidget.c:1044
msgid "Composite child"
msgstr "Hijo compuesto"
-#: ../gtk/gtkwidget.c:1029
+#: ../gtk/gtkwidget.c:1045
msgid "Whether the widget is part of a composite widget"
msgstr "Indica si el widget es parte de un widget compuesto"
-#: ../gtk/gtkwidget.c:1035
+#: ../gtk/gtkwidget.c:1051
msgid "Style"
msgstr "Estilo"
-#: ../gtk/gtkwidget.c:1036
+#: ../gtk/gtkwidget.c:1052
msgid ""
"The style of the widget, which contains information about how it will look "
"(colors etc)"
"El estilo del widget, que contiene información sobre la apariencia (colores, "
"etc)"
-#: ../gtk/gtkwidget.c:1042
+#: ../gtk/gtkwidget.c:1058
msgid "Events"
msgstr "Eventos"
-#: ../gtk/gtkwidget.c:1043
+#: ../gtk/gtkwidget.c:1059
msgid "The event mask that decides what kind of GdkEvents this widget gets"
msgstr ""
"La máscara de eventos que decide que tipo de GtkEvents recibe este widget"
-#: ../gtk/gtkwidget.c:1050
+#: ../gtk/gtkwidget.c:1066
msgid "No show all"
msgstr "No mostrar todo"
-#: ../gtk/gtkwidget.c:1051
+#: ../gtk/gtkwidget.c:1067
msgid "Whether gtk_widget_show_all() should not affect this widget"
msgstr "Indica que gtk_widget_show_all() no debe afectar a este widget"
-#: ../gtk/gtkwidget.c:1074
+#: ../gtk/gtkwidget.c:1090
msgid "Whether this widget has a tooltip"
msgstr "Indica si el widget tiene un consejo"
-#: ../gtk/gtkwidget.c:1130
+#: ../gtk/gtkwidget.c:1146
msgid "Window"
msgstr "Ventana"
-#: ../gtk/gtkwidget.c:1131
+#: ../gtk/gtkwidget.c:1147
msgid "The widget's window if it is realized"
msgstr "La ventana del widget si se realiza"
-#: ../gtk/gtkwidget.c:1145
+#: ../gtk/gtkwidget.c:1161
msgid "Double Buffered"
msgstr "Búfer doble"
-#: ../gtk/gtkwidget.c:1146
+#: ../gtk/gtkwidget.c:1162
msgid "Whether the widget is double buffered"
msgstr "Indica si el widget tiene búfer doble"
-#: ../gtk/gtkwidget.c:1161
+#: ../gtk/gtkwidget.c:1177
msgid "How to position in extra horizontal space"
msgstr "Cómo posicionar en el espacio horizontal adicional"
-#: ../gtk/gtkwidget.c:1177
+#: ../gtk/gtkwidget.c:1193
msgid "How to position in extra vertical space"
msgstr "Cómo posicionar en el espacio vertical adicional"
-#: ../gtk/gtkwidget.c:1196
+#: ../gtk/gtkwidget.c:1212
msgid "Margin on Left"
msgstr "Margen a la izquierda"
-#: ../gtk/gtkwidget.c:1197
+#: ../gtk/gtkwidget.c:1213
msgid "Pixels of extra space on the left side"
msgstr "Píxeles de espacio adicional en la parte izquierda"
-#: ../gtk/gtkwidget.c:1217
+#: ../gtk/gtkwidget.c:1233
msgid "Margin on Right"
msgstr "Margen a la derecha"
-#: ../gtk/gtkwidget.c:1218
+#: ../gtk/gtkwidget.c:1234
msgid "Pixels of extra space on the right side"
msgstr "Píxeles de espacio adicional en la parte derecha"
-#: ../gtk/gtkwidget.c:1238
+#: ../gtk/gtkwidget.c:1254
msgid "Margin on Top"
msgstr "Margen arriba"
-#: ../gtk/gtkwidget.c:1239
+#: ../gtk/gtkwidget.c:1255
msgid "Pixels of extra space on the top side"
msgstr "Píxeles de espacio adicional en la parte superior"
-#: ../gtk/gtkwidget.c:1259
+#: ../gtk/gtkwidget.c:1275
msgid "Margin on Bottom"
msgstr "Margen abajo"
-#: ../gtk/gtkwidget.c:1260
+#: ../gtk/gtkwidget.c:1276
msgid "Pixels of extra space on the bottom side"
msgstr "Píxeles de espacio adicional en la parte inferior"
-#: ../gtk/gtkwidget.c:1277
+#: ../gtk/gtkwidget.c:1293
msgid "All Margins"
msgstr "Todos los márgenes"
-#: ../gtk/gtkwidget.c:1278
+#: ../gtk/gtkwidget.c:1294
msgid "Pixels of extra space on all four sides"
msgstr "Píxeles de espacio adicionales en las cuatro partes"
-#: ../gtk/gtkwidget.c:1311
+#: ../gtk/gtkwidget.c:1327
msgid "Horizontal Expand"
msgstr "Expansión horizontal"
-#: ../gtk/gtkwidget.c:1312
+#: ../gtk/gtkwidget.c:1328
msgid "Whether widget wants more horizontal space"
msgstr "Indica si el widget quiere usar más espacio horizontal"
-#: ../gtk/gtkwidget.c:1326
+#: ../gtk/gtkwidget.c:1342
msgid "Horizontal Expand Set"
msgstr "Ajuste de expansión horizontal"
-#: ../gtk/gtkwidget.c:1327
+#: ../gtk/gtkwidget.c:1343
msgid "Whether to use the hexpand property"
msgstr "Indica si se debe usar la propiedad hexpand"
-#: ../gtk/gtkwidget.c:1341
+#: ../gtk/gtkwidget.c:1357
msgid "Vertical Expand"
msgstr "Expansión vertial"
-#: ../gtk/gtkwidget.c:1342
+#: ../gtk/gtkwidget.c:1358
msgid "Whether widget wants more vertical space"
msgstr "Indica si el widget quiere usar más espacio vertical"
-#: ../gtk/gtkwidget.c:1356
+#: ../gtk/gtkwidget.c:1372
msgid "Vertical Expand Set"
msgstr "Ajuste de expansión vertical"
-#: ../gtk/gtkwidget.c:1357
+#: ../gtk/gtkwidget.c:1373
msgid "Whether to use the vexpand property"
msgstr "Indica si se debe usar la propiedad vexpand"
-#: ../gtk/gtkwidget.c:1371
+#: ../gtk/gtkwidget.c:1387
msgid "Expand Both"
msgstr "Expandir en ambas"
-#: ../gtk/gtkwidget.c:1372
+#: ../gtk/gtkwidget.c:1388
msgid "Whether widget wants to expand in both directions"
msgstr "Indica si el widget quiere expandirse en ambas direcciones"
-#: ../gtk/gtkwidget.c:3009
+#: ../gtk/gtkwidget.c:3027
msgid "Interior Focus"
msgstr "Foco interior"
-#: ../gtk/gtkwidget.c:3010
+#: ../gtk/gtkwidget.c:3028
msgid "Whether to draw the focus indicator inside widgets"
msgstr "Indica si se ha de dibujar el indicador del foco dentro de los widgets"
-#: ../gtk/gtkwidget.c:3016
+#: ../gtk/gtkwidget.c:3034
msgid "Focus linewidth"
msgstr "Dar foco al ancho de línea"
-#: ../gtk/gtkwidget.c:3017
+#: ../gtk/gtkwidget.c:3035
msgid "Width, in pixels, of the focus indicator line"
msgstr "Anchura, en píxeles, de la línea indicadora del foco"
-#: ../gtk/gtkwidget.c:3023
+#: ../gtk/gtkwidget.c:3041
msgid "Focus line dash pattern"
msgstr "Dar foco a la línea con patrón punteado"
-#: ../gtk/gtkwidget.c:3024
+#: ../gtk/gtkwidget.c:3042
msgid "Dash pattern used to draw the focus indicator"
msgstr "Patrón punteado utilizado para dibujar el indicador de foco"
-#: ../gtk/gtkwidget.c:3029
+#: ../gtk/gtkwidget.c:3047
msgid "Focus padding"
msgstr "Relleno del foco"
-#: ../gtk/gtkwidget.c:3030
+#: ../gtk/gtkwidget.c:3048
msgid "Width, in pixels, between focus indicator and the widget 'box'"
msgstr "Anchura, en píxeles, entre el indicador de foco y la «caja» del widget"
-#: ../gtk/gtkwidget.c:3035
+#: ../gtk/gtkwidget.c:3053
msgid "Cursor color"
msgstr "Color del cursor"
-#: ../gtk/gtkwidget.c:3036
+#: ../gtk/gtkwidget.c:3054
msgid "Color with which to draw insertion cursor"
msgstr "Color con el cual dibujar el cursor de inserción"
-#: ../gtk/gtkwidget.c:3041
+#: ../gtk/gtkwidget.c:3059
msgid "Secondary cursor color"
msgstr "Color secundario del cursor"
-#: ../gtk/gtkwidget.c:3042
+#: ../gtk/gtkwidget.c:3060
msgid ""
"Color with which to draw the secondary insertion cursor when editing mixed "
"right-to-left and left-to-right text"
"Color con el cual dibujar el cursor de inserción secundario cuando se esta "
"editando una mezcla de texto de derecha-a-izquierda y izquierda-a-derecha"
-#: ../gtk/gtkwidget.c:3047
+#: ../gtk/gtkwidget.c:3065
msgid "Cursor line aspect ratio"
msgstr "Proporción de la línea del cursor"
-#: ../gtk/gtkwidget.c:3048
+#: ../gtk/gtkwidget.c:3066
msgid "Aspect ratio with which to draw insertion cursor"
msgstr "La proporción con la cual dibujar el cursor de inserción"
-#: ../gtk/gtkwidget.c:3054
+#: ../gtk/gtkwidget.c:3072
msgid "Window dragging"
msgstr "Arrastre de ventana"
-#: ../gtk/gtkwidget.c:3055
+#: ../gtk/gtkwidget.c:3073
msgid "Whether windows can be dragged by clicking on empty areas"
msgstr "Indica si las ventanas se pueden arrastrar pulsando en áreas vacías"
-#: ../gtk/gtkwidget.c:3068
+#: ../gtk/gtkwidget.c:3086
msgid "Unvisited Link Color"
msgstr "Color del enlace no visitado"
-#: ../gtk/gtkwidget.c:3069
+#: ../gtk/gtkwidget.c:3087
msgid "Color of unvisited links"
msgstr "Color de los enlaces no visitados"
-#: ../gtk/gtkwidget.c:3082
+#: ../gtk/gtkwidget.c:3100
msgid "Visited Link Color"
msgstr "Color del enlace visitado"
-#: ../gtk/gtkwidget.c:3083
+#: ../gtk/gtkwidget.c:3101
msgid "Color of visited links"
msgstr "Color de los enlaces visitados"
-#: ../gtk/gtkwidget.c:3097
+#: ../gtk/gtkwidget.c:3115
msgid "Wide Separators"
msgstr "Separadores anchos"
-#: ../gtk/gtkwidget.c:3098
+#: ../gtk/gtkwidget.c:3116
msgid ""
"Whether separators have configurable width and should be drawn using a box "
"instead of a line"
"Indica si los separadores tienen anchura configurable y deben dibujarse "
"usando una caja en lugar de una línea"
-#: ../gtk/gtkwidget.c:3112
+#: ../gtk/gtkwidget.c:3130
msgid "Separator Width"
msgstr "Anchura del separador"
-#: ../gtk/gtkwidget.c:3113
+#: ../gtk/gtkwidget.c:3131
msgid "The width of separators if wide-separators is TRUE"
msgstr "La anchura de los separadores si «wide-separators« es TRUE"
-#: ../gtk/gtkwidget.c:3127
+#: ../gtk/gtkwidget.c:3145
msgid "Separator Height"
msgstr "Altura del separador"
-#: ../gtk/gtkwidget.c:3128
+#: ../gtk/gtkwidget.c:3146
msgid "The height of separators if \"wide-separators\" is TRUE"
msgstr "La altura de los separadores si «wide-separators» es TRUE"
-#: ../gtk/gtkwidget.c:3142
+#: ../gtk/gtkwidget.c:3160
msgid "Horizontal Scroll Arrow Length"
msgstr "Longitud de la flecha de desplazamiento horizontal"
-#: ../gtk/gtkwidget.c:3143
+#: ../gtk/gtkwidget.c:3161
msgid "The length of horizontal scroll arrows"
msgstr "La longitud de las flechas de desplazamiento horizontal"
-#: ../gtk/gtkwidget.c:3157
+#: ../gtk/gtkwidget.c:3175
msgid "Vertical Scroll Arrow Length"
msgstr "Longitud de las flechas de desplazamiento vertical"
-#: ../gtk/gtkwidget.c:3158
+#: ../gtk/gtkwidget.c:3176
msgid "The length of vertical scroll arrows"
msgstr "La longitud de las flechas de desplazamiento vertical"
msgid "The GtkApplication for the window"
msgstr "El GtkApplication para la ventana"
+#: ../modules/printbackends/cups/gtkprintercups.c:95
+msgid "Color Profile Title"
+msgstr "Título del perfil de color"
+
+#: ../modules/printbackends/cups/gtkprintercups.c:96
+#| msgid "The title of the color selection dialog"
+msgid "The title of the color profile to use"
+msgstr "El título del perfil de color que usar"
+
#~ msgid "Not Authorized Text"
#~ msgstr "Texto de no autorizado"
msgstr ""
"Project-Id-Version: gtk+-master-po-properties-gl-77816____.merged\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-21 13:57+0200\n"
-"PO-Revision-Date: 2011-06-21 13:58+0200\n"
+"POT-Creation-Date: 2011-07-11 00:11+0200\n"
+"PO-Revision-Date: 2011-07-11 00:12+0200\n"
"Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n"
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\n"
"Language: gl\n"
msgid "Cursor"
msgstr "Cursor"
-#: ../gdk/x11/gdkdevice-xi.c:140 ../gdk/x11/gdkdevice-xi.c:141
-#: ../gdk/x11/gdkdevice-xi2.c:130
-msgid "Device ID"
-msgstr "ID do dispositivo"
-
-#: ../gdk/x11/gdkdevice-xi2.c:131
-msgid "Device identifier"
-msgstr "Identificador do dispotitivo"
-
#: ../gdk/x11/gdkdevicemanager-xi2.c:119
msgid "Opcode"
msgstr "Opcode"
msgid "Event base for XInput events"
msgstr "Evento base para os eventos XInput"
+#: ../gdk/x11/gdkdevice-xi2.c:130 ../gdk/x11/gdkdevice-xi.c:140
+#: ../gdk/x11/gdkdevice-xi.c:141
+msgid "Device ID"
+msgstr "ID do dispositivo"
+
+#: ../gdk/x11/gdkdevice-xi2.c:131
+msgid "Device identifier"
+msgstr "Identificador do dispotitivo"
+
#: ../gtk/gtkaboutdialog.c:275
msgid "Program name"
msgstr "Nome do programa"
msgid "A unique name for the action."
msgstr "Un nome único para a acción."
-#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:289
-#: ../gtk/gtkframe.c:170 ../gtk/gtklabel.c:742 ../gtk/gtkmenuitem.c:381
+#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:228 ../gtk/gtkexpander.c:290
+#: ../gtk/gtkframe.c:171 ../gtk/gtklabel.c:744 ../gtk/gtkmenuitem.c:384
#: ../gtk/gtktoolbutton.c:232 ../gtk/gtktoolitemgroup.c:1592
msgid "Label"
msgstr "Etiqueta"
msgstr "GIcon"
#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:235
-#: ../gtk/gtkimage.c:328 ../gtk/gtkstatusicon.c:276
+#: ../gtk/gtkimage.c:330 ../gtk/gtkstatusicon.c:276
msgid "The GIcon being displayed"
msgstr "A GIcon que se mostra"
#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:200
-#: ../gtk/gtkimage.c:310 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:259
-#: ../gtk/gtkwindow.c:723
+#: ../gtk/gtkimage.c:312 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:259
+#: ../gtk/gtkwindow.c:724
msgid "Icon Name"
msgstr "Nome da icona"
#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:201
-#: ../gtk/gtkimage.c:311 ../gtk/gtkstatusicon.c:260
+#: ../gtk/gtkimage.c:313 ../gtk/gtkstatusicon.c:260
msgid "The name of the icon from the icon theme"
msgstr "O nome da icona do tema de iconas"
"Cando é TRUE, ocúltanse os proxies de menú baleiro para este aplicativo."
#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235
-#: ../gtk/gtkcellrenderer.c:290 ../gtk/gtkwidget.c:971
+#: ../gtk/gtkcellrenderer.c:290 ../gtk/gtkwidget.c:988
msgid "Sensitive"
msgstr "Sensíbel"
#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242
#: ../gtk/gtkstatusicon.c:310 ../gtk/gtktreeviewcolumn.c:248
-#: ../gtk/gtkwidget.c:964
+#: ../gtk/gtkwidget.c:981
msgid "Visible"
msgstr "Visíbel"
msgstr "Cando usar as accións relacionadas coas propiedades da aparencia"
#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:138
-#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:382
+#: ../gtk/gtkscalebutton.c:218 ../gtk/gtkspinbutton.c:384
msgid "Value"
msgstr "Valor"
msgid "Horizontal alignment"
msgstr "Aliñamento horizontal"
-#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278
+#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:279
msgid ""
"Horizontal position of child in available space. 0.0 is left aligned, 1.0 is "
"right aligned"
msgid "Vertical alignment"
msgstr "Aliñamento vertical"
-#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297
+#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:298
msgid ""
"Vertical position of child in available space. 0.0 is top aligned, 1.0 is "
"bottom aligned"
msgid "The default text appearing when there are no applications"
msgstr "O texto predeterminado que aparece cando non hai aplicativos"
-#: ../gtk/gtkarrow.c:110
+#: ../gtk/gtkarrow.c:112
msgid "Arrow direction"
msgstr "Dirección da frecha"
-#: ../gtk/gtkarrow.c:111
+#: ../gtk/gtkarrow.c:113
msgid "The direction the arrow should point"
msgstr "A dirección á que a frecha deberá apuntar"
-#: ../gtk/gtkarrow.c:119
+#: ../gtk/gtkarrow.c:121
msgid "Arrow shadow"
msgstr "Sombra da frecha"
-#: ../gtk/gtkarrow.c:120
+#: ../gtk/gtkarrow.c:122
msgid "Appearance of the shadow surrounding the arrow"
msgstr "Aparencia da sombra que rodea a frecha"
-#: ../gtk/gtkarrow.c:127 ../gtk/gtkcombobox.c:985 ../gtk/gtkmenu.c:797
-#: ../gtk/gtkmenuitem.c:444
+#: ../gtk/gtkarrow.c:129 ../gtk/gtkcombobox.c:986 ../gtk/gtkmenu.c:798
+#: ../gtk/gtkmenuitem.c:447
msgid "Arrow Scaling"
msgstr "Escalado de frecha"
-#: ../gtk/gtkarrow.c:128
+#: ../gtk/gtkarrow.c:130
msgid "Amount of space used up by arrow"
msgstr "Cantidade de espazo ocupado por frecha"
-#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1159
+#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1176
msgid "Horizontal Alignment"
msgstr "Aliñamento horizontal"
msgid "X alignment of the child"
msgstr "Aliñamento X do fillo"
-#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1175
+#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1192
msgid "Vertical Alignment"
msgstr "Aliñamento vertical"
msgid "Force aspect ratio to match that of the frame's child"
msgstr "Forzar a proporción de aspecto para que coincida coa do marco do fillo"
-#: ../gtk/gtkassistant.c:310
+#: ../gtk/gtkassistant.c:311
msgid "Header Padding"
msgstr "Recheo da cabeceira"
-#: ../gtk/gtkassistant.c:311
+#: ../gtk/gtkassistant.c:312
msgid "Number of pixels around the header."
msgstr "Número de píxeles ao redor da cabeceira."
-#: ../gtk/gtkassistant.c:318
+#: ../gtk/gtkassistant.c:319
msgid "Content Padding"
msgstr "Recheo do contido"
-#: ../gtk/gtkassistant.c:319
+#: ../gtk/gtkassistant.c:320
msgid "Number of pixels around the content pages."
msgstr "Número de píxeles ao redor das páxinas de contidos."
-#: ../gtk/gtkassistant.c:335
+#: ../gtk/gtkassistant.c:336
msgid "Page type"
msgstr "Tipo de páxina"
-#: ../gtk/gtkassistant.c:336
+#: ../gtk/gtkassistant.c:337
msgid "The type of the assistant page"
msgstr "O tipo da páxina do asistente"
-#: ../gtk/gtkassistant.c:351
+#: ../gtk/gtkassistant.c:352
msgid "Page title"
msgstr "Título da páxina"
-#: ../gtk/gtkassistant.c:352
+#: ../gtk/gtkassistant.c:353
msgid "The title of the assistant page"
msgstr "O título da páxina do asistente"
-#: ../gtk/gtkassistant.c:369
+#: ../gtk/gtkassistant.c:370
msgid "Header image"
msgstr "Imaxe de cabeceira"
-#: ../gtk/gtkassistant.c:370
+#: ../gtk/gtkassistant.c:371
msgid "Header image for the assistant page"
msgstr "Imaxe de cabeceira para a páxina do asistente"
-#: ../gtk/gtkassistant.c:386
+#: ../gtk/gtkassistant.c:387
msgid "Sidebar image"
msgstr "Imaxe da barra lateral"
-#: ../gtk/gtkassistant.c:387
+#: ../gtk/gtkassistant.c:388
msgid "Sidebar image for the assistant page"
msgstr "Imaxe da barra lateral da páxina do asistente"
-#: ../gtk/gtkassistant.c:403
+#: ../gtk/gtkassistant.c:404
msgid "Page complete"
msgstr "Páxina completa"
-#: ../gtk/gtkassistant.c:404
+#: ../gtk/gtkassistant.c:405
msgid "Whether all required fields on the page have been filled out"
msgstr "Indica se todos os campos requiridos na páxina foron cubertos"
msgid "If TRUE, the child will not be subject to homogeneous sizing"
msgstr "Se é TRUE, o fillo non será obxecto de tamaño homoxéneo"
-#: ../gtk/gtkbox.c:240 ../gtk/gtkcellareabox.c:317 ../gtk/gtkexpander.c:313
+#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:317 ../gtk/gtkexpander.c:314
#: ../gtk/gtkiconview.c:644 ../gtk/gtktreeviewcolumn.c:283
msgid "Spacing"
msgstr "Espazamento"
-#: ../gtk/gtkbox.c:241
+#: ../gtk/gtkbox.c:242
msgid "The amount of space between children"
msgstr "A cantidade de espazo entre os fillos"
-#: ../gtk/gtkbox.c:250 ../gtk/gtktable.c:227 ../gtk/gtktoolbar.c:553
+#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:227 ../gtk/gtktoolbar.c:561
#: ../gtk/gtktoolitemgroup.c:1645
msgid "Homogeneous"
msgstr "Homoxéneo"
-#: ../gtk/gtkbox.c:251
+#: ../gtk/gtkbox.c:252
msgid "Whether the children should all be the same size"
msgstr "Indica se todos os fillos deben ser do mesmo tamaño"
-#: ../gtk/gtkbox.c:271 ../gtk/gtkcellareabox.c:337 ../gtk/gtktoolbar.c:545
-#: ../gtk/gtktoolitemgroup.c:1652 ../gtk/gtktoolpalette.c:1068
+#: ../gtk/gtkbox.c:272 ../gtk/gtkcellareabox.c:337 ../gtk/gtktoolbar.c:553
+#: ../gtk/gtktoolitemgroup.c:1652 ../gtk/gtktoolpalette.c:1070
#: ../gtk/gtktreeviewcolumn.c:339
msgid "Expand"
msgstr "Expandir"
-#: ../gtk/gtkbox.c:272
+#: ../gtk/gtkbox.c:273
msgid "Whether the child should receive extra space when the parent grows"
msgstr "Indica se o fillo debe recibir espazo adicional cando o pai crece"
-#: ../gtk/gtkbox.c:288 ../gtk/gtktoolitemgroup.c:1659
+#: ../gtk/gtkbox.c:289 ../gtk/gtktoolitemgroup.c:1659
msgid "Fill"
msgstr "Encher"
-#: ../gtk/gtkbox.c:289
+#: ../gtk/gtkbox.c:290
msgid ""
"Whether extra space given to the child should be allocated to the child or "
"used as padding"
"Indica se se debe dar espazo adicional para que o fillo poida ser asignado "
"no fillo ou usado como recheo"
-#: ../gtk/gtkbox.c:296 ../gtk/gtktrayicon-x11.c:169
+#: ../gtk/gtkbox.c:297 ../gtk/gtktrayicon-x11.c:169
msgid "Padding"
msgstr "Recheo"
-#: ../gtk/gtkbox.c:297
+#: ../gtk/gtkbox.c:298
msgid "Extra space to put between the child and its neighbors, in pixels"
msgstr ""
"Espazo adicional para colocar entre o fillo e os seus veciños, en píxeles"
-#: ../gtk/gtkbox.c:303
+#: ../gtk/gtkbox.c:304
msgid "Pack type"
msgstr "Tipo de empaquetado"
-#: ../gtk/gtkbox.c:304
+#: ../gtk/gtkbox.c:305
msgid ""
"A GtkPackType indicating whether the child is packed with reference to the "
"start or end of the parent"
"Un GtkPackType que indica se o fillo está empaquetado en relación ao inicio "
"ou ao final do pai"
-#: ../gtk/gtkbox.c:310 ../gtk/gtknotebook.c:770 ../gtk/gtkpaned.c:349
+#: ../gtk/gtkbox.c:311 ../gtk/gtknotebook.c:771 ../gtk/gtkpaned.c:349
#: ../gtk/gtktoolitemgroup.c:1673
msgid "Position"
msgstr "Posición"
-#: ../gtk/gtkbox.c:311 ../gtk/gtknotebook.c:771
+#: ../gtk/gtkbox.c:312 ../gtk/gtknotebook.c:772
msgid "The index of the child in the parent"
msgstr "O índice do fillo no pai"
msgid "The translation domain used by gettext"
msgstr "O dominio de tradución usado por gettext"
-#: ../gtk/gtkbutton.c:228
+#: ../gtk/gtkbutton.c:229
msgid ""
"Text of the label widget inside the button, if the button contains a label "
"widget"
"Texto da etiqueta do widget dentro do botón, se o botón contén unha etiqueta "
"widget"
-#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:297 ../gtk/gtklabel.c:763
-#: ../gtk/gtkmenuitem.c:396 ../gtk/gtktoolbutton.c:239
+#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:298 ../gtk/gtklabel.c:765
+#: ../gtk/gtkmenuitem.c:399 ../gtk/gtktoolbutton.c:239
msgid "Use underline"
msgstr "Usar subliñado"
-#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:298 ../gtk/gtklabel.c:764
-#: ../gtk/gtkmenuitem.c:397
+#: ../gtk/gtkbutton.c:237 ../gtk/gtkexpander.c:299 ../gtk/gtklabel.c:766
+#: ../gtk/gtkmenuitem.c:400
msgid ""
"If set, an underline in the text indicates the next character should be used "
"for the mnemonic accelerator key"
"Se se define, un subliñado no texto indica que o seguinte carácter debería "
"usarse para a tecla rápida mnemónica"
-#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:175
+#: ../gtk/gtkbutton.c:244 ../gtk/gtkimagemenuitem.c:175
msgid "Use stock"
msgstr "Usar inventario"
-#: ../gtk/gtkbutton.c:244
+#: ../gtk/gtkbutton.c:245
msgid ""
"If set, the label is used to pick a stock item instead of being displayed"
msgstr ""
"Se se estabelece, a etiqueta úsase para seleccionar un elemento do "
"inventario en vez de ser mostrado"
-#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791
+#: ../gtk/gtkbutton.c:252 ../gtk/gtkcombobox.c:792
#: ../gtk/gtkfilechooserbutton.c:426
msgid "Focus on click"
msgstr "Enfocar ao premer"
-#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:427
+#: ../gtk/gtkbutton.c:253 ../gtk/gtkfilechooserbutton.c:427
msgid "Whether the button grabs focus when it is clicked with the mouse"
msgstr "Indica se o botón captura o foco cando se preme co rato"
-#: ../gtk/gtkbutton.c:259
+#: ../gtk/gtkbutton.c:260
msgid "Border relief"
msgstr "Relevo do bordo"
-#: ../gtk/gtkbutton.c:260
+#: ../gtk/gtkbutton.c:261
msgid "The border relief style"
msgstr "Estilo de relevo do bordo"
-#: ../gtk/gtkbutton.c:277
+#: ../gtk/gtkbutton.c:278
msgid "Horizontal alignment for child"
msgstr "Aliñamento horizontal para o fillo"
-#: ../gtk/gtkbutton.c:296
+#: ../gtk/gtkbutton.c:297
msgid "Vertical alignment for child"
msgstr "Aliñamento vertical para o fillo"
-#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:160
+#: ../gtk/gtkbutton.c:314 ../gtk/gtkimagemenuitem.c:160
msgid "Image widget"
msgstr "Widget de imaxe"
-#: ../gtk/gtkbutton.c:314
+#: ../gtk/gtkbutton.c:315
msgid "Child widget to appear next to the button text"
msgstr "Widget fillo que aparecerá ao lado do texto do botón"
-#: ../gtk/gtkbutton.c:328
+#: ../gtk/gtkbutton.c:329
msgid "Image position"
msgstr "Posición da imaxe"
-#: ../gtk/gtkbutton.c:329
+#: ../gtk/gtkbutton.c:330
msgid "The position of the image relative to the text"
msgstr "A posición da imaxe en relación ao texto"
-#: ../gtk/gtkbutton.c:449
+#: ../gtk/gtkbutton.c:450
msgid "Default Spacing"
msgstr "Espazamento predeterminado"
-#: ../gtk/gtkbutton.c:450
+#: ../gtk/gtkbutton.c:451
msgid "Extra space to add for GTK_CAN_DEFAULT buttons"
msgstr "Espazo adicional que engadir para os botóns GTK_CAN_DEFAULT"
-#: ../gtk/gtkbutton.c:464
+#: ../gtk/gtkbutton.c:465
msgid "Default Outside Spacing"
msgstr "Espazamento exterior predeterminado"
-#: ../gtk/gtkbutton.c:465
+#: ../gtk/gtkbutton.c:466
msgid ""
"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside "
"the border"
"Espazo adicional que engadir para os botóns GTK_CAN_DEFAULT que son sempre "
"debuxados fóra do bordo"
-#: ../gtk/gtkbutton.c:470
+#: ../gtk/gtkbutton.c:471
msgid "Child X Displacement"
msgstr "Desprazamento X do fillo"
-#: ../gtk/gtkbutton.c:471
+#: ../gtk/gtkbutton.c:472
msgid ""
"How far in the x direction to move the child when the button is depressed"
msgstr ""
"Distancia na dirección X que debe moverse o fillo cando se solta o botón"
-#: ../gtk/gtkbutton.c:478
+#: ../gtk/gtkbutton.c:479
msgid "Child Y Displacement"
msgstr "Desprazamento Y do fillo"
-#: ../gtk/gtkbutton.c:479
+#: ../gtk/gtkbutton.c:480
msgid ""
"How far in the y direction to move the child when the button is depressed"
msgstr ""
"Distancia na dirección Y que debe moverse o fillo cando se solta o botón"
-#: ../gtk/gtkbutton.c:495
+#: ../gtk/gtkbutton.c:496
msgid "Displace focus"
msgstr "Desprazar o foco"
-#: ../gtk/gtkbutton.c:496
+#: ../gtk/gtkbutton.c:497
msgid ""
"Whether the child_displacement_x/_y properties should also affect the focus "
"rectangle"
"Indica se as propiedades child_displacement_x/_y deberían afectar tamén ao "
"rectángulo do foco"
-#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:791 ../gtk/gtkentry.c:1866
+#: ../gtk/gtkbutton.c:510 ../gtk/gtkentry.c:794 ../gtk/gtkentry.c:1869
msgid "Inner Border"
msgstr "Bordo interior"
-#: ../gtk/gtkbutton.c:510
+#: ../gtk/gtkbutton.c:511
msgid "Border between button edges and child."
msgstr "Bordo entre os bordos do botón e o fillo."
-#: ../gtk/gtkbutton.c:523
+#: ../gtk/gtkbutton.c:524
msgid "Image spacing"
msgstr "Espazamento da imaxe"
-#: ../gtk/gtkbutton.c:524
+#: ../gtk/gtkbutton.c:525
msgid "Spacing in pixels between the image and label"
msgstr "Espazamento en píxeles entre a imaxe e a etiqueta"
-#: ../gtk/gtkcalendar.c:467
+#: ../gtk/gtkcalendar.c:471
msgid "Year"
msgstr "Ano"
-#: ../gtk/gtkcalendar.c:468
+#: ../gtk/gtkcalendar.c:472
msgid "The selected year"
msgstr "O ano seleccionado"
-#: ../gtk/gtkcalendar.c:481
+#: ../gtk/gtkcalendar.c:485
msgid "Month"
msgstr "Mes"
-#: ../gtk/gtkcalendar.c:482
+#: ../gtk/gtkcalendar.c:486
msgid "The selected month (as a number between 0 and 11)"
msgstr "O mes seleccionado (como número entre 0 e 11)"
-#: ../gtk/gtkcalendar.c:496
+#: ../gtk/gtkcalendar.c:500
msgid "Day"
msgstr "Día"
-#: ../gtk/gtkcalendar.c:497
+#: ../gtk/gtkcalendar.c:501
msgid ""
"The selected day (as a number between 1 and 31, or 0 to unselect the "
"currently selected day)"
"O día seleccionado (como un número entre 1 e 31 ou 0 para anular a selección "
"do día seleccionado actualmente)"
-#: ../gtk/gtkcalendar.c:511
+#: ../gtk/gtkcalendar.c:515
msgid "Show Heading"
msgstr "Mostrar a cabeceira"
-#: ../gtk/gtkcalendar.c:512
+#: ../gtk/gtkcalendar.c:516
msgid "If TRUE, a heading is displayed"
msgstr "Se é TRUE, móstrase unha cabeceira"
-#: ../gtk/gtkcalendar.c:526
+#: ../gtk/gtkcalendar.c:530
msgid "Show Day Names"
msgstr "Mostrar os nomes dos días"
-#: ../gtk/gtkcalendar.c:527
+#: ../gtk/gtkcalendar.c:531
msgid "If TRUE, day names are displayed"
msgstr "Se é TRUE, móstranse os nomes dos días"
-#: ../gtk/gtkcalendar.c:540
+#: ../gtk/gtkcalendar.c:544
msgid "No Month Change"
msgstr "Sen cambio de mes"
-#: ../gtk/gtkcalendar.c:541
+#: ../gtk/gtkcalendar.c:545
msgid "If TRUE, the selected month cannot be changed"
msgstr "Se é TRUE, non será posíbel cambiar o mes seleccionado"
-#: ../gtk/gtkcalendar.c:555
+#: ../gtk/gtkcalendar.c:559
msgid "Show Week Numbers"
msgstr "Mostrar os números de semana"
-#: ../gtk/gtkcalendar.c:556
+#: ../gtk/gtkcalendar.c:560
msgid "If TRUE, week numbers are displayed"
msgstr "Se é TRUE, móstranse os números de semana"
-#: ../gtk/gtkcalendar.c:571
+#: ../gtk/gtkcalendar.c:575
msgid "Details Width"
msgstr "Largura dos detalles"
-#: ../gtk/gtkcalendar.c:572
+#: ../gtk/gtkcalendar.c:576
msgid "Details width in characters"
msgstr "A largura dos detalles en caracteres"
-#: ../gtk/gtkcalendar.c:587
+#: ../gtk/gtkcalendar.c:591
msgid "Details Height"
msgstr "Altura dos detalles"
-#: ../gtk/gtkcalendar.c:588
+#: ../gtk/gtkcalendar.c:592
msgid "Details height in rows"
msgstr "A altura dos detalles en caracteres"
-#: ../gtk/gtkcalendar.c:604
+#: ../gtk/gtkcalendar.c:608
msgid "Show Details"
msgstr "Mostrar os detalles"
-#: ../gtk/gtkcalendar.c:605
+#: ../gtk/gtkcalendar.c:609
msgid "If TRUE, details are shown"
msgstr "Se é TRUE móstranse os detalles"
-#: ../gtk/gtkcalendar.c:617
+#: ../gtk/gtkcalendar.c:621
msgid "Inner border"
msgstr "Bordo interior"
-#: ../gtk/gtkcalendar.c:618
+#: ../gtk/gtkcalendar.c:622
msgid "Inner border space"
msgstr "Espacio do bordo interior"
-#: ../gtk/gtkcalendar.c:629
+#: ../gtk/gtkcalendar.c:633
msgid "Vertical separation"
msgstr "Separación vertical"
-#: ../gtk/gtkcalendar.c:630
+#: ../gtk/gtkcalendar.c:634
msgid "Space between day headers and main area"
msgstr "Espazo entre as cabeceiras de día e o área principal"
-#: ../gtk/gtkcalendar.c:641
+#: ../gtk/gtkcalendar.c:645
msgid "Horizontal separation"
msgstr "Separación horizontal"
-#: ../gtk/gtkcalendar.c:642
+#: ../gtk/gtkcalendar.c:646
msgid "Space between week headers and main area"
msgstr "Espazo entre as cabeceiras de semana e o área principal"
msgid "The widget currently editing the edited cell"
msgstr "O widget que actualmente está editando a cela editada"
-#: ../gtk/gtkcellareacontext.c:127
+#: ../gtk/gtkcellareacontext.c:119
msgid "Area"
msgstr "Área"
-#: ../gtk/gtkcellareacontext.c:128
+#: ../gtk/gtkcellareacontext.c:120
msgid "The Cell Area this context was created for"
msgstr "A área da cela para a que se creou este contexto"
-#: ../gtk/gtkcellareacontext.c:144 ../gtk/gtkcellareacontext.c:163
+#: ../gtk/gtkcellareacontext.c:136 ../gtk/gtkcellareacontext.c:155
#: ../gtk/gtktreeviewcolumn.c:311
msgid "Minimum Width"
msgstr "Largura mínima"
-#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164
+#: ../gtk/gtkcellareacontext.c:137 ../gtk/gtkcellareacontext.c:156
msgid "Minimum cached width"
msgstr "Anchura mínima cacheada"
-#: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201
+#: ../gtk/gtkcellareacontext.c:174 ../gtk/gtkcellareacontext.c:193
msgid "Minimum Height"
msgstr "Altura mínima"
-#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202
+#: ../gtk/gtkcellareacontext.c:175 ../gtk/gtkcellareacontext.c:194
msgid "Minimum cached height"
msgstr "Altura mínima cacheada"
msgid "A column in the data source model to get the strings from"
msgstr "Unha columna no modelo de orixe de datos da que se obteñen as cadeas"
-#: ../gtk/gtkcellrenderercombo.c:171 ../gtk/gtkcombobox.c:858
+#: ../gtk/gtkcellrenderercombo.c:171 ../gtk/gtkcombobox.c:859
msgid "Has Entry"
msgstr "Ten entrada"
msgid "Pixbuf for closed expander"
msgstr "O pixbuf para o expansor pechado"
-#: ../gtk/gtkcellrendererpixbuf.c:164 ../gtk/gtkimage.c:252
+#: ../gtk/gtkcellrendererpixbuf.c:164 ../gtk/gtkimage.c:254
#: ../gtk/gtkstatusicon.c:251
msgid "Stock ID"
msgstr "ID de inventario"
msgid "Whether the rendered pixbuf should be colorized according to the state"
msgstr "Indica se o pixbuf renderizado debería colorearse de acordo co estado"
-#: ../gtk/gtkcellrendererpixbuf.c:234 ../gtk/gtkimage.c:327
-#: ../gtk/gtkwindow.c:700
+#: ../gtk/gtkcellrendererpixbuf.c:234 ../gtk/gtkimage.c:329
+#: ../gtk/gtkwindow.c:701
msgid "Icon"
msgstr "Icona"
msgstr "Valor da barra de progreso"
#: ../gtk/gtkcellrendererprogress.c:156 ../gtk/gtkcellrenderertext.c:254
-#: ../gtk/gtkentry.c:834 ../gtk/gtkentrybuffer.c:352
-#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:174
+#: ../gtk/gtkentrybuffer.c:352 ../gtk/gtkentry.c:837
+#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:176
#: ../gtk/gtktextbuffer.c:221
msgid "Text"
msgstr "Texto"
msgid "The vertical text alignment, from 0 (top) to 1 (bottom)."
msgstr "O aliñamento vertical do texto, desde 0 (superior) até 1 (inferior)."
-#: ../gtk/gtkcellrendererprogress.c:226 ../gtk/gtkprogressbar.c:150
-#: ../gtk/gtkrange.c:425
+#: ../gtk/gtkcellrendererprogress.c:226 ../gtk/gtkprogressbar.c:152
+#: ../gtk/gtkrange.c:426
msgid "Inverted"
msgstr "Invertido"
-#: ../gtk/gtkcellrendererprogress.c:227 ../gtk/gtkprogressbar.c:151
+#: ../gtk/gtkcellrendererprogress.c:227 ../gtk/gtkprogressbar.c:153
msgid "Invert the direction in which the progress bar grows"
msgstr "Inverter a dirección na que crece a barra de progreso"
-#: ../gtk/gtkcellrendererspin.c:113 ../gtk/gtkrange.c:417
-#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:321
+#: ../gtk/gtkcellrendererspin.c:113 ../gtk/gtkrange.c:418
+#: ../gtk/gtkscalebutton.c:237 ../gtk/gtkspinbutton.c:323
msgid "Adjustment"
msgstr "Axuste"
-#: ../gtk/gtkcellrendererspin.c:114 ../gtk/gtkspinbutton.c:322
+#: ../gtk/gtkcellrendererspin.c:114 ../gtk/gtkspinbutton.c:324
msgid "The adjustment that holds the value of the spin button"
msgstr "O axuste que mantén o valor do botón de axuste"
msgid "Climb rate"
msgstr "Taxa de incremento"
-#: ../gtk/gtkcellrendererspin.c:130 ../gtk/gtkspinbutton.c:330
+#: ../gtk/gtkcellrendererspin.c:130 ../gtk/gtkspinbutton.c:332
msgid "The acceleration rate when you hold down a button"
msgstr "A taxa de aceleración cando mantén premido un botón"
-#: ../gtk/gtkcellrendererspin.c:143 ../gtk/gtkscale.c:252
-#: ../gtk/gtkspinbutton.c:339
+#: ../gtk/gtkcellrendererspin.c:143 ../gtk/gtkscale.c:254
+#: ../gtk/gtkspinbutton.c:341
msgid "Digits"
msgstr "Díxitos"
-#: ../gtk/gtkcellrendererspin.c:144 ../gtk/gtkspinbutton.c:340
+#: ../gtk/gtkcellrendererspin.c:144 ../gtk/gtkspinbutton.c:342
msgid "The number of decimal places to display"
msgstr "O número de lugares decimais que se vai mostrar"
-#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:122
-#: ../gtk/gtkmenu.c:587 ../gtk/gtkspinner.c:117 ../gtk/gtkswitch.c:800
-#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:177
+#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:123
+#: ../gtk/gtkmenu.c:588 ../gtk/gtkspinner.c:115 ../gtk/gtkswitch.c:784
+#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:178
#: ../gtk/gtktoggletoolbutton.c:127
msgid "Active"
msgstr "Activo"
msgid "Marked up text to render"
msgstr "Texto marcado para renderizar"
-#: ../gtk/gtkcellrenderertext.c:270 ../gtk/gtklabel.c:749
+#: ../gtk/gtkcellrenderertext.c:270 ../gtk/gtklabel.c:751
msgid "Attributes"
msgstr "Atributos"
msgid "Foreground color as a GdkRGBA"
msgstr "Cor de primeiro plano como GdkRGBA"
-#: ../gtk/gtkcellrenderertext.c:349 ../gtk/gtkentry.c:758
-#: ../gtk/gtktexttag.c:278 ../gtk/gtktextview.c:685
+#: ../gtk/gtkcellrenderertext.c:349 ../gtk/gtkentry.c:761
+#: ../gtk/gtktexttag.c:278 ../gtk/gtktextview.c:686
msgid "Editable"
msgstr "Editábel"
#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtktexttag.c:279
-#: ../gtk/gtktextview.c:686
+#: ../gtk/gtktextview.c:687
msgid "Whether the text can be modified by the user"
msgstr "Indica se o usuario pode modificar o texto"
"isto como unha axuda cando está renderizando o texto. Se non comprende este "
"parámetro probabelmente non o necesite"
-#: ../gtk/gtkcellrenderertext.c:499 ../gtk/gtklabel.c:874
-#: ../gtk/gtkprogressbar.c:214
+#: ../gtk/gtkcellrenderertext.c:499 ../gtk/gtklabel.c:876
+#: ../gtk/gtkprogressbar.c:216
msgid "Ellipsize"
msgstr "Elipsis"
"espazo suficiente para mostrar a cadea completa"
#: ../gtk/gtkcellrenderertext.c:519 ../gtk/gtkfilechooserbutton.c:454
-#: ../gtk/gtklabel.c:895
+#: ../gtk/gtklabel.c:897
msgid "Width In Characters"
msgstr "Largura en caracteres"
-#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtklabel.c:896
+#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtklabel.c:898
msgid "The desired width of the label, in characters"
msgstr "A largura desexada da etiqueta, en caracteres"
-#: ../gtk/gtkcellrenderertext.c:544 ../gtk/gtklabel.c:956
+#: ../gtk/gtkcellrenderertext.c:544 ../gtk/gtklabel.c:958
msgid "Maximum Width In Characters"
msgstr "Largura máxima en caracteres"
"Como romper a cadea en liñas múltiples, se o renderizador da cela non ten "
"suficiente espazo para mostrar a cadea completa"
-#: ../gtk/gtkcellrenderertext.c:583 ../gtk/gtkcombobox.c:680
+#: ../gtk/gtkcellrenderertext.c:583 ../gtk/gtkcombobox.c:681
msgid "Wrap width"
msgstr "Largura de axuste"
msgstr "Tamaño do indicador"
#: ../gtk/gtkcellrenderertoggle.c:173 ../gtk/gtkcheckbutton.c:93
-#: ../gtk/gtkcheckmenuitem.c:146
+#: ../gtk/gtkcheckmenuitem.c:147
msgid "Size of check or radio indicator"
msgstr "Tamaño do indicador de opción ou de verificación"
msgid "The model for cell view"
msgstr "O modelo para a visualización de cela"
-#: ../gtk/gtkcellview.c:246 ../gtk/gtkcombobox.c:944
+#: ../gtk/gtkcellview.c:246 ../gtk/gtkcombobox.c:945
#: ../gtk/gtkentrycompletion.c:448 ../gtk/gtkiconview.c:769
#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:427
msgid "Cell Area"
msgstr "Área da cela"
-#: ../gtk/gtkcellview.c:247 ../gtk/gtkcombobox.c:945
+#: ../gtk/gtkcellview.c:247 ../gtk/gtkcombobox.c:946
#: ../gtk/gtkentrycompletion.c:449 ../gtk/gtkiconview.c:770
#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:428
msgid "The GtkCellArea used to layout cells"
msgstr ""
"Indica se solicitar ou non o espazo suficiente para cada fila no modelo"
-#: ../gtk/gtkcheckbutton.c:92 ../gtk/gtkcheckmenuitem.c:145
+#: ../gtk/gtkcheckbutton.c:92 ../gtk/gtkcheckmenuitem.c:146
msgid "Indicator Size"
msgstr "Tamaño do indicador"
-#: ../gtk/gtkcheckbutton.c:100 ../gtk/gtkexpander.c:363
+#: ../gtk/gtkcheckbutton.c:100 ../gtk/gtkexpander.c:364
msgid "Indicator Spacing"
msgstr "Espazamento do indicador"
msgid "Spacing around check or radio indicator"
msgstr "Espazamento ao redor do indicador de opción ou de verificación"
-#: ../gtk/gtkcheckmenuitem.c:123
+#: ../gtk/gtkcheckmenuitem.c:124
msgid "Whether the menu item is checked"
msgstr "Indica se o elemento de menú está seleccionado"
-#: ../gtk/gtkcheckmenuitem.c:130 ../gtk/gtktogglebutton.c:185
+#: ../gtk/gtkcheckmenuitem.c:131 ../gtk/gtktogglebutton.c:186
msgid "Inconsistent"
msgstr "Inconsistente"
-#: ../gtk/gtkcheckmenuitem.c:131
+#: ../gtk/gtkcheckmenuitem.c:132
msgid "Whether to display an \"inconsistent\" state"
msgstr "Indica se se debe mostrar un estado \"inconsistente\""
-#: ../gtk/gtkcheckmenuitem.c:138
+#: ../gtk/gtkcheckmenuitem.c:139
msgid "Draw as radio menu item"
msgstr "Debuxar como un elemento do menú de opción"
-#: ../gtk/gtkcheckmenuitem.c:139
+#: ../gtk/gtkcheckmenuitem.c:140
msgid "Whether the menu item looks like a radio menu item"
msgstr ""
"Indica se a aparencia do elemento de menú é como un elemento do menú de "
msgid "The help button of the dialog."
msgstr "O botón Axuda do diálogo."
-#: ../gtk/gtkcombobox.c:663
+#: ../gtk/gtkcombobox.c:664
msgid "ComboBox model"
msgstr "Modelo de caixa de combinación"
-#: ../gtk/gtkcombobox.c:664
+#: ../gtk/gtkcombobox.c:665
msgid "The model for the combo box"
msgstr "O modelo para a caixa de combinación"
-#: ../gtk/gtkcombobox.c:681
+#: ../gtk/gtkcombobox.c:682
msgid "Wrap width for laying out the items in a grid"
msgstr "Largura de axuste para distribuír os elementos nunha grella"
-#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383
+#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:383
msgid "Row span column"
msgstr "Columna de expansión da fila"
-#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384
+#: ../gtk/gtkcombobox.c:705 ../gtk/gtktreemenu.c:384
msgid "TreeModel column containing the row span values"
msgstr "Columna TreeModel que contén os valores de expansión da fila"
-#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404
+#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:404
msgid "Column span column"
msgstr "Columna de expansión da columna"
-#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405
+#: ../gtk/gtkcombobox.c:727 ../gtk/gtktreemenu.c:405
msgid "TreeModel column containing the column span values"
msgstr "Columna TreeModel que contén os valores de expansión da columna"
-#: ../gtk/gtkcombobox.c:747
+#: ../gtk/gtkcombobox.c:748
msgid "Active item"
msgstr "Elemento activo"
-#: ../gtk/gtkcombobox.c:748
+#: ../gtk/gtkcombobox.c:749
msgid "The item which is currently active"
msgstr "O elemento que está activo actualmente"
-#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:479
+#: ../gtk/gtkcombobox.c:768 ../gtk/gtkuimanager.c:479
msgid "Add tearoffs to menus"
msgstr "Engadir tiradores aos menús"
-#: ../gtk/gtkcombobox.c:768
+#: ../gtk/gtkcombobox.c:769
msgid "Whether dropdowns should have a tearoff menu item"
msgstr ""
"Indica se os menús despregábeis deben ter un elemento de menú desprazábel"
-#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:783
+#: ../gtk/gtkcombobox.c:784 ../gtk/gtkentry.c:786
msgid "Has Frame"
msgstr "Ten marco"
-#: ../gtk/gtkcombobox.c:784
+#: ../gtk/gtkcombobox.c:785
msgid "Whether the combo box draws a frame around the child"
msgstr "Indica se a caixa de combinación debuxa un marco ao redor do fillo"
-#: ../gtk/gtkcombobox.c:792
+#: ../gtk/gtkcombobox.c:793
msgid "Whether the combo box grabs focus when it is clicked with the mouse"
msgstr "Indica se a caixa de combinación captura o foco cando se preme co rato"
-#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:642
+#: ../gtk/gtkcombobox.c:808 ../gtk/gtkmenu.c:643
msgid "Tearoff Title"
msgstr "Título do tirador"
-#: ../gtk/gtkcombobox.c:808
+#: ../gtk/gtkcombobox.c:809
msgid ""
"A title that may be displayed by the window manager when the popup is torn-"
"off"
"Un título que o xestor de xanelas pode mostrar cando o menú emerxente se "
"separa"
-#: ../gtk/gtkcombobox.c:825
+#: ../gtk/gtkcombobox.c:826
msgid "Popup shown"
msgstr "Menú emerxente mostrado"
-#: ../gtk/gtkcombobox.c:826
+#: ../gtk/gtkcombobox.c:827
msgid "Whether the combo's dropdown is shown"
msgstr "Indica se se mostra o despregábel da caixa de combinación"
-#: ../gtk/gtkcombobox.c:842
+#: ../gtk/gtkcombobox.c:843
msgid "Button Sensitivity"
msgstr "Sensibilidade do botón"
-#: ../gtk/gtkcombobox.c:843
+#: ../gtk/gtkcombobox.c:844
msgid "Whether the dropdown button is sensitive when the model is empty"
msgstr "Indica se o botón despregábel é sensíbel cando o modelo está baleiro"
-#: ../gtk/gtkcombobox.c:859
+#: ../gtk/gtkcombobox.c:860
msgid "Whether combo box has an entry"
msgstr "Indica se o ComboBox ten unha entrada"
-#: ../gtk/gtkcombobox.c:874
+#: ../gtk/gtkcombobox.c:875
msgid "Entry Text Column"
msgstr "Columna de entrada de texto"
-#: ../gtk/gtkcombobox.c:875
+#: ../gtk/gtkcombobox.c:876
msgid ""
"The column in the combo box's model to associate with strings from the entry "
"if the combo was created with #GtkComboBox:has-entry = %TRUE"
"A columna no modelo de caixa de combinación para asociar con cadeas da "
"entrada se a caixa combinada creouse con #GtkComboBox:has-entry = %TRUE"
-#: ../gtk/gtkcombobox.c:892
+#: ../gtk/gtkcombobox.c:893
msgid "ID Column"
msgstr "ID da columna"
-#: ../gtk/gtkcombobox.c:893
+#: ../gtk/gtkcombobox.c:894
msgid ""
"The column in the combo box's model that provides string IDs for the values "
"in the model"
"A columna no modelo de caixa de combinación que fornece os ID de cadeas para "
"os valores no modelo"
-#: ../gtk/gtkcombobox.c:908
+#: ../gtk/gtkcombobox.c:909
msgid "Active id"
msgstr "ID activo"
-#: ../gtk/gtkcombobox.c:909
+#: ../gtk/gtkcombobox.c:910
msgid "The value of the id column for the active row"
msgstr "O valor do ID da columna para a fila activa"
-#: ../gtk/gtkcombobox.c:924
+#: ../gtk/gtkcombobox.c:925
msgid "Popup Fixed Width"
msgstr "Anchura fixa de emerxente"
-#: ../gtk/gtkcombobox.c:925
+#: ../gtk/gtkcombobox.c:926
msgid ""
"Whether the popup's width should be a fixed width matching the allocated "
"width of the combo box"
"Indica se a anchura do emerxente debería ser fixa coincidindo coa anchura "
"reservada para a caixa de combinación"
-#: ../gtk/gtkcombobox.c:951
+#: ../gtk/gtkcombobox.c:952
msgid "Appears as list"
msgstr "Móstrase como unha lista"
-#: ../gtk/gtkcombobox.c:952
+#: ../gtk/gtkcombobox.c:953
msgid "Whether dropdowns should look like lists rather than menus"
msgstr "Indica se os despregábeis deben parecerse a listas en vez de a menús"
-#: ../gtk/gtkcombobox.c:968
+#: ../gtk/gtkcombobox.c:969
msgid "Arrow Size"
msgstr "Tamaño da frecha"
-#: ../gtk/gtkcombobox.c:969
+#: ../gtk/gtkcombobox.c:970
msgid "The minimum size of the arrow in the combo box"
msgstr "O tamaño mínimo da frecha no caixa de combinación"
-#: ../gtk/gtkcombobox.c:986
+#: ../gtk/gtkcombobox.c:987
msgid "The amount of space used by the arrow"
msgstr "Cantidade de espazo usada pola frecha"
-#: ../gtk/gtkcombobox.c:1001 ../gtk/gtkentry.c:883 ../gtk/gtkhandlebox.c:218
-#: ../gtk/gtkmenubar.c:216 ../gtk/gtkstatusbar.c:181 ../gtk/gtktoolbar.c:603
+#: ../gtk/gtkcombobox.c:1002 ../gtk/gtkentry.c:886 ../gtk/gtkhandlebox.c:218
+#: ../gtk/gtkmenubar.c:217 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:611
#: ../gtk/gtkviewport.c:153
msgid "Shadow type"
msgstr "Tipo de sombra"
-#: ../gtk/gtkcombobox.c:1002
+#: ../gtk/gtkcombobox.c:1003
msgid "Which kind of shadow to draw around the combo box"
msgstr "A clase de sombra que se debuxa ao redor da caixa de combinación"
"Largura do bordo ao redor da área do botón na parte inferior da caixa de "
"diálogo"
-#: ../gtk/gtkentry.c:730
+#: ../gtk/gtkentrybuffer.c:353
+msgid "The contents of the buffer"
+msgstr "Os contidos do búfer"
+
+#: ../gtk/gtkentrybuffer.c:367 ../gtk/gtkentry.c:917
+msgid "Text length"
+msgstr "Lonxitude de texto"
+
+#: ../gtk/gtkentrybuffer.c:368
+msgid "Length of the text currently in the buffer"
+msgstr "A lonxitude do texto que está actualmente no búfer"
+
+#: ../gtk/gtkentrybuffer.c:382 ../gtk/gtkentry.c:769
+msgid "Maximum length"
+msgstr "Lonxitude máxima"
+
+#: ../gtk/gtkentrybuffer.c:383 ../gtk/gtkentry.c:770
+msgid "Maximum number of characters for this entry. Zero if no maximum"
+msgstr "Número máximo de caracteres nesta entrada. É cero se non hai un máximo"
+
+#: ../gtk/gtkentry.c:733
msgid "Text Buffer"
msgstr "Búfer de texto"
-#: ../gtk/gtkentry.c:731
+#: ../gtk/gtkentry.c:734
msgid "Text buffer object which actually stores entry text"
msgstr "Obxecto de búfer de texto que almacena actualmente a entrada de texto"
-#: ../gtk/gtkentry.c:738 ../gtk/gtklabel.c:837
+#: ../gtk/gtkentry.c:741 ../gtk/gtklabel.c:839
msgid "Cursor Position"
msgstr "Posición do cursor"
-#: ../gtk/gtkentry.c:739 ../gtk/gtklabel.c:838
+#: ../gtk/gtkentry.c:742 ../gtk/gtklabel.c:840
msgid "The current position of the insertion cursor in chars"
msgstr "A posición actual do cursor de inserción en caracteres"
-#: ../gtk/gtkentry.c:748 ../gtk/gtklabel.c:847
+#: ../gtk/gtkentry.c:751 ../gtk/gtklabel.c:849
msgid "Selection Bound"
msgstr "Límite da selección"
-#: ../gtk/gtkentry.c:749 ../gtk/gtklabel.c:848
+#: ../gtk/gtkentry.c:752 ../gtk/gtklabel.c:850
msgid ""
"The position of the opposite end of the selection from the cursor in chars"
msgstr "A posición en caracteres do extremo oposto da selección desde o cursor"
-#: ../gtk/gtkentry.c:759
+#: ../gtk/gtkentry.c:762
msgid "Whether the entry contents can be edited"
msgstr "Indica se os contidos da entrada se poden editar"
-#: ../gtk/gtkentry.c:766 ../gtk/gtkentrybuffer.c:382
-msgid "Maximum length"
-msgstr "Lonxitude máxima"
-
-#: ../gtk/gtkentry.c:767 ../gtk/gtkentrybuffer.c:383
-msgid "Maximum number of characters for this entry. Zero if no maximum"
-msgstr "Número máximo de caracteres nesta entrada. É cero se non hai un máximo"
-
-#: ../gtk/gtkentry.c:775
+#: ../gtk/gtkentry.c:778
msgid "Visibility"
msgstr "Visibilidade"
-#: ../gtk/gtkentry.c:776
+#: ../gtk/gtkentry.c:779
msgid ""
"FALSE displays the \"invisible char\" instead of the actual text (password "
"mode)"
"FALSE mostra o \"carácter invisíbel\" en lugar do texto actual (no modo "
"contrasinal)"
-#: ../gtk/gtkentry.c:784
+#: ../gtk/gtkentry.c:787
msgid "FALSE removes outside bevel from entry"
msgstr "FALSE elimina o bisel exterior da entrada"
-#: ../gtk/gtkentry.c:792
+#: ../gtk/gtkentry.c:795
msgid ""
"Border between text and frame. Overrides the inner-border style property"
msgstr ""
"Bordo entre o texto e o marco. Sobreponse á propiedade de estilo do bordo "
"interno"
-#: ../gtk/gtkentry.c:799 ../gtk/gtkentry.c:1395
+#: ../gtk/gtkentry.c:802 ../gtk/gtkentry.c:1398
msgid "Invisible character"
msgstr "Carácter invisíbel"
-#: ../gtk/gtkentry.c:800 ../gtk/gtkentry.c:1396
+#: ../gtk/gtkentry.c:803 ../gtk/gtkentry.c:1399
msgid "The character to use when masking entry contents (in \"password mode\")"
msgstr ""
"O carácter que usar cando se oculten os contidos da entrada (no \"modo de "
"contrasinal\")"
-#: ../gtk/gtkentry.c:807
+#: ../gtk/gtkentry.c:810
msgid "Activates default"
msgstr "Activa o predeterminado"
-#: ../gtk/gtkentry.c:808
+#: ../gtk/gtkentry.c:811
msgid ""
"Whether to activate the default widget (such as the default button in a "
"dialog) when Enter is pressed"
"Indica se se debe activar o widget predeterminado (como o botón "
"predeterminado nunha caixa de diálogo) cando se prema a tecla Intro"
-#: ../gtk/gtkentry.c:814
+#: ../gtk/gtkentry.c:817
msgid "Width in chars"
msgstr "Largura en caracteres"
-#: ../gtk/gtkentry.c:815
+#: ../gtk/gtkentry.c:818
msgid "Number of characters to leave space for in the entry"
msgstr "Número de caracteres para os que deixar espazo na entrada"
-#: ../gtk/gtkentry.c:824
+#: ../gtk/gtkentry.c:827
msgid "Scroll offset"
msgstr "Compensación do desprazamento"
-#: ../gtk/gtkentry.c:825
+#: ../gtk/gtkentry.c:828
msgid "Number of pixels of the entry scrolled off the screen to the left"
msgstr ""
"Número de píxeles da entrada desprazados fóra da pantalla e cara á esquerda"
-#: ../gtk/gtkentry.c:835
+#: ../gtk/gtkentry.c:838
msgid "The contents of the entry"
msgstr "Os contidos da entrada"
-#: ../gtk/gtkentry.c:850 ../gtk/gtkmisc.c:105
+#: ../gtk/gtkentry.c:853 ../gtk/gtkmisc.c:105
msgid "X align"
msgstr "Aliñamento X"
-#: ../gtk/gtkentry.c:851 ../gtk/gtkmisc.c:106
+#: ../gtk/gtkentry.c:854 ../gtk/gtkmisc.c:106
msgid ""
"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL "
"layouts."
"O aliñamento horizontal, desde 0 (esquerda) até 1 (dereita). Ao revés para "
"disposicións DAE."
-#: ../gtk/gtkentry.c:867
+#: ../gtk/gtkentry.c:870
msgid "Truncate multiline"
msgstr "Truncar multiliña"
-#: ../gtk/gtkentry.c:868
+#: ../gtk/gtkentry.c:871
msgid "Whether to truncate multiline pastes to one line."
msgstr "Indica se se truncan as accións de pegar multiliñas nunha liña."
-#: ../gtk/gtkentry.c:884
+#: ../gtk/gtkentry.c:887
msgid "Which kind of shadow to draw around the entry when has-frame is set"
msgstr ""
"Que tipo de sombra debuxar ao redor da entrada cando has-frame está activado"
-#: ../gtk/gtkentry.c:899 ../gtk/gtktextview.c:765
+#: ../gtk/gtkentry.c:902 ../gtk/gtktextview.c:766
msgid "Overwrite mode"
msgstr "Modo de sobrescritura"
-#: ../gtk/gtkentry.c:900
+#: ../gtk/gtkentry.c:903
msgid "Whether new text overwrites existing text"
msgstr "Indica se o texto novo sobrescribe o texto existente"
-#: ../gtk/gtkentry.c:914 ../gtk/gtkentrybuffer.c:367
-msgid "Text length"
-msgstr "Lonxitude de texto"
-
-#: ../gtk/gtkentry.c:915
+#: ../gtk/gtkentry.c:918
msgid "Length of the text currently in the entry"
msgstr "A lonxitude do texto que está actualmente na entrada"
-#: ../gtk/gtkentry.c:930
+#: ../gtk/gtkentry.c:933
msgid "Invisible character set"
msgstr "Conxunto de caracteres invisíbel"
-#: ../gtk/gtkentry.c:931
+#: ../gtk/gtkentry.c:934
msgid "Whether the invisible character has been set"
msgstr "Indica se o carácter invisíbel foi definido"
-#: ../gtk/gtkentry.c:949
+#: ../gtk/gtkentry.c:952
msgid "Caps Lock warning"
msgstr "Aviso de Bloq Maiús"
-#: ../gtk/gtkentry.c:950
+#: ../gtk/gtkentry.c:953
msgid "Whether password entries will show a warning when Caps Lock is on"
msgstr ""
"Indica se as entradas de contrasinal mostrarán un aviso cando Bloq Maiús "
"estea activado"
-#: ../gtk/gtkentry.c:964
+#: ../gtk/gtkentry.c:967
msgid "Progress Fraction"
msgstr "Fracción de progreso"
-#: ../gtk/gtkentry.c:965
+#: ../gtk/gtkentry.c:968
msgid "The current fraction of the task that's been completed"
msgstr "A fracción actual da tarefa que está terminada"
-#: ../gtk/gtkentry.c:982
+#: ../gtk/gtkentry.c:985
msgid "Progress Pulse Step"
msgstr "Paso de pulso de progreso"
-#: ../gtk/gtkentry.c:983
+#: ../gtk/gtkentry.c:986
msgid ""
"The fraction of total entry width to move the progress bouncing block for "
"each call to gtk_entry_progress_pulse()"
"A fracción total da largura da entrada para mover o bloque de rebote de "
"progreso para cada chamada a gtk_entry_progress_pulse()"
-#: ../gtk/gtkentry.c:999
+#: ../gtk/gtkentry.c:1002
msgid "Placeholder text"
msgstr "Escribir aquí"
-#: ../gtk/gtkentry.c:1000
+#: ../gtk/gtkentry.c:1003
msgid "Show text in the entry when it's empty and unfocused"
msgstr "Mostrar texto na entrada cando esta está baleira ou non ten o foco"
-#: ../gtk/gtkentry.c:1014
+#: ../gtk/gtkentry.c:1017
msgid "Primary pixbuf"
msgstr "Pixbuf primario"
-#: ../gtk/gtkentry.c:1015
+#: ../gtk/gtkentry.c:1018
msgid "Primary pixbuf for the entry"
msgstr "O pixbuf primario para a entrada"
-#: ../gtk/gtkentry.c:1029
+#: ../gtk/gtkentry.c:1032
msgid "Secondary pixbuf"
msgstr "Pixbuf secundario"
-#: ../gtk/gtkentry.c:1030
+#: ../gtk/gtkentry.c:1033
msgid "Secondary pixbuf for the entry"
msgstr "O pixbuf secundario para a entrada"
-#: ../gtk/gtkentry.c:1044
+#: ../gtk/gtkentry.c:1047
msgid "Primary stock ID"
msgstr "ID de inventario primario"
-#: ../gtk/gtkentry.c:1045
+#: ../gtk/gtkentry.c:1048
msgid "Stock ID for primary icon"
msgstr "O ID de inventario para a icona primaria"
-#: ../gtk/gtkentry.c:1059
+#: ../gtk/gtkentry.c:1062
msgid "Secondary stock ID"
msgstr "ID de inventario secundario"
-#: ../gtk/gtkentry.c:1060
+#: ../gtk/gtkentry.c:1063
msgid "Stock ID for secondary icon"
msgstr "O ID de inventario para a icona secundaria"
-#: ../gtk/gtkentry.c:1074
+#: ../gtk/gtkentry.c:1077
msgid "Primary icon name"
msgstr "Nome de icona primaria"
-#: ../gtk/gtkentry.c:1075
+#: ../gtk/gtkentry.c:1078
msgid "Icon name for primary icon"
msgstr "O nome de icona para a icona primaria"
-#: ../gtk/gtkentry.c:1089
+#: ../gtk/gtkentry.c:1092
msgid "Secondary icon name"
msgstr "Nome de icona secundaria"
-#: ../gtk/gtkentry.c:1090
+#: ../gtk/gtkentry.c:1093
msgid "Icon name for secondary icon"
msgstr "O nome de icona para a icona secundaria"
-#: ../gtk/gtkentry.c:1104
+#: ../gtk/gtkentry.c:1107
msgid "Primary GIcon"
msgstr "GIcon primaria"
-#: ../gtk/gtkentry.c:1105
+#: ../gtk/gtkentry.c:1108
msgid "GIcon for primary icon"
msgstr "O nome para a GIcon primaria"
-#: ../gtk/gtkentry.c:1119
+#: ../gtk/gtkentry.c:1122
msgid "Secondary GIcon"
msgstr "GIcon secundaria"
-#: ../gtk/gtkentry.c:1120
+#: ../gtk/gtkentry.c:1123
msgid "GIcon for secondary icon"
msgstr "O nome para a GIcon secundaria"
-#: ../gtk/gtkentry.c:1134
+#: ../gtk/gtkentry.c:1137
msgid "Primary storage type"
msgstr "Tipo de almacenamento primario"
-#: ../gtk/gtkentry.c:1135
+#: ../gtk/gtkentry.c:1138
msgid "The representation being used for primary icon"
msgstr "A representación usada para a icona primaria"
-#: ../gtk/gtkentry.c:1150
+#: ../gtk/gtkentry.c:1153
msgid "Secondary storage type"
msgstr "Tipo de almacenamento secundario"
-#: ../gtk/gtkentry.c:1151
+#: ../gtk/gtkentry.c:1154
msgid "The representation being used for secondary icon"
msgstr "A representación usada para a icona secundaria"
-#: ../gtk/gtkentry.c:1172
+#: ../gtk/gtkentry.c:1175
msgid "Primary icon activatable"
msgstr "Icona primaria activábel"
-#: ../gtk/gtkentry.c:1173
+#: ../gtk/gtkentry.c:1176
msgid "Whether the primary icon is activatable"
msgstr "Indica se a icona primaria é activábel"
-#: ../gtk/gtkentry.c:1193
+#: ../gtk/gtkentry.c:1196
msgid "Secondary icon activatable"
msgstr "Icona secundaria activábel"
-#: ../gtk/gtkentry.c:1194
+#: ../gtk/gtkentry.c:1197
msgid "Whether the secondary icon is activatable"
msgstr "Indica se a icona secundaria é activábel"
-#: ../gtk/gtkentry.c:1216
+#: ../gtk/gtkentry.c:1219
msgid "Primary icon sensitive"
msgstr "Sensibilidade da icona primaria"
-#: ../gtk/gtkentry.c:1217
+#: ../gtk/gtkentry.c:1220
msgid "Whether the primary icon is sensitive"
msgstr "Indica se a icona primaria é sensíbel"
-#: ../gtk/gtkentry.c:1238
+#: ../gtk/gtkentry.c:1241
msgid "Secondary icon sensitive"
msgstr "Sensibilidade da icona secundaria"
-#: ../gtk/gtkentry.c:1239
+#: ../gtk/gtkentry.c:1242
msgid "Whether the secondary icon is sensitive"
msgstr "Indica se a icona secundaria é sensíbel"
-#: ../gtk/gtkentry.c:1255
+#: ../gtk/gtkentry.c:1258
msgid "Primary icon tooltip text"
msgstr "Texto da indicación da icona primaria"
-#: ../gtk/gtkentry.c:1256 ../gtk/gtkentry.c:1292
+#: ../gtk/gtkentry.c:1259 ../gtk/gtkentry.c:1295
msgid "The contents of the tooltip on the primary icon"
msgstr "O contido da indicación da icona primaria"
-#: ../gtk/gtkentry.c:1272
+#: ../gtk/gtkentry.c:1275
msgid "Secondary icon tooltip text"
msgstr "Texto da indicación da icona secundaria"
-#: ../gtk/gtkentry.c:1273 ../gtk/gtkentry.c:1311
+#: ../gtk/gtkentry.c:1276 ../gtk/gtkentry.c:1314
msgid "The contents of the tooltip on the secondary icon"
msgstr "O contido da indicación da icona secundaria"
-#: ../gtk/gtkentry.c:1291
+#: ../gtk/gtkentry.c:1294
msgid "Primary icon tooltip markup"
msgstr "Marcación da indicación da icona primaria"
-#: ../gtk/gtkentry.c:1310
+#: ../gtk/gtkentry.c:1313
msgid "Secondary icon tooltip markup"
msgstr "Marcación da indicación da icona secundaria"
-#: ../gtk/gtkentry.c:1330 ../gtk/gtktextview.c:793
+#: ../gtk/gtkentry.c:1333 ../gtk/gtktextview.c:794
msgid "IM module"
msgstr "Módulo MI"
-#: ../gtk/gtkentry.c:1331 ../gtk/gtktextview.c:794
+#: ../gtk/gtkentry.c:1334 ../gtk/gtktextview.c:795
msgid "Which IM module should be used"
msgstr "O módulo de MI que se debería usar"
-#: ../gtk/gtkentry.c:1345
+#: ../gtk/gtkentry.c:1348
msgid "Completion"
msgstr "Completado"
-#: ../gtk/gtkentry.c:1346
+#: ../gtk/gtkentry.c:1349
msgid "The auxiliary completion object"
msgstr "O obxecto de completado auxiliar"
-#: ../gtk/gtkentry.c:1360
+#: ../gtk/gtkentry.c:1363
msgid "Icon Prelight"
msgstr "Iluminación previa da icona"
-#: ../gtk/gtkentry.c:1361
+#: ../gtk/gtkentry.c:1364
msgid "Whether activatable icons should prelight when hovered"
msgstr ""
"Indica se as iconas activábeis se deberían iluminar previamente ao pasar o "
"rato por encima"
-#: ../gtk/gtkentry.c:1374
+#: ../gtk/gtkentry.c:1377
msgid "Progress Border"
msgstr "Bordo do progreso"
-#: ../gtk/gtkentry.c:1375
+#: ../gtk/gtkentry.c:1378
msgid "Border around the progress bar"
msgstr "O bordo ao redor da barra de progreso"
-#: ../gtk/gtkentry.c:1867
+#: ../gtk/gtkentry.c:1870
msgid "Border between text and frame."
msgstr "Bordo entre o texto e o marco."
-#: ../gtk/gtkentrybuffer.c:353
-msgid "The contents of the buffer"
-msgstr "Os contidos do búfer"
-
-#: ../gtk/gtkentrybuffer.c:368
-msgid "Length of the text currently in the buffer"
-msgstr "A lonxitude do texto que está actualmente no búfer"
-
#: ../gtk/gtkentrycompletion.c:320
msgid "Completion Model"
msgstr "Modelo de completado"
"Indica se a xanela captadora de eventos da caixa de eventos está por encima "
"da xanela do widget fillo ao contrario de por debaixo dela."
-#: ../gtk/gtkexpander.c:281
+#: ../gtk/gtkexpander.c:282
msgid "Expanded"
msgstr "Expandido"
-#: ../gtk/gtkexpander.c:282
+#: ../gtk/gtkexpander.c:283
msgid "Whether the expander has been opened to reveal the child widget"
msgstr "Indica se o expansor foi aberto para deixar ver o widget fillo"
-#: ../gtk/gtkexpander.c:290
+#: ../gtk/gtkexpander.c:291
msgid "Text of the expander's label"
msgstr "Texto da etiqueta do expansor"
-#: ../gtk/gtkexpander.c:305 ../gtk/gtklabel.c:756
+#: ../gtk/gtkexpander.c:306 ../gtk/gtklabel.c:758
msgid "Use markup"
msgstr "Usar a marcación"
-#: ../gtk/gtkexpander.c:306 ../gtk/gtklabel.c:757
+#: ../gtk/gtkexpander.c:307 ../gtk/gtklabel.c:759
msgid "The text of the label includes XML markup. See pango_parse_markup()"
msgstr "O texto da etiqueta inclúe marcación XML. Vexa pango_parse_markup()"
-#: ../gtk/gtkexpander.c:314
+#: ../gtk/gtkexpander.c:315
msgid "Space to put between the label and the child"
msgstr "Espazo para pór entre a etiqueta e o fillo"
-#: ../gtk/gtkexpander.c:323 ../gtk/gtkframe.c:205 ../gtk/gtktoolbutton.c:246
+#: ../gtk/gtkexpander.c:324 ../gtk/gtkframe.c:206 ../gtk/gtktoolbutton.c:246
#: ../gtk/gtktoolitemgroup.c:1599
msgid "Label widget"
msgstr "Widget etiqueta"
-#: ../gtk/gtkexpander.c:324
+#: ../gtk/gtkexpander.c:325
msgid "A widget to display in place of the usual expander label"
msgstr "Un widget para mostrar en lugar da etiqueta habitual do expansor"
-#: ../gtk/gtkexpander.c:331
+#: ../gtk/gtkexpander.c:332
msgid "Label fill"
msgstr "Recheo da etiqueta"
-#: ../gtk/gtkexpander.c:332
+#: ../gtk/gtkexpander.c:333
msgid "Whether the label widget should fill all available horizontal space"
msgstr ""
"Indica se o widget etiqueta deben encher todo o espazo horizontal dispoñíbel"
-#: ../gtk/gtkexpander.c:347
+#: ../gtk/gtkexpander.c:348
msgid "Resize tolevel"
msgstr "Redimensionar nivel superior"
-#: ../gtk/gtkexpander.c:348
+#: ../gtk/gtkexpander.c:349
msgid ""
"Whether the expander will resize the toplevel window upon expanding and "
"collapsing"
"Indica se o expansor redimensionará a xanela de nivel superior ao expandirse "
"e contraerse"
-#: ../gtk/gtkexpander.c:354 ../gtk/gtktoolitemgroup.c:1627
-#: ../gtk/gtktreeview.c:1186
+#: ../gtk/gtkexpander.c:355 ../gtk/gtktoolitemgroup.c:1627
+#: ../gtk/gtktreeview.c:1187
msgid "Expander Size"
msgstr "Tamaño do expansor"
-#: ../gtk/gtkexpander.c:355 ../gtk/gtktoolitemgroup.c:1628
-#: ../gtk/gtktreeview.c:1187
+#: ../gtk/gtkexpander.c:356 ../gtk/gtktoolitemgroup.c:1628
+#: ../gtk/gtktreeview.c:1188
msgid "Size of the expander arrow"
msgstr "Tamaño da frecha do expansor"
-#: ../gtk/gtkexpander.c:364
+#: ../gtk/gtkexpander.c:365
msgid "Spacing around expander arrow"
msgstr "Espazamento ao redor da frecha do expansor"
msgstr ""
"O texto que mostrar como exemplo para indicar o tipo de letra seleccionado"
-#: ../gtk/gtkframe.c:171
+#: ../gtk/gtkframe.c:172
msgid "Text of the frame's label"
msgstr "Texto da etiqueta do marco"
-#: ../gtk/gtkframe.c:178
+#: ../gtk/gtkframe.c:179
msgid "Label xalign"
msgstr "Aliñamento x da etiqueta"
-#: ../gtk/gtkframe.c:179
+#: ../gtk/gtkframe.c:180
msgid "The horizontal alignment of the label"
msgstr "O aliñamento horizontal da etiqueta"
-#: ../gtk/gtkframe.c:187
+#: ../gtk/gtkframe.c:188
msgid "Label yalign"
msgstr "Aliñamento y da etiqueta"
-#: ../gtk/gtkframe.c:188
+#: ../gtk/gtkframe.c:189
msgid "The vertical alignment of the label"
msgstr "O aliñamento vertical da etiqueta"
-#: ../gtk/gtkframe.c:196
+#: ../gtk/gtkframe.c:197
msgid "Frame shadow"
msgstr "Sombra do marco"
-#: ../gtk/gtkframe.c:197
+#: ../gtk/gtkframe.c:198
msgid "Appearance of the frame border"
msgstr "Aparencia do bordo do marco"
-#: ../gtk/gtkframe.c:206
+#: ../gtk/gtkframe.c:207
msgid "A widget to display in place of the usual frame label"
msgstr "Un widget para mostrar en lugar da etiqueta de marco habitual"
msgid "Left attachment"
msgstr "Anexo á esquerda"
-#: ../gtk/gtkgrid.c:1327 ../gtk/gtkmenu.c:760 ../gtk/gtktable.c:236
+#: ../gtk/gtkgrid.c:1327 ../gtk/gtkmenu.c:761 ../gtk/gtktable.c:236
msgid "The column number to attach the left side of the child to"
msgstr "A cantidade de columnas para anexar ao lado esquerdo do fillo"
msgstr ""
"Como se sitúan o texto e a icona de cada elemento en relación un ao outro"
-#: ../gtk/gtkiconview.c:725 ../gtk/gtktreeview.c:1021
+#: ../gtk/gtkiconview.c:725 ../gtk/gtktreeview.c:1022
#: ../gtk/gtktreeviewcolumn.c:374
msgid "Reorderable"
msgstr "Reordenábel"
-#: ../gtk/gtkiconview.c:726 ../gtk/gtktreeview.c:1022
+#: ../gtk/gtkiconview.c:726 ../gtk/gtktreeview.c:1023
msgid "View is reorderable"
msgstr "A visualización é reordenábel"
-#: ../gtk/gtkiconview.c:733 ../gtk/gtktreeview.c:1172
+#: ../gtk/gtkiconview.c:733 ../gtk/gtktreeview.c:1173
msgid "Tooltip Column"
msgstr "Columna de indicación"
msgid "Opacity of the selection box"
msgstr "Opacidade da caixa de selección"
-#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:235
+#: ../gtk/gtkimage.c:237 ../gtk/gtkstatusicon.c:235
msgid "Pixbuf"
msgstr "Pixbuf"
-#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:236
+#: ../gtk/gtkimage.c:238 ../gtk/gtkstatusicon.c:236
msgid "A GdkPixbuf to display"
msgstr "Un GdkPixbuf para mostrar"
-#: ../gtk/gtkimage.c:243 ../gtk/gtkrecentmanager.c:294
+#: ../gtk/gtkimage.c:245 ../gtk/gtkrecentmanager.c:294
#: ../gtk/gtkstatusicon.c:243
msgid "Filename"
msgstr "Nome do ficheiro"
-#: ../gtk/gtkimage.c:244 ../gtk/gtkstatusicon.c:244
+#: ../gtk/gtkimage.c:246 ../gtk/gtkstatusicon.c:244
msgid "Filename to load and display"
msgstr "Nome de ficheiro para cargar e mostrar"
-#: ../gtk/gtkimage.c:253 ../gtk/gtkstatusicon.c:252
+#: ../gtk/gtkimage.c:255 ../gtk/gtkstatusicon.c:252
msgid "Stock ID for a stock image to display"
msgstr "ID de inventario para unha imaxe de inventario para mostrar"
-#: ../gtk/gtkimage.c:260
+#: ../gtk/gtkimage.c:262
msgid "Icon set"
msgstr "Definición da icona"
-#: ../gtk/gtkimage.c:261
+#: ../gtk/gtkimage.c:263
msgid "Icon set to display"
msgstr "Definición da icona para mostrar"
-#: ../gtk/gtkimage.c:268 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:520
-#: ../gtk/gtktoolpalette.c:1006
+#: ../gtk/gtkimage.c:270 ../gtk/gtkscalebutton.c:228 ../gtk/gtktoolbar.c:528
+#: ../gtk/gtktoolpalette.c:1008
msgid "Icon size"
msgstr "Tamaño da icona"
-#: ../gtk/gtkimage.c:269
+#: ../gtk/gtkimage.c:271
msgid "Symbolic size to use for stock icon, icon set or named icon"
msgstr ""
"Tamaño simbólico que usar para a icona de inventario, conxunto de iconas ou "
"icona con nome"
-#: ../gtk/gtkimage.c:285
+#: ../gtk/gtkimage.c:287
msgid "Pixel size"
msgstr "Tamaño do píxel"
-#: ../gtk/gtkimage.c:286
+#: ../gtk/gtkimage.c:288
msgid "Pixel size to use for named icon"
msgstr "Tamaño do píxel que usar para a icona con nome"
-#: ../gtk/gtkimage.c:294
+#: ../gtk/gtkimage.c:296
msgid "Animation"
msgstr "Animación"
-#: ../gtk/gtkimage.c:295
+#: ../gtk/gtkimage.c:297
msgid "GdkPixbufAnimation to display"
msgstr "GdkPixbufAnimation para mostrar"
-#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:283
+#: ../gtk/gtkimage.c:337 ../gtk/gtkstatusicon.c:283
msgid "Storage type"
msgstr "Tipo de almacenamento"
-#: ../gtk/gtkimage.c:336 ../gtk/gtkstatusicon.c:284
+#: ../gtk/gtkimage.c:338 ../gtk/gtkstatusicon.c:284
msgid "The representation being used for image data"
msgstr "A representación empregada para as informacións de imaxe"
-#: ../gtk/gtkimage.c:354
+#: ../gtk/gtkimage.c:356
msgid "Use Fallback"
msgstr "Usar alfa"
-#: ../gtk/gtkimage.c:355
+#: ../gtk/gtkimage.c:357
msgid "Whether to use icon names fallback"
msgstr "Indica se a icona de estado pestanexa ou non"
"Indica se hai que usar a etiqueta de texto para crear un elemento de menú de "
"inventario"
-#: ../gtk/gtkimagemenuitem.c:209 ../gtk/gtkmenu.c:602
+#: ../gtk/gtkimagemenuitem.c:209 ../gtk/gtkmenu.c:603
msgid "Accel Group"
msgstr "Grupo de teclas rápidas"
msgstr "Largura do bordo arredor da área de acción"
#: ../gtk/gtkinvisible.c:103 ../gtk/gtkmountoperation.c:173
-#: ../gtk/gtkstatusicon.c:302 ../gtk/gtkstylecontext.c:544
-#: ../gtk/gtkwindow.c:731
+#: ../gtk/gtkstatusicon.c:302 ../gtk/gtkstylecontext.c:431
+#: ../gtk/gtkwindow.c:732
msgid "Screen"
msgstr "Pantalla"
-#: ../gtk/gtkinvisible.c:104 ../gtk/gtkwindow.c:732
+#: ../gtk/gtkinvisible.c:104 ../gtk/gtkwindow.c:733
msgid "The screen where this window will be displayed"
msgstr "A pantalla onde se mostrará esta xanela"
-#: ../gtk/gtklabel.c:743
+#: ../gtk/gtklabel.c:745
msgid "The text of the label"
msgstr "O texto da etiqueta"
-#: ../gtk/gtklabel.c:750
+#: ../gtk/gtklabel.c:752
msgid "A list of style attributes to apply to the text of the label"
msgstr "Unha lista de atributos de estilos para aplicar ao texto da etiqueta"
-#: ../gtk/gtklabel.c:771 ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:702
+#: ../gtk/gtklabel.c:773 ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:703
msgid "Justification"
msgstr "Xustificación"
-#: ../gtk/gtklabel.c:772
+#: ../gtk/gtklabel.c:774
msgid ""
"The alignment of the lines in the text of the label relative to each other. "
"This does NOT affect the alignment of the label within its allocation. See "
"NON afecta ao aliñamento da etiqueta dentro da súa asignación Ver GtkMisc::"
"xalign para iso"
-#: ../gtk/gtklabel.c:780
+#: ../gtk/gtklabel.c:782
msgid "Pattern"
msgstr "Patrón"
-#: ../gtk/gtklabel.c:781
+#: ../gtk/gtklabel.c:783
msgid ""
"A string with _ characters in positions correspond to characters in the text "
"to underline"
"Unha cadea con caracteres _ en posicións correspondentes a caracteres no "
"texto para subliñar"
-#: ../gtk/gtklabel.c:788
+#: ../gtk/gtklabel.c:790
msgid "Line wrap"
msgstr "Axuste de liña"
-#: ../gtk/gtklabel.c:789
+#: ../gtk/gtklabel.c:791
msgid "If set, wrap lines if the text becomes too wide"
msgstr "Se se define, axusta a liña se o texto se volve demasiado largo"
-#: ../gtk/gtklabel.c:804
+#: ../gtk/gtklabel.c:806
msgid "Line wrap mode"
msgstr "Modo de axuste de liña"
-#: ../gtk/gtklabel.c:805
+#: ../gtk/gtklabel.c:807
msgid "If wrap is set, controls how linewrapping is done"
msgstr "Se se estabelece o axuste, controla como se fai o axuste de liña"
-#: ../gtk/gtklabel.c:812
+#: ../gtk/gtklabel.c:814
msgid "Selectable"
msgstr "Seleccionábel"
-#: ../gtk/gtklabel.c:813
+#: ../gtk/gtklabel.c:815
msgid "Whether the label text can be selected with the mouse"
msgstr "Indica se o texto da etiqueta pode ser seleccionado co rato"
-#: ../gtk/gtklabel.c:819
+#: ../gtk/gtklabel.c:821
msgid "Mnemonic key"
msgstr "Tecla mnemónica"
-#: ../gtk/gtklabel.c:820
+#: ../gtk/gtklabel.c:822
msgid "The mnemonic accelerator key for this label"
msgstr "A tecla rápida mnemónica para esta etiqueta"
-#: ../gtk/gtklabel.c:828
+#: ../gtk/gtklabel.c:830
msgid "Mnemonic widget"
msgstr "Widget mnemónico"
-#: ../gtk/gtklabel.c:829
+#: ../gtk/gtklabel.c:831
msgid "The widget to be activated when the label's mnemonic key is pressed"
msgstr "O widget que se activará cando se prema a tecla mnemónica da etiqueta"
-#: ../gtk/gtklabel.c:875
+#: ../gtk/gtklabel.c:877
msgid ""
"The preferred place to ellipsize the string, if the label does not have "
"enough room to display the entire string"
"O lugar preferido para a elipse da cadea, se a etiqueta non ten suficiente "
"espazo para mostrar a cadea completa"
-#: ../gtk/gtklabel.c:916
+#: ../gtk/gtklabel.c:918
msgid "Single Line Mode"
msgstr "Modo de liña única"
-#: ../gtk/gtklabel.c:917
+#: ../gtk/gtklabel.c:919
msgid "Whether the label is in single line mode"
msgstr "Indica se a etiqueta está no modo de liña única"
-#: ../gtk/gtklabel.c:934
+#: ../gtk/gtklabel.c:936
msgid "Angle"
msgstr "Ángulo"
-#: ../gtk/gtklabel.c:935
+#: ../gtk/gtklabel.c:937
msgid "Angle at which the label is rotated"
msgstr "Ángulo sobre o que se rota a etiqueta"
-#: ../gtk/gtklabel.c:957
+#: ../gtk/gtklabel.c:959
msgid "The desired maximum width of the label, in characters"
msgstr "A largura máxima desexada da etiqueta, en caracteres"
-#: ../gtk/gtklabel.c:975
+#: ../gtk/gtklabel.c:977
msgid "Track visited links"
msgstr "Rexistrar as ligazóns visitadas"
-#: ../gtk/gtklabel.c:976
+#: ../gtk/gtklabel.c:978
msgid "Whether visited links should be tracked"
msgstr "Indica se as ligazóns visitadas deberían ser rexistradas"
"A suxestión que mostrar ao mostrar ao usuario que non foi posíbel obter unha "
"autorización"
-#: ../gtk/gtkmenubar.c:190
+#: ../gtk/gtkmenubar.c:191
msgid "Pack direction"
msgstr "Dirección do empaquetado"
-#: ../gtk/gtkmenubar.c:191
+#: ../gtk/gtkmenubar.c:192
msgid "The pack direction of the menubar"
msgstr "A dirección do empaquetado da barra de menú"
-#: ../gtk/gtkmenubar.c:207
+#: ../gtk/gtkmenubar.c:208
msgid "Child Pack direction"
msgstr "Dirección do empaquetado fillo"
-#: ../gtk/gtkmenubar.c:208
+#: ../gtk/gtkmenubar.c:209
msgid "The child pack direction of the menubar"
msgstr "A dirección do empaquetado fillo da barra de menú"
-#: ../gtk/gtkmenubar.c:217
+#: ../gtk/gtkmenubar.c:218
msgid "Style of bevel around the menubar"
msgstr "Estilo do bisel ao redor da barra de menús"
-#: ../gtk/gtkmenubar.c:224 ../gtk/gtktoolbar.c:570
+#: ../gtk/gtkmenubar.c:225 ../gtk/gtktoolbar.c:578
msgid "Internal padding"
msgstr "Recheo interno"
-#: ../gtk/gtkmenubar.c:225
+#: ../gtk/gtkmenubar.c:226
msgid "Amount of border space between the menubar shadow and the menu items"
msgstr ""
"Cantidade de espazo do bordo entre a sombra da barra de menús e os elementos "
"de menú"
-#: ../gtk/gtkmenu.c:588
+#: ../gtk/gtkmenu.c:589
msgid "The currently selected menu item"
msgstr "O elemento de menú actualmente seleccionado"
-#: ../gtk/gtkmenu.c:603
+#: ../gtk/gtkmenu.c:604
msgid "The accel group holding accelerators for the menu"
msgstr "O grupo de teclas rápidas que contén as teclas rápidas para o menú"
-#: ../gtk/gtkmenu.c:617 ../gtk/gtkmenuitem.c:366
+#: ../gtk/gtkmenu.c:618 ../gtk/gtkmenuitem.c:369
msgid "Accel Path"
msgstr "Ruta de teclas rápidas"
-#: ../gtk/gtkmenu.c:618
+#: ../gtk/gtkmenu.c:619
msgid "An accel path used to conveniently construct accel paths of child items"
msgstr ""
"Unha ruta de teclas rápidas usado para construír adecuadamente os camiños de "
"teclas rápidas dos elementos fillo"
-#: ../gtk/gtkmenu.c:634
+#: ../gtk/gtkmenu.c:635
msgid "Attach Widget"
msgstr "Widget anexado"
-#: ../gtk/gtkmenu.c:635
+#: ../gtk/gtkmenu.c:636
msgid "The widget the menu is attached to"
msgstr "O widget ao que está anexado o menú"
-#: ../gtk/gtkmenu.c:643
+#: ../gtk/gtkmenu.c:644
msgid ""
"A title that may be displayed by the window manager when this menu is torn-"
"off"
"Un título que o xestor de xanelas poderá mostrar cando este menú estea "
"desprazado"
-#: ../gtk/gtkmenu.c:657
+#: ../gtk/gtkmenu.c:658
msgid "Tearoff State"
msgstr "Estado de desprazamento"
-#: ../gtk/gtkmenu.c:658
+#: ../gtk/gtkmenu.c:659
msgid "A boolean that indicates whether the menu is torn-off"
msgstr "Un booleano que indica se o menú está desprazado"
-#: ../gtk/gtkmenu.c:672
+#: ../gtk/gtkmenu.c:673
msgid "Monitor"
msgstr "Monitor"
-#: ../gtk/gtkmenu.c:673
+#: ../gtk/gtkmenu.c:674
msgid "The monitor the menu will be popped up on"
msgstr "O monitor en que emerxerá o menú"
-#: ../gtk/gtkmenu.c:679
+#: ../gtk/gtkmenu.c:680
msgid "Vertical Padding"
msgstr "Recheo vertical"
-#: ../gtk/gtkmenu.c:680
+#: ../gtk/gtkmenu.c:681
msgid "Extra space at the top and bottom of the menu"
msgstr "O espazo adicional na parte superior e inferior do menú"
-#: ../gtk/gtkmenu.c:702
+#: ../gtk/gtkmenu.c:703
msgid "Reserve Toggle Size"
msgstr "Reservar o tamaño de alternancia"
-#: ../gtk/gtkmenu.c:703
+#: ../gtk/gtkmenu.c:704
msgid ""
"A boolean that indicates whether the menu reserves space for toggles and "
"icons"
msgstr ""
"Un booleano que indica se o menú reserva espazo para alternancias e iconas"
-#: ../gtk/gtkmenu.c:709
+#: ../gtk/gtkmenu.c:710
msgid "Horizontal Padding"
msgstr "Recheo horizontal"
-#: ../gtk/gtkmenu.c:710
+#: ../gtk/gtkmenu.c:711
msgid "Extra space at the left and right edges of the menu"
msgstr "O espazo adicional nos bordos dereito e esquerdo do menú"
-#: ../gtk/gtkmenu.c:718
+#: ../gtk/gtkmenu.c:719
msgid "Vertical Offset"
msgstr "Desprazamento vertical"
-#: ../gtk/gtkmenu.c:719
+#: ../gtk/gtkmenu.c:720
msgid ""
"When the menu is a submenu, position it this number of pixels offset "
"vertically"
"Cando o menú é un submenú, colóqueo verticalmente con este número de píxeles "
"de desprazamento"
-#: ../gtk/gtkmenu.c:727
+#: ../gtk/gtkmenu.c:728
msgid "Horizontal Offset"
msgstr "Desprazamento horizontal"
-#: ../gtk/gtkmenu.c:728
+#: ../gtk/gtkmenu.c:729
msgid ""
"When the menu is a submenu, position it this number of pixels offset "
"horizontally"
"Cando o menú é un submenú, colóqueo horizontalmente con este número de "
"píxeles de desprazamento"
-#: ../gtk/gtkmenu.c:736
+#: ../gtk/gtkmenu.c:737
msgid "Double Arrows"
msgstr "Frechas dobres"
-#: ../gtk/gtkmenu.c:737
+#: ../gtk/gtkmenu.c:738
msgid "When scrolling, always show both arrows."
msgstr "Mostrar sempre ambas as frechas ao desprazar."
-#: ../gtk/gtkmenu.c:750
+#: ../gtk/gtkmenu.c:751
msgid "Arrow Placement"
msgstr "Colocación da frecha"
-#: ../gtk/gtkmenu.c:751
+#: ../gtk/gtkmenu.c:752
msgid "Indicates where scroll arrows should be placed"
msgstr "Indica onde se deberían colocar as frechas de desprazamento"
-#: ../gtk/gtkmenu.c:759
+#: ../gtk/gtkmenu.c:760
msgid "Left Attach"
msgstr "Anexar á esquerda"
-#: ../gtk/gtkmenu.c:767
+#: ../gtk/gtkmenu.c:768
msgid "Right Attach"
msgstr "Anexar á dereita"
-#: ../gtk/gtkmenu.c:768
+#: ../gtk/gtkmenu.c:769
msgid "The column number to attach the right side of the child to"
msgstr "A cantidade de columnas para anexar ao lado dereito do fillo"
-#: ../gtk/gtkmenu.c:775
+#: ../gtk/gtkmenu.c:776
msgid "Top Attach"
msgstr "Anexar arriba"
-#: ../gtk/gtkmenu.c:776
+#: ../gtk/gtkmenu.c:777
msgid "The row number to attach the top of the child to"
msgstr "O número de filas para anexar encima do fillo"
-#: ../gtk/gtkmenu.c:783
+#: ../gtk/gtkmenu.c:784
msgid "Bottom Attach"
msgstr "Anexar abaixo"
-#: ../gtk/gtkmenu.c:784 ../gtk/gtktable.c:257
+#: ../gtk/gtkmenu.c:785 ../gtk/gtktable.c:257
msgid "The row number to attach the bottom of the child to"
msgstr "O número de filas para anexar debaixo do fillo"
-#: ../gtk/gtkmenu.c:798
+#: ../gtk/gtkmenu.c:799
msgid "Arbitrary constant to scale down the size of the scroll arrow"
msgstr ""
"Unha constante arbitraria para escalar para abaixo o tamaño da frecha de "
"desprazamento"
-#: ../gtk/gtkmenuitem.c:334
+#: ../gtk/gtkmenuitem.c:337
msgid "Right Justified"
msgstr "Xustificado á dereita"
-#: ../gtk/gtkmenuitem.c:335
+#: ../gtk/gtkmenuitem.c:338
msgid ""
"Sets whether the menu item appears justified at the right side of a menu bar"
msgstr ""
"Define se o elemento de menú aparece xustificado ao lado dereito dunha barra "
"de menú"
-#: ../gtk/gtkmenuitem.c:349
+#: ../gtk/gtkmenuitem.c:352
msgid "Submenu"
msgstr "Submenú"
-#: ../gtk/gtkmenuitem.c:350
+#: ../gtk/gtkmenuitem.c:353
msgid "The submenu attached to the menu item, or NULL if it has none"
msgstr "O submenú anexado ao elemento do menú, ou NULL se non ten ningún"
-#: ../gtk/gtkmenuitem.c:367
+#: ../gtk/gtkmenuitem.c:370
msgid "Sets the accelerator path of the menu item"
msgstr "Define o camiño de teclas rápidas dun elemento de menú"
-#: ../gtk/gtkmenuitem.c:382
+#: ../gtk/gtkmenuitem.c:385
msgid "The text for the child label"
msgstr "O texto da etiqueta filla"
-#: ../gtk/gtkmenuitem.c:445
+#: ../gtk/gtkmenuitem.c:448
msgid "Amount of space used up by arrow, relative to the menu item's font size"
msgstr ""
"A cantidade de espazo usado pola frecha, relativa ao tamaño do tipo de letra "
"do elemento de menú"
-#: ../gtk/gtkmenuitem.c:458
+#: ../gtk/gtkmenuitem.c:461
msgid "Width in Characters"
msgstr "Largura en caracteres"
-#: ../gtk/gtkmenuitem.c:459
+#: ../gtk/gtkmenuitem.c:462
msgid "The minimum desired width of the menu item in characters"
msgstr "A largura mínima desexada do elemento de menú en caracteres"
msgid "The screen where this window will be displayed."
msgstr "A pantalla onde esta xanela se mostrará."
-#: ../gtk/gtknotebook.c:695
+#: ../gtk/gtknotebook.c:696
msgid "Page"
msgstr "Páxina"
-#: ../gtk/gtknotebook.c:696
+#: ../gtk/gtknotebook.c:697
msgid "The index of the current page"
msgstr "O índice da páxina actual"
-#: ../gtk/gtknotebook.c:704
+#: ../gtk/gtknotebook.c:705
msgid "Tab Position"
msgstr "Posición da lapela"
-#: ../gtk/gtknotebook.c:705
+#: ../gtk/gtknotebook.c:706
msgid "Which side of the notebook holds the tabs"
msgstr "Que lado do caderno contén as lapelas"
-#: ../gtk/gtknotebook.c:712
+#: ../gtk/gtknotebook.c:713
msgid "Show Tabs"
msgstr "Mostrar lapelas"
-#: ../gtk/gtknotebook.c:713
+#: ../gtk/gtknotebook.c:714
msgid "Whether tabs should be shown"
msgstr "Indica se deben mostrarse ou non as lapelas"
-#: ../gtk/gtknotebook.c:719
+#: ../gtk/gtknotebook.c:720
msgid "Show Border"
msgstr "Mostrar bordo"
-#: ../gtk/gtknotebook.c:720
+#: ../gtk/gtknotebook.c:721
msgid "Whether the border should be shown"
msgstr "Indica se o bordo debe mostrarse ou non"
-#: ../gtk/gtknotebook.c:726
+#: ../gtk/gtknotebook.c:727
msgid "Scrollable"
msgstr "Desprazábel"
-#: ../gtk/gtknotebook.c:727
+#: ../gtk/gtknotebook.c:728
msgid "If TRUE, scroll arrows are added if there are too many tabs to fit"
msgstr ""
"Se é TRUE, engádense frechas de desprazamento se hai demasiadas lapela para "
"encaixar"
-#: ../gtk/gtknotebook.c:733
+#: ../gtk/gtknotebook.c:734
msgid "Enable Popup"
msgstr "Activar o menú emerxente"
-#: ../gtk/gtknotebook.c:734
+#: ../gtk/gtknotebook.c:735
msgid ""
"If TRUE, pressing the right mouse button on the notebook pops up a menu that "
"you can use to go to a page"
"Se é TRUE, premendo o botón dereito do rato no caderno emerxe un menú que "
"pode usar para ir a unha páxina"
-#: ../gtk/gtknotebook.c:748
+#: ../gtk/gtknotebook.c:749
msgid "Group Name"
msgstr "Nome do grupo"
-#: ../gtk/gtknotebook.c:749
+#: ../gtk/gtknotebook.c:750
msgid "Group name for tab drag and drop"
msgstr "Nome do grupo para o arrastre e solte das lapelas"
-#: ../gtk/gtknotebook.c:756
+#: ../gtk/gtknotebook.c:757
msgid "Tab label"
msgstr "Etiqueta da lapela"
-#: ../gtk/gtknotebook.c:757
+#: ../gtk/gtknotebook.c:758
msgid "The string displayed on the child's tab label"
msgstr "A cadea mostrada na etiqueta da lapela filla"
-#: ../gtk/gtknotebook.c:763
+#: ../gtk/gtknotebook.c:764
msgid "Menu label"
msgstr "Etiqueta de menú"
-#: ../gtk/gtknotebook.c:764
+#: ../gtk/gtknotebook.c:765
msgid "The string displayed in the child's menu entry"
msgstr "A cadea mostrada na entrada de menú filla"
-#: ../gtk/gtknotebook.c:777
+#: ../gtk/gtknotebook.c:778
msgid "Tab expand"
msgstr "Expansión da lapela"
-#: ../gtk/gtknotebook.c:778
+#: ../gtk/gtknotebook.c:779
msgid "Whether to expand the child's tab"
msgstr "Indica se se expanden as lapelas fillas ou non"
-#: ../gtk/gtknotebook.c:784
+#: ../gtk/gtknotebook.c:785
msgid "Tab fill"
msgstr "Recheo da lapela"
-#: ../gtk/gtknotebook.c:785
+#: ../gtk/gtknotebook.c:786
msgid "Whether the child's tab should fill the allocated area"
msgstr "Indica se as lapelas fillas deberían encher a área asignada ou non"
-#: ../gtk/gtknotebook.c:792
+#: ../gtk/gtknotebook.c:793
msgid "Tab reorderable"
msgstr "Lapela reordenábel"
-#: ../gtk/gtknotebook.c:793
+#: ../gtk/gtknotebook.c:794
msgid "Whether the tab is reorderable by user action"
msgstr "Indica se a lapela pode reordenarse por unha acción do usuario"
-#: ../gtk/gtknotebook.c:799
+#: ../gtk/gtknotebook.c:800
msgid "Tab detachable"
msgstr "Lapela desprazábel"
-#: ../gtk/gtknotebook.c:800
+#: ../gtk/gtknotebook.c:801
msgid "Whether the tab is detachable"
msgstr "Indica se a lapela é desprazábel"
-#: ../gtk/gtknotebook.c:815 ../gtk/gtkscrollbar.c:100
+#: ../gtk/gtknotebook.c:816 ../gtk/gtkscrollbar.c:102
msgid "Secondary backward stepper"
msgstr "Paso de retroceso secundario"
-#: ../gtk/gtknotebook.c:816
+#: ../gtk/gtknotebook.c:817
msgid ""
"Display a second backward arrow button on the opposite end of the tab area"
msgstr ""
"Mostra un segundo botón de frecha de retroceso no extremo oposto da área de "
"tabulación"
-#: ../gtk/gtknotebook.c:831 ../gtk/gtkscrollbar.c:107
+#: ../gtk/gtknotebook.c:832 ../gtk/gtkscrollbar.c:109
msgid "Secondary forward stepper"
msgstr "Paso de avance secundario"
-#: ../gtk/gtknotebook.c:832
+#: ../gtk/gtknotebook.c:833
msgid ""
"Display a second forward arrow button on the opposite end of the tab area"
msgstr ""
"Mostra un segundo botón de frecha de avance no extremo oposto da área de "
"tabulación"
-#: ../gtk/gtknotebook.c:846 ../gtk/gtkscrollbar.c:86
+#: ../gtk/gtknotebook.c:847 ../gtk/gtkscrollbar.c:88
msgid "Backward stepper"
msgstr "Paso de retroceso"
-#: ../gtk/gtknotebook.c:847 ../gtk/gtkscrollbar.c:87
+#: ../gtk/gtknotebook.c:848 ../gtk/gtkscrollbar.c:89
msgid "Display the standard backward arrow button"
msgstr "Mostrar o botón estándar de frecha de retroceso"
-#: ../gtk/gtknotebook.c:861 ../gtk/gtkscrollbar.c:93
+#: ../gtk/gtknotebook.c:862 ../gtk/gtkscrollbar.c:95
msgid "Forward stepper"
msgstr "Paso de avance"
-#: ../gtk/gtknotebook.c:862 ../gtk/gtkscrollbar.c:94
+#: ../gtk/gtknotebook.c:863 ../gtk/gtkscrollbar.c:96
msgid "Display the standard forward arrow button"
msgstr "Mostrar o botón estándar de frecha de avance"
-#: ../gtk/gtknotebook.c:876
+#: ../gtk/gtknotebook.c:877
msgid "Tab overlap"
msgstr "Superposición de lapela"
-#: ../gtk/gtknotebook.c:877
+#: ../gtk/gtknotebook.c:878
msgid "Size of tab overlap area"
msgstr "Tamaño da área de superposición da lapela"
-#: ../gtk/gtknotebook.c:892
+#: ../gtk/gtknotebook.c:893
msgid "Tab curvature"
msgstr "Curvatura da lapela"
-#: ../gtk/gtknotebook.c:893
+#: ../gtk/gtknotebook.c:894
msgid "Size of tab curvature"
msgstr "Tamaño da curvatura da lapela"
-#: ../gtk/gtknotebook.c:909
+#: ../gtk/gtknotebook.c:910
msgid "Arrow spacing"
msgstr "Espazamento de frechas"
-#: ../gtk/gtknotebook.c:910
+#: ../gtk/gtknotebook.c:911
msgid "Scroll arrow spacing"
msgstr "Espazamento das frechas de desprazamento"
-#: ../gtk/gtknotebook.c:926
+#: ../gtk/gtknotebook.c:927
msgid "Initial gap"
msgstr "Espazo inicial"
-#: ../gtk/gtknotebook.c:927
+#: ../gtk/gtknotebook.c:928
msgid "Initial gap before the first tab"
msgstr "Espazo inicia antes da primeira lapela"
msgid "TRUE if this printer is accepting new jobs"
msgstr "É TRUE se esta impresora acepta traballos novos"
+#: ../gtk/gtkprinteroption.c:105
+msgid "Option Value"
+msgstr "Valor da opción"
+
+#: ../gtk/gtkprinteroption.c:106
+msgid "Value of the option"
+msgstr "Valor da opción"
+
#: ../gtk/gtkprinteroptionwidget.c:122
msgid "Source option"
msgstr "Opción de orixe"
"TRUE se as caixas de combinación da configuración de páxina están "
"incorporadas no GtkPrintUnixDialog"
-#: ../gtk/gtkprogressbar.c:158
+#: ../gtk/gtkprogressbar.c:160
msgid "Fraction"
msgstr "Fracción"
-#: ../gtk/gtkprogressbar.c:159
+#: ../gtk/gtkprogressbar.c:161
msgid "The fraction of total work that has been completed"
msgstr "A fracción do traballo total que se completou"
-#: ../gtk/gtkprogressbar.c:166
+#: ../gtk/gtkprogressbar.c:168
msgid "Pulse Step"
msgstr "Paso de pulso"
-#: ../gtk/gtkprogressbar.c:167
+#: ../gtk/gtkprogressbar.c:169
msgid "The fraction of total progress to move the bouncing block when pulsed"
msgstr ""
"A fracción do progreso total para mover o bloque rebotador cando se preme"
-#: ../gtk/gtkprogressbar.c:175
+#: ../gtk/gtkprogressbar.c:177
msgid "Text to be displayed in the progress bar"
msgstr "Texto que se mostrará na barra de progreso"
-#: ../gtk/gtkprogressbar.c:192
+#: ../gtk/gtkprogressbar.c:194
msgid "Show text"
msgstr "Mostrar texto"
-#: ../gtk/gtkprogressbar.c:193
+#: ../gtk/gtkprogressbar.c:195
msgid "Whether the progress is shown as text."
msgstr "Indica se o progreso se mostra como texto."
-#: ../gtk/gtkprogressbar.c:215
+#: ../gtk/gtkprogressbar.c:217
msgid ""
"The preferred place to ellipsize the string, if the progress bar does not "
"have enough room to display the entire string, if at all."
"O lugar preferido para a elipse da cadea, se a barra de progreso non ten "
"espazo suficiente para mostrar a cadea completa."
-#: ../gtk/gtkprogressbar.c:222
+#: ../gtk/gtkprogressbar.c:224
msgid "X spacing"
msgstr "Espazamento X"
-#: ../gtk/gtkprogressbar.c:223
+#: ../gtk/gtkprogressbar.c:225
msgid "Extra spacing applied to the width of a progress bar."
msgstr "Espazo extra aplicado á largura dunha barra de progreso."
-#: ../gtk/gtkprogressbar.c:228
+#: ../gtk/gtkprogressbar.c:230
msgid "Y spacing"
msgstr "Espazamento Y"
-#: ../gtk/gtkprogressbar.c:229
+#: ../gtk/gtkprogressbar.c:231
msgid "Extra spacing applied to the height of a progress bar."
msgstr "Un espazamento extra aplicado á altura dunha barra de progreso."
-#: ../gtk/gtkprogressbar.c:242
+#: ../gtk/gtkprogressbar.c:244
msgid "Minimum horizontal bar width"
msgstr "Largura horizontal mínima da barra"
-#: ../gtk/gtkprogressbar.c:243
+#: ../gtk/gtkprogressbar.c:245
msgid "The minimum horizontal width of the progress bar"
msgstr "A largura horizontal mínima da barra de progreso"
-#: ../gtk/gtkprogressbar.c:255
+#: ../gtk/gtkprogressbar.c:257
msgid "Minimum horizontal bar height"
msgstr "Altura horizontal mínima da barra"
-#: ../gtk/gtkprogressbar.c:256
+#: ../gtk/gtkprogressbar.c:258
msgid "Minimum horizontal height of the progress bar"
msgstr "A altura horizontal mínima da barra de progreso"
-#: ../gtk/gtkprogressbar.c:268
+#: ../gtk/gtkprogressbar.c:270
msgid "Minimum vertical bar width"
msgstr "Largura vertical mínima da barra"
-#: ../gtk/gtkprogressbar.c:269
+#: ../gtk/gtkprogressbar.c:271
msgid "The minimum vertical width of the progress bar"
msgstr "A largura vertical mínima da barra de progreso"
-#: ../gtk/gtkprogressbar.c:281
+#: ../gtk/gtkprogressbar.c:283
msgid "Minimum vertical bar height"
msgstr "Altura vertical mínima da barra"
-#: ../gtk/gtkprogressbar.c:282
+#: ../gtk/gtkprogressbar.c:284
msgid "The minimum vertical height of the progress bar"
msgstr "A altura vertical mínima da barra de progreso"
"O valor devolto por gtk_radio_action_get_current_value() cando esta acción é "
"a acción actual do seu grupo."
-#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163
-#: ../gtk/gtkradiomenuitem.c:425 ../gtk/gtkradiotoolbutton.c:85
+#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:164
+#: ../gtk/gtkradiomenuitem.c:427 ../gtk/gtkradiotoolbutton.c:85
msgid "Group"
msgstr "Grupo"
"A propiedade do valor do membro actualmente activo do grupo ao que esta "
"acción pertence."
-#: ../gtk/gtkradiobutton.c:164
+#: ../gtk/gtkradiobutton.c:165
msgid "The radio button whose group this widget belongs to."
msgstr "O botón de opción a cuxo grupo pertence este widget."
-#: ../gtk/gtkradiomenuitem.c:426
+#: ../gtk/gtkradiomenuitem.c:428
msgid "The radio menu item whose group this widget belongs to."
msgstr "O elemento do menú de opción a cuxo grupo pertence este widget."
msgid "The radio tool button whose group this button belongs to."
msgstr "O botón de ferramenta de opción a cuxo grupo pertence este botón."
-#: ../gtk/gtkrange.c:418
+#: ../gtk/gtkrange.c:419
msgid "The GtkAdjustment that contains the current value of this range object"
msgstr "O GtkAdjustment que contén o valor actual deste intervalo de obxectos"
-#: ../gtk/gtkrange.c:426
+#: ../gtk/gtkrange.c:427
msgid "Invert direction slider moves to increase range value"
msgstr ""
"Inverter a dirección en que se move o control desprazábel para incrementar o "
"valor do intervalo"
-#: ../gtk/gtkrange.c:433
+#: ../gtk/gtkrange.c:434
msgid "Lower stepper sensitivity"
msgstr "Sensibilidade de paso inferior"
-#: ../gtk/gtkrange.c:434
+#: ../gtk/gtkrange.c:435
msgid ""
"The sensitivity policy for the stepper that points to the adjustment's lower "
"side"
"A política de sensibilidade para o paso que apunta ao lado máis baixo do "
"axuste"
-#: ../gtk/gtkrange.c:442
+#: ../gtk/gtkrange.c:443
msgid "Upper stepper sensitivity"
msgstr "Sensibilidade do paso superior"
-#: ../gtk/gtkrange.c:443
+#: ../gtk/gtkrange.c:444
msgid ""
"The sensitivity policy for the stepper that points to the adjustment's upper "
"side"
"A política de sensibilidade para o paso que apunta ao lado máis alto do "
"axuste"
-#: ../gtk/gtkrange.c:460
+#: ../gtk/gtkrange.c:461
msgid "Show Fill Level"
msgstr "Mostrar nivel de recheo"
-#: ../gtk/gtkrange.c:461
+#: ../gtk/gtkrange.c:462
msgid "Whether to display a fill level indicator graphics on trough."
msgstr ""
"Indica se se debe mostrar o indicador gráfico de nivel de recheo mentres se "
"enche."
-#: ../gtk/gtkrange.c:477
+#: ../gtk/gtkrange.c:478
msgid "Restrict to Fill Level"
msgstr "Restrinxir ao nivel de recheo"
-#: ../gtk/gtkrange.c:478
+#: ../gtk/gtkrange.c:479
msgid "Whether to restrict the upper boundary to the fill level."
msgstr "Indica se se debe restrinxir o bordo superior ao nivel de recheo."
-#: ../gtk/gtkrange.c:493
+#: ../gtk/gtkrange.c:494
msgid "Fill Level"
msgstr "Nivel de recheo"
-#: ../gtk/gtkrange.c:494
+#: ../gtk/gtkrange.c:495
msgid "The fill level."
msgstr "O nivel de recheo."
-#: ../gtk/gtkrange.c:511
+#: ../gtk/gtkrange.c:512
msgid "Round Digits"
msgstr "Díxitos"
-#: ../gtk/gtkrange.c:512
+#: ../gtk/gtkrange.c:513
msgid "The number of digits to round the value to."
msgstr "O número de páxinas do documento."
-#: ../gtk/gtkrange.c:520 ../gtk/gtkswitch.c:835
+#: ../gtk/gtkrange.c:521 ../gtk/gtkswitch.c:818
msgid "Slider Width"
msgstr "Largura do control desprazábel"
-#: ../gtk/gtkrange.c:521
+#: ../gtk/gtkrange.c:522
msgid "Width of scrollbar or scale thumb"
msgstr "Largura da barra de desprazamento ou do indicador de escala"
-#: ../gtk/gtkrange.c:528
+#: ../gtk/gtkrange.c:529
msgid "Trough Border"
msgstr "Bordo do canal"
-#: ../gtk/gtkrange.c:529
+#: ../gtk/gtkrange.c:530
msgid "Spacing between thumb/steppers and outer trough bevel"
msgstr ""
"Espazamento entre o indicador de escala ou os pasos e o bisel do canal "
"exterior"
-#: ../gtk/gtkrange.c:536
+#: ../gtk/gtkrange.c:537
msgid "Stepper Size"
msgstr "Tamaño do paso"
-#: ../gtk/gtkrange.c:537
+#: ../gtk/gtkrange.c:538
msgid "Length of step buttons at ends"
msgstr "Lonxitude dos botóns de paso nos extremos"
-#: ../gtk/gtkrange.c:550
+#: ../gtk/gtkrange.c:551
msgid "Stepper Spacing"
msgstr "Espazamento do paso"
-#: ../gtk/gtkrange.c:551
+#: ../gtk/gtkrange.c:552
msgid "Spacing between step buttons and thumb"
msgstr "Espazamento entre os botóns de paso e o indicador de escala"
-#: ../gtk/gtkrange.c:558
+#: ../gtk/gtkrange.c:559
msgid "Arrow X Displacement"
msgstr "Desprazamento X da frecha"
-#: ../gtk/gtkrange.c:559
+#: ../gtk/gtkrange.c:560
msgid ""
"How far in the x direction to move the arrow when the button is depressed"
msgstr "Até onde se move a frecha na dirección X cando se solta o botón"
-#: ../gtk/gtkrange.c:566
+#: ../gtk/gtkrange.c:567
msgid "Arrow Y Displacement"
msgstr "Desprazamento Y da frecha"
-#: ../gtk/gtkrange.c:567
+#: ../gtk/gtkrange.c:568
msgid ""
"How far in the y direction to move the arrow when the button is depressed"
msgstr "Até onde se move a frecha na dirección Y cando se solta o botón"
-#: ../gtk/gtkrange.c:583
+#: ../gtk/gtkrange.c:584
msgid "Trough Under Steppers"
msgstr "Canal baixo os pasos"
-#: ../gtk/gtkrange.c:584
+#: ../gtk/gtkrange.c:585
msgid ""
"Whether to draw trough for full length of range or exclude the steppers and "
"spacing"
"Indica se se debuxa para toda a lonxitude do intervalo ou se exclúe os pasos "
"e o espazamento"
-#: ../gtk/gtkrange.c:597
+#: ../gtk/gtkrange.c:598
msgid "Arrow scaling"
msgstr "Escalado de frecha"
-#: ../gtk/gtkrange.c:598
+#: ../gtk/gtkrange.c:599
msgid "Arrow scaling with regard to scroll button size"
msgstr "O escalado da frecha con atención ao tamaño do botón de desprazamento"
msgid "The size of the recently used resources list"
msgstr "O tamaño da lista de recursos usados recentemente"
-#: ../gtk/gtkscalebutton.c:218
+#: ../gtk/gtkscalebutton.c:219
msgid "The value of the scale"
msgstr "O valor da escala"
-#: ../gtk/gtkscalebutton.c:228
+#: ../gtk/gtkscalebutton.c:229
msgid "The icon size"
msgstr "O tamaño da icona"
-#: ../gtk/gtkscalebutton.c:237
+#: ../gtk/gtkscalebutton.c:238
msgid ""
"The GtkAdjustment that contains the current value of this scale button object"
msgstr ""
"O GtkAdjustment que contén o valor actual deste obxecto de botón de escala"
-#: ../gtk/gtkscalebutton.c:265
+#: ../gtk/gtkscalebutton.c:266
msgid "Icons"
msgstr "Iconas"
-#: ../gtk/gtkscalebutton.c:266
+#: ../gtk/gtkscalebutton.c:267
msgid "List of icon names"
msgstr "Lista dos nomes de iconas"
-#: ../gtk/gtkscale.c:253
+#: ../gtk/gtkscale.c:255
msgid "The number of decimal places that are displayed in the value"
msgstr "O número de lugares decimais que se mostran no valor"
-#: ../gtk/gtkscale.c:262
+#: ../gtk/gtkscale.c:264
msgid "Draw Value"
msgstr "Valor de debuxo"
-#: ../gtk/gtkscale.c:263
+#: ../gtk/gtkscale.c:265
msgid "Whether the current value is displayed as a string next to the slider"
msgstr ""
"Indica se o valor actual se mostra como unha cadea contigua ao control "
"desprazábel"
-#: ../gtk/gtkscale.c:270
+#: ../gtk/gtkscale.c:272
msgid "Value Position"
msgstr "Posición do valor"
-#: ../gtk/gtkscale.c:271
+#: ../gtk/gtkscale.c:273
msgid "The position in which the current value is displayed"
msgstr "A posición na que se mostra o valor actual"
-#: ../gtk/gtkscale.c:278
+#: ../gtk/gtkscale.c:280
msgid "Slider Length"
msgstr "Lonxitude do control desprazábel"
-#: ../gtk/gtkscale.c:279
+#: ../gtk/gtkscale.c:281
msgid "Length of scale's slider"
msgstr "Lonxitude da escala do control desprazábel"
-#: ../gtk/gtkscale.c:287
+#: ../gtk/gtkscale.c:289
msgid "Value spacing"
msgstr "Espazamento do valor"
-#: ../gtk/gtkscale.c:288
+#: ../gtk/gtkscale.c:290
msgid "Space between value text and the slider/trough area"
msgstr ""
"Espazo entre os valores de texto e a área do control desprazábel ou o canal"
msgid "Vertical Scrollable Policy"
msgstr "Normativa de desprazamento vertical"
-#: ../gtk/gtkscrollbar.c:70
+#: ../gtk/gtkscrollbar.c:72
msgid "Minimum Slider Length"
msgstr "Lonxitude mínima do control desprazábel"
-#: ../gtk/gtkscrollbar.c:71
+#: ../gtk/gtkscrollbar.c:73
msgid "Minimum length of scrollbar slider"
msgstr "Tamaño mínimo da barra de desprazamento do control desprazábel"
-#: ../gtk/gtkscrollbar.c:79
+#: ../gtk/gtkscrollbar.c:81
msgid "Fixed slider size"
msgstr "Tamaño fixo do control desprazábel"
-#: ../gtk/gtkscrollbar.c:80
+#: ../gtk/gtkscrollbar.c:82
msgid "Don't change slider size, just lock it to the minimum length"
msgstr ""
"Non cambiar o tamaño do control desprazábel, bloquealo na lonxitude mínima"
-#: ../gtk/gtkscrollbar.c:101
+#: ../gtk/gtkscrollbar.c:103
msgid ""
"Display a second backward arrow button on the opposite end of the scrollbar"
msgstr ""
"Mostra un segundo botón de frecha de retroceso no extremo oposto da barra de "
"desprazamento"
-#: ../gtk/gtkscrollbar.c:108
+#: ../gtk/gtkscrollbar.c:110
msgid ""
"Display a second forward arrow button on the opposite end of the scrollbar"
msgstr ""
"Se é TRUE, os widgets non mapeados ignoraranse ao determinar o tamaño do "
"grupo"
-#: ../gtk/gtkspinbutton.c:329
+#: ../gtk/gtkspinbutton.c:331
msgid "Climb Rate"
msgstr "Taxa de incremento"
-#: ../gtk/gtkspinbutton.c:349
+#: ../gtk/gtkspinbutton.c:351
msgid "Snap to Ticks"
msgstr "Axustar aos pasos"
-#: ../gtk/gtkspinbutton.c:350
+#: ../gtk/gtkspinbutton.c:352
msgid ""
"Whether erroneous values are automatically changed to a spin button's "
"nearest step increment"
"Indica se os valores errados se cambian automaticamente polo incremento de "
"paso máis próximo dun botón de axuste"
-#: ../gtk/gtkspinbutton.c:357
+#: ../gtk/gtkspinbutton.c:359
msgid "Numeric"
msgstr "Numérico"
-#: ../gtk/gtkspinbutton.c:358
+#: ../gtk/gtkspinbutton.c:360
msgid "Whether non-numeric characters should be ignored"
msgstr "Indica se se deben ignorar os caracteres non numéricos"
-#: ../gtk/gtkspinbutton.c:365
+#: ../gtk/gtkspinbutton.c:367
msgid "Wrap"
msgstr "Axustar"
-#: ../gtk/gtkspinbutton.c:366
+#: ../gtk/gtkspinbutton.c:368
msgid "Whether a spin button should wrap upon reaching its limits"
msgstr ""
"Indica se un botón de axuste debe axustarse cara a arriba até alcanzar os "
"seus límites"
-#: ../gtk/gtkspinbutton.c:373
+#: ../gtk/gtkspinbutton.c:375
msgid "Update Policy"
msgstr "Política de actualización"
-#: ../gtk/gtkspinbutton.c:374
+#: ../gtk/gtkspinbutton.c:376
msgid ""
"Whether the spin button should update always, or only when the value is legal"
msgstr ""
"Indica se o botón de axuste debe actualizarse sempre ou só cando o valor é "
"correcto"
-#: ../gtk/gtkspinbutton.c:383
+#: ../gtk/gtkspinbutton.c:385
msgid "Reads the current value, or sets a new value"
msgstr "Le o valor actual ou define un valor novo"
-#: ../gtk/gtkspinbutton.c:392
+#: ../gtk/gtkspinbutton.c:394
msgid "Style of bevel around the spin button"
msgstr "Estilo de bisel ao redor do botón de axuste"
-#: ../gtk/gtkspinner.c:118
+#: ../gtk/gtkspinner.c:116
msgid "Whether the spinner is active"
msgstr "Indica se o spinner é activábel"
-#: ../gtk/gtkstatusbar.c:182
+#: ../gtk/gtkstatusbar.c:183
msgid "Style of bevel around the statusbar text"
msgstr "Estilo do bisel ao redor do texto da barra de estado"
msgid "The orientation of the tray"
msgstr "A orientación da bandexa"
-#: ../gtk/gtkstatusicon.c:370 ../gtk/gtkwidget.c:1072
+#: ../gtk/gtkstatusicon.c:370 ../gtk/gtkwidget.c:1089
msgid "Has tooltip"
msgstr "Ten indicación"
msgid "Whether this tray icon has a tooltip"
msgstr "Indica se esta icona de bandexa ten unha indicación"
-#: ../gtk/gtkstatusicon.c:396 ../gtk/gtkwidget.c:1093
+#: ../gtk/gtkstatusicon.c:396 ../gtk/gtkwidget.c:1110
msgid "Tooltip Text"
msgstr "Texto da indicación"
-#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1094 ../gtk/gtkwidget.c:1115
+#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1111 ../gtk/gtkwidget.c:1132
msgid "The contents of the tooltip for this widget"
msgstr "Os contidos da indicación para este widget"
-#: ../gtk/gtkstatusicon.c:420 ../gtk/gtkwidget.c:1114
+#: ../gtk/gtkstatusicon.c:420 ../gtk/gtkwidget.c:1131
msgid "Tooltip markup"
msgstr "Marcado das indicacións"
msgid "GtkStyleContext to get style from"
msgstr "GtkStyleContext de onde obter o estilo"
-#: ../gtk/gtkstylecontext.c:545
+#: ../gtk/gtkstylecontext.c:432
msgid "The associated GdkScreen"
msgstr "O GdkScreen asociado"
-#: ../gtk/gtkstylecontext.c:551
+#: ../gtk/gtkstylecontext.c:438
msgid "Direction"
msgstr "Enderezo"
-#: ../gtk/gtkstylecontext.c:552 ../gtk/gtktexttag.c:269
+#: ../gtk/gtkstylecontext.c:439 ../gtk/gtktexttag.c:269
msgid "Text direction"
msgstr "Dirección do texto"
-#: ../gtk/gtkswitch.c:801
+#: ../gtk/gtkswitch.c:785
msgid "Whether the switch is on or off"
msgstr "Indica se o interruptor está acendido ou apagado"
-#: ../gtk/gtkswitch.c:836
+#: ../gtk/gtkswitch.c:819
msgid "The minimum width of the handle"
msgstr "O ancho mínimo do tirador"
"tema etc., polo que é recomendábel. O Pango define previamente algunhas "
"escalas tales como PANGO_SCALE_X_LARGE"
-#: ../gtk/gtktexttag.c:387 ../gtk/gtktextview.c:703
+#: ../gtk/gtktexttag.c:387 ../gtk/gtktextview.c:704
msgid "Left, right, or center justification"
msgstr "Xustificación á esquerda, á dereita ou ao centro"
msgid "Left margin"
msgstr "Marxe esquerda"
-#: ../gtk/gtktexttag.c:414 ../gtk/gtktextview.c:712
+#: ../gtk/gtktexttag.c:414 ../gtk/gtktextview.c:713
msgid "Width of the left margin in pixels"
msgstr "Largura da marxe esquerda en píxeles"
msgid "Right margin"
msgstr "Marxe dereita"
-#: ../gtk/gtktexttag.c:424 ../gtk/gtktextview.c:722
+#: ../gtk/gtktexttag.c:424 ../gtk/gtktextview.c:723
msgid "Width of the right margin in pixels"
msgstr "Largura da marxe dereita en píxeles"
-#: ../gtk/gtktexttag.c:434 ../gtk/gtktextview.c:731
+#: ../gtk/gtktexttag.c:434 ../gtk/gtktextview.c:732
msgid "Indent"
msgstr "Sangría"
-#: ../gtk/gtktexttag.c:435 ../gtk/gtktextview.c:732
+#: ../gtk/gtktexttag.c:435 ../gtk/gtktextview.c:733
msgid "Amount to indent the paragraph, in pixels"
msgstr "Cantidade en píxeles para a sangría de parágrafo"
msgid "Pixels above lines"
msgstr "Píxeles encima das liñas"
-#: ../gtk/gtktexttag.c:456 ../gtk/gtktextview.c:656
+#: ../gtk/gtktexttag.c:456 ../gtk/gtktextview.c:657
msgid "Pixels of blank space above paragraphs"
msgstr "Píxeles de espazo en branco encima do parágrafos"
msgid "Pixels below lines"
msgstr "Píxeles debaixo das liñas"
-#: ../gtk/gtktexttag.c:466 ../gtk/gtktextview.c:666
+#: ../gtk/gtktexttag.c:466 ../gtk/gtktextview.c:667
msgid "Pixels of blank space below paragraphs"
msgstr "Píxeles de espazo en branco debaixo dos parágrafos"
msgid "Pixels inside wrap"
msgstr "Píxeles dentro do axuste"
-#: ../gtk/gtktexttag.c:476 ../gtk/gtktextview.c:676
+#: ../gtk/gtktexttag.c:476 ../gtk/gtktextview.c:677
msgid "Pixels of blank space between wrapped lines in a paragraph"
msgstr "Píxeles de espazo en branco entre as liñas axustadas nun parágrafo"
-#: ../gtk/gtktexttag.c:503 ../gtk/gtktextview.c:694
+#: ../gtk/gtktexttag.c:503 ../gtk/gtktextview.c:695
msgid ""
"Whether to wrap lines never, at word boundaries, or at character boundaries"
msgstr ""
"Indica se nunca se axustan as liñas aos límites de palabra ou aos límites de "
"carácter"
-#: ../gtk/gtktexttag.c:512 ../gtk/gtktextview.c:741
+#: ../gtk/gtktexttag.c:512 ../gtk/gtktextview.c:742
msgid "Tabs"
msgstr "Lapelas"
-#: ../gtk/gtktexttag.c:513 ../gtk/gtktextview.c:742
+#: ../gtk/gtktexttag.c:513 ../gtk/gtktextview.c:743
msgid "Custom tabs for this text"
msgstr "Lapelas personalizadas para este texto"
msgid "Whether this tag affects the paragraph background color"
msgstr "Indica se esta etiqueta afecta á cor de fondo de parágrafo"
-#: ../gtk/gtktextview.c:655
+#: ../gtk/gtktextview.c:656
msgid "Pixels Above Lines"
msgstr "Píxeles encima das liñas"
-#: ../gtk/gtktextview.c:665
+#: ../gtk/gtktextview.c:666
msgid "Pixels Below Lines"
msgstr "Píxeles debaixo das liñas"
-#: ../gtk/gtktextview.c:675
+#: ../gtk/gtktextview.c:676
msgid "Pixels Inside Wrap"
msgstr "Píxeles dentro do axuste"
-#: ../gtk/gtktextview.c:693
+#: ../gtk/gtktextview.c:694
msgid "Wrap Mode"
msgstr "Modo de axuste"
-#: ../gtk/gtktextview.c:711
+#: ../gtk/gtktextview.c:712
msgid "Left Margin"
msgstr "Marxe esquerda"
-#: ../gtk/gtktextview.c:721
+#: ../gtk/gtktextview.c:722
msgid "Right Margin"
msgstr "Marxe dereita"
-#: ../gtk/gtktextview.c:749
+#: ../gtk/gtktextview.c:750
msgid "Cursor Visible"
msgstr "Cursor visíbel"
-#: ../gtk/gtktextview.c:750
+#: ../gtk/gtktextview.c:751
msgid "If the insertion cursor is shown"
msgstr "Se se mostra o cursor de inserción"
-#: ../gtk/gtktextview.c:757
+#: ../gtk/gtktextview.c:758
msgid "Buffer"
msgstr "Búfer"
-#: ../gtk/gtktextview.c:758
+#: ../gtk/gtktextview.c:759
msgid "The buffer which is displayed"
msgstr "O búfer que se mostra"
-#: ../gtk/gtktextview.c:766
+#: ../gtk/gtktextview.c:767
msgid "Whether entered text overwrites existing contents"
msgstr "Indica se o texto introducido sobrescribe os contidos existentes"
-#: ../gtk/gtktextview.c:773
+#: ../gtk/gtktextview.c:774
msgid "Accepts tab"
msgstr "Acepta tabulación"
-#: ../gtk/gtktextview.c:774
+#: ../gtk/gtktextview.c:775
msgid "Whether Tab will result in a tab character being entered"
msgstr "Indica se o tabulador resultará nun carácter de tabulación introducido"
-#: ../gtk/gtktextview.c:809
+#: ../gtk/gtktextview.c:810
msgid "Error underline color"
msgstr "Cor de subliñado de erros"
-#: ../gtk/gtktextview.c:810
+#: ../gtk/gtktextview.c:811
msgid "Color with which to draw error-indication underlines"
msgstr "Cor coa que debuxar o subliñado de indicación de erros"
msgid "Whether the toggle action should be active"
msgstr "Se a acción de conmutación debe estar activa ou non"
-#: ../gtk/gtktogglebutton.c:178 ../gtk/gtktoggletoolbutton.c:128
+#: ../gtk/gtktogglebutton.c:179 ../gtk/gtktoggletoolbutton.c:128
msgid "If the toggle button should be pressed in"
msgstr "Se o botón de estado debe estar premido ou non"
-#: ../gtk/gtktogglebutton.c:186
+#: ../gtk/gtktogglebutton.c:187
msgid "If the toggle button is in an \"in between\" state"
msgstr "Se o botón de estado está en estado \"intermedio\""
-#: ../gtk/gtktogglebutton.c:193
+#: ../gtk/gtktogglebutton.c:194
msgid "Draw Indicator"
msgstr "Debuxar o indicador"
-#: ../gtk/gtktogglebutton.c:194
+#: ../gtk/gtktogglebutton.c:195
msgid "If the toggle part of the button is displayed"
msgstr "Se se mostra a parte de activación do botón"
-#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1036
+#: ../gtk/gtktoolbar.c:499 ../gtk/gtktoolpalette.c:1038
msgid "Toolbar Style"
msgstr "Estilo da barra de ferramentas"
-#: ../gtk/gtktoolbar.c:492
+#: ../gtk/gtktoolbar.c:500
msgid "How to draw the toolbar"
msgstr "Como debuxar a barra de ferramentas"
-#: ../gtk/gtktoolbar.c:499
+#: ../gtk/gtktoolbar.c:507
msgid "Show Arrow"
msgstr "Mostrar frecha"
-#: ../gtk/gtktoolbar.c:500
+#: ../gtk/gtktoolbar.c:508
msgid "If an arrow should be shown if the toolbar doesn't fit"
msgstr "Se debe mostrar unha frecha se a barra de ferramentas non encaixa"
-#: ../gtk/gtktoolbar.c:521
+#: ../gtk/gtktoolbar.c:529
msgid "Size of icons in this toolbar"
msgstr "Tamaño das iconas nesta barra de ferramentas"
-#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1022
+#: ../gtk/gtktoolbar.c:544 ../gtk/gtktoolpalette.c:1024
msgid "Icon size set"
msgstr "Definición do tamaño da icona"
-#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1023
+#: ../gtk/gtktoolbar.c:545 ../gtk/gtktoolpalette.c:1025
msgid "Whether the icon-size property has been set"
msgstr "Indica se se estabeleceu a propiedade de tamaño da icona"
-#: ../gtk/gtktoolbar.c:546
+#: ../gtk/gtktoolbar.c:554
msgid "Whether the item should receive extra space when the toolbar grows"
msgstr ""
"Indica se o elemento debe recibir espazo adicional cando a barra de "
"ferramentas medre"
-#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1646
+#: ../gtk/gtktoolbar.c:562 ../gtk/gtktoolitemgroup.c:1646
msgid "Whether the item should be the same size as other homogeneous items"
msgstr ""
"Indica se o elemento debería ser do mesmo tamaño que outros elementos "
"homoxéneos"
-#: ../gtk/gtktoolbar.c:561
+#: ../gtk/gtktoolbar.c:569
msgid "Spacer size"
msgstr "Tamaño do espazador"
-#: ../gtk/gtktoolbar.c:562
+#: ../gtk/gtktoolbar.c:570
msgid "Size of spacers"
msgstr "Tamaño dos espazadores"
-#: ../gtk/gtktoolbar.c:571
+#: ../gtk/gtktoolbar.c:579
msgid "Amount of border space between the toolbar shadow and the buttons"
msgstr ""
"Cantidade de espazo do bordo entre a sombra da barra de ferramentas e os "
"botóns"
-#: ../gtk/gtktoolbar.c:579
+#: ../gtk/gtktoolbar.c:587
msgid "Maximum child expand"
msgstr "Expansión de fillos máxima"
-#: ../gtk/gtktoolbar.c:580
+#: ../gtk/gtktoolbar.c:588
msgid "Maximum amount of space an expandable item will be given"
msgstr "Cantidade máxima de espazo que se lle dará a un elemento expandíbel"
-#: ../gtk/gtktoolbar.c:588
+#: ../gtk/gtktoolbar.c:596
msgid "Space style"
msgstr "Estilo do espazo"
-#: ../gtk/gtktoolbar.c:589
+#: ../gtk/gtktoolbar.c:597
msgid "Whether spacers are vertical lines or just blank"
msgstr "Indica se os espazadores son liñas verticais ou só espazos en branco"
-#: ../gtk/gtktoolbar.c:596
+#: ../gtk/gtktoolbar.c:604
msgid "Button relief"
msgstr "Relevo do botón"
-#: ../gtk/gtktoolbar.c:597
+#: ../gtk/gtktoolbar.c:605
msgid "Type of bevel around toolbar buttons"
msgstr "Tipo de bisel ao redor dos botóns da barra de ferramentas"
-#: ../gtk/gtktoolbar.c:604
+#: ../gtk/gtktoolbar.c:612
msgid "Style of bevel around the toolbar"
msgstr "Estilo do bisel ao redor da barra de ferramentas"
msgid "Position of the item within this group"
msgstr "Posición do elemento neste grupo"
-#: ../gtk/gtktoolpalette.c:1007
+#: ../gtk/gtktoolpalette.c:1009
msgid "Size of icons in this tool palette"
msgstr "Tamaño das iconas nesta paleta de ferramentas"
-#: ../gtk/gtktoolpalette.c:1037
+#: ../gtk/gtktoolpalette.c:1039
msgid "Style of items in the tool palette"
msgstr "Estilo dos elementos na paleta de ferramentas"
-#: ../gtk/gtktoolpalette.c:1053
+#: ../gtk/gtktoolpalette.c:1055
msgid "Exclusive"
msgstr "Exclusivo"
-#: ../gtk/gtktoolpalette.c:1054
+#: ../gtk/gtktoolpalette.c:1056
msgid "Whether the item group should be the only expanded at a given time"
msgstr ""
"Indica se o grupo de elementos deberían expandirse só nun momento determinado"
-#: ../gtk/gtktoolpalette.c:1069
+#: ../gtk/gtktoolpalette.c:1071
msgid ""
"Whether the item group should receive extra space when the palette grows"
msgstr ""
msgid "The model for the TreeModelSort to sort"
msgstr "O modelo para o TreeModelSort que ordenar"
-#: ../gtk/gtktreeview.c:984
+#: ../gtk/gtktreeview.c:985
msgid "TreeView Model"
msgstr "Modelo TreeView"
-#: ../gtk/gtktreeview.c:985
+#: ../gtk/gtktreeview.c:986
msgid "The model for the tree view"
msgstr "O modelo para a visualización en árbore"
-#: ../gtk/gtktreeview.c:997
+#: ../gtk/gtktreeview.c:998
msgid "Headers Visible"
msgstr "Cabeceiras visíbeis"
-#: ../gtk/gtktreeview.c:998
+#: ../gtk/gtktreeview.c:999
msgid "Show the column header buttons"
msgstr "Mostrar botóns nas cabeceiras de columna"
-#: ../gtk/gtktreeview.c:1005
+#: ../gtk/gtktreeview.c:1006
msgid "Headers Clickable"
msgstr "Cabeceiras premíbeis"
-#: ../gtk/gtktreeview.c:1006
+#: ../gtk/gtktreeview.c:1007
msgid "Column headers respond to click events"
msgstr "As cabeceiras de columna responden aos eventos de clic"
-#: ../gtk/gtktreeview.c:1013
+#: ../gtk/gtktreeview.c:1014
msgid "Expander Column"
msgstr "Columna expansora"
-#: ../gtk/gtktreeview.c:1014
+#: ../gtk/gtktreeview.c:1015
msgid "Set the column for the expander column"
msgstr "Estabelecer a columna para a columna expansora"
-#: ../gtk/gtktreeview.c:1029
+#: ../gtk/gtktreeview.c:1030
msgid "Rules Hint"
msgstr "Suxestión das regras"
-#: ../gtk/gtktreeview.c:1030
+#: ../gtk/gtktreeview.c:1031
msgid "Set a hint to the theme engine to draw rows in alternating colors"
msgstr ""
"Define unha suxestión para o motor de tema para debuxar as filas con cores "
"alternas"
-#: ../gtk/gtktreeview.c:1037
+#: ../gtk/gtktreeview.c:1038
msgid "Enable Search"
msgstr "Activar a busca"
-#: ../gtk/gtktreeview.c:1038
+#: ../gtk/gtktreeview.c:1039
msgid "View allows user to search through columns interactively"
msgstr ""
"A visualización permite aos usuarios buscar de modo interactivo a través das "
"columnas"
-#: ../gtk/gtktreeview.c:1045
+#: ../gtk/gtktreeview.c:1046
msgid "Search Column"
msgstr "Columna de busca"
-#: ../gtk/gtktreeview.c:1046
+#: ../gtk/gtktreeview.c:1047
msgid "Model column to search through during interactive search"
msgstr "A columna de modelo na que buscar durante a busca interactiva"
-#: ../gtk/gtktreeview.c:1066
+#: ../gtk/gtktreeview.c:1067
msgid "Fixed Height Mode"
msgstr "Modo de altura fixa"
-#: ../gtk/gtktreeview.c:1067
+#: ../gtk/gtktreeview.c:1068
msgid "Speeds up GtkTreeView by assuming that all rows have the same height"
msgstr "Acelera GtkTreeView asumindo que todas as filas teñen a mesma altura"
-#: ../gtk/gtktreeview.c:1087
+#: ../gtk/gtktreeview.c:1088
msgid "Hover Selection"
msgstr "Seleccionar ao pasar por encima"
-#: ../gtk/gtktreeview.c:1088
+#: ../gtk/gtktreeview.c:1089
msgid "Whether the selection should follow the pointer"
msgstr "Indica se a selección debería seguir o punteiro"
-#: ../gtk/gtktreeview.c:1107
+#: ../gtk/gtktreeview.c:1108
msgid "Hover Expand"
msgstr "Expandir ao pasar por encima"
-#: ../gtk/gtktreeview.c:1108
+#: ../gtk/gtktreeview.c:1109
msgid ""
"Whether rows should be expanded/collapsed when the pointer moves over them"
msgstr ""
"Indica se as filas deben expandirse ou contraerse cando se move o punteiro "
"sobre elas"
-#: ../gtk/gtktreeview.c:1122
+#: ../gtk/gtktreeview.c:1123
msgid "Show Expanders"
msgstr "Mostrar expansores"
-#: ../gtk/gtktreeview.c:1123
+#: ../gtk/gtktreeview.c:1124
msgid "View has expanders"
msgstr "A visualización ten expansores"
-#: ../gtk/gtktreeview.c:1137
+#: ../gtk/gtktreeview.c:1138
msgid "Level Indentation"
msgstr "Nivel de sangría"
-#: ../gtk/gtktreeview.c:1138
+#: ../gtk/gtktreeview.c:1139
msgid "Extra indentation for each level"
msgstr "Sangría adicional para cada nivel"
-#: ../gtk/gtktreeview.c:1147
+#: ../gtk/gtktreeview.c:1148
msgid "Rubber Banding"
msgstr "Tiras de goma"
-#: ../gtk/gtktreeview.c:1148
+#: ../gtk/gtktreeview.c:1149
msgid ""
"Whether to enable selection of multiple items by dragging the mouse pointer"
msgstr ""
"Indica se se activa a selección de múltiples elementos arrastrando o "
"punteiro do rato"
-#: ../gtk/gtktreeview.c:1155
+#: ../gtk/gtktreeview.c:1156
msgid "Enable Grid Lines"
msgstr "Activar as liñas da grella"
-#: ../gtk/gtktreeview.c:1156
+#: ../gtk/gtktreeview.c:1157
msgid "Whether grid lines should be drawn in the tree view"
msgstr ""
"Indica se as liñas da grella se deben debuxar na visualización en árbore"
-#: ../gtk/gtktreeview.c:1164
+#: ../gtk/gtktreeview.c:1165
msgid "Enable Tree Lines"
msgstr "Activar as liñas da árbore"
-#: ../gtk/gtktreeview.c:1165
+#: ../gtk/gtktreeview.c:1166
msgid "Whether tree lines should be drawn in the tree view"
msgstr "Indica se se deben debuxar as liñas na visualización en árbore"
-#: ../gtk/gtktreeview.c:1173
+#: ../gtk/gtktreeview.c:1174
msgid "The column in the model containing the tooltip texts for the rows"
msgstr "A columna do modelo que contén os textos de indicación para as filas"
-#: ../gtk/gtktreeview.c:1195
+#: ../gtk/gtktreeview.c:1196
msgid "Vertical Separator Width"
msgstr "Largura do separador vertical"
-#: ../gtk/gtktreeview.c:1196
+#: ../gtk/gtktreeview.c:1197
msgid "Vertical space between cells. Must be an even number"
msgstr "Espazo vertical entre celas. Debe ser un número par"
-#: ../gtk/gtktreeview.c:1204
+#: ../gtk/gtktreeview.c:1205
msgid "Horizontal Separator Width"
msgstr "Largura do separador horizontal"
-#: ../gtk/gtktreeview.c:1205
+#: ../gtk/gtktreeview.c:1206
msgid "Horizontal space between cells. Must be an even number"
msgstr "Espazo horizontal entre celas. Debe ser un número par"
-#: ../gtk/gtktreeview.c:1213
+#: ../gtk/gtktreeview.c:1214
msgid "Allow Rules"
msgstr "Permitir regras"
-#: ../gtk/gtktreeview.c:1214
+#: ../gtk/gtktreeview.c:1215
msgid "Allow drawing of alternating color rows"
msgstr "Permitir debuxar filas con cores alternas"
-#: ../gtk/gtktreeview.c:1220
+#: ../gtk/gtktreeview.c:1221
msgid "Indent Expanders"
msgstr "Sangrar os expansores"
-#: ../gtk/gtktreeview.c:1221
+#: ../gtk/gtktreeview.c:1222
msgid "Make the expanders indented"
msgstr "Crear os expansores sangrados"
-#: ../gtk/gtktreeview.c:1227
+#: ../gtk/gtktreeview.c:1228
msgid "Even Row Color"
msgstr "Cor da fila par"
-#: ../gtk/gtktreeview.c:1228
+#: ../gtk/gtktreeview.c:1229
msgid "Color to use for even rows"
msgstr "Cor que usar para as filas pares"
-#: ../gtk/gtktreeview.c:1234
+#: ../gtk/gtktreeview.c:1235
msgid "Odd Row Color"
msgstr "Cor da fila impar"
-#: ../gtk/gtktreeview.c:1235
+#: ../gtk/gtktreeview.c:1236
msgid "Color to use for odd rows"
msgstr "Cor que usar para as filas impares"
-#: ../gtk/gtktreeview.c:1241
+#: ../gtk/gtktreeview.c:1242
msgid "Grid line width"
msgstr "Largura da liña da grella"
-#: ../gtk/gtktreeview.c:1242
+#: ../gtk/gtktreeview.c:1243
msgid "Width, in pixels, of the tree view grid lines"
msgstr "Largura, en píxeles, das liñas da grella da visualización en árbore"
-#: ../gtk/gtktreeview.c:1248
+#: ../gtk/gtktreeview.c:1249
msgid "Tree line width"
msgstr "Largura da liña da árbore"
-#: ../gtk/gtktreeview.c:1249
+#: ../gtk/gtktreeview.c:1250
msgid "Width, in pixels, of the tree view lines"
msgstr "Largura en píxeles das liñas da visualización en árbore"
-#: ../gtk/gtktreeview.c:1255
+#: ../gtk/gtktreeview.c:1256
msgid "Grid line pattern"
msgstr "Patrón da liña da grella"
-#: ../gtk/gtktreeview.c:1256
+#: ../gtk/gtktreeview.c:1257
msgid "Dash pattern used to draw the tree view grid lines"
msgstr ""
"Patrón de trazos usado para debuxar as liñas da grella da visualización en "
"árbore"
-#: ../gtk/gtktreeview.c:1262
+#: ../gtk/gtktreeview.c:1263
msgid "Tree line pattern"
msgstr "Patrón da liña da árbore"
-#: ../gtk/gtktreeview.c:1263
+#: ../gtk/gtktreeview.c:1264
msgid "Dash pattern used to draw the tree view lines"
msgstr ""
"Patrón de trazos usado para debuxar as liñas da visualización en árbore"
msgid "Whether to display the column"
msgstr "Indica se se mostra a columna"
-#: ../gtk/gtktreeviewcolumn.c:256 ../gtk/gtkwindow.c:647
+#: ../gtk/gtktreeviewcolumn.c:256 ../gtk/gtkwindow.c:648
msgid "Resizable"
msgstr "Redimensionábel"
msgid "Whether to use symbolic icons"
msgstr "Indica se usar iconas simbólicas"
-#: ../gtk/gtkwidget.c:931
+#: ../gtk/gtkwidget.c:948
msgid "Widget name"
msgstr "Nome do widget"
-#: ../gtk/gtkwidget.c:932
+#: ../gtk/gtkwidget.c:949
msgid "The name of the widget"
msgstr "O nome do widget"
-#: ../gtk/gtkwidget.c:938
+#: ../gtk/gtkwidget.c:955
msgid "Parent widget"
msgstr "Widget pai"
-#: ../gtk/gtkwidget.c:939
+#: ../gtk/gtkwidget.c:956
msgid "The parent widget of this widget. Must be a Container widget"
msgstr "O widget pai deste widget. Debe ser un widget contedor"
-#: ../gtk/gtkwidget.c:946
+#: ../gtk/gtkwidget.c:963
msgid "Width request"
msgstr "Solicitude de largura"
-#: ../gtk/gtkwidget.c:947
+#: ../gtk/gtkwidget.c:964
msgid ""
"Override for width request of the widget, or -1 if natural request should be "
"used"
"Sobrepor a solicitude de largura do widget ou -1 se se debe empregar a "
"solicitude normal"
-#: ../gtk/gtkwidget.c:955
+#: ../gtk/gtkwidget.c:972
msgid "Height request"
msgstr "Solicitude de altura"
-#: ../gtk/gtkwidget.c:956
+#: ../gtk/gtkwidget.c:973
msgid ""
"Override for height request of the widget, or -1 if natural request should "
"be used"
"Sobrepor a solicitude de altura do widget ou -1 se se debe empregar a "
"solicitude normal"
-#: ../gtk/gtkwidget.c:965
+#: ../gtk/gtkwidget.c:982
msgid "Whether the widget is visible"
msgstr "Indica se o widget é visíbel"
-#: ../gtk/gtkwidget.c:972
+#: ../gtk/gtkwidget.c:989
msgid "Whether the widget responds to input"
msgstr "Indica se o widget responde á entrada de datos"
-#: ../gtk/gtkwidget.c:978
+#: ../gtk/gtkwidget.c:995
msgid "Application paintable"
msgstr "Aplicativo pintábel"
-#: ../gtk/gtkwidget.c:979
+#: ../gtk/gtkwidget.c:996
msgid "Whether the application will paint directly on the widget"
msgstr "Indica se o aplicativo pintará directamente sobre o widget"
-#: ../gtk/gtkwidget.c:985
+#: ../gtk/gtkwidget.c:1002
msgid "Can focus"
msgstr "Pode enfocar"
-#: ../gtk/gtkwidget.c:986
+#: ../gtk/gtkwidget.c:1003
msgid "Whether the widget can accept the input focus"
msgstr "Indica se o widget pode aceptar o foco de entrada"
-#: ../gtk/gtkwidget.c:992
+#: ../gtk/gtkwidget.c:1009
msgid "Has focus"
msgstr "Ten foco"
-#: ../gtk/gtkwidget.c:993
+#: ../gtk/gtkwidget.c:1010
msgid "Whether the widget has the input focus"
msgstr "Indica se o widget ten o foco de entrada"
-#: ../gtk/gtkwidget.c:999
+#: ../gtk/gtkwidget.c:1016
msgid "Is focus"
msgstr "É o foco"
-#: ../gtk/gtkwidget.c:1000
+#: ../gtk/gtkwidget.c:1017
msgid "Whether the widget is the focus widget within the toplevel"
msgstr "Indica se o widget é o widget co foco, dentro do nivel superior"
-#: ../gtk/gtkwidget.c:1006
+#: ../gtk/gtkwidget.c:1023
msgid "Can default"
msgstr "Pode ser o predeterminado"
-#: ../gtk/gtkwidget.c:1007
+#: ../gtk/gtkwidget.c:1024
msgid "Whether the widget can be the default widget"
msgstr "Indica se o widget pode ser o widget predeterminado"
-#: ../gtk/gtkwidget.c:1013
+#: ../gtk/gtkwidget.c:1030
msgid "Has default"
msgstr "É o predeterminado"
-#: ../gtk/gtkwidget.c:1014
+#: ../gtk/gtkwidget.c:1031
msgid "Whether the widget is the default widget"
msgstr "Indica se o widget é o widget predeterminado"
-#: ../gtk/gtkwidget.c:1020
+#: ../gtk/gtkwidget.c:1037
msgid "Receives default"
msgstr "Recibe o predeterminado"
-#: ../gtk/gtkwidget.c:1021
+#: ../gtk/gtkwidget.c:1038
msgid "If TRUE, the widget will receive the default action when it is focused"
msgstr ""
"Se é TRUE, o widget recibirá a acción predeterminada cando estea enfocado"
-#: ../gtk/gtkwidget.c:1027
+#: ../gtk/gtkwidget.c:1044
msgid "Composite child"
msgstr "Fillo composto"
-#: ../gtk/gtkwidget.c:1028
+#: ../gtk/gtkwidget.c:1045
msgid "Whether the widget is part of a composite widget"
msgstr "Indica se o widget é parte dun widget composto"
-#: ../gtk/gtkwidget.c:1034
+#: ../gtk/gtkwidget.c:1051
msgid "Style"
msgstr "Estilo"
-#: ../gtk/gtkwidget.c:1035
+#: ../gtk/gtkwidget.c:1052
msgid ""
"The style of the widget, which contains information about how it will look "
"(colors etc)"
msgstr ""
"O estilo do widget, que contén información sobre a aparencia (cores, etc)"
-#: ../gtk/gtkwidget.c:1041
+#: ../gtk/gtkwidget.c:1058
msgid "Events"
msgstr "Eventos"
-#: ../gtk/gtkwidget.c:1042
+#: ../gtk/gtkwidget.c:1059
msgid "The event mask that decides what kind of GdkEvents this widget gets"
msgstr ""
"A máscara de eventos que decide que tipo de GdkEvents recibe este widget"
-#: ../gtk/gtkwidget.c:1049
+#: ../gtk/gtkwidget.c:1066
msgid "No show all"
msgstr "Non mostrar todo"
-#: ../gtk/gtkwidget.c:1050
+#: ../gtk/gtkwidget.c:1067
msgid "Whether gtk_widget_show_all() should not affect this widget"
msgstr "Indica se o gtk_widget_show_all() non debe afectar a este widget"
-#: ../gtk/gtkwidget.c:1073
+#: ../gtk/gtkwidget.c:1090
msgid "Whether this widget has a tooltip"
msgstr "Indica se este widget ten unha indicación"
-#: ../gtk/gtkwidget.c:1129
+#: ../gtk/gtkwidget.c:1146
msgid "Window"
msgstr "Xanela"
-#: ../gtk/gtkwidget.c:1130
+#: ../gtk/gtkwidget.c:1147
msgid "The widget's window if it is realized"
msgstr "A xanela do widget, se se crea"
-#: ../gtk/gtkwidget.c:1144
+#: ../gtk/gtkwidget.c:1161
msgid "Double Buffered"
msgstr "Con búfer dobre"
-#: ../gtk/gtkwidget.c:1145
+#: ../gtk/gtkwidget.c:1162
msgid "Whether the widget is double buffered"
msgstr "Indica se o widget conta ou non con búfer dobre"
-#: ../gtk/gtkwidget.c:1160
+#: ../gtk/gtkwidget.c:1177
msgid "How to position in extra horizontal space"
msgstr "Como posicionar no espazo horizontal adicional"
-#: ../gtk/gtkwidget.c:1176
+#: ../gtk/gtkwidget.c:1193
msgid "How to position in extra vertical space"
msgstr "Como posicionar no espazo vertical adicional"
-#: ../gtk/gtkwidget.c:1195
+#: ../gtk/gtkwidget.c:1212
msgid "Margin on Left"
msgstr "Marxe á esquerda"
-#: ../gtk/gtkwidget.c:1196
+#: ../gtk/gtkwidget.c:1213
msgid "Pixels of extra space on the left side"
msgstr "Píxeles de espacio adicional na lado esquerda"
-#: ../gtk/gtkwidget.c:1216
+#: ../gtk/gtkwidget.c:1233
msgid "Margin on Right"
msgstr "Marxe á dereita"
-#: ../gtk/gtkwidget.c:1217
+#: ../gtk/gtkwidget.c:1234
msgid "Pixels of extra space on the right side"
msgstr "Píxeles de espacio adicional na lado dereita"
-#: ../gtk/gtkwidget.c:1237
+#: ../gtk/gtkwidget.c:1254
msgid "Margin on Top"
msgstr "Marxe superior"
-#: ../gtk/gtkwidget.c:1238
+#: ../gtk/gtkwidget.c:1255
msgid "Pixels of extra space on the top side"
msgstr "Píxeles de espacio adicional na lado superior"
-#: ../gtk/gtkwidget.c:1258
+#: ../gtk/gtkwidget.c:1275
msgid "Margin on Bottom"
msgstr "Marxe inferior"
-#: ../gtk/gtkwidget.c:1259
+#: ../gtk/gtkwidget.c:1276
msgid "Pixels of extra space on the bottom side"
msgstr "Píxeles de espacio adicional na lado inferior"
-#: ../gtk/gtkwidget.c:1276
+#: ../gtk/gtkwidget.c:1293
msgid "All Margins"
msgstr "Todos os marxes"
-#: ../gtk/gtkwidget.c:1277
+#: ../gtk/gtkwidget.c:1294
msgid "Pixels of extra space on all four sides"
msgstr "Píxeles de espacio adicional nos catro lados"
-#: ../gtk/gtkwidget.c:1310
+#: ../gtk/gtkwidget.c:1327
msgid "Horizontal Expand"
msgstr "Expansión horizontal"
-#: ../gtk/gtkwidget.c:1311
+#: ../gtk/gtkwidget.c:1328
msgid "Whether widget wants more horizontal space"
msgstr "Indica se o widget quere usar máis espazo horizontal"
-#: ../gtk/gtkwidget.c:1325
+#: ../gtk/gtkwidget.c:1342
msgid "Horizontal Expand Set"
msgstr "Axuste de expansión horizontal"
-#: ../gtk/gtkwidget.c:1326
+#: ../gtk/gtkwidget.c:1343
msgid "Whether to use the hexpand property"
msgstr "Indica se se debe usar a propiedade hexpand"
-#: ../gtk/gtkwidget.c:1340
+#: ../gtk/gtkwidget.c:1357
msgid "Vertical Expand"
msgstr "Expansión vertical"
-#: ../gtk/gtkwidget.c:1341
+#: ../gtk/gtkwidget.c:1358
msgid "Whether widget wants more vertical space"
msgstr "Indica se o widget quere usar máis espazo vertical"
-#: ../gtk/gtkwidget.c:1355
+#: ../gtk/gtkwidget.c:1372
msgid "Vertical Expand Set"
msgstr "Axuste de expansión vertical"
-#: ../gtk/gtkwidget.c:1356
+#: ../gtk/gtkwidget.c:1373
msgid "Whether to use the vexpand property"
msgstr "Indica se se debe usar a propiedade vexpand"
-#: ../gtk/gtkwidget.c:1370
+#: ../gtk/gtkwidget.c:1387
msgid "Expand Both"
msgstr "Expandir en ambas"
-#: ../gtk/gtkwidget.c:1371
+#: ../gtk/gtkwidget.c:1388
msgid "Whether widget wants to expand in both directions"
msgstr "Indica se o widget quere expandirse en ámbalas dúas direccións"
-#: ../gtk/gtkwidget.c:3010
+#: ../gtk/gtkwidget.c:3027
msgid "Interior Focus"
msgstr "Foco interior"
-#: ../gtk/gtkwidget.c:3011
+#: ../gtk/gtkwidget.c:3028
msgid "Whether to draw the focus indicator inside widgets"
msgstr "Indica se se debuxa o foco indicador dentro dos widgets"
-#: ../gtk/gtkwidget.c:3017
+#: ../gtk/gtkwidget.c:3034
msgid "Focus linewidth"
msgstr "Enfocar a largura da liña"
-#: ../gtk/gtkwidget.c:3018
+#: ../gtk/gtkwidget.c:3035
msgid "Width, in pixels, of the focus indicator line"
msgstr "Largura en píxeles da liña indicadora do foco"
-#: ../gtk/gtkwidget.c:3024
+#: ../gtk/gtkwidget.c:3041
msgid "Focus line dash pattern"
msgstr "Patrón de trazos da liña de foco"
-#: ../gtk/gtkwidget.c:3025
+#: ../gtk/gtkwidget.c:3042
msgid "Dash pattern used to draw the focus indicator"
msgstr "Patrón de trazos empregado para debuxar o indicador de foco"
-#: ../gtk/gtkwidget.c:3030
+#: ../gtk/gtkwidget.c:3047
msgid "Focus padding"
msgstr "Recheo do foco"
-#: ../gtk/gtkwidget.c:3031
+#: ../gtk/gtkwidget.c:3048
msgid "Width, in pixels, between focus indicator and the widget 'box'"
msgstr "Largura en píxeles entre o indicador de foco e a 'caixa' do widget"
-#: ../gtk/gtkwidget.c:3036
+#: ../gtk/gtkwidget.c:3053
msgid "Cursor color"
msgstr "Cor do cursor"
-#: ../gtk/gtkwidget.c:3037
+#: ../gtk/gtkwidget.c:3054
msgid "Color with which to draw insertion cursor"
msgstr "Cor coa que debuxar o cursor de inserción"
-#: ../gtk/gtkwidget.c:3042
+#: ../gtk/gtkwidget.c:3059
msgid "Secondary cursor color"
msgstr "Cor secundaria do cursor"
-#: ../gtk/gtkwidget.c:3043
+#: ../gtk/gtkwidget.c:3060
msgid ""
"Color with which to draw the secondary insertion cursor when editing mixed "
"right-to-left and left-to-right text"
"Cor coa que debuxar o cursor de inserción secundario cando se edita unha "
"mestura de texto de dereita a esquerda e de esquerda a dereita"
-#: ../gtk/gtkwidget.c:3048
+#: ../gtk/gtkwidget.c:3065
msgid "Cursor line aspect ratio"
msgstr "Proporción de aspecto da liña do cursor"
-#: ../gtk/gtkwidget.c:3049
+#: ../gtk/gtkwidget.c:3066
msgid "Aspect ratio with which to draw insertion cursor"
msgstr "Proporción de aspecto coa que debuxar o cursor de inserción"
-#: ../gtk/gtkwidget.c:3055
+#: ../gtk/gtkwidget.c:3072
msgid "Window dragging"
msgstr "Arrastre da xanela"
-#: ../gtk/gtkwidget.c:3056
+#: ../gtk/gtkwidget.c:3073
msgid "Whether windows can be dragged by clicking on empty areas"
msgstr "Indica se as xanelas se poden arrastrar premendo nas áreas baleiras"
-#: ../gtk/gtkwidget.c:3069
+#: ../gtk/gtkwidget.c:3086
msgid "Unvisited Link Color"
msgstr "Cor de ligazón non visitada"
-#: ../gtk/gtkwidget.c:3070
+#: ../gtk/gtkwidget.c:3087
msgid "Color of unvisited links"
msgstr "Cor de ligazóns non visitadas"
-#: ../gtk/gtkwidget.c:3083
+#: ../gtk/gtkwidget.c:3100
msgid "Visited Link Color"
msgstr "Cor de ligazón visitada"
-#: ../gtk/gtkwidget.c:3084
+#: ../gtk/gtkwidget.c:3101
msgid "Color of visited links"
msgstr "Cor de ligazóns visitadas"
-#: ../gtk/gtkwidget.c:3098
+#: ../gtk/gtkwidget.c:3115
msgid "Wide Separators"
msgstr "Separador longo"
-#: ../gtk/gtkwidget.c:3099
+#: ../gtk/gtkwidget.c:3116
msgid ""
"Whether separators have configurable width and should be drawn using a box "
"instead of a line"
"Indica se os separadores teñen unha largura configurábel e se deberían "
"debuxarse usando unha caixa en vez dunha liña"
-#: ../gtk/gtkwidget.c:3113
+#: ../gtk/gtkwidget.c:3130
msgid "Separator Width"
msgstr "Largura do separador"
-#: ../gtk/gtkwidget.c:3114
+#: ../gtk/gtkwidget.c:3131
msgid "The width of separators if wide-separators is TRUE"
msgstr "A largura dos separadores se «wide-separators» é TRUE"
-#: ../gtk/gtkwidget.c:3128
+#: ../gtk/gtkwidget.c:3145
msgid "Separator Height"
msgstr "Altura dos separadores"
-#: ../gtk/gtkwidget.c:3129
+#: ../gtk/gtkwidget.c:3146
msgid "The height of separators if \"wide-separators\" is TRUE"
msgstr "A altura dos separadores se «wide-separators» é TRUE"
-#: ../gtk/gtkwidget.c:3143
+#: ../gtk/gtkwidget.c:3160
msgid "Horizontal Scroll Arrow Length"
msgstr "Lonxitude da frecha de desprazamento horizontal"
-#: ../gtk/gtkwidget.c:3144
+#: ../gtk/gtkwidget.c:3161
msgid "The length of horizontal scroll arrows"
msgstr "A lonxitude das frechas de desprazamento horizontal"
-#: ../gtk/gtkwidget.c:3158
+#: ../gtk/gtkwidget.c:3175
msgid "Vertical Scroll Arrow Length"
msgstr "Lonxitude das frechas de desprazamento vertical"
-#: ../gtk/gtkwidget.c:3159
+#: ../gtk/gtkwidget.c:3176
msgid "The length of vertical scroll arrows"
msgstr "A lonxitude das frechas de desprazamento vertical"
-#: ../gtk/gtkwindow.c:605
+#: ../gtk/gtkwindow.c:606
msgid "Window Type"
msgstr "Tipo de xanela"
-#: ../gtk/gtkwindow.c:606
+#: ../gtk/gtkwindow.c:607
msgid "The type of the window"
msgstr "O tipo da xanela"
-#: ../gtk/gtkwindow.c:614
+#: ../gtk/gtkwindow.c:615
msgid "Window Title"
msgstr "Título da xanela"
-#: ../gtk/gtkwindow.c:615
+#: ../gtk/gtkwindow.c:616
msgid "The title of the window"
msgstr "O título da xanela"
-#: ../gtk/gtkwindow.c:622
+#: ../gtk/gtkwindow.c:623
msgid "Window Role"
msgstr "Rol da xanela"
-#: ../gtk/gtkwindow.c:623
+#: ../gtk/gtkwindow.c:624
msgid "Unique identifier for the window to be used when restoring a session"
msgstr ""
"Identificador único para a xanela que se usará ao restaurar unha sesión"
-#: ../gtk/gtkwindow.c:639
+#: ../gtk/gtkwindow.c:640
msgid "Startup ID"
msgstr "ID de inicio"
-#: ../gtk/gtkwindow.c:640
+#: ../gtk/gtkwindow.c:641
msgid "Unique startup identifier for the window used by startup-notification"
msgstr ""
"Identificador único para a xanela que se usará para a notificación de inicio"
-#: ../gtk/gtkwindow.c:648
+#: ../gtk/gtkwindow.c:649
msgid "If TRUE, users can resize the window"
msgstr "Se é TRUE, os usuarios poden redimensionar a xanela"
-#: ../gtk/gtkwindow.c:655
+#: ../gtk/gtkwindow.c:656
msgid "Modal"
msgstr "Modal"
-#: ../gtk/gtkwindow.c:656
+#: ../gtk/gtkwindow.c:657
msgid ""
"If TRUE, the window is modal (other windows are not usable while this one is "
"up)"
"Se é TRUE, a xanela é modal (non é posíbel usar outras xanelas mentres esta "
"está encima)"
-#: ../gtk/gtkwindow.c:663
+#: ../gtk/gtkwindow.c:664
msgid "Window Position"
msgstr "Posición da xanela"
-#: ../gtk/gtkwindow.c:664
+#: ../gtk/gtkwindow.c:665
msgid "The initial position of the window"
msgstr "A posición inicial da xanela"
-#: ../gtk/gtkwindow.c:672
+#: ../gtk/gtkwindow.c:673
msgid "Default Width"
msgstr "Largura predeterminada"
-#: ../gtk/gtkwindow.c:673
+#: ../gtk/gtkwindow.c:674
msgid "The default width of the window, used when initially showing the window"
msgstr ""
"A largura predeterminada da xanela, usada cando se mostra inicialmente a "
"xanela"
-#: ../gtk/gtkwindow.c:682
+#: ../gtk/gtkwindow.c:683
msgid "Default Height"
msgstr "Altura predeterminada"
-#: ../gtk/gtkwindow.c:683
+#: ../gtk/gtkwindow.c:684
msgid ""
"The default height of the window, used when initially showing the window"
msgstr ""
"A altura predeterminada da xanela, usada cando se mostra inicialmente a "
"xanela"
-#: ../gtk/gtkwindow.c:692
+#: ../gtk/gtkwindow.c:693
msgid "Destroy with Parent"
msgstr "Destruír co pai"
-#: ../gtk/gtkwindow.c:693
+#: ../gtk/gtkwindow.c:694
msgid "If this window should be destroyed when the parent is destroyed"
msgstr "Se esta xanela debería ser destruída cando se destrúe o pai"
-#: ../gtk/gtkwindow.c:701
+#: ../gtk/gtkwindow.c:702
msgid "Icon for this window"
msgstr "Icona para esta xanela"
-#: ../gtk/gtkwindow.c:707
+#: ../gtk/gtkwindow.c:708
msgid "Mnemonics Visible"
msgstr "Mnemónicos visíbeis"
-#: ../gtk/gtkwindow.c:708
+#: ../gtk/gtkwindow.c:709
msgid "Whether mnemonics are currently visible in this window"
msgstr "Indica se os mnemónicos están visíbeis actualmente nesta xanela"
-#: ../gtk/gtkwindow.c:724
+#: ../gtk/gtkwindow.c:725
msgid "Name of the themed icon for this window"
msgstr "Nome da icona de tema para esta xanela"
-#: ../gtk/gtkwindow.c:739
+#: ../gtk/gtkwindow.c:740
msgid "Is Active"
msgstr "Está activo"
-#: ../gtk/gtkwindow.c:740
+#: ../gtk/gtkwindow.c:741
msgid "Whether the toplevel is the current active window"
msgstr "Indica se o nivel superior é a xanela activa actual"
-#: ../gtk/gtkwindow.c:747
+#: ../gtk/gtkwindow.c:748
msgid "Focus in Toplevel"
msgstr "Foco no nivel superior"
-#: ../gtk/gtkwindow.c:748
+#: ../gtk/gtkwindow.c:749
msgid "Whether the input focus is within this GtkWindow"
msgstr "Indica se o foco de entrada está dentro desta GtkWindow"
-#: ../gtk/gtkwindow.c:755
+#: ../gtk/gtkwindow.c:756
msgid "Type hint"
msgstr "Suxestión de tipo"
-#: ../gtk/gtkwindow.c:756
+#: ../gtk/gtkwindow.c:757
msgid ""
"Hint to help the desktop environment understand what kind of window this is "
"and how to treat it."
"Suxestión para axudar ao contorno de escritorio a entender que clase de "
"xanela é e como tratar con ela."
-#: ../gtk/gtkwindow.c:764
+#: ../gtk/gtkwindow.c:765
msgid "Skip taskbar"
msgstr "Omitir a barra de tarefas"
-#: ../gtk/gtkwindow.c:765
+#: ../gtk/gtkwindow.c:766
msgid "TRUE if the window should not be in the task bar."
msgstr "É TRUE se a xanela non debe estar na barra de tarefas."
-#: ../gtk/gtkwindow.c:772
+#: ../gtk/gtkwindow.c:773
msgid "Skip pager"
msgstr "Omitir o paxinador"
-#: ../gtk/gtkwindow.c:773
+#: ../gtk/gtkwindow.c:774
msgid "TRUE if the window should not be in the pager."
msgstr "É TRUE se a xanela non debe estar no paxinador."
-#: ../gtk/gtkwindow.c:780
+#: ../gtk/gtkwindow.c:781
msgid "Urgent"
msgstr "Urxente"
-#: ../gtk/gtkwindow.c:781
+#: ../gtk/gtkwindow.c:782
msgid "TRUE if the window should be brought to the user's attention."
msgstr "É TRUE se a xanela debe chamar a atención do usuario."
-#: ../gtk/gtkwindow.c:795
+#: ../gtk/gtkwindow.c:796
msgid "Accept focus"
msgstr "Aceptar o foco"
-#: ../gtk/gtkwindow.c:796
+#: ../gtk/gtkwindow.c:797
msgid "TRUE if the window should receive the input focus."
msgstr "É TRUE se a xanela non debe recibir o foco de entrada."
-#: ../gtk/gtkwindow.c:810
+#: ../gtk/gtkwindow.c:811
msgid "Focus on map"
msgstr "Foco no mapa"
-#: ../gtk/gtkwindow.c:811
+#: ../gtk/gtkwindow.c:812
msgid "TRUE if the window should receive the input focus when mapped."
msgstr "É TRUE se a xanela debería recibir o foco de entrada cando se mapee."
-#: ../gtk/gtkwindow.c:825
+#: ../gtk/gtkwindow.c:826
msgid "Decorated"
msgstr "Decorado"
-#: ../gtk/gtkwindow.c:826
+#: ../gtk/gtkwindow.c:827
msgid "Whether the window should be decorated by the window manager"
msgstr "Indica se o xestor de xanelas debe decorar a xanela"
-#: ../gtk/gtkwindow.c:840
+#: ../gtk/gtkwindow.c:841
msgid "Deletable"
msgstr "Eliminábel"
-#: ../gtk/gtkwindow.c:841
+#: ../gtk/gtkwindow.c:842
msgid "Whether the window frame should have a close button"
msgstr "Indica se o marco da xanela debería ter un botón de pechar"
-#: ../gtk/gtkwindow.c:860
+#: ../gtk/gtkwindow.c:861
msgid "Resize grip"
msgstr "Tirador de redimensión"
-#: ../gtk/gtkwindow.c:861
+#: ../gtk/gtkwindow.c:862
msgid "Specifies whether the window should have a resize grip"
msgstr "Indica se a xanela debe ter un tirador de redimensión"
-#: ../gtk/gtkwindow.c:875
+#: ../gtk/gtkwindow.c:876
msgid "Resize grip is visible"
msgstr "O tirador de redimensión é visíbel"
-#: ../gtk/gtkwindow.c:876
+#: ../gtk/gtkwindow.c:877
msgid "Specifies whether the window's resize grip is visible."
msgstr "Indica se o tirador de redimensión da xanela é visíbel."
-#: ../gtk/gtkwindow.c:892
+#: ../gtk/gtkwindow.c:893
msgid "Gravity"
msgstr "Gravidade"
-#: ../gtk/gtkwindow.c:893
+#: ../gtk/gtkwindow.c:894
msgid "The window gravity of the window"
msgstr "O tipo de gravidade da xanela"
-#: ../gtk/gtkwindow.c:910
+#: ../gtk/gtkwindow.c:911
msgid "Transient for Window"
msgstr "Transición para a xanela"
-#: ../gtk/gtkwindow.c:911
+#: ../gtk/gtkwindow.c:912
msgid "The transient parent of the dialog"
msgstr "O pai transicional do diálogo"
-#: ../gtk/gtkwindow.c:926
+#: ../gtk/gtkwindow.c:927
msgid "Opacity for Window"
msgstr "Opacidade para a xanela"
-#: ../gtk/gtkwindow.c:927
+#: ../gtk/gtkwindow.c:928
msgid "The opacity of the window, from 0 to 1"
msgstr "A opacidade da xanela; de 0 até 1"
-#: ../gtk/gtkwindow.c:937 ../gtk/gtkwindow.c:938
+#: ../gtk/gtkwindow.c:938 ../gtk/gtkwindow.c:939
msgid "Width of resize grip"
msgstr "Anchura do tirador de redimensión"
-#: ../gtk/gtkwindow.c:943 ../gtk/gtkwindow.c:944
+#: ../gtk/gtkwindow.c:944 ../gtk/gtkwindow.c:945
msgid "Height of resize grip"
msgstr "Altura do tirador de redimensión"
-#: ../gtk/gtkwindow.c:966
+#: ../gtk/gtkwindow.c:967
msgid "GtkApplication"
msgstr "GtkApplication"
-#: ../gtk/gtkwindow.c:967
+#: ../gtk/gtkwindow.c:968
msgid "The GtkApplication for the window"
msgstr "O GtkApplication para a xanela"
+#: ../modules/printbackends/cups/gtkprintercups.c:95
+msgid "Color Profile Title"
+msgstr "Título do perfil de cor"
+
+#: ../modules/printbackends/cups/gtkprintercups.c:96
+msgid "The title of the color profile to use"
+msgstr "O título do perfil de cor que usar"
+
#~ msgid "Not Authorized Text"
#~ msgstr "Texto non autorizado"
msgstr ""
"Project-Id-Version: gtk+.HEAD.he\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-10 12:55+0300\n"
-"PO-Revision-Date: 2011-06-10 12:55+0200\n"
+"POT-Creation-Date: 2011-07-15 11:02+0300\n"
+"PO-Revision-Date: 2011-07-15 11:03+0200\n"
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
"Language-Team: Gezer (Hebrew)\n"
"Language: he\n"
msgid "Cursor"
msgstr "Cursor"
-#: ../gdk/x11/gdkdevice-xi.c:140 ../gdk/x11/gdkdevice-xi.c:141
-#: ../gdk/x11/gdkdevice-xi2.c:130
-msgid "Device ID"
-msgstr "Device ID"
-
-#: ../gdk/x11/gdkdevice-xi2.c:131
-msgid "Device identifier"
-msgstr "Device identifier"
-
#: ../gdk/x11/gdkdevicemanager-xi2.c:119
msgid "Opcode"
msgstr "Opcode"
msgid "Event base for XInput events"
msgstr "Event base for XInput events"
+#: ../gdk/x11/gdkdevice-xi2.c:130 ../gdk/x11/gdkdevice-xi.c:140
+#: ../gdk/x11/gdkdevice-xi.c:141
+msgid "Device ID"
+msgstr "Device ID"
+
+#: ../gdk/x11/gdkdevice-xi2.c:131
+msgid "Device identifier"
+msgstr "Device identifier"
+
#: ../gtk/gtkaboutdialog.c:275
msgid "Program name"
msgstr "Program name"
msgstr "The widget to be monitored for accelerator changes"
#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125
-#: ../gtk/gtktextmark.c:126 ../gtk/gtkthemingengine.c:257
+#: ../gtk/gtktextmark.c:126 ../gtk/gtkthemingengine.c:258
msgid "Name"
msgstr "Name"
msgid "A unique name for the action."
msgstr "A unique name for the action."
-#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:289
-#: ../gtk/gtkframe.c:170 ../gtk/gtklabel.c:742 ../gtk/gtkmenuitem.c:381
-#: ../gtk/gtktoolbutton.c:232 ../gtk/gtktoolitemgroup.c:1591
+#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:228 ../gtk/gtkexpander.c:290
+#: ../gtk/gtkframe.c:171 ../gtk/gtklabel.c:744 ../gtk/gtkmenuitem.c:384
+#: ../gtk/gtktoolbutton.c:232 ../gtk/gtktoolitemgroup.c:1592
msgid "Label"
msgstr "Label"
msgstr "GIcon"
#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:235
-#: ../gtk/gtkimage.c:328 ../gtk/gtkstatusicon.c:276
+#: ../gtk/gtkimage.c:330 ../gtk/gtkstatusicon.c:276
msgid "The GIcon being displayed"
msgstr "The GIcon being displayed"
#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:200
-#: ../gtk/gtkimage.c:310 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:259
+#: ../gtk/gtkimage.c:312 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:259
#: ../gtk/gtkwindow.c:724
msgid "Icon Name"
msgstr "Icon Name"
#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:201
-#: ../gtk/gtkimage.c:311 ../gtk/gtkstatusicon.c:260
+#: ../gtk/gtkimage.c:313 ../gtk/gtkstatusicon.c:260
msgid "The name of the icon from the icon theme"
msgstr "The name of the icon from the icon theme"
msgstr "When TRUE, empty menu proxies for this action are hidden."
#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235
-#: ../gtk/gtkcellrenderer.c:290 ../gtk/gtkwidget.c:972
+#: ../gtk/gtkcellrenderer.c:290 ../gtk/gtkwidget.c:988
msgid "Sensitive"
msgstr "Sensitive"
#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242
#: ../gtk/gtkstatusicon.c:310 ../gtk/gtktreeviewcolumn.c:248
-#: ../gtk/gtkwidget.c:965
+#: ../gtk/gtkwidget.c:981
msgid "Visible"
msgstr "Visible"
msgstr "Whether to use the related actions appearance properties"
#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:138
-#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:382
+#: ../gtk/gtkscalebutton.c:218 ../gtk/gtkspinbutton.c:384
msgid "Value"
msgstr "Value"
msgid "Horizontal alignment"
msgstr "Horizontal alignment"
-#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278
+#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:279
msgid ""
"Horizontal position of child in available space. 0.0 is left aligned, 1.0 is "
"right aligned"
msgid "Vertical alignment"
msgstr "Vertical alignment"
-#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297
+#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:298
msgid ""
"Vertical position of child in available space. 0.0 is top aligned, 1.0 is "
"bottom aligned"
msgid "The default text appearing when there are no applications"
msgstr "The default text appearing when there are no applications"
-#: ../gtk/gtkarrow.c:110
+#: ../gtk/gtkarrow.c:112
msgid "Arrow direction"
msgstr "Arrow direction"
-#: ../gtk/gtkarrow.c:111
+#: ../gtk/gtkarrow.c:113
msgid "The direction the arrow should point"
msgstr "The direction the arrow should point"
-#: ../gtk/gtkarrow.c:119
+#: ../gtk/gtkarrow.c:121
msgid "Arrow shadow"
msgstr "Arrow shadow"
-#: ../gtk/gtkarrow.c:120
+#: ../gtk/gtkarrow.c:122
msgid "Appearance of the shadow surrounding the arrow"
msgstr "Appearance of the shadow surrounding the arrow"
-#: ../gtk/gtkarrow.c:127 ../gtk/gtkcombobox.c:985 ../gtk/gtkmenu.c:797
-#: ../gtk/gtkmenuitem.c:444
+#: ../gtk/gtkarrow.c:129 ../gtk/gtkcombobox.c:986 ../gtk/gtkmenu.c:798
+#: ../gtk/gtkmenuitem.c:447
msgid "Arrow Scaling"
msgstr "Arrow Scaling"
-#: ../gtk/gtkarrow.c:128
+#: ../gtk/gtkarrow.c:130
msgid "Amount of space used up by arrow"
msgstr "Amount of space used up by arrow"
-#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1160
+#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1176
msgid "Horizontal Alignment"
msgstr "Horizontal Alignment"
msgid "X alignment of the child"
msgstr "X alignment of the child"
-#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1176
+#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1192
msgid "Vertical Alignment"
msgstr "Vertical Alignment"
msgid "If TRUE, the child will not be subject to homogeneous sizing"
msgstr "If TRUE, the child will not be subject to homogeneous sizing"
-#: ../gtk/gtkbox.c:243 ../gtk/gtkcellareabox.c:317 ../gtk/gtkexpander.c:313
-#: ../gtk/gtkiconview.c:644 ../gtk/gtktreeviewcolumn.c:283
+#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:317 ../gtk/gtkexpander.c:314
+#: ../gtk/gtkiconview.c:643 ../gtk/gtktreeviewcolumn.c:283
msgid "Spacing"
msgstr "Spacing"
-#: ../gtk/gtkbox.c:244
+#: ../gtk/gtkbox.c:242
msgid "The amount of space between children"
msgstr "The amount of space between children"
-#: ../gtk/gtkbox.c:253 ../gtk/gtktable.c:227 ../gtk/gtktoolbar.c:554
-#: ../gtk/gtktoolitemgroup.c:1644
+#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:227 ../gtk/gtktoolbar.c:561
+#: ../gtk/gtktoolitemgroup.c:1645
msgid "Homogeneous"
msgstr "Homogeneous"
-#: ../gtk/gtkbox.c:254
+#: ../gtk/gtkbox.c:252
msgid "Whether the children should all be the same size"
msgstr "Whether the children should all be the same size"
-#: ../gtk/gtkbox.c:274 ../gtk/gtkcellareabox.c:337 ../gtk/gtktoolbar.c:546
-#: ../gtk/gtktoolitemgroup.c:1651 ../gtk/gtktoolpalette.c:1068
+#: ../gtk/gtkbox.c:272 ../gtk/gtkcellareabox.c:337 ../gtk/gtktoolbar.c:553
+#: ../gtk/gtktoolitemgroup.c:1652 ../gtk/gtktoolpalette.c:1070
#: ../gtk/gtktreeviewcolumn.c:339
msgid "Expand"
msgstr "Expand"
-#: ../gtk/gtkbox.c:275
+#: ../gtk/gtkbox.c:273
msgid "Whether the child should receive extra space when the parent grows"
msgstr "Whether the child should receive extra space when the parent grows"
-#: ../gtk/gtkbox.c:291 ../gtk/gtktoolitemgroup.c:1658
+#: ../gtk/gtkbox.c:289 ../gtk/gtktoolitemgroup.c:1659
msgid "Fill"
msgstr "Fill"
-#: ../gtk/gtkbox.c:292
+#: ../gtk/gtkbox.c:290
msgid ""
"Whether extra space given to the child should be allocated to the child or "
"used as padding"
"Whether extra space given to the child should be allocated to the child or "
"used as padding"
-#: ../gtk/gtkbox.c:299 ../gtk/gtktrayicon-x11.c:169
+#: ../gtk/gtkbox.c:297 ../gtk/gtktrayicon-x11.c:169
msgid "Padding"
msgstr "Padding"
-#: ../gtk/gtkbox.c:300
+#: ../gtk/gtkbox.c:298
msgid "Extra space to put between the child and its neighbors, in pixels"
msgstr "Extra space to put between the child and its neighbors, in pixels"
-#: ../gtk/gtkbox.c:306
+#: ../gtk/gtkbox.c:304
msgid "Pack type"
msgstr "Pack type"
-#: ../gtk/gtkbox.c:307
+#: ../gtk/gtkbox.c:305
msgid ""
"A GtkPackType indicating whether the child is packed with reference to the "
"start or end of the parent"
"A GtkPackType indicating whether the child is packed with reference to the "
"start or end of the parent"
-#: ../gtk/gtkbox.c:313 ../gtk/gtknotebook.c:770 ../gtk/gtkpaned.c:349
-#: ../gtk/gtktoolitemgroup.c:1672
+#: ../gtk/gtkbox.c:311 ../gtk/gtknotebook.c:771 ../gtk/gtkpaned.c:349
+#: ../gtk/gtktoolitemgroup.c:1673
msgid "Position"
msgstr "Position"
-#: ../gtk/gtkbox.c:314 ../gtk/gtknotebook.c:771
+#: ../gtk/gtkbox.c:312 ../gtk/gtknotebook.c:772
msgid "The index of the child in the parent"
msgstr "The index of the child in the parent"
msgid "The translation domain used by gettext"
msgstr "The translation domain used by gettext"
-#: ../gtk/gtkbutton.c:228
+#: ../gtk/gtkbutton.c:229
msgid ""
"Text of the label widget inside the button, if the button contains a label "
"widget"
"Text of the label widget inside the button, if the button contains a label "
"widget"
-#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:297 ../gtk/gtklabel.c:763
-#: ../gtk/gtkmenuitem.c:396 ../gtk/gtktoolbutton.c:239
+#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:298 ../gtk/gtklabel.c:765
+#: ../gtk/gtkmenuitem.c:399 ../gtk/gtktoolbutton.c:239
msgid "Use underline"
msgstr "Use underline"
-#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:298 ../gtk/gtklabel.c:764
-#: ../gtk/gtkmenuitem.c:397
+#: ../gtk/gtkbutton.c:237 ../gtk/gtkexpander.c:299 ../gtk/gtklabel.c:766
+#: ../gtk/gtkmenuitem.c:400
msgid ""
"If set, an underline in the text indicates the next character should be used "
"for the mnemonic accelerator key"
"If set, an underline in the text indicates the next character should be used "
"for the mnemonic accelerator key"
-#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:175
+#: ../gtk/gtkbutton.c:244 ../gtk/gtkimagemenuitem.c:175
msgid "Use stock"
msgstr "Use stock"
-#: ../gtk/gtkbutton.c:244
+#: ../gtk/gtkbutton.c:245
msgid ""
"If set, the label is used to pick a stock item instead of being displayed"
msgstr ""
"If set, the label is used to pick a stock item instead of being displayed"
-#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791
+#: ../gtk/gtkbutton.c:252 ../gtk/gtkcombobox.c:792
#: ../gtk/gtkfilechooserbutton.c:426
msgid "Focus on click"
msgstr "Focus on click"
-#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:427
+#: ../gtk/gtkbutton.c:253 ../gtk/gtkfilechooserbutton.c:427
msgid "Whether the button grabs focus when it is clicked with the mouse"
msgstr "Whether the button grabs focus when it is clicked with the mouse"
-#: ../gtk/gtkbutton.c:259
+#: ../gtk/gtkbutton.c:260
msgid "Border relief"
msgstr "Border relief"
-#: ../gtk/gtkbutton.c:260
+#: ../gtk/gtkbutton.c:261
msgid "The border relief style"
msgstr "The border relief style"
-#: ../gtk/gtkbutton.c:277
+#: ../gtk/gtkbutton.c:278
msgid "Horizontal alignment for child"
msgstr "Horizontal alignment for child"
-#: ../gtk/gtkbutton.c:296
+#: ../gtk/gtkbutton.c:297
msgid "Vertical alignment for child"
msgstr "Vertical alignment for child"
-#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:160
+#: ../gtk/gtkbutton.c:314 ../gtk/gtkimagemenuitem.c:160
msgid "Image widget"
msgstr "Image widget"
-#: ../gtk/gtkbutton.c:314
+#: ../gtk/gtkbutton.c:315
msgid "Child widget to appear next to the button text"
msgstr "Child widget to appear next to the button text"
-#: ../gtk/gtkbutton.c:328
+#: ../gtk/gtkbutton.c:329
msgid "Image position"
msgstr "Image position"
-#: ../gtk/gtkbutton.c:329
+#: ../gtk/gtkbutton.c:330
msgid "The position of the image relative to the text"
msgstr "The position of the image relative to the text"
-#: ../gtk/gtkbutton.c:449
+#: ../gtk/gtkbutton.c:450
msgid "Default Spacing"
msgstr "Default Spacing"
-#: ../gtk/gtkbutton.c:450
+#: ../gtk/gtkbutton.c:451
msgid "Extra space to add for GTK_CAN_DEFAULT buttons"
msgstr "Extra space to add for GTK_CAN_DEFAULT buttons"
-#: ../gtk/gtkbutton.c:464
+#: ../gtk/gtkbutton.c:465
msgid "Default Outside Spacing"
msgstr "Default Outside Spacing"
-#: ../gtk/gtkbutton.c:465
+#: ../gtk/gtkbutton.c:466
msgid ""
"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside "
"the border"
"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside "
"the border"
-#: ../gtk/gtkbutton.c:470
+#: ../gtk/gtkbutton.c:471
msgid "Child X Displacement"
msgstr "Child X Displacement"
-#: ../gtk/gtkbutton.c:471
+#: ../gtk/gtkbutton.c:472
msgid ""
"How far in the x direction to move the child when the button is depressed"
msgstr ""
"How far in the x direction to move the child when the button is depressed"
-#: ../gtk/gtkbutton.c:478
+#: ../gtk/gtkbutton.c:479
msgid "Child Y Displacement"
msgstr "Child Y Displacement"
-#: ../gtk/gtkbutton.c:479
+#: ../gtk/gtkbutton.c:480
msgid ""
"How far in the y direction to move the child when the button is depressed"
msgstr ""
"How far in the y direction to move the child when the button is depressed"
-#: ../gtk/gtkbutton.c:495
+#: ../gtk/gtkbutton.c:496
msgid "Displace focus"
msgstr "Displace focus"
-#: ../gtk/gtkbutton.c:496
+#: ../gtk/gtkbutton.c:497
msgid ""
"Whether the child_displacement_x/_y properties should also affect the focus "
"rectangle"
"Whether the child_displacement_x/_y properties should also affect the focus "
"rectangle"
-#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:791 ../gtk/gtkentry.c:1866
+#: ../gtk/gtkbutton.c:510 ../gtk/gtkentry.c:794 ../gtk/gtkentry.c:1869
msgid "Inner Border"
msgstr "Inner Border"
-#: ../gtk/gtkbutton.c:510
+#: ../gtk/gtkbutton.c:511
msgid "Border between button edges and child."
msgstr "Border between button edges and child."
-#: ../gtk/gtkbutton.c:523
+#: ../gtk/gtkbutton.c:524
msgid "Image spacing"
msgstr "Image spacing"
-#: ../gtk/gtkbutton.c:524
+#: ../gtk/gtkbutton.c:525
msgid "Spacing in pixels between the image and label"
msgstr "Spacing in pixels between the image and label"
-#: ../gtk/gtkcalendar.c:467
+#: ../gtk/gtkcalendar.c:471
msgid "Year"
msgstr "Year"
-#: ../gtk/gtkcalendar.c:468
+#: ../gtk/gtkcalendar.c:472
msgid "The selected year"
msgstr "The selected year"
-#: ../gtk/gtkcalendar.c:481
+#: ../gtk/gtkcalendar.c:485
msgid "Month"
msgstr "Month"
-#: ../gtk/gtkcalendar.c:482
+#: ../gtk/gtkcalendar.c:486
msgid "The selected month (as a number between 0 and 11)"
msgstr "The selected month (as a number between 0 and 11)"
-#: ../gtk/gtkcalendar.c:496
+#: ../gtk/gtkcalendar.c:500
msgid "Day"
msgstr "Day"
-#: ../gtk/gtkcalendar.c:497
+#: ../gtk/gtkcalendar.c:501
msgid ""
"The selected day (as a number between 1 and 31, or 0 to unselect the "
"currently selected day)"
"The selected day (as a number between 1 and 31, or 0 to unselect the "
"currently selected day)"
-#: ../gtk/gtkcalendar.c:511
+#: ../gtk/gtkcalendar.c:515
msgid "Show Heading"
msgstr "Show Heading"
-#: ../gtk/gtkcalendar.c:512
+#: ../gtk/gtkcalendar.c:516
msgid "If TRUE, a heading is displayed"
msgstr "If TRUE, a heading is displayed"
-#: ../gtk/gtkcalendar.c:526
+#: ../gtk/gtkcalendar.c:530
msgid "Show Day Names"
msgstr "Show Day Names"
-#: ../gtk/gtkcalendar.c:527
+#: ../gtk/gtkcalendar.c:531
msgid "If TRUE, day names are displayed"
msgstr "If TRUE, day names are displayed"
-#: ../gtk/gtkcalendar.c:540
+#: ../gtk/gtkcalendar.c:544
msgid "No Month Change"
msgstr "No Month Change"
-#: ../gtk/gtkcalendar.c:541
+#: ../gtk/gtkcalendar.c:545
msgid "If TRUE, the selected month cannot be changed"
msgstr "If TRUE, the selected month cannot be changed"
-#: ../gtk/gtkcalendar.c:555
+#: ../gtk/gtkcalendar.c:559
msgid "Show Week Numbers"
msgstr "Show Week Numbers"
-#: ../gtk/gtkcalendar.c:556
+#: ../gtk/gtkcalendar.c:560
msgid "If TRUE, week numbers are displayed"
msgstr "If TRUE, week numbers are displayed"
-#: ../gtk/gtkcalendar.c:571
+#: ../gtk/gtkcalendar.c:575
msgid "Details Width"
msgstr "Details Width"
-#: ../gtk/gtkcalendar.c:572
+#: ../gtk/gtkcalendar.c:576
msgid "Details width in characters"
msgstr "Details width in characters"
-#: ../gtk/gtkcalendar.c:587
+#: ../gtk/gtkcalendar.c:591
msgid "Details Height"
msgstr "Details Height"
-#: ../gtk/gtkcalendar.c:588
+#: ../gtk/gtkcalendar.c:592
msgid "Details height in rows"
msgstr "Details height in rows"
-#: ../gtk/gtkcalendar.c:604
+#: ../gtk/gtkcalendar.c:608
msgid "Show Details"
msgstr "Show Details"
-#: ../gtk/gtkcalendar.c:605
+#: ../gtk/gtkcalendar.c:609
msgid "If TRUE, details are shown"
msgstr "If TRUE, details are shown"
-#: ../gtk/gtkcalendar.c:617
+#: ../gtk/gtkcalendar.c:621
msgid "Inner border"
msgstr "Inner border"
-#: ../gtk/gtkcalendar.c:618
+#: ../gtk/gtkcalendar.c:622
msgid "Inner border space"
msgstr "Inner border space"
-#: ../gtk/gtkcalendar.c:629
+#: ../gtk/gtkcalendar.c:633
msgid "Vertical separation"
msgstr "Vertical separation"
-#: ../gtk/gtkcalendar.c:630
+#: ../gtk/gtkcalendar.c:634
msgid "Space between day headers and main area"
msgstr "Space between day headers and main area"
-#: ../gtk/gtkcalendar.c:641
+#: ../gtk/gtkcalendar.c:645
msgid "Horizontal separation"
msgstr "Horizontal separation"
-#: ../gtk/gtkcalendar.c:642
+#: ../gtk/gtkcalendar.c:646
msgid "Space between week headers and main area"
msgstr "Space between week headers and main area"
msgid "The widget currently editing the edited cell"
msgstr "The widget currently editing the edited cell"
-#: ../gtk/gtkcellareacontext.c:127
+#: ../gtk/gtkcellareacontext.c:119
msgid "Area"
msgstr "Area"
-#: ../gtk/gtkcellareacontext.c:128
+#: ../gtk/gtkcellareacontext.c:120
msgid "The Cell Area this context was created for"
msgstr "The Cell Area this context was created for"
-#: ../gtk/gtkcellareacontext.c:144 ../gtk/gtkcellareacontext.c:163
+#: ../gtk/gtkcellareacontext.c:136 ../gtk/gtkcellareacontext.c:155
#: ../gtk/gtktreeviewcolumn.c:311
msgid "Minimum Width"
msgstr "Minimum Width"
-#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164
+#: ../gtk/gtkcellareacontext.c:137 ../gtk/gtkcellareacontext.c:156
msgid "Minimum cached width"
msgstr "Minimum cached width"
-#: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201
+#: ../gtk/gtkcellareacontext.c:174 ../gtk/gtkcellareacontext.c:193
msgid "Minimum Height"
msgstr "Minimum Height"
-#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202
+#: ../gtk/gtkcellareacontext.c:175 ../gtk/gtkcellareacontext.c:194
msgid "Minimum cached height"
msgstr "Minimum cached height"
msgid "A column in the data source model to get the strings from"
msgstr "A column in the data source model to get the strings from"
-#: ../gtk/gtkcellrenderercombo.c:171 ../gtk/gtkcombobox.c:858
+#: ../gtk/gtkcellrenderercombo.c:171 ../gtk/gtkcombobox.c:859
msgid "Has Entry"
msgstr "Has Entry"
msgid "Pixbuf for closed expander"
msgstr "Pixbuf for closed expander"
-#: ../gtk/gtkcellrendererpixbuf.c:164 ../gtk/gtkimage.c:252
+#: ../gtk/gtkcellrendererpixbuf.c:164 ../gtk/gtkimage.c:254
#: ../gtk/gtkstatusicon.c:251
msgid "Stock ID"
msgstr "Stock ID"
msgid "Whether the rendered pixbuf should be colorized according to the state"
msgstr "Whether the rendered pixbuf should be colorized according to the state"
-#: ../gtk/gtkcellrendererpixbuf.c:234 ../gtk/gtkimage.c:327
+#: ../gtk/gtkcellrendererpixbuf.c:234 ../gtk/gtkimage.c:329
#: ../gtk/gtkwindow.c:701
msgid "Icon"
msgstr "Icon"
msgstr "Value of the progress bar"
#: ../gtk/gtkcellrendererprogress.c:156 ../gtk/gtkcellrenderertext.c:254
-#: ../gtk/gtkentry.c:834 ../gtk/gtkentrybuffer.c:352
-#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:174
+#: ../gtk/gtkentrybuffer.c:352 ../gtk/gtkentry.c:837
+#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:176
#: ../gtk/gtktextbuffer.c:221
msgid "Text"
msgstr "Text"
msgid "The vertical text alignment, from 0 (top) to 1 (bottom)."
msgstr "The vertical text alignment, from 0 (top) to 1 (bottom)."
-#: ../gtk/gtkcellrendererprogress.c:226 ../gtk/gtkprogressbar.c:150
-#: ../gtk/gtkrange.c:425
+#: ../gtk/gtkcellrendererprogress.c:226 ../gtk/gtkprogressbar.c:152
+#: ../gtk/gtkrange.c:426
msgid "Inverted"
msgstr "Inverted"
-#: ../gtk/gtkcellrendererprogress.c:227 ../gtk/gtkprogressbar.c:151
+#: ../gtk/gtkcellrendererprogress.c:227 ../gtk/gtkprogressbar.c:153
msgid "Invert the direction in which the progress bar grows"
msgstr "Invert the direction in which the progress bar grows"
-#: ../gtk/gtkcellrendererspin.c:113 ../gtk/gtkrange.c:417
-#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:321
+#: ../gtk/gtkcellrendererspin.c:113 ../gtk/gtkrange.c:418
+#: ../gtk/gtkscalebutton.c:237 ../gtk/gtkspinbutton.c:323
msgid "Adjustment"
msgstr "Adjustment"
-#: ../gtk/gtkcellrendererspin.c:114 ../gtk/gtkspinbutton.c:322
+#: ../gtk/gtkcellrendererspin.c:114 ../gtk/gtkspinbutton.c:324
msgid "The adjustment that holds the value of the spin button"
msgstr "The adjustment that holds the value of the spin button"
msgid "Climb rate"
msgstr "Climb rate"
-#: ../gtk/gtkcellrendererspin.c:130 ../gtk/gtkspinbutton.c:330
+#: ../gtk/gtkcellrendererspin.c:130 ../gtk/gtkspinbutton.c:332
msgid "The acceleration rate when you hold down a button"
msgstr "The acceleration rate when you hold down a button"
-#: ../gtk/gtkcellrendererspin.c:143 ../gtk/gtkscale.c:252
-#: ../gtk/gtkspinbutton.c:339
+#: ../gtk/gtkcellrendererspin.c:143 ../gtk/gtkscale.c:254
+#: ../gtk/gtkspinbutton.c:341
msgid "Digits"
msgstr "Digits"
-#: ../gtk/gtkcellrendererspin.c:144 ../gtk/gtkspinbutton.c:340
+#: ../gtk/gtkcellrendererspin.c:144 ../gtk/gtkspinbutton.c:342
msgid "The number of decimal places to display"
msgstr "The number of decimal places to display"
-#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:122
-#: ../gtk/gtkmenu.c:587 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:801
-#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:177
+#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:123
+#: ../gtk/gtkmenu.c:588 ../gtk/gtkspinner.c:115 ../gtk/gtkswitch.c:783
+#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:178
#: ../gtk/gtktoggletoolbutton.c:127
msgid "Active"
msgstr "Active"
msgid "Marked up text to render"
msgstr "Marked up text to render"
-#: ../gtk/gtkcellrenderertext.c:270 ../gtk/gtklabel.c:749
+#: ../gtk/gtkcellrenderertext.c:270 ../gtk/gtklabel.c:751
msgid "Attributes"
msgstr "Attributes"
msgid "Foreground color as a GdkRGBA"
msgstr "Foreground color as a GdkRGBA"
-#: ../gtk/gtkcellrenderertext.c:349 ../gtk/gtkentry.c:758
-#: ../gtk/gtktexttag.c:278 ../gtk/gtktextview.c:687
+#: ../gtk/gtkcellrenderertext.c:349 ../gtk/gtkentry.c:761
+#: ../gtk/gtktexttag.c:278 ../gtk/gtktextview.c:686
msgid "Editable"
msgstr "Editable"
#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtktexttag.c:279
-#: ../gtk/gtktextview.c:688
+#: ../gtk/gtktextview.c:687
msgid "Whether the text can be modified by the user"
msgstr "Whether the text can be modified by the user"
"when rendering the text. If you don't understand this parameter, you "
"probably don't need it"
-#: ../gtk/gtkcellrenderertext.c:499 ../gtk/gtklabel.c:874
-#: ../gtk/gtkprogressbar.c:214
+#: ../gtk/gtkcellrenderertext.c:499 ../gtk/gtklabel.c:876
+#: ../gtk/gtkprogressbar.c:216
msgid "Ellipsize"
msgstr "Ellipsize"
"have enough room to display the entire string"
#: ../gtk/gtkcellrenderertext.c:519 ../gtk/gtkfilechooserbutton.c:454
-#: ../gtk/gtklabel.c:895
+#: ../gtk/gtklabel.c:897
msgid "Width In Characters"
msgstr "Width In Characters"
-#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtklabel.c:896
+#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtklabel.c:898
msgid "The desired width of the label, in characters"
msgstr "The desired width of the label, in characters"
-#: ../gtk/gtkcellrenderertext.c:544 ../gtk/gtklabel.c:956
+#: ../gtk/gtkcellrenderertext.c:544 ../gtk/gtklabel.c:958
msgid "Maximum Width In Characters"
msgstr "Maximum Width In Characters"
"How to break the string into multiple lines, if the cell renderer does not "
"have enough room to display the entire string"
-#: ../gtk/gtkcellrenderertext.c:583 ../gtk/gtkcombobox.c:680
+#: ../gtk/gtkcellrenderertext.c:583 ../gtk/gtkcombobox.c:681
msgid "Wrap width"
msgstr "Wrap width"
msgstr "Indicator size"
#: ../gtk/gtkcellrenderertoggle.c:173 ../gtk/gtkcheckbutton.c:93
-#: ../gtk/gtkcheckmenuitem.c:146
+#: ../gtk/gtkcheckmenuitem.c:147
msgid "Size of check or radio indicator"
msgstr "Size of check or radio indicator"
msgid "The model for cell view"
msgstr "The model for cell view"
-#: ../gtk/gtkcellview.c:246 ../gtk/gtkcombobox.c:944
-#: ../gtk/gtkentrycompletion.c:448 ../gtk/gtkiconview.c:769
+#: ../gtk/gtkcellview.c:246 ../gtk/gtkcombobox.c:945
+#: ../gtk/gtkentrycompletion.c:448 ../gtk/gtkiconview.c:768
#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:427
msgid "Cell Area"
msgstr "Cell Area"
-#: ../gtk/gtkcellview.c:247 ../gtk/gtkcombobox.c:945
-#: ../gtk/gtkentrycompletion.c:449 ../gtk/gtkiconview.c:770
+#: ../gtk/gtkcellview.c:247 ../gtk/gtkcombobox.c:946
+#: ../gtk/gtkentrycompletion.c:449 ../gtk/gtkiconview.c:769
#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:428
msgid "The GtkCellArea used to layout cells"
msgstr "The GtkCellArea used to layout cells"
msgid "Whether to request enough space for every row in the model"
msgstr "Whether to request enough space for every row in the model"
-#: ../gtk/gtkcheckbutton.c:92 ../gtk/gtkcheckmenuitem.c:145
+#: ../gtk/gtkcheckbutton.c:92 ../gtk/gtkcheckmenuitem.c:146
msgid "Indicator Size"
msgstr "Indicator Size"
-#: ../gtk/gtkcheckbutton.c:100 ../gtk/gtkexpander.c:363
+#: ../gtk/gtkcheckbutton.c:100 ../gtk/gtkexpander.c:364
msgid "Indicator Spacing"
msgstr "Indicator Spacing"
msgid "Spacing around check or radio indicator"
msgstr "Spacing around check or radio indicator"
-#: ../gtk/gtkcheckmenuitem.c:123
+#: ../gtk/gtkcheckmenuitem.c:124
msgid "Whether the menu item is checked"
msgstr "Whether the menu item is checked"
-#: ../gtk/gtkcheckmenuitem.c:130 ../gtk/gtktogglebutton.c:185
+#: ../gtk/gtkcheckmenuitem.c:131 ../gtk/gtktogglebutton.c:186
msgid "Inconsistent"
msgstr "Inconsistent"
-#: ../gtk/gtkcheckmenuitem.c:131
+#: ../gtk/gtkcheckmenuitem.c:132
msgid "Whether to display an \"inconsistent\" state"
msgstr "Whether to display an \"inconsistent\" state"
-#: ../gtk/gtkcheckmenuitem.c:138
+#: ../gtk/gtkcheckmenuitem.c:139
msgid "Draw as radio menu item"
msgstr "Draw as radio menu item"
-#: ../gtk/gtkcheckmenuitem.c:139
+#: ../gtk/gtkcheckmenuitem.c:140
msgid "Whether the menu item looks like a radio menu item"
msgstr "Whether the menu item looks like a radio menu item"
msgid "The title of the color selection dialog"
msgstr "The title of the color selection dialog"
-#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:337
+#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:336
msgid "Current Color"
msgstr "Current Color"
msgid "The selected color"
msgstr "The selected color"
-#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:344
+#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:343
msgid "Current Alpha"
msgstr "Current Alpha"
msgid "The selected RGBA color"
msgstr "The selected RGBA color"
-#: ../gtk/gtkcolorsel.c:323
+#: ../gtk/gtkcolorsel.c:322
msgid "Has Opacity Control"
msgstr "Has Opacity Control"
-#: ../gtk/gtkcolorsel.c:324
+#: ../gtk/gtkcolorsel.c:323
msgid "Whether the color selector should allow setting opacity"
msgstr "Whether the color selector should allow setting opacity"
-#: ../gtk/gtkcolorsel.c:330
+#: ../gtk/gtkcolorsel.c:329
msgid "Has palette"
msgstr "Has palette"
-#: ../gtk/gtkcolorsel.c:331
+#: ../gtk/gtkcolorsel.c:330
msgid "Whether a palette should be used"
msgstr "Whether a palette should be used"
-#: ../gtk/gtkcolorsel.c:338
+#: ../gtk/gtkcolorsel.c:337
msgid "The current color"
msgstr "The current color"
-#: ../gtk/gtkcolorsel.c:345
+#: ../gtk/gtkcolorsel.c:344
msgid "The current opacity value (0 fully transparent, 65535 fully opaque)"
msgstr "The current opacity value (0 fully transparent, 65535 fully opaque)"
-#: ../gtk/gtkcolorsel.c:359
+#: ../gtk/gtkcolorsel.c:358
msgid "Current RGBA"
msgstr "Current RGBA"
-#: ../gtk/gtkcolorsel.c:360
+#: ../gtk/gtkcolorsel.c:359
msgid "The current RGBA color"
msgstr "The current RGBA color"
msgid "The help button of the dialog."
msgstr "The help button of the dialog."
-#: ../gtk/gtkcombobox.c:663
+#: ../gtk/gtkcombobox.c:664
msgid "ComboBox model"
msgstr "ComboBox model"
-#: ../gtk/gtkcombobox.c:664
+#: ../gtk/gtkcombobox.c:665
msgid "The model for the combo box"
msgstr "The model for the combo box"
-#: ../gtk/gtkcombobox.c:681
+#: ../gtk/gtkcombobox.c:682
msgid "Wrap width for laying out the items in a grid"
msgstr "Wrap width for laying out the items in a grid"
-#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383
+#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:383
msgid "Row span column"
msgstr "Row span column"
-#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384
+#: ../gtk/gtkcombobox.c:705 ../gtk/gtktreemenu.c:384
msgid "TreeModel column containing the row span values"
msgstr "TreeModel column containing the row span values"
-#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404
+#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:404
msgid "Column span column"
msgstr "Column span column"
-#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405
+#: ../gtk/gtkcombobox.c:727 ../gtk/gtktreemenu.c:405
msgid "TreeModel column containing the column span values"
msgstr "TreeModel column containing the column span values"
-#: ../gtk/gtkcombobox.c:747
+#: ../gtk/gtkcombobox.c:748
msgid "Active item"
msgstr "Active item"
-#: ../gtk/gtkcombobox.c:748
+#: ../gtk/gtkcombobox.c:749
msgid "The item which is currently active"
msgstr "The item which is currently active"
-#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:479
+#: ../gtk/gtkcombobox.c:768 ../gtk/gtkuimanager.c:479
msgid "Add tearoffs to menus"
msgstr "Add tearoffs to menus"
-#: ../gtk/gtkcombobox.c:768
+#: ../gtk/gtkcombobox.c:769
msgid "Whether dropdowns should have a tearoff menu item"
msgstr "Whether dropdowns should have a tearoff menu item"
-#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:783
+#: ../gtk/gtkcombobox.c:784 ../gtk/gtkentry.c:786
msgid "Has Frame"
msgstr "Has Frame"
-#: ../gtk/gtkcombobox.c:784
+#: ../gtk/gtkcombobox.c:785
msgid "Whether the combo box draws a frame around the child"
msgstr "Whether the combo box draws a frame around the child"
-#: ../gtk/gtkcombobox.c:792
+#: ../gtk/gtkcombobox.c:793
msgid "Whether the combo box grabs focus when it is clicked with the mouse"
msgstr "Whether the combo box grabs focus when it is clicked with the mouse"
-#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:642
+#: ../gtk/gtkcombobox.c:808 ../gtk/gtkmenu.c:643
msgid "Tearoff Title"
msgstr "Tearoff Title"
-#: ../gtk/gtkcombobox.c:808
+#: ../gtk/gtkcombobox.c:809
msgid ""
"A title that may be displayed by the window manager when the popup is torn-"
"off"
"A title that may be displayed by the window manager when the popup is torn-"
"off"
-#: ../gtk/gtkcombobox.c:825
+#: ../gtk/gtkcombobox.c:826
msgid "Popup shown"
msgstr "Popup shown"
-#: ../gtk/gtkcombobox.c:826
+#: ../gtk/gtkcombobox.c:827
msgid "Whether the combo's dropdown is shown"
msgstr "Whether the combo's dropdown is shown"
-#: ../gtk/gtkcombobox.c:842
+#: ../gtk/gtkcombobox.c:843
msgid "Button Sensitivity"
msgstr "Button Sensitivity"
-#: ../gtk/gtkcombobox.c:843
+#: ../gtk/gtkcombobox.c:844
msgid "Whether the dropdown button is sensitive when the model is empty"
msgstr "Whether the dropdown button is sensitive when the model is empty"
-#: ../gtk/gtkcombobox.c:859
+#: ../gtk/gtkcombobox.c:860
msgid "Whether combo box has an entry"
msgstr "Whether combo box has an entry"
-#: ../gtk/gtkcombobox.c:874
+#: ../gtk/gtkcombobox.c:875
msgid "Entry Text Column"
msgstr "Entry Text Column"
-#: ../gtk/gtkcombobox.c:875
+#: ../gtk/gtkcombobox.c:876
msgid ""
"The column in the combo box's model to associate with strings from the entry "
"if the combo was created with #GtkComboBox:has-entry = %TRUE"
"The column in the combo box's model to associate with strings from the entry "
"if the combo was created with #GtkComboBox:has-entry = %TRUE"
-#: ../gtk/gtkcombobox.c:892
+#: ../gtk/gtkcombobox.c:893
msgid "ID Column"
msgstr "ID Column"
-#: ../gtk/gtkcombobox.c:893
+#: ../gtk/gtkcombobox.c:894
msgid ""
"The column in the combo box's model that provides string IDs for the values "
"in the model"
"The column in the combo box's model that provides string IDs for the values "
"in the model"
-#: ../gtk/gtkcombobox.c:908
+#: ../gtk/gtkcombobox.c:909
msgid "Active id"
msgstr "Active id"
-#: ../gtk/gtkcombobox.c:909
+#: ../gtk/gtkcombobox.c:910
msgid "The value of the id column for the active row"
msgstr "The value of the id column for the active row"
-#: ../gtk/gtkcombobox.c:924
+#: ../gtk/gtkcombobox.c:925
msgid "Popup Fixed Width"
msgstr "Popup Fixed Width"
-#: ../gtk/gtkcombobox.c:925
+#: ../gtk/gtkcombobox.c:926
msgid ""
"Whether the popup's width should be a fixed width matching the allocated "
"width of the combo box"
"Whether the popup's width should be a fixed width matching the allocated "
"width of the combo box"
-#: ../gtk/gtkcombobox.c:951
+#: ../gtk/gtkcombobox.c:952
msgid "Appears as list"
msgstr "Appears as list"
-#: ../gtk/gtkcombobox.c:952
+#: ../gtk/gtkcombobox.c:953
msgid "Whether dropdowns should look like lists rather than menus"
msgstr "Whether dropdowns should look like lists rather than menus"
-#: ../gtk/gtkcombobox.c:968
+#: ../gtk/gtkcombobox.c:969
msgid "Arrow Size"
msgstr "Arrow Size"
-#: ../gtk/gtkcombobox.c:969
+#: ../gtk/gtkcombobox.c:970
msgid "The minimum size of the arrow in the combo box"
msgstr "The minimum size of the arrow in the combo box"
-#: ../gtk/gtkcombobox.c:986
+#: ../gtk/gtkcombobox.c:987
msgid "The amount of space used by the arrow"
msgstr "The amount of space used by the arrow"
-#: ../gtk/gtkcombobox.c:1001 ../gtk/gtkentry.c:883 ../gtk/gtkhandlebox.c:218
-#: ../gtk/gtkmenubar.c:216 ../gtk/gtkstatusbar.c:181 ../gtk/gtktoolbar.c:604
+#: ../gtk/gtkcombobox.c:1002 ../gtk/gtkentry.c:886 ../gtk/gtkhandlebox.c:218
+#: ../gtk/gtkmenubar.c:217 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:611
#: ../gtk/gtkviewport.c:153
msgid "Shadow type"
msgstr "Shadow type"
-#: ../gtk/gtkcombobox.c:1002
+#: ../gtk/gtkcombobox.c:1003
msgid "Which kind of shadow to draw around the combo box"
msgstr "Which kind of shadow to draw around the combo box"
msgid "Width of border around the button area at the bottom of the dialog"
msgstr "Width of border around the button area at the bottom of the dialog"
-#: ../gtk/gtkentry.c:730
+#: ../gtk/gtkentrybuffer.c:353
+msgid "The contents of the buffer"
+msgstr "The contents of the buffer"
+
+#: ../gtk/gtkentrybuffer.c:367 ../gtk/gtkentry.c:917
+msgid "Text length"
+msgstr "Text length"
+
+#: ../gtk/gtkentrybuffer.c:368
+msgid "Length of the text currently in the buffer"
+msgstr "Length of the text currently in the buffer"
+
+#: ../gtk/gtkentrybuffer.c:382 ../gtk/gtkentry.c:769
+msgid "Maximum length"
+msgstr "Maximum length"
+
+#: ../gtk/gtkentrybuffer.c:383 ../gtk/gtkentry.c:770
+msgid "Maximum number of characters for this entry. Zero if no maximum"
+msgstr "Maximum number of characters for this entry. Zero if no maximum"
+
+#: ../gtk/gtkentry.c:733
msgid "Text Buffer"
msgstr "Text Buffer"
-#: ../gtk/gtkentry.c:731
+#: ../gtk/gtkentry.c:734
msgid "Text buffer object which actually stores entry text"
msgstr "Text buffer object which actually stores entry text"
-#: ../gtk/gtkentry.c:738 ../gtk/gtklabel.c:837
+#: ../gtk/gtkentry.c:741 ../gtk/gtklabel.c:839
msgid "Cursor Position"
msgstr "Cursor Position"
-#: ../gtk/gtkentry.c:739 ../gtk/gtklabel.c:838
+#: ../gtk/gtkentry.c:742 ../gtk/gtklabel.c:840
msgid "The current position of the insertion cursor in chars"
msgstr "The current position of the insertion cursor in chars"
-#: ../gtk/gtkentry.c:748 ../gtk/gtklabel.c:847
+#: ../gtk/gtkentry.c:751 ../gtk/gtklabel.c:849
msgid "Selection Bound"
msgstr "Selection Bound"
-#: ../gtk/gtkentry.c:749 ../gtk/gtklabel.c:848
+#: ../gtk/gtkentry.c:752 ../gtk/gtklabel.c:850
msgid ""
"The position of the opposite end of the selection from the cursor in chars"
msgstr ""
"The position of the opposite end of the selection from the cursor in chars"
-#: ../gtk/gtkentry.c:759
+#: ../gtk/gtkentry.c:762
msgid "Whether the entry contents can be edited"
msgstr "Whether the entry contents can be edited"
-#: ../gtk/gtkentry.c:766 ../gtk/gtkentrybuffer.c:382
-msgid "Maximum length"
-msgstr "Maximum length"
-
-#: ../gtk/gtkentry.c:767 ../gtk/gtkentrybuffer.c:383
-msgid "Maximum number of characters for this entry. Zero if no maximum"
-msgstr "Maximum number of characters for this entry. Zero if no maximum"
-
-#: ../gtk/gtkentry.c:775
+#: ../gtk/gtkentry.c:778
msgid "Visibility"
msgstr "Visibility"
-#: ../gtk/gtkentry.c:776
+#: ../gtk/gtkentry.c:779
msgid ""
"FALSE displays the \"invisible char\" instead of the actual text (password "
"mode)"
"FALSE displays the \"invisible char\" instead of the actual text (password "
"mode)"
-#: ../gtk/gtkentry.c:784
+#: ../gtk/gtkentry.c:787
msgid "FALSE removes outside bevel from entry"
msgstr "FALSE removes outside bevel from entry"
-#: ../gtk/gtkentry.c:792
+#: ../gtk/gtkentry.c:795
msgid ""
"Border between text and frame. Overrides the inner-border style property"
msgstr ""
"Border between text and frame. Overrides the inner-border style property"
-#: ../gtk/gtkentry.c:799 ../gtk/gtkentry.c:1395
+#: ../gtk/gtkentry.c:802 ../gtk/gtkentry.c:1398
msgid "Invisible character"
msgstr "Invisible character"
-#: ../gtk/gtkentry.c:800 ../gtk/gtkentry.c:1396
+#: ../gtk/gtkentry.c:803 ../gtk/gtkentry.c:1399
msgid "The character to use when masking entry contents (in \"password mode\")"
msgstr ""
"The character to use when masking entry contents (in \"password mode\")"
-#: ../gtk/gtkentry.c:807
+#: ../gtk/gtkentry.c:810
msgid "Activates default"
msgstr "Activates default"
-#: ../gtk/gtkentry.c:808
+#: ../gtk/gtkentry.c:811
msgid ""
"Whether to activate the default widget (such as the default button in a "
"dialog) when Enter is pressed"
"Whether to activate the default widget (such as the default button in a "
"dialog) when Enter is pressed"
-#: ../gtk/gtkentry.c:814
+#: ../gtk/gtkentry.c:817
msgid "Width in chars"
msgstr "Width in chars"
-#: ../gtk/gtkentry.c:815
+#: ../gtk/gtkentry.c:818
msgid "Number of characters to leave space for in the entry"
msgstr "Number of characters to leave space for in the entry"
-#: ../gtk/gtkentry.c:824
+#: ../gtk/gtkentry.c:827
msgid "Scroll offset"
msgstr "Scroll offset"
-#: ../gtk/gtkentry.c:825
+#: ../gtk/gtkentry.c:828
msgid "Number of pixels of the entry scrolled off the screen to the left"
msgstr "Number of pixels of the entry scrolled off the screen to the left"
-#: ../gtk/gtkentry.c:835
+#: ../gtk/gtkentry.c:838
msgid "The contents of the entry"
msgstr "The contents of the entry"
-#: ../gtk/gtkentry.c:850 ../gtk/gtkmisc.c:105
+#: ../gtk/gtkentry.c:853 ../gtk/gtkmisc.c:105
msgid "X align"
msgstr "X align"
-#: ../gtk/gtkentry.c:851 ../gtk/gtkmisc.c:106
+#: ../gtk/gtkentry.c:854 ../gtk/gtkmisc.c:106
msgid ""
"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL "
"layouts."
"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL "
"layouts."
-#: ../gtk/gtkentry.c:867
+#: ../gtk/gtkentry.c:870
msgid "Truncate multiline"
msgstr "Truncate multiline"
-#: ../gtk/gtkentry.c:868
+#: ../gtk/gtkentry.c:871
msgid "Whether to truncate multiline pastes to one line."
msgstr "Whether to truncate multiline pastes to one line."
-#: ../gtk/gtkentry.c:884
+#: ../gtk/gtkentry.c:887
msgid "Which kind of shadow to draw around the entry when has-frame is set"
msgstr "Which kind of shadow to draw around the entry when has-frame is set"
-#: ../gtk/gtkentry.c:899 ../gtk/gtktextview.c:767
+#: ../gtk/gtkentry.c:902 ../gtk/gtktextview.c:766
msgid "Overwrite mode"
msgstr "Overwrite mode"
-#: ../gtk/gtkentry.c:900
+#: ../gtk/gtkentry.c:903
msgid "Whether new text overwrites existing text"
msgstr "Whether new text overwrites existing text"
-#: ../gtk/gtkentry.c:914 ../gtk/gtkentrybuffer.c:367
-msgid "Text length"
-msgstr "Text length"
-
-#: ../gtk/gtkentry.c:915
+#: ../gtk/gtkentry.c:918
msgid "Length of the text currently in the entry"
msgstr "Length of the text currently in the entry"
-#: ../gtk/gtkentry.c:930
+#: ../gtk/gtkentry.c:933
msgid "Invisible character set"
msgstr "Invisible character set"
-#: ../gtk/gtkentry.c:931
+#: ../gtk/gtkentry.c:934
msgid "Whether the invisible character has been set"
msgstr "Whether the invisible character has been set"
-#: ../gtk/gtkentry.c:949
+#: ../gtk/gtkentry.c:952
msgid "Caps Lock warning"
msgstr "Caps Lock warning"
-#: ../gtk/gtkentry.c:950
+#: ../gtk/gtkentry.c:953
msgid "Whether password entries will show a warning when Caps Lock is on"
msgstr "Whether password entries will show a warning when Caps Lock is on"
-#: ../gtk/gtkentry.c:964
+#: ../gtk/gtkentry.c:967
msgid "Progress Fraction"
msgstr "Progress Fraction"
-#: ../gtk/gtkentry.c:965
+#: ../gtk/gtkentry.c:968
msgid "The current fraction of the task that's been completed"
msgstr "The current fraction of the task that's been completed"
-#: ../gtk/gtkentry.c:982
+#: ../gtk/gtkentry.c:985
msgid "Progress Pulse Step"
msgstr "Progress Pulse Step"
-#: ../gtk/gtkentry.c:983
+#: ../gtk/gtkentry.c:986
msgid ""
"The fraction of total entry width to move the progress bouncing block for "
"each call to gtk_entry_progress_pulse()"
"The fraction of total entry width to move the progress bouncing block for "
"each call to gtk_entry_progress_pulse()"
-#: ../gtk/gtkentry.c:999
+#: ../gtk/gtkentry.c:1002
msgid "Placeholder text"
msgstr "Placeholder text"
-#: ../gtk/gtkentry.c:1000
+#: ../gtk/gtkentry.c:1003
msgid "Show text in the entry when it's empty and unfocused"
msgstr "Show text in the entry when it's empty and unfocused"
-#: ../gtk/gtkentry.c:1014
+#: ../gtk/gtkentry.c:1017
msgid "Primary pixbuf"
msgstr "Primary pixbuf"
-#: ../gtk/gtkentry.c:1015
+#: ../gtk/gtkentry.c:1018
msgid "Primary pixbuf for the entry"
msgstr "Primary pixbuf for the entry"
-#: ../gtk/gtkentry.c:1029
+#: ../gtk/gtkentry.c:1032
msgid "Secondary pixbuf"
msgstr "Secondary pixbuf"
-#: ../gtk/gtkentry.c:1030
+#: ../gtk/gtkentry.c:1033
msgid "Secondary pixbuf for the entry"
msgstr "Secondary pixbuf for the entry"
-#: ../gtk/gtkentry.c:1044
+#: ../gtk/gtkentry.c:1047
msgid "Primary stock ID"
msgstr "Primary stock ID"
-#: ../gtk/gtkentry.c:1045
+#: ../gtk/gtkentry.c:1048
msgid "Stock ID for primary icon"
msgstr "Stock ID for primary icon"
-#: ../gtk/gtkentry.c:1059
+#: ../gtk/gtkentry.c:1062
msgid "Secondary stock ID"
msgstr "Secondary stock ID"
-#: ../gtk/gtkentry.c:1060
+#: ../gtk/gtkentry.c:1063
msgid "Stock ID for secondary icon"
msgstr "Stock ID for secondary icon"
-#: ../gtk/gtkentry.c:1074
+#: ../gtk/gtkentry.c:1077
msgid "Primary icon name"
msgstr "Primary icon name"
-#: ../gtk/gtkentry.c:1075
+#: ../gtk/gtkentry.c:1078
msgid "Icon name for primary icon"
msgstr "Icon name for primary icon"
-#: ../gtk/gtkentry.c:1089
+#: ../gtk/gtkentry.c:1092
msgid "Secondary icon name"
msgstr "Secondary icon name"
-#: ../gtk/gtkentry.c:1090
+#: ../gtk/gtkentry.c:1093
msgid "Icon name for secondary icon"
msgstr "Icon name for secondary icon"
-#: ../gtk/gtkentry.c:1104
+#: ../gtk/gtkentry.c:1107
msgid "Primary GIcon"
msgstr "Primary GIcon"
-#: ../gtk/gtkentry.c:1105
+#: ../gtk/gtkentry.c:1108
msgid "GIcon for primary icon"
msgstr "GIcon for primary icon"
-#: ../gtk/gtkentry.c:1119
+#: ../gtk/gtkentry.c:1122
msgid "Secondary GIcon"
msgstr "Secondary GIcon"
-#: ../gtk/gtkentry.c:1120
+#: ../gtk/gtkentry.c:1123
msgid "GIcon for secondary icon"
msgstr "GIcon for secondary icon"
-#: ../gtk/gtkentry.c:1134
+#: ../gtk/gtkentry.c:1137
msgid "Primary storage type"
msgstr "Primary storage type"
-#: ../gtk/gtkentry.c:1135
+#: ../gtk/gtkentry.c:1138
msgid "The representation being used for primary icon"
msgstr "The representation being used for primary icon"
-#: ../gtk/gtkentry.c:1150
+#: ../gtk/gtkentry.c:1153
msgid "Secondary storage type"
msgstr "Secondary storage type"
-#: ../gtk/gtkentry.c:1151
+#: ../gtk/gtkentry.c:1154
msgid "The representation being used for secondary icon"
msgstr "The representation being used for secondary icon"
-#: ../gtk/gtkentry.c:1172
+#: ../gtk/gtkentry.c:1175
msgid "Primary icon activatable"
msgstr "Primary icon activatable"
-#: ../gtk/gtkentry.c:1173
+#: ../gtk/gtkentry.c:1176
msgid "Whether the primary icon is activatable"
msgstr "Whether the primary icon is activatable"
-#: ../gtk/gtkentry.c:1193
+#: ../gtk/gtkentry.c:1196
msgid "Secondary icon activatable"
msgstr "Secondary icon activatable"
-#: ../gtk/gtkentry.c:1194
+#: ../gtk/gtkentry.c:1197
msgid "Whether the secondary icon is activatable"
msgstr "Whether the secondary icon is activatable"
-#: ../gtk/gtkentry.c:1216
+#: ../gtk/gtkentry.c:1219
msgid "Primary icon sensitive"
msgstr "Primary icon sensitive"
-#: ../gtk/gtkentry.c:1217
+#: ../gtk/gtkentry.c:1220
msgid "Whether the primary icon is sensitive"
msgstr "Whether the primary icon is sensitive"
-#: ../gtk/gtkentry.c:1238
+#: ../gtk/gtkentry.c:1241
msgid "Secondary icon sensitive"
msgstr "Secondary icon sensitive"
-#: ../gtk/gtkentry.c:1239
+#: ../gtk/gtkentry.c:1242
msgid "Whether the secondary icon is sensitive"
msgstr "Whether the secondary icon is sensitive"
-#: ../gtk/gtkentry.c:1255
+#: ../gtk/gtkentry.c:1258
msgid "Primary icon tooltip text"
msgstr "Primary icon tooltip text"
-#: ../gtk/gtkentry.c:1256 ../gtk/gtkentry.c:1292
+#: ../gtk/gtkentry.c:1259 ../gtk/gtkentry.c:1295
msgid "The contents of the tooltip on the primary icon"
msgstr "The contents of the tooltip on the primary icon"
-#: ../gtk/gtkentry.c:1272
+#: ../gtk/gtkentry.c:1275
msgid "Secondary icon tooltip text"
msgstr "Secondary icon tooltip text"
-#: ../gtk/gtkentry.c:1273 ../gtk/gtkentry.c:1311
+#: ../gtk/gtkentry.c:1276 ../gtk/gtkentry.c:1314
msgid "The contents of the tooltip on the secondary icon"
msgstr "The contents of the tooltip on the secondary icon"
-#: ../gtk/gtkentry.c:1291
+#: ../gtk/gtkentry.c:1294
msgid "Primary icon tooltip markup"
msgstr "Primary icon tooltip markup"
-#: ../gtk/gtkentry.c:1310
+#: ../gtk/gtkentry.c:1313
msgid "Secondary icon tooltip markup"
msgstr "Secondary icon tooltip markup"
-#: ../gtk/gtkentry.c:1330 ../gtk/gtktextview.c:795
+#: ../gtk/gtkentry.c:1333 ../gtk/gtktextview.c:794
msgid "IM module"
msgstr "IM module"
-#: ../gtk/gtkentry.c:1331 ../gtk/gtktextview.c:796
+#: ../gtk/gtkentry.c:1334 ../gtk/gtktextview.c:795
msgid "Which IM module should be used"
msgstr "Which IM module should be used"
-#: ../gtk/gtkentry.c:1345
+#: ../gtk/gtkentry.c:1348
msgid "Completion"
msgstr "Completion"
-#: ../gtk/gtkentry.c:1346
+#: ../gtk/gtkentry.c:1349
msgid "The auxiliary completion object"
msgstr "The auxiliary completion object"
-#: ../gtk/gtkentry.c:1360
+#: ../gtk/gtkentry.c:1363
msgid "Icon Prelight"
msgstr "Icon Prelight"
-#: ../gtk/gtkentry.c:1361
+#: ../gtk/gtkentry.c:1364
msgid "Whether activatable icons should prelight when hovered"
msgstr "Whether activatable icons should prelight when hovered"
-#: ../gtk/gtkentry.c:1374
+#: ../gtk/gtkentry.c:1377
msgid "Progress Border"
msgstr "Progress Border"
-#: ../gtk/gtkentry.c:1375
+#: ../gtk/gtkentry.c:1378
msgid "Border around the progress bar"
msgstr "Border around the progress bar"
-#: ../gtk/gtkentry.c:1867
+#: ../gtk/gtkentry.c:1870
msgid "Border between text and frame."
msgstr "Border between text and frame."
-#: ../gtk/gtkentrybuffer.c:353
-msgid "The contents of the buffer"
-msgstr "The contents of the buffer"
-
-#: ../gtk/gtkentrybuffer.c:368
-msgid "Length of the text currently in the buffer"
-msgstr "Length of the text currently in the buffer"
-
#: ../gtk/gtkentrycompletion.c:320
msgid "Completion Model"
msgstr "Completion Model"
msgid "Minimum length of the search key in order to look up matches"
msgstr "Minimum length of the search key in order to look up matches"
-#: ../gtk/gtkentrycompletion.c:344 ../gtk/gtkiconview.c:565
+#: ../gtk/gtkentrycompletion.c:344 ../gtk/gtkiconview.c:564
msgid "Text column"
msgstr "Text column"
"Whether the event-trapping window of the eventbox is above the window of the "
"child widget as opposed to below it."
-#: ../gtk/gtkexpander.c:281
+#: ../gtk/gtkexpander.c:282
msgid "Expanded"
msgstr "Expanded"
-#: ../gtk/gtkexpander.c:282
+#: ../gtk/gtkexpander.c:283
msgid "Whether the expander has been opened to reveal the child widget"
msgstr "Whether the expander has been opened to reveal the child widget"
-#: ../gtk/gtkexpander.c:290
+#: ../gtk/gtkexpander.c:291
msgid "Text of the expander's label"
msgstr "Text of the expander's label"
-#: ../gtk/gtkexpander.c:305 ../gtk/gtklabel.c:756
+#: ../gtk/gtkexpander.c:306 ../gtk/gtklabel.c:758
msgid "Use markup"
msgstr "Use markup"
-#: ../gtk/gtkexpander.c:306 ../gtk/gtklabel.c:757
+#: ../gtk/gtkexpander.c:307 ../gtk/gtklabel.c:759
msgid "The text of the label includes XML markup. See pango_parse_markup()"
msgstr "The text of the label includes XML markup. See pango_parse_markup()"
-#: ../gtk/gtkexpander.c:314
+#: ../gtk/gtkexpander.c:315
msgid "Space to put between the label and the child"
msgstr "Space to put between the label and the child"
-#: ../gtk/gtkexpander.c:323 ../gtk/gtkframe.c:205 ../gtk/gtktoolbutton.c:246
-#: ../gtk/gtktoolitemgroup.c:1598
+#: ../gtk/gtkexpander.c:324 ../gtk/gtkframe.c:206 ../gtk/gtktoolbutton.c:246
+#: ../gtk/gtktoolitemgroup.c:1599
msgid "Label widget"
msgstr "Label widget"
-#: ../gtk/gtkexpander.c:324
+#: ../gtk/gtkexpander.c:325
msgid "A widget to display in place of the usual expander label"
msgstr "A widget to display in place of the usual expander label"
-#: ../gtk/gtkexpander.c:331
+#: ../gtk/gtkexpander.c:332
msgid "Label fill"
msgstr "Label fill"
-#: ../gtk/gtkexpander.c:332
+#: ../gtk/gtkexpander.c:333
msgid "Whether the label widget should fill all available horizontal space"
msgstr "Whether the label widget should fill all available horizontal space"
-#: ../gtk/gtkexpander.c:347
+#: ../gtk/gtkexpander.c:348
msgid "Resize tolevel"
msgstr "Resize tolevel"
-#: ../gtk/gtkexpander.c:348
+#: ../gtk/gtkexpander.c:349
msgid ""
"Whether the expander will resize the toplevel window upon expanding and "
"collapsing"
"Whether the expander will resize the toplevel window upon expanding and "
"collapsing"
-#: ../gtk/gtkexpander.c:354 ../gtk/gtktoolitemgroup.c:1626
-#: ../gtk/gtktreeview.c:1186
+#: ../gtk/gtkexpander.c:355 ../gtk/gtktoolitemgroup.c:1627
+#: ../gtk/gtktreeview.c:1187
msgid "Expander Size"
msgstr "Expander Size"
-#: ../gtk/gtkexpander.c:355 ../gtk/gtktoolitemgroup.c:1627
-#: ../gtk/gtktreeview.c:1187
+#: ../gtk/gtkexpander.c:356 ../gtk/gtktoolitemgroup.c:1628
+#: ../gtk/gtktreeview.c:1188
msgid "Size of the expander arrow"
msgstr "Size of the expander arrow"
-#: ../gtk/gtkexpander.c:364
+#: ../gtk/gtkexpander.c:365
msgid "Spacing around expander arrow"
msgstr "Spacing around expander arrow"
msgid "The title of the font selection dialog"
msgstr "The title of the font selection dialog"
-#: ../gtk/gtkfontbutton.c:167 ../gtk/gtkfontsel.c:239
+#: ../gtk/gtkfontbutton.c:167 ../gtk/gtkfontsel.c:238
msgid "Font name"
msgstr "Font name"
msgid "Whether selected font size is shown in the label"
msgstr "Whether selected font size is shown in the label"
-#: ../gtk/gtkfontsel.c:240
+#: ../gtk/gtkfontsel.c:239
msgid "The string that represents this font"
msgstr "The string that represents this font"
-#: ../gtk/gtkfontsel.c:246
+#: ../gtk/gtkfontsel.c:245
msgid "Preview text"
msgstr "Preview text"
-#: ../gtk/gtkfontsel.c:247
+#: ../gtk/gtkfontsel.c:246
msgid "The text to display in order to demonstrate the selected font"
msgstr "The text to display in order to demonstrate the selected font"
-#: ../gtk/gtkframe.c:171
+#: ../gtk/gtkframe.c:172
msgid "Text of the frame's label"
msgstr "Text of the frame's label"
-#: ../gtk/gtkframe.c:178
+#: ../gtk/gtkframe.c:179
msgid "Label xalign"
msgstr "Label xalign"
-#: ../gtk/gtkframe.c:179
+#: ../gtk/gtkframe.c:180
msgid "The horizontal alignment of the label"
msgstr "The horizontal alignment of the label"
-#: ../gtk/gtkframe.c:187
+#: ../gtk/gtkframe.c:188
msgid "Label yalign"
msgstr "Label yalign"
-#: ../gtk/gtkframe.c:188
+#: ../gtk/gtkframe.c:189
msgid "The vertical alignment of the label"
msgstr "The vertical alignment of the label"
-#: ../gtk/gtkframe.c:196
+#: ../gtk/gtkframe.c:197
msgid "Frame shadow"
msgstr "Frame shadow"
-#: ../gtk/gtkframe.c:197
+#: ../gtk/gtkframe.c:198
msgid "Appearance of the frame border"
msgstr "Appearance of the frame border"
-#: ../gtk/gtkframe.c:206
+#: ../gtk/gtkframe.c:207
msgid "A widget to display in place of the usual frame label"
msgstr "A widget to display in place of the usual frame label"
msgid "Left attachment"
msgstr "Left attachment"
-#: ../gtk/gtkgrid.c:1327 ../gtk/gtkmenu.c:760 ../gtk/gtktable.c:236
+#: ../gtk/gtkgrid.c:1327 ../gtk/gtkmenu.c:761 ../gtk/gtktable.c:236
msgid "The column number to attach the left side of the child to"
msgstr "The column number to attach the left side of the child to"
"A boolean value indicating whether the handlebox's child is attached or "
"detached."
-#: ../gtk/gtkiconview.c:528 ../gtk/gtktreeselection.c:131
+#: ../gtk/gtkiconview.c:527 ../gtk/gtktreeselection.c:131
msgid "Selection mode"
msgstr "Selection mode"
-#: ../gtk/gtkiconview.c:529
+#: ../gtk/gtkiconview.c:528
msgid "The selection mode"
msgstr "The selection mode"
-#: ../gtk/gtkiconview.c:547
+#: ../gtk/gtkiconview.c:546
msgid "Pixbuf column"
msgstr "Pixbuf column"
-#: ../gtk/gtkiconview.c:548
+#: ../gtk/gtkiconview.c:547
msgid "Model column used to retrieve the icon pixbuf from"
msgstr "Model column used to retrieve the icon pixbuf from"
-#: ../gtk/gtkiconview.c:566
+#: ../gtk/gtkiconview.c:565
msgid "Model column used to retrieve the text from"
msgstr "Model column used to retrieve the text from"
-#: ../gtk/gtkiconview.c:585
+#: ../gtk/gtkiconview.c:584
msgid "Markup column"
msgstr "Markup column"
-#: ../gtk/gtkiconview.c:586
+#: ../gtk/gtkiconview.c:585
msgid "Model column used to retrieve the text if using Pango markup"
msgstr "Model column used to retrieve the text if using Pango markup"
-#: ../gtk/gtkiconview.c:593
+#: ../gtk/gtkiconview.c:592
msgid "Icon View Model"
msgstr "Icon View Model"
-#: ../gtk/gtkiconview.c:594
+#: ../gtk/gtkiconview.c:593
msgid "The model for the icon view"
msgstr "The model for the icon view"
-#: ../gtk/gtkiconview.c:610
+#: ../gtk/gtkiconview.c:609
msgid "Number of columns"
msgstr "Number of columns"
-#: ../gtk/gtkiconview.c:611
+#: ../gtk/gtkiconview.c:610
msgid "Number of columns to display"
msgstr "Number of columns to display"
-#: ../gtk/gtkiconview.c:628
+#: ../gtk/gtkiconview.c:627
msgid "Width for each item"
msgstr "Width for each item"
-#: ../gtk/gtkiconview.c:629
+#: ../gtk/gtkiconview.c:628
msgid "The width used for each item"
msgstr "The width used for each item"
-#: ../gtk/gtkiconview.c:645
+#: ../gtk/gtkiconview.c:644
msgid "Space which is inserted between cells of an item"
msgstr "Space which is inserted between cells of an item"
-#: ../gtk/gtkiconview.c:660
+#: ../gtk/gtkiconview.c:659
msgid "Row Spacing"
msgstr "Row Spacing"
-#: ../gtk/gtkiconview.c:661
+#: ../gtk/gtkiconview.c:660
msgid "Space which is inserted between grid rows"
msgstr "Space which is inserted between grid rows"
-#: ../gtk/gtkiconview.c:676
+#: ../gtk/gtkiconview.c:675
msgid "Column Spacing"
msgstr "Column Spacing"
-#: ../gtk/gtkiconview.c:677
+#: ../gtk/gtkiconview.c:676
msgid "Space which is inserted between grid columns"
msgstr "Space which is inserted between grid columns"
-#: ../gtk/gtkiconview.c:692
+#: ../gtk/gtkiconview.c:691
msgid "Margin"
msgstr "Margin"
-#: ../gtk/gtkiconview.c:693
+#: ../gtk/gtkiconview.c:692
msgid "Space which is inserted at the edges of the icon view"
msgstr "Space which is inserted at the edges of the icon view"
-#: ../gtk/gtkiconview.c:708
+#: ../gtk/gtkiconview.c:707
msgid "Item Orientation"
msgstr "Item Orientation"
-#: ../gtk/gtkiconview.c:709
+#: ../gtk/gtkiconview.c:708
msgid ""
"How the text and icon of each item are positioned relative to each other"
msgstr ""
"How the text and icon of each item are positioned relative to each other"
-#: ../gtk/gtkiconview.c:725 ../gtk/gtktreeview.c:1021
+#: ../gtk/gtkiconview.c:724 ../gtk/gtktreeview.c:1022
#: ../gtk/gtktreeviewcolumn.c:374
msgid "Reorderable"
msgstr "Reorderable"
-#: ../gtk/gtkiconview.c:726 ../gtk/gtktreeview.c:1022
+#: ../gtk/gtkiconview.c:725 ../gtk/gtktreeview.c:1023
msgid "View is reorderable"
msgstr "View is reorderable"
-#: ../gtk/gtkiconview.c:733 ../gtk/gtktreeview.c:1172
+#: ../gtk/gtkiconview.c:732 ../gtk/gtktreeview.c:1173
msgid "Tooltip Column"
msgstr "Tooltip Column"
-#: ../gtk/gtkiconview.c:734
+#: ../gtk/gtkiconview.c:733
msgid "The column in the model containing the tooltip texts for the items"
msgstr "The column in the model containing the tooltip texts for the items"
-#: ../gtk/gtkiconview.c:751
+#: ../gtk/gtkiconview.c:750
msgid "Item Padding"
msgstr "Item Padding"
-#: ../gtk/gtkiconview.c:752
+#: ../gtk/gtkiconview.c:751
msgid "Padding around icon view items"
msgstr "Padding around icon view items"
-#: ../gtk/gtkiconview.c:783
+#: ../gtk/gtkiconview.c:782
msgid "Selection Box Color"
msgstr "Selection Box Color"
-#: ../gtk/gtkiconview.c:784
+#: ../gtk/gtkiconview.c:783
msgid "Color of the selection box"
msgstr "Color of the selection box"
-#: ../gtk/gtkiconview.c:790
+#: ../gtk/gtkiconview.c:789
msgid "Selection Box Alpha"
msgstr "Selection Box Alpha"
-#: ../gtk/gtkiconview.c:791
+#: ../gtk/gtkiconview.c:790
msgid "Opacity of the selection box"
msgstr "Opacity of the selection box"
-#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:235
+#: ../gtk/gtkimage.c:237 ../gtk/gtkstatusicon.c:235
msgid "Pixbuf"
msgstr "Pixbuf"
-#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:236
+#: ../gtk/gtkimage.c:238 ../gtk/gtkstatusicon.c:236
msgid "A GdkPixbuf to display"
msgstr "A GdkPixbuf to display"
-#: ../gtk/gtkimage.c:243 ../gtk/gtkrecentmanager.c:294
+#: ../gtk/gtkimage.c:245 ../gtk/gtkrecentmanager.c:294
#: ../gtk/gtkstatusicon.c:243
msgid "Filename"
msgstr "Filename"
-#: ../gtk/gtkimage.c:244 ../gtk/gtkstatusicon.c:244
+#: ../gtk/gtkimage.c:246 ../gtk/gtkstatusicon.c:244
msgid "Filename to load and display"
msgstr "Filename to load and display"
-#: ../gtk/gtkimage.c:253 ../gtk/gtkstatusicon.c:252
+#: ../gtk/gtkimage.c:255 ../gtk/gtkstatusicon.c:252
msgid "Stock ID for a stock image to display"
msgstr "Stock ID for a stock image to display"
-#: ../gtk/gtkimage.c:260
+#: ../gtk/gtkimage.c:262
msgid "Icon set"
msgstr "Icon set"
-#: ../gtk/gtkimage.c:261
+#: ../gtk/gtkimage.c:263
msgid "Icon set to display"
msgstr "Icon set to display"
-#: ../gtk/gtkimage.c:268 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:521
-#: ../gtk/gtktoolpalette.c:1006
+#: ../gtk/gtkimage.c:270 ../gtk/gtkscalebutton.c:228 ../gtk/gtktoolbar.c:528
+#: ../gtk/gtktoolpalette.c:1008
msgid "Icon size"
msgstr "Icon size"
-#: ../gtk/gtkimage.c:269
+#: ../gtk/gtkimage.c:271
msgid "Symbolic size to use for stock icon, icon set or named icon"
msgstr "Symbolic size to use for stock icon, icon set or named icon"
-#: ../gtk/gtkimage.c:285
+#: ../gtk/gtkimage.c:287
msgid "Pixel size"
msgstr "Pixel size"
-#: ../gtk/gtkimage.c:286
+#: ../gtk/gtkimage.c:288
msgid "Pixel size to use for named icon"
msgstr "Pixel size to use for named icon"
-#: ../gtk/gtkimage.c:294
+#: ../gtk/gtkimage.c:296
msgid "Animation"
msgstr "Animation"
-#: ../gtk/gtkimage.c:295
+#: ../gtk/gtkimage.c:297
msgid "GdkPixbufAnimation to display"
msgstr "GdkPixbufAnimation to display"
-#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:283
+#: ../gtk/gtkimage.c:337 ../gtk/gtkstatusicon.c:283
msgid "Storage type"
msgstr "Storage type"
-#: ../gtk/gtkimage.c:336 ../gtk/gtkstatusicon.c:284
+#: ../gtk/gtkimage.c:338 ../gtk/gtkstatusicon.c:284
msgid "The representation being used for image data"
msgstr "The representation being used for image data"
-#: ../gtk/gtkimage.c:354
+#: ../gtk/gtkimage.c:356
msgid "Use Fallback"
msgstr "Use Fallback"
-#: ../gtk/gtkimage.c:355
+#: ../gtk/gtkimage.c:357
msgid "Whether to use icon names fallback"
msgstr "Whether to use icon names fallback"
msgid "Whether to use the label text to create a stock menu item"
msgstr "Whether to use the label text to create a stock menu item"
-#: ../gtk/gtkimagemenuitem.c:209 ../gtk/gtkmenu.c:602
+#: ../gtk/gtkimagemenuitem.c:209 ../gtk/gtkmenu.c:603
msgid "Accel Group"
msgstr "Accel Group"
msgid "Width of border around the action area"
msgstr "Width of border around the action area"
-#: ../gtk/gtkinvisible.c:103 ../gtk/gtkmountoperation.c:174
-#: ../gtk/gtkstatusicon.c:302 ../gtk/gtkstylecontext.c:544
+#: ../gtk/gtkinvisible.c:103 ../gtk/gtkmountoperation.c:173
+#: ../gtk/gtkstatusicon.c:302 ../gtk/gtkstylecontext.c:431
#: ../gtk/gtkwindow.c:732
msgid "Screen"
msgstr "Screen"
msgid "The screen where this window will be displayed"
msgstr "The screen where this window will be displayed"
-#: ../gtk/gtklabel.c:743
+#: ../gtk/gtklabel.c:745
msgid "The text of the label"
msgstr "The text of the label"
-#: ../gtk/gtklabel.c:750
+#: ../gtk/gtklabel.c:752
msgid "A list of style attributes to apply to the text of the label"
msgstr "A list of style attributes to apply to the text of the label"
-#: ../gtk/gtklabel.c:771 ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:704
+#: ../gtk/gtklabel.c:773 ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:703
msgid "Justification"
msgstr "Justification"
-#: ../gtk/gtklabel.c:772
+#: ../gtk/gtklabel.c:774
msgid ""
"The alignment of the lines in the text of the label relative to each other. "
"This does NOT affect the alignment of the label within its allocation. See "
"This does NOT affect the alignment of the label within its allocation. See "
"GtkMisc::xalign for that"
-#: ../gtk/gtklabel.c:780
+#: ../gtk/gtklabel.c:782
msgid "Pattern"
msgstr "Pattern"
-#: ../gtk/gtklabel.c:781
+#: ../gtk/gtklabel.c:783
msgid ""
"A string with _ characters in positions correspond to characters in the text "
"to underline"
"A string with _ characters in positions correspond to characters in the text "
"to underline"
-#: ../gtk/gtklabel.c:788
+#: ../gtk/gtklabel.c:790
msgid "Line wrap"
msgstr "Line wrap"
-#: ../gtk/gtklabel.c:789
+#: ../gtk/gtklabel.c:791
msgid "If set, wrap lines if the text becomes too wide"
msgstr "If set, wrap lines if the text becomes too wide"
-#: ../gtk/gtklabel.c:804
+#: ../gtk/gtklabel.c:806
msgid "Line wrap mode"
msgstr "Line wrap mode"
-#: ../gtk/gtklabel.c:805
+#: ../gtk/gtklabel.c:807
msgid "If wrap is set, controls how linewrapping is done"
msgstr "If wrap is set, controls how linewrapping is done"
-#: ../gtk/gtklabel.c:812
+#: ../gtk/gtklabel.c:814
msgid "Selectable"
msgstr "Selectable"
-#: ../gtk/gtklabel.c:813
+#: ../gtk/gtklabel.c:815
msgid "Whether the label text can be selected with the mouse"
msgstr "Whether the label text can be selected with the mouse"
-#: ../gtk/gtklabel.c:819
+#: ../gtk/gtklabel.c:821
msgid "Mnemonic key"
msgstr "Mnemonic key"
-#: ../gtk/gtklabel.c:820
+#: ../gtk/gtklabel.c:822
msgid "The mnemonic accelerator key for this label"
msgstr "The mnemonic accelerator key for this label"
-#: ../gtk/gtklabel.c:828
+#: ../gtk/gtklabel.c:830
msgid "Mnemonic widget"
msgstr "Mnemonic widget"
-#: ../gtk/gtklabel.c:829
+#: ../gtk/gtklabel.c:831
msgid "The widget to be activated when the label's mnemonic key is pressed"
msgstr "The widget to be activated when the label's mnemonic key is pressed"
-#: ../gtk/gtklabel.c:875
+#: ../gtk/gtklabel.c:877
msgid ""
"The preferred place to ellipsize the string, if the label does not have "
"enough room to display the entire string"
"The preferred place to ellipsize the string, if the label does not have "
"enough room to display the entire string"
-#: ../gtk/gtklabel.c:916
+#: ../gtk/gtklabel.c:918
msgid "Single Line Mode"
msgstr "Single Line Mode"
-#: ../gtk/gtklabel.c:917
+#: ../gtk/gtklabel.c:919
msgid "Whether the label is in single line mode"
msgstr "Whether the label is in single line mode"
-#: ../gtk/gtklabel.c:934
+#: ../gtk/gtklabel.c:936
msgid "Angle"
msgstr "Angle"
-#: ../gtk/gtklabel.c:935
+#: ../gtk/gtklabel.c:937
msgid "Angle at which the label is rotated"
msgstr "Angle at which the label is rotated"
-#: ../gtk/gtklabel.c:957
+#: ../gtk/gtklabel.c:959
msgid "The desired maximum width of the label, in characters"
msgstr "The desired maximum width of the label, in characters"
-#: ../gtk/gtklabel.c:975
+#: ../gtk/gtklabel.c:977
msgid "Track visited links"
msgstr "Track visited links"
-#: ../gtk/gtklabel.c:976
+#: ../gtk/gtklabel.c:978
msgid "Whether visited links should be tracked"
msgstr "Whether visited links should be tracked"
msgstr ""
"The tooltip to display when prompting the user cannot obtain authorization"
-#: ../gtk/gtkmenubar.c:190
+#: ../gtk/gtkmenubar.c:191
msgid "Pack direction"
msgstr "Pack direction"
-#: ../gtk/gtkmenubar.c:191
+#: ../gtk/gtkmenubar.c:192
msgid "The pack direction of the menubar"
msgstr "The pack direction of the menubar"
-#: ../gtk/gtkmenubar.c:207
+#: ../gtk/gtkmenubar.c:208
msgid "Child Pack direction"
msgstr "Child Pack direction"
-#: ../gtk/gtkmenubar.c:208
+#: ../gtk/gtkmenubar.c:209
msgid "The child pack direction of the menubar"
msgstr "The child pack direction of the menubar"
-#: ../gtk/gtkmenubar.c:217
+#: ../gtk/gtkmenubar.c:218
msgid "Style of bevel around the menubar"
msgstr "Style of bevel around the menubar"
-#: ../gtk/gtkmenubar.c:224 ../gtk/gtktoolbar.c:571
+#: ../gtk/gtkmenubar.c:225 ../gtk/gtktoolbar.c:578
msgid "Internal padding"
msgstr "Internal padding"
-#: ../gtk/gtkmenubar.c:225
+#: ../gtk/gtkmenubar.c:226
msgid "Amount of border space between the menubar shadow and the menu items"
msgstr "Amount of border space between the menubar shadow and the menu items"
-#: ../gtk/gtkmenu.c:588
+#: ../gtk/gtkmenu.c:589
msgid "The currently selected menu item"
msgstr "The currently selected menu item"
-#: ../gtk/gtkmenu.c:603
+#: ../gtk/gtkmenu.c:604
msgid "The accel group holding accelerators for the menu"
msgstr "The accel group holding accelerators for the menu"
-#: ../gtk/gtkmenu.c:617 ../gtk/gtkmenuitem.c:366
+#: ../gtk/gtkmenu.c:618 ../gtk/gtkmenuitem.c:369
msgid "Accel Path"
msgstr "Accel Path"
-#: ../gtk/gtkmenu.c:618
+#: ../gtk/gtkmenu.c:619
msgid "An accel path used to conveniently construct accel paths of child items"
msgstr ""
"An accel path used to conveniently construct accel paths of child items"
-#: ../gtk/gtkmenu.c:634
+#: ../gtk/gtkmenu.c:635
msgid "Attach Widget"
msgstr "Attach Widget"
-#: ../gtk/gtkmenu.c:635
+#: ../gtk/gtkmenu.c:636
msgid "The widget the menu is attached to"
msgstr "The widget the menu is attached to"
-#: ../gtk/gtkmenu.c:643
+#: ../gtk/gtkmenu.c:644
msgid ""
"A title that may be displayed by the window manager when this menu is torn-"
"off"
"A title that may be displayed by the window manager when this menu is torn-"
"off"
-#: ../gtk/gtkmenu.c:657
+#: ../gtk/gtkmenu.c:658
msgid "Tearoff State"
msgstr "Tearoff State"
-#: ../gtk/gtkmenu.c:658
+#: ../gtk/gtkmenu.c:659
msgid "A boolean that indicates whether the menu is torn-off"
msgstr "A boolean that indicates whether the menu is torn-off"
-#: ../gtk/gtkmenu.c:672
+#: ../gtk/gtkmenu.c:673
msgid "Monitor"
msgstr "Monitor"
-#: ../gtk/gtkmenu.c:673
+#: ../gtk/gtkmenu.c:674
msgid "The monitor the menu will be popped up on"
msgstr "The monitor the menu will be popped up on"
-#: ../gtk/gtkmenu.c:679
+#: ../gtk/gtkmenu.c:680
msgid "Vertical Padding"
msgstr "Vertical Padding"
-#: ../gtk/gtkmenu.c:680
+#: ../gtk/gtkmenu.c:681
msgid "Extra space at the top and bottom of the menu"
msgstr "Extra space at the top and bottom of the menu"
-#: ../gtk/gtkmenu.c:702
+#: ../gtk/gtkmenu.c:703
msgid "Reserve Toggle Size"
msgstr "Reserve Toggle Size"
-#: ../gtk/gtkmenu.c:703
+#: ../gtk/gtkmenu.c:704
msgid ""
"A boolean that indicates whether the menu reserves space for toggles and "
"icons"
"A boolean that indicates whether the menu reserves space for toggles and "
"icons"
-#: ../gtk/gtkmenu.c:709
+#: ../gtk/gtkmenu.c:710
msgid "Horizontal Padding"
msgstr "Horizontal Padding"
-#: ../gtk/gtkmenu.c:710
+#: ../gtk/gtkmenu.c:711
msgid "Extra space at the left and right edges of the menu"
msgstr "Extra space at the left and right edges of the menu"
-#: ../gtk/gtkmenu.c:718
+#: ../gtk/gtkmenu.c:719
msgid "Vertical Offset"
msgstr "Vertical Offset"
-#: ../gtk/gtkmenu.c:719
+#: ../gtk/gtkmenu.c:720
msgid ""
"When the menu is a submenu, position it this number of pixels offset "
"vertically"
"When the menu is a submenu, position it this number of pixels offset "
"vertically"
-#: ../gtk/gtkmenu.c:727
+#: ../gtk/gtkmenu.c:728
msgid "Horizontal Offset"
msgstr "Horizontal Offset"
-#: ../gtk/gtkmenu.c:728
+#: ../gtk/gtkmenu.c:729
msgid ""
"When the menu is a submenu, position it this number of pixels offset "
"horizontally"
"When the menu is a submenu, position it this number of pixels offset "
"horizontally"
-#: ../gtk/gtkmenu.c:736
+#: ../gtk/gtkmenu.c:737
msgid "Double Arrows"
msgstr "Double Arrows"
-#: ../gtk/gtkmenu.c:737
+#: ../gtk/gtkmenu.c:738
msgid "When scrolling, always show both arrows."
msgstr "When scrolling, always show both arrows."
-#: ../gtk/gtkmenu.c:750
+#: ../gtk/gtkmenu.c:751
msgid "Arrow Placement"
msgstr "Arrow Placement"
-#: ../gtk/gtkmenu.c:751
+#: ../gtk/gtkmenu.c:752
msgid "Indicates where scroll arrows should be placed"
msgstr "Indicates where scroll arrows should be placed"
-#: ../gtk/gtkmenu.c:759
+#: ../gtk/gtkmenu.c:760
msgid "Left Attach"
msgstr "Left Attach"
-#: ../gtk/gtkmenu.c:767
+#: ../gtk/gtkmenu.c:768
msgid "Right Attach"
msgstr "Right Attach"
-#: ../gtk/gtkmenu.c:768
+#: ../gtk/gtkmenu.c:769
msgid "The column number to attach the right side of the child to"
msgstr "The column number to attach the right side of the child to"
-#: ../gtk/gtkmenu.c:775
+#: ../gtk/gtkmenu.c:776
msgid "Top Attach"
msgstr "Top Attach"
-#: ../gtk/gtkmenu.c:776
+#: ../gtk/gtkmenu.c:777
msgid "The row number to attach the top of the child to"
msgstr "The row number to attach the top of the child to"
-#: ../gtk/gtkmenu.c:783
+#: ../gtk/gtkmenu.c:784
msgid "Bottom Attach"
msgstr "Bottom Attach"
-#: ../gtk/gtkmenu.c:784 ../gtk/gtktable.c:257
+#: ../gtk/gtkmenu.c:785 ../gtk/gtktable.c:257
msgid "The row number to attach the bottom of the child to"
msgstr "The row number to attach the bottom of the child to"
-#: ../gtk/gtkmenu.c:798
+#: ../gtk/gtkmenu.c:799
msgid "Arbitrary constant to scale down the size of the scroll arrow"
msgstr "Arbitrary constant to scale down the size of the scroll arrow"
-#: ../gtk/gtkmenuitem.c:334
+#: ../gtk/gtkmenuitem.c:337
msgid "Right Justified"
msgstr "Right Justified"
-#: ../gtk/gtkmenuitem.c:335
+#: ../gtk/gtkmenuitem.c:338
msgid ""
"Sets whether the menu item appears justified at the right side of a menu bar"
msgstr ""
"Sets whether the menu item appears justified at the right side of a menu bar"
-#: ../gtk/gtkmenuitem.c:349
+#: ../gtk/gtkmenuitem.c:352
msgid "Submenu"
msgstr "Submenu"
-#: ../gtk/gtkmenuitem.c:350
+#: ../gtk/gtkmenuitem.c:353
msgid "The submenu attached to the menu item, or NULL if it has none"
msgstr "The submenu attached to the menu item, or NULL if it has none"
-#: ../gtk/gtkmenuitem.c:367
+#: ../gtk/gtkmenuitem.c:370
msgid "Sets the accelerator path of the menu item"
msgstr "Sets the accelerator path of the menu item"
-#: ../gtk/gtkmenuitem.c:382
+#: ../gtk/gtkmenuitem.c:385
msgid "The text for the child label"
msgstr "The text for the child label"
-#: ../gtk/gtkmenuitem.c:445
+#: ../gtk/gtkmenuitem.c:448
msgid "Amount of space used up by arrow, relative to the menu item's font size"
msgstr ""
"Amount of space used up by arrow, relative to the menu item's font size"
-#: ../gtk/gtkmenuitem.c:458
+#: ../gtk/gtkmenuitem.c:461
msgid "Width in Characters"
msgstr "Width in Characters"
-#: ../gtk/gtkmenuitem.c:459
+#: ../gtk/gtkmenuitem.c:462
msgid "The minimum desired width of the menu item in characters"
msgstr "The minimum desired width of the menu item in characters"
msgstr ""
"The amount of space to add on the top and bottom of the widget, in pixels"
-#: ../gtk/gtkmountoperation.c:158
+#: ../gtk/gtkmountoperation.c:157
msgid "Parent"
msgstr "Parent"
-#: ../gtk/gtkmountoperation.c:159
+#: ../gtk/gtkmountoperation.c:158
msgid "The parent window"
msgstr "The parent window"
-#: ../gtk/gtkmountoperation.c:166
+#: ../gtk/gtkmountoperation.c:165
msgid "Is Showing"
msgstr "Is Showing"
-#: ../gtk/gtkmountoperation.c:167
+#: ../gtk/gtkmountoperation.c:166
msgid "Are we showing a dialog"
msgstr "Are we showing a dialog"
-#: ../gtk/gtkmountoperation.c:175
+#: ../gtk/gtkmountoperation.c:174
msgid "The screen where this window will be displayed."
msgstr "The screen where this window will be displayed."
-#: ../gtk/gtknotebook.c:695
+#: ../gtk/gtknotebook.c:696
msgid "Page"
msgstr "Page"
-#: ../gtk/gtknotebook.c:696
+#: ../gtk/gtknotebook.c:697
msgid "The index of the current page"
msgstr "The index of the current page"
-#: ../gtk/gtknotebook.c:704
+#: ../gtk/gtknotebook.c:705
msgid "Tab Position"
msgstr "Tab Position"
-#: ../gtk/gtknotebook.c:705
+#: ../gtk/gtknotebook.c:706
msgid "Which side of the notebook holds the tabs"
msgstr "Which side of the notebook holds the tabs"
-#: ../gtk/gtknotebook.c:712
+#: ../gtk/gtknotebook.c:713
msgid "Show Tabs"
msgstr "Show Tabs"
-#: ../gtk/gtknotebook.c:713
+#: ../gtk/gtknotebook.c:714
msgid "Whether tabs should be shown"
msgstr "Whether tabs should be shown"
-#: ../gtk/gtknotebook.c:719
+#: ../gtk/gtknotebook.c:720
msgid "Show Border"
msgstr "Show Border"
-#: ../gtk/gtknotebook.c:720
+#: ../gtk/gtknotebook.c:721
msgid "Whether the border should be shown"
msgstr "Whether the border should be shown"
-#: ../gtk/gtknotebook.c:726
+#: ../gtk/gtknotebook.c:727
msgid "Scrollable"
msgstr "Scrollable"
-#: ../gtk/gtknotebook.c:727
+#: ../gtk/gtknotebook.c:728
msgid "If TRUE, scroll arrows are added if there are too many tabs to fit"
msgstr "If TRUE, scroll arrows are added if there are too many tabs to fit"
-#: ../gtk/gtknotebook.c:733
+#: ../gtk/gtknotebook.c:734
msgid "Enable Popup"
msgstr "Enable Popup"
-#: ../gtk/gtknotebook.c:734
+#: ../gtk/gtknotebook.c:735
msgid ""
"If TRUE, pressing the right mouse button on the notebook pops up a menu that "
"you can use to go to a page"
"If TRUE, pressing the right mouse button on the notebook pops up a menu that "
"you can use to go to a page"
-#: ../gtk/gtknotebook.c:748
+#: ../gtk/gtknotebook.c:749
msgid "Group Name"
msgstr "Group Name"
-#: ../gtk/gtknotebook.c:749
+#: ../gtk/gtknotebook.c:750
msgid "Group name for tab drag and drop"
msgstr "Group name for tab drag and drop"
-#: ../gtk/gtknotebook.c:756
+#: ../gtk/gtknotebook.c:757
msgid "Tab label"
msgstr "Tab label"
-#: ../gtk/gtknotebook.c:757
+#: ../gtk/gtknotebook.c:758
msgid "The string displayed on the child's tab label"
msgstr "The string displayed on the child's tab label"
-#: ../gtk/gtknotebook.c:763
+#: ../gtk/gtknotebook.c:764
msgid "Menu label"
msgstr "Menu label"
-#: ../gtk/gtknotebook.c:764
+#: ../gtk/gtknotebook.c:765
msgid "The string displayed in the child's menu entry"
msgstr "The string displayed in the child's menu entry"
-#: ../gtk/gtknotebook.c:777
+#: ../gtk/gtknotebook.c:778
msgid "Tab expand"
msgstr "Tab expand"
-#: ../gtk/gtknotebook.c:778
+#: ../gtk/gtknotebook.c:779
msgid "Whether to expand the child's tab"
msgstr "Whether to expand the child's tab"
-#: ../gtk/gtknotebook.c:784
+#: ../gtk/gtknotebook.c:785
msgid "Tab fill"
msgstr "Tab fill"
-#: ../gtk/gtknotebook.c:785
+#: ../gtk/gtknotebook.c:786
msgid "Whether the child's tab should fill the allocated area"
msgstr "Whether the child's tab should fill the allocated area"
-#: ../gtk/gtknotebook.c:792
+#: ../gtk/gtknotebook.c:793
msgid "Tab reorderable"
msgstr "Tab reorderable"
-#: ../gtk/gtknotebook.c:793
+#: ../gtk/gtknotebook.c:794
msgid "Whether the tab is reorderable by user action"
msgstr "Whether the tab is reorderable by user action"
-#: ../gtk/gtknotebook.c:799
+#: ../gtk/gtknotebook.c:800
msgid "Tab detachable"
msgstr "Tab detachable"
-#: ../gtk/gtknotebook.c:800
+#: ../gtk/gtknotebook.c:801
msgid "Whether the tab is detachable"
msgstr "Whether the tab is detachable"
-#: ../gtk/gtknotebook.c:815 ../gtk/gtkscrollbar.c:100
+#: ../gtk/gtknotebook.c:816 ../gtk/gtkscrollbar.c:102
msgid "Secondary backward stepper"
msgstr "Secondary backward stepper"
-#: ../gtk/gtknotebook.c:816
+#: ../gtk/gtknotebook.c:817
msgid ""
"Display a second backward arrow button on the opposite end of the tab area"
msgstr ""
"Display a second backward arrow button on the opposite end of the tab area"
-#: ../gtk/gtknotebook.c:831 ../gtk/gtkscrollbar.c:107
+#: ../gtk/gtknotebook.c:832 ../gtk/gtkscrollbar.c:109
msgid "Secondary forward stepper"
msgstr "Secondary forward stepper"
-#: ../gtk/gtknotebook.c:832
+#: ../gtk/gtknotebook.c:833
msgid ""
"Display a second forward arrow button on the opposite end of the tab area"
msgstr ""
"Display a second forward arrow button on the opposite end of the tab area"
-#: ../gtk/gtknotebook.c:846 ../gtk/gtkscrollbar.c:86
+#: ../gtk/gtknotebook.c:847 ../gtk/gtkscrollbar.c:88
msgid "Backward stepper"
msgstr "Backward stepper"
-#: ../gtk/gtknotebook.c:847 ../gtk/gtkscrollbar.c:87
+#: ../gtk/gtknotebook.c:848 ../gtk/gtkscrollbar.c:89
msgid "Display the standard backward arrow button"
msgstr "Display the standard backward arrow button"
-#: ../gtk/gtknotebook.c:861 ../gtk/gtkscrollbar.c:93
+#: ../gtk/gtknotebook.c:862 ../gtk/gtkscrollbar.c:95
msgid "Forward stepper"
msgstr "Forward stepper"
-#: ../gtk/gtknotebook.c:862 ../gtk/gtkscrollbar.c:94
+#: ../gtk/gtknotebook.c:863 ../gtk/gtkscrollbar.c:96
msgid "Display the standard forward arrow button"
msgstr "Display the standard forward arrow button"
-#: ../gtk/gtknotebook.c:876
+#: ../gtk/gtknotebook.c:877
msgid "Tab overlap"
msgstr "Tab overlap"
-#: ../gtk/gtknotebook.c:877
+#: ../gtk/gtknotebook.c:878
msgid "Size of tab overlap area"
msgstr "Size of tab overlap area"
-#: ../gtk/gtknotebook.c:892
+#: ../gtk/gtknotebook.c:893
msgid "Tab curvature"
msgstr "Tab curvature"
-#: ../gtk/gtknotebook.c:893
+#: ../gtk/gtknotebook.c:894
msgid "Size of tab curvature"
msgstr "Size of tab curvature"
-#: ../gtk/gtknotebook.c:909
+#: ../gtk/gtknotebook.c:910
msgid "Arrow spacing"
msgstr "Arrow spacing"
-#: ../gtk/gtknotebook.c:910
+#: ../gtk/gtknotebook.c:911
msgid "Scroll arrow spacing"
msgstr "Scroll arrow spacing"
-#: ../gtk/gtknotebook.c:926
+#: ../gtk/gtknotebook.c:927
msgid "Initial gap"
msgstr "Initial gap"
-#: ../gtk/gtknotebook.c:927
+#: ../gtk/gtknotebook.c:928
msgid "Initial gap before the first tab"
msgstr "Initial gap before the first tab"
msgid "TRUE if this printer is accepting new jobs"
msgstr "TRUE if this printer is accepting new jobs"
+#: ../gtk/gtkprinteroption.c:105
+msgid "Option Value"
+msgstr "Option Value"
+
+#: ../gtk/gtkprinteroption.c:106
+msgid "Value of the option"
+msgstr "Value of the option"
+
#: ../gtk/gtkprinteroptionwidget.c:122
msgid "Source option"
msgstr "Source option"
msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog"
msgstr "TRUE if page setup combos are embedded in GtkPrintUnixDialog"
-#: ../gtk/gtkprogressbar.c:158
+#: ../gtk/gtkprogressbar.c:160
msgid "Fraction"
msgstr "Fraction"
-#: ../gtk/gtkprogressbar.c:159
+#: ../gtk/gtkprogressbar.c:161
msgid "The fraction of total work that has been completed"
msgstr "The fraction of total work that has been completed"
-#: ../gtk/gtkprogressbar.c:166
+#: ../gtk/gtkprogressbar.c:168
msgid "Pulse Step"
msgstr "Pulse Step"
-#: ../gtk/gtkprogressbar.c:167
+#: ../gtk/gtkprogressbar.c:169
msgid "The fraction of total progress to move the bouncing block when pulsed"
msgstr "The fraction of total progress to move the bouncing block when pulsed"
-#: ../gtk/gtkprogressbar.c:175
+#: ../gtk/gtkprogressbar.c:177
msgid "Text to be displayed in the progress bar"
msgstr "Text to be displayed in the progress bar"
-#: ../gtk/gtkprogressbar.c:192
+#: ../gtk/gtkprogressbar.c:194
msgid "Show text"
msgstr "Show text"
-#: ../gtk/gtkprogressbar.c:193
+#: ../gtk/gtkprogressbar.c:195
msgid "Whether the progress is shown as text."
msgstr "Whether the progress is shown as text."
-#: ../gtk/gtkprogressbar.c:215
+#: ../gtk/gtkprogressbar.c:217
msgid ""
"The preferred place to ellipsize the string, if the progress bar does not "
"have enough room to display the entire string, if at all."
"The preferred place to ellipsize the string, if the progress bar does not "
"have enough room to display the entire string, if at all."
-#: ../gtk/gtkprogressbar.c:222
+#: ../gtk/gtkprogressbar.c:224
msgid "X spacing"
msgstr "X spacing"
-#: ../gtk/gtkprogressbar.c:223
+#: ../gtk/gtkprogressbar.c:225
msgid "Extra spacing applied to the width of a progress bar."
msgstr "Extra spacing applied to the width of a progress bar."
-#: ../gtk/gtkprogressbar.c:228
+#: ../gtk/gtkprogressbar.c:230
msgid "Y spacing"
msgstr "Y spacing"
-#: ../gtk/gtkprogressbar.c:229
+#: ../gtk/gtkprogressbar.c:231
msgid "Extra spacing applied to the height of a progress bar."
msgstr "Extra spacing applied to the height of a progress bar."
-#: ../gtk/gtkprogressbar.c:242
+#: ../gtk/gtkprogressbar.c:244
msgid "Minimum horizontal bar width"
msgstr "Minimum horizontal bar width"
-#: ../gtk/gtkprogressbar.c:243
+#: ../gtk/gtkprogressbar.c:245
msgid "The minimum horizontal width of the progress bar"
msgstr "The minimum horizontal width of the progress bar"
-#: ../gtk/gtkprogressbar.c:255
+#: ../gtk/gtkprogressbar.c:257
msgid "Minimum horizontal bar height"
msgstr "Minimum horizontal bar height"
-#: ../gtk/gtkprogressbar.c:256
+#: ../gtk/gtkprogressbar.c:258
msgid "Minimum horizontal height of the progress bar"
msgstr "Minimum horizontal height of the progress bar"
-#: ../gtk/gtkprogressbar.c:268
+#: ../gtk/gtkprogressbar.c:270
msgid "Minimum vertical bar width"
msgstr "Minimum vertical bar width"
-#: ../gtk/gtkprogressbar.c:269
+#: ../gtk/gtkprogressbar.c:271
msgid "The minimum vertical width of the progress bar"
msgstr "The minimum vertical width of the progress bar"
-#: ../gtk/gtkprogressbar.c:281
+#: ../gtk/gtkprogressbar.c:283
msgid "Minimum vertical bar height"
msgstr "Minimum vertical bar height"
-#: ../gtk/gtkprogressbar.c:282
+#: ../gtk/gtkprogressbar.c:284
msgid "The minimum vertical height of the progress bar"
msgstr "The minimum vertical height of the progress bar"
"The value returned by gtk_radio_action_get_current_value() when this action "
"is the current action of its group."
-#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163
-#: ../gtk/gtkradiomenuitem.c:423 ../gtk/gtkradiotoolbutton.c:85
+#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:164
+#: ../gtk/gtkradiomenuitem.c:427 ../gtk/gtkradiotoolbutton.c:85
msgid "Group"
msgstr "Group"
"The value property of the currently active member of the group to which this "
"action belongs."
-#: ../gtk/gtkradiobutton.c:164
+#: ../gtk/gtkradiobutton.c:165
msgid "The radio button whose group this widget belongs to."
msgstr "The radio button whose group this widget belongs to."
-#: ../gtk/gtkradiomenuitem.c:424
+#: ../gtk/gtkradiomenuitem.c:428
msgid "The radio menu item whose group this widget belongs to."
msgstr "The radio menu item whose group this widget belongs to."
msgid "The radio tool button whose group this button belongs to."
msgstr "The radio tool button whose group this button belongs to."
-#: ../gtk/gtkrange.c:418
+#: ../gtk/gtkrange.c:419
msgid "The GtkAdjustment that contains the current value of this range object"
msgstr "The GtkAdjustment that contains the current value of this range object"
-#: ../gtk/gtkrange.c:426
+#: ../gtk/gtkrange.c:427
msgid "Invert direction slider moves to increase range value"
msgstr "Invert direction slider moves to increase range value"
-#: ../gtk/gtkrange.c:433
+#: ../gtk/gtkrange.c:434
msgid "Lower stepper sensitivity"
msgstr "Lower stepper sensitivity"
-#: ../gtk/gtkrange.c:434
+#: ../gtk/gtkrange.c:435
msgid ""
"The sensitivity policy for the stepper that points to the adjustment's lower "
"side"
"The sensitivity policy for the stepper that points to the adjustment's lower "
"side"
-#: ../gtk/gtkrange.c:442
+#: ../gtk/gtkrange.c:443
msgid "Upper stepper sensitivity"
msgstr "Upper stepper sensitivity"
-#: ../gtk/gtkrange.c:443
+#: ../gtk/gtkrange.c:444
msgid ""
"The sensitivity policy for the stepper that points to the adjustment's upper "
"side"
"The sensitivity policy for the stepper that points to the adjustment's upper "
"side"
-#: ../gtk/gtkrange.c:460
+#: ../gtk/gtkrange.c:461
msgid "Show Fill Level"
msgstr "Show Fill Level"
-#: ../gtk/gtkrange.c:461
+#: ../gtk/gtkrange.c:462
msgid "Whether to display a fill level indicator graphics on trough."
msgstr "Whether to display a fill level indicator graphics on trough."
-#: ../gtk/gtkrange.c:477
+#: ../gtk/gtkrange.c:478
msgid "Restrict to Fill Level"
msgstr "Restrict to Fill Level"
-#: ../gtk/gtkrange.c:478
+#: ../gtk/gtkrange.c:479
msgid "Whether to restrict the upper boundary to the fill level."
msgstr "Whether to restrict the upper boundary to the fill level."
-#: ../gtk/gtkrange.c:493
+#: ../gtk/gtkrange.c:494
msgid "Fill Level"
msgstr "Fill Level"
-#: ../gtk/gtkrange.c:494
+#: ../gtk/gtkrange.c:495
msgid "The fill level."
msgstr "The fill level."
-#: ../gtk/gtkrange.c:511
+#: ../gtk/gtkrange.c:512
msgid "Round Digits"
msgstr "Round Digits"
-#: ../gtk/gtkrange.c:512
+#: ../gtk/gtkrange.c:513
msgid "The number of digits to round the value to."
msgstr "The number of digits to round the value to."
-#: ../gtk/gtkrange.c:520 ../gtk/gtkswitch.c:836
+#: ../gtk/gtkrange.c:521 ../gtk/gtkswitch.c:817
msgid "Slider Width"
msgstr "Slider Width"
-#: ../gtk/gtkrange.c:521
+#: ../gtk/gtkrange.c:522
msgid "Width of scrollbar or scale thumb"
msgstr "Width of scrollbar or scale thumb"
-#: ../gtk/gtkrange.c:528
+#: ../gtk/gtkrange.c:529
msgid "Trough Border"
msgstr "Trough Border"
-#: ../gtk/gtkrange.c:529
+#: ../gtk/gtkrange.c:530
msgid "Spacing between thumb/steppers and outer trough bevel"
msgstr "Spacing between thumb/steppers and outer trough bevel"
-#: ../gtk/gtkrange.c:536
+#: ../gtk/gtkrange.c:537
msgid "Stepper Size"
msgstr "Stepper Size"
-#: ../gtk/gtkrange.c:537
+#: ../gtk/gtkrange.c:538
msgid "Length of step buttons at ends"
msgstr "Length of step buttons at ends"
-#: ../gtk/gtkrange.c:550
+#: ../gtk/gtkrange.c:551
msgid "Stepper Spacing"
msgstr "Stepper Spacing"
-#: ../gtk/gtkrange.c:551
+#: ../gtk/gtkrange.c:552
msgid "Spacing between step buttons and thumb"
msgstr "Spacing between step buttons and thumb"
-#: ../gtk/gtkrange.c:558
+#: ../gtk/gtkrange.c:559
msgid "Arrow X Displacement"
msgstr "Arrow X Displacement"
-#: ../gtk/gtkrange.c:559
+#: ../gtk/gtkrange.c:560
msgid ""
"How far in the x direction to move the arrow when the button is depressed"
msgstr ""
"How far in the x direction to move the arrow when the button is depressed"
-#: ../gtk/gtkrange.c:566
+#: ../gtk/gtkrange.c:567
msgid "Arrow Y Displacement"
msgstr "Arrow Y Displacement"
-#: ../gtk/gtkrange.c:567
+#: ../gtk/gtkrange.c:568
msgid ""
"How far in the y direction to move the arrow when the button is depressed"
msgstr ""
"How far in the y direction to move the arrow when the button is depressed"
-#: ../gtk/gtkrange.c:583
+#: ../gtk/gtkrange.c:584
msgid "Trough Under Steppers"
msgstr "Trough Under Steppers"
-#: ../gtk/gtkrange.c:584
+#: ../gtk/gtkrange.c:585
msgid ""
"Whether to draw trough for full length of range or exclude the steppers and "
"spacing"
"Whether to draw trough for full length of range or exclude the steppers and "
"spacing"
-#: ../gtk/gtkrange.c:597
+#: ../gtk/gtkrange.c:598
msgid "Arrow scaling"
msgstr "Arrow scaling"
-#: ../gtk/gtkrange.c:598
+#: ../gtk/gtkrange.c:599
msgid "Arrow scaling with regard to scroll button size"
msgstr "Arrow scaling with regard to scroll button size"
msgid "The size of the recently used resources list"
msgstr "The size of the recently used resources list"
-#: ../gtk/gtkscalebutton.c:218
+#: ../gtk/gtkscalebutton.c:219
msgid "The value of the scale"
msgstr "The value of the scale"
-#: ../gtk/gtkscalebutton.c:228
+#: ../gtk/gtkscalebutton.c:229
msgid "The icon size"
msgstr "The icon size"
-#: ../gtk/gtkscalebutton.c:237
+#: ../gtk/gtkscalebutton.c:238
msgid ""
"The GtkAdjustment that contains the current value of this scale button object"
msgstr ""
"The GtkAdjustment that contains the current value of this scale button object"
-#: ../gtk/gtkscalebutton.c:265
+#: ../gtk/gtkscalebutton.c:266
msgid "Icons"
msgstr "Icons"
-#: ../gtk/gtkscalebutton.c:266
+#: ../gtk/gtkscalebutton.c:267
msgid "List of icon names"
msgstr "List of icon names"
-#: ../gtk/gtkscale.c:253
+#: ../gtk/gtkscale.c:255
msgid "The number of decimal places that are displayed in the value"
msgstr "The number of decimal places that are displayed in the value"
-#: ../gtk/gtkscale.c:262
+#: ../gtk/gtkscale.c:264
msgid "Draw Value"
msgstr "Draw Value"
-#: ../gtk/gtkscale.c:263
+#: ../gtk/gtkscale.c:265
msgid "Whether the current value is displayed as a string next to the slider"
msgstr "Whether the current value is displayed as a string next to the slider"
-#: ../gtk/gtkscale.c:270
+#: ../gtk/gtkscale.c:272
msgid "Value Position"
msgstr "Value Position"
-#: ../gtk/gtkscale.c:271
+#: ../gtk/gtkscale.c:273
msgid "The position in which the current value is displayed"
msgstr "The position in which the current value is displayed"
-#: ../gtk/gtkscale.c:278
+#: ../gtk/gtkscale.c:280
msgid "Slider Length"
msgstr "Slider Length"
-#: ../gtk/gtkscale.c:279
+#: ../gtk/gtkscale.c:281
msgid "Length of scale's slider"
msgstr "Length of scale's slider"
-#: ../gtk/gtkscale.c:287
+#: ../gtk/gtkscale.c:289
msgid "Value spacing"
msgstr "Value spacing"
-#: ../gtk/gtkscale.c:288
+#: ../gtk/gtkscale.c:290
msgid "Space between value text and the slider/trough area"
msgstr "Space between value text and the slider/trough area"
msgid "Vertical Scrollable Policy"
msgstr "Vertical Scrollable Policy"
-#: ../gtk/gtkscrollbar.c:70
+#: ../gtk/gtkscrollbar.c:72
msgid "Minimum Slider Length"
msgstr "Minimum Slider Length"
-#: ../gtk/gtkscrollbar.c:71
+#: ../gtk/gtkscrollbar.c:73
msgid "Minimum length of scrollbar slider"
msgstr "Minimum length of scrollbar slider"
-#: ../gtk/gtkscrollbar.c:79
+#: ../gtk/gtkscrollbar.c:81
msgid "Fixed slider size"
msgstr "Fixed slider size"
-#: ../gtk/gtkscrollbar.c:80
+#: ../gtk/gtkscrollbar.c:82
msgid "Don't change slider size, just lock it to the minimum length"
msgstr "Don't change slider size, just lock it to the minimum length"
-#: ../gtk/gtkscrollbar.c:101
+#: ../gtk/gtkscrollbar.c:103
msgid ""
"Display a second backward arrow button on the opposite end of the scrollbar"
msgstr ""
"Display a second backward arrow button on the opposite end of the scrollbar"
-#: ../gtk/gtkscrollbar.c:108
+#: ../gtk/gtkscrollbar.c:110
msgid ""
"Display a second forward arrow button on the opposite end of the scrollbar"
msgstr ""
msgid "Whether the separator is drawn, or just blank"
msgstr "Whether the separator is drawn, or just blank"
-#: ../gtk/gtksettings.c:322
+#: ../gtk/gtksettings.c:321
msgid "Double Click Time"
msgstr "Double Click Time"
-#: ../gtk/gtksettings.c:323
+#: ../gtk/gtksettings.c:322
msgid ""
"Maximum time allowed between two clicks for them to be considered a double "
"click (in milliseconds)"
"Maximum time allowed between two clicks for them to be considered a double "
"click (in milliseconds)"
-#: ../gtk/gtksettings.c:330
+#: ../gtk/gtksettings.c:329
msgid "Double Click Distance"
msgstr "Double Click Distance"
-#: ../gtk/gtksettings.c:331
+#: ../gtk/gtksettings.c:330
msgid ""
"Maximum distance allowed between two clicks for them to be considered a "
"double click (in pixels)"
"Maximum distance allowed between two clicks for them to be considered a "
"double click (in pixels)"
-#: ../gtk/gtksettings.c:347
+#: ../gtk/gtksettings.c:346
msgid "Cursor Blink"
msgstr "Cursor Blink"
-#: ../gtk/gtksettings.c:348
+#: ../gtk/gtksettings.c:347
msgid "Whether the cursor should blink"
msgstr "Whether the cursor should blink"
-#: ../gtk/gtksettings.c:355
+#: ../gtk/gtksettings.c:354
msgid "Cursor Blink Time"
msgstr "Cursor Blink Time"
-#: ../gtk/gtksettings.c:356
+#: ../gtk/gtksettings.c:355
msgid "Length of the cursor blink cycle, in milliseconds"
msgstr "Length of the cursor blink cycle, in milliseconds"
-#: ../gtk/gtksettings.c:375
+#: ../gtk/gtksettings.c:374
msgid "Cursor Blink Timeout"
msgstr "Cursor Blink Timeout"
-#: ../gtk/gtksettings.c:376
+#: ../gtk/gtksettings.c:375
msgid "Time after which the cursor stops blinking, in seconds"
msgstr "Time after which the cursor stops blinking, in seconds"
-#: ../gtk/gtksettings.c:383
+#: ../gtk/gtksettings.c:382
msgid "Split Cursor"
msgstr "Split Cursor"
-#: ../gtk/gtksettings.c:384
+#: ../gtk/gtksettings.c:383
msgid ""
"Whether two cursors should be displayed for mixed left-to-right and right-to-"
"left text"
"Whether two cursors should be displayed for mixed left-to-right and right-to-"
"left text"
-#: ../gtk/gtksettings.c:391
+#: ../gtk/gtksettings.c:390
msgid "Theme Name"
msgstr "Theme Name"
-#: ../gtk/gtksettings.c:392
+#: ../gtk/gtksettings.c:391
msgid "Name of theme to load"
msgstr "Name of theme to load"
-#: ../gtk/gtksettings.c:400
+#: ../gtk/gtksettings.c:399
msgid "Icon Theme Name"
msgstr "Icon Theme Name"
-#: ../gtk/gtksettings.c:401
+#: ../gtk/gtksettings.c:400
msgid "Name of icon theme to use"
msgstr "Name of icon theme to use"
-#: ../gtk/gtksettings.c:409
+#: ../gtk/gtksettings.c:408
msgid "Fallback Icon Theme Name"
msgstr "Fallback Icon Theme Name"
-#: ../gtk/gtksettings.c:410
+#: ../gtk/gtksettings.c:409
msgid "Name of a icon theme to fall back to"
msgstr "Name of a icon theme to fall back to"
-#: ../gtk/gtksettings.c:418
+#: ../gtk/gtksettings.c:417
msgid "Key Theme Name"
msgstr "Key Theme Name"
-#: ../gtk/gtksettings.c:419
+#: ../gtk/gtksettings.c:418
msgid "Name of key theme to load"
msgstr "Name of key theme to load"
-#: ../gtk/gtksettings.c:427
+#: ../gtk/gtksettings.c:426
msgid "Menu bar accelerator"
msgstr "Menu bar accelerator"
-#: ../gtk/gtksettings.c:428
+#: ../gtk/gtksettings.c:427
msgid "Keybinding to activate the menu bar"
msgstr "Keybinding to activate the menu bar"
-#: ../gtk/gtksettings.c:436
+#: ../gtk/gtksettings.c:435
msgid "Drag threshold"
msgstr "Drag threshold"
-#: ../gtk/gtksettings.c:437
+#: ../gtk/gtksettings.c:436
msgid "Number of pixels the cursor can move before dragging"
msgstr "Number of pixels the cursor can move before dragging"
-#: ../gtk/gtksettings.c:445
+#: ../gtk/gtksettings.c:444
msgid "Font Name"
msgstr "Font Name"
-#: ../gtk/gtksettings.c:446
+#: ../gtk/gtksettings.c:445
msgid "Name of default font to use"
msgstr "Name of default font to use"
-#: ../gtk/gtksettings.c:468
+#: ../gtk/gtksettings.c:467
msgid "Icon Sizes"
msgstr "Icon Sizes"
-#: ../gtk/gtksettings.c:469
+#: ../gtk/gtksettings.c:468
msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..."
msgstr "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..."
-#: ../gtk/gtksettings.c:477
+#: ../gtk/gtksettings.c:476
msgid "GTK Modules"
msgstr "GTK Modules"
-#: ../gtk/gtksettings.c:478
+#: ../gtk/gtksettings.c:477
msgid "List of currently active GTK modules"
msgstr "List of currently active GTK modules"
-#: ../gtk/gtksettings.c:486
+#: ../gtk/gtksettings.c:485
msgid "Xft Antialias"
msgstr "Xft Antialias"
-#: ../gtk/gtksettings.c:487
+#: ../gtk/gtksettings.c:486
msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default"
msgstr "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default"
-#: ../gtk/gtksettings.c:496
+#: ../gtk/gtksettings.c:495
msgid "Xft Hinting"
msgstr "Xft Hinting"
-#: ../gtk/gtksettings.c:497
+#: ../gtk/gtksettings.c:496
msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default"
msgstr "Whether to hint Xft fonts; 0=no, 1=yes, -1=default"
-#: ../gtk/gtksettings.c:506
+#: ../gtk/gtksettings.c:505
msgid "Xft Hint Style"
msgstr "Xft Hint Style"
-#: ../gtk/gtksettings.c:507
+#: ../gtk/gtksettings.c:506
msgid ""
"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull"
msgstr ""
"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull"
-#: ../gtk/gtksettings.c:516
+#: ../gtk/gtksettings.c:515
msgid "Xft RGBA"
msgstr "Xft RGBA"
-#: ../gtk/gtksettings.c:517
+#: ../gtk/gtksettings.c:516
msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr"
msgstr "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr"
-#: ../gtk/gtksettings.c:526
+#: ../gtk/gtksettings.c:525
msgid "Xft DPI"
msgstr "Xft DPI"
-#: ../gtk/gtksettings.c:527
+#: ../gtk/gtksettings.c:526
msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value"
msgstr "Resolution for Xft, in 1024 * dots/inch. -1 to use default value"
-#: ../gtk/gtksettings.c:536
+#: ../gtk/gtksettings.c:535
msgid "Cursor theme name"
msgstr "Cursor theme name"
-#: ../gtk/gtksettings.c:537
+#: ../gtk/gtksettings.c:536
msgid "Name of the cursor theme to use, or NULL to use the default theme"
msgstr "Name of the cursor theme to use, or NULL to use the default theme"
-#: ../gtk/gtksettings.c:545
+#: ../gtk/gtksettings.c:544
msgid "Cursor theme size"
msgstr "Cursor theme size"
-#: ../gtk/gtksettings.c:546
+#: ../gtk/gtksettings.c:545
msgid "Size to use for cursors, or 0 to use the default size"
msgstr "Size to use for cursors, or 0 to use the default size"
-#: ../gtk/gtksettings.c:555
+#: ../gtk/gtksettings.c:554
msgid "Alternative button order"
msgstr "Alternative button order"
-#: ../gtk/gtksettings.c:556
+#: ../gtk/gtksettings.c:555
msgid "Whether buttons in dialogs should use the alternative button order"
msgstr "Whether buttons in dialogs should use the alternative button order"
-#: ../gtk/gtksettings.c:573
+#: ../gtk/gtksettings.c:572
msgid "Alternative sort indicator direction"
msgstr "Alternative sort indicator direction"
-#: ../gtk/gtksettings.c:574
+#: ../gtk/gtksettings.c:573
msgid ""
"Whether the direction of the sort indicators in list and tree views is "
"inverted compared to the default (where down means ascending)"
"Whether the direction of the sort indicators in list and tree views is "
"inverted compared to the default (where down means ascending)"
-#: ../gtk/gtksettings.c:582
+#: ../gtk/gtksettings.c:581
msgid "Show the 'Input Methods' menu"
msgstr "Show the 'Input Methods' menu"
-#: ../gtk/gtksettings.c:583
+#: ../gtk/gtksettings.c:582
msgid ""
"Whether the context menus of entries and text views should offer to change "
"the input method"
"Whether the context menus of entries and text views should offer to change "
"the input method"
-#: ../gtk/gtksettings.c:591
+#: ../gtk/gtksettings.c:590
msgid "Show the 'Insert Unicode Control Character' menu"
msgstr "Show the 'Insert Unicode Control Character' menu"
-#: ../gtk/gtksettings.c:592
+#: ../gtk/gtksettings.c:591
msgid ""
"Whether the context menus of entries and text views should offer to insert "
"control characters"
"Whether the context menus of entries and text views should offer to insert "
"control characters"
-#: ../gtk/gtksettings.c:600
+#: ../gtk/gtksettings.c:599
msgid "Start timeout"
msgstr "Start timeout"
-#: ../gtk/gtksettings.c:601
+#: ../gtk/gtksettings.c:600
msgid "Starting value for timeouts, when button is pressed"
msgstr "Starting value for timeouts, when button is pressed"
-#: ../gtk/gtksettings.c:610
+#: ../gtk/gtksettings.c:609
msgid "Repeat timeout"
msgstr "Repeat timeout"
-#: ../gtk/gtksettings.c:611
+#: ../gtk/gtksettings.c:610
msgid "Repeat value for timeouts, when button is pressed"
msgstr "Repeat value for timeouts, when button is pressed"
-#: ../gtk/gtksettings.c:620
+#: ../gtk/gtksettings.c:619
msgid "Expand timeout"
msgstr "Expand timeout"
-#: ../gtk/gtksettings.c:621
+#: ../gtk/gtksettings.c:620
msgid "Expand value for timeouts, when a widget is expanding a new region"
msgstr "Expand value for timeouts, when a widget is expanding a new region"
-#: ../gtk/gtksettings.c:656
+#: ../gtk/gtksettings.c:655
msgid "Color scheme"
msgstr "Color scheme"
-#: ../gtk/gtksettings.c:657
+#: ../gtk/gtksettings.c:656
msgid "A palette of named colors for use in themes"
msgstr "A palette of named colors for use in themes"
-#: ../gtk/gtksettings.c:666
+#: ../gtk/gtksettings.c:665
msgid "Enable Animations"
msgstr "Enable Animations"
-#: ../gtk/gtksettings.c:667
+#: ../gtk/gtksettings.c:666
msgid "Whether to enable toolkit-wide animations."
msgstr "Whether to enable toolkit-wide animations."
-#: ../gtk/gtksettings.c:685
+#: ../gtk/gtksettings.c:684
msgid "Enable Touchscreen Mode"
msgstr "Enable Touchscreen Mode"
-#: ../gtk/gtksettings.c:686
+#: ../gtk/gtksettings.c:685
msgid "When TRUE, there are no motion notify events delivered on this screen"
msgstr "When TRUE, there are no motion notify events delivered on this screen"
-#: ../gtk/gtksettings.c:703
+#: ../gtk/gtksettings.c:702
msgid "Tooltip timeout"
msgstr "Tooltip timeout"
-#: ../gtk/gtksettings.c:704
+#: ../gtk/gtksettings.c:703
msgid "Timeout before tooltip is shown"
msgstr "Timeout before tooltip is shown"
-#: ../gtk/gtksettings.c:729
+#: ../gtk/gtksettings.c:728
msgid "Tooltip browse timeout"
msgstr "Tooltip browse timeout"
-#: ../gtk/gtksettings.c:730
+#: ../gtk/gtksettings.c:729
msgid "Timeout before tooltip is shown when browse mode is enabled"
msgstr "Timeout before tooltip is shown when browse mode is enabled"
-#: ../gtk/gtksettings.c:751
+#: ../gtk/gtksettings.c:750
msgid "Tooltip browse mode timeout"
msgstr "Tooltip browse mode timeout"
-#: ../gtk/gtksettings.c:752
+#: ../gtk/gtksettings.c:751
msgid "Timeout after which browse mode is disabled"
msgstr "Timeout after which browse mode is disabled"
-#: ../gtk/gtksettings.c:771
+#: ../gtk/gtksettings.c:770
msgid "Keynav Cursor Only"
msgstr "Keynav Cursor Only"
-#: ../gtk/gtksettings.c:772
+#: ../gtk/gtksettings.c:771
msgid "When TRUE, there are only cursor keys available to navigate widgets"
msgstr "When TRUE, there are only cursor keys available to navigate widgets"
-#: ../gtk/gtksettings.c:789
+#: ../gtk/gtksettings.c:788
msgid "Keynav Wrap Around"
msgstr "Keynav Wrap Around"
-#: ../gtk/gtksettings.c:790
+#: ../gtk/gtksettings.c:789
msgid "Whether to wrap around when keyboard-navigating widgets"
msgstr "Whether to wrap around when keyboard-navigating widgets"
-#: ../gtk/gtksettings.c:810
+#: ../gtk/gtksettings.c:809
msgid "Error Bell"
msgstr "Error Bell"
-#: ../gtk/gtksettings.c:811
+#: ../gtk/gtksettings.c:810
msgid "When TRUE, keyboard navigation and other errors will cause a beep"
msgstr "When TRUE, keyboard navigation and other errors will cause a beep"
-#: ../gtk/gtksettings.c:828
+#: ../gtk/gtksettings.c:827
msgid "Color Hash"
msgstr "Color Hash"
-#: ../gtk/gtksettings.c:829
+#: ../gtk/gtksettings.c:828
msgid "A hash table representation of the color scheme."
msgstr "A hash table representation of the color scheme."
-#: ../gtk/gtksettings.c:837
+#: ../gtk/gtksettings.c:836
msgid "Default file chooser backend"
msgstr "Default file chooser backend"
-#: ../gtk/gtksettings.c:838
+#: ../gtk/gtksettings.c:837
msgid "Name of the GtkFileChooser backend to use by default"
msgstr "Name of the GtkFileChooser backend to use by default"
-#: ../gtk/gtksettings.c:855
+#: ../gtk/gtksettings.c:854
msgid "Default print backend"
msgstr "Default print backend"
-#: ../gtk/gtksettings.c:856
+#: ../gtk/gtksettings.c:855
msgid "List of the GtkPrintBackend backends to use by default"
msgstr "List of the GtkPrintBackend backends to use by default"
-#: ../gtk/gtksettings.c:879
+#: ../gtk/gtksettings.c:878
msgid "Default command to run when displaying a print preview"
msgstr "Default command to run when displaying a print preview"
-#: ../gtk/gtksettings.c:880
+#: ../gtk/gtksettings.c:879
msgid "Command to run when displaying a print preview"
msgstr "Command to run when displaying a print preview"
-#: ../gtk/gtksettings.c:896
+#: ../gtk/gtksettings.c:895
msgid "Enable Mnemonics"
msgstr "Enable Mnemonics"
-#: ../gtk/gtksettings.c:897
+#: ../gtk/gtksettings.c:896
msgid "Whether labels should have mnemonics"
msgstr "Whether labels should have mnemonics"
-#: ../gtk/gtksettings.c:913
+#: ../gtk/gtksettings.c:912
msgid "Enable Accelerators"
msgstr "Enable Accelerators"
-#: ../gtk/gtksettings.c:914
+#: ../gtk/gtksettings.c:913
msgid "Whether menu items should have accelerators"
msgstr "Whether menu items should have accelerators"
-#: ../gtk/gtksettings.c:931
+#: ../gtk/gtksettings.c:930
msgid "Recent Files Limit"
msgstr "Recent Files Limit"
-#: ../gtk/gtksettings.c:932
+#: ../gtk/gtksettings.c:931
msgid "Number of recently used files"
msgstr "Number of recently used files"
-#: ../gtk/gtksettings.c:950
+#: ../gtk/gtksettings.c:949
msgid "Default IM module"
msgstr "Default IM module"
-#: ../gtk/gtksettings.c:951
+#: ../gtk/gtksettings.c:950
msgid "Which IM module should be used by default"
msgstr "Which IM module should be used by default"
-#: ../gtk/gtksettings.c:969
+#: ../gtk/gtksettings.c:968
msgid "Recent Files Max Age"
msgstr "Recent Files Max Age"
-#: ../gtk/gtksettings.c:970
+#: ../gtk/gtksettings.c:969
msgid "Maximum age of recently used files, in days"
msgstr "Maximum age of recently used files, in days"
-#: ../gtk/gtksettings.c:979
+#: ../gtk/gtksettings.c:978
msgid "Fontconfig configuration timestamp"
msgstr "Fontconfig configuration timestamp"
-#: ../gtk/gtksettings.c:980
+#: ../gtk/gtksettings.c:979
msgid "Timestamp of current fontconfig configuration"
msgstr "Timestamp of current fontconfig configuration"
-#: ../gtk/gtksettings.c:1002
+#: ../gtk/gtksettings.c:1001
msgid "Sound Theme Name"
msgstr "Sound Theme Name"
-#: ../gtk/gtksettings.c:1003
+#: ../gtk/gtksettings.c:1002
msgid "XDG sound theme name"
msgstr "XDG sound theme name"
#. Translators: this means sounds that are played as feedback to user input
-#: ../gtk/gtksettings.c:1025
+#: ../gtk/gtksettings.c:1024
msgid "Audible Input Feedback"
msgstr "Audible Input Feedback"
-#: ../gtk/gtksettings.c:1026
+#: ../gtk/gtksettings.c:1025
msgid "Whether to play event sounds as feedback to user input"
msgstr "Whether to play event sounds as feedback to user input"
-#: ../gtk/gtksettings.c:1047
+#: ../gtk/gtksettings.c:1046
msgid "Enable Event Sounds"
msgstr "Enable Event Sounds"
-#: ../gtk/gtksettings.c:1048
+#: ../gtk/gtksettings.c:1047
msgid "Whether to play any event sounds at all"
msgstr "Whether to play any event sounds at all"
-#: ../gtk/gtksettings.c:1063
+#: ../gtk/gtksettings.c:1062
msgid "Enable Tooltips"
msgstr "Enable Tooltips"
-#: ../gtk/gtksettings.c:1064
+#: ../gtk/gtksettings.c:1063
msgid "Whether tooltips should be shown on widgets"
msgstr "Whether tooltips should be shown on widgets"
-#: ../gtk/gtksettings.c:1077
+#: ../gtk/gtksettings.c:1076
msgid "Toolbar style"
msgstr "Toolbar style"
-#: ../gtk/gtksettings.c:1078
+#: ../gtk/gtksettings.c:1077
msgid ""
"Whether default toolbars have text only, text and icons, icons only, etc."
msgstr ""
"Whether default toolbars have text only, text and icons, icons only, etc."
-#: ../gtk/gtksettings.c:1092
+#: ../gtk/gtksettings.c:1091
msgid "Toolbar Icon Size"
msgstr "Toolbar Icon Size"
-#: ../gtk/gtksettings.c:1093
+#: ../gtk/gtksettings.c:1092
msgid "The size of icons in default toolbars."
msgstr "The size of icons in default toolbars."
-#: ../gtk/gtksettings.c:1110
+#: ../gtk/gtksettings.c:1109
msgid "Auto Mnemonics"
msgstr "Auto Mnemonics"
-#: ../gtk/gtksettings.c:1111
+#: ../gtk/gtksettings.c:1110
msgid ""
"Whether mnemonics should be automatically shown and hidden when the user "
"presses the mnemonic activator."
"Whether mnemonics should be automatically shown and hidden when the user "
"presses the mnemonic activator."
-#: ../gtk/gtksettings.c:1136
+#: ../gtk/gtksettings.c:1135
msgid "Application prefers a dark theme"
msgstr "Application prefers a dark theme"
-#: ../gtk/gtksettings.c:1137
+#: ../gtk/gtksettings.c:1136
msgid "Whether the application prefers to have a dark theme."
msgstr "Whether the application prefers to have a dark theme."
-#: ../gtk/gtksettings.c:1152
+#: ../gtk/gtksettings.c:1151
msgid "Show button images"
msgstr "Show button images"
-#: ../gtk/gtksettings.c:1153
+#: ../gtk/gtksettings.c:1152
msgid "Whether images should be shown on buttons"
msgstr "Whether images should be shown on buttons"
-#: ../gtk/gtksettings.c:1161 ../gtk/gtksettings.c:1255
+#: ../gtk/gtksettings.c:1160 ../gtk/gtksettings.c:1254
msgid "Select on focus"
msgstr "Select on focus"
-#: ../gtk/gtksettings.c:1162
+#: ../gtk/gtksettings.c:1161
msgid "Whether to select the contents of an entry when it is focused"
msgstr "Whether to select the contents of an entry when it is focused"
-#: ../gtk/gtksettings.c:1179
+#: ../gtk/gtksettings.c:1178
msgid "Password Hint Timeout"
msgstr "Password Hint Timeout"
-#: ../gtk/gtksettings.c:1180
+#: ../gtk/gtksettings.c:1179
msgid "How long to show the last input character in hidden entries"
msgstr "How long to show the last input character in hidden entries"
-#: ../gtk/gtksettings.c:1189
+#: ../gtk/gtksettings.c:1188
msgid "Show menu images"
msgstr "Show menu images"
-#: ../gtk/gtksettings.c:1190
+#: ../gtk/gtksettings.c:1189
msgid "Whether images should be shown in menus"
msgstr "Whether images should be shown in menus"
-#: ../gtk/gtksettings.c:1198
+#: ../gtk/gtksettings.c:1197
msgid "Delay before drop down menus appear"
msgstr "Delay before drop down menus appear"
-#: ../gtk/gtksettings.c:1199
+#: ../gtk/gtksettings.c:1198
msgid "Delay before the submenus of a menu bar appear"
msgstr "Delay before the submenus of a menu bar appear"
-#: ../gtk/gtksettings.c:1216
+#: ../gtk/gtksettings.c:1215
msgid "Scrolled Window Placement"
msgstr "Scrolled Window Placement"
-#: ../gtk/gtksettings.c:1217
+#: ../gtk/gtksettings.c:1216
msgid ""
"Where the contents of scrolled windows are located with respect to the "
"scrollbars, if not overridden by the scrolled window's own placement."
"Where the contents of scrolled windows are located with respect to the "
"scrollbars, if not overridden by the scrolled window's own placement."
-#: ../gtk/gtksettings.c:1226
+#: ../gtk/gtksettings.c:1225
msgid "Can change accelerators"
msgstr "Can change accelerators"
-#: ../gtk/gtksettings.c:1227
+#: ../gtk/gtksettings.c:1226
msgid ""
"Whether menu accelerators can be changed by pressing a key over the menu item"
msgstr ""
"Whether menu accelerators can be changed by pressing a key over the menu item"
-#: ../gtk/gtksettings.c:1235
+#: ../gtk/gtksettings.c:1234
msgid "Delay before submenus appear"
msgstr "Delay before submenus appear"
-#: ../gtk/gtksettings.c:1236
+#: ../gtk/gtksettings.c:1235
msgid ""
"Minimum time the pointer must stay over a menu item before the submenu appear"
msgstr ""
"Minimum time the pointer must stay over a menu item before the submenu appear"
-#: ../gtk/gtksettings.c:1245
+#: ../gtk/gtksettings.c:1244
msgid "Delay before hiding a submenu"
msgstr "Delay before hiding a submenu"
-#: ../gtk/gtksettings.c:1246
+#: ../gtk/gtksettings.c:1245
msgid ""
"The time before hiding a submenu when the pointer is moving towards the "
"submenu"
"The time before hiding a submenu when the pointer is moving towards the "
"submenu"
-#: ../gtk/gtksettings.c:1256
+#: ../gtk/gtksettings.c:1255
msgid "Whether to select the contents of a selectable label when it is focused"
msgstr ""
"Whether to select the contents of a selectable label when it is focused"
-#: ../gtk/gtksettings.c:1264
+#: ../gtk/gtksettings.c:1263
msgid "Custom palette"
msgstr "Custom palette"
-#: ../gtk/gtksettings.c:1265
+#: ../gtk/gtksettings.c:1264
msgid "Palette to use in the color selector"
msgstr "Palette to use in the color selector"
-#: ../gtk/gtksettings.c:1273
+#: ../gtk/gtksettings.c:1272
msgid "IM Preedit style"
msgstr "IM Preedit style"
-#: ../gtk/gtksettings.c:1274
+#: ../gtk/gtksettings.c:1273
msgid "How to draw the input method preedit string"
msgstr "How to draw the input method preedit string"
-#: ../gtk/gtksettings.c:1283
+#: ../gtk/gtksettings.c:1282
msgid "IM Status style"
msgstr "IM Status style"
-#: ../gtk/gtksettings.c:1284
+#: ../gtk/gtksettings.c:1283
msgid "How to draw the input method statusbar"
msgstr "How to draw the input method statusbar"
msgstr ""
"If TRUE, unmapped widgets are ignored when determining the size of the group"
-#: ../gtk/gtkspinbutton.c:329
+#: ../gtk/gtkspinbutton.c:331
msgid "Climb Rate"
msgstr "Climb Rate"
-#: ../gtk/gtkspinbutton.c:349
+#: ../gtk/gtkspinbutton.c:351
msgid "Snap to Ticks"
msgstr "Snap to Ticks"
-#: ../gtk/gtkspinbutton.c:350
+#: ../gtk/gtkspinbutton.c:352
msgid ""
"Whether erroneous values are automatically changed to a spin button's "
"nearest step increment"
"Whether erroneous values are automatically changed to a spin button's "
"nearest step increment"
-#: ../gtk/gtkspinbutton.c:357
+#: ../gtk/gtkspinbutton.c:359
msgid "Numeric"
msgstr "Numeric"
-#: ../gtk/gtkspinbutton.c:358
+#: ../gtk/gtkspinbutton.c:360
msgid "Whether non-numeric characters should be ignored"
msgstr "Whether non-numeric characters should be ignored"
-#: ../gtk/gtkspinbutton.c:365
+#: ../gtk/gtkspinbutton.c:367
msgid "Wrap"
msgstr "Wrap"
-#: ../gtk/gtkspinbutton.c:366
+#: ../gtk/gtkspinbutton.c:368
msgid "Whether a spin button should wrap upon reaching its limits"
msgstr "Whether a spin button should wrap upon reaching its limits"
-#: ../gtk/gtkspinbutton.c:373
+#: ../gtk/gtkspinbutton.c:375
msgid "Update Policy"
msgstr "Update Policy"
-#: ../gtk/gtkspinbutton.c:374
+#: ../gtk/gtkspinbutton.c:376
msgid ""
"Whether the spin button should update always, or only when the value is legal"
msgstr ""
"Whether the spin button should update always, or only when the value is legal"
-#: ../gtk/gtkspinbutton.c:383
+#: ../gtk/gtkspinbutton.c:385
msgid "Reads the current value, or sets a new value"
msgstr "Reads the current value, or sets a new value"
-#: ../gtk/gtkspinbutton.c:392
+#: ../gtk/gtkspinbutton.c:394
msgid "Style of bevel around the spin button"
msgstr "Style of bevel around the spin button"
-#: ../gtk/gtkspinner.c:119
+#: ../gtk/gtkspinner.c:116
msgid "Whether the spinner is active"
msgstr "Whether the spinner is active"
-#: ../gtk/gtkstatusbar.c:182
+#: ../gtk/gtkstatusbar.c:183
msgid "Style of bevel around the statusbar text"
msgstr "Style of bevel around the statusbar text"
msgid "The orientation of the tray"
msgstr "The orientation of the tray"
-#: ../gtk/gtkstatusicon.c:370 ../gtk/gtkwidget.c:1073
+#: ../gtk/gtkstatusicon.c:370 ../gtk/gtkwidget.c:1089
msgid "Has tooltip"
msgstr "Has tooltip"
msgid "Whether this tray icon has a tooltip"
msgstr "Whether this tray icon has a tooltip"
-#: ../gtk/gtkstatusicon.c:396 ../gtk/gtkwidget.c:1094
+#: ../gtk/gtkstatusicon.c:396 ../gtk/gtkwidget.c:1110
msgid "Tooltip Text"
msgstr "Tooltip Text"
-#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1095 ../gtk/gtkwidget.c:1116
+#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1111 ../gtk/gtkwidget.c:1132
msgid "The contents of the tooltip for this widget"
msgstr "The contents of the tooltip for this widget"
-#: ../gtk/gtkstatusicon.c:420 ../gtk/gtkwidget.c:1115
+#: ../gtk/gtkstatusicon.c:420 ../gtk/gtkwidget.c:1131
msgid "Tooltip markup"
msgstr "Tooltip markup"
msgid "GtkStyleContext to get style from"
msgstr "GtkStyleContext to get style from"
-#: ../gtk/gtkstylecontext.c:545
+#: ../gtk/gtkstylecontext.c:432
msgid "The associated GdkScreen"
msgstr "The associated GdkScreen"
-#: ../gtk/gtkstylecontext.c:551
+#: ../gtk/gtkstylecontext.c:438
msgid "Direction"
msgstr "Direction"
-#: ../gtk/gtkstylecontext.c:552 ../gtk/gtktexttag.c:269
+#: ../gtk/gtkstylecontext.c:439 ../gtk/gtktexttag.c:269
msgid "Text direction"
msgstr "Text direction"
-#: ../gtk/gtkswitch.c:802
+#: ../gtk/gtkswitch.c:784
msgid "Whether the switch is on or off"
msgstr "Whether the switch is on or off"
-#: ../gtk/gtkswitch.c:837
+#: ../gtk/gtkswitch.c:818
msgid "The minimum width of the handle"
msgstr "The minimum width of the handle"
"adapts to theme changes etc. so is recommended. Pango predefines some scales "
"such as PANGO_SCALE_X_LARGE"
-#: ../gtk/gtktexttag.c:387 ../gtk/gtktextview.c:705
+#: ../gtk/gtktexttag.c:387 ../gtk/gtktextview.c:704
msgid "Left, right, or center justification"
msgstr "Left, right, or center justification"
msgid "Left margin"
msgstr "Left margin"
-#: ../gtk/gtktexttag.c:414 ../gtk/gtktextview.c:714
+#: ../gtk/gtktexttag.c:414 ../gtk/gtktextview.c:713
msgid "Width of the left margin in pixels"
msgstr "Width of the left margin in pixels"
msgid "Right margin"
msgstr "Right margin"
-#: ../gtk/gtktexttag.c:424 ../gtk/gtktextview.c:724
+#: ../gtk/gtktexttag.c:424 ../gtk/gtktextview.c:723
msgid "Width of the right margin in pixels"
msgstr "Width of the right margin in pixels"
-#: ../gtk/gtktexttag.c:434 ../gtk/gtktextview.c:733
+#: ../gtk/gtktexttag.c:434 ../gtk/gtktextview.c:732
msgid "Indent"
msgstr "Indent"
-#: ../gtk/gtktexttag.c:435 ../gtk/gtktextview.c:734
+#: ../gtk/gtktexttag.c:435 ../gtk/gtktextview.c:733
msgid "Amount to indent the paragraph, in pixels"
msgstr "Amount to indent the paragraph, in pixels"
msgid "Pixels above lines"
msgstr "Pixels above lines"
-#: ../gtk/gtktexttag.c:456 ../gtk/gtktextview.c:658
+#: ../gtk/gtktexttag.c:456 ../gtk/gtktextview.c:657
msgid "Pixels of blank space above paragraphs"
msgstr "Pixels of blank space above paragraphs"
msgid "Pixels below lines"
msgstr "Pixels below lines"
-#: ../gtk/gtktexttag.c:466 ../gtk/gtktextview.c:668
+#: ../gtk/gtktexttag.c:466 ../gtk/gtktextview.c:667
msgid "Pixels of blank space below paragraphs"
msgstr "Pixels of blank space below paragraphs"
msgid "Pixels inside wrap"
msgstr "Pixels inside wrap"
-#: ../gtk/gtktexttag.c:476 ../gtk/gtktextview.c:678
+#: ../gtk/gtktexttag.c:476 ../gtk/gtktextview.c:677
msgid "Pixels of blank space between wrapped lines in a paragraph"
msgstr "Pixels of blank space between wrapped lines in a paragraph"
-#: ../gtk/gtktexttag.c:503 ../gtk/gtktextview.c:696
+#: ../gtk/gtktexttag.c:503 ../gtk/gtktextview.c:695
msgid ""
"Whether to wrap lines never, at word boundaries, or at character boundaries"
msgstr ""
"Whether to wrap lines never, at word boundaries, or at character boundaries"
-#: ../gtk/gtktexttag.c:512 ../gtk/gtktextview.c:743
+#: ../gtk/gtktexttag.c:512 ../gtk/gtktextview.c:742
msgid "Tabs"
msgstr "Tabs"
-#: ../gtk/gtktexttag.c:513 ../gtk/gtktextview.c:744
+#: ../gtk/gtktexttag.c:513 ../gtk/gtktextview.c:743
msgid "Custom tabs for this text"
msgstr "Custom tabs for this text"
msgid "Whether this tag affects the paragraph background color"
msgstr "Whether this tag affects the paragraph background color"
-#: ../gtk/gtktextview.c:657
+#: ../gtk/gtktextview.c:656
msgid "Pixels Above Lines"
msgstr "Pixels Above Lines"
-#: ../gtk/gtktextview.c:667
+#: ../gtk/gtktextview.c:666
msgid "Pixels Below Lines"
msgstr "Pixels Below Lines"
-#: ../gtk/gtktextview.c:677
+#: ../gtk/gtktextview.c:676
msgid "Pixels Inside Wrap"
msgstr "Pixels Inside Wrap"
-#: ../gtk/gtktextview.c:695
+#: ../gtk/gtktextview.c:694
msgid "Wrap Mode"
msgstr "Wrap Mode"
-#: ../gtk/gtktextview.c:713
+#: ../gtk/gtktextview.c:712
msgid "Left Margin"
msgstr "Left Margin"
-#: ../gtk/gtktextview.c:723
+#: ../gtk/gtktextview.c:722
msgid "Right Margin"
msgstr "Right Margin"
-#: ../gtk/gtktextview.c:751
+#: ../gtk/gtktextview.c:750
msgid "Cursor Visible"
msgstr "Cursor Visible"
-#: ../gtk/gtktextview.c:752
+#: ../gtk/gtktextview.c:751
msgid "If the insertion cursor is shown"
msgstr "If the insertion cursor is shown"
-#: ../gtk/gtktextview.c:759
+#: ../gtk/gtktextview.c:758
msgid "Buffer"
msgstr "Buffer"
-#: ../gtk/gtktextview.c:760
+#: ../gtk/gtktextview.c:759
msgid "The buffer which is displayed"
msgstr "The buffer which is displayed"
-#: ../gtk/gtktextview.c:768
+#: ../gtk/gtktextview.c:767
msgid "Whether entered text overwrites existing contents"
msgstr "Whether entered text overwrites existing contents"
-#: ../gtk/gtktextview.c:775
+#: ../gtk/gtktextview.c:774
msgid "Accepts tab"
msgstr "Accepts tab"
-#: ../gtk/gtktextview.c:776
+#: ../gtk/gtktextview.c:775
msgid "Whether Tab will result in a tab character being entered"
msgstr "Whether Tab will result in a tab character being entered"
-#: ../gtk/gtktextview.c:811
+#: ../gtk/gtktextview.c:810
msgid "Error underline color"
msgstr "Error underline color"
-#: ../gtk/gtktextview.c:812
+#: ../gtk/gtktextview.c:811
msgid "Color with which to draw error-indication underlines"
msgstr "Color with which to draw error-indication underlines"
-#: ../gtk/gtkthemingengine.c:258
+#: ../gtk/gtkthemingengine.c:259
msgid "Theming engine name"
msgstr "Theming engine name"
msgid "Whether the toggle action should be active"
msgstr "Whether the toggle action should be active"
-#: ../gtk/gtktogglebutton.c:178 ../gtk/gtktoggletoolbutton.c:128
+#: ../gtk/gtktogglebutton.c:179 ../gtk/gtktoggletoolbutton.c:128
msgid "If the toggle button should be pressed in"
msgstr "If the toggle button should be pressed in"
-#: ../gtk/gtktogglebutton.c:186
+#: ../gtk/gtktogglebutton.c:187
msgid "If the toggle button is in an \"in between\" state"
msgstr "If the toggle button is in an \"in between\" state"
-#: ../gtk/gtktogglebutton.c:193
+#: ../gtk/gtktogglebutton.c:194
msgid "Draw Indicator"
msgstr "Draw Indicator"
-#: ../gtk/gtktogglebutton.c:194
+#: ../gtk/gtktogglebutton.c:195
msgid "If the toggle part of the button is displayed"
msgstr "If the toggle part of the button is displayed"
-#: ../gtk/gtktoolbar.c:492 ../gtk/gtktoolpalette.c:1036
+#: ../gtk/gtktoolbar.c:499 ../gtk/gtktoolpalette.c:1038
msgid "Toolbar Style"
msgstr "Toolbar Style"
-#: ../gtk/gtktoolbar.c:493
+#: ../gtk/gtktoolbar.c:500
msgid "How to draw the toolbar"
msgstr "How to draw the toolbar"
-#: ../gtk/gtktoolbar.c:500
+#: ../gtk/gtktoolbar.c:507
msgid "Show Arrow"
msgstr "Show Arrow"
-#: ../gtk/gtktoolbar.c:501
+#: ../gtk/gtktoolbar.c:508
msgid "If an arrow should be shown if the toolbar doesn't fit"
msgstr "If an arrow should be shown if the toolbar doesn't fit"
-#: ../gtk/gtktoolbar.c:522
+#: ../gtk/gtktoolbar.c:529
msgid "Size of icons in this toolbar"
msgstr "Size of icons in this toolbar"
-#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1022
+#: ../gtk/gtktoolbar.c:544 ../gtk/gtktoolpalette.c:1024
msgid "Icon size set"
msgstr "Icon size set"
-#: ../gtk/gtktoolbar.c:538 ../gtk/gtktoolpalette.c:1023
+#: ../gtk/gtktoolbar.c:545 ../gtk/gtktoolpalette.c:1025
msgid "Whether the icon-size property has been set"
msgstr "Whether the icon-size property has been set"
-#: ../gtk/gtktoolbar.c:547
+#: ../gtk/gtktoolbar.c:554
msgid "Whether the item should receive extra space when the toolbar grows"
msgstr "Whether the item should receive extra space when the toolbar grows"
-#: ../gtk/gtktoolbar.c:555 ../gtk/gtktoolitemgroup.c:1645
+#: ../gtk/gtktoolbar.c:562 ../gtk/gtktoolitemgroup.c:1646
msgid "Whether the item should be the same size as other homogeneous items"
msgstr "Whether the item should be the same size as other homogeneous items"
-#: ../gtk/gtktoolbar.c:562
+#: ../gtk/gtktoolbar.c:569
msgid "Spacer size"
msgstr "Spacer size"
-#: ../gtk/gtktoolbar.c:563
+#: ../gtk/gtktoolbar.c:570
msgid "Size of spacers"
msgstr "Size of spacers"
-#: ../gtk/gtktoolbar.c:572
+#: ../gtk/gtktoolbar.c:579
msgid "Amount of border space between the toolbar shadow and the buttons"
msgstr "Amount of border space between the toolbar shadow and the buttons"
-#: ../gtk/gtktoolbar.c:580
+#: ../gtk/gtktoolbar.c:587
msgid "Maximum child expand"
msgstr "Maximum child expand"
-#: ../gtk/gtktoolbar.c:581
+#: ../gtk/gtktoolbar.c:588
msgid "Maximum amount of space an expandable item will be given"
msgstr "Maximum amount of space an expandable item will be given"
-#: ../gtk/gtktoolbar.c:589
+#: ../gtk/gtktoolbar.c:596
msgid "Space style"
msgstr "Space style"
-#: ../gtk/gtktoolbar.c:590
+#: ../gtk/gtktoolbar.c:597
msgid "Whether spacers are vertical lines or just blank"
msgstr "Whether spacers are vertical lines or just blank"
-#: ../gtk/gtktoolbar.c:597
+#: ../gtk/gtktoolbar.c:604
msgid "Button relief"
msgstr "Button relief"
-#: ../gtk/gtktoolbar.c:598
+#: ../gtk/gtktoolbar.c:605
msgid "Type of bevel around toolbar buttons"
msgstr "Type of bevel around toolbar buttons"
-#: ../gtk/gtktoolbar.c:605
+#: ../gtk/gtktoolbar.c:612
msgid "Style of bevel around the toolbar"
msgstr "Style of bevel around the toolbar"
"Whether the toolbar item is considered important. When TRUE, toolbar buttons "
"show text in GTK_TOOLBAR_BOTH_HORIZ mode"
-#: ../gtk/gtktoolitemgroup.c:1592
+#: ../gtk/gtktoolitemgroup.c:1593
msgid "The human-readable title of this item group"
msgstr "The human-readable title of this item group"
-#: ../gtk/gtktoolitemgroup.c:1599
+#: ../gtk/gtktoolitemgroup.c:1600
msgid "A widget to display in place of the usual label"
msgstr "A widget to display in place of the usual label"
-#: ../gtk/gtktoolitemgroup.c:1605
+#: ../gtk/gtktoolitemgroup.c:1606
msgid "Collapsed"
msgstr "Collapsed"
-#: ../gtk/gtktoolitemgroup.c:1606
+#: ../gtk/gtktoolitemgroup.c:1607
msgid "Whether the group has been collapsed and items are hidden"
msgstr "Whether the group has been collapsed and items are hidden"
-#: ../gtk/gtktoolitemgroup.c:1612
+#: ../gtk/gtktoolitemgroup.c:1613
msgid "ellipsize"
msgstr "ellipsize"
-#: ../gtk/gtktoolitemgroup.c:1613
+#: ../gtk/gtktoolitemgroup.c:1614
msgid "Ellipsize for item group headers"
msgstr "Ellipsize for item group headers"
-#: ../gtk/gtktoolitemgroup.c:1619
+#: ../gtk/gtktoolitemgroup.c:1620
msgid "Header Relief"
msgstr "Header Relief"
-#: ../gtk/gtktoolitemgroup.c:1620
+#: ../gtk/gtktoolitemgroup.c:1621
msgid "Relief of the group header button"
msgstr "Relief of the group header button"
-#: ../gtk/gtktoolitemgroup.c:1635
+#: ../gtk/gtktoolitemgroup.c:1636
msgid "Header Spacing"
msgstr "Header Spacing"
-#: ../gtk/gtktoolitemgroup.c:1636
+#: ../gtk/gtktoolitemgroup.c:1637
msgid "Spacing between expander arrow and caption"
msgstr "Spacing between expander arrow and caption"
-#: ../gtk/gtktoolitemgroup.c:1652
+#: ../gtk/gtktoolitemgroup.c:1653
msgid "Whether the item should receive extra space when the group grows"
msgstr "Whether the item should receive extra space when the group grows"
-#: ../gtk/gtktoolitemgroup.c:1659
+#: ../gtk/gtktoolitemgroup.c:1660
msgid "Whether the item should fill the available space"
msgstr "Whether the item should fill the available space"
-#: ../gtk/gtktoolitemgroup.c:1665
+#: ../gtk/gtktoolitemgroup.c:1666
msgid "New Row"
msgstr "New Row"
-#: ../gtk/gtktoolitemgroup.c:1666
+#: ../gtk/gtktoolitemgroup.c:1667
msgid "Whether the item should start a new row"
msgstr "Whether the item should start a new row"
-#: ../gtk/gtktoolitemgroup.c:1673
+#: ../gtk/gtktoolitemgroup.c:1674
msgid "Position of the item within this group"
msgstr "Position of the item within this group"
-#: ../gtk/gtktoolpalette.c:1007
+#: ../gtk/gtktoolpalette.c:1009
msgid "Size of icons in this tool palette"
msgstr "Size of icons in this tool palette"
-#: ../gtk/gtktoolpalette.c:1037
+#: ../gtk/gtktoolpalette.c:1039
msgid "Style of items in the tool palette"
msgstr "Style of items in the tool palette"
-#: ../gtk/gtktoolpalette.c:1053
+#: ../gtk/gtktoolpalette.c:1055
msgid "Exclusive"
msgstr "Exclusive"
-#: ../gtk/gtktoolpalette.c:1054
+#: ../gtk/gtktoolpalette.c:1056
msgid "Whether the item group should be the only expanded at a given time"
msgstr "Whether the item group should be the only expanded at a given time"
-#: ../gtk/gtktoolpalette.c:1069
+#: ../gtk/gtktoolpalette.c:1071
msgid ""
"Whether the item group should receive extra space when the palette grows"
msgstr ""
msgid "The model for the TreeModelSort to sort"
msgstr "The model for the TreeModelSort to sort"
-#: ../gtk/gtktreeview.c:984
+#: ../gtk/gtktreeview.c:985
msgid "TreeView Model"
msgstr "TreeView Model"
-#: ../gtk/gtktreeview.c:985
+#: ../gtk/gtktreeview.c:986
msgid "The model for the tree view"
msgstr "The model for the tree view"
-#: ../gtk/gtktreeview.c:997
+#: ../gtk/gtktreeview.c:998
msgid "Headers Visible"
msgstr "Headers Visible"
-#: ../gtk/gtktreeview.c:998
+#: ../gtk/gtktreeview.c:999
msgid "Show the column header buttons"
msgstr "Show the column header buttons"
-#: ../gtk/gtktreeview.c:1005
+#: ../gtk/gtktreeview.c:1006
msgid "Headers Clickable"
msgstr "Headers Clickable"
-#: ../gtk/gtktreeview.c:1006
+#: ../gtk/gtktreeview.c:1007
msgid "Column headers respond to click events"
msgstr "Column headers respond to click events"
-#: ../gtk/gtktreeview.c:1013
+#: ../gtk/gtktreeview.c:1014
msgid "Expander Column"
msgstr "Expander Column"
-#: ../gtk/gtktreeview.c:1014
+#: ../gtk/gtktreeview.c:1015
msgid "Set the column for the expander column"
msgstr "Set the column for the expander column"
-#: ../gtk/gtktreeview.c:1029
+#: ../gtk/gtktreeview.c:1030
msgid "Rules Hint"
msgstr "Rules Hint"
-#: ../gtk/gtktreeview.c:1030
+#: ../gtk/gtktreeview.c:1031
msgid "Set a hint to the theme engine to draw rows in alternating colors"
msgstr "Set a hint to the theme engine to draw rows in alternating colors"
-#: ../gtk/gtktreeview.c:1037
+#: ../gtk/gtktreeview.c:1038
msgid "Enable Search"
msgstr "Enable Search"
-#: ../gtk/gtktreeview.c:1038
+#: ../gtk/gtktreeview.c:1039
msgid "View allows user to search through columns interactively"
msgstr "View allows user to search through columns interactively"
-#: ../gtk/gtktreeview.c:1045
+#: ../gtk/gtktreeview.c:1046
msgid "Search Column"
msgstr "Search Column"
-#: ../gtk/gtktreeview.c:1046
+#: ../gtk/gtktreeview.c:1047
msgid "Model column to search through during interactive search"
msgstr "Model column to search through during interactive search"
-#: ../gtk/gtktreeview.c:1066
+#: ../gtk/gtktreeview.c:1067
msgid "Fixed Height Mode"
msgstr "Fixed Height Mode"
-#: ../gtk/gtktreeview.c:1067
+#: ../gtk/gtktreeview.c:1068
msgid "Speeds up GtkTreeView by assuming that all rows have the same height"
msgstr "Speeds up GtkTreeView by assuming that all rows have the same height"
-#: ../gtk/gtktreeview.c:1087
+#: ../gtk/gtktreeview.c:1088
msgid "Hover Selection"
msgstr "Hover Selection"
-#: ../gtk/gtktreeview.c:1088
+#: ../gtk/gtktreeview.c:1089
msgid "Whether the selection should follow the pointer"
msgstr "Whether the selection should follow the pointer"
-#: ../gtk/gtktreeview.c:1107
+#: ../gtk/gtktreeview.c:1108
msgid "Hover Expand"
msgstr "Hover Expand"
-#: ../gtk/gtktreeview.c:1108
+#: ../gtk/gtktreeview.c:1109
msgid ""
"Whether rows should be expanded/collapsed when the pointer moves over them"
msgstr ""
"Whether rows should be expanded/collapsed when the pointer moves over them"
-#: ../gtk/gtktreeview.c:1122
+#: ../gtk/gtktreeview.c:1123
msgid "Show Expanders"
msgstr "Show Expanders"
-#: ../gtk/gtktreeview.c:1123
+#: ../gtk/gtktreeview.c:1124
msgid "View has expanders"
msgstr "View has expanders"
-#: ../gtk/gtktreeview.c:1137
+#: ../gtk/gtktreeview.c:1138
msgid "Level Indentation"
msgstr "Level Indentation"
-#: ../gtk/gtktreeview.c:1138
+#: ../gtk/gtktreeview.c:1139
msgid "Extra indentation for each level"
msgstr "Extra indentation for each level"
-#: ../gtk/gtktreeview.c:1147
+#: ../gtk/gtktreeview.c:1148
msgid "Rubber Banding"
msgstr "Rubber Banding"
-#: ../gtk/gtktreeview.c:1148
+#: ../gtk/gtktreeview.c:1149
msgid ""
"Whether to enable selection of multiple items by dragging the mouse pointer"
msgstr ""
"Whether to enable selection of multiple items by dragging the mouse pointer"
-#: ../gtk/gtktreeview.c:1155
+#: ../gtk/gtktreeview.c:1156
msgid "Enable Grid Lines"
msgstr "Enable Grid Lines"
-#: ../gtk/gtktreeview.c:1156
+#: ../gtk/gtktreeview.c:1157
msgid "Whether grid lines should be drawn in the tree view"
msgstr "Whether grid lines should be drawn in the tree view"
-#: ../gtk/gtktreeview.c:1164
+#: ../gtk/gtktreeview.c:1165
msgid "Enable Tree Lines"
msgstr "Enable Tree Lines"
-#: ../gtk/gtktreeview.c:1165
+#: ../gtk/gtktreeview.c:1166
msgid "Whether tree lines should be drawn in the tree view"
msgstr "Whether tree lines should be drawn in the tree view"
-#: ../gtk/gtktreeview.c:1173
+#: ../gtk/gtktreeview.c:1174
msgid "The column in the model containing the tooltip texts for the rows"
msgstr "The column in the model containing the tooltip texts for the rows"
-#: ../gtk/gtktreeview.c:1195
+#: ../gtk/gtktreeview.c:1196
msgid "Vertical Separator Width"
msgstr "Vertical Separator Width"
-#: ../gtk/gtktreeview.c:1196
+#: ../gtk/gtktreeview.c:1197
msgid "Vertical space between cells. Must be an even number"
msgstr "Vertical space between cells. Must be an even number"
-#: ../gtk/gtktreeview.c:1204
+#: ../gtk/gtktreeview.c:1205
msgid "Horizontal Separator Width"
msgstr "Horizontal Separator Width"
-#: ../gtk/gtktreeview.c:1205
+#: ../gtk/gtktreeview.c:1206
msgid "Horizontal space between cells. Must be an even number"
msgstr "Horizontal space between cells. Must be an even number"
-#: ../gtk/gtktreeview.c:1213
+#: ../gtk/gtktreeview.c:1214
msgid "Allow Rules"
msgstr "Allow Rules"
-#: ../gtk/gtktreeview.c:1214
+#: ../gtk/gtktreeview.c:1215
msgid "Allow drawing of alternating color rows"
msgstr "Allow drawing of alternating color rows"
-#: ../gtk/gtktreeview.c:1220
+#: ../gtk/gtktreeview.c:1221
msgid "Indent Expanders"
msgstr "Indent Expanders"
-#: ../gtk/gtktreeview.c:1221
+#: ../gtk/gtktreeview.c:1222
msgid "Make the expanders indented"
msgstr "Make the expanders indented"
-#: ../gtk/gtktreeview.c:1227
+#: ../gtk/gtktreeview.c:1228
msgid "Even Row Color"
msgstr "Even Row Color"
-#: ../gtk/gtktreeview.c:1228
+#: ../gtk/gtktreeview.c:1229
msgid "Color to use for even rows"
msgstr "Color to use for even rows"
-#: ../gtk/gtktreeview.c:1234
+#: ../gtk/gtktreeview.c:1235
msgid "Odd Row Color"
msgstr "Odd Row Color"
-#: ../gtk/gtktreeview.c:1235
+#: ../gtk/gtktreeview.c:1236
msgid "Color to use for odd rows"
msgstr "Color to use for odd rows"
-#: ../gtk/gtktreeview.c:1241
+#: ../gtk/gtktreeview.c:1242
msgid "Grid line width"
msgstr "Grid line width"
-#: ../gtk/gtktreeview.c:1242
+#: ../gtk/gtktreeview.c:1243
msgid "Width, in pixels, of the tree view grid lines"
msgstr "Width, in pixels, of the tree view grid lines"
-#: ../gtk/gtktreeview.c:1248
+#: ../gtk/gtktreeview.c:1249
msgid "Tree line width"
msgstr "Tree line width"
-#: ../gtk/gtktreeview.c:1249
+#: ../gtk/gtktreeview.c:1250
msgid "Width, in pixels, of the tree view lines"
msgstr "Width, in pixels, of the tree view lines"
-#: ../gtk/gtktreeview.c:1255
+#: ../gtk/gtktreeview.c:1256
msgid "Grid line pattern"
msgstr "Grid line pattern"
-#: ../gtk/gtktreeview.c:1256
+#: ../gtk/gtktreeview.c:1257
msgid "Dash pattern used to draw the tree view grid lines"
msgstr "Dash pattern used to draw the tree view grid lines"
-#: ../gtk/gtktreeview.c:1262
+#: ../gtk/gtktreeview.c:1263
msgid "Tree line pattern"
msgstr "Tree line pattern"
-#: ../gtk/gtktreeview.c:1263
+#: ../gtk/gtktreeview.c:1264
msgid "Dash pattern used to draw the tree view lines"
msgstr "Dash pattern used to draw the tree view lines"
msgid "Whether to use symbolic icons"
msgstr "Whether to use symbolic icons"
-#: ../gtk/gtkwidget.c:932
+#: ../gtk/gtkwidget.c:948
msgid "Widget name"
msgstr "Widget name"
-#: ../gtk/gtkwidget.c:933
+#: ../gtk/gtkwidget.c:949
msgid "The name of the widget"
msgstr "The name of the widget"
-#: ../gtk/gtkwidget.c:939
+#: ../gtk/gtkwidget.c:955
msgid "Parent widget"
msgstr "Parent widget"
-#: ../gtk/gtkwidget.c:940
+#: ../gtk/gtkwidget.c:956
msgid "The parent widget of this widget. Must be a Container widget"
msgstr "The parent widget of this widget. Must be a Container widget"
-#: ../gtk/gtkwidget.c:947
+#: ../gtk/gtkwidget.c:963
msgid "Width request"
msgstr "Width request"
-#: ../gtk/gtkwidget.c:948
+#: ../gtk/gtkwidget.c:964
msgid ""
"Override for width request of the widget, or -1 if natural request should be "
"used"
"Override for width request of the widget, or -1 if natural request should be "
"used"
-#: ../gtk/gtkwidget.c:956
+#: ../gtk/gtkwidget.c:972
msgid "Height request"
msgstr "Height request"
-#: ../gtk/gtkwidget.c:957
+#: ../gtk/gtkwidget.c:973
msgid ""
"Override for height request of the widget, or -1 if natural request should "
"be used"
"Override for height request of the widget, or -1 if natural request should "
"be used"
-#: ../gtk/gtkwidget.c:966
+#: ../gtk/gtkwidget.c:982
msgid "Whether the widget is visible"
msgstr "Whether the widget is visible"
-#: ../gtk/gtkwidget.c:973
+#: ../gtk/gtkwidget.c:989
msgid "Whether the widget responds to input"
msgstr "Whether the widget responds to input"
-#: ../gtk/gtkwidget.c:979
+#: ../gtk/gtkwidget.c:995
msgid "Application paintable"
msgstr "Application paintable"
-#: ../gtk/gtkwidget.c:980
+#: ../gtk/gtkwidget.c:996
msgid "Whether the application will paint directly on the widget"
msgstr "Whether the application will paint directly on the widget"
-#: ../gtk/gtkwidget.c:986
+#: ../gtk/gtkwidget.c:1002
msgid "Can focus"
msgstr "Can focus"
-#: ../gtk/gtkwidget.c:987
+#: ../gtk/gtkwidget.c:1003
msgid "Whether the widget can accept the input focus"
msgstr "Whether the widget can accept the input focus"
-#: ../gtk/gtkwidget.c:993
+#: ../gtk/gtkwidget.c:1009
msgid "Has focus"
msgstr "Has focus"
-#: ../gtk/gtkwidget.c:994
+#: ../gtk/gtkwidget.c:1010
msgid "Whether the widget has the input focus"
msgstr "Whether the widget has the input focus"
-#: ../gtk/gtkwidget.c:1000
+#: ../gtk/gtkwidget.c:1016
msgid "Is focus"
msgstr "Is focus"
-#: ../gtk/gtkwidget.c:1001
+#: ../gtk/gtkwidget.c:1017
msgid "Whether the widget is the focus widget within the toplevel"
msgstr "Whether the widget is the focus widget within the toplevel"
-#: ../gtk/gtkwidget.c:1007
+#: ../gtk/gtkwidget.c:1023
msgid "Can default"
msgstr "Can default"
-#: ../gtk/gtkwidget.c:1008
+#: ../gtk/gtkwidget.c:1024
msgid "Whether the widget can be the default widget"
msgstr "Whether the widget can be the default widget"
-#: ../gtk/gtkwidget.c:1014
+#: ../gtk/gtkwidget.c:1030
msgid "Has default"
msgstr "Has default"
-#: ../gtk/gtkwidget.c:1015
+#: ../gtk/gtkwidget.c:1031
msgid "Whether the widget is the default widget"
msgstr "Whether the widget is the default widget"
-#: ../gtk/gtkwidget.c:1021
+#: ../gtk/gtkwidget.c:1037
msgid "Receives default"
msgstr "Receives default"
-#: ../gtk/gtkwidget.c:1022
+#: ../gtk/gtkwidget.c:1038
msgid "If TRUE, the widget will receive the default action when it is focused"
msgstr "If TRUE, the widget will receive the default action when it is focused"
-#: ../gtk/gtkwidget.c:1028
+#: ../gtk/gtkwidget.c:1044
msgid "Composite child"
msgstr "Composite child"
-#: ../gtk/gtkwidget.c:1029
+#: ../gtk/gtkwidget.c:1045
msgid "Whether the widget is part of a composite widget"
msgstr "Whether the widget is part of a composite widget"
-#: ../gtk/gtkwidget.c:1035
+#: ../gtk/gtkwidget.c:1051
msgid "Style"
msgstr "Style"
-#: ../gtk/gtkwidget.c:1036
+#: ../gtk/gtkwidget.c:1052
msgid ""
"The style of the widget, which contains information about how it will look "
"(colors etc)"
"The style of the widget, which contains information about how it will look "
"(colors etc)"
-#: ../gtk/gtkwidget.c:1042
+#: ../gtk/gtkwidget.c:1058
msgid "Events"
msgstr "Events"
-#: ../gtk/gtkwidget.c:1043
+#: ../gtk/gtkwidget.c:1059
msgid "The event mask that decides what kind of GdkEvents this widget gets"
msgstr "The event mask that decides what kind of GdkEvents this widget gets"
-#: ../gtk/gtkwidget.c:1050
+#: ../gtk/gtkwidget.c:1066
msgid "No show all"
msgstr "No show all"
-#: ../gtk/gtkwidget.c:1051
+#: ../gtk/gtkwidget.c:1067
msgid "Whether gtk_widget_show_all() should not affect this widget"
msgstr "Whether gtk_widget_show_all() should not affect this widget"
-#: ../gtk/gtkwidget.c:1074
+#: ../gtk/gtkwidget.c:1090
msgid "Whether this widget has a tooltip"
msgstr "Whether this widget has a tooltip"
-#: ../gtk/gtkwidget.c:1130
+#: ../gtk/gtkwidget.c:1146
msgid "Window"
msgstr "Window"
-#: ../gtk/gtkwidget.c:1131
+#: ../gtk/gtkwidget.c:1147
msgid "The widget's window if it is realized"
msgstr "The widget's window if it is realized"
-#: ../gtk/gtkwidget.c:1145
+#: ../gtk/gtkwidget.c:1161
msgid "Double Buffered"
msgstr "Double Buffered"
-#: ../gtk/gtkwidget.c:1146
+#: ../gtk/gtkwidget.c:1162
msgid "Whether the widget is double buffered"
msgstr "Whether the widget is double buffered"
-#: ../gtk/gtkwidget.c:1161
+#: ../gtk/gtkwidget.c:1177
msgid "How to position in extra horizontal space"
msgstr "How to position in extra horizontal space"
-#: ../gtk/gtkwidget.c:1177
+#: ../gtk/gtkwidget.c:1193
msgid "How to position in extra vertical space"
msgstr "How to position in extra vertical space"
-#: ../gtk/gtkwidget.c:1196
+#: ../gtk/gtkwidget.c:1212
msgid "Margin on Left"
msgstr "Margin on Left"
-#: ../gtk/gtkwidget.c:1197
+#: ../gtk/gtkwidget.c:1213
msgid "Pixels of extra space on the left side"
msgstr "Pixels of extra space on the left side"
-#: ../gtk/gtkwidget.c:1217
+#: ../gtk/gtkwidget.c:1233
msgid "Margin on Right"
msgstr "Margin on Right"
-#: ../gtk/gtkwidget.c:1218
+#: ../gtk/gtkwidget.c:1234
msgid "Pixels of extra space on the right side"
msgstr "Pixels of extra space on the right side"
-#: ../gtk/gtkwidget.c:1238
+#: ../gtk/gtkwidget.c:1254
msgid "Margin on Top"
msgstr "Margin on Top"
-#: ../gtk/gtkwidget.c:1239
+#: ../gtk/gtkwidget.c:1255
msgid "Pixels of extra space on the top side"
msgstr "Pixels of extra space on the top side"
-#: ../gtk/gtkwidget.c:1259
+#: ../gtk/gtkwidget.c:1275
msgid "Margin on Bottom"
msgstr "Margin on Bottom"
-#: ../gtk/gtkwidget.c:1260
+#: ../gtk/gtkwidget.c:1276
msgid "Pixels of extra space on the bottom side"
msgstr "Pixels of extra space on the bottom side"
-#: ../gtk/gtkwidget.c:1277
+#: ../gtk/gtkwidget.c:1293
msgid "All Margins"
msgstr "All Margins"
-#: ../gtk/gtkwidget.c:1278
+#: ../gtk/gtkwidget.c:1294
msgid "Pixels of extra space on all four sides"
msgstr "Pixels of extra space on all four sides"
-#: ../gtk/gtkwidget.c:1311
+#: ../gtk/gtkwidget.c:1327
msgid "Horizontal Expand"
msgstr "Horizontal Expand"
-#: ../gtk/gtkwidget.c:1312
+#: ../gtk/gtkwidget.c:1328
msgid "Whether widget wants more horizontal space"
msgstr "Whether widget wants more horizontal space"
-#: ../gtk/gtkwidget.c:1326
+#: ../gtk/gtkwidget.c:1342
msgid "Horizontal Expand Set"
msgstr "Horizontal Expand Set"
-#: ../gtk/gtkwidget.c:1327
+#: ../gtk/gtkwidget.c:1343
msgid "Whether to use the hexpand property"
msgstr "Whether to use the hexpand property"
-#: ../gtk/gtkwidget.c:1341
+#: ../gtk/gtkwidget.c:1357
msgid "Vertical Expand"
msgstr "Vertical Expand"
-#: ../gtk/gtkwidget.c:1342
+#: ../gtk/gtkwidget.c:1358
msgid "Whether widget wants more vertical space"
msgstr "Whether widget wants more vertical space"
-#: ../gtk/gtkwidget.c:1356
+#: ../gtk/gtkwidget.c:1372
msgid "Vertical Expand Set"
msgstr "Vertical Expand Set"
-#: ../gtk/gtkwidget.c:1357
+#: ../gtk/gtkwidget.c:1373
msgid "Whether to use the vexpand property"
msgstr "Whether to use the vexpand property"
-#: ../gtk/gtkwidget.c:1371
+#: ../gtk/gtkwidget.c:1387
msgid "Expand Both"
msgstr "Expand Both"
-#: ../gtk/gtkwidget.c:1372
+#: ../gtk/gtkwidget.c:1388
msgid "Whether widget wants to expand in both directions"
msgstr "Whether widget wants to expand in both directions"
-#: ../gtk/gtkwidget.c:3009
+#: ../gtk/gtkwidget.c:3027
msgid "Interior Focus"
msgstr "Interior Focus"
-#: ../gtk/gtkwidget.c:3010
+#: ../gtk/gtkwidget.c:3028
msgid "Whether to draw the focus indicator inside widgets"
msgstr "Whether to draw the focus indicator inside widgets"
-#: ../gtk/gtkwidget.c:3016
+#: ../gtk/gtkwidget.c:3034
msgid "Focus linewidth"
msgstr "Focus linewidth"
-#: ../gtk/gtkwidget.c:3017
+#: ../gtk/gtkwidget.c:3035
msgid "Width, in pixels, of the focus indicator line"
msgstr "Width, in pixels, of the focus indicator line"
-#: ../gtk/gtkwidget.c:3023
+#: ../gtk/gtkwidget.c:3041
msgid "Focus line dash pattern"
msgstr "Focus line dash pattern"
-#: ../gtk/gtkwidget.c:3024
+#: ../gtk/gtkwidget.c:3042
msgid "Dash pattern used to draw the focus indicator"
msgstr "Dash pattern used to draw the focus indicator"
-#: ../gtk/gtkwidget.c:3029
+#: ../gtk/gtkwidget.c:3047
msgid "Focus padding"
msgstr "Focus padding"
-#: ../gtk/gtkwidget.c:3030
+#: ../gtk/gtkwidget.c:3048
msgid "Width, in pixels, between focus indicator and the widget 'box'"
msgstr "Width, in pixels, between focus indicator and the widget 'box'"
-#: ../gtk/gtkwidget.c:3035
+#: ../gtk/gtkwidget.c:3053
msgid "Cursor color"
msgstr "Cursor color"
-#: ../gtk/gtkwidget.c:3036
+#: ../gtk/gtkwidget.c:3054
msgid "Color with which to draw insertion cursor"
msgstr "Color with which to draw insertion cursor"
-#: ../gtk/gtkwidget.c:3041
+#: ../gtk/gtkwidget.c:3059
msgid "Secondary cursor color"
msgstr "Secondary cursor color"
-#: ../gtk/gtkwidget.c:3042
+#: ../gtk/gtkwidget.c:3060
msgid ""
"Color with which to draw the secondary insertion cursor when editing mixed "
"right-to-left and left-to-right text"
"Color with which to draw the secondary insertion cursor when editing mixed "
"right-to-left and left-to-right text"
-#: ../gtk/gtkwidget.c:3047
+#: ../gtk/gtkwidget.c:3065
msgid "Cursor line aspect ratio"
msgstr "Cursor line aspect ratio"
-#: ../gtk/gtkwidget.c:3048
+#: ../gtk/gtkwidget.c:3066
msgid "Aspect ratio with which to draw insertion cursor"
msgstr "Aspect ratio with which to draw insertion cursor"
-#: ../gtk/gtkwidget.c:3054
+#: ../gtk/gtkwidget.c:3072
msgid "Window dragging"
msgstr "Window dragging"
-#: ../gtk/gtkwidget.c:3055
+#: ../gtk/gtkwidget.c:3073
msgid "Whether windows can be dragged by clicking on empty areas"
msgstr "Whether windows can be dragged by clicking on empty areas"
-#: ../gtk/gtkwidget.c:3068
+#: ../gtk/gtkwidget.c:3086
msgid "Unvisited Link Color"
msgstr "Unvisited Link Color"
-#: ../gtk/gtkwidget.c:3069
+#: ../gtk/gtkwidget.c:3087
msgid "Color of unvisited links"
msgstr "Color of unvisited links"
-#: ../gtk/gtkwidget.c:3082
+#: ../gtk/gtkwidget.c:3100
msgid "Visited Link Color"
msgstr "Visited Link Color"
-#: ../gtk/gtkwidget.c:3083
+#: ../gtk/gtkwidget.c:3101
msgid "Color of visited links"
msgstr "Color of visited links"
-#: ../gtk/gtkwidget.c:3097
+#: ../gtk/gtkwidget.c:3115
msgid "Wide Separators"
msgstr "Wide Separators"
-#: ../gtk/gtkwidget.c:3098
+#: ../gtk/gtkwidget.c:3116
msgid ""
"Whether separators have configurable width and should be drawn using a box "
"instead of a line"
"Whether separators have configurable width and should be drawn using a box "
"instead of a line"
-#: ../gtk/gtkwidget.c:3112
+#: ../gtk/gtkwidget.c:3130
msgid "Separator Width"
msgstr "Separator Width"
-#: ../gtk/gtkwidget.c:3113
+#: ../gtk/gtkwidget.c:3131
msgid "The width of separators if wide-separators is TRUE"
msgstr "The width of separators if wide-separators is TRUE"
-#: ../gtk/gtkwidget.c:3127
+#: ../gtk/gtkwidget.c:3145
msgid "Separator Height"
msgstr "Separator Height"
-#: ../gtk/gtkwidget.c:3128
+#: ../gtk/gtkwidget.c:3146
msgid "The height of separators if \"wide-separators\" is TRUE"
msgstr "The height of separators if \"wide-separators\" is TRUE"
-#: ../gtk/gtkwidget.c:3142
+#: ../gtk/gtkwidget.c:3160
msgid "Horizontal Scroll Arrow Length"
msgstr "Horizontal Scroll Arrow Length"
-#: ../gtk/gtkwidget.c:3143
+#: ../gtk/gtkwidget.c:3161
msgid "The length of horizontal scroll arrows"
msgstr "The length of horizontal scroll arrows"
-#: ../gtk/gtkwidget.c:3157
+#: ../gtk/gtkwidget.c:3175
msgid "Vertical Scroll Arrow Length"
msgstr "Vertical Scroll Arrow Length"
-#: ../gtk/gtkwidget.c:3158
+#: ../gtk/gtkwidget.c:3176
msgid "The length of vertical scroll arrows"
msgstr "The length of vertical scroll arrows"
msgid "The GtkApplication for the window"
msgstr "The GtkApplication for the window"
+#: ../modules/printbackends/cups/gtkprintercups.c:95
+msgid "Color Profile Title"
+msgstr "Color Profile Title"
+
+#: ../modules/printbackends/cups/gtkprintercups.c:96
+msgid "The title of the color profile to use"
+msgstr "The title of the color profile to use"
+
#~ msgid "Not Authorized Text"
#~ msgstr "Not Authorized Text"
msgid ""
msgstr ""
"Project-Id-Version: lt\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-04-19 13:59+0200\n"
-"PO-Revision-Date: 2011-04-04 23:06+0300\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2011-07-14 12:44+0000\n"
+"PO-Revision-Date: 2011-07-16 17:21+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
-"Language: lt\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%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
-"%100<10 || n%100>=20) ? 1 : 2);\n"
+"Language: lt\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Virtaal 0.5.2\n"
-#: ../gdk/gdkapplaunchcontext.c:129 ../gdk/gdkcursor.c:136
+#: ../gdk/gdkapplaunchcontext.c:129
+#: ../gdk/gdkcursor.c:136
#: ../gdk/gdkdevicemanager.c:146
msgid "Display"
msgstr "Vaizduoklis"
msgid "Device manager which the device belongs to"
msgstr "Įrenginių valdyklė, kuriai priklauso įrenginys"
-#: ../gdk/gdkdevice.c:141 ../gdk/gdkdevice.c:142
+#: ../gdk/gdkdevice.c:141
+#: ../gdk/gdkdevice.c:142
msgid "Device name"
msgstr "Įrenginio vardas"
msgid "Source type for the device"
msgstr "Šaltinio tipas įrenginiui"
-#: ../gdk/gdkdevice.c:203 ../gdk/gdkdevice.c:204
+#: ../gdk/gdkdevice.c:203
+#: ../gdk/gdkdevice.c:204
msgid "Input mode for the device"
msgstr "Įrenginio įvesties veiksena"
msgid "Whether there is a visible cursor following device motion"
msgstr "Ar yra matomas žymeklis, sekantis įrenginio judesį"
-#: ../gdk/gdkdevice.c:234 ../gdk/gdkdevice.c:235
+#: ../gdk/gdkdevice.c:234
+#: ../gdk/gdkdevice.c:235
msgid "Number of axes in the device"
msgstr "Ašių skaičius įrenginyje"
msgid "The resolution for fonts on the screen"
msgstr "Šriftų ekrane raiška"
-#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374
+#: ../gdk/gdkwindow.c:376
+#: ../gdk/gdkwindow.c:377
msgid "Cursor"
msgstr "Žymeklis"
-#: ../gdk/x11/gdkdevice-xi.c:140 ../gdk/x11/gdkdevice-xi.c:141
-#: ../gdk/x11/gdkdevice-xi2.c:130
-msgid "Device ID"
-msgstr "Įrenginio ID"
-
-#: ../gdk/x11/gdkdevice-xi2.c:131
-msgid "Device identifier"
-msgstr "Įrenginio identifikatorius"
-
-#: ../gdk/x11/gdkdevicemanager-xi2.c:118
+#: ../gdk/x11/gdkdevicemanager-xi2.c:119
msgid "Opcode"
msgstr "Operacijos kodas"
-#: ../gdk/x11/gdkdevicemanager-xi2.c:119
+#: ../gdk/x11/gdkdevicemanager-xi2.c:120
msgid "Opcode for XInput2 requests"
msgstr "Operacijos kodas XInput2 užklausoms"
msgid "Event base for XInput events"
msgstr "Įvykių bazė XInput įvykiams"
-#: ../gtk/gtkaboutdialog.c:276
+#: ../gdk/x11/gdkdevice-xi2.c:130
+#: ../gdk/x11/gdkdevice-xi.c:140
+#: ../gdk/x11/gdkdevice-xi.c:141
+msgid "Device ID"
+msgstr "Įrenginio ID"
+
+#: ../gdk/x11/gdkdevice-xi2.c:131
+msgid "Device identifier"
+msgstr "Įrenginio identifikatorius"
+
+#: ../gtk/gtkaboutdialog.c:275
msgid "Program name"
msgstr "Programos pavadinimas"
-#: ../gtk/gtkaboutdialog.c:277
-msgid ""
-"The name of the program. If this is not set, it defaults to "
-"g_get_application_name()"
-msgstr ""
-"Programos pavadinimas. Jeigu jis nenurodytas, tada standartiškai naudojama "
-"g_get_application_name()"
+#: ../gtk/gtkaboutdialog.c:276
+msgid "The name of the program. If this is not set, it defaults to g_get_application_name()"
+msgstr "Programos pavadinimas. Jeigu jis nenurodytas, tada standartiškai naudojama g_get_application_name()"
-#: ../gtk/gtkaboutdialog.c:291
+#: ../gtk/gtkaboutdialog.c:290
msgid "Program version"
msgstr "Programos versija"
-#: ../gtk/gtkaboutdialog.c:292
+#: ../gtk/gtkaboutdialog.c:291
msgid "The version of the program"
msgstr "Programos versija"
-#: ../gtk/gtkaboutdialog.c:306
+#: ../gtk/gtkaboutdialog.c:305
msgid "Copyright string"
msgstr "Autorinių teisių eilutė"
-#: ../gtk/gtkaboutdialog.c:307
+#: ../gtk/gtkaboutdialog.c:306
msgid "Copyright information for the program"
msgstr "Programos autorinių teisių informacija"
-#: ../gtk/gtkaboutdialog.c:324
+#: ../gtk/gtkaboutdialog.c:323
msgid "Comments string"
msgstr "Komentarų eilutė"
-#: ../gtk/gtkaboutdialog.c:325
+#: ../gtk/gtkaboutdialog.c:324
msgid "Comments about the program"
msgstr "Pastabos apie programą"
-#: ../gtk/gtkaboutdialog.c:375
+#: ../gtk/gtkaboutdialog.c:374
msgid "License Type"
msgstr "Licencijos tipas"
-#: ../gtk/gtkaboutdialog.c:376
+#: ../gtk/gtkaboutdialog.c:375
msgid "The license type of the program"
msgstr "Programos licencijos tipas"
-#: ../gtk/gtkaboutdialog.c:392
+#: ../gtk/gtkaboutdialog.c:391
msgid "Website URL"
msgstr "Tinklalapio adresas"
-#: ../gtk/gtkaboutdialog.c:393
+#: ../gtk/gtkaboutdialog.c:392
msgid "The URL for the link to the website of the program"
msgstr "Programos tinklalapio adresas"
-#: ../gtk/gtkaboutdialog.c:407
+#: ../gtk/gtkaboutdialog.c:406
msgid "Website label"
msgstr "Tinklalapio pavadinimas"
-#: ../gtk/gtkaboutdialog.c:408
+#: ../gtk/gtkaboutdialog.c:407
msgid "The label for the link to the website of the program"
msgstr "Etiketė programos tinklalapio adresui"
-#: ../gtk/gtkaboutdialog.c:424
+#: ../gtk/gtkaboutdialog.c:423
msgid "Authors"
msgstr "Autoriai"
-#: ../gtk/gtkaboutdialog.c:425
+#: ../gtk/gtkaboutdialog.c:424
msgid "List of authors of the program"
msgstr "Programos autorių sąrašas"
-#: ../gtk/gtkaboutdialog.c:441
+#: ../gtk/gtkaboutdialog.c:440
msgid "Documenters"
msgstr "Dokumentatoriai"
-#: ../gtk/gtkaboutdialog.c:442
+#: ../gtk/gtkaboutdialog.c:441
msgid "List of people documenting the program"
msgstr "Žmonių, dokumentavusių programą, sąrašas"
-#: ../gtk/gtkaboutdialog.c:458
+#: ../gtk/gtkaboutdialog.c:457
msgid "Artists"
msgstr "Menininkai"
-#: ../gtk/gtkaboutdialog.c:459
+#: ../gtk/gtkaboutdialog.c:458
msgid "List of people who have contributed artwork to the program"
msgstr "Žmonės, kurių menas naudojamas apipavidalinti programai"
-#: ../gtk/gtkaboutdialog.c:476
+#: ../gtk/gtkaboutdialog.c:475
msgid "Translator credits"
msgstr "Padėkos vertėjams"
-#: ../gtk/gtkaboutdialog.c:477
-msgid ""
-"Credits to the translators. This string should be marked as translatable"
+#: ../gtk/gtkaboutdialog.c:476
+msgid "Credits to the translators. This string should be marked as translatable"
msgstr "Padėkos vertėjams. Ši eilutė turėtų būti pažymėta, kaip verstina"
-#: ../gtk/gtkaboutdialog.c:492
+#: ../gtk/gtkaboutdialog.c:491
msgid "Logo"
msgstr "Logotipas"
-#: ../gtk/gtkaboutdialog.c:493
-msgid ""
-"A logo for the about box. If this is not set, it defaults to "
-"gtk_window_get_default_icon_list()"
-msgstr ""
-"„Apie“ lango logotipas. Jeigu jis nenurodytas, tada naudojama "
-"gtk_window_get_default_icon_list()"
+#: ../gtk/gtkaboutdialog.c:492
+msgid "A logo for the about box. If this is not set, it defaults to gtk_window_get_default_icon_list()"
+msgstr "„Apie“ lango logotipas. Jeigu jis nenurodytas, tada naudojama gtk_window_get_default_icon_list()"
-#: ../gtk/gtkaboutdialog.c:508
+#: ../gtk/gtkaboutdialog.c:507
msgid "Logo Icon Name"
msgstr "Logotipo piktogramos pavadinimas"
-#: ../gtk/gtkaboutdialog.c:509
+#: ../gtk/gtkaboutdialog.c:508
msgid "A named icon to use as the logo for the about box."
msgstr "Piktogramos, naudojamos „Apie“ kaip lango logotipo, pavadinimas."
-#: ../gtk/gtkaboutdialog.c:522
+#: ../gtk/gtkaboutdialog.c:521
msgid "Wrap license"
msgstr "Laužyti licenciją"
-#: ../gtk/gtkaboutdialog.c:523
+#: ../gtk/gtkaboutdialog.c:522
msgid "Whether to wrap the license text."
msgstr "Ar laužyti licencijos tekstą."
-#: ../gtk/gtkaccellabel.c:187
+#: ../gtk/gtkaccellabel.c:185
msgid "Accelerator Closure"
msgstr "Spartusis uždarymas"
-#: ../gtk/gtkaccellabel.c:188
+#: ../gtk/gtkaccellabel.c:186
msgid "The closure to be monitored for accelerator changes"
msgstr "Uždarymas, kuris turi būti stebimas dėl spartinimo pakeitimų"
-#: ../gtk/gtkaccellabel.c:194
+#: ../gtk/gtkaccellabel.c:192
msgid "Accelerator Widget"
msgstr "Spartusis objektas"
-#: ../gtk/gtkaccellabel.c:195
+#: ../gtk/gtkaccellabel.c:193
msgid "The widget to be monitored for accelerator changes"
msgstr "Objektas, kuris turi būti susietas su spartinimo pakeitimais"
-#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125
-#: ../gtk/gtktextmark.c:126 ../gtk/gtkthemingengine.c:248
+#: ../gtk/gtkaction.c:222
+#: ../gtk/gtkactiongroup.c:228
+#: ../gtk/gtkprinter.c:125
+#: ../gtk/gtktextmark.c:126
+#: ../gtk/gtkthemingengine.c:258
msgid "Name"
msgstr "Vardas"
msgid "A unique name for the action."
msgstr "Unikalus veiksmo vardas."
-#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:289
-#: ../gtk/gtkframe.c:170 ../gtk/gtklabel.c:744 ../gtk/gtkmenuitem.c:374
-#: ../gtk/gtktoolbutton.c:232 ../gtk/gtktoolitemgroup.c:1597
+#: ../gtk/gtkaction.c:241
+#: ../gtk/gtkbutton.c:228
+#: ../gtk/gtkexpander.c:290
+#: ../gtk/gtkframe.c:171
+#: ../gtk/gtklabel.c:744
+#: ../gtk/gtkmenuitem.c:384
+#: ../gtk/gtktoolbutton.c:232
+#: ../gtk/gtktoolitemgroup.c:1592
msgid "Label"
msgstr "Žymė"
#: ../gtk/gtkaction.c:242
msgid "The label used for menu items and buttons that activate this action."
-msgstr ""
-"Žymė, naudojama meniu punktams ir mygtukams, kurie aktyvina šį veiksmą."
+msgstr "Žymė, naudojama meniu punktams ir mygtukams, kurie aktyvina šį veiksmą."
#: ../gtk/gtkaction.c:258
msgid "Short label"
msgid "The stock icon displayed in widgets representing this action."
msgstr "Standartinė piktograma rodoma objektuose reprezentuojanti šį veiksmą."
-#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:275
+#: ../gtk/gtkaction.c:304
+#: ../gtk/gtkstatusicon.c:275
msgid "GIcon"
msgstr "GIcon"
-#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:235
-#: ../gtk/gtkimage.c:329 ../gtk/gtkstatusicon.c:276
+#: ../gtk/gtkaction.c:305
+#: ../gtk/gtkcellrendererpixbuf.c:235
+#: ../gtk/gtkimage.c:330
+#: ../gtk/gtkstatusicon.c:276
msgid "The GIcon being displayed"
msgstr "Rodomas „GIcon“ tipo objektas"
-#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:200
-#: ../gtk/gtkimage.c:311 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:259
-#: ../gtk/gtkwindow.c:723
+#: ../gtk/gtkaction.c:325
+#: ../gtk/gtkcellrendererpixbuf.c:200
+#: ../gtk/gtkimage.c:312
+#: ../gtk/gtkprinter.c:174
+#: ../gtk/gtkstatusicon.c:259
+#: ../gtk/gtkwindow.c:724
msgid "Icon Name"
msgstr "Piktogramos pavadinimas"
-#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:201
-#: ../gtk/gtkimage.c:312 ../gtk/gtkstatusicon.c:260
+#: ../gtk/gtkaction.c:326
+#: ../gtk/gtkcellrendererpixbuf.c:201
+#: ../gtk/gtkimage.c:313
+#: ../gtk/gtkstatusicon.c:260
msgid "The name of the icon from the icon theme"
msgstr "Piktogramos iš piktogramų temos pavadinimas"
-#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:194
+#: ../gtk/gtkaction.c:333
+#: ../gtk/gtktoolitem.c:194
msgid "Visible when horizontal"
msgstr "Matomas, kai horizontalus"
-#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:195
-msgid ""
-"Whether the toolbar item is visible when the toolbar is in a horizontal "
-"orientation."
-msgstr ""
-"Ar įrankių juostos elementas yra matomas, kai įrankių juosta yra "
-"horizontalioje padėtyje."
+#: ../gtk/gtkaction.c:334
+#: ../gtk/gtktoolitem.c:195
+msgid "Whether the toolbar item is visible when the toolbar is in a horizontal orientation."
+msgstr "Ar įrankių juostos elementas yra matomas, kai įrankių juosta yra horizontalioje padėtyje."
#: ../gtk/gtkaction.c:349
msgid "Visible when overflown"
msgstr "Matomas, kai perpildyta"
#: ../gtk/gtkaction.c:350
-msgid ""
-"When TRUE, toolitem proxies for this action are represented in the toolbar "
-"overflow menu."
-msgstr ""
-"Kai TEIGIAMA, įrankių pakaitalai šiam veiksmui rodomi įrankių juostos "
-"papildomame meniu."
+msgid "When TRUE, toolitem proxies for this action are represented in the toolbar overflow menu."
+msgstr "Kai TEIGIAMA, įrankių pakaitalai šiam veiksmui rodomi įrankių juostos papildomame meniu."
-#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:201
+#: ../gtk/gtkaction.c:357
+#: ../gtk/gtktoolitem.c:201
msgid "Visible when vertical"
msgstr "Matomas, jei vertikalus"
-#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:202
-msgid ""
-"Whether the toolbar item is visible when the toolbar is in a vertical "
-"orientation."
-msgstr ""
-"Ar įrankių juostos elementas yra matomas, kai įrankių juosta yra "
-"vertikalioje padėtyje."
+#: ../gtk/gtkaction.c:358
+#: ../gtk/gtktoolitem.c:202
+msgid "Whether the toolbar item is visible when the toolbar is in a vertical orientation."
+msgstr "Ar įrankių juostos elementas yra matomas, kai įrankių juosta yra vertikalioje padėtyje."
-#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:208
+#: ../gtk/gtkaction.c:365
+#: ../gtk/gtktoolitem.c:208
msgid "Is important"
msgstr "Yra svarbus"
#: ../gtk/gtkaction.c:366
-msgid ""
-"Whether the action is considered important. When TRUE, toolitem proxies for "
-"this action show text in GTK_TOOLBAR_BOTH_HORIZ mode."
-msgstr ""
-"Ar veiksmas yra laikomas svarbiu. Jei reikšmė TEIGIAMA, šio veiksmo toolitem "
-"tarpinės GTK_TOOLBAR_BOTH_HORIZ veiksenoje bus rodomi kaip tekstas."
+msgid "Whether the action is considered important. When TRUE, toolitem proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode."
+msgstr "Ar veiksmas yra laikomas svarbiu. Jei reikšmė TEIGIAMA, šio veiksmo toolitem tarpinės GTK_TOOLBAR_BOTH_HORIZ veiksenoje bus rodomi kaip tekstas."
#: ../gtk/gtkaction.c:374
msgid "Hide if empty"
msgid "When TRUE, empty menu proxies for this action are hidden."
msgstr "Jei TEIGIAMA, šio veiksmo tuščių meniu tarpinės yra paslėptos."
-#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235
-#: ../gtk/gtkcellrenderer.c:290 ../gtk/gtkwidget.c:969
+#: ../gtk/gtkaction.c:381
+#: ../gtk/gtkactiongroup.c:235
+#: ../gtk/gtkcellrenderer.c:290
+#: ../gtk/gtkwidget.c:988
msgid "Sensitive"
msgstr "Jautrus"
msgid "Whether the action is enabled."
msgstr "Ar veiksmas yra įjungtas."
-#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242
-#: ../gtk/gtkstatusicon.c:310 ../gtk/gtktreeviewcolumn.c:246
-#: ../gtk/gtkwidget.c:962
+#: ../gtk/gtkaction.c:388
+#: ../gtk/gtkactiongroup.c:242
+#: ../gtk/gtkstatusicon.c:310
+#: ../gtk/gtktreeviewcolumn.c:248
+#: ../gtk/gtkwidget.c:981
msgid "Visible"
msgstr "Matoma"
msgstr "Veiksmų grupė"
#: ../gtk/gtkaction.c:396
-msgid ""
-"The GtkActionGroup this GtkAction is associated with, or NULL (for internal "
-"use)."
-msgstr ""
-"GtkActionGroup su kuria yra susietas šis GtkAction, arba NULL (vidiniam "
-"naudojimui)."
+msgid "The GtkActionGroup this GtkAction is associated with, or NULL (for internal use)."
+msgstr "GtkActionGroup su kuria yra susietas šis GtkAction, arba NULL (vidiniam naudojimui)."
-#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:194
+#: ../gtk/gtkaction.c:414
+#: ../gtk/gtkimagemenuitem.c:194
msgid "Always show image"
msgstr "Visuomet rodyti paveikslėlį"
-#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:195
+#: ../gtk/gtkaction.c:415
+#: ../gtk/gtkimagemenuitem.c:195
msgid "Whether the image will always be shown"
msgstr "Ar visuomet rodyti paveikslėlius"
#: ../gtk/gtkactivatable.c:290
msgid "The action this activatable will activate and receive updates from"
-msgstr ""
-"Veiksmas, kurį šis aktyvinamasis elementas aktyvins ir iš kurio gaus "
-"atnaujinimus"
+msgstr "Veiksmas, kurį šis aktyvinamasis elementas aktyvins ir iš kurio gaus atnaujinimus"
#: ../gtk/gtkactivatable.c:312
msgid "Use Action Appearance"
msgid "Whether to use the related actions appearance properties"
msgstr "Ar naudoti susijusio veiksmo išvaizdos savybes"
-#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:138
-#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:382
+#: ../gtk/gtkadjustment.c:123
+#: ../gtk/gtkcellrendererprogress.c:138
+#: ../gtk/gtkscalebutton.c:218
+#: ../gtk/gtkspinbutton.c:384
msgid "Value"
msgstr "Vertė"
msgid "Horizontal alignment"
msgstr "Gulsčias lygiavimas"
-#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278
-msgid ""
-"Horizontal position of child in available space. 0.0 is left aligned, 1.0 is "
-"right aligned"
-msgstr ""
-"Horizontali vaikinio objekto padėtis turimoje erdvėje. 0.0 - išlygintas "
-"kairėje, 1.0 - išlygintas dešinėje"
+#: ../gtk/gtkalignment.c:138
+#: ../gtk/gtkbutton.c:279
+msgid "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned"
+msgstr "Horizontali vaikinio objekto padėtis turimoje erdvėje. 0.0 - išlygintas kairėje, 1.0 - išlygintas dešinėje"
#: ../gtk/gtkalignment.c:147
msgid "Vertical alignment"
msgstr "Vertikalus lygiavimas"
-#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297
-msgid ""
-"Vertical position of child in available space. 0.0 is top aligned, 1.0 is "
-"bottom aligned"
-msgstr ""
-"Vertikali vaikinio objekto padėtis turimoje erdvėje. 0.0 - lygiuoti viršuje, "
-"1.0 - lygiuoti apačioje"
+#: ../gtk/gtkalignment.c:148
+#: ../gtk/gtkbutton.c:298
+msgid "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned"
+msgstr "Vertikali vaikinio objekto padėtis turimoje erdvėje. 0.0 - lygiuoti viršuje, 1.0 - lygiuoti apačioje"
#: ../gtk/gtkalignment.c:156
msgid "Horizontal scale"
msgstr "Horizontalus mastelis"
#: ../gtk/gtkalignment.c:157
-msgid ""
-"If available horizontal space is bigger than needed for the child, how much "
-"of it to use for the child. 0.0 means none, 1.0 means all"
-msgstr ""
-"Jei turima horizontali erdvė yra didesnė nei reikia vaikiniam objektui, "
-"kokią jos dalį panaudoti. 0.0 - nenaudoti nieko, 1.0 - naudoti visą"
+msgid "If available horizontal space is bigger than needed for the child, how much of it to use for the child. 0.0 means none, 1.0 means all"
+msgstr "Jei turima horizontali erdvė yra didesnė nei reikia vaikiniam objektui, kokią jos dalį panaudoti. 0.0 - nenaudoti nieko, 1.0 - naudoti visą"
#: ../gtk/gtkalignment.c:165
msgid "Vertical scale"
msgstr "Vertikalus mastelis"
#: ../gtk/gtkalignment.c:166
-msgid ""
-"If available vertical space is bigger than needed for the child, how much of "
-"it to use for the child. 0.0 means none, 1.0 means all"
-msgstr ""
-"Jei turima vertikali erdvė yra didesnė nei reikia vaikiniam objektui, kokią "
-"jos dalį panaudoti. 0.0 - nenaudoti nieko, 1.0 - naudoti visą"
+msgid "If available vertical space is bigger than needed for the child, how much of it to use for the child. 0.0 means none, 1.0 means all"
+msgstr "Jei turima vertikali erdvė yra didesnė nei reikia vaikiniam objektui, kokią jos dalį panaudoti. 0.0 - nenaudoti nieko, 1.0 - naudoti visą"
#: ../gtk/gtkalignment.c:183
msgid "Top Padding"
msgstr "Įterpti elementą „Kita...“"
#: ../gtk/gtkappchooserbutton.c:556
-msgid ""
-"Whether the combobox should include an item that triggers a "
-"GtkAppChooserDialog"
-msgstr ""
-"Ar iškrentantis sąrašas turi įtraukti elementą, iššaukiantį "
-"GtkAppChooserDialog"
+msgid "Whether the combobox should include an item that triggers a GtkAppChooserDialog"
+msgstr "Ar iškrentantis sąrašas turi įtraukti elementą, iššaukiantį GtkAppChooserDialog"
-#: ../gtk/gtkappchooserbutton.c:568 ../gtk/gtkappchooserdialog.c:722
+#: ../gtk/gtkappchooserbutton.c:568
+#: ../gtk/gtkappchooserdialog.c:722
msgid "Heading"
msgstr "Antraštė"
-#: ../gtk/gtkappchooserbutton.c:569 ../gtk/gtkappchooserdialog.c:723
+#: ../gtk/gtkappchooserbutton.c:569
+#: ../gtk/gtkappchooserdialog.c:723
msgid "The text to show at the top of the dialog"
msgstr "Tekstas, rodomas dialogo viršuje"
-#: ../gtk/gtkappchooser.c:58
+#: ../gtk/gtkappchooser.c:61
msgid "Content type"
msgstr "Turinio tipas"
-#: ../gtk/gtkappchooser.c:59
+#: ../gtk/gtkappchooser.c:62
msgid "The content type used by the open with object"
msgstr "Turinio tipas, naudojamas atveriant su objektu"
msgid "The default text appearing when there are no applications"
msgstr "Numatytasis tekstas, rodomas, kai nėra programų"
-#: ../gtk/gtkarrow.c:110
+#: ../gtk/gtkarrow.c:112
msgid "Arrow direction"
msgstr "Rodyklės kryptis"
-#: ../gtk/gtkarrow.c:111
+#: ../gtk/gtkarrow.c:113
msgid "The direction the arrow should point"
msgstr "Kryptis, į kurią rodyklė turėtų rodyti"
-#: ../gtk/gtkarrow.c:119
+#: ../gtk/gtkarrow.c:121
msgid "Arrow shadow"
msgstr "Rodyklės šešėlis"
-#: ../gtk/gtkarrow.c:120
+#: ../gtk/gtkarrow.c:122
msgid "Appearance of the shadow surrounding the arrow"
msgstr "Šešėlio, gaubiančio rodyklę, išvaizda"
-#: ../gtk/gtkarrow.c:127 ../gtk/gtkcombobox.c:985 ../gtk/gtkmenu.c:796
-#: ../gtk/gtkmenuitem.c:437
+#: ../gtk/gtkarrow.c:129
+#: ../gtk/gtkcombobox.c:986
+#: ../gtk/gtkmenu.c:798
+#: ../gtk/gtkmenuitem.c:447
msgid "Arrow Scaling"
msgstr "Rodyklės Mastelis"
-#: ../gtk/gtkarrow.c:128
+#: ../gtk/gtkarrow.c:130
msgid "Amount of space used up by arrow"
msgstr "Rodyklės užimta vieta"
-#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1157
+#: ../gtk/gtkaspectframe.c:109
+#: ../gtk/gtkwidget.c:1176
msgid "Horizontal Alignment"
msgstr "Horizontalus Lygiavimas"
msgid "X alignment of the child"
msgstr "Vaikinio objekto X lygiavimas"
-#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1173
+#: ../gtk/gtkaspectframe.c:116
+#: ../gtk/gtkwidget.c:1192
msgid "Vertical Alignment"
msgstr "Vertikalus Lygiavimas"
msgid "Force aspect ratio to match that of the frame's child"
msgstr "Mastelis turi atitikti rėmelio vaikinį objektą"
-#: ../gtk/gtkassistant.c:326
+#: ../gtk/gtkassistant.c:311
msgid "Header Padding"
msgstr "Antraštės apvalkalas"
-#: ../gtk/gtkassistant.c:327
+#: ../gtk/gtkassistant.c:312
msgid "Number of pixels around the header."
msgstr "Pikselių apie antraštę skaičius."
-#: ../gtk/gtkassistant.c:334
+#: ../gtk/gtkassistant.c:319
msgid "Content Padding"
msgstr "Turinio apvalkalas"
-#: ../gtk/gtkassistant.c:335
+#: ../gtk/gtkassistant.c:320
msgid "Number of pixels around the content pages."
msgstr "Pikselių aplink turinio puslapius skaičius."
-#: ../gtk/gtkassistant.c:351
+#: ../gtk/gtkassistant.c:336
msgid "Page type"
msgstr "Puslapio tipas"
-#: ../gtk/gtkassistant.c:352
+#: ../gtk/gtkassistant.c:337
msgid "The type of the assistant page"
msgstr "Pagalbinio puslapio tipas"
-#: ../gtk/gtkassistant.c:369
+#: ../gtk/gtkassistant.c:352
msgid "Page title"
msgstr "Puslapio antraštė"
-#: ../gtk/gtkassistant.c:370
+#: ../gtk/gtkassistant.c:353
msgid "The title of the assistant page"
msgstr "Pagalbinio puslapio antraštė"
-#: ../gtk/gtkassistant.c:386
+#: ../gtk/gtkassistant.c:370
msgid "Header image"
msgstr "Antraštės paveikslėlis"
-#: ../gtk/gtkassistant.c:387
+#: ../gtk/gtkassistant.c:371
msgid "Header image for the assistant page"
msgstr "Antraštės paveikslėlis pagalbiniam puslapiui"
-#: ../gtk/gtkassistant.c:403
+#: ../gtk/gtkassistant.c:387
msgid "Sidebar image"
msgstr "Šoninis paveikslėlis"
-#: ../gtk/gtkassistant.c:404
+#: ../gtk/gtkassistant.c:388
msgid "Sidebar image for the assistant page"
msgstr "Šoninis paveikslėlis pagalbiniam puslapiui"
-#: ../gtk/gtkassistant.c:419
+#: ../gtk/gtkassistant.c:404
msgid "Page complete"
msgstr "Puslapis baigtas"
-#: ../gtk/gtkassistant.c:420
+#: ../gtk/gtkassistant.c:405
msgid "Whether all required fields on the page have been filled out"
msgstr "Ar visi reikalingi laukai puslapyje buvo užpildyti"
-#: ../gtk/gtkbbox.c:152
+#: ../gtk/gtkbbox.c:159
msgid "Minimum child width"
msgstr "Minimalus vaikinio objekto plotis"
-#: ../gtk/gtkbbox.c:153
+#: ../gtk/gtkbbox.c:160
msgid "Minimum width of buttons inside the box"
msgstr "Minimalus mygtukų, esančių dėžutės viduje, plotis"
-#: ../gtk/gtkbbox.c:161
+#: ../gtk/gtkbbox.c:168
msgid "Minimum child height"
msgstr "Minimalus vaikinio objekto aukštis"
-#: ../gtk/gtkbbox.c:162
+#: ../gtk/gtkbbox.c:169
msgid "Minimum height of buttons inside the box"
msgstr "Minimalus mygtukų, esančių dėžutės viduje, aukštis"
-#: ../gtk/gtkbbox.c:170
+#: ../gtk/gtkbbox.c:177
msgid "Child internal width padding"
msgstr "Vaikinio objekto horizontalios vidinės paraštės"
-#: ../gtk/gtkbbox.c:171
+#: ../gtk/gtkbbox.c:178
msgid "Amount to increase child's size on either side"
msgstr "Dydis, kuriuo reikia padidinti vaikinį objektą iš abiejų pusių"
-#: ../gtk/gtkbbox.c:179
+#: ../gtk/gtkbbox.c:186
msgid "Child internal height padding"
msgstr "Vaikinio objekto vertikalios vidinės paraštės"
-#: ../gtk/gtkbbox.c:180
+#: ../gtk/gtkbbox.c:187
msgid "Amount to increase child's size on the top and bottom"
msgstr "Dydis, kuriuo reikia padidinti vaikinį objektą viršuje ir apačioje"
-#: ../gtk/gtkbbox.c:188
+#: ../gtk/gtkbbox.c:195
msgid "Layout style"
msgstr "Išdėstymo stilius"
-#: ../gtk/gtkbbox.c:189
-msgid ""
-"How to lay out the buttons in the box. Possible values are: spread, edge, "
-"start and end"
-msgstr ""
-"Kaip išdėstyti mygtukus dėžutėje. Galimos reikšmės yra: default, spread, "
-"edge, start ir end"
+#: ../gtk/gtkbbox.c:196
+msgid "How to lay out the buttons in the box. Possible values are: spread, edge, start and end"
+msgstr "Kaip išdėstyti mygtukus dėžutėje. Galimos reikšmės yra: default, spread, edge, start ir end"
-#: ../gtk/gtkbbox.c:197
+#: ../gtk/gtkbbox.c:204
msgid "Secondary"
msgstr "Antrinis"
-#: ../gtk/gtkbbox.c:198
-msgid ""
-"If TRUE, the child appears in a secondary group of children, suitable for, e."
-"g., help buttons"
-msgstr ""
-"Jei TRUE, vaikinis objektas pasirodys antrinėje vaikinių objektų grupėje, "
-"kuri gali tikti papildomiems, pvz. pagalbos mygtukams"
+#: ../gtk/gtkbbox.c:205
+msgid "If TRUE, the child appears in a secondary group of children, suitable for, e.g., help buttons"
+msgstr "Jei TRUE, vaikinis objektas pasirodys antrinėje vaikinių objektų grupėje, kuri gali tikti papildomiems, pvz. pagalbos mygtukams"
+
+#: ../gtk/gtkbbox.c:212
+#| msgid "Homogeneous"
+msgid "Non-Homogeneous"
+msgstr "Nevienalytis"
-#: ../gtk/gtkbox.c:238 ../gtk/gtkcellareabox.c:317 ../gtk/gtkexpander.c:313
-#: ../gtk/gtkiconview.c:644 ../gtk/gtktreeviewcolumn.c:271
+#: ../gtk/gtkbbox.c:213
+#| msgid "If TRUE, the child can be made smaller than its requisition"
+msgid "If TRUE, the child will not be subject to homogeneous sizing"
+msgstr "Jei TEIGIAMA, vaikinis objektas nepaisomas esant vienalyčiam dydžio keitimui"
+
+#: ../gtk/gtkbox.c:241
+#: ../gtk/gtkcellareabox.c:317
+#: ../gtk/gtkexpander.c:314
+#: ../gtk/gtkiconview.c:644
+#: ../gtk/gtktreeviewcolumn.c:283
msgid "Spacing"
msgstr "Tarpai"
-#: ../gtk/gtkbox.c:239
+#: ../gtk/gtkbox.c:242
msgid "The amount of space between children"
msgstr "Tarpas tarp vaikinių objektų"
-#: ../gtk/gtkbox.c:248 ../gtk/gtktable.c:227 ../gtk/gtktoolbar.c:554
-#: ../gtk/gtktoolitemgroup.c:1650
+#: ../gtk/gtkbox.c:251
+#: ../gtk/gtktable.c:227
+#: ../gtk/gtktoolbar.c:561
+#: ../gtk/gtktoolitemgroup.c:1645
msgid "Homogeneous"
msgstr "Vienalytis"
-#: ../gtk/gtkbox.c:249
+#: ../gtk/gtkbox.c:252
msgid "Whether the children should all be the same size"
msgstr "Ar visi vaikiniai objektai turėtų būti to paties dydžio"
-#: ../gtk/gtkbox.c:269 ../gtk/gtkcellareabox.c:337 ../gtk/gtktoolbar.c:546
-#: ../gtk/gtktoolitemgroup.c:1657 ../gtk/gtktoolpalette.c:1101
-#: ../gtk/gtktreeviewcolumn.c:327
+#: ../gtk/gtkbox.c:272
+#: ../gtk/gtkcellareabox.c:337
+#: ../gtk/gtktoolbar.c:553
+#: ../gtk/gtktoolitemgroup.c:1652
+#: ../gtk/gtktoolpalette.c:1070
+#: ../gtk/gtktreeviewcolumn.c:339
msgid "Expand"
msgstr "Sutraukti"
-#: ../gtk/gtkbox.c:270
+#: ../gtk/gtkbox.c:273
msgid "Whether the child should receive extra space when the parent grows"
-msgstr ""
-"Ar vaikinis elementas turi gauti papildomos erdvės, didėjant tėviniam "
-"objektui"
+msgstr "Ar vaikinis elementas turi gauti papildomos erdvės, didėjant tėviniam objektui"
-#: ../gtk/gtkbox.c:286 ../gtk/gtktoolitemgroup.c:1664
+#: ../gtk/gtkbox.c:289
+#: ../gtk/gtktoolitemgroup.c:1659
msgid "Fill"
msgstr "Užpildymas"
-#: ../gtk/gtkbox.c:287
-msgid ""
-"Whether extra space given to the child should be allocated to the child or "
-"used as padding"
-msgstr ""
-"Nustato, ar papildoma erdvė, skirta vaikiniam objektui, turėtų būti "
-"priskirta pačiam objektui, ar panaudota kaip paraštė"
+#: ../gtk/gtkbox.c:290
+msgid "Whether extra space given to the child should be allocated to the child or used as padding"
+msgstr "Nustato, ar papildoma erdvė, skirta vaikiniam objektui, turėtų būti priskirta pačiam objektui, ar panaudota kaip paraštė"
-#: ../gtk/gtkbox.c:294 ../gtk/gtktrayicon-x11.c:169
+#: ../gtk/gtkbox.c:297
+#: ../gtk/gtktrayicon-x11.c:169
msgid "Padding"
msgstr "Paraštė"
-#: ../gtk/gtkbox.c:295
+#: ../gtk/gtkbox.c:298
msgid "Extra space to put between the child and its neighbors, in pixels"
msgstr "Papildomas tarpas tarp vaikinio objekto ir jo kaimynų (taškais)"
-#: ../gtk/gtkbox.c:301
+#: ../gtk/gtkbox.c:304
msgid "Pack type"
msgstr "Paketo tipas"
-#: ../gtk/gtkbox.c:302
-msgid ""
-"A GtkPackType indicating whether the child is packed with reference to the "
-"start or end of the parent"
-msgstr ""
-"GtkPackType požymis rodantis ar vaikinis elementas supakuotas su nuoroda į "
-"tėvinio elemento pradžią, ar pabaigą"
+#: ../gtk/gtkbox.c:305
+msgid "A GtkPackType indicating whether the child is packed with reference to the start or end of the parent"
+msgstr "GtkPackType požymis rodantis ar vaikinis elementas supakuotas su nuoroda į tėvinio elemento pradžią, ar pabaigą"
-#: ../gtk/gtkbox.c:308 ../gtk/gtknotebook.c:760 ../gtk/gtkpaned.c:326
-#: ../gtk/gtktoolitemgroup.c:1678
+#: ../gtk/gtkbox.c:311
+#: ../gtk/gtknotebook.c:771
+#: ../gtk/gtkpaned.c:349
+#: ../gtk/gtktoolitemgroup.c:1673
msgid "Position"
msgstr "Pozicija"
-#: ../gtk/gtkbox.c:309 ../gtk/gtknotebook.c:761
+#: ../gtk/gtkbox.c:312
+#: ../gtk/gtknotebook.c:772
msgid "The index of the child in the parent"
msgstr "Vaikinio elemento indeksas tėviniame elemente"
msgid "The translation domain used by gettext"
msgstr "Vertimų sritis, naudojama „gettext“"
-#: ../gtk/gtkbutton.c:228
-msgid ""
-"Text of the label widget inside the button, if the button contains a label "
-"widget"
+#: ../gtk/gtkbutton.c:229
+msgid "Text of the label widget inside the button, if the button contains a label widget"
msgstr "Žymės objekto tekstas ant mygtuko, jei mygtukas turi žymės objektą"
-#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:297 ../gtk/gtklabel.c:765
-#: ../gtk/gtkmenuitem.c:389 ../gtk/gtktoolbutton.c:239
+#: ../gtk/gtkbutton.c:236
+#: ../gtk/gtkexpander.c:298
+#: ../gtk/gtklabel.c:765
+#: ../gtk/gtkmenuitem.c:399
+#: ../gtk/gtktoolbutton.c:239
msgid "Use underline"
msgstr "Naudoti pabraukimą"
-#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:298 ../gtk/gtklabel.c:766
-#: ../gtk/gtkmenuitem.c:390
-msgid ""
-"If set, an underline in the text indicates the next character should be used "
-"for the mnemonic accelerator key"
-msgstr ""
-"Jei įjungta, pabraukimo simbolis tekste rodo, kad po jo esantis simbolis "
-"naudojamas kaip mnemoninis spartusis klavišas"
+#: ../gtk/gtkbutton.c:237
+#: ../gtk/gtkexpander.c:299
+#: ../gtk/gtklabel.c:766
+#: ../gtk/gtkmenuitem.c:400
+msgid "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key"
+msgstr "Jei įjungta, pabraukimo simbolis tekste rodo, kad po jo esantis simbolis naudojamas kaip mnemoninis spartusis klavišas"
-#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:175
+#: ../gtk/gtkbutton.c:244
+#: ../gtk/gtkimagemenuitem.c:175
msgid "Use stock"
msgstr "Naudoti standartinį"
-#: ../gtk/gtkbutton.c:244
-msgid ""
-"If set, the label is used to pick a stock item instead of being displayed"
-msgstr ""
-"Jei įjungta, žymė yra naudojama parinkti standartinį punktą vietoj rodomo"
+#: ../gtk/gtkbutton.c:245
+msgid "If set, the label is used to pick a stock item instead of being displayed"
+msgstr "Jei įjungta, žymė yra naudojama parinkti standartinį punktą vietoj rodomo"
-#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791
-#: ../gtk/gtkfilechooserbutton.c:424
+#: ../gtk/gtkbutton.c:252
+#: ../gtk/gtkcombobox.c:792
+#: ../gtk/gtkfilechooserbutton.c:426
msgid "Focus on click"
msgstr "Aktyvinti spragtelėjus"
-#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:425
+#: ../gtk/gtkbutton.c:253
+#: ../gtk/gtkfilechooserbutton.c:427
msgid "Whether the button grabs focus when it is clicked with the mouse"
msgstr "Ar mygtukas yra suaktyvinamas, kai pažymima pele"
-#: ../gtk/gtkbutton.c:259
+#: ../gtk/gtkbutton.c:260
msgid "Border relief"
msgstr "Rėmelio reljefas"
-#: ../gtk/gtkbutton.c:260
+#: ../gtk/gtkbutton.c:261
msgid "The border relief style"
msgstr "Rėmelio reljefo stilius"
-#: ../gtk/gtkbutton.c:277
+#: ../gtk/gtkbutton.c:278
msgid "Horizontal alignment for child"
msgstr "Vaikinio objekto horizontalus lygiavimas"
-#: ../gtk/gtkbutton.c:296
+#: ../gtk/gtkbutton.c:297
msgid "Vertical alignment for child"
msgstr "Vaikinio objekto vertikalus lygiavimas"
-#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:160
+#: ../gtk/gtkbutton.c:314
+#: ../gtk/gtkimagemenuitem.c:160
msgid "Image widget"
msgstr "Paveikslėlio objektas"
-#: ../gtk/gtkbutton.c:314
+#: ../gtk/gtkbutton.c:315
msgid "Child widget to appear next to the button text"
msgstr "Vaikinis objektas rodomas šalia mygtuko teksto"
-#: ../gtk/gtkbutton.c:328
+#: ../gtk/gtkbutton.c:329
msgid "Image position"
msgstr "Paveikslėlio padėtis"
-#: ../gtk/gtkbutton.c:329
+#: ../gtk/gtkbutton.c:330
msgid "The position of the image relative to the text"
msgstr "Paveikslėlio padėtis teksto atžvilgiu"
-#: ../gtk/gtkbutton.c:449
+#: ../gtk/gtkbutton.c:450
msgid "Default Spacing"
msgstr "Numatyti tarpai"
-#: ../gtk/gtkbutton.c:450
+#: ../gtk/gtkbutton.c:451
msgid "Extra space to add for GTK_CAN_DEFAULT buttons"
msgstr "Papildoma erdvė pridedama prie GTK_CAN_DEFAULT tipo mygtukų"
-#: ../gtk/gtkbutton.c:464
+#: ../gtk/gtkbutton.c:465
msgid "Default Outside Spacing"
msgstr "Numatyti Išoriniai Tarpai"
-#: ../gtk/gtkbutton.c:465
-msgid ""
-"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside "
-"the border"
-msgstr ""
-"Papildoma erdvė pridedama prie GTK_CAN_DEFAULT tipo mygtukų, visada išvedama "
-"už rėmelio ribų"
+#: ../gtk/gtkbutton.c:466
+msgid "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside the border"
+msgstr "Papildoma erdvė pridedama prie GTK_CAN_DEFAULT tipo mygtukų, visada išvedama už rėmelio ribų"
-#: ../gtk/gtkbutton.c:470
+#: ../gtk/gtkbutton.c:471
msgid "Child X Displacement"
msgstr "Vaikinio Objekto X Atitraukimas"
-#: ../gtk/gtkbutton.c:471
-msgid ""
-"How far in the x direction to move the child when the button is depressed"
-msgstr ""
-"Kaip toli patraukti vaikinį objektą horizontaliai, kai mygtukas yra atleistas"
+#: ../gtk/gtkbutton.c:472
+msgid "How far in the x direction to move the child when the button is depressed"
+msgstr "Kaip toli patraukti vaikinį objektą horizontaliai, kai mygtukas yra atleistas"
-#: ../gtk/gtkbutton.c:478
+#: ../gtk/gtkbutton.c:479
msgid "Child Y Displacement"
msgstr "Vaikinio Objekto Y Atitraukimas"
-#: ../gtk/gtkbutton.c:479
-msgid ""
-"How far in the y direction to move the child when the button is depressed"
-msgstr ""
-"Kaip toli patraukti vaikinį objektą vertikaliai, kai mygtukas yra atleistas"
+#: ../gtk/gtkbutton.c:480
+msgid "How far in the y direction to move the child when the button is depressed"
+msgstr "Kaip toli patraukti vaikinį objektą vertikaliai, kai mygtukas yra atleistas"
-#: ../gtk/gtkbutton.c:495
+#: ../gtk/gtkbutton.c:496
msgid "Displace focus"
msgstr "Pastumti aktyvinimo zoną"
-#: ../gtk/gtkbutton.c:496
-msgid ""
-"Whether the child_displacement_x/_y properties should also affect the focus "
-"rectangle"
-msgstr ""
-"Ar „child_displacement_x/_y“ savybės turėtų taip pat keisti aktyvinimo "
-"stačiakampį"
+#: ../gtk/gtkbutton.c:497
+msgid "Whether the child_displacement_x/_y properties should also affect the focus rectangle"
+msgstr "Ar „child_displacement_x/_y“ savybės turėtų taip pat keisti aktyvinimo stačiakampį"
-#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:790 ../gtk/gtkentry.c:1865
+#: ../gtk/gtkbutton.c:510
+#: ../gtk/gtkentry.c:794
+#: ../gtk/gtkentry.c:1869
msgid "Inner Border"
msgstr "Vidinis rėmelis"
-#: ../gtk/gtkbutton.c:510
+#: ../gtk/gtkbutton.c:511
msgid "Border between button edges and child."
msgstr "Rėmelis tarp mygtuko kraštų ir vaikinio elemento."
-#: ../gtk/gtkbutton.c:523
+#: ../gtk/gtkbutton.c:524
msgid "Image spacing"
msgstr "Paveikslėlio protarpis"
-#: ../gtk/gtkbutton.c:524
+#: ../gtk/gtkbutton.c:525
msgid "Spacing in pixels between the image and label"
msgstr "Tarpas pikseliais tarp paveikslėlio ir užrašo"
-#: ../gtk/gtkcalendar.c:468
+#: ../gtk/gtkcalendar.c:471
msgid "Year"
msgstr "Metai"
-#: ../gtk/gtkcalendar.c:469
+#: ../gtk/gtkcalendar.c:472
msgid "The selected year"
msgstr "Pasirinkti metai"
-#: ../gtk/gtkcalendar.c:482
+#: ../gtk/gtkcalendar.c:485
msgid "Month"
msgstr "Mėnuo"
-#: ../gtk/gtkcalendar.c:483
+#: ../gtk/gtkcalendar.c:486
msgid "The selected month (as a number between 0 and 11)"
msgstr "Pasirinktas mėnuo (kaip skaičius tarp 0 ir 11)"
-#: ../gtk/gtkcalendar.c:497
+#: ../gtk/gtkcalendar.c:500
msgid "Day"
msgstr "Diena"
-#: ../gtk/gtkcalendar.c:498
-msgid ""
-"The selected day (as a number between 1 and 31, or 0 to unselect the "
-"currently selected day)"
-msgstr ""
-"Pasirinkta diena (kaip skaičius tarp 1 ir 31, nulis atšaukia pasirinktos "
-"dienos pažymėjimą)"
+#: ../gtk/gtkcalendar.c:501
+msgid "The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day)"
+msgstr "Pasirinkta diena (kaip skaičius tarp 1 ir 31, nulis atšaukia pasirinktos dienos pažymėjimą)"
-#: ../gtk/gtkcalendar.c:512
+#: ../gtk/gtkcalendar.c:515
msgid "Show Heading"
msgstr "Rodyti antraštę"
-#: ../gtk/gtkcalendar.c:513
+#: ../gtk/gtkcalendar.c:516
msgid "If TRUE, a heading is displayed"
msgstr "Jei TEIGIAMA, antraštė yra rodoma"
-#: ../gtk/gtkcalendar.c:527
+#: ../gtk/gtkcalendar.c:530
msgid "Show Day Names"
msgstr "Rodyti dienų vardus"
-#: ../gtk/gtkcalendar.c:528
+#: ../gtk/gtkcalendar.c:531
msgid "If TRUE, day names are displayed"
msgstr "Jei TEIGIAMA, dienų vardai yra rodomi"
-#: ../gtk/gtkcalendar.c:541
+#: ../gtk/gtkcalendar.c:544
msgid "No Month Change"
msgstr "Mėnesiai nekeičiami"
-#: ../gtk/gtkcalendar.c:542
+#: ../gtk/gtkcalendar.c:545
msgid "If TRUE, the selected month cannot be changed"
msgstr "Jei TEIGIAMA, pasirinktas mėnuo negali būti pakeistas"
-#: ../gtk/gtkcalendar.c:556
+#: ../gtk/gtkcalendar.c:559
msgid "Show Week Numbers"
msgstr "Rodyti savaičių numerius"
-#: ../gtk/gtkcalendar.c:557
+#: ../gtk/gtkcalendar.c:560
msgid "If TRUE, week numbers are displayed"
msgstr "Jei TEIGIAMA, rodomas savaitės numeris"
-#: ../gtk/gtkcalendar.c:572
+#: ../gtk/gtkcalendar.c:575
msgid "Details Width"
msgstr "Detalių plotis"
-#: ../gtk/gtkcalendar.c:573
+#: ../gtk/gtkcalendar.c:576
msgid "Details width in characters"
msgstr "Detalių plotis (simboliais)"
-#: ../gtk/gtkcalendar.c:588
+#: ../gtk/gtkcalendar.c:591
msgid "Details Height"
msgstr "Detalių aukštis"
-#: ../gtk/gtkcalendar.c:589
+#: ../gtk/gtkcalendar.c:592
msgid "Details height in rows"
msgstr "Detalių aukštis (eilutėmis)"
-#: ../gtk/gtkcalendar.c:605
+#: ../gtk/gtkcalendar.c:608
msgid "Show Details"
msgstr "Rodyti detales"
-#: ../gtk/gtkcalendar.c:606
+#: ../gtk/gtkcalendar.c:609
msgid "If TRUE, details are shown"
msgstr "Jei TEIGIAMA, rodomos detalės"
-#: ../gtk/gtkcalendar.c:618
+#: ../gtk/gtkcalendar.c:621
msgid "Inner border"
msgstr "Vidinis rėmelis"
-#: ../gtk/gtkcalendar.c:619
+#: ../gtk/gtkcalendar.c:622
msgid "Inner border space"
msgstr "Vidinio rėmelio tarpas"
-#: ../gtk/gtkcalendar.c:630
+#: ../gtk/gtkcalendar.c:633
msgid "Vertical separation"
msgstr "Vertikalus skyrimas"
-#: ../gtk/gtkcalendar.c:631
+#: ../gtk/gtkcalendar.c:634
msgid "Space between day headers and main area"
msgstr "Tarpas tarp dienos antraščių ir pagrindinės srities"
-#: ../gtk/gtkcalendar.c:642
+#: ../gtk/gtkcalendar.c:645
msgid "Horizontal separation"
msgstr "Horizontalus skyrimas"
-#: ../gtk/gtkcalendar.c:643
+#: ../gtk/gtkcalendar.c:646
msgid "Space between week headers and main area"
msgstr "Tarpas tarp savaitės antraščių ir pagrindinės srities"
-#: ../gtk/gtkcellareabox.c:318 ../gtk/gtktreeviewcolumn.c:272
+#: ../gtk/gtkcellareabox.c:318
+#: ../gtk/gtktreeviewcolumn.c:284
msgid "Space which is inserted between cells"
msgstr "Erdvė įterpiama tarp langelių"
msgstr "Pakavimo tipas"
#: ../gtk/gtkcellareabox.c:388
-msgid ""
-"A GtkPackType indicating whether the cell is packed with reference to the "
-"start or end of the cell area"
-msgstr ""
-"GtkPackType, rodantis, ar ląstelė supakuota su nuoroda į ląstelės ploto "
-"pradžią ar pabaigą"
+msgid "A GtkPackType indicating whether the cell is packed with reference to the start or end of the cell area"
+msgstr "GtkPackType, rodantis, ar ląstelė supakuota su nuoroda į ląstelės ploto pradžią ar pabaigą"
#: ../gtk/gtkcellarea.c:803
msgid "Focus Cell"
msgid "The widget currently editing the edited cell"
msgstr "Elementas, šiuo metu redaguojantis ląstelę"
-#: ../gtk/gtkcellareacontext.c:127
+#: ../gtk/gtkcellareacontext.c:119
msgid "Area"
msgstr "Sritis"
-#: ../gtk/gtkcellareacontext.c:128
+#: ../gtk/gtkcellareacontext.c:120
msgid "The Cell Area this context was created for"
msgstr "Ląstelės sritis, kuriai buvo sukurtas šis kontekstas"
-#: ../gtk/gtkcellareacontext.c:144 ../gtk/gtkcellareacontext.c:163
-#: ../gtk/gtktreeviewcolumn.c:299
+#: ../gtk/gtkcellareacontext.c:136
+#: ../gtk/gtkcellareacontext.c:155
+#: ../gtk/gtktreeviewcolumn.c:311
msgid "Minimum Width"
msgstr "Mažiausias plotis"
-#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164
+#: ../gtk/gtkcellareacontext.c:137
+#: ../gtk/gtkcellareacontext.c:156
msgid "Minimum cached width"
msgstr "Minimalus podėlio plotis"
-#: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201
+#: ../gtk/gtkcellareacontext.c:174
+#: ../gtk/gtkcellareacontext.c:193
msgid "Minimum Height"
msgstr "Minimalus aukštis"
-#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202
+#: ../gtk/gtkcellareacontext.c:175
+#: ../gtk/gtkcellareacontext.c:194
msgid "Minimum cached height"
msgstr "Minimalus podėlio aukštis"
msgid "A column in the data source model to get the strings from"
msgstr "Duomenų šaltinio stulpelis, iš kurio gaunomos sekos"
-#: ../gtk/gtkcellrenderercombo.c:171 ../gtk/gtkcombobox.c:858
+#: ../gtk/gtkcellrenderercombo.c:171
+#: ../gtk/gtkcombobox.c:859
msgid "Has Entry"
msgstr "Turi įrašo vietą"
msgid "Pixbuf for closed expander"
msgstr "Uždaro išplėtimo buferis"
-#: ../gtk/gtkcellrendererpixbuf.c:164 ../gtk/gtkimage.c:253
+#: ../gtk/gtkcellrendererpixbuf.c:164
+#: ../gtk/gtkimage.c:254
#: ../gtk/gtkstatusicon.c:251
msgid "Stock ID"
msgstr "Standartinis ID"
msgid "The stock ID of the stock icon to render"
msgstr "Standartinis ID naudojamas su įprasta piktograma"
-#: ../gtk/gtkcellrendererpixbuf.c:172 ../gtk/gtkcellrendererspinner.c:151
-#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:292
+#: ../gtk/gtkcellrendererpixbuf.c:172
+#: ../gtk/gtkcellrendererspinner.c:151
+#: ../gtk/gtkrecentmanager.c:309
+#: ../gtk/gtkstatusicon.c:292
msgid "Size"
msgstr "Dydis"
msgid "Whether the rendered pixbuf should be colorized according to the state"
msgstr "Ar atvaizduoklio pixbuf turėtų būti spalvinamas atsižvelgiant į būseną"
-#: ../gtk/gtkcellrendererpixbuf.c:234 ../gtk/gtkimage.c:328
-#: ../gtk/gtkwindow.c:700
+#: ../gtk/gtkcellrendererpixbuf.c:234
+#: ../gtk/gtkimage.c:329
+#: ../gtk/gtkwindow.c:701
msgid "Icon"
msgstr "Piktograma"
msgid "Value of the progress bar"
msgstr "Pažangos juostos reikšmė"
-#: ../gtk/gtkcellrendererprogress.c:156 ../gtk/gtkcellrenderertext.c:254
-#: ../gtk/gtkentry.c:833 ../gtk/gtkentrybuffer.c:352
-#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:174
+#: ../gtk/gtkcellrendererprogress.c:156
+#: ../gtk/gtkcellrenderertext.c:254
+#: ../gtk/gtkentrybuffer.c:352
+#: ../gtk/gtkentry.c:837
+#: ../gtk/gtkmessagedialog.c:227
+#: ../gtk/gtkprogressbar.c:176
#: ../gtk/gtktextbuffer.c:221
msgid "Text"
msgstr "Tekstas"
msgid "Text on the progress bar"
msgstr "Tekstas rodomas pažangos juostoje"
-#: ../gtk/gtkcellrendererprogress.c:180 ../gtk/gtkcellrendererspinner.c:137
+#: ../gtk/gtkcellrendererprogress.c:180
+#: ../gtk/gtkcellrendererspinner.c:137
msgid "Pulse"
msgstr "Pulsavimas"
#: ../gtk/gtkcellrendererprogress.c:181
-msgid ""
-"Set this to positive values to indicate that some progress is made, but you "
-"don't know how much."
-msgstr ""
-"Nustatykite teigiamas reikšmes kai žinote, kad užduotis vykdoma, tačiau "
-"nežinote, kokia darbo dalis atlikta."
+msgid "Set this to positive values to indicate that some progress is made, but you don't know how much."
+msgstr "Nustatykite teigiamas reikšmes kai žinote, kad užduotis vykdoma, tačiau nežinote, kokia darbo dalis atlikta."
#: ../gtk/gtkcellrendererprogress.c:197
msgid "Text x alignment"
msgstr "Teksto x lygiavimas"
#: ../gtk/gtkcellrendererprogress.c:198
-msgid ""
-"The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL "
-"layouts."
-msgstr ""
-"Horizontalus lygiavimas, nuo 0 (kairysis) iki 1 (dešinysis). Iš-dešinės-į-"
-"kairę turiniui atvirkščiai."
+msgid "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL layouts."
+msgstr "Horizontalus lygiavimas, nuo 0 (kairysis) iki 1 (dešinysis). Iš-dešinės-į-kairę turiniui atvirkščiai."
#: ../gtk/gtkcellrendererprogress.c:214
msgid "Text y alignment"
msgid "The vertical text alignment, from 0 (top) to 1 (bottom)."
msgstr "Vertikalus lygiavimas, nuo 0 (viršus) iki 1 (apačia)."
-#: ../gtk/gtkcellrendererprogress.c:226 ../gtk/gtkprogressbar.c:150
-#: ../gtk/gtkrange.c:425
+#: ../gtk/gtkcellrendererprogress.c:226
+#: ../gtk/gtkprogressbar.c:152
+#: ../gtk/gtkrange.c:426
msgid "Inverted"
msgstr "Inversinis"
-#: ../gtk/gtkcellrendererprogress.c:227 ../gtk/gtkprogressbar.c:151
+#: ../gtk/gtkcellrendererprogress.c:227
+#: ../gtk/gtkprogressbar.c:153
msgid "Invert the direction in which the progress bar grows"
msgstr "Apsukti pažangos juostos augimo kryptį"
-#: ../gtk/gtkcellrendererspin.c:113 ../gtk/gtkrange.c:417
-#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:321
+#: ../gtk/gtkcellrendererspin.c:113
+#: ../gtk/gtkrange.c:418
+#: ../gtk/gtkscalebutton.c:237
+#: ../gtk/gtkspinbutton.c:323
msgid "Adjustment"
msgstr "Slankiklis"
-#: ../gtk/gtkcellrendererspin.c:114 ../gtk/gtkspinbutton.c:322
+#: ../gtk/gtkcellrendererspin.c:114
+#: ../gtk/gtkspinbutton.c:324
msgid "The adjustment that holds the value of the spin button"
msgstr "Pataisa, kuri saugo sukimo mygtuko reikšmę"
msgid "Climb rate"
msgstr "Spartėjimo greitis greitis"
-#: ../gtk/gtkcellrendererspin.c:130 ../gtk/gtkspinbutton.c:330
+#: ../gtk/gtkcellrendererspin.c:130
+#: ../gtk/gtkspinbutton.c:332
msgid "The acceleration rate when you hold down a button"
msgstr "Spartėjimo greitis, kai laikote mygtuką nuspaustą"
-#: ../gtk/gtkcellrendererspin.c:143 ../gtk/gtkscale.c:252
-#: ../gtk/gtkspinbutton.c:339
+#: ../gtk/gtkcellrendererspin.c:143
+#: ../gtk/gtkscale.c:254
+#: ../gtk/gtkspinbutton.c:341
msgid "Digits"
msgstr "Skaitmenys"
-#: ../gtk/gtkcellrendererspin.c:144 ../gtk/gtkspinbutton.c:340
+#: ../gtk/gtkcellrendererspin.c:144
+#: ../gtk/gtkspinbutton.c:342
msgid "The number of decimal places to display"
msgstr "Rodomų trumpeninės dalies skaitmenų kiekis"
-#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:122
-#: ../gtk/gtkmenu.c:586 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:801
-#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:177
+#: ../gtk/gtkcellrendererspinner.c:119
+#: ../gtk/gtkcheckmenuitem.c:123
+#: ../gtk/gtkmenu.c:588
+#: ../gtk/gtkspinner.c:115
+#: ../gtk/gtkswitch.c:784
+#: ../gtk/gtktoggleaction.c:133
+#: ../gtk/gtktogglebutton.c:178
#: ../gtk/gtktoggletoolbutton.c:127
msgid "Active"
msgstr "Aktyvus"
msgid "Marked up text to render"
msgstr "Apdorojamas sužymėtas tekstas"
-#: ../gtk/gtkcellrenderertext.c:270 ../gtk/gtklabel.c:751
+#: ../gtk/gtkcellrenderertext.c:270
+#: ../gtk/gtklabel.c:751
msgid "Attributes"
msgstr "Atributai"
msgid "Whether to keep all text in a single paragraph"
msgstr "Ar visas tekstas turi būti vienoje pastraipoje"
-#: ../gtk/gtkcellrenderertext.c:287 ../gtk/gtkcellview.c:191
-#: ../gtk/gtktexttag.c:196
+#: ../gtk/gtkcellrenderertext.c:287
+#: ../gtk/gtkcellview.c:191
+#: ../gtk/gtktexttag.c:199
msgid "Background color name"
msgstr "Fono spalvos pavadinimas"
-#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:192
-#: ../gtk/gtktexttag.c:197
+#: ../gtk/gtkcellrenderertext.c:288
+#: ../gtk/gtkcellview.c:192
+#: ../gtk/gtktexttag.c:200
msgid "Background color as a string"
msgstr "Fono spalva kaip eilutė"
-#: ../gtk/gtkcellrenderertext.c:295 ../gtk/gtkcellview.c:198
-#: ../gtk/gtktexttag.c:204
+#: ../gtk/gtkcellrenderertext.c:295
+#: ../gtk/gtkcellview.c:198
+#: ../gtk/gtktexttag.c:207
msgid "Background color"
msgstr "Fono spalva"
-#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:199
+#: ../gtk/gtkcellrenderertext.c:296
+#: ../gtk/gtkcellview.c:199
+#: ../gtk/gtktexttag.c:208
msgid "Background color as a GdkColor"
msgstr "Fono spalva kaip GdkColor"
msgid "Background color as RGBA"
msgstr "Fono spalva kaip RGBA"
-#: ../gtk/gtkcellrenderertext.c:311 ../gtk/gtkcellview.c:213
+#: ../gtk/gtkcellrenderertext.c:311
+#: ../gtk/gtkcellview.c:213
+#: ../gtk/gtktexttag.c:223
msgid "Background color as a GdkRGBA"
msgstr "Fono spalva kaip GdkRGBA"
-#: ../gtk/gtkcellrenderertext.c:317 ../gtk/gtktexttag.c:220
+#: ../gtk/gtkcellrenderertext.c:317
+#: ../gtk/gtktexttag.c:238
msgid "Foreground color name"
msgstr "Priekinio plano spalvos pavadinimas"
-#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:221
+#: ../gtk/gtkcellrenderertext.c:318
+#: ../gtk/gtktexttag.c:239
msgid "Foreground color as a string"
msgstr "Priekinio plano spalva kaip eilutė"
-#: ../gtk/gtkcellrenderertext.c:325 ../gtk/gtktexttag.c:228
+#: ../gtk/gtkcellrenderertext.c:325
+#: ../gtk/gtktexttag.c:246
#: ../gtk/gtktrayicon-x11.c:137
msgid "Foreground color"
msgstr "Priekinio plano spalva"
#: ../gtk/gtkcellrenderertext.c:326
+#: ../gtk/gtktexttag.c:247
msgid "Foreground color as a GdkColor"
msgstr "Priekinio plano spalva kaip GdkColor"
msgstr "Priekinio plano spalva kaip RGBA"
#: ../gtk/gtkcellrenderertext.c:341
+#: ../gtk/gtktexttag.c:262
msgid "Foreground color as a GdkRGBA"
msgstr "Priekinio plano spalva kaip GdkRGBA"
-#: ../gtk/gtkcellrenderertext.c:349 ../gtk/gtkentry.c:757
-#: ../gtk/gtktexttag.c:245 ../gtk/gtktextview.c:687
+#: ../gtk/gtkcellrenderertext.c:349
+#: ../gtk/gtkentry.c:761
+#: ../gtk/gtktexttag.c:278
+#: ../gtk/gtktextview.c:686
msgid "Editable"
msgstr "Taisomas"
-#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtktexttag.c:246
-#: ../gtk/gtktextview.c:688
+#: ../gtk/gtkcellrenderertext.c:350
+#: ../gtk/gtktexttag.c:279
+#: ../gtk/gtktextview.c:687
msgid "Whether the text can be modified by the user"
msgstr "Ar tekstas gali būti keičiamas vartotojo"
-#: ../gtk/gtkcellrenderertext.c:357 ../gtk/gtkcellrenderertext.c:365
-#: ../gtk/gtktexttag.c:261 ../gtk/gtktexttag.c:269
+#: ../gtk/gtkcellrenderertext.c:357
+#: ../gtk/gtkcellrenderertext.c:365
+#: ../gtk/gtktexttag.c:294
+#: ../gtk/gtktexttag.c:302
msgid "Font"
msgstr "Šriftas"
-#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtktexttag.c:262
+#: ../gtk/gtkcellrenderertext.c:358
+#: ../gtk/gtktexttag.c:295
msgid "Font description as a string, e.g. \"Sans Italic 12\""
msgstr "Simbolinis šrifto aprašymas, pvz. „Sans Italic 12“"
-#: ../gtk/gtkcellrenderertext.c:366 ../gtk/gtktexttag.c:270
+#: ../gtk/gtkcellrenderertext.c:366
+#: ../gtk/gtktexttag.c:303
msgid "Font description as a PangoFontDescription struct"
msgstr "Šrifto aprašymas kaip PangoFontDescription struktūra"
-#: ../gtk/gtkcellrenderertext.c:374 ../gtk/gtktexttag.c:277
+#: ../gtk/gtkcellrenderertext.c:374
+#: ../gtk/gtktexttag.c:310
msgid "Font family"
msgstr "Šriftų šeima"
-#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:278
+#: ../gtk/gtkcellrenderertext.c:375
+#: ../gtk/gtktexttag.c:311
msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace"
msgstr "Šriftų šeimos pavadinimas, pvz. Sans, Helvetica, Times, Monospace"
-#: ../gtk/gtkcellrenderertext.c:382 ../gtk/gtkcellrenderertext.c:383
-#: ../gtk/gtktexttag.c:285
+#: ../gtk/gtkcellrenderertext.c:382
+#: ../gtk/gtkcellrenderertext.c:383
+#: ../gtk/gtktexttag.c:318
msgid "Font style"
msgstr "Šrifto stilius"
-#: ../gtk/gtkcellrenderertext.c:391 ../gtk/gtkcellrenderertext.c:392
-#: ../gtk/gtktexttag.c:294
+#: ../gtk/gtkcellrenderertext.c:391
+#: ../gtk/gtkcellrenderertext.c:392
+#: ../gtk/gtktexttag.c:327
msgid "Font variant"
msgstr "Šrifto variantas"
-#: ../gtk/gtkcellrenderertext.c:400 ../gtk/gtkcellrenderertext.c:401
-#: ../gtk/gtktexttag.c:303
+#: ../gtk/gtkcellrenderertext.c:400
+#: ../gtk/gtkcellrenderertext.c:401
+#: ../gtk/gtktexttag.c:336
msgid "Font weight"
msgstr "Šrifto svoris"
-#: ../gtk/gtkcellrenderertext.c:410 ../gtk/gtkcellrenderertext.c:411
-#: ../gtk/gtktexttag.c:314
+#: ../gtk/gtkcellrenderertext.c:410
+#: ../gtk/gtkcellrenderertext.c:411
+#: ../gtk/gtktexttag.c:347
msgid "Font stretch"
msgstr "Šrifto ištempimas"
-#: ../gtk/gtkcellrenderertext.c:419 ../gtk/gtkcellrenderertext.c:420
-#: ../gtk/gtktexttag.c:323
+#: ../gtk/gtkcellrenderertext.c:419
+#: ../gtk/gtkcellrenderertext.c:420
+#: ../gtk/gtktexttag.c:356
msgid "Font size"
msgstr "Šrifto dydis"
-#: ../gtk/gtkcellrenderertext.c:429 ../gtk/gtktexttag.c:343
+#: ../gtk/gtkcellrenderertext.c:429
+#: ../gtk/gtktexttag.c:376
msgid "Font points"
msgstr "Šrifto punktai"
-#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:344
+#: ../gtk/gtkcellrenderertext.c:430
+#: ../gtk/gtktexttag.c:377
msgid "Font size in points"
msgstr "Šriftas dydis taškais"
-#: ../gtk/gtkcellrenderertext.c:439 ../gtk/gtktexttag.c:333
+#: ../gtk/gtkcellrenderertext.c:439
+#: ../gtk/gtktexttag.c:366
msgid "Font scale"
msgstr "Šrifto mastelis"
msgid "Font scaling factor"
msgstr "Šrifto mastelio dydis"
-#: ../gtk/gtkcellrenderertext.c:449 ../gtk/gtktexttag.c:412
+#: ../gtk/gtkcellrenderertext.c:449
+#: ../gtk/gtktexttag.c:445
msgid "Rise"
msgstr "Iškilumas"
#: ../gtk/gtkcellrenderertext.c:450
-msgid ""
-"Offset of text above the baseline (below the baseline if rise is negative)"
-msgstr ""
-"Teksto iškėlimas virš pagrindinės teksto eilutės (nuleidimas, jei reikšmė "
-"neigiama)"
+msgid "Offset of text above the baseline (below the baseline if rise is negative)"
+msgstr "Teksto iškėlimas virš pagrindinės teksto eilutės (nuleidimas, jei reikšmė neigiama)"
-#: ../gtk/gtkcellrenderertext.c:461 ../gtk/gtktexttag.c:452
+#: ../gtk/gtkcellrenderertext.c:461
+#: ../gtk/gtktexttag.c:485
msgid "Strikethrough"
msgstr "Perbrauktas"
-#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:453
+#: ../gtk/gtkcellrenderertext.c:462
+#: ../gtk/gtktexttag.c:486
msgid "Whether to strike through the text"
msgstr "Ar perbraukti tekstą"
-#: ../gtk/gtkcellrenderertext.c:469 ../gtk/gtktexttag.c:460
+#: ../gtk/gtkcellrenderertext.c:469
+#: ../gtk/gtktexttag.c:493
msgid "Underline"
msgstr "Pabrauktas"
-#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:461
+#: ../gtk/gtkcellrenderertext.c:470
+#: ../gtk/gtktexttag.c:494
msgid "Style of underline for this text"
msgstr "Šio teksto pabraukimo stilius"
-#: ../gtk/gtkcellrenderertext.c:478 ../gtk/gtktexttag.c:372
+#: ../gtk/gtkcellrenderertext.c:478
+#: ../gtk/gtktexttag.c:405
msgid "Language"
msgstr "Kalba"
#: ../gtk/gtkcellrenderertext.c:479
-msgid ""
-"The language this text is in, as an ISO code. Pango can use this as a hint "
-"when rendering the text. If you don't understand this parameter, you "
-"probably don't need it"
-msgstr ""
-"Šio teksto kalbos ISO kodas. Pango posistemė gali juo pasinaudoti išvesdama "
-"teksta. Jei nesuprantate šio nustatymo galimybių, Jums greičiausiai jo "
-"nereikia"
+msgid "The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If you don't understand this parameter, you probably don't need it"
+msgstr "Šio teksto kalbos ISO kodas. Pango posistemė gali juo pasinaudoti išvesdama teksta. Jei nesuprantate šio nustatymo galimybių, Jums greičiausiai jo nereikia"
-#: ../gtk/gtkcellrenderertext.c:499 ../gtk/gtklabel.c:876
-#: ../gtk/gtkprogressbar.c:214
+#: ../gtk/gtkcellrenderertext.c:499
+#: ../gtk/gtklabel.c:876
+#: ../gtk/gtkprogressbar.c:216
msgid "Ellipsize"
msgstr "Elipsuoti"
#: ../gtk/gtkcellrenderertext.c:500
-msgid ""
-"The preferred place to ellipsize the string, if the cell renderer does not "
-"have enough room to display the entire string"
-msgstr ""
-"Pageidaujama vieta užrašo elipsavimui, jeigu langelio atvaizduokliui "
-"nepakanka vietos parodyti visam užrašui"
+msgid "The preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string"
+msgstr "Pageidaujama vieta užrašo elipsavimui, jeigu langelio atvaizduokliui nepakanka vietos parodyti visam užrašui"
-#: ../gtk/gtkcellrenderertext.c:519 ../gtk/gtkfilechooserbutton.c:452
+#: ../gtk/gtkcellrenderertext.c:519
+#: ../gtk/gtkfilechooserbutton.c:454
#: ../gtk/gtklabel.c:897
msgid "Width In Characters"
msgstr "Plotis simboliais"
-#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtklabel.c:898
+#: ../gtk/gtkcellrenderertext.c:520
+#: ../gtk/gtklabel.c:898
msgid "The desired width of the label, in characters"
msgstr "Norimas užrašo plotis simboliais"
-#: ../gtk/gtkcellrenderertext.c:544 ../gtk/gtklabel.c:958
+#: ../gtk/gtkcellrenderertext.c:544
+#: ../gtk/gtklabel.c:958
msgid "Maximum Width In Characters"
msgstr "Didžiausias plotis simboliais"
msgid "The maximum width of the cell, in characters"
msgstr "Maksimalus ląstelės plotis simboliais"
-#: ../gtk/gtkcellrenderertext.c:563 ../gtk/gtktexttag.c:469
+#: ../gtk/gtkcellrenderertext.c:563
+#: ../gtk/gtktexttag.c:502
msgid "Wrap mode"
msgstr "Laužymo veiksena"
#: ../gtk/gtkcellrenderertext.c:564
-msgid ""
-"How to break the string into multiple lines, if the cell renderer does not "
-"have enough room to display the entire string"
-msgstr ""
-"Kaip laužyti užrašą į keletą eilučių, jei langeliui atvaizduokliui nepakanka "
-"vietos parodyti visam užrašui"
+msgid "How to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string"
+msgstr "Kaip laužyti užrašą į keletą eilučių, jei langeliui atvaizduokliui nepakanka vietos parodyti visam užrašui"
-#: ../gtk/gtkcellrenderertext.c:583 ../gtk/gtkcombobox.c:680
+#: ../gtk/gtkcellrenderertext.c:583
+#: ../gtk/gtkcombobox.c:681
msgid "Wrap width"
msgstr "Eilučių laužymo plotis"
msgid "The width at which the text is wrapped"
msgstr "Plotis, ties kuriuo laužiamas tekstas"
-#: ../gtk/gtkcellrenderertext.c:604 ../gtk/gtktreeviewcolumn.c:352
+#: ../gtk/gtkcellrenderertext.c:604
+#: ../gtk/gtktreeviewcolumn.c:364
msgid "Alignment"
msgstr "Lygiavimas"
msgid "How to align the lines"
msgstr "Kaip lygiuoti eilutes"
-#: ../gtk/gtkcellrenderertext.c:617 ../gtk/gtkcellview.c:317
-#: ../gtk/gtktexttag.c:558
+#: ../gtk/gtkcellrenderertext.c:617
+#: ../gtk/gtkcellview.c:317
+#: ../gtk/gtktexttag.c:605
msgid "Background set"
msgstr "Fonas nustatytas"
-#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:318
-#: ../gtk/gtktexttag.c:559
+#: ../gtk/gtkcellrenderertext.c:618
+#: ../gtk/gtkcellview.c:318
+#: ../gtk/gtktexttag.c:606
msgid "Whether this tag affects the background color"
msgstr "Ar žymė keičia fono spalvą"
-#: ../gtk/gtkcellrenderertext.c:621 ../gtk/gtktexttag.c:566
+#: ../gtk/gtkcellrenderertext.c:621
+#: ../gtk/gtktexttag.c:613
msgid "Foreground set"
msgstr "Priekinis planas nustatytas"
-#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:567
+#: ../gtk/gtkcellrenderertext.c:622
+#: ../gtk/gtktexttag.c:614
msgid "Whether this tag affects the foreground color"
msgstr "Ar ši žymė keičia priekinio plano spalvą"
-#: ../gtk/gtkcellrenderertext.c:625 ../gtk/gtktexttag.c:570
+#: ../gtk/gtkcellrenderertext.c:625
+#: ../gtk/gtktexttag.c:617
msgid "Editability set"
msgstr "Taisomumas nustatytas"
-#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:571
+#: ../gtk/gtkcellrenderertext.c:626
+#: ../gtk/gtktexttag.c:618
msgid "Whether this tag affects text editability"
msgstr "Ar žymė keičia teksto taisymo galimybes"
-#: ../gtk/gtkcellrenderertext.c:629 ../gtk/gtktexttag.c:574
+#: ../gtk/gtkcellrenderertext.c:629
+#: ../gtk/gtktexttag.c:621
msgid "Font family set"
msgstr "Šriftų šeima nustatyta"
-#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:575
+#: ../gtk/gtkcellrenderertext.c:630
+#: ../gtk/gtktexttag.c:622
msgid "Whether this tag affects the font family"
msgstr "Ar ši žymė keičia šrifto šeimą"
-#: ../gtk/gtkcellrenderertext.c:633 ../gtk/gtktexttag.c:578
+#: ../gtk/gtkcellrenderertext.c:633
+#: ../gtk/gtktexttag.c:625
msgid "Font style set"
msgstr "Šrifto stilius nustatytas"
-#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:579
+#: ../gtk/gtkcellrenderertext.c:634
+#: ../gtk/gtktexttag.c:626
msgid "Whether this tag affects the font style"
msgstr "Ar ši žymė keičia šrifto stilių"
-#: ../gtk/gtkcellrenderertext.c:637 ../gtk/gtktexttag.c:582
+#: ../gtk/gtkcellrenderertext.c:637
+#: ../gtk/gtktexttag.c:629
msgid "Font variant set"
msgstr "Šrifto variantas nustatytas"
-#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:583
+#: ../gtk/gtkcellrenderertext.c:638
+#: ../gtk/gtktexttag.c:630
msgid "Whether this tag affects the font variant"
msgstr "Ar ši žymė keičia šrifto variaciją"
-#: ../gtk/gtkcellrenderertext.c:641 ../gtk/gtktexttag.c:586
+#: ../gtk/gtkcellrenderertext.c:641
+#: ../gtk/gtktexttag.c:633
msgid "Font weight set"
msgstr "Šrifto svoris nustatytas"
-#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:587
+#: ../gtk/gtkcellrenderertext.c:642
+#: ../gtk/gtktexttag.c:634
msgid "Whether this tag affects the font weight"
msgstr "Ar ši žymė keičia šrifto storį"
-#: ../gtk/gtkcellrenderertext.c:645 ../gtk/gtktexttag.c:590
+#: ../gtk/gtkcellrenderertext.c:645
+#: ../gtk/gtktexttag.c:637
msgid "Font stretch set"
msgstr "Nustatytas šriftas ištempimas"
-#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:591
+#: ../gtk/gtkcellrenderertext.c:646
+#: ../gtk/gtktexttag.c:638
msgid "Whether this tag affects the font stretch"
msgstr "Ar ši žymė keičia šrifto plotį"
-#: ../gtk/gtkcellrenderertext.c:649 ../gtk/gtktexttag.c:594
+#: ../gtk/gtkcellrenderertext.c:649
+#: ../gtk/gtktexttag.c:641
msgid "Font size set"
msgstr "Šrifto dydis nustatytas"
-#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:595
+#: ../gtk/gtkcellrenderertext.c:650
+#: ../gtk/gtktexttag.c:642
msgid "Whether this tag affects the font size"
msgstr "Ar ši žymė keičia šrifto dydį"
-#: ../gtk/gtkcellrenderertext.c:653 ../gtk/gtktexttag.c:598
+#: ../gtk/gtkcellrenderertext.c:653
+#: ../gtk/gtktexttag.c:645
msgid "Font scale set"
msgstr "Nustatytas šriftas mastelis"
-#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:599
+#: ../gtk/gtkcellrenderertext.c:654
+#: ../gtk/gtktexttag.c:646
msgid "Whether this tag scales the font size by a factor"
msgstr "Ar žymė keičia šrifto dydį pagal mastelį"
-#: ../gtk/gtkcellrenderertext.c:657 ../gtk/gtktexttag.c:618
+#: ../gtk/gtkcellrenderertext.c:657
+#: ../gtk/gtktexttag.c:665
msgid "Rise set"
msgstr "Iškilimas nustatytas"
-#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:619
+#: ../gtk/gtkcellrenderertext.c:658
+#: ../gtk/gtktexttag.c:666
msgid "Whether this tag affects the rise"
msgstr "Ar ši žymė keičia iškilumą"
-#: ../gtk/gtkcellrenderertext.c:661 ../gtk/gtktexttag.c:634
+#: ../gtk/gtkcellrenderertext.c:661
+#: ../gtk/gtktexttag.c:681
msgid "Strikethrough set"
msgstr "Perbraukimas nustatytas"
-#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:635
+#: ../gtk/gtkcellrenderertext.c:662
+#: ../gtk/gtktexttag.c:682
msgid "Whether this tag affects strikethrough"
msgstr "Ar ši žymė keičia perbraukimą"
-#: ../gtk/gtkcellrenderertext.c:665 ../gtk/gtktexttag.c:642
+#: ../gtk/gtkcellrenderertext.c:665
+#: ../gtk/gtktexttag.c:689
msgid "Underline set"
msgstr "Pabraukimas nustatytas"
-#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:643
+#: ../gtk/gtkcellrenderertext.c:666
+#: ../gtk/gtktexttag.c:690
msgid "Whether this tag affects underlining"
msgstr "Ar ši žymė keičia pabraukimą"
-#: ../gtk/gtkcellrenderertext.c:669 ../gtk/gtktexttag.c:606
+#: ../gtk/gtkcellrenderertext.c:669
+#: ../gtk/gtktexttag.c:653
msgid "Language set"
msgstr "Nustatyta kalba"
-#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:607
+#: ../gtk/gtkcellrenderertext.c:670
+#: ../gtk/gtktexttag.c:654
msgid "Whether this tag affects the language the text is rendered as"
msgstr "Ar žymė nustato apdorojamo teksto kalbą"
msgid "Indicator size"
msgstr "Indikatoriaus dydis"
-#: ../gtk/gtkcellrenderertoggle.c:173 ../gtk/gtkcheckbutton.c:93
-#: ../gtk/gtkcheckmenuitem.c:146
+#: ../gtk/gtkcellrenderertoggle.c:173
+#: ../gtk/gtkcheckbutton.c:93
+#: ../gtk/gtkcheckmenuitem.c:147
msgid "Size of check or radio indicator"
msgstr "Pažymėjimo arba perjungimo lauko dydis"
msgid "The model for cell view"
msgstr "Ląstelių rodinio modelis"
-#: ../gtk/gtkcellview.c:246 ../gtk/gtkcombobox.c:944
-#: ../gtk/gtkentrycompletion.c:448 ../gtk/gtkiconview.c:769
-#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:415
+#: ../gtk/gtkcellview.c:246
+#: ../gtk/gtkcombobox.c:945
+#: ../gtk/gtkentrycompletion.c:448
+#: ../gtk/gtkiconview.c:769
+#: ../gtk/gtktreemenu.c:329
+#: ../gtk/gtktreeviewcolumn.c:427
msgid "Cell Area"
msgstr "Ląstelės sritis"
-#: ../gtk/gtkcellview.c:247 ../gtk/gtkcombobox.c:945
-#: ../gtk/gtkentrycompletion.c:449 ../gtk/gtkiconview.c:770
-#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:416
+#: ../gtk/gtkcellview.c:247
+#: ../gtk/gtkcombobox.c:946
+#: ../gtk/gtkentrycompletion.c:449
+#: ../gtk/gtkiconview.c:770
+#: ../gtk/gtktreemenu.c:330
+#: ../gtk/gtktreeviewcolumn.c:428
msgid "The GtkCellArea used to layout cells"
msgstr "GtkCellArea, naudojama ląstelių išdėstymui"
msgid "Whether to request enough space for every row in the model"
msgstr "Ar prašyti pakankamai ploto kiekvienai eilutei modelyje"
-#: ../gtk/gtkcheckbutton.c:92 ../gtk/gtkcheckmenuitem.c:145
+#: ../gtk/gtkcheckbutton.c:92
+#: ../gtk/gtkcheckmenuitem.c:146
msgid "Indicator Size"
msgstr "Indikatoriaus dydis"
-#: ../gtk/gtkcheckbutton.c:100 ../gtk/gtkexpander.c:363
+#: ../gtk/gtkcheckbutton.c:100
+#: ../gtk/gtkexpander.c:364
msgid "Indicator Spacing"
msgstr "Indikatoriaus Tarpai"
msgid "Spacing around check or radio indicator"
msgstr "Tarpas aplink pasirinkimo ar perjungimo laukus"
-#: ../gtk/gtkcheckmenuitem.c:123
+#: ../gtk/gtkcheckmenuitem.c:124
msgid "Whether the menu item is checked"
msgstr "Ar meniu punktas yra pažymėtas"
-#: ../gtk/gtkcheckmenuitem.c:130 ../gtk/gtktogglebutton.c:185
+#: ../gtk/gtkcheckmenuitem.c:131
+#: ../gtk/gtktogglebutton.c:186
msgid "Inconsistent"
msgstr "Nepastovus"
-#: ../gtk/gtkcheckmenuitem.c:131
+#: ../gtk/gtkcheckmenuitem.c:132
msgid "Whether to display an \"inconsistent\" state"
msgstr "Ar rodyti „nepastovią“ būseną"
-#: ../gtk/gtkcheckmenuitem.c:138
+#: ../gtk/gtkcheckmenuitem.c:139
msgid "Draw as radio menu item"
msgstr "Piešti kaip radio meniu elementą"
-#: ../gtk/gtkcheckmenuitem.c:139
+#: ../gtk/gtkcheckmenuitem.c:140
msgid "Whether the menu item looks like a radio menu item"
msgstr "Ar meniu punktas atrodo kaip persijungiantis meniu punktas"
msgid "Whether to give the color an alpha value"
msgstr "Ar priskirti spalvai alfa kanalo reikšmę"
-#: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:438
-#: ../gtk/gtkfontbutton.c:152 ../gtk/gtkprintjob.c:141
-#: ../gtk/gtkstatusicon.c:438 ../gtk/gtktreeviewcolumn.c:319
+#: ../gtk/gtkcolorbutton.c:185
+#: ../gtk/gtkfilechooserbutton.c:440
+#: ../gtk/gtkfontbutton.c:151
+#: ../gtk/gtkprintjob.c:141
+#: ../gtk/gtkstatusicon.c:438
+#: ../gtk/gtktreeviewcolumn.c:331
msgid "Title"
msgstr "Pavadinimas"
msgid "The title of the color selection dialog"
msgstr "Spalvų pasirinkimo lango antraštė"
-#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:338
+#: ../gtk/gtkcolorbutton.c:200
+#: ../gtk/gtkcolorsel.c:336
msgid "Current Color"
msgstr "Esama spalva"
msgid "The selected color"
msgstr "Pasirinkta spalva"
-#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:345
+#: ../gtk/gtkcolorbutton.c:215
+#: ../gtk/gtkcolorsel.c:343
msgid "Current Alpha"
msgstr "Esamas permatomumas"
#: ../gtk/gtkcolorbutton.c:216
msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)"
-msgstr ""
-"Nustatyta neskaidrumo reikšmė (0 - visiškai skaidrus, 65535 - visiškai "
-"nepermatomas)"
+msgstr "Nustatyta neskaidrumo reikšmė (0 - visiškai skaidrus, 65535 - visiškai nepermatomas)"
#: ../gtk/gtkcolorbutton.c:230
msgid "Current RGBA Color"
msgid "The selected RGBA color"
msgstr "Pasirinkta RGBA spalva"
-#: ../gtk/gtkcolorsel.c:324
+#: ../gtk/gtkcolorsel.c:322
msgid "Has Opacity Control"
msgstr "Rodyti skaidrumo keitiklį"
-#: ../gtk/gtkcolorsel.c:325
+#: ../gtk/gtkcolorsel.c:323
msgid "Whether the color selector should allow setting opacity"
msgstr "Ar spalvų parinkiklis leidžia keisti skaidrumą"
-#: ../gtk/gtkcolorsel.c:331
+#: ../gtk/gtkcolorsel.c:329
msgid "Has palette"
msgstr "Rodyti paletę"
-#: ../gtk/gtkcolorsel.c:332
+#: ../gtk/gtkcolorsel.c:330
msgid "Whether a palette should be used"
msgstr "Ar paletė bus naudojama"
-#: ../gtk/gtkcolorsel.c:339
+#: ../gtk/gtkcolorsel.c:337
msgid "The current color"
msgstr "Dabar pasirinkta spalva"
-#: ../gtk/gtkcolorsel.c:346
+#: ../gtk/gtkcolorsel.c:344
msgid "The current opacity value (0 fully transparent, 65535 fully opaque)"
-msgstr ""
-"Nustatyta neskaidrumo reikšmė (0 - visiškai skaidrus, 65535 - visiškai "
-"nepermatomas)"
+msgstr "Nustatyta neskaidrumo reikšmė (0 - visiškai skaidrus, 65535 - visiškai nepermatomas)"
-#: ../gtk/gtkcolorsel.c:360
+#: ../gtk/gtkcolorsel.c:358
msgid "Current RGBA"
msgstr "Esama RGBA"
-#: ../gtk/gtkcolorsel.c:361
+#: ../gtk/gtkcolorsel.c:359
msgid "The current RGBA color"
msgstr "Dabartinė RGBA spalva"
-#: ../gtk/gtkcolorseldialog.c:135
+#: ../gtk/gtkcolorseldialog.c:134
msgid "Color Selection"
msgstr "Spalvų parinkiklis"
-#: ../gtk/gtkcolorseldialog.c:136
+#: ../gtk/gtkcolorseldialog.c:135
msgid "The color selection embedded in the dialog."
msgstr "Spalvų parinkiklis, integruotas dialoge."
-#: ../gtk/gtkcolorseldialog.c:142
+#: ../gtk/gtkcolorseldialog.c:141
msgid "OK Button"
msgstr "Mygtukas „Gerai“"
-#: ../gtk/gtkcolorseldialog.c:143
+#: ../gtk/gtkcolorseldialog.c:142
msgid "The OK button of the dialog."
msgstr "Dialogo mygtukas „Gerai“."
-#: ../gtk/gtkcolorseldialog.c:149
+#: ../gtk/gtkcolorseldialog.c:148
msgid "Cancel Button"
msgstr "Mygtukas „Atsisakyti“"
-#: ../gtk/gtkcolorseldialog.c:150
+#: ../gtk/gtkcolorseldialog.c:149
msgid "The cancel button of the dialog."
msgstr "Dialogo mygtukas „Atsisakyti“."
-#: ../gtk/gtkcolorseldialog.c:156
+#: ../gtk/gtkcolorseldialog.c:155
msgid "Help Button"
msgstr "Mygtukas „Pagalba“"
-#: ../gtk/gtkcolorseldialog.c:157
+#: ../gtk/gtkcolorseldialog.c:156
msgid "The help button of the dialog."
msgstr "Dialogo mygtukas „Pagalba“."
-#: ../gtk/gtkcombobox.c:663
+#: ../gtk/gtkcombobox.c:664
msgid "ComboBox model"
msgstr "ComboBox modelis"
-#: ../gtk/gtkcombobox.c:664
+#: ../gtk/gtkcombobox.c:665
msgid "The model for the combo box"
msgstr "Combo box modelis"
-#: ../gtk/gtkcombobox.c:681
+#: ../gtk/gtkcombobox.c:682
msgid "Wrap width for laying out the items in a grid"
msgstr "Laužymo plotis išdėstant elementus tinklelyje"
-#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383
+#: ../gtk/gtkcombobox.c:704
+#: ../gtk/gtktreemenu.c:383
msgid "Row span column"
msgstr "Eilučių suliejimo laukas"
-#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384
+#: ../gtk/gtkcombobox.c:705
+#: ../gtk/gtktreemenu.c:384
msgid "TreeModel column containing the row span values"
msgstr "TreeModel stulpelis, saugantis eilučių ištempimo reikšmes"
-#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404
+#: ../gtk/gtkcombobox.c:726
+#: ../gtk/gtktreemenu.c:404
msgid "Column span column"
msgstr "Stulpelių suliejimo laukas"
-#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405
+#: ../gtk/gtkcombobox.c:727
+#: ../gtk/gtktreemenu.c:405
msgid "TreeModel column containing the column span values"
msgstr "TreeModel stulpelis, saugantis stulpelių ištempimo reikšmes"
-#: ../gtk/gtkcombobox.c:747
+#: ../gtk/gtkcombobox.c:748
msgid "Active item"
msgstr "Aktyvus elementas"
-#: ../gtk/gtkcombobox.c:748
+#: ../gtk/gtkcombobox.c:749
msgid "The item which is currently active"
msgstr "Šiuo metu aktyvus elementas"
-#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:479
+#: ../gtk/gtkcombobox.c:768
+#: ../gtk/gtkuimanager.c:479
msgid "Add tearoffs to menus"
msgstr "Pridėti atkabinimus į meniu"
-#: ../gtk/gtkcombobox.c:768
+#: ../gtk/gtkcombobox.c:769
msgid "Whether dropdowns should have a tearoff menu item"
msgstr "Ar išskleidžiami meniu turėtų turėti meniu atkabinimo elementą"
-#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:782
+#: ../gtk/gtkcombobox.c:784
+#: ../gtk/gtkentry.c:786
msgid "Has Frame"
msgstr "Turi rėmelį"
-#: ../gtk/gtkcombobox.c:784
+#: ../gtk/gtkcombobox.c:785
msgid "Whether the combo box draws a frame around the child"
msgstr "Ar išsiskleidžiantis laukelis piešia rėmelį apie vaikinį elementą"
-#: ../gtk/gtkcombobox.c:792
+#: ../gtk/gtkcombobox.c:793
msgid "Whether the combo box grabs focus when it is clicked with the mouse"
msgstr "Ar išsiskleidžiantis laukelis suaktyvinamas, kai pažymima pele"
-#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:641
+#: ../gtk/gtkcombobox.c:808
+#: ../gtk/gtkmenu.c:643
msgid "Tearoff Title"
msgstr "Nutraukimo pavadinimas"
-#: ../gtk/gtkcombobox.c:808
-msgid ""
-"A title that may be displayed by the window manager when the popup is torn-"
-"off"
+#: ../gtk/gtkcombobox.c:809
+msgid "A title that may be displayed by the window manager when the popup is torn-off"
msgstr "Pavadinimas, rodomas langų valdyklės, kai šis meniu nuplėštas"
-#: ../gtk/gtkcombobox.c:825
+#: ../gtk/gtkcombobox.c:826
msgid "Popup shown"
msgstr "Iššokantis langas rodomas"
-#: ../gtk/gtkcombobox.c:826
+#: ../gtk/gtkcombobox.c:827
msgid "Whether the combo's dropdown is shown"
msgstr "Ar rodyti išsiskleidžiančio laukelio mygtuką"
-#: ../gtk/gtkcombobox.c:842
+#: ../gtk/gtkcombobox.c:843
msgid "Button Sensitivity"
msgstr "Mygtuko jautrumas"
-#: ../gtk/gtkcombobox.c:843
+#: ../gtk/gtkcombobox.c:844
msgid "Whether the dropdown button is sensitive when the model is empty"
msgstr "Ar išskleidimo mygtukas yra jautrus, kai modelis tuščias"
-#: ../gtk/gtkcombobox.c:859
+#: ../gtk/gtkcombobox.c:860
msgid "Whether combo box has an entry"
msgstr "Ar iškrentantis sąrašas turi įvedimo lauką"
-#: ../gtk/gtkcombobox.c:874
+#: ../gtk/gtkcombobox.c:875
msgid "Entry Text Column"
msgstr "Įvedimo lauko teksto stulpelis"
-#: ../gtk/gtkcombobox.c:875
-msgid ""
-"The column in the combo box's model to associate with strings from the entry "
-"if the combo was created with #GtkComboBox:has-entry = %TRUE"
-msgstr ""
-"Stulpelis iškrentančio sąrašo modelyje susiejimui su simbolių eilutėmis iš "
-"įvedimo srities, jei sąrašas buvo sukurtas su #GtkComboBox:has-entry = %TRUE"
+#: ../gtk/gtkcombobox.c:876
+msgid "The column in the combo box's model to associate with strings from the entry if the combo was created with #GtkComboBox:has-entry = %TRUE"
+msgstr "Stulpelis iškrentančio sąrašo modelyje susiejimui su simbolių eilutėmis iš įvedimo srities, jei sąrašas buvo sukurtas su #GtkComboBox:has-entry = %TRUE"
-#: ../gtk/gtkcombobox.c:892
+#: ../gtk/gtkcombobox.c:893
msgid "ID Column"
msgstr "ID stulpelis"
-#: ../gtk/gtkcombobox.c:893
-msgid ""
-"The column in the combo box's model that provides string IDs for the values "
-"in the model"
-msgstr ""
-"Stulpelis iškrentančio sąrašo modelyje, pateikiantis simbolių eilučių "
-"identifikatorius reikšmėms modelyje"
+#: ../gtk/gtkcombobox.c:894
+msgid "The column in the combo box's model that provides string IDs for the values in the model"
+msgstr "Stulpelis iškrentančio sąrašo modelyje, pateikiantis simbolių eilučių identifikatorius reikšmėms modelyje"
-#: ../gtk/gtkcombobox.c:908
+#: ../gtk/gtkcombobox.c:909
msgid "Active id"
msgstr "Aktyvus id"
-#: ../gtk/gtkcombobox.c:909
+#: ../gtk/gtkcombobox.c:910
msgid "The value of the id column for the active row"
msgstr "Aktyvios eilutės id stulpelio reikšmė"
-#: ../gtk/gtkcombobox.c:924
+#: ../gtk/gtkcombobox.c:925
msgid "Popup Fixed Width"
msgstr "Fiksuoto pločio iššokantis sąrašas"
-#: ../gtk/gtkcombobox.c:925
-msgid ""
-"Whether the popup's width should be a fixed width matching the allocated "
-"width of the combo box"
-msgstr ""
-"Ar iškrentančio sąrašo plotis turi būti fiksuotas ir sutampantis su "
-"iškrentančio sąrašoelemento pločiu"
+#: ../gtk/gtkcombobox.c:926
+msgid "Whether the popup's width should be a fixed width matching the allocated width of the combo box"
+msgstr "Ar iškrentančio sąrašo plotis turi būti fiksuotas ir sutampantis su iškrentančio sąrašoelemento pločiu"
-#: ../gtk/gtkcombobox.c:951
+#: ../gtk/gtkcombobox.c:952
msgid "Appears as list"
msgstr "Atrodo kaip sąrašas"
-#: ../gtk/gtkcombobox.c:952
+#: ../gtk/gtkcombobox.c:953
msgid "Whether dropdowns should look like lists rather than menus"
msgstr "Ar išskleidžiami meniu turi atrodyti kaip sąrašai, o ne kaip meniu"
-#: ../gtk/gtkcombobox.c:968
+#: ../gtk/gtkcombobox.c:969
msgid "Arrow Size"
msgstr "Rodyklės dydis"
-#: ../gtk/gtkcombobox.c:969
+#: ../gtk/gtkcombobox.c:970
msgid "The minimum size of the arrow in the combo box"
msgstr "Mažiausias rodyklės dydis išsiskleidžiančiame laukelyje"
-#: ../gtk/gtkcombobox.c:986
+#: ../gtk/gtkcombobox.c:987
msgid "The amount of space used by the arrow"
msgstr "Rodyklės užimama vieta"
-#: ../gtk/gtkcombobox.c:1001 ../gtk/gtkentry.c:882 ../gtk/gtkhandlebox.c:218
-#: ../gtk/gtkmenubar.c:207 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:604
+#: ../gtk/gtkcombobox.c:1002
+#: ../gtk/gtkentry.c:886
+#: ../gtk/gtkhandlebox.c:218
+#: ../gtk/gtkmenubar.c:217
+#: ../gtk/gtkstatusbar.c:182
+#: ../gtk/gtktoolbar.c:611
#: ../gtk/gtkviewport.c:153
msgid "Shadow type"
msgstr "Šešėlio tipas"
-#: ../gtk/gtkcombobox.c:1002
+#: ../gtk/gtkcombobox.c:1003
msgid "Which kind of shadow to draw around the combo box"
msgstr "Kokio tipo šešėlį piešti aplink išsiskleidžiantį laukelį"
-#: ../gtk/gtkcontainer.c:456
+#: ../gtk/gtkcontainer.c:457
msgid "Resize mode"
msgstr "Dyžio keitimo veiksena"
-#: ../gtk/gtkcontainer.c:457
+#: ../gtk/gtkcontainer.c:458
msgid "Specify how resize events are handled"
msgstr "Nustato kaip tvarkomos dydžio keitimo komandos"
-#: ../gtk/gtkcontainer.c:464
+#: ../gtk/gtkcontainer.c:465
msgid "Border width"
msgstr "Rėmelio storis"
-#: ../gtk/gtkcontainer.c:465
+#: ../gtk/gtkcontainer.c:466
msgid "The width of the empty border outside the containers children"
msgstr "Tuščio rėmelio, brėžiamo aplink konteinerio vaikinius objektus, plotis"
-#: ../gtk/gtkcontainer.c:473
+#: ../gtk/gtkcontainer.c:474
msgid "Child"
msgstr "Vaikinis objektas"
-#: ../gtk/gtkcontainer.c:474
+#: ../gtk/gtkcontainer.c:475
msgid "Can be used to add a new child to the container"
msgstr "Gali būti naudojamas pridėti naują vaikinį objektą į konteinerį"
-#: ../gtk/gtkdialog.c:289 ../gtk/gtkinfobar.c:426
+#: ../gtk/gtkdialog.c:289
+#: ../gtk/gtkinfobar.c:427
msgid "Content area border"
msgstr "Turinio srities rėmelis"
msgid "Width of border around the main dialog area"
msgstr "Rėmelio, apie pagrindinę dialogo lango sritį, plotis"
-#: ../gtk/gtkdialog.c:307 ../gtk/gtkinfobar.c:443
+#: ../gtk/gtkdialog.c:307
+#: ../gtk/gtkinfobar.c:444
msgid "Content area spacing"
msgstr "Turinio srities intervalas"
msgid "Spacing between elements of the main dialog area"
msgstr "Intervalas tarp pagrindinio dialogo srities elementų"
-#: ../gtk/gtkdialog.c:315 ../gtk/gtkinfobar.c:459
+#: ../gtk/gtkdialog.c:315
+#: ../gtk/gtkinfobar.c:460
msgid "Button spacing"
msgstr "Tarpai tarp mygtukų"
-#: ../gtk/gtkdialog.c:316 ../gtk/gtkinfobar.c:460
+#: ../gtk/gtkdialog.c:316
+#: ../gtk/gtkinfobar.c:461
msgid "Spacing between buttons"
msgstr "Tarpai tarp mygtukų"
-#: ../gtk/gtkdialog.c:324 ../gtk/gtkinfobar.c:475
+#: ../gtk/gtkdialog.c:324
+#: ../gtk/gtkinfobar.c:476
msgid "Action area border"
msgstr "Veiksmų srities rėmelis"
msgid "Width of border around the button area at the bottom of the dialog"
msgstr "Mygtukų lauko paraštės plotas dialogo lango apačioje"
-#: ../gtk/gtkentry.c:729
-msgid "Text Buffer"
-msgstr "Teksto buferis"
+#: ../gtk/gtkentrybuffer.c:353
+msgid "The contents of the buffer"
+msgstr "Buferio turinys"
-#: ../gtk/gtkentry.c:730
-msgid "Text buffer object which actually stores entry text"
-msgstr "Teksto buferis, kuriame saugomas tekstas"
+#: ../gtk/gtkentrybuffer.c:367
+#: ../gtk/gtkentry.c:917
+msgid "Text length"
+msgstr "Teksto ilgis"
-#: ../gtk/gtkentry.c:737 ../gtk/gtklabel.c:839
-msgid "Cursor Position"
-msgstr "Žymeklio vieta"
+#: ../gtk/gtkentrybuffer.c:368
+msgid "Length of the text currently in the buffer"
+msgstr "Å iuo metu buferyje esanÄ\8dio teksto ilgis"
-#: ../gtk/gtkentry.c:738 ../gtk/gtklabel.c:840
-msgid "The current position of the insertion cursor in chars"
+#: ../gtk/gtkentrybuffer.c:382
+#: ../gtk/gtkentry.c:769
+msgid "Maximum length"
+msgstr "Maksimalus ilgis"
+
+#: ../gtk/gtkentrybuffer.c:383
+#: ../gtk/gtkentry.c:770
+msgid "Maximum number of characters for this entry. Zero if no maximum"
+msgstr "Maksimalus simbolių skaičius šiame lauke. 0 jei neribojamas"
+
+#: ../gtk/gtkentry.c:733
+msgid "Text Buffer"
+msgstr "Teksto buferis"
+
+#: ../gtk/gtkentry.c:734
+msgid "Text buffer object which actually stores entry text"
+msgstr "Teksto buferis, kuriame saugomas tekstas"
+
+#: ../gtk/gtkentry.c:741
+#: ../gtk/gtklabel.c:839
+msgid "Cursor Position"
+msgstr "Žymeklio vieta"
+
+#: ../gtk/gtkentry.c:742
+#: ../gtk/gtklabel.c:840
+msgid "The current position of the insertion cursor in chars"
msgstr "Esama įterpimo žymeklio vieta simboliais"
-#: ../gtk/gtkentry.c:747 ../gtk/gtklabel.c:849
+#: ../gtk/gtkentry.c:751
+#: ../gtk/gtklabel.c:849
msgid "Selection Bound"
msgstr "Pažymėjimo Riba"
-#: ../gtk/gtkentry.c:748 ../gtk/gtklabel.c:850
-msgid ""
-"The position of the opposite end of the selection from the cursor in chars"
+#: ../gtk/gtkentry.c:752
+#: ../gtk/gtklabel.c:850
+msgid "The position of the opposite end of the selection from the cursor in chars"
msgstr "Kito pažymėjimo galo vieta simboliais"
-#: ../gtk/gtkentry.c:758
+#: ../gtk/gtkentry.c:762
msgid "Whether the entry contents can be edited"
msgstr "Ar įvesties lauko turinys gali būti keičiamas"
-#: ../gtk/gtkentry.c:765 ../gtk/gtkentrybuffer.c:382
-msgid "Maximum length"
-msgstr "Maksimalus ilgis"
-
-#: ../gtk/gtkentry.c:766 ../gtk/gtkentrybuffer.c:383
-msgid "Maximum number of characters for this entry. Zero if no maximum"
-msgstr "Maksimalus simbolių skaičius šiame lauke. 0 jei neribojamas"
-
-#: ../gtk/gtkentry.c:774
+#: ../gtk/gtkentry.c:778
msgid "Visibility"
msgstr "Matomumas"
-#: ../gtk/gtkentry.c:775
-msgid ""
-"FALSE displays the \"invisible char\" instead of the actual text (password "
-"mode)"
-msgstr ""
-"FALSE išveda „nematomą simbolį“ vietoj paprasto teksto (slaptažodžio "
-"veiksena)"
+#: ../gtk/gtkentry.c:779
+msgid "FALSE displays the \"invisible char\" instead of the actual text (password mode)"
+msgstr "FALSE išveda „nematomą simbolį“ vietoj paprasto teksto (slaptažodžio veiksena)"
-#: ../gtk/gtkentry.c:783
+#: ../gtk/gtkentry.c:787
msgid "FALSE removes outside bevel from entry"
msgstr "FALSE pašalina išorinį įrašo rėmelį"
-#: ../gtk/gtkentry.c:791
-msgid ""
-"Border between text and frame. Overrides the inner-border style property"
+#: ../gtk/gtkentry.c:795
+msgid "Border between text and frame. Overrides the inner-border style property"
msgstr "Rėmelis tarp teksto ir kadro. Nepaiso inner-border stiliaus savybės"
-#: ../gtk/gtkentry.c:798 ../gtk/gtkentry.c:1394
+#: ../gtk/gtkentry.c:802
+#: ../gtk/gtkentry.c:1398
msgid "Invisible character"
msgstr "Nematomas simbolis"
-#: ../gtk/gtkentry.c:799 ../gtk/gtkentry.c:1395
+#: ../gtk/gtkentry.c:803
+#: ../gtk/gtkentry.c:1399
msgid "The character to use when masking entry contents (in \"password mode\")"
msgstr "Simbolis naudojamas paslėpti įrašo turinį („slaptažodžio veiksenoje“)"
-#: ../gtk/gtkentry.c:806
+#: ../gtk/gtkentry.c:810
msgid "Activates default"
msgstr "Aktyvina numatytąjį"
-#: ../gtk/gtkentry.c:807
-msgid ""
-"Whether to activate the default widget (such as the default button in a "
-"dialog) when Enter is pressed"
-msgstr ""
-"Ar aktyvinti numatytąjį objektą (pvz., kaip numatytąjį mygtuką dialoge), kai "
-"paspaudžiamas Enter klavišas"
+#: ../gtk/gtkentry.c:811
+msgid "Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed"
+msgstr "Ar aktyvinti numatytąjį objektą (pvz., kaip numatytąjį mygtuką dialoge), kai paspaudžiamas Enter klavišas"
-#: ../gtk/gtkentry.c:813
+#: ../gtk/gtkentry.c:817
msgid "Width in chars"
msgstr "Plotis simboliais"
-#: ../gtk/gtkentry.c:814
+#: ../gtk/gtkentry.c:818
msgid "Number of characters to leave space for in the entry"
msgstr "Kokiam simbolių kiekiui palikti vietos laukelyje"
-#: ../gtk/gtkentry.c:823
+#: ../gtk/gtkentry.c:827
msgid "Scroll offset"
msgstr "Perslinkimo žingsnis"
-#: ../gtk/gtkentry.c:824
+#: ../gtk/gtkentry.c:828
msgid "Number of pixels of the entry scrolled off the screen to the left"
msgstr "Kiek pikselių įrašas perslenkamas į kairę nuo ekrano"
-#: ../gtk/gtkentry.c:834
+#: ../gtk/gtkentry.c:838
msgid "The contents of the entry"
msgstr "Įrašo turinys"
-#: ../gtk/gtkentry.c:849 ../gtk/gtkmisc.c:105
+#: ../gtk/gtkentry.c:853
+#: ../gtk/gtkmisc.c:105
msgid "X align"
msgstr "X lygiuotė"
-#: ../gtk/gtkentry.c:850 ../gtk/gtkmisc.c:106
-msgid ""
-"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL "
-"layouts."
-msgstr ""
-"Horizontali lygiuotė, nuo 0 (kairė) iki 1 (dešinė). RTL išdėstymams "
-"atvirkščiai."
+#: ../gtk/gtkentry.c:854
+#: ../gtk/gtkmisc.c:106
+msgid "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts."
+msgstr "Horizontali lygiuotė, nuo 0 (kairė) iki 1 (dešinė). RTL išdėstymams atvirkščiai."
-#: ../gtk/gtkentry.c:866
+#: ../gtk/gtkentry.c:870
msgid "Truncate multiline"
msgstr "Sujungti kelias eilutes"
-#: ../gtk/gtkentry.c:867
+#: ../gtk/gtkentry.c:871
msgid "Whether to truncate multiline pastes to one line."
msgstr "Ar sujungti kelių eilučių įdėjimus į vieną eilutę."
-#: ../gtk/gtkentry.c:883
+#: ../gtk/gtkentry.c:887
msgid "Which kind of shadow to draw around the entry when has-frame is set"
-msgstr ""
-"Kokio tipo šešėlį piešti aplink įvesties laukelį, kai nustatyta „has-frame“"
+msgstr "Kokio tipo šešėlį piešti aplink įvesties laukelį, kai nustatyta „has-frame“"
-#: ../gtk/gtkentry.c:898 ../gtk/gtktextview.c:767
+#: ../gtk/gtkentry.c:902
+#: ../gtk/gtktextview.c:766
msgid "Overwrite mode"
msgstr "Perrašymo veiksena"
-#: ../gtk/gtkentry.c:899
+#: ../gtk/gtkentry.c:903
msgid "Whether new text overwrites existing text"
msgstr "Ar įvedamas tekstas pakeičia esamą"
-#: ../gtk/gtkentry.c:913 ../gtk/gtkentrybuffer.c:367
-msgid "Text length"
-msgstr "Teksto ilgis"
-
-#: ../gtk/gtkentry.c:914
+#: ../gtk/gtkentry.c:918
msgid "Length of the text currently in the entry"
msgstr "Šiuo metu į lauką įvesto teksto ilgis"
-#: ../gtk/gtkentry.c:929
+#: ../gtk/gtkentry.c:933
msgid "Invisible character set"
msgstr "Nematomas simbolis nustatytas"
-#: ../gtk/gtkentry.c:930
+#: ../gtk/gtkentry.c:934
msgid "Whether the invisible character has been set"
msgstr "Ar nustatytas nematomas simbolis"
-#: ../gtk/gtkentry.c:948
+#: ../gtk/gtkentry.c:952
msgid "Caps Lock warning"
msgstr "Caps Lock įspėjimas"
-#: ../gtk/gtkentry.c:949
+#: ../gtk/gtkentry.c:953
msgid "Whether password entries will show a warning when Caps Lock is on"
msgstr "Ar įvedant slaptažodį bus rodomas įspėjimas, esant įjungtam Caps Lock"
-#: ../gtk/gtkentry.c:963
+#: ../gtk/gtkentry.c:967
msgid "Progress Fraction"
msgstr "Eigos dalis"
-#: ../gtk/gtkentry.c:964
+#: ../gtk/gtkentry.c:968
msgid "The current fraction of the task that's been completed"
msgstr "Jau atlikta užduoties dalis"
-#: ../gtk/gtkentry.c:981
+#: ../gtk/gtkentry.c:985
msgid "Progress Pulse Step"
msgstr "Eigos indikatoriaus žingsnis"
-#: ../gtk/gtkentry.c:982
-msgid ""
-"The fraction of total entry width to move the progress bouncing block for "
-"each call to gtk_entry_progress_pulse()"
-msgstr ""
-"Dalis, kuria reikia padidinti eigos indikatoriaus juostą kiekvienam "
-"kreipiniui į gtk_entry_progress_pulse()"
+#: ../gtk/gtkentry.c:986
+msgid "The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse()"
+msgstr "Dalis, kuria reikia padidinti eigos indikatoriaus juostą kiekvienam kreipiniui į gtk_entry_progress_pulse()"
-#: ../gtk/gtkentry.c:998
+#: ../gtk/gtkentry.c:1002
msgid "Placeholder text"
-msgstr ""
+msgstr "Tuščios vietos tekstas"
-#: ../gtk/gtkentry.c:999
+#: ../gtk/gtkentry.c:1003
msgid "Show text in the entry when it's empty and unfocused"
-msgstr ""
+msgstr "Rodyti tekstą įvedimo lauke kai jis tuščias ir neaktyvus"
-#: ../gtk/gtkentry.c:1013
+#: ../gtk/gtkentry.c:1017
msgid "Primary pixbuf"
msgstr "Pagrindinis pixbuf"
-#: ../gtk/gtkentry.c:1014
+#: ../gtk/gtkentry.c:1018
msgid "Primary pixbuf for the entry"
msgstr "Pirminis pixbuf elementui"
-#: ../gtk/gtkentry.c:1028
+#: ../gtk/gtkentry.c:1032
msgid "Secondary pixbuf"
msgstr "Antrinis pixbuf"
-#: ../gtk/gtkentry.c:1029
+#: ../gtk/gtkentry.c:1033
msgid "Secondary pixbuf for the entry"
msgstr "Antrinis pixbuf elementui"
-#: ../gtk/gtkentry.c:1043
+#: ../gtk/gtkentry.c:1047
msgid "Primary stock ID"
msgstr "Pirminis standartinis ID"
-#: ../gtk/gtkentry.c:1044
+#: ../gtk/gtkentry.c:1048
msgid "Stock ID for primary icon"
msgstr "Standartinis ID pirminei piktogramai"
-#: ../gtk/gtkentry.c:1058
+#: ../gtk/gtkentry.c:1062
msgid "Secondary stock ID"
msgstr "Antrinis standartinis ID"
-#: ../gtk/gtkentry.c:1059
+#: ../gtk/gtkentry.c:1063
msgid "Stock ID for secondary icon"
msgstr "Standartinis ID naudojamas su Standartinis ID antrinei piktogramai"
-#: ../gtk/gtkentry.c:1073
+#: ../gtk/gtkentry.c:1077
msgid "Primary icon name"
msgstr "Pirminis piktogramos pavadinimas"
-#: ../gtk/gtkentry.c:1074
+#: ../gtk/gtkentry.c:1078
msgid "Icon name for primary icon"
msgstr "Piktogramos pavadinimas pirminei piktogramai"
-#: ../gtk/gtkentry.c:1088
+#: ../gtk/gtkentry.c:1092
msgid "Secondary icon name"
msgstr "Antrinis piktogramos pavadinimas"
-#: ../gtk/gtkentry.c:1089
+#: ../gtk/gtkentry.c:1093
msgid "Icon name for secondary icon"
msgstr "Piktogramos pavadinimas antrinei piktogramai"
-#: ../gtk/gtkentry.c:1103
+#: ../gtk/gtkentry.c:1107
msgid "Primary GIcon"
msgstr "Pirminė GIcon"
-#: ../gtk/gtkentry.c:1104
+#: ../gtk/gtkentry.c:1108
msgid "GIcon for primary icon"
msgstr "GIcon pirminei piktogramai"
-#: ../gtk/gtkentry.c:1118
+#: ../gtk/gtkentry.c:1122
msgid "Secondary GIcon"
msgstr "Antrinė GIcon"
-#: ../gtk/gtkentry.c:1119
+#: ../gtk/gtkentry.c:1123
msgid "GIcon for secondary icon"
msgstr "GIcon antrinei piktogramai"
-#: ../gtk/gtkentry.c:1133
+#: ../gtk/gtkentry.c:1137
msgid "Primary storage type"
msgstr "Pirminis atminties tipas"
-#: ../gtk/gtkentry.c:1134
+#: ../gtk/gtkentry.c:1138
msgid "The representation being used for primary icon"
msgstr "Atvaizdavimas naudojamas pirminei piktogramai"
-#: ../gtk/gtkentry.c:1149
+#: ../gtk/gtkentry.c:1153
msgid "Secondary storage type"
msgstr "Numatytojo Antrinis atminties tipas"
-#: ../gtk/gtkentry.c:1150
+#: ../gtk/gtkentry.c:1154
msgid "The representation being used for secondary icon"
msgstr "Atvaizdavimas naudojamas antrinei piktogramai"
-#: ../gtk/gtkentry.c:1171
+#: ../gtk/gtkentry.c:1175
msgid "Primary icon activatable"
msgstr "Pirminė piktograma - aktyvinama"
-#: ../gtk/gtkentry.c:1172
+#: ../gtk/gtkentry.c:1176
msgid "Whether the primary icon is activatable"
msgstr "Ar pirminė piktograma yra aktyvinama"
-#: ../gtk/gtkentry.c:1192
+#: ../gtk/gtkentry.c:1196
msgid "Secondary icon activatable"
msgstr "Antrinė piktograma – aktyvinama"
-#: ../gtk/gtkentry.c:1193
+#: ../gtk/gtkentry.c:1197
msgid "Whether the secondary icon is activatable"
msgstr "Ar antrinė piktograma yra aktyvinama"
-#: ../gtk/gtkentry.c:1215
+#: ../gtk/gtkentry.c:1219
msgid "Primary icon sensitive"
msgstr "Pirminė piktograma – jautri"
-#: ../gtk/gtkentry.c:1216
+#: ../gtk/gtkentry.c:1220
msgid "Whether the primary icon is sensitive"
msgstr "Ar pirminė piktograma yra jautri"
-#: ../gtk/gtkentry.c:1237
+#: ../gtk/gtkentry.c:1241
msgid "Secondary icon sensitive"
msgstr "Antrinė piktograma – jautri"
-#: ../gtk/gtkentry.c:1238
+#: ../gtk/gtkentry.c:1242
msgid "Whether the secondary icon is sensitive"
msgstr "Ar antrinė piktograma yra jautri"
-#: ../gtk/gtkentry.c:1254
+#: ../gtk/gtkentry.c:1258
msgid "Primary icon tooltip text"
msgstr "Pirminės piktogramos paaiškinimo tekstas"
-#: ../gtk/gtkentry.c:1255 ../gtk/gtkentry.c:1291
+#: ../gtk/gtkentry.c:1259
+#: ../gtk/gtkentry.c:1295
msgid "The contents of the tooltip on the primary icon"
msgstr "Pirminės piktogramos paaiškinimo teksto turinys"
-#: ../gtk/gtkentry.c:1271
+#: ../gtk/gtkentry.c:1275
msgid "Secondary icon tooltip text"
msgstr "Antrinės piktogramos paaiškinimo tekstas"
-#: ../gtk/gtkentry.c:1272 ../gtk/gtkentry.c:1310
+#: ../gtk/gtkentry.c:1276
+#: ../gtk/gtkentry.c:1314
msgid "The contents of the tooltip on the secondary icon"
msgstr "Antrinės piktogramos paaiškinimo teksto turinys"
-#: ../gtk/gtkentry.c:1290
+#: ../gtk/gtkentry.c:1294
msgid "Primary icon tooltip markup"
msgstr "Pirminės piktogramos paaiškinimo teksto ženklinimas"
-#: ../gtk/gtkentry.c:1309
+#: ../gtk/gtkentry.c:1313
msgid "Secondary icon tooltip markup"
msgstr "Antrinės piktogramos paaiškinimo teksto ženklinimas"
-#: ../gtk/gtkentry.c:1329 ../gtk/gtktextview.c:795
+#: ../gtk/gtkentry.c:1333
+#: ../gtk/gtktextview.c:794
msgid "IM module"
msgstr "Įvesties metodo modulis"
-#: ../gtk/gtkentry.c:1330 ../gtk/gtktextview.c:796
+#: ../gtk/gtkentry.c:1334
+#: ../gtk/gtktextview.c:795
msgid "Which IM module should be used"
msgstr "Kurį įvesties metodo modulį naudoti"
-#: ../gtk/gtkentry.c:1344
-#, fuzzy
+#: ../gtk/gtkentry.c:1348
msgid "Completion"
-msgstr "Užbaigimo modelis"
+msgstr "Užbaigimas"
-#: ../gtk/gtkentry.c:1345
+#: ../gtk/gtkentry.c:1349
msgid "The auxiliary completion object"
-msgstr ""
+msgstr "Papildomas užbaigimo objektas"
-#: ../gtk/gtkentry.c:1359
+#: ../gtk/gtkentry.c:1363
msgid "Icon Prelight"
msgstr "Piktogramos pašviesinimas"
-#: ../gtk/gtkentry.c:1360
+#: ../gtk/gtkentry.c:1364
msgid "Whether activatable icons should prelight when hovered"
-msgstr ""
-"Ar aktyvinamos piktogramos turi būti pašviesintos, kai virš jų yra pelės "
-"žymeklis"
+msgstr "Ar aktyvinamos piktogramos turi būti pašviesintos, kai virš jų yra pelės žymeklis"
-#: ../gtk/gtkentry.c:1373
+#: ../gtk/gtkentry.c:1377
msgid "Progress Border"
msgstr "Pažangos juostos rėmelis"
-#: ../gtk/gtkentry.c:1374
+#: ../gtk/gtkentry.c:1378
msgid "Border around the progress bar"
msgstr "Rėmelis aplink pažangos juostą"
-#: ../gtk/gtkentry.c:1866
+#: ../gtk/gtkentry.c:1870
msgid "Border between text and frame."
msgstr "Rėmelis tarp teksto ir kadro."
-#: ../gtk/gtkentrybuffer.c:353
-msgid "The contents of the buffer"
-msgstr "Buferio turinys"
-
-#: ../gtk/gtkentrybuffer.c:368
-msgid "Length of the text currently in the buffer"
-msgstr "Šiuo metu buferyje esančio teksto ilgis"
-
#: ../gtk/gtkentrycompletion.c:320
msgid "Completion Model"
msgstr "Užbaigimo modelis"
msgid "Minimum length of the search key in order to look up matches"
msgstr "Mažiausias paieškos rakto dydis naudojamas ieškant sutapimų"
-#: ../gtk/gtkentrycompletion.c:344 ../gtk/gtkiconview.c:565
+#: ../gtk/gtkentrycompletion.c:344
+#: ../gtk/gtkiconview.c:565
msgid "Text column"
msgstr "Teksto stulpelis"
#: ../gtk/gtkentrycompletion.c:396
msgid "If TRUE, the popup window will have the same size as the entry"
-msgstr ""
-"Jeigu TEIGIAMA, iššokantis langas bus tokio pat dydžio kaip įvesties laukelis"
+msgstr "Jeigu TEIGIAMA, iššokantis langas bus tokio pat dydžio kaip įvesties laukelis"
#: ../gtk/gtkentrycompletion.c:414
msgid "Popup single match"
msgstr "Matomas langas"
#: ../gtk/gtkeventbox.c:110
-msgid ""
-"Whether the event box is visible, as opposed to invisible and only used to "
-"trap events."
+msgid "Whether the event box is visible, as opposed to invisible and only used to trap events."
msgstr "Ar įvykių laukas yra matomas, ar tik naudojamas registruoti įvykius."
#: ../gtk/gtkeventbox.c:116
msgstr "Virš vaikinio objekto"
#: ../gtk/gtkeventbox.c:117
-msgid ""
-"Whether the event-trapping window of the eventbox is above the window of the "
-"child widget as opposed to below it."
-msgstr ""
-"Ar įvykių registravimo langas įvykių lauke yra žemiau vaikinio objekto, ar "
-"aukščiau jo."
+msgid "Whether the event-trapping window of the eventbox is above the window of the child widget as opposed to below it."
+msgstr "Ar įvykių registravimo langas įvykių lauke yra žemiau vaikinio objekto, ar aukščiau jo."
-#: ../gtk/gtkexpander.c:281
+#: ../gtk/gtkexpander.c:282
msgid "Expanded"
msgstr "Išskleistas"
-#: ../gtk/gtkexpander.c:282
+#: ../gtk/gtkexpander.c:283
msgid "Whether the expander has been opened to reveal the child widget"
msgstr "Ar skleistukas išskleistas, kad parodytų vaikinį objektą"
-#: ../gtk/gtkexpander.c:290
+#: ../gtk/gtkexpander.c:291
msgid "Text of the expander's label"
msgstr "Skleistuko etiketės tekstas"
-#: ../gtk/gtkexpander.c:305 ../gtk/gtklabel.c:758
+#: ../gtk/gtkexpander.c:306
+#: ../gtk/gtklabel.c:758
msgid "Use markup"
msgstr "Naudoti žymėjimą"
-#: ../gtk/gtkexpander.c:306 ../gtk/gtklabel.c:759
+#: ../gtk/gtkexpander.c:307
+#: ../gtk/gtklabel.c:759
msgid "The text of the label includes XML markup. See pango_parse_markup()"
msgstr "Etiketės tekste naudojami XML elementai. Žr. pango_parse_markup()"
-#: ../gtk/gtkexpander.c:314
+#: ../gtk/gtkexpander.c:315
msgid "Space to put between the label and the child"
msgstr "Papildomas tarpas tarp etiketės ir vaikinio objekto"
-#: ../gtk/gtkexpander.c:323 ../gtk/gtkframe.c:205 ../gtk/gtktoolbutton.c:246
-#: ../gtk/gtktoolitemgroup.c:1604
+#: ../gtk/gtkexpander.c:324
+#: ../gtk/gtkframe.c:206
+#: ../gtk/gtktoolbutton.c:246
+#: ../gtk/gtktoolitemgroup.c:1599
msgid "Label widget"
msgstr "Etiketės objektas"
-#: ../gtk/gtkexpander.c:324
+#: ../gtk/gtkexpander.c:325
msgid "A widget to display in place of the usual expander label"
msgstr "Objektas rodomas vietoje įprastinės skleistuko etiketės"
-#: ../gtk/gtkexpander.c:331
+#: ../gtk/gtkexpander.c:332
msgid "Label fill"
msgstr "Etiketės užpildymas"
-#: ../gtk/gtkexpander.c:332
+#: ../gtk/gtkexpander.c:333
msgid "Whether the label widget should fill all available horizontal space"
-msgstr ""
-"Ar etiketės elementas turi užpildyti visą jam skirtą vietą horizontaliai"
+msgstr "Ar etiketės elementas turi užpildyti visą jam skirtą vietą horizontaliai"
-#: ../gtk/gtkexpander.c:347
-#, fuzzy
+#: ../gtk/gtkexpander.c:348
msgid "Resize tolevel"
-msgstr "Dyžio keitimo veiksena"
+msgstr "Pakeisti aukščiausio lygmens didį"
-#: ../gtk/gtkexpander.c:348
-msgid ""
-"Whether the expander will resize the toplevel window upon expanding and "
-"collapsing"
-msgstr ""
+#: ../gtk/gtkexpander.c:349
+msgid "Whether the expander will resize the toplevel window upon expanding and collapsing"
+msgstr "Ar išplėtėjas pakeisti aukščiausio lygio lango dydį išplėčiant ir sutraukiant"
-#: ../gtk/gtkexpander.c:354 ../gtk/gtktoolitemgroup.c:1632
+#: ../gtk/gtkexpander.c:355
+#: ../gtk/gtktoolitemgroup.c:1627
#: ../gtk/gtktreeview.c:1187
msgid "Expander Size"
msgstr "Skleistuko dydis"
-#: ../gtk/gtkexpander.c:355 ../gtk/gtktoolitemgroup.c:1633
+#: ../gtk/gtkexpander.c:356
+#: ../gtk/gtktoolitemgroup.c:1628
#: ../gtk/gtktreeview.c:1188
msgid "Size of the expander arrow"
msgstr "Skleistuko rodyklės dydis"
-#: ../gtk/gtkexpander.c:364
+#: ../gtk/gtkexpander.c:365
msgid "Spacing around expander arrow"
msgstr "Tarpas aplink skleistuko rodyklę"
-#: ../gtk/gtkfilechooserbutton.c:407
+#: ../gtk/gtkfilechooserbutton.c:409
msgid "Dialog"
msgstr "Dialogas"
-#: ../gtk/gtkfilechooserbutton.c:408
+#: ../gtk/gtkfilechooserbutton.c:410
msgid "The file chooser dialog to use."
msgstr "Naudotinas failų parinkiklio dialogas."
-#: ../gtk/gtkfilechooserbutton.c:439
+#: ../gtk/gtkfilechooserbutton.c:441
msgid "The title of the file chooser dialog."
msgstr "Failų parinkiklio dialogo antraštė."
-#: ../gtk/gtkfilechooserbutton.c:453
+#: ../gtk/gtkfilechooserbutton.c:455
msgid "The desired width of the button widget, in characters."
msgstr "Pageidaujamas mygtuko plotis simboliais."
msgid "The type of operation that the file selector is performing"
msgstr "Failų pasirinkimo objekto vykdomos operacijos tipas"
-#: ../gtk/gtkfilechooser.c:754 ../gtk/gtkrecentchooser.c:264
+#: ../gtk/gtkfilechooser.c:754
+#: ../gtk/gtkrecentchooser.c:264
msgid "Filter"
msgstr "Filtras"
msgstr "Peržiūros objektas aktyvus"
#: ../gtk/gtkfilechooser.c:773
-msgid ""
-"Whether the application supplied widget for custom previews should be shown."
+msgid "Whether the application supplied widget for custom previews should be shown."
msgstr "Ar turi būti rodomas programos pateiktas specialių peržiūrų objektas."
#: ../gtk/gtkfilechooser.c:778
msgid "Application supplied widget for extra options."
msgstr "Programos pateiktas specialių nustatymų objektas."
-#: ../gtk/gtkfilechooser.c:790 ../gtk/gtkrecentchooser.c:203
+#: ../gtk/gtkfilechooser.c:790
+#: ../gtk/gtkrecentchooser.c:203
msgid "Select Multiple"
msgstr "Daugybinis pasirinkimas"
msgstr "Prašyti perrašymo patvirtinimo"
#: ../gtk/gtkfilechooser.c:814
-msgid ""
-"Whether a file chooser in save mode will present an overwrite confirmation "
-"dialog if necessary."
-msgstr ""
-"Ar failų parinkiklis išsaugojimo veiksenoje rodys perrašymo patvirtinimo "
-"langą, kai tai būtina."
+msgid "Whether a file chooser in save mode will present an overwrite confirmation dialog if necessary."
+msgstr "Ar failų parinkiklis išsaugojimo veiksenoje rodys perrašymo patvirtinimo langą, kai tai būtina."
#: ../gtk/gtkfilechooser.c:830
msgid "Allow folder creation"
msgstr "Leisti kurti aplankus"
#: ../gtk/gtkfilechooser.c:831
-msgid ""
-"Whether a file chooser not in open mode will offer the user to create new "
-"folders."
+msgid "Whether a file chooser not in open mode will offer the user to create new folders."
msgstr "Ar failų parinkiklis atvėrimo veiksenoje siūlys kurti naujus aplankus."
-#: ../gtk/gtkfixed.c:152 ../gtk/gtklayout.c:634
+#: ../gtk/gtkfixed.c:152
+#: ../gtk/gtklayout.c:634
+#: ../gtk/gtktreeviewcolumn.c:264
msgid "X position"
msgstr "X padėtis"
-#: ../gtk/gtkfixed.c:153 ../gtk/gtklayout.c:635
+#: ../gtk/gtkfixed.c:153
+#: ../gtk/gtklayout.c:635
msgid "X position of child widget"
msgstr "Vaikinio objekto X padėtis"
-#: ../gtk/gtkfixed.c:160 ../gtk/gtklayout.c:644
+#: ../gtk/gtkfixed.c:160
+#: ../gtk/gtklayout.c:644
msgid "Y position"
msgstr "Y padėtis"
-#: ../gtk/gtkfixed.c:161 ../gtk/gtklayout.c:645
+#: ../gtk/gtkfixed.c:161
+#: ../gtk/gtklayout.c:645
msgid "Y position of child widget"
msgstr "Vaikinio objekto Y padėtis"
-#: ../gtk/gtkfontbutton.c:153
+#: ../gtk/gtkfontbutton.c:152
msgid "The title of the font selection dialog"
msgstr "Šriftų pasirinkimo lango antraštė"
-#: ../gtk/gtkfontbutton.c:168 ../gtk/gtkfontsel.c:241
+#: ../gtk/gtkfontbutton.c:167
+#: ../gtk/gtkfontsel.c:238
msgid "Font name"
msgstr "Šrifto pavadinimas"
-#: ../gtk/gtkfontbutton.c:169
+#: ../gtk/gtkfontbutton.c:168
msgid "The name of the selected font"
msgstr "Pasirinkto šrifto vardas"
-#: ../gtk/gtkfontbutton.c:170
+#: ../gtk/gtkfontbutton.c:169
msgid "Sans 12"
msgstr "Sans 12"
-#: ../gtk/gtkfontbutton.c:185
+#: ../gtk/gtkfontbutton.c:184
msgid "Use font in label"
msgstr "Nustatyti žymės šriftą"
-#: ../gtk/gtkfontbutton.c:186
+#: ../gtk/gtkfontbutton.c:185
msgid "Whether the label is drawn in the selected font"
msgstr "Ar žymė yra išvedama naudojant pasirinktą šriftą"
-#: ../gtk/gtkfontbutton.c:201
+#: ../gtk/gtkfontbutton.c:200
msgid "Use size in label"
msgstr "Nustatyti žymės dydį"
-#: ../gtk/gtkfontbutton.c:202
+#: ../gtk/gtkfontbutton.c:201
msgid "Whether the label is drawn with the selected font size"
msgstr "Ar žymė yra išvedama naudojant pasirinktą šrifto dydį"
-#: ../gtk/gtkfontbutton.c:218
+#: ../gtk/gtkfontbutton.c:217
msgid "Show style"
msgstr "Rodyti stilių"
-#: ../gtk/gtkfontbutton.c:219
+#: ../gtk/gtkfontbutton.c:218
msgid "Whether the selected font style is shown in the label"
msgstr "Ar pasirinkto šrifto stilius yra rodomas žymėje"
-#: ../gtk/gtkfontbutton.c:234
+#: ../gtk/gtkfontbutton.c:233
msgid "Show size"
msgstr "Rodyti dydį"
-#: ../gtk/gtkfontbutton.c:235
+#: ../gtk/gtkfontbutton.c:234
msgid "Whether selected font size is shown in the label"
msgstr "Ar pasirinkto šrifto dydis yra rodomas žymėje"
-#: ../gtk/gtkfontsel.c:242
+#: ../gtk/gtkfontsel.c:239
msgid "The string that represents this font"
msgstr "Simbolių eilutė, atitinkanti šį šriftą"
-#: ../gtk/gtkfontsel.c:248
+#: ../gtk/gtkfontsel.c:245
msgid "Preview text"
msgstr "Peržiūros tekstas"
-#: ../gtk/gtkfontsel.c:249
+#: ../gtk/gtkfontsel.c:246
msgid "The text to display in order to demonstrate the selected font"
msgstr "Tekstas, kuris išvedamas norint pademonstruoti pasirinktą šriftą"
-#: ../gtk/gtkframe.c:171
+#: ../gtk/gtkframe.c:172
msgid "Text of the frame's label"
msgstr "Rėmelio žymės tekstas"
-#: ../gtk/gtkframe.c:178
+#: ../gtk/gtkframe.c:179
msgid "Label xalign"
msgstr "Žymės x lyg"
-#: ../gtk/gtkframe.c:179
+#: ../gtk/gtkframe.c:180
msgid "The horizontal alignment of the label"
msgstr "Horizontalus žymės lygiavimas"
-#: ../gtk/gtkframe.c:187
+#: ../gtk/gtkframe.c:188
msgid "Label yalign"
msgstr "Žymės x lyg"
-#: ../gtk/gtkframe.c:188
+#: ../gtk/gtkframe.c:189
msgid "The vertical alignment of the label"
msgstr "Vertikalus žymės lygiavimas"
-#: ../gtk/gtkframe.c:196
+#: ../gtk/gtkframe.c:197
msgid "Frame shadow"
msgstr "Rėmelio šešėlis"
-#: ../gtk/gtkframe.c:197
+#: ../gtk/gtkframe.c:198
msgid "Appearance of the frame border"
msgstr "Rėmelio paraštės išvaizda"
-#: ../gtk/gtkframe.c:206
+#: ../gtk/gtkframe.c:207
msgid "A widget to display in place of the usual frame label"
msgstr "Objektas rodomas vietoje įprasto rėmelio užrašo"
-#: ../gtk/gtkgrid.c:1268 ../gtk/gtktable.c:209
+#: ../gtk/gtkgrid.c:1298
+#: ../gtk/gtktable.c:209
msgid "Row spacing"
msgstr "Tarpai tarp eilučių"
-#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:210
+#: ../gtk/gtkgrid.c:1299
+#: ../gtk/gtktable.c:210
msgid "The amount of space between two consecutive rows"
msgstr "Tarpas tarp dviejų greta esančių eilučių"
-#: ../gtk/gtkgrid.c:1275 ../gtk/gtktable.c:218
+#: ../gtk/gtkgrid.c:1305
+#: ../gtk/gtktable.c:218
msgid "Column spacing"
msgstr "Tarpai tarp stulpelių"
-#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:219
+#: ../gtk/gtkgrid.c:1306
+#: ../gtk/gtktable.c:219
msgid "The amount of space between two consecutive columns"
msgstr "Tarpas tarp dviejų greta esančių stulpelių"
-#: ../gtk/gtkgrid.c:1282
+#: ../gtk/gtkgrid.c:1312
msgid "Row Homogeneous"
msgstr "Eilutės vienalytės"
-#: ../gtk/gtkgrid.c:1283
+#: ../gtk/gtkgrid.c:1313
msgid "If TRUE, the rows are all the same height"
msgstr "Jei TEIGIAMA, visos eilutės yra vienodo aukščio"
-#: ../gtk/gtkgrid.c:1289
+#: ../gtk/gtkgrid.c:1319
msgid "Column Homogeneous"
msgstr "Vienalyčiai stulpeliai"
-#: ../gtk/gtkgrid.c:1290
+#: ../gtk/gtkgrid.c:1320
msgid "If TRUE, the columns are all the same width"
msgstr "Jei TEIGIAMA, visi stulpeliai yra vienodo pločio"
-#: ../gtk/gtkgrid.c:1296 ../gtk/gtktable.c:235
+#: ../gtk/gtkgrid.c:1326
+#: ../gtk/gtktable.c:235
msgid "Left attachment"
msgstr "Kairysis priedas"
-#: ../gtk/gtkgrid.c:1297 ../gtk/gtkmenu.c:759 ../gtk/gtktable.c:236
+#: ../gtk/gtkgrid.c:1327
+#: ../gtk/gtkmenu.c:761
+#: ../gtk/gtktable.c:236
msgid "The column number to attach the left side of the child to"
msgstr "Stulpelis, prie kurio reikia prijungti kairę vaikinio objekto pusę"
-#: ../gtk/gtkgrid.c:1303 ../gtk/gtktable.c:249
+#: ../gtk/gtkgrid.c:1333
+#: ../gtk/gtktable.c:249
msgid "Top attachment"
msgstr "Viršutinis priedas"
-#: ../gtk/gtkgrid.c:1304
+#: ../gtk/gtkgrid.c:1334
msgid "The row number to attach the top side of a child widget to"
msgstr "Eilutė, prie kurios reikia prijungti vaikinio elemento viršų, numeris"
-#: ../gtk/gtkgrid.c:1310 ../gtk/gtklayout.c:660 ../gtk/gtktreeviewcolumn.c:262
+#: ../gtk/gtkgrid.c:1340
+#: ../gtk/gtklayout.c:660
+#: ../gtk/gtktreeviewcolumn.c:274
msgid "Width"
msgstr "Plotis"
-#: ../gtk/gtkgrid.c:1311
+#: ../gtk/gtkgrid.c:1341
msgid "The number of columns that a child spans"
msgstr "Vaiko apimamų stulpelių skaičius"
-#: ../gtk/gtkgrid.c:1317 ../gtk/gtklayout.c:669
+#: ../gtk/gtkgrid.c:1347
+#: ../gtk/gtklayout.c:669
msgid "Height"
msgstr "Aukštis"
-#: ../gtk/gtkgrid.c:1318
+#: ../gtk/gtkgrid.c:1348
msgid "The number of rows that a child spans"
msgstr "Vaiko apimamų eilučių skaičius lentelėje"
msgstr "Prisegimo kraštas"
#: ../gtk/gtkhandlebox.c:237
-msgid ""
-"Side of the handlebox that's lined up with the docking point to dock the "
-"handlebox"
-msgstr ""
-"Pusė pagal kurią reikia lygiuoti rodyklės lauką jį prikabinant prie doko."
+msgid "Side of the handlebox that's lined up with the docking point to dock the handlebox"
+msgstr "Pusė pagal kurią reikia lygiuoti rodyklės lauką jį prikabinant prie doko."
#: ../gtk/gtkhandlebox.c:245
msgid "Snap edge set"
msgstr "Nustatytas prisegimo kraštas"
#: ../gtk/gtkhandlebox.c:246
-msgid ""
-"Whether to use the value from the snap_edge property or a value derived from "
-"handle_position"
+msgid "Whether to use the value from the snap_edge property or a value derived from handle_position"
msgstr "Naudoti snap_edge ar handle_position savybės reikšmę"
#: ../gtk/gtkhandlebox.c:253
msgstr "Vaikinis objektas atsietas"
#: ../gtk/gtkhandlebox.c:254
-msgid ""
-"A boolean value indicating whether the handlebox's child is attached or "
-"detached."
-msgstr ""
-"Loginė reikšmė, nurodanti, ar rodyklės lauko vaikinis objektas yra atsietas, "
-"ar ne."
+msgid "A boolean value indicating whether the handlebox's child is attached or detached."
+msgstr "Loginė reikšmė, nurodanti, ar rodyklės lauko vaikinis objektas yra atsietas, ar ne."
-#: ../gtk/gtkiconview.c:528 ../gtk/gtktreeselection.c:131
+#: ../gtk/gtkiconview.c:528
+#: ../gtk/gtktreeselection.c:131
msgid "Selection mode"
msgstr "Pasirinkimo veiksena"
#: ../gtk/gtkiconview.c:586
msgid "Model column used to retrieve the text if using Pango markup"
-msgstr ""
-"Modelio stulpelis naudojamas gauti tekstui, kai naudojamas Pango žymėjimas"
+msgstr "Modelio stulpelis naudojamas gauti tekstui, kai naudojamas Pango žymėjimas"
#: ../gtk/gtkiconview.c:593
msgid "Icon View Model"
msgstr "Elemento orientacija"
#: ../gtk/gtkiconview.c:709
-msgid ""
-"How the text and icon of each item are positioned relative to each other"
+msgid "How the text and icon of each item are positioned relative to each other"
msgstr "Kaip tekstas ir piktogramos išsidėstę vienas kito atžvilgiu"
-#: ../gtk/gtkiconview.c:725 ../gtk/gtktreeview.c:1022
-#: ../gtk/gtktreeviewcolumn.c:362
+#: ../gtk/gtkiconview.c:725
+#: ../gtk/gtktreeview.c:1022
+#: ../gtk/gtktreeviewcolumn.c:374
msgid "Reorderable"
msgstr "Perrūšiuojamas"
-#: ../gtk/gtkiconview.c:726 ../gtk/gtktreeview.c:1023
+#: ../gtk/gtkiconview.c:726
+#: ../gtk/gtktreeview.c:1023
msgid "View is reorderable"
msgstr "Vaizdas yra rūšiuojamas"
-#: ../gtk/gtkiconview.c:733 ../gtk/gtktreeview.c:1173
+#: ../gtk/gtkiconview.c:733
+#: ../gtk/gtktreeview.c:1173
msgid "Tooltip Column"
msgstr "Paaiškinimo stulpelis"
msgid "Opacity of the selection box"
msgstr "Pažymėjimo dėžutės permatomumas"
-#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:235
+#: ../gtk/gtkimage.c:237
+#: ../gtk/gtkstatusicon.c:235
msgid "Pixbuf"
msgstr "Pixbuf"
-#: ../gtk/gtkimage.c:237 ../gtk/gtkstatusicon.c:236
+#: ../gtk/gtkimage.c:238
+#: ../gtk/gtkstatusicon.c:236
msgid "A GdkPixbuf to display"
msgstr "Rodomas GdkPixbuf"
-#: ../gtk/gtkimage.c:244 ../gtk/gtkrecentmanager.c:294
+#: ../gtk/gtkimage.c:245
+#: ../gtk/gtkrecentmanager.c:294
#: ../gtk/gtkstatusicon.c:243
msgid "Filename"
msgstr "Failo pavadinimas"
-#: ../gtk/gtkimage.c:245 ../gtk/gtkstatusicon.c:244
+#: ../gtk/gtkimage.c:246
+#: ../gtk/gtkstatusicon.c:244
msgid "Filename to load and display"
msgstr "Įkeliamas ir rodomas failas."
-#: ../gtk/gtkimage.c:254 ../gtk/gtkstatusicon.c:252
+#: ../gtk/gtkimage.c:255
+#: ../gtk/gtkstatusicon.c:252
msgid "Stock ID for a stock image to display"
msgstr "Standartinis ID skirtas išvedamam standartiniam paveikslėliui"
-#: ../gtk/gtkimage.c:261
+#: ../gtk/gtkimage.c:262
msgid "Icon set"
msgstr "Piktogramų rinkinys"
-#: ../gtk/gtkimage.c:262
+#: ../gtk/gtkimage.c:263
msgid "Icon set to display"
msgstr "Piktogramų rinkinys rodymui."
-#: ../gtk/gtkimage.c:269 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:521
-#: ../gtk/gtktoolpalette.c:1039
+#: ../gtk/gtkimage.c:270
+#: ../gtk/gtkscalebutton.c:228
+#: ../gtk/gtktoolbar.c:528
+#: ../gtk/gtktoolpalette.c:1008
msgid "Icon size"
msgstr "Piktogramos dydis"
-#: ../gtk/gtkimage.c:270
+#: ../gtk/gtkimage.c:271
msgid "Symbolic size to use for stock icon, icon set or named icon"
-msgstr ""
-"Simbolinis dydis naudotinas standartinėms piktogramoms, piktogramų "
-"rinkiniams ar pavadintoms piktogramoms"
+msgstr "Simbolinis dydis naudotinas standartinėms piktogramoms, piktogramų rinkiniams ar pavadintoms piktogramoms"
-#: ../gtk/gtkimage.c:286
+#: ../gtk/gtkimage.c:287
msgid "Pixel size"
msgstr "Dydis pikseliais"
-#: ../gtk/gtkimage.c:287
+#: ../gtk/gtkimage.c:288
msgid "Pixel size to use for named icon"
msgstr "Dydis pikseliais pavadintai piktogramai"
-#: ../gtk/gtkimage.c:295
+#: ../gtk/gtkimage.c:296
msgid "Animation"
msgstr "Animacija"
-#: ../gtk/gtkimage.c:296
+#: ../gtk/gtkimage.c:297
msgid "GdkPixbufAnimation to display"
msgstr "Rodoma GdkPixbufAnimation"
-#: ../gtk/gtkimage.c:336 ../gtk/gtkstatusicon.c:283
+#: ../gtk/gtkimage.c:337
+#: ../gtk/gtkstatusicon.c:283
msgid "Storage type"
msgstr "Saugyklos tipas"
-#: ../gtk/gtkimage.c:337 ../gtk/gtkstatusicon.c:284
+#: ../gtk/gtkimage.c:338
+#: ../gtk/gtkstatusicon.c:284
msgid "The representation being used for image data"
msgstr "Atvaizdas naudojamas paveikslėlio duomenims"
-#: ../gtk/gtkimage.c:355
+#: ../gtk/gtkimage.c:356
msgid "Use Fallback"
msgstr "Naudoti atsarginę veikseną"
-#: ../gtk/gtkimage.c:356
+#: ../gtk/gtkimage.c:357
msgid "Whether to use icon names fallback"
msgstr "Ar rodyti piktogramų pavadinimus atsarginėje veiksenoje"
msgid "Whether to use the label text to create a stock menu item"
msgstr "Ar naudoti žymės tekstą sukuriant standartinį meniu įrašą"
-#: ../gtk/gtkimagemenuitem.c:209 ../gtk/gtkmenu.c:601
+#: ../gtk/gtkimagemenuitem.c:209
+#: ../gtk/gtkmenu.c:603
msgid "Accel Group"
msgstr "Sparčiųjų klavišų grupė"
msgid "The Accel Group to use for stock accelerator keys"
msgstr "Grupė, naudotina standartiniams spartiesiems klavišams"
-#: ../gtk/gtkinfobar.c:371 ../gtk/gtkmessagedialog.c:202
+#: ../gtk/gtkinfobar.c:372
+#: ../gtk/gtkmessagedialog.c:202
msgid "Message Type"
msgstr "Pranešimo tipas"
-#: ../gtk/gtkinfobar.c:372 ../gtk/gtkmessagedialog.c:203
+#: ../gtk/gtkinfobar.c:373
+#: ../gtk/gtkmessagedialog.c:203
msgid "The type of message"
msgstr "Pranešimo tipas"
-#: ../gtk/gtkinfobar.c:427
+#: ../gtk/gtkinfobar.c:428
msgid "Width of border around the content area"
msgstr "Rėmelio aplink pagrindinę turinio sritį plotis"
-#: ../gtk/gtkinfobar.c:444
+#: ../gtk/gtkinfobar.c:445
msgid "Spacing between elements of the area"
msgstr "Intervalas tarp srities elementų"
-#: ../gtk/gtkinfobar.c:476
+#: ../gtk/gtkinfobar.c:477
msgid "Width of border around the action area"
msgstr "Rėmelio aplink veiksmo sritį plotis"
-#: ../gtk/gtkinvisible.c:103 ../gtk/gtkmountoperation.c:175
-#: ../gtk/gtkstatusicon.c:302 ../gtk/gtkstylecontext.c:546
-#: ../gtk/gtkwindow.c:731
+#: ../gtk/gtkinvisible.c:103
+#: ../gtk/gtkmountoperation.c:173
+#: ../gtk/gtkstatusicon.c:302
+#: ../gtk/gtkstylecontext.c:431
+#: ../gtk/gtkwindow.c:732
msgid "Screen"
msgstr "Ekranas"
-#: ../gtk/gtkinvisible.c:104 ../gtk/gtkwindow.c:732
+#: ../gtk/gtkinvisible.c:104
+#: ../gtk/gtkwindow.c:733
msgid "The screen where this window will be displayed"
msgstr "Ekranas, kuriame bus išvedamas šis langas"
msgid "A list of style attributes to apply to the text of the label"
msgstr "Žymės teksto stiliaus atributų sąrašas"
-#: ../gtk/gtklabel.c:773 ../gtk/gtktexttag.c:353 ../gtk/gtktextview.c:704
+#: ../gtk/gtklabel.c:773
+#: ../gtk/gtktexttag.c:386
+#: ../gtk/gtktextview.c:703
msgid "Justification"
msgstr "Abipusė lygiuotė"
#: ../gtk/gtklabel.c:774
-msgid ""
-"The alignment of the lines in the text of the label relative to each other. "
-"This does NOT affect the alignment of the label within its allocation. See "
-"GtkMisc::xalign for that"
-msgstr ""
-"Žymės eilučių teksto lyginimas viena kitos atžvilgiu. Tai nepaveikia žymės "
-"lyginimo jos patalpinimo vietoje. Tam žiūrėk GtkMisc::xalign"
+msgid "The alignment of the lines in the text of the label relative to each other. This does NOT affect the alignment of the label within its allocation. See GtkMisc::xalign for that"
+msgstr "Žymės eilučių teksto lyginimas viena kitos atžvilgiu. Tai nepaveikia žymės lyginimo jos patalpinimo vietoje. Tam žiūrėk GtkMisc::xalign"
#: ../gtk/gtklabel.c:782
msgid "Pattern"
msgstr "Raštas"
#: ../gtk/gtklabel.c:783
-msgid ""
-"A string with _ characters in positions correspond to characters in the text "
-"to underline"
+msgid "A string with _ characters in positions correspond to characters in the text to underline"
msgstr "Seka su _ simboliais nurodo teksto, dalis kurios turi būti pabrauktos"
#: ../gtk/gtklabel.c:790
#: ../gtk/gtklabel.c:791
msgid "If set, wrap lines if the text becomes too wide"
-msgstr ""
-"Jei įjungta, tekstas bus suskaidytas į kelias eilutes jei bus per platus"
+msgstr "Jei įjungta, tekstas bus suskaidytas į kelias eilutes jei bus per platus"
#: ../gtk/gtklabel.c:806
msgid "Line wrap mode"
#: ../gtk/gtklabel.c:831
msgid "The widget to be activated when the label's mnemonic key is pressed"
-msgstr ""
-"Objektas gali būti aktyvintas, kai paspaudžiamas žymės spartusis klavišas"
+msgstr "Objektas gali būti aktyvintas, kai paspaudžiamas žymės spartusis klavišas"
#: ../gtk/gtklabel.c:877
-msgid ""
-"The preferred place to ellipsize the string, if the label does not have "
-"enough room to display the entire string"
-msgstr ""
-"Pageidaujama vieta užrašo elipsavimui, jeigu užrašas neturi pakankamai "
-"vietos parodyti visą užrašą"
+msgid "The preferred place to ellipsize the string, if the label does not have enough room to display the entire string"
+msgstr "Pageidaujama vieta užrašo elipsavimui, jeigu užrašas neturi pakankamai vietos parodyti visą užrašą"
#: ../gtk/gtklabel.c:918
msgid "Single Line Mode"
msgid "Whether this link has been visited."
msgstr "Ar šiame tinklalapyje jau lankytasi."
-#: ../gtk/gtkmenubar.c:181
+#: ../gtk/gtklockbutton.c:278
+msgid "Permission"
+msgstr "Leidimas"
+
+#: ../gtk/gtklockbutton.c:279
+msgid "The GPermission object controlling this button"
+msgstr "GPermission objektas, valdantis šį mygtuką"
+
+#: ../gtk/gtklockbutton.c:286
+#| msgid "Text"
+msgid "Lock Text"
+msgstr "Užrakinimo tekstas"
+
+#: ../gtk/gtklockbutton.c:287
+#| msgid "The text to display in order to demonstrate the selected font"
+msgid "The text to display when prompting the user to lock"
+msgstr "Tekstas, rodomas kai prašoma naudotojo užrakinti"
+
+#: ../gtk/gtklockbutton.c:295
+msgid "Unlock Text"
+msgstr "Atrakinimo tekstas"
+
+#: ../gtk/gtklockbutton.c:296
+#| msgid "The text to display in order to demonstrate the selected font"
+msgid "The text to display when prompting the user to unlock"
+msgstr "Tekstas, rodomas kai prašoma naudotojo atrakinti"
+
+#: ../gtk/gtklockbutton.c:304
+#| msgid "Tooltip"
+msgid "Lock Tooltip"
+msgstr "Rakinimo patarimas"
+
+#: ../gtk/gtklockbutton.c:305
+msgid "The tooltip to display when prompting the user to lock"
+msgstr "Patarimas, rodomas kaip prašoma naudotojo užrakinti"
+
+#: ../gtk/gtklockbutton.c:313
+#| msgid "Enable Tooltips"
+msgid "Unlock Tooltip"
+msgstr "Atrakinimo patarimas"
+
+#: ../gtk/gtklockbutton.c:314
+msgid "The tooltip to display when prompting the user to unlock"
+msgstr "Patarimas, rodomas kaip prašoma naudotojo atrakinti"
+
+#: ../gtk/gtklockbutton.c:322
+msgid "Not Authorized Tooltip"
+msgstr "Patarimas neleidžiant"
+
+#: ../gtk/gtklockbutton.c:323
+msgid "The tooltip to display when prompting the user cannot obtain authorization"
+msgstr "Patarimas, rodomas kai naudotojui pranešima, kad negalima gauti leidimo"
+
+#: ../gtk/gtkmenubar.c:191
msgid "Pack direction"
msgstr "Pakavimo kryptis"
-#: ../gtk/gtkmenubar.c:182
+#: ../gtk/gtkmenubar.c:192
msgid "The pack direction of the menubar"
msgstr "Meniu juostos pakavimo kryptis"
-#: ../gtk/gtkmenubar.c:198
+#: ../gtk/gtkmenubar.c:208
msgid "Child Pack direction"
msgstr "Vaikinio elemento pakavimo kryptis"
-#: ../gtk/gtkmenubar.c:199
+#: ../gtk/gtkmenubar.c:209
msgid "The child pack direction of the menubar"
msgstr "Meniu juostos vaikinio elemento pakavimo kryptis"
-#: ../gtk/gtkmenubar.c:208
+#: ../gtk/gtkmenubar.c:218
msgid "Style of bevel around the menubar"
msgstr "Rėmelio apie meniu stilius"
-#: ../gtk/gtkmenubar.c:215 ../gtk/gtktoolbar.c:571
+#: ../gtk/gtkmenubar.c:225
+#: ../gtk/gtktoolbar.c:578
msgid "Internal padding"
msgstr "Vidinis apvalkalas"
-#: ../gtk/gtkmenubar.c:216
+#: ../gtk/gtkmenubar.c:226
msgid "Amount of border space between the menubar shadow and the menu items"
msgstr "Tarpas tarp meniu šešėlių ir meniu elementų"
-#: ../gtk/gtkmenu.c:587
+#: ../gtk/gtkmenu.c:589
msgid "The currently selected menu item"
msgstr "Šiuo metu pasirinktas meniu punktas"
-#: ../gtk/gtkmenu.c:602
+#: ../gtk/gtkmenu.c:604
msgid "The accel group holding accelerators for the menu"
msgstr "Sparčiųjų klavišų grupė, kurioje saugomi šio meniu spartieji klavišai"
-#: ../gtk/gtkmenu.c:616 ../gtk/gtkmenuitem.c:359
+#: ../gtk/gtkmenu.c:618
+#: ../gtk/gtkmenuitem.c:369
msgid "Accel Path"
msgstr "Sparčiųjų klavišų kelias"
-#: ../gtk/gtkmenu.c:617
+#: ../gtk/gtkmenu.c:619
msgid "An accel path used to conveniently construct accel paths of child items"
-msgstr ""
-"Sparčiųjų klavišų kelias, naudojamas patogiai sukurti vaikinių objektų "
-"sparčiųjų klavišų kelius"
+msgstr "Sparčiųjų klavišų kelias, naudojamas patogiai sukurti vaikinių objektų sparčiųjų klavišų kelius"
-#: ../gtk/gtkmenu.c:633
+#: ../gtk/gtkmenu.c:635
msgid "Attach Widget"
msgstr "Objektas susiejimui"
-#: ../gtk/gtkmenu.c:634
+#: ../gtk/gtkmenu.c:636
msgid "The widget the menu is attached to"
msgstr "Objektas, su kuriuo meniu susietas"
-#: ../gtk/gtkmenu.c:642
-msgid ""
-"A title that may be displayed by the window manager when this menu is torn-"
-"off"
+#: ../gtk/gtkmenu.c:644
+msgid "A title that may be displayed by the window manager when this menu is torn-off"
msgstr "Pavadinimas rodomas langų tvarkyklės, kai šis meniu yra nuplėštas"
-#: ../gtk/gtkmenu.c:656
+#: ../gtk/gtkmenu.c:658
msgid "Tearoff State"
msgstr "Atkabinimo būsena"
-#: ../gtk/gtkmenu.c:657
+#: ../gtk/gtkmenu.c:659
msgid "A boolean that indicates whether the menu is torn-off"
msgstr "Loginė reikšmė, nurodanti ar meniu yra atkabinamas"
-#: ../gtk/gtkmenu.c:671
+#: ../gtk/gtkmenu.c:673
msgid "Monitor"
msgstr "Vaizduoklis"
-#: ../gtk/gtkmenu.c:672
+#: ../gtk/gtkmenu.c:674
msgid "The monitor the menu will be popped up on"
msgstr "Vaizduoklis, kuriame bus rodomas meniu"
-#: ../gtk/gtkmenu.c:678
+#: ../gtk/gtkmenu.c:680
msgid "Vertical Padding"
msgstr "Vertikalus apvalkalas"
-#: ../gtk/gtkmenu.c:679
+#: ../gtk/gtkmenu.c:681
msgid "Extra space at the top and bottom of the menu"
msgstr "Tarpas pridedamas meniu viršuje ir apačioje"
-#: ../gtk/gtkmenu.c:701
+#: ../gtk/gtkmenu.c:703
msgid "Reserve Toggle Size"
msgstr "Rezervuoti mygtuko dydį"
-#: ../gtk/gtkmenu.c:702
-msgid ""
-"A boolean that indicates whether the menu reserves space for toggles and "
-"icons"
-msgstr ""
-"Loginė reikšmė, nurodanti, ar meniu rezervuoja vietos piktogramoms ir "
-"mygtukams"
+#: ../gtk/gtkmenu.c:704
+msgid "A boolean that indicates whether the menu reserves space for toggles and icons"
+msgstr "Loginė reikšmė, nurodanti, ar meniu rezervuoja vietos piktogramoms ir mygtukams"
-#: ../gtk/gtkmenu.c:708
+#: ../gtk/gtkmenu.c:710
msgid "Horizontal Padding"
msgstr "Horizontalus apvalkalas"
-#: ../gtk/gtkmenu.c:709
+#: ../gtk/gtkmenu.c:711
msgid "Extra space at the left and right edges of the menu"
msgstr "Tarpas pridedamas meniu kairėje ir dešinėje"
-#: ../gtk/gtkmenu.c:717
+#: ../gtk/gtkmenu.c:719
msgid "Vertical Offset"
msgstr "Vertikalus poslinkis"
-#: ../gtk/gtkmenu.c:718
-msgid ""
-"When the menu is a submenu, position it this number of pixels offset "
-"vertically"
-msgstr ""
-"Kai meniu yra antrinė meniu dalis, atitraukti jį per nustatytą pikselių "
-"kiekį vertikaliai"
+#: ../gtk/gtkmenu.c:720
+msgid "When the menu is a submenu, position it this number of pixels offset vertically"
+msgstr "Kai meniu yra antrinė meniu dalis, atitraukti jį per nustatytą pikselių kiekį vertikaliai"
-#: ../gtk/gtkmenu.c:726
+#: ../gtk/gtkmenu.c:728
msgid "Horizontal Offset"
msgstr "Horizontalus poslinkis"
-#: ../gtk/gtkmenu.c:727
-msgid ""
-"When the menu is a submenu, position it this number of pixels offset "
-"horizontally"
-msgstr ""
-"Kai meniu yra antrinė meniu dalis, atitraukti jį per nustatytą pikselių "
-"kiekį horizontaliai"
+#: ../gtk/gtkmenu.c:729
+msgid "When the menu is a submenu, position it this number of pixels offset horizontally"
+msgstr "Kai meniu yra antrinė meniu dalis, atitraukti jį per nustatytą pikselių kiekį horizontaliai"
-#: ../gtk/gtkmenu.c:735
+#: ../gtk/gtkmenu.c:737
msgid "Double Arrows"
msgstr "Dvigubos rodyklės"
-#: ../gtk/gtkmenu.c:736
+#: ../gtk/gtkmenu.c:738
msgid "When scrolling, always show both arrows."
msgstr "Slenkant, visada rodyti abi rodykles."
-#: ../gtk/gtkmenu.c:749
+#: ../gtk/gtkmenu.c:751
msgid "Arrow Placement"
msgstr "Rodyklės padėtis"
-#: ../gtk/gtkmenu.c:750
+#: ../gtk/gtkmenu.c:752
msgid "Indicates where scroll arrows should be placed"
msgstr "Nurodo, kur bus patalpinti slinkties mygtukai"
-#: ../gtk/gtkmenu.c:758
+#: ../gtk/gtkmenu.c:760
msgid "Left Attach"
msgstr "Kairysis priedas"
-#: ../gtk/gtkmenu.c:766
+#: ../gtk/gtkmenu.c:768
msgid "Right Attach"
msgstr "Dešinysis priedas"
-#: ../gtk/gtkmenu.c:767
+#: ../gtk/gtkmenu.c:769
msgid "The column number to attach the right side of the child to"
msgstr "Stulpelis, prie kurio reikia prijungti dešinę vaikinio objekto pusę"
-#: ../gtk/gtkmenu.c:774
+#: ../gtk/gtkmenu.c:776
msgid "Top Attach"
msgstr "Viršutinis priedas"
-#: ../gtk/gtkmenu.c:775
+#: ../gtk/gtkmenu.c:777
msgid "The row number to attach the top of the child to"
msgstr "Eilutė, prie kurios reikia prijungti vaikinio objekto viršų"
-#: ../gtk/gtkmenu.c:782
+#: ../gtk/gtkmenu.c:784
msgid "Bottom Attach"
msgstr "Apatinis priedas"
-#: ../gtk/gtkmenu.c:783 ../gtk/gtktable.c:257
+#: ../gtk/gtkmenu.c:785
+#: ../gtk/gtktable.c:257
msgid "The row number to attach the bottom of the child to"
msgstr "Eilutė, prie kurios reikia prijungti vaikinio objekto apačią"
-#: ../gtk/gtkmenu.c:797
+#: ../gtk/gtkmenu.c:799
msgid "Arbitrary constant to scale down the size of the scroll arrow"
msgstr "Sutartinė konstanta slinkties mygtukų dydžio sumažinimui"
-#: ../gtk/gtkmenuitem.c:327
+#: ../gtk/gtkmenuitem.c:337
msgid "Right Justified"
msgstr "Lygiuotas pagal dešinę"
-#: ../gtk/gtkmenuitem.c:328
-msgid ""
-"Sets whether the menu item appears justified at the right side of a menu bar"
-msgstr ""
-"Nurodo, ar meniu punktas bus lygiuojamas pagal dešinę meniu juostos pusę."
+#: ../gtk/gtkmenuitem.c:338
+msgid "Sets whether the menu item appears justified at the right side of a menu bar"
+msgstr "Nurodo, ar meniu punktas bus lygiuojamas pagal dešinę meniu juostos pusę."
-#: ../gtk/gtkmenuitem.c:342
+#: ../gtk/gtkmenuitem.c:352
msgid "Submenu"
msgstr "Submeniu"
-#: ../gtk/gtkmenuitem.c:343
+#: ../gtk/gtkmenuitem.c:353
msgid "The submenu attached to the menu item, or NULL if it has none"
msgstr "Submeniu susietas su meniu elementu, arba NULL jei jis tokio neturi"
-#: ../gtk/gtkmenuitem.c:360
+#: ../gtk/gtkmenuitem.c:370
msgid "Sets the accelerator path of the menu item"
msgstr "Nurodo meniu punkto sparčiųjų klavišų kelią"
-#: ../gtk/gtkmenuitem.c:375
+#: ../gtk/gtkmenuitem.c:385
msgid "The text for the child label"
msgstr "Vaikinio objekto žymės tekstas"
-#: ../gtk/gtkmenuitem.c:438
+#: ../gtk/gtkmenuitem.c:448
msgid "Amount of space used up by arrow, relative to the menu item's font size"
msgstr "Rodyklės užimama vieta, lyginant su meniu punkto šrifto dydžiu"
-#: ../gtk/gtkmenuitem.c:451
+#: ../gtk/gtkmenuitem.c:461
msgid "Width in Characters"
msgstr "Plotis simboliais"
-#: ../gtk/gtkmenuitem.c:452
+#: ../gtk/gtkmenuitem.c:462
msgid "The minimum desired width of the menu item in characters"
msgstr "Mažiausias leistinas meniu punkto plotis (simboliais)"
#: ../gtk/gtkmessagedialog.c:186
msgid "Width of border around the label and image in the message dialog"
-msgstr ""
-"Rėmelio apie žymę ir paveikslėlį plotis kairėje ir dešinėje, pikseliais"
+msgstr "Rėmelio apie žymę ir paveikslėlį plotis kairėje ir dešinėje, pikseliais"
#: ../gtk/gtkmessagedialog.c:210
msgid "Message Buttons"
msgstr "X apvalkalas"
#: ../gtk/gtkmisc.c:126
-msgid ""
-"The amount of space to add on the left and right of the widget, in pixels"
+msgid "The amount of space to add on the left and right of the widget, in pixels"
msgstr "Tarpas pridedamas objekto kairėje ir dešinėje pusėje"
#: ../gtk/gtkmisc.c:135
msgstr "Y apvalkalas"
#: ../gtk/gtkmisc.c:136
-msgid ""
-"The amount of space to add on the top and bottom of the widget, in pixels"
+msgid "The amount of space to add on the top and bottom of the widget, in pixels"
msgstr "Tarpas pridedamas objekto viršuje ir apačioje, pikseliais"
-#: ../gtk/gtkmountoperation.c:159
+#: ../gtk/gtkmountoperation.c:157
msgid "Parent"
msgstr "Pirminis"
-#: ../gtk/gtkmountoperation.c:160
+#: ../gtk/gtkmountoperation.c:158
msgid "The parent window"
msgstr "Pirminis langas"
-#: ../gtk/gtkmountoperation.c:167
+#: ../gtk/gtkmountoperation.c:165
msgid "Is Showing"
msgstr "Rodomas"
-#: ../gtk/gtkmountoperation.c:168
+#: ../gtk/gtkmountoperation.c:166
msgid "Are we showing a dialog"
msgstr "Ar rodomas dialogo langas"
-#: ../gtk/gtkmountoperation.c:176
+#: ../gtk/gtkmountoperation.c:174
msgid "The screen where this window will be displayed."
msgstr "Ekranas, kuriame bus rodomas šis langas."
-#: ../gtk/gtknotebook.c:685
+#: ../gtk/gtknotebook.c:696
msgid "Page"
msgstr "Puslapis"
-#: ../gtk/gtknotebook.c:686
+#: ../gtk/gtknotebook.c:697
msgid "The index of the current page"
msgstr "Esamo puslapio indeksas"
-#: ../gtk/gtknotebook.c:694
+#: ../gtk/gtknotebook.c:705
msgid "Tab Position"
msgstr "Kortelių pozicija"
-#: ../gtk/gtknotebook.c:695
+#: ../gtk/gtknotebook.c:706
msgid "Which side of the notebook holds the tabs"
msgstr "Kurioje rašymo laukelio pusėje bus rodomos kortelės"
-#: ../gtk/gtknotebook.c:702
+#: ../gtk/gtknotebook.c:713
msgid "Show Tabs"
msgstr "Rodyti tabuliaciją"
-#: ../gtk/gtknotebook.c:703
+#: ../gtk/gtknotebook.c:714
msgid "Whether tabs should be shown"
msgstr "Ar turi būti rodomos kortelės"
-#: ../gtk/gtknotebook.c:709
+#: ../gtk/gtknotebook.c:720
msgid "Show Border"
msgstr "Rodyti rėmelį"
-#: ../gtk/gtknotebook.c:710
+#: ../gtk/gtknotebook.c:721
msgid "Whether the border should be shown"
msgstr "Ar paraštė turi būti rodoma"
-#: ../gtk/gtknotebook.c:716
+#: ../gtk/gtknotebook.c:727
msgid "Scrollable"
msgstr "Slenkamas"
-#: ../gtk/gtknotebook.c:717
+#: ../gtk/gtknotebook.c:728
msgid "If TRUE, scroll arrows are added if there are too many tabs to fit"
-msgstr ""
-"Jei TEIGIAMA, bus pridėtos slinkties rodyklės, jei kortelės netilps lange"
+msgstr "Jei TEIGIAMA, bus pridėtos slinkties rodyklės, jei kortelės netilps lange"
-#: ../gtk/gtknotebook.c:723
+#: ../gtk/gtknotebook.c:734
msgid "Enable Popup"
msgstr "Įjungti iššokimus"
-#: ../gtk/gtknotebook.c:724
-msgid ""
-"If TRUE, pressing the right mouse button on the notebook pops up a menu that "
-"you can use to go to a page"
-msgstr ""
-"Jei TEIGIAMA, paspaudus dešinįjį pelės mygtuką ant kortelių bus parodytas "
-"meniu, kurį galite naudoti pereitį į kitą puslapį"
+#: ../gtk/gtknotebook.c:735
+msgid "If TRUE, pressing the right mouse button on the notebook pops up a menu that you can use to go to a page"
+msgstr "Jei TEIGIAMA, paspaudus dešinįjį pelės mygtuką ant kortelių bus parodytas meniu, kurį galite naudoti pereitį į kitą puslapį"
-#: ../gtk/gtknotebook.c:738
+#: ../gtk/gtknotebook.c:749
msgid "Group Name"
msgstr "Grupės pavadinimas"
-#: ../gtk/gtknotebook.c:739
+#: ../gtk/gtknotebook.c:750
msgid "Group name for tab drag and drop"
msgstr "Kortelių tempimo ir paleidimo grupės pavadinimas"
-#: ../gtk/gtknotebook.c:746
+#: ../gtk/gtknotebook.c:757
msgid "Tab label"
msgstr "Kortelės užrašas"
-#: ../gtk/gtknotebook.c:747
+#: ../gtk/gtknotebook.c:758
msgid "The string displayed on the child's tab label"
msgstr "Tekstas, rodomas vaikinės kortelės etiketėje"
-#: ../gtk/gtknotebook.c:753
+#: ../gtk/gtknotebook.c:764
msgid "Menu label"
msgstr "Meniu etiketė"
-#: ../gtk/gtknotebook.c:754
+#: ../gtk/gtknotebook.c:765
msgid "The string displayed in the child's menu entry"
msgstr "Tekstas, rodomas vaikinio elemento meniu įraše"
-#: ../gtk/gtknotebook.c:767
+#: ../gtk/gtknotebook.c:778
msgid "Tab expand"
msgstr "Kortelių išplėtimas"
-#: ../gtk/gtknotebook.c:768
+#: ../gtk/gtknotebook.c:779
msgid "Whether to expand the child's tab"
msgstr "Ar išplėsti vaikinio objekto korteles"
-#: ../gtk/gtknotebook.c:774
+#: ../gtk/gtknotebook.c:785
msgid "Tab fill"
msgstr "Kortelių užpildymas"
-#: ../gtk/gtknotebook.c:775
+#: ../gtk/gtknotebook.c:786
msgid "Whether the child's tab should fill the allocated area"
msgstr "Ar vaikinio objekto kortelės turi užpildyti visą jiems skirtą erdvę"
-#: ../gtk/gtknotebook.c:782
+#: ../gtk/gtknotebook.c:793
msgid "Tab reorderable"
msgstr "Kortelės tvarka keičiama"
-#: ../gtk/gtknotebook.c:783
+#: ../gtk/gtknotebook.c:794
msgid "Whether the tab is reorderable by user action"
msgstr "Ar kortelių tvarka gali būti keičiama naudotojo"
-#: ../gtk/gtknotebook.c:789
+#: ../gtk/gtknotebook.c:800
msgid "Tab detachable"
msgstr "Kortelė atkabinama"
-#: ../gtk/gtknotebook.c:790
+#: ../gtk/gtknotebook.c:801
msgid "Whether the tab is detachable"
msgstr "Ar kortelė yra atkabinama"
-#: ../gtk/gtknotebook.c:805 ../gtk/gtkscrollbar.c:102
+#: ../gtk/gtknotebook.c:816
+#: ../gtk/gtkscrollbar.c:102
msgid "Secondary backward stepper"
msgstr "Antras žingnis atgal"
-#: ../gtk/gtknotebook.c:806
-msgid ""
-"Display a second backward arrow button on the opposite end of the tab area"
+#: ../gtk/gtknotebook.c:817
+msgid "Display a second backward arrow button on the opposite end of the tab area"
msgstr "Rodyti antrą judėjimo atgal mygtuką kitame kortelių srities gale"
-#: ../gtk/gtknotebook.c:821 ../gtk/gtkscrollbar.c:109
+#: ../gtk/gtknotebook.c:832
+#: ../gtk/gtkscrollbar.c:109
msgid "Secondary forward stepper"
msgstr "Antras žingsnis pirmyn"
-#: ../gtk/gtknotebook.c:822
-msgid ""
-"Display a second forward arrow button on the opposite end of the tab area"
+#: ../gtk/gtknotebook.c:833
+msgid "Display a second forward arrow button on the opposite end of the tab area"
msgstr "Rodyti antrą judėjimo pirmyn mygtuką kitame kortelių srities gale"
-#: ../gtk/gtknotebook.c:836 ../gtk/gtkscrollbar.c:88
+#: ../gtk/gtknotebook.c:847
+#: ../gtk/gtkscrollbar.c:88
msgid "Backward stepper"
msgstr "Žingsnis atgal"
-#: ../gtk/gtknotebook.c:837 ../gtk/gtkscrollbar.c:89
+#: ../gtk/gtknotebook.c:848
+#: ../gtk/gtkscrollbar.c:89
msgid "Display the standard backward arrow button"
msgstr "Rodyti standartinį atgalinės navigacijos mygtuką"
-#: ../gtk/gtknotebook.c:851 ../gtk/gtkscrollbar.c:95
+#: ../gtk/gtknotebook.c:862
+#: ../gtk/gtkscrollbar.c:95
msgid "Forward stepper"
msgstr "Žingnis pirmyn"
-#: ../gtk/gtknotebook.c:852 ../gtk/gtkscrollbar.c:96
+#: ../gtk/gtknotebook.c:863
+#: ../gtk/gtkscrollbar.c:96
msgid "Display the standard forward arrow button"
msgstr "Rodyti standartinį priekinės navigacijos mygtuką"
-#: ../gtk/gtknotebook.c:866
+#: ../gtk/gtknotebook.c:877
msgid "Tab overlap"
msgstr "Kortelių persidengimas"
-#: ../gtk/gtknotebook.c:867
+#: ../gtk/gtknotebook.c:878
msgid "Size of tab overlap area"
msgstr "Kortelių persidengimo ploto dydis"
-#: ../gtk/gtknotebook.c:882
+#: ../gtk/gtknotebook.c:893
msgid "Tab curvature"
msgstr "Kortelių išlinkimas"
-#: ../gtk/gtknotebook.c:883
+#: ../gtk/gtknotebook.c:894
msgid "Size of tab curvature"
msgstr "Kortelių išlinkimo dydis"
-#: ../gtk/gtknotebook.c:899
+#: ../gtk/gtknotebook.c:910
msgid "Arrow spacing"
msgstr "Tarpai aplink rodyklę"
-#: ../gtk/gtknotebook.c:900
+#: ../gtk/gtknotebook.c:911
msgid "Scroll arrow spacing"
msgstr "Tarpai aplink slinkties rodyklę"
-#: ../gtk/gtknotebook.c:916
+#: ../gtk/gtknotebook.c:927
msgid "Initial gap"
-msgstr ""
+msgstr "Pradinis tarpas"
-#: ../gtk/gtknotebook.c:917
+#: ../gtk/gtknotebook.c:928
msgid "Initial gap before the first tab"
-msgstr ""
+msgstr "Pradinis tarpas prieš pirmą kortelę"
#: ../gtk/gtknumerableicon.c:653
msgid "Icon's count"
msgid "The icon name for the number emblem background"
msgstr "Piktogramos pavadinimas skaičiaus emblemos fonui"
-#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:342
+#: ../gtk/gtkorientable.c:63
+#: ../gtk/gtkstatusicon.c:342
#: ../gtk/gtktrayicon-x11.c:128
msgid "Orientation"
msgstr "Orientacija"
msgid "The orientation of the orientable"
msgstr "Orientuojamųjų objektų orientacija"
-#: ../gtk/gtkpaned.c:327
-msgid ""
-"Position of paned separator in pixels (0 means all the way to the left/top)"
+#: ../gtk/gtkpaned.c:350
+msgid "Position of paned separator in pixels (0 means all the way to the left/top)"
msgstr "Laukų skirtuko padėtis pikselias (0 reiškia skyrimą visame intervale)"
-#: ../gtk/gtkpaned.c:336
+#: ../gtk/gtkpaned.c:359
msgid "Position Set"
msgstr "Nustatyta padėtis"
-#: ../gtk/gtkpaned.c:337
+#: ../gtk/gtkpaned.c:360
msgid "TRUE if the Position property should be used"
msgstr "TEIGIAMA, jei panaudota padėties nustatymo savybė"
-#: ../gtk/gtkpaned.c:343
+#: ../gtk/gtkpaned.c:366
msgid "Handle Size"
msgstr "Rankenėlės dydis"
-#: ../gtk/gtkpaned.c:344
+#: ../gtk/gtkpaned.c:367
msgid "Width of handle"
msgstr "Rankenėlės plotis"
-#: ../gtk/gtkpaned.c:360
+#: ../gtk/gtkpaned.c:383
msgid "Minimal Position"
msgstr "Minimali Padėtis"
-#: ../gtk/gtkpaned.c:361
+#: ../gtk/gtkpaned.c:384
msgid "Smallest possible value for the \"position\" property"
msgstr "Mažiausia galima „position“ savybės reikšmė"
-#: ../gtk/gtkpaned.c:378
+#: ../gtk/gtkpaned.c:401
msgid "Maximal Position"
msgstr "Maksimali Padėtis"
-#: ../gtk/gtkpaned.c:379
+#: ../gtk/gtkpaned.c:402
msgid "Largest possible value for the \"position\" property"
msgstr "Didžiausia galima „position“ savybės reikšmė"
-#: ../gtk/gtkpaned.c:396
+#: ../gtk/gtkpaned.c:419
msgid "Resize"
msgstr "Kintamas"
-#: ../gtk/gtkpaned.c:397
+#: ../gtk/gtkpaned.c:420
msgid "If TRUE, the child expands and shrinks along with the paned widget"
msgstr "Jei TEIGIAMA, vaikinis objektas keičia dydį kartu su skydelio objektu"
-#: ../gtk/gtkpaned.c:412
+#: ../gtk/gtkpaned.c:435
msgid "Shrink"
msgstr "Besiplečiantis"
-#: ../gtk/gtkpaned.c:413
+#: ../gtk/gtkpaned.c:436
msgid "If TRUE, the child can be made smaller than its requisition"
-msgstr ""
-"Jei TEIGIAMA, vaikinis objektas gali būti sumažintas daugiau, nei jam reikia"
+msgstr "Jei TEIGIAMA, vaikinis objektas gali būti sumažintas daugiau, nei jam reikia"
-#: ../gtk/gtkplug.c:201 ../gtk/gtkstatusicon.c:326
+#: ../gtk/gtkplug.c:201
+#: ../gtk/gtkstatusicon.c:326
msgid "Embedded"
msgstr "Integruota"
msgid "TRUE if this printer is accepting new jobs"
msgstr "TEIGIAMA, jei spausdintuvas priima naujas užduotis"
-#: ../gtk/gtkprinteroptionwidget.c:121
+#: ../gtk/gtkprinteroption.c:105
+#| msgid "Minimum Value"
+msgid "Option Value"
+msgstr "Parinkties vertė"
+
+#: ../gtk/gtkprinteroption.c:106
+#| msgid "Name of the printer"
+msgid "Value of the option"
+msgstr "Parinkties vertė"
+
+#: ../gtk/gtkprinteroptionwidget.c:122
msgid "Source option"
msgstr "Šaltinio parinktis"
-#: ../gtk/gtkprinteroptionwidget.c:122
+#: ../gtk/gtkprinteroptionwidget.c:123
msgid "The PrinterOption backing this widget"
msgstr "Šio objekto PrinterOption posistemė"
msgid "Printer settings"
msgstr "Spausdintuvo nustatymai"
-#: ../gtk/gtkprintjob.c:168 ../gtk/gtkprintjob.c:169
-#: ../gtk/gtkprintunixdialog.c:369
+#: ../gtk/gtkprintjob.c:168
+#: ../gtk/gtkprintjob.c:169
+#: ../gtk/gtkprintunixdialog.c:368
msgid "Page Setup"
msgstr "Puslapio nustatymai"
-#: ../gtk/gtkprintjob.c:177 ../gtk/gtkprintoperation.c:1206
+#: ../gtk/gtkprintjob.c:177
+#: ../gtk/gtkprintoperation.c:1206
msgid "Track Print Status"
msgstr "Sekti spausdinimo būseną"
#: ../gtk/gtkprintjob.c:178
-msgid ""
-"TRUE if the print job will continue to emit status-changed signals after the "
-"print data has been sent to the printer or print server."
-msgstr ""
-"TEIGIAMA, jei spausdinimo užduotis tęs status-changed signalų siuntimą po "
-"spausdinimo duomenų nusiuntimo į spausdintuvą ar spausdinimo serverį."
+msgid "TRUE if the print job will continue to emit status-changed signals after the print data has been sent to the printer or print server."
+msgstr "TEIGIAMA, jei spausdinimo užduotis tęs status-changed signalų siuntimą po spausdinimo duomenų nusiuntimo į spausdintuvą ar spausdinimo serverį."
#: ../gtk/gtkprintoperation.c:1078
msgid "Default Page Setup"
msgid "The GtkPageSetup used by default"
msgstr "Numatytasis naudojamas GtkPageSetup"
-#: ../gtk/gtkprintoperation.c:1097 ../gtk/gtkprintunixdialog.c:387
+#: ../gtk/gtkprintoperation.c:1097
+#: ../gtk/gtkprintunixdialog.c:386
msgid "Print Settings"
msgstr "Spausdinimo nustatymai"
-#: ../gtk/gtkprintoperation.c:1098 ../gtk/gtkprintunixdialog.c:388
+#: ../gtk/gtkprintoperation.c:1098
+#: ../gtk/gtkprintunixdialog.c:387
msgid "The GtkPrintSettings used for initializing the dialog"
msgstr "GtkPrintSettings naudojamas dialogo inicializavimui"
msgid "The number of pages in the document."
msgstr "Puslapių skaičius dokumente."
-#: ../gtk/gtkprintoperation.c:1163 ../gtk/gtkprintunixdialog.c:377
+#: ../gtk/gtkprintoperation.c:1163
+#: ../gtk/gtkprintunixdialog.c:376
msgid "Current Page"
msgstr "Esamas puslapis"
-#: ../gtk/gtkprintoperation.c:1164 ../gtk/gtkprintunixdialog.c:378
+#: ../gtk/gtkprintoperation.c:1164
+#: ../gtk/gtkprintunixdialog.c:377
msgid "The current page in the document"
msgstr "Esamas puslapis dokumente"
msgstr "Naudoti visą puslapį"
#: ../gtk/gtkprintoperation.c:1186
-msgid ""
-"TRUE if the origin of the context should be at the corner of the page and "
-"not the corner of the imageable area"
-msgstr ""
-"TEIGIAMA, jei konteksto kilmė turėtų būti puslapio kampe, o ne piešimo ploto "
-"kampe"
+msgid "TRUE if the origin of the context should be at the corner of the page and not the corner of the imageable area"
+msgstr "TEIGIAMA, jei konteksto kilmė turėtų būti puslapio kampe, o ne piešimo ploto kampe"
#: ../gtk/gtkprintoperation.c:1207
-msgid ""
-"TRUE if the print operation will continue to report on the print job status "
-"after the print data has been sent to the printer or print server."
-msgstr ""
-"TEIGIAMA, jei spausdinimo operacija tęs pranešinėjimą apie spausdinimo "
-"užduoties būsemą, po spausdinimo duomenų nusiuntimo į spausdintuvą ar "
-"spausdinimo serverį"
+msgid "TRUE if the print operation will continue to report on the print job status after the print data has been sent to the printer or print server."
+msgstr "TEIGIAMA, jei spausdinimo operacija tęs pranešinėjimą apie spausdinimo užduoties būsemą, po spausdinimo duomenų nusiuntimo į spausdintuvą ar spausdinimo serverį"
#: ../gtk/gtkprintoperation.c:1224
msgid "Unit"
msgid "TRUE if print process may run asynchronous."
msgstr "TEIGIAMA, jei spausdinimo procesas gali būti asinchroninis."
-#: ../gtk/gtkprintoperation.c:1289 ../gtk/gtkprintoperation.c:1290
+#: ../gtk/gtkprintoperation.c:1289
+#: ../gtk/gtkprintoperation.c:1290
msgid "Export filename"
msgstr "Eksportavimo failo pavadinimas"
msgid "Label for the tab containing custom widgets."
msgstr "Kortelės, kurioje yra kiti objektai, užrašas."
-#: ../gtk/gtkprintoperation.c:1360 ../gtk/gtkprintunixdialog.c:412
+#: ../gtk/gtkprintoperation.c:1360
+#: ../gtk/gtkprintunixdialog.c:411
msgid "Support Selection"
msgstr "Leisti spausdinti atranką"
msgid "TRUE if the print operation will support print of selection."
msgstr "TEIGIAMA, jeigu leidžiama spausdinti atranką."
-#: ../gtk/gtkprintoperation.c:1377 ../gtk/gtkprintunixdialog.c:420
+#: ../gtk/gtkprintoperation.c:1377
+#: ../gtk/gtkprintunixdialog.c:419
msgid "Has Selection"
msgstr "Atranka yra"
msgid "TRUE if a selection exists."
msgstr "TEIGIAMA, jeigu egzistuoja atranka."
-#: ../gtk/gtkprintoperation.c:1393 ../gtk/gtkprintunixdialog.c:428
+#: ../gtk/gtkprintoperation.c:1393
+#: ../gtk/gtkprintunixdialog.c:427
msgid "Embed Page Setup"
msgstr "Integruoti puslapio nustatymus"
#: ../gtk/gtkprintoperation.c:1394
msgid "TRUE if page setup combos are embedded in GtkPrintDialog"
-msgstr ""
-"TEIGIAMA, jei puslapio sąrangos kombinacijos integruotos į GtkPrintDialog"
+msgstr "TEIGIAMA, jei puslapio sąrangos kombinacijos integruotos į GtkPrintDialog"
#: ../gtk/gtkprintoperation.c:1415
msgid "Number of Pages To Print"
msgid "The number of pages that will be printed."
msgstr "Puslapių, kurie bus išspausdinti, skaičius."
-#: ../gtk/gtkprintunixdialog.c:370
+#: ../gtk/gtkprintunixdialog.c:369
msgid "The GtkPageSetup to use"
msgstr "Naudotinas GtkPageSetup"
-#: ../gtk/gtkprintunixdialog.c:395
+#: ../gtk/gtkprintunixdialog.c:394
msgid "Selected Printer"
msgstr "Pasirinktas spausdintuvas"
-#: ../gtk/gtkprintunixdialog.c:396
+#: ../gtk/gtkprintunixdialog.c:395
msgid "The GtkPrinter which is selected"
msgstr "Pasirinktas GtkPrinter"
-#: ../gtk/gtkprintunixdialog.c:403
+#: ../gtk/gtkprintunixdialog.c:402
msgid "Manual Capabilities"
msgstr "Rankinės galimybės"
-#: ../gtk/gtkprintunixdialog.c:404
+#: ../gtk/gtkprintunixdialog.c:403
msgid "Capabilities the application can handle"
msgstr "Galimybės, kurias supranta programa"
-#: ../gtk/gtkprintunixdialog.c:413
+#: ../gtk/gtkprintunixdialog.c:412
msgid "Whether the dialog supports selection"
msgstr "Ar dialoge galimas žymėjimas"
-#: ../gtk/gtkprintunixdialog.c:421
+#: ../gtk/gtkprintunixdialog.c:420
msgid "Whether the application has a selection"
msgstr "Ar programoje galimas žymėjimas"
-#: ../gtk/gtkprintunixdialog.c:429
+#: ../gtk/gtkprintunixdialog.c:428
msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog"
-msgstr ""
-"TEIGIAMA, jei puslapio sąrangos kombinacijos integruotos į GtkPrintUnixDialog"
+msgstr "TEIGIAMA, jei puslapio sąrangos kombinacijos integruotos į GtkPrintUnixDialog"
-#: ../gtk/gtkprogressbar.c:158
+#: ../gtk/gtkprogressbar.c:160
msgid "Fraction"
msgstr "Dalis"
-#: ../gtk/gtkprogressbar.c:159
+#: ../gtk/gtkprogressbar.c:161
msgid "The fraction of total work that has been completed"
msgstr "Bendro darbo dalis, kuri jau yra atlikta"
-#: ../gtk/gtkprogressbar.c:166
+#: ../gtk/gtkprogressbar.c:168
msgid "Pulse Step"
msgstr "Pulsuojantis žingsnis"
-#: ../gtk/gtkprogressbar.c:167
+#: ../gtk/gtkprogressbar.c:169
msgid "The fraction of total progress to move the bouncing block when pulsed"
-msgstr ""
-"Dalis, kuria reikia padidinti pažangos juostą, gavus tolesnio žingsnio "
-"signalą"
+msgstr "Dalis, kuria reikia padidinti pažangos juostą, gavus tolesnio žingsnio signalą"
-#: ../gtk/gtkprogressbar.c:175
+#: ../gtk/gtkprogressbar.c:177
msgid "Text to be displayed in the progress bar"
msgstr "Tekstas rodomas pažangos juostoje"
-#: ../gtk/gtkprogressbar.c:192
+#: ../gtk/gtkprogressbar.c:194
msgid "Show text"
msgstr "Rodyti tekstą"
-#: ../gtk/gtkprogressbar.c:193
+#: ../gtk/gtkprogressbar.c:195
msgid "Whether the progress is shown as text."
msgstr "Ar pažanga rodoma tekstu."
-#: ../gtk/gtkprogressbar.c:215
-msgid ""
-"The preferred place to ellipsize the string, if the progress bar does not "
-"have enough room to display the entire string, if at all."
-msgstr ""
-"Pageidautina viena eilutės elipsavimui, jei pažangos juostoje nepakanka "
-"vietos parodyti visai eilutei."
+#: ../gtk/gtkprogressbar.c:217
+msgid "The preferred place to ellipsize the string, if the progress bar does not have enough room to display the entire string, if at all."
+msgstr "Pageidautina viena eilutės elipsavimui, jei pažangos juostoje nepakanka vietos parodyti visai eilutei."
-#: ../gtk/gtkprogressbar.c:222
+#: ../gtk/gtkprogressbar.c:224
msgid "X spacing"
msgstr "X tarpai"
-#: ../gtk/gtkprogressbar.c:223
+#: ../gtk/gtkprogressbar.c:225
msgid "Extra spacing applied to the width of a progress bar."
msgstr "Papildomi tarpai, taikomi progreso juostos pločiui."
-#: ../gtk/gtkprogressbar.c:228
+#: ../gtk/gtkprogressbar.c:230
msgid "Y spacing"
msgstr "Y tarpai"
-#: ../gtk/gtkprogressbar.c:229
+#: ../gtk/gtkprogressbar.c:231
msgid "Extra spacing applied to the height of a progress bar."
msgstr "Papildomi tarpai, taikomi progreso juostos aukščiui."
-#: ../gtk/gtkprogressbar.c:242
+#: ../gtk/gtkprogressbar.c:244
msgid "Minimum horizontal bar width"
msgstr "Minimalus horizontalios juostos plotis"
-#: ../gtk/gtkprogressbar.c:243
+#: ../gtk/gtkprogressbar.c:245
msgid "The minimum horizontal width of the progress bar"
msgstr "Mažiausias leistinas horizontalios pažangos juostos plotis"
-#: ../gtk/gtkprogressbar.c:255
+#: ../gtk/gtkprogressbar.c:257
msgid "Minimum horizontal bar height"
msgstr "Minimalus horizontalios juostos aukštis"
-#: ../gtk/gtkprogressbar.c:256
+#: ../gtk/gtkprogressbar.c:258
msgid "Minimum horizontal height of the progress bar"
msgstr "Mažiausias leistinas horizontalios pažangos juostos aukštis"
-#: ../gtk/gtkprogressbar.c:268
+#: ../gtk/gtkprogressbar.c:270
msgid "Minimum vertical bar width"
msgstr "Minimalus vertikalios juostos plotis"
-#: ../gtk/gtkprogressbar.c:269
+#: ../gtk/gtkprogressbar.c:271
msgid "The minimum vertical width of the progress bar"
msgstr "Mažiausias leistinas vertikalios pažangos juostos plotis"
-#: ../gtk/gtkprogressbar.c:281
+#: ../gtk/gtkprogressbar.c:283
msgid "Minimum vertical bar height"
msgstr "Minimalus vertikalios juostos aukštis"
-#: ../gtk/gtkprogressbar.c:282
+#: ../gtk/gtkprogressbar.c:284
msgid "The minimum vertical height of the progress bar"
msgstr "Mažiausias leistinas vertikalios pažangos juostos aukštis"
msgstr "Reikšmė"
#: ../gtk/gtkradioaction.c:119
-msgid ""
-"The value returned by gtk_radio_action_get_current_value() when this action "
-"is the current action of its group."
-msgstr ""
-"Reikšmė perduodama gtk_radio_action_get_current_value() funkcijos, kai šis "
-"veiksmas yra pagrindinis savo grupėje."
+msgid "The value returned by gtk_radio_action_get_current_value() when this action is the current action of its group."
+msgstr "Reikšmė perduodama gtk_radio_action_get_current_value() funkcijos, kai šis veiksmas yra pagrindinis savo grupėje."
-#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163
-#: ../gtk/gtkradiomenuitem.c:423 ../gtk/gtkradiotoolbutton.c:85
+#: ../gtk/gtkradioaction.c:135
+#: ../gtk/gtkradiobutton.c:164
+#: ../gtk/gtkradiomenuitem.c:427
+#: ../gtk/gtkradiotoolbutton.c:85
msgid "Group"
msgstr "Grupė"
msgstr "Esama reikšmė"
#: ../gtk/gtkradioaction.c:152
-msgid ""
-"The value property of the currently active member of the group to which this "
-"action belongs."
+msgid "The value property of the currently active member of the group to which this action belongs."
msgstr "Aktyvaus grupės, kuriai priklauso šis veiksmas, nario reikšmė."
-#: ../gtk/gtkradiobutton.c:164
+#: ../gtk/gtkradiobutton.c:165
msgid "The radio button whose group this widget belongs to."
msgstr "Žymimoji akutė, kurios grupei priklauso šis objektas."
-#: ../gtk/gtkradiomenuitem.c:424
+#: ../gtk/gtkradiomenuitem.c:428
msgid "The radio menu item whose group this widget belongs to."
msgstr "Meniu žymimoji akutė, kurios grupei priklauso šis objektas."
msgid "The radio tool button whose group this button belongs to."
msgstr "Žymimoji akutė, kurios grupei priklauso šis objektas."
-#: ../gtk/gtkrange.c:418
+#: ../gtk/gtkrange.c:419
msgid "The GtkAdjustment that contains the current value of this range object"
-msgstr ""
-"GtkAdjustment kintamasis, kuris saugo dabartinę objekto srities reikšmę"
+msgstr "GtkAdjustment kintamasis, kuris saugo dabartinę objekto srities reikšmę"
-#: ../gtk/gtkrange.c:426
+#: ../gtk/gtkrange.c:427
msgid "Invert direction slider moves to increase range value"
msgstr "Pakeisti juostos judėjimo kryptį"
-#: ../gtk/gtkrange.c:433
+#: ../gtk/gtkrange.c:434
msgid "Lower stepper sensitivity"
msgstr "Žingsnio atgal jautrumas"
-#: ../gtk/gtkrange.c:434
-msgid ""
-"The sensitivity policy for the stepper that points to the adjustment's lower "
-"side"
+#: ../gtk/gtkrange.c:435
+msgid "The sensitivity policy for the stepper that points to the adjustment's lower side"
msgstr "Žingsnių, mažinančių lauko reikšmę, dydis"
-#: ../gtk/gtkrange.c:442
+#: ../gtk/gtkrange.c:443
msgid "Upper stepper sensitivity"
msgstr "Žingsnio į priekį jautrumas"
-#: ../gtk/gtkrange.c:443
-msgid ""
-"The sensitivity policy for the stepper that points to the adjustment's upper "
-"side"
+#: ../gtk/gtkrange.c:444
+msgid "The sensitivity policy for the stepper that points to the adjustment's upper side"
msgstr "Žingsnių, didinančių lauko reikšmę, dydis"
-#: ../gtk/gtkrange.c:460
+#: ../gtk/gtkrange.c:461
msgid "Show Fill Level"
msgstr "Rodyti pilnumo lygį"
-#: ../gtk/gtkrange.c:461
+#: ../gtk/gtkrange.c:462
msgid "Whether to display a fill level indicator graphics on trough."
msgstr "Ar rodyti pilnumo lygio indikatoriaus paveikslėlį įduboje."
-#: ../gtk/gtkrange.c:477
+#: ../gtk/gtkrange.c:478
msgid "Restrict to Fill Level"
msgstr "Apriboti užpildymo lygiu"
-#: ../gtk/gtkrange.c:478
+#: ../gtk/gtkrange.c:479
msgid "Whether to restrict the upper boundary to the fill level."
msgstr "Ar apriboti viršutinį rėžį užpildymo lygiu"
-#: ../gtk/gtkrange.c:493
+#: ../gtk/gtkrange.c:494
msgid "Fill Level"
msgstr "Užpildymo lygis"
-#: ../gtk/gtkrange.c:494
+#: ../gtk/gtkrange.c:495
msgid "The fill level."
msgstr "Užpildymo lygis."
-#: ../gtk/gtkrange.c:511
+#: ../gtk/gtkrange.c:512
msgid "Round Digits"
msgstr "Apvalinimo skaitmenys"
-#: ../gtk/gtkrange.c:512
+#: ../gtk/gtkrange.c:513
msgid "The number of digits to round the value to."
msgstr "Skaitmenų skaičius reikšmės apvalinimui."
-#: ../gtk/gtkrange.c:520 ../gtk/gtkswitch.c:836
+#: ../gtk/gtkrange.c:521
+#: ../gtk/gtkswitch.c:818
msgid "Slider Width"
msgstr "Juostos plotis"
-#: ../gtk/gtkrange.c:521
+#: ../gtk/gtkrange.c:522
msgid "Width of scrollbar or scale thumb"
msgstr "Persukimo juostos plotis arba mastelis"
-#: ../gtk/gtkrange.c:528
+#: ../gtk/gtkrange.c:529
msgid "Trough Border"
msgstr "Tarpinis rėmelis"
-#: ../gtk/gtkrange.c:529
+#: ../gtk/gtkrange.c:530
msgid "Spacing between thumb/steppers and outer trough bevel"
msgstr "Tarpas tarp peržiūros/navigacijos ir išorinio rėmelio"
-#: ../gtk/gtkrange.c:536
+#: ../gtk/gtkrange.c:537
msgid "Stepper Size"
msgstr "Žingsnio dydis"
-#: ../gtk/gtkrange.c:537
+#: ../gtk/gtkrange.c:538
msgid "Length of step buttons at ends"
msgstr "Prasukimo mygtukų ilgis"
-#: ../gtk/gtkrange.c:550
+#: ../gtk/gtkrange.c:551
msgid "Stepper Spacing"
msgstr "Žingsnio protarpis"
-#: ../gtk/gtkrange.c:551
+#: ../gtk/gtkrange.c:552
msgid "Spacing between step buttons and thumb"
msgstr "Tarpas tarp navigacijos mygtukų ir peržiūros"
-#: ../gtk/gtkrange.c:558
+#: ../gtk/gtkrange.c:559
msgid "Arrow X Displacement"
msgstr "Rodyklės X atitraukimas"
-#: ../gtk/gtkrange.c:559
-msgid ""
-"How far in the x direction to move the arrow when the button is depressed"
+#: ../gtk/gtkrange.c:560
+msgid "How far in the x direction to move the arrow when the button is depressed"
msgstr "Kaip toli patraukti rodyklę horizontaliai, kai mygtukas atleistas"
-#: ../gtk/gtkrange.c:566
+#: ../gtk/gtkrange.c:567
msgid "Arrow Y Displacement"
msgstr "Rodyklės Y atitraukimas"
-#: ../gtk/gtkrange.c:567
-msgid ""
-"How far in the y direction to move the arrow when the button is depressed"
+#: ../gtk/gtkrange.c:568
+msgid "How far in the y direction to move the arrow when the button is depressed"
msgstr "Kaip toli patraukti rodyklę vertikaliai, kai mygtukas atleistas"
-#: ../gtk/gtkrange.c:583
+#: ../gtk/gtkrange.c:584
msgid "Trough Under Steppers"
msgstr "Įduba po žingsniais"
-#: ../gtk/gtkrange.c:584
-msgid ""
-"Whether to draw trough for full length of range or exclude the steppers and "
-"spacing"
-msgstr ""
-"Ar piešti įdubą visam intervalui, ar išskaičiuoti žingsnius ir paraštes"
+#: ../gtk/gtkrange.c:585
+msgid "Whether to draw trough for full length of range or exclude the steppers and spacing"
+msgstr "Ar piešti įdubą visam intervalui, ar išskaičiuoti žingsnius ir paraštes"
-#: ../gtk/gtkrange.c:597
+#: ../gtk/gtkrange.c:598
msgid "Arrow scaling"
msgstr "Rodyklės mastelis"
-#: ../gtk/gtkrange.c:598
+#: ../gtk/gtkrange.c:599
msgid "Arrow scaling with regard to scroll button size"
msgstr "Rodyklės dydis, atsižvelgiant į slinkties mygtuko didį"
-#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:246
+#: ../gtk/gtkrecentaction.c:635
+#: ../gtk/gtkrecentchoosermenu.c:246
msgid "Show Numbers"
msgstr "Rodyti skaičius"
-#: ../gtk/gtkrecentaction.c:636 ../gtk/gtkrecentchoosermenu.c:247
+#: ../gtk/gtkrecentaction.c:636
+#: ../gtk/gtkrecentchoosermenu.c:247
msgid "Whether the items should be displayed with a number"
msgstr "Ar elementai turėtų būti rodomi su skaičiumi"
msgid "The size of the recently used resources list"
msgstr "Neseniai naudotų resursų sąrašo dydis"
-#: ../gtk/gtkscalebutton.c:218
+#: ../gtk/gtkscalebutton.c:219
msgid "The value of the scale"
msgstr "Slankiklio vertė"
-#: ../gtk/gtkscalebutton.c:228
+#: ../gtk/gtkscalebutton.c:229
msgid "The icon size"
msgstr "Piktogramos dydis"
-#: ../gtk/gtkscalebutton.c:237
-msgid ""
-"The GtkAdjustment that contains the current value of this scale button object"
+#: ../gtk/gtkscalebutton.c:238
+msgid "The GtkAdjustment that contains the current value of this scale button object"
msgstr "GtkAdjustment kintamasis, kuris saugo dabartinę slankiklio reikšmę"
-#: ../gtk/gtkscalebutton.c:265
+#: ../gtk/gtkscalebutton.c:266
msgid "Icons"
msgstr "Piktogramos"
-#: ../gtk/gtkscalebutton.c:266
+#: ../gtk/gtkscalebutton.c:267
msgid "List of icon names"
msgstr "Piktogramų pavadinimų sąrašas"
-#: ../gtk/gtkscale.c:253
+#: ../gtk/gtkscale.c:255
msgid "The number of decimal places that are displayed in the value"
msgstr "Išvedamų dešimtainių skaičių kiekis"
-#: ../gtk/gtkscale.c:262
+#: ../gtk/gtkscale.c:264
msgid "Draw Value"
msgstr "Rodyti reikšmę"
-#: ../gtk/gtkscale.c:263
+#: ../gtk/gtkscale.c:265
msgid "Whether the current value is displayed as a string next to the slider"
msgstr "Ar esama reikšmė turi būti išvesta greta slankmačio"
-#: ../gtk/gtkscale.c:270
+#: ../gtk/gtkscale.c:272
msgid "Value Position"
msgstr "Reikšmės padėtis"
-#: ../gtk/gtkscale.c:271
+#: ../gtk/gtkscale.c:273
msgid "The position in which the current value is displayed"
msgstr "Vieta, kur išvedama esama reikšmė"
-#: ../gtk/gtkscale.c:278
+#: ../gtk/gtkscale.c:280
msgid "Slider Length"
msgstr "Slankiklio ilgis"
-#: ../gtk/gtkscale.c:279
+#: ../gtk/gtkscale.c:281
msgid "Length of scale's slider"
msgstr "Mastelio slankiklio ilgis"
-#: ../gtk/gtkscale.c:287
+#: ../gtk/gtkscale.c:289
msgid "Value spacing"
msgstr "Reikšmės atitraukimas"
-#: ../gtk/gtkscale.c:288
+#: ../gtk/gtkscale.c:290
msgid "Space between value text and the slider/trough area"
msgstr "Tarpas tarp reikšmės teksto ir slankiklio srities"
-#: ../gtk/gtkscrollable.c:86
+#: ../gtk/gtkscrollable.c:94
msgid "Horizontal adjustment"
msgstr "Horizontalus pakoregavimas"
-#: ../gtk/gtkscrollable.c:87
-msgid ""
-"Horizontal adjustment that is shared between the scrollable widget and its "
-"controller"
-msgstr ""
-"Horizontalus reguliavimas, kuris yra bendras slankomam elementui ir jo "
-"valdikliui"
+#: ../gtk/gtkscrollable.c:95
+msgid "Horizontal adjustment that is shared between the scrollable widget and its controller"
+msgstr "Horizontalus reguliavimas, kuris yra bendras slankomam elementui ir jo valdikliui"
-#: ../gtk/gtkscrollable.c:103
+#: ../gtk/gtkscrollable.c:111
msgid "Vertical adjustment"
msgstr "Vertikalus pakoregavimas"
-#: ../gtk/gtkscrollable.c:104
-msgid ""
-"Vertical adjustment that is shared between the scrollable widget and its "
-"controller"
-msgstr ""
-"Vertikalus reguliavimas, kuris yra bendras slankomam elementui ir jo "
-"valdikliui"
+#: ../gtk/gtkscrollable.c:112
+msgid "Vertical adjustment that is shared between the scrollable widget and its controller"
+msgstr "Vertikalus reguliavimas, kuris yra bendras slankomam elementui ir jo valdikliui"
-#: ../gtk/gtkscrollable.c:120
+#: ../gtk/gtkscrollable.c:128
msgid "Horizontal Scrollable Policy"
msgstr "Horizontalios slinkties taisyklės"
-#: ../gtk/gtkscrollable.c:121 ../gtk/gtkscrollable.c:137
+#: ../gtk/gtkscrollable.c:129
+#: ../gtk/gtkscrollable.c:145
msgid "How the size of the content should be determined"
msgstr "Kaip turi būti nustatomas turinio dydis"
-#: ../gtk/gtkscrollable.c:136
+#: ../gtk/gtkscrollable.c:144
msgid "Vertical Scrollable Policy"
msgstr "Vertikalios slinkties taisyklės"
msgstr "Nekeisti slankiklio dydžio, tiesiog nustatyti jį minimaliaus ilgio"
#: ../gtk/gtkscrollbar.c:103
-msgid ""
-"Display a second backward arrow button on the opposite end of the scrollbar"
+msgid "Display a second backward arrow button on the opposite end of the scrollbar"
msgstr "Rodyti antrą judėjimo atgal mygtuką kitame persukimo juostos gale"
#: ../gtk/gtkscrollbar.c:110
-msgid ""
-"Display a second forward arrow button on the opposite end of the scrollbar"
+msgid "Display a second forward arrow button on the opposite end of the scrollbar"
msgstr "Rodyti antrą judėjimo pirmyn mygtuką kitame persukimo juostos gale"
-#: ../gtk/gtkscrolledwindow.c:295
+#: ../gtk/gtkscrolledwindow.c:296
msgid "Horizontal Adjustment"
msgstr "Horizontalus priderinimas"
-#: ../gtk/gtkscrolledwindow.c:296
+#: ../gtk/gtkscrolledwindow.c:297
msgid "The GtkAdjustment for the horizontal position"
msgstr "GtkAdjustment horizontaliai padėčiai"
-#: ../gtk/gtkscrolledwindow.c:302
+#: ../gtk/gtkscrolledwindow.c:303
msgid "Vertical Adjustment"
msgstr "Vertikalus priderinimas"
-#: ../gtk/gtkscrolledwindow.c:303
+#: ../gtk/gtkscrolledwindow.c:304
msgid "The GtkAdjustment for the vertical position"
msgstr "GtkAdjustment vertikaliai padėčiai"
-#: ../gtk/gtkscrolledwindow.c:309
+#: ../gtk/gtkscrolledwindow.c:310
msgid "Horizontal Scrollbar Policy"
msgstr "Horizontalios slinkties juostos taisyklės"
-#: ../gtk/gtkscrolledwindow.c:310
+#: ../gtk/gtkscrolledwindow.c:311
msgid "When the horizontal scrollbar is displayed"
msgstr "Kada rodoma horizontali slinkties juosta"
-#: ../gtk/gtkscrolledwindow.c:317
+#: ../gtk/gtkscrolledwindow.c:318
msgid "Vertical Scrollbar Policy"
msgstr "Vertikalios slinkties juostos taisyklės"
-#: ../gtk/gtkscrolledwindow.c:318
+#: ../gtk/gtkscrolledwindow.c:319
msgid "When the vertical scrollbar is displayed"
msgstr "Kada rodoma vertikali slinkties juosta"
-#: ../gtk/gtkscrolledwindow.c:326
+#: ../gtk/gtkscrolledwindow.c:327
msgid "Window Placement"
msgstr "Lango padėtis"
-#: ../gtk/gtkscrolledwindow.c:327
-msgid ""
-"Where the contents are located with respect to the scrollbars. This property "
-"only takes effect if \"window-placement-set\" is TRUE."
-msgstr ""
-"Kur yra turinys slinkties juostų atžvilgiu. Ši savybė galioja tik esant "
-"„window-placement-set“ reikšmei TEIGIAMAI."
+#: ../gtk/gtkscrolledwindow.c:328
+msgid "Where the contents are located with respect to the scrollbars. This property only takes effect if \"window-placement-set\" is TRUE."
+msgstr "Kur yra turinys slinkties juostų atžvilgiu. Ši savybė galioja tik esant „window-placement-set“ reikšmei TEIGIAMAI."
-#: ../gtk/gtkscrolledwindow.c:344
+#: ../gtk/gtkscrolledwindow.c:345
msgid "Window Placement Set"
msgstr "Langų išdėstymo nustatymas"
-#: ../gtk/gtkscrolledwindow.c:345
-msgid ""
-"Whether \"window-placement\" should be used to determine the location of the "
-"contents with respect to the scrollbars."
-msgstr ""
-"Ar „window-placement“ turėtų būti naudojamas nustatyti turinio vietą "
-"slinkties juostų atžvilgiu."
+#: ../gtk/gtkscrolledwindow.c:346
+msgid "Whether \"window-placement\" should be used to determine the location of the contents with respect to the scrollbars."
+msgstr "Ar „window-placement“ turėtų būti naudojamas nustatyti turinio vietą slinkties juostų atžvilgiu."
-#: ../gtk/gtkscrolledwindow.c:351
+#: ../gtk/gtkscrolledwindow.c:352
msgid "Shadow Type"
msgstr "Šešėlio tipas"
-#: ../gtk/gtkscrolledwindow.c:352
+#: ../gtk/gtkscrolledwindow.c:353
msgid "Style of bevel around the contents"
msgstr "Rėmelio apie turinį stilius"
-#: ../gtk/gtkscrolledwindow.c:366
+#: ../gtk/gtkscrolledwindow.c:367
msgid "Scrollbars within bevel"
msgstr "Slinkties juostos rėmelyje"
-#: ../gtk/gtkscrolledwindow.c:367
+#: ../gtk/gtkscrolledwindow.c:368
msgid "Place scrollbars within the scrolled window's bevel"
msgstr "Padėti slinkties juostas slenkamo lango rėmelyje"
-#: ../gtk/gtkscrolledwindow.c:373
+#: ../gtk/gtkscrolledwindow.c:374
msgid "Scrollbar spacing"
msgstr "Slinkties juostos tarpai"
-#: ../gtk/gtkscrolledwindow.c:374
+#: ../gtk/gtkscrolledwindow.c:375
msgid "Number of pixels between the scrollbars and the scrolled window"
msgstr "Atstumas pikseliais tarp slinkties juostos ir slenkamo lango"
-#: ../gtk/gtkscrolledwindow.c:390
+#: ../gtk/gtkscrolledwindow.c:391
msgid "Minimum Content Width"
msgstr "Minimalus turinio plotis"
-#: ../gtk/gtkscrolledwindow.c:391
+#: ../gtk/gtkscrolledwindow.c:392
msgid "The minimum width that the scrolled window will allocate to its content"
msgstr "Mažiausias plotis, kurį slankomas langas išskirs savo turiniui"
-#: ../gtk/gtkscrolledwindow.c:405
+#: ../gtk/gtkscrolledwindow.c:406
msgid "Minimum Content Height"
msgstr "Minimalus turinio aukštis"
-#: ../gtk/gtkscrolledwindow.c:406
-msgid ""
-"The minimum height that the scrolled window will allocate to its content"
+#: ../gtk/gtkscrolledwindow.c:407
+msgid "The minimum height that the scrolled window will allocate to its content"
msgstr "Mažiausias aukštis, kurį slankomas langas išskirs savo turiniui"
#: ../gtk/gtkseparatortoolitem.c:143
msgid "Whether the separator is drawn, or just blank"
msgstr "Ar skirtukas yra parodomas, ar tik tuščia vieta"
-#: ../gtk/gtksettings.c:322
+#: ../gtk/gtksettings.c:321
msgid "Double Click Time"
msgstr "Dvigubo paspaudimo laikas"
-#: ../gtk/gtksettings.c:323
-msgid ""
-"Maximum time allowed between two clicks for them to be considered a double "
-"click (in milliseconds)"
-msgstr ""
-"Maksimalus laikas tarp dviejų spragtelėjimų, kai galima juos laikyti dvigubu "
-"spragtelėjimu (milisekundėmis)"
+#: ../gtk/gtksettings.c:322
+msgid "Maximum time allowed between two clicks for them to be considered a double click (in milliseconds)"
+msgstr "Maksimalus laikas tarp dviejų spragtelėjimų, kai galima juos laikyti dvigubu spragtelėjimu (milisekundėmis)"
-#: ../gtk/gtksettings.c:330
+#: ../gtk/gtksettings.c:329
msgid "Double Click Distance"
msgstr "Dvigubo paspaudimo atstumas"
-#: ../gtk/gtksettings.c:331
-msgid ""
-"Maximum distance allowed between two clicks for them to be considered a "
-"double click (in pixels)"
-msgstr ""
-"Didžiausias atstumas tarp dviejų spragtelėjimų, kuris leidžia juos laikyti "
-"dvigubu spragtelėjimu (pikseliais)"
+#: ../gtk/gtksettings.c:330
+msgid "Maximum distance allowed between two clicks for them to be considered a double click (in pixels)"
+msgstr "Didžiausias atstumas tarp dviejų spragtelėjimų, kuris leidžia juos laikyti dvigubu spragtelėjimu (pikseliais)"
-#: ../gtk/gtksettings.c:347
+#: ../gtk/gtksettings.c:346
msgid "Cursor Blink"
msgstr "Mirksintis žymeklis"
-#: ../gtk/gtksettings.c:348
+#: ../gtk/gtksettings.c:347
msgid "Whether the cursor should blink"
msgstr "Ar žymeklis gali mirksėti"
-#: ../gtk/gtksettings.c:355
+#: ../gtk/gtksettings.c:354
msgid "Cursor Blink Time"
msgstr "Žymeklio mirksėjimo laikas"
-#: ../gtk/gtksettings.c:356
+#: ../gtk/gtksettings.c:355
msgid "Length of the cursor blink cycle, in milliseconds"
msgstr "Žymeklio mirksėjimo dažnis (milisekundėmis)"
-#: ../gtk/gtksettings.c:375
+#: ../gtk/gtksettings.c:374
msgid "Cursor Blink Timeout"
msgstr "Žymeklio mirksėjimo baigimo laikas"
-#: ../gtk/gtksettings.c:376
+#: ../gtk/gtksettings.c:375
msgid "Time after which the cursor stops blinking, in seconds"
msgstr "Laikas, po kurio žymeklis nustoja mirksėti (sekundėmis)"
-#: ../gtk/gtksettings.c:383
+#: ../gtk/gtksettings.c:382
msgid "Split Cursor"
msgstr "Perskirtas žymeklis"
-#: ../gtk/gtksettings.c:384
-msgid ""
-"Whether two cursors should be displayed for mixed left-to-right and right-to-"
-"left text"
-msgstr ""
-"Ar galima rodyti du žymeklius esant maišytam iš-kairės-į-dešinę bei iš-"
-"dešinės-į-kairę tekstui"
+#: ../gtk/gtksettings.c:383
+msgid "Whether two cursors should be displayed for mixed left-to-right and right-to-left text"
+msgstr "Ar galima rodyti du žymeklius esant maišytam iš-kairės-į-dešinę bei iš-dešinės-į-kairę tekstui"
-#: ../gtk/gtksettings.c:391
+#: ../gtk/gtksettings.c:390
msgid "Theme Name"
msgstr "Temos vardas"
-#: ../gtk/gtksettings.c:392
+#: ../gtk/gtksettings.c:391
msgid "Name of theme to load"
msgstr "Įkeltinos temos pavadinimas"
-#: ../gtk/gtksettings.c:400
+#: ../gtk/gtksettings.c:399
msgid "Icon Theme Name"
msgstr "Piktogramų temos pavadinimas"
-#: ../gtk/gtksettings.c:401
+#: ../gtk/gtksettings.c:400
msgid "Name of icon theme to use"
msgstr "Naudotinos piktogramų temos pavadinimas"
-#: ../gtk/gtksettings.c:409
+#: ../gtk/gtksettings.c:408
msgid "Fallback Icon Theme Name"
msgstr "Atsarginės piktogramų temos pavadinimas"
-#: ../gtk/gtksettings.c:410
+#: ../gtk/gtksettings.c:409
msgid "Name of a icon theme to fall back to"
msgstr "Naudojamos atsarginės piktogramų temos pavadinimas"
-#: ../gtk/gtksettings.c:418
+#: ../gtk/gtksettings.c:417
msgid "Key Theme Name"
msgstr "Klavišų temos pavadinimas"
-#: ../gtk/gtksettings.c:419
+#: ../gtk/gtksettings.c:418
msgid "Name of key theme to load"
msgstr "Įkeltinos klavišų temos pavadinimas"
-#: ../gtk/gtksettings.c:427
+#: ../gtk/gtksettings.c:426
msgid "Menu bar accelerator"
msgstr "Meniu juostos spartusis klavišas"
-#: ../gtk/gtksettings.c:428
+#: ../gtk/gtksettings.c:427
msgid "Keybinding to activate the menu bar"
msgstr "Klavišų kombinacija aktyvinanti meniu juostą"
-#: ../gtk/gtksettings.c:436
+#: ../gtk/gtksettings.c:435
msgid "Drag threshold"
msgstr "Tempimo riba"
-#: ../gtk/gtksettings.c:437
+#: ../gtk/gtksettings.c:436
msgid "Number of pixels the cursor can move before dragging"
-msgstr ""
-"Pikselių skaičius, kiek gali pajudėti žymeklis prieš prasidedant tempimui"
+msgstr "Pikselių skaičius, kiek gali pajudėti žymeklis prieš prasidedant tempimui"
-#: ../gtk/gtksettings.c:445
+#: ../gtk/gtksettings.c:444
msgid "Font Name"
msgstr "Šrifto pavadinimas"
-#: ../gtk/gtksettings.c:446
+#: ../gtk/gtksettings.c:445
msgid "Name of default font to use"
msgstr "Naudojamo standartinio šrifto vardas"
-#: ../gtk/gtksettings.c:468
+#: ../gtk/gtksettings.c:467
msgid "Icon Sizes"
msgstr "Piktogramų dydžiai"
-#: ../gtk/gtksettings.c:469
+#: ../gtk/gtksettings.c:468
msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..."
msgstr "Piktogramų dydžių sąrašas (gtk-menu=16,16:gtk-button=20,20…"
-#: ../gtk/gtksettings.c:477
+#: ../gtk/gtksettings.c:476
msgid "GTK Modules"
msgstr "GTK moduliai"
-#: ../gtk/gtksettings.c:478
+#: ../gtk/gtksettings.c:477
msgid "List of currently active GTK modules"
msgstr "Šiuo metu aktyvių GTK modulių sąrašas"
-#: ../gtk/gtksettings.c:486
+#: ../gtk/gtksettings.c:485
msgid "Xft Antialias"
msgstr "Xft glotninimas"
-#: ../gtk/gtksettings.c:487
+#: ../gtk/gtksettings.c:486
msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default"
msgstr "Ar glotninti Xft šriftus; 0=ne, 1=taip, -1=numatytas"
-#: ../gtk/gtksettings.c:496
+#: ../gtk/gtksettings.c:495
msgid "Xft Hinting"
msgstr "Xft užuominos"
-#: ../gtk/gtksettings.c:497
+#: ../gtk/gtksettings.c:496
msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default"
msgstr "Ar daryti užuominas Xft šriftams; 0=ne, 1=taip, -1=numatytas"
-#: ../gtk/gtksettings.c:506
+#: ../gtk/gtksettings.c:505
msgid "Xft Hint Style"
msgstr "Xft užuominų stilius"
-#: ../gtk/gtksettings.c:507
-msgid ""
-"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull"
+#: ../gtk/gtksettings.c:506
+msgid "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull"
msgstr "Kokį užuominų lygį naudoti; jokio, nežymų, vidutinį, ar pilną"
-#: ../gtk/gtksettings.c:516
+#: ../gtk/gtksettings.c:515
msgid "Xft RGBA"
msgstr "Xft RGBA"
-#: ../gtk/gtksettings.c:517
+#: ../gtk/gtksettings.c:516
msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr"
msgstr "Subpikselinio glotninimo tipas; jokio, rgb, bgr, vrgb, vbgr"
-#: ../gtk/gtksettings.c:526
+#: ../gtk/gtksettings.c:525
msgid "Xft DPI"
msgstr "Xft DPI"
-#: ../gtk/gtksettings.c:527
+#: ../gtk/gtksettings.c:526
msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value"
msgstr "Xft raiška, 1024 * taškai/colyje. -1 naudoti numatytąją reikšmę"
-#: ../gtk/gtksettings.c:536
+#: ../gtk/gtksettings.c:535
msgid "Cursor theme name"
msgstr "Žymeklių temos pavadinimas"
-#: ../gtk/gtksettings.c:537
+#: ../gtk/gtksettings.c:536
msgid "Name of the cursor theme to use, or NULL to use the default theme"
-msgstr ""
-"Naudotinos žymeklių temos pavadinimas, arba NULL - naudojant numatytąją temą"
+msgstr "Naudotinos žymeklių temos pavadinimas, arba NULL - naudojant numatytąją temą"
-#: ../gtk/gtksettings.c:545
+#: ../gtk/gtksettings.c:544
msgid "Cursor theme size"
msgstr "Žymeklių temos dydis"
-#: ../gtk/gtksettings.c:546
+#: ../gtk/gtksettings.c:545
msgid "Size to use for cursors, or 0 to use the default size"
msgstr "Naudotinas žymeklių dydis, arba 0 - naudojant numatytąjį dydį"
-#: ../gtk/gtksettings.c:555
+#: ../gtk/gtksettings.c:554
msgid "Alternative button order"
msgstr "Alternatyvi mygtukų tvarka"
-#: ../gtk/gtksettings.c:556
+#: ../gtk/gtksettings.c:555
msgid "Whether buttons in dialogs should use the alternative button order"
-msgstr ""
-"Ar dialoguose mygtukai turi būti rodomos mygtukuose alternatyvia tvarka"
+msgstr "Ar dialoguose mygtukai turi būti rodomos mygtukuose alternatyvia tvarka"
-#: ../gtk/gtksettings.c:573
+#: ../gtk/gtksettings.c:572
msgid "Alternative sort indicator direction"
msgstr "Alternatyvi tvarkos indikatoriaus kryptis"
-#: ../gtk/gtksettings.c:574
-msgid ""
-"Whether the direction of the sort indicators in list and tree views is "
-"inverted compared to the default (where down means ascending)"
-msgstr ""
-"Ar rikiavimo indikatorių sąrašo ir medžio rodiniuose kryptis apversta "
-"palyginti su įprasta (kur rodyklė žemyn reiškia didėjimo tvarką)"
+#: ../gtk/gtksettings.c:573
+msgid "Whether the direction of the sort indicators in list and tree views is inverted compared to the default (where down means ascending)"
+msgstr "Ar rikiavimo indikatorių sąrašo ir medžio rodiniuose kryptis apversta palyginti su įprasta (kur rodyklė žemyn reiškia didėjimo tvarką)"
-#: ../gtk/gtksettings.c:582
+#: ../gtk/gtksettings.c:581
msgid "Show the 'Input Methods' menu"
msgstr "Rodyti meniu „Įvesties metodai“"
-#: ../gtk/gtksettings.c:583
-msgid ""
-"Whether the context menus of entries and text views should offer to change "
-"the input method"
-msgstr ""
-"Ar kontekstiniai įrašų ir teksto vaizdų meniu turėtų pasiūlyti keisti "
-"įvesties metodą"
+#: ../gtk/gtksettings.c:582
+msgid "Whether the context menus of entries and text views should offer to change the input method"
+msgstr "Ar kontekstiniai įrašų ir teksto vaizdų meniu turėtų pasiūlyti keisti įvesties metodą"
-#: ../gtk/gtksettings.c:591
+#: ../gtk/gtksettings.c:590
msgid "Show the 'Insert Unicode Control Character' menu"
msgstr "Rodyti meniu „Įterpti Unikodo valdymo simbolį“"
-#: ../gtk/gtksettings.c:592
-msgid ""
-"Whether the context menus of entries and text views should offer to insert "
-"control characters"
-msgstr ""
-"Ar kontekstiniai įrašų ir teksto vaizdų meniu turėtų pasiūlyti įterpti "
-"valdymo simbolius."
+#: ../gtk/gtksettings.c:591
+msgid "Whether the context menus of entries and text views should offer to insert control characters"
+msgstr "Ar kontekstiniai įrašų ir teksto vaizdų meniu turėtų pasiūlyti įterpti valdymo simbolius."
-#: ../gtk/gtksettings.c:600
+#: ../gtk/gtksettings.c:599
msgid "Start timeout"
msgstr "Pradinis laikrodžio intervalas"
-#: ../gtk/gtksettings.c:601
+#: ../gtk/gtksettings.c:600
msgid "Starting value for timeouts, when button is pressed"
msgstr "Pradinė laikrodžio intervalo reikšmė paspaudus mygtuką"
-#: ../gtk/gtksettings.c:610
+#: ../gtk/gtksettings.c:609
msgid "Repeat timeout"
msgstr "Kartotinis intervalas"
-#: ../gtk/gtksettings.c:611
+#: ../gtk/gtksettings.c:610
msgid "Repeat value for timeouts, when button is pressed"
msgstr "Kartotinė intervalo reikšmė paspaudus mygtuką"
-#: ../gtk/gtksettings.c:620
+#: ../gtk/gtksettings.c:619
msgid "Expand timeout"
msgstr "Išskleidimo intervalas"
-#: ../gtk/gtksettings.c:621
+#: ../gtk/gtksettings.c:620
msgid "Expand value for timeouts, when a widget is expanding a new region"
msgstr "Išskleidimo reikšmė intervalams, kai laukelis išplečia regioną"
-#: ../gtk/gtksettings.c:656
+#: ../gtk/gtksettings.c:655
msgid "Color scheme"
msgstr "Spalvų schema"
-#: ../gtk/gtksettings.c:657
+#: ../gtk/gtksettings.c:656
msgid "A palette of named colors for use in themes"
msgstr "Pavadintų spalvų paletė naudotina temose"
-#: ../gtk/gtksettings.c:666
+#: ../gtk/gtksettings.c:665
msgid "Enable Animations"
msgstr "Įjungti animaciją"
-#: ../gtk/gtksettings.c:667
+#: ../gtk/gtksettings.c:666
msgid "Whether to enable toolkit-wide animations."
msgstr "Ar įjungti animacijas bibliotekos mastu."
-#: ../gtk/gtksettings.c:685
+#: ../gtk/gtksettings.c:684
msgid "Enable Touchscreen Mode"
msgstr "Įjungti liečiamojo ekrano veikseną"
-#: ../gtk/gtksettings.c:686
+#: ../gtk/gtksettings.c:685
msgid "When TRUE, there are no motion notify events delivered on this screen"
msgstr "Kai TEIGIAMA, traukos įvykiai nepristatomi į šį ekraną"
-#: ../gtk/gtksettings.c:703
+#: ../gtk/gtksettings.c:702
msgid "Tooltip timeout"
msgstr "Paaiškinimo parodymo laikas"
-#: ../gtk/gtksettings.c:704
+#: ../gtk/gtksettings.c:703
msgid "Timeout before tooltip is shown"
msgstr "Laikas, po kurio parodomas paaiškinimas"
-#: ../gtk/gtksettings.c:729
+#: ../gtk/gtksettings.c:728
msgid "Tooltip browse timeout"
msgstr "Paaiškinimo naršymo laikas"
-#: ../gtk/gtksettings.c:730
+#: ../gtk/gtksettings.c:729
msgid "Timeout before tooltip is shown when browse mode is enabled"
msgstr "Laikas, po kurio paaiškinimas parodomas esant naršymo veiksenoje"
-#: ../gtk/gtksettings.c:751
+#: ../gtk/gtksettings.c:750
msgid "Tooltip browse mode timeout"
msgstr "Paaiškinimo laikas naršymo veiksenoje"
-#: ../gtk/gtksettings.c:752
+#: ../gtk/gtksettings.c:751
msgid "Timeout after which browse mode is disabled"
msgstr "Laikas, po kurio naršymo veiksena išjungiama"
-#: ../gtk/gtksettings.c:771
+#: ../gtk/gtksettings.c:770
msgid "Keynav Cursor Only"
msgstr "Navigacija tik klaviatūra"
-#: ../gtk/gtksettings.c:772
+#: ../gtk/gtksettings.c:771
msgid "When TRUE, there are only cursor keys available to navigate widgets"
-msgstr ""
-"Kai TEIGIAMA, naviguoti po objektus galima tik žymeklio valdymo klavišais"
+msgstr "Kai TEIGIAMA, naviguoti po objektus galima tik žymeklio valdymo klavišais"
-#: ../gtk/gtksettings.c:789
+#: ../gtk/gtksettings.c:788
msgid "Keynav Wrap Around"
msgstr "Navigavimo klavišais peršokimas iš pabaigos į pradžią"
-#: ../gtk/gtksettings.c:790
+#: ../gtk/gtksettings.c:789
msgid "Whether to wrap around when keyboard-navigating widgets"
msgstr "Ar šokti iš pabaigos į pradžią naviguojant klaviatūra"
-#: ../gtk/gtksettings.c:810
+#: ../gtk/gtksettings.c:809
msgid "Error Bell"
msgstr "Klaidos skambutis"
-#: ../gtk/gtksettings.c:811
+#: ../gtk/gtksettings.c:810
msgid "When TRUE, keyboard navigation and other errors will cause a beep"
-msgstr ""
-"Kai TEIGIAMA, įvykus navigavimo klaviatūros ar kitoms klaidoms nuskambės "
-"skambutis"
+msgstr "Kai TEIGIAMA, įvykus navigavimo klaviatūros ar kitoms klaidoms nuskambės skambutis"
-#: ../gtk/gtksettings.c:828
+#: ../gtk/gtksettings.c:827
msgid "Color Hash"
msgstr "Spalvų maiša"
-#: ../gtk/gtksettings.c:829
+#: ../gtk/gtksettings.c:828
msgid "A hash table representation of the color scheme."
msgstr "Spalvų schemos reprezentaciją kaip maišos lentelė"
-#: ../gtk/gtksettings.c:837
+#: ../gtk/gtksettings.c:836
msgid "Default file chooser backend"
msgstr "Numatytoji failų parinkiklio posistemė"
-#: ../gtk/gtksettings.c:838
+#: ../gtk/gtksettings.c:837
msgid "Name of the GtkFileChooser backend to use by default"
msgstr "Numatytai naudojamos GtkFileChooser posistemės pavadinimas"
-#: ../gtk/gtksettings.c:855
+#: ../gtk/gtksettings.c:854
msgid "Default print backend"
msgstr "Numatytoji spausdintuvo posistemė"
-#: ../gtk/gtksettings.c:856
+#: ../gtk/gtksettings.c:855
msgid "List of the GtkPrintBackend backends to use by default"
msgstr "Numatytasis naudotinas GtkPrintBackend posistemių sąrašas"
-#: ../gtk/gtksettings.c:879
+#: ../gtk/gtksettings.c:878
msgid "Default command to run when displaying a print preview"
msgstr "Įprasta komanda atveriant spausdinio peržiūrą"
-#: ../gtk/gtksettings.c:880
+#: ../gtk/gtksettings.c:879
msgid "Command to run when displaying a print preview"
msgstr "Komanda, kurią įvykdyti atveriant spausdinio peržiūrą"
-#: ../gtk/gtksettings.c:896
+#: ../gtk/gtksettings.c:895
msgid "Enable Mnemonics"
msgstr "Įjungti mnemonikas"
-#: ../gtk/gtksettings.c:897
+#: ../gtk/gtksettings.c:896
msgid "Whether labels should have mnemonics"
msgstr "Ar žymės turėtų turėti mnemonikas"
-#: ../gtk/gtksettings.c:913
+#: ../gtk/gtksettings.c:912
msgid "Enable Accelerators"
msgstr "Įjungti sparčiuosius klavišus"
-#: ../gtk/gtksettings.c:914
+#: ../gtk/gtksettings.c:913
msgid "Whether menu items should have accelerators"
msgstr "Ar meniu elementai turėtų turėti spartinančiuosius klavišus"
-#: ../gtk/gtksettings.c:931
+#: ../gtk/gtksettings.c:930
msgid "Recent Files Limit"
msgstr "Vėliausių failų sąrašo riba"
-#: ../gtk/gtksettings.c:932
+#: ../gtk/gtksettings.c:931
msgid "Number of recently used files"
msgstr "Vėliausiai atvertų failų skaičius"
-#: ../gtk/gtksettings.c:950
+#: ../gtk/gtksettings.c:949
msgid "Default IM module"
msgstr "Numatytasis įvesties metodas"
-#: ../gtk/gtksettings.c:951
+#: ../gtk/gtksettings.c:950
msgid "Which IM module should be used by default"
msgstr "Kurį įvesties metodo modulį naudoti, kai nenurodoma kitaip"
-#: ../gtk/gtksettings.c:969
+#: ../gtk/gtksettings.c:968
msgid "Recent Files Max Age"
msgstr "Vėliausių failų didžiausias amžius"
-#: ../gtk/gtksettings.c:970
+#: ../gtk/gtksettings.c:969
msgid "Maximum age of recently used files, in days"
msgstr "Didžiausias leistinas vėliausiai atverto failo amžius (dienomis)"
-#: ../gtk/gtksettings.c:979
+#: ../gtk/gtksettings.c:978
msgid "Fontconfig configuration timestamp"
msgstr "„Fontconfig“ nuostatų laiko žyma"
-#: ../gtk/gtksettings.c:980
+#: ../gtk/gtksettings.c:979
msgid "Timestamp of current fontconfig configuration"
msgstr "Naudojamų „Fontconfig“ nuostatų laiko žyma"
-#: ../gtk/gtksettings.c:1002
+#: ../gtk/gtksettings.c:1001
msgid "Sound Theme Name"
msgstr "Garsų temos pavadinimas"
-#: ../gtk/gtksettings.c:1003
+#: ../gtk/gtksettings.c:1002
msgid "XDG sound theme name"
msgstr "XDG garsų temos pavadinimas"
#. Translators: this means sounds that are played as feedback to user input
-#: ../gtk/gtksettings.c:1025
+#: ../gtk/gtksettings.c:1024
msgid "Audible Input Feedback"
msgstr "Garsu reaguoti į įvestį"
-#: ../gtk/gtksettings.c:1026
+#: ../gtk/gtksettings.c:1025
msgid "Whether to play event sounds as feedback to user input"
msgstr "Ar groti garsus, reaguojant į vartotojo įvestį"
-#: ../gtk/gtksettings.c:1047
+#: ../gtk/gtksettings.c:1046
msgid "Enable Event Sounds"
msgstr "Įjungti įvykių įgarsinimą"
-#: ../gtk/gtksettings.c:1048
+#: ../gtk/gtksettings.c:1047
msgid "Whether to play any event sounds at all"
msgstr "Ar apskritai groti garsus"
-#: ../gtk/gtksettings.c:1063
+#: ../gtk/gtksettings.c:1062
msgid "Enable Tooltips"
msgstr "Įjungti paaiškinimus"
-#: ../gtk/gtksettings.c:1064
+#: ../gtk/gtksettings.c:1063
msgid "Whether tooltips should be shown on widgets"
msgstr "Ar virš objektų turi būti rodomi paaiškinimai"
-#: ../gtk/gtksettings.c:1077
+#: ../gtk/gtksettings.c:1076
msgid "Toolbar style"
msgstr "Įrankinės stilius"
-#: ../gtk/gtksettings.c:1078
-msgid ""
-"Whether default toolbars have text only, text and icons, icons only, etc."
-msgstr ""
-"Ar standartinės įrankių juostas sudaro tekstas, tekstas ir piktogramos, vien "
-"piktogramos ir pan."
+#: ../gtk/gtksettings.c:1077
+msgid "Whether default toolbars have text only, text and icons, icons only, etc."
+msgstr "Ar standartinės įrankių juostas sudaro tekstas, tekstas ir piktogramos, vien piktogramos ir pan."
-#: ../gtk/gtksettings.c:1092
+#: ../gtk/gtksettings.c:1091
msgid "Toolbar Icon Size"
msgstr "Įrankių juostų piktogramų dydis"
-#: ../gtk/gtksettings.c:1093
+#: ../gtk/gtksettings.c:1092
msgid "The size of icons in default toolbars."
msgstr "Piktogramų dydis įprastose įrankių juostose."
-#: ../gtk/gtksettings.c:1110
+#: ../gtk/gtksettings.c:1109
msgid "Auto Mnemonics"
msgstr "Automatinės mnemonikos"
-#: ../gtk/gtksettings.c:1111
-msgid ""
-"Whether mnemonics should be automatically shown and hidden when the user "
-"presses the mnemonic activator."
-msgstr ""
-"Ar mnemonikos turėtų būti automatiškai rodomos/slepiamos, naudotojui "
-"spustelėjus jų aktyvinimo klavišą."
+#: ../gtk/gtksettings.c:1110
+msgid "Whether mnemonics should be automatically shown and hidden when the user presses the mnemonic activator."
+msgstr "Ar mnemonikos turėtų būti automatiškai rodomos/slepiamos, naudotojui spustelėjus jų aktyvinimo klavišą."
-#: ../gtk/gtksettings.c:1136
+#: ../gtk/gtksettings.c:1135
msgid "Application prefers a dark theme"
msgstr "Programa pageidauja tamsios temos"
-#: ../gtk/gtksettings.c:1137
+#: ../gtk/gtksettings.c:1136
msgid "Whether the application prefers to have a dark theme."
msgstr "Ar programa pageidauja turėti tamsią temą."
-#: ../gtk/gtksettings.c:1152
+#: ../gtk/gtksettings.c:1151
msgid "Show button images"
msgstr "Rodyti mygtukų paveikslėlius"
-#: ../gtk/gtksettings.c:1153
+#: ../gtk/gtksettings.c:1152
msgid "Whether images should be shown on buttons"
msgstr "Ar rodyti paveikslėlius ant mygtukų"
-#: ../gtk/gtksettings.c:1161 ../gtk/gtksettings.c:1255
+#: ../gtk/gtksettings.c:1160
+#: ../gtk/gtksettings.c:1254
msgid "Select on focus"
msgstr "Pažymėti aktyvinant"
-#: ../gtk/gtksettings.c:1162
+#: ../gtk/gtksettings.c:1161
msgid "Whether to select the contents of an entry when it is focused"
msgstr "Ar pažymėti įvesties laukelio turinį, kai jis suaktyvintas"
-#: ../gtk/gtksettings.c:1179
+#: ../gtk/gtksettings.c:1178
msgid "Password Hint Timeout"
msgstr "Slaptažodžio užuominos laikas"
-#: ../gtk/gtksettings.c:1180
+#: ../gtk/gtksettings.c:1179
msgid "How long to show the last input character in hidden entries"
-msgstr ""
-"Kiek ilgai rodyti paskutinį įvestą simbolį paslėptuose įvesties laukeliuose"
+msgstr "Kiek ilgai rodyti paskutinį įvestą simbolį paslėptuose įvesties laukeliuose"
-#: ../gtk/gtksettings.c:1189
+#: ../gtk/gtksettings.c:1188
msgid "Show menu images"
msgstr "Rodyti meniu paveikslėlius"
-#: ../gtk/gtksettings.c:1190
+#: ../gtk/gtksettings.c:1189
msgid "Whether images should be shown in menus"
msgstr "Ar paveikslėliai turi būti rodomi meniu"
-#: ../gtk/gtksettings.c:1198
+#: ../gtk/gtksettings.c:1197
msgid "Delay before drop down menus appear"
msgstr "Pauzė prieš pasirodant išsiskleidžiantiems meniu"
-#: ../gtk/gtksettings.c:1199
+#: ../gtk/gtksettings.c:1198
msgid "Delay before the submenus of a menu bar appear"
msgstr "Pauze prieš pasirodant žemesnio lygio meniu punktams"
-#: ../gtk/gtksettings.c:1216
+#: ../gtk/gtksettings.c:1215
msgid "Scrolled Window Placement"
msgstr "Slenkamo lango padėtis"
-#: ../gtk/gtksettings.c:1217
-msgid ""
-"Where the contents of scrolled windows are located with respect to the "
-"scrollbars, if not overridden by the scrolled window's own placement."
-msgstr ""
-"Kur yra slenkamų langų turinys slinkties juostų atžvilgiu, jeigu šis "
-"nustatymas nepadaromas nepaisomu paties slenkamo lango išdėstymo."
+#: ../gtk/gtksettings.c:1216
+msgid "Where the contents of scrolled windows are located with respect to the scrollbars, if not overridden by the scrolled window's own placement."
+msgstr "Kur yra slenkamų langų turinys slinkties juostų atžvilgiu, jeigu šis nustatymas nepadaromas nepaisomu paties slenkamo lango išdėstymo."
-#: ../gtk/gtksettings.c:1226
+#: ../gtk/gtksettings.c:1225
msgid "Can change accelerators"
msgstr "Gali keisti sparčius klavišus"
-#: ../gtk/gtksettings.c:1227
-msgid ""
-"Whether menu accelerators can be changed by pressing a key over the menu item"
-msgstr ""
-"Ar meniu trumpi klavišai gali būti pakeisti paspaudus klavišą virš meniu "
-"punkto"
+#: ../gtk/gtksettings.c:1226
+msgid "Whether menu accelerators can be changed by pressing a key over the menu item"
+msgstr "Ar meniu trumpi klavišai gali būti pakeisti paspaudus klavišą virš meniu punkto"
-#: ../gtk/gtksettings.c:1235
+#: ../gtk/gtksettings.c:1234
msgid "Delay before submenus appear"
msgstr "Pauzė prieš išskleidžiant žemesnio lygio meniu"
-#: ../gtk/gtksettings.c:1236
-msgid ""
-"Minimum time the pointer must stay over a menu item before the submenu appear"
-msgstr ""
-"Mažiausias laiko tarpas, kurį rodyklė turi praleisti virš meniu punkto, tam "
-"kad išsiskleistų žemesnio lygio meniu"
+#: ../gtk/gtksettings.c:1235
+msgid "Minimum time the pointer must stay over a menu item before the submenu appear"
+msgstr "Mažiausias laiko tarpas, kurį rodyklė turi praleisti virš meniu punkto, tam kad išsiskleistų žemesnio lygio meniu"
-#: ../gtk/gtksettings.c:1245
+#: ../gtk/gtksettings.c:1244
msgid "Delay before hiding a submenu"
msgstr "Pauzė prieš paslepiant žemesnio lygio meniu"
-#: ../gtk/gtksettings.c:1246
-msgid ""
-"The time before hiding a submenu when the pointer is moving towards the "
-"submenu"
-msgstr ""
-"Laikas per kurį reikia paslėpti žemesnio lygio meniu kai rodyklė juda jo "
-"pusėn"
+#: ../gtk/gtksettings.c:1245
+msgid "The time before hiding a submenu when the pointer is moving towards the submenu"
+msgstr "Laikas per kurį reikia paslėpti žemesnio lygio meniu kai rodyklė juda jo pusėn"
-#: ../gtk/gtksettings.c:1256
+#: ../gtk/gtksettings.c:1255
msgid "Whether to select the contents of a selectable label when it is focused"
msgstr "Ar pasirinkti pasirenkamo užrašo turinį, kai jis aktyvinamas"
-#: ../gtk/gtksettings.c:1264
+#: ../gtk/gtksettings.c:1263
msgid "Custom palette"
msgstr "Derinta paletė"
-#: ../gtk/gtksettings.c:1265
+#: ../gtk/gtksettings.c:1264
msgid "Palette to use in the color selector"
msgstr "Paletė, naudojama spalvų parinkiklyje"
-#: ../gtk/gtksettings.c:1273
+#: ../gtk/gtksettings.c:1272
msgid "IM Preedit style"
msgstr "Įvesties metodo „Preedit“ stilius"
-#: ../gtk/gtksettings.c:1274
+#: ../gtk/gtksettings.c:1273
msgid "How to draw the input method preedit string"
msgstr "Kaip rodyti įvedimo metodo preedit seką"
-#: ../gtk/gtksettings.c:1283
+#: ../gtk/gtksettings.c:1282
msgid "IM Status style"
msgstr "Įvesties metodo būsenos stilius"
-#: ../gtk/gtksettings.c:1284
+#: ../gtk/gtksettings.c:1283
msgid "How to draw the input method statusbar"
msgstr "Kaip rodyti įvedimo metodo būsenos juostą"
-#: ../gtk/gtksizegroup.c:381 ../gtk/gtktreeselection.c:130
+#: ../gtk/gtksizegroup.c:382
+#: ../gtk/gtktreeselection.c:130
msgid "Mode"
msgstr "Veiksena"
-#: ../gtk/gtksizegroup.c:382
-msgid ""
-"The directions in which the size group affects the requested sizes of its "
-"component widgets"
-msgstr ""
-"Kryptys, kuriomis kinta susietų objektų dydis vykdant grupinio dydžio "
-"keitimo operacijas"
+#: ../gtk/gtksizegroup.c:383
+msgid "The directions in which the size group affects the requested sizes of its component widgets"
+msgstr "Kryptys, kuriomis kinta susietų objektų dydis vykdant grupinio dydžio keitimo operacijas"
-#: ../gtk/gtksizegroup.c:398
+#: ../gtk/gtksizegroup.c:399
msgid "Ignore hidden"
msgstr "Nepaisyti paslėptų"
-#: ../gtk/gtksizegroup.c:399
-msgid ""
-"If TRUE, unmapped widgets are ignored when determining the size of the group"
+#: ../gtk/gtksizegroup.c:400
+msgid "If TRUE, unmapped widgets are ignored when determining the size of the group"
msgstr "Jei TEIGIAMA, nerodomi laukai ignoruojami nustatant grupės dydį"
-#: ../gtk/gtkspinbutton.c:329
+#: ../gtk/gtkspinbutton.c:331
msgid "Climb Rate"
msgstr "Lipimo taktas"
-#: ../gtk/gtkspinbutton.c:349
+#: ../gtk/gtkspinbutton.c:351
msgid "Snap to Ticks"
msgstr "Lygiuoti ties žymekliais"
-#: ../gtk/gtkspinbutton.c:350
-msgid ""
-"Whether erroneous values are automatically changed to a spin button's "
-"nearest step increment"
-msgstr ""
-"Ar klaidingos reikšmės turi būti automatiškai pataisytos iki arčiausios "
-"sukimo mygtuko tinkamos reikšmės"
+#: ../gtk/gtkspinbutton.c:352
+msgid "Whether erroneous values are automatically changed to a spin button's nearest step increment"
+msgstr "Ar klaidingos reikšmės turi būti automatiškai pataisytos iki arčiausios sukimo mygtuko tinkamos reikšmės"
-#: ../gtk/gtkspinbutton.c:357
+#: ../gtk/gtkspinbutton.c:359
msgid "Numeric"
msgstr "Skaitmeninis"
-#: ../gtk/gtkspinbutton.c:358
+#: ../gtk/gtkspinbutton.c:360
msgid "Whether non-numeric characters should be ignored"
msgstr "Ar neskaitmeniniai simboliai turi būti ignoruojami"
-#: ../gtk/gtkspinbutton.c:365
+#: ../gtk/gtkspinbutton.c:367
msgid "Wrap"
msgstr "Laužyti"
-#: ../gtk/gtkspinbutton.c:366
+#: ../gtk/gtkspinbutton.c:368
msgid "Whether a spin button should wrap upon reaching its limits"
msgstr "Ar sukimo mygtukas turi persisukti pasiekęs sukimo ribas"
-#: ../gtk/gtkspinbutton.c:373
+#: ../gtk/gtkspinbutton.c:375
msgid "Update Policy"
msgstr "Atnaujinimo tvarka"
-#: ../gtk/gtkspinbutton.c:374
-msgid ""
-"Whether the spin button should update always, or only when the value is legal"
-msgstr ""
-"Ar persukimo mygtukas turi būti perpiešiamas nuolat, ar tik tada kai reikšmė "
-"yra tinkama"
+#: ../gtk/gtkspinbutton.c:376
+msgid "Whether the spin button should update always, or only when the value is legal"
+msgstr "Ar persukimo mygtukas turi būti perpiešiamas nuolat, ar tik tada kai reikšmė yra tinkama"
-#: ../gtk/gtkspinbutton.c:383
+#: ../gtk/gtkspinbutton.c:385
msgid "Reads the current value, or sets a new value"
msgstr "Perskaito esamą reikšmę arba nustato naują"
-#: ../gtk/gtkspinbutton.c:392
+#: ../gtk/gtkspinbutton.c:394
msgid "Style of bevel around the spin button"
msgstr "Rėmelio apie persukimo mygtuką stilius"
-#: ../gtk/gtkspinner.c:119
+#: ../gtk/gtkspinner.c:116
msgid "Whether the spinner is active"
msgstr "Ar suktukas yra aktyvus"
-#: ../gtk/gtkstatusbar.c:181
+#: ../gtk/gtkstatusbar.c:183
msgid "Style of bevel around the statusbar text"
msgstr "Rėmelio, aplink būklės juostos tekstą, stilius"
msgid "Whether the status icon is embedded"
msgstr "Ar būsenos piktograma integruota"
-#: ../gtk/gtkstatusicon.c:343 ../gtk/gtktrayicon-x11.c:129
+#: ../gtk/gtkstatusicon.c:343
+#: ../gtk/gtktrayicon-x11.c:129
msgid "The orientation of the tray"
msgstr "Skydelio orientacija"
-#: ../gtk/gtkstatusicon.c:370 ../gtk/gtkwidget.c:1070
+#: ../gtk/gtkstatusicon.c:370
+#: ../gtk/gtkwidget.c:1089
msgid "Has tooltip"
msgstr "Turi paaiškinimą"
msgid "Whether this tray icon has a tooltip"
msgstr "Ar ši dėklo piktograma turi paaiškinimą"
-#: ../gtk/gtkstatusicon.c:396 ../gtk/gtkwidget.c:1091
+#: ../gtk/gtkstatusicon.c:396
+#: ../gtk/gtkwidget.c:1110
msgid "Tooltip Text"
msgstr "Paaiškinimo tekstas"
-#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1092 ../gtk/gtkwidget.c:1113
+#: ../gtk/gtkstatusicon.c:397
+#: ../gtk/gtkwidget.c:1111
+#: ../gtk/gtkwidget.c:1132
msgid "The contents of the tooltip for this widget"
msgstr "Objekto paaiškinimo turinys"
-#: ../gtk/gtkstatusicon.c:420 ../gtk/gtkwidget.c:1112
+#: ../gtk/gtkstatusicon.c:420
+#: ../gtk/gtkwidget.c:1131
msgid "Tooltip markup"
msgstr "Paaiškinimo tekstas"
msgid "GtkStyleContext to get style from"
msgstr "GtkStyleContext stiliui gauti"
-#: ../gtk/gtkstylecontext.c:547
+#: ../gtk/gtkstylecontext.c:432
msgid "The associated GdkScreen"
msgstr "Susietas GdkScreen"
-#: ../gtk/gtkstylecontext.c:553
+#: ../gtk/gtkstylecontext.c:438
msgid "Direction"
msgstr "Kryptis"
-#: ../gtk/gtkstylecontext.c:554 ../gtk/gtktexttag.c:236
+#: ../gtk/gtkstylecontext.c:439
+#: ../gtk/gtktexttag.c:269
msgid "Text direction"
msgstr "Teksto kryptis"
-#: ../gtk/gtkswitch.c:802
+#: ../gtk/gtkswitch.c:785
msgid "Whether the switch is on or off"
msgstr "Ar jungiklis įjungtas, ar išjungtas"
-#: ../gtk/gtkswitch.c:837
+#: ../gtk/gtkswitch.c:819
msgid "The minimum width of the handle"
msgstr "Minimalus rankenėlės plotis"
msgstr "Horizontalus apvalkalas"
#: ../gtk/gtktable.c:278
-msgid ""
-"Extra space to put between the child and its left and right neighbors, in "
-"pixels"
-msgstr ""
-"Papildomas tarpas tarp vaikinio objekto ir jo kaimynų kairėje bei dešinėje, "
-"pikseliais"
+msgid "Extra space to put between the child and its left and right neighbors, in pixels"
+msgstr "Papildomas tarpas tarp vaikinio objekto ir jo kaimynų kairėje bei dešinėje, pikseliais"
#: ../gtk/gtktable.c:284
msgid "Vertical padding"
msgstr "Vertikalus apvalkalas"
#: ../gtk/gtktable.c:285
-msgid ""
-"Extra space to put between the child and its upper and lower neighbors, in "
-"pixels"
-msgstr ""
-"Papildomas tarpas tarp vaikinio objekto ir jo viršutinių bei apatinių "
-"kaimynų. pikseliais"
+msgid "Extra space to put between the child and its upper and lower neighbors, in pixels"
+msgstr "Papildomas tarpas tarp vaikinio objekto ir jo viršutinių bei apatinių kaimynų. pikseliais"
#: ../gtk/gtktextbuffer.c:203
msgid "Tag Table"
msgstr "Žymeklio padėtis"
#: ../gtk/gtktextbuffer.c:254
-msgid ""
-"The position of the insert mark (as offset from the beginning of the buffer)"
+msgid "The position of the insert mark (as offset from the beginning of the buffer)"
msgstr "Įterpimo žymės pozicija (kaip poslinkis nuo buferio pradžios)"
#: ../gtk/gtktextbuffer.c:269
msgstr "Kopijuotinų taikinių sąrašas"
#: ../gtk/gtktextbuffer.c:270
-msgid ""
-"The list of targets this buffer supports for clipboard copying and DND source"
-msgstr ""
-"Šio buferio palaikomų kopijavimui į iškarpinę ir DND šaltinių taikinių "
-"sąrašas"
+msgid "The list of targets this buffer supports for clipboard copying and DND source"
+msgstr "Šio buferio palaikomų kopijavimui į iškarpinę ir DND šaltinių taikinių sąrašas"
#: ../gtk/gtktextbuffer.c:285
msgid "Paste target list"
msgstr "Įdėtinų taikinių sąrašas"
#: ../gtk/gtktextbuffer.c:286
-msgid ""
-"The list of targets this buffer supports for clipboard pasting and DND "
-"destination"
-msgstr ""
-"Šio buferio palaikomų kopijavimui į iškarpinę ir DND paskirties sąrašas"
+msgid "The list of targets this buffer supports for clipboard pasting and DND destination"
+msgstr "Šio buferio palaikomų kopijavimui į iškarpinę ir DND paskirties sąrašas"
#: ../gtk/gtktextmark.c:127
msgid "Mark name"
msgid "Whether the mark has left gravity"
msgstr "Ar ženklas turi kairę trauką"
-#: ../gtk/gtktexttag.c:186
+#: ../gtk/gtktexttag.c:189
msgid "Tag name"
msgstr "Žymės pavadinimas"
-#: ../gtk/gtktexttag.c:187
+#: ../gtk/gtktexttag.c:190
msgid "Name used to refer to the text tag. NULL for anonymous tags"
-msgstr ""
-"Pavadinimas naudojamas nurodyti tekstinę žymę. Bevardėms žymėms - NULL."
+msgstr "Pavadinimas naudojamas nurodyti tekstinę žymę. Bevardėms žymėms - NULL."
-#: ../gtk/gtktexttag.c:205
-msgid "Background color as a (possibly unallocated) GdkColor"
-msgstr "Fono spalva kaip (greičiausiai nerezervuota) GdkColor"
+#: ../gtk/gtktexttag.c:222
+#| msgid "Background color"
+msgid "Background rgba"
+msgstr "Fono rgba"
-#: ../gtk/gtktexttag.c:212
+#: ../gtk/gtktexttag.c:230
msgid "Background full height"
msgstr "Pilnas fono aukštis"
-#: ../gtk/gtktexttag.c:213
-msgid ""
-"Whether the background color fills the entire line height or only the height "
-"of the tagged characters"
+#: ../gtk/gtktexttag.c:231
+msgid "Whether the background color fills the entire line height or only the height of the tagged characters"
msgstr "Ar fono spalva užima visą eilutę ar tik lauką su pažymėtais simboliais"
-#: ../gtk/gtktexttag.c:229
-msgid "Foreground color as a (possibly unallocated) GdkColor"
-msgstr "Priekinio plano spalva kaip (gal nerezervuota) GdkColor"
+#: ../gtk/gtktexttag.c:261
+#| msgid "Foreground color"
+msgid "Foreground rgba"
+msgstr "Priekinio plano rgba"
-#: ../gtk/gtktexttag.c:237
+#: ../gtk/gtktexttag.c:270
msgid "Text direction, e.g. right-to-left or left-to-right"
msgstr "Teksto kryptis, pvz, iš dešinės į kairę ar iš kairės į dešinę"
-#: ../gtk/gtktexttag.c:286
+#: ../gtk/gtktexttag.c:319
msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC"
msgstr "Šrifto stilius PangoStyle požymiais, pvz. PANGO_STYLE_ITALIC"
-#: ../gtk/gtktexttag.c:295
+#: ../gtk/gtktexttag.c:328
msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS"
msgstr "Šrifto variacija PangoVariant požymiais, pvz. PANGO_VARIANT_SMALL_CAPS"
-#: ../gtk/gtktexttag.c:304
-msgid ""
-"Font weight as an integer, see predefined values in PangoWeight; for "
-"example, PANGO_WEIGHT_BOLD"
-msgstr ""
-"Šrifto storis sveiku skaičiumi, patikrinkite galimas PangoWeight reikšmes; "
-"pvz, PANGO_WEIGHT_BOLD"
+#: ../gtk/gtktexttag.c:337
+msgid "Font weight as an integer, see predefined values in PangoWeight; for example, PANGO_WEIGHT_BOLD"
+msgstr "Šrifto storis sveiku skaičiumi, patikrinkite galimas PangoWeight reikšmes; pvz, PANGO_WEIGHT_BOLD"
-#: ../gtk/gtktexttag.c:315
+#: ../gtk/gtktexttag.c:348
msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED"
msgstr "Šrifto plotis PangoStretch požymiais, pvz. PANGO_STRETCH_CONDENSED"
-#: ../gtk/gtktexttag.c:324
+#: ../gtk/gtktexttag.c:357
msgid "Font size in Pango units"
msgstr "Šriftas dydis Pango vienetais"
-#: ../gtk/gtktexttag.c:334
-msgid ""
-"Font size as a scale factor relative to the default font size. This properly "
-"adapts to theme changes etc. so is recommended. Pango predefines some scales "
-"such as PANGO_SCALE_X_LARGE"
-msgstr ""
-"Šrifto dydio mastelis lyginant su standartiniu šrifto dydžiu. Ši savybė "
-"prisitaiko prie temos pakeitimo ir t.t. Ji yra naudotina. Pango posistemė "
-"aprašo dalį mastelių kaip pvz. PANGO_SCALE_X_LARGE"
+#: ../gtk/gtktexttag.c:367
+msgid "Font size as a scale factor relative to the default font size. This properly adapts to theme changes etc. so is recommended. Pango predefines some scales such as PANGO_SCALE_X_LARGE"
+msgstr "Šrifto dydio mastelis lyginant su standartiniu šrifto dydžiu. Ši savybė prisitaiko prie temos pakeitimo ir t.t. Ji yra naudotina. Pango posistemė aprašo dalį mastelių kaip pvz. PANGO_SCALE_X_LARGE"
-#: ../gtk/gtktexttag.c:354 ../gtk/gtktextview.c:705
+#: ../gtk/gtktexttag.c:387
+#: ../gtk/gtktextview.c:704
msgid "Left, right, or center justification"
msgstr "Kairys, dešinys arba vidurinis lygiavimas"
-#: ../gtk/gtktexttag.c:373
-msgid ""
-"The language this text is in, as an ISO code. Pango can use this as a hint "
-"when rendering the text. If not set, an appropriate default will be used."
-msgstr ""
-"Kalbos, kuria parašytas šis tekstas, ISO kodas. Pango posistemė gali juo "
-"pasinaudoti išvesdama tekstą. Jeigu nenurodyta, bus naudojama atitinkama "
-"standartinė reikšmė"
+#: ../gtk/gtktexttag.c:406
+msgid "The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If not set, an appropriate default will be used."
+msgstr "Kalbos, kuria parašytas šis tekstas, ISO kodas. Pango posistemė gali juo pasinaudoti išvesdama tekstą. Jeigu nenurodyta, bus naudojama atitinkama standartinė reikšmė"
-#: ../gtk/gtktexttag.c:380
+#: ../gtk/gtktexttag.c:413
msgid "Left margin"
msgstr "Kairė paraštė"
-#: ../gtk/gtktexttag.c:381 ../gtk/gtktextview.c:714
+#: ../gtk/gtktexttag.c:414
+#: ../gtk/gtktextview.c:713
msgid "Width of the left margin in pixels"
msgstr "Kairės paraštės plotis pikseliais"
-#: ../gtk/gtktexttag.c:390
+#: ../gtk/gtktexttag.c:423
msgid "Right margin"
msgstr "Dešinė paraštė"
-#: ../gtk/gtktexttag.c:391 ../gtk/gtktextview.c:724
+#: ../gtk/gtktexttag.c:424
+#: ../gtk/gtktextview.c:723
msgid "Width of the right margin in pixels"
msgstr "Dešinės paraštės plotis pikseliais"
-#: ../gtk/gtktexttag.c:401 ../gtk/gtktextview.c:733
+#: ../gtk/gtktexttag.c:434
+#: ../gtk/gtktextview.c:732
msgid "Indent"
msgstr "Įtraukti"
-#: ../gtk/gtktexttag.c:402 ../gtk/gtktextview.c:734
+#: ../gtk/gtktexttag.c:435
+#: ../gtk/gtktextview.c:733
msgid "Amount to indent the paragraph, in pixels"
msgstr "Pastraipos atitraukimo dydis, pikseliais"
-#: ../gtk/gtktexttag.c:413
-msgid ""
-"Offset of text above the baseline (below the baseline if rise is negative) "
-"in Pango units"
-msgstr ""
-"Teksto poslinkis virš pagrindo linijos (žemiau, jei poslinkis neigiamas) "
-"Pango vienetais"
+#: ../gtk/gtktexttag.c:446
+msgid "Offset of text above the baseline (below the baseline if rise is negative) in Pango units"
+msgstr "Teksto poslinkis virš pagrindo linijos (žemiau, jei poslinkis neigiamas) Pango vienetais"
-#: ../gtk/gtktexttag.c:422
+#: ../gtk/gtktexttag.c:455
msgid "Pixels above lines"
msgstr "Taškai virš eilučių"
-#: ../gtk/gtktexttag.c:423 ../gtk/gtktextview.c:658
+#: ../gtk/gtktexttag.c:456
+#: ../gtk/gtktextview.c:657
msgid "Pixels of blank space above paragraphs"
msgstr "Tuščia erdvė taškais virš pastraipų"
-#: ../gtk/gtktexttag.c:432
+#: ../gtk/gtktexttag.c:465
msgid "Pixels below lines"
msgstr "Taškai žemiau eilučių"
-#: ../gtk/gtktexttag.c:433 ../gtk/gtktextview.c:668
+#: ../gtk/gtktexttag.c:466
+#: ../gtk/gtktextview.c:667
msgid "Pixels of blank space below paragraphs"
msgstr "Tuščia erdvė taškais žemiau pastraipų"
-#: ../gtk/gtktexttag.c:442
+#: ../gtk/gtktexttag.c:475
msgid "Pixels inside wrap"
msgstr "Taškai laužymo viduje"
-#: ../gtk/gtktexttag.c:443 ../gtk/gtktextview.c:678
+#: ../gtk/gtktexttag.c:476
+#: ../gtk/gtktextview.c:677
msgid "Pixels of blank space between wrapped lines in a paragraph"
msgstr "Taškai sudarantys tarpą tarp laužomų pastraipos eilučių"
-#: ../gtk/gtktexttag.c:470 ../gtk/gtktextview.c:696
-msgid ""
-"Whether to wrap lines never, at word boundaries, or at character boundaries"
+#: ../gtk/gtktexttag.c:503
+#: ../gtk/gtktextview.c:695
+msgid "Whether to wrap lines never, at word boundaries, or at character boundaries"
msgstr "Nelaužyti eilučių, laužyti jas žodžiais ar laužyti jas simboliais"
-#: ../gtk/gtktexttag.c:479 ../gtk/gtktextview.c:743
+#: ../gtk/gtktexttag.c:512
+#: ../gtk/gtktextview.c:742
msgid "Tabs"
msgstr "Tabai"
-#: ../gtk/gtktexttag.c:480 ../gtk/gtktextview.c:744
+#: ../gtk/gtktexttag.c:513
+#: ../gtk/gtktextview.c:743
msgid "Custom tabs for this text"
msgstr "Specialūs šio teksto lapai"
-#: ../gtk/gtktexttag.c:498
+#: ../gtk/gtktexttag.c:531
msgid "Invisible"
msgstr "Nematomas"
-#: ../gtk/gtktexttag.c:499
+#: ../gtk/gtktexttag.c:532
msgid "Whether this text is hidden."
msgstr "Ar šis tekstas paslėptas."
-#: ../gtk/gtktexttag.c:513
+#: ../gtk/gtktexttag.c:546
msgid "Paragraph background color name"
msgstr "Pastraipos fono spalvos pavadinimas"
-#: ../gtk/gtktexttag.c:514
+#: ../gtk/gtktexttag.c:547
msgid "Paragraph background color as a string"
msgstr "Pastraipos fono spalva kaip eilutė"
-#: ../gtk/gtktexttag.c:529
+#: ../gtk/gtktexttag.c:561
msgid "Paragraph background color"
msgstr "Pastraipos fono spalva"
-#: ../gtk/gtktexttag.c:530
-msgid "Paragraph background color as a (possibly unallocated) GdkColor"
-msgstr "Pastraipos fono spalva kaip (greičiausiai nepriskirta) GdkColor"
+#: ../gtk/gtktexttag.c:562
+#| msgid "Paragraph background color as a string"
+msgid "Paragraph background color as a GdkColor"
+msgstr "Pastraipos fono spalva kaip GdkColor"
+
+#: ../gtk/gtktexttag.c:576
+#| msgid "Paragraph background color"
+msgid "Paragraph background rgba"
+msgstr "Pastraipos fono spalva kaip rgba"
+
+#: ../gtk/gtktexttag.c:577
+#| msgid "Paragraph background color as a string"
+msgid "Paragraph background rgba as a GdkRGBA"
+msgstr "Pastraipos fono rgba kaip GdkRGBA"
-#: ../gtk/gtktexttag.c:548
+#: ../gtk/gtktexttag.c:595
msgid "Margin Accumulates"
msgstr "Paraštė akumuliuojasi"
-#: ../gtk/gtktexttag.c:549
+#: ../gtk/gtktexttag.c:596
msgid "Whether left and right margins accumulate."
msgstr "Ar kairė ir dešinė paraštės akumuliuojasi."
-#: ../gtk/gtktexttag.c:562
+#: ../gtk/gtktexttag.c:609
msgid "Background full height set"
msgstr "Nustatytas pilnas fono aukštis"
-#: ../gtk/gtktexttag.c:563
+#: ../gtk/gtktexttag.c:610
msgid "Whether this tag affects background height"
msgstr "Ar žymė keičia fono aukštį"
-#: ../gtk/gtktexttag.c:602
+#: ../gtk/gtktexttag.c:649
msgid "Justification set"
msgstr "Nustatytas lygiavimas"
-#: ../gtk/gtktexttag.c:603
+#: ../gtk/gtktexttag.c:650
msgid "Whether this tag affects paragraph justification"
msgstr "Ar žymė keičia pastraipos lygiavimą"
-#: ../gtk/gtktexttag.c:610
+#: ../gtk/gtktexttag.c:657
msgid "Left margin set"
msgstr "Nustatyta kairė paraštė"
-#: ../gtk/gtktexttag.c:611
+#: ../gtk/gtktexttag.c:658
msgid "Whether this tag affects the left margin"
msgstr "Ar žymė keičia kairės paraštės nustatymus"
-#: ../gtk/gtktexttag.c:614
+#: ../gtk/gtktexttag.c:661
msgid "Indent set"
msgstr "Nustatytas atitraukimas"
-#: ../gtk/gtktexttag.c:615
+#: ../gtk/gtktexttag.c:662
msgid "Whether this tag affects indentation"
msgstr "Ar žymė keičia atitraukimo nustatymus"
-#: ../gtk/gtktexttag.c:622
+#: ../gtk/gtktexttag.c:669
msgid "Pixels above lines set"
msgstr "Nustatyti taškai virš eilučių"
-#: ../gtk/gtktexttag.c:623 ../gtk/gtktexttag.c:627
+#: ../gtk/gtktexttag.c:670
+#: ../gtk/gtktexttag.c:674
msgid "Whether this tag affects the number of pixels above lines"
msgstr "Ar žymė keičia pikselių skaičių virš eilučių"
-#: ../gtk/gtktexttag.c:626
+#: ../gtk/gtktexttag.c:673
msgid "Pixels below lines set"
msgstr "Nustatyti taškai žemiau eilučių"
-#: ../gtk/gtktexttag.c:630
+#: ../gtk/gtktexttag.c:677
msgid "Pixels inside wrap set"
msgstr "Nustatyti taškai tarp eilučių"
-#: ../gtk/gtktexttag.c:631
+#: ../gtk/gtktexttag.c:678
msgid "Whether this tag affects the number of pixels between wrapped lines"
msgstr "Ar žymė keičia pikselių skaičių tarp suskaidytų eilučių"
-#: ../gtk/gtktexttag.c:638
+#: ../gtk/gtktexttag.c:685
msgid "Right margin set"
msgstr "Nustatyta dešinė paraštė"
-#: ../gtk/gtktexttag.c:639
+#: ../gtk/gtktexttag.c:686
msgid "Whether this tag affects the right margin"
msgstr "Ar žymė keičia dešinės paraštės nustatymus"
-#: ../gtk/gtktexttag.c:646
+#: ../gtk/gtktexttag.c:693
msgid "Wrap mode set"
msgstr "Nustatyta laužymo veiksena"
-#: ../gtk/gtktexttag.c:647
+#: ../gtk/gtktexttag.c:694
msgid "Whether this tag affects line wrap mode"
msgstr "Ar žymė veikia laužymo veikseną"
-#: ../gtk/gtktexttag.c:650
+#: ../gtk/gtktexttag.c:697
msgid "Tabs set"
msgstr "Nustatyta tabuliacija"
-#: ../gtk/gtktexttag.c:651
+#: ../gtk/gtktexttag.c:698
msgid "Whether this tag affects tabs"
msgstr "Ar ši žymė veikia tabuliaciją"
-#: ../gtk/gtktexttag.c:654
+#: ../gtk/gtktexttag.c:701
msgid "Invisible set"
msgstr "Nustatytas nematomumas"
-#: ../gtk/gtktexttag.c:655
+#: ../gtk/gtktexttag.c:702
msgid "Whether this tag affects text visibility"
msgstr "Ar žymė veikia teksto matomumą"
-#: ../gtk/gtktexttag.c:658
+#: ../gtk/gtktexttag.c:705
msgid "Paragraph background set"
msgstr "Pastraipos fonas nustatytas"
-#: ../gtk/gtktexttag.c:659
+#: ../gtk/gtktexttag.c:706
msgid "Whether this tag affects the paragraph background color"
msgstr "Ar ši žyma keičia pastraipos fono spalvą"
-#: ../gtk/gtktextview.c:657
+#: ../gtk/gtktextview.c:656
msgid "Pixels Above Lines"
msgstr "Pikseliai virš eilučių"
-#: ../gtk/gtktextview.c:667
+#: ../gtk/gtktextview.c:666
msgid "Pixels Below Lines"
msgstr "Pikseliai žemiau eilučių"
-#: ../gtk/gtktextview.c:677
+#: ../gtk/gtktextview.c:676
msgid "Pixels Inside Wrap"
msgstr "Pikseliai tarp eilučių"
-#: ../gtk/gtktextview.c:695
+#: ../gtk/gtktextview.c:694
msgid "Wrap Mode"
msgstr "Laužymo veiksena"
-#: ../gtk/gtktextview.c:713
+#: ../gtk/gtktextview.c:712
msgid "Left Margin"
msgstr "Kairė paraštė"
-#: ../gtk/gtktextview.c:723
+#: ../gtk/gtktextview.c:722
msgid "Right Margin"
msgstr "Dešinė paraštė"
-#: ../gtk/gtktextview.c:751
+#: ../gtk/gtktextview.c:750
msgid "Cursor Visible"
msgstr "Žymeklis matomas"
-#: ../gtk/gtktextview.c:752
+#: ../gtk/gtktextview.c:751
msgid "If the insertion cursor is shown"
msgstr "Jei įterpimo žymeklis yra rodomas"
-#: ../gtk/gtktextview.c:759
+#: ../gtk/gtktextview.c:758
msgid "Buffer"
msgstr "Buferis"
-#: ../gtk/gtktextview.c:760
+#: ../gtk/gtktextview.c:759
msgid "The buffer which is displayed"
msgstr "Išvedamas buferis"
-#: ../gtk/gtktextview.c:768
+#: ../gtk/gtktextview.c:767
msgid "Whether entered text overwrites existing contents"
msgstr "Ar įvedamas tekstas pakeičia esamas vertes"
-#: ../gtk/gtktextview.c:775
+#: ../gtk/gtktextview.c:774
msgid "Accepts tab"
msgstr "Leisti tabuliaciją"
-#: ../gtk/gtktextview.c:776
+#: ../gtk/gtktextview.c:775
msgid "Whether Tab will result in a tab character being entered"
msgstr "Ar Tab klavišas turi įvesti tabuliacijos simbolį"
-#: ../gtk/gtktextview.c:811
+#: ../gtk/gtktextview.c:810
msgid "Error underline color"
msgstr "Klaidinga pabraukimo spalva"
-#: ../gtk/gtktextview.c:812
+#: ../gtk/gtktextview.c:811
msgid "Color with which to draw error-indication underlines"
msgstr "Spalva, kuria spalvinti klaidas rodančius pabraukimus"
-#: ../gtk/gtkthemingengine.c:249
+#: ../gtk/gtkthemingengine.c:259
msgid "Theming engine name"
msgstr "Temų variklio pavadinimas"
msgid "Whether the toggle action should be active"
msgstr "Ar paspaudimo mygtukas turi būti aktyvus"
-#: ../gtk/gtktogglebutton.c:178 ../gtk/gtktoggletoolbutton.c:128
+#: ../gtk/gtktogglebutton.c:179
+#: ../gtk/gtktoggletoolbutton.c:128
msgid "If the toggle button should be pressed in"
msgstr "Ar paspaudimo mygtukas turi būti paspaustas"
-#: ../gtk/gtktogglebutton.c:186
+#: ../gtk/gtktogglebutton.c:187
msgid "If the toggle button is in an \"in between\" state"
msgstr "At paspaudimo mygtukas yra \"tarpinėje\" būsenoje"
-#: ../gtk/gtktogglebutton.c:193
+#: ../gtk/gtktogglebutton.c:194
msgid "Draw Indicator"
msgstr "Braižymo indikatorius"
-#: ../gtk/gtktogglebutton.c:194
+#: ../gtk/gtktogglebutton.c:195
msgid "If the toggle part of the button is displayed"
msgstr "Ar rodoma mygtukio perjungimo padėtis"
-#: ../gtk/gtktoolbar.c:492 ../gtk/gtktoolpalette.c:1069
+#: ../gtk/gtktoolbar.c:499
+#: ../gtk/gtktoolpalette.c:1038
msgid "Toolbar Style"
msgstr "Įrankinės stilius"
-#: ../gtk/gtktoolbar.c:493
+#: ../gtk/gtktoolbar.c:500
msgid "How to draw the toolbar"
msgstr "Kaip piešti įrankių juostą"
-#: ../gtk/gtktoolbar.c:500
+#: ../gtk/gtktoolbar.c:507
msgid "Show Arrow"
msgstr "Rodyti rodyklę"
-#: ../gtk/gtktoolbar.c:501
+#: ../gtk/gtktoolbar.c:508
msgid "If an arrow should be shown if the toolbar doesn't fit"
msgstr "Ar rodyklė turi būti rodoma, jei įrankių juosta netelpa"
-#: ../gtk/gtktoolbar.c:522
+#: ../gtk/gtktoolbar.c:529
msgid "Size of icons in this toolbar"
msgstr "Piktogramų dydis šioje įrankių juostoje"
-#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1055
+#: ../gtk/gtktoolbar.c:544
+#: ../gtk/gtktoolpalette.c:1024
msgid "Icon size set"
msgstr "Piktogramų dydis nustatytas"
-#: ../gtk/gtktoolbar.c:538 ../gtk/gtktoolpalette.c:1056
+#: ../gtk/gtktoolbar.c:545
+#: ../gtk/gtktoolpalette.c:1025
msgid "Whether the icon-size property has been set"
msgstr "Ar icon-size savybė nurodyta ar ne"
-#: ../gtk/gtktoolbar.c:547
+#: ../gtk/gtktoolbar.c:554
msgid "Whether the item should receive extra space when the toolbar grows"
msgstr "Ar elementas turi gauti papildomą erdvę, plečiantis įrankių juostai"
-#: ../gtk/gtktoolbar.c:555 ../gtk/gtktoolitemgroup.c:1651
+#: ../gtk/gtktoolbar.c:562
+#: ../gtk/gtktoolitemgroup.c:1646
msgid "Whether the item should be the same size as other homogeneous items"
msgstr "Ar elementas turėtų būti to paties dydžio kaip kiti panašūs elementai"
-#: ../gtk/gtktoolbar.c:562
+#: ../gtk/gtktoolbar.c:569
msgid "Spacer size"
msgstr "Tarpo dydis"
-#: ../gtk/gtktoolbar.c:563
+#: ../gtk/gtktoolbar.c:570
msgid "Size of spacers"
msgstr "Dydis tarpais"
-#: ../gtk/gtktoolbar.c:572
+#: ../gtk/gtktoolbar.c:579
msgid "Amount of border space between the toolbar shadow and the buttons"
msgstr "Tarpas tarp įrankių juostos šešėlių ir mygtukų"
-#: ../gtk/gtktoolbar.c:580
+#: ../gtk/gtktoolbar.c:587
msgid "Maximum child expand"
msgstr "Maksimalus vaikinio elemento išsiplėtimas"
-#: ../gtk/gtktoolbar.c:581
+#: ../gtk/gtktoolbar.c:588
msgid "Maximum amount of space an expandable item will be given"
msgstr "Maksimali erdvė kiek gali plėstis išplėčiamas elementas"
-#: ../gtk/gtktoolbar.c:589
+#: ../gtk/gtktoolbar.c:596
msgid "Space style"
msgstr "Tarpo stilius"
-#: ../gtk/gtktoolbar.c:590
+#: ../gtk/gtktoolbar.c:597
msgid "Whether spacers are vertical lines or just blank"
msgstr "Ar tarpai yra vertikalios linijos ar tik tuščia vieta"
-#: ../gtk/gtktoolbar.c:597
+#: ../gtk/gtktoolbar.c:604
msgid "Button relief"
msgstr "Mygtuko reljefas"
-#: ../gtk/gtktoolbar.c:598
+#: ../gtk/gtktoolbar.c:605
msgid "Type of bevel around toolbar buttons"
msgstr "Rėmelis, apie įrankių juostos mygtukus, tipas"
-#: ../gtk/gtktoolbar.c:605
+#: ../gtk/gtktoolbar.c:612
msgid "Style of bevel around the toolbar"
msgstr "Rėmelio apie įrankių juostą stilius"
msgstr "Tekstas rodomas ant elemento."
#: ../gtk/gtktoolbutton.c:240
-msgid ""
-"If set, an underline in the label property indicates that the next character "
-"should be used for the mnemonic accelerator key in the overflow menu"
-msgstr ""
-"Jei įjungta, pabraukimo simbolis žymės savybėse rodo, kad po jo esantis "
-"simbolis naudojamas kaip mnemoninis spartusis klavišas"
+msgid "If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu"
+msgstr "Jei įjungta, pabraukimo simbolis žymės savybėse rodo, kad po jo esantis simbolis naudojamas kaip mnemoninis spartusis klavišas"
#: ../gtk/gtktoolbutton.c:247
msgid "Widget to use as the item label"
msgstr "Protarpis pikseliais tarp piktogramos ir užrašo"
#: ../gtk/gtktoolitem.c:209
-msgid ""
-"Whether the toolbar item is considered important. When TRUE, toolbar buttons "
-"show text in GTK_TOOLBAR_BOTH_HORIZ mode"
-msgstr ""
-"Ar įrankių juostos elementas yra laikomas svarbiu. Jei reikšmė TEIGIAMA, "
-"įrankių juostos mygtukai GTK_TOOLBAR_BOTH_HORIZ veiksenoje rodys tekstą"
+msgid "Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode"
+msgstr "Ar įrankių juostos elementas yra laikomas svarbiu. Jei reikšmė TEIGIAMA, įrankių juostos mygtukai GTK_TOOLBAR_BOTH_HORIZ veiksenoje rodys tekstą"
-#: ../gtk/gtktoolitemgroup.c:1598
+#: ../gtk/gtktoolitemgroup.c:1593
msgid "The human-readable title of this item group"
msgstr "Žmogui suprantama šios elementų grupės antraštė"
-#: ../gtk/gtktoolitemgroup.c:1605
+#: ../gtk/gtktoolitemgroup.c:1600
msgid "A widget to display in place of the usual label"
msgstr "Elementas rodomas vietoje įprasto užrašo"
-#: ../gtk/gtktoolitemgroup.c:1611
+#: ../gtk/gtktoolitemgroup.c:1606
msgid "Collapsed"
msgstr "Suskleista"
-#: ../gtk/gtktoolitemgroup.c:1612
+#: ../gtk/gtktoolitemgroup.c:1607
msgid "Whether the group has been collapsed and items are hidden"
msgstr "Ar grupė yra suskleista, o joje esantys elementai paslėpti"
-#: ../gtk/gtktoolitemgroup.c:1618
+#: ../gtk/gtktoolitemgroup.c:1613
msgid "ellipsize"
msgstr "elipsuoti"
-#: ../gtk/gtktoolitemgroup.c:1619
+#: ../gtk/gtktoolitemgroup.c:1614
msgid "Ellipsize for item group headers"
msgstr "Elipsuoti elementų grupės antraštę"
-#: ../gtk/gtktoolitemgroup.c:1625
+#: ../gtk/gtktoolitemgroup.c:1620
msgid "Header Relief"
msgstr "Antraštės reljefas"
-#: ../gtk/gtktoolitemgroup.c:1626
+#: ../gtk/gtktoolitemgroup.c:1621
msgid "Relief of the group header button"
msgstr "Grupės antraštės mygtuko reljefas"
-#: ../gtk/gtktoolitemgroup.c:1641
+#: ../gtk/gtktoolitemgroup.c:1636
msgid "Header Spacing"
msgstr "Antraštės protarpis"
-#: ../gtk/gtktoolitemgroup.c:1642
+#: ../gtk/gtktoolitemgroup.c:1637
msgid "Spacing between expander arrow and caption"
msgstr "Tarpas tarp išskleidimo rodyklės ir antraštės"
-#: ../gtk/gtktoolitemgroup.c:1658
+#: ../gtk/gtktoolitemgroup.c:1653
msgid "Whether the item should receive extra space when the group grows"
msgstr "Ar elementas turi gauti papildomos erdvės, plečiantis grupei"
-#: ../gtk/gtktoolitemgroup.c:1665
+#: ../gtk/gtktoolitemgroup.c:1660
msgid "Whether the item should fill the available space"
msgstr "Ar elementas turi užpildyti visą jam skirtą vietą"
-#: ../gtk/gtktoolitemgroup.c:1671
+#: ../gtk/gtktoolitemgroup.c:1666
msgid "New Row"
msgstr "Nauja eilutė"
-#: ../gtk/gtktoolitemgroup.c:1672
+#: ../gtk/gtktoolitemgroup.c:1667
msgid "Whether the item should start a new row"
msgstr "Ar elementas turėtų pradėti naują eilutę"
-#: ../gtk/gtktoolitemgroup.c:1679
+#: ../gtk/gtktoolitemgroup.c:1674
msgid "Position of the item within this group"
msgstr "Elemento padėtis šioje grupėje"
-#: ../gtk/gtktoolpalette.c:1040
+#: ../gtk/gtktoolpalette.c:1009
msgid "Size of icons in this tool palette"
msgstr "Piktogramų dydis šioje įrankinėje"
-#: ../gtk/gtktoolpalette.c:1070
+#: ../gtk/gtktoolpalette.c:1039
msgid "Style of items in the tool palette"
msgstr "Elementų dydis įrankinėje"
-#: ../gtk/gtktoolpalette.c:1086
+#: ../gtk/gtktoolpalette.c:1055
msgid "Exclusive"
msgstr "Vienintelė"
-#: ../gtk/gtktoolpalette.c:1087
+#: ../gtk/gtktoolpalette.c:1056
msgid "Whether the item group should be the only expanded at a given time"
msgstr "Ar išskleidus elementų grupę, kitos turėtų susiskleisti"
-#: ../gtk/gtktoolpalette.c:1102
-msgid ""
-"Whether the item group should receive extra space when the palette grows"
+#: ../gtk/gtktoolpalette.c:1071
+msgid "Whether the item group should receive extra space when the palette grows"
msgstr "Ar elementų grupė turi gauti papildomos erdvės, plečiantis įrankinei"
#: ../gtk/gtktrayicon-x11.c:138
msgstr "Išplėtimas užvedant"
#: ../gtk/gtktreeview.c:1109
-msgid ""
-"Whether rows should be expanded/collapsed when the pointer moves over them"
-msgstr ""
-"Ar eilutės turėtų būti išplėstos/sutrauktos, kai virš jų užvedamas žymeklis"
+msgid "Whether rows should be expanded/collapsed when the pointer moves over them"
+msgstr "Ar eilutės turėtų būti išplėstos/sutrauktos, kai virš jų užvedamas žymeklis"
#: ../gtk/gtktreeview.c:1123
msgid "Show Expanders"
msgstr "„Guminis rišimas“"
#: ../gtk/gtktreeview.c:1149
-msgid ""
-"Whether to enable selection of multiple items by dragging the mouse pointer"
+msgid "Whether to enable selection of multiple items by dragging the mouse pointer"
msgstr "Ar įjungti keleto elementų pasirinkimą tempiant pelės žymeklį"
#: ../gtk/gtktreeview.c:1156
msgid "Dash pattern used to draw the tree view lines"
msgstr "Punktyras medžio laukelio linijoms piešti"
-#: ../gtk/gtktreeviewcolumn.c:247
+#: ../gtk/gtktreeviewcolumn.c:249
msgid "Whether to display the column"
msgstr "Ar rodyti stulpelį"
-#: ../gtk/gtktreeviewcolumn.c:254 ../gtk/gtkwindow.c:647
+#: ../gtk/gtktreeviewcolumn.c:256
+#: ../gtk/gtkwindow.c:648
msgid "Resizable"
msgstr "Keičiamo dydžio"
-#: ../gtk/gtktreeviewcolumn.c:255
+#: ../gtk/gtktreeviewcolumn.c:257
msgid "Column is user-resizable"
msgstr "Vartotojas gali keisti stulpelio plotį"
-#: ../gtk/gtktreeviewcolumn.c:263
+#: ../gtk/gtktreeviewcolumn.c:265
+#| msgid "Current width of the column"
+msgid "Current X position of the column"
+msgstr "Dabartinė stulpelio X padėtis"
+
+#: ../gtk/gtktreeviewcolumn.c:275
msgid "Current width of the column"
msgstr "Dabartinis stulpelio plotis"
-#: ../gtk/gtktreeviewcolumn.c:280
+#: ../gtk/gtktreeviewcolumn.c:292
msgid "Sizing"
msgstr "Keičiama"
-#: ../gtk/gtktreeviewcolumn.c:281
+#: ../gtk/gtktreeviewcolumn.c:293
msgid "Resize mode of the column"
msgstr "Stulpelio dydžio keitimo veiksena"
-#: ../gtk/gtktreeviewcolumn.c:289
+#: ../gtk/gtktreeviewcolumn.c:301
msgid "Fixed Width"
msgstr "Fiksuoto pločio"
-#: ../gtk/gtktreeviewcolumn.c:290
+#: ../gtk/gtktreeviewcolumn.c:302
msgid "Current fixed width of the column"
msgstr "Esamas fiksuotas stulpelio plotis"
-#: ../gtk/gtktreeviewcolumn.c:300
+#: ../gtk/gtktreeviewcolumn.c:312
msgid "Minimum allowed width of the column"
msgstr "Mažiausias leistinas stulpelio plotis"
-#: ../gtk/gtktreeviewcolumn.c:309
+#: ../gtk/gtktreeviewcolumn.c:321
msgid "Maximum Width"
msgstr "Didžiausias plotis "
-#: ../gtk/gtktreeviewcolumn.c:310
+#: ../gtk/gtktreeviewcolumn.c:322
msgid "Maximum allowed width of the column"
msgstr "Didžiausias leistinas stulpelio plotis"
-#: ../gtk/gtktreeviewcolumn.c:320
+#: ../gtk/gtktreeviewcolumn.c:332
msgid "Title to appear in column header"
msgstr "Pavadinimas išvedama stulpelio antraštėje"
-#: ../gtk/gtktreeviewcolumn.c:328
+#: ../gtk/gtktreeviewcolumn.c:340
msgid "Column gets share of extra width allocated to the widget"
msgstr "Stulpelis gauna papildomos erdvės dalį atsiradusią objekte"
-#: ../gtk/gtktreeviewcolumn.c:335
+#: ../gtk/gtktreeviewcolumn.c:347
msgid "Clickable"
msgstr "Spragtelimas"
-#: ../gtk/gtktreeviewcolumn.c:336
+#: ../gtk/gtktreeviewcolumn.c:348
msgid "Whether the header can be clicked"
msgstr "Ar antraštė gali būti spragtelta"
-#: ../gtk/gtktreeviewcolumn.c:344
+#: ../gtk/gtktreeviewcolumn.c:356
msgid "Widget"
msgstr "Objektas"
-#: ../gtk/gtktreeviewcolumn.c:345
+#: ../gtk/gtktreeviewcolumn.c:357
msgid "Widget to put in column header button instead of column title"
-msgstr ""
-"Objektas patalpinamas stulpelio antraštės mygtuke vietoj stulpelio antraštės"
+msgstr "Objektas patalpinamas stulpelio antraštės mygtuke vietoj stulpelio antraštės"
-#: ../gtk/gtktreeviewcolumn.c:353
+#: ../gtk/gtktreeviewcolumn.c:365
msgid "X Alignment of the column header text or widget"
msgstr "Stulpelio antraštės teksto ar objekto X lygiavimas"
-#: ../gtk/gtktreeviewcolumn.c:363
+#: ../gtk/gtktreeviewcolumn.c:375
msgid "Whether the column can be reordered around the headers"
msgstr "Ar gali būti keista stulpelių tvarka antraštėje"
-#: ../gtk/gtktreeviewcolumn.c:370
+#: ../gtk/gtktreeviewcolumn.c:382
msgid "Sort indicator"
msgstr "Rikiavimo žymė"
-#: ../gtk/gtktreeviewcolumn.c:371
+#: ../gtk/gtktreeviewcolumn.c:383
msgid "Whether to show a sort indicator"
msgstr "Ar rodyti rūšiavimo indikatorių"
-#: ../gtk/gtktreeviewcolumn.c:378
+#: ../gtk/gtktreeviewcolumn.c:390
msgid "Sort order"
msgstr "Rikiavimo tvarka"
-#: ../gtk/gtktreeviewcolumn.c:379
+#: ../gtk/gtktreeviewcolumn.c:391
msgid "Sort direction the sort indicator should indicate"
msgstr "Rūšiavimo kryptis kurią turi rodyti rūšiavimo indikatorius"
-#: ../gtk/gtktreeviewcolumn.c:395
+#: ../gtk/gtktreeviewcolumn.c:407
msgid "Sort column ID"
msgstr "Stulpelio, pagal kurį rikiuojama, ID"
-#: ../gtk/gtktreeviewcolumn.c:396
+#: ../gtk/gtktreeviewcolumn.c:408
msgid "Logical sort column ID this column sorts on when selected for sorting"
-msgstr ""
-"Loginio rikiavimo stulpelio ID, pagal kurį rikiuojamas šis stulpelis, jį "
-"pažymėjus rikiavimui"
+msgstr "Loginio rikiavimo stulpelio ID, pagal kurį rikiuojamas šis stulpelis, jį pažymėjus rikiavimui"
#: ../gtk/gtkuimanager.c:480
msgid "Whether tearoff menu items should be added to menus"
msgid "Whether to use symbolic icons"
msgstr "Ar naudoti simbolines piktogramas"
-#: ../gtk/gtkwidget.c:929
+#: ../gtk/gtkwidget.c:948
msgid "Widget name"
msgstr "Objekto vardas"
-#: ../gtk/gtkwidget.c:930
+#: ../gtk/gtkwidget.c:949
msgid "The name of the widget"
msgstr "Objekto pavadinimas"
-#: ../gtk/gtkwidget.c:936
+#: ../gtk/gtkwidget.c:955
msgid "Parent widget"
msgstr "Pirminis objektas"
-#: ../gtk/gtkwidget.c:937
+#: ../gtk/gtkwidget.c:956
msgid "The parent widget of this widget. Must be a Container widget"
msgstr "Šio objekto pirminis objektas. Turi būti konteinerio tipo"
-#: ../gtk/gtkwidget.c:944
+#: ../gtk/gtkwidget.c:963
msgid "Width request"
msgstr "Pločio užklausa"
-#: ../gtk/gtkwidget.c:945
-msgid ""
-"Override for width request of the widget, or -1 if natural request should be "
-"used"
-msgstr ""
-"Blokuoti objekto pločio nustatymą, arba -1 jei jis neturi būti blokuotas"
+#: ../gtk/gtkwidget.c:964
+msgid "Override for width request of the widget, or -1 if natural request should be used"
+msgstr "Blokuoti objekto pločio nustatymą, arba -1 jei jis neturi būti blokuotas"
-#: ../gtk/gtkwidget.c:953
+#: ../gtk/gtkwidget.c:972
msgid "Height request"
msgstr "Aukščio užklausa"
-#: ../gtk/gtkwidget.c:954
-msgid ""
-"Override for height request of the widget, or -1 if natural request should "
-"be used"
-msgstr ""
-"Blokuoti objekto aukščio nustatymą, arba -1, jei jis neturi būti blokuotas"
+#: ../gtk/gtkwidget.c:973
+msgid "Override for height request of the widget, or -1 if natural request should be used"
+msgstr "Blokuoti objekto aukščio nustatymą, arba -1, jei jis neturi būti blokuotas"
-#: ../gtk/gtkwidget.c:963
+#: ../gtk/gtkwidget.c:982
msgid "Whether the widget is visible"
msgstr "Ar objektas yra matomas"
-#: ../gtk/gtkwidget.c:970
+#: ../gtk/gtkwidget.c:989
msgid "Whether the widget responds to input"
msgstr "Ar objektas reaguoja į įvedimą"
-#: ../gtk/gtkwidget.c:976
+#: ../gtk/gtkwidget.c:995
msgid "Application paintable"
msgstr "Programa braižoma"
-#: ../gtk/gtkwidget.c:977
+#: ../gtk/gtkwidget.c:996
msgid "Whether the application will paint directly on the widget"
msgstr "Ar programa gali braižyti tiesiai ant objekto"
-#: ../gtk/gtkwidget.c:983
+#: ../gtk/gtkwidget.c:1002
msgid "Can focus"
msgstr "Gali būti aktyvinamas"
-#: ../gtk/gtkwidget.c:984
+#: ../gtk/gtkwidget.c:1003
msgid "Whether the widget can accept the input focus"
msgstr "Ar objektas gali apdoroti įvedimo aktyvinimą"
-#: ../gtk/gtkwidget.c:990
+#: ../gtk/gtkwidget.c:1009
msgid "Has focus"
msgstr "Turi aktyvinimą"
-#: ../gtk/gtkwidget.c:991
+#: ../gtk/gtkwidget.c:1010
msgid "Whether the widget has the input focus"
msgstr "Ar objektas turi įvedimo aktyvinimą"
-#: ../gtk/gtkwidget.c:997
+#: ../gtk/gtkwidget.c:1016
msgid "Is focus"
msgstr "Yra aktyvinimas"
-#: ../gtk/gtkwidget.c:998
+#: ../gtk/gtkwidget.c:1017
msgid "Whether the widget is the focus widget within the toplevel"
msgstr "Ar objektas yra aktyvinamas objektas kai yra viršutiniame lygmenyje"
-#: ../gtk/gtkwidget.c:1004
+#: ../gtk/gtkwidget.c:1023
msgid "Can default"
msgstr "Gali būti įprasta"
-#: ../gtk/gtkwidget.c:1005
+#: ../gtk/gtkwidget.c:1024
msgid "Whether the widget can be the default widget"
msgstr "Ar objektas gali būti numatytuoju"
-#: ../gtk/gtkwidget.c:1011
+#: ../gtk/gtkwidget.c:1030
msgid "Has default"
msgstr "Nustatytas numatytas"
-#: ../gtk/gtkwidget.c:1012
+#: ../gtk/gtkwidget.c:1031
msgid "Whether the widget is the default widget"
msgstr "Ar objektas yra nustatytas kaip numatytas"
-#: ../gtk/gtkwidget.c:1018
+#: ../gtk/gtkwidget.c:1037
msgid "Receives default"
msgstr "Gauna numatytąjį"
-#: ../gtk/gtkwidget.c:1019
+#: ../gtk/gtkwidget.c:1038
msgid "If TRUE, the widget will receive the default action when it is focused"
msgstr "Jei TRUE, objektas parinks standartinį veiksmą aktyvinimo metu"
-#: ../gtk/gtkwidget.c:1025
+#: ../gtk/gtkwidget.c:1044
msgid "Composite child"
msgstr "Susietas vaikinis objektas"
-#: ../gtk/gtkwidget.c:1026
+#: ../gtk/gtkwidget.c:1045
msgid "Whether the widget is part of a composite widget"
msgstr "Ar objektas yra susieto objekto dalis"
-#: ../gtk/gtkwidget.c:1032
+#: ../gtk/gtkwidget.c:1051
msgid "Style"
msgstr "Stilius"
-#: ../gtk/gtkwidget.c:1033
-msgid ""
-"The style of the widget, which contains information about how it will look "
-"(colors etc)"
-msgstr ""
-"Objekto stilius, kuris saugo infomaciją apie tai kaip objektas turi atrodyti "
-"(spalva ir pan)"
+#: ../gtk/gtkwidget.c:1052
+msgid "The style of the widget, which contains information about how it will look (colors etc)"
+msgstr "Objekto stilius, kuris saugo infomaciją apie tai kaip objektas turi atrodyti (spalva ir pan)"
-#: ../gtk/gtkwidget.c:1039
+#: ../gtk/gtkwidget.c:1058
msgid "Events"
msgstr "Įvykiai"
-#: ../gtk/gtkwidget.c:1040
+#: ../gtk/gtkwidget.c:1059
msgid "The event mask that decides what kind of GdkEvents this widget gets"
msgstr "Įvykių kaukė, kuri lemia kokio tipo GdkEvents šis objektas apdoros"
-#: ../gtk/gtkwidget.c:1047
+#: ../gtk/gtkwidget.c:1066
msgid "No show all"
msgstr "Nerodyti visko"
-#: ../gtk/gtkwidget.c:1048
+#: ../gtk/gtkwidget.c:1067
msgid "Whether gtk_widget_show_all() should not affect this widget"
msgstr "Ar gtk_widget_show_all() turi nepaveikti šio objekto"
-#: ../gtk/gtkwidget.c:1071
+#: ../gtk/gtkwidget.c:1090
msgid "Whether this widget has a tooltip"
msgstr "Ar šis objektas turi paaiškinimą"
-#: ../gtk/gtkwidget.c:1127
+#: ../gtk/gtkwidget.c:1146
msgid "Window"
msgstr "Langas"
-#: ../gtk/gtkwidget.c:1128
+#: ../gtk/gtkwidget.c:1147
msgid "The widget's window if it is realized"
msgstr "Objekto langas (jei jis realizuotas)"
-#: ../gtk/gtkwidget.c:1142
+#: ../gtk/gtkwidget.c:1161
msgid "Double Buffered"
msgstr "Dvigubo buferio"
-#: ../gtk/gtkwidget.c:1143
+#: ../gtk/gtkwidget.c:1162
msgid "Whether the widget is double buffered"
msgstr "Ar elementas turi dvigubą buferį"
-#: ../gtk/gtkwidget.c:1158
+#: ../gtk/gtkwidget.c:1177
msgid "How to position in extra horizontal space"
msgstr "Kaip pozicionuoti papildomą horizontalų plotą"
-#: ../gtk/gtkwidget.c:1174
+#: ../gtk/gtkwidget.c:1193
msgid "How to position in extra vertical space"
msgstr "Kaip pozicionuoti papildomą vertikalų plotą"
-#: ../gtk/gtkwidget.c:1193
+#: ../gtk/gtkwidget.c:1212
msgid "Margin on Left"
msgstr "Kairė paraštė"
-#: ../gtk/gtkwidget.c:1194
+#: ../gtk/gtkwidget.c:1213
msgid "Pixels of extra space on the left side"
msgstr "Papildomo ploto pikseliai kairėje pusėje"
-#: ../gtk/gtkwidget.c:1214
+#: ../gtk/gtkwidget.c:1233
msgid "Margin on Right"
msgstr "Paraštė dešinėje"
-#: ../gtk/gtkwidget.c:1215
+#: ../gtk/gtkwidget.c:1234
msgid "Pixels of extra space on the right side"
msgstr "Tuščia erdvė pikseliais dešinėje pusėje"
-#: ../gtk/gtkwidget.c:1235
+#: ../gtk/gtkwidget.c:1254
msgid "Margin on Top"
msgstr "Viršutinė paraštė"
-#: ../gtk/gtkwidget.c:1236
+#: ../gtk/gtkwidget.c:1255
msgid "Pixels of extra space on the top side"
msgstr "Tuščia erdvė pikseliais viršuje"
-#: ../gtk/gtkwidget.c:1256
+#: ../gtk/gtkwidget.c:1275
msgid "Margin on Bottom"
msgstr "Paraštė apačioje"
-#: ../gtk/gtkwidget.c:1257
+#: ../gtk/gtkwidget.c:1276
msgid "Pixels of extra space on the bottom side"
msgstr "Papildomo ploto pikseliai apačioje"
-#: ../gtk/gtkwidget.c:1274
+#: ../gtk/gtkwidget.c:1293
msgid "All Margins"
msgstr "Visos paraštės"
-#: ../gtk/gtkwidget.c:1275
+#: ../gtk/gtkwidget.c:1294
msgid "Pixels of extra space on all four sides"
msgstr "Papildomo ploto pikseliai visose pusėse"
-#: ../gtk/gtkwidget.c:1308
+#: ../gtk/gtkwidget.c:1327
msgid "Horizontal Expand"
msgstr "Horizontalus plėtimasis"
-#: ../gtk/gtkwidget.c:1309
+#: ../gtk/gtkwidget.c:1328
msgid "Whether widget wants more horizontal space"
msgstr "Ar elementas pageidauja daugiau vietos horizontaliai"
-#: ../gtk/gtkwidget.c:1323
+#: ../gtk/gtkwidget.c:1342
msgid "Horizontal Expand Set"
msgstr "Horizontalaus plėtimosi aibė"
-#: ../gtk/gtkwidget.c:1324
+#: ../gtk/gtkwidget.c:1343
msgid "Whether to use the hexpand property"
msgstr "Ar naudoti plėtimosi savybę"
-#: ../gtk/gtkwidget.c:1338
+#: ../gtk/gtkwidget.c:1357
msgid "Vertical Expand"
msgstr "Vertikalus plėtimasis"
-#: ../gtk/gtkwidget.c:1339
+#: ../gtk/gtkwidget.c:1358
msgid "Whether widget wants more vertical space"
msgstr "Ar elementas pageidauja daugiau vertikalaus ploto"
-#: ../gtk/gtkwidget.c:1353
+#: ../gtk/gtkwidget.c:1372
msgid "Vertical Expand Set"
msgstr "Vertikalaus plėtimosi aibė"
-#: ../gtk/gtkwidget.c:1354
+#: ../gtk/gtkwidget.c:1373
msgid "Whether to use the vexpand property"
msgstr "Ar naudoti vertikalaus plėtimosi savybę"
-#: ../gtk/gtkwidget.c:1368
+#: ../gtk/gtkwidget.c:1387
msgid "Expand Both"
msgstr "Išplėsti abiejomis kryptimis"
-#: ../gtk/gtkwidget.c:1369
+#: ../gtk/gtkwidget.c:1388
msgid "Whether widget wants to expand in both directions"
msgstr "Ar elementas pageidauja plėstis abiejomis kruptimis"
-#: ../gtk/gtkwidget.c:3006
+#: ../gtk/gtkwidget.c:3027
msgid "Interior Focus"
msgstr "Vidinis aktyvinimas"
-#: ../gtk/gtkwidget.c:3007
+#: ../gtk/gtkwidget.c:3028
msgid "Whether to draw the focus indicator inside widgets"
msgstr "Ar rodyti aktyvinimo indikatorių objektų viduje"
-#: ../gtk/gtkwidget.c:3013
+#: ../gtk/gtkwidget.c:3034
msgid "Focus linewidth"
msgstr "Aktyvinimo eilutės plotis"
-#: ../gtk/gtkwidget.c:3014
+#: ../gtk/gtkwidget.c:3035
msgid "Width, in pixels, of the focus indicator line"
msgstr "Aktyvinimo indikatoriaus linijos plotis, pikseliais"
-#: ../gtk/gtkwidget.c:3020
+#: ../gtk/gtkwidget.c:3041
msgid "Focus line dash pattern"
msgstr "Aktyvinti eilutės požymius"
-#: ../gtk/gtkwidget.c:3021
+#: ../gtk/gtkwidget.c:3042
msgid "Dash pattern used to draw the focus indicator"
msgstr "Brūkšnelių raštas naudojamas aktyvinimo indikatoriaus piešimui"
-#: ../gtk/gtkwidget.c:3026
+#: ../gtk/gtkwidget.c:3047
msgid "Focus padding"
msgstr "Aktyvinimo apvalkalas"
-#: ../gtk/gtkwidget.c:3027
+#: ../gtk/gtkwidget.c:3048
msgid "Width, in pixels, between focus indicator and the widget 'box'"
-msgstr ""
-"Atstumas tarp aktyvinimo indikatoriaus ir objekto „dėžutės“, pikseliais"
+msgstr "Atstumas tarp aktyvinimo indikatoriaus ir objekto „dėžutės“, pikseliais"
-#: ../gtk/gtkwidget.c:3032
+#: ../gtk/gtkwidget.c:3053
msgid "Cursor color"
msgstr "Žymeklio spalva"
-#: ../gtk/gtkwidget.c:3033
+#: ../gtk/gtkwidget.c:3054
msgid "Color with which to draw insertion cursor"
msgstr "Spalva, kuria piešiamas įterpimo žymeklis"
-#: ../gtk/gtkwidget.c:3038
+#: ../gtk/gtkwidget.c:3059
msgid "Secondary cursor color"
msgstr "Antrinė žymeklio spalva"
-#: ../gtk/gtkwidget.c:3039
-msgid ""
-"Color with which to draw the secondary insertion cursor when editing mixed "
-"right-to-left and left-to-right text"
-msgstr ""
-"Spalva, kuria žymimas antras įterpimo žymeklis, kai dirbama maišytame "
-"redagavimo veiksenoje"
+#: ../gtk/gtkwidget.c:3060
+msgid "Color with which to draw the secondary insertion cursor when editing mixed right-to-left and left-to-right text"
+msgstr "Spalva, kuria žymimas antras įterpimo žymeklis, kai dirbama maišytame redagavimo veiksenoje"
-#: ../gtk/gtkwidget.c:3044
+#: ../gtk/gtkwidget.c:3065
msgid "Cursor line aspect ratio"
msgstr "Žymeklio eilutės mastelis"
-#: ../gtk/gtkwidget.c:3045
+#: ../gtk/gtkwidget.c:3066
msgid "Aspect ratio with which to draw insertion cursor"
msgstr "Piešiamo įterpimo žymeklio mastelis"
-#: ../gtk/gtkwidget.c:3051
+#: ../gtk/gtkwidget.c:3072
msgid "Window dragging"
msgstr "Lango tempimas"
-#: ../gtk/gtkwidget.c:3052
+#: ../gtk/gtkwidget.c:3073
msgid "Whether windows can be dragged by clicking on empty areas"
msgstr "Ar langai gali būti tempiami paspaudžiant tuščiose vietose"
-#: ../gtk/gtkwidget.c:3065
+#: ../gtk/gtkwidget.c:3086
msgid "Unvisited Link Color"
msgstr "Neaplankytų saitų spalva"
-#: ../gtk/gtkwidget.c:3066
+#: ../gtk/gtkwidget.c:3087
msgid "Color of unvisited links"
msgstr "Neaplankytų saitų spalva"
-#: ../gtk/gtkwidget.c:3079
+#: ../gtk/gtkwidget.c:3100
msgid "Visited Link Color"
msgstr "Aplankytų saitų spalva"
-#: ../gtk/gtkwidget.c:3080
+#: ../gtk/gtkwidget.c:3101
msgid "Color of visited links"
msgstr "Aplankytų saitų spalva"
-#: ../gtk/gtkwidget.c:3094
+#: ../gtk/gtkwidget.c:3115
msgid "Wide Separators"
msgstr "Platūs skirtukai"
-#: ../gtk/gtkwidget.c:3095
-msgid ""
-"Whether separators have configurable width and should be drawn using a box "
-"instead of a line"
-msgstr ""
-"Ar skirtukų plotis konfigūruojamas ir turėtų būti brėžiamas naudojant "
-"dėžutę, vietoje linijos"
+#: ../gtk/gtkwidget.c:3116
+msgid "Whether separators have configurable width and should be drawn using a box instead of a line"
+msgstr "Ar skirtukų plotis konfigūruojamas ir turėtų būti brėžiamas naudojant dėžutę, vietoje linijos"
-#: ../gtk/gtkwidget.c:3109
+#: ../gtk/gtkwidget.c:3130
msgid "Separator Width"
msgstr "Skirtukų plotis"
-#: ../gtk/gtkwidget.c:3110
+#: ../gtk/gtkwidget.c:3131
msgid "The width of separators if wide-separators is TRUE"
msgstr "Skirtukų plotis, jei „wide-separators“ reikšmė TEIGIAMA"
-#: ../gtk/gtkwidget.c:3124
+#: ../gtk/gtkwidget.c:3145
msgid "Separator Height"
msgstr "Skirtukų aukštis"
-#: ../gtk/gtkwidget.c:3125
+#: ../gtk/gtkwidget.c:3146
msgid "The height of separators if \"wide-separators\" is TRUE"
msgstr "Skirtukų aukštis, jei „wide-separators“ reikšmė TEIGIAMA"
-#: ../gtk/gtkwidget.c:3139
+#: ../gtk/gtkwidget.c:3160
msgid "Horizontal Scroll Arrow Length"
msgstr "Horizontalios slinkimo rodyklės ilgis"
-#: ../gtk/gtkwidget.c:3140
+#: ../gtk/gtkwidget.c:3161
msgid "The length of horizontal scroll arrows"
msgstr "Horizontalių slinkimo rodyklių ilgis"
-#: ../gtk/gtkwidget.c:3154
+#: ../gtk/gtkwidget.c:3175
msgid "Vertical Scroll Arrow Length"
msgstr "Horizontalios slinkimo rodyklės ilgis"
-#: ../gtk/gtkwidget.c:3155
+#: ../gtk/gtkwidget.c:3176
msgid "The length of vertical scroll arrows"
msgstr "Horizontalių slinkimo rodyklių ilgis"
-#: ../gtk/gtkwindow.c:605
+#: ../gtk/gtkwindow.c:606
msgid "Window Type"
msgstr "Lango tipas"
-#: ../gtk/gtkwindow.c:606
+#: ../gtk/gtkwindow.c:607
msgid "The type of the window"
msgstr "Lango tipas"
-#: ../gtk/gtkwindow.c:614
+#: ../gtk/gtkwindow.c:615
msgid "Window Title"
msgstr "Lango antraštė"
-#: ../gtk/gtkwindow.c:615
+#: ../gtk/gtkwindow.c:616
msgid "The title of the window"
msgstr "Lango antraštė"
-#: ../gtk/gtkwindow.c:622
+#: ../gtk/gtkwindow.c:623
msgid "Window Role"
msgstr "Lango paskirtis"
-#: ../gtk/gtkwindow.c:623
+#: ../gtk/gtkwindow.c:624
msgid "Unique identifier for the window to be used when restoring a session"
msgstr "Unikalus lango identifikatorius, naudojamas atstatant sesiją"
-#: ../gtk/gtkwindow.c:639
+#: ../gtk/gtkwindow.c:640
msgid "Startup ID"
msgstr "Paleidimo ID"
-#: ../gtk/gtkwindow.c:640
+#: ../gtk/gtkwindow.c:641
msgid "Unique startup identifier for the window used by startup-notification"
-msgstr ""
-"Unikalus lango, kurį naudoja „startup-notification“, paleidimo "
-"identifikatorius"
+msgstr "Unikalus lango, kurį naudoja „startup-notification“, paleidimo identifikatorius"
-#: ../gtk/gtkwindow.c:648
+#: ../gtk/gtkwindow.c:649
msgid "If TRUE, users can resize the window"
msgstr "Jei TRUE, naudotojai gali keisti lango dydį"
-#: ../gtk/gtkwindow.c:655
+#: ../gtk/gtkwindow.c:656
msgid "Modal"
msgstr "Modalinis"
-#: ../gtk/gtkwindow.c:656
-msgid ""
-"If TRUE, the window is modal (other windows are not usable while this one is "
-"up)"
-msgstr ""
-"Jei TEIGIAMA, langas yra modalinis (kiti langai bus nepasiekiami, kol "
-"atidarytas šis)"
+#: ../gtk/gtkwindow.c:657
+msgid "If TRUE, the window is modal (other windows are not usable while this one is up)"
+msgstr "Jei TEIGIAMA, langas yra modalinis (kiti langai bus nepasiekiami, kol atidarytas šis)"
-#: ../gtk/gtkwindow.c:663
+#: ../gtk/gtkwindow.c:664
msgid "Window Position"
msgstr "Lango padėtis"
-#: ../gtk/gtkwindow.c:664
+#: ../gtk/gtkwindow.c:665
msgid "The initial position of the window"
msgstr "Pradinė lango padėtis"
-#: ../gtk/gtkwindow.c:672
+#: ../gtk/gtkwindow.c:673
msgid "Default Width"
msgstr "Numatytasis plotis"
-#: ../gtk/gtkwindow.c:673
+#: ../gtk/gtkwindow.c:674
msgid "The default width of the window, used when initially showing the window"
msgstr "Numatytasis lango plotis, naudojamas parodant langą pirmą kartą"
-#: ../gtk/gtkwindow.c:682
+#: ../gtk/gtkwindow.c:683
msgid "Default Height"
msgstr "Numatytasis aukštis"
-#: ../gtk/gtkwindow.c:683
-msgid ""
-"The default height of the window, used when initially showing the window"
+#: ../gtk/gtkwindow.c:684
+msgid "The default height of the window, used when initially showing the window"
msgstr "Standartinis lango aukštis, naudojamas formuojant langą"
-#: ../gtk/gtkwindow.c:692
+#: ../gtk/gtkwindow.c:693
msgid "Destroy with Parent"
msgstr "Uždaryti kartu su pirminiu"
-#: ../gtk/gtkwindow.c:693
+#: ../gtk/gtkwindow.c:694
msgid "If this window should be destroyed when the parent is destroyed"
msgstr "Ar langas turi būti uždarytas, kai uždaromas pirminis langas"
-#: ../gtk/gtkwindow.c:701
+#: ../gtk/gtkwindow.c:702
msgid "Icon for this window"
msgstr "Šio lango piktograma"
-#: ../gtk/gtkwindow.c:707
+#: ../gtk/gtkwindow.c:708
msgid "Mnemonics Visible"
msgstr "Mnemonikos matomos"
-#: ../gtk/gtkwindow.c:708
+#: ../gtk/gtkwindow.c:709
msgid "Whether mnemonics are currently visible in this window"
msgstr "Ar mnemonikos šiuo metu šiame lange yra matomos "
-#: ../gtk/gtkwindow.c:724
+#: ../gtk/gtkwindow.c:725
msgid "Name of the themed icon for this window"
msgstr "Šio lango temomis keičiamos piktogramos pavadinimas"
-#: ../gtk/gtkwindow.c:739
+#: ../gtk/gtkwindow.c:740
msgid "Is Active"
msgstr "Yra aktyvus"
-#: ../gtk/gtkwindow.c:740
+#: ../gtk/gtkwindow.c:741
msgid "Whether the toplevel is the current active window"
msgstr "Ar pagrindinis lygis yra esamas aktyvus langas"
-#: ../gtk/gtkwindow.c:747
+#: ../gtk/gtkwindow.c:748
msgid "Focus in Toplevel"
msgstr "Aktyvinti viršuje"
-#: ../gtk/gtkwindow.c:748
+#: ../gtk/gtkwindow.c:749
msgid "Whether the input focus is within this GtkWindow"
msgstr "Ar įvedimo aktyvinimas naudojamas šiame GtkWindow"
-#: ../gtk/gtkwindow.c:755
+#: ../gtk/gtkwindow.c:756
msgid "Type hint"
msgstr "Tipo užuomina"
-#: ../gtk/gtkwindow.c:756
-msgid ""
-"Hint to help the desktop environment understand what kind of window this is "
-"and how to treat it."
-msgstr ""
-"Nuoroda, kuri padeda darbalaukio aplinkai įvertinti kokio tipo langas tai "
-"yra ir kaip su juo elgtis."
+#: ../gtk/gtkwindow.c:757
+msgid "Hint to help the desktop environment understand what kind of window this is and how to treat it."
+msgstr "Nuoroda, kuri padeda darbalaukio aplinkai įvertinti kokio tipo langas tai yra ir kaip su juo elgtis."
-#: ../gtk/gtkwindow.c:764
+#: ../gtk/gtkwindow.c:765
msgid "Skip taskbar"
msgstr "Nenaudoti užduočių juostos"
-#: ../gtk/gtkwindow.c:765
+#: ../gtk/gtkwindow.c:766
msgid "TRUE if the window should not be in the task bar."
msgstr "TRUE jei lango neturėtų matytis užduočių juostoje."
-#: ../gtk/gtkwindow.c:772
+#: ../gtk/gtkwindow.c:773
msgid "Skip pager"
msgstr "Nenaudoti gido"
-#: ../gtk/gtkwindow.c:773
+#: ../gtk/gtkwindow.c:774
msgid "TRUE if the window should not be in the pager."
msgstr "TEIGIAMA, jei langas neturi būti rodomas gide."
-#: ../gtk/gtkwindow.c:780
+#: ../gtk/gtkwindow.c:781
msgid "Urgent"
msgstr "Skubu"
-#: ../gtk/gtkwindow.c:781
+#: ../gtk/gtkwindow.c:782
msgid "TRUE if the window should be brought to the user's attention."
msgstr "TEIGIAMA, jei langas turėtų atkreipti naudotojo dėmesį."
-#: ../gtk/gtkwindow.c:795
+#: ../gtk/gtkwindow.c:796
msgid "Accept focus"
msgstr "Priimti aktyvinimą"
-#: ../gtk/gtkwindow.c:796
+#: ../gtk/gtkwindow.c:797
msgid "TRUE if the window should receive the input focus."
msgstr "TEIGIAMA, jei langas turėtų būti aktyvinamas."
-#: ../gtk/gtkwindow.c:810
+#: ../gtk/gtkwindow.c:811
msgid "Focus on map"
msgstr "Aktyvinti parodžius (map)"
-#: ../gtk/gtkwindow.c:811
+#: ../gtk/gtkwindow.c:812
msgid "TRUE if the window should receive the input focus when mapped."
msgstr "TEIGIAMA, jei langas turėtų būti aktyvinamas jį parodžius (mapped)."
-#: ../gtk/gtkwindow.c:825
+#: ../gtk/gtkwindow.c:826
msgid "Decorated"
msgstr "Su dekoracijomis"
-#: ../gtk/gtkwindow.c:826
+#: ../gtk/gtkwindow.c:827
msgid "Whether the window should be decorated by the window manager"
msgstr "Ar langų tvarkyklė turi apipavidalinti langą"
-#: ../gtk/gtkwindow.c:840
+#: ../gtk/gtkwindow.c:841
msgid "Deletable"
msgstr "Ištrinamas"
-#: ../gtk/gtkwindow.c:841
+#: ../gtk/gtkwindow.c:842
msgid "Whether the window frame should have a close button"
msgstr "Ar lango rėmelyje turėtų būti užvėrimo mygtukas"
-#: ../gtk/gtkwindow.c:860
+#: ../gtk/gtkwindow.c:861
msgid "Resize grip"
msgstr "Dydžio keitimas rankena"
-#: ../gtk/gtkwindow.c:861
+#: ../gtk/gtkwindow.c:862
msgid "Specifies whether the window should have a resize grip"
msgstr "Nurodo, ar langas turi turėti dydžio keitimo rankeną"
-#: ../gtk/gtkwindow.c:875
+#: ../gtk/gtkwindow.c:876
msgid "Resize grip is visible"
msgstr "Didžio keitimo valdiklis matomas"
-#: ../gtk/gtkwindow.c:876
+#: ../gtk/gtkwindow.c:877
msgid "Specifies whether the window's resize grip is visible."
msgstr "Nurodo, ar lango dydžio keitimo rankena yra matoma."
-#: ../gtk/gtkwindow.c:892
+#: ../gtk/gtkwindow.c:893
msgid "Gravity"
msgstr "Trauka"
-#: ../gtk/gtkwindow.c:893
+#: ../gtk/gtkwindow.c:894
msgid "The window gravity of the window"
msgstr "Lango traukos dydis"
-#: ../gtk/gtkwindow.c:910
+#: ../gtk/gtkwindow.c:911
msgid "Transient for Window"
msgstr "Trumpalaikis langui"
-#: ../gtk/gtkwindow.c:911
+#: ../gtk/gtkwindow.c:912
msgid "The transient parent of the dialog"
msgstr "Trumpalaikis dialogo tėvas"
-#: ../gtk/gtkwindow.c:926
+#: ../gtk/gtkwindow.c:927
msgid "Opacity for Window"
msgstr "Lango nepermatomumas"
-#: ../gtk/gtkwindow.c:927
+#: ../gtk/gtkwindow.c:928
msgid "The opacity of the window, from 0 to 1"
msgstr "Lango nepermatomumas, nuo 0 iki 1"
-#: ../gtk/gtkwindow.c:937 ../gtk/gtkwindow.c:938
+#: ../gtk/gtkwindow.c:938
+#: ../gtk/gtkwindow.c:939
msgid "Width of resize grip"
msgstr "Didžio keitimo valdiklio plotis"
-#: ../gtk/gtkwindow.c:943 ../gtk/gtkwindow.c:944
+#: ../gtk/gtkwindow.c:944
+#: ../gtk/gtkwindow.c:945
msgid "Height of resize grip"
msgstr "Dydžio keitimo rankenos aukštis"
-#: ../gtk/gtkwindow.c:966
+#: ../gtk/gtkwindow.c:967
msgid "GtkApplication"
msgstr "GtkApplication"
-#: ../gtk/gtkwindow.c:967
+#: ../gtk/gtkwindow.c:968
msgid "The GtkApplication for the window"
msgstr "Lango GtkApplication"
+#: ../modules/printbackends/cups/gtkprintercups.c:95
+msgid "Color Profile Title"
+msgstr "Spalvų profilio pavadinimas"
+
+#: ../modules/printbackends/cups/gtkprintercups.c:96
+#| msgid "The title of the color selection dialog"
+msgid "The title of the color profile to use"
+msgstr "Naudotino spalvų profilio pavadinimas"
+
+#~ msgid "Background color as a (possibly unallocated) GdkColor"
+#~ msgstr "Fono spalva kaip (greičiausiai nerezervuota) GdkColor"
+
+#~ msgid "Foreground color as a (possibly unallocated) GdkColor"
+#~ msgstr "Priekinio plano spalva kaip (gal nerezervuota) GdkColor"
+
+#~ msgid "Paragraph background color as a (possibly unallocated) GdkColor"
+#~ msgstr "Pastraipos fono spalva kaip (greičiausiai nepriskirta) GdkColor"
+
#~ msgid "the GdkScreen for the renderer"
#~ msgstr "GdkScreen atvaizduokliui"
#
# Raivis Dejus <orvils@gmail.com>, 2009.
# Rudolfs <rudolfs.mazurs@gmail.com>, 2011.
+# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: gtk+-properties.HEAD\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
-"cgi?product=gtk%2b&component=general\n"
-"POT-Creation-Date: 2011-02-02 17:07+0000\n"
-"PO-Revision-Date: 2011-02-07 00:22+0200\n"
-"Last-Translator: Rudolfs <rudolfs.mazurs@gmail.com>\n"
+"cgi?product=gtk%2b&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2011-07-09 10:54+0000\n"
+"PO-Revision-Date: 2011-07-10 23:27+0300\n"
+"Last-Translator: Rūdofls Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian <locale@laka.lv>\n"
+"Language: lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: lv\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
"X-Generator: Lokalize 1.1\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
-"2);\n"
#: ../gdk/gdkapplaunchcontext.c:129 ../gdk/gdkcursor.c:136
#: ../gdk/gdkdevicemanager.c:146
-#, fuzzy
msgid "Display"
-msgstr "Noklusētais Displejs"
+msgstr "Displejs"
#: ../gdk/gdkcursor.c:128
-#, fuzzy
msgid "Cursor type"
-msgstr "Kursora Mirgošana"
+msgstr "Kursora tips"
#: ../gdk/gdkcursor.c:129
-#, fuzzy
#| msgid "Secondary storage type"
msgid "Standard cursor type"
-msgstr "Sekundārās glabātuves tips"
+msgstr "Standarta kursora tips"
#: ../gdk/gdkcursor.c:137
-#, fuzzy
#| msgid "Display the cell"
msgid "Display of this cursor"
-msgstr "Parādīt šūnu"
+msgstr "Šī kursora attēlojums"
#: ../gdk/gdkdevice.c:111
-#, fuzzy
msgid "Device Display"
-msgstr "Noklusētais Displejs"
+msgstr "Ierīces displejs"
#: ../gdk/gdkdevice.c:112
-#, fuzzy
msgid "Display which the device belongs to"
-msgstr "Rādīt šūnu jūtīgumu"
+msgstr "Displejs, kuram pieder ierīce"
#: ../gdk/gdkdevice.c:126
-#, fuzzy
msgid "Device manager"
-msgstr "Neseno failu pārvaldnieks"
+msgstr "Ierīču pārvaldnieks"
#: ../gdk/gdkdevice.c:127
msgid "Device manager which the device belongs to"
-msgstr ""
+msgstr "Ierīces pārvaldnieks, kuram pieder ierīce"
#: ../gdk/gdkdevice.c:141 ../gdk/gdkdevice.c:142
-#, fuzzy
msgid "Device name"
-msgstr "Logdaļas nosaukums"
+msgstr "Ierīces nosaukums"
#: ../gdk/gdkdevice.c:156
-#, fuzzy
msgid "Device type"
-msgstr "Līknes tips"
+msgstr "Ierīces tips"
#: ../gdk/gdkdevice.c:157
msgid "Device role in the device manager"
-msgstr ""
+msgstr "Ierīces loma ierīču pārvaldniekā"
#: ../gdk/gdkdevice.c:173
msgid "Associated device"
-msgstr ""
+msgstr "Asociētā ierīce"
#: ../gdk/gdkdevice.c:174
msgid "Associated pointer or keyboard with this device"
-msgstr ""
+msgstr "Asociētais rādītājs vai tastatūra šai ierīcei"
#: ../gdk/gdkdevice.c:187
msgid "Input source"
-msgstr ""
+msgstr "Ievades avots"
#: ../gdk/gdkdevice.c:188
-#, fuzzy
msgid "Source type for the device"
-msgstr "Koka skata modelis"
+msgstr "Avota tips šai ierīcei"
#: ../gdk/gdkdevice.c:203 ../gdk/gdkdevice.c:204
-#, fuzzy
msgid "Input mode for the device"
-msgstr "Koka skata modelis"
+msgstr "Ievades režīms ierīcei"
#: ../gdk/gdkdevice.c:219
-#, fuzzy
msgid "Whether the device has a cursor"
-msgstr "Vai logdaļai ir ievades fokuss"
+msgstr "Vai ierīcei ir kursors"
#: ../gdk/gdkdevice.c:220
-#, fuzzy
msgid "Whether there is a visible cursor following device motion"
-msgstr "Vai ir iestatīti neredzamais simbols"
+msgstr "Vai ir redzams kursors, kas seko ierīces kustībai"
#: ../gdk/gdkdevice.c:234 ../gdk/gdkdevice.c:235
-#, fuzzy
msgid "Number of axes in the device"
-msgstr "Lapu skaits dokumentā."
+msgstr "Ašu skaits ierīcē"
#: ../gdk/gdkdevicemanager.c:147
-#, fuzzy
msgid "Display for the device manager"
-msgstr "Parādīt šūnu"
+msgstr "Ierīču pārvaldnieka displejs"
-#: ../gdk/gdkdisplaymanager.c:117
+#: ../gdk/gdkdisplaymanager.c:162
+#: ../gdk/gdkdisplaymanager.c:154
msgid "Default Display"
-msgstr "Noklusētais Displejs"
+msgstr "Noklusētais displejs"
-#: ../gdk/gdkdisplaymanager.c:118
+#: ../gdk/gdkdisplaymanager.c:163
+#: ../gdk/gdkdisplaymanager.c:155
msgid "The default display for GDK"
msgstr "Noklusētais GDK displejs"
-#: ../gdk/gdkscreen.c:89
+#: ../gdk/gdkscreen.c:92
msgid "Font options"
-msgstr "Fonta iespējas"
+msgstr "Fonta opcijas"
-#: ../gdk/gdkscreen.c:90
+#: ../gdk/gdkscreen.c:93
msgid "The default font options for the screen"
-msgstr "Noklusētā ekrāna fonta iespējas"
+msgstr "Ekrāna noklusētā fonta opcijas"
-#: ../gdk/gdkscreen.c:97
+#: ../gdk/gdkscreen.c:100
msgid "Font resolution"
msgstr "Fonta izšķirtspēja"
-#: ../gdk/gdkscreen.c:98
+#: ../gdk/gdkscreen.c:101
msgid "The resolution for fonts on the screen"
msgstr "Ekrāna fontu izšķirtspēja"
-#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374
-#, fuzzy
+#: ../gdk/gdkwindow.c:376 ../gdk/gdkwindow.c:377
+#: ../gdk/gdkwindow.c:373
+#: ../gdk/gdkwindow.c:374
msgid "Cursor"
-msgstr "Kursora Mirgošana"
+msgstr "Kursors"
-#: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134
-#: ../gdk/x11/gdkdevice-xi2.c:124
+#: ../gdk/x11/gdkdevice-xi.c:140 ../gdk/x11/gdkdevice-xi.c:141
+#: ../gdk/x11/gdkdevice-xi2.c:130
msgid "Device ID"
-msgstr ""
+msgstr "Ierīces ID"
-#: ../gdk/x11/gdkdevice-xi2.c:125
+#: ../gdk/x11/gdkdevice-xi2.c:131
msgid "Device identifier"
-msgstr ""
+msgstr "Ierīces identifikators"
-#: ../gdk/x11/gdkdevicemanager-xi2.c:112
-#, fuzzy
+#: ../gdk/x11/gdkdevicemanager-xi2.c:119
+#: ../gdk/x11/gdkdevicemanager-xi2.c:118
#| msgid "mode"
msgid "Opcode"
-msgstr "režīms"
+msgstr "Operācijas kods"
-#: ../gdk/x11/gdkdevicemanager-xi2.c:113
+#: ../gdk/x11/gdkdevicemanager-xi2.c:120
msgid "Opcode for XInput2 requests"
-msgstr ""
+msgstr "Operācijas kods XInput2 pieprasījumiem"
-#: ../gdk/x11/gdkdevicemanager-xi.c:95
-#, fuzzy
+#: ../gdk/x11/gdkdevicemanager-xi.c:100
msgid "Event base"
-msgstr "Notikumi"
+msgstr "Notikuma bāze"
-#: ../gdk/x11/gdkdevicemanager-xi.c:96
+#: ../gdk/x11/gdkdevicemanager-xi.c:101
msgid "Event base for XInput events"
-msgstr ""
+msgstr "Notikuma bāze XInput notikumiem"
-#: ../gtk/gtkaboutdialog.c:276
+#: ../gtk/gtkaboutdialog.c:275
msgid "Program name"
msgstr "Programmas nosaukums"
+#: ../gtk/gtkaboutdialog.c:276
#: ../gtk/gtkaboutdialog.c:277
msgid ""
"The name of the program. If this is not set, it defaults to "
"g_get_application_name()"
msgstr ""
-"Programmas nosaukums. Ja šis nav uzstadīts, tad pēc noklusējuma "
+"Programmas nosaukums. Ja šis nav iestatīts, tad pēc noklusējuma "
"g_get_application_name()"
-#: ../gtk/gtkaboutdialog.c:291
+#: ../gtk/gtkaboutdialog.c:290
msgid "Program version"
msgstr "Programmas versija"
+#: ../gtk/gtkaboutdialog.c:291
#: ../gtk/gtkaboutdialog.c:292
msgid "The version of the program"
msgstr "Programmas versija"
-#: ../gtk/gtkaboutdialog.c:306
+#: ../gtk/gtkaboutdialog.c:305
msgid "Copyright string"
msgstr "Autortiesību virkne"
+#: ../gtk/gtkaboutdialog.c:306
#: ../gtk/gtkaboutdialog.c:307
msgid "Copyright information for the program"
msgstr "Programmas autortiesību informācija"
-#: ../gtk/gtkaboutdialog.c:324
+#: ../gtk/gtkaboutdialog.c:323
msgid "Comments string"
msgstr "Komentārs"
+#: ../gtk/gtkaboutdialog.c:324
#: ../gtk/gtkaboutdialog.c:325
msgid "Comments about the program"
msgstr "Komentāri par programmu"
-#: ../gtk/gtkaboutdialog.c:375
-#, fuzzy
+#: ../gtk/gtkaboutdialog.c:374
msgid "License Type"
-msgstr "Ziņojuma Tips"
+msgstr "Licences tips"
+#: ../gtk/gtkaboutdialog.c:375
#: ../gtk/gtkaboutdialog.c:376
-#, fuzzy
msgid "The license type of the program"
-msgstr "Programmas versija"
+msgstr "Programmas licences tips"
-#: ../gtk/gtkaboutdialog.c:392
+#: ../gtk/gtkaboutdialog.c:391
msgid "Website URL"
msgstr "Mājas lapas URL"
+#: ../gtk/gtkaboutdialog.c:392
#: ../gtk/gtkaboutdialog.c:393
msgid "The URL for the link to the website of the program"
-msgstr "URL saitei uz programmas mājas lapu"
+msgstr "URL saitei uz programmas tīmekļa vietni"
-#: ../gtk/gtkaboutdialog.c:407
+#: ../gtk/gtkaboutdialog.c:406
msgid "Website label"
msgstr "Mājas lapas iezīme"
+#: ../gtk/gtkaboutdialog.c:407
#: ../gtk/gtkaboutdialog.c:408
-#, fuzzy
#| msgid "The URL for the link to the website of the program"
msgid "The label for the link to the website of the program"
-msgstr "URL saitei uz programmas mājas lapu"
+msgstr "Iezīme saitei uz programmas tīmekļa vietni"
-#: ../gtk/gtkaboutdialog.c:424
+#: ../gtk/gtkaboutdialog.c:423
msgid "Authors"
msgstr "Autori"
+#: ../gtk/gtkaboutdialog.c:424
#: ../gtk/gtkaboutdialog.c:425
msgid "List of authors of the program"
msgstr "Programmas autoru saraksts"
-#: ../gtk/gtkaboutdialog.c:441
+#: ../gtk/gtkaboutdialog.c:440
msgid "Documenters"
msgstr "Dokumentētāji"
+#: ../gtk/gtkaboutdialog.c:441
#: ../gtk/gtkaboutdialog.c:442
msgid "List of people documenting the program"
-msgstr "Cilvēku saraksts, kuri dokumentējuši programmu"
+msgstr "Saraksts ar cilvēkiem, kuri dokumentējuši programmu"
-#: ../gtk/gtkaboutdialog.c:458
+#: ../gtk/gtkaboutdialog.c:457
msgid "Artists"
msgstr "Izpildītāji"
+#: ../gtk/gtkaboutdialog.c:458
#: ../gtk/gtkaboutdialog.c:459
msgid "List of people who have contributed artwork to the program"
-msgstr "Cilvēku saraksts, kas ziedojuši mākslas darbus programmai"
+msgstr "Saraksts ar cilvēkiem, kas ziedojuši mākslas darbus programmai"
-#: ../gtk/gtkaboutdialog.c:476
+#: ../gtk/gtkaboutdialog.c:475
msgid "Translator credits"
msgstr "Tūlkotājs"
+#: ../gtk/gtkaboutdialog.c:476
#: ../gtk/gtkaboutdialog.c:477
-msgid ""
-"Credits to the translators. This string should be marked as translatable"
-msgstr "Tūlkotāju kredīti. Šai virknei vajadzētu būt atzīmētai kā tūlkojamai"
+msgid "Credits to the translators. This string should be marked as translatable"
+msgstr "Atzinība tulkotājiem. Šai virknei vajadzētu būt atzīmētai kā tulkojamai"
-#: ../gtk/gtkaboutdialog.c:492
+#: ../gtk/gtkaboutdialog.c:491
msgid "Logo"
msgstr "Logo"
+#: ../gtk/gtkaboutdialog.c:492
#: ../gtk/gtkaboutdialog.c:493
msgid ""
"A logo for the about box. If this is not set, it defaults to "
"gtk_window_get_default_icon_list()"
msgstr ""
-"Tēmas ramja logo. Ja šis nav iestatīts, tas ir noklusēts pēc "
+"Logo 'Par' kastei. Ja šis nav iestatīts, tas ir noklusēts pēc "
"gtk_window_get_default_icon_list()"
-#: ../gtk/gtkaboutdialog.c:508
+#: ../gtk/gtkaboutdialog.c:507
msgid "Logo Icon Name"
msgstr "Fonta Nosaukums"
+#: ../gtk/gtkaboutdialog.c:508
#: ../gtk/gtkaboutdialog.c:509
msgid "A named icon to use as the logo for the about box."
-msgstr "Nosaukta ikona, ko lietot kā logo tēmas rāmī."
+msgstr "Nosaukta ikona, ko lietot kā logo 'Par' kastē."
-#: ../gtk/gtkaboutdialog.c:522
+#: ../gtk/gtkaboutdialog.c:521
msgid "Wrap license"
msgstr "Apliekt licenci"
+#: ../gtk/gtkaboutdialog.c:522
#: ../gtk/gtkaboutdialog.c:523
msgid "Whether to wrap the license text."
-msgstr "Vai apliekt licences tekstu."
+msgstr "Vai aplauzt licences tekstu."
+#: ../gtk/gtkaccellabel.c:185
#: ../gtk/gtkaccellabel.c:187
msgid "Accelerator Closure"
-msgstr "Paātrinātāja Slēgšana"
+msgstr "Paātrinātāja slēgšana"
+#: ../gtk/gtkaccellabel.c:186
#: ../gtk/gtkaccellabel.c:188
msgid "The closure to be monitored for accelerator changes"
msgstr "Slēgšana, kura jānovēro pēc paātrinātāja izmaiņām"
+#: ../gtk/gtkaccellabel.c:192
#: ../gtk/gtkaccellabel.c:194
msgid "Accelerator Widget"
-msgstr "Paātrinātāja Logdaļa"
+msgstr "Paātrinātāja logdaļa"
+#: ../gtk/gtkaccellabel.c:193
#: ../gtk/gtkaccellabel.c:195
msgid "The widget to be monitored for accelerator changes"
-msgstr "Logdaļa, kura tiks pārraudzīta paātrinātāja izmaiņu dēļ"
+msgstr "Logdaļa, kura jānovēro pēc paātrinātāja izmaiņām"
#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125
-#: ../gtk/gtktextmark.c:89 ../gtk/gtkthemingengine.c:248
+#: ../gtk/gtktextmark.c:126 ../gtk/gtkthemingengine.c:258
+#: ../gtk/gtktextmark.c:89
+#: ../gtk/gtkthemingengine.c:248
msgid "Name"
msgstr "Nosaukums"
msgid "A unique name for the action."
msgstr "Unikāls darbības nosaukums."
-#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:287
-#: ../gtk/gtkframe.c:133 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:328
-#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1596
+#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:228 ../gtk/gtkexpander.c:290
+#: ../gtk/gtkframe.c:171 ../gtk/gtklabel.c:744 ../gtk/gtkmenuitem.c:384
+#: ../gtk/gtktoolbutton.c:232 ../gtk/gtktoolitemgroup.c:1592
+#: ../gtk/gtkbutton.c:227
+#: ../gtk/gtkexpander.c:287
+#: ../gtk/gtkframe.c:133
+#: ../gtk/gtklabel.c:567
+#: ../gtk/gtkmenuitem.c:328
+#: ../gtk/gtktoolbutton.c:201
+#: ../gtk/gtktoolitemgroup.c:1596
msgid "Label"
-msgstr "iezīme"
+msgstr "Iezīme"
#: ../gtk/gtkaction.c:242
msgid "The label used for menu items and buttons that activate this action."
-msgstr "Etiķete, izmantota izvēlņu pogām, kas iedarbina šo darbību."
+msgstr "Iezīme, ko izmanto izvēļņu vienumiem un pogām, kas aktivizē šo darbību."
#: ../gtk/gtkaction.c:258
msgid "Short label"
-msgstr "Īsa etiķete"
+msgstr "Īsa iezīme"
#: ../gtk/gtkaction.c:259
msgid "A shorter label that may be used on toolbar buttons."
-msgstr "Īsāka etiķete, kas var tikt izmantota rīkjoslas pogām."
+msgstr "Īsāka iezīme, kas var tikt izmantota rīkjoslas pogām."
#: ../gtk/gtkaction.c:267
msgid "Tooltip"
#: ../gtk/gtkaction.c:284
msgid "The stock icon displayed in widgets representing this action."
-msgstr "Attēlota krajuma ikona logdaļā, pārstāvot šo darbību."
+msgstr "Krājuma ikona, kas attēlota logdaļā, reprezentējot šo darbību."
-#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:244
+#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:275
+#: ../gtk/gtkstatusicon.c:245
msgid "GIcon"
-msgstr "GIkona"
+msgstr "GIcon"
-#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215
-#: ../gtk/gtkimage.c:329 ../gtk/gtkstatusicon.c:245
+#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:235
+#: ../gtk/gtkimage.c:330 ../gtk/gtkstatusicon.c:276
+#: ../gtk/gtkcellrendererpixbuf.c:215
+#: ../gtk/gtkimage.c:329
+#: ../gtk/gtkstatusicon.c:246
msgid "The GIcon being displayed"
-msgstr "GIkona, ko attēlo"
-
-#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180
-#: ../gtk/gtkimage.c:311 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228
-#: ../gtk/gtkwindow.c:718
+msgstr "GIcon, ko attēlo"
+
+#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:200
+#: ../gtk/gtkimage.c:312 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:259
+#: ../gtk/gtkwindow.c:724
+#: ../gtk/gtkcellrendererpixbuf.c:180
+#: ../gtk/gtkimage.c:311
+#: ../gtk/gtkstatusicon.c:229
+#: ../gtk/gtkwindow.c:722
+#: ../gtk/gtkaction.c:326
+#: ../gtk/gtkcellrendererpixbuf.c:181
+#: ../gtk/gtkstatusicon.c:230
msgid "Icon Name"
msgstr "Ikonas nosaukums"
-#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181
-#: ../gtk/gtkimage.c:312 ../gtk/gtkstatusicon.c:229
+#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:201
+#: ../gtk/gtkimage.c:313 ../gtk/gtkstatusicon.c:260
+#: ../gtk/gtkcellrendererpixbuf.c:181
+#: ../gtk/gtkimage.c:312
+#: ../gtk/gtkstatusicon.c:230
msgid "The name of the icon from the icon theme"
msgstr "Ikonas nosaukums no ikonas tēmas"
-#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:195
+#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:194
+#: ../gtk/gtktoolitem.c:195
msgid "Visible when horizontal"
msgstr "Redzams, kad horizontāls"
-#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:196
+#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:195
+#: ../gtk/gtkaction.c:333
+#: ../gtk/gtktoolitem.c:196
msgid ""
"Whether the toolbar item is visible when the toolbar is in a horizontal "
"orientation."
msgstr ""
-"Vai rīkjoslas rīks ir redzams, kad rīkjoslaatrodas horizontālā stāvoklī."
+"Vai rīkjoslas rīks ir redzams, kad rīkjosla atrodas horizontālā stāvoklī."
#: ../gtk/gtkaction.c:349
msgid "Visible when overflown"
"Kad PATIESS, rīkjoslas rīka starpnieki šai darbībai tiek pārstāvēti "
"rīkjoslas pārklājuma izvēlnē."
-#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:202
+#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:201
+#: ../gtk/gtktoolitem.c:202
msgid "Visible when vertical"
msgstr "Redzams, kad vertikāls"
-#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:203
+#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:202
+#: ../gtk/gtkaction.c:357
+#: ../gtk/gtktoolitem.c:203
msgid ""
"Whether the toolbar item is visible when the toolbar is in a vertical "
"orientation."
-msgstr ""
-"Vai rīkjoslas rīks ir redzams, kad rīkjosla atrodas vertikālā stāvoklī."
+msgstr "Vai rīkjoslas rīks ir redzams, kad rīkjosla atrodas vertikālā stāvoklī."
-#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:209
+#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:208
+#: ../gtk/gtktoolitem.c:209
msgid "Is important"
msgstr "Ir svarīgs"
"Whether the action is considered important. When TRUE, toolitem proxies for "
"this action show text in GTK_TOOLBAR_BOTH_HORIZ mode."
msgstr ""
-"Vai darbība tiek uzskatīta par nopietnu. Ja PATIES, rīka instrumenta "
+"Vai darbība tiek uzskatīta par svarīgu. Ja PATIES, rīka instrumenta "
"starpnieks šai darbībai rāda tekstu GTK_TOOLBAR_BOTH_HORIZ režīmā."
#: ../gtk/gtkaction.c:374
#: ../gtk/gtkaction.c:375
msgid "When TRUE, empty menu proxies for this action are hidden."
-msgstr "Ja PATIESS, tukši izvēlņu starpnieki šai darbībai ir slēpti."
+msgstr "Ja PATIESS, tukši izvēļņu starpnieki šai darbībai ir slēpti."
#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235
-#: ../gtk/gtkcellrenderer.c:288 ../gtk/gtkwidget.c:943
+#: ../gtk/gtkcellrenderer.c:290 ../gtk/gtkwidget.c:988
+#: ../gtk/gtkwidget.c:971
msgid "Sensitive"
-msgstr "Jūtīga"
+msgstr "Jutīga"
#: ../gtk/gtkaction.c:382
msgid "Whether the action is enabled."
-msgstr "Vai darbība ir ieslēgta."
+msgstr "Vai darbība ir aktivēta."
#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242
-#: ../gtk/gtkstatusicon.c:279 ../gtk/gtktreeviewcolumn.c:246
-#: ../gtk/gtkwidget.c:936
+#: ../gtk/gtkstatusicon.c:310 ../gtk/gtktreeviewcolumn.c:248
+#: ../gtk/gtkwidget.c:981
+#: ../gtk/gtkstatusicon.c:280
+#: ../gtk/gtktreeviewcolumn.c:246
+#: ../gtk/gtkwidget.c:964
msgid "Visible"
msgstr "Redzams"
"The GtkActionGroup this GtkAction is associated with, or NULL (for internal "
"use)."
msgstr ""
-"GtkActionGroup šis GtkAction ir saistīts ar, vai NULLE (iekšējai "
+"GtkActionGroup ar ko šis GtkAction ir saistīts, vai NULLE (iekšējai "
"izmantošanai)."
-#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:183
+#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:194
+#: ../gtk/gtkimagemenuitem.c:183
msgid "Always show image"
msgstr "Vienmēr rādīt attēlu"
-#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:184
+#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:195
+#: ../gtk/gtkimagemenuitem.c:184
msgid "Whether the image will always be shown"
msgstr "Vai attēls vienmēr būs redzams"
#: ../gtk/gtkactiongroup.c:236
msgid "Whether the action group is enabled."
-msgstr "Vai darbības grupa ir ieslēgta."
+msgstr "Vai darbības grupa ir aktivēta."
#: ../gtk/gtkactiongroup.c:243
msgid "Whether the action group is visible."
-msgstr "Vai darības gurpa ir redzama."
+msgstr "Vai darbības grupa ir redzama."
#: ../gtk/gtkactivatable.c:289
-#, fuzzy
msgid "Related Action"
-msgstr "Darbība"
+msgstr "Saistīta darbība"
#: ../gtk/gtkactivatable.c:290
msgid "The action this activatable will activate and receive updates from"
-msgstr ""
+msgstr "Darbība, ko šis aktivējamais aktivēs un no kā saņems atjauninājumus"
#: ../gtk/gtkactivatable.c:312
msgid "Use Action Appearance"
-msgstr ""
+msgstr "Izmantot darbības izskatu"
#: ../gtk/gtkactivatable.c:313
-#, fuzzy
msgid "Whether to use the related actions appearance properties"
-msgstr "Vai lietot iezīmes tekstu veidojot krājuma izvēlnes elementus"
+msgstr "Vai lietot saistītās darbību izskata īpašības"
-#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:126
-#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:381
+#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:138
+#: ../gtk/gtkscalebutton.c:218 ../gtk/gtkspinbutton.c:384
+#: ../gtk/gtkcellrendererprogress.c:126
+#: ../gtk/gtkscalebutton.c:217
+#: ../gtk/gtkspinbutton.c:381
msgid "Value"
msgstr "Vērtība"
#: ../gtk/gtkadjustment.c:195
msgid "The page increment of the adjustment"
-msgstr "Lapas uzstadījuma atkāpe"
+msgstr "Lapas iestatījuma atkāpe"
#: ../gtk/gtkadjustment.c:214
msgid "Page Size"
#: ../gtk/gtkadjustment.c:215
msgid "The page size of the adjustment"
-msgstr "Lapas izmēta iestatījum"
+msgstr "Lapas iestatījuma izmērs"
#: ../gtk/gtkalignment.c:137
msgid "Horizontal alignment"
-msgstr "Horizontālā centrēšana"
+msgstr "Horizontālā līdzināšana"
-#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278
+#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:279
+#: ../gtk/gtkbutton.c:278
msgid ""
"Horizontal position of child in available space. 0.0 is left aligned, 1.0 is "
"right aligned"
msgstr ""
-"Horizontālā bērna pozīcija pieejamajā telpā. 0.0 ir pa kreisi centrēts, 1.0 "
-"pa labi centrēts"
+"Horizontālā bērna pozīcija pieejamajā telpā. 0.0 ir pa kreisi līdzināts, 1.0 "
+"pa labi līdzināts"
#: ../gtk/gtkalignment.c:147
msgid "Vertical alignment"
-msgstr "Vertikālā centrāšana"
+msgstr "Vertikālā līdzināšana"
-#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297
+#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:298
+#: ../gtk/gtkbutton.c:297
msgid ""
"Vertical position of child in available space. 0.0 is top aligned, 1.0 is "
"bottom aligned"
msgstr ""
-"Vertikālā bērna pozīcija pieejamajā telpā. 0.0 ir pret augšu centrēts, 1.0 "
-"pret apakšu centrēts"
+"Vertikālā bērna pozīcija pieejamajā telpā. 0.0 ir pret augšu līdzināts, 1.0 "
+"pret apakšu līdzināts"
#: ../gtk/gtkalignment.c:156
msgid "Horizontal scale"
msgid "The padding to insert at the right of the widget."
msgstr "Papildinājums, ko ievietot labajā logdaļas pusē."
-#: ../gtk/gtkappchooserbutton.c:558
+#: ../gtk/gtkappchooserbutton.c:555
msgid "Include an 'Other...' item"
-msgstr ""
+msgstr "Iekļaut 'Citi...' vienumu"
-#: ../gtk/gtkappchooserbutton.c:559
+#: ../gtk/gtkappchooserbutton.c:556
msgid ""
"Whether the combobox should include an item that triggers a "
"GtkAppChooserDialog"
msgstr ""
+"Vai kombinētajā lodziņā vajadzētu iekļaut vienumu, kas izsauc "
+"GtkAppChooserDialog"
-#: ../gtk/gtkappchooserbutton.c:571 ../gtk/gtkappchooserdialog.c:707
-#, fuzzy
+#: ../gtk/gtkappchooserbutton.c:568 ../gtk/gtkappchooserdialog.c:722
#| msgid "Show Heading"
msgid "Heading"
-msgstr "Rādīt galveni"
+msgstr "Virsraksts"
-#: ../gtk/gtkappchooserbutton.c:572 ../gtk/gtkappchooserdialog.c:708
-#, fuzzy
+#: ../gtk/gtkappchooserbutton.c:569 ../gtk/gtkappchooserdialog.c:723
#| msgid "The padding to insert at the top of the widget."
msgid "The text to show at the top of the dialog"
-msgstr "Papildinājums, ko ievietot logdaļas augšpusē."
+msgstr "Teksts, ko rādīt dialoglodziņa augšpusē"
+#: ../gtk/gtkappchooser.c:61
#: ../gtk/gtkappchooser.c:58
-#, fuzzy
#| msgid "Font style"
msgid "Content type"
-msgstr "Fonta stils"
+msgstr "Satura tips"
+#: ../gtk/gtkappchooser.c:62
#: ../gtk/gtkappchooser.c:59
-#, fuzzy
#| msgid "The contents of the entry"
msgid "The content type used by the open with object"
-msgstr "Ieraksta saturs"
+msgstr "Satura tips, ko izmanto 'atvērt ar objektu'"
-#: ../gtk/gtkappchooserdialog.c:693
-#, fuzzy
+#: ../gtk/gtkappchooserdialog.c:708
#| msgid "Filter"
msgid "GFile"
-msgstr "Filtrs"
+msgstr "GFile"
-#: ../gtk/gtkappchooserdialog.c:694
-#, fuzzy
+#: ../gtk/gtkappchooserdialog.c:709
#| msgid "The title of the file chooser dialog."
msgid "The GFile used by the app chooser dialog"
-msgstr "Failu izvēles loga nosaukums."
+msgstr "GFile, ko izmanto lietotnes selektora dialoglodziņš"
-#: ../gtk/gtkappchooserwidget.c:1013
+#: ../gtk/gtkappchooserwidget.c:1016
+#: ../gtk/gtkappchooserwidget.c:1015
msgid "Show default app"
-msgstr ""
+msgstr "Rādīt noklusēto lietotni"
-#: ../gtk/gtkappchooserwidget.c:1014
-#, fuzzy
+#: ../gtk/gtkappchooserwidget.c:1017
#| msgid "Whether the widget is the default widget"
msgid "Whether the widget should show the default application"
-msgstr "Vai logdaļa ir noklusētā logdaļa"
+msgstr "Vai logdaļai jārāda noklusētā lietotne"
-#: ../gtk/gtkappchooserwidget.c:1027
+#: ../gtk/gtkappchooserwidget.c:1030
+#: ../gtk/gtkappchooserwidget.c:1029
msgid "Show recommended apps"
-msgstr ""
+msgstr "Rādīt ieteicamās lietotnes"
-#: ../gtk/gtkappchooserwidget.c:1028
-#, fuzzy
+#: ../gtk/gtkappchooserwidget.c:1031
#| msgid "Whether images should be shown on buttons"
msgid "Whether the widget should show recommended applications"
-msgstr "Vai uz pogām rādīt attēlus"
+msgstr "Vai logdaļām vajadzētu rādīt ieteicamās lietotnes"
-#: ../gtk/gtkappchooserwidget.c:1041
+#: ../gtk/gtkappchooserwidget.c:1044
+#: ../gtk/gtkappchooserwidget.c:1043
msgid "Show fallback apps"
-msgstr ""
+msgstr "Rādīt atkāpšanās lietotnes"
-#: ../gtk/gtkappchooserwidget.c:1042
-#, fuzzy
+#: ../gtk/gtkappchooserwidget.c:1045
msgid "Whether the widget should show fallback applications"
-msgstr "Vai visiem bērniem jabūt pēc viena izmēra"
+msgstr "Vai logdaļām vajadzētu rādīt atkāpšanās lietotnes"
-#: ../gtk/gtkappchooserwidget.c:1054
-#, fuzzy
+#: ../gtk/gtkappchooserwidget.c:1057
+#: ../gtk/gtkappchooserwidget.c:1056
#| msgid "Show Tooltips"
msgid "Show other apps"
-msgstr "Rādīt paskaidres"
+msgstr "Rādīt citas lietotnes"
-#: ../gtk/gtkappchooserwidget.c:1055
-#, fuzzy
+#: ../gtk/gtkappchooserwidget.c:1058
#| msgid "Whether the widget has the input focus"
msgid "Whether the widget should show other applications"
-msgstr "Vai logdaļai ir ievades fokuss"
+msgstr "Vai logdaļai vajadzētu rādīt citas lietotnes"
-#: ../gtk/gtkappchooserwidget.c:1068
-#, fuzzy
+#: ../gtk/gtkappchooserwidget.c:1071
+#: ../gtk/gtkappchooserwidget.c:1070
#| msgid "Show Day Names"
msgid "Show all apps"
-msgstr "Rādīt dienu nosaukumus"
+msgstr "Rādīt visas lietotnes"
-#: ../gtk/gtkappchooserwidget.c:1069
-#, fuzzy
+#: ../gtk/gtkappchooserwidget.c:1072
msgid "Whether the widget should show all applications"
-msgstr "Vai visiem bērniem jabūt pēc viena izmēra"
+msgstr "Vai logdaļai vajadzētu rādīt visas lietotnes"
-#: ../gtk/gtkappchooserwidget.c:1082
+#: ../gtk/gtkappchooserwidget.c:1085
+#: ../gtk/gtkappchooserwidget.c:1084
msgid "Widget's default text"
-msgstr ""
+msgstr "Logdaļas noklusētais teksts"
-#: ../gtk/gtkappchooserwidget.c:1083
+#: ../gtk/gtkappchooserwidget.c:1086
msgid "The default text appearing when there are no applications"
-msgstr ""
+msgstr "Noklusētais teksts, kas parādās, kad nav lietotņu"
+#: ../gtk/gtkarrow.c:112
#: ../gtk/gtkarrow.c:110
msgid "Arrow direction"
msgstr "Bultas virziens"
+#: ../gtk/gtkarrow.c:113
#: ../gtk/gtkarrow.c:111
msgid "The direction the arrow should point"
msgstr "Virziens, kurā bultai būtu jārāda"
+#: ../gtk/gtkarrow.c:121
#: ../gtk/gtkarrow.c:119
msgid "Arrow shadow"
msgstr "Bultas ēna"
+#: ../gtk/gtkarrow.c:122
#: ../gtk/gtkarrow.c:120
msgid "Appearance of the shadow surrounding the arrow"
msgstr "Ēnas parādīšanās ap bultu"
-#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:796 ../gtk/gtkmenuitem.c:391
+#: ../gtk/gtkarrow.c:129 ../gtk/gtkcombobox.c:986 ../gtk/gtkmenu.c:798
+#: ../gtk/gtkmenuitem.c:447
+#: ../gtk/gtkarrow.c:127
+#: ../gtk/gtkcombobox.c:985
+#: ../gtk/gtkmenu.c:796
+#: ../gtk/gtkmenuitem.c:391
msgid "Arrow Scaling"
msgstr "Bultiņu mērogs"
+#: ../gtk/gtkarrow.c:130
#: ../gtk/gtkarrow.c:128
msgid "Amount of space used up by arrow"
msgstr "Bultiņu izmantotās vietas daudzums"
-#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1131
+#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1176
+#: ../gtk/gtkwidget.c:1159
msgid "Horizontal Alignment"
-msgstr "Horizontālā Centrēšana"
+msgstr "Horizontālā līdzināšana"
#: ../gtk/gtkaspectframe.c:110
msgid "X alignment of the child"
-msgstr "Bērna X cenrēšana"
+msgstr "Bērna X līdzināšana"
-#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1147
+#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1192
+#: ../gtk/gtkwidget.c:1175
msgid "Vertical Alignment"
-msgstr "Vertikālā Centrēšana"
+msgstr "Vertikālā līdzināšana"
#: ../gtk/gtkaspectframe.c:117
msgid "Y alignment of the child"
-msgstr "Bērna Y centrēšana"
+msgstr "Bērna Y līdzināšana"
#: ../gtk/gtkaspectframe.c:123
msgid "Ratio"
#: ../gtk/gtkaspectframe.c:124
msgid "Aspect ratio if obey_child is FALSE"
-msgstr "Skata proporcija, ja obey_child ir FALSE"
+msgstr "Skata proporcija, ja obey_child ir APLAMS"
#: ../gtk/gtkaspectframe.c:130
msgid "Obey child"
#: ../gtk/gtkaspectframe.c:131
msgid "Force aspect ratio to match that of the frame's child"
-msgstr "Likt skata proporcijai sakrist ar to, kas rāmja bērnam"
+msgstr "Likt skata proporcijai sakrist ar to, kas ietvara bērnam"
+#: ../gtk/gtkassistant.c:311
#: ../gtk/gtkassistant.c:326
msgid "Header Padding"
msgstr "Galvenes papildinājums"
+#: ../gtk/gtkassistant.c:312
#: ../gtk/gtkassistant.c:327
msgid "Number of pixels around the header."
msgstr "Pikseļu skaits ap galveni."
+#: ../gtk/gtkassistant.c:319
#: ../gtk/gtkassistant.c:334
msgid "Content Padding"
msgstr "Satura papildinājums"
+#: ../gtk/gtkassistant.c:320
#: ../gtk/gtkassistant.c:335
msgid "Number of pixels around the content pages."
msgstr "Pikseļu skaits ap saturs lapām."
+#: ../gtk/gtkassistant.c:336
#: ../gtk/gtkassistant.c:351
msgid "Page type"
msgstr "Lapas tips"
-#: ../gtk/gtkassistant.c:352
+#: ../gtk/gtkassistant.c:337
msgid "The type of the assistant page"
-msgstr ""
+msgstr "Palīga lapas tips"
+#: ../gtk/gtkassistant.c:352
#: ../gtk/gtkassistant.c:369
msgid "Page title"
-msgstr "Lapas virstaksts"
+msgstr "Lapas virsraksts"
-#: ../gtk/gtkassistant.c:370
+#: ../gtk/gtkassistant.c:353
msgid "The title of the assistant page"
msgstr "Palīga lapas visraksts"
+#: ../gtk/gtkassistant.c:370
#: ../gtk/gtkassistant.c:386
msgid "Header image"
msgstr "Galvenes attēls"
-#: ../gtk/gtkassistant.c:387
+#: ../gtk/gtkassistant.c:371
msgid "Header image for the assistant page"
-msgstr ""
+msgstr "Palīga lapas galvenes attēls"
+#: ../gtk/gtkassistant.c:387
#: ../gtk/gtkassistant.c:403
msgid "Sidebar image"
msgstr "Sānu joslas attēls"
-#: ../gtk/gtkassistant.c:404
+#: ../gtk/gtkassistant.c:388
msgid "Sidebar image for the assistant page"
-msgstr ""
+msgstr "Palīga lapas sānu joslas attēls"
+#: ../gtk/gtkassistant.c:404
#: ../gtk/gtkassistant.c:419
msgid "Page complete"
msgstr "Pabeigta lapa"
+#: ../gtk/gtkassistant.c:405
#: ../gtk/gtkassistant.c:420
msgid "Whether all required fields on the page have been filled out"
-msgstr ""
+msgstr "Vai visi uz lapas esošie pieprasītie lauki ir aizpildīti"
+#: ../gtk/gtkbbox.c:159
#: ../gtk/gtkbbox.c:152
msgid "Minimum child width"
msgstr "Minimālais bērna platums"
+#: ../gtk/gtkbbox.c:160
#: ../gtk/gtkbbox.c:153
msgid "Minimum width of buttons inside the box"
msgstr "Minimālais pogu platums kastītē"
+#: ../gtk/gtkbbox.c:168
#: ../gtk/gtkbbox.c:161
msgid "Minimum child height"
msgstr "Minimālais bērna augstums"
+#: ../gtk/gtkbbox.c:169
#: ../gtk/gtkbbox.c:162
msgid "Minimum height of buttons inside the box"
msgstr "Minimālais pogu augstums kastītē"
+#: ../gtk/gtkbbox.c:177
#: ../gtk/gtkbbox.c:170
msgid "Child internal width padding"
msgstr "Bērna iekšējā platuma papildināšana"
+#: ../gtk/gtkbbox.c:178
#: ../gtk/gtkbbox.c:171
msgid "Amount to increase child's size on either side"
msgstr "Apmērs, par kādu palielināt bērna izmēru uz katru pusi"
+#: ../gtk/gtkbbox.c:186
#: ../gtk/gtkbbox.c:179
msgid "Child internal height padding"
msgstr "Bērna iekšējā augstuma papildināšana"
+#: ../gtk/gtkbbox.c:187
#: ../gtk/gtkbbox.c:180
msgid "Amount to increase child's size on the top and bottom"
msgstr "Apmērs, par kādu palielināt bērna izmēru uz augšu un apakšu"
+#: ../gtk/gtkbbox.c:195
#: ../gtk/gtkbbox.c:188
msgid "Layout style"
msgstr "Izkārtojuma stils"
+#: ../gtk/gtkbbox.c:196
#: ../gtk/gtkbbox.c:189
-#, fuzzy
msgid ""
"How to lay out the buttons in the box. Possible values are: spread, edge, "
"start and end"
msgstr ""
-"Kā izkārtot pogas kastītē. Iespējamās vērtības ir default, spread, edge, "
-"start un end"
+"Kā izkārtot pogas kastītē. Iespējamās vērtības ir spread, edge, start un "
+"end"
+#: ../gtk/gtkbbox.c:204
#: ../gtk/gtkbbox.c:197
msgid "Secondary"
msgstr "Sekundārs"
+#: ../gtk/gtkbbox.c:205
#: ../gtk/gtkbbox.c:198
msgid ""
"If TRUE, the child appears in a secondary group of children, suitable for, e."
"g., help buttons"
msgstr ""
-"Ja TRUE, bērns parādās sekundārajā atvasinājumu grupā, piemērots, piem., "
+"Ja PATIESS, bērns parādās sekundārajā atvasinājumu grupā, piemērots, piem., "
"palīdzības pogām"
-#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:318 ../gtk/gtkexpander.c:311
-#: ../gtk/gtkiconview.c:642 ../gtk/gtktreeviewcolumn.c:271
+#: ../gtk/gtkbbox.c:212
+#| msgid "Homogeneous"
+msgid "Non-Homogeneous"
+msgstr "Neviendabīgs"
+
+#: ../gtk/gtkbbox.c:213
+#| msgid "If TRUE, the child can be made smaller than its requisition"
+msgid "If TRUE, the child will not be subject to homogeneous sizing"
+msgstr "Ja PATIESS, bērns netiks pakļauts viendabīgai izmēra maiņai"
+
+#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:317 ../gtk/gtkexpander.c:314
+#: ../gtk/gtkiconview.c:644 ../gtk/gtktreeviewcolumn.c:283
+#: ../gtk/gtkcellareabox.c:318
+#: ../gtk/gtkexpander.c:311
+#: ../gtk/gtkiconview.c:645
+#: ../gtk/gtktreeviewcolumn.c:271
msgid "Spacing"
msgstr "Atstarpe"
msgid "The amount of space between children"
msgstr "Atstarpes lielums starp bērniem"
-#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:551
+#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:227 ../gtk/gtktoolbar.c:561
+#: ../gtk/gtktoolitemgroup.c:1645
+#: ../gtk/gtktable.c:193
+#: ../gtk/gtktoolbar.c:551
#: ../gtk/gtktoolitemgroup.c:1649
msgid "Homogeneous"
msgstr "Viendabīgs"
#: ../gtk/gtkbox.c:252
msgid "Whether the children should all be the same size"
-msgstr "Vai visiem bērniem jabūt pēc viena izmēra"
-
-#: ../gtk/gtkbox.c:272 ../gtk/gtkcellareabox.c:338 ../gtk/gtktoolbar.c:543
-#: ../gtk/gtktoolitemgroup.c:1656 ../gtk/gtktoolpalette.c:1101
+msgstr "Vai visiem bērniem jābūt ar vienādu izmēru"
+
+#: ../gtk/gtkbox.c:272 ../gtk/gtkcellareabox.c:337 ../gtk/gtktoolbar.c:553
+#: ../gtk/gtktoolitemgroup.c:1652 ../gtk/gtktoolpalette.c:1070
+#: ../gtk/gtktreeviewcolumn.c:339
+#: ../gtk/gtkcellareabox.c:338
+#: ../gtk/gtktoolbar.c:543
+#: ../gtk/gtktoolitemgroup.c:1656
+#: ../gtk/gtktoolpalette.c:1101
#: ../gtk/gtktreeviewcolumn.c:327
msgid "Expand"
-msgstr "Paplašināt"
+msgstr "Izvērst"
#: ../gtk/gtkbox.c:273
msgid "Whether the child should receive extra space when the parent grows"
msgstr "Vai bērnam būtu jāsaņem papildus vieta, ja vecāks pieaug"
-#: ../gtk/gtkbox.c:289 ../gtk/gtktoolitemgroup.c:1663
+#: ../gtk/gtkbox.c:289 ../gtk/gtktoolitemgroup.c:1659
+#: ../gtk/gtktoolitemgroup.c:1663
msgid "Fill"
msgstr "Aizpildīt"
"Vai papildus piešķirtā vieta bērnam būtu jāpiešķir bērnam vai jālieto kā "
"papildināšana"
-#: ../gtk/gtkbox.c:297 ../gtk/gtktrayicon-x11.c:166
+#: ../gtk/gtkbox.c:297 ../gtk/gtktrayicon-x11.c:169
msgid "Padding"
msgstr "Papildināšana"
"GtkPackType norāda, vai bērns pieblīvēts ar atsauci uz sākuma vai beigu "
"vecāku"
-#: ../gtk/gtkbox.c:311 ../gtk/gtknotebook.c:760 ../gtk/gtkpaned.c:326
+#: ../gtk/gtkbox.c:311 ../gtk/gtknotebook.c:771 ../gtk/gtkpaned.c:349
+#: ../gtk/gtktoolitemgroup.c:1673
+#: ../gtk/gtknotebook.c:760
+#: ../gtk/gtkpaned.c:326
#: ../gtk/gtktoolitemgroup.c:1677
msgid "Position"
-msgstr "Pozīcija"
+msgstr "Novietojums"
-#: ../gtk/gtkbox.c:312 ../gtk/gtknotebook.c:761
+#: ../gtk/gtkbox.c:312 ../gtk/gtknotebook.c:772
+#: ../gtk/gtknotebook.c:761
msgid "The index of the child in the parent"
msgstr "Bērna indekss vecākā"
#: ../gtk/gtkbuilder.c:319
msgid "Translation Domain"
-msgstr "Tulkošanas sfēra"
+msgstr "Tulkošanas domēns"
#: ../gtk/gtkbuilder.c:320
msgid "The translation domain used by gettext"
-msgstr ""
+msgstr "Tulkošanas domēns, kuru izmanto gettext"
-#: ../gtk/gtkbutton.c:228
+#: ../gtk/gtkbutton.c:229
msgid ""
"Text of the label widget inside the button, if the button contains a label "
"widget"
msgstr "Iezīmes logdaļas teksts pogā, ja poga satur iezīmes logdaļu"
-#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:295 ../gtk/gtklabel.c:588
-#: ../gtk/gtkmenuitem.c:343 ../gtk/gtktoolbutton.c:208
+#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:298 ../gtk/gtklabel.c:765
+#: ../gtk/gtkmenuitem.c:399 ../gtk/gtktoolbutton.c:239
+#: ../gtk/gtkbutton.c:235
+#: ../gtk/gtkexpander.c:295
+#: ../gtk/gtklabel.c:588
+#: ../gtk/gtkmenuitem.c:343
+#: ../gtk/gtktoolbutton.c:208
+#: ../gtk/gtkexpander.c:296
+#: ../gtk/gtklabel.c:589
+#: ../gtk/gtkmenuitem.c:344
msgid "Use underline"
msgstr "Lietot pasvītrošanu"
-#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:296 ../gtk/gtklabel.c:589
+#: ../gtk/gtkbutton.c:237 ../gtk/gtkexpander.c:299 ../gtk/gtklabel.c:766
+#: ../gtk/gtkmenuitem.c:400
+#: ../gtk/gtkbutton.c:236
+#: ../gtk/gtkexpander.c:296
+#: ../gtk/gtklabel.c:589
#: ../gtk/gtkmenuitem.c:344
msgid ""
"If set, an underline in the text indicates the next character should be used "
"for the mnemonic accelerator key"
msgstr ""
-"Ja iestādīts, zemsvītra tekstā nozīmē, ka nākamā rakstzīme būtu jālieto kā "
+"Ja iestatīts, zemsvītra tekstā nozīmē, ka nākamā rakstzīme būtu jālieto kā "
"piekļuves paātrinātāja taustiņš"
-#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:164
+#: ../gtk/gtkbutton.c:244 ../gtk/gtkimagemenuitem.c:175
+#: ../gtk/gtkbutton.c:243
+#: ../gtk/gtkimagemenuitem.c:164
msgid "Use stock"
-msgstr "Lietot krajumu"
+msgstr "Lietot krājumu"
-#: ../gtk/gtkbutton.c:244
-msgid ""
-"If set, the label is used to pick a stock item instead of being displayed"
+#: ../gtk/gtkbutton.c:245
+msgid "If set, the label is used to pick a stock item instead of being displayed"
msgstr ""
"Ja iestatīts, iezīme tiek lietota, lai izvēlētos krājuma priekšmetu tā "
"vietā, lai parādītu"
-#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791
+#: ../gtk/gtkbutton.c:252 ../gtk/gtkcombobox.c:792
+#: ../gtk/gtkfilechooserbutton.c:426
+#: ../gtk/gtkbutton.c:251
+#: ../gtk/gtkcombobox.c:791
#: ../gtk/gtkfilechooserbutton.c:383
+#: ../gtk/gtkfilechooserbutton.c:384
msgid "Focus on click"
msgstr "Fokuss uz klikšķa"
-#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:384
+#: ../gtk/gtkbutton.c:253 ../gtk/gtkfilechooserbutton.c:427
+#: ../gtk/gtkbutton.c:252
+#: ../gtk/gtkfilechooserbutton.c:384
msgid "Whether the button grabs focus when it is clicked with the mouse"
msgstr "Vai poga sagrābj fokusu, kad uz to klikšķina ar peli"
+#: ../gtk/gtkbutton.c:260
#: ../gtk/gtkbutton.c:259
msgid "Border relief"
msgstr "Robežas reljefs"
-#: ../gtk/gtkbutton.c:260
+#: ../gtk/gtkbutton.c:261
msgid "The border relief style"
msgstr "Robežas reljefa stils"
+#: ../gtk/gtkbutton.c:278
+#: ../gtk/gtkalignment.c:138
#: ../gtk/gtkbutton.c:277
msgid "Horizontal alignment for child"
msgstr "Horizontālais bērna izlīdzinājums"
+#: ../gtk/gtkbutton.c:297
+#: ../gtk/gtkalignment.c:148
#: ../gtk/gtkbutton.c:296
msgid "Vertical alignment for child"
msgstr "Vertikālais bērna izlīdzinājums"
-#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:149
+#: ../gtk/gtkbutton.c:314 ../gtk/gtkimagemenuitem.c:160
+#: ../gtk/gtkbutton.c:313
+#: ../gtk/gtkimagemenuitem.c:149
msgid "Image widget"
msgstr "Attēla logdaļa"
-#: ../gtk/gtkbutton.c:314
+#: ../gtk/gtkbutton.c:315
msgid "Child widget to appear next to the button text"
msgstr "Bērna logdaļa, kurai jāparādās blakus pogas tekstam"
+#: ../gtk/gtkbutton.c:329
#: ../gtk/gtkbutton.c:328
msgid "Image position"
-msgstr "Attēla pozīcija"
+msgstr "Attēla novietojums"
-#: ../gtk/gtkbutton.c:329
+#: ../gtk/gtkbutton.c:330
msgid "The position of the image relative to the text"
msgstr "Attēla pozīcija attiecībā pret tekstu"
+#: ../gtk/gtkbutton.c:450
#: ../gtk/gtkbutton.c:449
msgid "Default Spacing"
-msgstr "Noklusētā Atstarpe"
+msgstr "Noklusētā atstarpe"
-#: ../gtk/gtkbutton.c:450
-#, fuzzy
+#: ../gtk/gtkbutton.c:451
msgid "Extra space to add for GTK_CAN_DEFAULT buttons"
-msgstr "Papildus atstarpe, ko pievienot CAN_DEFAULT pogām"
+msgstr "Papildus atstarpe, ko pievienot GTK_CAN_DEFAULT pogām"
+#: ../gtk/gtkbutton.c:465
#: ../gtk/gtkbutton.c:464
msgid "Default Outside Spacing"
-msgstr "NoklusÄ\93tÄ\81 Ä\80rÄ\93jÄ\81 Atstarpe"
+msgstr "NoklusÄ\93tÄ\81 Ä\81rÄ\93jÄ\81 atstarpe"
-#: ../gtk/gtkbutton.c:465
-#, fuzzy
+#: ../gtk/gtkbutton.c:466
msgid ""
"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside "
"the border"
msgstr ""
-"Papildus vieta, ko atvēlēt CAN_DEFAULT pogām, kas vienmēr tiek zīmētas ārpus "
-"robežas"
+"Papildus vieta, ko atvēlēt GTK_CAN_DEFAULT pogām, kas vienmēr tiek zīmētas "
+"ārpus robežas"
+#: ../gtk/gtkbutton.c:471
#: ../gtk/gtkbutton.c:470
msgid "Child X Displacement"
-msgstr "Bērna X Pārvietošana"
+msgstr "Bērna X pārvietošana"
-#: ../gtk/gtkbutton.c:471
-msgid ""
-"How far in the x direction to move the child when the button is depressed"
+#: ../gtk/gtkbutton.c:472
+msgid "How far in the x direction to move the child when the button is depressed"
msgstr "Cik tālu x virzienā pārvietot bērnu, kad poga tiek nospiesta"
+#: ../gtk/gtkbutton.c:479
#: ../gtk/gtkbutton.c:478
msgid "Child Y Displacement"
-msgstr "Bērna Y Pārvietošana"
+msgstr "Bērna Y pārvietošana"
-#: ../gtk/gtkbutton.c:479
-msgid ""
-"How far in the y direction to move the child when the button is depressed"
+#: ../gtk/gtkbutton.c:480
+msgid "How far in the y direction to move the child when the button is depressed"
msgstr "Cik tālu y virzienā pārvietot bērnu, kad poga tiek nospiesta"
+#: ../gtk/gtkbutton.c:496
#: ../gtk/gtkbutton.c:495
msgid "Displace focus"
msgstr "Pārvietot fokusu"
-#: ../gtk/gtkbutton.c:496
+#: ../gtk/gtkbutton.c:497
msgid ""
"Whether the child_displacement_x/_y properties should also affect the focus "
"rectangle"
msgstr ""
"Vai child_displacement_x/_y iespējām vajadzētu iespaidot fokusa taisnstūri"
-#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:788 ../gtk/gtkentry.c:1833
+#: ../gtk/gtkbutton.c:510 ../gtk/gtkentry.c:794 ../gtk/gtkentry.c:1869
+#: ../gtk/gtkbutton.c:509
+#: ../gtk/gtkentry.c:787
+#: ../gtk/gtkentry.c:1832
msgid "Inner Border"
msgstr "Iekšējā robeža"
-#: ../gtk/gtkbutton.c:510
+#: ../gtk/gtkbutton.c:511
msgid "Border between button edges and child."
-msgstr ""
+msgstr "Robeža starp pogas malām un bērnu."
+#: ../gtk/gtkbutton.c:524
#: ../gtk/gtkbutton.c:523
msgid "Image spacing"
msgstr "Attēla atstarpe"
-#: ../gtk/gtkbutton.c:524
+#: ../gtk/gtkbutton.c:525
msgid "Spacing in pixels between the image and label"
msgstr "Atstarpe pikseļos atarp attēlu un etiķeti"
+#: ../gtk/gtkcalendar.c:471
#: ../gtk/gtkcalendar.c:468
msgid "Year"
msgstr "Gads"
+#: ../gtk/gtkcalendar.c:472
#: ../gtk/gtkcalendar.c:469
msgid "The selected year"
msgstr "Izvēlētais gads"
+#: ../gtk/gtkcalendar.c:485
#: ../gtk/gtkcalendar.c:482
msgid "Month"
msgstr "Mēnesis"
+#: ../gtk/gtkcalendar.c:486
#: ../gtk/gtkcalendar.c:483
msgid "The selected month (as a number between 0 and 11)"
msgstr "Izvēlētais mēnesis (kā skaitlis starp 0 un 11)"
+#: ../gtk/gtkcalendar.c:500
#: ../gtk/gtkcalendar.c:497
msgid "Day"
msgstr "Diena"
+#: ../gtk/gtkcalendar.c:501
#: ../gtk/gtkcalendar.c:498
msgid ""
"The selected day (as a number between 1 and 31, or 0 to unselect the "
"currently selected day)"
msgstr ""
-"Izvēlētā diena (kā skaitlis starp 1 un 31, vai 0, lai atstatītu patreiz "
-"ustrādīto dienu)"
+"Izvēlētā diena (kā skaitlis starp 1 un 31, vai 0, lai noņemtu izvēli pašlaik "
+"izvēlētajai dienai)"
+#: ../gtk/gtkcalendar.c:515
#: ../gtk/gtkcalendar.c:512
msgid "Show Heading"
-msgstr "Rādīt galveni"
+msgstr "Rādīt virsrakstu"
+#: ../gtk/gtkcalendar.c:516
#: ../gtk/gtkcalendar.c:513
msgid "If TRUE, a heading is displayed"
-msgstr "Ja PATIESS, tiek rādīta galvene"
+msgstr "Ja PATIESS, tiek rādīts virsraksts"
+#: ../gtk/gtkcalendar.c:530
#: ../gtk/gtkcalendar.c:527
msgid "Show Day Names"
msgstr "Rādīt dienu nosaukumus"
+#: ../gtk/gtkcalendar.c:531
#: ../gtk/gtkcalendar.c:528
msgid "If TRUE, day names are displayed"
msgstr "Ja PATIESS, tiek rādīti dienu nosaukumi"
+#: ../gtk/gtkcalendar.c:544
#: ../gtk/gtkcalendar.c:541
msgid "No Month Change"
msgstr "Nevar mainīt mēnesi"
+#: ../gtk/gtkcalendar.c:545
#: ../gtk/gtkcalendar.c:542
msgid "If TRUE, the selected month cannot be changed"
-msgstr "Ja APTIESS, izvēlētais mēnesis nevar tikt mainīts"
+msgstr "Ja PATIESS, izvēlētais mēnesis nevar tikt mainīts"
+#: ../gtk/gtkcalendar.c:559
#: ../gtk/gtkcalendar.c:556
msgid "Show Week Numbers"
msgstr "Rādīt nedēļu numurus"
+#: ../gtk/gtkcalendar.c:560
#: ../gtk/gtkcalendar.c:557
msgid "If TRUE, week numbers are displayed"
msgstr "Ja PATIESS, tiek attēloti nedēļu numuri"
+#: ../gtk/gtkcalendar.c:575
#: ../gtk/gtkcalendar.c:572
msgid "Details Width"
msgstr "Papildus informācijas platums"
+#: ../gtk/gtkcalendar.c:576
#: ../gtk/gtkcalendar.c:573
msgid "Details width in characters"
-msgstr "Papildus informācijas platums rakszīmēs"
+msgstr "Papildus informācijas platums rakstzīmēs"
+#: ../gtk/gtkcalendar.c:591
#: ../gtk/gtkcalendar.c:588
msgid "Details Height"
msgstr "Papildus informācijas augstums"
+#: ../gtk/gtkcalendar.c:592
#: ../gtk/gtkcalendar.c:589
msgid "Details height in rows"
msgstr "Papildus informācijas augstums rindās"
+#: ../gtk/gtkcalendar.c:608
#: ../gtk/gtkcalendar.c:605
msgid "Show Details"
msgstr "Rādīt papildus informāciju"
+#: ../gtk/gtkcalendar.c:609
#: ../gtk/gtkcalendar.c:606
msgid "If TRUE, details are shown"
msgstr "Ja PATIESS, tiks rādīta papildus informācija"
+#: ../gtk/gtkcalendar.c:621
#: ../gtk/gtkcalendar.c:618
-#, fuzzy
msgid "Inner border"
msgstr "Iekšējā robeža"
+#: ../gtk/gtkcalendar.c:622
#: ../gtk/gtkcalendar.c:619
-#, fuzzy
msgid "Inner border space"
-msgstr "Iekšējā robeža"
+msgstr "Iekšējās robežas atstarpe"
+#: ../gtk/gtkcalendar.c:633
#: ../gtk/gtkcalendar.c:630
-#, fuzzy
msgid "Vertical separation"
-msgstr "Vertikālās iespējas"
+msgstr "Vertikālā atdalīšana"
+#: ../gtk/gtkcalendar.c:634
#: ../gtk/gtkcalendar.c:631
-#, fuzzy
msgid "Space between day headers and main area"
-msgstr "Atstarpes ap izvērsēja bultu"
+msgstr "Atstarpe starp galveni un galveno laukumu"
+#: ../gtk/gtkcalendar.c:645
#: ../gtk/gtkcalendar.c:642
-#, fuzzy
msgid "Horizontal separation"
-msgstr "Horizontālās iespējas"
+msgstr "Horizontālā atdalīšana"
+#: ../gtk/gtkcalendar.c:646
#: ../gtk/gtkcalendar.c:643
-#, fuzzy
msgid "Space between week headers and main area"
-msgstr "Atstarpe starp elementiem un galveno loga apgabalu"
-
-#: ../gtk/gtkcellareabox.c:319 ../gtk/gtktreeviewcolumn.c:272
+msgstr "Atstarpe starp nedēļas galvenēm un galveno laukumu"
+
+#: ../gtk/gtkcellareabox.c:318 ../gtk/gtktreeviewcolumn.c:284
+#: ../gtk/gtkbox.c:241
+#: ../gtk/gtkexpander.c:311
+#: ../gtk/gtkiconview.c:645
+#: ../gtk/gtktreeviewcolumn.c:271
+#: ../gtk/gtkcellareabox.c:319
+#: ../gtk/gtktreeviewcolumn.c:272
msgid "Space which is inserted between cells"
-msgstr "Laukums, kas ievietots starp šūnām"
+msgstr "Atstarpe, kas ievietota starp šūnām"
+#: ../gtk/gtkcellareabox.c:338
+#: ../gtk/gtkbox.c:272
+#: ../gtk/gtktoolbar.c:543
+#: ../gtk/gtktoolitemgroup.c:1656
+#: ../gtk/gtktoolpalette.c:1101
+#: ../gtk/gtktreeviewcolumn.c:327
#: ../gtk/gtkcellareabox.c:339
-#, fuzzy
#| msgid "Whether the widget responds to input"
msgid "Whether the cell expands"
-msgstr "Vai logdaļa atbild uz ievadi"
+msgstr "Vai šūna izvēršas"
-#: ../gtk/gtkcellareabox.c:354
-#, fuzzy
+#: ../gtk/gtkcellareabox.c:353
#| msgid "xalign"
msgid "Align"
-msgstr "xcentr"
+msgstr "Līdzināt"
+#: ../gtk/gtkcellareabox.c:354
#: ../gtk/gtkcellareabox.c:355
-#, fuzzy
msgid "Whether cell should align with adjacent rows"
-msgstr "Vai izvēlnes priekšmetu rādīt ar numuru"
+msgstr "Vai šūnai vajadzētu līdzināties ar blakus rindām"
-#: ../gtk/gtkcellareabox.c:371
-#, fuzzy
+#: ../gtk/gtkcellareabox.c:370
#| msgid "Pixel size"
msgid "Fixed Size"
-msgstr "Pikseļu izmērs"
+msgstr "Fiksēts izmērs"
+#: ../gtk/gtkcellareabox.c:371
#: ../gtk/gtkcellareabox.c:372
-#, fuzzy
#| msgid "Whether the children should all be the same size"
msgid "Whether cells should be the same size in all rows"
-msgstr "Vai visiem bērniem jabūt pēc viena izmēra"
+msgstr "Vai šūnām jābūt ar tādu pašu izmēru kā visām rindām"
-#: ../gtk/gtkcellareabox.c:388
-#, fuzzy
+#: ../gtk/gtkcellareabox.c:387
#| msgid "Pack type"
msgid "Pack Type"
msgstr "Vienības tips"
+#: ../gtk/gtkcellareabox.c:388
#: ../gtk/gtkcellareabox.c:389
-#, fuzzy
#| msgid ""
#| "A GtkPackType indicating whether the child is packed with reference to "
#| "the start or end of the parent"
"A GtkPackType indicating whether the cell is packed with reference to the "
"start or end of the cell area"
msgstr ""
-"GtkPackType norāda, vai bērns pieblīvēts ar atsauci uz sākuma vai beigu "
-"vecāku"
+"GtkPackType norāda, vai šūna pieblīvēta ar atsauci uz sākuma vai beigu šūnas "
+"laukumu"
-#: ../gtk/gtkcellarea.c:770
+#: ../gtk/gtkcellarea.c:803
msgid "Focus Cell"
-msgstr ""
+msgstr "Fokusa šūna"
-#: ../gtk/gtkcellarea.c:771
-#, fuzzy
+#: ../gtk/gtkcellarea.c:804
#| msgid "The item which is currently active"
msgid "The cell which currently has focus"
-msgstr "Šobrīd aktīvais objekts"
+msgstr "Šūna, uz kuru šobrīd ir fokuss"
-#: ../gtk/gtkcellarea.c:789
+#: ../gtk/gtkcellarea.c:822
msgid "Edited Cell"
-msgstr ""
+msgstr "Rediģēta šūna"
-#: ../gtk/gtkcellarea.c:790
-#, fuzzy
+#: ../gtk/gtkcellarea.c:823
#| msgid "The item which is currently active"
msgid "The cell which is currently being edited"
-msgstr "Šobrīd aktīvais objekts"
+msgstr "Šūna, kura pašlaik tiek rediģēta"
-#: ../gtk/gtkcellarea.c:808
-#, fuzzy
+#: ../gtk/gtkcellarea.c:841
#| msgid "Widget"
msgid "Edit Widget"
-msgstr "Logdaļa"
+msgstr "Rediģēt logdaļu"
-#: ../gtk/gtkcellarea.c:809
-#, fuzzy
+#: ../gtk/gtkcellarea.c:842
#| msgid "The current page in the document"
msgid "The widget currently editing the edited cell"
-msgstr "Pašreizējā lapa dokumentā"
+msgstr "Logdaļa, kas pašlaik rediģē rediģēto šūnu"
+#: ../gtk/gtkcellareacontext.c:119
#: ../gtk/gtkcellareacontext.c:127
msgid "Area"
-msgstr ""
+msgstr "Laukums"
+#: ../gtk/gtkcellareacontext.c:120
#: ../gtk/gtkcellareacontext.c:128
msgid "The Cell Area this context was created for"
-msgstr ""
+msgstr "Šūnas laukums, kam tika izveidots šis konteksts"
-#: ../gtk/gtkcellareacontext.c:144 ../gtk/gtkcellareacontext.c:163
+#: ../gtk/gtkcellareacontext.c:136 ../gtk/gtkcellareacontext.c:155
+#: ../gtk/gtktreeviewcolumn.c:311
+#: ../gtk/gtkcellareacontext.c:144
+#: ../gtk/gtkcellareacontext.c:163
#: ../gtk/gtktreeviewcolumn.c:299
msgid "Minimum Width"
-msgstr "Minimālais Platums"
+msgstr "Minimālais platums"
-#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164
-#, fuzzy
+#: ../gtk/gtkcellareacontext.c:137 ../gtk/gtkcellareacontext.c:156
+#: ../gtk/gtkcellareacontext.c:145
+#: ../gtk/gtkcellareacontext.c:164
#| msgid "Minimum child width"
msgid "Minimum cached width"
-msgstr "Minimālais bērna platums"
+msgstr "Minimālais kešotais platums"
-#: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201
-#, fuzzy
+#: ../gtk/gtkcellareacontext.c:174 ../gtk/gtkcellareacontext.c:193
+#: ../gtk/gtkcellareacontext.c:182
+#: ../gtk/gtkcellareacontext.c:201
#| msgid "Minimum child height"
msgid "Minimum Height"
-msgstr "Minimālais bērna augstums"
+msgstr "Minimālais augstums"
-#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202
-#, fuzzy
+#: ../gtk/gtkcellareacontext.c:175 ../gtk/gtkcellareacontext.c:194
+#: ../gtk/gtkcellareacontext.c:183
+#: ../gtk/gtkcellareacontext.c:202
#| msgid "Minimum child height"
msgid "Minimum cached height"
-msgstr "Minimālais bērna augstums"
+msgstr "Minimālais kešotais augstums"
#: ../gtk/gtkcelleditable.c:53
-#, fuzzy
msgid "Editing Canceled"
-msgstr "Rediģē"
+msgstr "Rediģēšana atcelta"
#: ../gtk/gtkcelleditable.c:54
msgid "Indicates that editing has been canceled"
-msgstr ""
+msgstr "Norāda, ka rediģēšana tika atcelta"
+#: ../gtk/gtkcellrendereraccel.c:152
#: ../gtk/gtkcellrendereraccel.c:137
msgid "Accelerator key"
msgstr "Paātrinātāja taustiņš"
+#: ../gtk/gtkcellrendereraccel.c:153
#: ../gtk/gtkcellrendereraccel.c:138
msgid "The keyval of the accelerator"
-msgstr "Paātrinātāja atslēgvērtība"
+msgstr "Paātrinātāja atslēgas vērtība"
+#: ../gtk/gtkcellrendereraccel.c:169
#: ../gtk/gtkcellrendereraccel.c:154
msgid "Accelerator modifiers"
msgstr "Paātrinātāja modifikatori"
+#: ../gtk/gtkcellrendereraccel.c:170
#: ../gtk/gtkcellrendereraccel.c:155
msgid "The modifier mask of the accelerator"
-msgstr ""
+msgstr "Modifikatora maska paātrinātājam"
+#: ../gtk/gtkcellrendereraccel.c:187
#: ../gtk/gtkcellrendereraccel.c:172
msgid "Accelerator keycode"
msgstr "Paātrinātāja taustiņkods"
+#: ../gtk/gtkcellrendereraccel.c:188
#: ../gtk/gtkcellrendereraccel.c:173
msgid "The hardware keycode of the accelerator"
-msgstr ""
+msgstr "Aparatūras taustiņkods paātrinātājam"
+#: ../gtk/gtkcellrendereraccel.c:207
#: ../gtk/gtkcellrendereraccel.c:192
msgid "Accelerator Mode"
msgstr "Paātrinātāja režīms"
+#: ../gtk/gtkcellrendereraccel.c:208
#: ../gtk/gtkcellrendereraccel.c:193
msgid "The type of accelerators"
msgstr "Paātrinātāja tips"
-#: ../gtk/gtkcellrenderer.c:272
+#: ../gtk/gtkcellrenderer.c:274
msgid "mode"
msgstr "režīms"
-#: ../gtk/gtkcellrenderer.c:273
+#: ../gtk/gtkcellrenderer.c:275
msgid "Editable mode of the CellRenderer"
-msgstr "Rediģēšanas režīms ŠūnasAttēlotājam"
+msgstr "Rediģēšanas režīms CellRenderer"
-#: ../gtk/gtkcellrenderer.c:281
+#: ../gtk/gtkcellrenderer.c:283
msgid "visible"
msgstr "redzams"
-#: ../gtk/gtkcellrenderer.c:282
+#: ../gtk/gtkcellrenderer.c:284
msgid "Display the cell"
-msgstr "Parādīt šūnu"
+msgstr "Rādīt šūnu"
-#: ../gtk/gtkcellrenderer.c:289
+#: ../gtk/gtkcellrenderer.c:291
msgid "Display the cell sensitive"
-msgstr "Rādīt šūnu jūtīgumu"
+msgstr "Rādīt šūnu jutīgumu"
-#: ../gtk/gtkcellrenderer.c:296
+#: ../gtk/gtkcellrenderer.c:298
msgid "xalign"
-msgstr "xcentr"
+msgstr "xlīdz"
-#: ../gtk/gtkcellrenderer.c:297
+#: ../gtk/gtkcellrenderer.c:299
msgid "The x-align"
-msgstr "X-izlīdzināšana"
+msgstr "X līdzināšana"
-#: ../gtk/gtkcellrenderer.c:306
+#: ../gtk/gtkcellrenderer.c:308
msgid "yalign"
-msgstr "ycentr"
+msgstr "ylīdz"
-#: ../gtk/gtkcellrenderer.c:307
+#: ../gtk/gtkcellrenderer.c:309
msgid "The y-align"
-msgstr "Y-izlīdzināšana"
+msgstr "Y līdzināšana"
-#: ../gtk/gtkcellrenderer.c:316
+#: ../gtk/gtkcellrenderer.c:318
msgid "xpad"
msgstr "xpapild"
-#: ../gtk/gtkcellrenderer.c:317
+#: ../gtk/gtkcellrenderer.c:319
msgid "The xpad"
msgstr "Xpapild"
-#: ../gtk/gtkcellrenderer.c:326
+#: ../gtk/gtkcellrenderer.c:328
msgid "ypad"
msgstr "ypapild"
-#: ../gtk/gtkcellrenderer.c:327
+#: ../gtk/gtkcellrenderer.c:329
msgid "The ypad"
msgstr "Ypapild"
-#: ../gtk/gtkcellrenderer.c:336
+#: ../gtk/gtkcellrenderer.c:338
msgid "width"
msgstr "platums"
-#: ../gtk/gtkcellrenderer.c:337
+#: ../gtk/gtkcellrenderer.c:339
msgid "The fixed width"
msgstr "Fiksēts platums"
-#: ../gtk/gtkcellrenderer.c:346
+#: ../gtk/gtkcellrenderer.c:348
msgid "height"
msgstr "augstums"
-#: ../gtk/gtkcellrenderer.c:347
+#: ../gtk/gtkcellrenderer.c:349
msgid "The fixed height"
msgstr "Fiksēts augstums"
-#: ../gtk/gtkcellrenderer.c:356
+#: ../gtk/gtkcellrenderer.c:358
msgid "Is Expander"
-msgstr "Ir Paplašinātājs"
+msgstr "Ir izvērsējs"
-#: ../gtk/gtkcellrenderer.c:357
+#: ../gtk/gtkcellrenderer.c:359
msgid "Row has children"
msgstr "Rindai ir bērni"
-#: ../gtk/gtkcellrenderer.c:365
+#: ../gtk/gtkcellrenderer.c:367
msgid "Is Expanded"
-msgstr "Ir Paplašināta"
+msgstr "Ir izvērsts"
-#: ../gtk/gtkcellrenderer.c:366
+#: ../gtk/gtkcellrenderer.c:368
msgid "Row is an expander row, and is expanded"
-msgstr "Rinda tagad ir paplašinātājs un ir paplašināta"
+msgstr "Rinda ir izvērsējs un ir izvērsta"
-#: ../gtk/gtkcellrenderer.c:373
+#: ../gtk/gtkcellrenderer.c:375
msgid "Cell background color name"
msgstr "Šūnas fona krāsas nosaukums"
-#: ../gtk/gtkcellrenderer.c:374
+#: ../gtk/gtkcellrenderer.c:376
msgid "Cell background color as a string"
msgstr "Šūnas fona krāsa kā virkne"
-#: ../gtk/gtkcellrenderer.c:381
+#: ../gtk/gtkcellrenderer.c:383
msgid "Cell background color"
msgstr "Šūnas fona krāsa"
-#: ../gtk/gtkcellrenderer.c:382
+#: ../gtk/gtkcellrenderer.c:384
msgid "Cell background color as a GdkColor"
msgstr "Šūnas fona krāsa kā GdkColor"
-#: ../gtk/gtkcellrenderer.c:395
-#, fuzzy
+#: ../gtk/gtkcellrenderer.c:397
#| msgid "Cell background color"
msgid "Cell background RGBA color"
-msgstr "Šūnas fona krāsa"
+msgstr "Šūnas fona RGBA krāsa"
-#: ../gtk/gtkcellrenderer.c:396
-#, fuzzy
+#: ../gtk/gtkcellrenderer.c:398
#| msgid "Cell background color as a GdkColor"
msgid "Cell background color as a GdkRGBA"
-msgstr "Šūnas fona krāsa kā GdkColor"
+msgstr "Šūnas fona krāsa kā GdkRGBA"
-#: ../gtk/gtkcellrenderer.c:403
+#: ../gtk/gtkcellrenderer.c:405
msgid "Editing"
msgstr "Rediģē"
-#: ../gtk/gtkcellrenderer.c:404
+#: ../gtk/gtkcellrenderer.c:406
msgid "Whether the cell renderer is currently in editing mode"
msgstr "Vai šūnu attēlotājs atrodas rediģēšanas režīmā"
-#: ../gtk/gtkcellrenderer.c:412
+#: ../gtk/gtkcellrenderer.c:414
msgid "Cell background set"
-msgstr "Šūnas fona iestādījums"
+msgstr "Šūnas fona iestatījums"
-#: ../gtk/gtkcellrenderer.c:413
+#: ../gtk/gtkcellrenderer.c:415
msgid "Whether this tag affects the cell background color"
msgstr "Vai šis birka ietekmē šūnas fona krāsu"
+#: ../gtk/gtkcellrenderercombo.c:130
#: ../gtk/gtkcellrenderercombo.c:109
msgid "Model"
msgstr "Modelis"
+#: ../gtk/gtkcellrenderercombo.c:131
#: ../gtk/gtkcellrenderercombo.c:110
msgid "The model containing the possible values for the combo box"
-msgstr "Modelis, kas satur lauku sarakstā iespējamās vērtības"
+msgstr "Modelis, kas satur iespējamās vērtības kombinētajam lodziņam"
+#: ../gtk/gtkcellrenderercombo.c:153
#: ../gtk/gtkcellrenderercombo.c:132
msgid "Text Column"
msgstr "Teksta kolonna"
+#: ../gtk/gtkcellrenderercombo.c:154
#: ../gtk/gtkcellrenderercombo.c:133
msgid "A column in the data source model to get the strings from"
msgstr "Kolonna datu avota modelī, no kuras iegūt virknes"
-#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:858
+#: ../gtk/gtkcellrenderercombo.c:171 ../gtk/gtkcombobox.c:859
+#: ../gtk/gtkcellrenderercombo.c:150
+#: ../gtk/gtkcombobox.c:858
msgid "Has Entry"
msgstr "Ir ieraksts"
+#: ../gtk/gtkcellrenderercombo.c:172
#: ../gtk/gtkcellrenderercombo.c:151
msgid "If FALSE, don't allow to enter strings other than the chosen ones"
-msgstr "Ja APLAMS, neļaut ievadīt virknes savādākas nekā izvēlētās"
+msgstr "Ja APLAMS, neļaut ievadīt virknes citādākas nekā izvēlētās"
+#: ../gtk/gtkcellrendererpixbuf.c:140
#: ../gtk/gtkcellrendererpixbuf.c:120
msgid "Pixbuf Object"
-msgstr "Pixbuf Objekts"
+msgstr "Pixbuf objekts"
+#: ../gtk/gtkcellrendererpixbuf.c:141
#: ../gtk/gtkcellrendererpixbuf.c:121
msgid "The pixbuf to render"
msgstr "Pixbuf, ko atveidot"
+#: ../gtk/gtkcellrendererpixbuf.c:148
#: ../gtk/gtkcellrendererpixbuf.c:128
msgid "Pixbuf Expander Open"
-msgstr "Pixbuf Paplašinātājs Atvērts"
+msgstr "Pixbuf izvērsējs atvērts"
+#: ../gtk/gtkcellrendererpixbuf.c:149
#: ../gtk/gtkcellrendererpixbuf.c:129
msgid "Pixbuf for open expander"
-msgstr "Pixbuf atvērtam paplašinātājam"
+msgstr "Pixbuf atvērtam izvērsējam"
+#: ../gtk/gtkcellrendererpixbuf.c:156
#: ../gtk/gtkcellrendererpixbuf.c:136
msgid "Pixbuf Expander Closed"
-msgstr "Pixbuf Paplašinātājs Aizvērts"
+msgstr "Pixbuf izvērsējs aizvērts"
+#: ../gtk/gtkcellrendererpixbuf.c:157
#: ../gtk/gtkcellrendererpixbuf.c:137
msgid "Pixbuf for closed expander"
-msgstr "Pixbuf aizvērtam paplašinātājam"
-
-#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:253
-#: ../gtk/gtkstatusicon.c:220
+msgstr "Pixbuf aizvērtam izvērsējam"
+
+#: ../gtk/gtkcellrendererpixbuf.c:164 ../gtk/gtkimage.c:254
+#: ../gtk/gtkstatusicon.c:251
+#: ../gtk/gtkcellrendererpixbuf.c:144
+#: ../gtk/gtkimage.c:253
+#: ../gtk/gtkstatusicon.c:221
+#: ../gtk/gtkstatusicon.c:222
msgid "Stock ID"
msgstr "Krājuma ID"
+#: ../gtk/gtkcellrendererpixbuf.c:165
#: ../gtk/gtkcellrendererpixbuf.c:145
msgid "The stock ID of the stock icon to render"
msgstr "Krāvuma ID krāvuma ikonai, ko attēlot"
-#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:151
-#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:261
+#: ../gtk/gtkcellrendererpixbuf.c:172 ../gtk/gtkcellrendererspinner.c:151
+#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:292
+#: ../gtk/gtkcellrendererpixbuf.c:152
+#: ../gtk/gtkstatusicon.c:262
msgid "Size"
msgstr "Izmērs"
+#: ../gtk/gtkcellrendererpixbuf.c:173
#: ../gtk/gtkcellrendererpixbuf.c:153
msgid "The GtkIconSize value that specifies the size of the rendered icon"
-msgstr "GtkIconSize vertība, kas norāda renderētās ikonas izmēru"
+msgstr "GtkIconSize vērtība, kas norāda renderētās ikonas izmēru"
+#: ../gtk/gtkcellrendererpixbuf.c:182
#: ../gtk/gtkcellrendererpixbuf.c:162
msgid "Detail"
msgstr "Papildus informācija"
+#: ../gtk/gtkcellrendererpixbuf.c:183
#: ../gtk/gtkcellrendererpixbuf.c:163
msgid "Render detail to pass to the theme engine"
-msgstr "Attēlot papildus informāciju, ko pievadīt tēmas dzinējam"
+msgstr "Attēlot papildus informāciju, ko padot tēmas dzinējam"
+#: ../gtk/gtkcellrendererpixbuf.c:216
#: ../gtk/gtkcellrendererpixbuf.c:196
msgid "Follow State"
msgstr "Sekot stāvoklim"
+#: ../gtk/gtkcellrendererpixbuf.c:217
#: ../gtk/gtkcellrendererpixbuf.c:197
msgid "Whether the rendered pixbuf should be colorized according to the state"
msgstr ""
"Vai renderētajam pikseļu buferim vajadzētu būt krāsotam atbilstoši stāvoklim"
-#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:328
-#: ../gtk/gtkwindow.c:695
+#: ../gtk/gtkcellrendererpixbuf.c:234 ../gtk/gtkimage.c:329
+#: ../gtk/gtkwindow.c:701
+#: ../gtk/gtkaction.c:305
+#: ../gtk/gtkcellrendererpixbuf.c:215
+#: ../gtk/gtkstatusicon.c:246
+#: ../gtk/gtkcellrendererpixbuf.c:214
+#: ../gtk/gtkimage.c:328
+#: ../gtk/gtkwindow.c:699
msgid "Icon"
msgstr "Ikona"
+#: ../gtk/gtkcellrendererprogress.c:139
#: ../gtk/gtkcellrendererprogress.c:127
msgid "Value of the progress bar"
msgstr "Progresa joslas vērtība"
-#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255
-#: ../gtk/gtkentry.c:831 ../gtk/gtkentrybuffer.c:352
-#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:177
+#: ../gtk/gtkcellrendererprogress.c:156 ../gtk/gtkcellrenderertext.c:254
+#: ../gtk/gtkentry.c:837 ../gtk/gtkentrybuffer.c:352
+#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:176
+#: ../gtk/gtktextbuffer.c:221
+#: ../gtk/gtkcellrendererprogress.c:144
+#: ../gtk/gtkcellrenderertext.c:255
+#: ../gtk/gtkentry.c:830
+#: ../gtk/gtkprogressbar.c:177
#: ../gtk/gtktextbuffer.c:210
msgid "Text"
msgstr "Teksts"
+#: ../gtk/gtkcellrendererprogress.c:157
#: ../gtk/gtkcellrendererprogress.c:145
msgid "Text on the progress bar"
msgstr "Progresa joslas teksts"
-#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:137
+#: ../gtk/gtkcellrendererprogress.c:180 ../gtk/gtkcellrendererspinner.c:137
+#: ../gtk/gtkcellrendererprogress.c:168
msgid "Pulse"
msgstr "Pulss"
+#: ../gtk/gtkcellrendererprogress.c:181
#: ../gtk/gtkcellrendererprogress.c:169
msgid ""
"Set this to positive values to indicate that some progress is made, but you "
"don't know how much."
msgstr ""
+"Iestatiet šim pozitīvas vērtības, lai norādītu, ka notiek progress, bet jūs "
+"nezināt, cik daudz."
+#: ../gtk/gtkcellrendererprogress.c:197
#: ../gtk/gtkcellrendererprogress.c:185
msgid "Text x alignment"
-msgstr "Teksta centrēšana pret x asi"
+msgstr "Teksta līdzināšana pret x asi"
+#: ../gtk/gtkcellrendererprogress.c:198
#: ../gtk/gtkcellrendererprogress.c:186
msgid ""
"The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL "
"layouts."
msgstr ""
-"Horizontālā teksta izlīdzināšana, no 0 (pa kreisi) līdz 1 (pa labi). Pretējs "
+"Horizontālā teksta līdzināšana, no 0 (pa kreisi) līdz 1 (pa labi). Pretējs "
"RTL izkārtojumiem."
+#: ../gtk/gtkcellrendererprogress.c:214
#: ../gtk/gtkcellrendererprogress.c:202
+#: ../gtk/gtkprogressbar.c:153
+#: ../gtk/gtkrange.c:424
msgid "Text y alignment"
-msgstr "Teksta centrēšana pret y asi"
+msgstr "Teksta līdzināšana pret y asi"
+#: ../gtk/gtkcellrendererprogress.c:215
#: ../gtk/gtkcellrendererprogress.c:203
+#: ../gtk/gtkprogressbar.c:154
msgid "The vertical text alignment, from 0 (top) to 1 (bottom)."
-msgstr "Vertikālā teksta izlīdzināšana, no 0 (augšas) līdz 1 (apakšai)."
+msgstr "Vertikālā teksta līdzināšana, no 0 (augšas) līdz 1 (apakšai)."
-#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153
+#: ../gtk/gtkcellrendererprogress.c:226 ../gtk/gtkprogressbar.c:152
+#: ../gtk/gtkrange.c:426
+#: ../gtk/gtkcellrendererprogress.c:214
+#: ../gtk/gtkprogressbar.c:153
#: ../gtk/gtkrange.c:424
msgid "Inverted"
msgstr "Apgriezts"
-#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:154
-#, fuzzy
+#: ../gtk/gtkcellrendererprogress.c:227 ../gtk/gtkprogressbar.c:153
+#: ../gtk/gtkcellrendererprogress.c:214
+#: ../gtk/gtkrange.c:424
+#: ../gtk/gtkcellrendererprogress.c:215
+#: ../gtk/gtkprogressbar.c:154
msgid "Invert the direction in which the progress bar grows"
-msgstr "Progresjoslas novietojums un pieauguma virziens"
-
-#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:416
-#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:320
+msgstr "Pagriezt virzienu, kurā pieaug progresa josla"
+
+#: ../gtk/gtkcellrendererspin.c:113 ../gtk/gtkrange.c:418
+#: ../gtk/gtkscalebutton.c:237 ../gtk/gtkspinbutton.c:323
+#: ../gtk/gtkcellrendererspin.c:91
+#: ../gtk/gtkrange.c:416
+#: ../gtk/gtkscalebutton.c:236
+#: ../gtk/gtkspinbutton.c:320
msgid "Adjustment"
msgstr "Noregulējums"
-#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:321
-#, fuzzy
+#: ../gtk/gtkcellrendererspin.c:114 ../gtk/gtkspinbutton.c:324
+#: ../gtk/gtkcellrendererspin.c:92
+#: ../gtk/gtkspinbutton.c:321
msgid "The adjustment that holds the value of the spin button"
-msgstr "Noregulēšana, kas pārvalda giešanās pogas vērtību"
+msgstr "Noregulēšana, kas satur griešanās pogas vērtību"
+#: ../gtk/gtkcellrendererspin.c:129
#: ../gtk/gtkcellrendererspin.c:107
msgid "Climb rate"
msgstr "Kāpinājuma koeficients"
-#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:329
+#: ../gtk/gtkcellrendererspin.c:130 ../gtk/gtkspinbutton.c:332
+#: ../gtk/gtkcellrendererspin.c:108
+#: ../gtk/gtkspinbutton.c:329
msgid "The acceleration rate when you hold down a button"
msgstr "Paātrinājuma koeficients, kad jūs turat nospiestu pogu"
-#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253
+#: ../gtk/gtkcellrendererspin.c:143 ../gtk/gtkscale.c:254
+#: ../gtk/gtkspinbutton.c:341
+#: ../gtk/gtkcellrendererspin.c:121
+#: ../gtk/gtkscale.c:252
#: ../gtk/gtkspinbutton.c:338
msgid "Digits"
msgstr "Cipari"
-#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:339
+#: ../gtk/gtkcellrendererspin.c:144 ../gtk/gtkspinbutton.c:342
+#: ../gtk/gtkcellrendererspin.c:122
+#: ../gtk/gtkspinbutton.c:339
msgid "The number of decimal places to display"
msgstr "Parādāmo decimālo vietu skaits"
-#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:106
-#: ../gtk/gtkmenu.c:586 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:752
-#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125
+#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:123
+#: ../gtk/gtkmenu.c:588 ../gtk/gtkspinner.c:115 ../gtk/gtkswitch.c:784
+#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:178
+#: ../gtk/gtktoggletoolbutton.c:127
+#: ../gtk/gtkcheckmenuitem.c:106
+#: ../gtk/gtkmenu.c:586
+#: ../gtk/gtkspinner.c:118
+#: ../gtk/gtkswitch.c:801
+#: ../gtk/gtktogglebutton.c:125
#: ../gtk/gtktoggletoolbutton.c:112
msgid "Active"
msgstr "Aktīvs"
#: ../gtk/gtkcellrendererspinner.c:120
-#, fuzzy
msgid "Whether the spinner is active (ie. shown) in the cell"
-msgstr "Vai izvelētais fonta stils tiek rādīts etiķetē"
+msgstr "Vai ritenītis ir aktīvs (t.i. redzams) šūnā"
#: ../gtk/gtkcellrendererspinner.c:138
-#, fuzzy
msgid "Pulse of the spinner"
-msgstr "Printera nosaukums"
+msgstr "Ritenīša pulss"
#: ../gtk/gtkcellrendererspinner.c:152
-#, fuzzy
msgid "The GtkIconSize value that specifies the size of the rendered spinner"
-msgstr "GtkIconSize vertība, kas norāda renderētās ikonas izmēru"
-
+msgstr "GtkIconSize vērtība, kas norāda renderētā ritenīša izmēru"
+
+#: ../gtk/gtkcellrenderertext.c:255
+#: ../gtk/gtkcellrendererprogress.c:144
+#: ../gtk/gtkentry.c:830
+#: ../gtk/gtkentrybuffer.c:352
+#: ../gtk/gtkmessagedialog.c:227
+#: ../gtk/gtkprogressbar.c:177
+#: ../gtk/gtktextbuffer.c:210
#: ../gtk/gtkcellrenderertext.c:256
msgid "Text to render"
msgstr "Teksts, ko atveidot"
-#: ../gtk/gtkcellrenderertext.c:263
+#: ../gtk/gtkcellrenderertext.c:262
msgid "Markup"
msgstr "Marķēt"
+#: ../gtk/gtkcellrenderertext.c:263
#: ../gtk/gtkcellrenderertext.c:264
msgid "Marked up text to render"
msgstr "Marķēt tekstu, ko renderēt"
-#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:574
+#: ../gtk/gtkcellrenderertext.c:270 ../gtk/gtklabel.c:751
+#: ../gtk/gtkcellrenderertext.c:271
+#: ../gtk/gtklabel.c:574
msgid "Attributes"
msgstr "Atribūti"
+#: ../gtk/gtkcellrenderertext.c:271
+#: ../gtk/gtklabel.c:574
#: ../gtk/gtkcellrenderertext.c:272
msgid "A list of style attributes to apply to the text of the renderer"
msgstr "Stila atribūtu saraksts, kurus pielietot atveidotāja tekstam"
-#: ../gtk/gtkcellrenderertext.c:279
+#: ../gtk/gtkcellrenderertext.c:278
msgid "Single Paragraph Mode"
msgstr "Viena paragrāfa režīms"
+#: ../gtk/gtkcellrenderertext.c:279
#: ../gtk/gtkcellrenderertext.c:280
-#, fuzzy
msgid "Whether to keep all text in a single paragraph"
-msgstr "Vai atstāt, vai nē tekstu vienā paragrāfā"
+msgstr "Vai paturēt tekstu vienā rindkopā"
-#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:189
+#: ../gtk/gtkcellrenderertext.c:287 ../gtk/gtkcellview.c:191
+#: ../gtk/gtktexttag.c:199
+#: ../gtk/gtkcellrenderertext.c:288
+#: ../gtk/gtkcellview.c:189
#: ../gtk/gtktexttag.c:196
msgid "Background color name"
msgstr "Fona krāsas nosaukums"
-#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:190
+#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:192
+#: ../gtk/gtktexttag.c:200
+#: ../gtk/gtkcellview.c:189
+#: ../gtk/gtktexttag.c:196
+#: ../gtk/gtkcellrenderertext.c:289
+#: ../gtk/gtkcellview.c:190
#: ../gtk/gtktexttag.c:197
msgid "Background color as a string"
msgstr "Fona krāsa kā virkne"
-#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:196
+#: ../gtk/gtkcellrenderertext.c:295 ../gtk/gtkcellview.c:198
+#: ../gtk/gtktexttag.c:207
+#: ../gtk/gtkcellrenderertext.c:296
+#: ../gtk/gtkcellview.c:196
#: ../gtk/gtktexttag.c:204
msgid "Background color"
msgstr "Fona krāsa"
-#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:197
+#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:199
+#: ../gtk/gtktexttag.c:208
+#: ../gtk/gtkcellview.c:196
+#: ../gtk/gtktexttag.c:204
+#: ../gtk/gtkcellrenderertext.c:297
+#: ../gtk/gtkcellview.c:197
msgid "Background color as a GdkColor"
msgstr "Fona krāsa kā GdkColor"
-#: ../gtk/gtkcellrenderertext.c:311
-#, fuzzy
+#: ../gtk/gtkcellrenderertext.c:310
#| msgid "Background color name"
msgid "Background color as RGBA"
-msgstr "Fona krāsas nosaukums"
+msgstr "Fona krāsa kā RGBA"
-#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:211
-#, fuzzy
+#: ../gtk/gtkcellrenderertext.c:311 ../gtk/gtkcellview.c:213
+#: ../gtk/gtktexttag.c:223
+#: ../gtk/gtkcellrenderertext.c:312
+#: ../gtk/gtkcellview.c:211
#| msgid "Background color as a GdkColor"
msgid "Background color as a GdkRGBA"
-msgstr "Fona krāsa kā GdkColor"
+msgstr "Fona krāsa kā GdkRGBA"
-#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:220
+#: ../gtk/gtkcellrenderertext.c:317 ../gtk/gtktexttag.c:238
+#: ../gtk/gtkcellrenderertext.c:318
+#: ../gtk/gtktexttag.c:220
msgid "Foreground color name"
msgstr "Priekšplāna krāsas nosaukums"
-#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:221
+#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:239
+#: ../gtk/gtktexttag.c:220
+#: ../gtk/gtkcellrenderertext.c:319
+#: ../gtk/gtktexttag.c:221
msgid "Foreground color as a string"
msgstr "Priekšplāna krāsa kā virkne"
-#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:228
-#: ../gtk/gtktrayicon-x11.c:134
+#: ../gtk/gtkcellrenderertext.c:325 ../gtk/gtktexttag.c:246
+#: ../gtk/gtktrayicon-x11.c:137
+#: ../gtk/gtkcellrenderertext.c:326
+#: ../gtk/gtktexttag.c:228
+#: ../gtk/gtkcellrenderertext.c:351
+#: ../gtk/gtktextview.c:685
msgid "Foreground color"
msgstr "Priekšplāna krāsa"
+#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:247
+#: ../gtk/gtktexttag.c:228
+#: ../gtk/gtktrayicon-x11.c:137
#: ../gtk/gtkcellrenderertext.c:327
msgid "Foreground color as a GdkColor"
msgstr "Priekšplāna krāsa kā GdkColor"
-#: ../gtk/gtkcellrenderertext.c:341
-#, fuzzy
+#: ../gtk/gtkcellrenderertext.c:340
#| msgid "Foreground color name"
msgid "Foreground color as RGBA"
-msgstr "Priekšplāna krāsas nosaukums"
+msgstr "Priekšplāna krāsa kā RGBA"
+#: ../gtk/gtkcellrenderertext.c:341 ../gtk/gtktexttag.c:262
#: ../gtk/gtkcellrenderertext.c:342
-#, fuzzy
+#: ../gtk/gtkcellrenderertext.c:359
#| msgid "Foreground color as a GdkColor"
msgid "Foreground color as a GdkRGBA"
-msgstr "Priekšplāna krāsa kā GdkColor"
-
-#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:755
-#: ../gtk/gtktexttag.c:245 ../gtk/gtktextview.c:684
+msgstr "Priekšplāna krāsa kā GdkRGBA"
+
+#: ../gtk/gtkcellrenderertext.c:349 ../gtk/gtkentry.c:761
+#: ../gtk/gtktexttag.c:278 ../gtk/gtktextview.c:686
+#: ../gtk/gtkcellrenderertext.c:350
+#: ../gtk/gtkentry.c:754
+#: ../gtk/gtktexttag.c:245
+#: ../gtk/gtktextview.c:684
+#: ../gtk/gtkcellrenderertext.c:376
msgid "Editable"
msgstr "Rediģējams"
-#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:246
+#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtktexttag.c:279
+#: ../gtk/gtktextview.c:687
+#: ../gtk/gtkentry.c:754
+#: ../gtk/gtktexttag.c:245
+#: ../gtk/gtktextview.c:684
+#: ../gtk/gtkcellrenderertext.c:351
+#: ../gtk/gtktexttag.c:246
#: ../gtk/gtktextview.c:685
msgid "Whether the text can be modified by the user"
msgstr "Vai tekstu var modificēt lietotājs"
-#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366
-#: ../gtk/gtktexttag.c:261 ../gtk/gtktexttag.c:269
+#: ../gtk/gtkcellrenderertext.c:357 ../gtk/gtkcellrenderertext.c:365
+#: ../gtk/gtktexttag.c:294 ../gtk/gtktexttag.c:302
+#: ../gtk/gtkcellrenderertext.c:392
+#: ../gtk/gtkcellrenderertext.c:393
msgid "Font"
msgstr "Fonts"
-#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:262
+#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtktexttag.c:295
+#: ../gtk/gtkcellrenderertext.c:366
+#: ../gtk/gtktexttag.c:261
+#: ../gtk/gtktexttag.c:269
+#: ../gtk/gtkcellrenderertext.c:359
+#: ../gtk/gtktexttag.c:262
msgid "Font description as a string, e.g. \"Sans Italic 12\""
msgstr "Fonta apraksts kā virkne, piem., \"Sans Italic 12\""
-#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:270
+#: ../gtk/gtkcellrenderertext.c:366 ../gtk/gtktexttag.c:303
+#: ../gtk/gtkcellrenderertext.c:358
+#: ../gtk/gtktexttag.c:261
+#: ../gtk/gtktexttag.c:269
+#: ../gtk/gtkcellrenderertext.c:367
+#: ../gtk/gtktexttag.c:270
+#: ../gtk/gtkcellrenderertext.c:401
+#: ../gtk/gtkcellrenderertext.c:402
msgid "Font description as a PangoFontDescription struct"
msgstr "Fonta apraksts kā PangoFontDescription struktūra"
-#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:277
+#: ../gtk/gtkcellrenderertext.c:374 ../gtk/gtktexttag.c:310
+#: ../gtk/gtkcellrenderertext.c:375
+#: ../gtk/gtktexttag.c:277
msgid "Font family"
msgstr "Fonta saime"
-#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:278
+#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:311
+#: ../gtk/gtktexttag.c:277
+#: ../gtk/gtkcellrenderertext.c:376
+#: ../gtk/gtktexttag.c:278
msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace"
msgstr "Fonta saimes nosaukums, piem., Sans, Helvetica, Times, Monospace"
-#: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384
+#: ../gtk/gtkcellrenderertext.c:382 ../gtk/gtkcellrenderertext.c:383
+#: ../gtk/gtktexttag.c:318
+#: ../gtk/gtkcellrenderertext.c:384
#: ../gtk/gtktexttag.c:285
msgid "Font style"
msgstr "Fonta stils"
-#: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393
+#: ../gtk/gtkcellrenderertext.c:391 ../gtk/gtkcellrenderertext.c:392
+#: ../gtk/gtktexttag.c:327
+#: ../gtk/gtkcellrenderertext.c:393
#: ../gtk/gtktexttag.c:294
msgid "Font variant"
msgstr "Fonta variants"
-#: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402
+#: ../gtk/gtkcellrenderertext.c:400 ../gtk/gtkcellrenderertext.c:401
+#: ../gtk/gtktexttag.c:336
+#: ../gtk/gtkcellrenderertext.c:402
#: ../gtk/gtktexttag.c:303
msgid "Font weight"
-msgstr "Fonta platums"
+msgstr "Fonta treknums"
-#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412
+#: ../gtk/gtkcellrenderertext.c:410 ../gtk/gtkcellrenderertext.c:411
+#: ../gtk/gtktexttag.c:347
+#: ../gtk/gtkcellrenderertext.c:412
#: ../gtk/gtktexttag.c:314
msgid "Font stretch"
msgstr "Fonta izstiepums"
-#: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421
+#: ../gtk/gtkcellrenderertext.c:419 ../gtk/gtkcellrenderertext.c:420
+#: ../gtk/gtktexttag.c:356
+#: ../gtk/gtkcellrenderertext.c:421
#: ../gtk/gtktexttag.c:323
msgid "Font size"
msgstr "Fonta izmērs"
-#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:343
+#: ../gtk/gtkcellrenderertext.c:429 ../gtk/gtktexttag.c:376
+#: ../gtk/gtkcellrenderertext.c:430
+#: ../gtk/gtktexttag.c:343
msgid "Font points"
msgstr "Fonta punkti"
-#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:344
+#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:377
+#: ../gtk/gtktexttag.c:343
+#: ../gtk/gtkcellrenderertext.c:431
+#: ../gtk/gtktexttag.c:344
msgid "Font size in points"
msgstr "Fonta izmērs punktos"
-#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:333
+#: ../gtk/gtkcellrenderertext.c:439 ../gtk/gtktexttag.c:366
+#: ../gtk/gtkcellrenderertext.c:440
+#: ../gtk/gtktexttag.c:333
msgid "Font scale"
msgstr "Fonta mērogs"
+#: ../gtk/gtkcellrenderertext.c:440
+#: ../gtk/gtktexttag.c:333
#: ../gtk/gtkcellrenderertext.c:441
msgid "Font scaling factor"
-msgstr "Fonta mērogojuma faktors"
+msgstr "Fonta mēroga koeficients"
-#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:412
+#: ../gtk/gtkcellrenderertext.c:449 ../gtk/gtktexttag.c:445
+#: ../gtk/gtkcellrenderertext.c:450
+#: ../gtk/gtktexttag.c:412
msgid "Rise"
msgstr "Pacelt"
+#: ../gtk/gtkcellrenderertext.c:450
+#: ../gtk/gtktexttag.c:412
#: ../gtk/gtkcellrenderertext.c:451
msgid ""
"Offset of text above the baseline (below the baseline if rise is negative)"
msgstr "Teksta nobīde no bāzes līnijas (zem līnijas, ja pacēlums ir negatīvs)"
-#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:452
+#: ../gtk/gtkcellrenderertext.c:461 ../gtk/gtktexttag.c:485
+#: ../gtk/gtkcellrenderertext.c:462
+#: ../gtk/gtktexttag.c:452
msgid "Strikethrough"
-msgstr "Caursvītrot"
+msgstr "Pārsvītrot"
-#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:453
+#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:486
+#: ../gtk/gtktexttag.c:452
+#: ../gtk/gtkcellrenderertext.c:463
+#: ../gtk/gtktexttag.c:453
msgid "Whether to strike through the text"
-msgstr "Vai caursvītrot tekstu"
+msgstr "Vai pārsvītrot tekstu"
-#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:460
+#: ../gtk/gtkcellrenderertext.c:469 ../gtk/gtktexttag.c:493
+#: ../gtk/gtkcellrenderertext.c:470
+#: ../gtk/gtktexttag.c:460
msgid "Underline"
msgstr "Pasvītrot"
-#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:461
+#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:494
+#: ../gtk/gtktexttag.c:460
+#: ../gtk/gtkcellrenderertext.c:471
+#: ../gtk/gtktexttag.c:461
msgid "Style of underline for this text"
msgstr "Pasvītrošanas stils šim tekstam"
-#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:372
+#: ../gtk/gtkcellrenderertext.c:478 ../gtk/gtktexttag.c:405
+#: ../gtk/gtkcellrenderertext.c:479
+#: ../gtk/gtktexttag.c:372
msgid "Language"
msgstr "Valoda"
+#: ../gtk/gtkcellrenderertext.c:479
+#: ../gtk/gtktexttag.c:372
#: ../gtk/gtkcellrenderertext.c:480
msgid ""
"The language this text is in, as an ISO code. Pango can use this as a hint "
"when rendering the text. If you don't understand this parameter, you "
"probably don't need it"
msgstr ""
-"Valoda, kādā šis teksts ir, kā ISO kods. Pang var lietot šo kā padomu, kad "
+"Valoda, kādā šis teksts ir, kā ISO kods. Pango var lietot šo kā padomu, kad "
"renderē tekstu. Ja jūs nesaprotat šo parametru, jums visdrīzāk to nevajag"
-#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:699
+#: ../gtk/gtkcellrenderertext.c:499 ../gtk/gtklabel.c:876
+#: ../gtk/gtkprogressbar.c:216
+#: ../gtk/gtkcellrenderertext.c:500
+#: ../gtk/gtklabel.c:699
#: ../gtk/gtkprogressbar.c:217
msgid "Ellipsize"
-msgstr "Eliptizēt"
+msgstr "Īsināt ar daudzpunkti"
+#: ../gtk/gtkcellrenderertext.c:500
+#: ../gtk/gtklabel.c:699
+#: ../gtk/gtkprogressbar.c:217
#: ../gtk/gtkcellrenderertext.c:501
msgid ""
"The preferred place to ellipsize the string, if the cell renderer does not "
"have enough room to display the entire string"
msgstr ""
+"Vēlamā vieta, kur virkni īsināt ar daudzpunkti, ja šūna attēlotājam "
+"nepietiek vietas, lai attēlotu visu virkni"
-#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411
+#: ../gtk/gtkcellrenderertext.c:519 ../gtk/gtkfilechooserbutton.c:454
+#: ../gtk/gtklabel.c:897
+#: ../gtk/gtkcellrenderertext.c:520
+#: ../gtk/gtkfilechooserbutton.c:411
#: ../gtk/gtklabel.c:720
msgid "Width In Characters"
-msgstr "Platums rakszīmēs"
+msgstr "Platums rakstzīmēs"
-#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:721
+#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtklabel.c:898
+#: ../gtk/gtkfilechooserbutton.c:411
+#: ../gtk/gtklabel.c:720
+#: ../gtk/gtkcellrenderertext.c:521
+#: ../gtk/gtklabel.c:721
msgid "The desired width of the label, in characters"
-msgstr "Izvēlētais etiķetes platums rakstzīmēs"
+msgstr "Izvēlētais iezīmes platums, izteikts rakstzīmēs"
-#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:781
+#: ../gtk/gtkcellrenderertext.c:544 ../gtk/gtklabel.c:958
+#: ../gtk/gtkcellrenderertext.c:545
+#: ../gtk/gtklabel.c:781
msgid "Maximum Width In Characters"
-msgstr "Maksimālais platums rakszīmēs"
+msgstr "Maksimālais platums, izteikts rakstzīmēs"
+#: ../gtk/gtkcellrenderertext.c:545
+#: ../gtk/gtklabel.c:781
#: ../gtk/gtkcellrenderertext.c:546
-#, fuzzy
msgid "The maximum width of the cell, in characters"
-msgstr "Vēlamais maksimālais etiķetes platums rakstīmēs"
+msgstr "Maksimālais šūnas platums, izteikts rakstzīmēs"
-#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:469
+#: ../gtk/gtkcellrenderertext.c:563 ../gtk/gtktexttag.c:502
+#: ../gtk/gtkcellrenderertext.c:564
+#: ../gtk/gtktexttag.c:469
msgid "Wrap mode"
msgstr "Aplaušanas režīms"
+#: ../gtk/gtkcellrenderertext.c:564
+#: ../gtk/gtktexttag.c:469
#: ../gtk/gtkcellrenderertext.c:565
msgid ""
"How to break the string into multiple lines, if the cell renderer does not "
"have enough room to display the entire string"
msgstr ""
-"Kā sadalīt virkni vairākās līnijās, ja šūnas renderējumam nav pietiekami "
+"Kā sadalīt virkni vairākās līnijās, ja šūnas attēlojumam nav pietiekami "
"daudz vietas, lai attēlotu visu virkni"
-#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:680
+#: ../gtk/gtkcellrenderertext.c:583 ../gtk/gtkcombobox.c:681
+#: ../gtk/gtkcellrenderertext.c:584
+#: ../gtk/gtkcombobox.c:680
msgid "Wrap width"
-msgstr "Apliekuma platums"
+msgstr "Aplaušanas platums"
+#: ../gtk/gtkcellrenderertext.c:584
+#: ../gtk/gtkcombobox.c:680
#: ../gtk/gtkcellrenderertext.c:585
msgid "The width at which the text is wrapped"
-msgstr "Platums, kurā teksts ir apliekts"
+msgstr "Platums, kurā teksts ir aplauzts"
-#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:352
+#: ../gtk/gtkcellrenderertext.c:604 ../gtk/gtktreeviewcolumn.c:364
+#: ../gtk/gtkcellrenderertext.c:605
+#: ../gtk/gtktreeviewcolumn.c:352
msgid "Alignment"
-msgstr "Centrēšana"
+msgstr "Līdzināšana"
+#: ../gtk/gtkcellrenderertext.c:605
+#: ../gtk/gtktreeviewcolumn.c:352
#: ../gtk/gtkcellrenderertext.c:606
msgid "How to align the lines"
-msgstr "Kā izlīdzināt rindiņas"
+msgstr "Kā līdzināt rindiņas"
-#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:312
+#: ../gtk/gtkcellrenderertext.c:617 ../gtk/gtkcellview.c:317
+#: ../gtk/gtktexttag.c:605
+#: ../gtk/gtkcellrenderertext.c:618
+#: ../gtk/gtkcellview.c:315
#: ../gtk/gtktexttag.c:558
msgid "Background set"
-msgstr "Fona iestādījums"
+msgstr "Fona iestatījums"
-#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:313
+#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:318
+#: ../gtk/gtktexttag.c:606
+#: ../gtk/gtkcellview.c:315
+#: ../gtk/gtktexttag.c:558
+#: ../gtk/gtkcellrenderertext.c:619
+#: ../gtk/gtkcellview.c:316
#: ../gtk/gtktexttag.c:559
+#: ../gtk/gtkcellrenderertext.c:670
msgid "Whether this tag affects the background color"
msgstr "Vai šis birka ietekmē fona krāsu"
-#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:566
+#: ../gtk/gtkcellrenderertext.c:621 ../gtk/gtktexttag.c:613
+#: ../gtk/gtkcellrenderertext.c:622
+#: ../gtk/gtktexttag.c:566
msgid "Foreground set"
-msgstr "Priekšplāna iestādījums"
+msgstr "Priekšplāna iestatījums"
-#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:567
+#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:614
+#: ../gtk/gtktexttag.c:566
+#: ../gtk/gtkcellrenderertext.c:623
+#: ../gtk/gtktexttag.c:567
msgid "Whether this tag affects the foreground color"
-msgstr "Vai šis birka ietekmē prikšplāna krāsu"
+msgstr "Vai šis birka ietekmē priekšplāna krāsu"
-#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:570
+#: ../gtk/gtkcellrenderertext.c:625 ../gtk/gtktexttag.c:617
+#: ../gtk/gtkcellrenderertext.c:626
+#: ../gtk/gtktexttag.c:570
msgid "Editability set"
-msgstr "Rediģējamības iestādījums"
+msgstr "Rediģējamības iestatījums"
-#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:571
+#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:618
+#: ../gtk/gtktexttag.c:570
+#: ../gtk/gtkcellrenderertext.c:627
+#: ../gtk/gtktexttag.c:571
+#: ../gtk/gtkcellrenderertext.c:658
msgid "Whether this tag affects text editability"
msgstr "Vai šis birka ietekmē teksta rediģējamību"
-#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:574
+#: ../gtk/gtkcellrenderertext.c:629 ../gtk/gtktexttag.c:621
+#: ../gtk/gtkcellrenderertext.c:630
+#: ../gtk/gtktexttag.c:574
msgid "Font family set"
-msgstr "Fonta saimess iestādījums"
+msgstr "Fonta saimes iestatījums"
-#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:575
+#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:622
+#: ../gtk/gtktexttag.c:574
+#: ../gtk/gtkcellrenderertext.c:631
+#: ../gtk/gtktexttag.c:575
msgid "Whether this tag affects the font family"
msgstr "Vai šis birka ietekmē fonta saimi"
-#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:578
+#: ../gtk/gtkcellrenderertext.c:633 ../gtk/gtktexttag.c:625
+#: ../gtk/gtkcellrenderertext.c:634
+#: ../gtk/gtktexttag.c:578
msgid "Font style set"
-msgstr "Fonta stila iestādījums"
+msgstr "Fonta stila iestatījums"
-#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:579
+#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:626
+#: ../gtk/gtktexttag.c:578
+#: ../gtk/gtkcellrenderertext.c:635
+#: ../gtk/gtktexttag.c:579
msgid "Whether this tag affects the font style"
msgstr "Vai šis birka ietekmē fonta stilu"
-#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:582
+#: ../gtk/gtkcellrenderertext.c:637 ../gtk/gtktexttag.c:629
+#: ../gtk/gtkcellrenderertext.c:638
+#: ../gtk/gtktexttag.c:582
msgid "Font variant set"
-msgstr "Fonta varianta iestādījums"
+msgstr "Fonta varianta iestatījums"
-#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:583
+#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:630
+#: ../gtk/gtktexttag.c:582
+#: ../gtk/gtkcellrenderertext.c:639
+#: ../gtk/gtktexttag.c:583
msgid "Whether this tag affects the font variant"
msgstr "Vai šis birka ietekmē fonta variantu"
-#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:586
+#: ../gtk/gtkcellrenderertext.c:641 ../gtk/gtktexttag.c:633
+#: ../gtk/gtkcellrenderertext.c:642
+#: ../gtk/gtktexttag.c:586
msgid "Font weight set"
-msgstr "Fonta platuma iestādījums"
+msgstr "Fonta platuma iestatījums"
-#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:587
+#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:634
+#: ../gtk/gtktexttag.c:586
+#: ../gtk/gtkcellrenderertext.c:643
+#: ../gtk/gtktexttag.c:587
+#: ../gtk/gtkcellrenderertext.c:662
msgid "Whether this tag affects the font weight"
msgstr "Vai šis birka ietekmē fonta platumu"
-#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:590
+#: ../gtk/gtkcellrenderertext.c:645 ../gtk/gtktexttag.c:637
+#: ../gtk/gtkcellrenderertext.c:646
+#: ../gtk/gtktexttag.c:590
msgid "Font stretch set"
-msgstr "Fonta izstiepšanās iestadījums"
+msgstr "Fonta izstiepšanās iestatījums"
-#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:591
+#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:638
+#: ../gtk/gtktexttag.c:590
+#: ../gtk/gtkcellrenderertext.c:647
+#: ../gtk/gtktexttag.c:591
msgid "Whether this tag affects the font stretch"
msgstr "Vai šis birka ietekmē fonta izstiepšanos"
-#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:594
+#: ../gtk/gtkcellrenderertext.c:649 ../gtk/gtktexttag.c:641
+#: ../gtk/gtkcellrenderertext.c:650
+#: ../gtk/gtktexttag.c:594
msgid "Font size set"
-msgstr "Fonta izmēra iestādījums"
+msgstr "Fonta izmēra iestatījums"
-#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:595
+#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:642
+#: ../gtk/gtktexttag.c:594
+#: ../gtk/gtkcellrenderertext.c:651
+#: ../gtk/gtktexttag.c:595
+#: ../gtk/gtkcellrenderertext.c:666
msgid "Whether this tag affects the font size"
msgstr "Vai šis birka ietekmē fonta izmēru"
-#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:598
+#: ../gtk/gtkcellrenderertext.c:653 ../gtk/gtktexttag.c:645
+#: ../gtk/gtkcellrenderertext.c:654
+#: ../gtk/gtktexttag.c:598
msgid "Font scale set"
-msgstr "Fonta mēroga iestādījums"
+msgstr "Fonta mēroga iestatījums"
-#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:599
+#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:646
+#: ../gtk/gtktexttag.c:598
+#: ../gtk/gtkcellrenderertext.c:655
+#: ../gtk/gtktexttag.c:599
msgid "Whether this tag scales the font size by a factor"
msgstr "Vai šis birka ietekmē fonta izmēru pēc koeficienta"
-#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:618
+#: ../gtk/gtkcellrenderertext.c:657 ../gtk/gtktexttag.c:665
msgid "Rise set"
msgstr "Pacēluma iestādījums"
-#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:619
+#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:666
+#: ../gtk/gtktexttag.c:618
+#: ../gtk/gtkcellrenderertext.c:659
+#: ../gtk/gtktexttag.c:619
msgid "Whether this tag affects the rise"
msgstr "Vai šis birka ietekmē pacēlumu"
-#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:634
+#: ../gtk/gtkcellrenderertext.c:661 ../gtk/gtktexttag.c:681
msgid "Strikethrough set"
msgstr "Caursvītrošanas iestādījums"
-#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:635
+#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:682
+#: ../gtk/gtktexttag.c:634
+#: ../gtk/gtkcellrenderertext.c:663
+#: ../gtk/gtktexttag.c:635
msgid "Whether this tag affects strikethrough"
-msgstr "Vai šis birka ietekmē caursvītrošanu"
+msgstr "Vai šis birka ietekmē nosvītrošanu"
-#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:642
+#: ../gtk/gtkcellrenderertext.c:665 ../gtk/gtktexttag.c:689
msgid "Underline set"
msgstr "Pasvītrošanas iestādījums"
-#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:643
+#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:690
+#: ../gtk/gtktexttag.c:642
+#: ../gtk/gtkcellrenderertext.c:667
+#: ../gtk/gtktexttag.c:643
msgid "Whether this tag affects underlining"
msgstr "Vai šis birka ietekmē pasvītrošanu"
-#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:606
+#: ../gtk/gtkcellrenderertext.c:669 ../gtk/gtktexttag.c:653
msgid "Language set"
msgstr "Valodas iestādījums"
-#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:607
+#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:654
+#: ../gtk/gtktexttag.c:606
+#: ../gtk/gtkcellrenderertext.c:671
+#: ../gtk/gtktexttag.c:607
msgid "Whether this tag affects the language the text is rendered as"
msgstr "Vai šis birka ietekmē valodu, kādā teksts tiek atveidots"
-#: ../gtk/gtkcellrenderertext.c:674
+#: ../gtk/gtkcellrenderertext.c:673
msgid "Ellipsize set"
msgstr "Eliptizēšanas iestatījums"
+#: ../gtk/gtkcellrenderertext.c:674
#: ../gtk/gtkcellrenderertext.c:675
msgid "Whether this tag affects the ellipsize mode"
-msgstr "Vai šī birka ietekmē eliptizēšanas režīmu"
+msgstr "Vai šī birka ietekmē īsināšanas ar daudzpunkti režīmu"
-#: ../gtk/gtkcellrenderertext.c:678
+#: ../gtk/gtkcellrenderertext.c:677
msgid "Align set"
msgstr "Centrēšana"
+#: ../gtk/gtkcellrenderertext.c:678
#: ../gtk/gtkcellrenderertext.c:679
msgid "Whether this tag affects the alignment mode"
-msgstr "Vai šī birka ietekmē centrēšanas režīmu"
+msgstr "Vai šī birka ietekmē līdzināšanas režīmu"
+#: ../gtk/gtkcellrenderertoggle.c:140
#: ../gtk/gtkcellrenderertoggle.c:128
msgid "Toggle state"
-msgstr "Slēgt stāvokli"
+msgstr "Pārslēgt stāvokli"
+#: ../gtk/gtkcellrenderertoggle.c:141
#: ../gtk/gtkcellrenderertoggle.c:129
msgid "The toggle state of the button"
-msgstr "Slēgt pogas stāvokli"
+msgstr "Pārslēgt pogas stāvokli"
+#: ../gtk/gtkcellrenderertoggle.c:148
#: ../gtk/gtkcellrenderertoggle.c:136
msgid "Inconsistent state"
msgstr "Nekonsekvents stāvoklis"
+#: ../gtk/gtkcellrenderertoggle.c:149
#: ../gtk/gtkcellrenderertoggle.c:137
msgid "The inconsistent state of the button"
msgstr "Nekonsekvents pogas stāvoklis"
+#: ../gtk/gtkcellrenderertoggle.c:156
#: ../gtk/gtkcellrenderertoggle.c:144
msgid "Activatable"
msgstr "Aktivizējams"
+#: ../gtk/gtkcellrenderertoggle.c:157
#: ../gtk/gtkcellrenderertoggle.c:145
msgid "The toggle button can be activated"
-msgstr "Slēgšanas poga var tikt aktivizēta"
+msgstr "Pārslēgšanas poga var tikt aktivizēta"
+#: ../gtk/gtkcellrenderertoggle.c:164
#: ../gtk/gtkcellrenderertoggle.c:152
msgid "Radio state"
msgstr "Radio stāvoklis"
+#: ../gtk/gtkcellrenderertoggle.c:165
#: ../gtk/gtkcellrenderertoggle.c:153
msgid "Draw the toggle button as a radio button"
-msgstr "Zīmē slēgšanas pogu kā radio pogu"
+msgstr "Zīmēt pārslēgšanas pogu kā radio pogu"
+#: ../gtk/gtkcellrenderertoggle.c:172
#: ../gtk/gtkcellrenderertoggle.c:160
msgid "Indicator size"
msgstr "Indikatora izmērs"
-#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78
+#: ../gtk/gtkcellrenderertoggle.c:173 ../gtk/gtkcheckbutton.c:93
+#: ../gtk/gtkcheckmenuitem.c:147
+#: ../gtk/gtkcellrenderertoggle.c:161
+#: ../gtk/gtkcheckbutton.c:78
#: ../gtk/gtkcheckmenuitem.c:130
msgid "Size of check or radio indicator"
-msgstr "Ķeksīša vai radio indikātora izmērs"
+msgstr "Ķeksīša vai radio indikatora izmērs"
+#: ../gtk/gtkcellview.c:212
#: ../gtk/gtkcellview.c:210
-#, fuzzy
#| msgid "Background color"
msgid "Background RGBA color"
-msgstr "Fona krāsa"
+msgstr "Fona RGBA krāsa"
+#: ../gtk/gtkcellview.c:227
#: ../gtk/gtkcellview.c:225
msgid "CellView model"
msgstr "CellView modelis"
+#: ../gtk/gtkcellview.c:228
#: ../gtk/gtkcellview.c:226
msgid "The model for cell view"
msgstr "Šūnu skata modelis"
-#: ../gtk/gtkcellview.c:241 ../gtk/gtkcombobox.c:941
-#: ../gtk/gtkentrycompletion.c:445 ../gtk/gtkiconview.c:764
-#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:412
+#: ../gtk/gtkcellview.c:246 ../gtk/gtkcombobox.c:945
+#: ../gtk/gtkentrycompletion.c:448 ../gtk/gtkiconview.c:769
+#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:427
+#: ../gtk/gtkcellview.c:244
+#: ../gtk/gtkcombobox.c:944
+#: ../gtk/gtkiconview.c:770
+#: ../gtk/gtktreeviewcolumn.c:415
+#: ../gtk/gtkcellview.c:245
+#: ../gtk/gtkentrycompletion.c:449
+#: ../gtk/gtkiconview.c:771
+#: ../gtk/gtktreemenu.c:330
+#: ../gtk/gtktreeviewcolumn.c:416
msgid "Cell Area"
-msgstr ""
-
-#: ../gtk/gtkcellview.c:242 ../gtk/gtkcombobox.c:942
-#: ../gtk/gtkentrycompletion.c:446 ../gtk/gtkiconview.c:765
-#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:413
+msgstr "Šūnas laukums"
+
+#: ../gtk/gtkcellview.c:247 ../gtk/gtkcombobox.c:946
+#: ../gtk/gtkentrycompletion.c:449 ../gtk/gtkiconview.c:770
+#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:428
+#: ../gtk/gtkcellview.c:244
+#: ../gtk/gtkcombobox.c:944
+#: ../gtk/gtkentrycompletion.c:448
+#: ../gtk/gtktreemenu.c:329
+#: ../gtk/gtktreeviewcolumn.c:415
+#: ../gtk/gtkcellview.c:245
+#: ../gtk/gtkcombobox.c:945
+#: ../gtk/gtkiconview.c:771
+#: ../gtk/gtktreeviewcolumn.c:416
msgid "The GtkCellArea used to layout cells"
-msgstr ""
+msgstr "GtkCellArea, ko izmanto, lai izkārtotu šūnas"
-#: ../gtk/gtkcellview.c:265
+#: ../gtk/gtkcellview.c:270
+#: ../gtk/gtkcellview.c:268
msgid "Cell Area Context"
-msgstr ""
+msgstr "Sūnas laukuma konteksts"
-#: ../gtk/gtkcellview.c:266
+#: ../gtk/gtkcellview.c:271
+#: ../gtk/gtkcellview.c:269
msgid "The GtkCellAreaContext used to compute the geometry of the cell view"
-msgstr ""
+msgstr "GtkCellAreaContext, ko izmanto, lai izrēķinātu šūnu skata ģeometriju"
-#: ../gtk/gtkcellview.c:283
-#, fuzzy
+#: ../gtk/gtkcellview.c:288
+#: ../gtk/gtkcellview.c:286
#| msgid "Sensitive"
msgid "Draw Sensitive"
-msgstr "Jūtīga"
+msgstr "Zīmēšanas jutīgums"
-#: ../gtk/gtkcellview.c:284
-#, fuzzy
+#: ../gtk/gtkcellview.c:289
+#: ../gtk/gtkcellview.c:287
#| msgid "Whether tree lines should be drawn in the tree view"
msgid "Whether to force cells to be drawn in a sensitive state"
-msgstr "Vai koka skatā zīmēt koka līnijas"
+msgstr "Vai piespiest šūnas zīmēt jutīgā stāvoklī"
-#: ../gtk/gtkcellview.c:302
-#, fuzzy
+#: ../gtk/gtkcellview.c:307
+#: ../gtk/gtkcellview.c:305
#| msgid "Model"
msgid "Fit Model"
-msgstr "Modelis"
+msgstr "Piemērot modeli"
-#: ../gtk/gtkcellview.c:303
+#: ../gtk/gtkcellview.c:308
+#: ../gtk/gtkcellview.c:306
msgid "Whether to request enough space for every row in the model"
-msgstr ""
+msgstr "Vai pieprasīt pietiekami daudz vietas katrai rindai modelī"
-#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:129
+#: ../gtk/gtkcheckbutton.c:92 ../gtk/gtkcheckmenuitem.c:146
+#: ../gtk/gtkcheckbutton.c:77
+#: ../gtk/gtkcheckmenuitem.c:129
msgid "Indicator Size"
-msgstr "Indikātora Izmērs"
+msgstr "Indikatora izmērs"
-#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:345
+#: ../gtk/gtkcheckbutton.c:100 ../gtk/gtkexpander.c:364
+#: ../gtk/gtkcheckbutton.c:85
+#: ../gtk/gtkexpander.c:345
msgid "Indicator Spacing"
-msgstr "Indikātora Atstarpe"
+msgstr "Indikatora atstarpe"
+#: ../gtk/gtkcheckbutton.c:101
#: ../gtk/gtkcheckbutton.c:86
msgid "Spacing around check or radio indicator"
-msgstr "Atstarpe apkārt ap ķeksīti vai radio indikātoru"
+msgstr "Atstarpe apkārt ap ķeksīti vai radio indikatoru"
+#: ../gtk/gtkcheckmenuitem.c:124
#: ../gtk/gtkcheckmenuitem.c:107
msgid "Whether the menu item is checked"
msgstr "Vai izvēlnes priekšmets ir atķeksēts"
-#: ../gtk/gtkcheckmenuitem.c:114 ../gtk/gtktogglebutton.c:133
+#: ../gtk/gtkcheckmenuitem.c:131 ../gtk/gtktogglebutton.c:186
+#: ../gtk/gtkcheckmenuitem.c:114
+#: ../gtk/gtktogglebutton.c:133
msgid "Inconsistent"
msgstr "Nekonsekvents"
+#: ../gtk/gtkcheckmenuitem.c:132
#: ../gtk/gtkcheckmenuitem.c:115
msgid "Whether to display an \"inconsistent\" state"
msgstr "Vai parādīt \"nekonsekventu\" stāvokli"
+#: ../gtk/gtkcheckmenuitem.c:139
#: ../gtk/gtkcheckmenuitem.c:122
msgid "Draw as radio menu item"
msgstr "Zīmēt kā radio izvēlnes priekšmetu"
-#: ../gtk/gtkcheckmenuitem.c:123
+#: ../gtk/gtkcheckmenuitem.c:140
msgid "Whether the menu item looks like a radio menu item"
msgstr "Vai izvelnes sadaļa izskatās kā radio izvēlnes sadaļa"
msgstr "Lietot alfa"
#: ../gtk/gtkcolorbutton.c:171
-#, fuzzy
msgid "Whether to give the color an alpha value"
-msgstr "Vai piešķirt, vai nē, krāsai alfa vērtību"
+msgstr "Vai piešķirt, krāsai alfa vērtību"
-#: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:397
-#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:141
-#: ../gtk/gtkstatusicon.c:407 ../gtk/gtktreeviewcolumn.c:319
+#: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:440
+#: ../gtk/gtkfontbutton.c:151 ../gtk/gtkprintjob.c:141
+#: ../gtk/gtkstatusicon.c:438 ../gtk/gtktreeviewcolumn.c:331
+#: ../gtk/gtkfilechooserbutton.c:397
+#: ../gtk/gtkfontbutton.c:140
+#: ../gtk/gtkstatusicon.c:408
+#: ../gtk/gtktreeviewcolumn.c:319
msgid "Title"
msgstr "Virsraksts"
#: ../gtk/gtkcolorbutton.c:186
msgid "The title of the color selection dialog"
-msgstr "Krāsas izvēlnes loga nosaukums"
+msgstr "Krāsas izvēles loga nosaukums"
-#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:338
+#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:336
+#: ../gtk/gtkcolorsel.c:338
msgid "Current Color"
-msgstr "Pašreizējā Krāsa"
+msgstr "Pašreizējā krāsa"
#: ../gtk/gtkcolorbutton.c:201
msgid "The selected color"
msgstr "Izvēlētā krāsa"
-#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:345
+#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:343
+#: ../gtk/gtkcolorsel.c:345
msgid "Current Alpha"
-msgstr "Pašreizējā Alpha"
+msgstr "Pašreizējā alfa"
#: ../gtk/gtkcolorbutton.c:216
msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)"
"necaurredzams)"
#: ../gtk/gtkcolorbutton.c:230
-#, fuzzy
#| msgid "Current Color"
msgid "Current RGBA Color"
-msgstr "Pašreizējā Krāsa"
+msgstr "Pašreizējā RGBA krāsa"
#: ../gtk/gtkcolorbutton.c:231
-#, fuzzy
#| msgid "The selected color"
msgid "The selected RGBA color"
-msgstr "Izvēlētā krāsa"
+msgstr "Izvēlētā RGBA krāsa"
+#: ../gtk/gtkcolorsel.c:322
#: ../gtk/gtkcolorsel.c:324
msgid "Has Opacity Control"
-msgstr "Ir Necaurredzamības Kontrole"
+msgstr "Ir necaurredzamības kontrole"
+#: ../gtk/gtkcolorsel.c:323
#: ../gtk/gtkcolorsel.c:325
msgid "Whether the color selector should allow setting opacity"
-msgstr "Vai krāsu izvēlētājam būt jāļauj iestatīt necaurredzamība"
+msgstr "Vai krāsu selektoram būt jāļauj iestatīt necaurredzamība"
+#: ../gtk/gtkcolorsel.c:329
#: ../gtk/gtkcolorsel.c:331
msgid "Has palette"
msgstr "Ir palete"
+#: ../gtk/gtkcolorsel.c:330
#: ../gtk/gtkcolorsel.c:332
msgid "Whether a palette should be used"
msgstr "Vai būtu jālieto palete"
+#: ../gtk/gtkcolorsel.c:337
#: ../gtk/gtkcolorsel.c:339
msgid "The current color"
msgstr "Pašreizējā krāsa"
+#: ../gtk/gtkcolorsel.c:344
#: ../gtk/gtkcolorsel.c:346
msgid "The current opacity value (0 fully transparent, 65535 fully opaque)"
msgstr ""
"Pašreizējā necaurredzamības vērtība (0 pilnībā caurspīdīgs, 65535 pilnībā "
"necaurredzams)"
+#: ../gtk/gtkcolorsel.c:358
#: ../gtk/gtkcolorsel.c:360
-#, fuzzy
#| msgid "Current Alpha"
msgid "Current RGBA"
-msgstr "Pašreizējā Alpha"
+msgstr "Pašreizējā RGBA"
+#: ../gtk/gtkcolorsel.c:359
#: ../gtk/gtkcolorsel.c:361
-#, fuzzy
#| msgid "The current color"
msgid "The current RGBA color"
-msgstr "Pašreizējā krāsa"
+msgstr "Pašreizējā RGBA krāsa"
+#: ../gtk/gtkcolorseldialog.c:134
#: ../gtk/gtkcolorseldialog.c:110
msgid "Color Selection"
msgstr "Krāsu izlase"
+#: ../gtk/gtkcolorseldialog.c:135
#: ../gtk/gtkcolorseldialog.c:111
msgid "The color selection embedded in the dialog."
msgstr "Logā iekļautā krāsu izlase."
+#: ../gtk/gtkcolorseldialog.c:141
#: ../gtk/gtkcolorseldialog.c:117
msgid "OK Button"
-msgstr "Poga Labi"
+msgstr "Poga 'Labi'"
+#: ../gtk/gtkcolorseldialog.c:142
#: ../gtk/gtkcolorseldialog.c:118
msgid "The OK button of the dialog."
-msgstr "Loga Labi poga."
+msgstr "Dialoglodziņa 'Labi' poga."
+#: ../gtk/gtkcolorseldialog.c:148
#: ../gtk/gtkcolorseldialog.c:124
msgid "Cancel Button"
-msgstr "Atcelt poga"
+msgstr "Poga 'Atcelt'"
+#: ../gtk/gtkcolorseldialog.c:149
#: ../gtk/gtkcolorseldialog.c:125
msgid "The cancel button of the dialog."
-msgstr "Loga atcelt poga."
+msgstr "Dialoglodziņa 'Atcelt' poga."
+#: ../gtk/gtkcolorseldialog.c:155
#: ../gtk/gtkcolorseldialog.c:131
msgid "Help Button"
-msgstr "Palīdzības poga"
+msgstr "Poga 'Palīdzība'"
+#: ../gtk/gtkcolorseldialog.c:156
#: ../gtk/gtkcolorseldialog.c:132
msgid "The help button of the dialog."
-msgstr "Loga Palīdzības poga."
+msgstr "Dialoglodziņa 'Palīdzība' poga."
+#: ../gtk/gtkcombobox.c:664
#: ../gtk/gtkcombobox.c:663
msgid "ComboBox model"
-msgstr "ComboBox modelis"
+msgstr "Kombinētā lodziņa modelis"
-#: ../gtk/gtkcombobox.c:664
+#: ../gtk/gtkcombobox.c:665
msgid "The model for the combo box"
msgstr "Lauku saraksta modelis"
-#: ../gtk/gtkcombobox.c:681
+#: ../gtk/gtkcombobox.c:682
msgid "Wrap width for laying out the items in a grid"
-msgstr ""
+msgstr "Aplaušanas platums, priekšmetu izklāšanai uz režģa"
-#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383
+#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:383
+#: ../gtk/gtkcombobox.c:703
+#: ../gtk/gtktreemenu.c:384
msgid "Row span column"
msgstr "Rindas izvērsuma kolona"
-#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384
+#: ../gtk/gtkcombobox.c:705 ../gtk/gtktreemenu.c:384
+#: ../gtk/gtkcombobox.c:704
msgid "TreeModel column containing the row span values"
msgstr "TreeModel kolonna, kas satur rindas savienojuma vērtības"
-#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404
+#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:404
+#: ../gtk/gtkcombobox.c:725
+#: ../gtk/gtktreemenu.c:405
msgid "Column span column"
msgstr "Kolonnas savienotājkolonna"
-#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405
+#: ../gtk/gtkcombobox.c:727 ../gtk/gtktreemenu.c:405
+#: ../gtk/gtkcombobox.c:726
msgid "TreeModel column containing the column span values"
msgstr "TreeModel kolonna, kas satur kolonnas savienojuma vērtības"
+#: ../gtk/gtkcombobox.c:748
#: ../gtk/gtkcombobox.c:747
msgid "Active item"
-msgstr "Aktīvais objekts"
+msgstr "Aktīvais priekšmets"
-#: ../gtk/gtkcombobox.c:748
+#: ../gtk/gtkcombobox.c:749
msgid "The item which is currently active"
msgstr "Šobrīd aktīvais objekts"
-#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:225
+#: ../gtk/gtkcombobox.c:768 ../gtk/gtkuimanager.c:479
+#: ../gtk/gtkcombobox.c:767
+#: ../gtk/gtkuimanager.c:225
msgid "Add tearoffs to menus"
msgstr "Pievienot pārcēlienus izvēlnēm"
-#: ../gtk/gtkcombobox.c:768
+#: ../gtk/gtkcombobox.c:769
msgid "Whether dropdowns should have a tearoff menu item"
msgstr "Vai izkrītošajām izvēlnēm vajadzētu pārceļamās izvelnes elementu"
-#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:780
+#: ../gtk/gtkcombobox.c:784 ../gtk/gtkentry.c:786
+#: ../gtk/gtkcombobox.c:783
+#: ../gtk/gtkentry.c:779
msgid "Has Frame"
-msgstr "Ir Rāmis"
+msgstr "Ir ietvars"
-#: ../gtk/gtkcombobox.c:784
+#: ../gtk/gtkcombobox.c:785
msgid "Whether the combo box draws a frame around the child"
msgstr "Vai lauki sarakstā zīmē rāmi ap bērnu"
-#: ../gtk/gtkcombobox.c:792
+#: ../gtk/gtkcombobox.c:793
msgid "Whether the combo box grabs focus when it is clicked with the mouse"
msgstr "Vai lauki sarakstā sagrābj fokusu, kad ir noklikšķināta pele"
-#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:641
+#: ../gtk/gtkcombobox.c:808 ../gtk/gtkmenu.c:643
+#: ../gtk/gtkcombobox.c:807
+#: ../gtk/gtkmenu.c:641
msgid "Tearoff Title"
-msgstr "Izslēgšanas Virsraksts"
+msgstr "Pārcelšanas virsraksts"
-#: ../gtk/gtkcombobox.c:808
+#: ../gtk/gtkcombobox.c:809
msgid ""
"A title that may be displayed by the window manager when the popup is torn-"
"off"
-msgstr ""
+msgstr "Logu pārvaldnieks var parādīt virsrakstu, kad uzvedne ir pārcelta"
+#: ../gtk/gtkcombobox.c:826
#: ../gtk/gtkcombobox.c:825
msgid "Popup shown"
-msgstr "Uzlecošais loga parādīts"
+msgstr "Parādīts uznirstošais logs"
-#: ../gtk/gtkcombobox.c:826
+#: ../gtk/gtkcombobox.c:827
msgid "Whether the combo's dropdown is shown"
-msgstr ""
+msgstr "Vai tiek rādīts kombinētā lodziņa izkrītošais saraksts"
+#: ../gtk/gtkcombobox.c:843
#: ../gtk/gtkcombobox.c:842
msgid "Button Sensitivity"
-msgstr "Pogu jūtība"
+msgstr "Pogu jutība"
-#: ../gtk/gtkcombobox.c:843
+#: ../gtk/gtkcombobox.c:844
msgid "Whether the dropdown button is sensitive when the model is empty"
-msgstr ""
+msgstr "Vai izkrītošā poga ir ir jutīga, kad modelis ir tukšs"
-#: ../gtk/gtkcombobox.c:859
-#, fuzzy
+#: ../gtk/gtkcombobox.c:860
#| msgid "Whether the combo box draws a frame around the child"
msgid "Whether combo box has an entry"
-msgstr "Vai lauki sarakstā zīmē rāmi ap bērnu"
+msgstr "Vai kombinētajam lodziņam ir ieraksti"
+#: ../gtk/gtkcombobox.c:875
#: ../gtk/gtkcombobox.c:874
-#, fuzzy
#| msgid "Text Column"
msgid "Entry Text Column"
-msgstr "Teksta kolonna"
+msgstr "Ievades teksta kolonna"
-#: ../gtk/gtkcombobox.c:875
+#: ../gtk/gtkcombobox.c:876
msgid ""
"The column in the combo box's model to associate with strings from the entry "
"if the combo was created with #GtkComboBox:has-entry = %TRUE"
msgstr ""
+"Kolonna kombinētā lodziņa modelī, ko asociēt ar virknēm no ieraksta, ja "
+"kombinētais lodziņš ir veidots ar #GtkComboBox:has-entry = %TRUE"
+#: ../gtk/gtkcombobox.c:893
#: ../gtk/gtkcombobox.c:892
-#, fuzzy
#| msgid "Columns"
msgid "ID Column"
-msgstr "Kolonnas"
+msgstr "ID kolonna"
-#: ../gtk/gtkcombobox.c:893
+#: ../gtk/gtkcombobox.c:894
msgid ""
"The column in the combo box's model that provides string IDs for the values "
"in the model"
msgstr ""
+"Kolonna kombinētā lodziņa modelī, kas nodrošina virknes ID vērtībām modelī"
+#: ../gtk/gtkcombobox.c:909
#: ../gtk/gtkcombobox.c:908
-#, fuzzy
#| msgid "Active"
msgid "Active id"
-msgstr "Aktīvs"
+msgstr "Aktīvais id"
-#: ../gtk/gtkcombobox.c:909
-#, fuzzy
+#: ../gtk/gtkcombobox.c:910
#| msgid "The name of the icon from the icon theme"
msgid "The value of the id column for the active row"
-msgstr "Ikonas nosaukums no ikonas tēmas"
+msgstr "ID kolonnas vērtība aktīvajai rindai"
+#: ../gtk/gtkcombobox.c:925
#: ../gtk/gtkcombobox.c:924
-#, fuzzy
#| msgid "Fixed Width"
msgid "Popup Fixed Width"
-msgstr "Fiksēts Platums"
+msgstr "Uznirstošā loga fiksēts platums"
-#: ../gtk/gtkcombobox.c:925
+#: ../gtk/gtkcombobox.c:926
msgid ""
"Whether the popup's width should be a fixed width matching the allocated "
"width of the combo box"
msgstr ""
+"Vai uzvednes platumam vajadzētu būt fiksētam un tādam pašam, kā kombinētajam "
+"lodziņam."
-#: ../gtk/gtkcombobox.c:948
+#: ../gtk/gtkcombobox.c:952
+#: ../gtk/gtkcombobox.c:951
msgid "Appears as list"
msgstr "Parādās kā saraksts"
-#: ../gtk/gtkcombobox.c:949
+#: ../gtk/gtkcombobox.c:953
msgid "Whether dropdowns should look like lists rather than menus"
msgstr "Vai izkrītošajiem jāizskatās kā sarakstiem nevis kā izvēlnēm"
-#: ../gtk/gtkcombobox.c:965
+#: ../gtk/gtkcombobox.c:969
+#: ../gtk/gtkcombobox.c:968
msgid "Arrow Size"
msgstr "Bultas izmērs"
-#: ../gtk/gtkcombobox.c:966
+#: ../gtk/gtkcombobox.c:970
msgid "The minimum size of the arrow in the combo box"
msgstr "Minimālais izvēļu saraksta bultas izmērs"
-#: ../gtk/gtkcombobox.c:981 ../gtk/gtkentry.c:880 ../gtk/gtkhandlebox.c:190
-#: ../gtk/gtkmenubar.c:207 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:601
+#: ../gtk/gtkcombobox.c:987
+#| msgid "Amount of space used up by arrow"
+msgid "The amount of space used by the arrow"
+msgstr "Bultiņas izmantotās vietas apjoms"
+
+#: ../gtk/gtkcombobox.c:1002 ../gtk/gtkentry.c:886 ../gtk/gtkhandlebox.c:218
+#: ../gtk/gtkmenubar.c:217 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:611
#: ../gtk/gtkviewport.c:153
+#: ../gtk/gtkcombobox.c:1001
+#: ../gtk/gtkentry.c:879
+#: ../gtk/gtkhandlebox.c:190
+#: ../gtk/gtkmenubar.c:207
+#: ../gtk/gtkstatusbar.c:180
+#: ../gtk/gtktoolbar.c:601
msgid "Shadow type"
msgstr "Ēnas tips"
-#: ../gtk/gtkcombobox.c:982
+#: ../gtk/gtkcombobox.c:1003
msgid "Which kind of shadow to draw around the combo box"
msgstr "Kāda tipa ēnu zīmēt ap izvēļņu sarakstu"
+#: ../gtk/gtkcontainer.c:457
#: ../gtk/gtkcontainer.c:453
msgid "Resize mode"
msgstr "Izmēru maiņas režīms"
+#: ../gtk/gtkcontainer.c:458
#: ../gtk/gtkcontainer.c:454
msgid "Specify how resize events are handled"
-msgstr "Nosakiet, kā izmēru maiņas notikumi tiek izrīkoti"
+msgstr "Norādiet, kā izmēru maiņas notikumi tiek apstrādāti"
+#: ../gtk/gtkcontainer.c:465
#: ../gtk/gtkcontainer.c:461
msgid "Border width"
-msgstr "Ietvara platums"
+msgstr "Robežas platums"
+#: ../gtk/gtkcontainer.c:466
#: ../gtk/gtkcontainer.c:462
msgid "The width of the empty border outside the containers children"
msgstr "Tukšās robežas platums ārpus saturētāja bērniem"
+#: ../gtk/gtkcontainer.c:474
#: ../gtk/gtkcontainer.c:470
msgid "Child"
msgstr "Bērns"
+#: ../gtk/gtkcontainer.c:475
#: ../gtk/gtkcontainer.c:471
msgid "Can be used to add a new child to the container"
msgstr "Var tikt lietots, lai pievienotu jaunu bērnu pie saturētāja"
-#: ../gtk/gtkdialog.c:289 ../gtk/gtkinfobar.c:426
+#: ../gtk/gtkdialog.c:289 ../gtk/gtkinfobar.c:427
+#: ../gtk/gtkinfobar.c:426
msgid "Content area border"
msgstr "Satura laukuma robeža"
msgid "Width of border around the main dialog area"
msgstr "Robežas platums ap galveno dialoga laukumu"
-#: ../gtk/gtkdialog.c:307 ../gtk/gtkinfobar.c:443
+#: ../gtk/gtkdialog.c:307 ../gtk/gtkinfobar.c:444
+#: ../gtk/gtkinfobar.c:443
msgid "Content area spacing"
msgstr "Satura apgabala atstatums"
msgid "Spacing between elements of the main dialog area"
msgstr "Atstarpe starp elementiem un galveno loga apgabalu"
-#: ../gtk/gtkdialog.c:315 ../gtk/gtkinfobar.c:459
+#: ../gtk/gtkdialog.c:315 ../gtk/gtkinfobar.c:460
+#: ../gtk/gtkinfobar.c:459
+#: ../gtk/gtkdialog.c:316
msgid "Button spacing"
msgstr "Pogu atstarpe"
-#: ../gtk/gtkdialog.c:316 ../gtk/gtkinfobar.c:460
+#: ../gtk/gtkdialog.c:316 ../gtk/gtkinfobar.c:461
+#: ../gtk/gtkinfobar.c:460
msgid "Spacing between buttons"
msgstr "Atstarpe starp pogām"
-#: ../gtk/gtkdialog.c:324 ../gtk/gtkinfobar.c:475
+#: ../gtk/gtkdialog.c:324 ../gtk/gtkinfobar.c:476
+#: ../gtk/gtkinfobar.c:475
msgid "Action area border"
msgstr "Darbības laukuma robeža"
msgid "Width of border around the button area at the bottom of the dialog"
msgstr "Robežas platums ap pogu laukumu dialoga apakšā"
-#: ../gtk/gtkentry.c:727
-#, fuzzy
+#: ../gtk/gtkentry.c:733
+#: ../gtk/gtkentry.c:726
msgid "Text Buffer"
-msgstr "Buferis"
+msgstr "Teksta buferis"
-#: ../gtk/gtkentry.c:728
+#: ../gtk/gtkentry.c:734
+#: ../gtk/gtkentry.c:727
+#: ../gtk/gtklabel.c:662
msgid "Text buffer object which actually stores entry text"
-msgstr ""
+msgstr "Teksta bufera objekts, kas faktiski glabā ieraksta tekstu"
-#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:662
+#: ../gtk/gtkentry.c:741 ../gtk/gtklabel.c:839
+#: ../gtk/gtkentry.c:734
+#: ../gtk/gtklabel.c:662
msgid "Cursor Position"
-msgstr "Kursora Pozīcija"
+msgstr "Kursora pozīcija"
-#: ../gtk/gtkentry.c:736 ../gtk/gtklabel.c:663
+#: ../gtk/gtkentry.c:742 ../gtk/gtklabel.c:840
+#: ../gtk/gtkentry.c:735
+#: ../gtk/gtklabel.c:663
msgid "The current position of the insertion cursor in chars"
-msgstr "Pašreizējā iespraušanas kursora pozīcijia rakstzīmēs"
+msgstr "Pašreizējā iespraušanas kursora pozīcija rakstzīmēs"
-#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:672
+#: ../gtk/gtkentry.c:751 ../gtk/gtklabel.c:849
+#: ../gtk/gtkentry.c:744
+#: ../gtk/gtklabel.c:672
msgid "Selection Bound"
-msgstr "Izvēles Ierobežojums"
+msgstr "Izvēles ierobežojums"
-#: ../gtk/gtkentry.c:746 ../gtk/gtklabel.c:673
+#: ../gtk/gtkentry.c:752 ../gtk/gtklabel.c:850
+#: ../gtk/gtkentry.c:745
+#: ../gtk/gtklabel.c:673
msgid ""
"The position of the opposite end of the selection from the cursor in chars"
-msgstr "Izvēles iespējamā beigu pozīcija no kursora rakstzīmēs"
+msgstr "Pozīcija uz otru izvēles galu no kursora rakstzīmēs"
-#: ../gtk/gtkentry.c:756
+#: ../gtk/gtkentry.c:762
+#: ../gtk/gtkentry.c:755
+#: ../gtk/gtkentrybuffer.c:382
msgid "Whether the entry contents can be edited"
msgstr "Vai ieraksta saturs var tikt rediģēts"
-#: ../gtk/gtkentry.c:763 ../gtk/gtkentrybuffer.c:382
+#: ../gtk/gtkentry.c:769 ../gtk/gtkentrybuffer.c:382
+#: ../gtk/gtkentry.c:762
msgid "Maximum length"
msgstr "Maksimālais garums"
-#: ../gtk/gtkentry.c:764 ../gtk/gtkentrybuffer.c:383
+#: ../gtk/gtkentry.c:770 ../gtk/gtkentrybuffer.c:383
+#: ../gtk/gtkentry.c:763
msgid "Maximum number of characters for this entry. Zero if no maximum"
-msgstr "Maksimālais rakstzimju daudzums šim ierakstam. Nulle, ja nav maksimuma"
+msgstr "Maksimālais rakstzīmju daudzums šim ierakstam. Nulle, ja nav maksimuma"
-#: ../gtk/gtkentry.c:772
+#: ../gtk/gtkentry.c:778
+#: ../gtk/gtkentry.c:771
msgid "Visibility"
msgstr "Redzamība"
-#: ../gtk/gtkentry.c:773
+#: ../gtk/gtkentry.c:779
+#: ../gtk/gtkcombobox.c:783
+#: ../gtk/gtkentry.c:772
msgid ""
"FALSE displays the \"invisible char\" instead of the actual text (password "
"mode)"
-msgstr ""
-"FALSE parāda \"neredzamo rakstzīmi\" īstā teksta vietā (paroles režīms)"
+msgstr "APLAMS parāda \"neredzamo rakstzīmi\" īstā teksta vietā (paroles režīms)"
-#: ../gtk/gtkentry.c:781
+#: ../gtk/gtkentry.c:787
+#: ../gtk/gtkbutton.c:509
+#: ../gtk/gtkentry.c:1832
+#: ../gtk/gtkentry.c:780
msgid "FALSE removes outside bevel from entry"
-msgstr "FALSE izņem ārpuses konusu no ieraksta"
+msgstr "APLAMS izņem ārpuses apmali no ieraksta"
-#: ../gtk/gtkentry.c:789
-msgid ""
-"Border between text and frame. Overrides the inner-border style property"
+#: ../gtk/gtkentry.c:795
+#: ../gtk/gtkentry.c:788
+#: ../gtk/gtkentry.c:1361
+msgid "Border between text and frame. Overrides the inner-border style property"
msgstr ""
+"Robeža starp tekstu un ietvaru. Pārraksta iekšējās robežas stila īpašības"
-#: ../gtk/gtkentry.c:796 ../gtk/gtkentry.c:1362
+#: ../gtk/gtkentry.c:802 ../gtk/gtkentry.c:1398
+#: ../gtk/gtkentry.c:795
+#: ../gtk/gtkentry.c:1361
msgid "Invisible character"
msgstr "Neredzamā rakstzīme"
-#: ../gtk/gtkentry.c:797 ../gtk/gtkentry.c:1363
+#: ../gtk/gtkentry.c:803 ../gtk/gtkentry.c:1399
+#: ../gtk/gtkentry.c:796
+#: ../gtk/gtkentry.c:1362
msgid "The character to use when masking entry contents (in \"password mode\")"
msgstr ""
"Rakstzīme, ko izmanto, slēpjot ievades saturu (piem., \"paroles režīmā\")"
-#: ../gtk/gtkentry.c:804
+#: ../gtk/gtkentry.c:810
msgid "Activates default"
msgstr "Aktivizē noklusēto"
-#: ../gtk/gtkentry.c:805
+#: ../gtk/gtkentry.c:811
+#: ../gtk/gtkentry.c:804
msgid ""
"Whether to activate the default widget (such as the default button in a "
"dialog) when Enter is pressed"
"Vai aktivizēt noklusēto logdaļu (tādu, kā noklusētā poga dialogā), kad tiek "
"nospiests Ievades taustiņš"
-#: ../gtk/gtkentry.c:811
+#: ../gtk/gtkentry.c:817
msgid "Width in chars"
msgstr "Platums rakszīmēs"
-#: ../gtk/gtkentry.c:812
+#: ../gtk/gtkentry.c:818
msgid "Number of characters to leave space for in the entry"
msgstr "Rakstzīmju daudzums tam, cik lielu vietu atstāt ierakstam"
-#: ../gtk/gtkentry.c:821
+#: ../gtk/gtkentry.c:827
+#: ../gtk/gtkentry.c:820
msgid "Scroll offset"
msgstr "Ritināšanas nobīde"
-#: ../gtk/gtkentry.c:822
+#: ../gtk/gtkentry.c:828
+#: ../gtk/gtkentry.c:821
msgid "Number of pixels of the entry scrolled off the screen to the left"
msgstr "Pikseļu skaits par kādu ieraksts noritināts no ekrāna pa kreisi"
-#: ../gtk/gtkentry.c:832
+#: ../gtk/gtkentry.c:838
+#: ../gtk/gtkentry.c:831
msgid "The contents of the entry"
msgstr "Ieraksta saturs"
-#: ../gtk/gtkentry.c:847 ../gtk/gtkmisc.c:81
+#: ../gtk/gtkentry.c:853 ../gtk/gtkmisc.c:105
+#: ../gtk/gtkentry.c:846
+#: ../gtk/gtkmisc.c:81
msgid "X align"
-msgstr "X centrēšana"
+msgstr "X līdzināšana"
-#: ../gtk/gtkentry.c:848 ../gtk/gtkmisc.c:82
+#: ../gtk/gtkentry.c:854 ../gtk/gtkmisc.c:106
+#: ../gtk/gtkentry.c:847
+#: ../gtk/gtkmisc.c:82
msgid ""
"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL "
"layouts."
msgstr ""
-"Horizontāls novietojums, no 0 (pa kreisi) līdz 1 (pa labi). Apgriezts RTL "
+"Horizontāls līdzinājums, no 0 (pa kreisi) līdz 1 (pa labi). Apgriezts RTL "
"izkārtojumiem."
-#: ../gtk/gtkentry.c:864
+#: ../gtk/gtkentry.c:870
+#: ../gtk/gtkentry.c:863
msgid "Truncate multiline"
msgstr "Apgriezt vairākas rindiņas"
-#: ../gtk/gtkentry.c:865
+#: ../gtk/gtkentry.c:871
+#: ../gtk/gtkentry.c:864
msgid "Whether to truncate multiline pastes to one line."
msgstr "Vai apgriezt vairāku rindiņu ievietojumus uz vienu rindiņu."
-#: ../gtk/gtkentry.c:881
+#: ../gtk/gtkentry.c:887
+#: ../gtk/gtkentry.c:880
msgid "Which kind of shadow to draw around the entry when has-frame is set"
-msgstr ""
+msgstr "Kāda veida ēnas zīmēt ap ierakstu, kad ir iestatīts has-frame"
-#: ../gtk/gtkentry.c:896 ../gtk/gtktextview.c:764
+#: ../gtk/gtkentry.c:902 ../gtk/gtktextview.c:766
+#: ../gtk/gtkentry.c:895
+#: ../gtk/gtktextview.c:764
msgid "Overwrite mode"
msgstr "Pārrakstīšanas režīms"
-#: ../gtk/gtkentry.c:897
+#: ../gtk/gtkentry.c:903
+#: ../gtk/gtkentry.c:896
msgid "Whether new text overwrites existing text"
msgstr "Vai jaunais teksts pārraksta esošo"
-#: ../gtk/gtkentry.c:911 ../gtk/gtkentrybuffer.c:367
+#: ../gtk/gtkentry.c:917 ../gtk/gtkentrybuffer.c:367
+#: ../gtk/gtkentry.c:910
msgid "Text length"
msgstr "Teksta garums"
-#: ../gtk/gtkentry.c:912
+#: ../gtk/gtkentry.c:918
+#: ../gtk/gtkentry.c:911
msgid "Length of the text currently in the entry"
-msgstr ""
+msgstr "Pašlaik ievadē esošā teksta garums"
-#: ../gtk/gtkentry.c:927
-#, fuzzy
+#: ../gtk/gtkentry.c:933
+#: ../gtk/gtkentry.c:926
msgid "Invisible character set"
-msgstr "Neredzamā rakstzīme"
+msgstr "Neredzamā rakstzīme iestatīta"
-#: ../gtk/gtkentry.c:928
-#, fuzzy
+#: ../gtk/gtkentry.c:934
+#: ../gtk/gtkentry.c:927
msgid "Whether the invisible character has been set"
-msgstr "Vai ir iestatīti neredzamais simbols"
+msgstr "Vai ir iestatīta neredzamā rakstzīme"
-#: ../gtk/gtkentry.c:946
+#: ../gtk/gtkentry.c:952
+#: ../gtk/gtkentry.c:945
msgid "Caps Lock warning"
msgstr "Caps Lock brīdinājums"
-#: ../gtk/gtkentry.c:947
+#: ../gtk/gtkentry.c:953
+#: ../gtk/gtkentry.c:946
msgid "Whether password entries will show a warning when Caps Lock is on"
-msgstr ""
+msgstr "Vai paroles ievadei tiks rādīts brīdinājums, ka ir ieslēgts Caps Lock"
-#: ../gtk/gtkentry.c:961
+#: ../gtk/gtkentry.c:967
+#: ../gtk/gtkentry.c:960
msgid "Progress Fraction"
msgstr "Progresa daļa"
-#: ../gtk/gtkentry.c:962
+#: ../gtk/gtkentry.c:968
+#: ../gtk/gtkentry.c:961
msgid "The current fraction of the task that's been completed"
-msgstr "Pašreizējā izpildītā uzdevuma daļa"
+msgstr "Pašlaik izpildītā uzdevuma daļa"
-#: ../gtk/gtkentry.c:979
+#: ../gtk/gtkentry.c:985
+#: ../gtk/gtkentry.c:978
msgid "Progress Pulse Step"
-msgstr "Progresa impulsa solis"
+msgstr "Progresa pulsa solis"
-#: ../gtk/gtkentry.c:980
+#: ../gtk/gtkentry.c:986
+#: ../gtk/gtkentry.c:979
msgid ""
"The fraction of total entry width to move the progress bouncing block for "
"each call to gtk_entry_progress_pulse()"
msgstr ""
+"Daļa no kopējā ieraksta platuma, par kādu pārvietot progresa lēkājošo bloku "
+"katram izsaukumam uz gtk_entry_progress_pulse()"
-#: ../gtk/gtkentry.c:996
+#: ../gtk/gtkentry.c:1002
+msgid "Placeholder text"
+msgstr "Viettura teksts"
+
+#: ../gtk/gtkentry.c:1003
+msgid "Show text in the entry when it's empty and unfocused"
+msgstr "Rādīt tekstu ierakstā, kad tas ir tukšs un nefokusēts"
+
+#: ../gtk/gtkentry.c:1017
+#: ../gtk/gtkentry.c:995
msgid "Primary pixbuf"
msgstr "Primārais pixbuf"
-#: ../gtk/gtkentry.c:997
+#: ../gtk/gtkentry.c:1018
+#: ../gtk/gtkentry.c:996
msgid "Primary pixbuf for the entry"
msgstr "Elementa primārais pixbuf"
-#: ../gtk/gtkentry.c:1011
+#: ../gtk/gtkentry.c:1032
+#: ../gtk/gtkentry.c:1010
msgid "Secondary pixbuf"
msgstr "Sekundārais pixbuf"
-#: ../gtk/gtkentry.c:1012
+#: ../gtk/gtkentry.c:1033
+#: ../gtk/gtkentry.c:1011
msgid "Secondary pixbuf for the entry"
msgstr "Elementa sekundārais pixbuf"
-#: ../gtk/gtkentry.c:1026
+#: ../gtk/gtkentry.c:1047
+#: ../gtk/gtkentry.c:1025
msgid "Primary stock ID"
msgstr "Primārais krājuma ID"
-#: ../gtk/gtkentry.c:1027
+#: ../gtk/gtkentry.c:1048
+#: ../gtk/gtkentry.c:1026
msgid "Stock ID for primary icon"
msgstr "Krājuma ID primārai ikonai"
-#: ../gtk/gtkentry.c:1041
+#: ../gtk/gtkentry.c:1062
+#: ../gtk/gtkentry.c:1040
msgid "Secondary stock ID"
msgstr "Sekundārais krājuma ID"
-#: ../gtk/gtkentry.c:1042
+#: ../gtk/gtkentry.c:1063
+#: ../gtk/gtkentry.c:1041
msgid "Stock ID for secondary icon"
msgstr "Krājuma ID sekundārai ikonai"
-#: ../gtk/gtkentry.c:1056
+#: ../gtk/gtkentry.c:1077
+#: ../gtk/gtkentry.c:1055
msgid "Primary icon name"
msgstr "Primārās ikonas nosaukums"
-#: ../gtk/gtkentry.c:1057
+#: ../gtk/gtkentry.c:1078
+#: ../gtk/gtkentry.c:1056
msgid "Icon name for primary icon"
msgstr "Primārās ikonas nosaukums"
-#: ../gtk/gtkentry.c:1071
+#: ../gtk/gtkentry.c:1092
+#: ../gtk/gtkentry.c:1070
msgid "Secondary icon name"
msgstr "Sekundārās ikonas nosaukums"
-#: ../gtk/gtkentry.c:1072
+#: ../gtk/gtkentry.c:1093
+#: ../gtk/gtkentry.c:1071
msgid "Icon name for secondary icon"
msgstr "Sekundārās ikonas nosaukums"
-#: ../gtk/gtkentry.c:1086
+#: ../gtk/gtkentry.c:1107
+#: ../gtk/gtkentry.c:1085
msgid "Primary GIcon"
msgstr "Primārā GIcon"
-#: ../gtk/gtkentry.c:1087
+#: ../gtk/gtkentry.c:1108
+#: ../gtk/gtkentry.c:1086
msgid "GIcon for primary icon"
msgstr "Primārās ikonas GIcon"
-#: ../gtk/gtkentry.c:1101
+#: ../gtk/gtkentry.c:1122
+#: ../gtk/gtkentry.c:1100
msgid "Secondary GIcon"
msgstr "Sekundārā GIcon"
-#: ../gtk/gtkentry.c:1102
+#: ../gtk/gtkentry.c:1123
+#: ../gtk/gtkentry.c:1101
msgid "GIcon for secondary icon"
msgstr "Sekundārās ikonas GIcon"
-#: ../gtk/gtkentry.c:1116
+#: ../gtk/gtkentry.c:1137
+#: ../gtk/gtkentry.c:1115
msgid "Primary storage type"
msgstr "Primārās glabātuves tips"
-#: ../gtk/gtkentry.c:1117
+#: ../gtk/gtkentry.c:1138
+#: ../gtk/gtkentry.c:1116
msgid "The representation being used for primary icon"
msgstr "Primārās ikonas reprezentācija"
-#: ../gtk/gtkentry.c:1132
+#: ../gtk/gtkentry.c:1153
+#: ../gtk/gtkentry.c:1131
msgid "Secondary storage type"
msgstr "Sekundārās glabātuves tips"
-#: ../gtk/gtkentry.c:1133
+#: ../gtk/gtkentry.c:1154
+#: ../gtk/gtkentry.c:1132
msgid "The representation being used for secondary icon"
msgstr "Sekundārās ikonas reprezentācija"
-#: ../gtk/gtkentry.c:1154
+#: ../gtk/gtkentry.c:1175
msgid "Primary icon activatable"
msgstr "Aktivizējama primārā ikona"
-#: ../gtk/gtkentry.c:1155
+#: ../gtk/gtkentry.c:1176
msgid "Whether the primary icon is activatable"
msgstr "Vai primārā ikona ir aktivizējama"
-#: ../gtk/gtkentry.c:1175
+#: ../gtk/gtkentry.c:1196
+#: ../gtk/gtkentry.c:1174
msgid "Secondary icon activatable"
msgstr "Aktivizējama sekundārā ikona"
-#: ../gtk/gtkentry.c:1176
+#: ../gtk/gtkentry.c:1197
msgid "Whether the secondary icon is activatable"
msgstr "Vai sekundārā ikona ir aktivizējama"
-#: ../gtk/gtkentry.c:1198
+#: ../gtk/gtkentry.c:1219
msgid "Primary icon sensitive"
msgstr "Sensitīva primārā ikona"
-#: ../gtk/gtkentry.c:1199
+#: ../gtk/gtkentry.c:1220
+#: ../gtk/gtkentry.c:1198
msgid "Whether the primary icon is sensitive"
msgstr "Vai primārā ikona ir sensitīva"
-#: ../gtk/gtkentry.c:1220
+#: ../gtk/gtkentry.c:1241
msgid "Secondary icon sensitive"
msgstr "Sensitīva sekundārā ikona"
-#: ../gtk/gtkentry.c:1221
+#: ../gtk/gtkentry.c:1242
msgid "Whether the secondary icon is sensitive"
msgstr "Vai sekundārā ikona ir sensitīva"
-#: ../gtk/gtkentry.c:1237
+#: ../gtk/gtkentry.c:1258
+#: ../gtk/gtkentry.c:1236
msgid "Primary icon tooltip text"
msgstr "Primārās ikonas paskaidres teksts"
-#: ../gtk/gtkentry.c:1238 ../gtk/gtkentry.c:1274
+#: ../gtk/gtkentry.c:1259 ../gtk/gtkentry.c:1295
+#: ../gtk/gtkentry.c:1237
+#: ../gtk/gtkentry.c:1273
msgid "The contents of the tooltip on the primary icon"
msgstr "Primārās ikonas paskaidres teksts"
-#: ../gtk/gtkentry.c:1254
+#: ../gtk/gtkentry.c:1275
+#: ../gtk/gtkentry.c:1253
msgid "Secondary icon tooltip text"
msgstr "Sekundārās ikonas paskaidres teksts"
-#: ../gtk/gtkentry.c:1255 ../gtk/gtkentry.c:1293
+#: ../gtk/gtkentry.c:1276 ../gtk/gtkentry.c:1314
+#: ../gtk/gtkentry.c:1254
+#: ../gtk/gtkentry.c:1292
msgid "The contents of the tooltip on the secondary icon"
msgstr "Sekundārās ikonas paskaidres teksts"
-#: ../gtk/gtkentry.c:1273
+#: ../gtk/gtkentry.c:1294
+#: ../gtk/gtkentry.c:1272
msgid "Primary icon tooltip markup"
-msgstr "Primārās ikonas paskaidres formatējums"
+msgstr "Primārās ikonas paskaidres marķējums"
-#: ../gtk/gtkentry.c:1292
+#: ../gtk/gtkentry.c:1313
+#: ../gtk/gtkentry.c:1291
msgid "Secondary icon tooltip markup"
-msgstr "Sekundārās ikonas paskaidres formatējums"
+msgstr "Sekundārās ikonas paskaidres marķējums"
-#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:792
+#: ../gtk/gtkentry.c:1333 ../gtk/gtktextview.c:794
+#: ../gtk/gtkentry.c:1311
+#: ../gtk/gtktextview.c:792
msgid "IM module"
-msgstr "IM modulis"
+msgstr "TZ modulis"
-#: ../gtk/gtkentry.c:1313 ../gtk/gtktextview.c:793
+#: ../gtk/gtkentry.c:1334 ../gtk/gtktextview.c:795
+#: ../gtk/gtkentry.c:1312
+#: ../gtk/gtktextview.c:793
msgid "Which IM module should be used"
-msgstr "Kuru IM moduli izmantot"
+msgstr "Kuru TZ moduli izmantot"
-#: ../gtk/gtkentry.c:1327
+#: ../gtk/gtkentry.c:1348
+#| msgid "Completion Model"
+msgid "Completion"
+msgstr "Pabeigšana"
+
+#: ../gtk/gtkentry.c:1349
+msgid "The auxiliary completion object"
+msgstr "Pabeigšanas palīgobjekts"
+
+#: ../gtk/gtkentry.c:1363
+#: ../gtk/gtkentry.c:1326
msgid "Icon Prelight"
msgstr "Ikonas pirmsgaisma"
-#: ../gtk/gtkentry.c:1328
+#: ../gtk/gtkentry.c:1364
+#: ../gtk/gtkentry.c:1327
msgid "Whether activatable icons should prelight when hovered"
msgstr "Vai aktivizējamās ikonas izgaismot, kad virs tām ir peles kursors"
-#: ../gtk/gtkentry.c:1341
-#, fuzzy
+#: ../gtk/gtkentry.c:1377
+#: ../gtk/gtkentry.c:1340
msgid "Progress Border"
-msgstr "Ieplakas Robeža"
+msgstr "Progresa robeža"
-#: ../gtk/gtkentry.c:1342
-#, fuzzy
+#: ../gtk/gtkentry.c:1378
+#: ../gtk/gtkentry.c:1341
msgid "Border around the progress bar"
-msgstr "Progresa joslas teksts"
+msgstr "Robeža ap progresa joslu"
-#: ../gtk/gtkentry.c:1834
+#: ../gtk/gtkentry.c:1870
+#: ../gtk/gtkentry.c:1833
msgid "Border between text and frame."
-msgstr "Robeža starp tekstu un rāmi."
+msgstr "Robeža starp tekstu un ietvaru."
#: ../gtk/gtkentrybuffer.c:353
-#, fuzzy
msgid "The contents of the buffer"
-msgstr "Ieraksta saturs"
+msgstr "Bufera saturs"
#: ../gtk/gtkentrybuffer.c:368
msgid "Length of the text currently in the buffer"
-msgstr ""
+msgstr "Garums tekstam, kas pašlaik ir buferī"
#: ../gtk/gtkentrycompletion.c:320
msgid "Completion Model"
-msgstr "Izpildes modelis"
+msgstr "Pabeigšanas modelis"
#: ../gtk/gtkentrycompletion.c:321
msgid "The model to find matches in"
msgid "Minimum length of the search key in order to look up matches"
msgstr "Meklēšanas atslēgas minimālais garums, meklējot sakritības"
-#: ../gtk/gtkentrycompletion.c:344 ../gtk/gtkiconview.c:563
+#: ../gtk/gtkentrycompletion.c:344 ../gtk/gtkiconview.c:565
+#: ../gtk/gtkiconview.c:566
msgid "Text column"
msgstr "Teksta kolonna"
#: ../gtk/gtkentrycompletion.c:364
msgid "Inline completion"
-msgstr "Iekšējā izpilde"
+msgstr "Iekļautā pabeigšana"
#: ../gtk/gtkentrycompletion.c:365
msgid "Whether the common prefix should be inserted automatically"
#: ../gtk/gtkentrycompletion.c:379
msgid "Popup completion"
-msgstr "Izlecošā izpilde"
+msgstr "Uznirstošā pabeigšana"
#: ../gtk/gtkentrycompletion.c:380
msgid "Whether the completions should be shown in a popup window"
-msgstr "Vai izlecošajā logā rādīt komponentus"
+msgstr "Vai uznirstošajā logā rādīt komponentes"
#: ../gtk/gtkentrycompletion.c:395
msgid "Popup set width"
-msgstr "Izlecošo logu kopas platums"
+msgstr "Uznirstošā loga iestatītais platums"
#: ../gtk/gtkentrycompletion.c:396
msgid "If TRUE, the popup window will have the same size as the entry"
-msgstr "Ja PATIESS, izlecošais logs būs tikpat liels, kā ieraksts"
+msgstr "Ja PATIESS, uznirstošais logs būs tikpat liels, kā ieraksts"
#: ../gtk/gtkentrycompletion.c:414
msgid "Popup single match"
-msgstr "Izlecoša vienreizēja sakritība"
+msgstr "Uznirstoša vienreizēja sakritība"
#: ../gtk/gtkentrycompletion.c:415
msgid "If TRUE, the popup window will appear for a single match."
-msgstr "Ja PATIESS, paradīsies izlecošais logs vienreizējai sakritībai."
+msgstr "Ja PATIESS, parādīsies uznirstošais logs vienreizējai sakritībai."
#: ../gtk/gtkentrycompletion.c:429
msgid "Inline selection"
-msgstr "Ieksējā izvēle"
+msgstr "Iekļautā izvēle"
#: ../gtk/gtkentrycompletion.c:430
msgid "Your description here"
"Whether the event box is visible, as opposed to invisible and only used to "
"trap events."
msgstr ""
-"Vai notikumu ramis ir redzams, kā preteji neredzamam un izmantots tikai "
-"notikumu slazdošanai."
+"Vai notikumu kaste ir redzama, nevis neredzama un izmantota tikai notikumu "
+"slazdošanai."
#: ../gtk/gtkeventbox.c:116
msgid "Above child"
"Whether the event-trapping window of the eventbox is above the window of the "
"child widget as opposed to below it."
msgstr ""
-"Vai notikumu slazdošanas logs notikumu rāmim ir virs bērna logdaļas loga kā "
-"pretēji zem tā."
+"Vai notikumu slazdošanas logs notikumu ietvaram ir virs bērna logdaļas loga, "
+"nevis zem tā."
+#: ../gtk/gtkexpander.c:282
#: ../gtk/gtkexpander.c:279
msgid "Expanded"
-msgstr "Izvērst"
+msgstr "Izvērsts"
+#: ../gtk/gtkexpander.c:283
#: ../gtk/gtkexpander.c:280
msgid "Whether the expander has been opened to reveal the child widget"
-msgstr "Vai paplašinātājs ir bijis atvērts, atklājot bērna logdaļu"
+msgstr "Vai izvērsējs ir bijis atvērts, atklājot bērna logdaļu"
+#: ../gtk/gtkexpander.c:291
#: ../gtk/gtkexpander.c:288
msgid "Text of the expander's label"
-msgstr "Izvērsēja etiķetes teksts"
+msgstr "Izvērsēja iezīmes teksts"
-#: ../gtk/gtkexpander.c:303 ../gtk/gtklabel.c:581
+#: ../gtk/gtkexpander.c:306 ../gtk/gtklabel.c:758
+#: ../gtk/gtkexpander.c:303
+#: ../gtk/gtklabel.c:581
msgid "Use markup"
msgstr "Lietot marķējumu"
-#: ../gtk/gtkexpander.c:304 ../gtk/gtklabel.c:582
+#: ../gtk/gtkexpander.c:307 ../gtk/gtklabel.c:759
+#: ../gtk/gtkexpander.c:304
+#: ../gtk/gtklabel.c:582
msgid "The text of the label includes XML markup. See pango_parse_markup()"
msgstr "Iezīmes teksts ietver XML marķējumu. Apskati pango_parse_markup()"
+#: ../gtk/gtkexpander.c:315
#: ../gtk/gtkexpander.c:312
msgid "Space to put between the label and the child"
-msgstr "Atstarpe, ko likt starp etiķeti un bērnu"
+msgstr "Atstarpe, ko likt starp iezīmi un bērnu"
-#: ../gtk/gtkexpander.c:321 ../gtk/gtkframe.c:168 ../gtk/gtktoolbutton.c:215
+#: ../gtk/gtkexpander.c:324 ../gtk/gtkframe.c:206 ../gtk/gtktoolbutton.c:246
+#: ../gtk/gtktoolitemgroup.c:1599
+#: ../gtk/gtkexpander.c:321
+#: ../gtk/gtkframe.c:168
+#: ../gtk/gtktoolbutton.c:215
#: ../gtk/gtktoolitemgroup.c:1603
msgid "Label widget"
msgstr "Iezīmes logdaļa"
+#: ../gtk/gtkexpander.c:325
#: ../gtk/gtkexpander.c:322
msgid "A widget to display in place of the usual expander label"
-msgstr "Logrīks, ko rādīt parastas izvērsēja etiķetes vietā"
+msgstr "Logrīks, ko rādīt parastas izvērsēja iezīmes vietā"
+#: ../gtk/gtkexpander.c:332
#: ../gtk/gtkexpander.c:329
-#, fuzzy
msgid "Label fill"
-msgstr "Cilnes aizpildījums"
+msgstr "Iezīmes aizpildījums"
+#: ../gtk/gtkexpander.c:333
#: ../gtk/gtkexpander.c:330
-#, fuzzy
msgid "Whether the label widget should fill all available horizontal space"
-msgstr "Vai visiem bērniem jabūt pēc viena izmēra"
+msgstr "Vai iezīmes logdaļai vajadzētu aizpildīt visu redzamo horizontālo telpu"
+
+#: ../gtk/gtkexpander.c:348
+#| msgid "Resize mode"
+msgid "Resize tolevel"
+msgstr "Mainīt izmēru līdz līmenim"
-#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1631
+#: ../gtk/gtkexpander.c:349
+msgid ""
+"Whether the expander will resize the toplevel window upon expanding and "
+"collapsing"
+msgstr "Vai izvērsējs mainīs izmēru augšējā līmeņa logam, izvēršot vai sakļaujot"
+
+#: ../gtk/gtkexpander.c:355 ../gtk/gtktoolitemgroup.c:1627
#: ../gtk/gtktreeview.c:1187
+#: ../gtk/gtkexpander.c:336
+#: ../gtk/gtktoolitemgroup.c:1631
msgid "Expander Size"
-msgstr "Paplašinātāja Izmērs"
+msgstr "Izvērsēja izmērs"
-#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1632
+#: ../gtk/gtkexpander.c:356 ../gtk/gtktoolitemgroup.c:1628
#: ../gtk/gtktreeview.c:1188
+#: ../gtk/gtkexpander.c:337
+#: ../gtk/gtktoolitemgroup.c:1632
msgid "Size of the expander arrow"
-msgstr "Paplašinātāja bultas izmērs"
+msgstr "Izvērsēja bultas izmērs"
+#: ../gtk/gtkexpander.c:365
#: ../gtk/gtkexpander.c:346
msgid "Spacing around expander arrow"
msgstr "Atstarpes ap izvērsēja bultu"
+#: ../gtk/gtkfilechooserbutton.c:409
#: ../gtk/gtkfilechooserbutton.c:366
msgid "Dialog"
msgstr "Dialogs"
+#: ../gtk/gtkfilechooserbutton.c:410
#: ../gtk/gtkfilechooserbutton.c:367
msgid "The file chooser dialog to use."
msgstr "Izmantojamais failu izvēlētāja dialogs."
+#: ../gtk/gtkfilechooserbutton.c:441
#: ../gtk/gtkfilechooserbutton.c:398
msgid "The title of the file chooser dialog."
msgstr "Failu izvēles loga nosaukums."
+#: ../gtk/gtkfilechooserbutton.c:455
#: ../gtk/gtkfilechooserbutton.c:412
msgid "The desired width of the button widget, in characters."
-msgstr "Velamais pogas logdalas platums rakstzīmēs."
+msgstr "Vēlamais pogas logdaļas platums, izteikts rakstzīmēs."
#: ../gtk/gtkfilechooser.c:747
msgid "Action"
#: ../gtk/gtkfilechooser.c:761
msgid "Whether the selected file(s) should be limited to local file: URLs"
msgstr ""
-"Vai izvēlētajam failam(iem) vajadzetu tikt ierobežotiem ar vietējo failu: "
-"URLiem"
+"Vai izvēlētajam failam(-iem) vajadzētu tikt ierobežotiem ar vietējo failu: "
+"URL"
#: ../gtk/gtkfilechooser.c:766
msgid "Preview widget"
-msgstr "Pirmsapskates logdaļa"
+msgstr "Priekšskatījuma logdaļa"
#: ../gtk/gtkfilechooser.c:767
msgid "Application supplied widget for custom previews."
-msgstr "Ar aplikāciju apgādāta logdaļa uzstadītajām priekšapskatēm."
+msgstr "Lietotnes piegādāta logdaļa pielāgotiem priekšskatījumiem."
#: ../gtk/gtkfilechooser.c:772
msgid "Preview Widget Active"
-msgstr "Aktīva pirmsapskates logdaļa"
+msgstr "Aktīva priekšskatījuma logdaļa"
#: ../gtk/gtkfilechooser.c:773
msgid ""
"Whether the application supplied widget for custom previews should be shown."
msgstr ""
-"Vai ar aplikāciju apgadātā logdaļa jārāda priekš iestatītajām priekšapskatēm."
+"Vai vajadzētu rādīt lietotnes piegādātās logdaļas pielāgotiem "
+"priekšskatījumiem."
#: ../gtk/gtkfilechooser.c:778
msgid "Use Preview Label"
-msgstr "Lietot pirmsapskates etiķeti"
+msgstr "Lietot priekšskatījuma iezīmi"
#: ../gtk/gtkfilechooser.c:779
msgid "Whether to display a stock label with the name of the previewed file."
-msgstr "Vai attēlot krājuma etiķeti ar priekšapskatamā faila nosaukumu."
+msgstr "Vai attēlot krājuma iezīmi ar priekšskatītā faila nosaukumu."
#: ../gtk/gtkfilechooser.c:784
msgid "Extra widget"
-msgstr "Papildus logdaļa"
+msgstr "Papildu logdaļa"
#: ../gtk/gtkfilechooser.c:785
msgid "Application supplied widget for extra options."
-msgstr "Ar aplikāciju apgadāta logdaļa papildus iespējām."
+msgstr "Lietotnes piegādāta logdaļa papildu opcijām."
#: ../gtk/gtkfilechooser.c:790 ../gtk/gtkrecentchooser.c:203
msgid "Select Multiple"
"Whether a file chooser in save mode will present an overwrite confirmation "
"dialog if necessary."
msgstr ""
+"Vai faila izvēlētājs saglabāšanas režīmā rādīs pārrakstīšanas "
+"apstiprināšanas dialogu, ja vajadzēs."
#: ../gtk/gtkfilechooser.c:830
-#, fuzzy
msgid "Allow folder creation"
-msgstr "Parādīt operācijas ar failiem"
+msgstr "Atļaut mapju izveidošanu"
#: ../gtk/gtkfilechooser.c:831
msgid ""
"Whether a file chooser not in open mode will offer the user to create new "
"folders."
msgstr ""
+"Vai faila izvēlētājs ļaus lietotājam izveidot jaunas mapes, kad tas ir "
+"atvēršanas režīmā."
-#: ../gtk/gtkfixed.c:152 ../gtk/gtklayout.c:634
+#: ../gtk/gtkfixed.c:152 ../gtk/gtklayout.c:634 ../gtk/gtktreeviewcolumn.c:264
msgid "X position"
msgstr "X pozīcija"
msgid "Y position of child widget"
msgstr "Bērna logdaļas Y pozīcija"
+#: ../gtk/gtkfontbutton.c:152
#: ../gtk/gtkfontbutton.c:141
msgid "The title of the font selection dialog"
msgstr "Fonta izvēles loga nosaukums"
-#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:219
+#: ../gtk/gtkfontbutton.c:167 ../gtk/gtkfontsel.c:238
+#: ../gtk/gtkfontbutton.c:156
+#: ../gtk/gtkfontsel.c:219
msgid "Font name"
msgstr "Fonta nosaukums"
+#: ../gtk/gtkfontbutton.c:168
#: ../gtk/gtkfontbutton.c:157
msgid "The name of the selected font"
msgstr "Izvēlētā fonta nosaukums"
+#: ../gtk/gtkfontbutton.c:169
#: ../gtk/gtkfontbutton.c:158
msgid "Sans 12"
msgstr "Sans 12"
+#: ../gtk/gtkfontbutton.c:184
#: ../gtk/gtkfontbutton.c:173
msgid "Use font in label"
-msgstr "Virsrakstā izmantojamais fonts"
+msgstr "Izmantot fontu iezīmē"
+#: ../gtk/gtkfontbutton.c:185
#: ../gtk/gtkfontbutton.c:174
msgid "Whether the label is drawn in the selected font"
-msgstr "Vai etiķete ir uzzīmēta ar izvelēto fontu"
+msgstr "Vai iezīme ir uzzīmēta ar izvēlēto fontu"
+#: ../gtk/gtkfontbutton.c:200
#: ../gtk/gtkfontbutton.c:189
msgid "Use size in label"
-msgstr "Lietot izmēru etiķetē"
+msgstr "Lietot izmēru iezīmē"
+#: ../gtk/gtkfontbutton.c:201
#: ../gtk/gtkfontbutton.c:190
msgid "Whether the label is drawn with the selected font size"
-msgstr "Vai etiķete ir uzzīmēta ar izvelēto fonta izmēru"
+msgstr "Vai iezīme ir uzzīmēta ar izvēlēto fonta izmēru"
+#: ../gtk/gtkfontbutton.c:217
#: ../gtk/gtkfontbutton.c:206
msgid "Show style"
msgstr "Rādīt stilu"
+#: ../gtk/gtkfontbutton.c:218
#: ../gtk/gtkfontbutton.c:207
msgid "Whether the selected font style is shown in the label"
-msgstr "Vai izvelētais fonta stils tiek rādīts etiķetē"
+msgstr "Vai izvēlētais fonta stils tiek rādīts iezīmē"
+#: ../gtk/gtkfontbutton.c:233
#: ../gtk/gtkfontbutton.c:222
msgid "Show size"
msgstr "Rādīt izmēru"
+#: ../gtk/gtkfontbutton.c:234
#: ../gtk/gtkfontbutton.c:223
msgid "Whether selected font size is shown in the label"
-msgstr "Vai izvēlētais fonta izmērs tiek attēlots etiķetē"
+msgstr "Vai izvēlētais fonta izmērs tiek attēlots iezīmē"
+#: ../gtk/gtkfontsel.c:239
#: ../gtk/gtkfontsel.c:220
msgid "The string that represents this font"
msgstr "Virkne apzīmē šo fontu"
+#: ../gtk/gtkfontsel.c:245
#: ../gtk/gtkfontsel.c:226
msgid "Preview text"
-msgstr "Pirmsapskates teksts"
+msgstr "Priekšskatījuma teksts"
+#: ../gtk/gtkfontsel.c:246
#: ../gtk/gtkfontsel.c:227
msgid "The text to display in order to demonstrate the selected font"
msgstr "Teksts, ko parādīt, lai demonstrētu izvēlēto fontu"
+#: ../gtk/gtkframe.c:172
#: ../gtk/gtkframe.c:134
msgid "Text of the frame's label"
-msgstr "Rāmja iezīmes teksts"
+msgstr "Ietvara iezīmes teksts"
+#: ../gtk/gtkframe.c:179
#: ../gtk/gtkframe.c:141
msgid "Label xalign"
-msgstr "Iezīmes x centrēšana"
+msgstr "Iezīmes x līdzināšana"
+#: ../gtk/gtkframe.c:180
#: ../gtk/gtkframe.c:142
msgid "The horizontal alignment of the label"
-msgstr "Iezīmes horizontālā izlīdzināšana"
+msgstr "Iezīmes horizontālā līdzināšana"
+#: ../gtk/gtkframe.c:188
#: ../gtk/gtkframe.c:150
msgid "Label yalign"
-msgstr "Iezīmes y centrēšana"
+msgstr "Iezīmes y līdzināšana"
+#: ../gtk/gtkframe.c:189
#: ../gtk/gtkframe.c:151
msgid "The vertical alignment of the label"
-msgstr "Iezīmes vertikālā izlīdzināšana"
+msgstr "Iezīmes vertikālā līdzināšana"
+#: ../gtk/gtkframe.c:197
#: ../gtk/gtkframe.c:159
msgid "Frame shadow"
-msgstr "Rāmja ēna"
+msgstr "Ietvara ēna"
+#: ../gtk/gtkframe.c:198
#: ../gtk/gtkframe.c:160
msgid "Appearance of the frame border"
-msgstr "Rāmja robežas izskats"
+msgstr "Ietvara robežas izskats"
+#: ../gtk/gtkframe.c:207
#: ../gtk/gtkframe.c:169
msgid "A widget to display in place of the usual frame label"
-msgstr "Logdaļa, ko attēlot parasta rāmja iezīmes vietā"
+msgstr "Logdaļa, ko attēlot parasta ietvara iezīmes vietā"
-#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:175
+#: ../gtk/gtkgrid.c:1298 ../gtk/gtktable.c:209
+#: ../gtk/gtkgrid.c:1277
+#: ../gtk/gtktable.c:175
msgid "Row spacing"
msgstr "Rindu atstarpe"
-#: ../gtk/gtkgrid.c:1270 ../gtk/gtktable.c:176
+#: ../gtk/gtkgrid.c:1299 ../gtk/gtktable.c:210
+#: ../gtk/gtkgrid.c:1278
+#: ../gtk/gtktable.c:176
msgid "The amount of space between two consecutive rows"
msgstr "Atstarpe starp divām sekojošām rindām"
-#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:184
+#: ../gtk/gtkgrid.c:1305 ../gtk/gtktable.c:218
+#: ../gtk/gtkgrid.c:1284
+#: ../gtk/gtktable.c:184
+#: ../gtk/gtktable.c:201
msgid "Column spacing"
msgstr "Kolonnu atstarpe"
-#: ../gtk/gtkgrid.c:1277 ../gtk/gtktable.c:185
+#: ../gtk/gtkgrid.c:1306 ../gtk/gtktable.c:219
+#: ../gtk/gtkgrid.c:1285
+#: ../gtk/gtktable.c:185
+#: ../gtk/gtkmenu.c:759
+#: ../gtk/gtktable.c:202
msgid "The amount of space between two consecutive columns"
-msgstr "Atstarpe starp divām sekojošām koonnām"
+msgstr "Atstarpe starp divām sekojošām kolonnām"
-#: ../gtk/gtkgrid.c:1283
-#, fuzzy
+#: ../gtk/gtkgrid.c:1312
+#: ../gtk/gtkgrid.c:1291
+#: ../gtk/gtktable.c:215
#| msgid "Homogeneous"
msgid "Row Homogeneous"
-msgstr "Viendabīgs"
+msgstr "Rindu viendabīgums"
-#: ../gtk/gtkgrid.c:1284
-#, fuzzy
+#: ../gtk/gtkgrid.c:1313
+#: ../gtk/gtkgrid.c:1292
#| msgid "If TRUE, the popup window will have the same size as the entry"
msgid "If TRUE, the rows are all the same height"
-msgstr "Ja PATIESS, izlecošais logs būs tikpat liels, kā ieraksts"
+msgstr "Ja PATIESS, visas rindas ir ar vienādu augstumu"
-#: ../gtk/gtkgrid.c:1290
-#, fuzzy
+#: ../gtk/gtkgrid.c:1319
+#: ../gtk/gtklayout.c:660
+#: ../gtk/gtktreeviewcolumn.c:262
#| msgid "Homogeneous"
msgid "Column Homogeneous"
-msgstr "Viendabīgs"
+msgstr "Kolonnu viendabīgums"
-#: ../gtk/gtkgrid.c:1291
-#, fuzzy
+#: ../gtk/gtkgrid.c:1320
#| msgid "If TRUE, the child expands and shrinks along with the paned widget"
msgid "If TRUE, the columns are all the same width"
-msgstr "Ja PATIESS, bērns palielinās un saraujās līdz ar logdaļu"
+msgstr "Ja PATIESS, visas kolonnas ir ar vienādu platumu"
-#: ../gtk/gtkgrid.c:1297 ../gtk/gtktable.c:201
+#: ../gtk/gtkgrid.c:1326 ../gtk/gtktable.c:235
+#: ../gtk/gtklayout.c:669
msgid "Left attachment"
-msgstr "Kreisā piesaiste"
+msgstr "Kreisā piesaistne"
-#: ../gtk/gtkgrid.c:1298 ../gtk/gtkmenu.c:759 ../gtk/gtktable.c:202
+#: ../gtk/gtkgrid.c:1327 ../gtk/gtkmenu.c:761 ../gtk/gtktable.c:236
+#: ../gtk/gtkgrid.c:1306
+#: ../gtk/gtkmenu.c:759
+#: ../gtk/gtktable.c:202
msgid "The column number to attach the left side of the child to"
msgstr "Kolonnas numurs, ko piesaistīt bērnam kreisajā pusē"
-#: ../gtk/gtkgrid.c:1304 ../gtk/gtktable.c:215
+#: ../gtk/gtkgrid.c:1333 ../gtk/gtktable.c:249
+#: ../gtk/gtkgrid.c:1312
+#: ../gtk/gtktable.c:215
msgid "Top attachment"
-msgstr "Augšas piesaiste"
+msgstr "Augšas piesaistne"
-#: ../gtk/gtkgrid.c:1305
-#, fuzzy
+#: ../gtk/gtkgrid.c:1334
#| msgid "The row number to attach the top of a child widget to"
msgid "The row number to attach the top side of a child widget to"
msgstr "Rindas numurs, ko piesaistīt bērna augšas logdaļai"
-#: ../gtk/gtkgrid.c:1311 ../gtk/gtklayout.c:660 ../gtk/gtktreeviewcolumn.c:262
+#: ../gtk/gtkgrid.c:1340 ../gtk/gtklayout.c:660 ../gtk/gtktreeviewcolumn.c:274
+#: ../gtk/gtkgrid.c:1319
+#: ../gtk/gtktreeviewcolumn.c:262
msgid "Width"
msgstr "Platums"
-#: ../gtk/gtkgrid.c:1312
-#, fuzzy
+#: ../gtk/gtkgrid.c:1341
#| msgid "The number of columns in the table"
msgid "The number of columns that a child spans"
-msgstr "Tabulas kolonnu skaits"
+msgstr "Kolonnu skaits, ko bērns izvērš"
-#: ../gtk/gtkgrid.c:1318 ../gtk/gtklayout.c:669
+#: ../gtk/gtkgrid.c:1347 ../gtk/gtklayout.c:669
+#: ../gtk/gtkgrid.c:1326
msgid "Height"
msgstr "Augstums"
-#: ../gtk/gtkgrid.c:1319
-#, fuzzy
+#: ../gtk/gtkgrid.c:1348
#| msgid "The number of rows in the table"
msgid "The number of rows that a child spans"
-msgstr "Tabulas rindu skaits"
+msgstr "Rindu skaits, ko bērns izvērš"
+#: ../gtk/gtkhandlebox.c:219
#: ../gtk/gtkhandlebox.c:191
msgid "Appearance of the shadow that surrounds the container"
-msgstr "Ēnas izskas, kas aptver saturētāju"
+msgstr "Ēnas izskats, kas aptver saturētāju"
+#: ../gtk/gtkhandlebox.c:227
#: ../gtk/gtkhandlebox.c:199
msgid "Handle position"
-msgstr "Roktura pozīcija"
+msgstr "Tura pozīcija"
+#: ../gtk/gtkhandlebox.c:228
#: ../gtk/gtkhandlebox.c:200
msgid "Position of the handle relative to the child widget"
-msgstr "Roktura pozīcija attiecībā pret bērna logdaļu"
+msgstr "Tura pozīcija attiecībā pret bērna logdaļu"
+#: ../gtk/gtkhandlebox.c:236
#: ../gtk/gtkhandlebox.c:208
msgid "Snap edge"
msgstr "Aplauzt malas"
+#: ../gtk/gtkhandlebox.c:237
#: ../gtk/gtkhandlebox.c:209
msgid ""
"Side of the handlebox that's lined up with the docking point to dock the "
"handlebox"
msgstr ""
-"Rokturkastes puse, kas nostādīta rindā ar noenkurošanās punktu doka "
-"rokturkastei"
+"Tura kastes puse, kas nostādīta rindā ar noenkurošanās punktu doka tura "
+"kastei"
+#: ../gtk/gtkhandlebox.c:245
#: ../gtk/gtkhandlebox.c:217
msgid "Snap edge set"
msgstr "Aplauztu malu iestatījums"
-#: ../gtk/gtkhandlebox.c:218
+#: ../gtk/gtkhandlebox.c:246
msgid ""
"Whether to use the value from the snap_edge property or a value derived from "
"handle_position"
"Vai lietot vērtību no snap_edge īpašības vai vērtību, kas atvasināta no from "
"handle_position"
+#: ../gtk/gtkhandlebox.c:253
#: ../gtk/gtkhandlebox.c:225
msgid "Child Detached"
msgstr "Bērns atvienojies"
+#: ../gtk/gtkhandlebox.c:254
#: ../gtk/gtkhandlebox.c:226
msgid ""
"A boolean value indicating whether the handlebox's child is attached or "
"detached."
msgstr ""
+"Bula vērtība, kas norāda, vai tura kastes bērns ir piesaistīts vai "
+"atsaistīts"
-#: ../gtk/gtkiconview.c:526
+#: ../gtk/gtkiconview.c:528 ../gtk/gtktreeselection.c:131
msgid "Selection mode"
msgstr "Atlases režīms"
-#: ../gtk/gtkiconview.c:527
+#: ../gtk/gtkiconview.c:529
+#: ../gtk/gtkiconview.c:530
msgid "The selection mode"
msgstr "Atlases režīms"
-#: ../gtk/gtkiconview.c:545
+#: ../gtk/gtkiconview.c:547
msgid "Pixbuf column"
msgstr "Pikseļu bufera kolonna"
-#: ../gtk/gtkiconview.c:546
+#: ../gtk/gtkiconview.c:548
+#: ../gtk/gtkiconview.c:549
msgid "Model column used to retrieve the icon pixbuf from"
msgstr "Modeļa kolonna, izmantota, lai iegūtu ikonas pikseļu bufera formu"
-#: ../gtk/gtkiconview.c:564
+#: ../gtk/gtkiconview.c:566
+#: ../gtk/gtkentrycompletion.c:344
+#: ../gtk/gtkiconview.c:567
msgid "Model column used to retrieve the text from"
msgstr "Modeļa kolonna, izmantota, lai iegūtu tekstu no formas "
-#: ../gtk/gtkiconview.c:583
+#: ../gtk/gtkiconview.c:585
msgid "Markup column"
msgstr "Marķējuma kolonna"
-#: ../gtk/gtkiconview.c:584
+#: ../gtk/gtkiconview.c:586
+#: ../gtk/gtkiconview.c:587
msgid "Model column used to retrieve the text if using Pango markup"
msgstr ""
"Modeļa kolonna, izmantota teksta iegūšana, ja tiek izmantots Pango marķējums"
-#: ../gtk/gtkiconview.c:591
+#: ../gtk/gtkiconview.c:593
msgid "Icon View Model"
msgstr "Ikonas skata modelis"
-#: ../gtk/gtkiconview.c:592
+#: ../gtk/gtkiconview.c:594
+#: ../gtk/gtkiconview.c:595
msgid "The model for the icon view"
msgstr "Ikonu skata modelis"
-#: ../gtk/gtkiconview.c:608
+#: ../gtk/gtkiconview.c:610
msgid "Number of columns"
msgstr "Kolonnu skaits"
-#: ../gtk/gtkiconview.c:609
+#: ../gtk/gtkiconview.c:611
+#: ../gtk/gtkiconview.c:612
msgid "Number of columns to display"
-msgstr "Parādāmo kolonnu skaits"
+msgstr "Rādāmo kolonnu skaits"
-#: ../gtk/gtkiconview.c:626
+#: ../gtk/gtkiconview.c:628
msgid "Width for each item"
msgstr "Katra elementa platums"
-#: ../gtk/gtkiconview.c:627
+#: ../gtk/gtkiconview.c:629
+#: ../gtk/gtkiconview.c:630
msgid "The width used for each item"
msgstr "Platums, kas lietots katrai sadaļai"
-#: ../gtk/gtkiconview.c:643
+#: ../gtk/gtkiconview.c:645
+#: ../gtk/gtkbox.c:241
+#: ../gtk/gtkcellareabox.c:318
+#: ../gtk/gtkexpander.c:311
+#: ../gtk/gtktreeviewcolumn.c:271
+#: ../gtk/gtkiconview.c:646
msgid "Space which is inserted between cells of an item"
msgstr "Atstarpe, kas ievietota starp sadaļas šūnām"
-#: ../gtk/gtkiconview.c:658
+#: ../gtk/gtkiconview.c:660
msgid "Row Spacing"
msgstr "Rindu atstarpe"
-#: ../gtk/gtkiconview.c:659
+#: ../gtk/gtkiconview.c:661
+#: ../gtk/gtkiconview.c:662
msgid "Space which is inserted between grid rows"
msgstr "Atstarpe, kas ievietota starp režģa rindām"
-#: ../gtk/gtkiconview.c:674
+#: ../gtk/gtkiconview.c:676
msgid "Column Spacing"
msgstr "Kolonnu atstarpe"
-#: ../gtk/gtkiconview.c:675
+#: ../gtk/gtkiconview.c:677
+#: ../gtk/gtkiconview.c:678
msgid "Space which is inserted between grid columns"
-msgstr ""
+msgstr "Atstarpe, kas ievietota starp režģa kolonnām"
-#: ../gtk/gtkiconview.c:690
+#: ../gtk/gtkiconview.c:692
msgid "Margin"
msgstr "Mala"
-#: ../gtk/gtkiconview.c:691
+#: ../gtk/gtkiconview.c:693
+#: ../gtk/gtkiconview.c:694
msgid "Space which is inserted at the edges of the icon view"
msgstr "Atstarpe, kas ievietota ikonas skata malās"
-#: ../gtk/gtkiconview.c:706
-#, fuzzy
+#: ../gtk/gtkiconview.c:708
msgid "Item Orientation"
-msgstr "Novietojums"
+msgstr "Priekšmeta novietojums"
-#: ../gtk/gtkiconview.c:707
-msgid ""
-"How the text and icon of each item are positioned relative to each other"
-msgstr ""
-"Kā teksts un ikona katrai sadaļai ir relatīvi novietoti attiecība viens pret "
-"otru"
+#: ../gtk/gtkiconview.c:709
+#: ../gtk/gtkiconview.c:710
+msgid "How the text and icon of each item are positioned relative to each other"
+msgstr "Kā teksts un ikona katrai sadaļai ir novietoti attiecība viens pret otru"
-#: ../gtk/gtkiconview.c:723 ../gtk/gtktreeview.c:1022
+#: ../gtk/gtkiconview.c:725 ../gtk/gtktreeview.c:1022
+#: ../gtk/gtktreeviewcolumn.c:374
+#: ../gtk/gtkiconview.c:726
#: ../gtk/gtktreeviewcolumn.c:362
msgid "Reorderable"
-msgstr "Ierakstāms"
+msgstr "Pārkārtojams"
-#: ../gtk/gtkiconview.c:724 ../gtk/gtktreeview.c:1023
+#: ../gtk/gtkiconview.c:726 ../gtk/gtktreeview.c:1023
+#: ../gtk/gtktreeview.c:1022
+#: ../gtk/gtktreeviewcolumn.c:362
+#: ../gtk/gtkiconview.c:727
msgid "View is reorderable"
-msgstr "Skats ir ierakstāms"
+msgstr "Skats ir pārkārtojams"
-#: ../gtk/gtkiconview.c:731 ../gtk/gtktreeview.c:1173
+#: ../gtk/gtkiconview.c:733 ../gtk/gtktreeview.c:1173
+#: ../gtk/gtkiconview.c:734
msgid "Tooltip Column"
msgstr "Paskaidres kolonna"
-#: ../gtk/gtkiconview.c:732
+#: ../gtk/gtkiconview.c:734
+#: ../gtk/gtktreeview.c:1173
+#: ../gtk/gtkiconview.c:735
msgid "The column in the model containing the tooltip texts for the items"
msgstr "Kolonna modelī, kura satur elementu tekstu paskaidres"
-#: ../gtk/gtkiconview.c:749
-#, fuzzy
+#: ../gtk/gtkiconview.c:751
msgid "Item Padding"
-msgstr "Apakšas papildinājums"
+msgstr "Priekšmeta papildinājums"
-#: ../gtk/gtkiconview.c:750
+#: ../gtk/gtkiconview.c:752
+#: ../gtk/gtkiconview.c:753
msgid "Padding around icon view items"
-msgstr ""
+msgstr "Papildinājums ap ikonu skata priekšmetiem"
-#: ../gtk/gtkiconview.c:778
+#: ../gtk/gtkiconview.c:783
msgid "Selection Box Color"
msgstr "Izvēles rāmja krāsa"
-#: ../gtk/gtkiconview.c:779
+#: ../gtk/gtkiconview.c:784
+#: ../gtk/gtkiconview.c:785
msgid "Color of the selection box"
-msgstr "Izvēles rāmja krāsa"
+msgstr "Izvēles kastes krāsa"
-#: ../gtk/gtkiconview.c:785
+#: ../gtk/gtkiconview.c:790
msgid "Selection Box Alpha"
msgstr "Izvēles rāmis alfa"
-#: ../gtk/gtkiconview.c:786
+#: ../gtk/gtkiconview.c:791
+#: ../gtk/gtkiconview.c:792
msgid "Opacity of the selection box"
-msgstr "Izvēles rāmja caurspīdīgums"
+msgstr "Izvēles kastes caurspīdīgums"
-#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:204
+#: ../gtk/gtkimage.c:237 ../gtk/gtkstatusicon.c:235
+#: ../gtk/gtkimage.c:236
+#: ../gtk/gtkstatusicon.c:205
+#: ../gtk/gtkstatusicon.c:206
msgid "Pixbuf"
msgstr "Pixbuf"
-#: ../gtk/gtkimage.c:237 ../gtk/gtkstatusicon.c:205
+#: ../gtk/gtkimage.c:238 ../gtk/gtkstatusicon.c:236
+#: ../gtk/gtkimage.c:237
+#: ../gtk/gtkstatusicon.c:206
msgid "A GdkPixbuf to display"
msgstr "GdkPixbuf, ko parādīt"
-#: ../gtk/gtkimage.c:244 ../gtk/gtkrecentmanager.c:294
-#: ../gtk/gtkstatusicon.c:212
+#: ../gtk/gtkimage.c:245 ../gtk/gtkrecentmanager.c:294
+#: ../gtk/gtkstatusicon.c:243
+#: ../gtk/gtkimage.c:244
+#: ../gtk/gtkstatusicon.c:213
+#: ../gtk/gtkstatusicon.c:214
msgid "Filename"
msgstr "Faila nosaukums"
-#: ../gtk/gtkimage.c:245 ../gtk/gtkstatusicon.c:213
+#: ../gtk/gtkimage.c:246 ../gtk/gtkstatusicon.c:244
+#: ../gtk/gtkimage.c:245
+#: ../gtk/gtkstatusicon.c:214
msgid "Filename to load and display"
msgstr "Faila nosaukums, kuru ielādēt un attēlot"
-#: ../gtk/gtkimage.c:254 ../gtk/gtkstatusicon.c:221
+#: ../gtk/gtkimage.c:255 ../gtk/gtkstatusicon.c:252
+#: ../gtk/gtkimage.c:254
+#: ../gtk/gtkstatusicon.c:222
msgid "Stock ID for a stock image to display"
msgstr "Krājuma ID, ko parādīt krājumā esošajam attēlam"
+#: ../gtk/gtkimage.c:262
#: ../gtk/gtkimage.c:261
msgid "Icon set"
msgstr "Ikonu kopa"
-#: ../gtk/gtkimage.c:262
+#: ../gtk/gtkimage.c:263
msgid "Icon set to display"
msgstr "Ikonu kopa, ko attēlot"
-#: ../gtk/gtkimage.c:269 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518
+#: ../gtk/gtkimage.c:270 ../gtk/gtkscalebutton.c:228 ../gtk/gtktoolbar.c:528
+#: ../gtk/gtktoolpalette.c:1008
+#: ../gtk/gtkimage.c:269
+#: ../gtk/gtkscalebutton.c:227
+#: ../gtk/gtktoolbar.c:518
#: ../gtk/gtktoolpalette.c:1039
msgid "Icon size"
msgstr "Ikonas izmērs"
-#: ../gtk/gtkimage.c:270
+#: ../gtk/gtkimage.c:271
msgid "Symbolic size to use for stock icon, icon set or named icon"
msgstr ""
"Simbolisks izmērs, ko lieto krājuma ikonai, ikonu komplektam vai nosauktai "
"ikonai"
+#: ../gtk/gtkimage.c:287
#: ../gtk/gtkimage.c:286
msgid "Pixel size"
msgstr "Pikseļu izmērs"
-#: ../gtk/gtkimage.c:287
+#: ../gtk/gtkimage.c:288
msgid "Pixel size to use for named icon"
msgstr "Pikseļu izmērs, ko lietot nosauktai ikonai"
+#: ../gtk/gtkimage.c:296
#: ../gtk/gtkimage.c:295
msgid "Animation"
msgstr "Animācija"
-#: ../gtk/gtkimage.c:296
+#: ../gtk/gtkimage.c:297
msgid "GdkPixbufAnimation to display"
msgstr "GdkPixbufAnimation, ko parādīt"
-#: ../gtk/gtkimage.c:336 ../gtk/gtkstatusicon.c:252
+#: ../gtk/gtkimage.c:337 ../gtk/gtkstatusicon.c:283
+#: ../gtk/gtkimage.c:336
+#: ../gtk/gtkstatusicon.c:253
+#: ../gtk/gtkstatusicon.c:254
msgid "Storage type"
msgstr "Glabātuves tips"
-#: ../gtk/gtkimage.c:337 ../gtk/gtkstatusicon.c:253
+#: ../gtk/gtkimage.c:338 ../gtk/gtkstatusicon.c:284
+#: ../gtk/gtkimage.c:337
+#: ../gtk/gtkstatusicon.c:254
msgid "The representation being used for image data"
msgstr "Attēla datiem lietotais attēlojums"
+#: ../gtk/gtkimage.c:356
#: ../gtk/gtkimage.c:355
-#, fuzzy
#| msgid "Use alpha"
msgid "Use Fallback"
-msgstr "Lietot alfa"
+msgstr "Lietot atkāpšanos"
-#: ../gtk/gtkimage.c:356
-#, fuzzy
+#: ../gtk/gtkimage.c:357
msgid "Whether to use icon names fallback"
-msgstr "Vai statusa ikona ir redzama"
+msgstr "Vai izmantot ikonu nosaukumu atkāpšanos"
+#: ../gtk/gtkimagemenuitem.c:161
#: ../gtk/gtkimagemenuitem.c:150
msgid "Child widget to appear next to the menu text"
msgstr "Bērna logdaļa, kurai jāparādās blakus izvēlnes tekstam"
+#: ../gtk/gtkimagemenuitem.c:176
#: ../gtk/gtkimagemenuitem.c:165
msgid "Whether to use the label text to create a stock menu item"
msgstr "Vai lietot iezīmes tekstu veidojot krājuma izvēlnes elementus"
-#: ../gtk/gtkimagemenuitem.c:198 ../gtk/gtkmenu.c:601
+#: ../gtk/gtkimagemenuitem.c:209 ../gtk/gtkmenu.c:603
+#: ../gtk/gtkimagemenuitem.c:198
+#: ../gtk/gtkmenu.c:601
msgid "Accel Group"
msgstr "Paātrinājuma grupa"
+#: ../gtk/gtkimagemenuitem.c:210
#: ../gtk/gtkimagemenuitem.c:199
msgid "The Accel Group to use for stock accelerator keys"
msgstr "Paātrinājuma grupa, ko izmantot krājuma paātrinājuma taustiņiem"
-#: ../gtk/gtkinfobar.c:371 ../gtk/gtkmessagedialog.c:202
+#: ../gtk/gtkinfobar.c:372 ../gtk/gtkmessagedialog.c:202
+#: ../gtk/gtkinfobar.c:371
+#: ../gtk/gtkmessagedialog.c:203
msgid "Message Type"
-msgstr "Ziņojuma Tips"
+msgstr "Ziņojuma tips"
-#: ../gtk/gtkinfobar.c:372 ../gtk/gtkmessagedialog.c:203
+#: ../gtk/gtkinfobar.c:373 ../gtk/gtkmessagedialog.c:203
+#: ../gtk/gtkinfobar.c:372
msgid "The type of message"
msgstr "Ziņojuma tips"
-#: ../gtk/gtkinfobar.c:427
-#, fuzzy
+#: ../gtk/gtkinfobar.c:428
msgid "Width of border around the content area"
-msgstr "Robežas platums ap galveno dialoga laukumu"
+msgstr "Robežas platums ap satura laukumu"
-#: ../gtk/gtkinfobar.c:444
-#, fuzzy
+#: ../gtk/gtkinfobar.c:445
msgid "Spacing between elements of the area"
-msgstr "Atstarpe starp elementiem un galveno loga apgabalu"
+msgstr "Atstarpe starp elementiem apgabalā"
-#: ../gtk/gtkinfobar.c:476
-#, fuzzy
+#: ../gtk/gtkinfobar.c:477
msgid "Width of border around the action area"
-msgstr "Robežas platums ap galveno dialoga laukumu"
+msgstr "Robežas platums ap darbības laukumu"
-#: ../gtk/gtkinvisible.c:89 ../gtk/gtkmountoperation.c:175
-#: ../gtk/gtkstatusicon.c:271 ../gtk/gtkstylecontext.c:546
-#: ../gtk/gtkwindow.c:726
+#: ../gtk/gtkinvisible.c:103 ../gtk/gtkmountoperation.c:173
+#: ../gtk/gtkstatusicon.c:302 ../gtk/gtkstylecontext.c:431
+#: ../gtk/gtkwindow.c:732
+#: ../gtk/gtkinvisible.c:89
+#: ../gtk/gtkmountoperation.c:175
+#: ../gtk/gtkstatusicon.c:272
+#: ../gtk/gtkstylecontext.c:545
+#: ../gtk/gtkwindow.c:730
msgid "Screen"
msgstr "Ekrāns"
-#: ../gtk/gtkinvisible.c:90 ../gtk/gtkwindow.c:727
+#: ../gtk/gtkinvisible.c:104 ../gtk/gtkwindow.c:733
+#: ../gtk/gtkinvisible.c:90
+#: ../gtk/gtkwindow.c:731
msgid "The screen where this window will be displayed"
msgstr "Ekrāns, kurā šis logs tiks parādīts"
+#: ../gtk/gtklabel.c:745
#: ../gtk/gtklabel.c:568
msgid "The text of the label"
msgstr "Iezīmes teksts"
+#: ../gtk/gtklabel.c:752
#: ../gtk/gtklabel.c:575
msgid "A list of style attributes to apply to the text of the label"
-msgstr "Stila atribūtu saraksts, kuru pieleietot iezīmes tekstam"
+msgstr "Stila atribūtu saraksts, kuru pielietot iezīmes tekstam"
-#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:353 ../gtk/gtktextview.c:701
+#: ../gtk/gtklabel.c:773 ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:703
+#: ../gtk/gtklabel.c:596
+#: ../gtk/gtktexttag.c:353
+#: ../gtk/gtktextview.c:701
msgid "Justification"
msgstr "Izlīdzināšana"
+#: ../gtk/gtklabel.c:774
#: ../gtk/gtklabel.c:597
msgid ""
"The alignment of the lines in the text of the label relative to each other. "
"This does NOT affect the alignment of the label within its allocation. See "
"GtkMisc::xalign for that"
msgstr ""
-"Līniju izlīdzināšana iezīmes tekstā attiecībā vienai pret otru. Šis "
-"NEietekmē iezīmes izlīdzināšanu tās iedalīšanā. Tam apskati GtkMisc::xalign"
+"Līniju līdzināšana iezīmes tekstā attiecībā vienai pret otru. Šis NEietekmē "
+"iezīmes līdzināšanu tās iedalīšanā. Tam apskati GtkMisc::xalign"
+#: ../gtk/gtklabel.c:782
#: ../gtk/gtklabel.c:605
msgid "Pattern"
msgstr "Raksts"
+#: ../gtk/gtklabel.c:783
#: ../gtk/gtklabel.c:606
msgid ""
"A string with _ characters in positions correspond to characters in the text "
"Virkne ar _ rakstzīmēm pozīcijās, kas atbilst pasvītrojamajām rakstzīmēm "
"tekstā"
+#: ../gtk/gtklabel.c:790
#: ../gtk/gtklabel.c:613
msgid "Line wrap"
msgstr "Rindiņu aplaušana"
+#: ../gtk/gtklabel.c:791
#: ../gtk/gtklabel.c:614
msgid "If set, wrap lines if the text becomes too wide"
msgstr "Ja iestatīts, aplauzt rindiņas, ja teksts kļūst pārāk plašs"
+#: ../gtk/gtklabel.c:806
#: ../gtk/gtklabel.c:629
msgid "Line wrap mode"
msgstr "Rindiņu aplaušanas režīms"
+#: ../gtk/gtklabel.c:807
#: ../gtk/gtklabel.c:630
msgid "If wrap is set, controls how linewrapping is done"
-msgstr ""
+msgstr "Ja aplaušana iestatīta, kontrolē, kā tiek veikta rindiņu aplaušana"
+#: ../gtk/gtklabel.c:814
#: ../gtk/gtklabel.c:637
msgid "Selectable"
msgstr "Izvēlējams"
+#: ../gtk/gtklabel.c:815
#: ../gtk/gtklabel.c:638
msgid "Whether the label text can be selected with the mouse"
msgstr "Vai iezīmes teksts var tikt izvēlēts ar peli"
+#: ../gtk/gtklabel.c:821
#: ../gtk/gtklabel.c:644
msgid "Mnemonic key"
msgstr "Mnemonikas taustiņš"
+#: ../gtk/gtklabel.c:822
#: ../gtk/gtklabel.c:645
msgid "The mnemonic accelerator key for this label"
msgstr "Mnemonikas paātrinātāja taustiņš šai iezīmei"
+#: ../gtk/gtklabel.c:830
#: ../gtk/gtklabel.c:653
msgid "Mnemonic widget"
msgstr "Mnemonikas logdaļa"
+#: ../gtk/gtklabel.c:831
#: ../gtk/gtklabel.c:654
msgid "The widget to be activated when the label's mnemonic key is pressed"
-msgstr ""
-"Logdaļa, kura jāaktivizē, kad iezīmes mnemonikas taustiņš tiek nospiests"
+msgstr "Logdaļa, kura jāaktivizē, kad iezīmes mnemonikas taustiņš tiek nospiests"
+#: ../gtk/gtklabel.c:877
#: ../gtk/gtklabel.c:700
msgid ""
"The preferred place to ellipsize the string, if the label does not have "
"enough room to display the entire string"
msgstr ""
+"Vēlamā vieta, kur virkni īsināt ar daudzpunkti, ja iezīmei nepietiek vietas, "
+"lai attēlotu visu virkni"
+#: ../gtk/gtklabel.c:918
#: ../gtk/gtklabel.c:741
msgid "Single Line Mode"
msgstr "Vienas rindas režīms"
+#: ../gtk/gtklabel.c:919
#: ../gtk/gtklabel.c:742
msgid "Whether the label is in single line mode"
-msgstr "Vai etiķete ir vienas rindas režīmā"
+msgstr "Vai iezīme ir vienas rindas režīmā"
-#: ../gtk/gtklabel.c:759
+#: ../gtk/gtklabel.c:936
msgid "Angle"
msgstr "Leņķis"
+#: ../gtk/gtklabel.c:937
#: ../gtk/gtklabel.c:760
msgid "Angle at which the label is rotated"
-msgstr "Etiķetes rotācijas leņķis"
+msgstr "Iezīmes rotācijas leņķis"
-#: ../gtk/gtklabel.c:782
+#: ../gtk/gtklabel.c:959
msgid "The desired maximum width of the label, in characters"
msgstr "Vēlamais maksimālais etiķetes platums rakstīmēs"
+#: ../gtk/gtklabel.c:977
#: ../gtk/gtklabel.c:800
-#, fuzzy
msgid "Track visited links"
-msgstr "Aplūkoto saišu krāsa"
+msgstr "Izsekot apmeklētās saites"
+#: ../gtk/gtklabel.c:978
#: ../gtk/gtklabel.c:801
-#, fuzzy
msgid "Whether visited links should be tracked"
-msgstr "Vai rādīt privātos elementus"
+msgstr "Vai apmeklētās saites vajadzētu izsekot"
#: ../gtk/gtklayout.c:661
msgid "The width of the layout"
msgid "Whether this link has been visited."
msgstr "Vai šī saite ir apmeklēta."
+#: ../gtk/gtklockbutton.c:278
+msgid "Permission"
+msgstr "Atļauja"
+
+#: ../gtk/gtklockbutton.c:279
+msgid "The GPermission object controlling this button"
+msgstr "GPermission objekts, kas kontrolē šo pogu"
+
+#: ../gtk/gtklockbutton.c:286
+#| msgid "Text"
+msgid "Lock Text"
+msgstr "Slēgšanas teksts"
+
+#: ../gtk/gtklockbutton.c:287
+#| msgid "The text to display in order to demonstrate the selected font"
+msgid "The text to display when prompting the user to lock"
+msgstr "Teksts, ko parādīt, kad prasa lietotājam slēgt"
+
+#: ../gtk/gtklockbutton.c:295
+msgid "Unlock Text"
+msgstr "Atslēgšanas teksts"
+
+#: ../gtk/gtklockbutton.c:296
+#| msgid "The text to display in order to demonstrate the selected font"
+msgid "The text to display when prompting the user to unlock"
+msgstr "Teksts, ko parādīt, kad prasa lietotājam atslēgt"
+
+#: ../gtk/gtklockbutton.c:304
+#| msgid "Tooltip"
+msgid "Lock Tooltip"
+msgstr "Slēgšanas paskaidre"
+
+#: ../gtk/gtklockbutton.c:305
+msgid "The tooltip to display when prompting the user to lock"
+msgstr "Paskaidre, ko parādīt, kad prasa lietotājam slēgt"
+
+#: ../gtk/gtklockbutton.c:313
+#| msgid "Enable Tooltips"
+msgid "Unlock Tooltip"
+msgstr "Atslēgšanas paskaidre"
+
+#: ../gtk/gtklockbutton.c:314
+msgid "The tooltip to display when prompting the user to unlock"
+msgstr "Paskaidre, ko parādīt, kad prasa lietotājam atslēgt"
+
+#: ../gtk/gtklockbutton.c:322
+msgid "Not Authorized Tooltip"
+msgstr "Neautorizēta paskaidre"
+
+#: ../gtk/gtklockbutton.c:323
+msgid ""
+"The tooltip to display when prompting the user cannot obtain authorization"
+msgstr "Paskaidre, ko parādīt, kad lietotājs nevar saņemt autorizāciju"
+
+#: ../gtk/gtkmenubar.c:191
#: ../gtk/gtkmenubar.c:181
msgid "Pack direction"
msgstr "Pakas virziens"
+#: ../gtk/gtkmenubar.c:192
#: ../gtk/gtkmenubar.c:182
msgid "The pack direction of the menubar"
msgstr "Izvēlnes joslas pakas virziens"
+#: ../gtk/gtkmenubar.c:208
#: ../gtk/gtkmenubar.c:198
msgid "Child Pack direction"
-msgstr "Bērna kompleta virziens"
+msgstr "Bērna pakas virziens"
+#: ../gtk/gtkmenubar.c:209
#: ../gtk/gtkmenubar.c:199
msgid "The child pack direction of the menubar"
msgstr "Izvēlnes joslas bērna pakas virziens"
-#: ../gtk/gtkmenubar.c:208
+#: ../gtk/gtkmenubar.c:218
msgid "Style of bevel around the menubar"
msgstr "Konusa stils ap izvēļņjoslu"
-#: ../gtk/gtkmenubar.c:215 ../gtk/gtktoolbar.c:568
+#: ../gtk/gtkmenubar.c:225 ../gtk/gtktoolbar.c:578
+#: ../gtk/gtkmenubar.c:215
+#: ../gtk/gtktoolbar.c:568
msgid "Internal padding"
msgstr "Iekšējā papildināšana"
+#: ../gtk/gtkmenubar.c:226
#: ../gtk/gtkmenubar.c:216
msgid "Amount of border space between the menubar shadow and the menu items"
-msgstr "Atstarpe starp izvēļņjoslas ēnu un izvēlnes priekšmetiem"
+msgstr "Atstarpe starp izvēlnes joslas ēnu un izvēlnes priekšmetiem"
+#: ../gtk/gtkmenu.c:589
#: ../gtk/gtkmenu.c:587
msgid "The currently selected menu item"
msgstr "Pašreiz izvēlētais izvēlnes elements"
+#: ../gtk/gtkmenu.c:604
#: ../gtk/gtkmenu.c:602
msgid "The accel group holding accelerators for the menu"
msgstr "Paātrinājuma grupa, kas satur izvēlnes paātrinātājus"
-#: ../gtk/gtkmenu.c:616 ../gtk/gtkmenuitem.c:313
+#: ../gtk/gtkmenu.c:618 ../gtk/gtkmenuitem.c:369
+#: ../gtk/gtkmenu.c:616
+#: ../gtk/gtkmenuitem.c:313
msgid "Accel Path"
msgstr "Paātrinātāja ceļš"
+#: ../gtk/gtkmenu.c:619
#: ../gtk/gtkmenu.c:617
msgid "An accel path used to conveniently construct accel paths of child items"
msgstr ""
+"Paātrinātāja ceļš, ko izmanto, lai ērti veidotu paātrinātāja ceļus bērnu "
+"priekšmetiem"
+#: ../gtk/gtkmenu.c:635
#: ../gtk/gtkmenu.c:633
msgid "Attach Widget"
msgstr "Pievienot logdaļu"
+#: ../gtk/gtkmenu.c:636
#: ../gtk/gtkmenu.c:634
msgid "The widget the menu is attached to"
msgstr "Logdaļa, kurai ir piesaistīta izvēlne"
+#: ../gtk/gtkmenu.c:644
#: ../gtk/gtkmenu.c:642
msgid ""
"A title that may be displayed by the window manager when this menu is torn-"
"off"
-msgstr ""
-"Virsraksts, ko var parādīt logu pārvaldnieks, kad šī izvēlne ir izslēgta"
+msgstr "Virsraksts, ko var parādīt logu pārvaldnieks, kad šī izvēlne ir atrauta"
+#: ../gtk/gtkmenu.c:658
#: ../gtk/gtkmenu.c:656
msgid "Tearoff State"
msgstr "Atrautības stāvoklis"
+#: ../gtk/gtkmenu.c:659
#: ../gtk/gtkmenu.c:657
msgid "A boolean that indicates whether the menu is torn-off"
msgstr "Loģiskā vērtība, kas norāda vai izvēlne ir atrauta"
+#: ../gtk/gtkmenu.c:673
#: ../gtk/gtkmenu.c:671
msgid "Monitor"
msgstr "Monitors"
+#: ../gtk/gtkmenu.c:674
#: ../gtk/gtkmenu.c:672
msgid "The monitor the menu will be popped up on"
-msgstr ""
+msgstr "Monitors, uz kura parādīsies izvēlne"
+#: ../gtk/gtkmenu.c:680
#: ../gtk/gtkmenu.c:678
msgid "Vertical Padding"
msgstr "Vertikālā papildināšana"
+#: ../gtk/gtkmenu.c:681
#: ../gtk/gtkmenu.c:679
msgid "Extra space at the top and bottom of the menu"
-msgstr "Papildus vieta izvelnes augšā un apakšā"
+msgstr "Papildus vieta izvēlnes augšā un apakšā"
+#: ../gtk/gtkmenu.c:703
#: ../gtk/gtkmenu.c:701
msgid "Reserve Toggle Size"
-msgstr ""
+msgstr "Rezervēt pārslēgšanas izmēru"
+#: ../gtk/gtkmenu.c:704
#: ../gtk/gtkmenu.c:702
-#, fuzzy
msgid ""
"A boolean that indicates whether the menu reserves space for toggles and "
"icons"
-msgstr "Loģiskā vērtība, kas norāda vai izvēlne ir atrauta"
+msgstr ""
+"Loģiskā vērtība, kas norāda vai izvēlne rezervēs vietu pārslēgiem un ikonām"
+#: ../gtk/gtkmenu.c:710
#: ../gtk/gtkmenu.c:708
msgid "Horizontal Padding"
msgstr "Horizontālā papildināšana"
+#: ../gtk/gtkmenu.c:711
#: ../gtk/gtkmenu.c:709
msgid "Extra space at the left and right edges of the menu"
msgstr "Atstarpes apmērs, kādu pievienot pa labi un pa kreisi no izvēlnes"
+#: ../gtk/gtkmenu.c:719
#: ../gtk/gtkmenu.c:717
msgid "Vertical Offset"
msgstr "Vertikālā nobīde"
+#: ../gtk/gtkmenu.c:720
#: ../gtk/gtkmenu.c:718
msgid ""
"When the menu is a submenu, position it this number of pixels offset "
"Kad izvēlne ir apakšizvēlne, novieto to pēc šī pikseļu skaita vertikālās "
"nobīdes"
+#: ../gtk/gtkmenu.c:728
#: ../gtk/gtkmenu.c:726
msgid "Horizontal Offset"
msgstr "Horizontālā nobīde"
+#: ../gtk/gtkmenu.c:729
#: ../gtk/gtkmenu.c:727
msgid ""
"When the menu is a submenu, position it this number of pixels offset "
"Kad izvēlne ir apakšizvēlne, novieto to pēc šī pikseļu skaita horizontālās "
"nobīdes"
+#: ../gtk/gtkmenu.c:737
#: ../gtk/gtkmenu.c:735
msgid "Double Arrows"
msgstr "Dubultās bultas"
+#: ../gtk/gtkmenu.c:738
#: ../gtk/gtkmenu.c:736
msgid "When scrolling, always show both arrows."
-msgstr ""
+msgstr "Kad ritina, vienmēr rādīt abas bultas."
+#: ../gtk/gtkmenu.c:751
#: ../gtk/gtkmenu.c:749
msgid "Arrow Placement"
msgstr "Bultas novietojums"
+#: ../gtk/gtkmenu.c:752
#: ../gtk/gtkmenu.c:750
msgid "Indicates where scroll arrows should be placed"
-msgstr ""
+msgstr "Norāda, kur tiks novietotas ritināšanas bultas"
+#: ../gtk/gtkmenu.c:760
#: ../gtk/gtkmenu.c:758
msgid "Left Attach"
msgstr "Kreisā piesaiste"
+#: ../gtk/gtkmenu.c:768
#: ../gtk/gtkmenu.c:766
msgid "Right Attach"
msgstr "Labā piesaiste"
+#: ../gtk/gtkmenu.c:769
#: ../gtk/gtkmenu.c:767
msgid "The column number to attach the right side of the child to"
msgstr "Kolonnas numurs, ko piesaistīt bērna labajai pusei"
+#: ../gtk/gtkmenu.c:776
#: ../gtk/gtkmenu.c:774
msgid "Top Attach"
msgstr "Augšas piesaiste"
+#: ../gtk/gtkmenu.c:777
#: ../gtk/gtkmenu.c:775
msgid "The row number to attach the top of the child to"
msgstr "Rindas numurs, ko piesaistīt bērna virsotnei"
+#: ../gtk/gtkmenu.c:784
#: ../gtk/gtkmenu.c:782
msgid "Bottom Attach"
msgstr "Apakšas piesaiste"
-#: ../gtk/gtkmenu.c:783 ../gtk/gtktable.c:223
+#: ../gtk/gtkmenu.c:785 ../gtk/gtktable.c:257
+#: ../gtk/gtkmenu.c:783
+#: ../gtk/gtktable.c:223
msgid "The row number to attach the bottom of the child to"
-msgstr "Rindas numurs, ko piesaistīt bērna apagšas logdaļai"
+msgstr "Rindas numurs, ko piesaistīt bērna apakšas logdaļai"
+#: ../gtk/gtkmenu.c:799
#: ../gtk/gtkmenu.c:797
msgid "Arbitrary constant to scale down the size of the scroll arrow"
-msgstr ""
+msgstr "Patvaļīga konstante, par kādu samazināt ritināšanas bultas izmēru"
+#: ../gtk/gtkmenuitem.c:337
#: ../gtk/gtkmenuitem.c:281
msgid "Right Justified"
msgstr "Labā izlīdzināšana"
+#: ../gtk/gtkmenuitem.c:338
#: ../gtk/gtkmenuitem.c:282
msgid ""
"Sets whether the menu item appears justified at the right side of a menu bar"
msgstr ""
+"Iestata, vai izvēlnes priekšmets ir izlīdzināts pie izvēlnes joslas labās "
+"malas"
+#: ../gtk/gtkmenuitem.c:352
#: ../gtk/gtkmenuitem.c:296
msgid "Submenu"
msgstr "Apakšizvēlne"
+#: ../gtk/gtkmenuitem.c:353
#: ../gtk/gtkmenuitem.c:297
msgid "The submenu attached to the menu item, or NULL if it has none"
msgstr ""
+"Apakšizvēlne piesaistīta pie izvēlnes vienuma, vai NULL, ja tai tai tādu nav"
+#: ../gtk/gtkmenuitem.c:370
#: ../gtk/gtkmenuitem.c:314
msgid "Sets the accelerator path of the menu item"
-msgstr ""
+msgstr "Iestata paātrinātāja ceļu izvēlnes vienumam"
+#: ../gtk/gtkmenuitem.c:385
#: ../gtk/gtkmenuitem.c:329
msgid "The text for the child label"
-msgstr "Bērna etiķetes teksts"
+msgstr "Bērna iezīmes teksts"
+#: ../gtk/gtkmenuitem.c:448
#: ../gtk/gtkmenuitem.c:392
msgid "Amount of space used up by arrow, relative to the menu item's font size"
msgstr ""
+"Bultas izmantotais vietas daudzums. relatīvs pret izvēlnes priekšmeta fonta "
+"izmēru"
+#: ../gtk/gtkmenuitem.c:461
#: ../gtk/gtkmenuitem.c:405
msgid "Width in Characters"
-msgstr "Platums rakszīmēs"
+msgstr "Platums rakstzīmēs"
+#: ../gtk/gtkmenuitem.c:462
#: ../gtk/gtkmenuitem.c:406
msgid "The minimum desired width of the menu item in characters"
-msgstr ""
+msgstr "Minimālais vēlamais izvēlnes priekšmetu platums, izteikts rakstzīmēs"
#: ../gtk/gtkmenushell.c:420
msgid "Take Focus"
#: ../gtk/gtkmenushell.c:421
msgid "A boolean that determines whether the menu grabs the keyboard focus"
-msgstr "Loģiska vērtība, kas nosaka, vai izvēlne sagrābj tatatūras fokusu"
+msgstr "Loģiska vērtība, kas nosaka, vai izvēlne sagrābj tastatūras fokusu"
+#: ../gtk/gtkmenutoolbutton.c:293
#: ../gtk/gtkmenutoolbutton.c:257
msgid "Menu"
msgstr "Izvēlne"
+#: ../gtk/gtkmenutoolbutton.c:294
#: ../gtk/gtkmenutoolbutton.c:258
msgid "The dropdown menu"
msgstr "Izkrītošā izvēlne"
#: ../gtk/gtkmessagedialog.c:210
msgid "Message Buttons"
-msgstr "Ziņojuma Pogas"
+msgstr "Ziņojuma pogas"
#: ../gtk/gtkmessagedialog.c:211
msgid "The buttons shown in the message dialog"
-msgstr "Ziņas dialogā parādītās pogas"
+msgstr "Ziņojumu dialogā parādītās pogas"
#: ../gtk/gtkmessagedialog.c:228
msgid "The primary text of the message dialog"
-msgstr "Ziņas loga primārais teksts"
+msgstr "Ziņojuma dialoga primārais teksts"
#: ../gtk/gtkmessagedialog.c:243
msgid "Use Markup"
#: ../gtk/gtkmessagedialog.c:244
msgid "The primary text of the title includes Pango markup."
-msgstr ""
+msgstr "Virsraksta primārais teksts iekļauj Pango marķējumu."
#: ../gtk/gtkmessagedialog.c:258
msgid "Secondary Text"
#: ../gtk/gtkmessagedialog.c:259
msgid "The secondary text of the message dialog"
-msgstr "Ziņas loga sekundārais teksts"
+msgstr "Ziņojuma dialoga sekundārais teksts"
#: ../gtk/gtkmessagedialog.c:274
msgid "Use Markup in secondary"
-msgstr "Izmantot formatējumu sekundārajā"
+msgstr "Lietot marķējumu sekundārajā"
#: ../gtk/gtkmessagedialog.c:275
msgid "The secondary text includes Pango markup."
-msgstr ""
+msgstr "Sekundārais teksts iekļauj Pango marķējumu."
#: ../gtk/gtkmessagedialog.c:289
msgid "Image"
msgstr "Attēls"
#: ../gtk/gtkmessagedialog.c:306
-#, fuzzy
msgid "Message area"
-msgstr "Ziņojuma Tips"
+msgstr "Ziņojuma laukums"
#: ../gtk/gtkmessagedialog.c:307
msgid "GtkVBox that holds the dialog's primary and secondary labels"
-msgstr ""
+msgstr "GtkVBox, kas satur dialoga primārās un sekundārās iezīmes"
+#: ../gtk/gtkmisc.c:115
#: ../gtk/gtkmisc.c:91
msgid "Y align"
-msgstr "Y centrēšana"
+msgstr "Y līdzināšana"
+#: ../gtk/gtkmisc.c:116
#: ../gtk/gtkmisc.c:92
msgid "The vertical alignment, from 0 (top) to 1 (bottom)"
-msgstr "Vertikālā centrēšana, no 0 (augšas) līdz 1 (apakšai)"
+msgstr "Vertikālā līdzināšana, no 0 (augšas) līdz 1 (apakšai)"
+#: ../gtk/gtkmisc.c:125
#: ../gtk/gtkmisc.c:101
msgid "X pad"
msgstr "X papild"
+#: ../gtk/gtkmisc.c:126
#: ../gtk/gtkmisc.c:102
-msgid ""
-"The amount of space to add on the left and right of the widget, in pixels"
+msgid "The amount of space to add on the left and right of the widget, in pixels"
msgstr ""
"Atstarpes apmērs, kādu pievienot pa labi un pa kreisi no logdaļas, pikseļos"
+#: ../gtk/gtkmisc.c:135
#: ../gtk/gtkmisc.c:111
msgid "Y pad"
msgstr "Y papild"
+#: ../gtk/gtkmisc.c:136
#: ../gtk/gtkmisc.c:112
-msgid ""
-"The amount of space to add on the top and bottom of the widget, in pixels"
+msgid "The amount of space to add on the top and bottom of the widget, in pixels"
msgstr ""
"Atstarpes apmērs, kādu pievienot uz augšu un apakšu no logdaļas, pikseļos"
+#: ../gtk/gtkmountoperation.c:157
#: ../gtk/gtkmountoperation.c:159
msgid "Parent"
msgstr "Vecāks"
+#: ../gtk/gtkmountoperation.c:158
#: ../gtk/gtkmountoperation.c:160
msgid "The parent window"
msgstr "Vecāka logs"
+#: ../gtk/gtkmountoperation.c:165
#: ../gtk/gtkmountoperation.c:167
msgid "Is Showing"
msgstr "Tiek rādīts"
+#: ../gtk/gtkmountoperation.c:166
#: ../gtk/gtkmountoperation.c:168
msgid "Are we showing a dialog"
-msgstr "Vai mēs rādam logu"
+msgstr "Vai mēs rādām dialogu"
+#: ../gtk/gtkmountoperation.c:174
#: ../gtk/gtkmountoperation.c:176
msgid "The screen where this window will be displayed."
msgstr "Ekrāns, kurā šis logs tiks parādīts."
+#: ../gtk/gtknotebook.c:696
#: ../gtk/gtknotebook.c:685
msgid "Page"
msgstr "Lapa"
+#: ../gtk/gtknotebook.c:697
#: ../gtk/gtknotebook.c:686
msgid "The index of the current page"
msgstr "Pašreizējās lapas indekss"
+#: ../gtk/gtknotebook.c:705
#: ../gtk/gtknotebook.c:694
msgid "Tab Position"
-msgstr "Sadaļas Pozīcija"
+msgstr "Cilnes novietojums"
+#: ../gtk/gtknotebook.c:706
#: ../gtk/gtknotebook.c:695
msgid "Which side of the notebook holds the tabs"
-msgstr "Kurā piezīmjgrāmatas pusē tiek novietotas sadaļas"
+msgstr "Kurā bloknota pusē tiek novietotas cilnes"
+#: ../gtk/gtknotebook.c:713
#: ../gtk/gtknotebook.c:702
msgid "Show Tabs"
-msgstr "Parādīt Sadaļas"
+msgstr "Rādīt cilnes"
+#: ../gtk/gtknotebook.c:714
#: ../gtk/gtknotebook.c:703
-#, fuzzy
msgid "Whether tabs should be shown"
-msgstr "Vai sadaļām ir vai nav jābūt parādītām"
+msgstr "Vai jārāda cilnes"
+#: ../gtk/gtknotebook.c:720
#: ../gtk/gtknotebook.c:709
msgid "Show Border"
-msgstr "Rādīt Robežu"
+msgstr "Rādīt robežu"
+#: ../gtk/gtknotebook.c:721
#: ../gtk/gtknotebook.c:710
-#, fuzzy
msgid "Whether the border should be shown"
-msgstr "Vai ietvaram ir vai nav jābūt parādītam"
+msgstr "Vai būtu jārāda robežas"
+#: ../gtk/gtknotebook.c:727
#: ../gtk/gtknotebook.c:716
msgid "Scrollable"
msgstr "Ritināma"
+#: ../gtk/gtknotebook.c:728
#: ../gtk/gtknotebook.c:717
msgid "If TRUE, scroll arrows are added if there are too many tabs to fit"
msgstr ""
"Ja TRUE, ritināšanas bultas tiek pievienotas, ja ir pārāk daudz ietilpināmo "
-"sadaļu"
+"ciļņu"
+#: ../gtk/gtknotebook.c:734
#: ../gtk/gtknotebook.c:723
msgid "Enable Popup"
-msgstr "Aktizvizēt Izlecēju"
+msgstr "Aktivēt uznirstošo logu"
+#: ../gtk/gtknotebook.c:735
#: ../gtk/gtknotebook.c:724
msgid ""
"If TRUE, pressing the right mouse button on the notebook pops up a menu that "
"you can use to go to a page"
msgstr ""
-"Ja TRUE, nospiežot labo peles pogu uz piezīmjgrāmatas, tiek parādīta "
-"izlecējizvēlne, kuru varat lietot, lai pārietu uz lapu"
+"Ja TRUE, nospiežot labo peles pogu uz bloknota, tiek parādīta izvēlni, kuru "
+"varat lietot, lai pārietu uz lapu"
+#: ../gtk/gtknotebook.c:749
#: ../gtk/gtknotebook.c:738
-#, fuzzy
msgid "Group Name"
-msgstr "Grupas ID"
+msgstr "Grupas nosaukums"
+#: ../gtk/gtknotebook.c:750
#: ../gtk/gtknotebook.c:739
-#, fuzzy
msgid "Group name for tab drag and drop"
-msgstr "Darbības grupas nosaukums."
+msgstr "Grupas nosaukums cilnes vilkšanai un nomešanai"
+#: ../gtk/gtknotebook.c:757
#: ../gtk/gtknotebook.c:746
msgid "Tab label"
-msgstr "Sadaļas iezīme"
+msgstr "Cilnes iezīme"
+#: ../gtk/gtknotebook.c:758
#: ../gtk/gtknotebook.c:747
msgid "The string displayed on the child's tab label"
-msgstr "Virkne, kas parādīta bērna ciļnes etiķetē"
+msgstr "Virkne, kas parādīta bērna cilnes iezīmē"
+#: ../gtk/gtknotebook.c:764
#: ../gtk/gtknotebook.c:753
msgid "Menu label"
msgstr "Izvēlnes iezīme"
+#: ../gtk/gtknotebook.c:765
#: ../gtk/gtknotebook.c:754
msgid "The string displayed in the child's menu entry"
msgstr "Virkne, kas parādīta bērna izvēlnes ierakstā"
+#: ../gtk/gtknotebook.c:778
#: ../gtk/gtknotebook.c:767
msgid "Tab expand"
-msgstr "Sadaļas papildināšana"
+msgstr "Cilne izvērsta"
+#: ../gtk/gtknotebook.c:779
#: ../gtk/gtknotebook.c:768
-#, fuzzy
msgid "Whether to expand the child's tab"
-msgstr "Vai paplašināt bērna cilni vai nē"
+msgstr "Vai izvērst bērna cilni"
+#: ../gtk/gtknotebook.c:785
#: ../gtk/gtknotebook.c:774
msgid "Tab fill"
msgstr "Cilnes aizpildījums"
+#: ../gtk/gtknotebook.c:786
#: ../gtk/gtknotebook.c:775
-#, fuzzy
msgid "Whether the child's tab should fill the allocated area"
-msgstr "Vai bērna cilnei jāaizpilda piešķirtais lauks vai nē"
+msgstr "Vai bērna cilnei jāaizpilda piešķirtais lauks"
+#: ../gtk/gtknotebook.c:793
#: ../gtk/gtknotebook.c:782
msgid "Tab reorderable"
msgstr "Ierakstāma cilne"
+#: ../gtk/gtknotebook.c:794
#: ../gtk/gtknotebook.c:783
-#, fuzzy
msgid "Whether the tab is reorderable by user action"
-msgstr "Vai cilne ir ierakstāma ar lietotāja darbībām vai nē"
+msgstr "Vai cilne ir ierakstāma ar lietotāja darbībām"
+#: ../gtk/gtknotebook.c:800
#: ../gtk/gtknotebook.c:789
msgid "Tab detachable"
-msgstr "Atdalama cilne"
+msgstr "Atdalāma cilne"
+#: ../gtk/gtknotebook.c:801
#: ../gtk/gtknotebook.c:790
msgid "Whether the tab is detachable"
msgstr "Vai cilne ir atdalāma"
-#: ../gtk/gtknotebook.c:805 ../gtk/gtkscrollbar.c:102
+#: ../gtk/gtknotebook.c:816 ../gtk/gtkscrollbar.c:102
+#: ../gtk/gtknotebook.c:805
msgid "Secondary backward stepper"
msgstr "Papildu atpakaļ ritinātājs"
+#: ../gtk/gtknotebook.c:817
#: ../gtk/gtknotebook.c:806
msgid ""
"Display a second backward arrow button on the opposite end of the tab area"
msgstr "Parādīt otru pretēji vērstu bultas pogu pretējā cilnes apgabala galā"
-#: ../gtk/gtknotebook.c:821 ../gtk/gtkscrollbar.c:109
+#: ../gtk/gtknotebook.c:832 ../gtk/gtkscrollbar.c:109
+#: ../gtk/gtknotebook.c:821
msgid "Secondary forward stepper"
msgstr "Papildu turp ritinātājs"
+#: ../gtk/gtknotebook.c:833
#: ../gtk/gtknotebook.c:822
-msgid ""
-"Display a second forward arrow button on the opposite end of the tab area"
-msgstr ""
-"Parādīt otru uz priekšu vērstu bultas pogu pretējā cilnes apgabala galā"
+msgid "Display a second forward arrow button on the opposite end of the tab area"
+msgstr "Parādīt otru uz priekšu vērstu bultas pogu pretējā cilnes apgabala galā"
-#: ../gtk/gtknotebook.c:836 ../gtk/gtkscrollbar.c:88
+#: ../gtk/gtknotebook.c:847 ../gtk/gtkscrollbar.c:88
+#: ../gtk/gtknotebook.c:836
msgid "Backward stepper"
msgstr "Atpakaļ ritinātājs"
-#: ../gtk/gtknotebook.c:837 ../gtk/gtkscrollbar.c:89
+#: ../gtk/gtknotebook.c:848 ../gtk/gtkscrollbar.c:89
+#: ../gtk/gtknotebook.c:837
msgid "Display the standard backward arrow button"
msgstr "Parādīt standarta atpakaļvērstu bultu pogas"
-#: ../gtk/gtknotebook.c:851 ../gtk/gtkscrollbar.c:95
+#: ../gtk/gtknotebook.c:862 ../gtk/gtkscrollbar.c:95
+#: ../gtk/gtknotebook.c:851
msgid "Forward stepper"
msgstr "Turp ritinātājs"
-#: ../gtk/gtknotebook.c:852 ../gtk/gtkscrollbar.c:96
+#: ../gtk/gtknotebook.c:863 ../gtk/gtkscrollbar.c:96
+#: ../gtk/gtknotebook.c:852
msgid "Display the standard forward arrow button"
-msgstr "Parādīt standarta uz prikšu vērstu bultu pogas"
+msgstr "Parādīt standarta uz priekšu vērstu bultu pogas"
+#: ../gtk/gtknotebook.c:877
#: ../gtk/gtknotebook.c:866
msgid "Tab overlap"
msgstr "Cilnes pārklāšanās"
+#: ../gtk/gtknotebook.c:878
#: ../gtk/gtknotebook.c:867
msgid "Size of tab overlap area"
msgstr "Cilnes pārklāšanās apgabala izmērs"
+#: ../gtk/gtknotebook.c:893
#: ../gtk/gtknotebook.c:882
msgid "Tab curvature"
msgstr "Cilnes izliekums"
+#: ../gtk/gtknotebook.c:894
#: ../gtk/gtknotebook.c:883
msgid "Size of tab curvature"
msgstr "Cilnes izliekuma izmērs"
+#: ../gtk/gtknotebook.c:910
#: ../gtk/gtknotebook.c:899
msgid "Arrow spacing"
msgstr "Bultu atstarpe"
+#: ../gtk/gtknotebook.c:911
#: ../gtk/gtknotebook.c:900
msgid "Scroll arrow spacing"
-msgstr "Rutbultas atstarpe"
+msgstr "Ritināšanas bultas atstarpe"
+
+#: ../gtk/gtknotebook.c:927
+msgid "Initial gap"
+msgstr "Sākotnējā sprauga"
+
+#: ../gtk/gtknotebook.c:928
+msgid "Initial gap before the first tab"
+msgstr "Sākotnējā sprauga pirms pirmās cilnes"
+#: ../gtk/gtknumerableicon.c:653
#: ../gtk/gtknumerableicon.c:652
-#, fuzzy
#| msgid "Icon set"
msgid "Icon's count"
-msgstr "Ikonu kopa"
+msgstr "Ikonu skaits"
-#: ../gtk/gtknumerableicon.c:653
-#, fuzzy
+#: ../gtk/gtknumerableicon.c:654
#| msgid "The index of the current page"
msgid "The count of the emblem currently displayed"
-msgstr "Pašreizējās lapas indekss"
+msgstr "Pašlaik attēloto emblēmu skaits"
+#: ../gtk/gtknumerableicon.c:660
#: ../gtk/gtknumerableicon.c:659
-#, fuzzy
#| msgid "Icon Name"
msgid "Icon's label"
-msgstr "Ikonas nosaukums"
+msgstr "Ikonas iezīme"
-#: ../gtk/gtknumerableicon.c:660
-#, fuzzy
+#: ../gtk/gtknumerableicon.c:661
#| msgid "The stock icon displayed on the item"
msgid "The label to be displayed over the icon"
-msgstr "Priekšmeta krājuma ikona"
+msgstr "Iezīme, ko parāda virs ikonas"
+#: ../gtk/gtknumerableicon.c:667
#: ../gtk/gtknumerableicon.c:666
-#, fuzzy
#| msgid "Font style set"
msgid "Icon's style context"
-msgstr "Fonta stila iestādījums"
+msgstr "Ikonas stila konteksts"
-#: ../gtk/gtknumerableicon.c:667
+#: ../gtk/gtknumerableicon.c:668
msgid "The style context to theme the icon appearance"
-msgstr ""
+msgstr "Stila konteksts tēmai ikonu izskatam"
+#: ../gtk/gtknumerableicon.c:674
#: ../gtk/gtknumerableicon.c:673
-#, fuzzy
#| msgid "Background color"
msgid "Background icon"
-msgstr "Fona krāsa"
+msgstr "Fona ikona"
-#: ../gtk/gtknumerableicon.c:674
+#: ../gtk/gtknumerableicon.c:675
msgid "The icon for the number emblem background"
-msgstr ""
+msgstr "Ikona numura emblēmas fonam"
+#: ../gtk/gtknumerableicon.c:681
#: ../gtk/gtknumerableicon.c:680
-#, fuzzy
#| msgid "Background color name"
msgid "Background icon name"
-msgstr "Fona krāsas nosaukums"
+msgstr "Fona ikonas nosaukums"
-#: ../gtk/gtknumerableicon.c:681
-#, fuzzy
+#: ../gtk/gtknumerableicon.c:682
#| msgid "The icon name to use for the printer"
msgid "The icon name for the number emblem background"
-msgstr "Printera ikonas nosaukums"
+msgstr "Ikonas nosaukums numura emblēmas fonam"
-#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:311
-#: ../gtk/gtktrayicon-x11.c:125
+#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:342
+#: ../gtk/gtktrayicon-x11.c:128
+#: ../gtk/gtkstatusicon.c:312
msgid "Orientation"
msgstr "Novietojums"
msgid "The orientation of the orientable"
msgstr "Novietojuma novietojums"
+#: ../gtk/gtkpaned.c:350
#: ../gtk/gtkpaned.c:327
msgid ""
"Position of paned separator in pixels (0 means all the way to the left/top)"
msgstr ""
-"Rūtveida atdalītāja pozīcija pikseļos (0 nozīmē līdz galam pa kresi/uz augšu)"
+"Rūtveida atdalītāja pozīcija pikseļos (0 nozīmē līdz galam pa kresi/uz "
+"augšu)"
+#: ../gtk/gtkpaned.c:359
#: ../gtk/gtkpaned.c:336
msgid "Position Set"
-msgstr "Pozīcijas Iestādījums"
+msgstr "Pozīcijas iestatījums"
+#: ../gtk/gtkpaned.c:360
#: ../gtk/gtkpaned.c:337
msgid "TRUE if the Position property should be used"
msgstr "TRUE, ja jālieto Pozīcijas īpašība"
+#: ../gtk/gtkpaned.c:366
#: ../gtk/gtkpaned.c:343
msgid "Handle Size"
-msgstr "Roktura Izmērs"
+msgstr "Tura izmērs"
+#: ../gtk/gtkpaned.c:367
#: ../gtk/gtkpaned.c:344
msgid "Width of handle"
-msgstr "Platums rokturim"
+msgstr "Platums turim"
-#: ../gtk/gtkpaned.c:360
+#: ../gtk/gtkpaned.c:383
msgid "Minimal Position"
msgstr "Minimālā pozīcija"
+#: ../gtk/gtkpaned.c:384
#: ../gtk/gtkpaned.c:361
msgid "Smallest possible value for the \"position\" property"
msgstr "Mazākā iespējamā vērtība \"novietojuma\" īpašībām"
+#: ../gtk/gtkpaned.c:401
#: ../gtk/gtkpaned.c:378
msgid "Maximal Position"
msgstr "Maksimālā pozīcija"
+#: ../gtk/gtkpaned.c:402
#: ../gtk/gtkpaned.c:379
msgid "Largest possible value for the \"position\" property"
msgstr "Lielākā iespējamā vērtība \"novietojuma\" īpašībām"
+#: ../gtk/gtkpaned.c:419
#: ../gtk/gtkpaned.c:396
msgid "Resize"
msgstr "Mainīt izmēru"
+#: ../gtk/gtkpaned.c:420
#: ../gtk/gtkpaned.c:397
msgid "If TRUE, the child expands and shrinks along with the paned widget"
-msgstr "Ja PATIESS, bērns palielinās un saraujās līdz ar logdaļu"
+msgstr "Ja PATIESS, bērns palielinās un saraujas līdz ar logdaļu"
+#: ../gtk/gtkpaned.c:435
#: ../gtk/gtkpaned.c:412
msgid "Shrink"
-msgstr "Sašaurināt"
+msgstr "Samazināt"
+#: ../gtk/gtkpaned.c:436
#: ../gtk/gtkpaned.c:413
msgid "If TRUE, the child can be made smaller than its requisition"
-msgstr "Ja PATIESS, berns var tikt samazināts nekā tā revizīcija"
+msgstr "Ja PATIESS, bērns var tikt samazināts vairāk nekā tā prasīts"
-#: ../gtk/gtkplug.c:201 ../gtk/gtkstatusicon.c:295
+#: ../gtk/gtkplug.c:201 ../gtk/gtkstatusicon.c:326
+#: ../gtk/gtkstatusicon.c:296
msgid "Embedded"
msgstr "Iegults"
#: ../gtk/gtkplug.c:202
-#, fuzzy
msgid "Whether the plug is embedded"
-msgstr "Vai kontakts ir iegults"
+msgstr "Vai spraudnis ir iegults"
#: ../gtk/gtkplug.c:216
msgid "Socket Window"
#: ../gtk/gtkplug.c:217
msgid "The window of the socket the plug is embedded in"
-msgstr ""
+msgstr "Ligzdas logs, kurā ir iegults spraudnis"
#: ../gtk/gtkprinter.c:126
msgid "Name of the printer"
#: ../gtk/gtkprinter.c:132
msgid "Backend"
-msgstr "Backends"
+msgstr "Aizmugure"
#: ../gtk/gtkprinter.c:133
msgid "Backend for the printer"
#: ../gtk/gtkprinter.c:154
msgid "TRUE if this printer can accept PostScript"
-msgstr ""
+msgstr "PATIESS, ja printeris pieņem PostScript"
#: ../gtk/gtkprinter.c:160
msgid "State Message"
#: ../gtk/gtkprinter.c:161
msgid "String giving the current state of the printer"
-msgstr ""
+msgstr "Virkne, kas dod pašreizējo printera stāvokli"
#: ../gtk/gtkprinter.c:167
msgid "Location"
#: ../gtk/gtkprinter.c:168
msgid "The location of the printer"
-msgstr "Printera atrašanās viets"
+msgstr "Printera atrašanās vieta"
#: ../gtk/gtkprinter.c:175
msgid "The icon name to use for the printer"
#: ../gtk/gtkprinter.c:200
msgid "Paused Printer"
-msgstr "Apturēts printeris"
+msgstr "Pauzēts printeris"
#: ../gtk/gtkprinter.c:201
msgid "TRUE if this printer is paused"
-msgstr "TRUE, ja printeris ir apturēts"
+msgstr "TRUE, ja printeris ir pauzēts"
#: ../gtk/gtkprinter.c:214
msgid "Accepting Jobs"
#: ../gtk/gtkprinter.c:215
msgid "TRUE if this printer is accepting new jobs"
-msgstr ""
+msgstr "PATIESS, ja printeris pieņem jaunus darbus"
+#: ../gtk/gtkprinteroptionwidget.c:122
#: ../gtk/gtkprinteroptionwidget.c:121
msgid "Source option"
-msgstr "Avota iespējas"
+msgstr "Avota opcija"
-#: ../gtk/gtkprinteroptionwidget.c:122
+#: ../gtk/gtkprinteroptionwidget.c:123
msgid "The PrinterOption backing this widget"
-msgstr ""
+msgstr "PrinterOption, kas atbalsta šo logdaļu"
#: ../gtk/gtkprintjob.c:142
msgid "Title of the print job"
msgstr "Printera iestatījumi"
#: ../gtk/gtkprintjob.c:168 ../gtk/gtkprintjob.c:169
+#: ../gtk/gtkprintunixdialog.c:368
#: ../gtk/gtkprintunixdialog.c:298
msgid "Page Setup"
msgstr "Lapas iestatījumi"
"TRUE if the print job will continue to emit status-changed signals after the "
"print data has been sent to the printer or print server."
msgstr ""
+"PATIESS, ja drukāšanas darbs turpinās izmest status-changed signālus pēc "
+"tam, kad drukāšanas dati ir tikuši nosūtīti uz printeri vai printera "
+"serveri."
#: ../gtk/gtkprintoperation.c:1078
msgid "Default Page Setup"
#: ../gtk/gtkprintoperation.c:1079
msgid "The GtkPageSetup used by default"
-msgstr ""
+msgstr "GtkPageSetup izmantots pēc noklusējuma"
-#: ../gtk/gtkprintoperation.c:1097 ../gtk/gtkprintunixdialog.c:316
+#: ../gtk/gtkprintoperation.c:1097 ../gtk/gtkprintunixdialog.c:386
+#: ../gtk/gtkprintunixdialog.c:316
msgid "Print Settings"
msgstr "Drukāšanas iestatījumi"
-#: ../gtk/gtkprintoperation.c:1098 ../gtk/gtkprintunixdialog.c:317
+#: ../gtk/gtkprintoperation.c:1098 ../gtk/gtkprintunixdialog.c:387
+#: ../gtk/gtkprintunixdialog.c:317
msgid "The GtkPrintSettings used for initializing the dialog"
-msgstr ""
+msgstr "GtkPrintSettings izmantoti dialoga inicializēšanai"
#: ../gtk/gtkprintoperation.c:1116
msgid "Job Name"
#: ../gtk/gtkprintoperation.c:1117
msgid "A string used for identifying the print job."
-msgstr ""
+msgstr "Virkne, ko izmanto darba identificēšanai."
#: ../gtk/gtkprintoperation.c:1141
msgid "Number of Pages"
msgid "The number of pages in the document."
msgstr "Lapu skaits dokumentā."
-#: ../gtk/gtkprintoperation.c:1163 ../gtk/gtkprintunixdialog.c:306
+#: ../gtk/gtkprintoperation.c:1163 ../gtk/gtkprintunixdialog.c:376
+#: ../gtk/gtkprintunixdialog.c:306
msgid "Current Page"
msgstr "Pašreizējā lapa"
-#: ../gtk/gtkprintoperation.c:1164 ../gtk/gtkprintunixdialog.c:307
+#: ../gtk/gtkprintoperation.c:1164 ../gtk/gtkprintunixdialog.c:377
+#: ../gtk/gtkprintunixdialog.c:307
msgid "The current page in the document"
msgstr "Pašreizējā lapa dokumentā"
"TRUE if the origin of the context should be at the corner of the page and "
"not the corner of the imageable area"
msgstr ""
+"PATIESS, ja izcelsmes kontekstam jābūt lapas stūrī, nevis attēlojamā laukuma "
+"stūrī"
#: ../gtk/gtkprintoperation.c:1207
msgid ""
"TRUE if the print operation will continue to report on the print job status "
"after the print data has been sent to the printer or print server."
msgstr ""
+"PATIESS, ja drukāšanas darbība turpinās ziņot drukāšanas darba statusu pēc "
+"tam, kad dati ir nosūtīti uz printeri vai printera serveri."
#: ../gtk/gtkprintoperation.c:1224
msgid "Unit"
#: ../gtk/gtkprintoperation.c:1225
msgid "The unit in which distances can be measured in the context"
-msgstr ""
+msgstr "Vienība, kurā mēra attālumu šajā kontekstā"
#: ../gtk/gtkprintoperation.c:1242
msgid "Show Dialog"
-msgstr "Rādīt logu"
+msgstr "Rādīt dialogu"
#: ../gtk/gtkprintoperation.c:1243
msgid "TRUE if a progress dialog is shown while printing."
-msgstr ""
+msgstr "PATIESS, ja progresa dialogs tiek rādīts drukāšanas laikā."
#: ../gtk/gtkprintoperation.c:1266
msgid "Allow Async"
#: ../gtk/gtkprintoperation.c:1267
msgid "TRUE if print process may run asynchronous."
-msgstr ""
+msgstr "PATIESS, ja process var tikt izpildīts asinhroni."
#: ../gtk/gtkprintoperation.c:1289 ../gtk/gtkprintoperation.c:1290
msgid "Export filename"
#: ../gtk/gtkprintoperation.c:1326
msgid "A human-readable description of the status"
-msgstr ""
+msgstr "Cilvēkam lasāms statusa apraksts"
#: ../gtk/gtkprintoperation.c:1344
msgid "Custom tab label"
-msgstr "Pielāgota cilnes etiķete"
+msgstr "Pielāgota cilnes iezīme"
#: ../gtk/gtkprintoperation.c:1345
msgid "Label for the tab containing custom widgets."
-msgstr ""
+msgstr "Iezīme cilnei, kas satur pielāgotas logdaļas."
-#: ../gtk/gtkprintoperation.c:1360 ../gtk/gtkprintunixdialog.c:341
-#, fuzzy
+#: ../gtk/gtkprintoperation.c:1360 ../gtk/gtkprintunixdialog.c:411
+#: ../gtk/gtkprintunixdialog.c:341
msgid "Support Selection"
-msgstr "Krāsu izlase"
+msgstr "Atbalstīt izvēli"
#: ../gtk/gtkprintoperation.c:1361
msgid "TRUE if the print operation will support print of selection."
-msgstr ""
+msgstr "PATIESS, ja drukāšanas darbība atbalstīs izvēles drukāšanu."
-#: ../gtk/gtkprintoperation.c:1377 ../gtk/gtkprintunixdialog.c:349
-#, fuzzy
+#: ../gtk/gtkprintoperation.c:1377 ../gtk/gtkprintunixdialog.c:419
+#: ../gtk/gtkprintunixdialog.c:349
msgid "Has Selection"
msgstr "Ir izvēle"
#: ../gtk/gtkprintoperation.c:1378
msgid "TRUE if a selection exists."
-msgstr ""
+msgstr "PATIESS, ja izvēle eksistē."
-#: ../gtk/gtkprintoperation.c:1393 ../gtk/gtkprintunixdialog.c:357
-#, fuzzy
+#: ../gtk/gtkprintoperation.c:1393 ../gtk/gtkprintunixdialog.c:427
+#: ../gtk/gtkprintunixdialog.c:357
msgid "Embed Page Setup"
-msgstr "Lapas iestatījumi"
+msgstr "Iegult lapas iestatījumus"
#: ../gtk/gtkprintoperation.c:1394
msgid "TRUE if page setup combos are embedded in GtkPrintDialog"
msgstr ""
+"PATIESS, ja lapas iestatījumu kombinācijas ir iegultas iekš GtkPrintDialog"
#: ../gtk/gtkprintoperation.c:1415
-#, fuzzy
msgid "Number of Pages To Print"
-msgstr "Lapu skaits"
+msgstr "Lapu skaits, ko drukāt"
#: ../gtk/gtkprintoperation.c:1416
-#, fuzzy
msgid "The number of pages that will be printed."
-msgstr "Lapu skaits dokumentā."
+msgstr "Lapu skaits, kas tiks izdrukāts."
+#: ../gtk/gtkprintunixdialog.c:369
#: ../gtk/gtkprintunixdialog.c:299
msgid "The GtkPageSetup to use"
-msgstr ""
+msgstr "GtkPageSetup, ko izmantot"
+#: ../gtk/gtkprintunixdialog.c:394
#: ../gtk/gtkprintunixdialog.c:324
msgid "Selected Printer"
msgstr "Izvēlētais printeris"
+#: ../gtk/gtkprintunixdialog.c:395
#: ../gtk/gtkprintunixdialog.c:325
msgid "The GtkPrinter which is selected"
msgstr "Izvēlētais GtkPrinter"
+#: ../gtk/gtkprintunixdialog.c:402
#: ../gtk/gtkprintunixdialog.c:332
msgid "Manual Capabilities"
-msgstr ""
+msgstr "Pašrocīgās iespējas"
+#: ../gtk/gtkprintunixdialog.c:403
#: ../gtk/gtkprintunixdialog.c:333
msgid "Capabilities the application can handle"
-msgstr ""
+msgstr "Iespējas, ko lietotne var pavilkt"
+#: ../gtk/gtkprintunixdialog.c:412
#: ../gtk/gtkprintunixdialog.c:342
-#, fuzzy
msgid "Whether the dialog supports selection"
-msgstr "Vai etiķete ir uzzīmēta ar izvelēto fontu"
+msgstr "Vai dialogs atbalsta izvēli"
+#: ../gtk/gtkprintunixdialog.c:420
#: ../gtk/gtkprintunixdialog.c:350
-#, fuzzy
msgid "Whether the application has a selection"
-msgstr "Vai darbība ir ieslēgta."
+msgstr "Vai lietotne atbalsta izvēli"
+#: ../gtk/gtkprintunixdialog.c:428
#: ../gtk/gtkprintunixdialog.c:358
msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog"
msgstr ""
+"PATIESS, ja lapas iestatījumu kombinācijas ir iegultas iekš "
+"GtkPrintUnixDialog"
-#: ../gtk/gtkprogressbar.c:161
+#: ../gtk/gtkprogressbar.c:160
msgid "Fraction"
msgstr "Daļa"
+#: ../gtk/gtkprogressbar.c:161
#: ../gtk/gtkprogressbar.c:162
msgid "The fraction of total work that has been completed"
msgstr "Kopējā darba izpildītā daļa"
-#: ../gtk/gtkprogressbar.c:169
+#: ../gtk/gtkprogressbar.c:168
msgid "Pulse Step"
msgstr "Impulsa Solis"
+#: ../gtk/gtkprogressbar.c:169
#: ../gtk/gtkprogressbar.c:170
msgid "The fraction of total progress to move the bouncing block when pulsed"
msgstr ""
-"Daļiņa kopējā progrsa, par kādu pārvietot lēkājošo bloku, kad dod impulsu"
+"Daļiņa kopējā progresa, par kādu pārvietot lēkājošo bloku, kad dod impulsu"
+#: ../gtk/gtkprogressbar.c:177
+#: ../gtk/gtkcellrendererprogress.c:144
+#: ../gtk/gtkcellrenderertext.c:255
+#: ../gtk/gtkentry.c:830
+#: ../gtk/gtkentrybuffer.c:352
+#: ../gtk/gtkmessagedialog.c:227
+#: ../gtk/gtktextbuffer.c:210
#: ../gtk/gtkprogressbar.c:178
msgid "Text to be displayed in the progress bar"
msgstr "Teksts, ko attēlot progresa joslā"
-#: ../gtk/gtkprogressbar.c:195
+#: ../gtk/gtkprogressbar.c:194
msgid "Show text"
msgstr "Parādīt tekstu"
+#: ../gtk/gtkprogressbar.c:195
#: ../gtk/gtkprogressbar.c:196
msgid "Whether the progress is shown as text."
msgstr "Vai progress tiek parādīts kā teksts."
+#: ../gtk/gtkprogressbar.c:217
+#: ../gtk/gtkcellrenderertext.c:500
+#: ../gtk/gtklabel.c:699
#: ../gtk/gtkprogressbar.c:218
msgid ""
"The preferred place to ellipsize the string, if the progress bar does not "
"have enough room to display the entire string, if at all."
msgstr ""
+"Vēlamā vieta, kur virkni īsināt ar daudzpunkti, ja progresa joslai nepietiek "
+"vietas, lai parādītu visu virkni, ja vispār."
-#: ../gtk/gtkprogressbar.c:225
-#, fuzzy
+#: ../gtk/gtkprogressbar.c:224
msgid "X spacing"
-msgstr "XSpacing"
+msgstr "X atstarpes"
+#: ../gtk/gtkprogressbar.c:225
#: ../gtk/gtkprogressbar.c:226
msgid "Extra spacing applied to the width of a progress bar."
-msgstr ""
+msgstr "Papildu atstarpes, kas ir pielietotas progresa joslas platumam."
-#: ../gtk/gtkprogressbar.c:231
-#, fuzzy
+#: ../gtk/gtkprogressbar.c:230
msgid "Y spacing"
-msgstr "YSpacing"
+msgstr "Y atstarpes"
+#: ../gtk/gtkprogressbar.c:231
#: ../gtk/gtkprogressbar.c:232
msgid "Extra spacing applied to the height of a progress bar."
-msgstr ""
+msgstr "Papildu atstarpes, kas ir pielietotas progresa joslas augstumam."
-#: ../gtk/gtkprogressbar.c:245
-#, fuzzy
+#: ../gtk/gtkprogressbar.c:244
msgid "Minimum horizontal bar width"
msgstr "Minimālais horizontālās joslas platums"
+#: ../gtk/gtkprogressbar.c:245
#: ../gtk/gtkprogressbar.c:246
msgid "The minimum horizontal width of the progress bar"
-msgstr "Minimalais horizontālās progresa joslas platums"
+msgstr "Minimālais horizontālās progresa joslas platums"
-#: ../gtk/gtkprogressbar.c:258
-#, fuzzy
+#: ../gtk/gtkprogressbar.c:257
msgid "Minimum horizontal bar height"
msgstr "Minimālais horizontālās joslas augstums"
+#: ../gtk/gtkprogressbar.c:258
#: ../gtk/gtkprogressbar.c:259
msgid "Minimum horizontal height of the progress bar"
-msgstr "Minimālais horizontālās joslas augstums"
+msgstr "Minimālais horizontālās progresa joslas augstums"
-#: ../gtk/gtkprogressbar.c:271
-#, fuzzy
+#: ../gtk/gtkprogressbar.c:270
msgid "Minimum vertical bar width"
msgstr "Minimālais vertikālās joslas platums"
+#: ../gtk/gtkprogressbar.c:271
#: ../gtk/gtkprogressbar.c:272
msgid "The minimum vertical width of the progress bar"
-msgstr "Minimālais vertikālās joslas platums"
+msgstr "Minimālais vertikālās progresa joslas platums"
-#: ../gtk/gtkprogressbar.c:284
-#, fuzzy
+#: ../gtk/gtkprogressbar.c:283
msgid "Minimum vertical bar height"
msgstr "Minimālais vertikālās joslas augstums"
+#: ../gtk/gtkprogressbar.c:284
#: ../gtk/gtkprogressbar.c:285
msgid "The minimum vertical height of the progress bar"
-msgstr "Minimālais vertikālās joslas augstums"
+msgstr "Minimālais vertikālās progresa joslas augstums"
#: ../gtk/gtkradioaction.c:118
msgid "The value"
"is the current action of its group."
msgstr ""
"gtk_radio_action_get_current_value() atgrieztā vērtība, kad šī darbība ir "
-"patreizējā darbība tās grupai."
+"pašreizējā darbība tās grupai."
-#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163
-#: ../gtk/gtkradiomenuitem.c:374 ../gtk/gtkradiotoolbutton.c:65
+#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:164
+#: ../gtk/gtkradiomenuitem.c:427 ../gtk/gtkradiotoolbutton.c:85
+#: ../gtk/gtkradiobutton.c:163
+#: ../gtk/gtkradiomenuitem.c:374
+#: ../gtk/gtkradiotoolbutton.c:65
msgid "Group"
msgstr "Grupa"
"The value property of the currently active member of the group to which this "
"action belongs."
msgstr ""
+"Vērtības īpašība pašlaik aktīvajam grupas loceklim, kam šī darbība pieder."
-#: ../gtk/gtkradiobutton.c:164
+#: ../gtk/gtkradiobutton.c:165
msgid "The radio button whose group this widget belongs to."
msgstr "Radio poga, kuras grupai pieder šī logdaļa."
+#: ../gtk/gtkradiomenuitem.c:428
#: ../gtk/gtkradiomenuitem.c:375
msgid "The radio menu item whose group this widget belongs to."
msgstr "Radio izvēlne, kuras grupai pieder šī logdaļa."
+#: ../gtk/gtkradiotoolbutton.c:86
#: ../gtk/gtkradiotoolbutton.c:66
msgid "The radio tool button whose group this button belongs to."
msgstr "Radio rīka poga, kura grupai pieder šī radio poga."
+#: ../gtk/gtkrange.c:419
#: ../gtk/gtkrange.c:417
msgid "The GtkAdjustment that contains the current value of this range object"
msgstr "GtkAdjustment, kas satur pašreizējo diapazona objekta vērtību"
+#: ../gtk/gtkrange.c:427
#: ../gtk/gtkrange.c:425
msgid "Invert direction slider moves to increase range value"
msgstr "Apgriezt virziena slīdņa kustības, lai palielinātu diapazona vērtību"
+#: ../gtk/gtkrange.c:434
#: ../gtk/gtkrange.c:432
msgid "Lower stepper sensitivity"
-msgstr ""
+msgstr "Apakšējā ritinātāja jutība"
+#: ../gtk/gtkrange.c:435
#: ../gtk/gtkrange.c:433
msgid ""
"The sensitivity policy for the stepper that points to the adjustment's lower "
"side"
-msgstr ""
+msgstr "Jutīguma politika ritinātājam, kas norāda uz pieregulēšanas zemāko pusi"
+#: ../gtk/gtkrange.c:443
#: ../gtk/gtkrange.c:441
msgid "Upper stepper sensitivity"
-msgstr ""
+msgstr "Augšējā ritinātāja jutība"
+#: ../gtk/gtkrange.c:444
#: ../gtk/gtkrange.c:442
msgid ""
"The sensitivity policy for the stepper that points to the adjustment's upper "
"side"
-msgstr ""
+msgstr "Jutīguma politika ritinātājam, kas norāda uz pieregulēšanas augšējo pusi"
+#: ../gtk/gtkrange.c:461
#: ../gtk/gtkrange.c:459
msgid "Show Fill Level"
msgstr "Rādīt aizpildījuma līmeni"
+#: ../gtk/gtkrange.c:462
#: ../gtk/gtkrange.c:460
msgid "Whether to display a fill level indicator graphics on trough."
-msgstr ""
+msgstr "Vai rādīt aizpildījuma līmeņa indikatora grafiku uz ieplakas."
+#: ../gtk/gtkrange.c:478
#: ../gtk/gtkrange.c:476
msgid "Restrict to Fill Level"
msgstr "Ierobežot līdz aizpildījuma līmenim"
+#: ../gtk/gtkrange.c:479
#: ../gtk/gtkrange.c:477
msgid "Whether to restrict the upper boundary to the fill level."
-msgstr ""
+msgstr "Vai ierobežot augšējo robežu aizpildījuma līmenim."
+#: ../gtk/gtkrange.c:494
#: ../gtk/gtkrange.c:492
msgid "Fill Level"
-msgstr "Piepildīšanas Līmenis"
+msgstr "Aizpildījuma līmenis"
+#: ../gtk/gtkrange.c:495
#: ../gtk/gtkrange.c:493
msgid "The fill level."
msgstr "Aizpildījuma līmenis."
+#: ../gtk/gtkrange.c:512
#: ../gtk/gtkrange.c:510
-#, fuzzy
#| msgid "Digits"
msgid "Round Digits"
-msgstr "Cipari"
+msgstr "Apaļotie cipari"
+#: ../gtk/gtkrange.c:513
#: ../gtk/gtkrange.c:511
-#, fuzzy
#| msgid "The number of pages in the document."
msgid "The number of digits to round the value to."
-msgstr "Lapu skaits dokumentā."
+msgstr "Ciparu skaits, uz ko noapaļot vērtību."
-#: ../gtk/gtkrange.c:519 ../gtk/gtkswitch.c:786
+#: ../gtk/gtkrange.c:521 ../gtk/gtkswitch.c:818
+#: ../gtk/gtkrange.c:519
+#: ../gtk/gtkswitch.c:836
msgid "Slider Width"
msgstr "Slīdņa platums"
+#: ../gtk/gtkrange.c:522
#: ../gtk/gtkrange.c:520
msgid "Width of scrollbar or scale thumb"
msgstr "Ritjoslas vai mēroga šķirkļa platums"
+#: ../gtk/gtkrange.c:529
#: ../gtk/gtkrange.c:527
msgid "Trough Border"
-msgstr "Ieplakas Robeža"
+msgstr "Ieplakas robeža"
+#: ../gtk/gtkrange.c:530
#: ../gtk/gtkrange.c:528
msgid "Spacing between thumb/steppers and outer trough bevel"
-msgstr "Atstarpe starp šķirkli/ritinātājiem un ārējo ieplakas konusu"
+msgstr "Atstarpe starp šķirkli/ritinātājiem un ārējo ieplakas apmali"
+#: ../gtk/gtkrange.c:537
#: ../gtk/gtkrange.c:535
msgid "Stepper Size"
-msgstr "Ritinātāja Izmērs"
+msgstr "Ritinātāja izmērs"
+#: ../gtk/gtkrange.c:538
#: ../gtk/gtkrange.c:536
msgid "Length of step buttons at ends"
msgstr "Garums ritinātāja pogām galos"
#: ../gtk/gtkrange.c:551
+#: ../gtk/gtkrange.c:549
msgid "Stepper Spacing"
-msgstr "Ritinātāja Atstarpe"
+msgstr "Ritinātāja atstarpe"
#: ../gtk/gtkrange.c:552
+#: ../gtk/gtkrange.c:550
msgid "Spacing between step buttons and thumb"
msgstr "Atstarpe starp ritinātāja pogām un šķirkli"
#: ../gtk/gtkrange.c:559
+#: ../gtk/gtkrange.c:557
msgid "Arrow X Displacement"
-msgstr "Bultas X Novietošana"
+msgstr "Bultas X novietošana"
#: ../gtk/gtkrange.c:560
-msgid ""
-"How far in the x direction to move the arrow when the button is depressed"
+#: ../gtk/gtkrange.c:558
+msgid "How far in the x direction to move the arrow when the button is depressed"
msgstr "Cik tālu x virzienā pārvietot bultu, kad poga tiek nospiesta"
#: ../gtk/gtkrange.c:567
+#: ../gtk/gtkrange.c:565
msgid "Arrow Y Displacement"
-msgstr "Bultas Y Novietošana"
+msgstr "Bultas Y novietošana"
#: ../gtk/gtkrange.c:568
-msgid ""
-"How far in the y direction to move the arrow when the button is depressed"
+#: ../gtk/gtkrange.c:566
+msgid "How far in the y direction to move the arrow when the button is depressed"
msgstr "Cik tālu y virzienā pārvietot bultu, kad poga tiek nospiesta"
-#: ../gtk/gtkrange.c:586
+#: ../gtk/gtkrange.c:584
+#: ../gtk/gtkrange.c:582
msgid "Trough Under Steppers"
-msgstr ""
+msgstr "Cauri zem ritinātājiem"
-#: ../gtk/gtkrange.c:587
+#: ../gtk/gtkrange.c:585
+#: ../gtk/gtkrange.c:583
msgid ""
"Whether to draw trough for full length of range or exclude the steppers and "
"spacing"
msgstr ""
+"Vai zīmēt cauri pilnam diapazona garumam, vai izslēgt ritinātājums un "
+"atstarpes"
-#: ../gtk/gtkrange.c:600
+#: ../gtk/gtkrange.c:598
+#: ../gtk/gtkrange.c:596
msgid "Arrow scaling"
msgstr "Bultas mērogošana"
-#: ../gtk/gtkrange.c:601
+#: ../gtk/gtkrange.c:599
+#: ../gtk/gtkrange.c:597
msgid "Arrow scaling with regard to scroll button size"
-msgstr ""
+msgstr "Bultas mērogošana, attiecībā pret ritināšanas pogas izmēru"
#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:246
msgid "Show Numbers"
#: ../gtk/gtkrecentchooser.c:133
msgid "The RecentManager object to use"
-msgstr ""
+msgstr "RecentManager objekts, ko izmantot"
#: ../gtk/gtkrecentchooser.c:147
msgid "Show Private"
#: ../gtk/gtkrecentchooser.c:191
msgid "Whether the items pointing to unavailable resources should be displayed"
-msgstr ""
+msgstr "Vai rādīt priekšmetus, kas norāda uz nepieejamiem resursiem"
#: ../gtk/gtkrecentchooser.c:204
msgid "Whether to allow multiple items to be selected"
#: ../gtk/gtkrecentchooser.c:218
msgid "Whether the selected resource(s) should be limited to local file: URIs"
-msgstr ""
+msgstr "Vai izvēlētos resursus vajadzētu ierobežot uz lokālu failu URI"
#: ../gtk/gtkrecentchooser.c:234
msgid "Limit"
#: ../gtk/gtkrecentchooser.c:250
msgid "The sorting order of the items displayed"
-msgstr ""
+msgstr "Attēloto elementu kārtošanas secība"
#: ../gtk/gtkrecentchooser.c:265
msgid "The current filter for selecting which resources are displayed"
-msgstr ""
+msgstr "Pašreizējais filtrs, lai izvēlētos, kurus resursus rādīt"
#: ../gtk/gtkrecentmanager.c:295
msgid "The full path to the file to be used to store and read the list"
msgstr ""
+"Pilns ceļš uz failu, kurš tiks izmantots sarakstu glabāšanai un lasīšanai"
#: ../gtk/gtkrecentmanager.c:310
msgid "The size of the recently used resources list"
-msgstr ""
+msgstr "Nesen izmantoto resursu saraksta izmērs"
-#: ../gtk/gtkscalebutton.c:218
+#: ../gtk/gtkscalebutton.c:219
msgid "The value of the scale"
msgstr "Mēroga vērtība"
-#: ../gtk/gtkscalebutton.c:228
+#: ../gtk/gtkscalebutton.c:229
msgid "The icon size"
msgstr "Ikonas izmērs"
-#: ../gtk/gtkscalebutton.c:237
+#: ../gtk/gtkscalebutton.c:238
msgid ""
"The GtkAdjustment that contains the current value of this scale button object"
msgstr "GtkAdjustment, kas satur pašreizējo mēroga objekta vērtību"
+#: ../gtk/gtkscalebutton.c:266
#: ../gtk/gtkscalebutton.c:265
msgid "Icons"
msgstr "Ikonas"
-#: ../gtk/gtkscalebutton.c:266
+#: ../gtk/gtkscalebutton.c:267
msgid "List of icon names"
msgstr "Ikonu nosaukumu saraksts"
-#: ../gtk/gtkscale.c:254
+#: ../gtk/gtkscale.c:255
+#: ../gtk/gtkscale.c:253
msgid "The number of decimal places that are displayed in the value"
msgstr "Decimālo vietu skaits, kas tiek parādīts pie vērtības"
-#: ../gtk/gtkscale.c:263
+#: ../gtk/gtkscale.c:264
+#: ../gtk/gtkscale.c:262
msgid "Draw Value"
-msgstr "Zīmēt Vērtību"
+msgstr "Zīmēt vērtību"
-#: ../gtk/gtkscale.c:264
+#: ../gtk/gtkscale.c:265
+#: ../gtk/gtkscale.c:263
msgid "Whether the current value is displayed as a string next to the slider"
-msgstr "Vai pašreizējā vērtība tiek parādīta kā virkne bakus slīdnim"
+msgstr "Vai pašreizējā vērtība tiek parādīta kā virkne blakus slīdnim"
-#: ../gtk/gtkscale.c:271
+#: ../gtk/gtkscale.c:272
+#: ../gtk/gtkscale.c:270
msgid "Value Position"
-msgstr "Vērtības Pozīcija"
+msgstr "Vērtības novietojums"
-#: ../gtk/gtkscale.c:272
+#: ../gtk/gtkscale.c:273
+#: ../gtk/gtkscale.c:271
msgid "The position in which the current value is displayed"
msgstr "Pozīcija, kurā pašreizējā vērtība tiek parādīta"
-#: ../gtk/gtkscale.c:279
+#: ../gtk/gtkscale.c:280
+#: ../gtk/gtkscale.c:278
msgid "Slider Length"
-msgstr "Slīdņa Garums"
+msgstr "Slīdņa garums"
-#: ../gtk/gtkscale.c:280
+#: ../gtk/gtkscale.c:281
+#: ../gtk/gtkscale.c:279
msgid "Length of scale's slider"
msgstr "Mēroga slīdņa garums"
-#: ../gtk/gtkscale.c:288
+#: ../gtk/gtkscale.c:289
+#: ../gtk/gtkscale.c:287
msgid "Value spacing"
msgstr "Vērtības atstarpe"
-#: ../gtk/gtkscale.c:289
+#: ../gtk/gtkscale.c:290
+#: ../gtk/gtkscale.c:288
msgid "Space between value text and the slider/trough area"
msgstr "Atstarpe starp vērtības tekstu un slīdņa/ieplakas laukumu"
+#: ../gtk/gtkscrollable.c:94
#: ../gtk/gtkscrollable.c:86
msgid "Horizontal adjustment"
msgstr "Horizontālā noregulēšana"
+#: ../gtk/gtkscrollable.c:95
#: ../gtk/gtkscrollable.c:87
msgid ""
"Horizontal adjustment that is shared between the scrollable widget and its "
"controller"
msgstr ""
+"Horizontālais noregulējums, kas tiek kopīgi lietots starp ritināmu logdaļu "
+"un tā kontrolieri"
+#: ../gtk/gtkscrollable.c:111
#: ../gtk/gtkscrollable.c:103
msgid "Vertical adjustment"
-msgstr "Vertikālais noregulēšana"
+msgstr "Vertikālais noregulējums"
+#: ../gtk/gtkscrollable.c:112
#: ../gtk/gtkscrollable.c:104
msgid ""
"Vertical adjustment that is shared between the scrollable widget and its "
"controller"
msgstr ""
+"Vertikālais noregulējums, kas tiek kopīgi lietots starp ritināmu logdaļu un "
+"tā kontrolieri"
+#: ../gtk/gtkscrollable.c:128
#: ../gtk/gtkscrollable.c:120
-#, fuzzy
#| msgid "Horizontal Scrollbar Policy"
msgid "Horizontal Scrollable Policy"
-msgstr "Horizontālās Ritjoslas Politika"
+msgstr "Horizontālās ritināmības politika"
-#: ../gtk/gtkscrollable.c:121 ../gtk/gtkscrollable.c:137
+#: ../gtk/gtkscrollable.c:129 ../gtk/gtkscrollable.c:145
+#: ../gtk/gtkscrollable.c:121
+#: ../gtk/gtkscrollable.c:137
msgid "How the size of the content should be determined"
-msgstr ""
+msgstr "Kā vajadzētu noteikt satura izmēru"
+#: ../gtk/gtkscrollable.c:144
#: ../gtk/gtkscrollable.c:136
-#, fuzzy
#| msgid "Vertical Scrollbar Policy"
msgid "Vertical Scrollable Policy"
-msgstr "Vertikālās Ritjoslas Politika"
+msgstr "Vertikālās ritināmības politika"
#: ../gtk/gtkscrollbar.c:72
msgid "Minimum Slider Length"
-msgstr "Minimālais Slīdņa Garums"
+msgstr "Minimālais slīdņa garums"
#: ../gtk/gtkscrollbar.c:73
msgid "Minimum length of scrollbar slider"
#: ../gtk/gtkscrollbar.c:82
msgid "Don't change slider size, just lock it to the minimum length"
-msgstr "Nemainīt slīdņa izmŗu, tikai ieslēgt to minimālajā garumā"
+msgstr "Nemainīt slīdņa izmēru, tikai ieslēgt to minimālajā garumā"
#: ../gtk/gtkscrollbar.c:103
msgid ""
#: ../gtk/gtkscrollbar.c:110
msgid ""
"Display a second forward arrow button on the opposite end of the scrollbar"
-msgstr ""
+msgstr "Parādīt otru uz priekšu vērstās bultas pogu pretējā ritjoslas galā"
#: ../gtk/gtkscrolledwindow.c:296
msgid "Horizontal Adjustment"
-msgstr "Horizontālais Noregulējums"
+msgstr "Horizontālais noregulējums"
#: ../gtk/gtkscrolledwindow.c:297
msgid "The GtkAdjustment for the horizontal position"
#: ../gtk/gtkscrolledwindow.c:303
msgid "Vertical Adjustment"
-msgstr "Vertikālais Noregulējums"
+msgstr "Vertikālais noregulējums"
#: ../gtk/gtkscrolledwindow.c:304
msgid "The GtkAdjustment for the vertical position"
#: ../gtk/gtkscrolledwindow.c:310
msgid "Horizontal Scrollbar Policy"
-msgstr "Horizontālās Ritjoslas Politika"
+msgstr "Horizontālās ritjoslas politika"
#: ../gtk/gtkscrolledwindow.c:311
msgid "When the horizontal scrollbar is displayed"
#: ../gtk/gtkscrolledwindow.c:318
msgid "Vertical Scrollbar Policy"
-msgstr "Vertikālās Ritjoslas Politika"
+msgstr "Vertikālās ritjoslas politika"
#: ../gtk/gtkscrolledwindow.c:319
msgid "When the vertical scrollbar is displayed"
#: ../gtk/gtkscrolledwindow.c:327
msgid "Window Placement"
-msgstr "Loga Novietojums"
+msgstr "Loga novietojums"
#: ../gtk/gtkscrolledwindow.c:328
msgid ""
"Where the contents are located with respect to the scrollbars. This property "
"only takes effect if \"window-placement-set\" is TRUE."
msgstr ""
+"Kur tiek novietots saturs attiecībā pret ritjoslu. Šī īpašība stājas spēkā "
+"tikai tad, ja \"window-placement-set\" ir PATIESS."
#: ../gtk/gtkscrolledwindow.c:345
msgid "Window Placement Set"
"Whether \"window-placement\" should be used to determine the location of the "
"contents with respect to the scrollbars."
msgstr ""
+"Vai \"window-placement\" vajadzētu tikt izmantotam, lai noteiktu satura "
+"atrašanās vietu attiecībā pret ritjoslām."
#: ../gtk/gtkscrolledwindow.c:352
msgid "Shadow Type"
-msgstr "Ēnas Tips"
+msgstr "Ēnas tips"
#: ../gtk/gtkscrolledwindow.c:353
msgid "Style of bevel around the contents"
-msgstr "Konusa stils ap saturu"
+msgstr "Apmales stils ap saturu"
#: ../gtk/gtkscrolledwindow.c:367
msgid "Scrollbars within bevel"
-msgstr "Ritjoslas izcilņos"
+msgstr "Ritjoslas apmalēs"
#: ../gtk/gtkscrolledwindow.c:368
msgid "Place scrollbars within the scrolled window's bevel"
-msgstr ""
+msgstr "Novietot ritjoslas ritinātu logu apmales"
#: ../gtk/gtkscrolledwindow.c:374
msgid "Scrollbar spacing"
msgstr "Pikseļu skaits starp ritjoslām un ritināmo logu"
#: ../gtk/gtkscrolledwindow.c:391
-#, fuzzy
#| msgid "Minimum Width"
msgid "Minimum Content Width"
-msgstr "Minimālais Platums"
+msgstr "Minimālais satura platums"
#: ../gtk/gtkscrolledwindow.c:392
msgid "The minimum width that the scrolled window will allocate to its content"
-msgstr ""
+msgstr "Minimālais platums, ko ritinātais logs piešķirs tā saturam"
#: ../gtk/gtkscrolledwindow.c:406
-#, fuzzy
#| msgid "Minimum child height"
msgid "Minimum Content Height"
-msgstr "Minimālais bērna augstums"
+msgstr "Minimālais satura augstums"
#: ../gtk/gtkscrolledwindow.c:407
-msgid ""
-"The minimum height that the scrolled window will allocate to its content"
-msgstr ""
+msgid "The minimum height that the scrolled window will allocate to its content"
+msgstr "Minimālais augstums, ko ritinātais logs piešķirs tā saturam"
#: ../gtk/gtkseparatortoolitem.c:143
msgid "Draw"
#: ../gtk/gtkseparatortoolitem.c:144
msgid "Whether the separator is drawn, or just blank"
-msgstr "Vai atdalītājs ir kritums līnijas vai tikai tukšums"
+msgstr "Vai atdalītājs tiek zīmēts vai tikai tukšums"
-#: ../gtk/gtksettings.c:328
+#: ../gtk/gtksettings.c:321
+#: ../gtk/gtksettings.c:318
msgid "Double Click Time"
-msgstr "Dubultklikšķa Laiks"
+msgstr "Dubultklikšķa laiks"
-#: ../gtk/gtksettings.c:329
+#: ../gtk/gtksettings.c:322
+#: ../gtk/gtksettings.c:319
msgid ""
"Maximum time allowed between two clicks for them to be considered a double "
"click (in milliseconds)"
msgstr ""
"Maksimāli atļautais laiks starp diviem klikšķiem, lai to uzskatītu par "
-"dubūltklikšķi (milisekundēs)"
+"dubultklikšķi (milisekundēs)"
-#: ../gtk/gtksettings.c:336
+#: ../gtk/gtksettings.c:329
+#: ../gtk/gtksettings.c:326
msgid "Double Click Distance"
-msgstr "Dubultklikšķa garums"
+msgstr "Dubultklikšķa attālums"
-#: ../gtk/gtksettings.c:337
+#: ../gtk/gtksettings.c:330
+#: ../gtk/gtksettings.c:327
msgid ""
"Maximum distance allowed between two clicks for them to be considered a "
"double click (in pixels)"
"Maksimāli atļautais garums starp diviem klikšķiem, lai to uzskatītu par "
"dubultklikšķi (pikseļos)"
-#: ../gtk/gtksettings.c:353
+#: ../gtk/gtksettings.c:346
+#: ../gtk/gtksettings.c:343
msgid "Cursor Blink"
-msgstr "Kursora Mirgošana"
+msgstr "Kursora mirgošana"
-#: ../gtk/gtksettings.c:354
+#: ../gtk/gtksettings.c:347
+#: ../gtk/gtksettings.c:344
msgid "Whether the cursor should blink"
msgstr "Vai kursoram būtu jāmirgo"
-#: ../gtk/gtksettings.c:361
+#: ../gtk/gtksettings.c:354
+#: ../gtk/gtksettings.c:351
msgid "Cursor Blink Time"
-msgstr "Kursora Mirgošanas Laiks"
+msgstr "Kursora mirgošanas laiks"
-#: ../gtk/gtksettings.c:362
+#: ../gtk/gtksettings.c:355
+#: ../gtk/gtksettings.c:352
msgid "Length of the cursor blink cycle, in milliseconds"
msgstr "Kursora mirgošanas cikla garums, milisekundēs"
-#: ../gtk/gtksettings.c:381
+#: ../gtk/gtksettings.c:374
+#: ../gtk/gtksettings.c:371
msgid "Cursor Blink Timeout"
msgstr "Kursora mirgošanas noildze"
-#: ../gtk/gtksettings.c:382
+#: ../gtk/gtksettings.c:375
+#: ../gtk/gtksettings.c:372
msgid "Time after which the cursor stops blinking, in seconds"
-msgstr ""
+msgstr "Laiks, pēc kura kursors beidz mirgot, sekundēs"
-#: ../gtk/gtksettings.c:389
+#: ../gtk/gtksettings.c:382
+#: ../gtk/gtksettings.c:379
msgid "Split Cursor"
-msgstr "Sadalītais Kursors"
+msgstr "Sadalītais kursors"
-#: ../gtk/gtksettings.c:390
+#: ../gtk/gtksettings.c:383
+#: ../gtk/gtksettings.c:380
msgid ""
"Whether two cursors should be displayed for mixed left-to-right and right-to-"
"left text"
"Vai attēlot divus kursorus miksētiem no labās puses uz kreiso un otrādi "
"tekstiem"
-#: ../gtk/gtksettings.c:397
+#: ../gtk/gtksettings.c:390
+#: ../gtk/gtksettings.c:387
msgid "Theme Name"
-msgstr "Tēmas Nosaukums"
+msgstr "Tēmas nosaukums"
-#: ../gtk/gtksettings.c:398
-#, fuzzy
+#: ../gtk/gtksettings.c:391
+#: ../gtk/gtksettings.c:388
#| msgid "Name of theme RC file to load"
msgid "Name of theme to load"
-msgstr "Tēmas RC faila nosaukums, ko ielādēt"
+msgstr "Tēmas nosaukums, ko ielādēt"
-#: ../gtk/gtksettings.c:406
+#: ../gtk/gtksettings.c:399
+#: ../gtk/gtksettings.c:396
msgid "Icon Theme Name"
-msgstr "Ikonas tēmas nosaukums"
+msgstr "Ikonu tēmas nosaukums"
-#: ../gtk/gtksettings.c:407
+#: ../gtk/gtksettings.c:400
+#: ../gtk/gtksettings.c:397
msgid "Name of icon theme to use"
-msgstr "Ikonas tēmas nosaukums, ko lietot"
+msgstr "Ikonu tēmas nosaukums, ko lietot"
-#: ../gtk/gtksettings.c:415
+#: ../gtk/gtksettings.c:408
+#: ../gtk/gtksettings.c:405
msgid "Fallback Icon Theme Name"
-msgstr "Atkāpes ikonas tēmas nosaukums"
+msgstr "Atkāpes ikonu tēmas nosaukums"
-#: ../gtk/gtksettings.c:416
+#: ../gtk/gtksettings.c:409
+#: ../gtk/gtksettings.c:406
msgid "Name of a icon theme to fall back to"
-msgstr "Ikonas tēmas nosaukums, no kuras atkāpties"
+msgstr "Ikonu tēmas nosaukums, no kuras atkāpties"
-#: ../gtk/gtksettings.c:424
+#: ../gtk/gtksettings.c:417
+#: ../gtk/gtksettings.c:414
msgid "Key Theme Name"
-msgstr "Atslēgas Tēmas Nosaukums"
+msgstr "Atslēgu tēmas nosaukums"
-#: ../gtk/gtksettings.c:425
-#, fuzzy
+#: ../gtk/gtksettings.c:418
+#: ../gtk/gtksettings.c:415
#| msgid "Name of key theme RC file to load"
msgid "Name of key theme to load"
-msgstr "Taustiņa tēmas RC faila nosaukums, ko ielādēt"
+msgstr "Atslēgu tēmu nosaukums, ko ielādēt"
-#: ../gtk/gtksettings.c:433
+#: ../gtk/gtksettings.c:426
+#: ../gtk/gtksettings.c:423
msgid "Menu bar accelerator"
msgstr "Izvēlnes joslas paātrinātājs"
-#: ../gtk/gtksettings.c:434
+#: ../gtk/gtksettings.c:427
+#: ../gtk/gtksettings.c:424
msgid "Keybinding to activate the menu bar"
msgstr "Taustiņsasaiste, lai aktivizētu izvēlnes joslu"
-#: ../gtk/gtksettings.c:442
+#: ../gtk/gtksettings.c:435
+#: ../gtk/gtksettings.c:432
msgid "Drag threshold"
msgstr "Vilkšanas aizture"
-#: ../gtk/gtksettings.c:443
+#: ../gtk/gtksettings.c:436
+#: ../gtk/gtksettings.c:433
msgid "Number of pixels the cursor can move before dragging"
msgstr "Pikseļu skaits, ko kursors var pakustēties, pirms vilkšanas"
-#: ../gtk/gtksettings.c:451
+#: ../gtk/gtksettings.c:444
+#: ../gtk/gtksettings.c:441
msgid "Font Name"
-msgstr "Fonta Nosaukums"
+msgstr "Fonta nosaukums"
-#: ../gtk/gtksettings.c:452
+#: ../gtk/gtksettings.c:445
+#: ../gtk/gtksettings.c:442
msgid "Name of default font to use"
msgstr "Noklusētā fonta nosaukums"
-#: ../gtk/gtksettings.c:474
+#: ../gtk/gtksettings.c:467
+#: ../gtk/gtksettings.c:464
msgid "Icon Sizes"
-msgstr "Ikonu Izmēri"
+msgstr "Ikonu izmēri"
-#: ../gtk/gtksettings.c:475
+#: ../gtk/gtksettings.c:468
+#: ../gtk/gtksettings.c:465
msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..."
msgstr "Ikonas izmēru saraksts (gtk-menu=16,16;gtk-button=20,20..."
-#: ../gtk/gtksettings.c:483
+#: ../gtk/gtksettings.c:476
+#: ../gtk/gtksettings.c:473
msgid "GTK Modules"
msgstr "GTK moduļi"
-#: ../gtk/gtksettings.c:484
+#: ../gtk/gtksettings.c:477
+#: ../gtk/gtksettings.c:474
msgid "List of currently active GTK modules"
-msgstr "Patreiz aktīvo GTK moduļu saraksts"
+msgstr "Pašlaik aktīvo GTK moduļu saraksts"
-#: ../gtk/gtksettings.c:493
+#: ../gtk/gtksettings.c:485
+#: ../gtk/gtksettings.c:482
msgid "Xft Antialias"
-msgstr "Xtf kropļojumu novēršana"
+msgstr "Xft nogludināšana"
-#: ../gtk/gtksettings.c:494
+#: ../gtk/gtksettings.c:486
+#: ../gtk/gtksettings.c:483
msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default"
-msgstr "Vai ovērst Xft fontu kropļojumus; 0=nē, 1=jā, -1=pēc noklusējuma"
+msgstr "Vai nogludināt Xft fontus; 0=nē, 1=jā, -1=pēc noklusējuma"
-#: ../gtk/gtksettings.c:503
+#: ../gtk/gtksettings.c:495
+#: ../gtk/gtksettings.c:492
msgid "Xft Hinting"
-msgstr "Xft norādīšana"
+msgstr "Xft suflēšana"
-#: ../gtk/gtksettings.c:504
+#: ../gtk/gtksettings.c:496
+#: ../gtk/gtksettings.c:493
msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default"
-msgstr "Vai norādīt Xft fontus; 0=nē, 1=jā, -1=pēc noklusējuma"
+msgstr "Vai suflēt Xft fontus; 0=nē, 1=jā, -1=pēc noklusējuma"
-#: ../gtk/gtksettings.c:513
+#: ../gtk/gtksettings.c:505
+#: ../gtk/gtksettings.c:502
msgid "Xft Hint Style"
-msgstr "Xft norāžu stils"
+msgstr "Xft suflēšanas stils"
-#: ../gtk/gtksettings.c:514
+#: ../gtk/gtksettings.c:506
+#: ../gtk/gtksettings.c:503
msgid ""
"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull"
msgstr ""
-"Kādu norāžu pakāpi izmantot; nekādu norāžu, vieglas norādes, vidējas "
-"norādes, pilnas norādes"
+"Kādu suflēšanas pakāpi izmantot; nekādu suflēšanu, vieglas suflēšanu, vidēju "
+"suflēšanu, pilnu suflēšanu"
-#: ../gtk/gtksettings.c:523
+#: ../gtk/gtksettings.c:515
+#: ../gtk/gtksettings.c:512
msgid "Xft RGBA"
msgstr "Xft RGBA"
-#: ../gtk/gtksettings.c:524
+#: ../gtk/gtksettings.c:516
+#: ../gtk/gtksettings.c:513
msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr"
-msgstr "Apakšpikseļu kropļojumu novēršanas tips; nekāds, rgb, bgr, vrgb, vbgr"
+msgstr "Apakšpikseļu gludināšanas tips; nekāds, rgb, bgr, vrgb, vbgr"
-#: ../gtk/gtksettings.c:533
+#: ../gtk/gtksettings.c:525
+#: ../gtk/gtksettings.c:522
msgid "Xft DPI"
msgstr "Xft DPI"
-#: ../gtk/gtksettings.c:534
+#: ../gtk/gtksettings.c:526
+#: ../gtk/gtksettings.c:523
msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value"
msgstr ""
-"Izšķirtspēja priekš Xft 1024 punktos/collās. -1, lai izmantotu noklusēto "
-"vērtību"
+"Xft izšķirtspēja 1024 * punktos/collās. -1, lai izmantotu noklusēto vērtību"
-#: ../gtk/gtksettings.c:543
+#: ../gtk/gtksettings.c:535
+#: ../gtk/gtksettings.c:532
msgid "Cursor theme name"
msgstr "Kursora tēmas nosaukums"
-#: ../gtk/gtksettings.c:544
+#: ../gtk/gtksettings.c:536
+#: ../gtk/gtksettings.c:533
msgid "Name of the cursor theme to use, or NULL to use the default theme"
msgstr ""
+"Nosaukums kursora tēmai, ko izmantot; vai NULL, lai izmantotu noklusēto tēmu"
-#: ../gtk/gtksettings.c:552
+#: ../gtk/gtksettings.c:544
+#: ../gtk/gtksettings.c:541
msgid "Cursor theme size"
-msgstr "Kursora tēmas nosaukums"
+msgstr "Kursora tēmas izmērs"
-#: ../gtk/gtksettings.c:553
+#: ../gtk/gtksettings.c:545
+#: ../gtk/gtksettings.c:542
msgid "Size to use for cursors, or 0 to use the default size"
-msgstr ""
+msgstr "Izmērs, ko izmatot kursoriem; vai 0, lai izmantotu noklusēto izmēru"
-#: ../gtk/gtksettings.c:563
+#: ../gtk/gtksettings.c:554
+#: ../gtk/gtksettings.c:551
msgid "Alternative button order"
-msgstr "Izvēles pogu kārtība"
+msgstr "Cita pogu secība"
-#: ../gtk/gtksettings.c:564
+#: ../gtk/gtksettings.c:555
+#: ../gtk/gtksettings.c:552
msgid "Whether buttons in dialogs should use the alternative button order"
-msgstr "Vai pogām dialogos vajadzētu izmantot izvēles pogu kārtību"
+msgstr "Vai pogām dialogos vajadzētu izmantot citu pogu secību"
-#: ../gtk/gtksettings.c:581
+#: ../gtk/gtksettings.c:572
+#: ../gtk/gtksettings.c:569
msgid "Alternative sort indicator direction"
-msgstr ""
+msgstr "Citas kārtošanas indikatora virziens"
-#: ../gtk/gtksettings.c:582
+#: ../gtk/gtksettings.c:573
+#: ../gtk/gtksettings.c:570
msgid ""
"Whether the direction of the sort indicators in list and tree views is "
"inverted compared to the default (where down means ascending)"
msgstr ""
+"Vai kārtošanas indikatoru virziens saraksta un koka skatos ir apgriezts, "
+"salīdzinot ar noklusēto (kur 'uz leju' nozīmē augoši)"
-#: ../gtk/gtksettings.c:590
+#: ../gtk/gtksettings.c:581
+#: ../gtk/gtksettings.c:578
msgid "Show the 'Input Methods' menu"
-msgstr "Parādīt 'Ievades Metodes' izvēlni"
+msgstr "Rādīt 'Ievades metodes' izvēlni"
-#: ../gtk/gtksettings.c:591
+#: ../gtk/gtksettings.c:582
+#: ../gtk/gtksettings.c:579
msgid ""
"Whether the context menus of entries and text views should offer to change "
"the input method"
msgstr ""
-"Vai ierakstu labā klikšķa izvēlnēs vajadzētu piedāvāt izvēlēties ievades "
-"metodi"
+"Vai ierakstu labā klikšķa izvēlnēs vajadzētu piedāvāt mainīt ievades metodi"
-#: ../gtk/gtksettings.c:599
+#: ../gtk/gtksettings.c:590
+#: ../gtk/gtksettings.c:587
msgid "Show the 'Insert Unicode Control Character' menu"
-msgstr ""
+msgstr "Rādīt 'Ievietot unikoda kontroles rakstzīmi' izvēlni"
-#: ../gtk/gtksettings.c:600
+#: ../gtk/gtksettings.c:591
+#: ../gtk/gtksettings.c:588
msgid ""
"Whether the context menus of entries and text views should offer to insert "
"control characters"
"Vai ierakstu labā klikšķa izvēlnēs vajadzētu piedāvāt kontroles simbolu "
"ievietošanu"
-#: ../gtk/gtksettings.c:608
+#: ../gtk/gtksettings.c:599
+#: ../gtk/gtksettings.c:596
msgid "Start timeout"
msgstr "Sākuma noildze"
-#: ../gtk/gtksettings.c:609
+#: ../gtk/gtksettings.c:600
+#: ../gtk/gtksettings.c:597
msgid "Starting value for timeouts, when button is pressed"
-msgstr ""
+msgstr "Sākuma vērtība noildzēm, kad ir piespiesta poga"
-#: ../gtk/gtksettings.c:618
+#: ../gtk/gtksettings.c:609
+#: ../gtk/gtksettings.c:606
msgid "Repeat timeout"
msgstr "Atkārtotā noildze"
-#: ../gtk/gtksettings.c:619
+#: ../gtk/gtksettings.c:610
+#: ../gtk/gtksettings.c:607
msgid "Repeat value for timeouts, when button is pressed"
-msgstr ""
+msgstr "Atkārtotā vērtība noildzēm, kad ir piespiesta poga"
-#: ../gtk/gtksettings.c:628
+#: ../gtk/gtksettings.c:619
+#: ../gtk/gtksettings.c:616
msgid "Expand timeout"
msgstr "Izvēršanas noildze"
-#: ../gtk/gtksettings.c:629
+#: ../gtk/gtksettings.c:620
+#: ../gtk/gtksettings.c:617
msgid "Expand value for timeouts, when a widget is expanding a new region"
-msgstr ""
+msgstr "Izvēršanas vērtība noildzēm, kad logdaļa izvērš jaunu apgabalu"
-#: ../gtk/gtksettings.c:664
+#: ../gtk/gtksettings.c:655
+#: ../gtk/gtksettings.c:652
msgid "Color scheme"
msgstr "Krāsu palete"
-#: ../gtk/gtksettings.c:665
+#: ../gtk/gtksettings.c:656
+#: ../gtk/gtksettings.c:653
msgid "A palette of named colors for use in themes"
-msgstr ""
+msgstr "Palete ar nosauktām krāsām, ko izmantot tēmās"
-#: ../gtk/gtksettings.c:674
+#: ../gtk/gtksettings.c:665
+#: ../gtk/gtksettings.c:662
msgid "Enable Animations"
-msgstr "Aktivizēt Animācijas"
+msgstr "Aktivēt animācijas"
-#: ../gtk/gtksettings.c:675
+#: ../gtk/gtksettings.c:666
+#: ../gtk/gtksettings.c:663
msgid "Whether to enable toolkit-wide animations."
-msgstr ""
+msgstr "Vai aktivēt rīkkopas animācijas."
-#: ../gtk/gtksettings.c:693
+#: ../gtk/gtksettings.c:684
+#: ../gtk/gtksettings.c:681
msgid "Enable Touchscreen Mode"
-msgstr "Aktivizēt skārienjūtīgā ekrāna režīmu"
+msgstr "Aktivēt skārienjūtīgā ekrāna režīmu"
-#: ../gtk/gtksettings.c:694
+#: ../gtk/gtksettings.c:685
+#: ../gtk/gtksettings.c:682
msgid "When TRUE, there are no motion notify events delivered on this screen"
-msgstr ""
+msgstr "Ja PATIESS, uz šo ekrānu netiek nogādāti notikumi par kustību"
-#: ../gtk/gtksettings.c:711
+#: ../gtk/gtksettings.c:702
+#: ../gtk/gtksettings.c:699
msgid "Tooltip timeout"
msgstr "Paskaidres noildze"
-#: ../gtk/gtksettings.c:712
+#: ../gtk/gtksettings.c:703
+#: ../gtk/gtksettings.c:700
msgid "Timeout before tooltip is shown"
-msgstr ""
+msgstr "Noildze pirms tiek rādīta paskaidre"
-#: ../gtk/gtksettings.c:737
+#: ../gtk/gtksettings.c:728
+#: ../gtk/gtksettings.c:725
msgid "Tooltip browse timeout"
-msgstr ""
+msgstr "Paskaidres pārlūkošanas noildze"
-#: ../gtk/gtksettings.c:738
+#: ../gtk/gtksettings.c:729
+#: ../gtk/gtksettings.c:726
msgid "Timeout before tooltip is shown when browse mode is enabled"
-msgstr ""
+msgstr "Noildze, pirms tiek parādīta paskaidre, kad aktivēts pārlūkošanas režīms"
-#: ../gtk/gtksettings.c:759
+#: ../gtk/gtksettings.c:750
+#: ../gtk/gtksettings.c:747
msgid "Tooltip browse mode timeout"
-msgstr ""
+msgstr "Paskadres pārlūkošanas režīma noildze"
-#: ../gtk/gtksettings.c:760
+#: ../gtk/gtksettings.c:751
+#: ../gtk/gtksettings.c:748
msgid "Timeout after which browse mode is disabled"
-msgstr ""
+msgstr "Noildze, pēc kuras pārlūkošanas režīms ir deaktivēts"
-#: ../gtk/gtksettings.c:779
+#: ../gtk/gtksettings.c:770
+#: ../gtk/gtksettings.c:767
msgid "Keynav Cursor Only"
-msgstr ""
+msgstr "Tikai taustnav kursors"
-#: ../gtk/gtksettings.c:780
+#: ../gtk/gtksettings.c:771
+#: ../gtk/gtksettings.c:768
msgid "When TRUE, there are only cursor keys available to navigate widgets"
-msgstr ""
+msgstr "Kad PATIESS, pa logdaļu var pārvietoties tikai ar kursora taustiņiem"
-#: ../gtk/gtksettings.c:797
+#: ../gtk/gtksettings.c:788
+#: ../gtk/gtksettings.c:785
msgid "Keynav Wrap Around"
-msgstr ""
+msgstr "Taustnav aplauzt apkārt"
-#: ../gtk/gtksettings.c:798
+#: ../gtk/gtksettings.c:789
+#: ../gtk/gtksettings.c:786
msgid "Whether to wrap around when keyboard-navigating widgets"
-msgstr ""
+msgstr "Vai aplauzt apkārt, kad pārvietojas pa logdaļu ar tastatūru"
-#: ../gtk/gtksettings.c:818
+#: ../gtk/gtksettings.c:809
+#: ../gtk/gtksettings.c:806
msgid "Error Bell"
msgstr "Kļūdas zvans"
-#: ../gtk/gtksettings.c:819
+#: ../gtk/gtksettings.c:810
+#: ../gtk/gtksettings.c:807
msgid "When TRUE, keyboard navigation and other errors will cause a beep"
-msgstr ""
+msgstr "Kad PATIESS, tastatūras pārvietošanās un citas kļūdas izraisīs pīkstienu"
-#: ../gtk/gtksettings.c:836
+#: ../gtk/gtksettings.c:827
+#: ../gtk/gtksettings.c:824
msgid "Color Hash"
-msgstr "Krāsas hash"
+msgstr "Krāsas juceklis"
-#: ../gtk/gtksettings.c:837
+#: ../gtk/gtksettings.c:828
+#: ../gtk/gtksettings.c:825
msgid "A hash table representation of the color scheme."
-msgstr ""
+msgstr "Krāsu shēmas attēlojums jucekļa tabulā"
-#: ../gtk/gtksettings.c:845
+#: ../gtk/gtksettings.c:836
+#: ../gtk/gtksettings.c:833
msgid "Default file chooser backend"
msgstr "Noklusētā failu izvēlētāja aizmugure"
-#: ../gtk/gtksettings.c:846
+#: ../gtk/gtksettings.c:837
+#: ../gtk/gtksettings.c:834
msgid "Name of the GtkFileChooser backend to use by default"
-msgstr "GtkFileChooser aimugures nosaukums, ko lietot pēc noklusējuma"
+msgstr "GtkFileChooser aizmugures nosaukums, ko lietot pēc noklusējuma"
-#: ../gtk/gtksettings.c:863
+#: ../gtk/gtksettings.c:854
+#: ../gtk/gtksettings.c:851
msgid "Default print backend"
msgstr "Noklusētā printera aizmugure"
-#: ../gtk/gtksettings.c:864
+#: ../gtk/gtksettings.c:855
+#: ../gtk/gtksettings.c:852
msgid "List of the GtkPrintBackend backends to use by default"
msgstr "Saraksts ar pēc noklusējuma izmantojamajām GtkPrintBackend aizmugurēm"
-#: ../gtk/gtksettings.c:887
+#: ../gtk/gtksettings.c:878
+#: ../gtk/gtksettings.c:875
msgid "Default command to run when displaying a print preview"
-msgstr ""
+msgstr "Noklusētā komanda, ko palaist, kad attēlo drukāšanas priekšskatījumu"
-#: ../gtk/gtksettings.c:888
+#: ../gtk/gtksettings.c:879
+#: ../gtk/gtksettings.c:876
msgid "Command to run when displaying a print preview"
-msgstr ""
+msgstr "Komanda, ko palaist, kad attēlo drukāšanas priekšskatījumu"
-#: ../gtk/gtksettings.c:904
+#: ../gtk/gtksettings.c:895
+#: ../gtk/gtksettings.c:892
msgid "Enable Mnemonics"
-msgstr "Aktivizēt mnemonikas"
+msgstr "Aktivēt mnemonikas"
-#: ../gtk/gtksettings.c:905
+#: ../gtk/gtksettings.c:896
+#: ../gtk/gtksettings.c:893
msgid "Whether labels should have mnemonics"
-msgstr "Vai etiķetēm būtu jābūt mnemonikām"
+msgstr "Vai iezīmēm būtu jābūt mnemonikām"
-#: ../gtk/gtksettings.c:921
+#: ../gtk/gtksettings.c:912
+#: ../gtk/gtksettings.c:909
msgid "Enable Accelerators"
-msgstr "Aktivizēt paātrinātājus"
+msgstr "Aktivēt paātrinātājus"
-#: ../gtk/gtksettings.c:922
+#: ../gtk/gtksettings.c:913
+#: ../gtk/gtksettings.c:910
msgid "Whether menu items should have accelerators"
-msgstr "Vai izvēlņu elementiem vajadzētu būt paātrinātājiem"
+msgstr "Vai izvēļņu elementiem vajadzētu būt paātrinātājiem"
-#: ../gtk/gtksettings.c:939
+#: ../gtk/gtksettings.c:930
+#: ../gtk/gtksettings.c:927
msgid "Recent Files Limit"
msgstr "Neseno failu limits"
-#: ../gtk/gtksettings.c:940
+#: ../gtk/gtksettings.c:931
+#: ../gtk/gtksettings.c:928
msgid "Number of recently used files"
msgstr "Nesen izmantoto failu skaits"
-#: ../gtk/gtksettings.c:958
+#: ../gtk/gtksettings.c:949
+#: ../gtk/gtksettings.c:946
msgid "Default IM module"
-msgstr "Noklusētais IM modulis"
+msgstr "Noklusētais TZ modulis"
-#: ../gtk/gtksettings.c:959
+#: ../gtk/gtksettings.c:950
+#: ../gtk/gtksettings.c:947
msgid "Which IM module should be used by default"
-msgstr "Kuru IM moduli lietot pēc noklusējuma"
+msgstr "Kuru TZ moduli lietot pēc noklusējuma"
-#: ../gtk/gtksettings.c:977
+#: ../gtk/gtksettings.c:968
+#: ../gtk/gtksettings.c:965
msgid "Recent Files Max Age"
msgstr "Neseno failu maksimālais vecums"
-#: ../gtk/gtksettings.c:978
+#: ../gtk/gtksettings.c:969
+#: ../gtk/gtksettings.c:966
msgid "Maximum age of recently used files, in days"
msgstr "Maksimālais nesen izmantoto dokumentu vecums dienās"
-#: ../gtk/gtksettings.c:987
+#: ../gtk/gtksettings.c:978
+#: ../gtk/gtksettings.c:975
msgid "Fontconfig configuration timestamp"
msgstr "Fontconfig konfigurācijas laika spiedogs"
-#: ../gtk/gtksettings.c:988
+#: ../gtk/gtksettings.c:979
+#: ../gtk/gtksettings.c:976
msgid "Timestamp of current fontconfig configuration"
msgstr "Pašreizējās fontconfig konfigurācijas laika spiedogs"
-#: ../gtk/gtksettings.c:1010
+#: ../gtk/gtksettings.c:1001
+#: ../gtk/gtksettings.c:998
msgid "Sound Theme Name"
msgstr "Skaņu tēmas nosaukums"
-#: ../gtk/gtksettings.c:1011
+#: ../gtk/gtksettings.c:1002
+#: ../gtk/gtksettings.c:999
msgid "XDG sound theme name"
msgstr "XDG skaņu tēmas nosaukums"
#. Translators: this means sounds that are played as feedback to user input
-#: ../gtk/gtksettings.c:1033
+#: ../gtk/gtksettings.c:1024
+#: ../gtk/gtksettings.c:1021
msgid "Audible Input Feedback"
-msgstr "Dzirdami ievades papildinājumi"
+msgstr "Dzirdamie ievades papildinājumi"
-#: ../gtk/gtksettings.c:1034
+#: ../gtk/gtksettings.c:1025
+#: ../gtk/gtksettings.c:1022
msgid "Whether to play event sounds as feedback to user input"
-msgstr "Vai kā papildus informāciju lietotāja ievadam atskaņot notikumu skaņas"
+msgstr "Vai, kā papildus informāciju lietotāja ievadam, atskaņot notikumu skaņas"
-#: ../gtk/gtksettings.c:1055
+#: ../gtk/gtksettings.c:1046
+#: ../gtk/gtksettings.c:1043
msgid "Enable Event Sounds"
-msgstr "Aktivizēt notikumu skaņas"
+msgstr "Aktivēt notikumu skaņas"
-#: ../gtk/gtksettings.c:1056
+#: ../gtk/gtksettings.c:1047
+#: ../gtk/gtksettings.c:1044
msgid "Whether to play any event sounds at all"
msgstr "Vai vispār atskaņot kāda notikuma skaņas"
-#: ../gtk/gtksettings.c:1071
+#: ../gtk/gtksettings.c:1062
+#: ../gtk/gtksettings.c:1059
msgid "Enable Tooltips"
-msgstr "Aktizvizēt paskaidres"
+msgstr "Aktivēt paskaidres"
-#: ../gtk/gtksettings.c:1072
+#: ../gtk/gtksettings.c:1063
+#: ../gtk/gtksettings.c:1060
msgid "Whether tooltips should be shown on widgets"
msgstr "Vai logdaļām rādīt paskaidres"
-#: ../gtk/gtksettings.c:1085
+#: ../gtk/gtksettings.c:1076
+#: ../gtk/gtksettings.c:1073
msgid "Toolbar style"
msgstr "Rīkjoslas stils"
-#: ../gtk/gtksettings.c:1086
-msgid ""
-"Whether default toolbars have text only, text and icons, icons only, etc."
+#: ../gtk/gtksettings.c:1077
+#: ../gtk/gtksettings.c:1074
+msgid "Whether default toolbars have text only, text and icons, icons only, etc."
msgstr ""
"Vai noklusētās rīkjoslas ir tikai ar tekstu, tekstu un ikonām, tikai ikonām, "
"u.t.t."
-#: ../gtk/gtksettings.c:1100
-#, fuzzy
+#: ../gtk/gtksettings.c:1091
+#: ../gtk/gtksettings.c:1088
msgid "Toolbar Icon Size"
msgstr "Rīkjoslas ikonu izmērs"
-#: ../gtk/gtksettings.c:1101
-#, fuzzy
+#: ../gtk/gtksettings.c:1092
+#: ../gtk/gtksettings.c:1089
msgid "The size of icons in default toolbars."
-msgstr "Ikonu izmērs noklusētajās rīkjoslās"
+msgstr "Ikonu izmērs noklusētajās rīkjoslās."
-#: ../gtk/gtksettings.c:1118
-#, fuzzy
+#: ../gtk/gtksettings.c:1109
+#: ../gtk/gtksettings.c:1106
msgid "Auto Mnemonics"
-msgstr "Aktivizēt mnemonikas"
+msgstr "Automātiskās mnemonikas"
-#: ../gtk/gtksettings.c:1119
+#: ../gtk/gtksettings.c:1110
+#: ../gtk/gtksettings.c:1107
msgid ""
"Whether mnemonics should be automatically shown and hidden when the user "
"presses the mnemonic activator."
msgstr ""
+"Vai mnemonikas vajadzētu automātiski rādīt un slēpt, kad lietotājs piespiež "
+"mnemonikas aktivizētāju."
-#: ../gtk/gtksettings.c:1144
-#, fuzzy
+#: ../gtk/gtksettings.c:1135
+#: ../gtk/gtksettings.c:1132
msgid "Application prefers a dark theme"
-msgstr "Aplikācija krāsojama"
+msgstr "Lietotne dod priekšroku tumšai tēmai"
-#: ../gtk/gtksettings.c:1145
-#, fuzzy
+#: ../gtk/gtksettings.c:1136
+#: ../gtk/gtksettings.c:1133
msgid "Whether the application prefers to have a dark theme."
-msgstr "Vai darbība ir ieslēgta."
+msgstr "Vai lietotne dod priekšroku tumšai tēmai"
-#: ../gtk/gtksettings.c:1160
+#: ../gtk/gtksettings.c:1151
+#: ../gtk/gtksettings.c:1148
msgid "Show button images"
msgstr "Rādīt pogu attēlus"
-#: ../gtk/gtksettings.c:1161
+#: ../gtk/gtksettings.c:1152
+#: ../gtk/gtksettings.c:1149
msgid "Whether images should be shown on buttons"
msgstr "Vai uz pogām rādīt attēlus"
-#: ../gtk/gtksettings.c:1169 ../gtk/gtksettings.c:1263
+#: ../gtk/gtksettings.c:1160 ../gtk/gtksettings.c:1254
+#: ../gtk/gtksettings.c:1157
+#: ../gtk/gtksettings.c:1251
msgid "Select on focus"
msgstr "Izvēlēties pie fokusēšanas"
-#: ../gtk/gtksettings.c:1170
+#: ../gtk/gtksettings.c:1161
+#: ../gtk/gtksettings.c:1158
msgid "Whether to select the contents of an entry when it is focused"
msgstr "Vai izvēlēties ieraksta saturu, kad tas tiek fokusēts"
-#: ../gtk/gtksettings.c:1187
+#: ../gtk/gtksettings.c:1178
+#: ../gtk/gtksettings.c:1175
msgid "Password Hint Timeout"
msgstr "Paroles padoma noildze"
-#: ../gtk/gtksettings.c:1188
+#: ../gtk/gtksettings.c:1179
+#: ../gtk/gtksettings.c:1176
msgid "How long to show the last input character in hidden entries"
-msgstr ""
+msgstr "Cik ilgi rādīt ievades rakstzīmes slēptajās ievadēs"
-#: ../gtk/gtksettings.c:1197
+#: ../gtk/gtksettings.c:1188
+#: ../gtk/gtksettings.c:1185
msgid "Show menu images"
msgstr "Rādīt izvēlnes attēlus"
-#: ../gtk/gtksettings.c:1198
+#: ../gtk/gtksettings.c:1189
+#: ../gtk/gtksettings.c:1186
msgid "Whether images should be shown in menus"
msgstr "Vai izvēlnēs rādīt attēlus"
-#: ../gtk/gtksettings.c:1206
+#: ../gtk/gtksettings.c:1197
+#: ../gtk/gtksettings.c:1194
msgid "Delay before drop down menus appear"
-msgstr "Aizture pirms nolaižamā izvēlnes parādās"
+msgstr "Aizture pirms parādās nolaižamā izvēlnes"
-#: ../gtk/gtksettings.c:1207
+#: ../gtk/gtksettings.c:1198
+#: ../gtk/gtksettings.c:1195
msgid "Delay before the submenus of a menu bar appear"
-msgstr "Aizture pirms apakšizvēlnes josla parādās"
+msgstr "Aizture pirms parādās apakšizvēlnes josla"
-#: ../gtk/gtksettings.c:1224
+#: ../gtk/gtksettings.c:1215
+#: ../gtk/gtksettings.c:1212
msgid "Scrolled Window Placement"
-msgstr ""
+msgstr "Ritinātā loga novietojums"
-#: ../gtk/gtksettings.c:1225
+#: ../gtk/gtksettings.c:1216
+#: ../gtk/gtksettings.c:1213
msgid ""
"Where the contents of scrolled windows are located with respect to the "
"scrollbars, if not overridden by the scrolled window's own placement."
msgstr ""
+"Kur tiek novietots ritināmā loga saturs, attiecībā pret ritjoslām, ja nav "
+"pārrakstīts ar ritināmā loga paša novietojumu."
-#: ../gtk/gtksettings.c:1234
+#: ../gtk/gtksettings.c:1225
+#: ../gtk/gtksettings.c:1222
msgid "Can change accelerators"
msgstr "Var mainīt paātrinātājus"
-#: ../gtk/gtksettings.c:1235
+#: ../gtk/gtksettings.c:1226
+#: ../gtk/gtksettings.c:1223
msgid ""
"Whether menu accelerators can be changed by pressing a key over the menu item"
msgstr ""
-"Vai izvēlņu paātrinātāji var tikt mainīti, nospiežot taustiņu virs izvēlnes "
+"Vai izvēļņu paātrinātāji var tikt mainīti, nospiežot taustiņu virs izvēlnes "
"priekšmeta"
-#: ../gtk/gtksettings.c:1243
+#: ../gtk/gtksettings.c:1234
+#: ../gtk/gtksettings.c:1231
msgid "Delay before submenus appear"
msgstr "Aizture pirms parādās apakšizvēlne"
-#: ../gtk/gtksettings.c:1244
+#: ../gtk/gtksettings.c:1235
+#: ../gtk/gtksettings.c:1232
msgid ""
"Minimum time the pointer must stay over a menu item before the submenu appear"
msgstr ""
"Minimums laika, cik ilgi kursoram jāatrodas uz izvēlnes pirms parādās "
"apakšizvēlne"
-#: ../gtk/gtksettings.c:1253
+#: ../gtk/gtksettings.c:1244
+#: ../gtk/gtksettings.c:1241
msgid "Delay before hiding a submenu"
msgstr "Aizture pirms apakšizvēlnes paslēpšanas"
-#: ../gtk/gtksettings.c:1254
+#: ../gtk/gtksettings.c:1245
+#: ../gtk/gtksettings.c:1242
msgid ""
"The time before hiding a submenu when the pointer is moving towards the "
"submenu"
msgstr ""
"Laiks pirms apakšizvēlnes paslēpšanas, kad kursors virzās pie apakšizvēlnes"
-#: ../gtk/gtksettings.c:1264
+#: ../gtk/gtksettings.c:1255
+#: ../gtk/gtksettings.c:1252
msgid "Whether to select the contents of a selectable label when it is focused"
-msgstr "Vai izvēlēties ieraksta saturu, kad tas tiek fokusēts"
+msgstr "Vai izvēlēties izvēlamas iezīmes saturu, kad tā tiek fokusēta"
-#: ../gtk/gtksettings.c:1272
+#: ../gtk/gtksettings.c:1263
+#: ../gtk/gtksettings.c:1260
msgid "Custom palette"
msgstr "Pašrocīgā palete"
-#: ../gtk/gtksettings.c:1273
+#: ../gtk/gtksettings.c:1264
+#: ../gtk/gtksettings.c:1261
msgid "Palette to use in the color selector"
msgstr "Palete, ko lietot krāsu izvēlētājā"
-#: ../gtk/gtksettings.c:1281
+#: ../gtk/gtksettings.c:1272
+#: ../gtk/gtksettings.c:1269
msgid "IM Preedit style"
-msgstr "IM Pirmsrediģēšanas stils"
+msgstr "TZ pirmsrediģēšanas stils"
-#: ../gtk/gtksettings.c:1282
+#: ../gtk/gtksettings.c:1273
+#: ../gtk/gtksettings.c:1270
msgid "How to draw the input method preedit string"
msgstr "Kā zīmēt ievades metodes pirmsrediģēšanas virkni"
-#: ../gtk/gtksettings.c:1291
+#: ../gtk/gtksettings.c:1282
+#: ../gtk/gtksettings.c:1279
msgid "IM Status style"
-msgstr "IM Statusa stils"
+msgstr "TZ statusa stils"
-#: ../gtk/gtksettings.c:1292
+#: ../gtk/gtksettings.c:1283
+#: ../gtk/gtksettings.c:1280
msgid "How to draw the input method statusbar"
-msgstr "Kā zīmēt ievades metodes statusjoslu"
+msgstr "Kā zīmēt ievades metodes statusa joslu"
-#: ../gtk/gtksizegroup.c:351
+#: ../gtk/gtksizegroup.c:382 ../gtk/gtktreeselection.c:130
+#: ../gtk/gtksizegroup.c:301
msgid "Mode"
msgstr "Režīms"
-#: ../gtk/gtksizegroup.c:352
+#: ../gtk/gtksizegroup.c:383
+#: ../gtk/gtksizegroup.c:302
msgid ""
"The directions in which the size group affects the requested sizes of its "
"component widgets"
"Virzieni, kādos izmēra grupa ietekmē pieprasītos izmērus tā komponentu "
"logdaļām"
-#: ../gtk/gtksizegroup.c:368
+#: ../gtk/gtksizegroup.c:399
+#: ../gtk/gtksizegroup.c:318
msgid "Ignore hidden"
msgstr "Ignorēt slēpto"
-#: ../gtk/gtksizegroup.c:369
+#: ../gtk/gtksizegroup.c:400
+#: ../gtk/gtksizegroup.c:319
msgid ""
"If TRUE, unmapped widgets are ignored when determining the size of the group"
-msgstr ""
+msgstr "Ja PATIESS, nekartētās logdaļas tiek ignorētas, kad nosaka grupas izmēru"
+#: ../gtk/gtkspinbutton.c:331
#: ../gtk/gtkspinbutton.c:328
msgid "Climb Rate"
msgstr "Kāpinājuma koeficients"
+#: ../gtk/gtkspinbutton.c:351
#: ../gtk/gtkspinbutton.c:348
msgid "Snap to Ticks"
msgstr "Aizķerties pie tikšķiem"
+#: ../gtk/gtkspinbutton.c:352
#: ../gtk/gtkspinbutton.c:349
msgid ""
"Whether erroneous values are automatically changed to a spin button's "
"nearest step increment"
msgstr ""
-"Vai kļūdainas vērtības tiek automāiski pārmainītas uz griešanās pogas tuvāko "
+"Vai kļūdainas vērtības tiek automātiski mainītas uz griešanās pogas tuvāko "
"soļa palielinājumu"
+#: ../gtk/gtkspinbutton.c:359
#: ../gtk/gtkspinbutton.c:356
msgid "Numeric"
msgstr "Skaitliska"
+#: ../gtk/gtkspinbutton.c:360
#: ../gtk/gtkspinbutton.c:357
msgid "Whether non-numeric characters should be ignored"
msgstr "Vai neciparu rakstzīmes būtu jāignorē"
+#: ../gtk/gtkspinbutton.c:367
#: ../gtk/gtkspinbutton.c:364
msgid "Wrap"
msgstr "Aplauzt"
+#: ../gtk/gtkspinbutton.c:368
#: ../gtk/gtkspinbutton.c:365
msgid "Whether a spin button should wrap upon reaching its limits"
-msgstr "Vai griešanās pogai būtu jaaplaužas, sasniedzot tās robežas"
+msgstr "Vai griešanās pogu būtu jāaplauž, sasniedzot tās robežas"
+#: ../gtk/gtkspinbutton.c:375
#: ../gtk/gtkspinbutton.c:372
msgid "Update Policy"
msgstr "Atjaunināšanas politika"
+#: ../gtk/gtkspinbutton.c:376
#: ../gtk/gtkspinbutton.c:373
msgid ""
"Whether the spin button should update always, or only when the value is legal"
msgstr ""
-"Vai griešanās pogai būtu vienmēr jāatjauninās vai tikai, kad vētība ir "
+"Vai griešanās pogai būtu vienmēr jāatjauninās vai tikai, kad vērtība ir "
"nepieļaujama"
+#: ../gtk/gtkspinbutton.c:385
#: ../gtk/gtkspinbutton.c:382
msgid "Reads the current value, or sets a new value"
msgstr "Nolasa pašreizējo vērtību vai iestata jaunu vērtību"
+#: ../gtk/gtkspinbutton.c:394
#: ../gtk/gtkspinbutton.c:391
msgid "Style of bevel around the spin button"
-msgstr "Izcilņa stils ap rotējošo pogu"
+msgstr "Apmales stils ap rotējošo pogu"
+#: ../gtk/gtkspinner.c:116
#: ../gtk/gtkspinner.c:119
-#, fuzzy
msgid "Whether the spinner is active"
-msgstr "Vai primārā ikona ir aktivizējama"
+msgstr "Vai ritenītis ir aktīvs"
+#: ../gtk/gtkstatusbar.c:183
#: ../gtk/gtkstatusbar.c:181
msgid "Style of bevel around the statusbar text"
-msgstr "Konusa stils ap statusjoslas tekstu"
+msgstr "Apmales stils ap statusa joslas tekstu"
-#: ../gtk/gtkstatusicon.c:262
+#: ../gtk/gtkstatusicon.c:293
+#: ../gtk/gtkstatusicon.c:263
msgid "The size of the icon"
msgstr "Ikonas izmērs"
-#: ../gtk/gtkstatusicon.c:272
+#: ../gtk/gtkstatusicon.c:303
+#: ../gtk/gtkstatusicon.c:273
msgid "The screen where this status icon will be displayed"
msgstr "Ekrāns, kurā tiks parādīta šī statusa ikona"
-#: ../gtk/gtkstatusicon.c:280
-#, fuzzy
+#: ../gtk/gtkstatusicon.c:311
+#: ../gtk/gtkstatusicon.c:281
msgid "Whether the status icon is visible"
msgstr "Vai statusa ikona ir redzama"
-#: ../gtk/gtkstatusicon.c:296
-#, fuzzy
+#: ../gtk/gtkstatusicon.c:327
+#: ../gtk/gtkstatusicon.c:297
msgid "Whether the status icon is embedded"
msgstr "Vai statusa ikona ir iegulta"
-#: ../gtk/gtkstatusicon.c:312 ../gtk/gtktrayicon-x11.c:126
+#: ../gtk/gtkstatusicon.c:343 ../gtk/gtktrayicon-x11.c:129
+#: ../gtk/gtkstatusicon.c:313
msgid "The orientation of the tray"
msgstr "Paplātes novietojums"
-#: ../gtk/gtkstatusicon.c:339 ../gtk/gtkwidget.c:1044
+#: ../gtk/gtkstatusicon.c:370 ../gtk/gtkwidget.c:1089
+#: ../gtk/gtkstatusicon.c:340
+#: ../gtk/gtkwidget.c:1072
msgid "Has tooltip"
msgstr "Ir paskaidre"
-#: ../gtk/gtkstatusicon.c:340
+#: ../gtk/gtkstatusicon.c:371
+#: ../gtk/gtkstatusicon.c:341
msgid "Whether this tray icon has a tooltip"
msgstr "Vai palodzes ikonai ir paskaidre"
-#: ../gtk/gtkstatusicon.c:365 ../gtk/gtkwidget.c:1065
+#: ../gtk/gtkstatusicon.c:396 ../gtk/gtkwidget.c:1110
+#: ../gtk/gtkstatusicon.c:366
+#: ../gtk/gtkwidget.c:1093
msgid "Tooltip Text"
msgstr "Paskaidres teksts"
-#: ../gtk/gtkstatusicon.c:366 ../gtk/gtkwidget.c:1066 ../gtk/gtkwidget.c:1087
+#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1111 ../gtk/gtkwidget.c:1132
+#: ../gtk/gtkstatusicon.c:367
+#: ../gtk/gtkwidget.c:1094
+#: ../gtk/gtkwidget.c:1115
msgid "The contents of the tooltip for this widget"
-msgstr "Ieraksta saturs"
+msgstr "Paskaidres saturs šai logdaļai"
-#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:1086
+#: ../gtk/gtkstatusicon.c:420 ../gtk/gtkwidget.c:1131
+#: ../gtk/gtkstatusicon.c:390
+#: ../gtk/gtkwidget.c:1114
msgid "Tooltip markup"
-msgstr "Paskaidres formatējums"
+msgstr "Paskaidres marķējums"
-#: ../gtk/gtkstatusicon.c:390
+#: ../gtk/gtkstatusicon.c:421
+#: ../gtk/gtkstatusicon.c:391
msgid "The contents of the tooltip for this tray icon"
msgstr "Palodzes ikonas paskaidres saturs"
-#: ../gtk/gtkstatusicon.c:408
-#, fuzzy
+#: ../gtk/gtkstatusicon.c:439
+#: ../gtk/gtkstatusicon.c:409
msgid "The title of this tray icon"
-msgstr "Ikonas izmērs"
+msgstr "Šīs paplātes ikonas virsraksts"
#: ../gtk/gtkstyle.c:471
msgid "Style context"
-msgstr ""
+msgstr "Stila konteksts"
#: ../gtk/gtkstyle.c:472
msgid "GtkStyleContext to get style from"
-msgstr ""
+msgstr "GtkStyleContext, no kā iegūt stilu"
-#: ../gtk/gtkstylecontext.c:547
+#: ../gtk/gtkstylecontext.c:432
+#: ../gtk/gtkstylecontext.c:546
msgid "The associated GdkScreen"
-msgstr ""
+msgstr "Asociētais GdkScreen"
-#: ../gtk/gtkstylecontext.c:553
-#, fuzzy
+#: ../gtk/gtkstylecontext.c:438
+#: ../gtk/gtkstylecontext.c:552
#| msgid "Fraction"
msgid "Direction"
-msgstr "Daļa"
+msgstr "Virziens"
-#: ../gtk/gtkstylecontext.c:554 ../gtk/gtktexttag.c:236
+#: ../gtk/gtkstylecontext.c:439 ../gtk/gtktexttag.c:269
+#: ../gtk/gtkcellrenderertext.c:358
+#: ../gtk/gtkcellrenderertext.c:366
+#: ../gtk/gtktexttag.c:261
+#: ../gtk/gtkstylecontext.c:553
+#: ../gtk/gtktexttag.c:236
msgid "Text direction"
msgstr "Teksta virziens"
-#: ../gtk/gtkswitch.c:753
-#, fuzzy
+#: ../gtk/gtkswitch.c:785
+#: ../gtk/gtkswitch.c:802
msgid "Whether the switch is on or off"
-msgstr "Vai kontakts ir iegults"
+msgstr "Vai slēdzis ir ieslēgts vai izslēgts"
-#: ../gtk/gtkswitch.c:787
-#, fuzzy
+#: ../gtk/gtkswitch.c:819
+#: ../gtk/gtkswitch.c:837
#| msgid "The minimum value of the adjustment"
msgid "The minimum width of the handle"
-msgstr "Iestatījuma minimālā vērtība"
+msgstr "Minimālais tura platums"
+#: ../gtk/gtktable.c:191
#: ../gtk/gtktable.c:157
msgid "Rows"
msgstr "Rindas"
+#: ../gtk/gtktable.c:192
#: ../gtk/gtktable.c:158
msgid "The number of rows in the table"
msgstr "Tabulas rindu skaits"
+#: ../gtk/gtktable.c:200
#: ../gtk/gtktable.c:166
msgid "Columns"
msgstr "Kolonnas"
+#: ../gtk/gtktable.c:201
+#: ../gtk/gtkgrid.c:1305
#: ../gtk/gtktable.c:167
msgid "The number of columns in the table"
msgstr "Tabulas kolonnu skaits"
+#: ../gtk/gtktable.c:228
#: ../gtk/gtktable.c:194
msgid "If TRUE, the table cells are all the same width/height"
-msgstr ""
+msgstr "Ja PATIESS, tabulas šūnas ir ar tādu pašu platumu/augstumu"
+#: ../gtk/gtktable.c:242
#: ../gtk/gtktable.c:208
msgid "Right attachment"
-msgstr "Labā piesaiste"
+msgstr "Labā piesaistne"
-#: ../gtk/gtktable.c:209
+#: ../gtk/gtktable.c:243
msgid "The column number to attach the right side of a child widget to"
msgstr "Kolonnas numurs, ko piesaistīt bērna logdaļas labajā pusē"
+#: ../gtk/gtktable.c:250
#: ../gtk/gtktable.c:216
msgid "The row number to attach the top of a child widget to"
msgstr "Rindas numurs, ko piesaistīt bērna augšas logdaļai"
+#: ../gtk/gtktable.c:256
#: ../gtk/gtktable.c:222
msgid "Bottom attachment"
-msgstr "Apakšas piesaiste"
+msgstr "Apakšas piesaistne"
+#: ../gtk/gtktable.c:263
#: ../gtk/gtktable.c:229
msgid "Horizontal options"
-msgstr "Horizontālās iespējas"
+msgstr "Horizontālās opcijas"
+#: ../gtk/gtktable.c:264
#: ../gtk/gtktable.c:230
msgid "Options specifying the horizontal behaviour of the child"
-msgstr "Iespēja, kas nosaka horizontālo bērna uzvedību"
+msgstr "Opcija, kas nosaka horizontālo bērna uzvedību"
-#: ../gtk/gtktable.c:236
+#: ../gtk/gtktable.c:270
msgid "Vertical options"
msgstr "Vertikālās iespējas"
+#: ../gtk/gtktable.c:271
#: ../gtk/gtktable.c:237
msgid "Options specifying the vertical behaviour of the child"
-msgstr "Iespējas, kas nosaka vertikālo bērna uzvedību"
+msgstr "Opcijas, kas nosaka vertikālo bērna uzvedību"
-#: ../gtk/gtktable.c:243
+#: ../gtk/gtktable.c:277
msgid "Horizontal padding"
msgstr "Horizontālā papildināšana"
+#: ../gtk/gtktable.c:278
#: ../gtk/gtktable.c:244
msgid ""
"Extra space to put between the child and its left and right neighbors, in "
"Papildus atstarpe, kuru novietot starp bērnu un tā labajiem un kreisajiem "
"kaimiņiem, pikseļos"
-#: ../gtk/gtktable.c:250
+#: ../gtk/gtktable.c:284
msgid "Vertical padding"
msgstr "Vertikālā papildināšana"
+#: ../gtk/gtktable.c:285
#: ../gtk/gtktable.c:251
msgid ""
"Extra space to put between the child and its upper and lower neighbors, in "
"Papildus vieta, ko novietot starp bērnu un tā augšējiem vai apakšējiem "
"kaimiņiem, pikseļos"
+#: ../gtk/gtktextbuffer.c:203
#: ../gtk/gtktextbuffer.c:192
msgid "Tag Table"
msgstr "Birkas tabula"
+#: ../gtk/gtktextbuffer.c:204
#: ../gtk/gtktextbuffer.c:193
msgid "Text Tag Table"
msgstr "Teksta birkas tabula"
+#: ../gtk/gtktextbuffer.c:222
#: ../gtk/gtktextbuffer.c:211
msgid "Current text of the buffer"
msgstr "Pašreizējais bufera teksts"
+#: ../gtk/gtktextbuffer.c:236
#: ../gtk/gtktextbuffer.c:225
msgid "Has selection"
msgstr "Ir izvēle"
+#: ../gtk/gtktextbuffer.c:237
#: ../gtk/gtktextbuffer.c:226
msgid "Whether the buffer has some text currently selected"
-msgstr ""
+msgstr "Vai buferī ir kāds pašlaik izvēlēts teksts"
+#: ../gtk/gtktextbuffer.c:253
#: ../gtk/gtktextbuffer.c:242
msgid "Cursor position"
-msgstr "Kursora pozīcija"
+msgstr "Kursora novietojums"
+#: ../gtk/gtktextbuffer.c:254
#: ../gtk/gtktextbuffer.c:243
msgid ""
"The position of the insert mark (as offset from the beginning of the buffer)"
-msgstr ""
+msgstr "Ievietošanas zīmes novietojums (kā nobīde no bufera sākuma)"
+#: ../gtk/gtktextbuffer.c:269
#: ../gtk/gtktextbuffer.c:258
msgid "Copy target list"
msgstr "Kopēšanas mērķu saraksts"
+#: ../gtk/gtktextbuffer.c:270
#: ../gtk/gtktextbuffer.c:259
msgid ""
"The list of targets this buffer supports for clipboard copying and DND source"
msgstr ""
+"Saraksts ar mērķiem, ko šis buferis atbalsta starpliktuves kopēšanai un DND "
+"avotam"
+#: ../gtk/gtktextbuffer.c:285
#: ../gtk/gtktextbuffer.c:274
msgid "Paste target list"
msgstr "Ielīmēšanas mērķu saraksts"
+#: ../gtk/gtktextbuffer.c:286
#: ../gtk/gtktextbuffer.c:275
msgid ""
"The list of targets this buffer supports for clipboard pasting and DND "
"destination"
msgstr ""
+"Saraksts ar mērķiem, ko šis buferis atbalsta starpliktuves kopēšanai un DND "
+"mērķiem"
+#: ../gtk/gtktextmark.c:127
#: ../gtk/gtktextmark.c:90
msgid "Mark name"
msgstr "Iezīmes nosaukums"
+#: ../gtk/gtktextmark.c:134
#: ../gtk/gtktextmark.c:97
msgid "Left gravity"
-msgstr ""
+msgstr "Kreisā gravitācija"
+#: ../gtk/gtktextmark.c:135
#: ../gtk/gtktextmark.c:98
msgid "Whether the mark has left gravity"
-msgstr ""
+msgstr "Vai iezīmei ir kreisā gravitācija"
+#: ../gtk/gtktexttag.c:189
#: ../gtk/gtktexttag.c:186
msgid "Tag name"
msgstr "Birkas nosaukums"
+#: ../gtk/gtktexttag.c:190
#: ../gtk/gtktexttag.c:187
msgid "Name used to refer to the text tag. NULL for anonymous tags"
msgstr ""
"Lietojamais nosaukums, ar kuru atsaukties uz teksta birku. NULL anonīmajām "
"birkām"
-#: ../gtk/gtktexttag.c:205
-msgid "Background color as a (possibly unallocated) GdkColor"
-msgstr "Fona krāsa kā (iespējams, nepiešķirta) GdkColor"
+#: ../gtk/gtktexttag.c:222
+#| msgid "Background color"
+msgid "Background rgba"
+msgstr "Fona rgba"
+#: ../gtk/gtktexttag.c:230
#: ../gtk/gtktexttag.c:212
msgid "Background full height"
-msgstr "Fona aizpildījuma garums"
+msgstr "Fona pilns augstums"
+#: ../gtk/gtktexttag.c:231
#: ../gtk/gtktexttag.c:213
msgid ""
"Whether the background color fills the entire line height or only the height "
"of the tagged characters"
msgstr ""
"Vai fona krāsa tiek aizpildīta visas līnijas garumā vai tikai atzīmēto "
-"rakstzimju garumā"
-
-#: ../gtk/gtktexttag.c:229
-msgid "Foreground color as a (possibly unallocated) GdkColor"
-msgstr "Priekšplāna krāsa kā (iespējams, nepiešķirta) GdkColor"
-
+"rakstzīmju garumā"
+
+#: ../gtk/gtktexttag.c:261
+#: ../gtk/gtkcellrenderertext.c:358
+#: ../gtk/gtkcellrenderertext.c:366
+#: ../gtk/gtktexttag.c:269
+#| msgid "Foreground color"
+msgid "Foreground rgba"
+msgstr "Priekšplāna rgba"
+
+#: ../gtk/gtktexttag.c:270
+#: ../gtk/gtkcellrenderertext.c:367
#: ../gtk/gtktexttag.c:237
msgid "Text direction, e.g. right-to-left or left-to-right"
msgstr "Teksta virziens, t.i., no labās puses uz kreiso vai no kreisās uz labo"
+#: ../gtk/gtktexttag.c:319
#: ../gtk/gtktexttag.c:286
msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC"
msgstr "Fonta stils kā PangoStyle, piem., PANGO_STYLE_ITALIC"
-#: ../gtk/gtktexttag.c:295
+#: ../gtk/gtktexttag.c:328
msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS"
msgstr "Fonta variants kā PangoVariant, piem., PANGO_VARIANT_SMALL_CAPS"
+#: ../gtk/gtktexttag.c:337
#: ../gtk/gtktexttag.c:304
msgid ""
"Font weight as an integer, see predefined values in PangoWeight; for "
"example, PANGO_WEIGHT_BOLD"
msgstr ""
-"Fonta svars kā veselums, apskati pirmsnoteiktās vērtības iekš PangoWeight; "
-"piemēram, PANGO_WEIGHT_BOLD"
+"Fonta svars kā veselums, apskati iepriekš noteiktās vērtības iekš "
+"PangoWeight; piemēram, PANGO_WEIGHT_BOLD"
+#: ../gtk/gtktexttag.c:348
#: ../gtk/gtktexttag.c:315
msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED"
msgstr "Fonta izstiepums kā PangoStretch, piem., PANGO_STRETCH_CONDENSED"
+#: ../gtk/gtktexttag.c:357
#: ../gtk/gtktexttag.c:324
msgid "Font size in Pango units"
msgstr "Fonta izmērs Pango vienībās"
+#: ../gtk/gtktexttag.c:367
#: ../gtk/gtktexttag.c:334
msgid ""
"Font size as a scale factor relative to the default font size. This properly "
"adapts to theme changes etc. so is recommended. Pango predefines some scales "
"such as PANGO_SCALE_X_LARGE"
msgstr ""
-"Fonta izmērs kā mērogojams faktors attiecībā pret noklusēto fotna izmēru. Šī "
+"Fonta izmērs kā mērogojams faktors attiecībā pret noklusēto fonta izmēru. Šī "
"īpašība piemērojas tēmas izmaiņām utt., tāpēc tiek rekomendēts. Pango "
-"pirmsnosaka dažus mērogus, tādas kā PANGO_SCALE_X_LARGE"
+"iepriekš nosaka dažus mērogus, tādas kā PANGO_SCALE_X_LARGE"
-#: ../gtk/gtktexttag.c:354 ../gtk/gtktextview.c:702
+#: ../gtk/gtktexttag.c:387 ../gtk/gtktextview.c:704
+#: ../gtk/gtktexttag.c:354
+#: ../gtk/gtktextview.c:702
msgid "Left, right, or center justification"
msgstr "Pa labi, kreisi vai centrēts izlīdzinājums"
+#: ../gtk/gtktexttag.c:406
#: ../gtk/gtktexttag.c:373
msgid ""
"The language this text is in, as an ISO code. Pango can use this as a hint "
"renderē tekstu. Ja tas nav iestatīts, tad piemērotākais pēc noklusējuma tiks "
"izmantots."
+#: ../gtk/gtktexttag.c:413
#: ../gtk/gtktexttag.c:380
msgid "Left margin"
msgstr "Kreisā mala"
-#: ../gtk/gtktexttag.c:381 ../gtk/gtktextview.c:711
+#: ../gtk/gtktexttag.c:414 ../gtk/gtktextview.c:713
+#: ../gtk/gtktexttag.c:381
+#: ../gtk/gtktextview.c:711
msgid "Width of the left margin in pixels"
msgstr "Atkāpe no kreisās malas pikseļos"
+#: ../gtk/gtktexttag.c:423
#: ../gtk/gtktexttag.c:390
+#: ../gtk/gtktextview.c:655
msgid "Right margin"
msgstr "Labā mala"
-#: ../gtk/gtktexttag.c:391 ../gtk/gtktextview.c:721
+#: ../gtk/gtktexttag.c:424 ../gtk/gtktextview.c:723
+#: ../gtk/gtktexttag.c:391
+#: ../gtk/gtktextview.c:721
msgid "Width of the right margin in pixels"
msgstr "Atkāpe no labās puses pikseļos"
-#: ../gtk/gtktexttag.c:401 ../gtk/gtktextview.c:730
+#: ../gtk/gtktexttag.c:434 ../gtk/gtktextview.c:732
+#: ../gtk/gtktexttag.c:401
+#: ../gtk/gtktextview.c:730
msgid "Indent"
msgstr "Atkāpe"
-#: ../gtk/gtktexttag.c:402 ../gtk/gtktextview.c:731
+#: ../gtk/gtktexttag.c:435 ../gtk/gtktextview.c:733
+#: ../gtk/gtktexttag.c:402
+#: ../gtk/gtktextview.c:731
msgid "Amount to indent the paragraph, in pixels"
msgstr "Daudzums pikseļos, kādā veidot atkāpi rindkopai"
-#: ../gtk/gtktexttag.c:413
+#: ../gtk/gtktexttag.c:446
msgid ""
"Offset of text above the baseline (below the baseline if rise is negative) "
"in Pango units"
"Teksta nobīde virs bāzes līnijas (zem līnijas, ja pacēlums ir negatīvs) "
"Pango vienībās"
+#: ../gtk/gtktexttag.c:455
#: ../gtk/gtktexttag.c:422
msgid "Pixels above lines"
msgstr "Pikseļi virs rindiņām"
-#: ../gtk/gtktexttag.c:423 ../gtk/gtktextview.c:655
+#: ../gtk/gtktexttag.c:456 ../gtk/gtktextview.c:657
+#: ../gtk/gtktexttag.c:423
+#: ../gtk/gtktextview.c:655
msgid "Pixels of blank space above paragraphs"
msgstr "Tukšas vietas pikseļi virs rindkopām"
+#: ../gtk/gtktexttag.c:465
#: ../gtk/gtktexttag.c:432
msgid "Pixels below lines"
msgstr "Pikseļi zem rindiņām"
-#: ../gtk/gtktexttag.c:433 ../gtk/gtktextview.c:665
+#: ../gtk/gtktexttag.c:466 ../gtk/gtktextview.c:667
+#: ../gtk/gtktexttag.c:433
+#: ../gtk/gtktextview.c:665
msgid "Pixels of blank space below paragraphs"
msgstr "Tukšas vietas pikseļi zem rindkopām"
+#: ../gtk/gtktexttag.c:475
#: ../gtk/gtktexttag.c:442
msgid "Pixels inside wrap"
-msgstr "Pikseļu iekšpusē iekļaušana"
+msgstr "Pikseļu iekšpus aplaušanas"
-#: ../gtk/gtktexttag.c:443 ../gtk/gtktextview.c:675
+#: ../gtk/gtktexttag.c:476 ../gtk/gtktextview.c:677
+#: ../gtk/gtktexttag.c:443
+#: ../gtk/gtktextview.c:675
msgid "Pixels of blank space between wrapped lines in a paragraph"
msgstr "Pikseļu daudzums atstarpē starp aplauztām rindiņām paragrāfā"
-#: ../gtk/gtktexttag.c:470 ../gtk/gtktextview.c:693
+#: ../gtk/gtktexttag.c:503 ../gtk/gtktextview.c:695
+#: ../gtk/gtktexttag.c:470
+#: ../gtk/gtktextview.c:693
msgid ""
"Whether to wrap lines never, at word boundaries, or at character boundaries"
msgstr "Vai aplauzt rindiņas nekad, vārdu robežās vai rakstzīmju robežās"
-#: ../gtk/gtktexttag.c:479 ../gtk/gtktextview.c:740
+#: ../gtk/gtktexttag.c:512 ../gtk/gtktextview.c:742
+#: ../gtk/gtktexttag.c:479
+#: ../gtk/gtktextview.c:740
msgid "Tabs"
-msgstr "Tabuācijas"
+msgstr "Tabulācijas"
-#: ../gtk/gtktexttag.c:480 ../gtk/gtktextview.c:741
+#: ../gtk/gtktexttag.c:513 ../gtk/gtktextview.c:743
+#: ../gtk/gtktexttag.c:480
+#: ../gtk/gtktextview.c:741
msgid "Custom tabs for this text"
msgstr "Pašrocīgas tabulācijas šim tekstam"
+#: ../gtk/gtktexttag.c:531
#: ../gtk/gtktexttag.c:498
msgid "Invisible"
msgstr "Neredzams"
+#: ../gtk/gtktexttag.c:532
#: ../gtk/gtktexttag.c:499
msgid "Whether this text is hidden."
msgstr "Vai šis teksts ir slēpts."
-#: ../gtk/gtktexttag.c:513
+#: ../gtk/gtktexttag.c:546
msgid "Paragraph background color name"
msgstr "Paragrāfa fona krāsas nosaukums"
+#: ../gtk/gtktexttag.c:547
#: ../gtk/gtktexttag.c:514
msgid "Paragraph background color as a string"
-msgstr "Paragrāfa fona krāsa kā virkne"
+msgstr "Rindkopas fona krāsa kā virkne"
+#: ../gtk/gtktexttag.c:561
#: ../gtk/gtktexttag.c:529
msgid "Paragraph background color"
-msgstr "Paragrāfa fona krāsa"
-
-#: ../gtk/gtktexttag.c:530
-msgid "Paragraph background color as a (possibly unallocated) GdkColor"
-msgstr "Paragrāfa fona krāsa kā (iespējams nenovietota) GdkColor"
+msgstr "Rindkopas fona krāsa"
+#: ../gtk/gtktexttag.c:562
+#| msgid "Paragraph background color as a string"
+msgid "Paragraph background color as a GdkColor"
+msgstr "Rindkopas fona krāsa kā GdkColor"
+
+#: ../gtk/gtktexttag.c:576
+#| msgid "Paragraph background color"
+msgid "Paragraph background rgba"
+msgstr "Rindkopas fons"
+
+#: ../gtk/gtktexttag.c:577
+#| msgid "Paragraph background color as a string"
+msgid "Paragraph background rgba as a GdkRGBA"
+msgstr "Paragrāfa fona rgba kā GdkRGBA"
+
+#: ../gtk/gtktexttag.c:595
+#: ../gtk/gtkcellrenderertext.c:651
#: ../gtk/gtktexttag.c:548
msgid "Margin Accumulates"
-msgstr ""
+msgstr "Malu akumulācija"
+#: ../gtk/gtktexttag.c:596
#: ../gtk/gtktexttag.c:549
msgid "Whether left and right margins accumulate."
-msgstr ""
+msgstr "Vai kreisā un labā mala akumulējas."
-#: ../gtk/gtktexttag.c:562
+#: ../gtk/gtktexttag.c:609
msgid "Background full height set"
msgstr "Fona pilna augstuma iestādījums"
+#: ../gtk/gtktexttag.c:610
#: ../gtk/gtktexttag.c:563
msgid "Whether this tag affects background height"
msgstr "Vai šis birka ietekmē fona augstumu"
+#: ../gtk/gtktexttag.c:649
#: ../gtk/gtktexttag.c:602
msgid "Justification set"
-msgstr "Izlīdzinājuma iestādījums"
+msgstr "Izlīdzinājuma iestatījums"
+#: ../gtk/gtktexttag.c:650
#: ../gtk/gtktexttag.c:603
msgid "Whether this tag affects paragraph justification"
msgstr "Vai šis birka ietekmē rindkopu izlīdzināšanu"
-#: ../gtk/gtktexttag.c:610
+#: ../gtk/gtktexttag.c:657
msgid "Left margin set"
msgstr "Kreisās malas iestādījums"
+#: ../gtk/gtktexttag.c:658
#: ../gtk/gtktexttag.c:611
msgid "Whether this tag affects the left margin"
msgstr "Vai šis birka ietekmē kreiso malu"
-#: ../gtk/gtktexttag.c:614
+#: ../gtk/gtktexttag.c:661
msgid "Indent set"
msgstr "Atkāpes iestādījums"
+#: ../gtk/gtktexttag.c:662
#: ../gtk/gtktexttag.c:615
msgid "Whether this tag affects indentation"
msgstr "Vai šis birka ietekmē atkāpes"
-#: ../gtk/gtktexttag.c:622
+#: ../gtk/gtktexttag.c:669
msgid "Pixels above lines set"
msgstr "Pikseļu virs rindiņām iestādījums"
-#: ../gtk/gtktexttag.c:623 ../gtk/gtktexttag.c:627
+#: ../gtk/gtktexttag.c:670 ../gtk/gtktexttag.c:674
+#: ../gtk/gtktexttag.c:623
+#: ../gtk/gtktexttag.c:627
msgid "Whether this tag affects the number of pixels above lines"
msgstr "Vai šis birka ietekmē pikseļu skaitu virs rindiņām"
-#: ../gtk/gtktexttag.c:626
+#: ../gtk/gtktexttag.c:673
msgid "Pixels below lines set"
msgstr "Pikseļu zem rindiņām iestādījums"
-#: ../gtk/gtktexttag.c:630
+#: ../gtk/gtktexttag.c:677
msgid "Pixels inside wrap set"
msgstr "Pikseļu iekšpusē iekļaušanas iestādījums"
+#: ../gtk/gtktexttag.c:678
#: ../gtk/gtktexttag.c:631
msgid "Whether this tag affects the number of pixels between wrapped lines"
msgstr "Vai šis birka ietekmē pikseļu daudzumu starp aplauztām rindiņām"
-#: ../gtk/gtktexttag.c:638
+#: ../gtk/gtktexttag.c:685
msgid "Right margin set"
msgstr "Labās malas iestādījums"
+#: ../gtk/gtktexttag.c:686
#: ../gtk/gtktexttag.c:639
msgid "Whether this tag affects the right margin"
msgstr "Vai šis birka ietekmē labo malu"
-#: ../gtk/gtktexttag.c:646
+#: ../gtk/gtktexttag.c:693
msgid "Wrap mode set"
msgstr "Aplaušanas režīma iestādījums"
+#: ../gtk/gtktexttag.c:694
#: ../gtk/gtktexttag.c:647
msgid "Whether this tag affects line wrap mode"
msgstr "Vai šis birka ietekmē rindiņu aplaušanas režīmu"
-#: ../gtk/gtktexttag.c:650
+#: ../gtk/gtktexttag.c:697
msgid "Tabs set"
msgstr "Tabulācijas iestādījums"
+#: ../gtk/gtktexttag.c:698
#: ../gtk/gtktexttag.c:651
msgid "Whether this tag affects tabs"
msgstr "Vai šis birka ietekmē tabulācijas"
-#: ../gtk/gtktexttag.c:654
+#: ../gtk/gtktexttag.c:701
msgid "Invisible set"
msgstr "Neredzamības iestādījums"
+#: ../gtk/gtktexttag.c:702
#: ../gtk/gtktexttag.c:655
msgid "Whether this tag affects text visibility"
msgstr "Vai šis birka ietekmē teksta redzamību"
-#: ../gtk/gtktexttag.c:658
+#: ../gtk/gtktexttag.c:705
msgid "Paragraph background set"
msgstr "Paragrāfa fona iestatījums"
+#: ../gtk/gtktexttag.c:706
#: ../gtk/gtktexttag.c:659
msgid "Whether this tag affects the paragraph background color"
-msgstr "Vai šī birka ietekmē paragrāfa fona krāsu"
+msgstr "Vai šī birka ietekmē rindkopas fona krāsu"
+#: ../gtk/gtktextview.c:656
#: ../gtk/gtktextview.c:654
msgid "Pixels Above Lines"
-msgstr "Pikseļi Virs Rindiņām"
+msgstr "Pikseļi virs rindiņām"
+#: ../gtk/gtktextview.c:666
#: ../gtk/gtktextview.c:664
msgid "Pixels Below Lines"
-msgstr "Pikseļi Zem Rindiņām"
+msgstr "Pikseļi zem rindiņām"
+#: ../gtk/gtktextview.c:676
#: ../gtk/gtktextview.c:674
msgid "Pixels Inside Wrap"
-msgstr "Pikseļu Iekšpusē Iekļaušana"
+msgstr "Pikseļu iekšpus aplaušanas"
+#: ../gtk/gtktextview.c:694
#: ../gtk/gtktextview.c:692
msgid "Wrap Mode"
-msgstr "Aplaušanas Režīms"
+msgstr "Aplaušanas režīms"
+#: ../gtk/gtktextview.c:712
#: ../gtk/gtktextview.c:710
msgid "Left Margin"
-msgstr "Kreisā Mala"
+msgstr "Kreisā mala"
+#: ../gtk/gtktextview.c:722
#: ../gtk/gtktextview.c:720
msgid "Right Margin"
-msgstr "Labā Mala"
+msgstr "Labā mala"
+#: ../gtk/gtktextview.c:750
#: ../gtk/gtktextview.c:748
msgid "Cursor Visible"
-msgstr "Kursors Redzams"
+msgstr "Kursors redzams"
+#: ../gtk/gtktextview.c:751
#: ../gtk/gtktextview.c:749
msgid "If the insertion cursor is shown"
msgstr "Vai ievietošanas kursors tiek parādīts"
+#: ../gtk/gtktextview.c:758
#: ../gtk/gtktextview.c:756
msgid "Buffer"
msgstr "Buferis"
+#: ../gtk/gtktextview.c:759
#: ../gtk/gtktextview.c:757
msgid "The buffer which is displayed"
msgstr "Attēlotais buferis"
+#: ../gtk/gtktextview.c:767
#: ../gtk/gtktextview.c:765
msgid "Whether entered text overwrites existing contents"
msgstr "Vai ievadītais teksts pārrakstīsies pāri esošajam saturam"
+#: ../gtk/gtktextview.c:774
#: ../gtk/gtktextview.c:772
msgid "Accepts tab"
msgstr "Pieņem cilni"
+#: ../gtk/gtktextview.c:775
#: ../gtk/gtktextview.c:773
msgid "Whether Tab will result in a tab character being entered"
msgstr "Vai cilnis parādīsies, kad cilnī ievadīs rakstzīmi"
+#: ../gtk/gtktextview.c:810
#: ../gtk/gtktextview.c:808
msgid "Error underline color"
msgstr "Kļūdas pasvītrojuma krāsa"
+#: ../gtk/gtktextview.c:811
#: ../gtk/gtktextview.c:809
msgid "Color with which to draw error-indication underlines"
-msgstr ""
+msgstr "Krāsa, kādā zīmēt kļūdu norādošu pasvītrojumu"
+#: ../gtk/gtkthemingengine.c:259
#: ../gtk/gtkthemingengine.c:249
-#, fuzzy
#| msgid "Theme Name"
msgid "Theming engine name"
-msgstr "Tēmas Nosaukums"
+msgstr "Tēmas dzinēja nosaukums"
#: ../gtk/gtktoggleaction.c:118
msgid "Create the same proxies as a radio action"
msgstr "Vai starpnieki šai darbībai izskatās pēc radio darbību starpniekiem"
#: ../gtk/gtktoggleaction.c:134
-#, fuzzy
msgid "Whether the toggle action should be active"
-msgstr "Vai atlasei būtu jaseko norādei"
+msgstr "Vai pārslēgšanas darbībai jābūt aktīvai"
-#: ../gtk/gtktogglebutton.c:126 ../gtk/gtktoggletoolbutton.c:113
-#, fuzzy
+#: ../gtk/gtktogglebutton.c:179 ../gtk/gtktoggletoolbutton.c:128
+#: ../gtk/gtktogglebutton.c:126
+#: ../gtk/gtktoggletoolbutton.c:113
msgid "If the toggle button should be pressed in"
-msgstr "Ja slēgšanas pogai jābūt nospiestai vai nav"
+msgstr "Vai pārslēgšanas pogai jābūt nospiestai"
+#: ../gtk/gtktogglebutton.c:187
#: ../gtk/gtktogglebutton.c:134
msgid "If the toggle button is in an \"in between\" state"
msgstr "Ja slēgšanas poga ir \"starp\" stāvoklī"
+#: ../gtk/gtktogglebutton.c:194
#: ../gtk/gtktogglebutton.c:141
msgid "Draw Indicator"
-msgstr "Zīmēt Indikatoru"
+msgstr "Zīmēt indikatoru"
+#: ../gtk/gtktogglebutton.c:195
#: ../gtk/gtktogglebutton.c:142
msgid "If the toggle part of the button is displayed"
-msgstr "Ja pogas slēdzamā daļa tiek parādīta"
+msgstr "Ja pogas pārslēgšanas daļa tiek parādīta"
-#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1069
+#: ../gtk/gtktoolbar.c:499 ../gtk/gtktoolpalette.c:1038
+#: ../gtk/gtktoolbar.c:489
+#: ../gtk/gtktoolpalette.c:1069
msgid "Toolbar Style"
-msgstr "Rīkjoslas Stils"
+msgstr "Rīkjoslas stils"
+#: ../gtk/gtktoolbar.c:500
#: ../gtk/gtktoolbar.c:490
msgid "How to draw the toolbar"
msgstr "Kā zīmēt rīkjoslu"
+#: ../gtk/gtktoolbar.c:507
#: ../gtk/gtktoolbar.c:497
msgid "Show Arrow"
msgstr "Rādīt bultu"
+#: ../gtk/gtktoolbar.c:508
#: ../gtk/gtktoolbar.c:498
msgid "If an arrow should be shown if the toolbar doesn't fit"
msgstr "Vai jārāda bulta, ja rīkjosla neietilpst"
+#: ../gtk/gtktoolbar.c:529
#: ../gtk/gtktoolbar.c:519
msgid "Size of icons in this toolbar"
msgstr "Šīs rīkjoslas ikonu izmērs"
-#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1055
+#: ../gtk/gtktoolbar.c:544 ../gtk/gtktoolpalette.c:1024
+#: ../gtk/gtktoolbar.c:534
+#: ../gtk/gtktoolpalette.c:1055
msgid "Icon size set"
-msgstr "Ikonu izmēra kopa"
+msgstr "Ikonu izmēra iestatīšana"
-#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1056
+#: ../gtk/gtktoolbar.c:545 ../gtk/gtktoolpalette.c:1025
+#: ../gtk/gtktoolbar.c:535
+#: ../gtk/gtktoolpalette.c:1056
msgid "Whether the icon-size property has been set"
msgstr "Vai ir iestatīta ikonu izmēra vērtība"
-#: ../gtk/gtktoolbar.c:544
+#: ../gtk/gtktoolbar.c:554
msgid "Whether the item should receive extra space when the toolbar grows"
msgstr "Vai priekšmetam būtu jāsaņem papildus vieta, kad rīkjosla aug"
-#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1650
+#: ../gtk/gtktoolbar.c:562 ../gtk/gtktoolitemgroup.c:1646
+#: ../gtk/gtktoolbar.c:552
+#: ../gtk/gtktoolitemgroup.c:1650
msgid "Whether the item should be the same size as other homogeneous items"
-msgstr "Vai prieksmetam vajadzētu būt vienādā izmērā ar līdzīgiem priekšmetiem"
+msgstr "Vai priekšmetam vajadzētu būt vienādā izmērā ar līdzīgiem priekšmetiem"
+#: ../gtk/gtktoolbar.c:569
#: ../gtk/gtktoolbar.c:559
msgid "Spacer size"
msgstr "Starpinātāja izmērs"
+#: ../gtk/gtktoolbar.c:570
#: ../gtk/gtktoolbar.c:560
msgid "Size of spacers"
msgstr "Starpinātāju izmērs"
-#: ../gtk/gtktoolbar.c:569
+#: ../gtk/gtktoolbar.c:579
msgid "Amount of border space between the toolbar shadow and the buttons"
msgstr "Robežas atstarpes apjoms starp rīkjoslas ēnu un pogām"
+#: ../gtk/gtktoolbar.c:587
#: ../gtk/gtktoolbar.c:577
msgid "Maximum child expand"
-msgstr "Maksimālā bērna izplešana"
+msgstr "Maksimālā bērna izvēršana"
-#: ../gtk/gtktoolbar.c:578
+#: ../gtk/gtktoolbar.c:588
msgid "Maximum amount of space an expandable item will be given"
-msgstr ""
+msgstr "Maksimālais vietas daudzums, kas tiks dots izvēršamam priekšmetam"
+#: ../gtk/gtktoolbar.c:596
#: ../gtk/gtktoolbar.c:586
msgid "Space style"
msgstr "Atstarpes stils"
-#: ../gtk/gtktoolbar.c:587
+#: ../gtk/gtktoolbar.c:597
msgid "Whether spacers are vertical lines or just blank"
msgstr "Vai atstarpes ir virtikālas līnijas vai tikai tukšumi"
+#: ../gtk/gtktoolbar.c:604
#: ../gtk/gtktoolbar.c:594
msgid "Button relief"
msgstr "Pogas reljefs"
+#: ../gtk/gtktoolbar.c:605
#: ../gtk/gtktoolbar.c:595
msgid "Type of bevel around toolbar buttons"
-msgstr "Konusa tips ap rīkjoslas pogām"
+msgstr "Apmales tips ap rīkjoslas pogām"
+#: ../gtk/gtktoolbar.c:612
#: ../gtk/gtktoolbar.c:602
msgid "Style of bevel around the toolbar"
-msgstr "Konusa tips ap rīkjoslu"
+msgstr "Apmales tips ap rīkjoslu"
+#: ../gtk/gtktoolbutton.c:233
#: ../gtk/gtktoolbutton.c:202
msgid "Text to show in the item."
msgstr "Teksts, ko rādīt priekšmetā."
+#: ../gtk/gtktoolbutton.c:240
#: ../gtk/gtktoolbutton.c:209
msgid ""
"If set, an underline in the label property indicates that the next character "
"should be used for the mnemonic accelerator key in the overflow menu"
msgstr ""
-"Ja iestatīts, zemsvītra etiķetē norāda, ka nākamais simbols tiks izmantots "
-"kā mnemoniska paātrinājuma atslēga pārpildes izvēlnē"
+"Ja iestatīts, zemsvītra iezīmē norāda, ka nākamais simbols tiks izmantots kā "
+"mnemoniska paātrinājuma atslēga pārpildes izvēlnē"
+#: ../gtk/gtktoolbutton.c:247
#: ../gtk/gtktoolbutton.c:216
msgid "Widget to use as the item label"
-msgstr "Logdaļa, ko lietot kā priekšmeta etiķeti"
+msgstr "Logdaļa, ko lietot kā priekšmeta iezīmi"
+#: ../gtk/gtktoolbutton.c:253
#: ../gtk/gtktoolbutton.c:222
msgid "Stock Id"
msgstr "Krājuma ID"
+#: ../gtk/gtktoolbutton.c:254
#: ../gtk/gtktoolbutton.c:223
msgid "The stock icon displayed on the item"
msgstr "Priekšmeta krājuma ikona"
-#: ../gtk/gtktoolbutton.c:239
+#: ../gtk/gtktoolbutton.c:270
msgid "Icon name"
msgstr "Ikonas nosaukums"
-#: ../gtk/gtktoolbutton.c:240
+#: ../gtk/gtktoolbutton.c:271
msgid "The name of the themed icon displayed on the item"
msgstr "Priekšmeta tēmas ikonas nosaukums"
-#: ../gtk/gtktoolbutton.c:246
+#: ../gtk/gtktoolbutton.c:277
msgid "Icon widget"
msgstr "Ikonas logdaļa"
-#: ../gtk/gtktoolbutton.c:247
+#: ../gtk/gtktoolbutton.c:278
msgid "Icon widget to display in the item"
msgstr "Ikonas logdaļa, ko attēlot priekšmetā"
+#: ../gtk/gtktoolbutton.c:291
#: ../gtk/gtktoolbutton.c:260
msgid "Icon spacing"
-msgstr "Ikonu atstarpes"
+msgstr "Ikonas atstarpe"
+#: ../gtk/gtktoolbutton.c:292
#: ../gtk/gtktoolbutton.c:261
msgid "Spacing in pixels between the icon and label"
-msgstr ""
+msgstr "Atstarpe starp ikonu un iezīmi, pikseļos"
+#: ../gtk/gtktoolitem.c:209
+#: ../gtk/gtkaction.c:365
#: ../gtk/gtktoolitem.c:210
msgid ""
"Whether the toolbar item is considered important. When TRUE, toolbar buttons "
"show text in GTK_TOOLBAR_BOTH_HORIZ mode"
msgstr ""
-"Vai rīksjoslas sadaļa ir jāuzskata par nopietnu. Ja PATIESS, rīkjoslas "
-"pogas, rada tekstu GTK_TOOLBAR_BOTH_HORIZ režīmā"
+"Vai rīkjoslas sadaļa ir jāuzskata par svarīgu. Ja PATIESS, rīkjoslas pogas, "
+"rada tekstu GTK_TOOLBAR_BOTH_HORIZ režīmā"
+#: ../gtk/gtktoolitemgroup.c:1593
#: ../gtk/gtktoolitemgroup.c:1597
-#, fuzzy
msgid "The human-readable title of this item group"
-msgstr "Ikonas izmērs"
+msgstr "Cilvēkam lasāmas šīs priekšmetu grupas virsraksts"
+#: ../gtk/gtktoolitemgroup.c:1600
#: ../gtk/gtktoolitemgroup.c:1604
-#, fuzzy
msgid "A widget to display in place of the usual label"
-msgstr "Logdaļa, ko attēlot parasta rāmja iezīmes vietā"
+msgstr "Logdaļa, ko attēlot parastās iezīmes vietā"
+#: ../gtk/gtktoolitemgroup.c:1606
#: ../gtk/gtktoolitemgroup.c:1610
msgid "Collapsed"
-msgstr ""
+msgstr "Sakļauts"
+#: ../gtk/gtktoolitemgroup.c:1607
#: ../gtk/gtktoolitemgroup.c:1611
-#, fuzzy
msgid "Whether the group has been collapsed and items are hidden"
-msgstr "Vai paplašinātājs ir bijis atvērts, atklājot bērna logdaļu"
+msgstr "Vai grupa ir sakļauta un priekšmeti paslēpti"
+#: ../gtk/gtktoolitemgroup.c:1613
#: ../gtk/gtktoolitemgroup.c:1617
-#, fuzzy
msgid "ellipsize"
-msgstr "Eliptizēt"
+msgstr "īsināt ar daudzpunkti"
+#: ../gtk/gtktoolitemgroup.c:1614
#: ../gtk/gtktoolitemgroup.c:1618
msgid "Ellipsize for item group headers"
-msgstr ""
+msgstr "Īsināt ar daudzpunkti priekšmeta grupas galvenei"
+#: ../gtk/gtktoolitemgroup.c:1620
#: ../gtk/gtktoolitemgroup.c:1624
-#, fuzzy
msgid "Header Relief"
-msgstr "Galvenes attēls"
+msgstr "Galvenes reljefs"
+#: ../gtk/gtktoolitemgroup.c:1621
#: ../gtk/gtktoolitemgroup.c:1625
-#, fuzzy
msgid "Relief of the group header button"
-msgstr "Rādīt kolonnas galvenes pogas"
+msgstr "Grupas galvenes pogas reljefs"
+#: ../gtk/gtktoolitemgroup.c:1636
#: ../gtk/gtktoolitemgroup.c:1640
-#, fuzzy
msgid "Header Spacing"
-msgstr "Galvenes papildinājums"
+msgstr "Galvenes atstarpes"
+#: ../gtk/gtktoolitemgroup.c:1637
#: ../gtk/gtktoolitemgroup.c:1641
-#, fuzzy
msgid "Spacing between expander arrow and caption"
-msgstr "Atstarpes ap izvērsēja bultu"
+msgstr "Atstarpes starp izvērsēja bultu un parakstu"
+#: ../gtk/gtktoolitemgroup.c:1653
#: ../gtk/gtktoolitemgroup.c:1657
-#, fuzzy
msgid "Whether the item should receive extra space when the group grows"
-msgstr "Vai priekšmetam būtu jāsaņem papildus vieta, kad rīkjosla aug"
+msgstr "Vai priekšmetam būtu jāsaņem papildus vieta, kad grupa aug"
+#: ../gtk/gtktoolitemgroup.c:1660
#: ../gtk/gtktoolitemgroup.c:1664
-#, fuzzy
msgid "Whether the item should fill the available space"
-msgstr "Vai visiem bērniem jabūt pēc viena izmēra"
+msgstr "Vai priekšmetiem būtu jāaizņem pieejamā vieta"
+#: ../gtk/gtktoolitemgroup.c:1666
#: ../gtk/gtktoolitemgroup.c:1670
msgid "New Row"
-msgstr ""
+msgstr "Jauna rinda"
+#: ../gtk/gtktoolitemgroup.c:1667
#: ../gtk/gtktoolitemgroup.c:1671
-#, fuzzy
msgid "Whether the item should start a new row"
-msgstr "Vai izvēlnes priekšmetu rādīt ar numuru"
+msgstr "Vai priekšmetam vajadzētu sākt jaunu rindu"
+#: ../gtk/gtktoolitemgroup.c:1674
#: ../gtk/gtktoolitemgroup.c:1678
-#, fuzzy
msgid "Position of the item within this group"
-msgstr "Atzīmes pozīcija uz mērjoslas"
+msgstr "Priekšmeta novietojums šajā grupā"
+#: ../gtk/gtktoolpalette.c:1009
#: ../gtk/gtktoolpalette.c:1040
-#, fuzzy
msgid "Size of icons in this tool palette"
-msgstr "Šīs rīkjoslas ikonu izmērs"
+msgstr "Ikonu izmērs rīku paletē"
-#: ../gtk/gtktoolpalette.c:1070
-#, fuzzy
+#: ../gtk/gtktoolpalette.c:1039
+#: ../gtk/gtkimage.c:269
+#: ../gtk/gtkscalebutton.c:227
+#: ../gtk/gtktoolbar.c:518
msgid "Style of items in the tool palette"
-msgstr "Konusa tips ap rīkjoslu"
+msgstr "Priekšmetu stils rīku paletē"
+#: ../gtk/gtktoolpalette.c:1055
+#: ../gtk/gtktoolbar.c:534
#: ../gtk/gtktoolpalette.c:1086
msgid "Exclusive"
-msgstr ""
+msgstr "Ekskluzīvs"
+#: ../gtk/gtktoolpalette.c:1056
+#: ../gtk/gtktoolbar.c:535
#: ../gtk/gtktoolpalette.c:1087
-#, fuzzy
msgid "Whether the item group should be the only expanded at a given time"
-msgstr "Vai izvēlnes priekšmetu rādīt ar numuru"
+msgstr ""
+"Vai priekšmetu grupai vajadzētu būt vienīgajai izvērstai vienā laika momentā"
+#: ../gtk/gtktoolpalette.c:1071
#: ../gtk/gtktoolpalette.c:1102
-#, fuzzy
-msgid ""
-"Whether the item group should receive extra space when the palette grows"
-msgstr "Vai bērnam būtu jāsaņem papildus vieta, ja vecāks pieaug"
+msgid "Whether the item group should receive extra space when the palette grows"
+msgstr "Vai priekšmetu grupai būtu jāsaņem papildus vieta, kad palete aug"
-#: ../gtk/gtktrayicon-x11.c:135
-#, fuzzy
+#: ../gtk/gtktrayicon-x11.c:138
msgid "Foreground color for symbolic icons"
-msgstr "Priekšplāna krāsa kā virkne"
+msgstr "Priekšplāna krāsa simboliskām ikonām"
-#: ../gtk/gtktrayicon-x11.c:142
-#, fuzzy
+#: ../gtk/gtktrayicon-x11.c:145
msgid "Error color"
-msgstr "Kursora krāsa"
+msgstr "Kļūdas krāsa"
-#: ../gtk/gtktrayicon-x11.c:143
+#: ../gtk/gtktrayicon-x11.c:146
msgid "Error color for symbolic icons"
-msgstr ""
+msgstr "Kļūdas krāsas simboliskām ikonām"
-#: ../gtk/gtktrayicon-x11.c:150
-#, fuzzy
+#: ../gtk/gtktrayicon-x11.c:153
msgid "Warning color"
-msgstr "Fona krāsa"
+msgstr "Brīdinājuma krāsa"
-#: ../gtk/gtktrayicon-x11.c:151
+#: ../gtk/gtktrayicon-x11.c:154
msgid "Warning color for symbolic icons"
-msgstr ""
+msgstr "Brīdinājuma krāsa simboliskām ikonām"
-#: ../gtk/gtktrayicon-x11.c:158
-#, fuzzy
+#: ../gtk/gtktrayicon-x11.c:161
msgid "Success color"
-msgstr "Kursora krāsa"
+msgstr "Veiksmes krāsa"
-#: ../gtk/gtktrayicon-x11.c:159
+#: ../gtk/gtktrayicon-x11.c:162
msgid "Success color for symbolic icons"
-msgstr ""
+msgstr "Veiksmes krāsa simboliskām ikonām"
-#: ../gtk/gtktrayicon-x11.c:167
-#, fuzzy
+#: ../gtk/gtktrayicon-x11.c:170
msgid "Padding that should be put around icons in the tray"
-msgstr "Vai pie elementa rādīt ikonu"
+msgstr "Papildinājums, ko vajadzētu novietot ap ikonām paplātē"
+
+#: ../gtk/gtktrayicon-x11.c:179
+#| msgid "Icon Sizes"
+msgid "Icon Size"
+msgstr "Ikonu izmēri"
+
+#: ../gtk/gtktrayicon-x11.c:180
+msgid "The pixel size that icons should be forced to, or zero"
+msgstr "Pikseļu izmērs, kuros ikonām jāiekļaujas, vai nulle"
#: ../gtk/gtktreemenu.c:287
-#, fuzzy
#| msgid "TreeView Model"
msgid "TreeMenu model"
-msgstr "TreeView Modelis"
+msgstr "TreeMenu modelis"
#: ../gtk/gtktreemenu.c:288
-#, fuzzy
#| msgid "The model for the tree view"
msgid "The model for the tree menu"
-msgstr "Koka skata modelis"
+msgstr "Koka izvēlnes modelis"
#: ../gtk/gtktreemenu.c:310
msgid "TreeMenu root row"
-msgstr ""
+msgstr "TreeMenu saknes rinda"
#: ../gtk/gtktreemenu.c:311
msgid "The TreeMenu will display children of the specified root"
-msgstr ""
+msgstr "TreeMenu attēlos bērnus norādītajai saknei"
#: ../gtk/gtktreemenu.c:344
-#, fuzzy
#| msgid "Tearoff Title"
msgid "Tearoff"
-msgstr "Izslēgšanas Virsraksts"
+msgstr "Noplēšams"
#: ../gtk/gtktreemenu.c:345
-#, fuzzy
msgid "Whether the menu has a tearoff item"
-msgstr "Vai logdaļai ir ievades fokuss"
+msgstr "Vai izvēlnei ir noplēšams priekšmets"
#: ../gtk/gtktreemenu.c:361
-#, fuzzy
#| msgid "Wrap width"
msgid "Wrap Width"
-msgstr "Apliekuma platums"
+msgstr "Aplaušanas platums"
#: ../gtk/gtktreemenu.c:362
msgid "Wrap width for laying out items in a grid"
-msgstr ""
+msgstr "Aplaušanas platums režģī izkārtotajiem priekšmetiem"
+#: ../gtk/gtktreemodelsort.c:419
#: ../gtk/gtktreemodelsort.c:312
msgid "TreeModelSort Model"
-msgstr "TreeModelSort Modelis"
+msgstr "TreeModelSort modelis"
+#: ../gtk/gtktreemodelsort.c:420
#: ../gtk/gtktreemodelsort.c:313
msgid "The model for the TreeModelSort to sort"
-msgstr "Modelis KokaModelisKārtot, ko kārtot"
+msgstr "Modelis TreeModelSort, ko kārtot"
#: ../gtk/gtktreeview.c:985
msgid "TreeView Model"
-msgstr "TreeView Modelis"
+msgstr "TreeView modelis"
#: ../gtk/gtktreeview.c:986
msgid "The model for the tree view"
#: ../gtk/gtktreeview.c:1006
msgid "Headers Clickable"
-msgstr "Galvenes Klikšķināmas"
+msgstr "Galvenes klikšķināmas"
#: ../gtk/gtktreeview.c:1007
msgid "Column headers respond to click events"
#: ../gtk/gtktreeview.c:1014
msgid "Expander Column"
-msgstr "Paplašinātāja Kolonna"
+msgstr "Izvērsēja kolonna"
#: ../gtk/gtktreeview.c:1015
msgid "Set the column for the expander column"
-msgstr "Iestatīt kolonnu kā paplašinātāja kolonnu"
+msgstr "Iestatīt kolonnu kā izvērsēja kolonnu"
#: ../gtk/gtktreeview.c:1030
msgid "Rules Hint"
-msgstr "Robežsvītru Mājiens"
+msgstr "Robežsvītru mājiens"
#: ../gtk/gtktreeview.c:1031
msgid "Set a hint to the theme engine to draw rows in alternating colors"
-msgstr "Iestatīt mājienu tēmu dzinējam zīmēt rindas mainīgās krāsās"
+msgstr "Iestatīt mājienu tēmu dzinējam, lai tas zīmētu rindas mainīgās krāsās"
#: ../gtk/gtktreeview.c:1038
msgid "Enable Search"
-msgstr "Aktivizēt Meklēšanu"
+msgstr "Aktivizēt meklēšanu"
#: ../gtk/gtktreeview.c:1039
msgid "View allows user to search through columns interactively"
-msgstr "Skats ļauj lietotājam caurmeklēt kolonnu interaktīvi"
+msgstr "Skats ļauj lietotājam meklēt cauri kolonnām interaktīvi"
#: ../gtk/gtktreeview.c:1046
msgid "Search Column"
-msgstr "Meklēšanas Kolonna"
+msgstr "Meklēšanas kolonna"
#: ../gtk/gtktreeview.c:1047
msgid "Model column to search through during interactive search"
-msgstr ""
+msgstr "Modeļa kolonna, kurai meklēt cauri interaktīvās meklēšanas laikā"
#: ../gtk/gtktreeview.c:1067
msgid "Fixed Height Mode"
#: ../gtk/gtktreeview.c:1068
msgid "Speeds up GtkTreeView by assuming that all rows have the same height"
-msgstr ""
-"Paātrina GtkTreeView, pieņemot, ka visām rindām piemīt vienāds augstums"
+msgstr "Paātrina GtkTreeView, pieņemot, ka visām rindām piemīt vienāds augstums"
#: ../gtk/gtktreeview.c:1088
msgid "Hover Selection"
-msgstr "Svārstību atlase"
+msgstr "Virs-novietošanas atlase"
#: ../gtk/gtktreeview.c:1089
msgid "Whether the selection should follow the pointer"
-msgstr "Vai atlasei būtu jaseko norādei"
+msgstr "Vai atlasei būtu jāseko rādītājam"
#: ../gtk/gtktreeview.c:1108
msgid "Hover Expand"
-msgstr "Svārstību paplašināšanās"
+msgstr "Virs-novietošanas izvēršana"
#: ../gtk/gtktreeview.c:1109
msgid ""
"Whether rows should be expanded/collapsed when the pointer moves over them"
msgstr ""
-"Vai rindām vajadzētu paplašināties/adalīties, kad peles kursors tām pāriet "
+"Vai rindām vajadzētu izvērsties/sakļauties, kad peles kursors tām pāriet "
"pāri"
#: ../gtk/gtktreeview.c:1123
msgid "Show Expanders"
-msgstr "Rādīt izpletējus"
+msgstr "Rādīt izvērsējus"
#: ../gtk/gtktreeview.c:1124
msgid "View has expanders"
-msgstr "Skatam ir izpletēji"
+msgstr "Skatam ir izvērsēji"
#: ../gtk/gtktreeview.c:1138
msgid "Level Indentation"
-msgstr "Līmeņa atvirze"
+msgstr "Līmeņa atkāpe"
#: ../gtk/gtktreeview.c:1139
msgid "Extra indentation for each level"
-msgstr ""
+msgstr "Papildu atkāpe katram līmenim"
#: ../gtk/gtktreeview.c:1148
msgid "Rubber Banding"
-msgstr "Gumijas sasaiste"
+msgstr "Elastīgā sasaiste"
#: ../gtk/gtktreeview.c:1149
msgid ""
"Whether to enable selection of multiple items by dragging the mouse pointer"
-msgstr ""
+msgstr "Vai aktivēt izvēlēšanos no vairākiem priekšmetiem, velkot peles rādītāju"
#: ../gtk/gtktreeview.c:1156
msgid "Enable Grid Lines"
-msgstr "Aktivizēt režģa līnijas"
+msgstr "Aktivēt režģa līnijas"
#: ../gtk/gtktreeview.c:1157
msgid "Whether grid lines should be drawn in the tree view"
#: ../gtk/gtktreeview.c:1165
msgid "Enable Tree Lines"
-msgstr "Aktivizēt koka līnijas"
+msgstr "Aktivēt koka līnijas"
#: ../gtk/gtktreeview.c:1166
msgid "Whether tree lines should be drawn in the tree view"
#: ../gtk/gtktreeview.c:1174
msgid "The column in the model containing the tooltip texts for the rows"
-msgstr ""
+msgstr "Kolonna modelī, kas satur paskaidres tekstu rindām"
#: ../gtk/gtktreeview.c:1196
msgid "Vertical Separator Width"
-msgstr "Verikālā Atdalītāja Platums"
+msgstr "Vertikālā atdalītāja platums"
#: ../gtk/gtktreeview.c:1197
msgid "Vertical space between cells. Must be an even number"
#: ../gtk/gtktreeview.c:1205
msgid "Horizontal Separator Width"
-msgstr "Horizontālā Atdalītāja Platums"
+msgstr "Horizontālā atdalītāja platums"
#: ../gtk/gtktreeview.c:1206
msgid "Horizontal space between cells. Must be an even number"
#: ../gtk/gtktreeview.c:1214
msgid "Allow Rules"
-msgstr "Atļaut Robežsvītras"
+msgstr "Atļaut robežsvītras"
#: ../gtk/gtktreeview.c:1215
msgid "Allow drawing of alternating color rows"
#: ../gtk/gtktreeview.c:1221
msgid "Indent Expanders"
-msgstr "Atkāpes Paplašinātājiem"
+msgstr "Atkāpes izvērsējiem"
#: ../gtk/gtktreeview.c:1222
msgid "Make the expanders indented"
-msgstr "Salikt atkāpes paplašinātājiem"
+msgstr "Pielikt atkāpes izvērsējiem"
#: ../gtk/gtktreeview.c:1228
msgid "Even Row Color"
-msgstr "Pāra Rindas Krāsa"
+msgstr "Pāra rindu krāsa"
#: ../gtk/gtktreeview.c:1229
msgid "Color to use for even rows"
#: ../gtk/gtktreeview.c:1235
msgid "Odd Row Color"
-msgstr "Nepāra Rindas Krāsa"
+msgstr "Nepāra rindu krāsa"
#: ../gtk/gtktreeview.c:1236
msgid "Color to use for odd rows"
#: ../gtk/gtktreeview.c:1257
msgid "Dash pattern used to draw the tree view grid lines"
-msgstr "Svītru raksts, ko lietot zīmejot koka režģa līnijas"
+msgstr "Svītru raksts, ko lietot zīmējot koka režģa līnijas"
#: ../gtk/gtktreeview.c:1263
msgid "Tree line pattern"
#: ../gtk/gtktreeview.c:1264
msgid "Dash pattern used to draw the tree view lines"
-msgstr "Svītru raksts, ko lietot zīmejot koka aplūkošanas līnijas"
+msgstr "Svītru raksts, ko lietot zīmējot koka skata līnijas"
+#: ../gtk/gtktreeviewcolumn.c:249
#: ../gtk/gtktreeviewcolumn.c:247
msgid "Whether to display the column"
-msgstr "Vai parādīt kolonnu"
+msgstr "Vai rādīt kolonnu"
-#: ../gtk/gtktreeviewcolumn.c:254 ../gtk/gtkwindow.c:642
+#: ../gtk/gtktreeviewcolumn.c:256 ../gtk/gtkwindow.c:648
+#: ../gtk/gtktreeviewcolumn.c:254
+#: ../gtk/gtkwindow.c:646
msgid "Resizable"
-msgstr "Maināma"
+msgstr "Maināma izmēra"
+#: ../gtk/gtktreeviewcolumn.c:257
#: ../gtk/gtktreeviewcolumn.c:255
msgid "Column is user-resizable"
msgstr "Kolonnas lielums ir lietotājam maināms"
+#: ../gtk/gtktreeviewcolumn.c:265
+#| msgid "Current width of the column"
+msgid "Current X position of the column"
+msgstr "Pašreizējais kolonnas X pozīcija"
+
+#: ../gtk/gtktreeviewcolumn.c:275
#: ../gtk/gtktreeviewcolumn.c:263
msgid "Current width of the column"
msgstr "Pašreizējais kolonnas platums"
+#: ../gtk/gtktreeviewcolumn.c:292
#: ../gtk/gtktreeviewcolumn.c:280
msgid "Sizing"
msgstr "Lielums"
+#: ../gtk/gtktreeviewcolumn.c:293
#: ../gtk/gtktreeviewcolumn.c:281
msgid "Resize mode of the column"
msgstr "Kolonnas izmēra maiņas režīms"
+#: ../gtk/gtktreeviewcolumn.c:301
#: ../gtk/gtktreeviewcolumn.c:289
msgid "Fixed Width"
-msgstr "Fiksēts Platums"
+msgstr "Fiksēts platums"
+#: ../gtk/gtktreeviewcolumn.c:302
#: ../gtk/gtktreeviewcolumn.c:290
msgid "Current fixed width of the column"
msgstr "Pašreizējais fiksētais kolonnas platums"
+#: ../gtk/gtktreeviewcolumn.c:312
#: ../gtk/gtktreeviewcolumn.c:300
msgid "Minimum allowed width of the column"
msgstr "Kolonnas minimāli atļautais platums"
+#: ../gtk/gtktreeviewcolumn.c:321
#: ../gtk/gtktreeviewcolumn.c:309
msgid "Maximum Width"
-msgstr "Maksimālais Platums"
+msgstr "Maksimālais platums"
+#: ../gtk/gtktreeviewcolumn.c:322
#: ../gtk/gtktreeviewcolumn.c:310
msgid "Maximum allowed width of the column"
msgstr "Kolonnas maksimāli atļautais platums"
+#: ../gtk/gtktreeviewcolumn.c:332
#: ../gtk/gtktreeviewcolumn.c:320
msgid "Title to appear in column header"
msgstr "Virsraksts, kas parādās kolonnas galvenē"
+#: ../gtk/gtktreeviewcolumn.c:340
#: ../gtk/gtktreeviewcolumn.c:328
msgid "Column gets share of extra width allocated to the widget"
-msgstr "Klonna iegūst papildus brīvo platumu no logdaļas"
+msgstr "Kolonna iegūst papildus brīvo platumu no logdaļas"
+#: ../gtk/gtktreeviewcolumn.c:347
#: ../gtk/gtktreeviewcolumn.c:335
msgid "Clickable"
msgstr "Klikšķināms"
+#: ../gtk/gtktreeviewcolumn.c:348
#: ../gtk/gtktreeviewcolumn.c:336
msgid "Whether the header can be clicked"
msgstr "Vai galvene var tikt klikšķināta"
+#: ../gtk/gtktreeviewcolumn.c:356
#: ../gtk/gtktreeviewcolumn.c:344
msgid "Widget"
msgstr "Logdaļa"
+#: ../gtk/gtktreeviewcolumn.c:357
#: ../gtk/gtktreeviewcolumn.c:345
msgid "Widget to put in column header button instead of column title"
msgstr "Logdaļa, ko likt kolonnas galvenes pogā kolonnas nosaukuma vietā"
+#: ../gtk/gtktreeviewcolumn.c:365
#: ../gtk/gtktreeviewcolumn.c:353
msgid "X Alignment of the column header text or widget"
-msgstr "X Centrējums kolonnas galvenes tekstam vai logdaļai"
+msgstr "X līdzinājums kolonnas galvenes tekstam vai logdaļai"
+#: ../gtk/gtktreeviewcolumn.c:375
#: ../gtk/gtktreeviewcolumn.c:363
msgid "Whether the column can be reordered around the headers"
msgstr "Vai kolonna var tikt pārkārtota ap galvenēm"
+#: ../gtk/gtktreeviewcolumn.c:382
#: ../gtk/gtktreeviewcolumn.c:370
msgid "Sort indicator"
-msgstr "Kārtošanas indikātors"
+msgstr "Kārtošanas indikators"
+#: ../gtk/gtktreeviewcolumn.c:383
#: ../gtk/gtktreeviewcolumn.c:371
msgid "Whether to show a sort indicator"
-msgstr "Vai rādīt kārtošanas indikātoru"
+msgstr "Vai rādīt kārtošanas indikatoru"
+#: ../gtk/gtktreeviewcolumn.c:390
#: ../gtk/gtktreeviewcolumn.c:378
msgid "Sort order"
msgstr "Kārtošanas secība"
+#: ../gtk/gtktreeviewcolumn.c:391
#: ../gtk/gtktreeviewcolumn.c:379
msgid "Sort direction the sort indicator should indicate"
-msgstr "Kārtošanas virziens, kurā kārtošanas indikātoram būtu jārāda"
+msgstr "Kārtošanas virziens, kurā kārtošanas indikatoram būtu jārāda"
+#: ../gtk/gtktreeviewcolumn.c:407
#: ../gtk/gtktreeviewcolumn.c:395
-#, fuzzy
msgid "Sort column ID"
-msgstr "Teksta kolonna"
+msgstr "Kārtošanas kolonnas ID"
+#: ../gtk/gtktreeviewcolumn.c:408
#: ../gtk/gtktreeviewcolumn.c:396
msgid "Logical sort column ID this column sorts on when selected for sorting"
msgstr ""
+"Loģiskās kārtošanas kolonnas ID, ko šī kolonna kārtos, kad tiek izvēlēta "
+"kārtošanai"
+#: ../gtk/gtkuimanager.c:480
#: ../gtk/gtkuimanager.c:226
msgid "Whether tearoff menu items should be added to menus"
msgstr "Vai pārceļamo izvēlni vajadzētu pievienot izvēlnēm"
+#: ../gtk/gtkuimanager.c:487
#: ../gtk/gtkuimanager.c:233
msgid "Merged UI definition"
msgstr "Apvienotā UI definīcija"
+#: ../gtk/gtkuimanager.c:488
#: ../gtk/gtkuimanager.c:234
msgid "An XML string describing the merged UI"
msgstr "XML virkne, kas apraksta apvienoto UI"
msgstr "Nosaka, kā ēnota kaste ap skatpunktu tiek zīmēta"
#: ../gtk/gtkvolumebutton.c:156
-#, fuzzy
msgid "Use symbolic icons"
-msgstr "Priekšplāna krāsa kā virkne"
+msgstr "Izmantot simboliskās ikonas"
#: ../gtk/gtkvolumebutton.c:157
-#, fuzzy
#| msgid "Whether the cursor should blink"
msgid "Whether to use symbolic icons"
-msgstr "Vai kursoram būtu jāmirgo"
+msgstr "Vai izmantot simboliskās ikonas"
-#: ../gtk/gtkwidget.c:903
+#: ../gtk/gtkwidget.c:948
+#: ../gtk/gtkwidget.c:931
msgid "Widget name"
msgstr "Logdaļas nosaukums"
-#: ../gtk/gtkwidget.c:904
+#: ../gtk/gtkwidget.c:949
+#: ../gtk/gtkwidget.c:932
msgid "The name of the widget"
msgstr "Logdaļas nosaukums"
-#: ../gtk/gtkwidget.c:910
+#: ../gtk/gtkwidget.c:955
+#: ../gtk/gtkwidget.c:938
msgid "Parent widget"
msgstr "Vecāka logdaļa"
-#: ../gtk/gtkwidget.c:911
+#: ../gtk/gtkwidget.c:956
+#: ../gtk/gtkwidget.c:939
msgid "The parent widget of this widget. Must be a Container widget"
-msgstr "Vecāka logdaļa šai logdaļai. Jābūt Saturētāja logdaļai"
+msgstr "Vecāka logdaļa šai logdaļai. Jābūt saturētāja logdaļai"
-#: ../gtk/gtkwidget.c:918
+#: ../gtk/gtkwidget.c:963
+#: ../gtk/gtkwidget.c:946
msgid "Width request"
msgstr "Platuma pieprasījums"
-#: ../gtk/gtkwidget.c:919
+#: ../gtk/gtkwidget.c:964
+#: ../gtk/gtkaction.c:388
+#: ../gtk/gtkactiongroup.c:242
+#: ../gtk/gtkstatusicon.c:280
+#: ../gtk/gtktreeviewcolumn.c:246
+#: ../gtk/gtkwidget.c:947
msgid ""
"Override for width request of the widget, or -1 if natural request should be "
"used"
"Neievērot logdaļas platuma pieprasījumu, vai -1, ja jālieto būtu dabīgais "
"pieprasījums"
-#: ../gtk/gtkwidget.c:927
+#: ../gtk/gtkwidget.c:972
msgid "Height request"
msgstr "Augstuma pieprasījums"
-#: ../gtk/gtkwidget.c:928
+#: ../gtk/gtkwidget.c:973
msgid ""
"Override for height request of the widget, or -1 if natural request should "
"be used"
"Pārrakstīt logdaļas augstuma pieprasījumu, vai -1 ja vajadzētu lietot "
"dabisko pieprasījumu"
-#: ../gtk/gtkwidget.c:937
+#: ../gtk/gtkwidget.c:982
+#: ../gtk/gtkwidget.c:965
msgid "Whether the widget is visible"
msgstr "Vai logdaļa ir redzama"
-#: ../gtk/gtkwidget.c:944
+#: ../gtk/gtkwidget.c:989
msgid "Whether the widget responds to input"
msgstr "Vai logdaļa atbild uz ievadi"
-#: ../gtk/gtkwidget.c:950
+#: ../gtk/gtkwidget.c:995
+#: ../gtk/gtkwidget.c:978
msgid "Application paintable"
-msgstr "Aplikācija krāsojama"
+msgstr "Lietotne krāsojama"
-#: ../gtk/gtkwidget.c:951
+#: ../gtk/gtkwidget.c:996
+#: ../gtk/gtkwidget.c:979
msgid "Whether the application will paint directly on the widget"
-msgstr "Vai aplikācija krāsos tieši uz logdaļas"
+msgstr "Vai lietotne krāsos tieši uz logdaļas"
-#: ../gtk/gtkwidget.c:957
+#: ../gtk/gtkwidget.c:1002
+#: ../gtk/gtkwidget.c:985
msgid "Can focus"
msgstr "Var fokusēt"
-#: ../gtk/gtkwidget.c:958
+#: ../gtk/gtkwidget.c:1003
+#: ../gtk/gtkwidget.c:986
msgid "Whether the widget can accept the input focus"
msgstr "Vai logdaļa var pieņemt ievades fokusu"
-#: ../gtk/gtkwidget.c:964
+#: ../gtk/gtkwidget.c:1009
+#: ../gtk/gtkwidget.c:992
msgid "Has focus"
msgstr "Ir fokuss"
-#: ../gtk/gtkwidget.c:965
+#: ../gtk/gtkwidget.c:1010
+#: ../gtk/gtkwidget.c:993
msgid "Whether the widget has the input focus"
msgstr "Vai logdaļai ir ievades fokuss"
-#: ../gtk/gtkwidget.c:971
+#: ../gtk/gtkwidget.c:1016
+#: ../gtk/gtkwidget.c:999
msgid "Is focus"
msgstr "Ir fokuss"
-#: ../gtk/gtkwidget.c:972
+#: ../gtk/gtkwidget.c:1017
+#: ../gtk/gtkwidget.c:1000
msgid "Whether the widget is the focus widget within the toplevel"
-msgstr "Vai logdaļa ir fokusēta logdaļa augšlīmenī"
+msgstr "Vai logdaļa ir fokusēta logdaļas augšējā līmenī"
-#: ../gtk/gtkwidget.c:978
+#: ../gtk/gtkwidget.c:1023
+#: ../gtk/gtkwidget.c:1006
msgid "Can default"
msgstr "Var būt noklusētā"
-#: ../gtk/gtkwidget.c:979
+#: ../gtk/gtkwidget.c:1024
+#: ../gtk/gtkwidget.c:1007
msgid "Whether the widget can be the default widget"
msgstr "Vai logdaļa var būt noklusētā logdaļa"
-#: ../gtk/gtkwidget.c:985
+#: ../gtk/gtkwidget.c:1030
+#: ../gtk/gtkwidget.c:1013
msgid "Has default"
msgstr "Ir noklusētā"
-#: ../gtk/gtkwidget.c:986
+#: ../gtk/gtkwidget.c:1031
+#: ../gtk/gtkwidget.c:1014
msgid "Whether the widget is the default widget"
msgstr "Vai logdaļa ir noklusētā logdaļa"
-#: ../gtk/gtkwidget.c:992
+#: ../gtk/gtkwidget.c:1037
+#: ../gtk/gtkwidget.c:1020
msgid "Receives default"
msgstr "Saņem noklusēto"
-#: ../gtk/gtkwidget.c:993
+#: ../gtk/gtkwidget.c:1038
+#: ../gtk/gtkwidget.c:1021
msgid "If TRUE, the widget will receive the default action when it is focused"
msgstr "Ja TRUE, logdaļa saņems noklusēto darbību, kad tā tiek fokusēta"
-#: ../gtk/gtkwidget.c:999
+#: ../gtk/gtkwidget.c:1044
+#: ../gtk/gtkwidget.c:1027
msgid "Composite child"
msgstr "Jauktais bērns"
-#: ../gtk/gtkwidget.c:1000
+#: ../gtk/gtkwidget.c:1045
+#: ../gtk/gtkwidget.c:1028
msgid "Whether the widget is part of a composite widget"
msgstr "Vai logdaļa ir daļa no saliktas logdaļas"
-#: ../gtk/gtkwidget.c:1006
+#: ../gtk/gtkwidget.c:1051
+#: ../gtk/gtkwidget.c:1034
msgid "Style"
msgstr "Stils"
-#: ../gtk/gtkwidget.c:1007
+#: ../gtk/gtkwidget.c:1052
+#: ../gtk/gtkwidget.c:1035
msgid ""
"The style of the widget, which contains information about how it will look "
"(colors etc)"
"Logdaļas stils, kas satur informāciju par to, kā tā izskatīsies (krāsas, "
"utt.)"
-#: ../gtk/gtkwidget.c:1013
+#: ../gtk/gtkwidget.c:1058
+#: ../gtk/gtkwidget.c:1041
msgid "Events"
msgstr "Notikumi"
-#: ../gtk/gtkwidget.c:1014
+#: ../gtk/gtkwidget.c:1059
+#: ../gtk/gtkwidget.c:1042
msgid "The event mask that decides what kind of GdkEvents this widget gets"
-msgstr "Notikuma maska, kas izlemj, kāda veida GdkEvents ir šī logdaļa saņem"
+msgstr "Notikuma maska, kas nosaka, kāda veida GdkEvents ir šī logdaļa saņem"
-#: ../gtk/gtkwidget.c:1021
+#: ../gtk/gtkwidget.c:1066
+#: ../gtk/gtkwidget.c:1049
msgid "No show all"
msgstr "Nerādīt visu"
-#: ../gtk/gtkwidget.c:1022
+#: ../gtk/gtkwidget.c:1067
+#: ../gtk/gtkwidget.c:1050
msgid "Whether gtk_widget_show_all() should not affect this widget"
msgstr "Vai gtk_widget_show_all() nevajadzētu ietekmēt šo logdaļu"
-#: ../gtk/gtkwidget.c:1045
+#: ../gtk/gtkwidget.c:1090
+#: ../gtk/gtkwidget.c:1073
msgid "Whether this widget has a tooltip"
msgstr "Vai logdaļai ir paskaidre"
-#: ../gtk/gtkwidget.c:1101
+#: ../gtk/gtkwidget.c:1146
+#: ../gtk/gtkwidget.c:1129
msgid "Window"
msgstr "Logs"
-#: ../gtk/gtkwidget.c:1102
+#: ../gtk/gtkwidget.c:1147
+#: ../gtk/gtkwidget.c:1130
msgid "The widget's window if it is realized"
-msgstr ""
+msgstr "Logdaļas logs, ja realizēts"
-#: ../gtk/gtkwidget.c:1116
-#, fuzzy
+#: ../gtk/gtkwidget.c:1161
+#: ../gtk/gtkwidget.c:1144
msgid "Double Buffered"
-msgstr "Buferis"
+msgstr "Dubulti buferēts"
-#: ../gtk/gtkwidget.c:1117
-#, fuzzy
+#: ../gtk/gtkwidget.c:1162
+#: ../gtk/gtkwidget.c:1145
msgid "Whether the widget is double buffered"
-msgstr "Vai kontakts ir iegults"
+msgstr "Vai logdaļa tiek buferēta dubulti"
-#: ../gtk/gtkwidget.c:1132
+#: ../gtk/gtkwidget.c:1177
+#: ../gtk/gtkwidget.c:1160
msgid "How to position in extra horizontal space"
-msgstr ""
+msgstr "Kā novietot papildu horizontālo vietu"
-#: ../gtk/gtkwidget.c:1148
+#: ../gtk/gtkwidget.c:1193
msgid "How to position in extra vertical space"
-msgstr ""
+msgstr "Kā novietot papildu vertikālo vietu"
-#: ../gtk/gtkwidget.c:1167
-#, fuzzy
+#: ../gtk/gtkwidget.c:1212
+#: ../gtk/gtkwidget.c:1195
msgid "Margin on Left"
-msgstr "Mala"
+msgstr "Mala pa kreisi"
-#: ../gtk/gtkwidget.c:1168
+#: ../gtk/gtkwidget.c:1213
+#: ../gtk/gtkwidget.c:1196
msgid "Pixels of extra space on the left side"
-msgstr ""
+msgstr "Papildu vietas pikseļi kreisajā pusē"
-#: ../gtk/gtkwidget.c:1188
+#: ../gtk/gtkwidget.c:1233
+#: ../gtk/gtkwidget.c:1216
msgid "Margin on Right"
-msgstr ""
+msgstr "Mala pa labi"
-#: ../gtk/gtkwidget.c:1189
-#, fuzzy
+#: ../gtk/gtkwidget.c:1234
+#: ../gtk/gtkwidget.c:1217
msgid "Pixels of extra space on the right side"
-msgstr "Tukšas vietas pikseļi virs rindkopām"
+msgstr "Papildu vietas pikseļi labajā pusē"
-#: ../gtk/gtkwidget.c:1209
-#, fuzzy
+#: ../gtk/gtkwidget.c:1254
+#: ../gtk/gtkwidget.c:1237
msgid "Margin on Top"
-msgstr "Mala"
+msgstr "Mala augšpusē"
-#: ../gtk/gtkwidget.c:1210
-#, fuzzy
+#: ../gtk/gtkwidget.c:1255
+#: ../gtk/gtkwidget.c:1238
msgid "Pixels of extra space on the top side"
-msgstr "Tukšas vietas pikseļi virs rindkopām"
+msgstr "Papildu vietas pikseļi virspusē"
-#: ../gtk/gtkwidget.c:1230
+#: ../gtk/gtkwidget.c:1275
+#: ../gtk/gtkwidget.c:1258
msgid "Margin on Bottom"
-msgstr ""
+msgstr "Mala apakšā"
-#: ../gtk/gtkwidget.c:1231
+#: ../gtk/gtkwidget.c:1276
+#: ../gtk/gtkwidget.c:1259
msgid "Pixels of extra space on the bottom side"
-msgstr ""
+msgstr "Papildu vietas pikseļi apakšpusē"
-#: ../gtk/gtkwidget.c:1248
-#, fuzzy
+#: ../gtk/gtkwidget.c:1293
msgid "All Margins"
-msgstr "Mala"
+msgstr "Visas malas"
-#: ../gtk/gtkwidget.c:1249
+#: ../gtk/gtkwidget.c:1294
+#: ../gtk/gtkwidget.c:1277
msgid "Pixels of extra space on all four sides"
-msgstr ""
+msgstr "Papildu vietas pikseļi visās četrās pusēs"
-#: ../gtk/gtkwidget.c:1282
-#, fuzzy
+#: ../gtk/gtkwidget.c:1327
+#: ../gtk/gtkwidget.c:1310
#| msgid "Horizontal padding"
msgid "Horizontal Expand"
-msgstr "Horizontālā papildināšana"
+msgstr "Horizontāli izvērsts"
-#: ../gtk/gtkwidget.c:1283
-#, fuzzy
+#: ../gtk/gtkwidget.c:1328
+#: ../gtk/gtkwidget.c:1311
msgid "Whether widget wants more horizontal space"
-msgstr "Vai visiem bērniem jabūt pēc viena izmēra"
+msgstr "Vai logdaļai vajag vairāk horizontālās vietas"
-#: ../gtk/gtkwidget.c:1297
-#, fuzzy
+#: ../gtk/gtkwidget.c:1342
+#: ../gtk/gtkwidget.c:1325
#| msgid "Horizontal alignment"
msgid "Horizontal Expand Set"
-msgstr "Horizontālā centrēšana"
+msgstr "Horizontālais izvērsums iestatīts"
-#: ../gtk/gtkwidget.c:1298
-#, fuzzy
+#: ../gtk/gtkwidget.c:1343
+#: ../gtk/gtkwidget.c:1326
msgid "Whether to use the hexpand property"
-msgstr "Vai lietot iezīmes tekstu veidojot krājuma izvēlnes elementus"
+msgstr "Vai izmantot hexpand īpašību"
-#: ../gtk/gtkwidget.c:1312
-#, fuzzy
+#: ../gtk/gtkwidget.c:1357
+#: ../gtk/gtkwidget.c:1340
#| msgid "Vertical padding"
msgid "Vertical Expand"
-msgstr "Vertikālā papildināšana"
+msgstr "Vertikāli izvērsts"
-#: ../gtk/gtkwidget.c:1313
-#, fuzzy
+#: ../gtk/gtkwidget.c:1358
+#: ../gtk/gtkwidget.c:1341
#| msgid "Whether the widget is visible"
msgid "Whether widget wants more vertical space"
-msgstr "Vai logdaļa ir redzama"
+msgstr "Vai logdaļai vajag vairāk vertikālās vietas"
-#: ../gtk/gtkwidget.c:1327
-#, fuzzy
+#: ../gtk/gtkwidget.c:1372
+#: ../gtk/gtkwidget.c:1355
#| msgid "Vertical alignment"
msgid "Vertical Expand Set"
-msgstr "Vertikālā centrāšana"
+msgstr "Vertikālais izvērsums iestatīts"
-#: ../gtk/gtkwidget.c:1328
-#, fuzzy
+#: ../gtk/gtkwidget.c:1373
+#: ../gtk/gtkwidget.c:1356
msgid "Whether to use the vexpand property"
-msgstr "Vai lietot iezīmes tekstu veidojot krājuma izvēlnes elementus"
+msgstr "Vai izmantot vexpand īpašību"
-#: ../gtk/gtkwidget.c:1342
-#, fuzzy
+#: ../gtk/gtkwidget.c:1387
+#: ../gtk/gtkwidget.c:1370
#| msgid "Expand timeout"
msgid "Expand Both"
-msgstr "Izvēršanas noildze"
+msgstr "Izvērst abus"
-#: ../gtk/gtkwidget.c:1343
-#, fuzzy
+#: ../gtk/gtkwidget.c:1388
+#: ../gtk/gtkwidget.c:1371
#| msgid "Whether the widget has the input focus"
msgid "Whether widget wants to expand in both directions"
-msgstr "Vai logdaļai ir ievades fokuss"
+msgstr "Vai izvērst logdaļu abos virzienos"
-#: ../gtk/gtkwidget.c:2980
+#: ../gtk/gtkwidget.c:3027
+#: ../gtk/gtkwidget.c:3008
msgid "Interior Focus"
-msgstr "Iekšējais Fokuss"
+msgstr "Iekšējais fokuss"
-#: ../gtk/gtkwidget.c:2981
+#: ../gtk/gtkwidget.c:3028
+#: ../gtk/gtkwidget.c:3009
msgid "Whether to draw the focus indicator inside widgets"
-msgstr "Vai zīmēt fokusa indikātoru logdaļu iekšpusē"
+msgstr "Vai zīmēt fokusa indikatoru logdaļu iekšpusē"
-#: ../gtk/gtkwidget.c:2987
+#: ../gtk/gtkwidget.c:3034
+#: ../gtk/gtkwidget.c:3015
msgid "Focus linewidth"
msgstr "Fokusa līnijas platums"
-#: ../gtk/gtkwidget.c:2988
+#: ../gtk/gtkwidget.c:3035
+#: ../gtk/gtkwidget.c:3016
msgid "Width, in pixels, of the focus indicator line"
-msgstr "Fokusa indikātora līnijas platums pikseļos"
+msgstr "Fokusa indikatora līnijas platums pikseļos"
-#: ../gtk/gtkwidget.c:2994
+#: ../gtk/gtkwidget.c:3041
+#: ../gtk/gtkwidget.c:3022
msgid "Focus line dash pattern"
-msgstr "Fokusēr līnijas svītras rakstu"
+msgstr "Fokusēt līnijas svītras rakstu"
-#: ../gtk/gtkwidget.c:2995
+#: ../gtk/gtkwidget.c:3042
+#: ../gtk/gtkwidget.c:3023
msgid "Dash pattern used to draw the focus indicator"
-msgstr "Lietotais svītras raksts, lai zīmētu fokusa indikātoru"
+msgstr "Lietotais svītras raksts, lai zīmētu fokusa indikatoru"
-#: ../gtk/gtkwidget.c:3000
+#: ../gtk/gtkwidget.c:3047
msgid "Focus padding"
msgstr "Fokusa papildināšana"
-#: ../gtk/gtkwidget.c:3001
+#: ../gtk/gtkwidget.c:3048
+#: ../gtk/gtkwidget.c:3029
msgid "Width, in pixels, between focus indicator and the widget 'box'"
-msgstr "Platums pikseļos starp fokusa indikātoru un logdaļas 'rāmīti'"
+msgstr "Platums pikseļos starp fokusa indikatoru un logdaļas 'kasti'"
-#: ../gtk/gtkwidget.c:3006
+#: ../gtk/gtkwidget.c:3053
msgid "Cursor color"
msgstr "Kursora krāsa"
-#: ../gtk/gtkwidget.c:3007
+#: ../gtk/gtkwidget.c:3054
msgid "Color with which to draw insertion cursor"
msgstr "Krāsa, ar kuru zīmēt ievietošanas kursoru"
-#: ../gtk/gtkwidget.c:3012
+#: ../gtk/gtkwidget.c:3059
+#: ../gtk/gtkwidget.c:3040
msgid "Secondary cursor color"
msgstr "Otrā kursora krāsa"
-#: ../gtk/gtkwidget.c:3013
+#: ../gtk/gtkwidget.c:3060
msgid ""
"Color with which to draw the secondary insertion cursor when editing mixed "
"right-to-left and left-to-right text"
"Krāsa, kādā zīmēt sekundāro ievietojuma kursoru, kad rediģē jaukto no-labās-"
"uz-kreiso un no-kreisās-uz-labo tekstu"
-#: ../gtk/gtkwidget.c:3018
+#: ../gtk/gtkwidget.c:3065
+#: ../gtk/gtkwidget.c:3046
msgid "Cursor line aspect ratio"
msgstr "Kursora līnijas skata proporcija"
-#: ../gtk/gtkwidget.c:3019
+#: ../gtk/gtkwidget.c:3066
msgid "Aspect ratio with which to draw insertion cursor"
msgstr "Skata proporcija, ar kuru zīmēt ievietojuma kursoru"
-#: ../gtk/gtkwidget.c:3025
-#, fuzzy
+#: ../gtk/gtkwidget.c:3072
msgid "Window dragging"
-msgstr "Loga Pozīcija"
+msgstr "Loga vilkšana"
-#: ../gtk/gtkwidget.c:3026
+#: ../gtk/gtkwidget.c:3073
msgid "Whether windows can be dragged by clicking on empty areas"
-msgstr ""
+msgstr "Vai logu var vilkt, klikšķinot uz tukša laukuma"
-#: ../gtk/gtkwidget.c:3039
+#: ../gtk/gtkwidget.c:3086
+#: ../gtk/gtkwidget.c:3067
msgid "Unvisited Link Color"
msgstr "Neaplūkoto saišu krāsa"
-#: ../gtk/gtkwidget.c:3040
+#: ../gtk/gtkwidget.c:3087
+#: ../gtk/gtkwidget.c:3068
msgid "Color of unvisited links"
msgstr "Neaplūkoto saišu krāsa"
-#: ../gtk/gtkwidget.c:3053
+#: ../gtk/gtkwidget.c:3100
+#: ../gtk/gtkwidget.c:3081
msgid "Visited Link Color"
msgstr "Aplūkoto saišu krāsa"
-#: ../gtk/gtkwidget.c:3054
+#: ../gtk/gtkwidget.c:3101
+#: ../gtk/gtkwidget.c:3082
msgid "Color of visited links"
msgstr "Aplūkoto saišu krāsa"
-#: ../gtk/gtkwidget.c:3068
+#: ../gtk/gtkwidget.c:3115
+#: ../gtk/gtkwidget.c:3096
msgid "Wide Separators"
msgstr "Platais atdalītājs"
-#: ../gtk/gtkwidget.c:3069
+#: ../gtk/gtkwidget.c:3116
+#: ../gtk/gtkwidget.c:3097
msgid ""
"Whether separators have configurable width and should be drawn using a box "
"instead of a line"
msgstr ""
+"Vai atdalītājam ir konfigurējams platums un vajadzētu tikt zīmētam, "
+"izmantojot kasti, nevis līniju"
-#: ../gtk/gtkwidget.c:3083
+#: ../gtk/gtkwidget.c:3130
+#: ../gtk/gtkwidget.c:3111
msgid "Separator Width"
msgstr "Atdalītāja platums"
-#: ../gtk/gtkwidget.c:3084
+#: ../gtk/gtkwidget.c:3131
+#: ../gtk/gtkwidget.c:3112
msgid "The width of separators if wide-separators is TRUE"
-msgstr ""
+msgstr "Atdalītāja platums, ja wide-separators ir PATIESS"
-#: ../gtk/gtkwidget.c:3098
+#: ../gtk/gtkwidget.c:3145
+#: ../gtk/gtkwidget.c:3126
msgid "Separator Height"
msgstr "Atdalītāja augstums"
-#: ../gtk/gtkwidget.c:3099
+#: ../gtk/gtkwidget.c:3146
+#: ../gtk/gtkwidget.c:3127
msgid "The height of separators if \"wide-separators\" is TRUE"
-msgstr ""
+msgstr "Atdalītāja augstums, ja wide-separators ir PATIESS"
-#: ../gtk/gtkwidget.c:3113
+#: ../gtk/gtkwidget.c:3160
+#: ../gtk/gtkwidget.c:3141
msgid "Horizontal Scroll Arrow Length"
msgstr "Horizontālo ritjoslu garums"
-#: ../gtk/gtkwidget.c:3114
+#: ../gtk/gtkwidget.c:3161
+#: ../gtk/gtkwidget.c:3142
msgid "The length of horizontal scroll arrows"
msgstr "Horizontālo ritjoslu garums"
-#: ../gtk/gtkwidget.c:3128
+#: ../gtk/gtkwidget.c:3175
+#: ../gtk/gtkwidget.c:3156
msgid "Vertical Scroll Arrow Length"
msgstr "Vertikālo ritjoslu garums"
-#: ../gtk/gtkwidget.c:3129
+#: ../gtk/gtkwidget.c:3176
+#: ../gtk/gtkwidget.c:3157
msgid "The length of vertical scroll arrows"
msgstr "Vertikālo ritjoslu garums"
-#: ../gtk/gtkwindow.c:600
+#: ../gtk/gtkwindow.c:606
+#: ../gtk/gtkwindow.c:604
msgid "Window Type"
-msgstr "Loga Tips"
+msgstr "Loga tips"
-#: ../gtk/gtkwindow.c:601
+#: ../gtk/gtkwindow.c:607
+#: ../gtk/gtkwindow.c:605
msgid "The type of the window"
msgstr "Loga tips"
-#: ../gtk/gtkwindow.c:609
+#: ../gtk/gtkwindow.c:615
+#: ../gtk/gtkwindow.c:613
msgid "Window Title"
-msgstr "Loga Virsraksts"
+msgstr "Loga virsraksts"
-#: ../gtk/gtkwindow.c:610
+#: ../gtk/gtkwindow.c:616
+#: ../gtk/gtkwindow.c:614
msgid "The title of the window"
-msgstr "Loga visraksts"
+msgstr "Loga virsraksts"
-#: ../gtk/gtkwindow.c:617
+#: ../gtk/gtkwindow.c:623
+#: ../gtk/gtkwindow.c:621
msgid "Window Role"
msgstr "Loga loma"
-#: ../gtk/gtkwindow.c:618
+#: ../gtk/gtkwindow.c:624
+#: ../gtk/gtkwindow.c:622
msgid "Unique identifier for the window to be used when restoring a session"
msgstr "Unikāls identifikators logam, ko izmanto atjaunojot sesiju"
-#: ../gtk/gtkwindow.c:634
+#: ../gtk/gtkwindow.c:640
+#: ../gtk/gtkwindow.c:638
msgid "Startup ID"
msgstr "Sākuma ID"
-#: ../gtk/gtkwindow.c:635
+#: ../gtk/gtkwindow.c:641
+#: ../gtk/gtkwindow.c:639
msgid "Unique startup identifier for the window used by startup-notification"
-msgstr ""
+msgstr "Unikāls sākuma identifikators logam, ko izmanto startup-notification"
-#: ../gtk/gtkwindow.c:643
+#: ../gtk/gtkwindow.c:649
+#: ../gtk/gtkwindow.c:647
msgid "If TRUE, users can resize the window"
-msgstr "Ja TRUE, lietotāji var mainīt loga izmēru"
+msgstr "Ja PATIESS, lietotāji var mainīt loga izmēru"
-#: ../gtk/gtkwindow.c:650
+#: ../gtk/gtkwindow.c:656
+#: ../gtk/gtkwindow.c:654
msgid "Modal"
msgstr "Modāls"
-#: ../gtk/gtkwindow.c:651
+#: ../gtk/gtkwindow.c:657
+#: ../gtk/gtkwindow.c:655
msgid ""
"If TRUE, the window is modal (other windows are not usable while this one is "
"up)"
msgstr ""
-"Ja TRUE, tad logs ir modāls (citi logi nav lietojami kamēr šis ir virspusē)"
+"Ja PATIESS, tad logs ir modāls (citi logi nav lietojami kamēr šis ir "
+"virspusē)"
-#: ../gtk/gtkwindow.c:658
+#: ../gtk/gtkwindow.c:664
+#: ../gtk/gtkwindow.c:662
msgid "Window Position"
-msgstr "Loga Pozīcija"
+msgstr "Loga novietojums"
-#: ../gtk/gtkwindow.c:659
+#: ../gtk/gtkwindow.c:665
+#: ../gtk/gtkwindow.c:663
msgid "The initial position of the window"
-msgstr "Sākotnējā loga pozīcija"
+msgstr "Sākotnējais loga novietojums"
-#: ../gtk/gtkwindow.c:667
+#: ../gtk/gtkwindow.c:673
+#: ../gtk/gtkwindow.c:671
msgid "Default Width"
-msgstr "Noklusētais Platums"
+msgstr "Noklusētais platums"
-#: ../gtk/gtkwindow.c:668
+#: ../gtk/gtkwindow.c:674
+#: ../gtk/gtkwindow.c:672
msgid "The default width of the window, used when initially showing the window"
msgstr "Noklusētais loga platums, ko izmanto, kad pirmo reizi parāda logu"
-#: ../gtk/gtkwindow.c:677
+#: ../gtk/gtkwindow.c:683
+#: ../gtk/gtkwindow.c:681
msgid "Default Height"
-msgstr "Noklusētais Augstums"
+msgstr "Noklusētais augstums"
-#: ../gtk/gtkwindow.c:678
-msgid ""
-"The default height of the window, used when initially showing the window"
+#: ../gtk/gtkwindow.c:684
+#: ../gtk/gtkwindow.c:682
+msgid "The default height of the window, used when initially showing the window"
msgstr "Noklusētais loga augstums, ko izmanto, kad pirmo reizi parāda logu"
-#: ../gtk/gtkwindow.c:687
+#: ../gtk/gtkwindow.c:693
+#: ../gtk/gtkwindow.c:691
msgid "Destroy with Parent"
-msgstr "Iznīcināt ar Vecāku"
+msgstr "Iznīcināt ar vecāku"
-#: ../gtk/gtkwindow.c:688
+#: ../gtk/gtkwindow.c:694
+#: ../gtk/gtkwindow.c:692
msgid "If this window should be destroyed when the parent is destroyed"
msgstr "Vai šis logs būtu jāiznīcina, kad tiek iznīcināts vecāks"
-#: ../gtk/gtkwindow.c:696
+#: ../gtk/gtkwindow.c:702
+#: ../gtk/gtkwindow.c:700
msgid "Icon for this window"
msgstr "Ikona šim logam"
-#: ../gtk/gtkwindow.c:702
-#, fuzzy
+#: ../gtk/gtkwindow.c:708
+#: ../gtk/gtkwindow.c:706
msgid "Mnemonics Visible"
-msgstr "Mnemonikas taustiņš"
+msgstr "Mnemonikas redzamas"
-#: ../gtk/gtkwindow.c:703
-#, fuzzy
+#: ../gtk/gtkwindow.c:709
+#: ../gtk/gtkwindow.c:707
msgid "Whether mnemonics are currently visible in this window"
-msgstr "Vai augšlīmenis ir pašreizējais aktīvais logs"
+msgstr "Vai mnemonikas ir pašlaik redzamas šajā logā"
-#: ../gtk/gtkwindow.c:719
+#: ../gtk/gtkwindow.c:725
+#: ../gtk/gtkwindow.c:723
msgid "Name of the themed icon for this window"
msgstr "Šī loga tēmas ikonas tēmas nosaukums"
-#: ../gtk/gtkwindow.c:734
+#: ../gtk/gtkwindow.c:740
+#: ../gtk/gtkwindow.c:738
msgid "Is Active"
-msgstr "Ir Aktīvs"
+msgstr "Ir aktīvs"
-#: ../gtk/gtkwindow.c:735
+#: ../gtk/gtkwindow.c:741
+#: ../gtk/gtkwindow.c:739
msgid "Whether the toplevel is the current active window"
-msgstr "Vai augšlīmenis ir pašreizējais aktīvais logs"
+msgstr "Vai augšējais līmenis ir pašreizējais aktīvais logs"
-#: ../gtk/gtkwindow.c:742
+#: ../gtk/gtkwindow.c:748
+#: ../gtk/gtkwindow.c:746
msgid "Focus in Toplevel"
-msgstr "Fokusēties Augšlīmenī"
+msgstr "Fokusēties augšējā līmenī"
-#: ../gtk/gtkwindow.c:743
+#: ../gtk/gtkwindow.c:749
+#: ../gtk/gtkwindow.c:747
msgid "Whether the input focus is within this GtkWindow"
msgstr "Vai ievades fokuss ir iekš šī GtkWindow"
-#: ../gtk/gtkwindow.c:750
+#: ../gtk/gtkwindow.c:756
+#: ../gtk/gtkwindow.c:754
msgid "Type hint"
msgstr "Tipa padoms"
-#: ../gtk/gtkwindow.c:751
+#: ../gtk/gtkwindow.c:757
+#: ../gtk/gtkwindow.c:755
msgid ""
"Hint to help the desktop environment understand what kind of window this is "
"and how to treat it."
msgstr ""
-"Padoms, lai palīdzētu dabvirsmas videi saprast, kas šis ir par logu un kā ar "
-"to apieties."
+"Padoms, lai palīdzētu darbvirsmas videi saprast, kas šis ir par logu un kā "
+"ar to apieties."
-#: ../gtk/gtkwindow.c:759
+#: ../gtk/gtkwindow.c:765
+#: ../gtk/gtkwindow.c:763
msgid "Skip taskbar"
-msgstr "Izlaist uzdevumjoslu"
+msgstr "Izlaist uzdevumu joslu"
-#: ../gtk/gtkwindow.c:760
+#: ../gtk/gtkwindow.c:766
+#: ../gtk/gtkwindow.c:764
msgid "TRUE if the window should not be in the task bar."
msgstr "TRUE, ja logam nebūtu jābūt uzdevumu joslā."
-#: ../gtk/gtkwindow.c:767
+#: ../gtk/gtkwindow.c:773
+#: ../gtk/gtkwindow.c:771
msgid "Skip pager"
msgstr "Izlaist peidžeri"
-#: ../gtk/gtkwindow.c:768
+#: ../gtk/gtkwindow.c:774
+#: ../gtk/gtkwindow.c:772
msgid "TRUE if the window should not be in the pager."
msgstr "TRUE, ja logam nevajadzētu atrasties peidžerī."
-#: ../gtk/gtkwindow.c:775
+#: ../gtk/gtkwindow.c:781
+#: ../gtk/gtkwindow.c:779
msgid "Urgent"
msgstr "Steidzams"
-#: ../gtk/gtkwindow.c:776
+#: ../gtk/gtkwindow.c:782
+#: ../gtk/gtkwindow.c:780
msgid "TRUE if the window should be brought to the user's attention."
-msgstr "PATIESS, ja logam vajadzētu piesaistīt lietotaja uzmanību."
+msgstr "PATIESS, ja logam vajadzētu piesaistīt lietotāja uzmanību."
-#: ../gtk/gtkwindow.c:790
+#: ../gtk/gtkwindow.c:796
+#: ../gtk/gtkwindow.c:794
msgid "Accept focus"
msgstr "Pieņemt fokusu"
-#: ../gtk/gtkwindow.c:791
+#: ../gtk/gtkwindow.c:797
+#: ../gtk/gtkwindow.c:795
msgid "TRUE if the window should receive the input focus."
msgstr "PATIESS, ja logam būtu jāsaņem ievades fokuss."
-#: ../gtk/gtkwindow.c:805
+#: ../gtk/gtkwindow.c:811
+#: ../gtk/gtkwindow.c:809
msgid "Focus on map"
msgstr "Fokuss uz kartes"
-#: ../gtk/gtkwindow.c:806
+#: ../gtk/gtkwindow.c:812
+#: ../gtk/gtkwindow.c:810
msgid "TRUE if the window should receive the input focus when mapped."
msgstr "PATIESS, ja logam būtu jāsaņem ievades fokuss, kad tas tiek kartēts."
-#: ../gtk/gtkwindow.c:820
+#: ../gtk/gtkwindow.c:826
+#: ../gtk/gtkwindow.c:824
msgid "Decorated"
msgstr "Rotāts"
-#: ../gtk/gtkwindow.c:821
+#: ../gtk/gtkwindow.c:827
+#: ../gtk/gtkwindow.c:825
msgid "Whether the window should be decorated by the window manager"
msgstr "Vai loga pārvaldniekam būtu jādekorē logs"
-#: ../gtk/gtkwindow.c:835
+#: ../gtk/gtkwindow.c:841
+#: ../gtk/gtkwindow.c:839
msgid "Deletable"
msgstr "Dzēšams"
-#: ../gtk/gtkwindow.c:836
+#: ../gtk/gtkwindow.c:842
+#: ../gtk/gtkwindow.c:840
msgid "Whether the window frame should have a close button"
msgstr "Vai loga ietvaram vajadzīga loga aizvēršanas poga"
-#: ../gtk/gtkwindow.c:855
-#, fuzzy
+#: ../gtk/gtkwindow.c:861
+#: ../gtk/gtkwindow.c:859
#| msgid "Has Resize Grip"
msgid "Resize grip"
-msgstr "Ir izmēra maiņas rokturis"
+msgstr "Izmēra maiņas rokturis"
-#: ../gtk/gtkwindow.c:856
-#, fuzzy
+#: ../gtk/gtkwindow.c:862
+#: ../gtk/gtkwindow.c:860
#| msgid "Whether the window frame should have a close button"
msgid "Specifies whether the window should have a resize grip"
-msgstr "Vai loga ietvaram vajadzīga loga aizvēršanas poga"
+msgstr "Vai logam vajadzīgs izmēra maiņas rokturis"
-#: ../gtk/gtkwindow.c:870
+#: ../gtk/gtkwindow.c:876
+#: ../gtk/gtkwindow.c:874
msgid "Resize grip is visible"
-msgstr ""
+msgstr "Izmēra maiņas rokturis redzams"
-#: ../gtk/gtkwindow.c:871
-#, fuzzy
+#: ../gtk/gtkwindow.c:877
+#: ../gtk/gtkwindow.c:875
#| msgid "Whether the action group is visible."
msgid "Specifies whether the window's resize grip is visible."
-msgstr "Vai darības gurpa ir redzama."
+msgstr "Vai loga izmēra maiņas rokturis ir redzams."
-#: ../gtk/gtkwindow.c:887
+#: ../gtk/gtkwindow.c:893
+#: ../gtk/gtkwindow.c:891
msgid "Gravity"
msgstr "Gravitācija"
-#: ../gtk/gtkwindow.c:888
+#: ../gtk/gtkwindow.c:894
+#: ../gtk/gtkwindow.c:892
msgid "The window gravity of the window"
msgstr "Loga gravitācija"
-#: ../gtk/gtkwindow.c:905
+#: ../gtk/gtkwindow.c:911
+#: ../gtk/gtkwindow.c:909
msgid "Transient for Window"
-msgstr ""
+msgstr "Pārejošs logam"
-#: ../gtk/gtkwindow.c:906
+#: ../gtk/gtkwindow.c:912
+#: ../gtk/gtkwindow.c:910
msgid "The transient parent of the dialog"
-msgstr ""
+msgstr "Pārejošs dialoglodziņa vecāks"
-#: ../gtk/gtkwindow.c:921
+#: ../gtk/gtkwindow.c:927
+#: ../gtk/gtkwindow.c:925
msgid "Opacity for Window"
-msgstr "Loga caurspīdība"
+msgstr "Loga necaurspīdība"
-#: ../gtk/gtkwindow.c:922
+#: ../gtk/gtkwindow.c:928
+#: ../gtk/gtkwindow.c:926
msgid "The opacity of the window, from 0 to 1"
-msgstr "Loga caurspīdīgums no 0 līdz 1"
+msgstr "Loga necaurspīdīgums no 0 līdz 1"
-#: ../gtk/gtkwindow.c:932 ../gtk/gtkwindow.c:933
+#: ../gtk/gtkwindow.c:938 ../gtk/gtkwindow.c:939
+#: ../gtk/gtkwindow.c:936
+#: ../gtk/gtkwindow.c:937
msgid "Width of resize grip"
-msgstr ""
+msgstr "Izmēra maiņas roktura platums"
-#: ../gtk/gtkwindow.c:938 ../gtk/gtkwindow.c:939
-#, fuzzy
+#: ../gtk/gtkwindow.c:944 ../gtk/gtkwindow.c:945
+#: ../gtk/gtkwindow.c:942
+#: ../gtk/gtkwindow.c:943
#| msgid "Has Resize Grip"
msgid "Height of resize grip"
-msgstr "Ir izmēra maiņas rokturis"
+msgstr "Izmēra maiņas roktura augstums"
-#: ../gtk/gtkwindow.c:961
-#, fuzzy
+#: ../gtk/gtkwindow.c:967
+#: ../gtk/gtkwindow.c:965
#| msgid "Application paintable"
msgid "GtkApplication"
-msgstr "Aplikācija krāsojama"
+msgstr "GtkApplication"
-#: ../gtk/gtkwindow.c:962
-#, fuzzy
+#: ../gtk/gtkwindow.c:968
+#: ../gtk/gtkwindow.c:966
#| msgid "The initial position of the window"
msgid "The GtkApplication for the window"
-msgstr "Sākotnējā loga pozīcija"
+msgstr "GtkApplication logam"
+
+#~ msgid "Background color as a (possibly unallocated) GdkColor"
+#~ msgstr "Fona krāsa kā (iespējams, nepiešķirta) GdkColor"
+
+#~ msgid "Foreground color as a (possibly unallocated) GdkColor"
+#~ msgstr "Priekšplāna krāsa kā (iespējams, nepiešķirta) GdkColor"
+
+#~ msgid "Paragraph background color as a (possibly unallocated) GdkColor"
+#~ msgstr "Paragrāfa fona krāsa kā (iespējams nenovietota) GdkColor"
#~ msgid ""
#~ "The label for the link to the website of the program. If this is not set, "
# Files from the Gtk distribution which have already been
# marked to allow runtime translation of messages
-gdk/gdk.c
gdk/gdkapplaunchcontext.c
+gdk/gdk.c
gdk/gdkcursor.c
gdk/gdkdevice.c
gdk/gdkdevicemanager.c
gdk/keyname-table.h
gdk/win32/gdkmain-win32.c
gdk/x11/gdkapplaunchcontext-x11.c
-gdk/x11/gdkdevice-xi.c
-gdk/x11/gdkdevice-xi2.c
-gdk/x11/gdkdevicemanager-xi.c
gdk/x11/gdkdevicemanager-xi2.c
+gdk/x11/gdkdevicemanager-xi.c
+gdk/x11/gdkdevice-xi2.c
+gdk/x11/gdkdevice-xi.c
gdk/x11/gdkmain-x11.c
+gtk/a11y/gtkspinneraccessible.c
+gtk/a11y/gtkswitchaccessible.c
gtk/gtkaboutdialog.c
gtk/gtkaccelgroup.c
gtk/gtkaccellabel.c
gtk/gtkactivatable.c
gtk/gtkadjustment.c
gtk/gtkalignment.c
-gtk/gtkarrow.c
-gtk/gtkaspectframe.c
gtk/gtkanimationdescription.c
-gtk/gtkappchooser.c
gtk/gtkappchooserbutton.c
+gtk/gtkappchooser.c
gtk/gtkappchooserdialog.c
gtk/gtkappchooserwidget.c
+gtk/gtkarrow.c
+gtk/gtkaspectframe.c
gtk/gtkassistant.c
gtk/gtkbbox.c
gtk/gtkbin.c
gtk/gtkbuilderparser.c
gtk/gtkbutton.c
gtk/gtkcalendar.c
-gtk/gtkcellarea.c
gtk/gtkcellareabox.c
+gtk/gtkcellarea.c
gtk/gtkcellareacontext.c
gtk/gtkcelleditable.c
gtk/gtkcelllayout.c
gtk/gtkcolorseldialog.c
gtk/gtkcombobox.c
gtk/gtkcontainer.c
+gtk/gtkcssprovider.c
gtk/gtkcustompaperunixdialog.c
gtk/gtkdialog.c
gtk/gtkdnd.c
gtk/gtkdnd-quartz.c
gtk/gtkdrawingarea.c
gtk/gtkeditable.c
-gtk/gtkentry.c
gtk/gtkentrybuffer.c
+gtk/gtkentry.c
gtk/gtkentrycompletion.c
gtk/gtkeventbox.c
gtk/gtkexpander.c
gtk/gtknotebook.c
gtk/gtknumerableicon.c
gtk/gtkorientable.c
+gtk/gtkoverlay.c
gtk/gtkpagesetup.c
gtk/gtkpagesetupunixdialog.c
gtk/gtkpaned.c
gtk/gtkplug.c
gtk/gtkprintbackend.c
gtk/gtkprinter.c
+gtk/gtkprinteroption.c
gtk/gtkprinteroptionwidget.c
gtk/gtkprintjob.c
gtk/gtkprintoperation.c
modules/input/imviqr.c
modules/input/imxim.c
modules/printbackends/cups/gtkprintbackendcups.c
+modules/printbackends/cups/gtkprintercups.c
modules/printbackends/file/gtkprintbackendfile.c
modules/printbackends/lpr/gtkprintbackendlpr.c
modules/printbackends/papi/gtkprintbackendpapi.c
# Karsten Weiss <karsten@addx.au.s.shuttle.de>, 1999.
# Matthias Warkus <mawarkus@gnome.org>, 2001, 2002.
# Christian Neumair <chris@gnome-de.org>, 2002-2004.
-# Hendrik Richter <hendrikr@gnome.org>, 2004, 2005, 2006, 2007, 2008, 2009.
+# Hendrik Richter <hendrikr@gnome.org>, 2004-2009.
# Hendrik Brandt <heb@gnome-de.org>, 2004-2005.
# Andre Klapper <ak-47@gmx.net>, 2008.
-# Mario Blättermann <mariobl@gnome.org>, 2009, 2010, 2011.
+# Mario Blättermann <mariobl@freenet.de>, 2009-2011.
# Jakob Kramer <jakob.kramer@gmx.de>, 2010.
# Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>, 2011.
-# Christian Kirbach <Christian.Kirbach@googlemail.com>, 2009, 2010, 2011.
+# Christian Kirbach <Christian.Kirbach@googlemail.com>, 2009-2011.
#
msgid ""
msgstr ""
"Project-Id-Version: GTK+ master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%"
-"2b&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2011-03-31 07:41+0000\n"
-"PO-Revision-Date: 2011-03-31 09:50+0100\n"
-"Last-Translator: Mario Blättermann <mariobl@gnome.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk"
+"%2b&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2011-07-13 18:20+0000\n"
+"PO-Revision-Date: 2011-07-13 20:22+0100\n"
+"Last-Translator: Mario Blättermann <mariobl@freenet.de>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
#. 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:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573
+#: ../gdk/gdk.c:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:569 ../gtk/gtkmain.c:572
msgid "FLAGS"
msgstr "OPTIONEN"
msgstr[0] "%d Objekt wird geöffnet"
msgstr[1] "%d Objekte werden geöffnet"
+#: ../gtk/a11y/gtkspinneraccessible.c:42
+msgctxt "throbbing progress animation widget"
+msgid "Spinner"
+msgstr "Spinner"
+
+#: ../gtk/a11y/gtkspinneraccessible.c:43
+msgid "Provides visual indication of progress"
+msgstr "Ermöglicht die visuelle Darstellung des Fortschritts"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:65
+msgctxt "light switch widget"
+msgid "Switch"
+msgstr "Schalter"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:66
+msgid "Switches between on and off states"
+msgstr "Schaltet zwischen »an« und »aus« um"
+
#. Translators: this is the license preamble; the string at the end
#. * contains the URL of the license.
#.
-#: ../gtk/gtkaboutdialog.c:104
+#: ../gtk/gtkaboutdialog.c:103
#, c-format
msgid ""
"This program comes with ABSOLUTELY NO WARRANTY; for details, visit <a href="
"Dieses Programm kommt OHNE JEDWEDE GARANTIE; für Details, besuchen Sie <a "
"href=\"%s\">%s</a>"
-#: ../gtk/gtkaboutdialog.c:346
+#: ../gtk/gtkaboutdialog.c:345
msgid "License"
msgstr "Lizenz"
-#: ../gtk/gtkaboutdialog.c:347
+#: ../gtk/gtkaboutdialog.c:346
msgid "The license of the program"
msgstr "Die Lizenz des Programms"
#. Add the credits button
-#: ../gtk/gtkaboutdialog.c:739
+#: ../gtk/gtkaboutdialog.c:738
msgid "C_redits"
msgstr "_Mitwirkende"
#. Add the license button
-#: ../gtk/gtkaboutdialog.c:752
+#: ../gtk/gtkaboutdialog.c:751
msgid "_License"
msgstr "_Lizenz"
-#: ../gtk/gtkaboutdialog.c:957
+#: ../gtk/gtkaboutdialog.c:956
msgid "Could not show link"
msgstr "Link konnte nicht angezeigt werden"
-#: ../gtk/gtkaboutdialog.c:994
+#: ../gtk/gtkaboutdialog.c:993
msgid "Homepage"
msgstr "Homepage"
-#: ../gtk/gtkaboutdialog.c:1048
+#: ../gtk/gtkaboutdialog.c:1047
#, c-format
msgid "About %s"
msgstr "Info zu %s"
-#: ../gtk/gtkaboutdialog.c:2374
+#: ../gtk/gtkaboutdialog.c:2371
msgid "Created by"
msgstr "Erstellt von"
-#: ../gtk/gtkaboutdialog.c:2377
+#: ../gtk/gtkaboutdialog.c:2374
msgid "Documented by"
msgstr "Dokumentation von"
-#: ../gtk/gtkaboutdialog.c:2387
+#: ../gtk/gtkaboutdialog.c:2384
msgid "Translated by"
msgstr "Übersetzung von"
-#: ../gtk/gtkaboutdialog.c:2392
+#: ../gtk/gtkaboutdialog.c:2389
msgid "Artwork by"
msgstr "Grafiken von"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:158
+#: ../gtk/gtkaccellabel.c:156
msgctxt "keyboard label"
msgid "Shift"
msgstr "Umschalt"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:164
+#: ../gtk/gtkaccellabel.c:162
msgctxt "keyboard label"
msgid "Ctrl"
msgstr "Strg"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:170
+#: ../gtk/gtkaccellabel.c:168
msgctxt "keyboard label"
msgid "Alt"
msgstr "Alt"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:786
+#: ../gtk/gtkaccellabel.c:787
msgctxt "keyboard label"
msgid "Super"
msgstr "Super"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:799
+#: ../gtk/gtkaccellabel.c:800
msgctxt "keyboard label"
msgid "Hyper"
msgstr "Hyper"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:813
+#: ../gtk/gtkaccellabel.c:814
msgctxt "keyboard label"
msgid "Meta"
msgstr "Meta"
-#: ../gtk/gtkaccellabel.c:829
+#: ../gtk/gtkaccellabel.c:830
msgctxt "keyboard label"
msgid "Space"
msgstr "Leertaste"
-#: ../gtk/gtkaccellabel.c:832
+#: ../gtk/gtkaccellabel.c:833
msgctxt "keyboard label"
msgid "Backslash"
msgstr "Backslash"
-#: ../gtk/gtkappchooserbutton.c:264
+#: ../gtk/gtkappchooserbutton.c:268
msgid "Other application..."
msgstr "Andere Anwendung …"
msgid "Select an application to open \"%s\""
msgstr "Anwendung zum Öffnen von »%s« auswählen"
-#: ../gtk/gtkappchooserdialog.c:356 ../gtk/gtkappchooserwidget.c:642
+#: ../gtk/gtkappchooserdialog.c:356 ../gtk/gtkappchooserwidget.c:643
#, c-format
msgid "No applications available to open \"%s\""
msgstr "Keine Anwendung zum Öffnen von »%s« verfügbar"
msgid "_Select"
msgstr "Aus_wählen"
-#: ../gtk/gtkappchooserwidget.c:591
+#: ../gtk/gtkappchooserwidget.c:592
msgid "Default Application"
msgstr "Standard-Anwendung"
-#: ../gtk/gtkappchooserwidget.c:729
+#: ../gtk/gtkappchooserwidget.c:730
msgid "Recommended Applications"
msgstr "Empfohlene Anwendungen"
-#: ../gtk/gtkappchooserwidget.c:744
+#: ../gtk/gtkappchooserwidget.c:745
msgid "Related Applications"
msgstr "Zugehörige Anwendungen"
-#: ../gtk/gtkappchooserwidget.c:758
+#: ../gtk/gtkappchooserwidget.c:759
msgid "Other Applications"
msgstr "Weitere Anwendungen"
+#: ../gtk/gtkassistant.c:1000
+msgid "C_ontinue"
+msgstr "F_ortsetzen"
+
+#: ../gtk/gtkassistant.c:1003
+msgid "Go _Back"
+msgstr "_Zurück gehen"
+
+#: ../gtk/gtkassistant.c:1007
+msgid "_Finish"
+msgstr "_Fertigstellen"
+
#: ../gtk/gtkbuilderparser.c:342
#, c-format
msgid "Invalid type function on line %d: '%s'"
#. * text direction of RTL and specify "calendar:YM", then the year
#. * will appear to the right of the month.
#.
-#: ../gtk/gtkcalendar.c:871
+#: ../gtk/gtkcalendar.c:874
msgid "calendar:MY"
msgstr "calendar:MY"
#. * first day of the week to calendar:week_start:1 if you want Monday
#. * to be the first day of the week, and so on.
#.
-#: ../gtk/gtkcalendar.c:909
+#: ../gtk/gtkcalendar.c:912
msgid "calendar:week_start:0"
msgstr "calendar:week_start:1"
#. *
#. * If you don't understand this, leave it as "2000"
#.
-#: ../gtk/gtkcalendar.c:1910
+#: ../gtk/gtkcalendar.c:1913
msgctxt "year measurement template"
msgid "2000"
msgstr "2000"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638
+#: ../gtk/gtkcalendar.c:1944 ../gtk/gtkcalendar.c:2641
#, c-format
msgctxt "calendar:day:digits"
msgid "%d"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499
+#: ../gtk/gtkcalendar.c:1976 ../gtk/gtkcalendar.c:2502
#, c-format
msgctxt "calendar:week:digits"
msgid "%d"
#. *
#. * "%Y" is appropriate for most locales.
#.
-#: ../gtk/gtkcalendar.c:2268
+#: ../gtk/gtkcalendar.c:2271
msgctxt "calendar year format"
msgid "%Y"
msgstr "%Y"
#. This label is displayed in a treeview cell displaying
#. * a disabled accelerator key combination.
#.
-#: ../gtk/gtkcellrendereraccel.c:271
+#: ../gtk/gtkcellrendereraccel.c:286
msgctxt "Accelerator"
msgid "Disabled"
msgstr "Deaktiviert"
#. * an accelerator key combination that is not valid according
#. * to gtk_accelerator_valid().
#.
-#: ../gtk/gtkcellrendereraccel.c:281
+#: ../gtk/gtkcellrendereraccel.c:296
msgctxt "Accelerator"
msgid "Invalid"
msgstr "Ungültig"
#. * an accelerator when the cell is clicked to change the
#. * acelerator.
#.
-#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:729
+#: ../gtk/gtkcellrendereraccel.c:432 ../gtk/gtkcellrendereraccel.c:745
msgid "New accelerator..."
msgstr "Neue Tastenkombination …"
-#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452
+#: ../gtk/gtkcellrendererprogress.c:374 ../gtk/gtkcellrendererprogress.c:464
#, c-format
msgctxt "progress bar label"
msgid "%d %%"
msgid "Pick a Color"
msgstr "Wählen Sie eine Farbe"
-#: ../gtk/gtkcolorbutton.c:372
-msgid "Received invalid color data\n"
-msgstr "Ungültige Farbdaten erhalten\n"
-
-#: ../gtk/gtkcolorsel.c:415
+#: ../gtk/gtkcolorsel.c:416
msgid ""
"Select the color you want from the outer ring. Select the darkness or "
"lightness of that color using the inner triangle."
"Helligkeit dieser Farbe mit dem inneren Dreieck."
# gtk/gtkcolor
-#: ../gtk/gtkcolorsel.c:441
+#: ../gtk/gtkcolorsel.c:442
msgid ""
"Click the eyedropper, then click a color anywhere on your screen to select "
"that color."
"Klicken Sie auf die Pipette und dann Sie auf eine Farbe irgendwo auf Ihrem "
"Bildschirm, um sie auszuwählen"
-#: ../gtk/gtkcolorsel.c:451
+#: ../gtk/gtkcolorsel.c:452
msgid "_Hue:"
msgstr "_Ton:"
-#: ../gtk/gtkcolorsel.c:452
+#: ../gtk/gtkcolorsel.c:453
msgid "Position on the color wheel."
msgstr "Die Position auf dem Farbrad."
-#: ../gtk/gtkcolorsel.c:454
+#: ../gtk/gtkcolorsel.c:455
msgid "_Saturation:"
msgstr "_Sättigung:"
-#: ../gtk/gtkcolorsel.c:455
+#: ../gtk/gtkcolorsel.c:456
msgid "Intensity of the color."
msgstr "Intensität der Farbe."
-#: ../gtk/gtkcolorsel.c:456
+#: ../gtk/gtkcolorsel.c:457
msgid "_Value:"
msgstr "_Wert:"
-#: ../gtk/gtkcolorsel.c:457
+#: ../gtk/gtkcolorsel.c:458
msgid "Brightness of the color."
msgstr "Die Helligkeit der Farbe."
-#: ../gtk/gtkcolorsel.c:458
+#: ../gtk/gtkcolorsel.c:459
msgid "_Red:"
msgstr "_Rot:"
-#: ../gtk/gtkcolorsel.c:459
+#: ../gtk/gtkcolorsel.c:460
msgid "Amount of red light in the color."
msgstr "Der Rotanteil der Farbe."
-#: ../gtk/gtkcolorsel.c:460
+#: ../gtk/gtkcolorsel.c:461
msgid "_Green:"
msgstr "_Grün:"
-#: ../gtk/gtkcolorsel.c:461
+#: ../gtk/gtkcolorsel.c:462
msgid "Amount of green light in the color."
msgstr "Der Grünanteil der Farbe."
-#: ../gtk/gtkcolorsel.c:462
+#: ../gtk/gtkcolorsel.c:463
msgid "_Blue:"
msgstr "_Blau:"
-#: ../gtk/gtkcolorsel.c:463
+#: ../gtk/gtkcolorsel.c:464
msgid "Amount of blue light in the color."
msgstr "Der Blauanteil der Farbe."
-#: ../gtk/gtkcolorsel.c:466
+#: ../gtk/gtkcolorsel.c:467
msgid "Op_acity:"
msgstr "_Deckkraft:"
-#: ../gtk/gtkcolorsel.c:473 ../gtk/gtkcolorsel.c:483
+#: ../gtk/gtkcolorsel.c:475 ../gtk/gtkcolorsel.c:485
msgid "Transparency of the color."
msgstr "Transparenz der Farbe."
-#: ../gtk/gtkcolorsel.c:490
+#: ../gtk/gtkcolorsel.c:492
msgid "Color _name:"
msgstr "Farb_name:"
-#: ../gtk/gtkcolorsel.c:504
+#: ../gtk/gtkcolorsel.c:507
msgid ""
"You can enter an HTML-style hexadecimal color value, or simply a color name "
"such as 'orange' in this entry."
"Sie können in diesem Feld einen hexadezimalen Farbwert wie bei HTML oder "
"einen Farbnamen wie »orange« eingeben."
-#: ../gtk/gtkcolorsel.c:536
+#: ../gtk/gtkcolorsel.c:539
msgid "_Palette:"
msgstr "_Palette:"
-#: ../gtk/gtkcolorsel.c:565
+#: ../gtk/gtkcolorsel.c:569
msgid "Color Wheel"
msgstr "Farbrad"
-#: ../gtk/gtkcolorsel.c:1038
+#: ../gtk/gtkcolorsel.c:1042
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now. You can drag this color to a palette entry, or select this color as "
"current by dragging it to the other color swatch alongside."
msgstr ""
"Die zuvor gewählte Farbe im Vergleich mit der Farbe, die Sie nun auswählen. "
-"Sie können diese Farbe auf einen Paletteneintrag ziehen, oder sie als "
-"aktuell auswählen, indem Sie sie auf den anderen Farbfleck daneben ziehen."
+"Sie können diese Farbe auf einen Paletteneintrag ziehen, oder sie als aktuell "
+"auswählen, indem Sie sie auf den anderen Farbfleck daneben ziehen."
-#: ../gtk/gtkcolorsel.c:1044
+#: ../gtk/gtkcolorsel.c:1048
msgid ""
"The color you've chosen. You can drag this color to a palette entry to save "
"it for use in the future."
"Die von Ihnen gewählte Farbe. Sie können diese Farbe auf einen "
"Paletteneintrag ziehen, um sie für späteren Gebrauch zu speichern."
-#: ../gtk/gtkcolorsel.c:1050
+#: ../gtk/gtkcolorsel.c:1054
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now."
msgstr ""
"Die vorher gewählte Farbe, für Vergleichszwecke zur aktuell gewählten Farbe."
-#: ../gtk/gtkcolorsel.c:1054
+#: ../gtk/gtkcolorsel.c:1058
msgid "The color you've chosen."
msgstr "Die von Ihnen gewählte Farbe."
-#: ../gtk/gtkcolorsel.c:1456
+#: ../gtk/gtkcolorsel.c:1460
msgid "_Save color here"
msgstr "Farbe hier _speichern"
-#: ../gtk/gtkcolorsel.c:1661
+#: ../gtk/gtkcolorsel.c:1665
msgid ""
"Click this palette entry to make it the current color. To change this entry, "
"drag a color swatch here or right-click it and select \"Save color here.\""
msgstr ""
-"Klicken Sie auf diesen Paletteneintrag, um ihn zur aktuellen Farbe zu "
-"machen. Ziehen Sie einen Farbfleck auf diesen Eintrag oder klicken Sie mit "
-"rechts darauf und wählen Sie »Farbe hier speichern«, um ihn zu ändern."
+"Klicken Sie auf diesen Paletteneintrag, um ihn zur aktuellen Farbe zu machen. "
+"Ziehen Sie einen Farbfleck auf diesen Eintrag oder klicken Sie mit rechts "
+"darauf und wählen Sie »Farbe hier speichern«, um ihn zu ändern."
-#: ../gtk/gtkcolorseldialog.c:189
+#: ../gtk/gtkcolorseldialog.c:213
msgid "Color Selection"
msgstr "Farbwahl"
msgstr "default:mm"
#. And show the custom paper dialog
-#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3255
+#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3325
msgid "Manage Custom Sizes"
msgstr "Benutzerdefinierte Größen verwalten"
-#: ../gtk/gtkcustompaperunixdialog.c:532 ../gtk/gtkpagesetupunixdialog.c:788
+#: ../gtk/gtkcustompaperunixdialog.c:533 ../gtk/gtkpagesetupunixdialog.c:783
msgid "inch"
msgstr "Zoll"
-#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:786
+#: ../gtk/gtkcustompaperunixdialog.c:535 ../gtk/gtkpagesetupunixdialog.c:781
msgid "mm"
msgstr "mm"
# CHECK
-#: ../gtk/gtkcustompaperunixdialog.c:579
+#: ../gtk/gtkcustompaperunixdialog.c:580
msgid "Margins from Printer..."
msgstr "Ränder des Druckers …"
-#: ../gtk/gtkcustompaperunixdialog.c:745
+#: ../gtk/gtkcustompaperunixdialog.c:746
#, c-format
msgid "Custom Size %d"
msgstr "Benutzerdefinierte Größe %d"
-#: ../gtk/gtkcustompaperunixdialog.c:1057
+#: ../gtk/gtkcustompaperunixdialog.c:1084
msgid "_Width:"
msgstr "_Breite:"
-#: ../gtk/gtkcustompaperunixdialog.c:1069
+#: ../gtk/gtkcustompaperunixdialog.c:1097
msgid "_Height:"
msgstr "_Höhe:"
-#: ../gtk/gtkcustompaperunixdialog.c:1081
+#: ../gtk/gtkcustompaperunixdialog.c:1110
msgid "Paper Size"
msgstr "Papiergröße"
-#: ../gtk/gtkcustompaperunixdialog.c:1090
+#: ../gtk/gtkcustompaperunixdialog.c:1119
msgid "_Top:"
msgstr "_Oben:"
-#: ../gtk/gtkcustompaperunixdialog.c:1102
+#: ../gtk/gtkcustompaperunixdialog.c:1132
msgid "_Bottom:"
msgstr "_Unten:"
-#: ../gtk/gtkcustompaperunixdialog.c:1114
+#: ../gtk/gtkcustompaperunixdialog.c:1145
msgid "_Left:"
msgstr "_Links:"
-#: ../gtk/gtkcustompaperunixdialog.c:1126
+#: ../gtk/gtkcustompaperunixdialog.c:1158
msgid "_Right:"
msgstr "_Rechts:"
-#: ../gtk/gtkcustompaperunixdialog.c:1167
+#: ../gtk/gtkcustompaperunixdialog.c:1200
msgid "Paper Margins"
msgstr "Papierränder"
-#: ../gtk/gtkentry.c:8757 ../gtk/gtktextview.c:8272
+#: ../gtk/gtkentry.c:8949 ../gtk/gtktextview.c:8277
msgid "Input _Methods"
msgstr "Eingabe_methoden"
-#: ../gtk/gtkentry.c:8771 ../gtk/gtktextview.c:8286
+#: ../gtk/gtkentry.c:8963 ../gtk/gtktextview.c:8291
msgid "_Insert Unicode Control Character"
msgstr "_Unicode-Steuerzeichen einfügen"
-#: ../gtk/gtkentry.c:10179
+#: ../gtk/gtkentry.c:10434
msgid "Caps Lock and Num Lock are on"
msgstr "Feststelltaste und Nummernblock-Feststelltaste sind aktiviert"
-#: ../gtk/gtkentry.c:10181
+#: ../gtk/gtkentry.c:10436
msgid "Num Lock is on"
msgstr "Nummernblock-Feststelltaste ist aktiviert"
-#: ../gtk/gtkentry.c:10183
+#: ../gtk/gtkentry.c:10438
msgid "Caps Lock is on"
msgstr "Feststelltaste ist aktiviert"
+#. *
+#. * SECTION:gtkfilechooserbutton
+#. * @Short_description: A button to launch a file selection dialog
+#. * @Title: GtkFileChooserButton
+#. * @See_also:#GtkFileChooserDialog
+#. *
+#. * The #GtkFileChooserButton is a widget that lets the user select a
+#. * file. It implements the #GtkFileChooser interface. Visually, it is a
+#. * file name with a button to bring up a #GtkFileChooserDialog.
+#. * The user can then use that dialog to change the file associated with
+#. * that button. This widget does not support setting the
+#. * #GtkFileChooser:select-multiple property to %TRUE.
+#. *
+#. * <example>
+#. * <title>Create a button to let the user select a file in /etc</title>
+#. * <programlisting>
+#. * {
+#. * GtkWidget *button;
+#. *
+#. * button = gtk_file_chooser_button_new (_("Select a file"),
+#. * GTK_FILE_CHOOSER_ACTION_OPEN);
+#. * gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button),
+#. * "/etc");
+#. * }
+#. * </programlisting>
+#. * </example>
+#. *
+#. * The #GtkFileChooserButton supports the #GtkFileChooserAction<!-- -->s
+#. * %GTK_FILE_CHOOSER_ACTION_OPEN and %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
+#. *
+#. * <important>
+#. * The #GtkFileChooserButton will ellipsize the label,
+#. * and thus will thus request little horizontal space. To give the button
+#. * more space, you should call gtk_widget_get_preferred_size(),
+#. * gtk_file_chooser_button_set_width_chars(), or pack the button in
+#. * such a way that other interface elements give space to the widget.
+#. * </important>
+#.
#. **************** *
#. * Private Macros *
#. * ****************
-#: ../gtk/gtkfilechooserbutton.c:62
+#: ../gtk/gtkfilechooserbutton.c:105
msgid "Select a File"
msgstr "Datei auswählen"
-#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1865
+#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1809
msgid "Desktop"
msgstr "Desktop"
-#: ../gtk/gtkfilechooserbutton.c:64
+#: ../gtk/gtkfilechooserbutton.c:107
msgid "(None)"
msgstr "(keine)"
-#: ../gtk/gtkfilechooserbutton.c:1997
+#: ../gtk/gtkfilechooserbutton.c:2046
msgid "Other..."
msgstr "Andere …"
#: ../gtk/gtkfilechooserdefault.c:1035
msgid ""
-"You may only select folders. The item that you selected is not a folder; "
-"try using a different item."
+"You may only select folders. The item that you selected is not a folder; try "
+"using a different item."
msgstr ""
"Sie dürfen nur Ordner auswählen. Das von Ihnen ausgewählte Objekt ist kein "
"Ordner. Versuchen Sie, ein anderes Objekt auszuwählen."
#. * is a hostname. Nautilus and the panel contain the same string
#. * to translate.
#.
-#: ../gtk/gtkfilechooserdefault.c:1608
+#: ../gtk/gtkfilechooserdefault.c:1581
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s, %2$s"
-#: ../gtk/gtkfilechooserdefault.c:1784
+#: ../gtk/gtkfilechooserdefault.c:1730
msgid "Search"
msgstr "Suchen"
-#: ../gtk/gtkfilechooserdefault.c:1808 ../gtk/gtkfilechooserdefault.c:9494
+#: ../gtk/gtkfilechooserdefault.c:1754 ../gtk/gtkfilechooserdefault.c:4871
msgid "Recently Used"
msgstr "Zuletzt verwendet"
-#: ../gtk/gtkfilechooserdefault.c:2464
+#: ../gtk/gtkfilechooserdefault.c:2353
msgid "Select which types of files are shown"
msgstr "Wählen Sie die anzuzeigenden Dateitypen"
-#: ../gtk/gtkfilechooserdefault.c:2823
+#: ../gtk/gtkfilechooserdefault.c:2712
#, c-format
msgid "Add the folder '%s' to the bookmarks"
msgstr "Ordner »%s« zu den Lesezeichen hinzufügen"
-#: ../gtk/gtkfilechooserdefault.c:2867
+#: ../gtk/gtkfilechooserdefault.c:2756
#, c-format
msgid "Add the current folder to the bookmarks"
msgstr "Aktuellen Ordner zu den Lesezeichen hinzufügen"
-#: ../gtk/gtkfilechooserdefault.c:2869
+#: ../gtk/gtkfilechooserdefault.c:2758
#, c-format
msgid "Add the selected folders to the bookmarks"
msgstr "Ausgewählte Ordner zu den Lesezeichen hinzufügen"
-#: ../gtk/gtkfilechooserdefault.c:2907
+#: ../gtk/gtkfilechooserdefault.c:2796
#, c-format
msgid "Remove the bookmark '%s'"
msgstr "Lesezeichen »%s« entfernen"
-#: ../gtk/gtkfilechooserdefault.c:2909
+#: ../gtk/gtkfilechooserdefault.c:2798
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr "Lesezeichen »%s« kann nicht entfernt werden"
-#: ../gtk/gtkfilechooserdefault.c:2916 ../gtk/gtkfilechooserdefault.c:3800
+#: ../gtk/gtkfilechooserdefault.c:2805 ../gtk/gtkfilechooserdefault.c:3690
msgid "Remove the selected bookmark"
msgstr "Ausgewähltes Lesezeichen entfernen"
-#: ../gtk/gtkfilechooserdefault.c:3479
+#: ../gtk/gtkfilechooserdefault.c:3369
msgid "Remove"
msgstr "Entfernen"
-#: ../gtk/gtkfilechooserdefault.c:3488
+#: ../gtk/gtkfilechooserdefault.c:3378
msgid "Rename..."
msgstr "Umbenennen …"
#. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3652
+#: ../gtk/gtkfilechooserdefault.c:3542
msgid "Places"
msgstr "Orte"
#. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3709
+#: ../gtk/gtkfilechooserdefault.c:3599
msgid "_Places"
msgstr "_Orte"
-#: ../gtk/gtkfilechooserdefault.c:3788
+#: ../gtk/gtkfilechooserdefault.c:3678
msgid "Add the selected folder to the Bookmarks"
msgstr "Den ausgewählten Ordner zu den Lesezeichen hinzufügen"
-#: ../gtk/gtkfilechooserdefault.c:3935
+#: ../gtk/gtkfilechooserdefault.c:3825
msgid "Could not select file"
msgstr "Datei konnte nicht ausgewählt werden"
-#: ../gtk/gtkfilechooserdefault.c:4108
+#: ../gtk/gtkfilechooserdefault.c:3998
msgid "_Add to Bookmarks"
msgstr "Zu Lesezeichen _hinzufügen"
-#: ../gtk/gtkfilechooserdefault.c:4121
+#: ../gtk/gtkfilechooserdefault.c:4011
msgid "Show _Hidden Files"
msgstr "_Verborgene Dateien anzeigen"
-#: ../gtk/gtkfilechooserdefault.c:4128
+#: ../gtk/gtkfilechooserdefault.c:4018
msgid "Show _Size Column"
msgstr "Spalte »_Größe« anzeigen"
-#: ../gtk/gtkfilechooserdefault.c:4353
+#: ../gtk/gtkfilechooserdefault.c:4243
msgid "Files"
msgstr "Dateien"
-#: ../gtk/gtkfilechooserdefault.c:4404
+#: ../gtk/gtkfilechooserdefault.c:4294
msgid "Name"
msgstr "Name"
-#: ../gtk/gtkfilechooserdefault.c:4427
+#: ../gtk/gtkfilechooserdefault.c:4317
msgid "Size"
msgstr "Größe"
# CHECK
-#: ../gtk/gtkfilechooserdefault.c:4441
+#: ../gtk/gtkfilechooserdefault.c:4331
msgid "Modified"
msgstr "Letzte Änderung"
#. Label
-#: ../gtk/gtkfilechooserdefault.c:4696 ../gtk/gtkprinteroptionwidget.c:793
+#: ../gtk/gtkfilechooserdefault.c:4412 ../gtk/gtkprinteroptionwidget.c:799
msgid "_Name:"
msgstr "_Name:"
-#: ../gtk/gtkfilechooserdefault.c:4739
-msgid "_Browse for other folders"
-msgstr "Ordner-_Browser"
-
-#: ../gtk/gtkfilechooserdefault.c:5009
+#: ../gtk/gtkfilechooserdefault.c:4709
msgid "Type a file name"
msgstr "Geben Sie einen Dateinamen an"
+#: ../gtk/gtkfilechooserdefault.c:4756 ../gtk/gtkfilechooserdefault.c:4767
+msgid "Please select a folder below"
+msgstr "Wählen Sie nachfolgend einen Ordner"
+
+#: ../gtk/gtkfilechooserdefault.c:4762
+msgid "Please type a file name"
+msgstr "Geben Sie einen Dateinamen ein"
+
#. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5052
+#: ../gtk/gtkfilechooserdefault.c:4833
msgid "Create Fo_lder"
msgstr "Ordner anle_gen"
-#: ../gtk/gtkfilechooserdefault.c:5062
+#: ../gtk/gtkfilechooserdefault.c:4881
+msgid "Search:"
+msgstr "Suchen:"
+
+#: ../gtk/gtkfilechooserdefault.c:4928
msgid "_Location:"
msgstr "_Ort:"
-#: ../gtk/gtkfilechooserdefault.c:5267
+#: ../gtk/gtkfilechooserdefault.c:5245
msgid "Save in _folder:"
msgstr "In _Ordner speichern:"
-#: ../gtk/gtkfilechooserdefault.c:5269
+#: ../gtk/gtkfilechooserdefault.c:5247
msgid "Create in _folder:"
msgstr "In _Ordner anlegen"
-#: ../gtk/gtkfilechooserdefault.c:6352
+#: ../gtk/gtkfilechooserdefault.c:6341
#, c-format
msgid "Could not read the contents of %s"
msgstr "Inhalt von %s konnte nicht gelesen werden"
-#: ../gtk/gtkfilechooserdefault.c:6356
+#: ../gtk/gtkfilechooserdefault.c:6345
msgid "Could not read the contents of the folder"
msgstr "Inhalt des Ordners konnte nicht gelesen werden"
-#: ../gtk/gtkfilechooserdefault.c:6449 ../gtk/gtkfilechooserdefault.c:6517
-#: ../gtk/gtkfilechooserdefault.c:6669
+#: ../gtk/gtkfilechooserdefault.c:6438 ../gtk/gtkfilechooserdefault.c:6506
+#: ../gtk/gtkfilechooserdefault.c:6658
msgid "Unknown"
msgstr "Unbekannt"
-#: ../gtk/gtkfilechooserdefault.c:6464
+#: ../gtk/gtkfilechooserdefault.c:6453
msgid "%H:%M"
msgstr "%H:%M"
-#: ../gtk/gtkfilechooserdefault.c:6466
+#: ../gtk/gtkfilechooserdefault.c:6455
msgid "Yesterday at %H:%M"
msgstr "Gestern um %H:%M"
-#: ../gtk/gtkfilechooserdefault.c:7135
+#: ../gtk/gtkfilechooserdefault.c:7140
msgid "Cannot change to folder because it is not local"
msgstr ""
"Es konnte nicht in den angegebenen Ordner gewechselt werden, weil dieser "
"nicht lokal ist."
-#: ../gtk/gtkfilechooserdefault.c:7732 ../gtk/gtkfilechooserdefault.c:7753
+#: ../gtk/gtkfilechooserdefault.c:7740 ../gtk/gtkfilechooserdefault.c:7761
#, c-format
msgid "Shortcut %s already exists"
msgstr "Das Lesezeichen %s existiert bereits"
-#: ../gtk/gtkfilechooserdefault.c:7843
+#: ../gtk/gtkfilechooserdefault.c:7851
#, c-format
msgid "Shortcut %s does not exist"
msgstr "Das Lesezeichen %s existiert nicht"
-#: ../gtk/gtkfilechooserdefault.c:8102 ../gtk/gtkprintunixdialog.c:480
+#: ../gtk/gtkfilechooserdefault.c:8097 ../gtk/gtkprintunixdialog.c:550
#, c-format
msgid "A file named \"%s\" already exists. Do you want to replace it?"
msgstr "Eine Datei namens »%s« existiert bereits. Möchten Sie diese ersetzen?"
-#: ../gtk/gtkfilechooserdefault.c:8105 ../gtk/gtkprintunixdialog.c:484
+#: ../gtk/gtkfilechooserdefault.c:8100 ../gtk/gtkprintunixdialog.c:554
#, c-format
msgid ""
"The file already exists in \"%s\". Replacing it will overwrite its contents."
"Die Datei existiert bereits in »%s«. Durch ihr Ersetzen wird sämtlicher "
"Inhalt überschrieben."
-#: ../gtk/gtkfilechooserdefault.c:8110 ../gtk/gtkprintunixdialog.c:491
+#: ../gtk/gtkfilechooserdefault.c:8105 ../gtk/gtkprintunixdialog.c:561
msgid "_Replace"
msgstr "_Ersetzen"
-#: ../gtk/gtkfilechooserdefault.c:8836
+#: ../gtk/gtkfilechooserdefault.c:8900
msgid "Could not start the search process"
msgstr "Der Suchprozess konnte nicht gestartet werden"
-#: ../gtk/gtkfilechooserdefault.c:8837
+#: ../gtk/gtkfilechooserdefault.c:8901
msgid ""
"The program was not able to create a connection to the indexer daemon. "
"Please make sure it is running."
"Es konnte keine Verbindung zum Indexer-Dienst hergestellt werden. Bitte "
"stellen Sie sicher, dass er läuft."
-#: ../gtk/gtkfilechooserdefault.c:8851
+#: ../gtk/gtkfilechooserdefault.c:8915
msgid "Could not send the search request"
msgstr "Die Suchanfrage konnte nicht gestellt werden"
-#: ../gtk/gtkfilechooserdefault.c:9070
-msgid "Search:"
-msgstr "Suchen:"
-
-#: ../gtk/gtkfilechooserdefault.c:9678
+#: ../gtk/gtkfilechooserdefault.c:9707
#, c-format
msgid "Could not mount %s"
msgstr "%s konnte nicht eingebunden werden"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry, when the user enters an invalid path.
-#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1179
+#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1174
+#: ../gtk/gtkfilesystem.c:721
+#, c-format
msgid "Invalid path"
msgstr "Ungültiger Pfad"
#. translators: this text is shown when there are no completions
#. * for something the user typed in a file chooser entry
#.
-#: ../gtk/gtkfilechooserentry.c:1111
+#: ../gtk/gtkfilechooserentry.c:1106
msgid "No match"
msgstr "Kein Treffer"
#. translators: this text is shown when there is exactly one completion
#. * for something the user typed in a file chooser entry
#.
-#: ../gtk/gtkfilechooserentry.c:1122
+#: ../gtk/gtkfilechooserentry.c:1117
msgid "Sole completion"
msgstr "Einzelabschluss"
#. * entry is a complete filename, but could be continued to find
#. * a longer match
#.
-#: ../gtk/gtkfilechooserentry.c:1138
+#: ../gtk/gtkfilechooserentry.c:1133
msgid "Complete, but not unique"
msgstr "Komplett, aber nicht eindeutig"
#. Translators: this text is shown while the system is searching
#. * for possible completions for filenames in a file chooser entry.
-#: ../gtk/gtkfilechooserentry.c:1170
+#: ../gtk/gtkfilechooserentry.c:1165
msgid "Completing..."
msgstr "Aufgabe wird abgeschlossen …"
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user enters something like
#. * "sftp://blahblah" in an app that only supports local filenames.
-#: ../gtk/gtkfilechooserentry.c:1192 ../gtk/gtkfilechooserentry.c:1217
+#: ../gtk/gtkfilechooserentry.c:1187 ../gtk/gtkfilechooserentry.c:1212
msgid "Only local files may be selected"
msgstr "Nur lokale Dateien können ausgewählt werden"
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user hasn't entered the first '/'
#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]")
-#: ../gtk/gtkfilechooserentry.c:1201
+#: ../gtk/gtkfilechooserentry.c:1196
msgid "Incomplete hostname; end it with '/'"
msgstr "Unvollständiger Rechnername; er muss mit »/« enden"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry when the user enters a path that does not exist
#. * and then hits Tab
-#: ../gtk/gtkfilechooserentry.c:1212
+#: ../gtk/gtkfilechooserentry.c:1207
msgid "Path does not exist"
msgstr "Der Pfad existiert nicht"
msgid "File System"
msgstr "Dateisystem"
-#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266
+#: ../gtk/gtkfontbutton.c:153 ../gtk/gtkfontbutton.c:277
msgid "Pick a Font"
msgstr "Wählen Sie eine Schrift"
#. Initialize fields
-#: ../gtk/gtkfontbutton.c:260
+#: ../gtk/gtkfontbutton.c:271
msgid "Sans 12"
msgstr "Sans 12"
-#: ../gtk/gtkfontbutton.c:785
+#: ../gtk/gtkfontbutton.c:796
msgid "Font"
msgstr "Schrift"
#. This is the default text shown in the preview entry, though the user
#. can set it. Remember that some fonts only have capital letters.
-#: ../gtk/gtkfontsel.c:100
+#: ../gtk/gtkfontsel.c:119
msgid "abcdefghijk ABCDEFGHIJK"
msgstr "abcdefghijk ABCDEFGHIJK"
-#: ../gtk/gtkfontsel.c:366
+#: ../gtk/gtkfontsel.c:388
msgid "_Family:"
msgstr "_Familie:"
-#: ../gtk/gtkfontsel.c:372
+#: ../gtk/gtkfontsel.c:395
msgid "_Style:"
msgstr "_Stil:"
-#: ../gtk/gtkfontsel.c:378
+#: ../gtk/gtkfontsel.c:402
msgid "Si_ze:"
msgstr "_Größe:"
#. create the text entry widget
-#: ../gtk/gtkfontsel.c:554
+#: ../gtk/gtkfontsel.c:579
msgid "_Preview:"
msgstr "_Vorschau:"
-#: ../gtk/gtkfontsel.c:1653
+#: ../gtk/gtkfontsel.c:1701
msgid "Font Selection"
msgstr "Schriftwahl"
-#. Remove this icon source so we don't keep trying to
-#. * load it.
-#.
-#: ../gtk/gtkiconfactory.c:1358
-#, c-format
-msgid "Error loading icon: %s"
-msgstr "Fehler beim Laden des Symbols: %s"
-
-#: ../gtk/gtkicontheme.c:1336
-#, c-format
-msgid ""
-"Could not find the icon '%s'. The '%s' theme\n"
-"was not found either, perhaps you need to install it.\n"
-"You can get a copy from:\n"
-"\t%s"
-msgstr ""
-"Das Symbol »%s« konnte nicht gefunden werden,\n"
-"ebenso wenig wie das Thema »%s«. Möglicherweise müssen Sie es installieren.\n"
-"Sie können sich eine Kopie herunterladen unter:\n"
-"\t%s"
-
-#: ../gtk/gtkicontheme.c:1518
+#: ../gtk/gtkicontheme.c:1605
#, c-format
msgid "Icon '%s' not present in theme"
msgstr "Symbol »%s« nicht im Thema vorhanden"
-#: ../gtk/gtkicontheme.c:3038
+#: ../gtk/gtkicontheme.c:3115
msgid "Failed to load icon"
msgstr "Symbol konnte nicht geladen werden"
-#: ../gtk/gtkimmodule.c:526
+#: ../gtk/gtkimmodule.c:525
msgid "Simple"
msgstr "Einfach"
msgstr "System (%s)"
#. Open Link
-#: ../gtk/gtklabel.c:6247
+#: ../gtk/gtklabel.c:6309
msgid "_Open Link"
msgstr "Link ö_ffnen"
#. Copy Link Address
-#: ../gtk/gtklabel.c:6259
+#: ../gtk/gtklabel.c:6321
msgid "Copy _Link Address"
msgstr "Link-Adresse _kopieren"
-#: ../gtk/gtklinkbutton.c:482
+#: ../gtk/gtklinkbutton.c:484
msgid "Copy URL"
msgstr "URL kopieren"
-#: ../gtk/gtklinkbutton.c:645
+#: ../gtk/gtklinkbutton.c:647
msgid "Invalid URI"
msgstr "Ungültige Adresse"
+#: ../gtk/gtklockbutton.c:288
+msgid "Lock"
+msgstr "Sperren"
+
+#: ../gtk/gtklockbutton.c:297
+msgid "Unlock"
+msgstr "Entsperren"
+
+#: ../gtk/gtklockbutton.c:306
+msgid ""
+"Dialog is unlocked.\n"
+"Click to prevent further changes"
+msgstr ""
+"Dialog ist entsperrt.\n"
+"Klicken Sie, um Ände-\n"
+"rungen zu verhindern"
+
+#: ../gtk/gtklockbutton.c:315
+msgid ""
+"Dialog is locked.\n"
+"Click to make changes"
+msgstr ""
+"Dialog ist gesperrt.\n"
+"Klicken Sie für\n"
+"Änderungen"
+
+#: ../gtk/gtklockbutton.c:324
+msgid ""
+"System policy prevents changes.\n"
+"Contact your system administrator"
+msgstr ""
+"Die Systemrichtlinien verhindern Änderungen.\n"
+"Bitte kontaktieren Sie Ihren Systemadministrator für Hilfe."
+
#. Description of --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:563
+#: ../gtk/gtkmain.c:562
msgid "Load additional GTK+ modules"
msgstr "Zusätzliche GTK+-Module laden"
#. Placeholder in --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:564
+#: ../gtk/gtkmain.c:563
msgid "MODULES"
msgstr "MODULE"
#. Description of --g-fatal-warnings in --help output
-#: ../gtk/gtkmain.c:566
+#: ../gtk/gtkmain.c:565
msgid "Make all warnings fatal"
msgstr "Alle Warnungen als fatal betrachten"
#. Description of --gtk-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:569
+#: ../gtk/gtkmain.c:568
msgid "GTK+ debugging flags to set"
msgstr "Zu übergebende GTK+-Fehlerdiagnoseoptionen"
#. Description of --gtk-no-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:572
+#: ../gtk/gtkmain.c:571
msgid "GTK+ debugging flags to unset"
msgstr "Nicht zu übergebende GTK+-Fehlerdiagnoseoptionen"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: ../gtk/gtkmain.c:846
+#: ../gtk/gtkmain.c:848
msgid "default:LTR"
msgstr "default:LTR"
-#: ../gtk/gtkmain.c:910
+#: ../gtk/gtkmain.c:914
#, c-format
msgid "Cannot open display: %s"
msgstr "Anzeige kann nicht geöffnet werden: %s"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "GTK+ Options"
msgstr "GTK+-Optionen"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "Show GTK+ Options"
msgstr "GTK+-Optionen anzeigen"
-#: ../gtk/gtkmountoperation.c:491
+#: ../gtk/gtkmountoperation.c:489
msgid "Co_nnect"
msgstr "_Verbinden"
-#: ../gtk/gtkmountoperation.c:558
+#: ../gtk/gtkmountoperation.c:559
msgid "Connect _anonymously"
msgstr "_Anonym verbinden"
-#: ../gtk/gtkmountoperation.c:567
+#: ../gtk/gtkmountoperation.c:568
msgid "Connect as u_ser:"
msgstr "Als _Benutzer verbinden:"
-#: ../gtk/gtkmountoperation.c:605
+#: ../gtk/gtkmountoperation.c:602
msgid "_Username:"
msgstr "_Benutzername:"
-#: ../gtk/gtkmountoperation.c:610
+#: ../gtk/gtkmountoperation.c:607
msgid "_Domain:"
msgstr "_Domäne:"
-#: ../gtk/gtkmountoperation.c:616
+#: ../gtk/gtkmountoperation.c:613
msgid "_Password:"
msgstr "_Passwort:"
-#: ../gtk/gtkmountoperation.c:634
+#: ../gtk/gtkmountoperation.c:631
msgid "Forget password _immediately"
msgstr "Passwort sofort _vergessen"
-#: ../gtk/gtkmountoperation.c:644
+#: ../gtk/gtkmountoperation.c:641
msgid "Remember password until you _logout"
msgstr "Passwort erst beim Ab_melden vergessen"
-#: ../gtk/gtkmountoperation.c:654
+#: ../gtk/gtkmountoperation.c:651
msgid "Remember _forever"
msgstr "_Nie vergessen"
-#: ../gtk/gtkmountoperation.c:883
+#: ../gtk/gtkmountoperation.c:880
#, c-format
msgid "Unknown Application (PID %d)"
msgstr "Unbekannte Anwendung (Kennung %d)"
-#: ../gtk/gtkmountoperation.c:1066
+#: ../gtk/gtkmountoperation.c:1063
msgid "Unable to end process"
msgstr "Prozess kann nicht beendet werden"
-#: ../gtk/gtkmountoperation.c:1103
+#: ../gtk/gtkmountoperation.c:1100
msgid "_End Process"
msgstr "Prozess b_eenden"
"implementiert."
#. translators: this string is a name for the 'less' command
-#: ../gtk/gtkmountoperation-x11.c:859
+#: ../gtk/gtkmountoperation-x11.c:959
msgid "Terminal Pager"
msgstr "Terminal-Pager"
-#: ../gtk/gtkmountoperation-x11.c:860
+#: ../gtk/gtkmountoperation-x11.c:960
msgid "Top Command"
msgstr "Oberster Befehl"
-#: ../gtk/gtkmountoperation-x11.c:861
+#: ../gtk/gtkmountoperation-x11.c:961
msgid "Bourne Again Shell"
msgstr "Bourne-Again-Shell"
-#: ../gtk/gtkmountoperation-x11.c:862
+#: ../gtk/gtkmountoperation-x11.c:962
msgid "Bourne Shell"
msgstr "Bourne-Shell"
-#: ../gtk/gtkmountoperation-x11.c:863
+#: ../gtk/gtkmountoperation-x11.c:963
msgid "Z Shell"
msgstr "Z-Shell"
-#: ../gtk/gtkmountoperation-x11.c:960
+#: ../gtk/gtkmountoperation-x11.c:1060
#, c-format
msgid "Cannot end process with PID %d: %s"
msgstr "Prozess mit Kennung %d kann nicht abgewürgt werden: %s"
-#: ../gtk/gtknotebook.c:4805 ../gtk/gtknotebook.c:7461
+#: ../gtk/gtknotebook.c:4922 ../gtk/gtknotebook.c:7611
#, c-format
msgid "Page %u"
msgstr "Seite %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"
msgid "Not a valid page setup file"
msgstr "Keine gültige Seiteneinstellungs-Datei"
-#: ../gtk/gtkpagesetupunixdialog.c:177
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "Any Printer"
msgstr "Beliebiger Drucker"
# CHECK
-#: ../gtk/gtkpagesetupunixdialog.c:177
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "For portable documents"
msgstr "Für portable Dokumente"
-#: ../gtk/gtkpagesetupunixdialog.c:807
+#: ../gtk/gtkpagesetupunixdialog.c:802
#, c-format
msgid ""
"Margins:\n"
" Oben: %s %s\n"
" Unten: %s %s"
-#: ../gtk/gtkpagesetupunixdialog.c:856 ../gtk/gtkprintunixdialog.c:3306
+#: ../gtk/gtkpagesetupunixdialog.c:851 ../gtk/gtkprintunixdialog.c:3376
msgid "Manage Custom Sizes..."
msgstr "Benutzerdefinierte Größen verwalten …"
-#: ../gtk/gtkpagesetupunixdialog.c:907
+#: ../gtk/gtkpagesetupunixdialog.c:902
msgid "_Format for:"
msgstr "_Format für:"
# Auch wenn im Original die Tastenkürzel kollidieren (_Preferences),
# wir verwenden Ei_genschaften.
-#: ../gtk/gtkpagesetupunixdialog.c:929 ../gtk/gtkprintunixdialog.c:3478
+#: ../gtk/gtkpagesetupunixdialog.c:925 ../gtk/gtkprintunixdialog.c:3556
msgid "_Paper size:"
msgstr "Ei_genschaften:"
-#: ../gtk/gtkpagesetupunixdialog.c:960
+#: ../gtk/gtkpagesetupunixdialog.c:958
msgid "_Orientation:"
msgstr "_Ausrichtung:"
-#: ../gtk/gtkpagesetupunixdialog.c:1024 ../gtk/gtkprintunixdialog.c:3540
+#: ../gtk/gtkpagesetupunixdialog.c:1023 ../gtk/gtkprintunixdialog.c:3620
msgid "Page Setup"
msgstr "Seite einrichten"
-#: ../gtk/gtkpathbar.c:157
+#: ../gtk/gtkpathbar.c:156
msgid "Up Path"
msgstr "Pfad aufwärts"
-#: ../gtk/gtkpathbar.c:159
+#: ../gtk/gtkpathbar.c:158
msgid "Down Path"
msgstr "Pfad abwärts"
-#: ../gtk/gtkpathbar.c:1518
+#: ../gtk/gtkpathbar.c:1516
msgid "File System Root"
msgstr "Dateisystem-Wurzel"
msgid "Authentication"
msgstr "Legitimation"
-#: ../gtk/gtkprinteroptionwidget.c:686
+#: ../gtk/gtkprinteroptionwidget.c:692
msgid "Not available"
msgstr "Nicht verfügbar"
-#: ../gtk/gtkprinteroptionwidget.c:786
+#: ../gtk/gtkprinteroptionwidget.c:792
msgid "Select a folder"
msgstr "Ordner auswählen"
-#: ../gtk/gtkprinteroptionwidget.c:805
+#: ../gtk/gtkprinteroptionwidget.c:812
msgid "_Save in folder:"
msgstr "In _Ordner speichern:"
#. Translators: this is a printer status.
#: ../gtk/gtkprintoperation-win32.c:615
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2022
msgid "Paused"
msgstr "Pausiert"
msgid "Unspecified error"
msgstr "Unbekannter Fehler"
-#: ../gtk/gtkprintunixdialog.c:618
+#: ../gtk/gtkprintunixdialog.c:688
msgid "Getting printer information failed"
msgstr "Holen der Informationen über Drucker ist gescheitert"
-#: ../gtk/gtkprintunixdialog.c:1873
+#: ../gtk/gtkprintunixdialog.c:1942
msgid "Getting printer information..."
msgstr "Informationen über Drucker werden geholt …"
-#: ../gtk/gtkprintunixdialog.c:2147
+#: ../gtk/gtkprintunixdialog.c:2216
msgid "Printer"
msgstr "Drucker"
#. Translators: this is the header for the location column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2157
+#: ../gtk/gtkprintunixdialog.c:2226
msgid "Location"
msgstr "Standort"
#. Translators: this is the header for the printer status column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2168
+#: ../gtk/gtkprintunixdialog.c:2237
msgid "Status"
msgstr "Status"
-#: ../gtk/gtkprintunixdialog.c:2194
+#: ../gtk/gtkprintunixdialog.c:2263
msgid "Range"
msgstr "Seiten"
-#: ../gtk/gtkprintunixdialog.c:2198
+#: ../gtk/gtkprintunixdialog.c:2267
msgid "_All Pages"
msgstr "_Alle Seiten"
-#: ../gtk/gtkprintunixdialog.c:2205
+#: ../gtk/gtkprintunixdialog.c:2274
msgid "C_urrent Page"
msgstr "Aktue_lle Seite"
-#: ../gtk/gtkprintunixdialog.c:2215
+#: ../gtk/gtkprintunixdialog.c:2284
msgid "Se_lection"
msgstr "Au_swahl"
-#: ../gtk/gtkprintunixdialog.c:2224
+#: ../gtk/gtkprintunixdialog.c:2293
msgid "Pag_es:"
msgstr "_Seiten:"
-#: ../gtk/gtkprintunixdialog.c:2225
+#: ../gtk/gtkprintunixdialog.c:2294
msgid ""
"Specify one or more page ranges,\n"
" e.g. 1-3,7,11"
"Geben Sie einen oder mehrere Druckbereiche ein,\n"
"z.B. 5-11,19,85"
-#: ../gtk/gtkprintunixdialog.c:2235
+#: ../gtk/gtkprintunixdialog.c:2304
msgid "Pages"
msgstr "Seiten"
-#: ../gtk/gtkprintunixdialog.c:2248
+#: ../gtk/gtkprintunixdialog.c:2317
msgid "Copies"
msgstr "Kopien"
#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns
-#: ../gtk/gtkprintunixdialog.c:2253
+#: ../gtk/gtkprintunixdialog.c:2322
msgid "Copie_s:"
msgstr "_Kopien:"
-#: ../gtk/gtkprintunixdialog.c:2271
+#: ../gtk/gtkprintunixdialog.c:2341
msgid "C_ollate"
msgstr "_Zusammentragen"
-#: ../gtk/gtkprintunixdialog.c:2279
+#: ../gtk/gtkprintunixdialog.c:2349
msgid "_Reverse"
msgstr "_Rückwärts"
-#: ../gtk/gtkprintunixdialog.c:2299
+#: ../gtk/gtkprintunixdialog.c:2369
msgid "General"
msgstr "Allgemein"
#. Translators: These strings name the possible arrangements of
#. * multiple pages on a sheet when printing
#.
-#: ../gtk/gtkprintunixdialog.c:3039
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, top to bottom"
msgstr "Links nach rechts, oben nach unten"
-#: ../gtk/gtkprintunixdialog.c:3039
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, bottom to top"
msgstr "Links nach rechts, unten nach oben"
-#: ../gtk/gtkprintunixdialog.c:3040
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, top to bottom"
msgstr "Rechts nach links, oben nach unten"
-#: ../gtk/gtkprintunixdialog.c:3040
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, bottom to top"
msgstr "Rechts nach links, unten nach oben"
-#: ../gtk/gtkprintunixdialog.c:3041
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, left to right"
msgstr "Oben nach unten, links nach rechts"
-#: ../gtk/gtkprintunixdialog.c:3041
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, right to left"
msgstr "Oben nach unten, rechts nach links"
-#: ../gtk/gtkprintunixdialog.c:3042
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, left to right"
msgstr "Unten nach oben, links nach rechts"
-#: ../gtk/gtkprintunixdialog.c:3042
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, right to left"
msgstr "Unten nach oben, rechts nach links"
#. Translators, this string is used to label the option in the print
#. * dialog that controls in what order multiple pages are arranged
#.
-#: ../gtk/gtkprintunixdialog.c:3046 ../gtk/gtkprintunixdialog.c:3059
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3570
+#: ../gtk/gtkprintunixdialog.c:3116 ../gtk/gtkprintunixdialog.c:3129
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3609
msgid "Page Ordering"
msgstr "Reihenfolge"
-#: ../gtk/gtkprintunixdialog.c:3075
+#: ../gtk/gtkprintunixdialog.c:3145
msgid "Left to right"
msgstr "Links nach rechts"
-#: ../gtk/gtkprintunixdialog.c:3076
+#: ../gtk/gtkprintunixdialog.c:3146
msgid "Right to left"
msgstr "Rechts nach links"
-#: ../gtk/gtkprintunixdialog.c:3088
+#: ../gtk/gtkprintunixdialog.c:3158
msgid "Top to bottom"
msgstr "Oben nach unten"
-#: ../gtk/gtkprintunixdialog.c:3089
+#: ../gtk/gtkprintunixdialog.c:3159
msgid "Bottom to top"
msgstr "Unten nach oben"
-#: ../gtk/gtkprintunixdialog.c:3329
+#: ../gtk/gtkprintunixdialog.c:3399
msgid "Layout"
msgstr "Layout"
-#: ../gtk/gtkprintunixdialog.c:3333
+#: ../gtk/gtkprintunixdialog.c:3403
msgid "T_wo-sided:"
msgstr "_Beidseitig"
-#: ../gtk/gtkprintunixdialog.c:3348
+#: ../gtk/gtkprintunixdialog.c:3419
msgid "Pages per _side:"
msgstr "Seiten pro _Blatt:"
-#: ../gtk/gtkprintunixdialog.c:3365
+#: ../gtk/gtkprintunixdialog.c:3437
msgid "Page or_dering:"
msgstr "_Reihenfolge:"
-#: ../gtk/gtkprintunixdialog.c:3381
+#: ../gtk/gtkprintunixdialog.c:3454
msgid "_Only print:"
msgstr "Be_schränken auf:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3396
+#: ../gtk/gtkprintunixdialog.c:3470
msgid "All sheets"
msgstr "Alle Seiten"
-#: ../gtk/gtkprintunixdialog.c:3397
+#: ../gtk/gtkprintunixdialog.c:3471
msgid "Even sheets"
msgstr "Gerade Seiten"
-#: ../gtk/gtkprintunixdialog.c:3398
+#: ../gtk/gtkprintunixdialog.c:3472
msgid "Odd sheets"
msgstr "Ungerade Seiten"
-#: ../gtk/gtkprintunixdialog.c:3401
+#: ../gtk/gtkprintunixdialog.c:3475
msgid "Sc_ale:"
msgstr "S_kalierung:"
-#: ../gtk/gtkprintunixdialog.c:3428
+#: ../gtk/gtkprintunixdialog.c:3503
msgid "Paper"
msgstr "Papier"
-#: ../gtk/gtkprintunixdialog.c:3432
+#: ../gtk/gtkprintunixdialog.c:3507
msgid "Paper _type:"
msgstr "Papier_typ:"
-#: ../gtk/gtkprintunixdialog.c:3447
+#: ../gtk/gtkprintunixdialog.c:3523
msgid "Paper _source:"
msgstr "Papiere_inzug:"
-#: ../gtk/gtkprintunixdialog.c:3462
+#: ../gtk/gtkprintunixdialog.c:3539
msgid "Output t_ray:"
msgstr "Ausgabes_chacht:"
-#: ../gtk/gtkprintunixdialog.c:3502
+#: ../gtk/gtkprintunixdialog.c:3581
msgid "Or_ientation:"
msgstr "_Ausrichtung:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3517
+#: ../gtk/gtkprintunixdialog.c:3597
msgid "Portrait"
msgstr "Hochformat"
-#: ../gtk/gtkprintunixdialog.c:3518
+#: ../gtk/gtkprintunixdialog.c:3598
msgid "Landscape"
msgstr "Querformat"
-#: ../gtk/gtkprintunixdialog.c:3519
+#: ../gtk/gtkprintunixdialog.c:3599
msgid "Reverse portrait"
msgstr "Kopfstehendes Hochformat"
-#: ../gtk/gtkprintunixdialog.c:3520
+#: ../gtk/gtkprintunixdialog.c:3600
msgid "Reverse landscape"
msgstr "Kopfstehendes Querformat"
-#: ../gtk/gtkprintunixdialog.c:3565
+#: ../gtk/gtkprintunixdialog.c:3645
msgid "Job Details"
msgstr "Druckauftrag"
-#: ../gtk/gtkprintunixdialog.c:3571
+#: ../gtk/gtkprintunixdialog.c:3651
msgid "Pri_ority:"
msgstr "_Priorität:"
# CHECK
-#: ../gtk/gtkprintunixdialog.c:3586
+#: ../gtk/gtkprintunixdialog.c:3667
msgid "_Billing info:"
msgstr "_Abrechnungsinfo:"
# CHECK
-#: ../gtk/gtkprintunixdialog.c:3604
+#: ../gtk/gtkprintunixdialog.c:3686
msgid "Print Document"
msgstr "Druckauftrag ausführen"
#. Translators: this is one of the choices for the print at option
#. * in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3613
+#: ../gtk/gtkprintunixdialog.c:3695
msgid "_Now"
msgstr "_Jetzt"
-#: ../gtk/gtkprintunixdialog.c:3624
+#: ../gtk/gtkprintunixdialog.c:3706
msgid "A_t:"
msgstr "_Um:"
#. * You can remove the am/pm values below for your locale if they are not
#. * supported.
#.
-#: ../gtk/gtkprintunixdialog.c:3630
+#: ../gtk/gtkprintunixdialog.c:3712
msgid ""
"Specify the time of print,\n"
" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
"Geben Sie an, wann der Druckauftrag\n"
"starten soll, z.B.: 15:30, 14:50:45"
-#: ../gtk/gtkprintunixdialog.c:3640
+#: ../gtk/gtkprintunixdialog.c:3722
msgid "Time of print"
msgstr "Uhrzeit des Druckauftrags"
-#: ../gtk/gtkprintunixdialog.c:3656
+#: ../gtk/gtkprintunixdialog.c:3738
msgid "On _hold"
msgstr "In _Warteschleife stellen"
-#: ../gtk/gtkprintunixdialog.c:3657
+#: ../gtk/gtkprintunixdialog.c:3739
msgid "Hold the job until it is explicitly released"
msgstr "Hält den Druckauftrag an, bis er explizit freigegeben wird"
-#: ../gtk/gtkprintunixdialog.c:3677
+#: ../gtk/gtkprintunixdialog.c:3759
msgid "Add Cover Page"
msgstr "Deckblatt hinzufügen"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3686
+#: ../gtk/gtkprintunixdialog.c:3768
msgid "Be_fore:"
msgstr "Be_vor:"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3704
+#: ../gtk/gtkprintunixdialog.c:3787
msgid "_After:"
msgstr "_Nach:"
#. Translators: this is the tab label for the notebook tab containing
#. * job-specific options in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3722
+#: ../gtk/gtkprintunixdialog.c:3806
msgid "Job"
msgstr "Auftrag"
-#: ../gtk/gtkprintunixdialog.c:3788
+#: ../gtk/gtkprintunixdialog.c:3872
msgid "Advanced"
msgstr "Erweitert"
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3826
+#: ../gtk/gtkprintunixdialog.c:3910
msgid "Image Quality"
msgstr "Druckqualität"
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3830
+#: ../gtk/gtkprintunixdialog.c:3914
msgid "Color"
msgstr "Farbe"
# CHECK
#. Translators: this will appear as tab label in print dialog.
#. It's a typographical term, as in "Binding and finishing"
-#: ../gtk/gtkprintunixdialog.c:3835
+#: ../gtk/gtkprintunixdialog.c:3919
msgid "Finishing"
msgstr "Nachbearbeitung"
-#: ../gtk/gtkprintunixdialog.c:3845
+#: ../gtk/gtkprintunixdialog.c:3929
msgid "Some of the settings in the dialog conflict"
msgstr "Einige Einstellungen in diesem Dialog stehen in Konflikt zueinander"
-#: ../gtk/gtkprintunixdialog.c:3868
+#: ../gtk/gtkprintunixdialog.c:3952
msgid "Print"
msgstr "Drucken"
-#: ../gtk/gtkrc.c:948
-#, c-format
-msgid "Unable to locate image file in pixmap_path: \"%s\""
-msgstr "Bilddatei konnte nicht in pixmap_path gefunden werden: »%s«"
-
-#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173
-#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616
-#, c-format
-msgid "This function is not implemented for widgets of class '%s'"
-msgstr "Diese Funktion ist für Widgets der Klasse »%s« nicht implementiert"
-
-#: ../gtk/gtkrecentchooserdefault.c:483
+#: ../gtk/gtkrecentchooserdefault.c:485
msgid "Select which type of documents are shown"
msgstr "Wählen Sie die anzuzeigenden Dokumententypen"
-#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174
+#: ../gtk/gtkrecentchooserdefault.c:1142 ../gtk/gtkrecentchooserdefault.c:1179
#, c-format
msgid "No item for URI '%s' found"
msgstr "Es konnte kein Eintrag für die Adresse »%s« gefunden werden"
-#: ../gtk/gtkrecentchooserdefault.c:1301
+#: ../gtk/gtkrecentchooserdefault.c:1306
msgid "Untitled filter"
msgstr "Namenloser Filter"
-#: ../gtk/gtkrecentchooserdefault.c:1654
+#: ../gtk/gtkrecentchooserdefault.c:1659
msgid "Could not remove item"
msgstr "Eintrag konnte nicht entfernt werden"
-#: ../gtk/gtkrecentchooserdefault.c:1698
+#: ../gtk/gtkrecentchooserdefault.c:1703
msgid "Could not clear list"
msgstr "Liste konnte nicht geleert werden"
-#: ../gtk/gtkrecentchooserdefault.c:1782
+#: ../gtk/gtkrecentchooserdefault.c:1787
msgid "Copy _Location"
msgstr "O_rt kopieren"
-#: ../gtk/gtkrecentchooserdefault.c:1795
+#: ../gtk/gtkrecentchooserdefault.c:1800
msgid "_Remove From List"
msgstr "Von Liste _entfernen"
-#: ../gtk/gtkrecentchooserdefault.c:1804
+#: ../gtk/gtkrecentchooserdefault.c:1809
msgid "_Clear List"
msgstr "_Liste leeren"
# CHECK
-#: ../gtk/gtkrecentchooserdefault.c:1818
+#: ../gtk/gtkrecentchooserdefault.c:1823
msgid "Show _Private Resources"
msgstr "_Private Ressourcen anzeigen"
#: ../gtk/gtkrecentmanager.c:2442
#, c-format
msgid "No registered application with name '%s' for item with URI '%s' found"
-msgstr "Keine registrierte Anwendung namens »%s« für Objektadresse »%s« gefunden"
-
-#: ../gtk/gtkspinner.c:287
-msgctxt "throbbing progress animation widget"
-msgid "Spinner"
-msgstr "Spinner"
-
-#: ../gtk/gtkspinner.c:288
-msgid "Provides visual indication of progress"
-msgstr "Ermöglicht die visuelle Darstellung des Fortschritts"
+msgstr ""
+"Keine registrierte Anwendung namens »%s« für Objektadresse »%s« gefunden"
#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
#: ../gtk/gtkstock.c:313
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
#. * the state
#.
-#: ../gtk/gtkswitch.c:338 ../gtk/gtkswitch.c:398 ../gtk/gtkswitch.c:605
+#: ../gtk/gtkswitch.c:336 ../gtk/gtkswitch.c:396 ../gtk/gtkswitch.c:603
msgctxt "switch"
msgid "ON"
msgstr "AN"
#. Translators: if the "off" state label requires more than three
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
#.
-#: ../gtk/gtkswitch.c:346 ../gtk/gtkswitch.c:399 ../gtk/gtkswitch.c:634
+#: ../gtk/gtkswitch.c:344 ../gtk/gtkswitch.c:397 ../gtk/gtkswitch.c:632
msgctxt "switch"
msgid "OFF"
msgstr "AUS"
-#: ../gtk/gtkswitch.c:1061
-msgctxt "light switch widget"
-msgid "Switch"
-msgstr "Schalter"
-
-#: ../gtk/gtkswitch.c:1062
-msgid "Switches between on and off states"
-msgstr "Schaltet zwischen »an« und »aus« um"
-
#: ../gtk/gtktextbufferrichtext.c:651
#, c-format
msgid "Unknown error when trying to deserialize %s"
msgid ""
"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
msgstr ""
-"»%s« konnte für das Attribut »%s« nicht in einen Wert vom Typ »%s« konvertiert "
-"werden"
+"»%s« konnte für das Attribut »%s« nicht in einen Wert vom Typ »%s« "
+"konvertiert werden"
#: ../gtk/gtktextbufferserialize.c:1211
#, c-format
msgid "ZWNJ Zero width _non-joiner"
msgstr "ZWNJ-_Trenner mit Breite null"
-#: ../gtk/gtkuimanager.c:1506
+#: ../gtk/gtkuimanager.c:1760
#, c-format
msgid "Unexpected start tag '%s' on line %d char %d"
msgstr "Unerwarteter, öffnender Tag »%s« in Zeile %d, Zeichen %d"
-#: ../gtk/gtkuimanager.c:1596
+#: ../gtk/gtkuimanager.c:1850
#, c-format
msgid "Unexpected character data on line %d char %d"
msgstr "Unerwartete Zeichendaten in Zeile %d, Zeichen %d"
-#: ../gtk/gtkuimanager.c:2428
+#: ../gtk/gtkuimanager.c:2682
msgid "Empty"
msgstr "Leer"
msgid "ROC 8k"
msgstr "ROC 8k"
-#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552
-#, c-format
-msgid "different idatas found for symlinked '%s' and '%s'\n"
-msgstr "Unterschiedliche idatas für Symlinks »%s« und »%s« gefunden\n"
-
#: ../gtk/updateiconcache.c:1370
#, c-format
msgid "Failed to write header\n"
msgid "X Input Method"
msgstr "X-Eingabemethode"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:814
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:828
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1038
msgid "Username:"
msgstr "Benutzername:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:815
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:829
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1047
msgid "Password:"
msgstr "Passwort:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:854
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1060
#, c-format
msgid "Authentication is required to print document '%s' on printer %s"
msgstr "Das Drucken von Dokument »%s« auf Drucker %s erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:856
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:870
#, c-format
msgid "Authentication is required to print a document on %s"
msgstr "Das Drucken eines Dokuments auf %s erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:860
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
#, c-format
msgid "Authentication is required to get attributes of job '%s'"
msgstr ""
"Das Auslesen von Attributen des Druckauftrags »%s« erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:862
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:876
msgid "Authentication is required to get attributes of a job"
msgstr "Das Auslesen von Attributen eines Druckauftrags erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:866
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:880
#, c-format
msgid "Authentication is required to get attributes of printer %s"
msgstr "Das Auslesen von Attributen des Druckers %s erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:882
msgid "Authentication is required to get attributes of a printer"
msgstr "Das Auslesen von Attributen eines Druckers erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:871
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:885
#, c-format
msgid "Authentication is required to get default printer of %s"
msgstr "Das Feststellen des Vorgabedruckers auf %s erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:888
#, c-format
msgid "Authentication is required to get printers from %s"
msgstr "Das Auslesen von Druckern auf %s erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:879
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:893
#, c-format
msgid "Authentication is required to get a file from %s"
msgstr "Der Zugriff auf eine Datei von %s erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:881
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:895
#, c-format
msgid "Authentication is required on %s"
msgstr "Der Zugriff auf %s erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1032
msgid "Domain:"
msgstr "Domäne:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1062
#, c-format
msgid "Authentication is required to print document '%s'"
msgstr "Das Drucken eines Dokuments »%s« erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1067
#, c-format
msgid "Authentication is required to print this document on printer %s"
msgstr "Das Drucken dieses Dokuments auf Drucker %s erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1069
msgid "Authentication is required to print this document"
msgstr "Das Drucken dieses Dokuments erfordert Legitimation"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
#, c-format
msgid "Printer '%s' is low on toner."
msgstr "Drucker »%s« hat nur noch wenig Toner."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
#, c-format
msgid "Printer '%s' has no toner left."
msgstr "Drucker »%s« hat keinen Toner mehr."
#. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1693
#, c-format
msgid "Printer '%s' is low on developer."
msgstr "Drucker »%s« hat nur noch wenig Entwickler."
#. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1695
#, c-format
msgid "Printer '%s' is out of developer."
msgstr "Drucker »%s« hat keinen Entwickler mehr."
#. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1697
#, c-format
msgid "Printer '%s' is low on at least one marker supply."
msgstr ""
"Drucker »%s« hat nur noch wenig Farbe für mindestens einen Farbbehälter."
#. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1699
#, c-format
msgid "Printer '%s' is out of at least one marker supply."
msgstr "Drucker »%s« hat keine Farbe mehr für mindestens einen Farbbehälter."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1700
#, c-format
msgid "The cover is open on printer '%s'."
msgstr "Die Abdeckung des Druckers »%s« ist geöffnet."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1701
#, c-format
msgid "The door is open on printer '%s'."
msgstr "Die Klappe des Druckers »%s« ist geöffnet."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1702
#, c-format
msgid "Printer '%s' is low on paper."
msgstr "Der Drucker »%s« hat nur noch wenig Papier."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1703
#, c-format
msgid "Printer '%s' is out of paper."
msgstr "Der Drucker »%s« hat kein Papier mehr."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1704
#, c-format
msgid "Printer '%s' is currently offline."
msgstr "Der Drucker »%s« ist momentan nicht betriebsbereit."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1705
#, c-format
msgid "There is a problem on printer '%s'."
msgstr "Es besteht ein Problem mit dem Drucker »%s«."
#. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2019
msgid "Paused ; Rejecting Jobs"
msgstr "Pausiert; Aufträge werden abgewiesen"
#. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2025
msgid "Rejecting Jobs"
msgstr "Aufträge werden abgewiesen"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
msgid "Two Sided"
msgstr "Beidseitig"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799
msgid "Paper Type"
msgstr "Papierart"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
msgid "Paper Source"
msgstr "Papiereinzug"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801
msgid "Output Tray"
msgstr "Ausgabeschacht"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
msgid "Resolution"
msgstr "Auflösung"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803
msgid "GhostScript pre-filtering"
msgstr "GhostScript-Vorfilterung"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2792
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
msgid "One Sided"
msgstr "Einseitig"
#. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2794
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
msgid "Long Edge (Standard)"
msgstr "Langer Rand (Vorgabe)"
#. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2796
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
msgid "Short Edge (Flip)"
msgstr "Kurzer Rand (Umdrehen)"
#. Translators: this is an option of "Paper Source"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2808
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2820
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2828
msgid "Auto Select"
msgstr "Automatische Auswahl"
#. Translators: this is an option of "Paper Source"
#. Translators: this is an option of "Resolution"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2804
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2806
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2810
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3306
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2822
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2824
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3326
msgid "Printer Default"
msgstr "Vorgabe-Drucker"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2832
msgid "Embed GhostScript fonts only"
msgstr "Nur GhostScript-Schriften einbinden"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2834
msgid "Convert to PS level 1"
msgstr "Zu PS Level 1 konvertieren"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2836
msgid "Convert to PS level 2"
msgstr "Zu PS Level 2 konvertieren"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2838
msgid "No pre-filtering"
msgstr "Keine Vorfilterung"
#. 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:2827
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2847
msgid "Miscellaneous"
msgstr "Erweitert"
#. Translators: These strings name the possible values of the
#. * job priority option in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Urgent"
msgstr "Dringend"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "High"
msgstr "Hoch"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Medium"
msgstr "Mittel"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Low"
msgstr "Niedrig"
#. Translators, this string is used to label the pages-per-sheet option
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3554
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3593
msgid "Pages per Sheet"
msgstr "Seiten pro Blatt"
#. Translators, this string is used to label the job priority option
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3591
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3630
msgid "Job Priority"
msgstr "Priorität"
#. Translators, this string is used to label the billing info entry
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3602
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3641
msgid "Billing Info"
msgstr "Abrechnungsinfo"
#. Translators, these strings are names for various 'standard' cover
#. * pages that the printing system may support.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "None"
msgstr "Keine"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Classified"
msgstr "Klassifiziert"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Confidential"
msgstr "Vertraulich"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Secret"
msgstr "Geheim"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Standard"
msgstr "Standard"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Top Secret"
msgstr "Streng geheim"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Unclassified"
msgstr "Unklassifiziert"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3652
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3691
msgid "Before"
msgstr "Vorne"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3667
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706
msgid "After"
msgstr "Hinten"
#. * a print job is printed. Possible values are 'now', a specified time,
#. * or 'on hold'
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3726
msgid "Print at"
msgstr "Drucken um"
#. 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:3698
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
msgid "Print at time"
msgstr "Drucken zu Uhrzeit"
#. * size. The two placeholders are replaced with the width and height
#. * in points. E.g: "Custom 230.4x142.9"
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3733
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3772
#, c-format
msgid "Custom %sx%s"
msgstr "Benutzerdefiniert %s×%s"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3853
+msgid "Printer Profile"
+msgstr "Druckerfarbprofil"
+
+#. TRANSLATORS: this is when color profile information is unavailable
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3860
+msgid "Unavailable"
+msgstr "Nicht verfügbar"
+
+#. TRANSLATORS: when we're running an old CUPS, and
+#. * it hasn't registered the device with colord
+#: ../modules/printbackends/cups/gtkprintercups.c:222
+msgid "Color management unavailable"
+msgstr "Farbverwaltung ist nicht verfügbar"
+
+#. TRANSLATORS: when there is no color profile available
+#: ../modules/printbackends/cups/gtkprintercups.c:234
+msgid "No profile available"
+msgstr "Kein Profil verfügbar"
+
+#. TRANSLATORS: when the color profile has no title
+#: ../modules/printbackends/cups/gtkprintercups.c:245
+msgid "Unspecified profile"
+msgstr "Nicht angegebenes Profil"
+
#. default filename used for print-to-file
#: ../modules/printbackends/file/gtkprintbackendfile.c:250
#, c-format
"Bild »%s« konnte nicht geladen werden: Grund unbekannt, vermutlich eine "
"defekte Bilddatei"
+#~ msgid "Received invalid color data\n"
+#~ msgstr "Ungültige Farbdaten erhalten\n"
+
+#~ msgid "Error loading icon: %s"
+#~ msgstr "Fehler beim Laden des Symbols: %s"
+
+#~ msgid ""
+#~ "Could not find the icon '%s'. The '%s' theme\n"
+#~ "was not found either, perhaps you need to install it.\n"
+#~ "You can get a copy from:\n"
+#~ "\t%s"
+#~ msgstr ""
+#~ "Das Symbol »%s« konnte nicht gefunden werden,\n"
+#~ "ebenso wenig wie das Thema »%s«. Möglicherweise müssen Sie es "
+#~ "installieren.\n"
+#~ "Sie können sich eine Kopie herunterladen unter:\n"
+#~ "\t%s"
+
+#~ msgid "Unable to locate image file in pixmap_path: \"%s\""
+#~ msgstr "Bilddatei konnte nicht in pixmap_path gefunden werden: »%s«"
+
+#~ msgid "This function is not implemented for widgets of class '%s'"
+#~ msgstr "Diese Funktion ist für Widgets der Klasse »%s« nicht implementiert"
+
+#~ msgid "different idatas found for symlinked '%s' and '%s'\n"
+#~ msgstr "Unterschiedliche idatas für Symlinks »%s« und »%s« gefunden\n"
+
+#~ msgid "_Browse for other folders"
+#~ msgstr "Ordner-_Browser"
+
#~ msgid "_Add"
#~ msgstr "_Hinzufügen"
#~ msgstr "Bildlader-Modul konnte nicht geladen werden: %s: %s"
#~ msgid ""
-#~ "Image-loading module %s does not export the proper interface; perhaps "
-#~ "it's from a different GTK version?"
+#~ "Image-loading module %s does not export the proper interface; perhaps it's "
+#~ "from a different GTK version?"
#~ msgstr ""
-#~ "Bildlader-Modul %s exportiert nicht die richtige Schnittstelle; "
-#~ "vielleicht stammt es aus einer anderen GTK-Version?"
+#~ "Bildlader-Modul %s exportiert nicht die richtige Schnittstelle; vielleicht "
+#~ "stammt es aus einer anderen GTK-Version?"
#~ msgid "Image type '%s' is not supported"
#~ msgstr "Bildtyp »%s« wird nicht unterstützt"
#~ msgid "Error writing to image file: %s"
#~ msgstr "Fehler beim Schreiben einer Bilddatei (%s)"
-#~ msgid ""
-#~ "This build of gdk-pixbuf does not support saving the image format: %s"
+#~ msgid "This build of gdk-pixbuf does not support saving the image format: %s"
#~ msgstr ""
#~ "Diese Fassung von gdk-pixbuf unterstützt das Speichern in diesem "
#~ "Bildformat nicht: %s"
#~ msgstr "PNM-Bildlader unterstützt dieses PNM-Unterformat nicht"
#~ msgid "Raw PNM formats require exactly one whitespace before sample data"
-#~ msgstr ""
-#~ "Rohe PNM-Formate verlangen genau einen Leerraum vor den Sample-Daten"
+#~ msgstr "Rohe PNM-Formate verlangen genau einen Leerraum vor den Sample-Daten"
#~ msgid "Cannot allocate memory for loading PNM image"
#~ msgstr ""
#~ msgid "Cannot allocate memory for loading XPM image"
#~ msgstr ""
-#~ "Der zum Laden eines XPM-Bildes verwendete Speicher konnte nicht "
-#~ "zugewiesen werden"
+#~ "Der zum Laden eines XPM-Bildes verwendete Speicher konnte nicht zugewiesen "
+#~ "werden"
#~ msgid "Cannot read XPM colormap"
#~ msgstr "XPM-Farbtabelle konnte nicht gelesen werden"
#~ msgid "Invalid filename: %s"
#~ msgstr "Ungültiger Dateiname: %s"
-#~ msgid ""
-#~ "Could not add a bookmark for '%s' because it is an invalid path name."
+#~ msgid "Could not add a bookmark for '%s' because it is an invalid path name."
#~ msgstr ""
#~ "Es konnte kein Lesezeichen für »%s« hinzugefügt werden, da dies ein "
#~ "ungültiger Pfadname ist."
#~ "The name \"%s\" is not valid because it contains the character \"%s\". "
#~ "Please use a different name."
#~ msgstr ""
-#~ "Der Name »%s« ist ungültig, da er das Zeichen »%s« enthält. Bitte verwenden "
-#~ "Sie einen anderen Namen."
+#~ "Der Name »%s« ist ungültig, da er das Zeichen »%s« enthält. Bitte "
+#~ "verwenden Sie einen anderen Namen."
#~ msgid "Bookmark saving failed: %s"
#~ msgstr "Speichern des Lesezeichens gescheitert: %s"
#~ msgid ""
#~ "Line %d, column %d: expected \"%s\" or \"%s\", but found \"%s\" instead"
-#~ msgstr "Zeile %d, Spalte %d: »%s« oder »%s« wurde erwartet, aber »%s« gefunden"
+#~ msgstr ""
+#~ "Zeile %d, Spalte %d: »%s« oder »%s« wurde erwartet, aber »%s« gefunden"
#~ msgid "Error creating directory '%s': %s"
#~ msgstr "Fehler beim Anlegen des Ordners »%s«: %s"
# Pablo Gonzalo del Campo <pablodc@bigfoot.com>, 2002, 2003.
# Juan Manuel García Molina <juanma_gm@wanadoo.es>, 2003.
# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2003 - 2006.
-# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011.
# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2010, 2011.
+# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: gtk+.master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk"
"%2b&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2011-06-16 07:20+0000\n"
-"PO-Revision-Date: 2011-06-19 17:15+0200\n"
-"Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
-"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
+"POT-Creation-Date: 2011-07-10 12:45+0000\n"
+"PO-Revision-Date: 2011-07-10 21:04+0200\n"
+"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
+"Language-Team: Español <gnome-es-list@gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bits\n"
+"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../gdk/gdk.c:135
#, c-format
#. 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:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573
+#: ../gdk/gdk.c:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:569 ../gtk/gtkmain.c:572
msgid "FLAGS"
msgstr "OPCIONES"
msgstr[0] "Aberiendo %d elemento"
msgstr[1] "Abriendo %d elementos"
+#: ../gtk/a11y/gtkspinneraccessible.c:42
+msgctxt "throbbing progress animation widget"
+msgid "Spinner"
+msgstr "Marcador incrementable"
+
+#: ../gtk/a11y/gtkspinneraccessible.c:43
+msgid "Provides visual indication of progress"
+msgstr "Proporciona una indicación visual del progreso"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:65
+msgctxt "light switch widget"
+msgid "Switch"
+msgstr "Interruptor"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:66
+msgid "Switches between on and off states"
+msgstr "Cambia entre los estados encendido y apagado"
+
#. Translators: this is the license preamble; the string at the end
#. * contains the URL of the license.
#.
msgid "Other Applications"
msgstr "Otras aplicaciones"
-#: ../gtk/gtkassistant.c:919
-#| msgctxt "Stock label"
-#| msgid "C_onnect"
+#: ../gtk/gtkassistant.c:1000
msgid "C_ontinue"
msgstr "C_onectar"
-#: ../gtk/gtkassistant.c:922
-#| msgctxt "Stock label, navigation"
-#| msgid "_Back"
+#: ../gtk/gtkassistant.c:1003
msgid "Go _Back"
msgstr "A_trás"
-#: ../gtk/gtkassistant.c:926
-#| msgctxt "print operation status"
-#| msgid "Finished"
+#: ../gtk/gtkassistant.c:1007
msgid "_Finish"
msgstr "_Terminar"
#. * text direction of RTL and specify "calendar:YM", then the year
#. * will appear to the right of the month.
#.
-#: ../gtk/gtkcalendar.c:870
+#: ../gtk/gtkcalendar.c:874
msgid "calendar:MY"
msgstr "calendar:MY"
#. * first day of the week to calendar:week_start:1 if you want Monday
#. * to be the first day of the week, and so on.
#.
-#: ../gtk/gtkcalendar.c:908
+#: ../gtk/gtkcalendar.c:912
msgid "calendar:week_start:0"
msgstr "calendar:week_start:1"
#. *
#. * If you don't understand this, leave it as "2000"
#.
-#: ../gtk/gtkcalendar.c:1909
+#: ../gtk/gtkcalendar.c:1913
msgctxt "year measurement template"
msgid "2000"
msgstr "2000"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1940 ../gtk/gtkcalendar.c:2637
+#: ../gtk/gtkcalendar.c:1944 ../gtk/gtkcalendar.c:2641
#, c-format
msgctxt "calendar:day:digits"
msgid "%d"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1972 ../gtk/gtkcalendar.c:2498
+#: ../gtk/gtkcalendar.c:1976 ../gtk/gtkcalendar.c:2502
#, c-format
msgctxt "calendar:week:digits"
msgid "%d"
#. *
#. * "%Y" is appropriate for most locales.
#.
-#: ../gtk/gtkcalendar.c:2267
+#: ../gtk/gtkcalendar.c:2271
msgctxt "calendar year format"
msgid "%Y"
msgstr "%Y"
msgid "Pick a Color"
msgstr "Escoja un color"
-#: ../gtk/gtkcolorsel.c:417
+#: ../gtk/gtkcolorsel.c:416
msgid ""
"Select the color you want from the outer ring. Select the darkness or "
"lightness of that color using the inner triangle."
"Seleccionar el color que desea desde el anillo exterior. Seleccionar la "
"oscuridad o luminosidad de ese color usando el triángulo interior."
-#: ../gtk/gtkcolorsel.c:443
+#: ../gtk/gtkcolorsel.c:442
msgid ""
"Click the eyedropper, then click a color anywhere on your screen to select "
"that color."
"Pulse en el gotero, luego pulse sobre cualquier color que haya en su "
"pantalla para seleccionar ese color."
-#: ../gtk/gtkcolorsel.c:453
+#: ../gtk/gtkcolorsel.c:452
msgid "_Hue:"
msgstr "_Matiz:"
-#: ../gtk/gtkcolorsel.c:454
+#: ../gtk/gtkcolorsel.c:453
msgid "Position on the color wheel."
msgstr "Posición en la rueda de colores."
-#: ../gtk/gtkcolorsel.c:456
+#: ../gtk/gtkcolorsel.c:455
msgid "_Saturation:"
msgstr "_Saturación:"
-#: ../gtk/gtkcolorsel.c:457
+#: ../gtk/gtkcolorsel.c:456
msgid "Intensity of the color."
msgstr "Intensidad del color."
-#: ../gtk/gtkcolorsel.c:458
+#: ../gtk/gtkcolorsel.c:457
msgid "_Value:"
msgstr "_Valor:"
-#: ../gtk/gtkcolorsel.c:459
+#: ../gtk/gtkcolorsel.c:458
msgid "Brightness of the color."
msgstr "Brillo del color."
-#: ../gtk/gtkcolorsel.c:460
+#: ../gtk/gtkcolorsel.c:459
msgid "_Red:"
msgstr "_Rojo:"
-#: ../gtk/gtkcolorsel.c:461
+#: ../gtk/gtkcolorsel.c:460
msgid "Amount of red light in the color."
msgstr "Cantidad de luz roja en el color."
-#: ../gtk/gtkcolorsel.c:462
+#: ../gtk/gtkcolorsel.c:461
msgid "_Green:"
msgstr "_Verde:"
-#: ../gtk/gtkcolorsel.c:463
+#: ../gtk/gtkcolorsel.c:462
msgid "Amount of green light in the color."
msgstr "Cantidad de luz verde en el color."
-#: ../gtk/gtkcolorsel.c:464
+#: ../gtk/gtkcolorsel.c:463
msgid "_Blue:"
msgstr "_Azul:"
-#: ../gtk/gtkcolorsel.c:465
+#: ../gtk/gtkcolorsel.c:464
msgid "Amount of blue light in the color."
msgstr "Cantidad de luz azul en el color."
-#: ../gtk/gtkcolorsel.c:468
+#: ../gtk/gtkcolorsel.c:467
msgid "Op_acity:"
msgstr "_Opacidad:"
-#: ../gtk/gtkcolorsel.c:476 ../gtk/gtkcolorsel.c:486
+#: ../gtk/gtkcolorsel.c:475 ../gtk/gtkcolorsel.c:485
msgid "Transparency of the color."
msgstr "Transparencia del color."
-#: ../gtk/gtkcolorsel.c:493
+#: ../gtk/gtkcolorsel.c:492
msgid "Color _name:"
msgstr "_Nombre del color:"
-#: ../gtk/gtkcolorsel.c:508
+#: ../gtk/gtkcolorsel.c:507
msgid ""
"You can enter an HTML-style hexadecimal color value, or simply a color name "
"such as 'orange' in this entry."
"Puede introducir en esta entrada un valor de color en estilo HTML "
"hexadecimal, o simplemente un nombre de color como «orange»."
-#: ../gtk/gtkcolorsel.c:540
+#: ../gtk/gtkcolorsel.c:539
msgid "_Palette:"
msgstr "_Paleta:"
-#: ../gtk/gtkcolorsel.c:570
+#: ../gtk/gtkcolorsel.c:569
msgid "Color Wheel"
msgstr "Rueda de color"
-#: ../gtk/gtkcolorsel.c:1043
+#: ../gtk/gtkcolorsel.c:1042
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now. You can drag this color to a palette entry, or select this color as "
"seleccionar este color como actual arrastrándolo al otro color a lo largo de "
"la muestra."
-#: ../gtk/gtkcolorsel.c:1049
+#: ../gtk/gtkcolorsel.c:1048
msgid ""
"The color you've chosen. You can drag this color to a palette entry to save "
"it for use in the future."
"El color elegido. Puede arrastrar este color a una entrada de la paleta para "
"guardarlo para usarlo en el futuro."
-#: ../gtk/gtkcolorsel.c:1055
+#: ../gtk/gtkcolorsel.c:1054
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now."
"El color anteriormente seleccionado, para compararlo con el color que está "
"seleccionando ahora"
-#: ../gtk/gtkcolorsel.c:1059
+#: ../gtk/gtkcolorsel.c:1058
msgid "The color you've chosen."
msgstr "El color que ha elegido."
-#: ../gtk/gtkcolorsel.c:1461
+#: ../gtk/gtkcolorsel.c:1460
msgid "_Save color here"
msgstr "_Guardar color aquí"
-#: ../gtk/gtkcolorsel.c:1666
+#: ../gtk/gtkcolorsel.c:1665
msgid ""
"Click this palette entry to make it the current color. To change this entry, "
"drag a color swatch here or right-click it and select \"Save color here.\""
msgid "Paper Margins"
msgstr "Márgenes del papel"
-#: ../gtk/gtkentry.c:8928 ../gtk/gtktextview.c:8274
+#: ../gtk/gtkentry.c:8949 ../gtk/gtktextview.c:8277
msgid "Input _Methods"
msgstr "_Métodos de entrada"
-#: ../gtk/gtkentry.c:8942 ../gtk/gtktextview.c:8288
+#: ../gtk/gtkentry.c:8963 ../gtk/gtktextview.c:8291
msgid "_Insert Unicode Control Character"
msgstr "_Insertar un carácter de control Unicode"
-#: ../gtk/gtkentry.c:10413
+#: ../gtk/gtkentry.c:10434
msgid "Caps Lock and Num Lock are on"
msgstr "Bloq Mayús y Bloq Num están activados"
-#: ../gtk/gtkentry.c:10415
+#: ../gtk/gtkentry.c:10436
msgid "Num Lock is on"
msgstr "Bloq Num está activado"
-#: ../gtk/gtkentry.c:10417
+#: ../gtk/gtkentry.c:10438
msgid "Caps Lock is on"
msgstr "Bloq Mayús está activado"
msgid "Select a File"
msgstr "Seleccionar un archivo"
-#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1871
+#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1809
msgid "Desktop"
msgstr "Escritorio"
msgid "Other..."
msgstr "Otra…"
-#: ../gtk/gtkfilechooserdefault.c:147
+#: ../gtk/gtkfilechooserdefault.c:148
msgid "Type name of new folder"
msgstr "Teclee el nombre de la carpeta nueva"
-#: ../gtk/gtkfilechooserdefault.c:965
+#: ../gtk/gtkfilechooserdefault.c:960
msgid "Could not retrieve information about the file"
msgstr "No se pudo obtener la información acerca del archivo"
-#: ../gtk/gtkfilechooserdefault.c:976
+#: ../gtk/gtkfilechooserdefault.c:971
msgid "Could not add a bookmark"
msgstr "No se pudo añadir un marcador"
-#: ../gtk/gtkfilechooserdefault.c:987
+#: ../gtk/gtkfilechooserdefault.c:982
msgid "Could not remove bookmark"
msgstr "No se pudo quitar el marcador"
-#: ../gtk/gtkfilechooserdefault.c:998
+#: ../gtk/gtkfilechooserdefault.c:993
msgid "The folder could not be created"
msgstr "No se pudo crear la carpeta"
-#: ../gtk/gtkfilechooserdefault.c:1011
+#: ../gtk/gtkfilechooserdefault.c:1006
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."
"No se pudo crear la carpeta, debido a que ya existe un archivo con el mismo "
"nombre. Intenta usar un nombre distinto o renombre el archivo primero."
-#: ../gtk/gtkfilechooserdefault.c:1025
+#: ../gtk/gtkfilechooserdefault.c:1020
msgid "You need to choose a valid filename."
msgstr "Debe elegir un nombre de archivo válido."
-#: ../gtk/gtkfilechooserdefault.c:1028
+#: ../gtk/gtkfilechooserdefault.c:1023
#, c-format
msgid "Cannot create a file under %s as it is not a folder"
msgstr "No se puede crear un archivo bajo %s ya que no es una carpeta"
-#: ../gtk/gtkfilechooserdefault.c:1040
+#: ../gtk/gtkfilechooserdefault.c:1035
msgid ""
"You may only select folders. The item that you selected is not a folder; "
"try using a different item."
"Sólo puede seleccionar carpetas. El elemento que ha seleccionado no es una "
"carpeta; intentélo seleccionar un elemento diferente."
-#: ../gtk/gtkfilechooserdefault.c:1050
+#: ../gtk/gtkfilechooserdefault.c:1045
msgid "Invalid file name"
msgstr "Nombre de archivo no válido"
-#: ../gtk/gtkfilechooserdefault.c:1060
+#: ../gtk/gtkfilechooserdefault.c:1055
msgid "The folder contents could not be displayed"
msgstr "No se pudo mostrar el contenido de la carpeta"
#. * is a hostname. Nautilus and the panel contain the same string
#. * to translate.
#.
-#: ../gtk/gtkfilechooserdefault.c:1614
+#: ../gtk/gtkfilechooserdefault.c:1581
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s en %2$s"
-#: ../gtk/gtkfilechooserdefault.c:1790
+#: ../gtk/gtkfilechooserdefault.c:1730
msgid "Search"
msgstr "Buscar"
-#: ../gtk/gtkfilechooserdefault.c:1814 ../gtk/gtkfilechooserdefault.c:9539
+#: ../gtk/gtkfilechooserdefault.c:1754 ../gtk/gtkfilechooserdefault.c:4871
msgid "Recently Used"
msgstr "Usados recientemente"
-#: ../gtk/gtkfilechooserdefault.c:2470
+#: ../gtk/gtkfilechooserdefault.c:2353
msgid "Select which types of files are shown"
msgstr "Seleccionar qué tipos de archivos se muestran"
-#: ../gtk/gtkfilechooserdefault.c:2829
+#: ../gtk/gtkfilechooserdefault.c:2712
#, c-format
msgid "Add the folder '%s' to the bookmarks"
msgstr "Añadir la carpeta «%s» a los marcadores"
-#: ../gtk/gtkfilechooserdefault.c:2873
+#: ../gtk/gtkfilechooserdefault.c:2756
#, c-format
msgid "Add the current folder to the bookmarks"
msgstr "Añadir la carpeta actual a los marcadores"
-#: ../gtk/gtkfilechooserdefault.c:2875
+#: ../gtk/gtkfilechooserdefault.c:2758
#, c-format
msgid "Add the selected folders to the bookmarks"
msgstr "Añadir las carpetas seleccionadas a los marcadores"
-#: ../gtk/gtkfilechooserdefault.c:2913
+#: ../gtk/gtkfilechooserdefault.c:2796
#, c-format
msgid "Remove the bookmark '%s'"
msgstr "Quitar el marcador «%s»"
-#: ../gtk/gtkfilechooserdefault.c:2915
+#: ../gtk/gtkfilechooserdefault.c:2798
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr "No se puede quitar el marcador «%s»"
-#: ../gtk/gtkfilechooserdefault.c:2922 ../gtk/gtkfilechooserdefault.c:3807
+#: ../gtk/gtkfilechooserdefault.c:2805 ../gtk/gtkfilechooserdefault.c:3690
msgid "Remove the selected bookmark"
msgstr "Quitar el marcador seleccionado"
-#: ../gtk/gtkfilechooserdefault.c:3486
+#: ../gtk/gtkfilechooserdefault.c:3369
msgid "Remove"
msgstr "Quitar"
-#: ../gtk/gtkfilechooserdefault.c:3495
+#: ../gtk/gtkfilechooserdefault.c:3378
msgid "Rename..."
msgstr "Renombrar…"
#. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3659
+#: ../gtk/gtkfilechooserdefault.c:3542
msgid "Places"
msgstr "Lugares"
#. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3716
+#: ../gtk/gtkfilechooserdefault.c:3599
msgid "_Places"
msgstr "_Lugares"
-#: ../gtk/gtkfilechooserdefault.c:3795
+#: ../gtk/gtkfilechooserdefault.c:3678
msgid "Add the selected folder to the Bookmarks"
msgstr "Añade la carpeta seleccionada a los marcadores"
-#: ../gtk/gtkfilechooserdefault.c:3942
+#: ../gtk/gtkfilechooserdefault.c:3825
msgid "Could not select file"
msgstr "No se pudo seleccionar el archivo"
-#: ../gtk/gtkfilechooserdefault.c:4115
+#: ../gtk/gtkfilechooserdefault.c:3998
msgid "_Add to Bookmarks"
msgstr "_Añadir a los marcadores"
-#: ../gtk/gtkfilechooserdefault.c:4128
+#: ../gtk/gtkfilechooserdefault.c:4011
msgid "Show _Hidden Files"
msgstr "Mostrar archivos _ocultos"
-#: ../gtk/gtkfilechooserdefault.c:4135
+#: ../gtk/gtkfilechooserdefault.c:4018
msgid "Show _Size Column"
msgstr "Mostrar columna de _tamaño"
-#: ../gtk/gtkfilechooserdefault.c:4360
+#: ../gtk/gtkfilechooserdefault.c:4243
msgid "Files"
msgstr "Archivos"
-#: ../gtk/gtkfilechooserdefault.c:4411
+#: ../gtk/gtkfilechooserdefault.c:4294
msgid "Name"
msgstr "Nombre"
-#: ../gtk/gtkfilechooserdefault.c:4434
+#: ../gtk/gtkfilechooserdefault.c:4317
msgid "Size"
msgstr "Tamaño"
-#: ../gtk/gtkfilechooserdefault.c:4448
+#: ../gtk/gtkfilechooserdefault.c:4331
msgid "Modified"
msgstr "Modificado"
#. Label
-#: ../gtk/gtkfilechooserdefault.c:4702 ../gtk/gtkprinteroptionwidget.c:799
+#: ../gtk/gtkfilechooserdefault.c:4412 ../gtk/gtkprinteroptionwidget.c:799
msgid "_Name:"
msgstr "_Nombre:"
-#. Expander
-#: ../gtk/gtkfilechooserdefault.c:4745
-msgid "_Browse for other folders"
-msgstr "_Buscar otras carpetas"
-
-#: ../gtk/gtkfilechooserdefault.c:5018
+#: ../gtk/gtkfilechooserdefault.c:4709
msgid "Type a file name"
msgstr "Teclee un nombre de archivo"
+#: ../gtk/gtkfilechooserdefault.c:4756 ../gtk/gtkfilechooserdefault.c:4767
+msgid "Please select a folder below"
+msgstr "Seleccionar una carpeta a continuación"
+
+#: ../gtk/gtkfilechooserdefault.c:4762
+msgid "Please type a file name"
+msgstr "Escriba un nombre de archivo"
+
# C en conflicto con Cancelar
#. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5061
+#: ../gtk/gtkfilechooserdefault.c:4833
msgid "Create Fo_lder"
msgstr "Crear car_peta"
-#: ../gtk/gtkfilechooserdefault.c:5071
+#: ../gtk/gtkfilechooserdefault.c:4881
+msgid "Search:"
+msgstr "Buscar:"
+
+#: ../gtk/gtkfilechooserdefault.c:4928
msgid "_Location:"
msgstr "_Lugar:"
# El acelerador c entra en conflicto con cancelar
-#: ../gtk/gtkfilechooserdefault.c:5278
+#: ../gtk/gtkfilechooserdefault.c:5245
msgid "Save in _folder:"
msgstr "_Guardar en la carpeta:"
-#: ../gtk/gtkfilechooserdefault.c:5280
+#: ../gtk/gtkfilechooserdefault.c:5247
msgid "Create in _folder:"
msgstr "Crear en la _carpeta:"
-#: ../gtk/gtkfilechooserdefault.c:6402
+#: ../gtk/gtkfilechooserdefault.c:6341
#, c-format
msgid "Could not read the contents of %s"
msgstr "No se pudo leer el contenido de %s"
-#: ../gtk/gtkfilechooserdefault.c:6406
+#: ../gtk/gtkfilechooserdefault.c:6345
msgid "Could not read the contents of the folder"
msgstr "No se pudo leer el contenido del la carpeta"
-#: ../gtk/gtkfilechooserdefault.c:6499 ../gtk/gtkfilechooserdefault.c:6567
-#: ../gtk/gtkfilechooserdefault.c:6719
+#: ../gtk/gtkfilechooserdefault.c:6438 ../gtk/gtkfilechooserdefault.c:6506
+#: ../gtk/gtkfilechooserdefault.c:6658
msgid "Unknown"
msgstr "Desconocido"
-#: ../gtk/gtkfilechooserdefault.c:6514
+#: ../gtk/gtkfilechooserdefault.c:6453
msgid "%H:%M"
msgstr "%H:%M"
-#: ../gtk/gtkfilechooserdefault.c:6516
+#: ../gtk/gtkfilechooserdefault.c:6455
msgid "Yesterday at %H:%M"
msgstr "Ayer a las %H:%M"
-#: ../gtk/gtkfilechooserdefault.c:7185
+#: ../gtk/gtkfilechooserdefault.c:7140
msgid "Cannot change to folder because it is not local"
msgstr "No se pudo cambiar a la carpeta porque no es local"
-#: ../gtk/gtkfilechooserdefault.c:7777 ../gtk/gtkfilechooserdefault.c:7798
+#: ../gtk/gtkfilechooserdefault.c:7740 ../gtk/gtkfilechooserdefault.c:7761
#, c-format
msgid "Shortcut %s already exists"
msgstr "La combinación %s ya existe"
-#: ../gtk/gtkfilechooserdefault.c:7888
+#: ../gtk/gtkfilechooserdefault.c:7851
#, c-format
msgid "Shortcut %s does not exist"
msgstr "La combinación %s no existe"
-#: ../gtk/gtkfilechooserdefault.c:8146 ../gtk/gtkprintunixdialog.c:550
+#: ../gtk/gtkfilechooserdefault.c:8097 ../gtk/gtkprintunixdialog.c:550
#, c-format
msgid "A file named \"%s\" already exists. Do you want to replace it?"
msgstr "Ya existe un archivo llamado «%s». ¿Quiere reemplazarlo?"
-#: ../gtk/gtkfilechooserdefault.c:8149 ../gtk/gtkprintunixdialog.c:554
+#: ../gtk/gtkfilechooserdefault.c:8100 ../gtk/gtkprintunixdialog.c:554
#, c-format
msgid ""
"The file already exists in \"%s\". Replacing it will overwrite its contents."
msgstr ""
"El archivo ya existe en «%s». Si lo reemplaza sobreescribirá su contenido."
-#: ../gtk/gtkfilechooserdefault.c:8154 ../gtk/gtkprintunixdialog.c:561
+#: ../gtk/gtkfilechooserdefault.c:8105 ../gtk/gtkprintunixdialog.c:561
msgid "_Replace"
msgstr "_Reemplazar"
-#: ../gtk/gtkfilechooserdefault.c:8881
+#: ../gtk/gtkfilechooserdefault.c:8858
msgid "Could not start the search process"
msgstr "No se ha podido iniciar el proceso de búsqueda"
-#: ../gtk/gtkfilechooserdefault.c:8882
+#: ../gtk/gtkfilechooserdefault.c:8859
msgid ""
"The program was not able to create a connection to the indexer daemon. "
"Please make sure it is running."
"El programa no fue capaz de crear una conexión con el demonio indexador. Por "
"favor asegúrese de que se está ejecutando."
-#: ../gtk/gtkfilechooserdefault.c:8896
+#: ../gtk/gtkfilechooserdefault.c:8873
msgid "Could not send the search request"
msgstr "No se ha podido enviar la petición de búsqueda"
-#: ../gtk/gtkfilechooserdefault.c:9115
-msgid "Search:"
-msgstr "Buscar:"
-
-#: ../gtk/gtkfilechooserdefault.c:9723
+#: ../gtk/gtkfilechooserdefault.c:9665
#, c-format
msgid "Could not mount %s"
msgstr "No se pudo montar %s"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry, when the user enters an invalid path.
#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1174
+#: ../gtk/gtkfilesystem.c:721
+#, c-format
msgid "Invalid path"
msgstr "Ruta no válida"
#. This is the default text shown in the preview entry, though the user
#. can set it. Remember that some fonts only have capital letters.
-#: ../gtk/gtkfontsel.c:120
+#: ../gtk/gtkfontsel.c:119
msgid "abcdefghijk ABCDEFGHIJK"
msgstr ""
"El veloz murciélago hindú comía feliz cardillo y kiwi. La cigüeña tocaba el "
"saxofón detrás del palenque de paja."
-#: ../gtk/gtkfontsel.c:389
+#: ../gtk/gtkfontsel.c:388
msgid "_Family:"
msgstr "_Familia:"
-#: ../gtk/gtkfontsel.c:396
+#: ../gtk/gtkfontsel.c:395
msgid "_Style:"
msgstr "_Estilo:"
-#: ../gtk/gtkfontsel.c:403
+#: ../gtk/gtkfontsel.c:402
msgid "Si_ze:"
msgstr "_Tamaño:"
#. create the text entry widget
-#: ../gtk/gtkfontsel.c:580
+#: ../gtk/gtkfontsel.c:579
msgid "_Preview:"
msgstr "_Vista previa:"
-#: ../gtk/gtkfontsel.c:1702
+#: ../gtk/gtkfontsel.c:1701
msgid "Font Selection"
msgstr "Selección de tipografías"
msgid "Failed to load icon"
msgstr "No se pudo cargar el icono"
-#: ../gtk/gtkimmodule.c:526
+#: ../gtk/gtkimmodule.c:525
msgid "Simple"
msgstr "Simple"
msgstr "Sistema (%s)"
#. Open Link
-#: ../gtk/gtklabel.c:6302
+#: ../gtk/gtklabel.c:6309
msgid "_Open Link"
msgstr "_Abrir enlace"
#. Copy Link Address
-#: ../gtk/gtklabel.c:6314
+#: ../gtk/gtklabel.c:6321
msgid "Copy _Link Address"
msgstr "Copiar la dirección del _enlace"
-#: ../gtk/gtklinkbutton.c:482
+#: ../gtk/gtklinkbutton.c:484
msgid "Copy URL"
msgstr "Copiar URL"
-#: ../gtk/gtklinkbutton.c:645
+#: ../gtk/gtklinkbutton.c:647
msgid "Invalid URI"
msgstr "URI inválida"
"Contacte con el administrador de su sistema"
#. Description of --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:563
+#: ../gtk/gtkmain.c:562
msgid "Load additional GTK+ modules"
msgstr "Cargar módulos adicionales GTK+"
#. Placeholder in --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:564
+#: ../gtk/gtkmain.c:563
msgid "MODULES"
msgstr "MÓDULOS"
#. Description of --g-fatal-warnings in --help output
-#: ../gtk/gtkmain.c:566
+#: ../gtk/gtkmain.c:565
msgid "Make all warnings fatal"
msgstr "Hacer todas las advertencias fatales"
#. Description of --gtk-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:569
+#: ../gtk/gtkmain.c:568
msgid "GTK+ debugging flags to set"
msgstr "Opciones de depuración GTK+ a poner"
#. Description of --gtk-no-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:572
+#: ../gtk/gtkmain.c:571
msgid "GTK+ debugging flags to unset"
msgstr "Opciones de depuración GTK+ a quitar"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: ../gtk/gtkmain.c:846
+#: ../gtk/gtkmain.c:848
msgid "default:LTR"
msgstr "default:LTR"
-#: ../gtk/gtkmain.c:910
+#: ../gtk/gtkmain.c:914
#, c-format
msgid "Cannot open display: %s"
msgstr "No se puede abrir el visor: %s"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "GTK+ Options"
msgstr "Opciones GTK+"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "Show GTK+ Options"
msgstr "Mostrar opciones GTK+"
msgid "Cannot end process with PID %d: %s"
msgstr "No se puede finalizar el proceso con PID %d: %s"
-#: ../gtk/gtknotebook.c:4919 ../gtk/gtknotebook.c:7608
+#: ../gtk/gtknotebook.c:4922 ../gtk/gtknotebook.c:7611
#, c-format
msgid "Page %u"
msgstr "Página %u"
"No se encontró ninguna aplicación registrada con el nombre «%s» para el "
"elemento con el URI «%s»"
-#: ../gtk/gtkspinner.c:287
-msgctxt "throbbing progress animation widget"
-msgid "Spinner"
-msgstr "Marcador incrementable"
-
-#: ../gtk/gtkspinner.c:288
-msgid "Provides visual indication of progress"
-msgstr "Proporciona una indicación visual del progreso"
-
#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
#: ../gtk/gtkstock.c:313
msgctxt "Stock label"
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
#. * the state
#.
-#: ../gtk/gtkswitch.c:338 ../gtk/gtkswitch.c:398 ../gtk/gtkswitch.c:605
+#: ../gtk/gtkswitch.c:336 ../gtk/gtkswitch.c:396 ../gtk/gtkswitch.c:603
msgctxt "switch"
msgid "ON"
msgstr "❙"
#. Translators: if the "off" state label requires more than three
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
#.
-#: ../gtk/gtkswitch.c:346 ../gtk/gtkswitch.c:399 ../gtk/gtkswitch.c:634
+#: ../gtk/gtkswitch.c:344 ../gtk/gtkswitch.c:397 ../gtk/gtkswitch.c:632
msgctxt "switch"
msgid "OFF"
msgstr "○"
-#: ../gtk/gtkswitch.c:1061
-msgctxt "light switch widget"
-msgid "Switch"
-msgstr "Interruptor"
-
-#: ../gtk/gtkswitch.c:1062
-msgid "Switches between on and off states"
-msgstr "Cambia entre los estados encendido y apagado"
-
#: ../gtk/gtktextbufferrichtext.c:651
#, c-format
msgid "Unknown error when trying to deserialize %s"
msgid "Unavailable"
msgstr "No disponible"
+#. TRANSLATORS: when we're running an old CUPS, and
+#. * it hasn't registered the device with colord
+#: ../modules/printbackends/cups/gtkprintercups.c:222
+msgid "Color management unavailable"
+msgstr "Gestión del color no disponible"
+
+#. TRANSLATORS: when there is no color profile available
+#: ../modules/printbackends/cups/gtkprintercups.c:234
+#| msgid "Not available"
+msgid "No profile available"
+msgstr "No hay un perfil disponible"
+
+#. TRANSLATORS: when the color profile has no title
+#: ../modules/printbackends/cups/gtkprintercups.c:245
+#| msgid "Unspecified error"
+msgid "Unspecified profile"
+msgstr "Perfil no especificado"
+
#. default filename used for print-to-file
#: ../modules/printbackends/file/gtkprintbackendfile.c:250
#, c-format
"No se ha podido cargar la imagen «%s»: el motivo es desconocido, "
"probablemente el archivo gráfico esté corrupto"
+#~ msgid "_Browse for other folders"
+#~ msgstr "_Buscar otras carpetas"
+
#~ msgid "Locked"
#~ msgstr "Bloqueado"
"Project-Id-Version: gtk+ 2.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: 2011-06-20 13:26+0000\n"
-"PO-Revision-Date: 2011-06-23 23:30+0330\n"
+"PO-Revision-Date: 2011-07-05 22:17+0330\n"
"Last-Translator: Arash Mousavi <mousavi.arash@gmail.com>\n"
"Language-Team: Persian <translate@ifsug.org>\n"
"Language: fa\n"
#: ../gdk/keyname-table.h:4010
msgctxt "keyboard label"
msgid "XF86WLAN"
-msgstr ""
+msgstr "لن"
#: ../gdk/keyname-table.h:4011
msgctxt "keyboard label"
#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
#, c-format
msgid "Authentication is required to get attributes of job '%s'"
-msgstr "تصدیق هویت برای گرفتن خصیصههای کار '%s' لازم است."
+msgstr "تصدیق هویت برای گرفتن خصیصههای کار «%s» لازم است."
#: ../modules/printbackends/cups/gtkprintbackendcups.c:876
msgid "Authentication is required to get attributes of a job"
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
msgid "Resolution"
-msgstr "_دقت"
+msgstr "تفکیکپذیری"
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803
msgid "GhostScript pre-filtering"
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2820
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2828
msgid "Auto Select"
-msgstr "گزینش _خودکار"
+msgstr "گزینش خودکار"
#. Translators: this is an option of "Paper Source"
#. Translators: this is an option of "Resolution"
msgstr ""
"Project-Id-Version: gtk+-master-po-gl-77922___.merged\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-21 13:56+0200\n"
-"PO-Revision-Date: 2011-06-21 13:57+0200\n"
+"POT-Creation-Date: 2011-07-11 00:09+0200\n"
+"PO-Revision-Date: 2011-07-11 00:11+0200\n"
"Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n"
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\n"
"Language: gl\n"
msgstr[0] "Abrindo %d elemento"
msgstr[1] "Abrindo %d elementos"
+#: ../gtk/a11y/gtkspinneraccessible.c:42
+msgctxt "throbbing progress animation widget"
+msgid "Spinner"
+msgstr "Axustador"
+
+#: ../gtk/a11y/gtkspinneraccessible.c:43
+msgid "Provides visual indication of progress"
+msgstr "Fornece un indicador visual de progreso"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:65
+msgctxt "light switch widget"
+msgid "Switch"
+msgstr "Interruptor"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:66
+msgid "Switches between on and off states"
+msgstr "Cambia entre os estados acendido e apagado"
+
#. Translators: this is the license preamble; the string at the end
#. * contains the URL of the license.
#.
msgid "Other Applications"
msgstr "Outros aplicativos"
-#: ../gtk/gtkassistant.c:919
+#: ../gtk/gtkassistant.c:1000
msgid "C_ontinue"
msgstr "C_ontinuar"
-#: ../gtk/gtkassistant.c:922
+#: ../gtk/gtkassistant.c:1003
msgid "Go _Back"
msgstr "_Atrás"
-#: ../gtk/gtkassistant.c:926
+#: ../gtk/gtkassistant.c:1007
msgid "_Finish"
msgstr "_Rematar"
#. * text direction of RTL and specify "calendar:YM", then the year
#. * will appear to the right of the month.
#.
-#: ../gtk/gtkcalendar.c:870
+#: ../gtk/gtkcalendar.c:874
msgid "calendar:MY"
msgstr "calendar:MY"
#. * first day of the week to calendar:week_start:1 if you want Monday
#. * to be the first day of the week, and so on.
#.
-#: ../gtk/gtkcalendar.c:908
+#: ../gtk/gtkcalendar.c:912
msgid "calendar:week_start:0"
msgstr "calendar:week_start:1"
#. *
#. * If you don't understand this, leave it as "2000"
#.
-#: ../gtk/gtkcalendar.c:1909
+#: ../gtk/gtkcalendar.c:1913
msgctxt "year measurement template"
msgid "2000"
msgstr "2000"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1940 ../gtk/gtkcalendar.c:2637
+#: ../gtk/gtkcalendar.c:1944 ../gtk/gtkcalendar.c:2641
#, c-format
msgctxt "calendar:day:digits"
msgid "%d"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1972 ../gtk/gtkcalendar.c:2498
+#: ../gtk/gtkcalendar.c:1976 ../gtk/gtkcalendar.c:2502
#, c-format
msgctxt "calendar:week:digits"
msgid "%d"
#. *
#. * "%Y" is appropriate for most locales.
#.
-#: ../gtk/gtkcalendar.c:2267
+#: ../gtk/gtkcalendar.c:2271
msgctxt "calendar year format"
msgid "%Y"
msgstr "%Y"
msgid "Paper Margins"
msgstr "Marxes do papel"
-#: ../gtk/gtkentry.c:8928 ../gtk/gtktextview.c:8274
+#: ../gtk/gtkentry.c:8949 ../gtk/gtktextview.c:8277
msgid "Input _Methods"
msgstr "_Métodos de entrada"
-#: ../gtk/gtkentry.c:8942 ../gtk/gtktextview.c:8288
+#: ../gtk/gtkentry.c:8963 ../gtk/gtktextview.c:8291
msgid "_Insert Unicode Control Character"
msgstr "_Inserir un carácter de control Unicode"
-#: ../gtk/gtkentry.c:10413
+#: ../gtk/gtkentry.c:10434
msgid "Caps Lock and Num Lock are on"
msgstr "Bloq Maiús e Bloq Num estás activados"
-#: ../gtk/gtkentry.c:10415
+#: ../gtk/gtkentry.c:10436
msgid "Num Lock is on"
msgstr "Bloq Num está activado"
-#: ../gtk/gtkentry.c:10417
+#: ../gtk/gtkentry.c:10438
msgid "Caps Lock is on"
msgstr "Bloq Maiús está activado"
msgid "Select a File"
msgstr "Seleccionar un ficheiro"
-#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1871
+#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1809
msgid "Desktop"
msgstr "Escritorio"
msgid "Other..."
msgstr "Outro…"
-#: ../gtk/gtkfilechooserdefault.c:147
+#: ../gtk/gtkfilechooserdefault.c:148
msgid "Type name of new folder"
msgstr "Escriba o nome do cartafol novo"
-#: ../gtk/gtkfilechooserdefault.c:965
+#: ../gtk/gtkfilechooserdefault.c:960
msgid "Could not retrieve information about the file"
msgstr "Non foi posíbel recuperar a información sobre o ficheiro"
-#: ../gtk/gtkfilechooserdefault.c:976
+#: ../gtk/gtkfilechooserdefault.c:971
msgid "Could not add a bookmark"
msgstr "Non foi posíbel engadir un marcador"
-#: ../gtk/gtkfilechooserdefault.c:987
+#: ../gtk/gtkfilechooserdefault.c:982
msgid "Could not remove bookmark"
msgstr "Non foi posíbel eliminar o marcador"
-#: ../gtk/gtkfilechooserdefault.c:998
+#: ../gtk/gtkfilechooserdefault.c:993
msgid "The folder could not be created"
msgstr "Non foi posíbel crear o cartafol"
-#: ../gtk/gtkfilechooserdefault.c:1011
+#: ../gtk/gtkfilechooserdefault.c:1006
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."
"Non foi posíbel crear o cartafol: xa existe un ficheiro co mesmo nome. Tente "
"usar un nome diferente para o cartafol ou renomee o ficheiro primeiro."
-#: ../gtk/gtkfilechooserdefault.c:1025
+#: ../gtk/gtkfilechooserdefault.c:1020
msgid "You need to choose a valid filename."
msgstr "Debe seleccionar un nome de ficheiro válido."
-#: ../gtk/gtkfilechooserdefault.c:1028
+#: ../gtk/gtkfilechooserdefault.c:1023
#, c-format
msgid "Cannot create a file under %s as it is not a folder"
msgstr "Non é posíbel crear un ficheiro baixo %s xa que non é un cartafol"
-#: ../gtk/gtkfilechooserdefault.c:1040
+#: ../gtk/gtkfilechooserdefault.c:1035
msgid ""
"You may only select folders. The item that you selected is not a folder; "
"try using a different item."
"Debe seleccionar só cartafoles. O elemento que vostede seleccionou non é un "
"cartafol. Tente usar un elemento diferente."
-#: ../gtk/gtkfilechooserdefault.c:1050
+#: ../gtk/gtkfilechooserdefault.c:1045
msgid "Invalid file name"
msgstr "O nome do ficheiro é incorrecto"
-#: ../gtk/gtkfilechooserdefault.c:1060
+#: ../gtk/gtkfilechooserdefault.c:1055
msgid "The folder contents could not be displayed"
msgstr "Non foi posíbel mostrar o contido do cartafol"
#. * is a hostname. Nautilus and the panel contain the same string
#. * to translate.
#.
-#: ../gtk/gtkfilechooserdefault.c:1614
+#: ../gtk/gtkfilechooserdefault.c:1581
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s en %2$s"
-#: ../gtk/gtkfilechooserdefault.c:1790
+#: ../gtk/gtkfilechooserdefault.c:1730
msgid "Search"
msgstr "Buscar"
-#: ../gtk/gtkfilechooserdefault.c:1814 ../gtk/gtkfilechooserdefault.c:9539
+#: ../gtk/gtkfilechooserdefault.c:1754 ../gtk/gtkfilechooserdefault.c:4871
msgid "Recently Used"
msgstr "Usado recentemente"
-#: ../gtk/gtkfilechooserdefault.c:2470
+#: ../gtk/gtkfilechooserdefault.c:2353
msgid "Select which types of files are shown"
msgstr "Seleccione que tipos de ficheiros se mostran"
-#: ../gtk/gtkfilechooserdefault.c:2829
+#: ../gtk/gtkfilechooserdefault.c:2712
#, c-format
msgid "Add the folder '%s' to the bookmarks"
msgstr "Engadirlle o cartafol «%s» aos marcadores"
-#: ../gtk/gtkfilechooserdefault.c:2873
+#: ../gtk/gtkfilechooserdefault.c:2756
#, c-format
msgid "Add the current folder to the bookmarks"
msgstr "Engadirlle o cartafol actual aos marcadores"
-#: ../gtk/gtkfilechooserdefault.c:2875
+#: ../gtk/gtkfilechooserdefault.c:2758
#, c-format
msgid "Add the selected folders to the bookmarks"
msgstr "Engadirlle os cartafoles seleccionados aos marcadores"
-#: ../gtk/gtkfilechooserdefault.c:2913
+#: ../gtk/gtkfilechooserdefault.c:2796
#, c-format
msgid "Remove the bookmark '%s'"
msgstr "Eliminar o marcador «%s»"
-#: ../gtk/gtkfilechooserdefault.c:2915
+#: ../gtk/gtkfilechooserdefault.c:2798
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr "O marcador «%s» non pode ser eliminado"
-#: ../gtk/gtkfilechooserdefault.c:2922 ../gtk/gtkfilechooserdefault.c:3807
+#: ../gtk/gtkfilechooserdefault.c:2805 ../gtk/gtkfilechooserdefault.c:3690
msgid "Remove the selected bookmark"
msgstr "Eliminar o marcador seleccionado"
-#: ../gtk/gtkfilechooserdefault.c:3486
+#: ../gtk/gtkfilechooserdefault.c:3369
msgid "Remove"
msgstr "Eliminar"
-#: ../gtk/gtkfilechooserdefault.c:3495
+#: ../gtk/gtkfilechooserdefault.c:3378
msgid "Rename..."
msgstr "Renomear…"
#. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3659
+#: ../gtk/gtkfilechooserdefault.c:3542
msgid "Places"
msgstr "Lugares"
#. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3716
+#: ../gtk/gtkfilechooserdefault.c:3599
msgid "_Places"
msgstr "_Lugares"
-#: ../gtk/gtkfilechooserdefault.c:3795
+#: ../gtk/gtkfilechooserdefault.c:3678
msgid "Add the selected folder to the Bookmarks"
msgstr "Engadir o cartafol seleccionado aos marcadores"
-#: ../gtk/gtkfilechooserdefault.c:3942
+#: ../gtk/gtkfilechooserdefault.c:3825
msgid "Could not select file"
msgstr "Non foi posíbel seleccionar o ficheiro"
-#: ../gtk/gtkfilechooserdefault.c:4115
+#: ../gtk/gtkfilechooserdefault.c:3998
msgid "_Add to Bookmarks"
msgstr "_Engadir aos marcadores"
-#: ../gtk/gtkfilechooserdefault.c:4128
+#: ../gtk/gtkfilechooserdefault.c:4011
msgid "Show _Hidden Files"
msgstr "Mostrar os ficheiros _ocultos"
-#: ../gtk/gtkfilechooserdefault.c:4135
+#: ../gtk/gtkfilechooserdefault.c:4018
msgid "Show _Size Column"
msgstr "Mostrar a columna de _tamaño"
-#: ../gtk/gtkfilechooserdefault.c:4360
+#: ../gtk/gtkfilechooserdefault.c:4243
msgid "Files"
msgstr "Ficheiros"
-#: ../gtk/gtkfilechooserdefault.c:4411
+#: ../gtk/gtkfilechooserdefault.c:4294
msgid "Name"
msgstr "Nome"
-#: ../gtk/gtkfilechooserdefault.c:4434
+#: ../gtk/gtkfilechooserdefault.c:4317
msgid "Size"
msgstr "Tamaño"
-#: ../gtk/gtkfilechooserdefault.c:4448
+#: ../gtk/gtkfilechooserdefault.c:4331
msgid "Modified"
msgstr "Modificado"
#. Label
-#: ../gtk/gtkfilechooserdefault.c:4702 ../gtk/gtkprinteroptionwidget.c:799
+#: ../gtk/gtkfilechooserdefault.c:4412 ../gtk/gtkprinteroptionwidget.c:799
msgid "_Name:"
msgstr "_Nome:"
-#. Expander
-#: ../gtk/gtkfilechooserdefault.c:4745
-msgid "_Browse for other folders"
-msgstr "_Buscar outros cartafoles"
-
-#: ../gtk/gtkfilechooserdefault.c:5018
+#: ../gtk/gtkfilechooserdefault.c:4709
msgid "Type a file name"
msgstr "Teclee un nome de ficheiro"
+#: ../gtk/gtkfilechooserdefault.c:4756 ../gtk/gtkfilechooserdefault.c:4767
+msgid "Please select a folder below"
+msgstr "Seleccionar un cartafol de embaixo"
+
+#: ../gtk/gtkfilechooserdefault.c:4762
+msgid "Please type a file name"
+msgstr "Escriba o nome dun ficheiro"
+
#. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5061
+#: ../gtk/gtkfilechooserdefault.c:4833
msgid "Create Fo_lder"
msgstr "Crear car_tafol"
-#: ../gtk/gtkfilechooserdefault.c:5071
+#: ../gtk/gtkfilechooserdefault.c:4881
+msgid "Search:"
+msgstr "Buscar:"
+
+#: ../gtk/gtkfilechooserdefault.c:4928
msgid "_Location:"
msgstr "_Localización:"
-#: ../gtk/gtkfilechooserdefault.c:5278
+#: ../gtk/gtkfilechooserdefault.c:5245
msgid "Save in _folder:"
msgstr "Gardar no _cartafol:"
-#: ../gtk/gtkfilechooserdefault.c:5280
+#: ../gtk/gtkfilechooserdefault.c:5247
msgid "Create in _folder:"
msgstr "Crear no _cartafol:"
-#: ../gtk/gtkfilechooserdefault.c:6402
+#: ../gtk/gtkfilechooserdefault.c:6341
#, c-format
msgid "Could not read the contents of %s"
msgstr "Non foi posíbel ler os contidos do %s"
-#: ../gtk/gtkfilechooserdefault.c:6406
+#: ../gtk/gtkfilechooserdefault.c:6345
msgid "Could not read the contents of the folder"
msgstr "Non foi posíbel ler os contidos do cartafol"
-#: ../gtk/gtkfilechooserdefault.c:6499 ../gtk/gtkfilechooserdefault.c:6567
-#: ../gtk/gtkfilechooserdefault.c:6719
+#: ../gtk/gtkfilechooserdefault.c:6438 ../gtk/gtkfilechooserdefault.c:6506
+#: ../gtk/gtkfilechooserdefault.c:6658
msgid "Unknown"
msgstr "Descoñecido"
-#: ../gtk/gtkfilechooserdefault.c:6514
+#: ../gtk/gtkfilechooserdefault.c:6453
msgid "%H:%M"
msgstr "%H:%M"
-#: ../gtk/gtkfilechooserdefault.c:6516
+#: ../gtk/gtkfilechooserdefault.c:6455
msgid "Yesterday at %H:%M"
msgstr "Onte ás %H:%M"
-#: ../gtk/gtkfilechooserdefault.c:7185
+#: ../gtk/gtkfilechooserdefault.c:7140
msgid "Cannot change to folder because it is not local"
msgstr "Non é posíbel cambiar ao cartafol porque non é local"
-#: ../gtk/gtkfilechooserdefault.c:7777 ../gtk/gtkfilechooserdefault.c:7798
+#: ../gtk/gtkfilechooserdefault.c:7740 ../gtk/gtkfilechooserdefault.c:7761
#, c-format
msgid "Shortcut %s already exists"
msgstr "O atallo %s xa existe"
-#: ../gtk/gtkfilechooserdefault.c:7888
+#: ../gtk/gtkfilechooserdefault.c:7851
#, c-format
msgid "Shortcut %s does not exist"
msgstr "O atallo %s non existe"
-#: ../gtk/gtkfilechooserdefault.c:8146 ../gtk/gtkprintunixdialog.c:550
+#: ../gtk/gtkfilechooserdefault.c:8097 ../gtk/gtkprintunixdialog.c:550
#, c-format
msgid "A file named \"%s\" already exists. Do you want to replace it?"
msgstr "Xa existe un ficheiro con nome «%s». Quere substituílo?"
-#: ../gtk/gtkfilechooserdefault.c:8149 ../gtk/gtkprintunixdialog.c:554
+#: ../gtk/gtkfilechooserdefault.c:8100 ../gtk/gtkprintunixdialog.c:554
#, c-format
msgid ""
"The file already exists in \"%s\". Replacing it will overwrite its contents."
msgstr ""
"O ficheiro xa existe en «%s». Se o substitúe sobrescribirá os seus contidos."
-#: ../gtk/gtkfilechooserdefault.c:8154 ../gtk/gtkprintunixdialog.c:561
+#: ../gtk/gtkfilechooserdefault.c:8105 ../gtk/gtkprintunixdialog.c:561
msgid "_Replace"
msgstr "_Substituír"
-#: ../gtk/gtkfilechooserdefault.c:8881
+#: ../gtk/gtkfilechooserdefault.c:8858
msgid "Could not start the search process"
msgstr "Non foi posíbel iniciar o proceso de busca"
-#: ../gtk/gtkfilechooserdefault.c:8882
+#: ../gtk/gtkfilechooserdefault.c:8859
msgid ""
"The program was not able to create a connection to the indexer daemon. "
"Please make sure it is running."
"O programa non puido crear unha conexión co daemon indexador. Asegúrese de "
"que está en execución."
-#: ../gtk/gtkfilechooserdefault.c:8896
+#: ../gtk/gtkfilechooserdefault.c:8873
msgid "Could not send the search request"
msgstr "Non foi posíbel enviar a solicitude de busca"
-#: ../gtk/gtkfilechooserdefault.c:9115
-msgid "Search:"
-msgstr "Buscar:"
-
-#: ../gtk/gtkfilechooserdefault.c:9723
+#: ../gtk/gtkfilechooserdefault.c:9665
#, c-format
msgid "Could not mount %s"
msgstr "Non foi posíbel montar %s"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry, when the user enters an invalid path.
#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1174
+#: ../gtk/gtkfilesystem.c:721
+#, c-format
msgid "Invalid path"
msgstr "Ruta incorrecta"
msgstr "Sistema (%s)"
#. Open Link
-#: ../gtk/gtklabel.c:6302
+#: ../gtk/gtklabel.c:6309
msgid "_Open Link"
msgstr "_Abrir a ligazón"
#. Copy Link Address
-#: ../gtk/gtklabel.c:6314
+#: ../gtk/gtklabel.c:6321
msgid "Copy _Link Address"
msgstr "Copiar o enderezo da _ligazón"
-#: ../gtk/gtklinkbutton.c:482
+#: ../gtk/gtklinkbutton.c:484
msgid "Copy URL"
msgstr "Copiar URL"
-#: ../gtk/gtklinkbutton.c:645
+#: ../gtk/gtklinkbutton.c:647
msgid "Invalid URI"
msgstr "URI incorrecto"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: ../gtk/gtkmain.c:845
+#: ../gtk/gtkmain.c:848
msgid "default:LTR"
msgstr "default:LTR"
-#: ../gtk/gtkmain.c:909
+#: ../gtk/gtkmain.c:914
#, c-format
msgid "Cannot open display: %s"
msgstr "Non é posíbel abrir a pantalla: %s"
-#: ../gtk/gtkmain.c:975
+#: ../gtk/gtkmain.c:980
msgid "GTK+ Options"
msgstr "Opcións GTK+"
-#: ../gtk/gtkmain.c:975
+#: ../gtk/gtkmain.c:980
msgid "Show GTK+ Options"
msgstr "Mostrar opcións GTK+"
msgid "Cannot end process with PID %d: %s"
msgstr "Non é posíbel finalizar o proceso co PID %d: %s"
-#: ../gtk/gtknotebook.c:4919 ../gtk/gtknotebook.c:7608
+#: ../gtk/gtknotebook.c:4922 ../gtk/gtknotebook.c:7611
#, c-format
msgid "Page %u"
msgstr "Páxina %u"
"Non foi posíbel atopar ningún aplicativo rexistrado co nome «%s» para o "
"elemento co URI «%s»"
-#: ../gtk/gtkspinner.c:286
-msgctxt "throbbing progress animation widget"
-msgid "Spinner"
-msgstr "Axustador"
-
-#: ../gtk/gtkspinner.c:287
-msgid "Provides visual indication of progress"
-msgstr "Fornece un indicador visual de progreso"
-
#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
#: ../gtk/gtkstock.c:313
msgctxt "Stock label"
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
#. * the state
#.
-#: ../gtk/gtkswitch.c:337 ../gtk/gtkswitch.c:397 ../gtk/gtkswitch.c:604
+#: ../gtk/gtkswitch.c:336 ../gtk/gtkswitch.c:396 ../gtk/gtkswitch.c:603
msgctxt "switch"
msgid "ON"
msgstr "❙"
#. Translators: if the "off" state label requires more than three
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
#.
-#: ../gtk/gtkswitch.c:345 ../gtk/gtkswitch.c:398 ../gtk/gtkswitch.c:633
+#: ../gtk/gtkswitch.c:344 ../gtk/gtkswitch.c:397 ../gtk/gtkswitch.c:632
msgctxt "switch"
msgid "OFF"
msgstr "○"
-#: ../gtk/gtkswitch.c:1060
-msgctxt "light switch widget"
-msgid "Switch"
-msgstr "Interruptor"
-
-#: ../gtk/gtkswitch.c:1061
-msgid "Switches between on and off states"
-msgstr "Cambia entre os estados acendido e apagado"
-
#: ../gtk/gtktextbufferrichtext.c:651
#, c-format
msgid "Unknown error when trying to deserialize %s"
msgid "Unavailable"
msgstr "Non dispoñíbel"
+#. TRANSLATORS: when we're running an old CUPS, and
+#. * it hasn't registered the device with colord
+#: ../modules/printbackends/cups/gtkprintercups.c:222
+msgid "Color management unavailable"
+msgstr "Xestión de cor non dispoñíbel"
+
+#. TRANSLATORS: when there is no color profile available
+#: ../modules/printbackends/cups/gtkprintercups.c:234
+msgid "No profile available"
+msgstr "Non hai un perfil dispoñíbel"
+
+#. TRANSLATORS: when the color profile has no title
+#: ../modules/printbackends/cups/gtkprintercups.c:245
+msgid "Unspecified profile"
+msgstr "Perfil non especificado"
+
#. default filename used for print-to-file
#: ../modules/printbackends/file/gtkprintbackendfile.c:250
#, c-format
"Produciuse un fallo ao cargar a imaxe «%s»: o motivo é descoñecido, é "
"probábel que o ficheiro de imaxe estea corrupto"
+#~ msgid "_Browse for other folders"
+#~ msgstr "_Buscar outros cartafoles"
+
#~ msgid "Locked"
#~ msgstr "Bloqueado"
msgstr ""
"Project-Id-Version: gtk+.HEAD.he\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-10 08:10+0300\n"
-"PO-Revision-Date: 2011-06-10 08:11+0300\n"
+"POT-Creation-Date: 2011-07-15 11:00+0300\n"
+"PO-Revision-Date: 2011-07-15 11:01+0200\n"
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
"Language-Team: Gezer (Hebrew)\n"
"Language: he\n"
#. 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:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573
+#: ../gdk/gdk.c:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:569 ../gtk/gtkmain.c:572
msgid "FLAGS"
msgstr "FLAGS"
msgstr[0] "פותח פריט אחד"
msgstr[1] "פותח %d פריטים"
+#: ../gtk/a11y/gtkspinneraccessible.c:42
+msgctxt "throbbing progress animation widget"
+msgid "Spinner"
+msgstr "הנפשת המתנה"
+
+#: ../gtk/a11y/gtkspinneraccessible.c:43
+msgid "Provides visual indication of progress"
+msgstr "אספקת חיווי חזותי של התהליך"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:65
+msgctxt "light switch widget"
+msgid "Switch"
+msgstr "החלפה"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:66
+msgid "Switches between on and off states"
+msgstr "החלפה בין המצבים פעיל ולא פעיל"
+
#. Translators: this is the license preamble; the string at the end
#. * contains the URL of the license.
#.
msgid "Other Applications"
msgstr "יישומים אחרים"
+#: ../gtk/gtkassistant.c:999
+msgid "C_ontinue"
+msgstr "הת_קדמות"
+
+#: ../gtk/gtkassistant.c:1002
+msgid "Go _Back"
+msgstr "ח_זרה"
+
+#: ../gtk/gtkassistant.c:1006
+msgid "_Finish"
+msgstr "_סיום"
+
#: ../gtk/gtkbuilderparser.c:342
#, c-format
msgid "Invalid type function on line %d: '%s'"
#. * text direction of RTL and specify "calendar:YM", then the year
#. * will appear to the right of the month.
#.
-#: ../gtk/gtkcalendar.c:870
+#: ../gtk/gtkcalendar.c:874
msgid "calendar:MY"
msgstr "calendar:YM"
#. * first day of the week to calendar:week_start:1 if you want Monday
#. * to be the first day of the week, and so on.
#.
-#: ../gtk/gtkcalendar.c:908
+#: ../gtk/gtkcalendar.c:912
msgid "calendar:week_start:0"
msgstr "calendar:week_start:0"
#. *
#. * If you don't understand this, leave it as "2000"
#.
-#: ../gtk/gtkcalendar.c:1909
+#: ../gtk/gtkcalendar.c:1913
msgctxt "year measurement template"
msgid "2000"
msgstr "2000"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1940 ../gtk/gtkcalendar.c:2637
+#: ../gtk/gtkcalendar.c:1944 ../gtk/gtkcalendar.c:2641
#, c-format
msgctxt "calendar:day:digits"
msgid "%d"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1972 ../gtk/gtkcalendar.c:2498
+#: ../gtk/gtkcalendar.c:1976 ../gtk/gtkcalendar.c:2502
#, c-format
msgctxt "calendar:week:digits"
msgid "%d"
#. *
#. * "%Y" is appropriate for most locales.
#.
-#: ../gtk/gtkcalendar.c:2267
+#: ../gtk/gtkcalendar.c:2271
msgctxt "calendar year format"
msgid "%Y"
msgstr "%Y"
#. * an accelerator when the cell is clicked to change the
#. * acelerator.
#.
-#: ../gtk/gtkcellrendereraccel.c:432 ../gtk/gtkcellrendereraccel.c:744
+#: ../gtk/gtkcellrendereraccel.c:432 ../gtk/gtkcellrendereraccel.c:745
msgid "New accelerator..."
msgstr "מאיץ חדש..."
msgid "Pick a Color"
msgstr "בחירת צבע"
-#: ../gtk/gtkcolorsel.c:417
+#: ../gtk/gtkcolorsel.c:416
msgid ""
"Select the color you want from the outer ring. Select the darkness or "
"lightness of that color using the inner triangle."
"יש לבחור את הצבע הרצוי מהטבעת החיצונית. ניתן לבחור כמה כהה או בהיר יהיה צבע "
"זה בעזרת המשולש הפנימי."
-#: ../gtk/gtkcolorsel.c:443
+#: ../gtk/gtkcolorsel.c:442
msgid ""
"Click the eyedropper, then click a color anywhere on your screen to select "
"that color."
msgstr "יש ללחוץ על הטפטפת ואז ללחוץ על צבע כלשהו במסך לבחירת אותו הצבע."
-#: ../gtk/gtkcolorsel.c:453
+#: ../gtk/gtkcolorsel.c:452
msgid "_Hue:"
msgstr "_גוון:"
-#: ../gtk/gtkcolorsel.c:454
+#: ../gtk/gtkcolorsel.c:453
msgid "Position on the color wheel."
msgstr "מיקום על גלגל הצבעים."
-#: ../gtk/gtkcolorsel.c:456
+#: ../gtk/gtkcolorsel.c:455
msgid "_Saturation:"
msgstr "_רוויה:"
-#: ../gtk/gtkcolorsel.c:457
+#: ../gtk/gtkcolorsel.c:456
msgid "Intensity of the color."
msgstr "חוזק הצבע."
-#: ../gtk/gtkcolorsel.c:458
+#: ../gtk/gtkcolorsel.c:457
msgid "_Value:"
msgstr "_ערך:"
-#: ../gtk/gtkcolorsel.c:459
+#: ../gtk/gtkcolorsel.c:458
msgid "Brightness of the color."
msgstr "בהירות הצבע."
-#: ../gtk/gtkcolorsel.c:460
+#: ../gtk/gtkcolorsel.c:459
msgid "_Red:"
msgstr "_אדום:"
-#: ../gtk/gtkcolorsel.c:461
+#: ../gtk/gtkcolorsel.c:460
msgid "Amount of red light in the color."
msgstr "כמות האור האדום בצבע."
-#: ../gtk/gtkcolorsel.c:462
+#: ../gtk/gtkcolorsel.c:461
msgid "_Green:"
msgstr "_ירוק:"
-#: ../gtk/gtkcolorsel.c:463
+#: ../gtk/gtkcolorsel.c:462
msgid "Amount of green light in the color."
msgstr "כמות האור הירוק בצבע."
-#: ../gtk/gtkcolorsel.c:464
+#: ../gtk/gtkcolorsel.c:463
msgid "_Blue:"
msgstr "_כחול:"
-#: ../gtk/gtkcolorsel.c:465
+#: ../gtk/gtkcolorsel.c:464
msgid "Amount of blue light in the color."
msgstr "כמות האור הכחול בצבע."
-#: ../gtk/gtkcolorsel.c:468
+#: ../gtk/gtkcolorsel.c:467
msgid "Op_acity:"
msgstr "_אטימות:"
-#: ../gtk/gtkcolorsel.c:476 ../gtk/gtkcolorsel.c:486
+#: ../gtk/gtkcolorsel.c:475 ../gtk/gtkcolorsel.c:485
msgid "Transparency of the color."
msgstr "אטימות הצבע."
-#: ../gtk/gtkcolorsel.c:493
+#: ../gtk/gtkcolorsel.c:492
msgid "Color _name:"
msgstr "_שם הצבע:"
-#: ../gtk/gtkcolorsel.c:508
+#: ../gtk/gtkcolorsel.c:507
msgid ""
"You can enter an HTML-style hexadecimal color value, or simply a color name "
"such as 'orange' in this entry."
"ניתן להזין ערך צבע הקסדצימלי בסגנון HTML, או פשוט לכתוב שם צבע באנגלית כמו "
"'orange' ברשומה זו."
-#: ../gtk/gtkcolorsel.c:540
+#: ../gtk/gtkcolorsel.c:539
msgid "_Palette:"
msgstr "_פלטה:"
-#: ../gtk/gtkcolorsel.c:570
+#: ../gtk/gtkcolorsel.c:569
msgid "Color Wheel"
msgstr "גלגל הצבעים"
-#: ../gtk/gtkcolorsel.c:1043
+#: ../gtk/gtkcolorsel.c:1042
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now. You can drag this color to a palette entry, or select this color as "
"הצבע הקודם שנבחר, להשוואה עם הצבע הנבחר כעת. ניתן לגרור צבע זה לרשומה בפלטה, "
"או לבחור צבע זה כנוכחי על־ידי גרירתו לפיסת הצבע השנייה שלצידו."
-#: ../gtk/gtkcolorsel.c:1049
+#: ../gtk/gtkcolorsel.c:1048
msgid ""
"The color you've chosen. You can drag this color to a palette entry to save "
"it for use in the future."
msgstr "הצבע שנבחר. ניתן לגרור צבע זה לרשומת פלטה כדי לשמור אותו לשימוש בעתיד."
-#: ../gtk/gtkcolorsel.c:1055
+#: ../gtk/gtkcolorsel.c:1054
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now."
msgstr "הצבע הקודם שנבחר, להשוואה עם הצבע שנבחר כעת."
-#: ../gtk/gtkcolorsel.c:1059
+#: ../gtk/gtkcolorsel.c:1058
msgid "The color you've chosen."
msgstr "הצבע שנבחר."
-#: ../gtk/gtkcolorsel.c:1461
+#: ../gtk/gtkcolorsel.c:1460
msgid "_Save color here"
msgstr "_שמירת הצבע כאן"
-#: ../gtk/gtkcolorsel.c:1666
+#: ../gtk/gtkcolorsel.c:1665
msgid ""
"Click this palette entry to make it the current color. To change this entry, "
"drag a color swatch here or right-click it and select \"Save color here.\""
msgstr "default:mm"
#. And show the custom paper dialog
-#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3322
+#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3325
msgid "Manage Custom Sizes"
msgstr "ניהול גדלים מותאמים"
msgid "Paper Margins"
msgstr "שולי נייר"
-#: ../gtk/gtkentry.c:8928 ../gtk/gtktextview.c:8290
+#: ../gtk/gtkentry.c:8949 ../gtk/gtktextview.c:8277
msgid "Input _Methods"
msgstr "_שיטות קלט"
-#: ../gtk/gtkentry.c:8942 ../gtk/gtktextview.c:8304
+#: ../gtk/gtkentry.c:8963 ../gtk/gtktextview.c:8291
msgid "_Insert Unicode Control Character"
msgstr "_הזנת תו בקרה יוניקוד"
-#: ../gtk/gtkentry.c:10413
+#: ../gtk/gtkentry.c:10434
msgid "Caps Lock and Num Lock are on"
msgstr "ה־Caps Lock וה־Num Lock פעילים"
-#: ../gtk/gtkentry.c:10415
+#: ../gtk/gtkentry.c:10436
msgid "Num Lock is on"
msgstr "ה־Num Lock פעיל"
-#: ../gtk/gtkentry.c:10417
+#: ../gtk/gtkentry.c:10438
msgid "Caps Lock is on"
msgstr "ה־Caps Lock פעיל"
msgid "Select a File"
msgstr "נא לבחור קובץ"
-#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1871
+#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1811
msgid "Desktop"
msgstr "שולחן עבודה"
msgid "Other..."
msgstr "אחר..."
-#: ../gtk/gtkfilechooserdefault.c:147
+#: ../gtk/gtkfilechooserdefault.c:148
msgid "Type name of new folder"
msgstr "הזנת שם לתיקייה החדשה"
-#: ../gtk/gtkfilechooserdefault.c:965
+#: ../gtk/gtkfilechooserdefault.c:962
msgid "Could not retrieve information about the file"
msgstr "לא ניתן לקבל מידע על הקובץ"
-#: ../gtk/gtkfilechooserdefault.c:976
+#: ../gtk/gtkfilechooserdefault.c:973
msgid "Could not add a bookmark"
msgstr "לא ניתן להוסיף סימנייה"
-#: ../gtk/gtkfilechooserdefault.c:987
+#: ../gtk/gtkfilechooserdefault.c:984
msgid "Could not remove bookmark"
msgstr "לא ניתן להסיר את הסימנייה"
-#: ../gtk/gtkfilechooserdefault.c:998
+#: ../gtk/gtkfilechooserdefault.c:995
msgid "The folder could not be created"
msgstr "לא ניתן ליצור את התיקייה"
-#: ../gtk/gtkfilechooserdefault.c:1011
+#: ../gtk/gtkfilechooserdefault.c:1008
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."
"לא ניתן לייצר את התיקייה מכיוון שקיים קובץ בעל שם דומה. יש לנסות ולבחור שם "
"חדש לתיקייה, או לשנות את שם הקובץ."
-#: ../gtk/gtkfilechooserdefault.c:1025
+#: ../gtk/gtkfilechooserdefault.c:1022
msgid "You need to choose a valid filename."
msgstr "עליך לבחור בשם קובץ תקני."
-#: ../gtk/gtkfilechooserdefault.c:1028
+#: ../gtk/gtkfilechooserdefault.c:1025
#, c-format
msgid "Cannot create a file under %s as it is not a folder"
msgstr "לא ניתן ליצור קובץ תחת %s כיוון שזו איננה תיקייה"
-#: ../gtk/gtkfilechooserdefault.c:1040
+#: ../gtk/gtkfilechooserdefault.c:1037
msgid ""
"You may only select folders. The item that you selected is not a folder; "
"try using a different item."
msgstr ""
"ניתן לבחור תיקיות בלבד. הפריט שברחת אינו תיקייה; נא לנסות לבחור בפריט אחר."
-#: ../gtk/gtkfilechooserdefault.c:1050
+#: ../gtk/gtkfilechooserdefault.c:1047
msgid "Invalid file name"
msgstr "שם קובץ לא תקני"
-#: ../gtk/gtkfilechooserdefault.c:1060
+#: ../gtk/gtkfilechooserdefault.c:1057
msgid "The folder contents could not be displayed"
msgstr "לא ניתן להציג את תוכן התיקייה"
#. * is a hostname. Nautilus and the panel contain the same string
#. * to translate.
#.
-#: ../gtk/gtkfilechooserdefault.c:1614
+#: ../gtk/gtkfilechooserdefault.c:1583
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s ב־%2$s"
-#: ../gtk/gtkfilechooserdefault.c:1790
+#: ../gtk/gtkfilechooserdefault.c:1732
msgid "Search"
msgstr "חיפוש"
-#: ../gtk/gtkfilechooserdefault.c:1814 ../gtk/gtkfilechooserdefault.c:9537
+#: ../gtk/gtkfilechooserdefault.c:1756 ../gtk/gtkfilechooserdefault.c:4873
msgid "Recently Used"
msgstr "בשימוש לאחרונה"
-#: ../gtk/gtkfilechooserdefault.c:2470
+#: ../gtk/gtkfilechooserdefault.c:2355
msgid "Select which types of files are shown"
msgstr "בחירה בסוגי הקבצים שיוצגו"
-#: ../gtk/gtkfilechooserdefault.c:2829
+#: ../gtk/gtkfilechooserdefault.c:2714
#, c-format
msgid "Add the folder '%s' to the bookmarks"
msgstr "הוסף את התיקייה '%s' לסימניות"
-#: ../gtk/gtkfilechooserdefault.c:2873
+#: ../gtk/gtkfilechooserdefault.c:2758
#, c-format
msgid "Add the current folder to the bookmarks"
msgstr "הוסף את התיקייה הנוכחית לסימניות"
-#: ../gtk/gtkfilechooserdefault.c:2875
+#: ../gtk/gtkfilechooserdefault.c:2760
#, c-format
msgid "Add the selected folders to the bookmarks"
msgstr "הוסף את התיקיות הנבחרות לסימניות"
-#: ../gtk/gtkfilechooserdefault.c:2913
+#: ../gtk/gtkfilechooserdefault.c:2798
#, c-format
msgid "Remove the bookmark '%s'"
msgstr "הסרת הסימנייה '%s'"
-#: ../gtk/gtkfilechooserdefault.c:2915
+#: ../gtk/gtkfilechooserdefault.c:2800
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr "לא ניתן להסיר את הסימנייה '%s'"
-#: ../gtk/gtkfilechooserdefault.c:2922 ../gtk/gtkfilechooserdefault.c:3807
+#: ../gtk/gtkfilechooserdefault.c:2807 ../gtk/gtkfilechooserdefault.c:3692
msgid "Remove the selected bookmark"
msgstr "הסרת הסימנייה הנבחרת"
-#: ../gtk/gtkfilechooserdefault.c:3486
+#: ../gtk/gtkfilechooserdefault.c:3371
msgid "Remove"
msgstr "הסרה"
-#: ../gtk/gtkfilechooserdefault.c:3495
+#: ../gtk/gtkfilechooserdefault.c:3380
msgid "Rename..."
msgstr "שינוי שם..."
#. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3659
+#: ../gtk/gtkfilechooserdefault.c:3544
msgid "Places"
msgstr "מקומות"
#. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3716
+#: ../gtk/gtkfilechooserdefault.c:3601
msgid "_Places"
msgstr "_מקומות"
-#: ../gtk/gtkfilechooserdefault.c:3795
+#: ../gtk/gtkfilechooserdefault.c:3680
msgid "Add the selected folder to the Bookmarks"
msgstr "הוספת התיקייה הנבחרת לסימניות"
-#: ../gtk/gtkfilechooserdefault.c:3942
+#: ../gtk/gtkfilechooserdefault.c:3827
msgid "Could not select file"
msgstr "לא ניתן לבחור את הקובץ"
-#: ../gtk/gtkfilechooserdefault.c:4115
+#: ../gtk/gtkfilechooserdefault.c:4000
msgid "_Add to Bookmarks"
msgstr "_הוספה לסימניות"
-#: ../gtk/gtkfilechooserdefault.c:4128
+#: ../gtk/gtkfilechooserdefault.c:4013
msgid "Show _Hidden Files"
msgstr "הצגת קבצים _נסתרים"
-#: ../gtk/gtkfilechooserdefault.c:4135
+#: ../gtk/gtkfilechooserdefault.c:4020
msgid "Show _Size Column"
msgstr "הצגת _רוחב העמודה"
# hebrew note: "תיקייה" is "folder", but there is no better word for
# "directory"
-#: ../gtk/gtkfilechooserdefault.c:4360
+#: ../gtk/gtkfilechooserdefault.c:4245
msgid "Files"
msgstr "קבצים"
-#: ../gtk/gtkfilechooserdefault.c:4411
+#: ../gtk/gtkfilechooserdefault.c:4296
msgid "Name"
msgstr "שם"
-#: ../gtk/gtkfilechooserdefault.c:4434
+#: ../gtk/gtkfilechooserdefault.c:4319
msgid "Size"
msgstr "גודל"
-#: ../gtk/gtkfilechooserdefault.c:4448
+#: ../gtk/gtkfilechooserdefault.c:4333
msgid "Modified"
msgstr "שונה"
#. Label
-#: ../gtk/gtkfilechooserdefault.c:4702 ../gtk/gtkprinteroptionwidget.c:799
+#: ../gtk/gtkfilechooserdefault.c:4414 ../gtk/gtkprinteroptionwidget.c:799
msgid "_Name:"
msgstr "_שם:"
-#. Expander
-#: ../gtk/gtkfilechooserdefault.c:4743
-msgid "_Browse for other folders"
-msgstr "_דפדוף לתיקיות אחרות"
-
-#: ../gtk/gtkfilechooserdefault.c:5016
+#: ../gtk/gtkfilechooserdefault.c:4711
msgid "Type a file name"
msgstr "הזנת שם קובץ"
+#: ../gtk/gtkfilechooserdefault.c:4758 ../gtk/gtkfilechooserdefault.c:4769
+msgid "Please select a folder below"
+msgstr "נא לבחור תיקייה להלן"
+
+#: ../gtk/gtkfilechooserdefault.c:4764
+msgid "Please type a file name"
+msgstr "נא להזין שם קובץ"
+
#. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5059
+#: ../gtk/gtkfilechooserdefault.c:4835
msgid "Create Fo_lder"
msgstr "יצירת _תיקייה"
-#: ../gtk/gtkfilechooserdefault.c:5069
+#: ../gtk/gtkfilechooserdefault.c:4883
+msgid "Search:"
+msgstr "חיפוש:"
+
+#: ../gtk/gtkfilechooserdefault.c:4930
msgid "_Location:"
msgstr "_מיקום:"
-#: ../gtk/gtkfilechooserdefault.c:5276
+#: ../gtk/gtkfilechooserdefault.c:5247
msgid "Save in _folder:"
msgstr "שמירה ב_תיקייה:"
-#: ../gtk/gtkfilechooserdefault.c:5278
+#: ../gtk/gtkfilechooserdefault.c:5249
msgid "Create in _folder:"
msgstr "יצירה ב_תיקייה:"
-#: ../gtk/gtkfilechooserdefault.c:6400
+#: ../gtk/gtkfilechooserdefault.c:6343
#, c-format
msgid "Could not read the contents of %s"
msgstr "לא ניתן לקרוא את התוכן של %s"
-#: ../gtk/gtkfilechooserdefault.c:6404
+#: ../gtk/gtkfilechooserdefault.c:6347
msgid "Could not read the contents of the folder"
msgstr "לא ניתן לקרוא את תכני התיקייה"
-#: ../gtk/gtkfilechooserdefault.c:6497 ../gtk/gtkfilechooserdefault.c:6565
-#: ../gtk/gtkfilechooserdefault.c:6717
+#: ../gtk/gtkfilechooserdefault.c:6440 ../gtk/gtkfilechooserdefault.c:6508
+#: ../gtk/gtkfilechooserdefault.c:6660
msgid "Unknown"
msgstr "לא ידוע"
-#: ../gtk/gtkfilechooserdefault.c:6512
+#: ../gtk/gtkfilechooserdefault.c:6455
msgid "%H:%M"
msgstr "%H:%M"
-#: ../gtk/gtkfilechooserdefault.c:6514
+#: ../gtk/gtkfilechooserdefault.c:6457
msgid "Yesterday at %H:%M"
msgstr "אתמול ב־%H:%M"
-#: ../gtk/gtkfilechooserdefault.c:7183
+#: ../gtk/gtkfilechooserdefault.c:7142
msgid "Cannot change to folder because it is not local"
msgstr "לא ניתן לשנות תיקייה כיוון שהיא איננה מקומית"
-#: ../gtk/gtkfilechooserdefault.c:7775 ../gtk/gtkfilechooserdefault.c:7796
+#: ../gtk/gtkfilechooserdefault.c:7742 ../gtk/gtkfilechooserdefault.c:7763
#, c-format
msgid "Shortcut %s already exists"
msgstr "הקיצור %s כבר קיים"
-#: ../gtk/gtkfilechooserdefault.c:7886
+#: ../gtk/gtkfilechooserdefault.c:7853
#, c-format
msgid "Shortcut %s does not exist"
msgstr "הקיצור %s אינו קיים"
-#: ../gtk/gtkfilechooserdefault.c:8144 ../gtk/gtkprintunixdialog.c:550
+#: ../gtk/gtkfilechooserdefault.c:8099 ../gtk/gtkprintunixdialog.c:550
#, c-format
msgid "A file named \"%s\" already exists. Do you want to replace it?"
msgstr "קובץ בשם \"%s\" כבר קיים. האם ברצונך להחליפו?"
-#: ../gtk/gtkfilechooserdefault.c:8147 ../gtk/gtkprintunixdialog.c:554
+#: ../gtk/gtkfilechooserdefault.c:8102 ../gtk/gtkprintunixdialog.c:554
#, c-format
msgid ""
"The file already exists in \"%s\". Replacing it will overwrite its contents."
msgstr "הקובץ כבר קיים ב-\"%s\". החלפתו תגרום לאיבוד תוכנו."
-#: ../gtk/gtkfilechooserdefault.c:8152 ../gtk/gtkprintunixdialog.c:561
+#: ../gtk/gtkfilechooserdefault.c:8107 ../gtk/gtkprintunixdialog.c:561
msgid "_Replace"
msgstr "ה_חלפה"
-#: ../gtk/gtkfilechooserdefault.c:8879
+#: ../gtk/gtkfilechooserdefault.c:8912
msgid "Could not start the search process"
msgstr "לא ניתן להתחיל את תהליך החיפוש"
-#: ../gtk/gtkfilechooserdefault.c:8880
+#: ../gtk/gtkfilechooserdefault.c:8913
msgid ""
"The program was not able to create a connection to the indexer daemon. "
"Please make sure it is running."
msgstr "התנית לא הצליחה ליצור חיבור אל סוכן האינדקס. יש לוודא כי הוא פעיל."
-#: ../gtk/gtkfilechooserdefault.c:8894
+#: ../gtk/gtkfilechooserdefault.c:8927
msgid "Could not send the search request"
msgstr "לא ניתן לשלוח את בקשת החיפוש"
-#: ../gtk/gtkfilechooserdefault.c:9113
-msgid "Search:"
-msgstr "חיפוש:"
-
-#: ../gtk/gtkfilechooserdefault.c:9721
+#: ../gtk/gtkfilechooserdefault.c:9719
#, c-format
msgid "Could not mount %s"
msgstr "לא ניתן לעגון את %s"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry, when the user enters an invalid path.
#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1174
+#: ../gtk/gtkfilesystem.c:721
+#, c-format
msgid "Invalid path"
msgstr "נתיב לא תקין"
#. This is the default text shown in the preview entry, though the user
#. can set it. Remember that some fonts only have capital letters.
-#: ../gtk/gtkfontsel.c:120
+#: ../gtk/gtkfontsel.c:119
msgid "abcdefghijk ABCDEFGHIJK"
msgstr "abcdef ABCDEF אבגדהו"
-#: ../gtk/gtkfontsel.c:389
+#: ../gtk/gtkfontsel.c:388
msgid "_Family:"
msgstr "_משפחה:"
msgid "_Style:"
msgstr "_סגנון:"
-#: ../gtk/gtkfontsel.c:401
+#: ../gtk/gtkfontsel.c:402
msgid "Si_ze:"
msgstr "_גודל:"
#. create the text entry widget
-#: ../gtk/gtkfontsel.c:577
+#: ../gtk/gtkfontsel.c:579
msgid "_Preview:"
msgstr "_תצוגה מקדימה:"
-#: ../gtk/gtkfontsel.c:1698
+#: ../gtk/gtkfontsel.c:1701
msgid "Font Selection"
msgstr "בחירת גופן"
msgid "Failed to load icon"
msgstr "ארע כשל בטעינת סמל"
-#: ../gtk/gtkimmodule.c:526
+#: ../gtk/gtkimmodule.c:525
msgid "Simple"
msgstr "פשוט"
msgstr "מערכת (%s)"
#. Open Link
-#: ../gtk/gtklabel.c:6302
+#: ../gtk/gtklabel.c:6309
msgid "_Open Link"
msgstr "_פתיחת קישור"
#. Copy Link Address
-#: ../gtk/gtklabel.c:6314
+#: ../gtk/gtklabel.c:6321
msgid "Copy _Link Address"
msgstr "העתקת כתובת ה_קישור"
-#: ../gtk/gtklinkbutton.c:482
+#: ../gtk/gtklinkbutton.c:484
msgid "Copy URL"
msgstr "ה_עתקת כתובת"
-#: ../gtk/gtklinkbutton.c:645
+#: ../gtk/gtklinkbutton.c:647
msgid "Invalid URI"
msgstr "כתובת לא תקנית"
"נא ליצור קשר עם מנהל המערכת."
#. Description of --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:563
+#: ../gtk/gtkmain.c:562
msgid "Load additional GTK+ modules"
msgstr "Load additional GTK+ modules"
#. Placeholder in --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:564
+#: ../gtk/gtkmain.c:563
msgid "MODULES"
msgstr "MODULES"
#. Description of --g-fatal-warnings in --help output
-#: ../gtk/gtkmain.c:566
+#: ../gtk/gtkmain.c:565
msgid "Make all warnings fatal"
msgstr "Make all warnings fatal"
#. Description of --gtk-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:569
+#: ../gtk/gtkmain.c:568
msgid "GTK+ debugging flags to set"
msgstr "GTK+ debugging flags to set"
#. Description of --gtk-no-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:572
+#: ../gtk/gtkmain.c:571
msgid "GTK+ debugging flags to unset"
msgstr "GTK+ debugging flags to unset"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: ../gtk/gtkmain.c:846
+#: ../gtk/gtkmain.c:848
msgid "default:LTR"
msgstr "default:RTL"
-#: ../gtk/gtkmain.c:910
+#: ../gtk/gtkmain.c:914
#, c-format
msgid "Cannot open display: %s"
msgstr "Cannot open display: %s"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "GTK+ Options"
msgstr "GTK+ Options"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "Show GTK+ Options"
msgstr "Show GTK+ Options"
msgid "Co_nnect"
msgstr "_התחברות"
-#: ../gtk/gtkmountoperation.c:556
+#: ../gtk/gtkmountoperation.c:559
msgid "Connect _anonymously"
msgstr "התחברות כ_אנונימי"
-#: ../gtk/gtkmountoperation.c:565
+#: ../gtk/gtkmountoperation.c:568
msgid "Connect as u_ser:"
msgstr "התחברות כ_משתמש:"
-#: ../gtk/gtkmountoperation.c:599
+#: ../gtk/gtkmountoperation.c:602
msgid "_Username:"
msgstr "_שם משתמש:"
-#: ../gtk/gtkmountoperation.c:604
+#: ../gtk/gtkmountoperation.c:607
msgid "_Domain:"
msgstr "_מתחם:"
-#: ../gtk/gtkmountoperation.c:610
+#: ../gtk/gtkmountoperation.c:613
msgid "_Password:"
msgstr "_סיסמה:"
-#: ../gtk/gtkmountoperation.c:628
+#: ../gtk/gtkmountoperation.c:631
msgid "Forget password _immediately"
msgstr "_מחיקת הססמה מיד"
-#: ../gtk/gtkmountoperation.c:638
+#: ../gtk/gtkmountoperation.c:641
msgid "Remember password until you _logout"
msgstr "_שמירת הססמה עד הניתוק"
-#: ../gtk/gtkmountoperation.c:648
+#: ../gtk/gtkmountoperation.c:651
msgid "Remember _forever"
msgstr "שמירה ל_תמיד"
-#: ../gtk/gtkmountoperation.c:877
+#: ../gtk/gtkmountoperation.c:880
#, c-format
msgid "Unknown Application (PID %d)"
msgstr "יישום בלתי מוכר (מזהה תהליך %d)"
-#: ../gtk/gtkmountoperation.c:1060
+#: ../gtk/gtkmountoperation.c:1063
msgid "Unable to end process"
msgstr "לא ניתן לסיים את התהליך"
-#: ../gtk/gtkmountoperation.c:1097
+#: ../gtk/gtkmountoperation.c:1100
msgid "_End Process"
msgstr "_סיום התהליך"
msgstr "לא ניתן לסיים את התהליך בעל המזהה %d. הפעולה אינה מוטמעת עדיין."
#. translators: this string is a name for the 'less' command
-#: ../gtk/gtkmountoperation-x11.c:859
+#: ../gtk/gtkmountoperation-x11.c:959
msgid "Terminal Pager"
msgstr "מציג טקסט במסוף"
-#: ../gtk/gtkmountoperation-x11.c:860
+#: ../gtk/gtkmountoperation-x11.c:960
msgid "Top Command"
msgstr "פקודת Top"
-#: ../gtk/gtkmountoperation-x11.c:861
+#: ../gtk/gtkmountoperation-x11.c:961
msgid "Bourne Again Shell"
msgstr "מעטפת Bourne Again"
-#: ../gtk/gtkmountoperation-x11.c:862
+#: ../gtk/gtkmountoperation-x11.c:962
msgid "Bourne Shell"
msgstr "מעטפת Bourne"
-#: ../gtk/gtkmountoperation-x11.c:863
+#: ../gtk/gtkmountoperation-x11.c:963
msgid "Z Shell"
msgstr "מעטפת Z"
-#: ../gtk/gtkmountoperation-x11.c:960
+#: ../gtk/gtkmountoperation-x11.c:1060
#, c-format
msgid "Cannot end process with PID %d: %s"
msgstr "לא ניתן לסיים את התהליך בעל המזהה %d: %s"
-#: ../gtk/gtknotebook.c:4919 ../gtk/gtknotebook.c:7608
+#: ../gtk/gtknotebook.c:4922 ../gtk/gtknotebook.c:7611
#, c-format
msgid "Page %u"
msgstr "עמוד %u"
" מעלה: %s %s\n"
" מטה: %s %s"
-#: ../gtk/gtkpagesetupunixdialog.c:851 ../gtk/gtkprintunixdialog.c:3373
+#: ../gtk/gtkpagesetupunixdialog.c:851 ../gtk/gtkprintunixdialog.c:3376
msgid "Manage Custom Sizes..."
msgstr "ניהול גדלים _מותאמים..."
msgid "_Format for:"
msgstr "_תצורה עבור:"
-#: ../gtk/gtkpagesetupunixdialog.c:924 ../gtk/gtkprintunixdialog.c:3545
+#: ../gtk/gtkpagesetupunixdialog.c:925 ../gtk/gtkprintunixdialog.c:3556
msgid "_Paper size:"
msgstr "_גודל הנייר:"
-#: ../gtk/gtkpagesetupunixdialog.c:955
+#: ../gtk/gtkpagesetupunixdialog.c:958
msgid "_Orientation:"
msgstr "_כיווניות:"
-#: ../gtk/gtkpagesetupunixdialog.c:1019 ../gtk/gtkprintunixdialog.c:3607
+#: ../gtk/gtkpagesetupunixdialog.c:1023 ../gtk/gtkprintunixdialog.c:3620
msgid "Page Setup"
msgstr "הגדרות עמוד"
msgid "Select a folder"
msgstr "בחירת תיקייה"
-#: ../gtk/gtkprinteroptionwidget.c:811
+#: ../gtk/gtkprinteroptionwidget.c:812
msgid "_Save in folder:"
msgstr "שמירה ב_תיקייה:"
msgid "Getting printer information failed"
msgstr "קבלת נתוני המדפסת נכשלה"
-#: ../gtk/gtkprintunixdialog.c:1940
+#: ../gtk/gtkprintunixdialog.c:1942
msgid "Getting printer information..."
msgstr "נתוני המדפסת מתקבלים..."
-#: ../gtk/gtkprintunixdialog.c:2214
+#: ../gtk/gtkprintunixdialog.c:2216
msgid "Printer"
msgstr "מדפסת"
#. Translators: this is the header for the location column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2224
+#: ../gtk/gtkprintunixdialog.c:2226
msgid "Location"
msgstr "מיקום"
#. Translators: this is the header for the printer status column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2235
+#: ../gtk/gtkprintunixdialog.c:2237
msgid "Status"
msgstr "מצב"
-#: ../gtk/gtkprintunixdialog.c:2261
+#: ../gtk/gtkprintunixdialog.c:2263
msgid "Range"
msgstr "טווח"
-#: ../gtk/gtkprintunixdialog.c:2265
+#: ../gtk/gtkprintunixdialog.c:2267
msgid "_All Pages"
msgstr "כל ה_דפים"
-#: ../gtk/gtkprintunixdialog.c:2272
+#: ../gtk/gtkprintunixdialog.c:2274
msgid "C_urrent Page"
msgstr "_הדף הנוכחי"
-#: ../gtk/gtkprintunixdialog.c:2282
+#: ../gtk/gtkprintunixdialog.c:2284
msgid "Se_lection"
msgstr "_בחירה"
-#: ../gtk/gtkprintunixdialog.c:2291
+#: ../gtk/gtkprintunixdialog.c:2293
msgid "Pag_es:"
msgstr "_דפים:"
-#: ../gtk/gtkprintunixdialog.c:2292
+#: ../gtk/gtkprintunixdialog.c:2294
msgid ""
"Specify one or more page ranges,\n"
" e.g. 1-3,7,11"
"ניתן לציין טווח דפים אחד או יותר,\n"
" לדוגמה: 1-3,7,11"
-#: ../gtk/gtkprintunixdialog.c:2302
+#: ../gtk/gtkprintunixdialog.c:2304
msgid "Pages"
msgstr "דפים"
-#: ../gtk/gtkprintunixdialog.c:2315
+#: ../gtk/gtkprintunixdialog.c:2317
msgid "Copies"
msgstr "עותקים"
#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns
-#: ../gtk/gtkprintunixdialog.c:2320
+#: ../gtk/gtkprintunixdialog.c:2322
msgid "Copie_s:"
msgstr "_עותקים:"
-#: ../gtk/gtkprintunixdialog.c:2338
+#: ../gtk/gtkprintunixdialog.c:2341
msgid "C_ollate"
msgstr "_איסוף"
-#: ../gtk/gtkprintunixdialog.c:2346
+#: ../gtk/gtkprintunixdialog.c:2349
msgid "_Reverse"
msgstr "_החזרה"
-#: ../gtk/gtkprintunixdialog.c:2366
+#: ../gtk/gtkprintunixdialog.c:2369
msgid "General"
msgstr "כללי"
#. Translators: These strings name the possible arrangements of
#. * multiple pages on a sheet when printing
#.
-#: ../gtk/gtkprintunixdialog.c:3106
+#: ../gtk/gtkprintunixdialog.c:3109
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, top to bottom"
msgstr "שמאל לימין, מלמעלה למטה"
-#: ../gtk/gtkprintunixdialog.c:3106
+#: ../gtk/gtkprintunixdialog.c:3109
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, bottom to top"
msgstr "שמאל לימין, מלמטה למעלה"
-#: ../gtk/gtkprintunixdialog.c:3107
+#: ../gtk/gtkprintunixdialog.c:3110
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, top to bottom"
msgstr "ימין לשמאל, מלמעלה למטה"
-#: ../gtk/gtkprintunixdialog.c:3107
+#: ../gtk/gtkprintunixdialog.c:3110
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, bottom to top"
msgstr "ימין לשמאל, מלמטה למעלה"
-#: ../gtk/gtkprintunixdialog.c:3108
+#: ../gtk/gtkprintunixdialog.c:3111
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, left to right"
msgstr "מלמעלה למטה, משמאל לימין"
-#: ../gtk/gtkprintunixdialog.c:3108
+#: ../gtk/gtkprintunixdialog.c:3111
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, right to left"
msgstr "מלמעלה למטה, מימין לשמאל"
-#: ../gtk/gtkprintunixdialog.c:3109
+#: ../gtk/gtkprintunixdialog.c:3112
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, left to right"
msgstr "מלמטה למעלה, משמאל לימין"
-#: ../gtk/gtkprintunixdialog.c:3109
+#: ../gtk/gtkprintunixdialog.c:3112
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, right to left"
msgstr "מלמטה למעלה, מימין לשמאל"
#. Translators, this string is used to label the option in the print
#. * dialog that controls in what order multiple pages are arranged
#.
-#: ../gtk/gtkprintunixdialog.c:3113 ../gtk/gtkprintunixdialog.c:3126
+#: ../gtk/gtkprintunixdialog.c:3116 ../gtk/gtkprintunixdialog.c:3129
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3609
msgid "Page Ordering"
msgstr "סדר דפים"
-#: ../gtk/gtkprintunixdialog.c:3142
+#: ../gtk/gtkprintunixdialog.c:3145
msgid "Left to right"
msgstr "שמאל לימין"
-#: ../gtk/gtkprintunixdialog.c:3143
+#: ../gtk/gtkprintunixdialog.c:3146
msgid "Right to left"
msgstr "ימין לשמאל"
-#: ../gtk/gtkprintunixdialog.c:3155
+#: ../gtk/gtkprintunixdialog.c:3158
msgid "Top to bottom"
msgstr "מלמעלה למטה"
-#: ../gtk/gtkprintunixdialog.c:3156
+#: ../gtk/gtkprintunixdialog.c:3159
msgid "Bottom to top"
msgstr "מלמטה למעלה"
-#: ../gtk/gtkprintunixdialog.c:3396
+#: ../gtk/gtkprintunixdialog.c:3399
msgid "Layout"
msgstr "פריסה"
-#: ../gtk/gtkprintunixdialog.c:3400
+#: ../gtk/gtkprintunixdialog.c:3403
msgid "T_wo-sided:"
msgstr "ד_ו־צדדי:"
-#: ../gtk/gtkprintunixdialog.c:3415
+#: ../gtk/gtkprintunixdialog.c:3419
msgid "Pages per _side:"
msgstr "מספר _עמודים בכל צג:"
-#: ../gtk/gtkprintunixdialog.c:3432
+#: ../gtk/gtkprintunixdialog.c:3437
msgid "Page or_dering:"
msgstr "_סדר הדפים:"
-#: ../gtk/gtkprintunixdialog.c:3448
+#: ../gtk/gtkprintunixdialog.c:3454
msgid "_Only print:"
msgstr "ה_דפסה בלבד:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3463
+#: ../gtk/gtkprintunixdialog.c:3470
msgid "All sheets"
msgstr "כל הדפים"
-#: ../gtk/gtkprintunixdialog.c:3464
+#: ../gtk/gtkprintunixdialog.c:3471
msgid "Even sheets"
msgstr "דפים זוגיים"
-#: ../gtk/gtkprintunixdialog.c:3465
+#: ../gtk/gtkprintunixdialog.c:3472
msgid "Odd sheets"
msgstr "דפים אי זוגיים"
-#: ../gtk/gtkprintunixdialog.c:3468
+#: ../gtk/gtkprintunixdialog.c:3475
msgid "Sc_ale:"
msgstr "_התאמה:"
-#: ../gtk/gtkprintunixdialog.c:3495
+#: ../gtk/gtkprintunixdialog.c:3503
msgid "Paper"
msgstr "נייר"
-#: ../gtk/gtkprintunixdialog.c:3499
+#: ../gtk/gtkprintunixdialog.c:3507
msgid "Paper _type:"
msgstr "_סוג נייר:"
-#: ../gtk/gtkprintunixdialog.c:3514
+#: ../gtk/gtkprintunixdialog.c:3523
msgid "Paper _source:"
msgstr "מ_קור נייר:"
-#: ../gtk/gtkprintunixdialog.c:3529
+#: ../gtk/gtkprintunixdialog.c:3539
msgid "Output t_ray:"
msgstr "_מגש פלט:"
-#: ../gtk/gtkprintunixdialog.c:3569
+#: ../gtk/gtkprintunixdialog.c:3581
msgid "Or_ientation:"
msgstr "_כיווניות:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3584
+#: ../gtk/gtkprintunixdialog.c:3597
msgid "Portrait"
msgstr "לאורך"
-#: ../gtk/gtkprintunixdialog.c:3585
+#: ../gtk/gtkprintunixdialog.c:3598
msgid "Landscape"
msgstr "לרוחב"
-#: ../gtk/gtkprintunixdialog.c:3586
+#: ../gtk/gtkprintunixdialog.c:3599
msgid "Reverse portrait"
msgstr "לאורך הפוך"
-#: ../gtk/gtkprintunixdialog.c:3587
+#: ../gtk/gtkprintunixdialog.c:3600
msgid "Reverse landscape"
msgstr "לרוחב הפוך"
-#: ../gtk/gtkprintunixdialog.c:3632
+#: ../gtk/gtkprintunixdialog.c:3645
msgid "Job Details"
msgstr "פרטי המשימה"
-#: ../gtk/gtkprintunixdialog.c:3638
+#: ../gtk/gtkprintunixdialog.c:3651
msgid "Pri_ority:"
msgstr "_עדיפות:"
-#: ../gtk/gtkprintunixdialog.c:3653
+#: ../gtk/gtkprintunixdialog.c:3667
msgid "_Billing info:"
msgstr "_נתוני חיוב:"
-#: ../gtk/gtkprintunixdialog.c:3671
+#: ../gtk/gtkprintunixdialog.c:3686
msgid "Print Document"
msgstr "הדפסת מסמך"
#. Translators: this is one of the choices for the print at option
#. * in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3680
+#: ../gtk/gtkprintunixdialog.c:3695
msgid "_Now"
msgstr "_כעת"
-#: ../gtk/gtkprintunixdialog.c:3691
+#: ../gtk/gtkprintunixdialog.c:3706
msgid "A_t:"
msgstr "_ב:"
#. * You can remove the am/pm values below for your locale if they are not
#. * supported.
#.
-#: ../gtk/gtkprintunixdialog.c:3697
+#: ../gtk/gtkprintunixdialog.c:3712
msgid ""
"Specify the time of print,\n"
" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
"ציון זמן ההדפסה,\n"
"לדוגמה: 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
-#: ../gtk/gtkprintunixdialog.c:3707
+#: ../gtk/gtkprintunixdialog.c:3722
msgid "Time of print"
msgstr "זמן ההדפסה"
-#: ../gtk/gtkprintunixdialog.c:3723
+#: ../gtk/gtkprintunixdialog.c:3738
msgid "On _hold"
msgstr "ב_המתנה"
-#: ../gtk/gtkprintunixdialog.c:3724
+#: ../gtk/gtkprintunixdialog.c:3739
msgid "Hold the job until it is explicitly released"
msgstr "החזקת המשימה עד שתשוחרר מפורשות"
-#: ../gtk/gtkprintunixdialog.c:3744
+#: ../gtk/gtkprintunixdialog.c:3759
msgid "Add Cover Page"
msgstr "הוספת עמוד שער"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3753
+#: ../gtk/gtkprintunixdialog.c:3768
msgid "Be_fore:"
msgstr "ל_פני:"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3771
+#: ../gtk/gtkprintunixdialog.c:3787
msgid "_After:"
msgstr "א_חרי:"
#. Translators: this is the tab label for the notebook tab containing
#. * job-specific options in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3789
+#: ../gtk/gtkprintunixdialog.c:3806
msgid "Job"
msgstr "משימה"
-#: ../gtk/gtkprintunixdialog.c:3855
+#: ../gtk/gtkprintunixdialog.c:3872
msgid "Advanced"
msgstr "מתקדם"
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3893
+#: ../gtk/gtkprintunixdialog.c:3910
msgid "Image Quality"
msgstr "איכות תמונה"
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3897
+#: ../gtk/gtkprintunixdialog.c:3914
msgid "Color"
msgstr "צבע"
#. Translators: this will appear as tab label in print dialog.
#. It's a typographical term, as in "Binding and finishing"
-#: ../gtk/gtkprintunixdialog.c:3902
+#: ../gtk/gtkprintunixdialog.c:3919
msgid "Finishing"
msgstr "גימור"
-#: ../gtk/gtkprintunixdialog.c:3912
+#: ../gtk/gtkprintunixdialog.c:3929
msgid "Some of the settings in the dialog conflict"
msgstr "חלק מההגדרות בתיבת הדו־שיח מתנגשות"
-#: ../gtk/gtkprintunixdialog.c:3935
+#: ../gtk/gtkprintunixdialog.c:3952
msgid "Print"
msgstr "הדפסה"
msgid "No registered application with name '%s' for item with URI '%s' found"
msgstr "לא נמצא יישום הרשום בשם '%s' עבור הפריט בעל הכתובת '%s'"
-#: ../gtk/gtkspinner.c:287
-msgctxt "throbbing progress animation widget"
-msgid "Spinner"
-msgstr "הנפשת המתנה"
-
-#: ../gtk/gtkspinner.c:288
-msgid "Provides visual indication of progress"
-msgstr "אספקת חיווי חזותי של התהליך"
-
#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
#: ../gtk/gtkstock.c:313
msgctxt "Stock label"
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
#. * the state
#.
-#: ../gtk/gtkswitch.c:338 ../gtk/gtkswitch.c:398 ../gtk/gtkswitch.c:605
+#: ../gtk/gtkswitch.c:335 ../gtk/gtkswitch.c:395 ../gtk/gtkswitch.c:602
msgctxt "switch"
msgid "ON"
msgstr "❙"
#. Translators: if the "off" state label requires more than three
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
#.
-#: ../gtk/gtkswitch.c:346 ../gtk/gtkswitch.c:399 ../gtk/gtkswitch.c:634
+#: ../gtk/gtkswitch.c:343 ../gtk/gtkswitch.c:396 ../gtk/gtkswitch.c:631
msgctxt "switch"
msgid "OFF"
msgstr "○"
-#: ../gtk/gtkswitch.c:1061
-msgctxt "light switch widget"
-msgid "Switch"
-msgstr "החלפה"
-
-#: ../gtk/gtkswitch.c:1062
-msgid "Switches between on and off states"
-msgstr "החלפה בין המצבים פעיל ולא פעיל"
-
#: ../gtk/gtktextbufferrichtext.c:651
#, c-format
msgid "Unknown error when trying to deserialize %s"
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3326
msgid "Printer Default"
-msgstr "×\91ר×\99רת ×\9e×\97×\93×\9c ×¢×\91×\95ר ×\94×\9e×\93פסת"
+msgstr "בררת מחדל עבור המדפסת"
#. Translators: this is an option of "GhostScript"
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2832
msgid "Unavailable"
msgstr "לא זמין"
+#. TRANSLATORS: when we're running an old CUPS, and
+#. * it hasn't registered the device with colord
+#: ../modules/printbackends/cups/gtkprintercups.c:222
+msgid "Color management unavailable"
+msgstr "ניהול צבעים אינו זמין"
+
+#. TRANSLATORS: when there is no color profile available
+#: ../modules/printbackends/cups/gtkprintercups.c:234
+msgid "No profile available"
+msgstr "אין פרופיל זמין"
+
+#. TRANSLATORS: when the color profile has no title
+#: ../modules/printbackends/cups/gtkprintercups.c:245
+msgid "Unspecified profile"
+msgstr "פרופיל בלתי מוגדר"
+
#. default filename used for print-to-file
#: ../modules/printbackends/file/gtkprintbackendfile.c:250
#, c-format
"Failed to load image '%s': reason not known, probably a corrupt image file"
msgstr "נכשל בפתיחת התמונה '%s': הסיבה איננה ידועה, כנראה קובץ תמונה פגום"
+#~ msgid "_Browse for other folders"
+#~ msgstr "_דפדוף לתיקיות אחרות"
+
#~ msgid "Locked"
#~ msgstr "נעולה"
#
msgid ""
msgstr ""
-"Project-Id-Version: gtk+ 2.9x\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%"
-"2b&component=general\n"
-"POT-Creation-Date: 2011-01-29 13:01+0000\n"
-"PO-Revision-Date: 2011-01-29 15:54+0100\n"
+"Project-Id-Version: gtk+ 3.1.x\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-07-23 15:11+0200\n"
+"PO-Revision-Date: 2011-07-23 15:18+0200\n"
"Last-Translator: Luca Ferretti <lferrett@gnome.org>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
+"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-#: ../gdk/gdk.c:151
+#: ../gdk/gdk.c:135
#, c-format
msgid "Error parsing option --gdk-debug"
msgstr "Errore nell'analizzare l'opzione --gdk-debug"
-#: ../gdk/gdk.c:171
+#: ../gdk/gdk.c:155
#, c-format
msgid "Error parsing option --gdk-no-debug"
msgstr "Errore nell'analizzare l'opzione --gdk-debug"
#. Description of --class=CLASS in --help output
-#: ../gdk/gdk.c:199
+#: ../gdk/gdk.c:183
msgid "Program class as used by the window manager"
msgstr "Classe del programma come usato dal window manager"
#. Placeholder in --class=CLASS in --help output
-#: ../gdk/gdk.c:200
+#: ../gdk/gdk.c:184
msgid "CLASS"
msgstr "CLASSE"
#. Description of --name=NAME in --help output
-#: ../gdk/gdk.c:202
+#: ../gdk/gdk.c:186
msgid "Program name as used by the window manager"
msgstr "Nome del programma come usato dal window manager"
#. Placeholder in --name=NAME in --help output
-#: ../gdk/gdk.c:203
+#: ../gdk/gdk.c:187
msgid "NAME"
msgstr "NOME"
#. Description of --display=DISPLAY in --help output
-#: ../gdk/gdk.c:205
+#: ../gdk/gdk.c:189
msgid "X display to use"
msgstr "Display X da usare"
#. Placeholder in --display=DISPLAY in --help output
-#: ../gdk/gdk.c:206
+#: ../gdk/gdk.c:190
msgid "DISPLAY"
msgstr "DISPLAY"
#. Description of --gdk-debug=FLAGS in --help output
-#: ../gdk/gdk.c:209
+#: ../gdk/gdk.c:193
msgid "GDK debugging flags to set"
msgstr "Flag per il debug di GDK da attivare"
#. 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:210 ../gdk/gdk.c:213 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573
+#: ../gdk/gdk.c:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:569 ../gtk/gtkmain.c:572
msgid "FLAGS"
msgstr "FLAG"
#. Description of --gdk-no-debug=FLAGS in --help output
-#: ../gdk/gdk.c:212
+#: ../gdk/gdk.c:196
msgid "GDK debugging flags to unset"
msgstr "Flag per il debug di GDK da disattivare"
# direi che non ha traduzione in italiano -Luca
-#: ../gdk/keyname-table.h:3940
+#.
+#. * Translators, the strings in the 'keyboard label' context are
+#. * display names for keyboard keys. Some of them have prefixes like
+#. * XF86 or ISO_ - these should be removed in the translation. Similarly,
+#. * underscores should be replaced by spaces. The prefix 'KP_' stands
+#. * for 'key pad' and you may want to include that in your translation.
+#. * Here are some examples of English translations:
+#. * XF86AudioMute - Audio mute
+#. * Scroll_lock - Scroll lock
+#. * KP_Space - Space (keypad)
+#.
+#: ../gdk/keyname-table.h:3951
msgctxt "keyboard label"
msgid "BackSpace"
msgstr "Backspace"
# Notare la differenza tra
# "Tabulazione" (il carattere di -) e
# "Tab" (il tasto -) -Luca
-#: ../gdk/keyname-table.h:3941
+#: ../gdk/keyname-table.h:3952
msgctxt "keyboard label"
msgid "Tab"
msgstr "Tab"
# Notare che in italiano non esiste distinzione tra Return ed Enter
# (per lo meno mi pare così, dovrei controllare sulla Olivetti) -Luca
-#: ../gdk/keyname-table.h:3942
+#: ../gdk/keyname-table.h:3953
msgctxt "keyboard label"
msgid "Return"
msgstr "Invio"
# Traduzione del tasto sulla Logitech e Microsoft IT
# che ho sottomano -Luca
-#: ../gdk/keyname-table.h:3943
+#: ../gdk/keyname-table.h:3954
msgctxt "keyboard label"
msgid "Pause"
msgstr "Pausa"
# Bloc
# Scorr
# Cmq direi di seguire la convenzione usata in originale con il _
-#: ../gdk/keyname-table.h:3944
+#: ../gdk/keyname-table.h:3955
msgctxt "keyboard label"
msgid "Scroll_Lock"
msgstr "Bloc_Scorr"
# Traduzione del tasto sulla Logitech e Microsoft IT
# che ho sottomano -Luca
-#: ../gdk/keyname-table.h:3945
+#: ../gdk/keyname-table.h:3956
msgctxt "keyboard label"
msgid "Sys_Req"
msgstr "R_Sist"
# Traduzione del tasto sulla Logitech e Microsoft IT
# che ho sottomano -Luca
-#: ../gdk/keyname-table.h:3946
+#: ../gdk/keyname-table.h:3957
msgctxt "keyboard label"
msgid "Escape"
msgstr "Esc"
# Ma che tasto è ????
-#: ../gdk/keyname-table.h:3947
+#: ../gdk/keyname-table.h:3958
msgctxt "keyboard label"
msgid "Multi_key"
msgstr "Tasto_Multi"
-#: ../gdk/keyname-table.h:3948
+#: ../gdk/keyname-table.h:3959
msgctxt "keyboard label"
msgid "Home"
msgstr "Home"
-#: ../gdk/keyname-table.h:3949
+#: ../gdk/keyname-table.h:3960
msgctxt "keyboard label"
msgid "Left"
msgstr "Sinistra"
-#: ../gdk/keyname-table.h:3950
+#: ../gdk/keyname-table.h:3961
msgctxt "keyboard label"
msgid "Up"
msgstr "Su"
-#: ../gdk/keyname-table.h:3951
+#: ../gdk/keyname-table.h:3962
msgctxt "keyboard label"
msgid "Right"
msgstr "Destra"
-#: ../gdk/keyname-table.h:3952
+#: ../gdk/keyname-table.h:3963
msgctxt "keyboard label"
msgid "Down"
msgstr "Giù"
-#: ../gdk/keyname-table.h:3953
+#: ../gdk/keyname-table.h:3964
msgctxt "keyboard label"
msgid "Page_Up"
msgstr "Pag_Su"
-#: ../gdk/keyname-table.h:3954
+#: ../gdk/keyname-table.h:3965
msgctxt "keyboard label"
msgid "Page_Down"
msgstr "Pag_Giù"
-#: ../gdk/keyname-table.h:3955
+#: ../gdk/keyname-table.h:3966
msgctxt "keyboard label"
msgid "End"
msgstr "Fine"
-#: ../gdk/keyname-table.h:3956
+#: ../gdk/keyname-table.h:3967
msgctxt "keyboard label"
msgid "Begin"
msgstr "Inizio"
-#: ../gdk/keyname-table.h:3957
+#: ../gdk/keyname-table.h:3968
msgctxt "keyboard label"
msgid "Print"
msgstr "Stamp"
-#: ../gdk/keyname-table.h:3958
+#: ../gdk/keyname-table.h:3969
msgctxt "keyboard label"
msgid "Insert"
msgstr "Ins"
-#: ../gdk/keyname-table.h:3959
+#: ../gdk/keyname-table.h:3970
msgctxt "keyboard label"
msgid "Num_Lock"
msgstr "Bloc_Num"
# Questo e i successivi si riferiscono ai tasti sul Tastierino Numerico
# (da cui il prefisso usato TN). -Luca
-#: ../gdk/keyname-table.h:3960
+#. Translators: KP_ means 'key pad' here
+#: ../gdk/keyname-table.h:3972
msgctxt "keyboard label"
msgid "KP_Space"
msgstr "TN_Spazio"
-#: ../gdk/keyname-table.h:3961
+#: ../gdk/keyname-table.h:3973
msgctxt "keyboard label"
msgid "KP_Tab"
msgstr "TN_Tab"
#
# Sulle tastiere Logitech e Microsoft IT che ho sottomano
# entrambi sono tradotto come Invio. -Luca
-#: ../gdk/keyname-table.h:3962
+#: ../gdk/keyname-table.h:3974
msgctxt "keyboard label"
msgid "KP_Enter"
msgstr "TN_Invio"
-#: ../gdk/keyname-table.h:3963
+#: ../gdk/keyname-table.h:3975
msgctxt "keyboard label"
msgid "KP_Home"
msgstr "TN_Home"
-#: ../gdk/keyname-table.h:3964
+#: ../gdk/keyname-table.h:3976
msgctxt "keyboard label"
msgid "KP_Left"
msgstr "TN_Sinistra"
-#: ../gdk/keyname-table.h:3965
+#: ../gdk/keyname-table.h:3977
msgctxt "keyboard label"
msgid "KP_Up"
msgstr "TN_Su"
-#: ../gdk/keyname-table.h:3966
+#: ../gdk/keyname-table.h:3978
msgctxt "keyboard label"
msgid "KP_Right"
msgstr "TN_Destra"
-#: ../gdk/keyname-table.h:3967
+#: ../gdk/keyname-table.h:3979
msgctxt "keyboard label"
msgid "KP_Down"
msgstr "TN_Giù"
-#: ../gdk/keyname-table.h:3968
+#: ../gdk/keyname-table.h:3980
msgctxt "keyboard label"
msgid "KP_Page_Up"
msgstr "TN_Pag_Su"
# credo sia precedente, visto che c'è KP_Next,
# ma non so a che tasto corrisponda....
-#: ../gdk/keyname-table.h:3969
+#: ../gdk/keyname-table.h:3981
msgctxt "keyboard label"
msgid "KP_Prior"
msgstr "TN_Prec"
-#: ../gdk/keyname-table.h:3970
+#: ../gdk/keyname-table.h:3982
msgctxt "keyboard label"
msgid "KP_Page_Down"
msgstr "TN_Pag_Giù"
-#: ../gdk/keyname-table.h:3971
+#: ../gdk/keyname-table.h:3983
msgctxt "keyboard label"
msgid "KP_Next"
msgstr "TN_Succ"
-#: ../gdk/keyname-table.h:3972
+#: ../gdk/keyname-table.h:3984
msgctxt "keyboard label"
msgid "KP_End"
msgstr "TN_Fine"
-#: ../gdk/keyname-table.h:3973
+#: ../gdk/keyname-table.h:3985
msgctxt "keyboard label"
msgid "KP_Begin"
msgstr "TN_Inizio"
-#: ../gdk/keyname-table.h:3974
+#: ../gdk/keyname-table.h:3986
msgctxt "keyboard label"
msgid "KP_Insert"
msgstr "TN_Ins"
-#: ../gdk/keyname-table.h:3975
+#: ../gdk/keyname-table.h:3987
msgctxt "keyboard label"
msgid "KP_Delete"
msgstr "TN_Canc"
-#: ../gdk/keyname-table.h:3976
+#: ../gdk/keyname-table.h:3988
msgctxt "keyboard label"
msgid "Delete"
msgstr "Canc"
+#. Translators: 'Mon' means Monitor here, and the XF86 prefix should be removed
+#: ../gdk/keyname-table.h:3990
+msgctxt "keyboard label"
+msgid "XF86MonBrightnessUp"
+msgstr ""
+
+#: ../gdk/keyname-table.h:3991
+msgctxt "keyboard label"
+msgid "XF86MonBrightnessDown"
+msgstr ""
+
+#: ../gdk/keyname-table.h:3992
+msgctxt "keyboard label"
+msgid "XF86AudioMute"
+msgstr ""
+
+#: ../gdk/keyname-table.h:3993
+msgctxt "keyboard label"
+msgid "XF86AudioLowerVolume"
+msgstr ""
+
+#: ../gdk/keyname-table.h:3994
+msgctxt "keyboard label"
+msgid "XF86AudioRaiseVolume"
+msgstr ""
+
+#: ../gdk/keyname-table.h:3995
+msgctxt "keyboard label"
+msgid "XF86AudioPlay"
+msgstr ""
+
+#: ../gdk/keyname-table.h:3996
+msgctxt "keyboard label"
+msgid "XF86AudioStop"
+msgstr ""
+
+#: ../gdk/keyname-table.h:3997
+msgctxt "keyboard label"
+msgid "XF86AudioNext"
+msgstr ""
+
+#: ../gdk/keyname-table.h:3998
+msgctxt "keyboard label"
+msgid "XF86AudioPrev"
+msgstr ""
+
+#: ../gdk/keyname-table.h:3999
+msgctxt "keyboard label"
+msgid "XF86AudioRecord"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4000
+msgctxt "keyboard label"
+msgid "XF86AudioPause"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4001
+msgctxt "keyboard label"
+msgid "XF86AudioRewind"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4002
+msgctxt "keyboard label"
+msgid "XF86AudioMedia"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4003
+msgctxt "keyboard label"
+msgid "XF86ScreenSaver"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4004
+msgctxt "keyboard label"
+msgid "XF86Battery"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4005
+msgctxt "keyboard label"
+msgid "XF86Launch1"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4006
+msgctxt "keyboard label"
+msgid "XF86Forward"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4007
+msgctxt "keyboard label"
+msgid "XF86Back"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4008
+msgctxt "keyboard label"
+msgid "XF86Sleep"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4009
+msgctxt "keyboard label"
+msgid "XF86Hibernate"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4010
+msgctxt "keyboard label"
+msgid "XF86WLAN"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4011
+msgctxt "keyboard label"
+msgid "XF86WebCam"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4012
+msgctxt "keyboard label"
+msgid "XF86Display"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4013
+msgctxt "keyboard label"
+msgid "XF86TouchpadToggle"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4014
+msgctxt "keyboard label"
+msgid "XF86WakeUp"
+msgstr ""
+
+#: ../gdk/keyname-table.h:4015
+msgctxt "keyboard label"
+msgid "XF86Suspend"
+msgstr ""
+
#. Description of --sync in --help output
#: ../gdk/win32/gdkmain-win32.c:55
msgid "Don't batch GDI requests"
msgstr[0] "Apertura di %d oggetto"
msgstr[1] "Apertura di %d oggetti"
+#: ../gtk/a11y/gtkspinneraccessible.c:42
+msgctxt "throbbing progress animation widget"
+msgid "Spinner"
+msgstr "Spinner"
+
+#: ../gtk/a11y/gtkspinneraccessible.c:43
+msgid "Provides visual indication of progress"
+msgstr "Fornisce indicazioni visive sull'avanzamento"
+
+# per l'accessibilità
+#: ../gtk/a11y/gtkswitchaccessible.c:65
+msgctxt "light switch widget"
+msgid "Switch"
+msgstr "Interruttore"
+
+# per l'accessibilità
+#: ../gtk/a11y/gtkswitchaccessible.c:66
+msgid "Switches between on and off states"
+msgstr "Commuta tra gli stati acceso/attivato e spento/disattivato"
+
#. Translators: this is the license preamble; the string at the end
#. * contains the URL of the license.
#.
-#: ../gtk/gtkaboutdialog.c:104
+#: ../gtk/gtkaboutdialog.c:103
#, c-format
msgid ""
"This program comes with ABSOLUTELY NO WARRANTY; for details, visit <a href="
"Questo programma non fornisce ALCUNA GARANZIA. Per maggiori informazioni "
"consultare <a href=\"%s\">%s</a>"
-#: ../gtk/gtkaboutdialog.c:346
+#: ../gtk/gtkaboutdialog.c:345
msgid "License"
msgstr "Licenza"
-#: ../gtk/gtkaboutdialog.c:347
+#: ../gtk/gtkaboutdialog.c:346
msgid "The license of the program"
msgstr "La licenza del programma"
#. Add the credits button
-#: ../gtk/gtkaboutdialog.c:739
+#: ../gtk/gtkaboutdialog.c:738
msgid "C_redits"
msgstr "_Riconoscimenti"
#. Add the license button
-#: ../gtk/gtkaboutdialog.c:752
+#: ../gtk/gtkaboutdialog.c:751
msgid "_License"
msgstr "_Licenza"
-#: ../gtk/gtkaboutdialog.c:957
+#: ../gtk/gtkaboutdialog.c:956
msgid "Could not show link"
msgstr "Impossibile mostrare il collegamento"
-#: ../gtk/gtkaboutdialog.c:994
+#: ../gtk/gtkaboutdialog.c:993
msgid "Homepage"
msgstr "Homepage"
-#: ../gtk/gtkaboutdialog.c:1048
+#: ../gtk/gtkaboutdialog.c:1047
#, c-format
msgid "About %s"
msgstr "Informazioni su %s"
-#: ../gtk/gtkaboutdialog.c:2372
+#: ../gtk/gtkaboutdialog.c:2371
msgid "Created by"
msgstr "Creato da"
-#: ../gtk/gtkaboutdialog.c:2375
+#: ../gtk/gtkaboutdialog.c:2374
msgid "Documented by"
msgstr "Documentato da"
-#: ../gtk/gtkaboutdialog.c:2385
+#: ../gtk/gtkaboutdialog.c:2384
msgid "Translated by"
msgstr "Tradotto da"
-#: ../gtk/gtkaboutdialog.c:2390
+#: ../gtk/gtkaboutdialog.c:2389
msgid "Artwork by"
msgstr "Grafica di"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:768
+#: ../gtk/gtkaccellabel.c:789
msgctxt "keyboard label"
msgid "Super"
msgstr "Super"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:781
+#: ../gtk/gtkaccellabel.c:802
msgctxt "keyboard label"
msgid "Hyper"
msgstr "Hyper"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:795
+#: ../gtk/gtkaccellabel.c:816
msgctxt "keyboard label"
msgid "Meta"
msgstr "Meta"
-#: ../gtk/gtkaccellabel.c:811
+#: ../gtk/gtkaccellabel.c:832
msgctxt "keyboard label"
msgid "Space"
msgstr "Spazio"
-#: ../gtk/gtkaccellabel.c:814
+#: ../gtk/gtkaccellabel.c:835
msgctxt "keyboard label"
msgid "Backslash"
msgstr "Backslash"
-#: ../gtk/gtkappchooserbutton.c:264
+#: ../gtk/gtkappchooserbutton.c:268
msgid "Other application..."
msgstr "Altra applicazione..."
-#: ../gtk/gtkappchooserdialog.c:128
+#: ../gtk/gtkappchooserdialog.c:130
msgid "Failed to look for applications online"
msgstr "Ricerca delle applicazioni online non riuscita"
-#: ../gtk/gtkappchooserdialog.c:165
+#: ../gtk/gtkappchooserdialog.c:171
msgid "Find applications online"
msgstr "Trova applicazioni online"
-#: ../gtk/gtkappchooserdialog.c:209
+#: ../gtk/gtkappchooserdialog.c:221
msgid "Could not run application"
msgstr "Impossibile eseguire l'applicazione"
-#: ../gtk/gtkappchooserdialog.c:222
+#: ../gtk/gtkappchooserdialog.c:234
#, c-format
msgid "Could not find '%s'"
msgstr "Impossibile trovare «%s»"
-#: ../gtk/gtkappchooserdialog.c:225
+#: ../gtk/gtkappchooserdialog.c:237
msgid "Could not find application"
msgstr "Impossibile trovare l'applicazione"
#. Translators: %s is a filename
-#: ../gtk/gtkappchooserdialog.c:335
+#: ../gtk/gtkappchooserdialog.c:355
#, c-format
msgid "Select an application to open \"%s\""
msgstr "Selezionare un'applicazione per aprire «%s»"
-#: ../gtk/gtkappchooserdialog.c:336 ../gtk/gtkappchooserwidget.c:640
+#: ../gtk/gtkappchooserdialog.c:356 ../gtk/gtkappchooserwidget.c:643
#, c-format
msgid "No applications available to open \"%s\""
msgstr "Nessuna applicazione disponibile per aprire «%s»"
#. Translators: %s is a file type description
-#: ../gtk/gtkappchooserdialog.c:342
+#: ../gtk/gtkappchooserdialog.c:362
#, c-format
msgid "Select an application for \"%s\" files"
msgstr "Selezionare un'applicazione per i file «%s»"
-#: ../gtk/gtkappchooserdialog.c:345
+#: ../gtk/gtkappchooserdialog.c:364
#, c-format
msgid "No applications available to open \"%s\" files"
msgstr "Nessuna applicazione disponibile per aprire i file «%s»"
-#: ../gtk/gtkappchooserdialog.c:362
+#: ../gtk/gtkappchooserdialog.c:380
msgid ""
"Click \"Show other applications\", for more options, or \"Find applications "
"online\" to install a new application"
"Fare clic su «Mostra altre applicazioni» per maggiori opzioni, oppure «Trova "
"applicazioni online» per installare una nuova applicazione"
-#: ../gtk/gtkappchooserdialog.c:432
+#: ../gtk/gtkappchooserdialog.c:450
msgid "Forget association"
msgstr "Dimentica associazione"
-#: ../gtk/gtkappchooserdialog.c:497
+#: ../gtk/gtkappchooserdialog.c:515
msgid "Show other applications"
msgstr "Mostra altre applicazioni"
-#: ../gtk/gtkappchooserdialog.c:515
+#: ../gtk/gtkappchooserdialog.c:533
msgid "_Select"
msgstr "_Seleziona"
-#: ../gtk/gtkappchooserwidget.c:591
+#: ../gtk/gtkappchooserwidget.c:592
msgid "Default Application"
msgstr "Applicazione predefinita"
-#: ../gtk/gtkappchooserwidget.c:726
+#: ../gtk/gtkappchooserwidget.c:730
msgid "Recommended Applications"
msgstr "Applicazioni consigliate"
-#: ../gtk/gtkappchooserwidget.c:740
+#: ../gtk/gtkappchooserwidget.c:745
msgid "Related Applications"
msgstr "Applicazioni correlate"
-#: ../gtk/gtkappchooserwidget.c:754
+#: ../gtk/gtkappchooserwidget.c:759
msgid "Other Applications"
msgstr "Altre applicazioni"
+#: ../gtk/gtkassistant.c:999
+msgid "C_ontinue"
+msgstr "C_ontinua"
+
+#: ../gtk/gtkassistant.c:1002
+msgid "Go _Back"
+msgstr "Vai _indietro"
+
+#: ../gtk/gtkassistant.c:1006
+msgid "_Finish"
+msgstr "_Termina"
+
#: ../gtk/gtkbuilderparser.c:342
#, c-format
msgid "Invalid type function on line %d: '%s'"
#. * text direction of RTL and specify "calendar:YM", then the year
#. * will appear to the right of the month.
#.
-#: ../gtk/gtkcalendar.c:871
+#: ../gtk/gtkcalendar.c:873
msgid "calendar:MY"
msgstr "calendar:MY"
#. * first day of the week to calendar:week_start:1 if you want Monday
#. * to be the first day of the week, and so on.
#.
-#: ../gtk/gtkcalendar.c:909
+#: ../gtk/gtkcalendar.c:911
msgid "calendar:week_start:0"
msgstr "calendar:week_start:1"
#. *
#. * If you don't understand this, leave it as "2000"
#.
-#: ../gtk/gtkcalendar.c:1910
+#: ../gtk/gtkcalendar.c:1912
msgctxt "year measurement template"
msgid "2000"
msgstr "2000"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638
+#: ../gtk/gtkcalendar.c:1943 ../gtk/gtkcalendar.c:2640
#, c-format
msgctxt "calendar:day:digits"
msgid "%d"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499
+#: ../gtk/gtkcalendar.c:1975 ../gtk/gtkcalendar.c:2501
#, c-format
msgctxt "calendar:week:digits"
msgid "%d"
#. *
#. * "%Y" is appropriate for most locales.
#.
-#: ../gtk/gtkcalendar.c:2268
+#: ../gtk/gtkcalendar.c:2270
msgctxt "calendar year format"
msgid "%Y"
msgstr "%Y"
#. This label is displayed in a treeview cell displaying
#. * a disabled accelerator key combination.
#.
-#: ../gtk/gtkcellrendereraccel.c:271
+#: ../gtk/gtkcellrendereraccel.c:286
msgctxt "Accelerator"
msgid "Disabled"
msgstr "Disabilitato"
#. * an accelerator key combination that is not valid according
#. * to gtk_accelerator_valid().
#.
-#: ../gtk/gtkcellrendereraccel.c:281
+#: ../gtk/gtkcellrendereraccel.c:296
msgctxt "Accelerator"
msgid "Invalid"
msgstr "Non valido"
#. * an accelerator when the cell is clicked to change the
#. * acelerator.
#.
-#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:729
+#: ../gtk/gtkcellrendereraccel.c:432 ../gtk/gtkcellrendereraccel.c:745
msgid "New accelerator..."
msgstr "Nuovo acceleratore..."
# Nota: il segno di percentuale è attaccato al valore
# nella convenzione italiana
-#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452
+#: ../gtk/gtkcellrendererprogress.c:374 ../gtk/gtkcellrendererprogress.c:464
#, c-format
msgctxt "progress bar label"
msgid "%d %%"
msgid "Pick a Color"
msgstr "Selezione colore"
-#: ../gtk/gtkcolorbutton.c:372
-msgid "Received invalid color data\n"
-msgstr "Ricevuti dati colore non validi\n"
-
-#: ../gtk/gtkcolorsel.c:415
+#: ../gtk/gtkcolorsel.c:416
msgid ""
"Select the color you want from the outer ring. Select the darkness or "
"lightness of that color using the inner triangle."
"Selezionare la tonalità di colore tramite l'anello esterno e la luminosità "
"tramite il triangolo interno."
-#: ../gtk/gtkcolorsel.c:441
+#: ../gtk/gtkcolorsel.c:442
msgid ""
"Click the eyedropper, then click a color anywhere on your screen to select "
"that color."
"Fare clic sul contagocce, quindi fare clic su un punto qualsiasi dello "
"schermo per selezionare il colore di quel punto."
-#: ../gtk/gtkcolorsel.c:451
+#: ../gtk/gtkcolorsel.c:452
msgid "_Hue:"
msgstr "_Tonalità:"
-#: ../gtk/gtkcolorsel.c:452
+#: ../gtk/gtkcolorsel.c:453
msgid "Position on the color wheel."
msgstr "Posizione sull'anello dei colori."
-#: ../gtk/gtkcolorsel.c:454
+#: ../gtk/gtkcolorsel.c:455
msgid "_Saturation:"
msgstr "_Saturazione:"
-#: ../gtk/gtkcolorsel.c:455
+#: ../gtk/gtkcolorsel.c:456
msgid "Intensity of the color."
msgstr "Intensità del colore."
-#: ../gtk/gtkcolorsel.c:456
+#: ../gtk/gtkcolorsel.c:457
msgid "_Value:"
msgstr "_Valore:"
-#: ../gtk/gtkcolorsel.c:457
+#: ../gtk/gtkcolorsel.c:458
msgid "Brightness of the color."
msgstr "Luminosità del colore."
-#: ../gtk/gtkcolorsel.c:458
+#: ../gtk/gtkcolorsel.c:459
msgid "_Red:"
msgstr "_Rosso:"
-#: ../gtk/gtkcolorsel.c:459
+#: ../gtk/gtkcolorsel.c:460
msgid "Amount of red light in the color."
msgstr "Quantità di luce rossa nel colore."
-#: ../gtk/gtkcolorsel.c:460
+#: ../gtk/gtkcolorsel.c:461
msgid "_Green:"
msgstr "_Verde:"
-#: ../gtk/gtkcolorsel.c:461
+#: ../gtk/gtkcolorsel.c:462
msgid "Amount of green light in the color."
msgstr "Quantità di luce verde nel colore."
-#: ../gtk/gtkcolorsel.c:462
+#: ../gtk/gtkcolorsel.c:463
msgid "_Blue:"
msgstr "_Blu:"
-#: ../gtk/gtkcolorsel.c:463
+#: ../gtk/gtkcolorsel.c:464
msgid "Amount of blue light in the color."
msgstr "Quantità di luce blu nel colore."
-#: ../gtk/gtkcolorsel.c:466
+#: ../gtk/gtkcolorsel.c:467
msgid "Op_acity:"
msgstr "_Opacità:"
-#: ../gtk/gtkcolorsel.c:473 ../gtk/gtkcolorsel.c:483
+#: ../gtk/gtkcolorsel.c:475 ../gtk/gtkcolorsel.c:485
msgid "Transparency of the color."
msgstr "Trasparenza del colore."
-#: ../gtk/gtkcolorsel.c:490
+#: ../gtk/gtkcolorsel.c:492
msgid "Color _name:"
msgstr "_Nome colore:"
-#: ../gtk/gtkcolorsel.c:504
+#: ../gtk/gtkcolorsel.c:507
msgid ""
"You can enter an HTML-style hexadecimal color value, or simply a color name "
"such as 'orange' in this entry."
"È possibile inserire il valore esadecimale (in stile HTML) del colore o "
"semplicemente il nome del colore come ad esempio \"orange\"."
-#: ../gtk/gtkcolorsel.c:536
+#: ../gtk/gtkcolorsel.c:539
msgid "_Palette:"
msgstr "_Tavolozza:"
-#: ../gtk/gtkcolorsel.c:565
+#: ../gtk/gtkcolorsel.c:569
msgid "Color Wheel"
msgstr "Anello dei colori"
-#: ../gtk/gtkcolorsel.c:1038
+#: ../gtk/gtkcolorsel.c:1042
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now. You can drag this color to a palette entry, or select this color as "
"della tavolozza o selezionarlo come corrente trascinandolo sul colore che si "
"vuole sostituire."
-#: ../gtk/gtkcolorsel.c:1044
+#: ../gtk/gtkcolorsel.c:1048
msgid ""
"The color you've chosen. You can drag this color to a palette entry to save "
"it for use in the future."
"Il colore selezionato. È possibile trascinarlo su una posizione della "
"tavolozza per averlo disponibile in futuro."
-#: ../gtk/gtkcolorsel.c:1050
+#: ../gtk/gtkcolorsel.c:1054
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now."
"Il colore selezionato in precedenza, per confronto con il colore che si sta "
"attualmente selezionando."
-#: ../gtk/gtkcolorsel.c:1054
+#: ../gtk/gtkcolorsel.c:1058
msgid "The color you've chosen."
msgstr "Il colore che si è scelto."
-#: ../gtk/gtkcolorsel.c:1456
+#: ../gtk/gtkcolorsel.c:1460
msgid "_Save color here"
msgstr "_Salva il colore in questa posizione"
# bug nella stringa il punto finale andrebbe fuori dalle virgolette
-#: ../gtk/gtkcolorsel.c:1661
+#: ../gtk/gtkcolorsel.c:1665
msgid ""
"Click this palette entry to make it the current color. To change this entry, "
"drag a color swatch here or right-click it and select \"Save color here.\""
"o fare clic col pulsante destro per selezionare «Salva il colore in questa "
"posizione»."
-#: ../gtk/gtkcolorseldialog.c:189
+#: ../gtk/gtkcolorseldialog.c:217
msgid "Color Selection"
msgstr "Selezione colore"
msgstr "default:mm"
#. And show the custom paper dialog
-#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3255
+#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3325
msgid "Manage Custom Sizes"
msgstr "Gestisci dimensioni personalizzate"
-#: ../gtk/gtkcustompaperunixdialog.c:532 ../gtk/gtkpagesetupunixdialog.c:788
+#: ../gtk/gtkcustompaperunixdialog.c:533 ../gtk/gtkpagesetupunixdialog.c:783
msgid "inch"
msgstr "pollici"
-#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:786
+#: ../gtk/gtkcustompaperunixdialog.c:535 ../gtk/gtkpagesetupunixdialog.c:781
msgid "mm"
msgstr "mm"
-#: ../gtk/gtkcustompaperunixdialog.c:579
+#: ../gtk/gtkcustompaperunixdialog.c:580
msgid "Margins from Printer..."
msgstr "Margini dalla stampante..."
-#: ../gtk/gtkcustompaperunixdialog.c:745
+#: ../gtk/gtkcustompaperunixdialog.c:746
#, c-format
msgid "Custom Size %d"
msgstr "Dimensione personalizzata %d"
-#: ../gtk/gtkcustompaperunixdialog.c:1057
+#: ../gtk/gtkcustompaperunixdialog.c:1084
msgid "_Width:"
msgstr "_Larghezza:"
-#: ../gtk/gtkcustompaperunixdialog.c:1069
+#: ../gtk/gtkcustompaperunixdialog.c:1097
msgid "_Height:"
msgstr "_Altezza:"
-#: ../gtk/gtkcustompaperunixdialog.c:1081
+#: ../gtk/gtkcustompaperunixdialog.c:1110
msgid "Paper Size"
msgstr "Dimensione carta"
-#: ../gtk/gtkcustompaperunixdialog.c:1090
+#: ../gtk/gtkcustompaperunixdialog.c:1119
msgid "_Top:"
msgstr "_Superiore:"
-#: ../gtk/gtkcustompaperunixdialog.c:1102
+#: ../gtk/gtkcustompaperunixdialog.c:1132
msgid "_Bottom:"
msgstr "_Inferiore:"
-#: ../gtk/gtkcustompaperunixdialog.c:1114
+#: ../gtk/gtkcustompaperunixdialog.c:1145
msgid "_Left:"
msgstr "_Sinistro:"
-#: ../gtk/gtkcustompaperunixdialog.c:1126
+#: ../gtk/gtkcustompaperunixdialog.c:1158
msgid "_Right:"
msgstr "_Destro:"
-#: ../gtk/gtkcustompaperunixdialog.c:1167
+#: ../gtk/gtkcustompaperunixdialog.c:1200
msgid "Paper Margins"
msgstr "Margini carta"
-#: ../gtk/gtkentry.c:8755 ../gtk/gtktextview.c:8270
+#: ../gtk/gtkentry.c:8949 ../gtk/gtktextview.c:8277
msgid "Input _Methods"
msgstr "Met_odi di input"
-#: ../gtk/gtkentry.c:8769 ../gtk/gtktextview.c:8284
+#: ../gtk/gtkentry.c:8963 ../gtk/gtktextview.c:8291
msgid "_Insert Unicode Control Character"
msgstr "Inserisci carattere di controllo _Unicode"
-#: ../gtk/gtkentry.c:10173
+#: ../gtk/gtkentry.c:10434
msgid "Caps Lock and Num Lock are on"
msgstr "BlocMaiusc e BlocNum sono attivi"
-#: ../gtk/gtkentry.c:10175
+#: ../gtk/gtkentry.c:10436
msgid "Num Lock is on"
msgstr "BlocNum è attivo"
-#: ../gtk/gtkentry.c:10177
+#: ../gtk/gtkentry.c:10438
msgid "Caps Lock is on"
msgstr "BlocMaiusc è attivo"
+#. *
+#. * SECTION:gtkfilechooserbutton
+#. * @Short_description: A button to launch a file selection dialog
+#. * @Title: GtkFileChooserButton
+#. * @See_also:#GtkFileChooserDialog
+#. *
+#. * The #GtkFileChooserButton is a widget that lets the user select a
+#. * file. It implements the #GtkFileChooser interface. Visually, it is a
+#. * file name with a button to bring up a #GtkFileChooserDialog.
+#. * The user can then use that dialog to change the file associated with
+#. * that button. This widget does not support setting the
+#. * #GtkFileChooser:select-multiple property to %TRUE.
+#. *
+#. * <example>
+#. * <title>Create a button to let the user select a file in /etc</title>
+#. * <programlisting>
+#. * {
+#. * GtkWidget *button;
+#. *
+#. * button = gtk_file_chooser_button_new (_("Select a file"),
+#. * GTK_FILE_CHOOSER_ACTION_OPEN);
+#. * gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button),
+#. * "/etc");
+#. * }
+#. * </programlisting>
+#. * </example>
+#. *
+#. * The #GtkFileChooserButton supports the #GtkFileChooserAction<!-- -->s
+#. * %GTK_FILE_CHOOSER_ACTION_OPEN and %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
+#. *
+#. * <important>
+#. * The #GtkFileChooserButton will ellipsize the label,
+#. * and thus will thus request little horizontal space. To give the button
+#. * more space, you should call gtk_widget_get_preferred_size(),
+#. * gtk_file_chooser_button_set_width_chars(), or pack the button in
+#. * such a way that other interface elements give space to the widget.
+#. * </important>
+#.
#. **************** *
#. * Private Macros *
#. * ****************
-#: ../gtk/gtkfilechooserbutton.c:62
+#: ../gtk/gtkfilechooserbutton.c:105
msgid "Select a File"
msgstr "Selezionare un file"
-#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1851
+#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1811
msgid "Desktop"
msgstr "Scrivania"
-#: ../gtk/gtkfilechooserbutton.c:64
+#: ../gtk/gtkfilechooserbutton.c:107
msgid "(None)"
msgstr "(Nessuno)"
-#: ../gtk/gtkfilechooserbutton.c:1997
+#: ../gtk/gtkfilechooserbutton.c:2046
msgid "Other..."
msgstr "Altro..."
msgid "Type name of new folder"
msgstr "Digitare il nome della nuova cartella"
-#: ../gtk/gtkfilechooserdefault.c:946
+#: ../gtk/gtkfilechooserdefault.c:962
msgid "Could not retrieve information about the file"
msgstr "Impossibile recuperare informazioni sul file"
-#: ../gtk/gtkfilechooserdefault.c:957
+#: ../gtk/gtkfilechooserdefault.c:973
msgid "Could not add a bookmark"
msgstr "Impossibile aggiungere un segnalibro"
-#: ../gtk/gtkfilechooserdefault.c:968
+#: ../gtk/gtkfilechooserdefault.c:984
msgid "Could not remove bookmark"
msgstr "Impossibile rimuovere il segnalibro"
-#: ../gtk/gtkfilechooserdefault.c:979
+#: ../gtk/gtkfilechooserdefault.c:995
msgid "The folder could not be created"
msgstr "La cartella non può essere creata"
-#: ../gtk/gtkfilechooserdefault.c:992
+#: ../gtk/gtkfilechooserdefault.c:1008
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."
"nome. Provare a usare un nome diverso per la cartella o rinominare prima il "
"file."
-#: ../gtk/gtkfilechooserdefault.c:1006
+#: ../gtk/gtkfilechooserdefault.c:1022
msgid "You need to choose a valid filename."
msgstr "È necessario scegliere un nome file valido"
-#: ../gtk/gtkfilechooserdefault.c:1009
+#: ../gtk/gtkfilechooserdefault.c:1025
#, c-format
msgid "Cannot create a file under %s as it is not a folder"
-msgstr "Impossibile creare un file all'interno di «%s» poiché non è una cartella"
+msgstr ""
+"Impossibile creare un file all'interno di «%s» poiché non è una cartella"
-#: ../gtk/gtkfilechooserdefault.c:1021
+#: ../gtk/gtkfilechooserdefault.c:1037
msgid ""
"You may only select folders. The item that you selected is not a folder; "
"try using a different item."
"È possibile selezionare soltanto cartelle. L'elemento selezionato non è una "
"cartella, provare a usare un diverso elemento."
-#: ../gtk/gtkfilechooserdefault.c:1031
+#: ../gtk/gtkfilechooserdefault.c:1047
msgid "Invalid file name"
msgstr "Nome di file non valido"
-#: ../gtk/gtkfilechooserdefault.c:1041
+#: ../gtk/gtkfilechooserdefault.c:1057
msgid "The folder contents could not be displayed"
msgstr "Il contenuto della cartella non può essere visualizzato"
#. * is a hostname. Nautilus and the panel contain the same string
#. * to translate.
#.
-#: ../gtk/gtkfilechooserdefault.c:1594
+#: ../gtk/gtkfilechooserdefault.c:1583
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s su %2$s"
-#: ../gtk/gtkfilechooserdefault.c:1770
+#: ../gtk/gtkfilechooserdefault.c:1732
msgid "Search"
msgstr "Ricerca"
-#: ../gtk/gtkfilechooserdefault.c:1794 ../gtk/gtkfilechooserdefault.c:9452
+#: ../gtk/gtkfilechooserdefault.c:1756 ../gtk/gtkfilechooserdefault.c:4873
msgid "Recently Used"
msgstr "Usati di recente"
-#: ../gtk/gtkfilechooserdefault.c:2450
+#: ../gtk/gtkfilechooserdefault.c:2355
msgid "Select which types of files are shown"
msgstr "Seleziona quali tipi di file mostrare"
-#: ../gtk/gtkfilechooserdefault.c:2809
+#: ../gtk/gtkfilechooserdefault.c:2714
#, c-format
msgid "Add the folder '%s' to the bookmarks"
msgstr "Aggiunge la cartella «%s» ai segnalibri"
-#: ../gtk/gtkfilechooserdefault.c:2853
+#: ../gtk/gtkfilechooserdefault.c:2758
#, c-format
msgid "Add the current folder to the bookmarks"
msgstr "Aggiunge la cartella corrente ai segnalibri"
-#: ../gtk/gtkfilechooserdefault.c:2855
+#: ../gtk/gtkfilechooserdefault.c:2760
#, c-format
msgid "Add the selected folders to the bookmarks"
msgstr "Aggiunge le cartelle selezionate ai segnalibri"
-#: ../gtk/gtkfilechooserdefault.c:2893
+#: ../gtk/gtkfilechooserdefault.c:2798
#, c-format
msgid "Remove the bookmark '%s'"
msgstr "Rimuove il segnalibro «%s»"
-#: ../gtk/gtkfilechooserdefault.c:2895
+#: ../gtk/gtkfilechooserdefault.c:2800
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr "Impossibile rimuovere il segnalibro «%s»"
-#: ../gtk/gtkfilechooserdefault.c:2902 ../gtk/gtkfilechooserdefault.c:3784
+#: ../gtk/gtkfilechooserdefault.c:2807 ../gtk/gtkfilechooserdefault.c:3692
msgid "Remove the selected bookmark"
msgstr "Rimuove il segnalibro selezionato"
-#: ../gtk/gtkfilechooserdefault.c:3465
+#: ../gtk/gtkfilechooserdefault.c:3371
msgid "Remove"
msgstr "Rimuovi"
-#: ../gtk/gtkfilechooserdefault.c:3474
+#: ../gtk/gtkfilechooserdefault.c:3380
msgid "Rename..."
msgstr "Rinomina..."
#. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3637
+#: ../gtk/gtkfilechooserdefault.c:3544
msgid "Places"
msgstr "Risorse"
#. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3694
+#: ../gtk/gtkfilechooserdefault.c:3601
msgid "_Places"
msgstr "Ris_orse"
-#: ../gtk/gtkfilechooserdefault.c:3772
+#: ../gtk/gtkfilechooserdefault.c:3680
msgid "Add the selected folder to the Bookmarks"
msgstr "Aggiunge la cartella selezionata ai segnalibri"
-#: ../gtk/gtkfilechooserdefault.c:3919
+#: ../gtk/gtkfilechooserdefault.c:3827
msgid "Could not select file"
msgstr "Impossibile selezionare il file"
-#: ../gtk/gtkfilechooserdefault.c:4092
+#: ../gtk/gtkfilechooserdefault.c:4000
msgid "_Add to Bookmarks"
msgstr "A_ggiungi ai segnalibri"
-#: ../gtk/gtkfilechooserdefault.c:4105
+#: ../gtk/gtkfilechooserdefault.c:4013
msgid "Show _Hidden Files"
msgstr "Mostra _file nascosti"
-#: ../gtk/gtkfilechooserdefault.c:4112
+#: ../gtk/gtkfilechooserdefault.c:4020
msgid "Show _Size Column"
msgstr "Mostra _colonna dimensioni"
-#: ../gtk/gtkfilechooserdefault.c:4337
+#: ../gtk/gtkfilechooserdefault.c:4245
msgid "Files"
msgstr "File"
-#: ../gtk/gtkfilechooserdefault.c:4388
+#: ../gtk/gtkfilechooserdefault.c:4296
msgid "Name"
msgstr "Nome"
-#: ../gtk/gtkfilechooserdefault.c:4411
+#: ../gtk/gtkfilechooserdefault.c:4319
msgid "Size"
msgstr "Dimensione"
# Visto che si applica a cartelle (f) e file (m) mi pare più corretto.
-#: ../gtk/gtkfilechooserdefault.c:4425
+#: ../gtk/gtkfilechooserdefault.c:4333
msgid "Modified"
msgstr "Data di modifica"
#
# Da verificare nel printeroption!! --Luca
#. Label
-#: ../gtk/gtkfilechooserdefault.c:4680 ../gtk/gtkprinteroptionwidget.c:793
+#: ../gtk/gtkfilechooserdefault.c:4414 ../gtk/gtkprinteroptionwidget.c:799
msgid "_Name:"
msgstr "No_me:"
-#: ../gtk/gtkfilechooserdefault.c:4723
-msgid "_Browse for other folders"
-msgstr "_Esplora altre cartelle"
-
-#: ../gtk/gtkfilechooserdefault.c:4993
+#: ../gtk/gtkfilechooserdefault.c:4711
msgid "Type a file name"
msgstr "Digitare un nome di file"
+# sotto c'è un elenco, per cui...
+#: ../gtk/gtkfilechooserdefault.c:4758 ../gtk/gtkfilechooserdefault.c:4769
+msgid "Please select a folder below"
+msgstr "Seleziona una cartella dall'elenco"
+
+#: ../gtk/gtkfilechooserdefault.c:4764
+msgid "Please type a file name"
+msgstr "Digitare un nome di file"
+
#. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5036
+#: ../gtk/gtkfilechooserdefault.c:4835
msgid "Create Fo_lder"
msgstr "_Crea cartella"
-#: ../gtk/gtkfilechooserdefault.c:5046
+#: ../gtk/gtkfilechooserdefault.c:4883
+msgid "Search:"
+msgstr "Cerca:"
+
+#: ../gtk/gtkfilechooserdefault.c:4930
msgid "_Location:"
msgstr "_Posizione:"
# a usare la C come tasto d'accesso.
#
# --Luca
-#: ../gtk/gtkfilechooserdefault.c:5251
+#: ../gtk/gtkfilechooserdefault.c:5247
msgid "Save in _folder:"
msgstr "Salva nella _cartella:"
-#: ../gtk/gtkfilechooserdefault.c:5253
+#: ../gtk/gtkfilechooserdefault.c:5249
msgid "Create in _folder:"
msgstr "Crea nella _cartella:"
-#: ../gtk/gtkfilechooserdefault.c:6317
+#: ../gtk/gtkfilechooserdefault.c:6343
#, c-format
msgid "Could not read the contents of %s"
msgstr "Impossibile leggere il contenuto di %s"
-#: ../gtk/gtkfilechooserdefault.c:6321
+#: ../gtk/gtkfilechooserdefault.c:6347
msgid "Could not read the contents of the folder"
msgstr "Impossibile leggere il contenuto della cartella"
-#: ../gtk/gtkfilechooserdefault.c:6414 ../gtk/gtkfilechooserdefault.c:6482
-#: ../gtk/gtkfilechooserdefault.c:6627
+#: ../gtk/gtkfilechooserdefault.c:6440 ../gtk/gtkfilechooserdefault.c:6508
+#: ../gtk/gtkfilechooserdefault.c:6660
msgid "Unknown"
msgstr "Sconosciuto"
-#: ../gtk/gtkfilechooserdefault.c:6429
+#: ../gtk/gtkfilechooserdefault.c:6455
msgid "%H:%M"
msgstr "%k.%M"
-#: ../gtk/gtkfilechooserdefault.c:6431
+#: ../gtk/gtkfilechooserdefault.c:6457
msgid "Yesterday at %H:%M"
msgstr "Ieri alle %k.%M"
-#: ../gtk/gtkfilechooserdefault.c:7093
+#: ../gtk/gtkfilechooserdefault.c:7142
msgid "Cannot change to folder because it is not local"
msgstr "Impossibile spostarsi in una cartella non locale"
-#: ../gtk/gtkfilechooserdefault.c:7690 ../gtk/gtkfilechooserdefault.c:7711
+#: ../gtk/gtkfilechooserdefault.c:7742 ../gtk/gtkfilechooserdefault.c:7763
#, c-format
msgid "Shortcut %s already exists"
msgstr "La scorciatoia «%s» esiste già"
-#: ../gtk/gtkfilechooserdefault.c:7801
+#: ../gtk/gtkfilechooserdefault.c:7853
#, c-format
msgid "Shortcut %s does not exist"
msgstr "La scorciatoia «%s» non esiste"
-#: ../gtk/gtkfilechooserdefault.c:8060 ../gtk/gtkprintunixdialog.c:480
+#: ../gtk/gtkfilechooserdefault.c:8099 ../gtk/gtkprintunixdialog.c:550
#, c-format
msgid "A file named \"%s\" already exists. Do you want to replace it?"
msgstr "Esiste già un file con nome «%s». Sostituirlo?"
-#: ../gtk/gtkfilechooserdefault.c:8063 ../gtk/gtkprintunixdialog.c:484
+#: ../gtk/gtkfilechooserdefault.c:8102 ../gtk/gtkprintunixdialog.c:554
#, c-format
msgid ""
"The file already exists in \"%s\". Replacing it will overwrite its contents."
"Il file esiste già in «%s». Scegliendo di sostituirlo il suo contenuto verrà "
"sovrascritto."
-#: ../gtk/gtkfilechooserdefault.c:8068 ../gtk/gtkprintunixdialog.c:491
+#: ../gtk/gtkfilechooserdefault.c:8107 ../gtk/gtkprintunixdialog.c:561
msgid "_Replace"
msgstr "_Sostituisci"
-#: ../gtk/gtkfilechooserdefault.c:8794
+#: ../gtk/gtkfilechooserdefault.c:8912
msgid "Could not start the search process"
msgstr "Impossibile avviare il processo di ricerca"
-#: ../gtk/gtkfilechooserdefault.c:8795
+#: ../gtk/gtkfilechooserdefault.c:8913
msgid ""
"The program was not able to create a connection to the indexer daemon. "
"Please make sure it is running."
"Il programma non è stato in grado di creare una connessione al demone di "
"indicizzazione. Assicurarsi che sia in esecuzione."
-#: ../gtk/gtkfilechooserdefault.c:8809
+#: ../gtk/gtkfilechooserdefault.c:8927
msgid "Could not send the search request"
msgstr "Impossibile inviare la richiesta di ricerca"
-#: ../gtk/gtkfilechooserdefault.c:9028
-msgid "Search:"
-msgstr "Cerca:"
-
-#: ../gtk/gtkfilechooserdefault.c:9629
+#: ../gtk/gtkfilechooserdefault.c:9719
#, c-format
msgid "Could not mount %s"
msgstr "Impossibile montare «%s»"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry, when the user enters an invalid path.
-#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1179
+#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1174
+#: ../gtk/gtkfilesystem.c:721
+#, c-format
msgid "Invalid path"
msgstr "Percorso non valido"
#. translators: this text is shown when there are no completions
#. * for something the user typed in a file chooser entry
#.
-#: ../gtk/gtkfilechooserentry.c:1111
+#: ../gtk/gtkfilechooserentry.c:1106
msgid "No match"
msgstr "Nessuna corrispondenza"
#. translators: this text is shown when there is exactly one completion
#. * for something the user typed in a file chooser entry
#.
-#: ../gtk/gtkfilechooserentry.c:1122
+#: ../gtk/gtkfilechooserentry.c:1117
msgid "Sole completion"
msgstr "Unico completamento"
#. * entry is a complete filename, but could be continued to find
#. * a longer match
#.
-#: ../gtk/gtkfilechooserentry.c:1138
+#: ../gtk/gtkfilechooserentry.c:1133
msgid "Complete, but not unique"
msgstr "Completo, ma non unico"
#. Translators: this text is shown while the system is searching
#. * for possible completions for filenames in a file chooser entry.
-#: ../gtk/gtkfilechooserentry.c:1170
+#: ../gtk/gtkfilechooserentry.c:1165
msgid "Completing..."
msgstr "Completamento..."
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user enters something like
#. * "sftp://blahblah" in an app that only supports local filenames.
-#: ../gtk/gtkfilechooserentry.c:1192 ../gtk/gtkfilechooserentry.c:1217
+#: ../gtk/gtkfilechooserentry.c:1187 ../gtk/gtkfilechooserentry.c:1212
msgid "Only local files may be selected"
msgstr "È possibile selezionare solo i file locali"
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user hasn't entered the first '/'
#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]")
-#: ../gtk/gtkfilechooserentry.c:1201
+#: ../gtk/gtkfilechooserentry.c:1196
msgid "Incomplete hostname; end it with '/'"
msgstr "Nome host incompleto; terminarlo con \"/\""
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry when the user enters a path that does not exist
#. * and then hits Tab
-#: ../gtk/gtkfilechooserentry.c:1212
+#: ../gtk/gtkfilechooserentry.c:1207
msgid "Path does not exist"
msgstr "Il percorso non esiste"
msgid "File System"
msgstr "File system"
-#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266
+#: ../gtk/gtkfontbutton.c:153 ../gtk/gtkfontbutton.c:277
msgid "Pick a Font"
msgstr "Selezione tipo di carattere"
#. Initialize fields
-#: ../gtk/gtkfontbutton.c:260
+#: ../gtk/gtkfontbutton.c:271
msgid "Sans 12"
msgstr "Sans 12"
-#: ../gtk/gtkfontbutton.c:785
+#: ../gtk/gtkfontbutton.c:796
msgid "Font"
msgstr "Tipo di carattere"
#
#. This is the default text shown in the preview entry, though the user
#. can set it. Remember that some fonts only have capital letters.
-#: ../gtk/gtkfontsel.c:100
+#: ../gtk/gtkfontsel.c:119
msgid "abcdefghijk ABCDEFGHIJK"
msgstr "abcde ABCDE àèìòù €"
-#: ../gtk/gtkfontsel.c:366
+#: ../gtk/gtkfontsel.c:388
msgid "_Family:"
msgstr "_Famiglia:"
-#: ../gtk/gtkfontsel.c:372
+#: ../gtk/gtkfontsel.c:395
msgid "_Style:"
msgstr "_Stile:"
-#: ../gtk/gtkfontsel.c:378
+#: ../gtk/gtkfontsel.c:402
msgid "Si_ze:"
msgstr "_Dimensione:"
# cambiato acceleratore per collisione con A_nnulla
#. create the text entry widget
-#: ../gtk/gtkfontsel.c:554
+#: ../gtk/gtkfontsel.c:579
msgid "_Preview:"
msgstr "_Anteprima:"
-#: ../gtk/gtkfontsel.c:1651
+#: ../gtk/gtkfontsel.c:1705
msgid "Font Selection"
msgstr "Selezione tipo di carattere"
-#. Remove this icon source so we don't keep trying to
-#. * load it.
-#.
-#: ../gtk/gtkiconfactory.c:1358
-#, c-format
-msgid "Error loading icon: %s"
-msgstr "Errore nel caricare l'icona: %s"
-
-#: ../gtk/gtkicontheme.c:1355
-#, c-format
-msgid ""
-"Could not find the icon '%s'. The '%s' theme\n"
-"was not found either, perhaps you need to install it.\n"
-"You can get a copy from:\n"
-"\t%s"
-msgstr ""
-"Impossibile trovare l'icona «%s». Non è stato trovato\n"
-"il tema «%s» e potrebbe essere necessario installarlo.\n"
-"È possibile recuperarne una copia presso:\n"
-"\t%s"
-
-#: ../gtk/gtkicontheme.c:1537
+#: ../gtk/gtkicontheme.c:1605
#, c-format
msgid "Icon '%s' not present in theme"
msgstr "Icona «%s» non presente nel tema"
-#: ../gtk/gtkicontheme.c:3057
+#: ../gtk/gtkicontheme.c:3115
msgid "Failed to load icon"
msgstr "Caricamento dell'icona non riuscito"
-#: ../gtk/gtkimmodule.c:526
+#: ../gtk/gtkimmodule.c:525
msgid "Simple"
msgstr "Semplice"
msgstr "Sistema (%s)"
#. Open Link
-#: ../gtk/gtklabel.c:6239
+#: ../gtk/gtklabel.c:6309
msgid "_Open Link"
msgstr "_Apri collegamento"
#. Copy Link Address
-#: ../gtk/gtklabel.c:6251
+#: ../gtk/gtklabel.c:6321
msgid "Copy _Link Address"
msgstr "_Copia indirizzo collegamento"
-#: ../gtk/gtklinkbutton.c:482
+#: ../gtk/gtklinkbutton.c:484
msgid "Copy URL"
msgstr "Copia URL"
-#: ../gtk/gtklinkbutton.c:645
+#: ../gtk/gtklinkbutton.c:647
msgid "Invalid URI"
msgstr "URI non valido"
+#: ../gtk/gtklockbutton.c:288
+msgid "Lock"
+msgstr "Blocca"
+
+#: ../gtk/gtklockbutton.c:297
+msgid "Unlock"
+msgstr "Sblocca"
+
+#: ../gtk/gtklockbutton.c:306
+msgid ""
+"Dialog is unlocked.\n"
+"Click to prevent further changes"
+msgstr ""
+"Il dialogo è sbloccato.\n"
+"Fare clic per impedire ulteriori modifiche"
+
+#: ../gtk/gtklockbutton.c:315
+msgid ""
+"Dialog is locked.\n"
+"Click to make changes"
+msgstr ""
+"Il dialogo è bloccato.\n"
+"Fare clic per apportare modifiche"
+
+#: ../gtk/gtklockbutton.c:324
+msgid ""
+"System policy prevents changes.\n"
+"Contact your system administrator"
+msgstr ""
+"La politica di sistema impedisce di modificare.\n"
+"Contattare l'amministratore di sistema"
+
#. Description of --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:563
+#: ../gtk/gtkmain.c:562
msgid "Load additional GTK+ modules"
msgstr "Carica i moduli GTK+ addizionali"
#. Placeholder in --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:564
+#: ../gtk/gtkmain.c:563
msgid "MODULES"
msgstr "MODULI"
#. Description of --g-fatal-warnings in --help output
-#: ../gtk/gtkmain.c:566
+#: ../gtk/gtkmain.c:565
msgid "Make all warnings fatal"
msgstr "Rende tutti i warning critici"
#. Description of --gtk-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:569
+#: ../gtk/gtkmain.c:568
msgid "GTK+ debugging flags to set"
msgstr "Flag per il debug di GTK+ da attivare"
#. Description of --gtk-no-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:572
+#: ../gtk/gtkmain.c:571
msgid "GTK+ debugging flags to unset"
msgstr "Flag per il debug di GTK+ da disattivare"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: ../gtk/gtkmain.c:835
+#: ../gtk/gtkmain.c:848
msgid "default:LTR"
msgstr "default:LTR"
-#: ../gtk/gtkmain.c:899
+#: ../gtk/gtkmain.c:914
#, c-format
msgid "Cannot open display: %s"
msgstr "Impossibile aprire il display: %s"
-#: ../gtk/gtkmain.c:965
+#: ../gtk/gtkmain.c:980
msgid "GTK+ Options"
msgstr "Opzioni GTK+"
-#: ../gtk/gtkmain.c:965
+#: ../gtk/gtkmain.c:980
msgid "Show GTK+ Options"
msgstr "Mostra le opzioni GTK+"
-#: ../gtk/gtkmountoperation.c:491
+#: ../gtk/gtkmountoperation.c:489
msgid "Co_nnect"
msgstr "C_onnetti"
-#: ../gtk/gtkmountoperation.c:558
+#: ../gtk/gtkmountoperation.c:559
msgid "Connect _anonymously"
msgstr "Connetti in modo _anonimo"
-#: ../gtk/gtkmountoperation.c:567
+#: ../gtk/gtkmountoperation.c:568
msgid "Connect as u_ser:"
msgstr "Connetti come u_tente:"
-#: ../gtk/gtkmountoperation.c:605
+#: ../gtk/gtkmountoperation.c:602
msgid "_Username:"
msgstr "Nome _utente:"
-#: ../gtk/gtkmountoperation.c:610
+#: ../gtk/gtkmountoperation.c:607
msgid "_Domain:"
msgstr "_Dominio:"
-#: ../gtk/gtkmountoperation.c:616
+#: ../gtk/gtkmountoperation.c:613
msgid "_Password:"
msgstr "Pass_word:"
-#: ../gtk/gtkmountoperation.c:634
+#: ../gtk/gtkmountoperation.c:631
msgid "Forget password _immediately"
msgstr "Di_menticare la password immediatamente"
-#: ../gtk/gtkmountoperation.c:644
+#: ../gtk/gtkmountoperation.c:641
msgid "Remember password until you _logout"
msgstr "Ricordare la password _fino al termine sessione"
-#: ../gtk/gtkmountoperation.c:654
+#: ../gtk/gtkmountoperation.c:651
msgid "Remember _forever"
msgstr "_Ricordare per sempre"
-#: ../gtk/gtkmountoperation.c:883
+#: ../gtk/gtkmountoperation.c:880
#, c-format
msgid "Unknown Application (PID %d)"
msgstr "Applicazione sconosciuta (PID %d)"
-#: ../gtk/gtkmountoperation.c:1066
+#: ../gtk/gtkmountoperation.c:1063
msgid "Unable to end process"
msgstr "Impossibile terminare il processo"
-#: ../gtk/gtkmountoperation.c:1103
+#: ../gtk/gtkmountoperation.c:1100
msgid "_End Process"
msgstr "_Termina processo"
"Impossibile uccidere il processo con PID %d. L'operazione non è implementata."
#. translators: this string is a name for the 'less' command
-#: ../gtk/gtkmountoperation-x11.c:859
+#: ../gtk/gtkmountoperation-x11.c:959
msgid "Terminal Pager"
msgstr "Pager di terminale"
-#: ../gtk/gtkmountoperation-x11.c:860
+#: ../gtk/gtkmountoperation-x11.c:960
msgid "Top Command"
msgstr "Comando Top"
-#: ../gtk/gtkmountoperation-x11.c:861
+#: ../gtk/gtkmountoperation-x11.c:961
msgid "Bourne Again Shell"
msgstr "Bourne Again Shell"
-#: ../gtk/gtkmountoperation-x11.c:862
+#: ../gtk/gtkmountoperation-x11.c:962
msgid "Bourne Shell"
msgstr "Bourne Shell"
-#: ../gtk/gtkmountoperation-x11.c:863
+#: ../gtk/gtkmountoperation-x11.c:963
msgid "Z Shell"
msgstr "Z Shell"
-#: ../gtk/gtkmountoperation-x11.c:960
+#: ../gtk/gtkmountoperation-x11.c:1060
#, c-format
msgid "Cannot end process with PID %d: %s"
msgstr "Impossibile terminare il processo con PID %d: %s"
-#: ../gtk/gtknotebook.c:4808 ../gtk/gtknotebook.c:7383
+#: ../gtk/gtknotebook.c:4904 ../gtk/gtknotebook.c:7589
#, c-format
msgid "Page %u"
msgstr "Pagina %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"
msgid "Not a valid page setup file"
msgstr "Non è un file di impostazione pagina valido"
-#: ../gtk/gtkpagesetupunixdialog.c:177
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "Any Printer"
msgstr "Stampante generica"
-#: ../gtk/gtkpagesetupunixdialog.c:177
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "For portable documents"
msgstr "Per documenti portabili"
-#: ../gtk/gtkpagesetupunixdialog.c:807
+#: ../gtk/gtkpagesetupunixdialog.c:802
#, c-format
msgid ""
"Margins:\n"
" Superiore: %s %s\n"
" Inferiore: %s %s"
-#: ../gtk/gtkpagesetupunixdialog.c:856 ../gtk/gtkprintunixdialog.c:3306
+#: ../gtk/gtkpagesetupunixdialog.c:851 ../gtk/gtkprintunixdialog.c:3376
msgid "Manage Custom Sizes..."
msgstr "Gestisci dimensioni personalizzate..."
-#: ../gtk/gtkpagesetupunixdialog.c:907
+#: ../gtk/gtkpagesetupunixdialog.c:902
msgid "_Format for:"
msgstr "_Formato per:"
-#: ../gtk/gtkpagesetupunixdialog.c:929 ../gtk/gtkprintunixdialog.c:3478
+#: ../gtk/gtkpagesetupunixdialog.c:925 ../gtk/gtkprintunixdialog.c:3556
msgid "_Paper size:"
msgstr "_Dimensione carta:"
-#: ../gtk/gtkpagesetupunixdialog.c:960
+#: ../gtk/gtkpagesetupunixdialog.c:958
msgid "_Orientation:"
msgstr "_Orientamento:"
# setup è sostantivo, set up è verbo
-#: ../gtk/gtkpagesetupunixdialog.c:1024 ../gtk/gtkprintunixdialog.c:3540
+#: ../gtk/gtkpagesetupunixdialog.c:1023 ../gtk/gtkprintunixdialog.c:3620
msgid "Page Setup"
msgstr "Impostazione pagina"
# nome/descrizione per accessibilità
-#: ../gtk/gtkpathbar.c:157
+#: ../gtk/gtkpathbar.c:156
msgid "Up Path"
msgstr "Su nel percorso"
# nome/descrizione per accessibilità
-#: ../gtk/gtkpathbar.c:159
+#: ../gtk/gtkpathbar.c:158
msgid "Down Path"
msgstr "Giù nel percorso"
# nome/descrizione per accessibilità
-#: ../gtk/gtkpathbar.c:1518
+#: ../gtk/gtkpathbar.c:1516
msgid "File System Root"
msgstr "Radice del file system"
msgid "Authentication"
msgstr "Autenticazione"
-#: ../gtk/gtkprinteroptionwidget.c:686
+#: ../gtk/gtkprinteroptionwidget.c:692
msgid "Not available"
msgstr "Non disponibile"
-#: ../gtk/gtkprinteroptionwidget.c:786
+#: ../gtk/gtkprinteroptionwidget.c:792
msgid "Select a folder"
msgstr "Seleziona una cartella"
-#: ../gtk/gtkprinteroptionwidget.c:805
+#: ../gtk/gtkprinteroptionwidget.c:812
msgid "_Save in folder:"
msgstr "Salva nella ca_rtella:"
#. * jobs. %s gets replaced by the application name, %d gets replaced
#. * by the job number.
#.
-#: ../gtk/gtkprintoperation.c:193
+#: ../gtk/gtkprintoperation.c:263
#, c-format
msgid "%s job #%d"
msgstr "%s - lavoro n°%d"
-#: ../gtk/gtkprintoperation.c:1698
+#: ../gtk/gtkprintoperation.c:1768
msgctxt "print operation status"
msgid "Initial state"
msgstr "Stato iniziale"
-#: ../gtk/gtkprintoperation.c:1699
+#: ../gtk/gtkprintoperation.c:1769
msgctxt "print operation status"
msgid "Preparing to print"
msgstr "Preparazione per la stampa"
-#: ../gtk/gtkprintoperation.c:1700
+#: ../gtk/gtkprintoperation.c:1770
msgctxt "print operation status"
msgid "Generating data"
msgstr "Generazione dati"
-#: ../gtk/gtkprintoperation.c:1701
+#: ../gtk/gtkprintoperation.c:1771
msgctxt "print operation status"
msgid "Sending data"
msgstr "Invio dati"
-#: ../gtk/gtkprintoperation.c:1702
+#: ../gtk/gtkprintoperation.c:1772
msgctxt "print operation status"
msgid "Waiting"
msgstr "Attesa"
# inteso "lavoro"
-#: ../gtk/gtkprintoperation.c:1703
+#: ../gtk/gtkprintoperation.c:1773
msgctxt "print operation status"
msgid "Blocking on issue"
msgstr "Bloccato a causa di un problema"
-#: ../gtk/gtkprintoperation.c:1704
+#: ../gtk/gtkprintoperation.c:1774
msgctxt "print operation status"
msgid "Printing"
msgstr "Stampa in corso"
-#: ../gtk/gtkprintoperation.c:1705
+#: ../gtk/gtkprintoperation.c:1775
msgctxt "print operation status"
msgid "Finished"
msgstr "Terminato"
-#: ../gtk/gtkprintoperation.c:1706
+#: ../gtk/gtkprintoperation.c:1776
msgctxt "print operation status"
msgid "Finished with error"
msgstr "Terminato con errore"
-#: ../gtk/gtkprintoperation.c:2273
+#: ../gtk/gtkprintoperation.c:2343
#, c-format
msgid "Preparing %d"
msgstr "Preparazione di %d"
-#: ../gtk/gtkprintoperation.c:2275 ../gtk/gtkprintoperation.c:2905
+#: ../gtk/gtkprintoperation.c:2345 ../gtk/gtkprintoperation.c:2975
msgid "Preparing"
msgstr "Preparazione"
-#: ../gtk/gtkprintoperation.c:2278
+#: ../gtk/gtkprintoperation.c:2348
#, c-format
msgid "Printing %d"
msgstr "Stampa di %d"
-#: ../gtk/gtkprintoperation.c:2935
+#: ../gtk/gtkprintoperation.c:3005
msgid "Error creating print preview"
msgstr "Errore nel creare l'anteprima di stampa"
-#: ../gtk/gtkprintoperation.c:2938
+#: ../gtk/gtkprintoperation.c:3008
msgid "The most probable reason is that a temporary file could not be created."
msgstr ""
"Il motivo più probabile è che non è possibile creare un file temporaneo."
#. Translators: this is a printer status.
#: ../gtk/gtkprintoperation-win32.c:615
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2022
msgid "Paused"
msgstr "In pausa"
msgid "Unspecified error"
msgstr "Errore non specificato"
-#: ../gtk/gtkprintunixdialog.c:618
+#: ../gtk/gtkprintunixdialog.c:688
msgid "Getting printer information failed"
msgstr "Recupero delle informazioni sulla stampante non riuscito"
-#: ../gtk/gtkprintunixdialog.c:1873
+#: ../gtk/gtkprintunixdialog.c:1942
msgid "Getting printer information..."
msgstr "Recupero informazioni stampante..."
-#: ../gtk/gtkprintunixdialog.c:2147
+#: ../gtk/gtkprintunixdialog.c:2216
msgid "Printer"
msgstr "Stampante"
#. Translators: this is the header for the location column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2157
+#: ../gtk/gtkprintunixdialog.c:2226
msgid "Location"
msgstr "Posizione"
#. Translators: this is the header for the printer status column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2168
+#: ../gtk/gtkprintunixdialog.c:2237
msgid "Status"
msgstr "Stato"
-#: ../gtk/gtkprintunixdialog.c:2194
+#: ../gtk/gtkprintunixdialog.c:2263
msgid "Range"
msgstr "Intervallo"
-#: ../gtk/gtkprintunixdialog.c:2198
+#: ../gtk/gtkprintunixdialog.c:2267
msgid "_All Pages"
msgstr "_Tutte le pagine"
-#: ../gtk/gtkprintunixdialog.c:2205
+#: ../gtk/gtkprintunixdialog.c:2274
msgid "C_urrent Page"
msgstr "P_agina corrente"
-#: ../gtk/gtkprintunixdialog.c:2215
+#: ../gtk/gtkprintunixdialog.c:2284
msgid "Se_lection"
msgstr "_Selezione"
-#: ../gtk/gtkprintunixdialog.c:2224
+#: ../gtk/gtkprintunixdialog.c:2293
msgid "Pag_es:"
msgstr "Pagin_e:"
-#: ../gtk/gtkprintunixdialog.c:2225
+#: ../gtk/gtkprintunixdialog.c:2294
msgid ""
"Specify one or more page ranges,\n"
" e.g. 1-3,7,11"
"Specificare uno o più intervalli di pagine,\n"
"per esempio: 1-3,7,11"
-#: ../gtk/gtkprintunixdialog.c:2235
+#: ../gtk/gtkprintunixdialog.c:2304
msgid "Pages"
msgstr "Pagine"
-#: ../gtk/gtkprintunixdialog.c:2248
+#: ../gtk/gtkprintunixdialog.c:2317
msgid "Copies"
msgstr "Copie"
#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns
-#: ../gtk/gtkprintunixdialog.c:2253
+#: ../gtk/gtkprintunixdialog.c:2322
msgid "Copie_s:"
msgstr "_Copie:"
-#: ../gtk/gtkprintunixdialog.c:2271
+#: ../gtk/gtkprintunixdialog.c:2341
msgid "C_ollate"
msgstr "_Raggruppa"
-#: ../gtk/gtkprintunixdialog.c:2279
+#: ../gtk/gtkprintunixdialog.c:2349
msgid "_Reverse"
msgstr "_Ordine inverso"
-#: ../gtk/gtkprintunixdialog.c:2299
+#: ../gtk/gtkprintunixdialog.c:2369
msgid "General"
msgstr "Generale"
#. Translators: These strings name the possible arrangements of
#. * multiple pages on a sheet when printing
#.
-#: ../gtk/gtkprintunixdialog.c:3039
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, top to bottom"
msgstr "Da sinistra a destra, dall'alto in basso"
-#: ../gtk/gtkprintunixdialog.c:3039
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, bottom to top"
msgstr "Da sinistra a destra, dal basso in alto"
-#: ../gtk/gtkprintunixdialog.c:3040
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, top to bottom"
msgstr "Da destra a sinistra, dall'alto in basso"
-#: ../gtk/gtkprintunixdialog.c:3040
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, bottom to top"
msgstr "Da destra a sinistra, dal basso in alto"
-#: ../gtk/gtkprintunixdialog.c:3041
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, left to right"
msgstr "Dall'alto in basso, da sinistra a destra"
-#: ../gtk/gtkprintunixdialog.c:3041
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, right to left"
msgstr "Dall'alto in basso, da desta a sinistra"
-#: ../gtk/gtkprintunixdialog.c:3042
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, left to right"
msgstr "Dal basso in alto, da sinistra a destra"
-#: ../gtk/gtkprintunixdialog.c:3042
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, right to left"
msgstr "Dal basso in alto, da desta a sinistra"
#. Translators, this string is used to label the option in the print
#. * dialog that controls in what order multiple pages are arranged
#.
-#: ../gtk/gtkprintunixdialog.c:3046 ../gtk/gtkprintunixdialog.c:3059
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
+#: ../gtk/gtkprintunixdialog.c:3116 ../gtk/gtkprintunixdialog.c:3129
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3609
msgid "Page Ordering"
msgstr "Ordinamento pagine"
-#: ../gtk/gtkprintunixdialog.c:3075
+#: ../gtk/gtkprintunixdialog.c:3145
msgid "Left to right"
msgstr "Da sinistra a destra"
-#: ../gtk/gtkprintunixdialog.c:3076
+#: ../gtk/gtkprintunixdialog.c:3146
msgid "Right to left"
msgstr "Da destra a sinistra"
-#: ../gtk/gtkprintunixdialog.c:3088
+#: ../gtk/gtkprintunixdialog.c:3158
msgid "Top to bottom"
msgstr "Dall'alto in basso"
-#: ../gtk/gtkprintunixdialog.c:3089
+#: ../gtk/gtkprintunixdialog.c:3159
msgid "Bottom to top"
msgstr "Dal basso in alto"
# in tipografia layout-->impaginazione (garzantilinguistica.it)
-#: ../gtk/gtkprintunixdialog.c:3329
+#: ../gtk/gtkprintunixdialog.c:3399
msgid "Layout"
msgstr "Impaginazione"
-#: ../gtk/gtkprintunixdialog.c:3333
+#: ../gtk/gtkprintunixdialog.c:3403
msgid "T_wo-sided:"
msgstr "_Fronte-retro:"
-#: ../gtk/gtkprintunixdialog.c:3348
+#: ../gtk/gtkprintunixdialog.c:3419
msgid "Pages per _side:"
msgstr "P_agine per facciata:"
-#: ../gtk/gtkprintunixdialog.c:3365
+#: ../gtk/gtkprintunixdialog.c:3437
msgid "Page or_dering:"
msgstr "_Ordinamento pagine:"
-#: ../gtk/gtkprintunixdialog.c:3381
+#: ../gtk/gtkprintunixdialog.c:3454
msgid "_Only print:"
msgstr "_Stampare solo:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3396
+#: ../gtk/gtkprintunixdialog.c:3470
msgid "All sheets"
msgstr "Tutti i fogli"
-#: ../gtk/gtkprintunixdialog.c:3397
+#: ../gtk/gtkprintunixdialog.c:3471
msgid "Even sheets"
msgstr "Fogli pari"
-#: ../gtk/gtkprintunixdialog.c:3398
+#: ../gtk/gtkprintunixdialog.c:3472
msgid "Odd sheets"
msgstr "Fogli dispari"
-#: ../gtk/gtkprintunixdialog.c:3401
+#: ../gtk/gtkprintunixdialog.c:3475
msgid "Sc_ale:"
msgstr "S_cala:"
-#: ../gtk/gtkprintunixdialog.c:3428
+#: ../gtk/gtkprintunixdialog.c:3503
msgid "Paper"
msgstr "Carta"
-#: ../gtk/gtkprintunixdialog.c:3432
+#: ../gtk/gtkprintunixdialog.c:3507
msgid "Paper _type:"
msgstr "_Tipo di carta:"
-#: ../gtk/gtkprintunixdialog.c:3447
+#: ../gtk/gtkprintunixdialog.c:3523
msgid "Paper _source:"
msgstr "So_rgente carta:"
-#: ../gtk/gtkprintunixdialog.c:3462
+#: ../gtk/gtkprintunixdialog.c:3539
msgid "Output t_ray:"
msgstr "Cassetto di _uscita:"
-#: ../gtk/gtkprintunixdialog.c:3502
+#: ../gtk/gtkprintunixdialog.c:3581
msgid "Or_ientation:"
msgstr "Or_ientamento:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3517
+#: ../gtk/gtkprintunixdialog.c:3597
msgid "Portrait"
msgstr "Verticale"
-#: ../gtk/gtkprintunixdialog.c:3518
+#: ../gtk/gtkprintunixdialog.c:3598
msgid "Landscape"
msgstr "Orizzontale"
-#: ../gtk/gtkprintunixdialog.c:3519
+#: ../gtk/gtkprintunixdialog.c:3599
msgid "Reverse portrait"
msgstr "Verticale invertito"
-#: ../gtk/gtkprintunixdialog.c:3520
+#: ../gtk/gtkprintunixdialog.c:3600
msgid "Reverse landscape"
msgstr "Orizzontale invertito"
-#: ../gtk/gtkprintunixdialog.c:3565
+#: ../gtk/gtkprintunixdialog.c:3645
msgid "Job Details"
msgstr "Dettagli lavoro"
-#: ../gtk/gtkprintunixdialog.c:3571
+#: ../gtk/gtkprintunixdialog.c:3651
msgid "Pri_ority:"
msgstr "Pri_orità:"
-#: ../gtk/gtkprintunixdialog.c:3586
+#: ../gtk/gtkprintunixdialog.c:3667
msgid "_Billing info:"
msgstr "In_formazioni fatturazione:"
-#: ../gtk/gtkprintunixdialog.c:3604
+#: ../gtk/gtkprintunixdialog.c:3686
msgid "Print Document"
msgstr "Stampa documento"
#. Translators: this is one of the choices for the print at option
#. * in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3613
+#: ../gtk/gtkprintunixdialog.c:3695
msgid "_Now"
msgstr "Ad_esso"
-#: ../gtk/gtkprintunixdialog.c:3624
+#: ../gtk/gtkprintunixdialog.c:3706
msgid "A_t:"
msgstr "_Alle:"
#. * You can remove the am/pm values below for your locale if they are not
#. * supported.
#.
-#: ../gtk/gtkprintunixdialog.c:3630
+#: ../gtk/gtkprintunixdialog.c:3712
msgid ""
"Specify the time of print,\n"
" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
"Specificare l'ora della stampa,\n"
" per esempio 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
-#: ../gtk/gtkprintunixdialog.c:3640
+#: ../gtk/gtkprintunixdialog.c:3722
msgid "Time of print"
msgstr "Ora di stampa"
-#: ../gtk/gtkprintunixdialog.c:3656
+#: ../gtk/gtkprintunixdialog.c:3738
msgid "On _hold"
msgstr "_In attesa"
-#: ../gtk/gtkprintunixdialog.c:3657
+#: ../gtk/gtkprintunixdialog.c:3739
msgid "Hold the job until it is explicitly released"
msgstr "Trattenere il lavoro finché non è esplicitamente rilasciato"
-#: ../gtk/gtkprintunixdialog.c:3677
+#: ../gtk/gtkprintunixdialog.c:3759
msgid "Add Cover Page"
msgstr "Aggiungi pagina di copertina"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3686
+#: ../gtk/gtkprintunixdialog.c:3768
msgid "Be_fore:"
msgstr "P_rima:"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3704
+#: ../gtk/gtkprintunixdialog.c:3787
msgid "_After:"
msgstr "_Dopo:"
#. Translators: this is the tab label for the notebook tab containing
#. * job-specific options in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3722
+#: ../gtk/gtkprintunixdialog.c:3806
msgid "Job"
msgstr "Lavoro"
# titolo di scheda in dialogo di stampa
-#: ../gtk/gtkprintunixdialog.c:3788
+#: ../gtk/gtkprintunixdialog.c:3872
msgid "Advanced"
msgstr "Avanzate"
# titolo di scheda in dialogo di stampa
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3826
+#: ../gtk/gtkprintunixdialog.c:3910
msgid "Image Quality"
msgstr "Qualità immagine"
# titolo di scheda in dialogo di stampa
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3830
+#: ../gtk/gtkprintunixdialog.c:3914
msgid "Color"
msgstr "Colore"
# titolo di scheda in dialogo di stampa
#. Translators: this will appear as tab label in print dialog.
#. It's a typographical term, as in "Binding and finishing"
-#: ../gtk/gtkprintunixdialog.c:3835
+#: ../gtk/gtkprintunixdialog.c:3919
msgid "Finishing"
msgstr "Finitura"
-#: ../gtk/gtkprintunixdialog.c:3845
+#: ../gtk/gtkprintunixdialog.c:3929
msgid "Some of the settings in the dialog conflict"
msgstr "Alcune impostazioni nella finestra di dialogo sono in conflitto"
-#: ../gtk/gtkprintunixdialog.c:3868
+#: ../gtk/gtkprintunixdialog.c:3952
msgid "Print"
msgstr "Stampa"
-#: ../gtk/gtkrc.c:948
-#, c-format
-msgid "Unable to locate image file in pixmap_path: \"%s\""
-msgstr "Impossibile trovare il file di immagine in pixmap_path: \"%s\""
-
-#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173
-#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616
-#, c-format
-msgid "This function is not implemented for widgets of class '%s'"
-msgstr "Questa funzione non è implementata per i widget della classe «%s»"
-
-#: ../gtk/gtkrecentchooserdefault.c:483
+#: ../gtk/gtkrecentchooserdefault.c:485
msgid "Select which type of documents are shown"
msgstr "Seleziona i tipi di documento da visualizzare"
-#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174
+#: ../gtk/gtkrecentchooserdefault.c:1142 ../gtk/gtkrecentchooserdefault.c:1179
#, c-format
msgid "No item for URI '%s' found"
msgstr "Nessun elemento trovato per l'URI «%s»"
-#: ../gtk/gtkrecentchooserdefault.c:1301
+#: ../gtk/gtkrecentchooserdefault.c:1306
msgid "Untitled filter"
msgstr "Filtro senza titolo"
-#: ../gtk/gtkrecentchooserdefault.c:1654
+#: ../gtk/gtkrecentchooserdefault.c:1659
msgid "Could not remove item"
msgstr "Impossibile rimuovere l'elemento"
-#: ../gtk/gtkrecentchooserdefault.c:1698
+#: ../gtk/gtkrecentchooserdefault.c:1703
msgid "Could not clear list"
msgstr "Impossibile pulire l'elenco"
-#: ../gtk/gtkrecentchooserdefault.c:1782
+#: ../gtk/gtkrecentchooserdefault.c:1787
msgid "Copy _Location"
msgstr "Copia _posizione"
-#: ../gtk/gtkrecentchooserdefault.c:1795
+#: ../gtk/gtkrecentchooserdefault.c:1800
msgid "_Remove From List"
msgstr "_Rimuovi da elenco"
-#: ../gtk/gtkrecentchooserdefault.c:1804
+#: ../gtk/gtkrecentchooserdefault.c:1809
msgid "_Clear List"
msgstr "_Pulisci elenco"
-#: ../gtk/gtkrecentchooserdefault.c:1818
+#: ../gtk/gtkrecentchooserdefault.c:1823
msgid "Show _Private Resources"
msgstr "Mostra risorse _private"
msgid "No recently used resource found with URI `%s'"
msgstr "Non sono state trovate risorse con l'URI «%s» usate di recente"
-#: ../gtk/gtkrecentchoosermenu.c:795
+#: ../gtk/gtkrecentchoosermenu.c:794
#, c-format
msgid "Open '%s'"
msgstr "Apre «%s»"
-#: ../gtk/gtkrecentchoosermenu.c:825
+#: ../gtk/gtkrecentchoosermenu.c:824
msgid "Unknown item"
msgstr "Elemento sconosciuto"
#. * the %s is the name of the item. Please keep the _ in front
#. * of the number to give these menu items a mnemonic.
#.
-#: ../gtk/gtkrecentchoosermenu.c:836
+#: ../gtk/gtkrecentchoosermenu.c:835
#, c-format
msgctxt "recent menu label"
msgid "_%d. %s"
#. This is the format that is used for items in a recent files menu.
#. * The %d is the number of the item, the %s is the name of the item.
#.
-#: ../gtk/gtkrecentchoosermenu.c:841
+#: ../gtk/gtkrecentchoosermenu.c:840
#, c-format
msgctxt "recent menu label"
msgid "%d. %s"
msgstr "%d. %s"
-#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013
-#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160
-#: ../gtk/gtkrecentmanager.c:1212 ../gtk/gtkrecentmanager.c:1221
-#: ../gtk/gtkrecentmanager.c:1236
+#: ../gtk/gtkrecentmanager.c:1006 ../gtk/gtkrecentmanager.c:1019
+#: ../gtk/gtkrecentmanager.c:1156 ../gtk/gtkrecentmanager.c:1166
+#: ../gtk/gtkrecentmanager.c:1218 ../gtk/gtkrecentmanager.c:1227
+#: ../gtk/gtkrecentmanager.c:1242
#, c-format
msgid "Unable to find an item with URI '%s'"
msgstr "Impossibile trovare un elemento con l'URI «%s»"
-#: ../gtk/gtkrecentmanager.c:2436
+#: ../gtk/gtkrecentmanager.c:2442
#, c-format
msgid "No registered application with name '%s' for item with URI '%s' found"
msgstr ""
-"Non è stata trovata alcuna applicazione con nome «%s» per l'elemento con URI «%"
-"s»"
-
-#: ../gtk/gtkspinner.c:287
-msgctxt "throbbing progress animation widget"
-msgid "Spinner"
-msgstr "Spinner"
-
-#: ../gtk/gtkspinner.c:288
-msgid "Provides visual indication of progress"
-msgstr "Fornisce indicazioni visive sull'avanzamento"
+"Non è stata trovata alcuna applicazione con nome «%s» per l'elemento con URI "
+"«%s»"
#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
#: ../gtk/gtkstock.c:313
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
#. * the state
#.
-#: ../gtk/gtkswitch.c:313 ../gtk/gtkswitch.c:362 ../gtk/gtkswitch.c:553
+#: ../gtk/gtkswitch.c:335 ../gtk/gtkswitch.c:395 ../gtk/gtkswitch.c:602
msgctxt "switch"
msgid "ON"
msgstr "ON"
#. Translators: if the "off" state label requires more than three
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
#.
-#: ../gtk/gtkswitch.c:321 ../gtk/gtkswitch.c:363 ../gtk/gtkswitch.c:569
+#: ../gtk/gtkswitch.c:343 ../gtk/gtkswitch.c:396 ../gtk/gtkswitch.c:631
msgctxt "switch"
msgid "OFF"
msgstr "OFF"
-# per l'accessibilità
-#: ../gtk/gtkswitch.c:968
-msgctxt "light switch widget"
-msgid "Switch"
-msgstr "Interruttore"
-
-# per l'accessibilità
-#: ../gtk/gtkswitch.c:969
-msgid "Switches between on and off states"
-msgstr "Commuta tra gli stati acceso/attivato e spento/disattivato"
-
#: ../gtk/gtktextbufferrichtext.c:651
#, c-format
msgid "Unknown error when trying to deserialize %s"
msgid ""
"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
msgstr ""
-"Non è possibile convertire «%s» in un valore di tipo «%s» per l'attributo «%s»"
+"Non è possibile convertire «%s» in un valore di tipo «%s» per l'attributo "
+"«%s»"
#: ../gtk/gtktextbufferserialize.c:1211
#, c-format
msgid "ZWNJ Zero width _non-joiner"
msgstr "ZWNJ - Spazio non di unione a _larghezza nulla"
-#: ../gtk/gtkuimanager.c:1506
+#: ../gtk/gtkuimanager.c:1760
#, c-format
msgid "Unexpected start tag '%s' on line %d char %d"
msgstr "Tag iniziale «%s» non atteso alla riga %d, carattere %d"
-#: ../gtk/gtkuimanager.c:1596
+#: ../gtk/gtkuimanager.c:1850
#, c-format
msgid "Unexpected character data on line %d char %d"
msgstr "Dati carattere non attesi alla riga %d, carattere %d"
-#: ../gtk/gtkuimanager.c:2428
+#: ../gtk/gtkuimanager.c:2682
msgid "Empty"
msgstr "Vuoto"
msgid "ROC 8k"
msgstr "ROC 8k"
-#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552
-#, c-format
-msgid "different idatas found for symlinked '%s' and '%s'\n"
-msgstr "trovati idata differenti per i collegamenti simbolici «%s» e «%s»\n"
-
#: ../gtk/updateiconcache.c:1370
#, c-format
msgid "Failed to write header\n"
msgid "X Input Method"
msgstr "Metodo di input X"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:814
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:828
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1038
msgid "Username:"
msgstr "Nome utente:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:815
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:829
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1047
msgid "Password:"
msgstr "Password:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:854
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1060
#, c-format
msgid "Authentication is required to print document '%s' on printer %s"
msgstr ""
"È richiesto autenticarsi per stampare il documento «%s» sulla stampante %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:856
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:870
#, c-format
msgid "Authentication is required to print a document on %s"
msgstr "È richiesto autenticarsi per stampare un documento su %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:860
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
#, c-format
msgid "Authentication is required to get attributes of job '%s'"
msgstr "È richiesto autenticarsi per ottenere gli attributi del lavoro «%s»"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:862
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:876
msgid "Authentication is required to get attributes of a job"
msgstr "È richiesto autenticarsi per ottenere gli attributi di un lavoro"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:866
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:880
#, c-format
msgid "Authentication is required to get attributes of printer %s"
msgstr "È richiesto autenticarsi per ottenere gli attributi della stampante %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:882
msgid "Authentication is required to get attributes of a printer"
msgstr "È richiesto autenticarsi per ottenere gli attributi di una stampante"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:871
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:885
#, c-format
msgid "Authentication is required to get default printer of %s"
msgstr "È richiesto autenticarsi per ottenere la stampante predefinita di %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:888
#, c-format
msgid "Authentication is required to get printers from %s"
msgstr "È richiesto autenticarsi per ottenere le stampanti da %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:879
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:893
#, c-format
msgid "Authentication is required to get a file from %s"
msgstr "È richiesto autenticarsi per ottenere un file da %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:881
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:895
#, c-format
msgid "Authentication is required on %s"
msgstr "È richiesto autenticarsi su %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1032
msgid "Domain:"
msgstr "Dominio:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1062
#, c-format
msgid "Authentication is required to print document '%s'"
msgstr "È richiesto autenticarsi per stampare il documento «%s»"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1067
#, c-format
msgid "Authentication is required to print this document on printer %s"
msgstr ""
"È richiesto autenticarsi per stampare questo documento sulla stampante %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1069
msgid "Authentication is required to print this document"
msgstr "È richiesto autenticarsi per stampare questo documento"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
#, c-format
msgid "Printer '%s' is low on toner."
msgstr "Toner in esaurimento sulla stampante «%s»."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
#, c-format
msgid "Printer '%s' has no toner left."
msgstr "Toner esaurito sulla stampante «%s»."
#
# Per cui tanto vale non sbattersi la testa a cercare una traduzione.
#. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1693
#, c-format
msgid "Printer '%s' is low on developer."
msgstr "Developer in esaurimento sulla stampante «%s»."
#. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1695
#, c-format
msgid "Printer '%s' is out of developer."
msgstr "Developer esaurito sulla stampante «%s»."
# marker-supply --> fornitura toner (da IBM)
#. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1697
#, c-format
msgid "Printer '%s' is low on at least one marker supply."
msgstr "Almeno una fornitura toner in esaurimento sulla stampante «%s»."
# marker-supply --> fornitura toner (da IBM)
#. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1699
#, c-format
msgid "Printer '%s' is out of at least one marker supply."
msgstr "Almeno una fornitura toner esaurita sulla stampante «%s»."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1700
#, c-format
msgid "The cover is open on printer '%s'."
msgstr "Il coperchio della stampante «%s» è aperto."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1701
#, c-format
msgid "The door is open on printer '%s'."
msgstr "Lo sportello della stampante «%s» è aperto."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1702
#, c-format
msgid "Printer '%s' is low on paper."
msgstr "Carta in esaurimento sulla stampante «%s»."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1703
#, c-format
msgid "Printer '%s' is out of paper."
msgstr "Carta esaurita sulla stampante «%s»."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1704
#, c-format
msgid "Printer '%s' is currently offline."
msgstr "La stampante «%s» è attualmente fuori rete."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1705
#, c-format
msgid "There is a problem on printer '%s'."
msgstr "C'è un problema sulla stampante «%s»."
#. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2019
msgid "Paused ; Rejecting Jobs"
msgstr "In pausa; lavori rifiutati"
#. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2025
msgid "Rejecting Jobs"
msgstr "Lavori rifiutati"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
msgid "Two Sided"
msgstr "Fronte-retro"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799
msgid "Paper Type"
msgstr "Tipo di carta"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
msgid "Paper Source"
msgstr "Sorgente carta"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2784
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801
msgid "Output Tray"
msgstr "Cassetto di uscita"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2785
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
msgid "Resolution"
msgstr "Risoluzione"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2786
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803
msgid "GhostScript pre-filtering"
msgstr "Pre-filtraggio GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
msgid "One Sided"
msgstr "Singola facciata"
#. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
msgid "Long Edge (Standard)"
msgstr "Bordo lungo (standard)"
#. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
msgid "Short Edge (Flip)"
msgstr "Bordo corto (flip)"
#. Translators: this is an option of "Paper Source"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2820
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2828
msgid "Auto Select"
msgstr "Selezione automatica"
#. Translators: this is an option of "Paper Source"
#. Translators: this is an option of "Resolution"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3309
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2822
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2824
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3326
msgid "Printer Default"
msgstr "Impostazioni predefinite stampante"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2832
msgid "Embed GhostScript fonts only"
msgstr "Includere solo i caratteri GhostScript"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2834
msgid "Convert to PS level 1"
msgstr "Convertire a PS livello 1"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2819
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2836
msgid "Convert to PS level 2"
msgstr "Convertire a PS livello 2"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2821
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2838
msgid "No pre-filtering"
msgstr "Nessun pre-filtraggio"
#. 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:2830
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2847
msgid "Miscellaneous"
msgstr "Varie"
#. Translators: These strings name the possible values of the
#. * job priority option in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Urgent"
msgstr "Urgente"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "High"
msgstr "Alta"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Medium"
msgstr "Media"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Low"
msgstr "Bassa"
#. Translators, this string is used to label the pages-per-sheet option
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3557
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3593
msgid "Pages per Sheet"
msgstr "Pagine per foglio"
#. Translators, this string is used to label the job priority option
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3594
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3630
msgid "Job Priority"
msgstr "Priorità lavoro"
#. Translators, this string is used to label the billing info entry
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3605
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3641
msgid "Billing Info"
msgstr "Informazioni fatturazione"
#. Translators, these strings are names for various 'standard' cover
#. * pages that the printing system may support.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "None"
msgstr "Nessuna"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Classified"
msgstr "Classificato"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Confidential"
msgstr "Confidenziale"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Secret"
msgstr "Segreto"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Standard"
msgstr "Standard"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Top Secret"
msgstr "Top Secret"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Unclassified"
msgstr "Non classificato"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3655
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3691
msgid "Before"
msgstr "Prima"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3670
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706
msgid "After"
msgstr "Dopo"
#. * a print job is printed. Possible values are 'now', a specified time,
#. * or 'on hold'
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3690
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3726
msgid "Print at"
msgstr "Stampa"
#. 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:3701
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
msgid "Print at time"
msgstr "Stampa alle"
#. * size. The two placeholders are replaced with the width and height
#. * in points. E.g: "Custom 230.4x142.9"
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3736
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3772
#, c-format
msgid "Custom %sx%s"
msgstr "Personalizzato %s×%s"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3853
+msgid "Printer Profile"
+msgstr "Profilo stampante"
+
+#. TRANSLATORS: this is when color profile information is unavailable
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3860
+msgid "Unavailable"
+msgstr "Non disponibile"
+
+#. TRANSLATORS: when we're running an old CUPS, and
+#. * it hasn't registered the device with colord
+#: ../modules/printbackends/cups/gtkprintercups.c:222
+msgid "Color management unavailable"
+msgstr "Gestione colori non disponibile"
+
+#. TRANSLATORS: when there is no color profile available
+#: ../modules/printbackends/cups/gtkprintercups.c:234
+msgid "No profile available"
+msgstr "Nessun profilo disponibile"
+
+#. TRANSLATORS: when the color profile has no title
+#: ../modules/printbackends/cups/gtkprintercups.c:245
+msgid "Unspecified profile"
+msgstr "Profilo non specificato"
+
#. default filename used for print-to-file
#: ../modules/printbackends/file/gtkprintbackendfile.c:250
#, c-format
msgid ""
"Failed to load image '%s': reason not known, probably a corrupt image file"
msgstr ""
-"Caricamento dell'immagine «%s» non riuscito: causa sconosciuta, probabilmente "
-"un file d'immagine danneggiato"
+"Caricamento dell'immagine «%s» non riuscito: causa sconosciuta, "
+"probabilmente un file d'immagine danneggiato"
+
+#~ msgid "Received invalid color data\n"
+#~ msgstr "Ricevuti dati colore non validi\n"
+
+#~ msgid "_Browse for other folders"
+#~ msgstr "_Esplora altre cartelle"
+
+#~ msgid "Error loading icon: %s"
+#~ msgstr "Errore nel caricare l'icona: %s"
+
+#~ msgid ""
+#~ "Could not find the icon '%s'. The '%s' theme\n"
+#~ "was not found either, perhaps you need to install it.\n"
+#~ "You can get a copy from:\n"
+#~ "\t%s"
+#~ msgstr ""
+#~ "Impossibile trovare l'icona «%s». Non è stato trovato\n"
+#~ "il tema «%s» e potrebbe essere necessario installarlo.\n"
+#~ "È possibile recuperarne una copia presso:\n"
+#~ "\t%s"
+
+#~ msgid "Unable to locate image file in pixmap_path: \"%s\""
+#~ msgstr "Impossibile trovare il file di immagine in pixmap_path: \"%s\""
+
+#~ msgid "This function is not implemented for widgets of class '%s'"
+#~ msgstr "Questa funzione non è implementata per i widget della classe «%s»"
+
+#~ msgid "different idatas found for symlinked '%s' and '%s'\n"
+#~ msgstr "trovati idata differenti per i collegamenti simbolici «%s» e «%s»\n"
msgid ""
msgstr ""
"Project-Id-Version: lt\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-21 14:28+0100\n"
-"PO-Revision-Date: 2011-03-19 22:44+0300\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2011-07-14 12:44+0000\n"
+"PO-Revision-Date: 2011-07-16 17:00+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
-"Language: lt\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%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
-"%100<10 || n%100>=20) ? 1 : 2);\n"
+"Language: lt\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Virtaal 0.5.2\n"
#: ../gdk/gdk.c:135
#. 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:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573
+#: ../gdk/gdk.c:194
+#: ../gdk/gdk.c:197
+#: ../gtk/gtkmain.c:569
+#: ../gtk/gtkmain.c:572
msgid "FLAGS"
msgstr "PARAMETRAI"
msgstr[1] "Atveriami %d objektai"
msgstr[2] "Atveriama %d objektų"
+#: ../gtk/a11y/gtkspinneraccessible.c:42
+msgctxt "throbbing progress animation widget"
+msgid "Spinner"
+msgstr "Suktukas"
+
+#: ../gtk/a11y/gtkspinneraccessible.c:43
+msgid "Provides visual indication of progress"
+msgstr "Vizualiai parodo vykdomo veiksmo progresą"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:65
+msgctxt "light switch widget"
+msgid "Switch"
+msgstr "Jungiklis"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:66
+msgid "Switches between on and off states"
+msgstr "Perjungia tarp įjungimo ir išjungimo būsenų"
+
#. Translators: this is the license preamble; the string at the end
#. * contains the URL of the license.
#.
-#: ../gtk/gtkaboutdialog.c:104
+#: ../gtk/gtkaboutdialog.c:103
#, c-format
-msgid ""
-"This program comes with ABSOLUTELY NO WARRANTY; for details, visit <a href="
-"\"%s\">%s</a>"
-msgstr ""
-"Ši programa teikia BE JOKIOS GARANTIJOS; daugiau informacijos rasite <a href="
-"\"%s\">%s</a>"
+msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit <a href=\"%s\">%s</a>"
+msgstr "Ši programa teikia BE JOKIOS GARANTIJOS; daugiau informacijos rasite <a href=\"%s\">%s</a>"
-#: ../gtk/gtkaboutdialog.c:346
+#: ../gtk/gtkaboutdialog.c:345
msgid "License"
msgstr "Licencija"
-#: ../gtk/gtkaboutdialog.c:347
+#: ../gtk/gtkaboutdialog.c:346
msgid "The license of the program"
msgstr "Programos licencija"
#. Add the credits button
-#: ../gtk/gtkaboutdialog.c:739
+#: ../gtk/gtkaboutdialog.c:738
msgid "C_redits"
msgstr "_Padėkos"
#. Add the license button
-#: ../gtk/gtkaboutdialog.c:752
+#: ../gtk/gtkaboutdialog.c:751
msgid "_License"
msgstr "_Licencija"
-#: ../gtk/gtkaboutdialog.c:957
+#: ../gtk/gtkaboutdialog.c:956
msgid "Could not show link"
msgstr "Nepavyko parodyti nuorodos"
-#: ../gtk/gtkaboutdialog.c:994
+#: ../gtk/gtkaboutdialog.c:993
msgid "Homepage"
msgstr "Namų tinklapis"
-#: ../gtk/gtkaboutdialog.c:1048
+#: ../gtk/gtkaboutdialog.c:1047
#, c-format
msgid "About %s"
msgstr "Apie %s"
-#: ../gtk/gtkaboutdialog.c:2372
+#: ../gtk/gtkaboutdialog.c:2371
msgid "Created by"
msgstr "Autoriai"
-#: ../gtk/gtkaboutdialog.c:2375
+#: ../gtk/gtkaboutdialog.c:2374
msgid "Documented by"
msgstr "Dokumentavo"
-#: ../gtk/gtkaboutdialog.c:2385
+#: ../gtk/gtkaboutdialog.c:2384
msgid "Translated by"
msgstr "Išvertė"
-#: ../gtk/gtkaboutdialog.c:2390
+#: ../gtk/gtkaboutdialog.c:2389
msgid "Artwork by"
msgstr "Apipavidalino"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:158
+#: ../gtk/gtkaccellabel.c:156
msgctxt "keyboard label"
msgid "Shift"
msgstr "Lyg2"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:164
+#: ../gtk/gtkaccellabel.c:162
msgctxt "keyboard label"
msgid "Ctrl"
msgstr "Vald"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:170
+#: ../gtk/gtkaccellabel.c:168
msgctxt "keyboard label"
msgid "Alt"
msgstr "Alt"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:786
+#: ../gtk/gtkaccellabel.c:787
msgctxt "keyboard label"
msgid "Super"
msgstr "Super"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:799
+#: ../gtk/gtkaccellabel.c:800
msgctxt "keyboard label"
msgid "Hyper"
msgstr "Hiper"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:813
+#: ../gtk/gtkaccellabel.c:814
msgctxt "keyboard label"
msgid "Meta"
msgstr "Meta"
-#: ../gtk/gtkaccellabel.c:829
+#: ../gtk/gtkaccellabel.c:830
msgctxt "keyboard label"
msgid "Space"
msgstr "Tarpas"
-#: ../gtk/gtkaccellabel.c:832
+#: ../gtk/gtkaccellabel.c:833
msgctxt "keyboard label"
msgid "Backslash"
msgstr "Backslash"
-#: ../gtk/gtkappchooserbutton.c:264
+#: ../gtk/gtkappchooserbutton.c:268
msgid "Other application..."
msgstr "Kita programa..."
-#: ../gtk/gtkappchooserdialog.c:128
+#: ../gtk/gtkappchooserdialog.c:130
msgid "Failed to look for applications online"
msgstr "Nepavyko rasti programų internete"
-#: ../gtk/gtkappchooserdialog.c:165
+#: ../gtk/gtkappchooserdialog.c:171
msgid "Find applications online"
msgstr "Ieškoti programų internete"
-#: ../gtk/gtkappchooserdialog.c:213
+#: ../gtk/gtkappchooserdialog.c:221
msgid "Could not run application"
msgstr "Nepavyko paleisti programos"
-#: ../gtk/gtkappchooserdialog.c:226
+#: ../gtk/gtkappchooserdialog.c:234
#, c-format
msgid "Could not find '%s'"
msgstr "Nepavyko rasti „%s“"
-#: ../gtk/gtkappchooserdialog.c:229
+#: ../gtk/gtkappchooserdialog.c:237
msgid "Could not find application"
msgstr "Nepavyko rasti programos"
#. Translators: %s is a filename
-#: ../gtk/gtkappchooserdialog.c:347
+#: ../gtk/gtkappchooserdialog.c:355
#, c-format
msgid "Select an application to open \"%s\""
msgstr "Pasirinkite programą atverti „%s“"
-#: ../gtk/gtkappchooserdialog.c:348 ../gtk/gtkappchooserwidget.c:642
+#: ../gtk/gtkappchooserdialog.c:356
+#: ../gtk/gtkappchooserwidget.c:643
#, c-format
msgid "No applications available to open \"%s\""
msgstr "Nera programų „%s“ atverimui"
#. Translators: %s is a file type description
-#: ../gtk/gtkappchooserdialog.c:354
+#: ../gtk/gtkappchooserdialog.c:362
#, c-format
msgid "Select an application for \"%s\" files"
msgstr "Pasirinkite programą „%s“ failams"
-#: ../gtk/gtkappchooserdialog.c:356
+#: ../gtk/gtkappchooserdialog.c:364
#, c-format
msgid "No applications available to open \"%s\" files"
msgstr "Nėra programų „%s“ failams atverti"
-#: ../gtk/gtkappchooserdialog.c:372
-msgid ""
-"Click \"Show other applications\", for more options, or \"Find applications "
-"online\" to install a new application"
-msgstr ""
-"Spauskite „Rodyti kitas programas“, jei norite daugiau parinkčių, arba "
-"„Ieškoti programų internete“ naujų programų įdiegimui"
+#: ../gtk/gtkappchooserdialog.c:380
+msgid "Click \"Show other applications\", for more options, or \"Find applications online\" to install a new application"
+msgstr "Spauskite „Rodyti kitas programas“, jei norite daugiau parinkčių, arba „Ieškoti programų internete“ naujų programų įdiegimui"
-#: ../gtk/gtkappchooserdialog.c:442
+#: ../gtk/gtkappchooserdialog.c:450
msgid "Forget association"
msgstr "Pamiršti susiejimą"
-#: ../gtk/gtkappchooserdialog.c:507
+#: ../gtk/gtkappchooserdialog.c:515
msgid "Show other applications"
msgstr "Rodyti kitas programas"
-#: ../gtk/gtkappchooserdialog.c:525
+#: ../gtk/gtkappchooserdialog.c:533
msgid "_Select"
msgstr "Pa_sirinkti"
-#: ../gtk/gtkappchooserwidget.c:591
+#: ../gtk/gtkappchooserwidget.c:592
msgid "Default Application"
msgstr "Numatytoji programa"
-#: ../gtk/gtkappchooserwidget.c:729
+#: ../gtk/gtkappchooserwidget.c:730
msgid "Recommended Applications"
msgstr "Rekomenduojama programa"
-#: ../gtk/gtkappchooserwidget.c:744
+#: ../gtk/gtkappchooserwidget.c:745
msgid "Related Applications"
msgstr "Susijusios programos"
-#: ../gtk/gtkappchooserwidget.c:758
+#: ../gtk/gtkappchooserwidget.c:759
msgid "Other Applications"
msgstr "Kitos programos"
+#: ../gtk/gtkassistant.c:1000
+#| msgctxt "Stock label"
+#| msgid "C_onnect"
+msgid "C_ontinue"
+msgstr "_Tęsti"
+
+#: ../gtk/gtkassistant.c:1003
+#| msgctxt "Stock label, navigation"
+#| msgid "_Back"
+msgid "Go _Back"
+msgstr "At_gal"
+
+#: ../gtk/gtkassistant.c:1007
+#| msgctxt "print operation status"
+#| msgid "Finished"
+msgid "_Finish"
+msgstr "_Baigti"
+
#: ../gtk/gtkbuilderparser.c:342
#, c-format
msgid "Invalid type function on line %d: '%s'"
#. * text direction of RTL and specify "calendar:YM", then the year
#. * will appear to the right of the month.
#.
-#: ../gtk/gtkcalendar.c:871
+#: ../gtk/gtkcalendar.c:874
msgid "calendar:MY"
msgstr "calendar:YM"
#. * first day of the week to calendar:week_start:1 if you want Monday
#. * to be the first day of the week, and so on.
#.
-#: ../gtk/gtkcalendar.c:909
+#: ../gtk/gtkcalendar.c:912
msgid "calendar:week_start:0"
msgstr "calendar:week_start:1"
#. *
#. * If you don't understand this, leave it as "2000"
#.
-#: ../gtk/gtkcalendar.c:1910
+#: ../gtk/gtkcalendar.c:1913
msgctxt "year measurement template"
msgid "2000"
msgstr "2000"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638
+#: ../gtk/gtkcalendar.c:1944
+#: ../gtk/gtkcalendar.c:2641
#, c-format
msgctxt "calendar:day:digits"
msgid "%d"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499
+#: ../gtk/gtkcalendar.c:1976
+#: ../gtk/gtkcalendar.c:2502
#, c-format
msgctxt "calendar:week:digits"
msgid "%d"
#. *
#. * "%Y" is appropriate for most locales.
#.
-#: ../gtk/gtkcalendar.c:2268
+#: ../gtk/gtkcalendar.c:2271
msgctxt "calendar year format"
msgid "%Y"
msgstr "%Y"
#. This label is displayed in a treeview cell displaying
#. * a disabled accelerator key combination.
#.
-#: ../gtk/gtkcellrendereraccel.c:271
+#: ../gtk/gtkcellrendereraccel.c:286
msgctxt "Accelerator"
msgid "Disabled"
msgstr "Išjungta"
#. * an accelerator key combination that is not valid according
#. * to gtk_accelerator_valid().
#.
-#: ../gtk/gtkcellrendereraccel.c:281
+#: ../gtk/gtkcellrendereraccel.c:296
msgctxt "Accelerator"
msgid "Invalid"
msgstr "Netinkamas"
#. * an accelerator when the cell is clicked to change the
#. * acelerator.
#.
-#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:729
+#: ../gtk/gtkcellrendereraccel.c:432
+#: ../gtk/gtkcellrendereraccel.c:745
msgid "New accelerator..."
msgstr "Naujas akseleratorius…"
-#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452
+#: ../gtk/gtkcellrendererprogress.c:374
+#: ../gtk/gtkcellrendererprogress.c:464
#, c-format
msgctxt "progress bar label"
msgid "%d %%"
msgstr "%d %%"
-#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:483
+#: ../gtk/gtkcolorbutton.c:187
+#: ../gtk/gtkcolorbutton.c:483
msgid "Pick a Color"
msgstr "Pasirinkite spalvą"
-#: ../gtk/gtkcolorbutton.c:372
-msgid "Received invalid color data\n"
-msgstr "Gauti netinkami spalvų duomenys\n"
-
-#: ../gtk/gtkcolorsel.c:415
-msgid ""
-"Select the color you want from the outer ring. Select the darkness or "
-"lightness of that color using the inner triangle."
-msgstr ""
-"Pasirink norimą spalvą iš išorinio žiedo. Pasirink spalvos šviesumą ir "
-"sodrumą naudodamasis vidiniu trikampiu."
+#: ../gtk/gtkcolorsel.c:416
+msgid "Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle."
+msgstr "Pasirink norimą spalvą iš išorinio žiedo. Pasirink spalvos šviesumą ir sodrumą naudodamasis vidiniu trikampiu."
-#: ../gtk/gtkcolorsel.c:441
-msgid ""
-"Click the eyedropper, then click a color anywhere on your screen to select "
-"that color."
-msgstr ""
-"Paspausk ant teptuko, tada paspausk ant spalvos, esančios bet kurioje ekrano "
-"vietoje, kad pasirinktum ją."
+#: ../gtk/gtkcolorsel.c:442
+msgid "Click the eyedropper, then click a color anywhere on your screen to select that color."
+msgstr "Paspausk ant teptuko, tada paspausk ant spalvos, esančios bet kurioje ekrano vietoje, kad pasirinktum ją."
-#: ../gtk/gtkcolorsel.c:451
+#: ../gtk/gtkcolorsel.c:452
msgid "_Hue:"
msgstr "_Atspalvis:"
-#: ../gtk/gtkcolorsel.c:452
+#: ../gtk/gtkcolorsel.c:453
msgid "Position on the color wheel."
msgstr "Vieta spalvų rate."
-#: ../gtk/gtkcolorsel.c:454
+#: ../gtk/gtkcolorsel.c:455
msgid "_Saturation:"
msgstr "_Sodrumas:"
-#: ../gtk/gtkcolorsel.c:455
+#: ../gtk/gtkcolorsel.c:456
msgid "Intensity of the color."
msgstr "Spalvos intensyvumas."
-#: ../gtk/gtkcolorsel.c:456
+#: ../gtk/gtkcolorsel.c:457
msgid "_Value:"
msgstr "_Vertė:"
-#: ../gtk/gtkcolorsel.c:457
+#: ../gtk/gtkcolorsel.c:458
msgid "Brightness of the color."
msgstr "Spalvos šviesumas."
-#: ../gtk/gtkcolorsel.c:458
+#: ../gtk/gtkcolorsel.c:459
msgid "_Red:"
msgstr "_Raudona:"
-#: ../gtk/gtkcolorsel.c:459
+#: ../gtk/gtkcolorsel.c:460
msgid "Amount of red light in the color."
msgstr "Raudonos šviesos kiekis spalvoje."
-#: ../gtk/gtkcolorsel.c:460
+#: ../gtk/gtkcolorsel.c:461
msgid "_Green:"
msgstr "_Žalia:"
-#: ../gtk/gtkcolorsel.c:461
+#: ../gtk/gtkcolorsel.c:462
msgid "Amount of green light in the color."
msgstr "Žalios šviesos kiekis spalvoje."
-#: ../gtk/gtkcolorsel.c:462
+#: ../gtk/gtkcolorsel.c:463
msgid "_Blue:"
msgstr "_Mėlyna:"
-#: ../gtk/gtkcolorsel.c:463
+#: ../gtk/gtkcolorsel.c:464
msgid "Amount of blue light in the color."
msgstr "Mėlynos šviesos kiekis spalvoje."
-#: ../gtk/gtkcolorsel.c:466
+#: ../gtk/gtkcolorsel.c:467
msgid "Op_acity:"
msgstr "Neperm_atomumas:"
-#: ../gtk/gtkcolorsel.c:473 ../gtk/gtkcolorsel.c:483
+#: ../gtk/gtkcolorsel.c:475
+#: ../gtk/gtkcolorsel.c:485
msgid "Transparency of the color."
msgstr "Spalvos skaidrumas."
-#: ../gtk/gtkcolorsel.c:490
+#: ../gtk/gtkcolorsel.c:492
msgid "Color _name:"
msgstr "Spalvos _pavadinimas:"
-#: ../gtk/gtkcolorsel.c:504
-msgid ""
-"You can enter an HTML-style hexadecimal color value, or simply a color name "
-"such as 'orange' in this entry."
-msgstr ""
-"Čia galite įrašyti HTML stiliaus šešioliktainę spalvos išraišką, arba "
-"tiesiog spalvos pavadinimą, pvz., „white“."
+#: ../gtk/gtkcolorsel.c:507
+msgid "You can enter an HTML-style hexadecimal color value, or simply a color name such as 'orange' in this entry."
+msgstr "Čia galite įrašyti HTML stiliaus šešioliktainę spalvos išraišką, arba tiesiog spalvos pavadinimą, pvz., „white“."
-#: ../gtk/gtkcolorsel.c:536
+#: ../gtk/gtkcolorsel.c:539
msgid "_Palette:"
msgstr "_Paletė:"
-#: ../gtk/gtkcolorsel.c:565
+#: ../gtk/gtkcolorsel.c:569
msgid "Color Wheel"
msgstr "Spalvų ratas"
-#: ../gtk/gtkcolorsel.c:1038
-msgid ""
-"The previously-selected color, for comparison to the color you're selecting "
-"now. You can drag this color to a palette entry, or select this color as "
-"current by dragging it to the other color swatch alongside."
-msgstr ""
-"Anksčiau buvusi spalva, palyginimui su spalva, kurią pasirenkate dabar. "
-"Galite nutempti šią spalvą į paletės langelį, arba pasirinkti šią spalvą, "
-"nutempdami ją į greta esantį langelį."
-
-#: ../gtk/gtkcolorsel.c:1044
-msgid ""
-"The color you've chosen. You can drag this color to a palette entry to save "
-"it for use in the future."
-msgstr ""
-"Spalva, kurią pasirinkote. Galite nutempti šią spalvą į paletės langelį, kad "
-"išsaugotumėte ją naudojimui ateityje."
+#: ../gtk/gtkcolorsel.c:1042
+msgid "The previously-selected color, for comparison to the color you're selecting now. You can drag this color to a palette entry, or select this color as current by dragging it to the other color swatch alongside."
+msgstr "Anksčiau buvusi spalva, palyginimui su spalva, kurią pasirenkate dabar. Galite nutempti šią spalvą į paletės langelį, arba pasirinkti šią spalvą, nutempdami ją į greta esantį langelį."
-#: ../gtk/gtkcolorsel.c:1050
-msgid ""
-"The previously-selected color, for comparison to the color you're selecting "
-"now."
-msgstr ""
-"Anksčiau buvusi spalva, palyginimui su spalva, kurią pasirenkate dabar."
+#: ../gtk/gtkcolorsel.c:1048
+msgid "The color you've chosen. You can drag this color to a palette entry to save it for use in the future."
+msgstr "Spalva, kurią pasirinkote. Galite nutempti šią spalvą į paletės langelį, kad išsaugotumėte ją naudojimui ateityje."
#: ../gtk/gtkcolorsel.c:1054
+msgid "The previously-selected color, for comparison to the color you're selecting now."
+msgstr "Anksčiau buvusi spalva, palyginimui su spalva, kurią pasirenkate dabar."
+
+#: ../gtk/gtkcolorsel.c:1058
msgid "The color you've chosen."
msgstr "Spalva, kurią pasirinkote."
-#: ../gtk/gtkcolorsel.c:1456
+#: ../gtk/gtkcolorsel.c:1460
msgid "_Save color here"
msgstr "Iš_saugoti spalvą čia"
-#: ../gtk/gtkcolorsel.c:1661
-msgid ""
-"Click this palette entry to make it the current color. To change this entry, "
-"drag a color swatch here or right-click it and select \"Save color here.\""
-msgstr ""
-"Paspausk ant šio paletės langelio, kad padarytum ją esama spalva. Kad "
-"pakeistum šį langelį, nutempk spalvos langelį čia arba paspausk dešinį "
-"mygtuką ir pasirink „Išsaugoti spalvą čia“."
+#: ../gtk/gtkcolorsel.c:1665
+msgid "Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select \"Save color here.\""
+msgstr "Paspausk ant šio paletės langelio, kad padarytum ją esama spalva. Kad pakeistum šį langelį, nutempk spalvos langelį čia arba paspausk dešinį mygtuką ir pasirink „Išsaugoti spalvą čia“."
-#: ../gtk/gtkcolorseldialog.c:189
+#: ../gtk/gtkcolorseldialog.c:213
msgid "Color Selection"
msgstr "Spalvos pasirinkimas"
msgstr "default:mm"
#. And show the custom paper dialog
-#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3255
+#: ../gtk/gtkcustompaperunixdialog.c:372
+#: ../gtk/gtkprintunixdialog.c:3325
msgid "Manage Custom Sizes"
msgstr "Tvarkyti pasirinktinius dydžius"
-#: ../gtk/gtkcustompaperunixdialog.c:532 ../gtk/gtkpagesetupunixdialog.c:788
+#: ../gtk/gtkcustompaperunixdialog.c:533
+#: ../gtk/gtkpagesetupunixdialog.c:783
msgid "inch"
msgstr "colis"
-#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:786
+#: ../gtk/gtkcustompaperunixdialog.c:535
+#: ../gtk/gtkpagesetupunixdialog.c:781
msgid "mm"
msgstr "mm"
-#: ../gtk/gtkcustompaperunixdialog.c:579
+#: ../gtk/gtkcustompaperunixdialog.c:580
msgid "Margins from Printer..."
msgstr "Paraštės iš spausdintuvo…"
-#: ../gtk/gtkcustompaperunixdialog.c:745
+#: ../gtk/gtkcustompaperunixdialog.c:746
#, c-format
msgid "Custom Size %d"
msgstr "Pasirinktinis dydis %d"
-#: ../gtk/gtkcustompaperunixdialog.c:1057
+#: ../gtk/gtkcustompaperunixdialog.c:1084
msgid "_Width:"
msgstr "_Plotis:"
-#: ../gtk/gtkcustompaperunixdialog.c:1069
+#: ../gtk/gtkcustompaperunixdialog.c:1097
msgid "_Height:"
msgstr "_Aukštis:"
-#: ../gtk/gtkcustompaperunixdialog.c:1081
+#: ../gtk/gtkcustompaperunixdialog.c:1110
msgid "Paper Size"
msgstr "Popieriaus dydis"
-#: ../gtk/gtkcustompaperunixdialog.c:1090
+#: ../gtk/gtkcustompaperunixdialog.c:1119
msgid "_Top:"
msgstr "_Viršus:"
-#: ../gtk/gtkcustompaperunixdialog.c:1102
+#: ../gtk/gtkcustompaperunixdialog.c:1132
msgid "_Bottom:"
msgstr "_Apačia:"
-#: ../gtk/gtkcustompaperunixdialog.c:1114
+#: ../gtk/gtkcustompaperunixdialog.c:1145
msgid "_Left:"
msgstr "_Kairė:"
-#: ../gtk/gtkcustompaperunixdialog.c:1126
+#: ../gtk/gtkcustompaperunixdialog.c:1158
msgid "_Right:"
msgstr "_Dešinė:"
-#: ../gtk/gtkcustompaperunixdialog.c:1167
+#: ../gtk/gtkcustompaperunixdialog.c:1200
msgid "Paper Margins"
msgstr "Popieriaus paraštės"
-#: ../gtk/gtkentry.c:8838 ../gtk/gtktextview.c:8272
+#: ../gtk/gtkentry.c:8949
+#: ../gtk/gtktextview.c:8277
msgid "Input _Methods"
msgstr "Įvesties _metodai"
-#: ../gtk/gtkentry.c:8852 ../gtk/gtktextview.c:8286
+#: ../gtk/gtkentry.c:8963
+#: ../gtk/gtktextview.c:8291
msgid "_Insert Unicode Control Character"
msgstr "Įterpti _Unicode valdymo simbolį"
-#: ../gtk/gtkentry.c:10315
+#: ../gtk/gtkentry.c:10434
msgid "Caps Lock and Num Lock are on"
msgstr "Caps Lock ir Num Lock yra įjungti"
-#: ../gtk/gtkentry.c:10317
+#: ../gtk/gtkentry.c:10436
msgid "Num Lock is on"
msgstr "Num Lock įjungtas"
-#: ../gtk/gtkentry.c:10319
+#: ../gtk/gtkentry.c:10438
msgid "Caps Lock is on"
msgstr "Caps Lock įjungtas"
+#. *
+#. * SECTION:gtkfilechooserbutton
+#. * @Short_description: A button to launch a file selection dialog
+#. * @Title: GtkFileChooserButton
+#. * @See_also:#GtkFileChooserDialog
+#. *
+#. * The #GtkFileChooserButton is a widget that lets the user select a
+#. * file. It implements the #GtkFileChooser interface. Visually, it is a
+#. * file name with a button to bring up a #GtkFileChooserDialog.
+#. * The user can then use that dialog to change the file associated with
+#. * that button. This widget does not support setting the
+#. * #GtkFileChooser:select-multiple property to %TRUE.
+#. *
+#. * <example>
+#. * <title>Create a button to let the user select a file in /etc</title>
+#. * <programlisting>
+#. * {
+#. * GtkWidget *button;
+#. *
+#. * button = gtk_file_chooser_button_new (_("Select a file"),
+#. * GTK_FILE_CHOOSER_ACTION_OPEN);
+#. * gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button),
+#. * "/etc");
+#. * }
+#. * </programlisting>
+#. * </example>
+#. *
+#. * The #GtkFileChooserButton supports the #GtkFileChooserAction<!-- -->s
+#. * %GTK_FILE_CHOOSER_ACTION_OPEN and %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
+#. *
+#. * <important>
+#. * The #GtkFileChooserButton will ellipsize the label,
+#. * and thus will thus request little horizontal space. To give the button
+#. * more space, you should call gtk_widget_get_preferred_size(),
+#. * gtk_file_chooser_button_set_width_chars(), or pack the button in
+#. * such a way that other interface elements give space to the widget.
+#. * </important>
+#.
#. **************** *
#. * Private Macros *
#. * ****************
-#: ../gtk/gtkfilechooserbutton.c:62
+#: ../gtk/gtkfilechooserbutton.c:105
msgid "Select a File"
msgstr "Pasirinkite failą"
-#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1865
+#: ../gtk/gtkfilechooserbutton.c:106
+#: ../gtk/gtkfilechooserdefault.c:1811
msgid "Desktop"
msgstr "Darbastalis"
-#: ../gtk/gtkfilechooserbutton.c:64
+#: ../gtk/gtkfilechooserbutton.c:107
msgid "(None)"
msgstr "(Joks)"
-#: ../gtk/gtkfilechooserbutton.c:1997
+#: ../gtk/gtkfilechooserbutton.c:2046
msgid "Other..."
msgstr "Kita…"
msgid "Type name of new folder"
msgstr "Įveskite naujo aplanko pavadinimą"
-#: ../gtk/gtkfilechooserdefault.c:960
+#: ../gtk/gtkfilechooserdefault.c:962
msgid "Could not retrieve information about the file"
msgstr "Nepavyko gauti informacijos apie šį failą"
-#: ../gtk/gtkfilechooserdefault.c:971
+#: ../gtk/gtkfilechooserdefault.c:973
msgid "Could not add a bookmark"
msgstr "Nepavyko pridėti žymelės"
-#: ../gtk/gtkfilechooserdefault.c:982
+#: ../gtk/gtkfilechooserdefault.c:984
msgid "Could not remove bookmark"
msgstr "Nepavyko pašalinti žymelės"
-#: ../gtk/gtkfilechooserdefault.c:993
+#: ../gtk/gtkfilechooserdefault.c:995
msgid "The folder could not be created"
msgstr "Nepavyko sukurti aplanko"
-#: ../gtk/gtkfilechooserdefault.c:1006
-msgid ""
-"The folder could not be created, as a file with the same name already "
-"exists. Try using a different name for the folder, or rename the file first."
-msgstr ""
-"Šio aplanko sukurti nepavyko, nes jau yra failas tokiu pat pavadinimu. "
-"Pabandykite naudoti kitą aplanko pavadinimą, arba pirma pervadinkite failą."
+#: ../gtk/gtkfilechooserdefault.c:1008
+msgid "The folder could not be created, as a file with the same name already exists. Try using a different name for the folder, or rename the file first."
+msgstr "Šio aplanko sukurti nepavyko, nes jau yra failas tokiu pat pavadinimu. Pabandykite naudoti kitą aplanko pavadinimą, arba pirma pervadinkite failą."
-#: ../gtk/gtkfilechooserdefault.c:1020
+#: ../gtk/gtkfilechooserdefault.c:1022
msgid "You need to choose a valid filename."
msgstr "Reikia pasirinkti tinkamą failo pavadinimą."
-#: ../gtk/gtkfilechooserdefault.c:1023
+#: ../gtk/gtkfilechooserdefault.c:1025
#, c-format
msgid "Cannot create a file under %s as it is not a folder"
msgstr "Nepavyko sukurti failo %s viduje, nes tai nėra aplankas"
-#: ../gtk/gtkfilechooserdefault.c:1035
-msgid ""
-"You may only select folders. The item that you selected is not a folder; "
-"try using a different item."
-msgstr ""
-"Galite pasirinkti tik aplankus. Jūsų pasirinktas elementas nėra aplankas; "
-"pasirinkite kitą elementą."
+#: ../gtk/gtkfilechooserdefault.c:1037
+msgid "You may only select folders. The item that you selected is not a folder; try using a different item."
+msgstr "Galite pasirinkti tik aplankus. Jūsų pasirinktas elementas nėra aplankas; pasirinkite kitą elementą."
-#: ../gtk/gtkfilechooserdefault.c:1045
+#: ../gtk/gtkfilechooserdefault.c:1047
msgid "Invalid file name"
msgstr "Netinkamas failo vardas"
-#: ../gtk/gtkfilechooserdefault.c:1055
+#: ../gtk/gtkfilechooserdefault.c:1057
msgid "The folder contents could not be displayed"
msgstr "Nepavyko parodyti aplanko turinio"
#. * is a hostname. Nautilus and the panel contain the same string
#. * to translate.
#.
-#: ../gtk/gtkfilechooserdefault.c:1608
+#: ../gtk/gtkfilechooserdefault.c:1583
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s kompiuteryje %2$s"
-#: ../gtk/gtkfilechooserdefault.c:1784
+#: ../gtk/gtkfilechooserdefault.c:1732
msgid "Search"
msgstr "Paieška"
-#: ../gtk/gtkfilechooserdefault.c:1808 ../gtk/gtkfilechooserdefault.c:9488
+#: ../gtk/gtkfilechooserdefault.c:1756
+#: ../gtk/gtkfilechooserdefault.c:4873
msgid "Recently Used"
msgstr "Vėliausiai naudotieji"
-#: ../gtk/gtkfilechooserdefault.c:2464
+#: ../gtk/gtkfilechooserdefault.c:2355
msgid "Select which types of files are shown"
msgstr "Pasirinkite kokių tipų failus rodyti"
-#: ../gtk/gtkfilechooserdefault.c:2823
+#: ../gtk/gtkfilechooserdefault.c:2714
#, c-format
msgid "Add the folder '%s' to the bookmarks"
msgstr "Įdėti aplanką „%s“ į žymeles"
-#: ../gtk/gtkfilechooserdefault.c:2867
+#: ../gtk/gtkfilechooserdefault.c:2758
#, c-format
msgid "Add the current folder to the bookmarks"
msgstr "Įdėti esamą aplanką į žymeles"
-#: ../gtk/gtkfilechooserdefault.c:2869
+#: ../gtk/gtkfilechooserdefault.c:2760
#, c-format
msgid "Add the selected folders to the bookmarks"
msgstr "Įdėti pažymėtus aplankus į žymeles"
-#: ../gtk/gtkfilechooserdefault.c:2907
+#: ../gtk/gtkfilechooserdefault.c:2798
#, c-format
msgid "Remove the bookmark '%s'"
msgstr "Pašalinti žymelę „%s“"
-#: ../gtk/gtkfilechooserdefault.c:2909
+#: ../gtk/gtkfilechooserdefault.c:2800
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr "Žymelė „%s“ negali būti pašalinta"
-#: ../gtk/gtkfilechooserdefault.c:2916 ../gtk/gtkfilechooserdefault.c:3801
+#: ../gtk/gtkfilechooserdefault.c:2807
+#: ../gtk/gtkfilechooserdefault.c:3692
msgid "Remove the selected bookmark"
msgstr "Pašalinti pažymėtas žymeles"
-#: ../gtk/gtkfilechooserdefault.c:3479
+#: ../gtk/gtkfilechooserdefault.c:3371
msgid "Remove"
msgstr "Pašalinti"
-#: ../gtk/gtkfilechooserdefault.c:3488
+#: ../gtk/gtkfilechooserdefault.c:3380
msgid "Rename..."
msgstr "Pervadinti…"
#. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3653
+#: ../gtk/gtkfilechooserdefault.c:3544
msgid "Places"
msgstr "Vietos"
#. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3710
+#: ../gtk/gtkfilechooserdefault.c:3601
msgid "_Places"
msgstr "_Vietos"
-#: ../gtk/gtkfilechooserdefault.c:3789
+#: ../gtk/gtkfilechooserdefault.c:3680
msgid "Add the selected folder to the Bookmarks"
msgstr "Įdėti pažymėtą aplanką į žymeles"
-#: ../gtk/gtkfilechooserdefault.c:3936
+#: ../gtk/gtkfilechooserdefault.c:3827
msgid "Could not select file"
msgstr "Failo pasirinkti nepavyko"
-#: ../gtk/gtkfilechooserdefault.c:4109
+#: ../gtk/gtkfilechooserdefault.c:4000
msgid "_Add to Bookmarks"
msgstr "Į_dėti į žymeles"
-#: ../gtk/gtkfilechooserdefault.c:4122
+#: ../gtk/gtkfilechooserdefault.c:4013
msgid "Show _Hidden Files"
msgstr "Rod_yti paslėptus failus"
-#: ../gtk/gtkfilechooserdefault.c:4129
+#: ../gtk/gtkfilechooserdefault.c:4020
msgid "Show _Size Column"
msgstr "Rodydi _dydžio stulpelį"
-#: ../gtk/gtkfilechooserdefault.c:4354
+#: ../gtk/gtkfilechooserdefault.c:4245
msgid "Files"
msgstr "Failai"
-#: ../gtk/gtkfilechooserdefault.c:4405
+#: ../gtk/gtkfilechooserdefault.c:4296
msgid "Name"
msgstr "Pavadinimas"
-#: ../gtk/gtkfilechooserdefault.c:4428
+#: ../gtk/gtkfilechooserdefault.c:4319
msgid "Size"
msgstr "Dydis"
-#: ../gtk/gtkfilechooserdefault.c:4442
+#: ../gtk/gtkfilechooserdefault.c:4333
msgid "Modified"
msgstr "Pakeista"
#. Label
-#: ../gtk/gtkfilechooserdefault.c:4697 ../gtk/gtkprinteroptionwidget.c:793
+#: ../gtk/gtkfilechooserdefault.c:4414
+#: ../gtk/gtkprinteroptionwidget.c:799
msgid "_Name:"
msgstr "_Pavadinimas:"
-#: ../gtk/gtkfilechooserdefault.c:4740
-msgid "_Browse for other folders"
-msgstr "_Naršyti kitų aplankų"
-
-#: ../gtk/gtkfilechooserdefault.c:5010
+#: ../gtk/gtkfilechooserdefault.c:4711
msgid "Type a file name"
msgstr "Įveskite failo pavadinimą"
+#: ../gtk/gtkfilechooserdefault.c:4758
+#: ../gtk/gtkfilechooserdefault.c:4769
+#| msgid "Select a folder"
+msgid "Please select a folder below"
+msgstr "Pasirinkite aplanką žemiau"
+
+#: ../gtk/gtkfilechooserdefault.c:4764
+#| msgid "Type a file name"
+msgid "Please type a file name"
+msgstr "Įveskite failo pavadinimą"
+
#. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5053
+#: ../gtk/gtkfilechooserdefault.c:4835
msgid "Create Fo_lder"
msgstr "Sukurti ap_lanką"
-#: ../gtk/gtkfilechooserdefault.c:5063
+#: ../gtk/gtkfilechooserdefault.c:4883
+msgid "Search:"
+msgstr "Ieškoti:"
+
+#: ../gtk/gtkfilechooserdefault.c:4930
msgid "_Location:"
msgstr "Vi_eta:"
-#: ../gtk/gtkfilechooserdefault.c:5268
+#: ../gtk/gtkfilechooserdefault.c:5247
msgid "Save in _folder:"
msgstr "Išsaugoti _aplanke:"
-#: ../gtk/gtkfilechooserdefault.c:5270
+#: ../gtk/gtkfilechooserdefault.c:5249
msgid "Create in _folder:"
msgstr "Sukurti _aplanke:"
-#: ../gtk/gtkfilechooserdefault.c:6353
+#: ../gtk/gtkfilechooserdefault.c:6343
#, c-format
msgid "Could not read the contents of %s"
msgstr "Nepavyko perskaityti %s turinio"
-#: ../gtk/gtkfilechooserdefault.c:6357
+#: ../gtk/gtkfilechooserdefault.c:6347
msgid "Could not read the contents of the folder"
msgstr "Nepavyko perskaityti aplanko turinio"
-#: ../gtk/gtkfilechooserdefault.c:6450 ../gtk/gtkfilechooserdefault.c:6518
-#: ../gtk/gtkfilechooserdefault.c:6663
+#: ../gtk/gtkfilechooserdefault.c:6440
+#: ../gtk/gtkfilechooserdefault.c:6508
+#: ../gtk/gtkfilechooserdefault.c:6660
msgid "Unknown"
msgstr "Nežinomas"
-#: ../gtk/gtkfilechooserdefault.c:6465
+#: ../gtk/gtkfilechooserdefault.c:6455
msgid "%H:%M"
msgstr "%H:%M"
-#: ../gtk/gtkfilechooserdefault.c:6467
+#: ../gtk/gtkfilechooserdefault.c:6457
msgid "Yesterday at %H:%M"
msgstr "Vakar %H:%M"
-#: ../gtk/gtkfilechooserdefault.c:7129
+#: ../gtk/gtkfilechooserdefault.c:7142
msgid "Cannot change to folder because it is not local"
msgstr "Negalima pakeisti į nurodytą aplanką, nes jis nėra vietinis"
-#: ../gtk/gtkfilechooserdefault.c:7726 ../gtk/gtkfilechooserdefault.c:7747
+#: ../gtk/gtkfilechooserdefault.c:7742
+#: ../gtk/gtkfilechooserdefault.c:7763
#, c-format
msgid "Shortcut %s already exists"
msgstr "Nuoroda %s jau egzistuoja"
-#: ../gtk/gtkfilechooserdefault.c:7837
+#: ../gtk/gtkfilechooserdefault.c:7853
#, c-format
msgid "Shortcut %s does not exist"
msgstr "Nuoroda %s neegzistuoja"
-#: ../gtk/gtkfilechooserdefault.c:8096 ../gtk/gtkprintunixdialog.c:480
+#: ../gtk/gtkfilechooserdefault.c:8099
+#: ../gtk/gtkprintunixdialog.c:550
#, c-format
msgid "A file named \"%s\" already exists. Do you want to replace it?"
msgstr "Failas pavadinimu „%s“ jau egzistuoja. Ar norite jį perrašyti?"
-#: ../gtk/gtkfilechooserdefault.c:8099 ../gtk/gtkprintunixdialog.c:484
+#: ../gtk/gtkfilechooserdefault.c:8102
+#: ../gtk/gtkprintunixdialog.c:554
#, c-format
-msgid ""
-"The file already exists in \"%s\". Replacing it will overwrite its contents."
-msgstr ""
-"Failas vietoje „%s“ jau egzistuoja. Pakeitus jį, jo turinys bus perrašytas."
+msgid "The file already exists in \"%s\". Replacing it will overwrite its contents."
+msgstr "Failas vietoje „%s“ jau egzistuoja. Pakeitus jį, jo turinys bus perrašytas."
-#: ../gtk/gtkfilechooserdefault.c:8104 ../gtk/gtkprintunixdialog.c:491
+#: ../gtk/gtkfilechooserdefault.c:8107
+#: ../gtk/gtkprintunixdialog.c:561
msgid "_Replace"
msgstr "_Pakeisti"
-#: ../gtk/gtkfilechooserdefault.c:8830
+#: ../gtk/gtkfilechooserdefault.c:8912
msgid "Could not start the search process"
msgstr "Nepavyko paleisti paieškos proceso"
-#: ../gtk/gtkfilechooserdefault.c:8831
-msgid ""
-"The program was not able to create a connection to the indexer daemon. "
-"Please make sure it is running."
-msgstr ""
-"Programai nepavyko sukurti ryšio su indeksavimo posisteme. Įsitikinkite, kad "
-"ji veikia."
+#: ../gtk/gtkfilechooserdefault.c:8913
+msgid "The program was not able to create a connection to the indexer daemon. Please make sure it is running."
+msgstr "Programai nepavyko sukurti ryšio su indeksavimo posisteme. Įsitikinkite, kad ji veikia."
-#: ../gtk/gtkfilechooserdefault.c:8845
+#: ../gtk/gtkfilechooserdefault.c:8927
msgid "Could not send the search request"
msgstr "Nepavyko išsiųsti paieškos užklausos"
-#: ../gtk/gtkfilechooserdefault.c:9064
-msgid "Search:"
-msgstr "Ieškoti:"
-
-#: ../gtk/gtkfilechooserdefault.c:9672
+#: ../gtk/gtkfilechooserdefault.c:9719
#, c-format
msgid "Could not mount %s"
msgstr "Nepavyko prijungti %s"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry, when the user enters an invalid path.
-#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1179
+#: ../gtk/gtkfilechooserentry.c:702
+#: ../gtk/gtkfilechooserentry.c:1174
+#: ../gtk/gtkfilesystem.c:721
+#, c-format
msgid "Invalid path"
msgstr "Netinkamas kelias"
#. translators: this text is shown when there are no completions
#. * for something the user typed in a file chooser entry
#.
-#: ../gtk/gtkfilechooserentry.c:1111
+#: ../gtk/gtkfilechooserentry.c:1106
msgid "No match"
msgstr "Atitikmenų nerasta"
#. translators: this text is shown when there is exactly one completion
#. * for something the user typed in a file chooser entry
#.
-#: ../gtk/gtkfilechooserentry.c:1122
+#: ../gtk/gtkfilechooserentry.c:1117
msgid "Sole completion"
msgstr "Vienintelis atitikmuo"
#. * entry is a complete filename, but could be continued to find
#. * a longer match
#.
-#: ../gtk/gtkfilechooserentry.c:1138
+#: ../gtk/gtkfilechooserentry.c:1133
msgid "Complete, but not unique"
msgstr "Rastas atitikmuo nėra vienintelis"
#. Translators: this text is shown while the system is searching
#. * for possible completions for filenames in a file chooser entry.
-#: ../gtk/gtkfilechooserentry.c:1170
+#: ../gtk/gtkfilechooserentry.c:1165
msgid "Completing..."
msgstr "Ieškoma atitikmenų…"
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user enters something like
#. * "sftp://blahblah" in an app that only supports local filenames.
-#: ../gtk/gtkfilechooserentry.c:1192 ../gtk/gtkfilechooserentry.c:1217
+#: ../gtk/gtkfilechooserentry.c:1187
+#: ../gtk/gtkfilechooserentry.c:1212
msgid "Only local files may be selected"
msgstr "Gali būti pasirinkti tik vietiniai failai"
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user hasn't entered the first '/'
#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]")
-#: ../gtk/gtkfilechooserentry.c:1201
+#: ../gtk/gtkfilechooserentry.c:1196
msgid "Incomplete hostname; end it with '/'"
msgstr "Pagrindinio kompiuterio vardas nepilnas; užbaikite jį „/“"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry when the user enters a path that does not exist
#. * and then hits Tab
-#: ../gtk/gtkfilechooserentry.c:1212
+#: ../gtk/gtkfilechooserentry.c:1207
msgid "Path does not exist"
msgstr "Tokio kelio nėra"
msgid "File System"
msgstr "Failų sistema"
-#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266
+#: ../gtk/gtkfontbutton.c:153
+#: ../gtk/gtkfontbutton.c:277
msgid "Pick a Font"
msgstr "Pasirinkite šriftą"
#. Initialize fields
-#: ../gtk/gtkfontbutton.c:260
+#: ../gtk/gtkfontbutton.c:271
msgid "Sans 12"
msgstr "Sans 12"
-#: ../gtk/gtkfontbutton.c:785
+#: ../gtk/gtkfontbutton.c:796
msgid "Font"
msgstr "Šriftas"
#. This is the default text shown in the preview entry, though the user
#. can set it. Remember that some fonts only have capital letters.
-#: ../gtk/gtkfontsel.c:100
+#: ../gtk/gtkfontsel.c:119
msgid "abcdefghijk ABCDEFGHIJK"
msgstr "aąbcčeęėfgh AĄBCČEĘĖFGH"
-#: ../gtk/gtkfontsel.c:366
+#: ../gtk/gtkfontsel.c:388
msgid "_Family:"
msgstr "Š_eima:"
-#: ../gtk/gtkfontsel.c:372
+#: ../gtk/gtkfontsel.c:395
msgid "_Style:"
msgstr "_Stilius:"
-#: ../gtk/gtkfontsel.c:378
+#: ../gtk/gtkfontsel.c:402
msgid "Si_ze:"
msgstr "D_ydis:"
#. create the text entry widget
-#: ../gtk/gtkfontsel.c:554
+#: ../gtk/gtkfontsel.c:579
msgid "_Preview:"
msgstr "_Peržiūra:"
-#: ../gtk/gtkfontsel.c:1653
+#: ../gtk/gtkfontsel.c:1701
msgid "Font Selection"
msgstr "Šrifto pasirinkimas"
-#. Remove this icon source so we don't keep trying to
-#. * load it.
-#.
-#: ../gtk/gtkiconfactory.c:1358
-#, c-format
-msgid "Error loading icon: %s"
-msgstr "Įvyko klaida įkeliant piktogramą: %s"
-
-#: ../gtk/gtkicontheme.c:1336
-#, c-format
-msgid ""
-"Could not find the icon '%s'. The '%s' theme\n"
-"was not found either, perhaps you need to install it.\n"
-"You can get a copy from:\n"
-"\t%s"
-msgstr ""
-"Nepavyko rasti piktogramos „%s“. Tema „%s“ taip pat\n"
-"nebuvo rasta, galbūt Jums reikia ją įdiegti.\n"
-"Jūs galite gauti kopiją:\n"
-"\t%s"
-
-#: ../gtk/gtkicontheme.c:1518
+#: ../gtk/gtkicontheme.c:1605
#, c-format
msgid "Icon '%s' not present in theme"
msgstr "Piktogramos „%s“ temoje nėra"
-#: ../gtk/gtkicontheme.c:3038
+#: ../gtk/gtkicontheme.c:3115
msgid "Failed to load icon"
msgstr "Nepavyko įkelti piktogramos"
-#: ../gtk/gtkimmodule.c:526
+#: ../gtk/gtkimmodule.c:525
msgid "Simple"
msgstr "Paprastasis"
msgstr "Sistema (%s)"
#. Open Link
-#: ../gtk/gtklabel.c:6243
+#: ../gtk/gtklabel.c:6309
msgid "_Open Link"
msgstr "_Atverti nuorodą"
#. Copy Link Address
-#: ../gtk/gtklabel.c:6255
+#: ../gtk/gtklabel.c:6321
msgid "Copy _Link Address"
msgstr "Kopijuoti _nuorodos adresą"
-#: ../gtk/gtklinkbutton.c:482
+#: ../gtk/gtklinkbutton.c:484
msgid "Copy URL"
msgstr "Kopijuoti URL"
-#: ../gtk/gtklinkbutton.c:645
+#: ../gtk/gtklinkbutton.c:647
msgid "Invalid URI"
msgstr "Netinkamas URI"
+#: ../gtk/gtklockbutton.c:288
+#| msgctxt "keyboard label"
+#| msgid "Num_Lock"
+msgid "Lock"
+msgstr "Užrakinti"
+
+#: ../gtk/gtklockbutton.c:297
+msgid "Unlock"
+msgstr "Atrakinti"
+
+#: ../gtk/gtklockbutton.c:306
+msgid ""
+"Dialog is unlocked.\n"
+"Click to prevent further changes"
+msgstr ""
+"Dialogas atrakintas.\n"
+"Spauskite tolesniems pakeitimams uždrausti"
+
+#: ../gtk/gtklockbutton.c:315
+msgid ""
+"Dialog is locked.\n"
+"Click to make changes"
+msgstr ""
+"Dialogas užrakintas.\n"
+"Spauskite pakeitimams atlikti"
+
+#: ../gtk/gtklockbutton.c:324
+msgid ""
+"System policy prevents changes.\n"
+"Contact your system administrator"
+msgstr ""
+"Sistemos politika neleidžia pakeitimų.\n"
+"Susisiekite su sistemos administratoriumi"
+
#. Description of --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:563
+#: ../gtk/gtkmain.c:562
msgid "Load additional GTK+ modules"
msgstr "Įkelti papildomus GTK+ modulius"
#. Placeholder in --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:564
+#: ../gtk/gtkmain.c:563
msgid "MODULES"
msgstr "MODULIAI"
#. Description of --g-fatal-warnings in --help output
-#: ../gtk/gtkmain.c:566
+#: ../gtk/gtkmain.c:565
msgid "Make all warnings fatal"
msgstr "Visi perspėjimai yra „mirtini“"
#. Description of --gtk-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:569
+#: ../gtk/gtkmain.c:568
msgid "GTK+ debugging flags to set"
msgstr "GTK+ derinimo parametrai, kuriuos naudoti"
#. Description of --gtk-no-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:572
+#: ../gtk/gtkmain.c:571
msgid "GTK+ debugging flags to unset"
msgstr "GTK+ derinimo parametrai, kuriu nenaudoti"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: ../gtk/gtkmain.c:846
+#: ../gtk/gtkmain.c:848
msgid "default:LTR"
msgstr "default:LTR"
-#: ../gtk/gtkmain.c:910
+#: ../gtk/gtkmain.c:914
#, c-format
msgid "Cannot open display: %s"
msgstr "Nepavyko atverti displėjaus: „%s“"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "GTK+ Options"
msgstr "GTK+ parinktys"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "Show GTK+ Options"
msgstr "Rodyti GTK+ parinktis"
-#: ../gtk/gtkmountoperation.c:491
+#: ../gtk/gtkmountoperation.c:489
msgid "Co_nnect"
msgstr "Prisi_jungti"
-#: ../gtk/gtkmountoperation.c:558
+#: ../gtk/gtkmountoperation.c:559
msgid "Connect _anonymously"
msgstr "Jungtis _anonimiškai"
-#: ../gtk/gtkmountoperation.c:567
+#: ../gtk/gtkmountoperation.c:568
msgid "Connect as u_ser:"
msgstr "_Vartotojo vardas:"
-#: ../gtk/gtkmountoperation.c:605
+#: ../gtk/gtkmountoperation.c:602
msgid "_Username:"
msgstr "_Vartotojo vardas:"
-#: ../gtk/gtkmountoperation.c:610
+#: ../gtk/gtkmountoperation.c:607
msgid "_Domain:"
msgstr "S_ritis:"
-#: ../gtk/gtkmountoperation.c:616
+#: ../gtk/gtkmountoperation.c:613
msgid "_Password:"
msgstr "_Slaptažodis:"
-#: ../gtk/gtkmountoperation.c:634
+#: ../gtk/gtkmountoperation.c:631
msgid "Forget password _immediately"
msgstr "_Neįsiminti slaptažodžio"
-#: ../gtk/gtkmountoperation.c:644
+#: ../gtk/gtkmountoperation.c:641
msgid "Remember password until you _logout"
msgstr "Įsiminti slaptažodį iki _atsijungsite"
-#: ../gtk/gtkmountoperation.c:654
+#: ../gtk/gtkmountoperation.c:651
msgid "Remember _forever"
msgstr "Įsiminti _visam laikui"
-#: ../gtk/gtkmountoperation.c:883
+#: ../gtk/gtkmountoperation.c:880
#, c-format
msgid "Unknown Application (PID %d)"
msgstr "Nežinoma programa (PID %d)"
-#: ../gtk/gtkmountoperation.c:1066
+#: ../gtk/gtkmountoperation.c:1063
msgid "Unable to end process"
msgstr "Nepavyko užbaigti proceso"
-#: ../gtk/gtkmountoperation.c:1103
+#: ../gtk/gtkmountoperation.c:1100
msgid "_End Process"
msgstr "_Užbaigti procesą"
msgstr "Nepavyko užbaigti (kill) proceso su PID %d. Operacija nerealizuota."
#. translators: this string is a name for the 'less' command
-#: ../gtk/gtkmountoperation-x11.c:859
+#: ../gtk/gtkmountoperation-x11.c:959
msgid "Terminal Pager"
msgstr "Terminalo puslapiavimo programa"
-#: ../gtk/gtkmountoperation-x11.c:860
+#: ../gtk/gtkmountoperation-x11.c:960
msgid "Top Command"
msgstr "Viršutinė komanda"
-#: ../gtk/gtkmountoperation-x11.c:861
+#: ../gtk/gtkmountoperation-x11.c:961
msgid "Bourne Again Shell"
msgstr "Bourne Again aplinka"
-#: ../gtk/gtkmountoperation-x11.c:862
+#: ../gtk/gtkmountoperation-x11.c:962
msgid "Bourne Shell"
msgstr "Bourne aplinka"
-#: ../gtk/gtkmountoperation-x11.c:863
+#: ../gtk/gtkmountoperation-x11.c:963
msgid "Z Shell"
msgstr "Z aplinka"
-#: ../gtk/gtkmountoperation-x11.c:960
+#: ../gtk/gtkmountoperation-x11.c:1060
#, c-format
msgid "Cannot end process with PID %d: %s"
msgstr "Nepavyko užbaigti proceso su PID %d: %s"
-#: ../gtk/gtknotebook.c:4822 ../gtk/gtknotebook.c:7471
+#: ../gtk/gtknotebook.c:4922
+#: ../gtk/gtknotebook.c:7611
#, c-format
msgid "Page %u"
msgstr "%u puslapis"
#. 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:648 ../gtk/gtkpapersize.c:849
+#: ../gtk/gtkpagesetup.c:648
+#: ../gtk/gtkpapersize.c:849
#: ../gtk/gtkpapersize.c:889
msgid "Not a valid page setup file"
msgstr "Netinkamas puslapio sąrankos failas"
-#: ../gtk/gtkpagesetupunixdialog.c:177
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "Any Printer"
msgstr "Bet kuris spausdintuvas"
-#: ../gtk/gtkpagesetupunixdialog.c:177
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "For portable documents"
msgstr "Perkeliamiems dokumentams"
-#: ../gtk/gtkpagesetupunixdialog.c:807
+#: ../gtk/gtkpagesetupunixdialog.c:802
#, c-format
msgid ""
"Margins:\n"
" Viršus: %s %s\n"
" Apačia: %s %s"
-#: ../gtk/gtkpagesetupunixdialog.c:856 ../gtk/gtkprintunixdialog.c:3306
+#: ../gtk/gtkpagesetupunixdialog.c:851
+#: ../gtk/gtkprintunixdialog.c:3376
msgid "Manage Custom Sizes..."
msgstr "Tvarkyti pasirinktinius dydžius…"
-#: ../gtk/gtkpagesetupunixdialog.c:907
+#: ../gtk/gtkpagesetupunixdialog.c:902
msgid "_Format for:"
msgstr "_Formatas kam:"
-#: ../gtk/gtkpagesetupunixdialog.c:929 ../gtk/gtkprintunixdialog.c:3478
+#: ../gtk/gtkpagesetupunixdialog.c:925
+#: ../gtk/gtkprintunixdialog.c:3556
msgid "_Paper size:"
msgstr "_Popieriaus dydis:"
-#: ../gtk/gtkpagesetupunixdialog.c:960
+#: ../gtk/gtkpagesetupunixdialog.c:958
msgid "_Orientation:"
msgstr "_Orientacija:"
-#: ../gtk/gtkpagesetupunixdialog.c:1024 ../gtk/gtkprintunixdialog.c:3540
+#: ../gtk/gtkpagesetupunixdialog.c:1023
+#: ../gtk/gtkprintunixdialog.c:3620
msgid "Page Setup"
msgstr "Puslapio sąranka"
-#: ../gtk/gtkpathbar.c:157
+#: ../gtk/gtkpathbar.c:156
msgid "Up Path"
msgstr "Aukštyn keliu"
-#: ../gtk/gtkpathbar.c:159
+#: ../gtk/gtkpathbar.c:158
msgid "Down Path"
msgstr "Žemyn keliu"
-#: ../gtk/gtkpathbar.c:1518
+#: ../gtk/gtkpathbar.c:1516
msgid "File System Root"
msgstr "Failų sistemos šakninis aplankas"
msgid "Authentication"
msgstr "Tapatybės patvirtinimas"
-#: ../gtk/gtkprinteroptionwidget.c:686
+#: ../gtk/gtkprinteroptionwidget.c:692
msgid "Not available"
msgstr "Neprieinama"
-#: ../gtk/gtkprinteroptionwidget.c:786
+#: ../gtk/gtkprinteroptionwidget.c:792
msgid "Select a folder"
msgstr "Pasirinkite aplanką"
-#: ../gtk/gtkprinteroptionwidget.c:805
+#: ../gtk/gtkprinteroptionwidget.c:812
msgid "_Save in folder:"
msgstr "Iš_saugoti aplanke:"
msgid "Preparing %d"
msgstr "Ruošiamasi %d"
-#: ../gtk/gtkprintoperation.c:2345 ../gtk/gtkprintoperation.c:2975
+#: ../gtk/gtkprintoperation.c:2345
+#: ../gtk/gtkprintoperation.c:2975
msgid "Preparing"
msgstr "Ruošiamasi"
msgid "Error launching preview"
msgstr "Klaida paleidžiant peržiūrą"
-#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447
+#: ../gtk/gtkprintoperation-unix.c:477
+#: ../gtk/gtkprintoperation-win32.c:1447
msgid "Application"
msgstr "Programa"
#. Translators: this is a printer status.
#: ../gtk/gtkprintoperation-win32.c:615
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2022
msgid "Paused"
msgstr "Pauzė"
msgid "Invalid argument to CreateDC"
msgstr "Netinkamas CreateDC argumentas"
-#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829
+#: ../gtk/gtkprintoperation-win32.c:1602
+#: ../gtk/gtkprintoperation-win32.c:1829
msgid "Error from StartDoc"
msgstr "Klaida iš StartDoc"
-#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707
+#: ../gtk/gtkprintoperation-win32.c:1684
+#: ../gtk/gtkprintoperation-win32.c:1707
#: ../gtk/gtkprintoperation-win32.c:1755
msgid "Not enough free memory"
msgstr "Nepakanka laisvos atminties"
msgid "Unspecified error"
msgstr "Nenurodyta klaida"
-#: ../gtk/gtkprintunixdialog.c:618
+#: ../gtk/gtkprintunixdialog.c:688
msgid "Getting printer information failed"
msgstr "Nepavyko perskaityti spausdintuvo informacijos"
-#: ../gtk/gtkprintunixdialog.c:1873
+#: ../gtk/gtkprintunixdialog.c:1942
msgid "Getting printer information..."
msgstr "Skaitoma spausdintuvo informacija…"
-#: ../gtk/gtkprintunixdialog.c:2147
+#: ../gtk/gtkprintunixdialog.c:2216
msgid "Printer"
msgstr "Spausdintuvas"
#. Translators: this is the header for the location column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2157
+#: ../gtk/gtkprintunixdialog.c:2226
msgid "Location"
msgstr "Vieta"
#. Translators: this is the header for the printer status column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2168
+#: ../gtk/gtkprintunixdialog.c:2237
msgid "Status"
msgstr "Būsena"
-#: ../gtk/gtkprintunixdialog.c:2194
+#: ../gtk/gtkprintunixdialog.c:2263
msgid "Range"
msgstr "Intervalas"
-#: ../gtk/gtkprintunixdialog.c:2198
+#: ../gtk/gtkprintunixdialog.c:2267
msgid "_All Pages"
msgstr "_Visus puslapius"
-#: ../gtk/gtkprintunixdialog.c:2205
+#: ../gtk/gtkprintunixdialog.c:2274
msgid "C_urrent Page"
msgstr "Šį _puslapį"
-#: ../gtk/gtkprintunixdialog.c:2215
+#: ../gtk/gtkprintunixdialog.c:2284
msgid "Se_lection"
msgstr "Pa_sirinkimas"
-#: ../gtk/gtkprintunixdialog.c:2224
+#: ../gtk/gtkprintunixdialog.c:2293
msgid "Pag_es:"
msgstr "_Puslapiai:"
-#: ../gtk/gtkprintunixdialog.c:2225
+#: ../gtk/gtkprintunixdialog.c:2294
msgid ""
"Specify one or more page ranges,\n"
" e.g. 1-3,7,11"
"Nurodykite vieną ar kelis puslapių intervalus,\n"
" pvz., 1-3,7,11"
-#: ../gtk/gtkprintunixdialog.c:2235
+#: ../gtk/gtkprintunixdialog.c:2304
msgid "Pages"
msgstr "Puslapiai:"
-#: ../gtk/gtkprintunixdialog.c:2248
+#: ../gtk/gtkprintunixdialog.c:2317
msgid "Copies"
msgstr "Kopijos"
#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns
-#: ../gtk/gtkprintunixdialog.c:2253
+#: ../gtk/gtkprintunixdialog.c:2322
msgid "Copie_s:"
msgstr "Kopijo_s:"
-#: ../gtk/gtkprintunixdialog.c:2271
+#: ../gtk/gtkprintunixdialog.c:2341
msgid "C_ollate"
msgstr "Su_dėstyti"
-#: ../gtk/gtkprintunixdialog.c:2279
+#: ../gtk/gtkprintunixdialog.c:2349
msgid "_Reverse"
msgstr "_Atvirkščiai"
-#: ../gtk/gtkprintunixdialog.c:2299
+#: ../gtk/gtkprintunixdialog.c:2369
msgid "General"
msgstr "Bendra"
#. Translators: These strings name the possible arrangements of
#. * multiple pages on a sheet when printing
#.
-#: ../gtk/gtkprintunixdialog.c:3039
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, top to bottom"
msgstr "Iš kairės dešinėn, iš viršaus žemyn"
-#: ../gtk/gtkprintunixdialog.c:3039
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, bottom to top"
msgstr "Iš kairės dešinėn, iš apačios į viršų"
-#: ../gtk/gtkprintunixdialog.c:3040
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, top to bottom"
msgstr "Iš dešinės kairėn, iš viršaus žemyn"
-#: ../gtk/gtkprintunixdialog.c:3040
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, bottom to top"
msgstr "Iš dešinės kairėn, iš apačios į viršų"
-#: ../gtk/gtkprintunixdialog.c:3041
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, left to right"
msgstr "Iš viršaus žemyn, iš kairės dešinėn"
-#: ../gtk/gtkprintunixdialog.c:3041
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, right to left"
msgstr "Iš viršaus žemyn, iš dešinės kairėn"
-#: ../gtk/gtkprintunixdialog.c:3042
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, left to right"
msgstr "Iš apačios į viršų, iš kairės dešinėn"
-#: ../gtk/gtkprintunixdialog.c:3042
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, right to left"
msgstr "Iš apačios į viršų, iš dešinės kairėn"
#. Translators, this string is used to label the option in the print
#. * dialog that controls in what order multiple pages are arranged
#.
-#: ../gtk/gtkprintunixdialog.c:3046 ../gtk/gtkprintunixdialog.c:3059
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3570
+#: ../gtk/gtkprintunixdialog.c:3116
+#: ../gtk/gtkprintunixdialog.c:3129
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3609
msgid "Page Ordering"
msgstr "Puslapių tvarka"
-#: ../gtk/gtkprintunixdialog.c:3075
+#: ../gtk/gtkprintunixdialog.c:3145
msgid "Left to right"
msgstr "Iš kairės į dešinę"
-#: ../gtk/gtkprintunixdialog.c:3076
+#: ../gtk/gtkprintunixdialog.c:3146
msgid "Right to left"
msgstr "Iš dešinės į kairę"
-#: ../gtk/gtkprintunixdialog.c:3088
+#: ../gtk/gtkprintunixdialog.c:3158
msgid "Top to bottom"
msgstr "Iš viršaus žemyn"
-#: ../gtk/gtkprintunixdialog.c:3089
+#: ../gtk/gtkprintunixdialog.c:3159
msgid "Bottom to top"
msgstr "Iš apačios į viršų"
-#: ../gtk/gtkprintunixdialog.c:3329
+#: ../gtk/gtkprintunixdialog.c:3399
msgid "Layout"
msgstr "Išdėstymas"
-#: ../gtk/gtkprintunixdialog.c:3333
+#: ../gtk/gtkprintunixdialog.c:3403
msgid "T_wo-sided:"
msgstr "D_vipusis:"
-#: ../gtk/gtkprintunixdialog.c:3348
+#: ../gtk/gtkprintunixdialog.c:3419
msgid "Pages per _side:"
msgstr "Puslapių vienoje pu_sėje:"
-#: ../gtk/gtkprintunixdialog.c:3365
+#: ../gtk/gtkprintunixdialog.c:3437
msgid "Page or_dering:"
msgstr "Puslapių _tvarka:"
-#: ../gtk/gtkprintunixdialog.c:3381
+#: ../gtk/gtkprintunixdialog.c:3454
msgid "_Only print:"
msgstr "Spa_usdinti tik:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3396
+#: ../gtk/gtkprintunixdialog.c:3470
msgid "All sheets"
msgstr "Visus puslapius"
-#: ../gtk/gtkprintunixdialog.c:3397
+#: ../gtk/gtkprintunixdialog.c:3471
msgid "Even sheets"
msgstr "Lyginius puslapius"
-#: ../gtk/gtkprintunixdialog.c:3398
+#: ../gtk/gtkprintunixdialog.c:3472
msgid "Odd sheets"
msgstr "Nelyginius puslapius"
-#: ../gtk/gtkprintunixdialog.c:3401
+#: ../gtk/gtkprintunixdialog.c:3475
msgid "Sc_ale:"
msgstr "_Mastelis:"
-#: ../gtk/gtkprintunixdialog.c:3428
+#: ../gtk/gtkprintunixdialog.c:3503
msgid "Paper"
msgstr "Popierius"
-#: ../gtk/gtkprintunixdialog.c:3432
+#: ../gtk/gtkprintunixdialog.c:3507
msgid "Paper _type:"
msgstr "Popieriaus _tipas:"
-#: ../gtk/gtkprintunixdialog.c:3447
+#: ../gtk/gtkprintunixdialog.c:3523
msgid "Paper _source:"
msgstr "Popieriau_s šaltinis:"
-#: ../gtk/gtkprintunixdialog.c:3462
+#: ../gtk/gtkprintunixdialog.c:3539
msgid "Output t_ray:"
msgstr "Išvėsties _dėklas:"
-#: ../gtk/gtkprintunixdialog.c:3502
+#: ../gtk/gtkprintunixdialog.c:3581
msgid "Or_ientation:"
msgstr "Or_ientacija:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3517
+#: ../gtk/gtkprintunixdialog.c:3597
msgid "Portrait"
msgstr "Stačiai"
-#: ../gtk/gtkprintunixdialog.c:3518
+#: ../gtk/gtkprintunixdialog.c:3598
msgid "Landscape"
msgstr "Gulsčiai"
-#: ../gtk/gtkprintunixdialog.c:3519
+#: ../gtk/gtkprintunixdialog.c:3599
msgid "Reverse portrait"
msgstr "Apverstai stačiai"
-#: ../gtk/gtkprintunixdialog.c:3520
+#: ../gtk/gtkprintunixdialog.c:3600
msgid "Reverse landscape"
msgstr "Apverstai gulsčiai"
-#: ../gtk/gtkprintunixdialog.c:3565
+#: ../gtk/gtkprintunixdialog.c:3645
msgid "Job Details"
msgstr "Užduoties informacija"
-#: ../gtk/gtkprintunixdialog.c:3571
+#: ../gtk/gtkprintunixdialog.c:3651
msgid "Pri_ority:"
msgstr "Pri_oritetas:"
-#: ../gtk/gtkprintunixdialog.c:3586
+#: ../gtk/gtkprintunixdialog.c:3667
msgid "_Billing info:"
msgstr "_Našumo informacija:"
-#: ../gtk/gtkprintunixdialog.c:3604
+#: ../gtk/gtkprintunixdialog.c:3686
msgid "Print Document"
msgstr "Spausdinti dokumentą"
#. Translators: this is one of the choices for the print at option
#. * in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3613
+#: ../gtk/gtkprintunixdialog.c:3695
msgid "_Now"
msgstr "_Dabar"
-#: ../gtk/gtkprintunixdialog.c:3624
+#: ../gtk/gtkprintunixdialog.c:3706
msgid "A_t:"
msgstr "_Laiku:"
#. * You can remove the am/pm values below for your locale if they are not
#. * supported.
#.
-#: ../gtk/gtkprintunixdialog.c:3630
+#: ../gtk/gtkprintunixdialog.c:3712
msgid ""
"Specify the time of print,\n"
" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
"Nurodykite spausdinimo laiką,\n"
" pvz., 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
-#: ../gtk/gtkprintunixdialog.c:3640
+#: ../gtk/gtkprintunixdialog.c:3722
msgid "Time of print"
msgstr "Spausdinimo laikas"
-#: ../gtk/gtkprintunixdialog.c:3656
+#: ../gtk/gtkprintunixdialog.c:3738
msgid "On _hold"
msgstr "Susta_bdyta"
-#: ../gtk/gtkprintunixdialog.c:3657
+#: ../gtk/gtkprintunixdialog.c:3739
msgid "Hold the job until it is explicitly released"
msgstr "Sulaikyti užduotį tol, kol ji bus betarpiškai išleista"
-#: ../gtk/gtkprintunixdialog.c:3677
+#: ../gtk/gtkprintunixdialog.c:3759
msgid "Add Cover Page"
msgstr "Pridėti titulinį puslapį"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3686
+#: ../gtk/gtkprintunixdialog.c:3768
msgid "Be_fore:"
msgstr "P_rieš:"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3704
+#: ../gtk/gtkprintunixdialog.c:3787
msgid "_After:"
msgstr "_Po:"
#. Translators: this is the tab label for the notebook tab containing
#. * job-specific options in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3722
+#: ../gtk/gtkprintunixdialog.c:3806
msgid "Job"
msgstr "Užduotis"
-#: ../gtk/gtkprintunixdialog.c:3788
+#: ../gtk/gtkprintunixdialog.c:3872
msgid "Advanced"
msgstr "Išsamiau"
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3826
+#: ../gtk/gtkprintunixdialog.c:3910
msgid "Image Quality"
msgstr "Paveikslėlių kokybė"
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3830
+#: ../gtk/gtkprintunixdialog.c:3914
msgid "Color"
msgstr "Spalva"
#. Translators: this will appear as tab label in print dialog.
#. It's a typographical term, as in "Binding and finishing"
-#: ../gtk/gtkprintunixdialog.c:3835
+#: ../gtk/gtkprintunixdialog.c:3919
msgid "Finishing"
msgstr "Baigiama"
-#: ../gtk/gtkprintunixdialog.c:3845
+#: ../gtk/gtkprintunixdialog.c:3929
msgid "Some of the settings in the dialog conflict"
msgstr "Kai kurie nustatymai lange konfliktuoja"
-#: ../gtk/gtkprintunixdialog.c:3868
+#: ../gtk/gtkprintunixdialog.c:3952
msgid "Print"
msgstr "Spausdinti"
-#: ../gtk/gtkrc.c:948
-#, c-format
-msgid "Unable to locate image file in pixmap_path: \"%s\""
-msgstr "Nepavyko rasti paveikslėlio failo pixmap_path: „%s“"
-
-#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173
-#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616
-#, c-format
-msgid "This function is not implemented for widgets of class '%s'"
-msgstr "Ši funkcija nerealizuota „%s“ klasės valdymo elementams"
-
-#: ../gtk/gtkrecentchooserdefault.c:483
+#: ../gtk/gtkrecentchooserdefault.c:485
msgid "Select which type of documents are shown"
msgstr "Pasirinkite kokių tipų dokumentai rodomi"
-#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174
+#: ../gtk/gtkrecentchooserdefault.c:1142
+#: ../gtk/gtkrecentchooserdefault.c:1179
#, c-format
msgid "No item for URI '%s' found"
msgstr "Elementų URI „%s“ nerasta"
-#: ../gtk/gtkrecentchooserdefault.c:1301
+#: ../gtk/gtkrecentchooserdefault.c:1306
msgid "Untitled filter"
msgstr "Nepavadintas filtras"
-#: ../gtk/gtkrecentchooserdefault.c:1654
+#: ../gtk/gtkrecentchooserdefault.c:1659
msgid "Could not remove item"
msgstr "Nepavyko pašalinti elemento"
-#: ../gtk/gtkrecentchooserdefault.c:1698
+#: ../gtk/gtkrecentchooserdefault.c:1703
msgid "Could not clear list"
msgstr "Nepavyko išvalyti sąrašo"
-#: ../gtk/gtkrecentchooserdefault.c:1782
+#: ../gtk/gtkrecentchooserdefault.c:1787
msgid "Copy _Location"
msgstr "Kopijuoti _vietą"
-#: ../gtk/gtkrecentchooserdefault.c:1795
+#: ../gtk/gtkrecentchooserdefault.c:1800
msgid "_Remove From List"
msgstr "_Pašalinti iš sąrašo"
-#: ../gtk/gtkrecentchooserdefault.c:1804
+#: ../gtk/gtkrecentchooserdefault.c:1809
msgid "_Clear List"
msgstr "Iš_valyti sąrašą"
-#: ../gtk/gtkrecentchooserdefault.c:1818
+#: ../gtk/gtkrecentchooserdefault.c:1823
msgid "Show _Private Resources"
msgstr "Rodyti _asmeninius resursus"
msgid "No items found"
msgstr "Elementų nerasta"
-#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584
+#: ../gtk/gtkrecentchoosermenu.c:528
+#: ../gtk/gtkrecentchoosermenu.c:584
#, c-format
msgid "No recently used resource found with URI `%s'"
msgstr "Nerasta neseniai naudoto resurso su URI „%s“"
msgid "%d. %s"
msgstr "%d. %s"
-#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013
-#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160
-#: ../gtk/gtkrecentmanager.c:1212 ../gtk/gtkrecentmanager.c:1221
-#: ../gtk/gtkrecentmanager.c:1236
+#: ../gtk/gtkrecentmanager.c:1006
+#: ../gtk/gtkrecentmanager.c:1019
+#: ../gtk/gtkrecentmanager.c:1156
+#: ../gtk/gtkrecentmanager.c:1166
+#: ../gtk/gtkrecentmanager.c:1218
+#: ../gtk/gtkrecentmanager.c:1227
+#: ../gtk/gtkrecentmanager.c:1242
#, c-format
msgid "Unable to find an item with URI '%s'"
msgstr "Nepavyko rasti elemento su URI „%s“"
-#: ../gtk/gtkrecentmanager.c:2436
+#: ../gtk/gtkrecentmanager.c:2442
#, c-format
msgid "No registered application with name '%s' for item with URI '%s' found"
msgstr "Nerasta registruota programa pavadinimu „%s“ elementui su URI „%s“"
-#: ../gtk/gtkspinner.c:287
-msgctxt "throbbing progress animation widget"
-msgid "Spinner"
-msgstr "Suktukas"
-
-#: ../gtk/gtkspinner.c:288
-msgid "Provides visual indication of progress"
-msgstr "Vizualiai parodo vykdomo veiksmo progresą"
-
#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
#: ../gtk/gtkstock.c:313
msgctxt "Stock label"
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
#. * the state
#.
-#: ../gtk/gtkswitch.c:337 ../gtk/gtkswitch.c:397 ../gtk/gtkswitch.c:601
+#: ../gtk/gtkswitch.c:336
+#: ../gtk/gtkswitch.c:396
+#: ../gtk/gtkswitch.c:603
msgctxt "switch"
msgid "ON"
msgstr "Įjungta"
#. Translators: if the "off" state label requires more than three
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
#.
-#: ../gtk/gtkswitch.c:345 ../gtk/gtkswitch.c:398 ../gtk/gtkswitch.c:615
+#: ../gtk/gtkswitch.c:344
+#: ../gtk/gtkswitch.c:397
+#: ../gtk/gtkswitch.c:632
msgctxt "switch"
msgid "OFF"
msgstr "Išjungta"
-#: ../gtk/gtkswitch.c:1038
-msgctxt "light switch widget"
-msgid "Switch"
-msgstr "Jungiklis"
-
-#: ../gtk/gtkswitch.c:1039
-msgid "Switches between on and off states"
-msgstr "Perjungia tarp įjungimo ir išjungimo būsenų"
-
#: ../gtk/gtktextbufferrichtext.c:651
#, c-format
msgid "Unknown error when trying to deserialize %s"
msgid "No deserialize function found for format %s"
msgstr "Formatui %s nuoseklinimo funkcija nerasta"
-#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826
+#: ../gtk/gtktextbufferserialize.c:800
+#: ../gtk/gtktextbufferserialize.c:826
#, c-format
msgid "Both \"id\" and \"name\" were found on the <%s> element"
msgstr "Elemente <%s> buvo rasta ir „id“ ir „name“"
-#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836
+#: ../gtk/gtktextbufferserialize.c:810
+#: ../gtk/gtktextbufferserialize.c:836
#, c-format
msgid "The attribute \"%s\" was found twice on the <%s> element"
msgstr "Požymis „%s“ elemente <%s> buvo rastas du kartus"
msgid "Attribute \"%s\" repeated twice on the same <%s> element"
msgstr "Požymis „%s“ pakartotas du kartus tame pačiame elemente <%s>"
-#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992
+#: ../gtk/gtktextbufferserialize.c:967
+#: ../gtk/gtktextbufferserialize.c:992
#, c-format
msgid "Attribute \"%s\" is invalid on <%s> element in this context"
msgstr "Požymis „%s“ šiame kontekste netinkamas elementui <%s>"
msgid "Tag \"%s\" does not exist in buffer and tags can not be created."
msgstr "Žymos „%s“ buferyje nėra ir žymos negali būti sukurtos."
-#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228
-#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407
+#: ../gtk/gtktextbufferserialize.c:1153
+#: ../gtk/gtktextbufferserialize.c:1228
+#: ../gtk/gtktextbufferserialize.c:1333
+#: ../gtk/gtktextbufferserialize.c:1407
#, c-format
msgid "Element <%s> is not allowed below <%s>"
msgstr "Elementas <%s> neleistinas žemiau <%s>"
#: ../gtk/gtktextbufferserialize.c:1202
#, c-format
-msgid ""
-"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
+msgid "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
msgstr "„%s“ nepavyko konvertuoti į „%s“ tipo reikšmę požymiui „%s“"
#: ../gtk/gtktextbufferserialize.c:1211
msgid "Outermost element in text must be <text_view_markup> not <%s>"
msgstr "Išorinis elementas tekste turi būti <text_view_markup>, o ne <%s>"
-#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387
+#: ../gtk/gtktextbufferserialize.c:1371
+#: ../gtk/gtktextbufferserialize.c:1387
#, c-format
msgid "A <%s> element has already been specified"
msgstr "Elementas <%s> jau buvo nurodytas"
msgstr "Nuoseklinti duomenys yra netinkamai suformuoti"
#: ../gtk/gtktextbufferserialize.c:1871
-msgid ""
-"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"
-msgstr ""
-"Nuoseklinti duomenys yra netinkamai suformuoti. Pirmas skyrius nėra "
-"GTKTEXTBUFFERCONTENTS-0001"
+msgid "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"
+msgstr "Nuoseklinti duomenys yra netinkamai suformuoti. Pirmas skyrius nėra GTKTEXTBUFFERCONTENTS-0001"
#: ../gtk/gtktextutil.c:60
msgid "LRM _Left-to-right mark"
msgid "ZWNJ Zero width _non-joiner"
msgstr "ZWNJ Nulinio pločio _ne-jungtis"
-#: ../gtk/gtkuimanager.c:1506
+#: ../gtk/gtkuimanager.c:1760
#, c-format
msgid "Unexpected start tag '%s' on line %d char %d"
msgstr "Netinkama pradžios žymė „%s“ eilutės %d stulpelyje %d"
-#: ../gtk/gtkuimanager.c:1596
+#: ../gtk/gtkuimanager.c:1850
#, c-format
msgid "Unexpected character data on line %d char %d"
msgstr "Neleistini simboliniai duomenys eilutės %d stulpelyje %d"
-#: ../gtk/gtkuimanager.c:2428
+#: ../gtk/gtkuimanager.c:2682
msgid "Empty"
msgstr "Tuščias"
msgid "Adjusts the volume"
msgstr "Keičia garsumą"
-#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184
+#: ../gtk/gtkvolumebutton.c:181
+#: ../gtk/gtkvolumebutton.c:184
msgid "Volume Down"
msgstr "Patylinti"
msgid "Decreases the volume"
msgstr "Patylina"
-#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190
+#: ../gtk/gtkvolumebutton.c:187
+#: ../gtk/gtkvolumebutton.c:190
msgid "Volume Up"
msgstr "Pagarsinti"
msgid "10x14"
msgstr "10x14"
-#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96
+#: ../gtk/paper_names_offsets.c:95
+#: ../gtk/paper_names_offsets.c:96
msgctxt "paper size"
msgid "10x15"
msgstr "10x15"
msgid "ROC 8k"
msgstr "ROC 8k"
-#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552
-#, c-format
-msgid "different idatas found for symlinked '%s' and '%s'\n"
-msgstr "simboliškai susietiem „%s“ ir „%s“ rasti skirtingi i-duomenys\n"
-
#: ../gtk/updateiconcache.c:1370
#, c-format
msgid "Failed to write header\n"
msgid "Failed to open file %s : %s\n"
msgstr "Nepavyko atverti failo „%s“: %s\n"
-#: ../gtk/updateiconcache.c:1492 ../gtk/updateiconcache.c:1522
+#: ../gtk/updateiconcache.c:1492
+#: ../gtk/updateiconcache.c:1522
#, c-format
msgid "Failed to write cache file: %s\n"
msgstr "Nepavyko įrašyti podėlio failo: %s\n"
"If you really want to create an icon cache here, use --ignore-theme-index.\n"
msgstr ""
"„%s“ nėra temos indekso failo.\n"
-"Jei tikrai čia norite sukurti piktogramos podėlį, naudokite --ignore-theme-"
-"index.\n"
+"Jei tikrai čia norite sukurti piktogramos podėlį, naudokite --ignore-theme-index.\n"
#. ID
#: ../modules/input/imam-et.c:454
msgid "X Input Method"
msgstr "X įvesties metodas"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:814
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:828
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1038
msgid "Username:"
msgstr "Vartotojo vardas:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:815
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:829
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1047
msgid "Password:"
msgstr "Slaptažodis:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:854
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1060
#, c-format
msgid "Authentication is required to print document '%s' on printer %s"
-msgstr ""
-"Norint dokumentą „%s“ spausdinti spausdintuvu %s, reikia patvirtinti tapatybę"
+msgstr "Norint dokumentą „%s“ spausdinti spausdintuvu %s, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:856
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:870
#, c-format
msgid "Authentication is required to print a document on %s"
-msgstr ""
-"Norint dokumentą spausdinti spausdintuvu %s, reikia patvirtinti tapatybę"
+msgstr "Norint dokumentą spausdinti spausdintuvu %s, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:860
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
#, c-format
msgid "Authentication is required to get attributes of job '%s'"
msgstr "Norint gauti užduoties %s požymius, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:862
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:876
msgid "Authentication is required to get attributes of a job"
msgstr "Norint gauti užduoties požymius, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:866
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:880
#, c-format
msgid "Authentication is required to get attributes of printer %s"
msgstr "Norint gauti spausdintuvo %s požymius, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:882
msgid "Authentication is required to get attributes of a printer"
msgstr "Norint gauti spausdintuvo požymius, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:871
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:885
#, c-format
msgid "Authentication is required to get default printer of %s"
msgstr "Norint gauti numatytąjį %s spausdintuvą, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:888
#, c-format
msgid "Authentication is required to get printers from %s"
msgstr "Norint gauti spausdintuvus iš %s, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:879
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:893
#, c-format
msgid "Authentication is required to get a file from %s"
msgstr "Norint gauti failą iš %s, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:881
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:895
#, c-format
msgid "Authentication is required on %s"
msgstr "%s reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1032
msgid "Domain:"
msgstr "Sritis:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1062
#, c-format
msgid "Authentication is required to print document '%s'"
msgstr "Norint išspausdinti dokumentą „%s“, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1067
#, c-format
msgid "Authentication is required to print this document on printer %s"
-msgstr ""
-"Norint išspausdinti dokumentą spausdintuvu %s, reikia patvirtinti tapatybę"
+msgstr "Norint išspausdinti dokumentą spausdintuvu %s, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1069
msgid "Authentication is required to print this document"
msgstr "Norint išspausdinti šį dokumentą, reikia patvirtinti tapatybę"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
#, c-format
msgid "Printer '%s' is low on toner."
msgstr "Spausdintuve „%s“ netrukus baigsis toneris."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
#, c-format
msgid "Printer '%s' has no toner left."
msgstr "Spausdintuve „%s“ baigėsi toneris."
#. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1693
#, c-format
msgid "Printer '%s' is low on developer."
msgstr "Spausdintuve „%s“ netrukus baigsis ryškalai."
#. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1695
#, c-format
msgid "Printer '%s' is out of developer."
msgstr "Spausdintuve „%s“ baigėsi ryškalai."
#. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1697
#, c-format
msgid "Printer '%s' is low on at least one marker supply."
msgstr "Spausdintuve „%s“ netrukus baigsis bent vieni dažai."
#. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1699
#, c-format
msgid "Printer '%s' is out of at least one marker supply."
msgstr "Spausdintuve „%s“ baigėsi bent vieni dažai."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1700
#, c-format
msgid "The cover is open on printer '%s'."
msgstr "Spausdintuvo „%s“ dangtis atvertas."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1701
#, c-format
msgid "The door is open on printer '%s'."
msgstr "Spausdintuvo „%s“ durelės atvertos."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1702
#, c-format
msgid "Printer '%s' is low on paper."
msgstr "Spausdintuve „%s“ netrukus baigsis popierius."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1703
#, c-format
msgid "Printer '%s' is out of paper."
msgstr "Spausdintuve „%s“ baigėsi popierius."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1704
#, c-format
msgid "Printer '%s' is currently offline."
msgstr "Spausdintuvas „%s“ šiuo metu nepasiekiamas."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1705
#, c-format
msgid "There is a problem on printer '%s'."
msgstr "Su spausdintuvu „%s“ iškilo nesklandumų."
#. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2019
msgid "Paused ; Rejecting Jobs"
msgstr "Pristabdytas, atmeta darbus"
#. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2025
msgid "Rejecting Jobs"
msgstr "Atmeta darbus"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
msgid "Two Sided"
msgstr "Dvipusis"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799
msgid "Paper Type"
msgstr "Popieriaus tipas"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
msgid "Paper Source"
msgstr "Popieriaus šaltinis"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801
msgid "Output Tray"
msgstr "Išvesties dėklas"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
msgid "Resolution"
msgstr "Skiriamoji geba"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803
msgid "GhostScript pre-filtering"
msgstr "GhostScript pirminis filtravimas"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2792
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
msgid "One Sided"
msgstr "Vienpusis"
#. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2794
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
msgid "Long Edge (Standard)"
msgstr "Ilgasis kraštas (standartinis)"
#. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2796
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
msgid "Short Edge (Flip)"
msgstr "Trumpasis kraštas (apverstas)"
#. Translators: this is an option of "Paper Source"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2808
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2820
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2828
msgid "Auto Select"
msgstr "Automatinis pasirinkimas"
#. Translators: this is an option of "Paper Source"
#. Translators: this is an option of "Resolution"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2804
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2806
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2810
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3306
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2822
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2824
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3326
msgid "Printer Default"
msgstr "Spausdintuvo numatytieji"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2832
msgid "Embed GhostScript fonts only"
msgstr "Įterpti tik GhostScript šriftus"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2834
msgid "Convert to PS level 1"
msgstr "Konvertuoti į PS 1-ą lygmenį"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2836
msgid "Convert to PS level 2"
msgstr "Konvertuoti į PS 2-ą lygmenį"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2838
msgid "No pre-filtering"
msgstr "Nėra pradinio filtravimo"
#. 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:2827
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2847
msgid "Miscellaneous"
msgstr "Įvairūs"
#. Translators: These strings name the possible values of the
#. * job priority option in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Urgent"
msgstr "Itin skubu"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "High"
msgstr "Skubu"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Medium"
msgstr "Vidutiniškai"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Low"
msgstr "Neskubu"
#. Translators, this string is used to label the pages-per-sheet option
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3554
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3593
msgid "Pages per Sheet"
msgstr "Puslapių lakšte"
#. Translators, this string is used to label the job priority option
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3591
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3630
msgid "Job Priority"
msgstr "Prioritetas"
#. Translators, this string is used to label the billing info entry
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3602
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3641
msgid "Billing Info"
msgstr "Našumo informacija"
#. Translators, these strings are names for various 'standard' cover
#. * pages that the printing system may support.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "None"
msgstr "Nėra"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Classified"
msgstr "Klasifikuota"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Confidential"
msgstr "Konfidencialu"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Secret"
msgstr "Slapta"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Standard"
msgstr "Standartiška"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Top Secret"
msgstr "Labai slapta"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Unclassified"
msgstr "Neklasifikuota"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3652
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3691
msgid "Before"
msgstr "Prieš"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3667
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706
msgid "After"
msgstr "Po"
#. * a print job is printed. Possible values are 'now', a specified time,
#. * or 'on hold'
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3726
msgid "Print at"
msgstr "Kada spausdinti"
#. 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:3698
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
msgid "Print at time"
msgstr "Spausdinti šiuo laiku"
#. * size. The two placeholders are replaced with the width and height
#. * in points. E.g: "Custom 230.4x142.9"
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3733
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3772
#, c-format
msgid "Custom %sx%s"
msgstr "Pasirinktinis (%s×%s)"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3853
+#| msgid "Printer offline"
+msgid "Printer Profile"
+msgstr "Spausdintuvo profilis"
+
+#. TRANSLATORS: this is when color profile information is unavailable
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3860
+#| msgid "Not available"
+msgid "Unavailable"
+msgstr "Neprieinama"
+
+#. TRANSLATORS: when we're running an old CUPS, and
+#. * it hasn't registered the device with colord
+#: ../modules/printbackends/cups/gtkprintercups.c:222
+msgid "Color management unavailable"
+msgstr "Spalvų valdymas neprieinamas"
+
+#. TRANSLATORS: when there is no color profile available
+#: ../modules/printbackends/cups/gtkprintercups.c:234
+#| msgid "Not available"
+msgid "No profile available"
+msgstr "Nėra profilio"
+
+#. TRANSLATORS: when the color profile has no title
+#: ../modules/printbackends/cups/gtkprintercups.c:245
+#| msgid "Unspecified error"
+msgid "Unspecified profile"
+msgstr "Nenurodytas profilis"
+
#. default filename used for print-to-file
#: ../modules/printbackends/file/gtkprintbackendfile.c:250
#, c-format
#: ../tests/testfilechooser.c:267
#, c-format
-msgid ""
-"Failed to load image '%s': reason not known, probably a corrupt image file"
-msgstr ""
-"Nepavyko įkelti paveikslėlio „%s“: nežinoma priežastis, tikriausiai "
-"sugadintas failas"
+msgid "Failed to load image '%s': reason not known, probably a corrupt image file"
+msgstr "Nepavyko įkelti paveikslėlio „%s“: nežinoma priežastis, tikriausiai sugadintas failas"
+
+#~ msgid "Received invalid color data\n"
+#~ msgstr "Gauti netinkami spalvų duomenys\n"
+
+#~ msgid "_Browse for other folders"
+#~ msgstr "_Naršyti kitų aplankų"
+
+#~ msgid "Error loading icon: %s"
+#~ msgstr "Įvyko klaida įkeliant piktogramą: %s"
+
+#~ msgid ""
+#~ "Could not find the icon '%s'. The '%s' theme\n"
+#~ "was not found either, perhaps you need to install it.\n"
+#~ "You can get a copy from:\n"
+#~ "\t%s"
+#~ msgstr ""
+#~ "Nepavyko rasti piktogramos „%s“. Tema „%s“ taip pat\n"
+#~ "nebuvo rasta, galbūt Jums reikia ją įdiegti.\n"
+#~ "Jūs galite gauti kopiją:\n"
+#~ "\t%s"
+
+#~ msgid "Unable to locate image file in pixmap_path: \"%s\""
+#~ msgstr "Nepavyko rasti paveikslėlio failo pixmap_path: „%s“"
+
+#~ msgid "This function is not implemented for widgets of class '%s'"
+#~ msgstr "Ši funkcija nerealizuota „%s“ klasės valdymo elementams"
+
+#~ msgid "different idatas found for symlinked '%s' and '%s'\n"
+#~ msgstr "simboliškai susietiem „%s“ ir „%s“ rasti skirtingi i-duomenys\n"
#~ msgid "X screen to use"
#~ msgstr "Naudojamas X ekranas"
#~ msgstr "Paveikslėlio taškiniai duomenys apgadinti"
#~ msgid "failed to allocate image buffer of %u byte"
+
#~ msgid_plural "failed to allocate image buffer of %u bytes"
#~ msgstr[0] "nepavyko rezervuoti %u baito paveikslėlio buferio"
#~ msgstr[1] "nepavyko rezervuoti %u baitų paveikslėlio buferio"
#~ "Nepavyko pasirinkti failo „%s“, nes nurodytas kelias yra netinkamas."
#~ msgid "%d byte"
+
#~ msgid_plural "%d bytes"
#~ msgstr[0] "%d baitas"
#~ msgstr[1] "%d baitai"
#~ msgid "Icon not present in theme"
#~ msgstr "Piktogramos nėra temoje"
-
#~ msgctxt "Media"
+
#~ msgid "_Forward"
#~ msgstr "_Pirmyn"
-
#~ msgctxt "Media"
+
#~ msgid "_Stop"
#~ msgstr "_Sustabdyti"
#
# Raivis Dejus <orvils@gmail.com>, 2006, 2007, 2009.
# Anita Reitere <nitalynx@gmail.com>, 2010.
+# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: gtk+.HEAD\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-01 15:41-0400\n"
-"PO-Revision-Date: 2010-04-21 14:58+0300\n"
-"Last-Translator: Anita Reitere <nitalynx@gmail.com>\n"
-"Language-Team: Latviešu <kde-i18n-doc@kde.org>\n"
-"Language: \n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
+"cgi?product=gtk%2b&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2011-07-09 10:54+0000\n"
+"PO-Revision-Date: 2011-07-10 11:39+0300\n"
+"Last-Translator: Rūdofls Mazurs <rudolfs.mazurs@gmail.com>\n"
+"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.0\n"
+"Language: \n"
+"X-Generator: Lokalize 1.1\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n"
-#: gdk/gdk.c:103
+#: ../gdk/gdk.c:135
#, c-format
msgid "Error parsing option --gdk-debug"
msgstr "Kļūda, parsējot opciju --gdk-debug"
-#: gdk/gdk.c:123
+#: ../gdk/gdk.c:155
#, c-format
msgid "Error parsing option --gdk-no-debug"
msgstr "Kļūda, parsējot opciju --gdk-no-debug"
#. Description of --class=CLASS in --help output
-#: gdk/gdk.c:151
+#: ../gdk/gdk.c:183
msgid "Program class as used by the window manager"
msgstr "Programmas klase, ko izmanto logu pārvaldnieks"
#. Placeholder in --class=CLASS in --help output
-#: gdk/gdk.c:152
+#: ../gdk/gdk.c:184
msgid "CLASS"
msgstr "KLASE"
#. Description of --name=NAME in --help output
-#: gdk/gdk.c:154
+#: ../gdk/gdk.c:186
msgid "Program name as used by the window manager"
msgstr "Programmas nosaukums, ko izmanto logu pārvaldnieks"
#. Placeholder in --name=NAME in --help output
-#: gdk/gdk.c:155
+#: ../gdk/gdk.c:187
msgid "NAME"
msgstr "NAME"
#. Description of --display=DISPLAY in --help output
-#: gdk/gdk.c:157
+#: ../gdk/gdk.c:189
msgid "X display to use"
msgstr "Izmantojamais X displejs"
#. Placeholder in --display=DISPLAY in --help output
-#: gdk/gdk.c:158
+#: ../gdk/gdk.c:190
msgid "DISPLAY"
msgstr "EKRĀNS"
-#. Description of --screen=SCREEN in --help output
-#: gdk/gdk.c:160
-msgid "X screen to use"
-msgstr "Izmantojamais X ekrāns"
-
-#. Placeholder in --screen=SCREEN in --help output
-#: gdk/gdk.c:161
-msgid "SCREEN"
-msgstr "EKRĀNS"
-
#. Description of --gdk-debug=FLAGS in --help output
-#: gdk/gdk.c:164
-#, fuzzy
+#: ../gdk/gdk.c:193
msgid "GDK debugging flags to set"
-msgstr "Iestatāmie GTK+ atkļūdošanas karodziņi"
+msgstr "Iestatāmie GDK atkļūdošanas karodziņi"
#. Placeholder in --gdk-debug=FLAGS in --help output
#. 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:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536
+#: ../gdk/gdk.c:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:569 ../gtk/gtkmain.c:572
msgid "FLAGS"
msgstr "KARODZIŅI"
#. Description of --gdk-no-debug=FLAGS in --help output
-#: gdk/gdk.c:167
-#, fuzzy
+#: ../gdk/gdk.c:196
msgid "GDK debugging flags to unset"
-msgstr "Noņemamie GTK+ atkļūdošanas karodziņi"
+msgstr "Noņemamie GDK atkļūdošanas karodziņi"
-#: gdk/keyname-table.h:3940
+#.
+#. * Translators, the strings in the 'keyboard label' context are
+#. * display names for keyboard keys. Some of them have prefixes like
+#. * XF86 or ISO_ - these should be removed in the translation. Similarly,
+#. * underscores should be replaced by spaces. The prefix 'KP_' stands
+#. * for 'key pad' and you may want to include that in your translation.
+#. * Here are some examples of English translations:
+#. * XF86AudioMute - Audio mute
+#. * Scroll_lock - Scroll lock
+#. * KP_Space - Space (keypad)
+#.
+#: ../gdk/keyname-table.h:3951
msgctxt "keyboard label"
msgid "BackSpace"
msgstr "Backspace"
-#: gdk/keyname-table.h:3941
+#: ../gdk/keyname-table.h:3952
msgctxt "keyboard label"
msgid "Tab"
msgstr "Tab"
-#: gdk/keyname-table.h:3942
+#: ../gdk/keyname-table.h:3953
msgctxt "keyboard label"
msgid "Return"
msgstr "Enter"
-#: gdk/keyname-table.h:3943
+#: ../gdk/keyname-table.h:3954
msgctxt "keyboard label"
msgid "Pause"
msgstr "Pause"
-#: gdk/keyname-table.h:3944
+#: ../gdk/keyname-table.h:3955
msgctxt "keyboard label"
msgid "Scroll_Lock"
msgstr "Scroll_Lock"
-#: gdk/keyname-table.h:3945
+#: ../gdk/keyname-table.h:3956
msgctxt "keyboard label"
msgid "Sys_Req"
msgstr "Sys_Req"
-#: gdk/keyname-table.h:3946
+#: ../gdk/keyname-table.h:3957
msgctxt "keyboard label"
msgid "Escape"
msgstr "Escape"
-#: gdk/keyname-table.h:3947
+#: ../gdk/keyname-table.h:3958
msgctxt "keyboard label"
msgid "Multi_key"
msgstr "Multi_taustiņš"
-#: gdk/keyname-table.h:3948
+#: ../gdk/keyname-table.h:3959
msgctxt "keyboard label"
msgid "Home"
msgstr "Home"
-#: gdk/keyname-table.h:3949
+#: ../gdk/keyname-table.h:3960
msgctxt "keyboard label"
msgid "Left"
msgstr "Pa_kreisi"
-#: gdk/keyname-table.h:3950
+#: ../gdk/keyname-table.h:3961
msgctxt "keyboard label"
msgid "Up"
msgstr "Uz_augšu"
-#: gdk/keyname-table.h:3951
+#: ../gdk/keyname-table.h:3962
msgctxt "keyboard label"
msgid "Right"
msgstr "Pa_labi"
-#: gdk/keyname-table.h:3952
+#: ../gdk/keyname-table.h:3963
msgctxt "keyboard label"
msgid "Down"
msgstr "Uz_leju"
-#: gdk/keyname-table.h:3953
+#: ../gdk/keyname-table.h:3964
msgctxt "keyboard label"
msgid "Page_Up"
msgstr "Page_Up"
-#: gdk/keyname-table.h:3954
+#: ../gdk/keyname-table.h:3965
msgctxt "keyboard label"
msgid "Page_Down"
msgstr "Page_Down"
-#: gdk/keyname-table.h:3955
+#: ../gdk/keyname-table.h:3966
msgctxt "keyboard label"
msgid "End"
msgstr "End"
-#: gdk/keyname-table.h:3956
+#: ../gdk/keyname-table.h:3967
msgctxt "keyboard label"
msgid "Begin"
msgstr "Begin"
-#: gdk/keyname-table.h:3957
+#: ../gdk/keyname-table.h:3968
msgctxt "keyboard label"
msgid "Print"
msgstr "Print"
-#: gdk/keyname-table.h:3958
+#: ../gdk/keyname-table.h:3969
msgctxt "keyboard label"
msgid "Insert"
msgstr "Insert"
-#: gdk/keyname-table.h:3959
+#: ../gdk/keyname-table.h:3970
msgctxt "keyboard label"
msgid "Num_Lock"
msgstr "Num_Lock"
-#: gdk/keyname-table.h:3960
+#. Translators: KP_ means 'key pad' here
+#: ../gdk/keyname-table.h:3972
msgctxt "keyboard label"
msgid "KP_Space"
msgstr "KP_Space"
-#: gdk/keyname-table.h:3961
+#: ../gdk/keyname-table.h:3973
msgctxt "keyboard label"
msgid "KP_Tab"
msgstr "KP_Tab"
-#: gdk/keyname-table.h:3962
+#: ../gdk/keyname-table.h:3974
msgctxt "keyboard label"
msgid "KP_Enter"
msgstr "KP_Enter"
-#: gdk/keyname-table.h:3963
+#: ../gdk/keyname-table.h:3975
msgctxt "keyboard label"
msgid "KP_Home"
msgstr "KP_Home"
-#: gdk/keyname-table.h:3964
+#: ../gdk/keyname-table.h:3976
msgctxt "keyboard label"
msgid "KP_Left"
msgstr "KP_Left"
-#: gdk/keyname-table.h:3965
+#: ../gdk/keyname-table.h:3977
msgctxt "keyboard label"
msgid "KP_Up"
msgstr "KP_Up"
-#: gdk/keyname-table.h:3966
+#: ../gdk/keyname-table.h:3978
msgctxt "keyboard label"
msgid "KP_Right"
msgstr "KP_Right"
-#: gdk/keyname-table.h:3967
+#: ../gdk/keyname-table.h:3979
msgctxt "keyboard label"
msgid "KP_Down"
msgstr "KP_Down"
-#: gdk/keyname-table.h:3968
+#: ../gdk/keyname-table.h:3980
msgctxt "keyboard label"
msgid "KP_Page_Up"
msgstr "KP_Page_Up"
-#: gdk/keyname-table.h:3969
+#: ../gdk/keyname-table.h:3981
msgctxt "keyboard label"
msgid "KP_Prior"
msgstr "KP_Prior"
-#: gdk/keyname-table.h:3970
+#: ../gdk/keyname-table.h:3982
msgctxt "keyboard label"
msgid "KP_Page_Down"
msgstr "KP_Page_Down"
-#: gdk/keyname-table.h:3971
+#: ../gdk/keyname-table.h:3983
msgctxt "keyboard label"
msgid "KP_Next"
msgstr "KP_Next"
-#: gdk/keyname-table.h:3972
+#: ../gdk/keyname-table.h:3984
msgctxt "keyboard label"
msgid "KP_End"
msgstr "KP_End"
-#: gdk/keyname-table.h:3973
+#: ../gdk/keyname-table.h:3985
msgctxt "keyboard label"
msgid "KP_Begin"
msgstr "KP_Begin"
-#: gdk/keyname-table.h:3974
+#: ../gdk/keyname-table.h:3986
msgctxt "keyboard label"
msgid "KP_Insert"
msgstr "KP_Insert"
-#: gdk/keyname-table.h:3975
+#: ../gdk/keyname-table.h:3987
msgctxt "keyboard label"
msgid "KP_Delete"
msgstr "KP_Delete"
-#: gdk/keyname-table.h:3976
+#: ../gdk/keyname-table.h:3988
msgctxt "keyboard label"
msgid "Delete"
msgstr "Delete"
+#. Translators: 'Mon' means Monitor here, and the XF86 prefix should be removed
+#: ../gdk/keyname-table.h:3990
+msgctxt "keyboard label"
+msgid "XF86MonBrightnessUp"
+msgstr "XF86MonBrightnessUp"
+
+#: ../gdk/keyname-table.h:3991
+msgctxt "keyboard label"
+msgid "XF86MonBrightnessDown"
+msgstr "XF86MonBrightnessDown"
+
+#: ../gdk/keyname-table.h:3992
+msgctxt "keyboard label"
+msgid "XF86AudioMute"
+msgstr "XF86AudioMute"
+
+#: ../gdk/keyname-table.h:3993
+msgctxt "keyboard label"
+msgid "XF86AudioLowerVolume"
+msgstr "XF86AudioLowerVolume"
+
+#: ../gdk/keyname-table.h:3994
+msgctxt "keyboard label"
+msgid "XF86AudioRaiseVolume"
+msgstr "XF86AudioRaiseVolume"
+
+#: ../gdk/keyname-table.h:3995
+msgctxt "keyboard label"
+msgid "XF86AudioPlay"
+msgstr "XF86AudioPlay"
+
+#: ../gdk/keyname-table.h:3996
+msgctxt "keyboard label"
+msgid "XF86AudioStop"
+msgstr "XF86AudioStop"
+
+#: ../gdk/keyname-table.h:3997
+msgctxt "keyboard label"
+msgid "XF86AudioNext"
+msgstr "XF86AudioNext"
+
+#: ../gdk/keyname-table.h:3998
+msgctxt "keyboard label"
+msgid "XF86AudioPrev"
+msgstr "XF86AudioPrev"
+
+#: ../gdk/keyname-table.h:3999
+msgctxt "keyboard label"
+msgid "XF86AudioRecord"
+msgstr "XF86AudioRecord"
+
+#: ../gdk/keyname-table.h:4000
+msgctxt "keyboard label"
+msgid "XF86AudioPause"
+msgstr "XF86AudioPause"
+
+#: ../gdk/keyname-table.h:4001
+msgctxt "keyboard label"
+msgid "XF86AudioRewind"
+msgstr "XF86AudioRewind"
+
+#: ../gdk/keyname-table.h:4002
+msgctxt "keyboard label"
+msgid "XF86AudioMedia"
+msgstr "XF86AudioMedia"
+
+#: ../gdk/keyname-table.h:4003
+msgctxt "keyboard label"
+msgid "XF86ScreenSaver"
+msgstr "XF86ScreenSaver"
+
+#: ../gdk/keyname-table.h:4004
+msgctxt "keyboard label"
+msgid "XF86Battery"
+msgstr "XF86Battery"
+
+#: ../gdk/keyname-table.h:4005
+msgctxt "keyboard label"
+msgid "XF86Launch1"
+msgstr "XF86Launch1"
+
+#: ../gdk/keyname-table.h:4006
+#| msgctxt "Stock label, navigation"
+#| msgid "_Forward"
+msgctxt "keyboard label"
+msgid "XF86Forward"
+msgstr "XF86Forward"
+
+#: ../gdk/keyname-table.h:4007
+#| msgctxt "Stock label, navigation"
+#| msgid "_Back"
+msgctxt "keyboard label"
+msgid "XF86Back"
+msgstr "XF86Back"
+
+#: ../gdk/keyname-table.h:4008
+msgctxt "keyboard label"
+msgid "XF86Sleep"
+msgstr "XF86Sleep"
+
+#: ../gdk/keyname-table.h:4009
+msgctxt "keyboard label"
+msgid "XF86Hibernate"
+msgstr "XF86Hibernate"
+
+#: ../gdk/keyname-table.h:4010
+msgctxt "keyboard label"
+msgid "XF86WLAN"
+msgstr "XF86WLAN"
+
+#: ../gdk/keyname-table.h:4011
+msgctxt "keyboard label"
+msgid "XF86WebCam"
+msgstr "XF86WebCam"
+
+#: ../gdk/keyname-table.h:4012
+msgctxt "keyboard label"
+msgid "XF86Display"
+msgstr "XF86Display"
+
+#: ../gdk/keyname-table.h:4013
+msgctxt "keyboard label"
+msgid "XF86TouchpadToggle"
+msgstr "XF86TouchpadToggle"
+
+#: ../gdk/keyname-table.h:4014
+msgctxt "keyboard label"
+msgid "XF86WakeUp"
+msgstr "XF86WakeUp"
+
+#: ../gdk/keyname-table.h:4015
+msgctxt "keyboard label"
+msgid "XF86Suspend"
+msgstr "XF86Suspend"
+
#. Description of --sync in --help output
-#: gdk/win32/gdkmain-win32.c:54
+#: ../gdk/win32/gdkmain-win32.c:55
msgid "Don't batch GDI requests"
msgstr "Negrupēt GDI pieprasījumus"
#. Description of --no-wintab in --help output
-#: gdk/win32/gdkmain-win32.c:56
+#: ../gdk/win32/gdkmain-win32.c:57
msgid "Don't use the Wintab API for tablet support"
msgstr "Nelietot Wintab API planšetu atbalstam"
#. Description of --ignore-wintab in --help output
-#: gdk/win32/gdkmain-win32.c:58
+#: ../gdk/win32/gdkmain-win32.c:59
msgid "Same as --no-wintab"
msgstr "Tas pats, kas --no-wintab"
#. Description of --use-wintab in --help output
-#: gdk/win32/gdkmain-win32.c:60
+#: ../gdk/win32/gdkmain-win32.c:61
msgid "Do use the Wintab API [default]"
msgstr "Lietot Wintab API [noklusētais]"
#. Description of --max-colors=COLORS in --help output
-#: gdk/win32/gdkmain-win32.c:62
+#: ../gdk/win32/gdkmain-win32.c:63
msgid "Size of the palette in 8 bit mode"
msgstr "Paletes izmērs 8 bitu režīmā"
#. Placeholder in --max-colors=COLORS in --help output
-#: gdk/win32/gdkmain-win32.c:63
+#: ../gdk/win32/gdkmain-win32.c:64
msgid "COLORS"
msgstr "KRĀSAS"
-#: gdk/x11/gdkapplaunchcontext-x11.c:312
+#: ../gdk/x11/gdkapplaunchcontext-x11.c:294
#, c-format
msgid "Starting %s"
msgstr "Palaiž %s"
-#: gdk/x11/gdkapplaunchcontext-x11.c:316
+#: ../gdk/x11/gdkapplaunchcontext-x11.c:307
#, c-format
msgid "Opening %s"
msgstr "Atver %s"
-#: gdk/x11/gdkapplaunchcontext-x11.c:321
+#: ../gdk/x11/gdkapplaunchcontext-x11.c:312
#, c-format
msgid "Opening %d Item"
msgid_plural "Opening %d Items"
msgstr[1] "Atver %d vienības"
msgstr[2] "Atver %d vienības"
-#. Description of --sync in --help output
-#: gdk/x11/gdkmain-x11.c:96
-msgid "Make X calls synchronous"
-msgstr "Padarīt X izsaukumus sinhronus"
-
#. Translators: this is the license preamble; the string at the end
#. * contains the URL of the license.
#.
-#: gtk/gtkaboutdialog.c:101
+#: ../gtk/gtkaboutdialog.c:103
#, c-format
-msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s"
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY; for details, visit <a href="
+"\"%s\">%s</a>"
msgstr ""
+"Šī programma nāk BEZ JEBKĀDAS GARANTIJAS; sīkāka informācija <a href=\"%s\">%"
+"s</a>"
-#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235
+#: ../gtk/gtkaboutdialog.c:345
msgid "License"
msgstr "Licence"
-#: gtk/gtkaboutdialog.c:340
+#: ../gtk/gtkaboutdialog.c:346
msgid "The license of the program"
msgstr "Programmas licence"
#. Add the credits button
-#: gtk/gtkaboutdialog.c:621
+#: ../gtk/gtkaboutdialog.c:738
msgid "C_redits"
msgstr "_Veidotāji"
#. Add the license button
-#: gtk/gtkaboutdialog.c:635
+#: ../gtk/gtkaboutdialog.c:751
msgid "_License"
msgstr "_Licence"
-#: gtk/gtkaboutdialog.c:839
+#: ../gtk/gtkaboutdialog.c:956
msgid "Could not show link"
msgstr "Neizdevās parādīt saiti"
-#: gtk/gtkaboutdialog.c:932
+#: ../gtk/gtkaboutdialog.c:993
+#| msgctxt "keyboard label"
+#| msgid "Home"
+msgid "Homepage"
+msgstr "Mājas lapa"
+
+#: ../gtk/gtkaboutdialog.c:1047
#, c-format
msgid "About %s"
msgstr "Par %s"
-#: gtk/gtkaboutdialog.c:2153
-msgid "Credits"
-msgstr "Autori"
+#: ../gtk/gtkaboutdialog.c:2371
+#| msgid "C_reate"
+msgid "Created by"
+msgstr "Veidotājs"
-#: gtk/gtkaboutdialog.c:2185
-msgid "Written by"
-msgstr "Sarakstījuši"
-
-#: gtk/gtkaboutdialog.c:2188
+#: ../gtk/gtkaboutdialog.c:2374
msgid "Documented by"
msgstr "Dokumentējuši"
-#: gtk/gtkaboutdialog.c:2200
+#: ../gtk/gtkaboutdialog.c:2384
msgid "Translated by"
msgstr "Tulkojuši"
-#: gtk/gtkaboutdialog.c:2204
+#: ../gtk/gtkaboutdialog.c:2389
msgid "Artwork by"
msgstr "Grafika"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: gtk/gtkaccellabel.c:160
+#: ../gtk/gtkaccellabel.c:156
msgctxt "keyboard label"
msgid "Shift"
msgstr "Shift"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: gtk/gtkaccellabel.c:166
+#: ../gtk/gtkaccellabel.c:162
msgctxt "keyboard label"
msgid "Ctrl"
msgstr "Ctrl"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: gtk/gtkaccellabel.c:172
+#: ../gtk/gtkaccellabel.c:168
msgctxt "keyboard label"
msgid "Alt"
msgstr "Alt"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: gtk/gtkaccellabel.c:770
+#: ../gtk/gtkaccellabel.c:787
msgctxt "keyboard label"
msgid "Super"
msgstr "Super"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: gtk/gtkaccellabel.c:783
+#: ../gtk/gtkaccellabel.c:800
msgctxt "keyboard label"
msgid "Hyper"
msgstr "Hyper"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: gtk/gtkaccellabel.c:797
+#: ../gtk/gtkaccellabel.c:814
msgctxt "keyboard label"
msgid "Meta"
msgstr "Meta"
-#: gtk/gtkaccellabel.c:813
+#: ../gtk/gtkaccellabel.c:830
msgctxt "keyboard label"
msgid "Space"
msgstr "Atstarpe"
-#: gtk/gtkaccellabel.c:816
+#: ../gtk/gtkaccellabel.c:833
msgctxt "keyboard label"
msgid "Backslash"
msgstr "Otrādā slīpsvītra"
-#: gtk/gtkbuilderparser.c:343
+#: ../gtk/gtkappchooserbutton.c:268
+#| msgid "Application"
+msgid "Other application..."
+msgstr "Citas lietotnes..."
+
+#: ../gtk/gtkappchooserdialog.c:130
+msgid "Failed to look for applications online"
+msgstr "Neizdevās tiešsaistē atrast lietotni"
+
+#: ../gtk/gtkappchooserdialog.c:171
+msgid "Find applications online"
+msgstr "Atrast lietotni tiešsaistē"
+
+#: ../gtk/gtkappchooserdialog.c:221
+#| msgid "Could not clear list"
+msgid "Could not run application"
+msgstr "Neizdevās palaist lietotni"
+
+#: ../gtk/gtkappchooserdialog.c:234
+#, c-format
+#| msgid "Could not mount %s"
+msgid "Could not find '%s'"
+msgstr "Neizdevās atrast '%s'"
+
+#: ../gtk/gtkappchooserdialog.c:237
+#| msgid "Could not show link"
+msgid "Could not find application"
+msgstr "Neizdodas atrast lietotni"
+
+#. Translators: %s is a filename
+#: ../gtk/gtkappchooserdialog.c:355
+#, c-format
+msgid "Select an application to open \"%s\""
+msgstr "Izvēlieties lietotni, ar kuru atvērt \"%s\""
+
+#: ../gtk/gtkappchooserdialog.c:356 ../gtk/gtkappchooserwidget.c:643
+#, c-format
+msgid "No applications available to open \"%s\""
+msgstr "Nav atrasta lietotne, ar ko atvērt \"%s\""
+
+#. Translators: %s is a file type description
+#: ../gtk/gtkappchooserdialog.c:362
+#, c-format
+msgid "Select an application for \"%s\" files"
+msgstr "Izvēlieties lietotni \"%s\" failiem"
+
+#: ../gtk/gtkappchooserdialog.c:364
+#, c-format
+msgid "No applications available to open \"%s\" files"
+msgstr "Nav atrasta lietotne, ar ko atvērt \"%s\" failus"
+
+#: ../gtk/gtkappchooserdialog.c:380
+msgid ""
+"Click \"Show other applications\", for more options, or \"Find applications "
+"online\" to install a new application"
+msgstr ""
+"Spiediet \"Rādīt citas lietotnes\", lai redzētu vairāk opciju, vai \"Atrast "
+"lietotni tiešsaistē\", lai instalētu jaunu lietotni"
+
+#: ../gtk/gtkappchooserdialog.c:450
+#| msgid "Forget password _immediately"
+msgid "Forget association"
+msgstr "Aizmirst saistību"
+
+#: ../gtk/gtkappchooserdialog.c:515
+#| msgid "Show GTK+ Options"
+msgid "Show other applications"
+msgstr "Rādīt citas lietotnes"
+
+#: ../gtk/gtkappchooserdialog.c:533
+#| msgid "_Selection: "
+msgid "_Select"
+msgstr "Izvēlētie_s: "
+
+#: ../gtk/gtkappchooserwidget.c:592
+#| msgid "Application"
+msgid "Default Application"
+msgstr "Noklusētā lietotne"
+
+#: ../gtk/gtkappchooserwidget.c:730
+#| msgid "Application"
+msgid "Recommended Applications"
+msgstr "Ieteiktās lietotnes"
+
+#: ../gtk/gtkappchooserwidget.c:745
+#| msgid "Application"
+msgid "Related Applications"
+msgstr "Saistītās lietotnes"
+
+#: ../gtk/gtkappchooserwidget.c:759
+#| msgid "Application"
+msgid "Other Applications"
+msgstr "Citas lietotnes"
+
+#: ../gtk/gtkassistant.c:920
+#| msgctxt "Stock label"
+#| msgid "C_onnect"
+msgid "C_ontinue"
+msgstr "T_urpināt"
+
+#: ../gtk/gtkassistant.c:923
+#| msgctxt "Stock label, navigation"
+#| msgid "_Back"
+msgid "Go _Back"
+msgstr "Iet _atpakaļ"
+
+#: ../gtk/gtkassistant.c:927
+#| msgctxt "print operation status"
+#| msgid "Finished"
+msgid "_Finish"
+msgstr "_Beigt"
+
+#: ../gtk/gtkbuilderparser.c:342
#, c-format
msgid "Invalid type function on line %d: '%s'"
msgstr "Nederīga tipa funkcija %d. rindiņā: '%s'"
-#: gtk/gtkbuilderparser.c:407
-#, fuzzy, c-format
+#: ../gtk/gtkbuilderparser.c:406
+#, c-format
msgid "Duplicate object ID '%s' on line %d (previously on line %d)"
-msgstr "Otrreiz lietots objekta id '%s' %d. rindiņā (pirmoreiz %d.)"
+msgstr "Otrreiz lietots objekta ID '%s' %d. rindiņā (pirmoreiz %d.)"
-#: gtk/gtkbuilderparser.c:859
+#: ../gtk/gtkbuilderparser.c:858
#, c-format
msgid "Invalid root element: '%s'"
msgstr "Nederīgs saknes elements: '%s'"
-#: gtk/gtkbuilderparser.c:898
+#: ../gtk/gtkbuilderparser.c:897
#, c-format
msgid "Unhandled tag: '%s'"
msgstr "Neapstrādāta birka: '%s'"
#. * text direction of RTL and specify "calendar:YM", then the year
#. * will appear to the right of the month.
#.
-#: gtk/gtkcalendar.c:883
+#: ../gtk/gtkcalendar.c:874
msgid "calendar:MY"
msgstr "calendar:YM"
#. * first day of the week to calendar:week_start:1 if you want Monday
#. * to be the first day of the week, and so on.
#.
-#: gtk/gtkcalendar.c:921
+#: ../gtk/gtkcalendar.c:912
msgid "calendar:week_start:0"
msgstr "calendar:week_start:1"
#. *
#. * If you don't understand this, leave it as "2000"
#.
-#: gtk/gtkcalendar.c:2006
+#: ../gtk/gtkcalendar.c:1913
msgctxt "year measurement template"
msgid "2000"
msgstr "2000"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719
+#: ../gtk/gtkcalendar.c:1944 ../gtk/gtkcalendar.c:2641
#, c-format
msgctxt "calendar:day:digits"
msgid "%d"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579
+#: ../gtk/gtkcalendar.c:1976 ../gtk/gtkcalendar.c:2502
#, c-format
msgctxt "calendar:week:digits"
msgid "%d"
#. *
#. * "%Y" is appropriate for most locales.
#.
-#: gtk/gtkcalendar.c:2361
+#: ../gtk/gtkcalendar.c:2271
msgctxt "calendar year format"
msgid "%Y"
msgstr "%Y"
#. This label is displayed in a treeview cell displaying
#. * a disabled accelerator key combination.
#.
-#: gtk/gtkcellrendereraccel.c:272
+#: ../gtk/gtkcellrendereraccel.c:286
msgctxt "Accelerator"
msgid "Disabled"
msgstr "Atslēgts"
#. * an accelerator key combination that is not valid according
#. * to gtk_accelerator_valid().
#.
-#: gtk/gtkcellrendereraccel.c:282
+#: ../gtk/gtkcellrendereraccel.c:296
msgctxt "Accelerator"
msgid "Invalid"
msgstr "Nederīgs"
#. * an accelerator when the cell is clicked to change the
#. * acelerator.
#.
-#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675
+#: ../gtk/gtkcellrendereraccel.c:432 ../gtk/gtkcellrendereraccel.c:745
msgid "New accelerator..."
msgstr "Jauns paātrinātājs..."
-#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452
+#: ../gtk/gtkcellrendererprogress.c:374 ../gtk/gtkcellrendererprogress.c:464
#, c-format
msgctxt "progress bar label"
msgid "%d %%"
msgstr "%d %%"
-#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445
+#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:483
msgid "Pick a Color"
msgstr "Izvēlieties krāsu"
-#: gtk/gtkcolorbutton.c:336
-msgid "Received invalid color data\n"
-msgstr "Saņemti nederīgi krāsu dati\n"
-
-#: gtk/gtkcolorsel.c:384
+#: ../gtk/gtkcolorsel.c:416
msgid ""
"Select the color you want from the outer ring. Select the darkness or "
"lightness of that color using the inner triangle."
"Izvēlieties vēlamo krāsu no ārējā apļa. Pielāgojiet tās tumšumu vai gaišumu, "
"lietojot iekšējo trijstūri."
-#: gtk/gtkcolorsel.c:408
+#: ../gtk/gtkcolorsel.c:442
msgid ""
"Click the eyedropper, then click a color anywhere on your screen to select "
"that color."
"Klikšķiniet uz pipetes, tad uz jebkuras krāsas jūsu ekrānā, lai izvēlētos šo "
"krāsu."
-#: gtk/gtkcolorsel.c:417
+#: ../gtk/gtkcolorsel.c:452
msgid "_Hue:"
msgstr "_Nokrāsa:"
-#: gtk/gtkcolorsel.c:418
+#: ../gtk/gtkcolorsel.c:453
msgid "Position on the color wheel."
msgstr "Pozīcija uz krāsu joslas."
-#: gtk/gtkcolorsel.c:420
+#: ../gtk/gtkcolorsel.c:455
msgid "_Saturation:"
msgstr "P_iesātinājums:"
-#: gtk/gtkcolorsel.c:421
-#, fuzzy
+#: ../gtk/gtkcolorsel.c:456
msgid "Intensity of the color."
-msgstr "Krāsas caurspīdīgums."
+msgstr "Krāsas intensitāte."
-#: gtk/gtkcolorsel.c:422
+#: ../gtk/gtkcolorsel.c:457
msgid "_Value:"
msgstr "_Vērtība:"
-#: gtk/gtkcolorsel.c:423
+#: ../gtk/gtkcolorsel.c:458
msgid "Brightness of the color."
msgstr "Krāsas gaišums."
-#: gtk/gtkcolorsel.c:424
+#: ../gtk/gtkcolorsel.c:459
msgid "_Red:"
msgstr "_Sarkanā:"
-#: gtk/gtkcolorsel.c:425
+#: ../gtk/gtkcolorsel.c:460
msgid "Amount of red light in the color."
msgstr "Sarkanās gaismas daudzums krāsā."
-#: gtk/gtkcolorsel.c:426
+#: ../gtk/gtkcolorsel.c:461
msgid "_Green:"
msgstr "Z_aļā:"
-#: gtk/gtkcolorsel.c:427
+#: ../gtk/gtkcolorsel.c:462
msgid "Amount of green light in the color."
msgstr "Zaļās gaismas daudzums krāsā."
-#: gtk/gtkcolorsel.c:428
+#: ../gtk/gtkcolorsel.c:463
msgid "_Blue:"
msgstr "_Zilā:"
-#: gtk/gtkcolorsel.c:429
+#: ../gtk/gtkcolorsel.c:464
msgid "Amount of blue light in the color."
msgstr " Zilās gaismas daudzums krāsā."
-#: gtk/gtkcolorsel.c:432
+#: ../gtk/gtkcolorsel.c:467
msgid "Op_acity:"
msgstr "Nec_aurspīdība:"
-#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449
+#: ../gtk/gtkcolorsel.c:475 ../gtk/gtkcolorsel.c:485
msgid "Transparency of the color."
msgstr "Krāsas caurspīdīgums."
-#: gtk/gtkcolorsel.c:456
+#: ../gtk/gtkcolorsel.c:492
msgid "Color _name:"
msgstr "Krāsas no_saukums:"
-#: gtk/gtkcolorsel.c:470
+#: ../gtk/gtkcolorsel.c:507
msgid ""
"You can enter an HTML-style hexadecimal color value, or simply a color name "
"such as 'orange' in this entry."
"Šeit var ievadīt HTML formāta heksadecimālu krāsas vērtību vai nosaukumu "
"('red')."
-#: gtk/gtkcolorsel.c:500
+#: ../gtk/gtkcolorsel.c:539
msgid "_Palette:"
msgstr "_Palete:"
-#: gtk/gtkcolorsel.c:529
+#: ../gtk/gtkcolorsel.c:569
msgid "Color Wheel"
msgstr "Krāsu ripa"
-#: gtk/gtkcolorsel.c:988
+#: ../gtk/gtkcolorsel.c:1042
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now. You can drag this color to a palette entry, or select this color as "
"Iepriekš izvēlētā krāsa, salīdzināšanai ar pašreizējo. To var pievienot "
"paletei vai izvēlēties, ievelkot blakus lauciņā."
-#: gtk/gtkcolorsel.c:991
+#: ../gtk/gtkcolorsel.c:1048
msgid ""
"The color you've chosen. You can drag this color to a palette entry to save "
"it for use in the future."
"Jūsu izvēlētā krāsa. To var ievilkt krāsu paletē, lai saglabātu lietošanai "
"nākotnē."
-#: gtk/gtkcolorsel.c:996
+#: ../gtk/gtkcolorsel.c:1054
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now."
msgstr "Iepriekš izvēlētā krāsa, salīdzināšanai ar pašreizējo. "
-#: gtk/gtkcolorsel.c:999
+#: ../gtk/gtkcolorsel.c:1058
msgid "The color you've chosen."
msgstr "Jūsu izvēlētā krāsa."
-#: gtk/gtkcolorsel.c:1396
+#: ../gtk/gtkcolorsel.c:1460
msgid "_Save color here"
msgstr "_Saglabāt krāsu šeit"
-#: gtk/gtkcolorsel.c:1601
+#: ../gtk/gtkcolorsel.c:1665
msgid ""
"Click this palette entry to make it the current color. To change this entry, "
"drag a color swatch here or right-click it and select \"Save color here.\""
"ievelciet šeit krāsu vai ar labo klikšķi uz tās izvēlieties \"Saglabāt krāsu "
"šeit.\""
-#: gtk/gtkcolorseldialog.c:189
+#: ../gtk/gtkcolorseldialog.c:213
msgid "Color Selection"
msgstr "Krāsu izlase"
#. * Do *not* translate it to "predefinito:mm", if it
#. * it isn't default:mm or default:inch it will not work
#.
-#: gtk/gtkcustompaperunixdialog.c:116
+#: ../gtk/gtkcustompaperunixdialog.c:116
msgid "default:mm"
msgstr "default:mm"
#. And show the custom paper dialog
-#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233
+#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3325
msgid "Manage Custom Sizes"
msgstr "Pārvaldīt pielāgotos izmērus"
-#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790
+#: ../gtk/gtkcustompaperunixdialog.c:533 ../gtk/gtkpagesetupunixdialog.c:783
msgid "inch"
msgstr "colla"
-#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788
+#: ../gtk/gtkcustompaperunixdialog.c:535 ../gtk/gtkpagesetupunixdialog.c:781
msgid "mm"
msgstr "mm"
-#: gtk/gtkcustompaperunixdialog.c:581
+#: ../gtk/gtkcustompaperunixdialog.c:580
msgid "Margins from Printer..."
msgstr "Apmales no printera..."
-#: gtk/gtkcustompaperunixdialog.c:747
+#: ../gtk/gtkcustompaperunixdialog.c:746
#, c-format
msgid "Custom Size %d"
msgstr "Pielāgots izmērs %d"
-#: gtk/gtkcustompaperunixdialog.c:1059
+#: ../gtk/gtkcustompaperunixdialog.c:1084
msgid "_Width:"
msgstr "Pla_tums:"
-#: gtk/gtkcustompaperunixdialog.c:1071
+#: ../gtk/gtkcustompaperunixdialog.c:1097
msgid "_Height:"
msgstr "_Augstums:"
-#: gtk/gtkcustompaperunixdialog.c:1083
+#: ../gtk/gtkcustompaperunixdialog.c:1110
msgid "Paper Size"
msgstr "Papīra izmērs"
-#: gtk/gtkcustompaperunixdialog.c:1092
+#: ../gtk/gtkcustompaperunixdialog.c:1119
msgid "_Top:"
msgstr "Au_gšējā:"
-#: gtk/gtkcustompaperunixdialog.c:1104
+#: ../gtk/gtkcustompaperunixdialog.c:1132
msgid "_Bottom:"
msgstr "A_pakšējā:"
-#: gtk/gtkcustompaperunixdialog.c:1116
+#: ../gtk/gtkcustompaperunixdialog.c:1145
msgid "_Left:"
msgstr "_Kreisā:"
-#: gtk/gtkcustompaperunixdialog.c:1128
+#: ../gtk/gtkcustompaperunixdialog.c:1158
msgid "_Right:"
msgstr "_Labā:"
-#: gtk/gtkcustompaperunixdialog.c:1169
+#: ../gtk/gtkcustompaperunixdialog.c:1200
msgid "Paper Margins"
msgstr "Papīra apmales"
-#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248
+#: ../gtk/gtkentry.c:8949 ../gtk/gtktextview.c:8277
msgid "Input _Methods"
msgstr "Ievades _metodes"
-#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262
+#: ../gtk/gtkentry.c:8963 ../gtk/gtktextview.c:8291
msgid "_Insert Unicode Control Character"
msgstr "_Ievietot Unicode kontroles simbolu"
-#: gtk/gtkentry.c:10015
+#: ../gtk/gtkentry.c:10434
msgid "Caps Lock and Num Lock are on"
-msgstr ""
+msgstr "Ieslēgts Caps Lock un Num Lock"
-#: gtk/gtkentry.c:10017
-#, fuzzy
+#: ../gtk/gtkentry.c:10436
msgid "Num Lock is on"
-msgstr "Ieslēgts Caps Lock"
+msgstr "Ieslēgts Num Lock"
-#: gtk/gtkentry.c:10019
+#: ../gtk/gtkentry.c:10438
msgid "Caps Lock is on"
msgstr "Ieslēgts Caps Lock"
+#. *
+#. * SECTION:gtkfilechooserbutton
+#. * @Short_description: A button to launch a file selection dialog
+#. * @Title: GtkFileChooserButton
+#. * @See_also:#GtkFileChooserDialog
+#. *
+#. * The #GtkFileChooserButton is a widget that lets the user select a
+#. * file. It implements the #GtkFileChooser interface. Visually, it is a
+#. * file name with a button to bring up a #GtkFileChooserDialog.
+#. * The user can then use that dialog to change the file associated with
+#. * that button. This widget does not support setting the
+#. * #GtkFileChooser:select-multiple property to %TRUE.
+#. *
+#. * <example>
+#. * <title>Create a button to let the user select a file in /etc</title>
+#. * <programlisting>
+#. * {
+#. * GtkWidget *button;
+#. *
+#. * button = gtk_file_chooser_button_new (_("Select a file"),
+#. * GTK_FILE_CHOOSER_ACTION_OPEN);
+#. * gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button),
+#. * "/etc");
+#. * }
+#. * </programlisting>
+#. * </example>
+#. *
+#. * The #GtkFileChooserButton supports the #GtkFileChooserAction<!-- -->s
+#. * %GTK_FILE_CHOOSER_ACTION_OPEN and %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
+#. *
+#. * <important>
+#. * The #GtkFileChooserButton will ellipsize the label,
+#. * and thus will thus request little horizontal space. To give the button
+#. * more space, you should call gtk_widget_get_preferred_size(),
+#. * gtk_file_chooser_button_set_width_chars(), or pack the button in
+#. * such a way that other interface elements give space to the widget.
+#. * </important>
+#.
#. **************** *
#. * Private Macros *
#. * ****************
-#: gtk/gtkfilechooserbutton.c:61
-msgid "Select A File"
+#: ../gtk/gtkfilechooserbutton.c:105
+#| msgid "Select A File"
+msgid "Select a File"
msgstr "Izvēlieties failu"
-#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812
+#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1811
msgid "Desktop"
msgstr "Darbvirsma"
-#: gtk/gtkfilechooserbutton.c:63
+#: ../gtk/gtkfilechooserbutton.c:107
msgid "(None)"
msgstr "(Nekas)"
-#: gtk/gtkfilechooserbutton.c:2005
+#: ../gtk/gtkfilechooserbutton.c:2046
msgid "Other..."
msgstr "Cita vieta..."
-#: gtk/gtkfilechooserdefault.c:148
+#: ../gtk/gtkfilechooserdefault.c:148
msgid "Type name of new folder"
msgstr "Ievadiet mapes nosaukumu"
-#: gtk/gtkfilechooserdefault.c:938
+#: ../gtk/gtkfilechooserdefault.c:960
msgid "Could not retrieve information about the file"
msgstr "Neizdevās iegūt informāciju par failu"
-#: gtk/gtkfilechooserdefault.c:949
+#: ../gtk/gtkfilechooserdefault.c:971
msgid "Could not add a bookmark"
msgstr "Neizdevās pievienot grāmatzīmi"
-#: gtk/gtkfilechooserdefault.c:960
+#: ../gtk/gtkfilechooserdefault.c:982
msgid "Could not remove bookmark"
msgstr "Neizdevās izņemt grāmatzīmi"
-#: gtk/gtkfilechooserdefault.c:971
+#: ../gtk/gtkfilechooserdefault.c:993
msgid "The folder could not be created"
msgstr "Neizdevās izveidot mapi"
-#: gtk/gtkfilechooserdefault.c:984
+#: ../gtk/gtkfilechooserdefault.c:1006
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."
"Neizdevās izveidot mapi, jo jau eksistē fails ar šādu nosaukumu. Mēģiniet "
"lietot citu mapes nosaukumu, vai vispirms pārsauciet failu."
-#: gtk/gtkfilechooserdefault.c:995
+#: ../gtk/gtkfilechooserdefault.c:1020
+msgid "You need to choose a valid filename."
+msgstr "Jums jāizvēlas derīgs faila nosaukums."
+
+#: ../gtk/gtkfilechooserdefault.c:1023
+#, c-format
+#| msgid "Cannot change to folder because it is not local"
+msgid "Cannot create a file under %s as it is not a folder"
+msgstr "Nevar izveidot failu zem %s, jo tā nav mape"
+
+#: ../gtk/gtkfilechooserdefault.c:1035
+msgid ""
+"You may only select folders. The item that you selected is not a folder; "
+"try using a different item."
+msgstr ""
+"Jūs varat izvēlēties tikai mapes. Vienums, ko esat izvēlējies nav mape; "
+"izvēlieties citu vienumu."
+
+#: ../gtk/gtkfilechooserdefault.c:1045
msgid "Invalid file name"
msgstr "Nederīgs faila nosaukums"
-#: gtk/gtkfilechooserdefault.c:1005
+#: ../gtk/gtkfilechooserdefault.c:1055
msgid "The folder contents could not be displayed"
msgstr "Neizdevās parādīt mapes saturu"
#. * is a hostname. Nautilus and the panel contain the same string
#. * to translate.
#.
-#: gtk/gtkfilechooserdefault.c:1555
+#: ../gtk/gtkfilechooserdefault.c:1583
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s uz %2$s"
-#: gtk/gtkfilechooserdefault.c:1731
+#: ../gtk/gtkfilechooserdefault.c:1732
msgid "Search"
msgstr "Meklēt"
-#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289
+#: ../gtk/gtkfilechooserdefault.c:1756 ../gtk/gtkfilechooserdefault.c:4873
msgid "Recently Used"
msgstr "Nesen izmantots"
-#: gtk/gtkfilechooserdefault.c:2409
+#: ../gtk/gtkfilechooserdefault.c:2355
msgid "Select which types of files are shown"
msgstr "Izvēlieties, kādu tipu failus rādīt"
-#: gtk/gtkfilechooserdefault.c:2768
+#: ../gtk/gtkfilechooserdefault.c:2714
#, c-format
msgid "Add the folder '%s' to the bookmarks"
msgstr "Pievienot grāmatzīmēm mapi '%s'"
-#: gtk/gtkfilechooserdefault.c:2812
+#: ../gtk/gtkfilechooserdefault.c:2758
#, c-format
msgid "Add the current folder to the bookmarks"
msgstr "Pievienot grāmatzīmēm aktīvo mapi"
-#: gtk/gtkfilechooserdefault.c:2814
+#: ../gtk/gtkfilechooserdefault.c:2760
#, c-format
msgid "Add the selected folders to the bookmarks"
msgstr "Pievienot grāmatzīmēm izvēlētās mapes "
-#: gtk/gtkfilechooserdefault.c:2852
+#: ../gtk/gtkfilechooserdefault.c:2798
#, c-format
msgid "Remove the bookmark '%s'"
msgstr "Izņemt grāmatzīmi '%s'"
-#: gtk/gtkfilechooserdefault.c:2854
+#: ../gtk/gtkfilechooserdefault.c:2800
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr "Grāmatzīmi '%s' nevar izņemt"
-#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725
+#: ../gtk/gtkfilechooserdefault.c:2807 ../gtk/gtkfilechooserdefault.c:3692
msgid "Remove the selected bookmark"
msgstr "Izņemt izvēlēto grāmatzīmi"
-#: gtk/gtkfilechooserdefault.c:3421
+#: ../gtk/gtkfilechooserdefault.c:3371
msgid "Remove"
msgstr "Izņemt"
-#: gtk/gtkfilechooserdefault.c:3430
+#: ../gtk/gtkfilechooserdefault.c:3380
msgid "Rename..."
msgstr "Pārsaukt..."
#. Accessible object name for the file chooser's shortcuts pane
-#: gtk/gtkfilechooserdefault.c:3593
+#: ../gtk/gtkfilechooserdefault.c:3544
msgid "Places"
msgstr "Vietas"
#. Column header for the file chooser's shortcuts pane
-#: gtk/gtkfilechooserdefault.c:3650
+#: ../gtk/gtkfilechooserdefault.c:3601
msgid "_Places"
msgstr "_Vietas"
-#: gtk/gtkfilechooserdefault.c:3706
-msgid "_Add"
-msgstr "_Pievienot"
-
-#: gtk/gtkfilechooserdefault.c:3713
+#: ../gtk/gtkfilechooserdefault.c:3680
msgid "Add the selected folder to the Bookmarks"
msgstr "Pievienot grāmatzīmēm izvēlēto mapi"
-#: gtk/gtkfilechooserdefault.c:3718
-msgid "_Remove"
-msgstr "_Izņemt"
-
-#: gtk/gtkfilechooserdefault.c:3860
+#: ../gtk/gtkfilechooserdefault.c:3827
msgid "Could not select file"
msgstr "Neizdevās izvēlēties failu"
-#: gtk/gtkfilechooserdefault.c:4035
+#: ../gtk/gtkfilechooserdefault.c:4000
msgid "_Add to Bookmarks"
msgstr "_Pievienot grāmatzīmēm"
-#: gtk/gtkfilechooserdefault.c:4048
+#: ../gtk/gtkfilechooserdefault.c:4013
msgid "Show _Hidden Files"
msgstr "Rādīt s_lēptos failus"
-#: gtk/gtkfilechooserdefault.c:4055
+#: ../gtk/gtkfilechooserdefault.c:4020
msgid "Show _Size Column"
msgstr "Rādīt _izmēra kolonnu"
-#: gtk/gtkfilechooserdefault.c:4281
+#: ../gtk/gtkfilechooserdefault.c:4245
msgid "Files"
msgstr "Faili"
-#: gtk/gtkfilechooserdefault.c:4332
+#: ../gtk/gtkfilechooserdefault.c:4296
msgid "Name"
msgstr "Nosaukums"
-#: gtk/gtkfilechooserdefault.c:4355
+#: ../gtk/gtkfilechooserdefault.c:4319
msgid "Size"
msgstr "Izmērs"
-#: gtk/gtkfilechooserdefault.c:4369
+#: ../gtk/gtkfilechooserdefault.c:4333
msgid "Modified"
msgstr "Mainīts"
#. Label
-#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801
+#: ../gtk/gtkfilechooserdefault.c:4414 ../gtk/gtkprinteroptionwidget.c:799
msgid "_Name:"
msgstr "_Nosaukums:"
-#: gtk/gtkfilechooserdefault.c:4667
-msgid "_Browse for other folders"
-msgstr "_Pārlūkot citas mapes"
-
-#: gtk/gtkfilechooserdefault.c:4937
+#: ../gtk/gtkfilechooserdefault.c:4711
msgid "Type a file name"
msgstr "Ierakstiet faila nosaukumu"
+#: ../gtk/gtkfilechooserdefault.c:4758 ../gtk/gtkfilechooserdefault.c:4769
+msgid "Please select a folder below"
+msgstr "Lūdzu, izvēlieties mapi zemāk"
+
+#: ../gtk/gtkfilechooserdefault.c:4764
+#| msgid "Type a file name"
+msgid "Please type a file name"
+msgstr "Lūdzu, ierakstiet faila nosaukumu"
+
#. Create Folder
-#: gtk/gtkfilechooserdefault.c:4980
+#: ../gtk/gtkfilechooserdefault.c:4835
msgid "Create Fo_lder"
msgstr "Izveidot _mapi"
-#: gtk/gtkfilechooserdefault.c:4990
+#: ../gtk/gtkfilechooserdefault.c:4883
+msgid "Search:"
+msgstr "Meklēt:"
+
+#: ../gtk/gtkfilechooserdefault.c:4930
msgid "_Location:"
msgstr "_Atrašanās vieta:"
-#: gtk/gtkfilechooserdefault.c:5194
+#: ../gtk/gtkfilechooserdefault.c:5247
msgid "Save in _folder:"
msgstr "Saglabāt _mapē:"
-#: gtk/gtkfilechooserdefault.c:5196
+#: ../gtk/gtkfilechooserdefault.c:5249
msgid "Create in _folder:"
msgstr "Izveidot _mapē:"
-#: gtk/gtkfilechooserdefault.c:6248
+#: ../gtk/gtkfilechooserdefault.c:6343
#, c-format
msgid "Could not read the contents of %s"
msgstr "Neizdevās nolasīt %s saturu"
-#: gtk/gtkfilechooserdefault.c:6252
+#: ../gtk/gtkfilechooserdefault.c:6347
msgid "Could not read the contents of the folder"
msgstr "Neizdevās nolasīt mapes saturu"
-#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413
-#: gtk/gtkfilechooserdefault.c:6558
+#: ../gtk/gtkfilechooserdefault.c:6440 ../gtk/gtkfilechooserdefault.c:6508
+#: ../gtk/gtkfilechooserdefault.c:6660
msgid "Unknown"
msgstr "Nezināms"
-#: gtk/gtkfilechooserdefault.c:6360
+#: ../gtk/gtkfilechooserdefault.c:6455
msgid "%H:%M"
msgstr "%H:%M"
-#: gtk/gtkfilechooserdefault.c:6362
+#: ../gtk/gtkfilechooserdefault.c:6457
msgid "Yesterday at %H:%M"
msgstr "Vakar %H:%M"
-#: gtk/gtkfilechooserdefault.c:7028
+#: ../gtk/gtkfilechooserdefault.c:7142
msgid "Cannot change to folder because it is not local"
msgstr "Nevar pārslēgties uz mapi, jo tā nav lokāla "
-#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646
+#: ../gtk/gtkfilechooserdefault.c:7742 ../gtk/gtkfilechooserdefault.c:7763
#, c-format
msgid "Shortcut %s already exists"
msgstr "Saīsne %s jau eksistē"
-#: gtk/gtkfilechooserdefault.c:7736
+#: ../gtk/gtkfilechooserdefault.c:7853
#, c-format
msgid "Shortcut %s does not exist"
msgstr "Saīsne %s neeksistē"
-#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480
+#: ../gtk/gtkfilechooserdefault.c:8099 ../gtk/gtkprintunixdialog.c:550
#, c-format
msgid "A file named \"%s\" already exists. Do you want to replace it?"
msgstr "Fails \"%s\" jau eksistē. Vai vēlaties to aizvietot?"
-#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484
+#: ../gtk/gtkfilechooserdefault.c:8102 ../gtk/gtkprintunixdialog.c:554
#, c-format
msgid ""
"The file already exists in \"%s\". Replacing it will overwrite its contents."
msgstr ""
"Šāds fails jau eksistē mapē \"%s\". Tā aizstāšana pārrakstīs visu tā saturu."
-#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491
+#: ../gtk/gtkfilechooserdefault.c:8107 ../gtk/gtkprintunixdialog.c:561
msgid "_Replace"
msgstr "_Aizvietot"
-#: gtk/gtkfilechooserdefault.c:8658
+#: ../gtk/gtkfilechooserdefault.c:8860
msgid "Could not start the search process"
msgstr "Neizdevās sākt meklēšanas procesu"
-#: gtk/gtkfilechooserdefault.c:8659
+#: ../gtk/gtkfilechooserdefault.c:8861
msgid ""
"The program was not able to create a connection to the indexer daemon. "
"Please make sure it is running."
"Neizdevās savienoties ar indeksētājdēmonu. Lūdzu, pārliecinieties, ka tas "
"darbojas."
-#: gtk/gtkfilechooserdefault.c:8673
+#: ../gtk/gtkfilechooserdefault.c:8875
msgid "Could not send the search request"
msgstr "Neizdevās nosūtīt meklēšanas pieprasījumu"
-#: gtk/gtkfilechooserdefault.c:8861
-msgid "Search:"
-msgstr "Meklēt:"
-
-#: gtk/gtkfilechooserdefault.c:9466
+#: ../gtk/gtkfilechooserdefault.c:9667
#, c-format
msgid "Could not mount %s"
msgstr "Neizdevās piemontēt %s"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry, when the user enters an invalid path.
-#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169
+#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1174
+#: ../gtk/gtkfilesystem.c:721
+#, c-format
msgid "Invalid path"
msgstr "Nederīgs ceļš"
#. translators: this text is shown when there are no completions
#. * for something the user typed in a file chooser entry
#.
-#: gtk/gtkfilechooserentry.c:1101
+#: ../gtk/gtkfilechooserentry.c:1106
msgid "No match"
msgstr "Nav rezultātu"
#. translators: this text is shown when there is exactly one completion
#. * for something the user typed in a file chooser entry
#.
-#: gtk/gtkfilechooserentry.c:1112
+#: ../gtk/gtkfilechooserentry.c:1117
msgid "Sole completion"
msgstr "Vienīgā saderība"
#. * entry is a complete filename, but could be continued to find
#. * a longer match
#.
-#: gtk/gtkfilechooserentry.c:1128
+#: ../gtk/gtkfilechooserentry.c:1133
msgid "Complete, but not unique"
msgstr "Ir arī citas saderības"
#. Translators: this text is shown while the system is searching
#. * for possible completions for filenames in a file chooser entry.
-#: gtk/gtkfilechooserentry.c:1160
+#: ../gtk/gtkfilechooserentry.c:1165
msgid "Completing..."
msgstr "Pabeidz..."
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user enters something like
#. * "sftp://blahblah" in an app that only supports local filenames.
-#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207
+#: ../gtk/gtkfilechooserentry.c:1187 ../gtk/gtkfilechooserentry.c:1212
msgid "Only local files may be selected"
msgstr "Var izvēlēties tikai vietējos failus"
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user hasn't entered the first '/'
#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]")
-#: gtk/gtkfilechooserentry.c:1191
+#: ../gtk/gtkfilechooserentry.c:1196
msgid "Incomplete hostname; end it with '/'"
msgstr "Nepabeigts servera nosaukums (trūkst '/')"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry when the user enters a path that does not exist
#. * and then hits Tab
-#: gtk/gtkfilechooserentry.c:1202
+#: ../gtk/gtkfilechooserentry.c:1207
msgid "Path does not exist"
msgstr "Ceļš neeksistē"
-#: gtk/gtkfilechoosersettings.c:486
-#, c-format
-msgid "Error creating folder '%s': %s"
-msgstr "Kļūda, veidojot mapi '%s': %s"
-
#. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are
#. * really pointers to GDrive, GVolume or GMount objects. We need an extra
#. * token for the fake "File System" volume. So, we'll return a pointer to
#. * this particular string.
#.
-#: gtk/gtkfilesystem.c:48
+#: ../gtk/gtkfilesystem.c:48
msgid "File System"
msgstr "Failu sistēma"
-#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266
+#: ../gtk/gtkfontbutton.c:153 ../gtk/gtkfontbutton.c:277
msgid "Pick a Font"
msgstr "Izvēlieties fontu"
#. Initialize fields
-#: gtk/gtkfontbutton.c:260
+#: ../gtk/gtkfontbutton.c:271
msgid "Sans 12"
msgstr "Sans 12"
-#: gtk/gtkfontbutton.c:785
+#: ../gtk/gtkfontbutton.c:796
msgid "Font"
msgstr "Fonts"
#. This is the default text shown in the preview entry, though the user
#. can set it. Remember that some fonts only have capital letters.
-#: gtk/gtkfontsel.c:103
+#: ../gtk/gtkfontsel.c:119
msgid "abcdefghijk ABCDEFGHIJK"
msgstr "aābcčdeēfgģhiījkķ AĀBCČDEĒFGĢHIĪJKĶ"
-#: gtk/gtkfontsel.c:370
+#: ../gtk/gtkfontsel.c:388
msgid "_Family:"
msgstr "Sai_me:"
-#: gtk/gtkfontsel.c:376
+#: ../gtk/gtkfontsel.c:395
msgid "_Style:"
msgstr "_Stils:"
-#: gtk/gtkfontsel.c:382
+#: ../gtk/gtkfontsel.c:402
msgid "Si_ze:"
msgstr "I_zmērs:"
#. create the text entry widget
-#: gtk/gtkfontsel.c:559
+#: ../gtk/gtkfontsel.c:579
msgid "_Preview:"
msgstr "_Priekšskatījums:"
-#: gtk/gtkfontsel.c:1659
+#: ../gtk/gtkfontsel.c:1701
msgid "Font Selection"
msgstr "Fonta izvēle"
-#. Remove this icon source so we don't keep trying to
-#. * load it.
-#.
-#: gtk/gtkiconfactory.c:1356
-#, c-format
-msgid "Error loading icon: %s"
-msgstr "Kļūda, ielādējot ikonu: %s"
-
-#: gtk/gtkicontheme.c:1354
-#, c-format
-msgid ""
-"Could not find the icon '%s'. The '%s' theme\n"
-"was not found either, perhaps you need to install it.\n"
-"You can get a copy from:\n"
-"\t%s"
-msgstr ""
-"Neizdevās atrast ikonu '%s'. Tēma '%s'\n"
-"arī netika atrasta; iespējams, tā jāinstalē.\n"
-"To var iegūt:\n"
-"\t%s"
-
-#: gtk/gtkicontheme.c:1535
+#: ../gtk/gtkicontheme.c:1605
#, c-format
msgid "Icon '%s' not present in theme"
msgstr "Tēmā nav ikonas '%s'"
-#: gtk/gtkicontheme.c:3048
+#: ../gtk/gtkicontheme.c:3115
msgid "Failed to load icon"
msgstr "Neizdevās ielādēt ikonu"
-#: gtk/gtkimmodule.c:526
+#: ../gtk/gtkimmodule.c:525
msgid "Simple"
msgstr "Vienkāršs"
-#: gtk/gtkimmulticontext.c:588
+#: ../gtk/gtkimmulticontext.c:588
msgctxt "input method menu"
msgid "System"
msgstr "Sistēma"
-#: gtk/gtkimmulticontext.c:598
+#: ../gtk/gtkimmulticontext.c:598
msgctxt "input method menu"
msgid "None"
msgstr "Nekas"
-#: gtk/gtkimmulticontext.c:681
+#: ../gtk/gtkimmulticontext.c:681
#, c-format
msgctxt "input method menu"
msgid "System (%s)"
msgstr "Sistēma (%s)"
#. Open Link
-#: gtk/gtklabel.c:6202
+#: ../gtk/gtklabel.c:6309
msgid "_Open Link"
msgstr "_Atvērt saiti"
#. Copy Link Address
-#: gtk/gtklabel.c:6214
+#: ../gtk/gtklabel.c:6321
msgid "Copy _Link Address"
msgstr "Kopēt sai_tes adresi"
-#: gtk/gtklinkbutton.c:449
+#: ../gtk/gtklinkbutton.c:484
msgid "Copy URL"
msgstr "Kopēt URL"
-#: gtk/gtklinkbutton.c:601
+#: ../gtk/gtklinkbutton.c:647
msgid "Invalid URI"
msgstr "Nederīgs URI"
+#: ../gtk/gtklockbutton.c:288
+#| msgctxt "keyboard label"
+#| msgid "Num_Lock"
+msgid "Lock"
+msgstr "Slēgt"
+
+#: ../gtk/gtklockbutton.c:297
+msgid "Unlock"
+msgstr "Atslēgt"
+
+#: ../gtk/gtklockbutton.c:306
+msgid ""
+"Dialog is unlocked.\n"
+"Click to prevent further changes"
+msgstr ""
+"Dialogs ir atslēgts.\n"
+"Klikšķiniet, lai novērstu turpmākas izmaiņas"
+
+#: ../gtk/gtklockbutton.c:315
+msgid ""
+"Dialog is locked.\n"
+"Click to make changes"
+msgstr ""
+"Dialogs ir aizslēgts.\n"
+"Klikšķiniet, lai veiktu izmaiņas"
+
+#: ../gtk/gtklockbutton.c:324
+msgid ""
+"System policy prevents changes.\n"
+"Contact your system administrator"
+msgstr ""
+"Sistēmas politika neļauj veikt izmaiņas.\n"
+"Sazinieties ar sistēmas administratoru"
+
#. Description of --gtk-module=MODULES in --help output
-#: gtk/gtkmain.c:526
+#: ../gtk/gtkmain.c:562
msgid "Load additional GTK+ modules"
msgstr "Ielādēt papildu GTK+ moduļus"
#. Placeholder in --gtk-module=MODULES in --help output
-#: gtk/gtkmain.c:527
+#: ../gtk/gtkmain.c:563
msgid "MODULES"
msgstr "MODUĻI"
#. Description of --g-fatal-warnings in --help output
-#: gtk/gtkmain.c:529
+#: ../gtk/gtkmain.c:565
msgid "Make all warnings fatal"
msgstr "Padarīt visus brīdinājumus fatālus"
#. Description of --gtk-debug=FLAGS in --help output
-#: gtk/gtkmain.c:532
+#: ../gtk/gtkmain.c:568
msgid "GTK+ debugging flags to set"
msgstr "Iestatāmie GTK+ atkļūdošanas karodziņi"
#. Description of --gtk-no-debug=FLAGS in --help output
-#: gtk/gtkmain.c:535
+#: ../gtk/gtkmain.c:571
msgid "GTK+ debugging flags to unset"
msgstr "Noņemamie GTK+ atkļūdošanas karodziņi"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: gtk/gtkmain.c:798
+#: ../gtk/gtkmain.c:848
msgid "default:LTR"
msgstr "default:LTR"
-#: gtk/gtkmain.c:863
+#: ../gtk/gtkmain.c:914
#, c-format
msgid "Cannot open display: %s"
msgstr "Nevar atvērt ekrānu: %s"
-#: gtk/gtkmain.c:922
+#: ../gtk/gtkmain.c:980
msgid "GTK+ Options"
msgstr "GTK+ opcijas"
-#: gtk/gtkmain.c:922
+#: ../gtk/gtkmain.c:980
msgid "Show GTK+ Options"
msgstr "Parādīt GTK+ opcijas"
-#: gtk/gtkmountoperation.c:491
+#: ../gtk/gtkmountoperation.c:489
msgid "Co_nnect"
msgstr "Pie_slēgties"
-#: gtk/gtkmountoperation.c:558
+#: ../gtk/gtkmountoperation.c:559
msgid "Connect _anonymously"
msgstr "Pieslēgties _anonīmi"
-#: gtk/gtkmountoperation.c:567
+#: ../gtk/gtkmountoperation.c:568
msgid "Connect as u_ser:"
msgstr "Pieslēgtie_s kā:"
-#: gtk/gtkmountoperation.c:605
+#: ../gtk/gtkmountoperation.c:602
msgid "_Username:"
msgstr "_Lietotājvārds:"
-#: gtk/gtkmountoperation.c:610
+#: ../gtk/gtkmountoperation.c:607
msgid "_Domain:"
msgstr "_Domēns:"
-#: gtk/gtkmountoperation.c:616
+#: ../gtk/gtkmountoperation.c:613
msgid "_Password:"
msgstr "_Parole:"
-#: gtk/gtkmountoperation.c:634
+#: ../gtk/gtkmountoperation.c:631
msgid "Forget password _immediately"
msgstr "Tūlīt a_izmirst paroli"
-#: gtk/gtkmountoperation.c:644
+#: ../gtk/gtkmountoperation.c:641
msgid "Remember password until you _logout"
msgstr "Atcerēties paroli _līdz sesijas beigām"
-#: gtk/gtkmountoperation.c:654
+#: ../gtk/gtkmountoperation.c:651
msgid "Remember _forever"
msgstr "Atcerēties _mūžīgi"
-#: gtk/gtkmountoperation.c:883
-#, fuzzy, c-format
+#: ../gtk/gtkmountoperation.c:880
+#, c-format
msgid "Unknown Application (PID %d)"
-msgstr "Nezināma lietotne (pid %d)"
+msgstr "Nezināma lietotne (PID %d)"
-#: gtk/gtkmountoperation.c:1066
-#, c-format
+#: ../gtk/gtkmountoperation.c:1063
msgid "Unable to end process"
msgstr "Neizdevās beigt procesu"
-#: gtk/gtkmountoperation.c:1103
+#: ../gtk/gtkmountoperation.c:1100
msgid "_End Process"
msgstr "B_eigt procesu"
-#: gtk/gtkmountoperation-stub.c:64
-#, fuzzy, c-format
+#: ../gtk/gtkmountoperation-stub.c:64
+#, c-format
msgid "Cannot kill process with PID %d. Operation is not implemented."
-msgstr "Nevar nobeigt procesu ar pid %d. Operācija nav ieviesta."
+msgstr "Nevar nobeigt procesu ar PID %d. Operācija nav ieviesta."
#. translators: this string is a name for the 'less' command
-#: gtk/gtkmountoperation-x11.c:862
+#: ../gtk/gtkmountoperation-x11.c:859
msgid "Terminal Pager"
msgstr "Termināļa lapotājs"
-#: gtk/gtkmountoperation-x11.c:863
+#: ../gtk/gtkmountoperation-x11.c:860
msgid "Top Command"
msgstr "Top komanda"
-#: gtk/gtkmountoperation-x11.c:864
+#: ../gtk/gtkmountoperation-x11.c:861
msgid "Bourne Again Shell"
msgstr "Bourne Again Shell"
-#: gtk/gtkmountoperation-x11.c:865
+#: ../gtk/gtkmountoperation-x11.c:862
msgid "Bourne Shell"
msgstr "Bourne Shell"
-#: gtk/gtkmountoperation-x11.c:866
+#: ../gtk/gtkmountoperation-x11.c:863
msgid "Z Shell"
msgstr "Z Shell"
-#: gtk/gtkmountoperation-x11.c:963
-#, fuzzy, c-format
+#: ../gtk/gtkmountoperation-x11.c:960
+#, c-format
msgid "Cannot end process with PID %d: %s"
-msgstr "Nevar beigt procesu ar pid %d: %s"
+msgstr "Nevar beigt procesu ar PID %d: %s"
-#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170
+#: ../gtk/gtknotebook.c:4922 ../gtk/gtknotebook.c:7611
#, c-format
msgid "Page %u"
msgstr "Lapa %u"
-#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880
+#. Translators: the format here is used to build the string that will be rendered
+#. * in the number emblem.
+#.
+#: ../gtk/gtknumerableicon.c:482
+#, c-format
+#| msgctxt "calendar:day:digits"
+#| msgid "%d"
+msgctxt "Number format"
+msgid "%d"
+msgstr "%d"
+
+#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:849
+#: ../gtk/gtkpapersize.c:889
msgid "Not a valid page setup file"
msgstr "Nav derīgs lapas iestatījumu fails"
-#: gtk/gtkpagesetupunixdialog.c:179
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "Any Printer"
msgstr "Jebkurš printeris"
-#: gtk/gtkpagesetupunixdialog.c:179
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "For portable documents"
msgstr "Pārnesamiem dokumentiem"
-#: gtk/gtkpagesetupunixdialog.c:809
+#: ../gtk/gtkpagesetupunixdialog.c:802
#, c-format
msgid ""
"Margins:\n"
" Augšā: %s %s\n"
" Apakšā: %s %s"
-#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284
+#: ../gtk/gtkpagesetupunixdialog.c:851 ../gtk/gtkprintunixdialog.c:3376
msgid "Manage Custom Sizes..."
msgstr "Definēt citus izmērus..."
-#: gtk/gtkpagesetupunixdialog.c:909
+#: ../gtk/gtkpagesetupunixdialog.c:902
msgid "_Format for:"
msgstr "No_formēt priekš:"
-#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456
+#: ../gtk/gtkpagesetupunixdialog.c:925 ../gtk/gtkprintunixdialog.c:3556
msgid "_Paper size:"
msgstr "_Papīra izmēri:"
-#: gtk/gtkpagesetupunixdialog.c:962
+#: ../gtk/gtkpagesetupunixdialog.c:958
msgid "_Orientation:"
msgstr "_Orientācija:"
-#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518
+#: ../gtk/gtkpagesetupunixdialog.c:1023 ../gtk/gtkprintunixdialog.c:3620
msgid "Page Setup"
msgstr "Lappuses iestatīšana"
-#: gtk/gtkpathbar.c:154
+#: ../gtk/gtkpathbar.c:156
msgid "Up Path"
msgstr "Augšup"
-#: gtk/gtkpathbar.c:156
+#: ../gtk/gtkpathbar.c:158
msgid "Down Path"
msgstr "Lejup"
-#: gtk/gtkpathbar.c:1497
+#: ../gtk/gtkpathbar.c:1516
msgid "File System Root"
msgstr "Failu sistēmas sakne"
-#: gtk/gtkprintbackend.c:749
+#: ../gtk/gtkprintbackend.c:749
msgid "Authentication"
msgstr "Autentificēšana"
-#: gtk/gtkprinteroptionwidget.c:694
+#: ../gtk/gtkprinteroptionwidget.c:692
msgid "Not available"
msgstr "Nav pieejams"
-#: gtk/gtkprinteroptionwidget.c:794
-#, fuzzy
+#: ../gtk/gtkprinteroptionwidget.c:792
msgid "Select a folder"
-msgstr "Izvēlieties failu"
+msgstr "Izvēlieties mapi"
-#: gtk/gtkprinteroptionwidget.c:813
+#: ../gtk/gtkprinteroptionwidget.c:812
msgid "_Save in folder:"
msgstr "_Saglabāt mapē:"
#. * jobs. %s gets replaced by the application name, %d gets replaced
#. * by the job number.
#.
-#: gtk/gtkprintoperation.c:190
+#: ../gtk/gtkprintoperation.c:263
#, c-format
msgid "%s job #%d"
msgstr "%s uzdevums #%d"
-#: gtk/gtkprintoperation.c:1695
+#: ../gtk/gtkprintoperation.c:1768
msgctxt "print operation status"
msgid "Initial state"
msgstr "Sākuma stāvoklis"
-#: gtk/gtkprintoperation.c:1696
+#: ../gtk/gtkprintoperation.c:1769
msgctxt "print operation status"
msgid "Preparing to print"
msgstr "Gatavojas drukāt"
-#: gtk/gtkprintoperation.c:1697
+#: ../gtk/gtkprintoperation.c:1770
msgctxt "print operation status"
msgid "Generating data"
msgstr "Veido datus"
-#: gtk/gtkprintoperation.c:1698
+#: ../gtk/gtkprintoperation.c:1771
msgctxt "print operation status"
msgid "Sending data"
msgstr "Sūta datus"
-#: gtk/gtkprintoperation.c:1699
+#: ../gtk/gtkprintoperation.c:1772
msgctxt "print operation status"
msgid "Waiting"
msgstr "Gaida"
-#: gtk/gtkprintoperation.c:1700
+#: ../gtk/gtkprintoperation.c:1773
msgctxt "print operation status"
msgid "Blocking on issue"
msgstr "Apturēts problēmas dēļ"
-#: gtk/gtkprintoperation.c:1701
+#: ../gtk/gtkprintoperation.c:1774
msgctxt "print operation status"
msgid "Printing"
msgstr "Drukā"
-#: gtk/gtkprintoperation.c:1702
+#: ../gtk/gtkprintoperation.c:1775
msgctxt "print operation status"
msgid "Finished"
msgstr "Pabeigts"
-#: gtk/gtkprintoperation.c:1703
+#: ../gtk/gtkprintoperation.c:1776
msgctxt "print operation status"
msgid "Finished with error"
msgstr "Pabeigts ar kļūdu"
-#: gtk/gtkprintoperation.c:2270
+#: ../gtk/gtkprintoperation.c:2343
#, c-format
msgid "Preparing %d"
msgstr "Sagatavo %d"
-#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902
-#, c-format
+#: ../gtk/gtkprintoperation.c:2345 ../gtk/gtkprintoperation.c:2975
msgid "Preparing"
msgstr "Sagatavo"
-#: gtk/gtkprintoperation.c:2275
+#: ../gtk/gtkprintoperation.c:2348
#, c-format
msgid "Printing %d"
msgstr "Drukā %d"
-#: gtk/gtkprintoperation.c:2932
-#, c-format
+#: ../gtk/gtkprintoperation.c:3005
msgid "Error creating print preview"
msgstr "Kļūda, veidojot priekšskatījumu"
-#: gtk/gtkprintoperation.c:2935
-#, c-format
+#: ../gtk/gtkprintoperation.c:3008
msgid "The most probable reason is that a temporary file could not be created."
msgstr "Visticamāk tāpēc, ka neizdevās izveidot pagaidu failu."
-#: gtk/gtkprintoperation-unix.c:297
+#: ../gtk/gtkprintoperation-unix.c:304
msgid "Error launching preview"
msgstr "Kļūda, palaižot priekšskatījumu"
-#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447
+#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447
msgid "Application"
msgstr "Programma"
-#: gtk/gtkprintoperation-win32.c:611
+#: ../gtk/gtkprintoperation-win32.c:611
msgid "Printer offline"
msgstr "Printeris atslēgts"
-#: gtk/gtkprintoperation-win32.c:613
+#: ../gtk/gtkprintoperation-win32.c:613
msgid "Out of paper"
msgstr "Beidzies papīrs"
#. Translators: this is a printer status.
-#: gtk/gtkprintoperation-win32.c:615
-#: modules/printbackends/cups/gtkprintbackendcups.c:1998
+#: ../gtk/gtkprintoperation-win32.c:615
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2022
msgid "Paused"
msgstr "Apturēts"
-#: gtk/gtkprintoperation-win32.c:617
+#: ../gtk/gtkprintoperation-win32.c:617
msgid "Need user intervention"
msgstr "Nepieciešama lietotāja iejaukšanās"
-#: gtk/gtkprintoperation-win32.c:717
+#: ../gtk/gtkprintoperation-win32.c:717
msgid "Custom size"
msgstr "Pielāgots izmērs"
-#: gtk/gtkprintoperation-win32.c:1539
+#: ../gtk/gtkprintoperation-win32.c:1539
msgid "No printer found"
msgstr "Nav atrasts printeris"
-#: gtk/gtkprintoperation-win32.c:1566
+#: ../gtk/gtkprintoperation-win32.c:1566
msgid "Invalid argument to CreateDC"
msgstr "Nederīgs CreateDC arguments"
-#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829
+#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829
msgid "Error from StartDoc"
msgstr "Kļūda no StartDoc"
-#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707
-#: gtk/gtkprintoperation-win32.c:1755
+#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707
+#: ../gtk/gtkprintoperation-win32.c:1755
msgid "Not enough free memory"
msgstr "Nepietiek brīvas atmiņas"
-#: gtk/gtkprintoperation-win32.c:1760
+#: ../gtk/gtkprintoperation-win32.c:1760
msgid "Invalid argument to PrintDlgEx"
msgstr "Nederīgs PrintDlgEx arguments"
-#: gtk/gtkprintoperation-win32.c:1765
+#: ../gtk/gtkprintoperation-win32.c:1765
msgid "Invalid pointer to PrintDlgEx"
msgstr "Nederīgs rādītājs uz PrintDlgEx"
-#: gtk/gtkprintoperation-win32.c:1770
+#: ../gtk/gtkprintoperation-win32.c:1770
msgid "Invalid handle to PrintDlgEx"
msgstr "Nederīgs PrintDlgEx turis"
-#: gtk/gtkprintoperation-win32.c:1775
+#: ../gtk/gtkprintoperation-win32.c:1775
msgid "Unspecified error"
msgstr "Nenorādīta kļūda"
-#: gtk/gtkprintunixdialog.c:618
+#: ../gtk/gtkprintunixdialog.c:688
msgid "Getting printer information failed"
msgstr "Neizdevās iegūt printera informāciju"
-#: gtk/gtkprintunixdialog.c:1873
+#: ../gtk/gtkprintunixdialog.c:1942
msgid "Getting printer information..."
msgstr "Iegūst printera informāciju..."
-#: gtk/gtkprintunixdialog.c:2139
+#: ../gtk/gtkprintunixdialog.c:2216
msgid "Printer"
msgstr "Printeris"
#. Translators: this is the header for the location column in the print dialog
-#: gtk/gtkprintunixdialog.c:2149
+#: ../gtk/gtkprintunixdialog.c:2226
msgid "Location"
msgstr "Vieta"
#. Translators: this is the header for the printer status column in the print dialog
-#: gtk/gtkprintunixdialog.c:2160
+#: ../gtk/gtkprintunixdialog.c:2237
msgid "Status"
msgstr "Statuss"
-#: gtk/gtkprintunixdialog.c:2186
+#: ../gtk/gtkprintunixdialog.c:2263
msgid "Range"
msgstr "Drukāt"
-#: gtk/gtkprintunixdialog.c:2190
+#: ../gtk/gtkprintunixdialog.c:2267
msgid "_All Pages"
msgstr "Vis_as lapas"
-#: gtk/gtkprintunixdialog.c:2197
+#: ../gtk/gtkprintunixdialog.c:2274
msgid "C_urrent Page"
msgstr "Šo lap_u"
-#: gtk/gtkprintunixdialog.c:2207
+#: ../gtk/gtkprintunixdialog.c:2284
msgid "Se_lection"
msgstr "Izvē_lēto"
-#: gtk/gtkprintunixdialog.c:2216
+#: ../gtk/gtkprintunixdialog.c:2293
msgid "Pag_es:"
msgstr "L_apas:"
-#: gtk/gtkprintunixdialog.c:2217
+#: ../gtk/gtkprintunixdialog.c:2294
msgid ""
"Specify one or more page ranges,\n"
" e.g. 1-3,7,11"
"Norādiet vienu vai vairākus lapu apgabalus,\n"
"piemēram: 1-3,7,11"
-#: gtk/gtkprintunixdialog.c:2227
+#: ../gtk/gtkprintunixdialog.c:2304
msgid "Pages"
msgstr "Lapas"
-#: gtk/gtkprintunixdialog.c:2240
+#: ../gtk/gtkprintunixdialog.c:2317
msgid "Copies"
msgstr "Kopijas"
#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns
-#: gtk/gtkprintunixdialog.c:2245
+#: ../gtk/gtkprintunixdialog.c:2322
msgid "Copie_s:"
msgstr "Kopija_s:"
-#: gtk/gtkprintunixdialog.c:2263
+#: ../gtk/gtkprintunixdialog.c:2341
msgid "C_ollate"
msgstr "Sa_likt pa lappusēm"
-#: gtk/gtkprintunixdialog.c:2271
+#: ../gtk/gtkprintunixdialog.c:2349
msgid "_Reverse"
msgstr "Ot_rādi"
-#: gtk/gtkprintunixdialog.c:2291
+#: ../gtk/gtkprintunixdialog.c:2369
msgid "General"
msgstr "Vispārīgi"
#. Translators: These strings name the possible arrangements of
#. * multiple pages on a sheet when printing
#.
-#: gtk/gtkprintunixdialog.c:3017
-#: modules/printbackends/cups/gtkprintbackendcups.c:3508
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, top to bottom"
msgstr "No kreisās uz labo, no augšas uz leju"
-#: gtk/gtkprintunixdialog.c:3017
-#: modules/printbackends/cups/gtkprintbackendcups.c:3508
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, bottom to top"
msgstr "No kreisās uz labo, no lejas uz augšu"
-#: gtk/gtkprintunixdialog.c:3018
-#: modules/printbackends/cups/gtkprintbackendcups.c:3509
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, top to bottom"
msgstr "No labās uz kreiso, no augšas uz leju"
-#: gtk/gtkprintunixdialog.c:3018
-#: modules/printbackends/cups/gtkprintbackendcups.c:3509
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, bottom to top"
msgstr "No labās uz kreiso, no lejas uz augšu"
-#: gtk/gtkprintunixdialog.c:3019
-#: modules/printbackends/cups/gtkprintbackendcups.c:3510
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, left to right"
msgstr "No augšas uz leju, no kreisās uz labo"
-#: gtk/gtkprintunixdialog.c:3019
-#: modules/printbackends/cups/gtkprintbackendcups.c:3510
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, right to left"
msgstr "No augšas uz leju, no labās uz kreiso"
-#: gtk/gtkprintunixdialog.c:3020
-#: modules/printbackends/cups/gtkprintbackendcups.c:3511
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, left to right"
msgstr "No lejas uz augšu, no kreisās uz labo"
-#: gtk/gtkprintunixdialog.c:3020
-#: modules/printbackends/cups/gtkprintbackendcups.c:3511
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, right to left"
msgstr "No lejas uz augšu, no labās uz kreiso"
#. Translators, this string is used to label the option in the print
#. * dialog that controls in what order multiple pages are arranged
#.
-#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037
-#: modules/printbackends/cups/gtkprintbackendcups.c:3543
+#: ../gtk/gtkprintunixdialog.c:3116 ../gtk/gtkprintunixdialog.c:3129
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3609
msgid "Page Ordering"
msgstr "Lapu secība"
-#: gtk/gtkprintunixdialog.c:3053
+#: ../gtk/gtkprintunixdialog.c:3145
msgid "Left to right"
msgstr "No kreisās uz labo"
-#: gtk/gtkprintunixdialog.c:3054
+#: ../gtk/gtkprintunixdialog.c:3146
msgid "Right to left"
msgstr "No labās uz kreiso"
-#: gtk/gtkprintunixdialog.c:3066
+#: ../gtk/gtkprintunixdialog.c:3158
msgid "Top to bottom"
msgstr "No augšas uz leju"
-#: gtk/gtkprintunixdialog.c:3067
+#: ../gtk/gtkprintunixdialog.c:3159
msgid "Bottom to top"
msgstr "No lejas uz augšu"
-#: gtk/gtkprintunixdialog.c:3307
+#: ../gtk/gtkprintunixdialog.c:3399
msgid "Layout"
msgstr "Izkārtojums"
-#: gtk/gtkprintunixdialog.c:3311
+#: ../gtk/gtkprintunixdialog.c:3403
msgid "T_wo-sided:"
msgstr "A_bās pusēs:"
-#: gtk/gtkprintunixdialog.c:3326
+#: ../gtk/gtkprintunixdialog.c:3419
msgid "Pages per _side:"
msgstr "Lapa_s lappusē:"
-#: gtk/gtkprintunixdialog.c:3343
+#: ../gtk/gtkprintunixdialog.c:3437
msgid "Page or_dering:"
msgstr "Lapu _secība:"
-#: gtk/gtkprintunixdialog.c:3359
+#: ../gtk/gtkprintunixdialog.c:3454
msgid "_Only print:"
msgstr "Drukāt _tikai:"
#. In enum order
-#: gtk/gtkprintunixdialog.c:3374
+#: ../gtk/gtkprintunixdialog.c:3470
msgid "All sheets"
msgstr "Visas loksnes"
-#: gtk/gtkprintunixdialog.c:3375
+#: ../gtk/gtkprintunixdialog.c:3471
msgid "Even sheets"
msgstr "Pāra loksnes"
-#: gtk/gtkprintunixdialog.c:3376
+#: ../gtk/gtkprintunixdialog.c:3472
msgid "Odd sheets"
msgstr "Nepāra loksnes"
-#: gtk/gtkprintunixdialog.c:3379
+#: ../gtk/gtkprintunixdialog.c:3475
msgid "Sc_ale:"
msgstr "_Mērogs:"
-#: gtk/gtkprintunixdialog.c:3406
+#: ../gtk/gtkprintunixdialog.c:3503
msgid "Paper"
msgstr "Papīrs"
-#: gtk/gtkprintunixdialog.c:3410
+#: ../gtk/gtkprintunixdialog.c:3507
msgid "Paper _type:"
msgstr "Papīra _tips:"
-#: gtk/gtkprintunixdialog.c:3425
+#: ../gtk/gtkprintunixdialog.c:3523
msgid "Paper _source:"
msgstr "Papīra _avots:"
-#: gtk/gtkprintunixdialog.c:3440
+#: ../gtk/gtkprintunixdialog.c:3539
msgid "Output t_ray:"
msgstr "Izvades _paplāte:"
-#: gtk/gtkprintunixdialog.c:3480
+#: ../gtk/gtkprintunixdialog.c:3581
msgid "Or_ientation:"
msgstr "Or_ientācija:"
#. In enum order
-#: gtk/gtkprintunixdialog.c:3495
+#: ../gtk/gtkprintunixdialog.c:3597
msgid "Portrait"
msgstr "Portrets"
-#: gtk/gtkprintunixdialog.c:3496
+#: ../gtk/gtkprintunixdialog.c:3598
msgid "Landscape"
msgstr "Ainava"
-#: gtk/gtkprintunixdialog.c:3497
+#: ../gtk/gtkprintunixdialog.c:3599
msgid "Reverse portrait"
msgstr "Apgriezts portrets"
-#: gtk/gtkprintunixdialog.c:3498
+#: ../gtk/gtkprintunixdialog.c:3600
msgid "Reverse landscape"
msgstr "Apgriezta ainava"
-#: gtk/gtkprintunixdialog.c:3543
+#: ../gtk/gtkprintunixdialog.c:3645
msgid "Job Details"
msgstr "Uzdevuma detaļas"
-#: gtk/gtkprintunixdialog.c:3549
+#: ../gtk/gtkprintunixdialog.c:3651
msgid "Pri_ority:"
msgstr "Pri_oritāte:"
-#: gtk/gtkprintunixdialog.c:3564
+#: ../gtk/gtkprintunixdialog.c:3667
msgid "_Billing info:"
msgstr "_Rēķina informācija:"
-#: gtk/gtkprintunixdialog.c:3582
+#: ../gtk/gtkprintunixdialog.c:3686
msgid "Print Document"
msgstr "Drukāt dokumentu"
#. Translators: this is one of the choices for the print at option
#. * in the print dialog
#.
-#: gtk/gtkprintunixdialog.c:3591
+#: ../gtk/gtkprintunixdialog.c:3695
msgid "_Now"
msgstr "_Tagad"
-#: gtk/gtkprintunixdialog.c:3602
+#: ../gtk/gtkprintunixdialog.c:3706
msgid "A_t:"
msgstr "_Vēlāk:"
#. * You can remove the am/pm values below for your locale if they are not
#. * supported.
#.
-#: gtk/gtkprintunixdialog.c:3608
+#: ../gtk/gtkprintunixdialog.c:3712
msgid ""
"Specify the time of print,\n"
" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
"Norādiet vēlamo drukāšanas laiku,\n"
" piemēram, 15:30, 23:45:20"
-#: gtk/gtkprintunixdialog.c:3618
+#: ../gtk/gtkprintunixdialog.c:3722
msgid "Time of print"
msgstr "Drukāšanas laiks"
-#: gtk/gtkprintunixdialog.c:3634
+#: ../gtk/gtkprintunixdialog.c:3738
msgid "On _hold"
msgstr "Ap_turēts"
-#: gtk/gtkprintunixdialog.c:3635
+#: ../gtk/gtkprintunixdialog.c:3739
msgid "Hold the job until it is explicitly released"
msgstr "Apturēt uzdevumu, līdz tiks norādīts to atsākt"
-#: gtk/gtkprintunixdialog.c:3655
+#: ../gtk/gtkprintunixdialog.c:3759
msgid "Add Cover Page"
msgstr "Pievienot vāka lapu"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: gtk/gtkprintunixdialog.c:3664
+#: ../gtk/gtkprintunixdialog.c:3768
msgid "Be_fore:"
msgstr "Pir_ms:"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: gtk/gtkprintunixdialog.c:3682
+#: ../gtk/gtkprintunixdialog.c:3787
msgid "_After:"
msgstr "_Pēc:"
#. Translators: this is the tab label for the notebook tab containing
#. * job-specific options in the print dialog
#.
-#: gtk/gtkprintunixdialog.c:3700
+#: ../gtk/gtkprintunixdialog.c:3806
msgid "Job"
msgstr "Uzdevums"
-#: gtk/gtkprintunixdialog.c:3766
+#: ../gtk/gtkprintunixdialog.c:3872
msgid "Advanced"
msgstr "Paplašināti"
#. Translators: this will appear as tab label in print dialog.
-#: gtk/gtkprintunixdialog.c:3804
+#: ../gtk/gtkprintunixdialog.c:3910
msgid "Image Quality"
msgstr "Attēla kvalitāte"
#. Translators: this will appear as tab label in print dialog.
-#: gtk/gtkprintunixdialog.c:3808
+#: ../gtk/gtkprintunixdialog.c:3914
msgid "Color"
msgstr "Krāsa"
#. Translators: this will appear as tab label in print dialog.
#. It's a typographical term, as in "Binding and finishing"
-#: gtk/gtkprintunixdialog.c:3813
+#: ../gtk/gtkprintunixdialog.c:3919
msgid "Finishing"
msgstr "Pēcapstrāde"
-#: gtk/gtkprintunixdialog.c:3823
+#: ../gtk/gtkprintunixdialog.c:3929
msgid "Some of the settings in the dialog conflict"
msgstr "Daži iestatījumi dialogā nav savietojami"
-#: gtk/gtkprintunixdialog.c:3846
+#: ../gtk/gtkprintunixdialog.c:3952
msgid "Print"
msgstr "Drukāt"
-#: gtk/gtkrc.c:2834
-#, c-format
-msgid "Unable to find include file: \"%s\""
-msgstr "Nevar atrast iekļaujamo failu: \"%s\""
-
-#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473
-#, c-format
-msgid "Unable to locate image file in pixmap_path: \"%s\""
-msgstr "Nevar atrast attēla failu pixmap_path: \"%s\""
-
-#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173
-#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623
-#, c-format
-msgid "This function is not implemented for widgets of class '%s'"
-msgstr "Šī funkcija nav ieviesta '%s' klases logdaļām"
-
-#: gtk/gtkrecentchooserdefault.c:482
+#: ../gtk/gtkrecentchooserdefault.c:485
msgid "Select which type of documents are shown"
msgstr "Izvēlieties, kuru tipu dokumentus rādīt"
-#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175
+#: ../gtk/gtkrecentchooserdefault.c:1142 ../gtk/gtkrecentchooserdefault.c:1179
#, c-format
msgid "No item for URI '%s' found"
msgstr "Nav atrastas URI '%s' atbilstošas vienības"
-#: gtk/gtkrecentchooserdefault.c:1302
+#: ../gtk/gtkrecentchooserdefault.c:1306
msgid "Untitled filter"
msgstr "Nenosaukts filtrs"
-#: gtk/gtkrecentchooserdefault.c:1655
+#: ../gtk/gtkrecentchooserdefault.c:1659
msgid "Could not remove item"
msgstr "Neizdevās dzēst vienību"
-#: gtk/gtkrecentchooserdefault.c:1699
+#: ../gtk/gtkrecentchooserdefault.c:1703
msgid "Could not clear list"
msgstr "Neizdevās attīrīt sarakstu"
-#: gtk/gtkrecentchooserdefault.c:1783
+#: ../gtk/gtkrecentchooserdefault.c:1787
msgid "Copy _Location"
msgstr "Kopēt _vietu"
-#: gtk/gtkrecentchooserdefault.c:1796
+#: ../gtk/gtkrecentchooserdefault.c:1800
msgid "_Remove From List"
msgstr "Izņemt no sa_raksta"
-#: gtk/gtkrecentchooserdefault.c:1805
+#: ../gtk/gtkrecentchooserdefault.c:1809
msgid "_Clear List"
msgstr "_Attīrīt sarakstu"
-#: gtk/gtkrecentchooserdefault.c:1819
+#: ../gtk/gtkrecentchooserdefault.c:1823
msgid "Show _Private Resources"
msgstr "Rādīt _privātos resursus"
#. * user appended or prepended custom menu items to the
#. * recent chooser menu widget.
#.
-#: gtk/gtkrecentchoosermenu.c:369
+#: ../gtk/gtkrecentchoosermenu.c:362
msgid "No items found"
msgstr "Nekas nav atrasts"
-#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591
+#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584
#, c-format
msgid "No recently used resource found with URI `%s'"
msgstr "Nav atrasts neviens nesen lietots resurss ar URI '%s'"
-#: gtk/gtkrecentchoosermenu.c:802
+#: ../gtk/gtkrecentchoosermenu.c:794
#, c-format
msgid "Open '%s'"
msgstr "Atvērt '%s'"
-#: gtk/gtkrecentchoosermenu.c:832
+#: ../gtk/gtkrecentchoosermenu.c:824
msgid "Unknown item"
msgstr "Nezināma vienība"
#. * the %s is the name of the item. Please keep the _ in front
#. * of the number to give these menu items a mnemonic.
#.
-#: gtk/gtkrecentchoosermenu.c:843
+#: ../gtk/gtkrecentchoosermenu.c:835
#, c-format
msgctxt "recent menu label"
msgid "_%d. %s"
#. This is the format that is used for items in a recent files menu.
#. * The %d is the number of the item, the %s is the name of the item.
#.
-#: gtk/gtkrecentchoosermenu.c:848
+#: ../gtk/gtkrecentchoosermenu.c:840
#, c-format
msgctxt "recent menu label"
msgid "%d. %s"
msgstr "%d. %s"
-#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993
-#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141
-#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203
-#: gtk/gtkrecentmanager.c:1218
+#: ../gtk/gtkrecentmanager.c:1006 ../gtk/gtkrecentmanager.c:1019
+#: ../gtk/gtkrecentmanager.c:1156 ../gtk/gtkrecentmanager.c:1166
+#: ../gtk/gtkrecentmanager.c:1218 ../gtk/gtkrecentmanager.c:1227
+#: ../gtk/gtkrecentmanager.c:1242
#, c-format
msgid "Unable to find an item with URI '%s'"
msgstr "Nevar atrast vienību ar URI '%s'"
-#: gtk/gtkspinner.c:456
-msgctxt "throbbing progress animation widget"
-msgid "Spinner"
-msgstr "Spinner"
-
-#: gtk/gtkspinner.c:457
-msgid "Provides visual indication of progress"
-msgstr "Vizuāls progresa indikators"
+#: ../gtk/gtkrecentmanager.c:2442
+#, c-format
+msgid "No registered application with name '%s' for item with URI '%s' found"
+msgstr ""
+"Nav atrastu reģistrētu lietotņu ar nosaukumu '%s' vienumiem ar URI '%s'"
#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
-#: gtk/gtkstock.c:313
+#: ../gtk/gtkstock.c:313
msgctxt "Stock label"
msgid "Information"
msgstr "Informācija"
-#: gtk/gtkstock.c:314
+#: ../gtk/gtkstock.c:314
msgctxt "Stock label"
msgid "Warning"
msgstr "Brīdinājums"
-#: gtk/gtkstock.c:315
+#: ../gtk/gtkstock.c:315
msgctxt "Stock label"
msgid "Error"
msgstr "Kļūda"
-#: gtk/gtkstock.c:316
+#: ../gtk/gtkstock.c:316
msgctxt "Stock label"
msgid "Question"
msgstr "Jautājums"
#. FIXME these need accelerators when appropriate, and
#. * need the mnemonics to be rationalized
#.
-#: gtk/gtkstock.c:321
+#: ../gtk/gtkstock.c:321
msgctxt "Stock label"
msgid "_About"
msgstr "P_ar"
-#: gtk/gtkstock.c:322
+#: ../gtk/gtkstock.c:322
msgctxt "Stock label"
msgid "_Add"
msgstr "_Pievienot"
-#: gtk/gtkstock.c:323
+#: ../gtk/gtkstock.c:323
msgctxt "Stock label"
msgid "_Apply"
msgstr "_Pielietot"
-#: gtk/gtkstock.c:324
+#: ../gtk/gtkstock.c:324
msgctxt "Stock label"
msgid "_Bold"
msgstr "_Treknināts"
-#: gtk/gtkstock.c:325
+#: ../gtk/gtkstock.c:325
msgctxt "Stock label"
msgid "_Cancel"
msgstr "At_celt"
-#: gtk/gtkstock.c:326
-#, fuzzy
+#: ../gtk/gtkstock.c:326
msgctxt "Stock label"
msgid "_CD-ROM"
-msgstr "_CD-Rom"
+msgstr "_CD-ROM"
-#: gtk/gtkstock.c:327
+#: ../gtk/gtkstock.c:327
msgctxt "Stock label"
msgid "_Clear"
msgstr "_Attīrīt"
-#: gtk/gtkstock.c:328
+#: ../gtk/gtkstock.c:328
msgctxt "Stock label"
msgid "_Close"
msgstr "Aiz_vērt"
-#: gtk/gtkstock.c:329
+#: ../gtk/gtkstock.c:329
msgctxt "Stock label"
msgid "C_onnect"
msgstr "Pie_slēgties"
-#: gtk/gtkstock.c:330
+#: ../gtk/gtkstock.c:330
msgctxt "Stock label"
msgid "_Convert"
msgstr "_Pārveidot"
-#: gtk/gtkstock.c:331
+#: ../gtk/gtkstock.c:331
msgctxt "Stock label"
msgid "_Copy"
msgstr "_Kopēt"
-#: gtk/gtkstock.c:332
+#: ../gtk/gtkstock.c:332
msgctxt "Stock label"
msgid "Cu_t"
msgstr "Izgriez_t"
-#: gtk/gtkstock.c:333
+#: ../gtk/gtkstock.c:333
msgctxt "Stock label"
msgid "_Delete"
msgstr "_Dzēst"
-#: gtk/gtkstock.c:334
+#: ../gtk/gtkstock.c:334
msgctxt "Stock label"
msgid "_Discard"
msgstr "_Izmest"
-#: gtk/gtkstock.c:335
+#: ../gtk/gtkstock.c:335
msgctxt "Stock label"
msgid "_Disconnect"
msgstr "_Atvienoties"
-#: gtk/gtkstock.c:336
+#: ../gtk/gtkstock.c:336
msgctxt "Stock label"
msgid "_Execute"
msgstr "Izpi_ldīt"
-#: gtk/gtkstock.c:337
+#: ../gtk/gtkstock.c:337
msgctxt "Stock label"
msgid "_Edit"
msgstr "R_ediģēt"
-#: gtk/gtkstock.c:338
-#, fuzzy
+#: ../gtk/gtkstock.c:338
msgctxt "Stock label"
msgid "_File"
-msgstr "_Faili"
+msgstr "_Fails"
-#: gtk/gtkstock.c:339
+#: ../gtk/gtkstock.c:339
msgctxt "Stock label"
msgid "_Find"
msgstr "At_rast"
-#: gtk/gtkstock.c:340
+#: ../gtk/gtkstock.c:340
msgctxt "Stock label"
msgid "Find and _Replace"
msgstr "Atrast un _aizvietot"
-#: gtk/gtkstock.c:341
+#: ../gtk/gtkstock.c:341
msgctxt "Stock label"
msgid "_Floppy"
msgstr "_Diskete"
-#: gtk/gtkstock.c:342
+#: ../gtk/gtkstock.c:342
msgctxt "Stock label"
msgid "_Fullscreen"
msgstr "_Pilnekrāns"
-#: gtk/gtkstock.c:343
+#: ../gtk/gtkstock.c:343
msgctxt "Stock label"
msgid "_Leave Fullscreen"
msgstr "Pamest pi_lnekrāna režīmu"
#. This is a navigation label as in "go to the bottom of the page"
-#: gtk/gtkstock.c:345
+#: ../gtk/gtkstock.c:345
msgctxt "Stock label, navigation"
msgid "_Bottom"
msgstr "_Apakša"
#. This is a navigation label as in "go to the first page"
-#: gtk/gtkstock.c:347
+#: ../gtk/gtkstock.c:347
msgctxt "Stock label, navigation"
msgid "_First"
msgstr "_Pirmais"
#. This is a navigation label as in "go to the last page"
-#: gtk/gtkstock.c:349
+#: ../gtk/gtkstock.c:349
msgctxt "Stock label, navigation"
msgid "_Last"
msgstr "_Pēdējais"
#. This is a navigation label as in "go to the top of the page"
-#: gtk/gtkstock.c:351
+#: ../gtk/gtkstock.c:351
msgctxt "Stock label, navigation"
msgid "_Top"
msgstr "_Augša"
#. This is a navigation label as in "go back"
-#: gtk/gtkstock.c:353
+#: ../gtk/gtkstock.c:353
msgctxt "Stock label, navigation"
msgid "_Back"
msgstr "_Atpakaļ"
#. This is a navigation label as in "go down"
-#: gtk/gtkstock.c:355
+#: ../gtk/gtkstock.c:355
msgctxt "Stock label, navigation"
msgid "_Down"
msgstr "_Lejup"
#. This is a navigation label as in "go forward"
-#: gtk/gtkstock.c:357
+#: ../gtk/gtkstock.c:357
msgctxt "Stock label, navigation"
msgid "_Forward"
msgstr "Uz _priekšu"
#. This is a navigation label as in "go up"
-#: gtk/gtkstock.c:359
+#: ../gtk/gtkstock.c:359
msgctxt "Stock label, navigation"
msgid "_Up"
msgstr "_Augšup"
-#: gtk/gtkstock.c:360
-#, fuzzy
+#: ../gtk/gtkstock.c:360
msgctxt "Stock label"
msgid "_Hard Disk"
msgstr "_Cietais disks"
-#: gtk/gtkstock.c:361
+#: ../gtk/gtkstock.c:361
msgctxt "Stock label"
msgid "_Help"
msgstr "_Palīdzība"
-#: gtk/gtkstock.c:362
+#: ../gtk/gtkstock.c:362
msgctxt "Stock label"
msgid "_Home"
msgstr "_Mājas"
-#: gtk/gtkstock.c:363
+#: ../gtk/gtkstock.c:363
msgctxt "Stock label"
msgid "Increase Indent"
msgstr "Palielināt atkāpi"
-#: gtk/gtkstock.c:364
+#: ../gtk/gtkstock.c:364
msgctxt "Stock label"
msgid "Decrease Indent"
msgstr "Samazināt atkāpi"
-#: gtk/gtkstock.c:365
+#: ../gtk/gtkstock.c:365
msgctxt "Stock label"
msgid "_Index"
msgstr "_Rādītājs"
-#: gtk/gtkstock.c:366
+#: ../gtk/gtkstock.c:366
msgctxt "Stock label"
msgid "_Information"
msgstr "_Informācija"
-#: gtk/gtkstock.c:367
+#: ../gtk/gtkstock.c:367
msgctxt "Stock label"
msgid "_Italic"
msgstr "_Slīpraksts"
-#: gtk/gtkstock.c:368
+#: ../gtk/gtkstock.c:368
msgctxt "Stock label"
msgid "_Jump to"
msgstr "Pārle_kt uz"
#. This is about text justification, "centered text"
-#: gtk/gtkstock.c:370
+#: ../gtk/gtkstock.c:370
msgctxt "Stock label"
msgid "_Center"
msgstr "_Centrēt"
#. This is about text justification
-#: gtk/gtkstock.c:372
+#: ../gtk/gtkstock.c:372
msgctxt "Stock label"
msgid "_Fill"
msgstr "_Aizpildīt"
#. This is about text justification, "left-justified text"
-#: gtk/gtkstock.c:374
+#: ../gtk/gtkstock.c:374
msgctxt "Stock label"
msgid "_Left"
msgstr "Pa _kreisi"
#. This is about text justification, "right-justified text"
-#: gtk/gtkstock.c:376
+#: ../gtk/gtkstock.c:376
msgctxt "Stock label"
msgid "_Right"
msgstr "_Pa labi"
#. Media label, as in "fast forward"
-#: gtk/gtkstock.c:379
+#: ../gtk/gtkstock.c:379
msgctxt "Stock label, media"
msgid "_Forward"
msgstr "Uz p_riekšu"
#. Media label, as in "next song"
-#: gtk/gtkstock.c:381
+#: ../gtk/gtkstock.c:381
msgctxt "Stock label, media"
msgid "_Next"
msgstr "_Nākamais"
#. Media label, as in "pause music"
-#: gtk/gtkstock.c:383
+#: ../gtk/gtkstock.c:383
msgctxt "Stock label, media"
msgid "P_ause"
msgstr "_Apturēt"
#. Media label, as in "play music"
-#: gtk/gtkstock.c:385
+#: ../gtk/gtkstock.c:385
msgctxt "Stock label, media"
msgid "_Play"
msgstr "A_tskaņot"
#. Media label, as in "previous song"
-#: gtk/gtkstock.c:387
+#: ../gtk/gtkstock.c:387
msgctxt "Stock label, media"
msgid "Pre_vious"
msgstr "_Iepriekšējais"
#. Media label
-#: gtk/gtkstock.c:389
+#: ../gtk/gtkstock.c:389
msgctxt "Stock label, media"
msgid "_Record"
msgstr "Ie_rakstīt"
#. Media label
-#: gtk/gtkstock.c:391
+#: ../gtk/gtkstock.c:391
msgctxt "Stock label, media"
msgid "R_ewind"
msgstr "A_tpakaļ"
#. Media label
-#: gtk/gtkstock.c:393
+#: ../gtk/gtkstock.c:393
msgctxt "Stock label, media"
msgid "_Stop"
msgstr "_Stop"
-#: gtk/gtkstock.c:394
+#: ../gtk/gtkstock.c:394
msgctxt "Stock label"
msgid "_Network"
msgstr "_Tīkls"
-#: gtk/gtkstock.c:395
+#: ../gtk/gtkstock.c:395
msgctxt "Stock label"
msgid "_New"
msgstr "Jau_ns"
-#: gtk/gtkstock.c:396
+#: ../gtk/gtkstock.c:396
msgctxt "Stock label"
msgid "_No"
msgstr "_Nē"
-#: gtk/gtkstock.c:397
+#: ../gtk/gtkstock.c:397
msgctxt "Stock label"
msgid "_OK"
msgstr "_Labi"
-#: gtk/gtkstock.c:398
+#: ../gtk/gtkstock.c:398
msgctxt "Stock label"
msgid "_Open"
msgstr "_Atvērt"
#. Page orientation
-#: gtk/gtkstock.c:400
+#: ../gtk/gtkstock.c:400
msgctxt "Stock label"
msgid "Landscape"
msgstr "Ainava"
#. Page orientation
-#: gtk/gtkstock.c:402
+#: ../gtk/gtkstock.c:402
msgctxt "Stock label"
msgid "Portrait"
msgstr "Portrets"
#. Page orientation
-#: gtk/gtkstock.c:404
+#: ../gtk/gtkstock.c:404
msgctxt "Stock label"
msgid "Reverse landscape"
msgstr "Apgriezta ainava"
#. Page orientation
-#: gtk/gtkstock.c:406
+#: ../gtk/gtkstock.c:406
msgctxt "Stock label"
msgid "Reverse portrait"
msgstr "Apgriezts portrets"
-#: gtk/gtkstock.c:407
+#: ../gtk/gtkstock.c:407
msgctxt "Stock label"
msgid "Page Set_up"
msgstr "Lapas iestatīj_umi"
-#: gtk/gtkstock.c:408
+#: ../gtk/gtkstock.c:408
msgctxt "Stock label"
msgid "_Paste"
msgstr "_Ievietot"
-#: gtk/gtkstock.c:409
+#: ../gtk/gtkstock.c:409
msgctxt "Stock label"
msgid "_Preferences"
msgstr "_Iestatījumi"
-#: gtk/gtkstock.c:410
+#: ../gtk/gtkstock.c:410
msgctxt "Stock label"
msgid "_Print"
msgstr "_Drukāt"
-#: gtk/gtkstock.c:411
+#: ../gtk/gtkstock.c:411
msgctxt "Stock label"
msgid "Print Pre_view"
msgstr "Drukas priekš_skatījums"
-#: gtk/gtkstock.c:412
+#: ../gtk/gtkstock.c:412
msgctxt "Stock label"
msgid "_Properties"
msgstr "_Rekvizīti"
-#: gtk/gtkstock.c:413
+#: ../gtk/gtkstock.c:413
msgctxt "Stock label"
msgid "_Quit"
msgstr "_Iziet"
-#: gtk/gtkstock.c:414
+#: ../gtk/gtkstock.c:414
msgctxt "Stock label"
msgid "_Redo"
msgstr "Pā_rdarīt"
-#: gtk/gtkstock.c:415
+#: ../gtk/gtkstock.c:415
msgctxt "Stock label"
msgid "_Refresh"
msgstr "_Atsvaidzināt"
-#: gtk/gtkstock.c:416
+#: ../gtk/gtkstock.c:416
msgctxt "Stock label"
msgid "_Remove"
msgstr "_Izņemt"
-#: gtk/gtkstock.c:417
+#: ../gtk/gtkstock.c:417
msgctxt "Stock label"
msgid "_Revert"
msgstr "At_griezt"
-#: gtk/gtkstock.c:418
+#: ../gtk/gtkstock.c:418
msgctxt "Stock label"
msgid "_Save"
msgstr "_Saglabāt"
-#: gtk/gtkstock.c:419
+#: ../gtk/gtkstock.c:419
msgctxt "Stock label"
msgid "Save _As"
msgstr "S_aglabāt kā"
-#: gtk/gtkstock.c:420
+#: ../gtk/gtkstock.c:420
msgctxt "Stock label"
msgid "Select _All"
msgstr "Iezīmēt _visu"
-#: gtk/gtkstock.c:421
+#: ../gtk/gtkstock.c:421
msgctxt "Stock label"
msgid "_Color"
msgstr "_Krāsa"
-#: gtk/gtkstock.c:422
+#: ../gtk/gtkstock.c:422
msgctxt "Stock label"
msgid "_Font"
msgstr "_Fonts"
#. Sorting direction
-#: gtk/gtkstock.c:424
+#: ../gtk/gtkstock.c:424
msgctxt "Stock label"
msgid "_Ascending"
msgstr "_Pieaugoši"
#. Sorting direction
-#: gtk/gtkstock.c:426
+#: ../gtk/gtkstock.c:426
msgctxt "Stock label"
msgid "_Descending"
msgstr "_Dilstoši"
-#: gtk/gtkstock.c:427
+#: ../gtk/gtkstock.c:427
msgctxt "Stock label"
msgid "_Spell Check"
msgstr "_Pareizrakstība"
-#: gtk/gtkstock.c:428
+#: ../gtk/gtkstock.c:428
msgctxt "Stock label"
msgid "_Stop"
msgstr "_Stop"
#. Font variant
-#: gtk/gtkstock.c:430
+#: ../gtk/gtkstock.c:430
msgctxt "Stock label"
msgid "_Strikethrough"
msgstr "Caur_svītrot"
-#: gtk/gtkstock.c:431
+#: ../gtk/gtkstock.c:431
msgctxt "Stock label"
msgid "_Undelete"
msgstr "Atja_unot"
#. Font variant
-#: gtk/gtkstock.c:433
+#: ../gtk/gtkstock.c:433
msgctxt "Stock label"
msgid "_Underline"
msgstr "_Pasvītrot"
-#: gtk/gtkstock.c:434
+#: ../gtk/gtkstock.c:434
msgctxt "Stock label"
msgid "_Undo"
msgstr "Atsa_ukt"
-#: gtk/gtkstock.c:435
+#: ../gtk/gtkstock.c:435
msgctxt "Stock label"
msgid "_Yes"
msgstr "_Jā"
#. Zoom
-#: gtk/gtkstock.c:437
+#: ../gtk/gtkstock.c:437
msgctxt "Stock label"
msgid "_Normal Size"
msgstr "_Normāls izmērs"
#. Zoom
-#: gtk/gtkstock.c:439
+#: ../gtk/gtkstock.c:439
msgctxt "Stock label"
msgid "Best _Fit"
msgstr "Pā_rskatāmi"
-#: gtk/gtkstock.c:440
+#: ../gtk/gtkstock.c:440
msgctxt "Stock label"
msgid "Zoom _In"
msgstr "Pal_ielināt"
-#: gtk/gtkstock.c:441
+#: ../gtk/gtkstock.c:441
msgctxt "Stock label"
msgid "Zoom _Out"
msgstr "_Samazināt"
-#: gtk/gtktextbufferrichtext.c:650
+#. Translators: if the "on" state label requires more than three
+#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
+#. * the state
+#.
+#: ../gtk/gtkswitch.c:336 ../gtk/gtkswitch.c:396 ../gtk/gtkswitch.c:603
+msgctxt "switch"
+msgid "ON"
+msgstr "❙"
+
+#. Translators: if the "off" state label requires more than three
+#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
+#.
+#: ../gtk/gtkswitch.c:344 ../gtk/gtkswitch.c:397 ../gtk/gtkswitch.c:632
+msgctxt "switch"
+msgid "OFF"
+msgstr "○"
+
+#: ../gtk/gtktextbufferrichtext.c:651
#, c-format
msgid "Unknown error when trying to deserialize %s"
msgstr "Nezināma kļūda, mēģinot deserializēt %s"
-#: gtk/gtktextbufferrichtext.c:709
+#: ../gtk/gtktextbufferrichtext.c:710
#, c-format
msgid "No deserialize function found for format %s"
msgstr "Nav atrasta deserializācijas funkcija formātam %s"
-#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821
+#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826
#, c-format
msgid "Both \"id\" and \"name\" were found on the <%s> element"
msgstr "Elementam <%s> atrasts gan \"id\", gan \"name\""
-#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831
+#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836
#, c-format
msgid "The attribute \"%s\" was found twice on the <%s> element"
msgstr "Atribūts \"%s\" atrasts divreiz elementā <%s>"
-#: gtk/gtktextbufferserialize.c:845
-#, fuzzy, c-format
+#: ../gtk/gtktextbufferserialize.c:852
+#, c-format
msgid "<%s> element has invalid ID \"%s\""
-msgstr "Elementam <%s> ir nederīgs id \"%s\""
+msgstr "Elementam <%s> ir nederīgs ID \"%s\""
-#: gtk/gtktextbufferserialize.c:855
+#: ../gtk/gtktextbufferserialize.c:862
#, c-format
msgid "<%s> element has neither a \"name\" nor an \"id\" attribute"
msgstr "Elementam <%s> nav ne \"name\", ne \"id\" atribūta"
-#: gtk/gtktextbufferserialize.c:942
+#: ../gtk/gtktextbufferserialize.c:949
#, c-format
msgid "Attribute \"%s\" repeated twice on the same <%s> element"
msgstr "Atribūts \"%s\" atkārtots divreiz tajā pašā <%s> elementā"
-#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985
+#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992
#, c-format
msgid "Attribute \"%s\" is invalid on <%s> element in this context"
msgstr "Atribūts \"%s\" ir nederīgs <%s> elementam šajā kontekstā"
-#: gtk/gtktextbufferserialize.c:1024
+#: ../gtk/gtktextbufferserialize.c:1031
#, c-format
msgid "Tag \"%s\" has not been defined."
msgstr "Birka \"%s\" nav definēta."
-#: gtk/gtktextbufferserialize.c:1036
+#: ../gtk/gtktextbufferserialize.c:1043
msgid "Anonymous tag found and tags can not be created."
msgstr "Atrasta anonīma birka, un birkas nav iespējams radīt."
-#: gtk/gtktextbufferserialize.c:1047
+#: ../gtk/gtktextbufferserialize.c:1054
#, c-format
msgid "Tag \"%s\" does not exist in buffer and tags can not be created."
msgstr "Birka \"%s\" neeksistē buferī, un birkas nav iespējams radīt."
-#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221
-#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398
+#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228
+#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407
#, c-format
msgid "Element <%s> is not allowed below <%s>"
msgstr "Elements <%s> nav atļauts zem <%s>"
-#: gtk/gtktextbufferserialize.c:1177
+#: ../gtk/gtktextbufferserialize.c:1184
#, c-format
msgid "\"%s\" is not a valid attribute type"
msgstr "\"%s\" nav derīgs atribūta tips"
-#: gtk/gtktextbufferserialize.c:1185
+#: ../gtk/gtktextbufferserialize.c:1192
#, c-format
msgid "\"%s\" is not a valid attribute name"
msgstr "\"%s\" nav derīgs atribūta vārds"
-#: gtk/gtktextbufferserialize.c:1195
+#: ../gtk/gtktextbufferserialize.c:1202
#, c-format
msgid ""
"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
msgstr "\"%s\" nevar pārveidot vērtībā ar tipu \"%s\" atribūtam \"%s\""
-#: gtk/gtktextbufferserialize.c:1204
+#: ../gtk/gtktextbufferserialize.c:1211
#, c-format
msgid "\"%s\" is not a valid value for attribute \"%s\""
msgstr "\"%s\" nav derīga atribūta \"%s\" vērtība"
-#: gtk/gtktextbufferserialize.c:1289
+#: ../gtk/gtktextbufferserialize.c:1296
#, c-format
msgid "Tag \"%s\" already defined"
msgstr "Birka \"%s\" jau ir definēta"
-#: gtk/gtktextbufferserialize.c:1300
+#: ../gtk/gtktextbufferserialize.c:1309
#, c-format
msgid "Tag \"%s\" has invalid priority \"%s\""
msgstr "Birkai \"%s\" ir nederīga prioritāte \"%s\""
-#: gtk/gtktextbufferserialize.c:1353
+#: ../gtk/gtktextbufferserialize.c:1362
#, c-format
msgid "Outermost element in text must be <text_view_markup> not <%s>"
msgstr "Ārējam teksta elementam jābūt <text_view_markup>, nevis <%s>"
-#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378
+#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387
#, c-format
msgid "A <%s> element has already been specified"
msgstr "Elements <%s> jau ir norādīts"
-#: gtk/gtktextbufferserialize.c:1384
+#: ../gtk/gtktextbufferserialize.c:1393
msgid "A <text> element can't occur before a <tags> element"
msgstr "<text> elements nedrīkst būt pirms <tags> elementa"
-#: gtk/gtktextbufferserialize.c:1784
+#: ../gtk/gtktextbufferserialize.c:1793
msgid "Serialized data is malformed"
msgstr "Serializētie dati ir sliktformēti"
-#: gtk/gtktextbufferserialize.c:1862
+#: ../gtk/gtktextbufferserialize.c:1871
msgid ""
"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"
msgstr ""
"Serializētie dati ir sliktformēti. Pirmā daļa nav GTKTEXTBUFFERCONTENTS-0001"
-#: gtk/gtktextutil.c:60
+#: ../gtk/gtktextutil.c:60
msgid "LRM _Left-to-right mark"
msgstr "LRM Atzīme no kreisās uz _labo"
-#: gtk/gtktextutil.c:61
+#: ../gtk/gtktextutil.c:61
msgid "RLM _Right-to-left mark"
msgstr "RLM Atzīme no labās uz k_reiso"
-#: gtk/gtktextutil.c:62
+#: ../gtk/gtktextutil.c:62
msgid "LRE Left-to-right _embedding"
msgstr "LRE I_egulte no kreisās uz labo"
-#: gtk/gtktextutil.c:63
+#: ../gtk/gtktextutil.c:63
msgid "RLE Right-to-left e_mbedding"
msgstr "RLE Ie_gulte no labās uz kreiso"
-#: gtk/gtktextutil.c:64
+#: ../gtk/gtktextutil.c:64
msgid "LRO Left-to-right _override"
msgstr "LRO Aizstāšana n_o kreisās uz labo"
-#: gtk/gtktextutil.c:65
+#: ../gtk/gtktextutil.c:65
msgid "RLO Right-to-left o_verride"
msgstr "RLO Aizstāšana _no labās uz kreiso"
-#: gtk/gtktextutil.c:66
+#: ../gtk/gtktextutil.c:66
msgid "PDF _Pop directional formatting"
msgstr "PDF _Pop virziena formatēšana"
-#: gtk/gtktextutil.c:67
+#: ../gtk/gtktextutil.c:67
msgid "ZWS _Zero width space"
msgstr "ZWS N_ulles platuma atstarpe"
-#: gtk/gtktextutil.c:68
+#: ../gtk/gtktextutil.c:68
msgid "ZWJ Zero width _joiner"
msgstr "ZWJ Nulles platuma _savienotājs"
-#: gtk/gtktextutil.c:69
+#: ../gtk/gtktextutil.c:69
msgid "ZWNJ Zero width _non-joiner"
msgstr "ZWNJ Nulles platuma nesa_vienotājs"
-#: gtk/gtkthemes.c:72
-#, c-format
-msgid "Unable to locate theme engine in module_path: \"%s\","
-msgstr "Neizdevās atrast tēmu dzinēju module_path: \"%s\","
-
-#: gtk/gtkuimanager.c:1505
+#: ../gtk/gtkuimanager.c:1760
#, c-format
msgid "Unexpected start tag '%s' on line %d char %d"
msgstr "Negaidīta sākuma birka '%s' %d. rindā, %d. simbols"
-#: gtk/gtkuimanager.c:1595
+#: ../gtk/gtkuimanager.c:1850
#, c-format
msgid "Unexpected character data on line %d char %d"
msgstr "Negaidīti teksta dati %d. rindā, %d. simbols"
-#: gtk/gtkuimanager.c:2427
+#: ../gtk/gtkuimanager.c:2682
msgid "Empty"
msgstr "Tukšs"
-#: gtk/gtkvolumebutton.c:83
+#: ../gtk/gtkvolumebutton.c:170
msgid "Volume"
msgstr "Skaļums"
-#: gtk/gtkvolumebutton.c:85
+#: ../gtk/gtkvolumebutton.c:172
msgid "Turns volume down or up"
msgstr "Pagriež skaņu skaļāk vai klusāk"
-#: gtk/gtkvolumebutton.c:88
+#: ../gtk/gtkvolumebutton.c:175
msgid "Adjusts the volume"
msgstr "Pielāgo skaļumu"
-#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97
+#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184
msgid "Volume Down"
msgstr "Klusāk"
-#: gtk/gtkvolumebutton.c:96
+#: ../gtk/gtkvolumebutton.c:183
msgid "Decreases the volume"
msgstr "Samazina skaļumu"
-#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103
+#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190
msgid "Volume Up"
msgstr "Skaļāk"
-#: gtk/gtkvolumebutton.c:102
+#: ../gtk/gtkvolumebutton.c:189
msgid "Increases the volume"
msgstr "Palielina skaļumu"
-#: gtk/gtkvolumebutton.c:160
+#: ../gtk/gtkvolumebutton.c:247
msgid "Muted"
msgstr "Apklusināts"
-#: gtk/gtkvolumebutton.c:164
+#: ../gtk/gtkvolumebutton.c:251
msgid "Full Volume"
msgstr "Pilns skaļums"
#. * Translate the "%d" to "%Id" if you want to use localised digits,
#. * or otherwise translate the "%d" to "%d".
#.
-#: gtk/gtkvolumebutton.c:177
+#: ../gtk/gtkvolumebutton.c:264
#, c-format
msgctxt "volume percentage"
msgid "%d %%"
msgstr "%d %%"
-#: gtk/paper_names_offsets.c:4
+#: ../gtk/paper_names_offsets.c:4
msgctxt "paper size"
msgid "asme_f"
msgstr "asme_f"
-#: gtk/paper_names_offsets.c:5
+#: ../gtk/paper_names_offsets.c:5
msgctxt "paper size"
msgid "A0x2"
msgstr "A0x2"
-#: gtk/paper_names_offsets.c:6
+#: ../gtk/paper_names_offsets.c:6
msgctxt "paper size"
msgid "A0"
msgstr "A0"
-#: gtk/paper_names_offsets.c:7
+#: ../gtk/paper_names_offsets.c:7
msgctxt "paper size"
msgid "A0x3"
msgstr "A0x3"
-#: gtk/paper_names_offsets.c:8
+#: ../gtk/paper_names_offsets.c:8
msgctxt "paper size"
msgid "A1"
msgstr "A1"
-#: gtk/paper_names_offsets.c:9
+#: ../gtk/paper_names_offsets.c:9
msgctxt "paper size"
msgid "A10"
msgstr "A10"
-#: gtk/paper_names_offsets.c:10
+#: ../gtk/paper_names_offsets.c:10
msgctxt "paper size"
msgid "A1x3"
msgstr "A1x3"
-#: gtk/paper_names_offsets.c:11
+#: ../gtk/paper_names_offsets.c:11
msgctxt "paper size"
msgid "A1x4"
msgstr "A1x4"
-#: gtk/paper_names_offsets.c:12
+#: ../gtk/paper_names_offsets.c:12
msgctxt "paper size"
msgid "A2"
msgstr "A2"
-#: gtk/paper_names_offsets.c:13
+#: ../gtk/paper_names_offsets.c:13
msgctxt "paper size"
msgid "A2x3"
msgstr "A2x3"
-#: gtk/paper_names_offsets.c:14
+#: ../gtk/paper_names_offsets.c:14
msgctxt "paper size"
msgid "A2x4"
msgstr "A2x4"
-#: gtk/paper_names_offsets.c:15
+#: ../gtk/paper_names_offsets.c:15
msgctxt "paper size"
msgid "A2x5"
msgstr "A2x5"
-#: gtk/paper_names_offsets.c:16
+#: ../gtk/paper_names_offsets.c:16
msgctxt "paper size"
msgid "A3"
msgstr "A3"
-#: gtk/paper_names_offsets.c:17
+#: ../gtk/paper_names_offsets.c:17
msgctxt "paper size"
msgid "A3 Extra"
msgstr "A3 Extra"
-#: gtk/paper_names_offsets.c:18
+#: ../gtk/paper_names_offsets.c:18
msgctxt "paper size"
msgid "A3x3"
msgstr "A3x3"
-#: gtk/paper_names_offsets.c:19
+#: ../gtk/paper_names_offsets.c:19
msgctxt "paper size"
msgid "A3x4"
msgstr "A3x4"
-#: gtk/paper_names_offsets.c:20
+#: ../gtk/paper_names_offsets.c:20
msgctxt "paper size"
msgid "A3x5"
msgstr "A3x5"
-#: gtk/paper_names_offsets.c:21
+#: ../gtk/paper_names_offsets.c:21
msgctxt "paper size"
msgid "A3x6"
msgstr "A3x6"
-#: gtk/paper_names_offsets.c:22
+#: ../gtk/paper_names_offsets.c:22
msgctxt "paper size"
msgid "A3x7"
msgstr "A3x7"
-#: gtk/paper_names_offsets.c:23
+#: ../gtk/paper_names_offsets.c:23
msgctxt "paper size"
msgid "A4"
msgstr "A4"
-#: gtk/paper_names_offsets.c:24
+#: ../gtk/paper_names_offsets.c:24
msgctxt "paper size"
msgid "A4 Extra"
msgstr "A4 Extra"
-#: gtk/paper_names_offsets.c:25
+#: ../gtk/paper_names_offsets.c:25
msgctxt "paper size"
msgid "A4 Tab"
msgstr "A4 Tab"
-#: gtk/paper_names_offsets.c:26
+#: ../gtk/paper_names_offsets.c:26
msgctxt "paper size"
msgid "A4x3"
msgstr "A4x3"
-#: gtk/paper_names_offsets.c:27
+#: ../gtk/paper_names_offsets.c:27
msgctxt "paper size"
msgid "A4x4"
msgstr "A4x4"
-#: gtk/paper_names_offsets.c:28
+#: ../gtk/paper_names_offsets.c:28
msgctxt "paper size"
msgid "A4x5"
msgstr "A4x5"
-#: gtk/paper_names_offsets.c:29
+#: ../gtk/paper_names_offsets.c:29
msgctxt "paper size"
msgid "A4x6"
msgstr "A4x6"
-#: gtk/paper_names_offsets.c:30
+#: ../gtk/paper_names_offsets.c:30
msgctxt "paper size"
msgid "A4x7"
msgstr "A4x7"
-#: gtk/paper_names_offsets.c:31
+#: ../gtk/paper_names_offsets.c:31
msgctxt "paper size"
msgid "A4x8"
msgstr "A4x8"
-#: gtk/paper_names_offsets.c:32
+#: ../gtk/paper_names_offsets.c:32
msgctxt "paper size"
msgid "A4x9"
msgstr "A4x9"
-#: gtk/paper_names_offsets.c:33
+#: ../gtk/paper_names_offsets.c:33
msgctxt "paper size"
msgid "A5"
msgstr "A5"
-#: gtk/paper_names_offsets.c:34
+#: ../gtk/paper_names_offsets.c:34
msgctxt "paper size"
msgid "A5 Extra"
msgstr "A5 Extra"
-#: gtk/paper_names_offsets.c:35
+#: ../gtk/paper_names_offsets.c:35
msgctxt "paper size"
msgid "A6"
msgstr "A6"
-#: gtk/paper_names_offsets.c:36
+#: ../gtk/paper_names_offsets.c:36
msgctxt "paper size"
msgid "A7"
msgstr "A7"
-#: gtk/paper_names_offsets.c:37
+#: ../gtk/paper_names_offsets.c:37
msgctxt "paper size"
msgid "A8"
msgstr "A8"
-#: gtk/paper_names_offsets.c:38
+#: ../gtk/paper_names_offsets.c:38
msgctxt "paper size"
msgid "A9"
msgstr "A9"
-#: gtk/paper_names_offsets.c:39
+#: ../gtk/paper_names_offsets.c:39
msgctxt "paper size"
msgid "B0"
msgstr "B0"
-#: gtk/paper_names_offsets.c:40
+#: ../gtk/paper_names_offsets.c:40
msgctxt "paper size"
msgid "B1"
msgstr "B1"
-#: gtk/paper_names_offsets.c:41
+#: ../gtk/paper_names_offsets.c:41
msgctxt "paper size"
msgid "B10"
msgstr "B10"
-#: gtk/paper_names_offsets.c:42
+#: ../gtk/paper_names_offsets.c:42
msgctxt "paper size"
msgid "B2"
msgstr "B2"
-#: gtk/paper_names_offsets.c:43
+#: ../gtk/paper_names_offsets.c:43
msgctxt "paper size"
msgid "B3"
msgstr "B3"
-#: gtk/paper_names_offsets.c:44
+#: ../gtk/paper_names_offsets.c:44
msgctxt "paper size"
msgid "B4"
msgstr "B4"
-#: gtk/paper_names_offsets.c:45
+#: ../gtk/paper_names_offsets.c:45
msgctxt "paper size"
msgid "B5"
msgstr "B5"
-#: gtk/paper_names_offsets.c:46
+#: ../gtk/paper_names_offsets.c:46
msgctxt "paper size"
msgid "B5 Extra"
msgstr "B5 Extra"
-#: gtk/paper_names_offsets.c:47
+#: ../gtk/paper_names_offsets.c:47
msgctxt "paper size"
msgid "B6"
msgstr "B6"
-#: gtk/paper_names_offsets.c:48
+#: ../gtk/paper_names_offsets.c:48
msgctxt "paper size"
msgid "B6/C4"
msgstr "B6/C4"
-#: gtk/paper_names_offsets.c:49
+#: ../gtk/paper_names_offsets.c:49
msgctxt "paper size"
msgid "B7"
msgstr "B7"
-#: gtk/paper_names_offsets.c:50
+#: ../gtk/paper_names_offsets.c:50
msgctxt "paper size"
msgid "B8"
msgstr "B8"
-#: gtk/paper_names_offsets.c:51
+#: ../gtk/paper_names_offsets.c:51
msgctxt "paper size"
msgid "B9"
msgstr "B9"
-#: gtk/paper_names_offsets.c:52
+#: ../gtk/paper_names_offsets.c:52
msgctxt "paper size"
msgid "C0"
msgstr "C0"
-#: gtk/paper_names_offsets.c:53
+#: ../gtk/paper_names_offsets.c:53
msgctxt "paper size"
msgid "C1"
msgstr "C1"
-#: gtk/paper_names_offsets.c:54
+#: ../gtk/paper_names_offsets.c:54
msgctxt "paper size"
msgid "C10"
msgstr "C10"
-#: gtk/paper_names_offsets.c:55
+#: ../gtk/paper_names_offsets.c:55
msgctxt "paper size"
msgid "C2"
msgstr "C2"
-#: gtk/paper_names_offsets.c:56
+#: ../gtk/paper_names_offsets.c:56
msgctxt "paper size"
msgid "C3"
msgstr "C3"
-#: gtk/paper_names_offsets.c:57
+#: ../gtk/paper_names_offsets.c:57
msgctxt "paper size"
msgid "C4"
msgstr "C4"
-#: gtk/paper_names_offsets.c:58
+#: ../gtk/paper_names_offsets.c:58
msgctxt "paper size"
msgid "C5"
msgstr "C5"
-#: gtk/paper_names_offsets.c:59
+#: ../gtk/paper_names_offsets.c:59
msgctxt "paper size"
msgid "C6"
msgstr "C6"
-#: gtk/paper_names_offsets.c:60
+#: ../gtk/paper_names_offsets.c:60
msgctxt "paper size"
msgid "C6/C5"
msgstr "C6/C5"
-#: gtk/paper_names_offsets.c:61
+#: ../gtk/paper_names_offsets.c:61
msgctxt "paper size"
msgid "C7"
msgstr "C7"
-#: gtk/paper_names_offsets.c:62
+#: ../gtk/paper_names_offsets.c:62
msgctxt "paper size"
msgid "C7/C6"
msgstr "C7/C6"
-#: gtk/paper_names_offsets.c:63
+#: ../gtk/paper_names_offsets.c:63
msgctxt "paper size"
msgid "C8"
msgstr "C8"
-#: gtk/paper_names_offsets.c:64
+#: ../gtk/paper_names_offsets.c:64
msgctxt "paper size"
msgid "C9"
msgstr "C9"
-#: gtk/paper_names_offsets.c:65
+#: ../gtk/paper_names_offsets.c:65
msgctxt "paper size"
msgid "DL Envelope"
msgstr "DL aploksne"
-#: gtk/paper_names_offsets.c:66
+#: ../gtk/paper_names_offsets.c:66
msgctxt "paper size"
msgid "RA0"
msgstr "RA0"
-#: gtk/paper_names_offsets.c:67
+#: ../gtk/paper_names_offsets.c:67
msgctxt "paper size"
msgid "RA1"
msgstr "RA1"
-#: gtk/paper_names_offsets.c:68
+#: ../gtk/paper_names_offsets.c:68
msgctxt "paper size"
msgid "RA2"
msgstr "RA2"
-#: gtk/paper_names_offsets.c:69
+#: ../gtk/paper_names_offsets.c:69
msgctxt "paper size"
msgid "SRA0"
msgstr "SRA0"
-#: gtk/paper_names_offsets.c:70
+#: ../gtk/paper_names_offsets.c:70
msgctxt "paper size"
msgid "SRA1"
msgstr "SRA1"
-#: gtk/paper_names_offsets.c:71
+#: ../gtk/paper_names_offsets.c:71
msgctxt "paper size"
msgid "SRA2"
msgstr "SRA2"
-#: gtk/paper_names_offsets.c:72
+#: ../gtk/paper_names_offsets.c:72
msgctxt "paper size"
msgid "JB0"
msgstr "JB0"
-#: gtk/paper_names_offsets.c:73
+#: ../gtk/paper_names_offsets.c:73
msgctxt "paper size"
msgid "JB1"
msgstr "JB1"
-#: gtk/paper_names_offsets.c:74
+#: ../gtk/paper_names_offsets.c:74
msgctxt "paper size"
msgid "JB10"
msgstr "JB10"
-#: gtk/paper_names_offsets.c:75
+#: ../gtk/paper_names_offsets.c:75
msgctxt "paper size"
msgid "JB2"
msgstr "JB2"
-#: gtk/paper_names_offsets.c:76
+#: ../gtk/paper_names_offsets.c:76
msgctxt "paper size"
msgid "JB3"
msgstr "JB3"
-#: gtk/paper_names_offsets.c:77
+#: ../gtk/paper_names_offsets.c:77
msgctxt "paper size"
msgid "JB4"
msgstr "JB4"
-#: gtk/paper_names_offsets.c:78
+#: ../gtk/paper_names_offsets.c:78
msgctxt "paper size"
msgid "JB5"
msgstr "JB5"
-#: gtk/paper_names_offsets.c:79
+#: ../gtk/paper_names_offsets.c:79
msgctxt "paper size"
msgid "JB6"
msgstr "JB6"
-#: gtk/paper_names_offsets.c:80
+#: ../gtk/paper_names_offsets.c:80
msgctxt "paper size"
msgid "JB7"
msgstr "JB7"
-#: gtk/paper_names_offsets.c:81
+#: ../gtk/paper_names_offsets.c:81
msgctxt "paper size"
msgid "JB8"
msgstr "JB8"
-#: gtk/paper_names_offsets.c:82
+#: ../gtk/paper_names_offsets.c:82
msgctxt "paper size"
msgid "JB9"
msgstr "JB9"
-#: gtk/paper_names_offsets.c:83
+#: ../gtk/paper_names_offsets.c:83
msgctxt "paper size"
msgid "jis exec"
msgstr "jis exec"
-#: gtk/paper_names_offsets.c:84
+#: ../gtk/paper_names_offsets.c:84
msgctxt "paper size"
msgid "Choukei 2 Envelope"
msgstr "Choukei 2 aploksne"
-#: gtk/paper_names_offsets.c:85
+#: ../gtk/paper_names_offsets.c:85
msgctxt "paper size"
msgid "Choukei 3 Envelope"
msgstr "Choukei 3 aploksne"
-#: gtk/paper_names_offsets.c:86
+#: ../gtk/paper_names_offsets.c:86
msgctxt "paper size"
msgid "Choukei 4 Envelope"
msgstr "Choukei 4 aploksne"
-#: gtk/paper_names_offsets.c:87
+#: ../gtk/paper_names_offsets.c:87
msgctxt "paper size"
msgid "hagaki (postcard)"
msgstr "hagaki (pastkarte)"
-#: gtk/paper_names_offsets.c:88
+#: ../gtk/paper_names_offsets.c:88
msgctxt "paper size"
msgid "kahu Envelope"
msgstr "kahu aploksne"
-#: gtk/paper_names_offsets.c:89
+#: ../gtk/paper_names_offsets.c:89
msgctxt "paper size"
msgid "kaku2 Envelope"
msgstr "kaku2 aploksne"
-#: gtk/paper_names_offsets.c:90
+#: ../gtk/paper_names_offsets.c:90
msgctxt "paper size"
msgid "oufuku (reply postcard)"
msgstr "oufuku (atbildes pastkarte)"
-#: gtk/paper_names_offsets.c:91
+#: ../gtk/paper_names_offsets.c:91
msgctxt "paper size"
msgid "you4 Envelope"
msgstr "you4 aploksne"
-#: gtk/paper_names_offsets.c:92
+#: ../gtk/paper_names_offsets.c:92
msgctxt "paper size"
msgid "10x11"
msgstr "10x11"
-#: gtk/paper_names_offsets.c:93
+#: ../gtk/paper_names_offsets.c:93
msgctxt "paper size"
msgid "10x13"
msgstr "10x13"
-#: gtk/paper_names_offsets.c:94
+#: ../gtk/paper_names_offsets.c:94
msgctxt "paper size"
msgid "10x14"
msgstr "10x14"
-#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96
+#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96
msgctxt "paper size"
msgid "10x15"
msgstr "10x15"
-#: gtk/paper_names_offsets.c:97
+#: ../gtk/paper_names_offsets.c:97
msgctxt "paper size"
msgid "11x12"
msgstr "11x12"
-#: gtk/paper_names_offsets.c:98
+#: ../gtk/paper_names_offsets.c:98
msgctxt "paper size"
msgid "11x15"
msgstr "11x15"
-#: gtk/paper_names_offsets.c:99
+#: ../gtk/paper_names_offsets.c:99
msgctxt "paper size"
msgid "12x19"
msgstr "12x19"
-#: gtk/paper_names_offsets.c:100
+#: ../gtk/paper_names_offsets.c:100
msgctxt "paper size"
msgid "5x7"
msgstr "5x7"
-#: gtk/paper_names_offsets.c:101
+#: ../gtk/paper_names_offsets.c:101
msgctxt "paper size"
msgid "6x9 Envelope"
msgstr "6x9 aploksne"
-#: gtk/paper_names_offsets.c:102
+#: ../gtk/paper_names_offsets.c:102
msgctxt "paper size"
msgid "7x9 Envelope"
msgstr "7x9 aploksne"
-#: gtk/paper_names_offsets.c:103
+#: ../gtk/paper_names_offsets.c:103
msgctxt "paper size"
msgid "9x11 Envelope"
msgstr "9x11 aploksne"
-#: gtk/paper_names_offsets.c:104
+#: ../gtk/paper_names_offsets.c:104
msgctxt "paper size"
msgid "a2 Envelope"
msgstr "a2 aploksne"
-#: gtk/paper_names_offsets.c:105
+#: ../gtk/paper_names_offsets.c:105
msgctxt "paper size"
msgid "Arch A"
msgstr "Arch A"
-#: gtk/paper_names_offsets.c:106
+#: ../gtk/paper_names_offsets.c:106
msgctxt "paper size"
msgid "Arch B"
msgstr "Arch B"
-#: gtk/paper_names_offsets.c:107
+#: ../gtk/paper_names_offsets.c:107
msgctxt "paper size"
msgid "Arch C"
msgstr "Arch C"
-#: gtk/paper_names_offsets.c:108
+#: ../gtk/paper_names_offsets.c:108
msgctxt "paper size"
msgid "Arch D"
msgstr "Arch D"
-#: gtk/paper_names_offsets.c:109
+#: ../gtk/paper_names_offsets.c:109
msgctxt "paper size"
msgid "Arch E"
msgstr "Arch E"
-#: gtk/paper_names_offsets.c:110
+#: ../gtk/paper_names_offsets.c:110
msgctxt "paper size"
msgid "b-plus"
msgstr "b-plus"
-#: gtk/paper_names_offsets.c:111
+#: ../gtk/paper_names_offsets.c:111
msgctxt "paper size"
msgid "c"
msgstr "c"
-#: gtk/paper_names_offsets.c:112
+#: ../gtk/paper_names_offsets.c:112
msgctxt "paper size"
msgid "c5 Envelope"
msgstr "c5 aploksne"
-#: gtk/paper_names_offsets.c:113
+#: ../gtk/paper_names_offsets.c:113
msgctxt "paper size"
msgid "d"
msgstr "d"
-#: gtk/paper_names_offsets.c:114
+#: ../gtk/paper_names_offsets.c:114
msgctxt "paper size"
msgid "e"
msgstr "e"
-#: gtk/paper_names_offsets.c:115
+#: ../gtk/paper_names_offsets.c:115
msgctxt "paper size"
msgid "edp"
msgstr "edp"
-#: gtk/paper_names_offsets.c:116
+#: ../gtk/paper_names_offsets.c:116
msgctxt "paper size"
msgid "European edp"
msgstr "Eiropas edp"
-#: gtk/paper_names_offsets.c:117
+#: ../gtk/paper_names_offsets.c:117
msgctxt "paper size"
msgid "Executive"
msgstr "Rīkojuma"
-#: gtk/paper_names_offsets.c:118
+#: ../gtk/paper_names_offsets.c:118
msgctxt "paper size"
msgid "f"
msgstr "f"
-#: gtk/paper_names_offsets.c:119
+#: ../gtk/paper_names_offsets.c:119
msgctxt "paper size"
msgid "FanFold European"
msgstr "FanFold Eiropas"
-#: gtk/paper_names_offsets.c:120
+#: ../gtk/paper_names_offsets.c:120
msgctxt "paper size"
msgid "FanFold US"
msgstr "FanFold ASV"
-#: gtk/paper_names_offsets.c:121
+#: ../gtk/paper_names_offsets.c:121
msgctxt "paper size"
msgid "FanFold German Legal"
msgstr "FanFold vācu juridiskais"
-#: gtk/paper_names_offsets.c:122
+#: ../gtk/paper_names_offsets.c:122
msgctxt "paper size"
msgid "Government Legal"
msgstr "Valdības juridiskais"
-#: gtk/paper_names_offsets.c:123
+#: ../gtk/paper_names_offsets.c:123
msgctxt "paper size"
msgid "Government Letter"
msgstr "Valdības vēstules"
-#: gtk/paper_names_offsets.c:124
+#: ../gtk/paper_names_offsets.c:124
msgctxt "paper size"
msgid "Index 3x5"
msgstr "3x5 kartīte"
-#: gtk/paper_names_offsets.c:125
+#: ../gtk/paper_names_offsets.c:125
msgctxt "paper size"
msgid "Index 4x6 (postcard)"
msgstr "4x6 kartīte (pastkarte)"
-#: gtk/paper_names_offsets.c:126
+#: ../gtk/paper_names_offsets.c:126
msgctxt "paper size"
msgid "Index 4x6 ext"
msgstr "4x6 ext kartīte"
-#: gtk/paper_names_offsets.c:127
+#: ../gtk/paper_names_offsets.c:127
msgctxt "paper size"
msgid "Index 5x8"
msgstr "5x8 kartīte"
-#: gtk/paper_names_offsets.c:128
+#: ../gtk/paper_names_offsets.c:128
msgctxt "paper size"
msgid "Invoice"
msgstr "Pavadzīme"
-#: gtk/paper_names_offsets.c:129
+#: ../gtk/paper_names_offsets.c:129
msgctxt "paper size"
msgid "Tabloid"
msgstr "Tabloid"
-#: gtk/paper_names_offsets.c:130
+#: ../gtk/paper_names_offsets.c:130
msgctxt "paper size"
msgid "US Legal"
msgstr "ASV juridiskais"
-#: gtk/paper_names_offsets.c:131
+#: ../gtk/paper_names_offsets.c:131
msgctxt "paper size"
msgid "US Legal Extra"
msgstr "ASV juridiskais extra"
-#: gtk/paper_names_offsets.c:132
+#: ../gtk/paper_names_offsets.c:132
msgctxt "paper size"
msgid "US Letter"
msgstr "ASV vēstule"
-#: gtk/paper_names_offsets.c:133
+#: ../gtk/paper_names_offsets.c:133
msgctxt "paper size"
msgid "US Letter Extra"
msgstr "ASV vēstule extra"
-#: gtk/paper_names_offsets.c:134
+#: ../gtk/paper_names_offsets.c:134
msgctxt "paper size"
msgid "US Letter Plus"
msgstr "ASV vēstule plus"
-#: gtk/paper_names_offsets.c:135
+#: ../gtk/paper_names_offsets.c:135
msgctxt "paper size"
msgid "Monarch Envelope"
msgstr "Monarha aploksne"
-#: gtk/paper_names_offsets.c:136
+#: ../gtk/paper_names_offsets.c:136
msgctxt "paper size"
msgid "#10 Envelope"
msgstr "#10 aploksne"
-#: gtk/paper_names_offsets.c:137
+#: ../gtk/paper_names_offsets.c:137
msgctxt "paper size"
msgid "#11 Envelope"
msgstr "#11 aploksne"
-#: gtk/paper_names_offsets.c:138
+#: ../gtk/paper_names_offsets.c:138
msgctxt "paper size"
msgid "#12 Envelope"
msgstr "#12 aploksne"
-#: gtk/paper_names_offsets.c:139
+#: ../gtk/paper_names_offsets.c:139
msgctxt "paper size"
msgid "#14 Envelope"
msgstr "#14 aploksne"
-#: gtk/paper_names_offsets.c:140
+#: ../gtk/paper_names_offsets.c:140
msgctxt "paper size"
msgid "#9 Envelope"
msgstr "#9 aploksne"
-#: gtk/paper_names_offsets.c:141
+#: ../gtk/paper_names_offsets.c:141
msgctxt "paper size"
msgid "Personal Envelope"
msgstr "Privātā aploksne"
-#: gtk/paper_names_offsets.c:142
+#: ../gtk/paper_names_offsets.c:142
msgctxt "paper size"
msgid "Quarto"
msgstr "Kvarta formāts"
-#: gtk/paper_names_offsets.c:143
+#: ../gtk/paper_names_offsets.c:143
msgctxt "paper size"
msgid "Super A"
msgstr "Super A"
-#: gtk/paper_names_offsets.c:144
+#: ../gtk/paper_names_offsets.c:144
msgctxt "paper size"
msgid "Super B"
msgstr "Super B"
-#: gtk/paper_names_offsets.c:145
+#: ../gtk/paper_names_offsets.c:145
msgctxt "paper size"
msgid "Wide Format"
msgstr "Platais formāts"
-#: gtk/paper_names_offsets.c:146
+#: ../gtk/paper_names_offsets.c:146
msgctxt "paper size"
msgid "Dai-pa-kai"
msgstr "Dai-pa-kai"
-#: gtk/paper_names_offsets.c:147
+#: ../gtk/paper_names_offsets.c:147
msgctxt "paper size"
msgid "Folio"
msgstr "Folio"
-#: gtk/paper_names_offsets.c:148
+#: ../gtk/paper_names_offsets.c:148
msgctxt "paper size"
msgid "Folio sp"
msgstr "Folio sp"
-#: gtk/paper_names_offsets.c:149
+#: ../gtk/paper_names_offsets.c:149
msgctxt "paper size"
msgid "Invite Envelope"
msgstr "Ielūguma aploksne"
-#: gtk/paper_names_offsets.c:150
+#: ../gtk/paper_names_offsets.c:150
msgctxt "paper size"
msgid "Italian Envelope"
msgstr "Itāļu aploksne"
-#: gtk/paper_names_offsets.c:151
+#: ../gtk/paper_names_offsets.c:151
msgctxt "paper size"
msgid "juuro-ku-kai"
msgstr "juuro-ku-kai"
-#: gtk/paper_names_offsets.c:152
+#: ../gtk/paper_names_offsets.c:152
msgctxt "paper size"
msgid "pa-kai"
msgstr "pa-kai"
-#: gtk/paper_names_offsets.c:153
+#: ../gtk/paper_names_offsets.c:153
msgctxt "paper size"
msgid "Postfix Envelope"
msgstr "Postfix aploksne"
-#: gtk/paper_names_offsets.c:154
+#: ../gtk/paper_names_offsets.c:154
msgctxt "paper size"
msgid "Small Photo"
msgstr "Mazs foto"
-#: gtk/paper_names_offsets.c:155
+#: ../gtk/paper_names_offsets.c:155
msgctxt "paper size"
msgid "prc1 Envelope"
msgstr "prc1 aploksne"
-#: gtk/paper_names_offsets.c:156
+#: ../gtk/paper_names_offsets.c:156
msgctxt "paper size"
msgid "prc10 Envelope"
msgstr "prc10 aploksne"
-#: gtk/paper_names_offsets.c:157
+#: ../gtk/paper_names_offsets.c:157
msgctxt "paper size"
msgid "prc 16k"
msgstr "prc 16k"
-#: gtk/paper_names_offsets.c:158
+#: ../gtk/paper_names_offsets.c:158
msgctxt "paper size"
msgid "prc2 Envelope"
msgstr "prc2 aploksne"
-#: gtk/paper_names_offsets.c:159
+#: ../gtk/paper_names_offsets.c:159
msgctxt "paper size"
msgid "prc3 Envelope"
msgstr "prc3 aploksne"
-#: gtk/paper_names_offsets.c:160
+#: ../gtk/paper_names_offsets.c:160
msgctxt "paper size"
msgid "prc 32k"
msgstr "prc 32k"
-#: gtk/paper_names_offsets.c:161
+#: ../gtk/paper_names_offsets.c:161
msgctxt "paper size"
msgid "prc4 Envelope"
msgstr "prc4 aploksne"
-#: gtk/paper_names_offsets.c:162
+#: ../gtk/paper_names_offsets.c:162
msgctxt "paper size"
msgid "prc5 Envelope"
msgstr "prc5 aploksne"
-#: gtk/paper_names_offsets.c:163
+#: ../gtk/paper_names_offsets.c:163
msgctxt "paper size"
msgid "prc6 Envelope"
msgstr "prc6 aploksne"
-#: gtk/paper_names_offsets.c:164
+#: ../gtk/paper_names_offsets.c:164
msgctxt "paper size"
msgid "prc7 Envelope"
msgstr "prc7 aploksne"
-#: gtk/paper_names_offsets.c:165
+#: ../gtk/paper_names_offsets.c:165
msgctxt "paper size"
msgid "prc8 Envelope"
msgstr "prc8 aploksne"
-#: gtk/paper_names_offsets.c:166
+#: ../gtk/paper_names_offsets.c:166
msgctxt "paper size"
msgid "prc9 Envelope"
msgstr "prc9 aploksne"
-#: gtk/paper_names_offsets.c:167
+#: ../gtk/paper_names_offsets.c:167
msgctxt "paper size"
msgid "ROC 16k"
msgstr "ROC 16k"
-#: gtk/paper_names_offsets.c:168
+#: ../gtk/paper_names_offsets.c:168
msgctxt "paper size"
msgid "ROC 8k"
msgstr "ROC 8k"
-#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552
-#, c-format
-msgid "different idatas found for symlinked '%s' and '%s'\n"
-msgstr "dažādi idata atrasti simsaistītajos '%s' un '%s'\n"
-
-#: gtk/updateiconcache.c:1374
+#: ../gtk/updateiconcache.c:1370
#, c-format
msgid "Failed to write header\n"
msgstr "Neizdevās ierakstīt galveni\n"
-#: gtk/updateiconcache.c:1380
+#: ../gtk/updateiconcache.c:1376
#, c-format
msgid "Failed to write hash table\n"
msgstr "Neizdevās ierakstīt jaucējtabulu\n"
-#: gtk/updateiconcache.c:1386
+#: ../gtk/updateiconcache.c:1382
#, c-format
msgid "Failed to write folder index\n"
msgstr "Neizdevās ierakstīt mapes rādītāju\n"
-#: gtk/updateiconcache.c:1394
+#: ../gtk/updateiconcache.c:1390
#, c-format
msgid "Failed to rewrite header\n"
msgstr "Neizdevās pārrakstīt galveni\n"
-#: gtk/updateiconcache.c:1463
+#: ../gtk/updateiconcache.c:1484
#, c-format
msgid "Failed to open file %s : %s\n"
msgstr "Neizdevās atvērt failu %s : %s\n"
-#: gtk/updateiconcache.c:1471
+#: ../gtk/updateiconcache.c:1492 ../gtk/updateiconcache.c:1522
#, c-format
msgid "Failed to write cache file: %s\n"
msgstr "Neizdevās ierakstīt keša failu: %s\n"
-#: gtk/updateiconcache.c:1507
+#: ../gtk/updateiconcache.c:1533
#, c-format
msgid "The generated cache was invalid.\n"
msgstr "Izveidotā kešatmiņa nav derīga.\n"
-#: gtk/updateiconcache.c:1521
+#: ../gtk/updateiconcache.c:1547
#, c-format
msgid "Could not rename %s to %s: %s, removing %s then.\n"
msgstr "Neizdevās pārsaukt %s par %s: %s, tāpēc izmests %s.\n"
-#: gtk/updateiconcache.c:1535
+#: ../gtk/updateiconcache.c:1561
#, c-format
msgid "Could not rename %s to %s: %s\n"
msgstr "Neizdevās pārsaukt %s par %s: %s\n"
-#: gtk/updateiconcache.c:1545
+#: ../gtk/updateiconcache.c:1571
#, c-format
msgid "Could not rename %s back to %s: %s.\n"
msgstr "Neizdevās pārsaukt %s atpakaļ par %s: %s.\n"
-#: gtk/updateiconcache.c:1572
+#: ../gtk/updateiconcache.c:1598
#, c-format
msgid "Cache file created successfully.\n"
msgstr "Kešfails sekmīgi izveidots.\n"
-#: gtk/updateiconcache.c:1611
+#: ../gtk/updateiconcache.c:1637
msgid "Overwrite an existing cache, even if up to date"
msgstr "Pārrakstīt esošo kešu, pat ja tā nav novecojusi"
-#: gtk/updateiconcache.c:1612
+#: ../gtk/updateiconcache.c:1638
msgid "Don't check for the existence of index.theme"
msgstr "Nepārbaudīt, vai eksistē index.theme"
-#: gtk/updateiconcache.c:1613
+#: ../gtk/updateiconcache.c:1639
msgid "Don't include image data in the cache"
msgstr "Neiekļaut attēla datus kešā"
-#: gtk/updateiconcache.c:1614
+#: ../gtk/updateiconcache.c:1640
msgid "Output a C header file"
msgstr "Izveidot C galvenes failu"
-#: gtk/updateiconcache.c:1615
+#: ../gtk/updateiconcache.c:1641
msgid "Turn off verbose output"
msgstr "Atslēgt detalizēto izvadi"
-#: gtk/updateiconcache.c:1616
+#: ../gtk/updateiconcache.c:1642
msgid "Validate existing icon cache"
msgstr "Pārbaudīt esošo ikonu kešatmiņu"
-#: gtk/updateiconcache.c:1683
+#: ../gtk/updateiconcache.c:1709
#, c-format
msgid "File not found: %s\n"
msgstr "Fails nav atrasts: %s\n"
-#: gtk/updateiconcache.c:1689
+#: ../gtk/updateiconcache.c:1715
#, c-format
msgid "Not a valid icon cache: %s\n"
msgstr "Nav derīga ikonu kešatmiņa: %s\n"
-#: gtk/updateiconcache.c:1702
+#: ../gtk/updateiconcache.c:1728
#, c-format
msgid "No theme index file.\n"
msgstr "Nav tēmas indeksa faila.\n"
-#: gtk/updateiconcache.c:1706
+#: ../gtk/updateiconcache.c:1732
#, c-format
msgid ""
"No theme index file in '%s'.\n"
"index.\n"
#. ID
-#: modules/input/imam-et.c:454
+#: ../modules/input/imam-et.c:454
msgid "Amharic (EZ+)"
msgstr "Amharu (EZ+)"
#. ID
-#: modules/input/imcedilla.c:92
+#: ../modules/input/imcedilla.c:92
msgid "Cedilla"
msgstr "Sediļa (āķītis zem burta)"
#. ID
-#: modules/input/imcyrillic-translit.c:217
+#: ../modules/input/imcyrillic-translit.c:217
msgid "Cyrillic (Transliterated)"
msgstr "Kirilica (transliterēts)"
#. ID
-#: modules/input/iminuktitut.c:127
+#: ../modules/input/iminuktitut.c:127
msgid "Inuktitut (Transliterated)"
msgstr "Inuītu (transliterēts)"
#. ID
-#: modules/input/imipa.c:145
+#: ../modules/input/imipa.c:145
msgid "IPA"
msgstr "IPA"
#. ID
-#: modules/input/immultipress.c:31
+#: ../modules/input/immultipress.c:31
msgid "Multipress"
msgstr "Multipress"
#. ID
-#: modules/input/imthai.c:35
+#: ../modules/input/imthai.c:35
msgid "Thai-Lao"
msgstr "Taju-laosiešu"
#. ID
-#: modules/input/imti-er.c:453
+#: ../modules/input/imti-er.c:453
msgid "Tigrigna-Eritrean (EZ+)"
msgstr "Tigrinja-eritrejiešu (EZ+)"
#. ID
-#: modules/input/imti-et.c:453
+#: ../modules/input/imti-et.c:453
msgid "Tigrigna-Ethiopian (EZ+)"
msgstr "Tigrinja-Etiopiešu (EZ+)"
#. ID
-#: modules/input/imviqr.c:244
+#: ../modules/input/imviqr.c:244
msgid "Vietnamese (VIQR)"
msgstr "Vjetnamiešu (VIQR)"
#. ID
-#: modules/input/imxim.c:28
+#: ../modules/input/imxim.c:28
msgid "X Input Method"
msgstr "X ievades metode"
-#: modules/printbackends/cups/gtkprintbackendcups.c:811
-#: modules/printbackends/cups/gtkprintbackendcups.c:1020
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:828
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1038
msgid "Username:"
msgstr "Lietotājvārds:"
-#: modules/printbackends/cups/gtkprintbackendcups.c:812
-#: modules/printbackends/cups/gtkprintbackendcups.c:1029
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:829
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1047
msgid "Password:"
msgstr "Parole:"
-#: modules/printbackends/cups/gtkprintbackendcups.c:850
-#, c-format
-msgid "Authentication is required to get a file from %s"
-msgstr "Lai iegūtu failu no %s, nepieciešama autentifikācija"
-
-#: modules/printbackends/cups/gtkprintbackendcups.c:854
-#: modules/printbackends/cups/gtkprintbackendcups.c:1042
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1060
#, c-format
msgid "Authentication is required to print document '%s' on printer %s"
msgstr ""
"Lai drukātu dokumentu '%s' uz printera %s, nepieciešama autentifikācija"
-#: modules/printbackends/cups/gtkprintbackendcups.c:856
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:870
#, c-format
msgid "Authentication is required to print a document on %s"
msgstr "Lai drukātu dokumentu uz %s, nepieciešama autentifikācija"
-#: modules/printbackends/cups/gtkprintbackendcups.c:860
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
#, c-format
msgid "Authentication is required to get attributes of job '%s'"
msgstr "Lai iegūtu uzdevuma '%s' atribūtus, nepieciešama autentifikācija"
-#: modules/printbackends/cups/gtkprintbackendcups.c:862
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:876
msgid "Authentication is required to get attributes of a job"
msgstr "Lai iegūtu uzdevuma atribūtus, nepieciešama autentifikācija"
-#: modules/printbackends/cups/gtkprintbackendcups.c:866
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:880
#, c-format
msgid "Authentication is required to get attributes of printer %s"
msgstr "Lai iegūtu printera %s atribūtus, nepieciešama autentifikācija"
-#: modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:882
msgid "Authentication is required to get attributes of a printer"
msgstr "Lai iegūtu printera atribūtus, nepieciešama autentifikācija"
-#: modules/printbackends/cups/gtkprintbackendcups.c:871
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:885
#, c-format
msgid "Authentication is required to get default printer of %s"
msgstr "Lai iegūtu %s noklusēto printeri, nepieciešama autentifikācija"
-#: modules/printbackends/cups/gtkprintbackendcups.c:874
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:888
#, c-format
msgid "Authentication is required to get printers from %s"
msgstr "Lai iegūtu %s printeru sarakstu, nepieciešama autentifikācija"
-#: modules/printbackends/cups/gtkprintbackendcups.c:877
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:893
+#, c-format
+msgid "Authentication is required to get a file from %s"
+msgstr "Lai iegūtu failu no %s, nepieciešama autentifikācija"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:895
#, c-format
msgid "Authentication is required on %s"
msgstr "Nepieciešama autentifikācija uz %s"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1014
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1032
msgid "Domain:"
msgstr "Domēns:"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1044
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1062
#, c-format
msgid "Authentication is required to print document '%s'"
msgstr "Lai drukātu dokumentu '%s', nepieciešama autentifikācija"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1049
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1067
#, c-format
msgid "Authentication is required to print this document on printer %s"
msgstr "Lai drukātu šo dokumentu uz printera %s, nepieciešama autentifikācija"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1051
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1069
msgid "Authentication is required to print this document"
msgstr "Lai drukātu šo dokumentu, nepieciešama autentifikācija"
-#: modules/printbackends/cups/gtkprintbackendcups.c:1672
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
#, c-format
msgid "Printer '%s' is low on toner."
msgstr "Printerim '%s' ir atlicis maz tonera."
-#: modules/printbackends/cups/gtkprintbackendcups.c:1673
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
#, c-format
msgid "Printer '%s' has no toner left."
msgstr "Printerim '%s' vairs nav tonera."
#. Translators: "Developer" like on photo development context
-#: modules/printbackends/cups/gtkprintbackendcups.c:1675
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1693
#, c-format
msgid "Printer '%s' is low on developer."
msgstr "Printerim '%s' ir atlicis maz attīstītāja."
#. Translators: "Developer" like on photo development context
-#: modules/printbackends/cups/gtkprintbackendcups.c:1677
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1695
#, c-format
msgid "Printer '%s' is out of developer."
msgstr "Printerim '%s' vairs nav attīstītāja."
#. Translators: "marker" is one color bin of the printer
-#: modules/printbackends/cups/gtkprintbackendcups.c:1679
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1697
#, c-format
msgid "Printer '%s' is low on at least one marker supply."
msgstr "Printerim '%s' ir atlicis maz vismaz vienas krāsas."
#. Translators: "marker" is one color bin of the printer
-#: modules/printbackends/cups/gtkprintbackendcups.c:1681
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1699
#, c-format
msgid "Printer '%s' is out of at least one marker supply."
msgstr "Printerim '%s' vairs nav vismaz vienas krāsas."
-#: modules/printbackends/cups/gtkprintbackendcups.c:1682
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1700
#, c-format
msgid "The cover is open on printer '%s'."
msgstr "Printera '%s' vāks ir atvērts."
-#: modules/printbackends/cups/gtkprintbackendcups.c:1683
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1701
#, c-format
msgid "The door is open on printer '%s'."
msgstr "Printera '%s' durvis ir atvērtas."
-#: modules/printbackends/cups/gtkprintbackendcups.c:1684
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1702
#, c-format
msgid "Printer '%s' is low on paper."
msgstr "Printerim '%s' ir maz papīra."
-#: modules/printbackends/cups/gtkprintbackendcups.c:1685
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1703
#, c-format
msgid "Printer '%s' is out of paper."
msgstr "Printerim '%s' vairs nav papīra."
-#: modules/printbackends/cups/gtkprintbackendcups.c:1686
-#, fuzzy, c-format
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1704
+#, c-format
msgid "Printer '%s' is currently offline."
msgstr "Printeris '%s' šobrīd ir atslēgts."
-#: modules/printbackends/cups/gtkprintbackendcups.c:1687
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1705
#, c-format
msgid "There is a problem on printer '%s'."
msgstr "Ar printeri '%s' ir kāda problēma."
#. Translators: this is a printer status.
-#: modules/printbackends/cups/gtkprintbackendcups.c:1995
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2019
msgid "Paused ; Rejecting Jobs"
msgstr "Apturēts ; Nepieņem uzdevumus"
#. Translators: this is a printer status.
-#: modules/printbackends/cups/gtkprintbackendcups.c:2001
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2025
msgid "Rejecting Jobs"
msgstr "Nepieņem uzdevumus"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2777
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
msgid "Two Sided"
msgstr "Abās pusēs"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2778
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799
msgid "Paper Type"
msgstr "Papīra tips"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2779
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
msgid "Paper Source"
msgstr "Papīra avots"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2780
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801
msgid "Output Tray"
msgstr "Izvades paplāte"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2781
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
msgid "Resolution"
msgstr "Izšķirtspēja"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2782
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803
msgid "GhostScript pre-filtering"
msgstr "GhostScript prefiltrēšana"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2791
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
msgid "One Sided"
msgstr "Vienā pusē"
#. Translators: this is an option of "Two Sided"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2793
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
msgid "Long Edge (Standard)"
msgstr "Garās malas iesējums"
#. Translators: this is an option of "Two Sided"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2795
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
msgid "Short Edge (Flip)"
msgstr "Īsās malas iesējums"
#. Translators: this is an option of "Paper Source"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2797
-#: modules/printbackends/cups/gtkprintbackendcups.c:2799
-#: modules/printbackends/cups/gtkprintbackendcups.c:2807
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2820
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2828
msgid "Auto Select"
msgstr "Auto izvēle"
#. Translators: this is an option of "Paper Source"
#. Translators: this is an option of "Resolution"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2801
-#: modules/printbackends/cups/gtkprintbackendcups.c:2803
-#: modules/printbackends/cups/gtkprintbackendcups.c:2805
-#: modules/printbackends/cups/gtkprintbackendcups.c:2809
-#: modules/printbackends/cups/gtkprintbackendcups.c:3295
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2822
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2824
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3326
msgid "Printer Default"
msgstr "Printera noklusētais"
#. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2811
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2832
msgid "Embed GhostScript fonts only"
msgstr "Iekļaut vienīgi GhostScript fontus"
#. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2813
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2834
msgid "Convert to PS level 1"
msgstr "Konvertēt uz PS level 1"
#. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2815
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2836
msgid "Convert to PS level 2"
msgstr "Konvertēt uz PS level 2"
#. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2817
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2838
msgid "No pre-filtering"
msgstr "Bez prefiltrēšanas"
#. 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:2826
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2847
msgid "Miscellaneous"
msgstr "Dažādi"
#. Translators: These strings name the possible values of the
#. * job priority option in the print dialog
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3503
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Urgent"
msgstr "Steidzama"
-#: modules/printbackends/cups/gtkprintbackendcups.c:3503
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "High"
msgstr "Augsta"
-#: modules/printbackends/cups/gtkprintbackendcups.c:3503
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Medium"
msgstr "Vidēja"
-#: modules/printbackends/cups/gtkprintbackendcups.c:3503
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Low"
msgstr "Zema"
#. Translators, this string is used to label the pages-per-sheet option
#. * in the print dialog
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3527
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3593
msgid "Pages per Sheet"
msgstr "Lapas uz loksnes"
#. Translators, this string is used to label the job priority option
#. * in the print dialog
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3564
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3630
msgid "Job Priority"
msgstr "Prioritāte"
#. Translators, this string is used to label the billing info entry
#. * in the print dialog
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3575
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3641
msgid "Billing Info"
msgstr "Rēķina informācija"
#. Translators, these strings are names for various 'standard' cover
#. * pages that the printing system may support.
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "None"
msgstr "Nekas"
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Classified"
msgstr "Īpaša"
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Confidential"
msgstr "Konfidenciāla"
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Secret"
msgstr "Slepena"
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Standard"
msgstr "Standarta"
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Top Secret"
msgstr "Pilnīgi slepena"
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Unclassified"
msgstr "Brīvi pieejama"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3625
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3691
msgid "Before"
msgstr "Pirms"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3640
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706
msgid "After"
msgstr "Pēc"
#. * a print job is printed. Possible values are 'now', a specified time,
#. * or 'on hold'
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3660
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3726
msgid "Print at"
msgstr "Drukāt"
#. 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:3671
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
msgid "Print at time"
msgstr "Drukāt laikā"
#. * size. The two placeholders are replaced with the width and height
#. * in points. E.g: "Custom 230.4x142.9"
#.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3706
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3772
#, c-format
msgid "Custom %sx%s"
msgstr "Pielāgots %sx%s"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3853
+#| msgid "Printer offline"
+msgid "Printer Profile"
+msgstr "Printera profils"
+
+#. TRANSLATORS: this is when color profile information is unavailable
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3860
+#| msgid "Not available"
+msgid "Unavailable"
+msgstr "Nav pieejams"
+
#. default filename used for print-to-file
-#: modules/printbackends/file/gtkprintbackendfile.c:250
+#: ../modules/printbackends/file/gtkprintbackendfile.c:250
#, c-format
msgid "output.%s"
msgstr "izvade.%s"
-#: modules/printbackends/file/gtkprintbackendfile.c:493
+#: ../modules/printbackends/file/gtkprintbackendfile.c:501
msgid "Print to File"
msgstr "Drukāt failā"
-#: modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:627
msgid "PDF"
msgstr "PDF"
-#: modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:627
msgid "Postscript"
msgstr "Postscript"
-#: modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:627
msgid "SVG"
msgstr "SVG"
-#: modules/printbackends/file/gtkprintbackendfile.c:582
-#: modules/printbackends/test/gtkprintbackendtest.c:503
+#: ../modules/printbackends/file/gtkprintbackendfile.c:640
+#: ../modules/printbackends/test/gtkprintbackendtest.c:503
msgid "Pages per _sheet:"
msgstr "Lapas uz loks_nes:"
-#: modules/printbackends/file/gtkprintbackendfile.c:641
+#: ../modules/printbackends/file/gtkprintbackendfile.c:699
msgid "File"
msgstr "Fails"
-#: modules/printbackends/file/gtkprintbackendfile.c:651
+#: ../modules/printbackends/file/gtkprintbackendfile.c:709
msgid "_Output format"
msgstr "_Izvades formāts"
-#: modules/printbackends/lpr/gtkprintbackendlpr.c:395
+#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395
msgid "Print to LPR"
msgstr "Drukāt uz LPR"
-#: modules/printbackends/lpr/gtkprintbackendlpr.c:421
+#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421
msgid "Pages Per Sheet"
msgstr "Lapas uz loksnes"
-#: modules/printbackends/lpr/gtkprintbackendlpr.c:428
+#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428
msgid "Command Line"
msgstr "Komandrinda"
#. SUN_BRANDING
-#: modules/printbackends/papi/gtkprintbackendpapi.c:811
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811
msgid "printer offline"
msgstr "printeris atslēgts"
#. SUN_BRANDING
-#: modules/printbackends/papi/gtkprintbackendpapi.c:829
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829
msgid "ready to print"
msgstr "gatavs drukāšanai"
#. SUN_BRANDING
-#: modules/printbackends/papi/gtkprintbackendpapi.c:832
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832
msgid "processing job"
msgstr "apstrādā uzdevumu"
#. SUN_BRANDING
-#: modules/printbackends/papi/gtkprintbackendpapi.c:836
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836
msgid "paused"
msgstr "apturēts"
#. SUN_BRANDING
-#: modules/printbackends/papi/gtkprintbackendpapi.c:839
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839
msgid "unknown"
msgstr "nezināms"
#. default filename used for print-to-test
-#: modules/printbackends/test/gtkprintbackendtest.c:234
+#: ../modules/printbackends/test/gtkprintbackendtest.c:234
#, c-format
msgid "test-output.%s"
msgstr "testa-izvade.%s"
-#: modules/printbackends/test/gtkprintbackendtest.c:467
+#: ../modules/printbackends/test/gtkprintbackendtest.c:467
msgid "Print to Test Printer"
msgstr "Drukāt testa printerī"
-#: tests/testfilechooser.c:207
+#: ../tests/testfilechooser.c:207
#, c-format
msgid "Could not get information for file '%s': %s"
msgstr "Neizdevās iegūt informāciju par failu '%s': %s"
-#: tests/testfilechooser.c:222
+#: ../tests/testfilechooser.c:222
#, c-format
msgid "Failed to open file '%s': %s"
msgstr "Neizdevās atvērt failu '%s': %s"
-#: tests/testfilechooser.c:267
+#: ../tests/testfilechooser.c:267
#, c-format
msgid ""
"Failed to load image '%s': reason not known, probably a corrupt image file"
"Neizdevās ielādēt attēlu '%s': iemesls nezināms, iespējams, bojāts attēla "
"fails"
+#~ msgid "X screen to use"
+#~ msgstr "Izmantojamais X ekrāns"
+
+#~ msgid "SCREEN"
+#~ msgstr "EKRĀNS"
+
+#~ msgid "Make X calls synchronous"
+#~ msgstr "Padarīt X izsaukumus sinhronus"
+
+#~ msgid "Credits"
+#~ msgstr "Autori"
+
+#~ msgid "Written by"
+#~ msgstr "Sarakstījuši"
+
+#~ msgid "Received invalid color data\n"
+#~ msgstr "Saņemti nederīgi krāsu dati\n"
+
+#~ msgid "_Add"
+#~ msgstr "_Pievienot"
+
+#~ msgid "_Remove"
+#~ msgstr "_Izņemt"
+
+#~ msgid "_Browse for other folders"
+#~ msgstr "_Pārlūkot citas mapes"
+
+#~ msgid "Error creating folder '%s': %s"
+#~ msgstr "Kļūda, veidojot mapi '%s': %s"
+
+#~ msgid "Error loading icon: %s"
+#~ msgstr "Kļūda, ielādējot ikonu: %s"
+
+#~ msgid ""
+#~ "Could not find the icon '%s'. The '%s' theme\n"
+#~ "was not found either, perhaps you need to install it.\n"
+#~ "You can get a copy from:\n"
+#~ "\t%s"
+#~ msgstr ""
+#~ "Neizdevās atrast ikonu '%s'. Tēma '%s'\n"
+#~ "arī netika atrasta; iespējams, tā jāinstalē.\n"
+#~ "To var iegūt:\n"
+#~ "\t%s"
+
+#~ msgid "Unable to find include file: \"%s\""
+#~ msgstr "Nevar atrast iekļaujamo failu: \"%s\""
+
+#~ msgid "Unable to locate image file in pixmap_path: \"%s\""
+#~ msgstr "Nevar atrast attēla failu pixmap_path: \"%s\""
+
+#~ msgid "This function is not implemented for widgets of class '%s'"
+#~ msgstr "Šī funkcija nav ieviesta '%s' klases logdaļām"
+
+#~ msgctxt "throbbing progress animation widget"
+#~ msgid "Spinner"
+#~ msgstr "Spinner"
+
+#~ msgid "Provides visual indication of progress"
+#~ msgstr "Vizuāls progresa indikators"
+
+#~ msgid "Unable to locate theme engine in module_path: \"%s\","
+#~ msgstr "Neizdevās atrast tēmu dzinēju module_path: \"%s\","
+
+#~ msgid "different idatas found for symlinked '%s' and '%s'\n"
+#~ msgstr "dažādi idata atrasti simsaistītajos '%s' un '%s'\n"
+
#~ msgid "Gdk debugging flags to set"
#~ msgstr "Uzstādāmie Gdk atkļūdošanas karodziņi"
#~ msgid "_Folder name:"
#~ msgstr "_Mapes nosaukums:"
-#~ msgid "C_reate"
-#~ msgstr "Iz_veidot"
-
#~ msgid ""
#~ "The filename \"%s\" contains symbols that are not allowed in filenames"
#~ msgstr ""
#~ msgid "_Rename"
#~ msgstr "Pā_rsaukt"
-#~ msgid "_Selection: "
-#~ msgstr "_Izvēle: "
-
#~ msgid ""
#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the "
#~ "environment variable G_FILENAME_ENCODING): %s"
# Norwegian (bokmål) translation of gtk+.
# Copyright (C) 1998-2004, 2005 Free Software Foundation, Inc.
-# Kjartan Maraas <kmaraas@gnome.org>, 1998-2010.
+# Kjartan Maraas <kmaraas@gnome.org>, 1998-2011.
# Terance Edward Sola <terance@lyse.net>, 2005.
# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gtk+ 2.92.x\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-19 17:31+0200\n"
-"PO-Revision-Date: 2011-06-19 17:31+0200\n"
-"Last-Translator: Torstein Adolf Winterseth <kvikende@fsfe.org>\n"
+"POT-Creation-Date: 2011-07-12 12:44+0200\n"
+"PO-Revision-Date: 2011-07-12 12:45+0200\n"
+"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
"Language: nn\n"
"MIME-Version: 1.0\n"
msgstr[0] "Åpner %d oppføring"
msgstr[1] "Åpner %d oppføringer"
+#: ../gtk/a11y/gtkspinneraccessible.c:42
+msgctxt "throbbing progress animation widget"
+msgid "Spinner"
+msgstr "Spinner"
+
+#: ../gtk/a11y/gtkspinneraccessible.c:43
+msgid "Provides visual indication of progress"
+msgstr "Gir visuell indikasjon av framdrift"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:65
+msgctxt "light switch widget"
+msgid "Switch"
+msgstr "Bryter"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:66
+msgid "Switches between on and off states"
+msgstr "Bytter mellom av/på tilstand"
+
#. Translators: this is the license preamble; the string at the end
#. * contains the URL of the license.
#.
msgid "Other Applications"
msgstr "Andre programmer"
-#: ../gtk/gtkassistant.c:919
+#: ../gtk/gtkassistant.c:1000
msgid "C_ontinue"
msgstr "F_ortsett"
-#: ../gtk/gtkassistant.c:922
+#: ../gtk/gtkassistant.c:1003
msgid "Go _Back"
msgstr "Gå til_bake"
-#: ../gtk/gtkassistant.c:926
+#: ../gtk/gtkassistant.c:1007
msgid "_Finish"
msgstr "_Fullfør"
#. * text direction of RTL and specify "calendar:YM", then the year
#. * will appear to the right of the month.
#.
-#: ../gtk/gtkcalendar.c:870
+#: ../gtk/gtkcalendar.c:874
msgid "calendar:MY"
msgstr "calendar:MY"
#. * first day of the week to calendar:week_start:1 if you want Monday
#. * to be the first day of the week, and so on.
#.
-#: ../gtk/gtkcalendar.c:908
+#: ../gtk/gtkcalendar.c:912
msgid "calendar:week_start:0"
msgstr "calendar:week_start:1"
#. *
#. * If you don't understand this, leave it as "2000"
#.
-#: ../gtk/gtkcalendar.c:1909
+#: ../gtk/gtkcalendar.c:1913
msgctxt "year measurement template"
msgid "2000"
msgstr "2000"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1940 ../gtk/gtkcalendar.c:2637
+#: ../gtk/gtkcalendar.c:1944 ../gtk/gtkcalendar.c:2641
#, c-format
msgctxt "calendar:day:digits"
msgid "%d"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1972 ../gtk/gtkcalendar.c:2498
+#: ../gtk/gtkcalendar.c:1976 ../gtk/gtkcalendar.c:2502
#, c-format
msgctxt "calendar:week:digits"
msgid "%d"
#. *
#. * "%Y" is appropriate for most locales.
#.
-#: ../gtk/gtkcalendar.c:2267
+#: ../gtk/gtkcalendar.c:2271
msgctxt "calendar year format"
msgid "%Y"
msgstr "%Y"
msgid "Paper Margins"
msgstr "Papirmarger"
-#: ../gtk/gtkentry.c:8928 ../gtk/gtktextview.c:8274
+#: ../gtk/gtkentry.c:8949 ../gtk/gtktextview.c:8277
msgid "Input _Methods"
msgstr "Inndata_metoder"
-#: ../gtk/gtkentry.c:8942 ../gtk/gtktextview.c:8288
+#: ../gtk/gtkentry.c:8963 ../gtk/gtktextview.c:8291
msgid "_Insert Unicode Control Character"
msgstr "Sett _inn Unicode kontrolltegn"
-#: ../gtk/gtkentry.c:10413
+#: ../gtk/gtkentry.c:10434
msgid "Caps Lock and Num Lock are on"
msgstr "Caps Lock og Num Lock er på"
-#: ../gtk/gtkentry.c:10415
+#: ../gtk/gtkentry.c:10436
msgid "Num Lock is on"
msgstr "Num Lock er på"
-#: ../gtk/gtkentry.c:10417
+#: ../gtk/gtkentry.c:10438
msgid "Caps Lock is on"
msgstr "Caps Lock er på"
msgid "Select a File"
msgstr "Velg en fil"
-#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1871
+#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1809
msgid "Desktop"
msgstr "Skrivebord"
msgid "Other..."
msgstr "Annet …"
-#: ../gtk/gtkfilechooserdefault.c:147
+#: ../gtk/gtkfilechooserdefault.c:148
msgid "Type name of new folder"
msgstr "Skriv inn navn på ny mappe"
-#: ../gtk/gtkfilechooserdefault.c:965
+#: ../gtk/gtkfilechooserdefault.c:960
msgid "Could not retrieve information about the file"
msgstr "Klarte ikke å hente informasjon om filen"
-#: ../gtk/gtkfilechooserdefault.c:976
+#: ../gtk/gtkfilechooserdefault.c:971
msgid "Could not add a bookmark"
msgstr "Klarte ikke å legge til bokmerke"
-#: ../gtk/gtkfilechooserdefault.c:987
+#: ../gtk/gtkfilechooserdefault.c:982
msgid "Could not remove bookmark"
msgstr "Klarte ikke å fjerne bokmerke"
-#: ../gtk/gtkfilechooserdefault.c:998
+#: ../gtk/gtkfilechooserdefault.c:993
msgid "The folder could not be created"
msgstr "Klarte ikke å lage mappen"
-#: ../gtk/gtkfilechooserdefault.c:1011
+#: ../gtk/gtkfilechooserdefault.c:1006
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."
"Klarte ikke å lage mappen på grunn av at det allerede eksisterer en fil med "
"samme navn. Bruk et annet navn for mappen eller gi et nytt navn til filen."
-#: ../gtk/gtkfilechooserdefault.c:1025
+#: ../gtk/gtkfilechooserdefault.c:1020
msgid "You need to choose a valid filename."
msgstr "Du må velge et gyldig filnavn."
-#: ../gtk/gtkfilechooserdefault.c:1028
+#: ../gtk/gtkfilechooserdefault.c:1023
#, c-format
msgid "Cannot create a file under %s as it is not a folder"
msgstr "Kan ikke lage en fil under %s fordi den ikke er en mappe"
-#: ../gtk/gtkfilechooserdefault.c:1040
+#: ../gtk/gtkfilechooserdefault.c:1035
msgid ""
"You may only select folders. The item that you selected is not a folder; "
"try using a different item."
"Du kan kun velge mapper. Oppføringen du valgte er ikke en mappe. Prøv å "
"bruke en annen oppføring."
-#: ../gtk/gtkfilechooserdefault.c:1050
+#: ../gtk/gtkfilechooserdefault.c:1045
msgid "Invalid file name"
msgstr "Ugyldig filnavn"
-#: ../gtk/gtkfilechooserdefault.c:1060
+#: ../gtk/gtkfilechooserdefault.c:1055
msgid "The folder contents could not be displayed"
msgstr "Mappeinholdet kunne ikke vises"
#. * is a hostname. Nautilus and the panel contain the same string
#. * to translate.
#.
-#: ../gtk/gtkfilechooserdefault.c:1614
+#: ../gtk/gtkfilechooserdefault.c:1581
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s på %2$s"
-#: ../gtk/gtkfilechooserdefault.c:1790
+#: ../gtk/gtkfilechooserdefault.c:1730
msgid "Search"
msgstr "Søk"
-#: ../gtk/gtkfilechooserdefault.c:1814 ../gtk/gtkfilechooserdefault.c:9539
+#: ../gtk/gtkfilechooserdefault.c:1754 ../gtk/gtkfilechooserdefault.c:4871
msgid "Recently Used"
msgstr "Sist brukt"
-#: ../gtk/gtkfilechooserdefault.c:2470
+#: ../gtk/gtkfilechooserdefault.c:2353
msgid "Select which types of files are shown"
msgstr "Velg hvilke filtyper som skal vises"
-#: ../gtk/gtkfilechooserdefault.c:2829
+#: ../gtk/gtkfilechooserdefault.c:2712
#, c-format
msgid "Add the folder '%s' to the bookmarks"
msgstr "Legg til mappe «%s» i bokmerker"
-#: ../gtk/gtkfilechooserdefault.c:2873
+#: ../gtk/gtkfilechooserdefault.c:2756
#, c-format
msgid "Add the current folder to the bookmarks"
msgstr "Legg til aktiv mappe i bokmerker"
-#: ../gtk/gtkfilechooserdefault.c:2875
+#: ../gtk/gtkfilechooserdefault.c:2758
#, c-format
msgid "Add the selected folders to the bookmarks"
msgstr "Legg til valgte mapper i bokmerker"
-#: ../gtk/gtkfilechooserdefault.c:2913
+#: ../gtk/gtkfilechooserdefault.c:2796
#, c-format
msgid "Remove the bookmark '%s'"
msgstr "Fjern bokmerke «%s»"
-#: ../gtk/gtkfilechooserdefault.c:2915
+#: ../gtk/gtkfilechooserdefault.c:2798
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr "Bokmerke «%s» kan ikke fjernes"
-#: ../gtk/gtkfilechooserdefault.c:2922 ../gtk/gtkfilechooserdefault.c:3807
+#: ../gtk/gtkfilechooserdefault.c:2805 ../gtk/gtkfilechooserdefault.c:3690
msgid "Remove the selected bookmark"
msgstr "Fjern valgt bokmerke"
-#: ../gtk/gtkfilechooserdefault.c:3486
+#: ../gtk/gtkfilechooserdefault.c:3369
msgid "Remove"
msgstr "Fjern"
-#: ../gtk/gtkfilechooserdefault.c:3495
+#: ../gtk/gtkfilechooserdefault.c:3378
msgid "Rename..."
msgstr "Gi nytt navn …"
#. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3659
+#: ../gtk/gtkfilechooserdefault.c:3542
msgid "Places"
msgstr "Steder"
#. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3716
+#: ../gtk/gtkfilechooserdefault.c:3599
msgid "_Places"
msgstr "_Steder"
-#: ../gtk/gtkfilechooserdefault.c:3795
+#: ../gtk/gtkfilechooserdefault.c:3678
msgid "Add the selected folder to the Bookmarks"
msgstr "Legg til valgt mappe i bokmerker"
-#: ../gtk/gtkfilechooserdefault.c:3942
+#: ../gtk/gtkfilechooserdefault.c:3825
msgid "Could not select file"
msgstr "Klarte ikke å merke filen"
-#: ../gtk/gtkfilechooserdefault.c:4115
+#: ../gtk/gtkfilechooserdefault.c:3998
msgid "_Add to Bookmarks"
msgstr "L_egg til i bokmerker"
-#: ../gtk/gtkfilechooserdefault.c:4128
+#: ../gtk/gtkfilechooserdefault.c:4011
msgid "Show _Hidden Files"
msgstr "Vis sk_julte filer"
-#: ../gtk/gtkfilechooserdefault.c:4135
+#: ../gtk/gtkfilechooserdefault.c:4018
msgid "Show _Size Column"
msgstr "Vis kolonne for _størrelse"
-#: ../gtk/gtkfilechooserdefault.c:4360
+#: ../gtk/gtkfilechooserdefault.c:4243
msgid "Files"
msgstr "Filer"
-#: ../gtk/gtkfilechooserdefault.c:4411
+#: ../gtk/gtkfilechooserdefault.c:4294
msgid "Name"
msgstr "Navn"
-#: ../gtk/gtkfilechooserdefault.c:4434
+#: ../gtk/gtkfilechooserdefault.c:4317
msgid "Size"
msgstr "Størrelse"
-#: ../gtk/gtkfilechooserdefault.c:4448
+#: ../gtk/gtkfilechooserdefault.c:4331
msgid "Modified"
msgstr "Endret"
#. Label
-#: ../gtk/gtkfilechooserdefault.c:4702 ../gtk/gtkprinteroptionwidget.c:799
+#: ../gtk/gtkfilechooserdefault.c:4412 ../gtk/gtkprinteroptionwidget.c:799
msgid "_Name:"
msgstr "_Navn:"
-#. Expander
-#: ../gtk/gtkfilechooserdefault.c:4745
-msgid "_Browse for other folders"
-msgstr "_Se gjennom andre mapper"
-
-#: ../gtk/gtkfilechooserdefault.c:5018
+#: ../gtk/gtkfilechooserdefault.c:4709
msgid "Type a file name"
msgstr "Skriv et filnavn"
+#: ../gtk/gtkfilechooserdefault.c:4756 ../gtk/gtkfilechooserdefault.c:4767
+msgid "Please select a folder below"
+msgstr "Velg en mappe under"
+
+#: ../gtk/gtkfilechooserdefault.c:4762
+msgid "Please type a file name"
+msgstr "Skriv et filnavn"
+
#. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5061
+#: ../gtk/gtkfilechooserdefault.c:4833
msgid "Create Fo_lder"
msgstr "Opprett _mappe"
-#: ../gtk/gtkfilechooserdefault.c:5071
+#: ../gtk/gtkfilechooserdefault.c:4881
+msgid "Search:"
+msgstr "Søk:"
+
+#: ../gtk/gtkfilechooserdefault.c:4928
msgid "_Location:"
msgstr "_Adresse:"
-#: ../gtk/gtkfilechooserdefault.c:5278
+#: ../gtk/gtkfilechooserdefault.c:5245
msgid "Save in _folder:"
msgstr "Lagre i _mappe:"
-#: ../gtk/gtkfilechooserdefault.c:5280
+#: ../gtk/gtkfilechooserdefault.c:5247
msgid "Create in _folder:"
msgstr "Opprett i _mappe:"
-#: ../gtk/gtkfilechooserdefault.c:6402
+#: ../gtk/gtkfilechooserdefault.c:6341
#, c-format
msgid "Could not read the contents of %s"
msgstr "Klarte ikke å lese innholdet av %s"
-#: ../gtk/gtkfilechooserdefault.c:6406
+#: ../gtk/gtkfilechooserdefault.c:6345
msgid "Could not read the contents of the folder"
msgstr "Klarte ikke å lese innholdet i mappen"
-#: ../gtk/gtkfilechooserdefault.c:6499 ../gtk/gtkfilechooserdefault.c:6567
-#: ../gtk/gtkfilechooserdefault.c:6719
+#: ../gtk/gtkfilechooserdefault.c:6438 ../gtk/gtkfilechooserdefault.c:6506
+#: ../gtk/gtkfilechooserdefault.c:6658
msgid "Unknown"
msgstr "Ukjent"
-#: ../gtk/gtkfilechooserdefault.c:6514
+#: ../gtk/gtkfilechooserdefault.c:6453
msgid "%H:%M"
msgstr "%H.%M"
-#: ../gtk/gtkfilechooserdefault.c:6516
+#: ../gtk/gtkfilechooserdefault.c:6455
msgid "Yesterday at %H:%M"
msgstr "I går kl. %H.%M"
-#: ../gtk/gtkfilechooserdefault.c:7185
+#: ../gtk/gtkfilechooserdefault.c:7140
msgid "Cannot change to folder because it is not local"
msgstr "Kan ikke gå til mappen fordi den ikke er lokal"
-#: ../gtk/gtkfilechooserdefault.c:7777 ../gtk/gtkfilechooserdefault.c:7798
+#: ../gtk/gtkfilechooserdefault.c:7740 ../gtk/gtkfilechooserdefault.c:7761
#, c-format
msgid "Shortcut %s already exists"
msgstr "Snarvei %s eksisterer allerede"
-#: ../gtk/gtkfilechooserdefault.c:7888
+#: ../gtk/gtkfilechooserdefault.c:7851
#, c-format
msgid "Shortcut %s does not exist"
msgstr "Snarvei %s eksisterer ikke"
-#: ../gtk/gtkfilechooserdefault.c:8146 ../gtk/gtkprintunixdialog.c:550
+#: ../gtk/gtkfilechooserdefault.c:8097 ../gtk/gtkprintunixdialog.c:550
#, c-format
msgid "A file named \"%s\" already exists. Do you want to replace it?"
msgstr "En fil med navn «%s» eksisterer allerede. Vil du erstatte den?"
-#: ../gtk/gtkfilechooserdefault.c:8149 ../gtk/gtkprintunixdialog.c:554
+#: ../gtk/gtkfilechooserdefault.c:8100 ../gtk/gtkprintunixdialog.c:554
#, c-format
msgid ""
"The file already exists in \"%s\". Replacing it will overwrite its contents."
"Fila eksisterer allerede i «%s». Hvis du erstatter denne vil du overskrive "
"innholdet."
-#: ../gtk/gtkfilechooserdefault.c:8154 ../gtk/gtkprintunixdialog.c:561
+#: ../gtk/gtkfilechooserdefault.c:8105 ../gtk/gtkprintunixdialog.c:561
msgid "_Replace"
msgstr "E_rstatt"
-#: ../gtk/gtkfilechooserdefault.c:8881
+#: ../gtk/gtkfilechooserdefault.c:8858
msgid "Could not start the search process"
msgstr "Klarte ikke å starte søkeprosessen"
-#: ../gtk/gtkfilechooserdefault.c:8882
+#: ../gtk/gtkfilechooserdefault.c:8859
msgid ""
"The program was not able to create a connection to the indexer daemon. "
"Please make sure it is running."
"Programmet kunne ikke opprette en tilkobling til indekseringstjenesten. "
"Sjekk at denne kjører."
-#: ../gtk/gtkfilechooserdefault.c:8896
+#: ../gtk/gtkfilechooserdefault.c:8873
msgid "Could not send the search request"
msgstr "Klarte ikke å sende søkeforespørselen"
-#: ../gtk/gtkfilechooserdefault.c:9115
-msgid "Search:"
-msgstr "Søk:"
-
-#: ../gtk/gtkfilechooserdefault.c:9723
+#: ../gtk/gtkfilechooserdefault.c:9665
#, c-format
msgid "Could not mount %s"
msgstr "Klarte ikke å montere %s"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry, when the user enters an invalid path.
#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1174
+#: ../gtk/gtkfilesystem.c:721
+#, c-format
msgid "Invalid path"
msgstr "Ugyldig sti"
msgstr "System (%s)"
#. Open Link
-#: ../gtk/gtklabel.c:6302
+#: ../gtk/gtklabel.c:6309
msgid "_Open Link"
msgstr "_Åpne lenke"
#. Copy Link Address
-#: ../gtk/gtklabel.c:6314
+#: ../gtk/gtklabel.c:6321
msgid "Copy _Link Address"
msgstr "Kopier _lenkas adresse"
-#: ../gtk/gtklinkbutton.c:482
+#: ../gtk/gtklinkbutton.c:484
msgid "Copy URL"
msgstr "Kopier URL"
-#: ../gtk/gtklinkbutton.c:645
+#: ../gtk/gtklinkbutton.c:647
msgid "Invalid URI"
msgstr "Ugyldig URI"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: ../gtk/gtkmain.c:845
+#: ../gtk/gtkmain.c:848
msgid "default:LTR"
msgstr "default:LTR"
-#: ../gtk/gtkmain.c:909
+#: ../gtk/gtkmain.c:914
#, c-format
msgid "Cannot open display: %s"
msgstr "Kan ikke åpne skjerm: %s"
-#: ../gtk/gtkmain.c:975
+#: ../gtk/gtkmain.c:980
msgid "GTK+ Options"
msgstr "Alternativer for GTK+"
-#: ../gtk/gtkmain.c:975
+#: ../gtk/gtkmain.c:980
msgid "Show GTK+ Options"
msgstr "Vis alternativer for GTK+"
"Kan ikke terminere prosess med PID %d. Operasjonen er ikke implementert."
#. translators: this string is a name for the 'less' command
-#: ../gtk/gtkmountoperation-x11.c:859
+#: ../gtk/gtkmountoperation-x11.c:959
msgid "Terminal Pager"
msgstr "Terminal Pager"
-#: ../gtk/gtkmountoperation-x11.c:860
+#: ../gtk/gtkmountoperation-x11.c:960
msgid "Top Command"
msgstr "Top-kommando"
-#: ../gtk/gtkmountoperation-x11.c:861
+#: ../gtk/gtkmountoperation-x11.c:961
msgid "Bourne Again Shell"
msgstr "Bourne Again Shell"
-#: ../gtk/gtkmountoperation-x11.c:862
+#: ../gtk/gtkmountoperation-x11.c:962
msgid "Bourne Shell"
msgstr "Bourne Shell"
-#: ../gtk/gtkmountoperation-x11.c:863
+#: ../gtk/gtkmountoperation-x11.c:963
msgid "Z Shell"
msgstr "Z Shell"
-#: ../gtk/gtkmountoperation-x11.c:960
+#: ../gtk/gtkmountoperation-x11.c:1060
#, c-format
msgid "Cannot end process with PID %d: %s"
msgstr "Kan ikke avslutte prosess med PID %d: %s"
-#: ../gtk/gtknotebook.c:4919 ../gtk/gtknotebook.c:7608
+#: ../gtk/gtknotebook.c:4922 ../gtk/gtknotebook.c:7611
#, c-format
msgid "Page %u"
msgstr "Side %u"
msgstr ""
"Ingen registrerte programmer med navn «%s» funnet for oppføring med URI «%s»"
-#: ../gtk/gtkspinner.c:286
-msgctxt "throbbing progress animation widget"
-msgid "Spinner"
-msgstr "Spinner"
-
-#: ../gtk/gtkspinner.c:287
-msgid "Provides visual indication of progress"
-msgstr "Gir visuell indikasjon av framdrift"
-
#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
#: ../gtk/gtkstock.c:313
msgctxt "Stock label"
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
#. * the state
#.
-#: ../gtk/gtkswitch.c:337 ../gtk/gtkswitch.c:397 ../gtk/gtkswitch.c:604
+#: ../gtk/gtkswitch.c:336 ../gtk/gtkswitch.c:396 ../gtk/gtkswitch.c:603
msgctxt "switch"
msgid "ON"
msgstr "PÅ"
#. Translators: if the "off" state label requires more than three
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
#.
-#: ../gtk/gtkswitch.c:345 ../gtk/gtkswitch.c:398 ../gtk/gtkswitch.c:633
+#: ../gtk/gtkswitch.c:344 ../gtk/gtkswitch.c:397 ../gtk/gtkswitch.c:632
msgctxt "switch"
msgid "OFF"
msgstr "AV"
-#: ../gtk/gtkswitch.c:1060
-msgctxt "light switch widget"
-msgid "Switch"
-msgstr "Bryter"
-
-#: ../gtk/gtkswitch.c:1061
-msgid "Switches between on and off states"
-msgstr "Bytter mellom av/på tilstand"
-
#: ../gtk/gtktextbufferrichtext.c:651
#, c-format
msgid "Unknown error when trying to deserialize %s"
msgid "Unavailable"
msgstr "Ikke tilgjengelig"
+#. TRANSLATORS: when we're running an old CUPS, and
+#. * it hasn't registered the device with colord
+#: ../modules/printbackends/cups/gtkprintercups.c:222
+msgid "Color management unavailable"
+msgstr "Fargestyring ikke tilgjengelig"
+
+#. TRANSLATORS: when there is no color profile available
+#: ../modules/printbackends/cups/gtkprintercups.c:234
+msgid "No profile available"
+msgstr "Ingen profil tilgjengelig"
+
+#. TRANSLATORS: when the color profile has no title
+#: ../modules/printbackends/cups/gtkprintercups.c:245
+msgid "Unspecified profile"
+msgstr "Uspesifisert profil"
+
#. default filename used for print-to-file
#: ../modules/printbackends/file/gtkprintbackendfile.c:250
#, c-format
msgid ""
msgstr ""
"Project-Id-Version: gtk+\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%"
-"2b&component=general\n"
-"POT-Creation-Date: 2011-02-04 20:37+0000\n"
-"PO-Revision-Date: 2011-02-06 14:05+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-07-13 08:45+0200\n"
+"PO-Revision-Date: 2011-07-13 08:46+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n"
+"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: pl\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Poedit-Language: Polish\n"
"X-Poedit-Country: Poland\n"
-#: ../gdk/gdk.c:151
+#: ../gdk/gdk.c:135
#, c-format
msgid "Error parsing option --gdk-debug"
msgstr "Błąd podczas przetwarzania opcji --gdk-debug"
-#: ../gdk/gdk.c:171
+#: ../gdk/gdk.c:155
#, c-format
msgid "Error parsing option --gdk-no-debug"
msgstr "Błąd podczas przetwarzania opcji --gdk-no-debug"
#. Description of --class=CLASS in --help output
-#: ../gdk/gdk.c:199
+#: ../gdk/gdk.c:183
msgid "Program class as used by the window manager"
msgstr "Klasa programu używana przez menedżera okien"
#. Placeholder in --class=CLASS in --help output
-#: ../gdk/gdk.c:200
+#: ../gdk/gdk.c:184
msgid "CLASS"
msgstr "KLASA"
#. Description of --name=NAME in --help output
-#: ../gdk/gdk.c:202
+#: ../gdk/gdk.c:186
msgid "Program name as used by the window manager"
msgstr "Nazwa programu używana przez menedżera okien"
#. Placeholder in --name=NAME in --help output
-#: ../gdk/gdk.c:203
+#: ../gdk/gdk.c:187
msgid "NAME"
msgstr "NAZWA"
#. Description of --display=DISPLAY in --help output
-#: ../gdk/gdk.c:205
+#: ../gdk/gdk.c:189
msgid "X display to use"
msgstr "Używany ekran X"
#. Placeholder in --display=DISPLAY in --help output
-#: ../gdk/gdk.c:206
+#: ../gdk/gdk.c:190
msgid "DISPLAY"
msgstr "EKRAN"
#. Description of --gdk-debug=FLAGS in --help output
-#: ../gdk/gdk.c:209
+#: ../gdk/gdk.c:193
msgid "GDK debugging flags to set"
msgstr "Ustawione znaczniki debugowania biblioteki GDK"
#. 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:210 ../gdk/gdk.c:213 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573
+#: ../gdk/gdk.c:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:569 ../gtk/gtkmain.c:572
msgid "FLAGS"
msgstr "ZNACZNIKI"
#. Description of --gdk-no-debug=FLAGS in --help output
-#: ../gdk/gdk.c:212
+#: ../gdk/gdk.c:196
msgid "GDK debugging flags to unset"
msgstr "Wyczyszczone znaczniki debugowania biblioteki GDK"
msgstr[1] "Otwieranie %d elementów"
msgstr[2] "Otwieranie %d elementów"
+#: ../gtk/a11y/gtkspinneraccessible.c:42
+msgctxt "throbbing progress animation widget"
+msgid "Spinner"
+msgstr "Spinner"
+
+#: ../gtk/a11y/gtkspinneraccessible.c:43
+msgid "Provides visual indication of progress"
+msgstr "Dostarcza wzrokowy wskaźnik postępu"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:65
+msgctxt "light switch widget"
+msgid "Switch"
+msgstr "Przełącznik"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:66
+msgid "Switches between on and off states"
+msgstr "Przełącza między stanami \"włączone\" i \"wyłączone\""
+
#. Translators: this is the license preamble; the string at the end
#. * contains the URL of the license.
#.
-#: ../gtk/gtkaboutdialog.c:104
+#: ../gtk/gtkaboutdialog.c:103
#, c-format
msgid ""
"This program comes with ABSOLUTELY NO WARRANTY; for details, visit <a href="
"Niniejszy program rozpowszechniany jest BEZ JAKIEJKOLWIEK GWARANCJI. Aby "
"dowiedzieć się więcej, należy odwiedzić stronę <a href=\"%s\">%s</a>"
-#: ../gtk/gtkaboutdialog.c:346
+#: ../gtk/gtkaboutdialog.c:345
msgid "License"
msgstr "Licencja"
-#: ../gtk/gtkaboutdialog.c:347
+#: ../gtk/gtkaboutdialog.c:346
msgid "The license of the program"
msgstr "Licencja programu"
#. Add the credits button
-#: ../gtk/gtkaboutdialog.c:739
+#: ../gtk/gtkaboutdialog.c:738
msgid "C_redits"
msgstr "Z_asługi"
#. Add the license button
-#: ../gtk/gtkaboutdialog.c:752
+#: ../gtk/gtkaboutdialog.c:751
msgid "_License"
msgstr "_Licencja"
-#: ../gtk/gtkaboutdialog.c:957
+#: ../gtk/gtkaboutdialog.c:956
msgid "Could not show link"
msgstr "Nie można wyświetlić odnośnika"
-#: ../gtk/gtkaboutdialog.c:994
+#: ../gtk/gtkaboutdialog.c:993
msgid "Homepage"
msgstr "Witryna programu"
-#: ../gtk/gtkaboutdialog.c:1048
+#: ../gtk/gtkaboutdialog.c:1047
#, c-format
msgid "About %s"
msgstr "O programie %s"
-#: ../gtk/gtkaboutdialog.c:2372
+#: ../gtk/gtkaboutdialog.c:2371
msgid "Created by"
msgstr "Program"
-#: ../gtk/gtkaboutdialog.c:2375
+#: ../gtk/gtkaboutdialog.c:2374
msgid "Documented by"
msgstr "Dokumentacja"
-#: ../gtk/gtkaboutdialog.c:2385
+#: ../gtk/gtkaboutdialog.c:2384
msgid "Translated by"
msgstr "Tłumaczenie"
-#: ../gtk/gtkaboutdialog.c:2390
+#: ../gtk/gtkaboutdialog.c:2389
msgid "Artwork by"
msgstr "Grafika"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:158
+#: ../gtk/gtkaccellabel.c:156
msgctxt "keyboard label"
msgid "Shift"
msgstr "Shift"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:164
+#: ../gtk/gtkaccellabel.c:162
msgctxt "keyboard label"
msgid "Ctrl"
msgstr "Ctrl"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:170
+#: ../gtk/gtkaccellabel.c:168
msgctxt "keyboard label"
msgid "Alt"
msgstr "Alt"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:782
+#: ../gtk/gtkaccellabel.c:787
msgctxt "keyboard label"
msgid "Super"
msgstr "Super"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:795
+#: ../gtk/gtkaccellabel.c:800
msgctxt "keyboard label"
msgid "Hyper"
msgstr "Hyper"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:809
+#: ../gtk/gtkaccellabel.c:814
msgctxt "keyboard label"
msgid "Meta"
msgstr "Meta"
-#: ../gtk/gtkaccellabel.c:825
+#: ../gtk/gtkaccellabel.c:830
msgctxt "keyboard label"
msgid "Space"
msgstr "Spacja"
-#: ../gtk/gtkaccellabel.c:828
+#: ../gtk/gtkaccellabel.c:833
msgctxt "keyboard label"
msgid "Backslash"
msgstr "Backslash"
-#: ../gtk/gtkappchooserbutton.c:264
+#: ../gtk/gtkappchooserbutton.c:268
msgid "Other application..."
msgstr "Inny program..."
-#: ../gtk/gtkappchooserdialog.c:128
+#: ../gtk/gtkappchooserdialog.c:130
msgid "Failed to look for applications online"
msgstr "Wyszukanie programu w trybie online się nie powiodło"
-#: ../gtk/gtkappchooserdialog.c:165
+#: ../gtk/gtkappchooserdialog.c:171
msgid "Find applications online"
msgstr "Znajdź programy w trybie online"
-#: ../gtk/gtkappchooserdialog.c:209
+#: ../gtk/gtkappchooserdialog.c:221
msgid "Could not run application"
msgstr "Nie można uruchomić programu"
-#: ../gtk/gtkappchooserdialog.c:222
+#: ../gtk/gtkappchooserdialog.c:234
#, c-format
msgid "Could not find '%s'"
msgstr "Nie można odnaleźć \"%s\""
-#: ../gtk/gtkappchooserdialog.c:225
+#: ../gtk/gtkappchooserdialog.c:237
msgid "Could not find application"
msgstr "Nie można odnaleźć programu"
#. Translators: %s is a filename
-#: ../gtk/gtkappchooserdialog.c:335
+#: ../gtk/gtkappchooserdialog.c:355
#, c-format
msgid "Select an application to open \"%s\""
msgstr "Proszę wybrać program do otwarcia pliku \"%s\""
-#: ../gtk/gtkappchooserdialog.c:336 ../gtk/gtkappchooserwidget.c:640
+#: ../gtk/gtkappchooserdialog.c:356 ../gtk/gtkappchooserwidget.c:643
#, c-format
msgid "No applications available to open \"%s\""
msgstr "Brak dostępnych programów do otwarcia pliku \"%s\""
#. Translators: %s is a file type description
-#: ../gtk/gtkappchooserdialog.c:342
+#: ../gtk/gtkappchooserdialog.c:362
#, c-format
msgid "Select an application for \"%s\" files"
msgstr "Proszę wybrać program dla plików typu \"%s\""
-#: ../gtk/gtkappchooserdialog.c:345
+#: ../gtk/gtkappchooserdialog.c:364
#, c-format
msgid "No applications available to open \"%s\" files"
msgstr "Brak dostępnych programów do otwarcia plików \"%s\""
-#: ../gtk/gtkappchooserdialog.c:362
+#: ../gtk/gtkappchooserdialog.c:380
msgid ""
"Click \"Show other applications\", for more options, or \"Find applications "
"online\" to install a new application"
"Kliknięcie \"Wyświetl inne programy\" wyświetli więcej opcji, a kliknięcie "
"\"Znajdź programy w trybie online\" umożliwi zainstalowanie nowego programu"
-#: ../gtk/gtkappchooserdialog.c:432
+#: ../gtk/gtkappchooserdialog.c:450
msgid "Forget association"
msgstr "Usuń powiązanie"
-#: ../gtk/gtkappchooserdialog.c:497
+#: ../gtk/gtkappchooserdialog.c:515
msgid "Show other applications"
msgstr "Wyświetl inne programy"
-#: ../gtk/gtkappchooserdialog.c:515
+#: ../gtk/gtkappchooserdialog.c:533
msgid "_Select"
msgstr "_Wybierz"
-#: ../gtk/gtkappchooserwidget.c:591
+#: ../gtk/gtkappchooserwidget.c:592
msgid "Default Application"
msgstr "Domyślny program"
-#: ../gtk/gtkappchooserwidget.c:726
+#: ../gtk/gtkappchooserwidget.c:730
msgid "Recommended Applications"
msgstr "Polecane programy"
-#: ../gtk/gtkappchooserwidget.c:740
+#: ../gtk/gtkappchooserwidget.c:745
msgid "Related Applications"
msgstr "Powiązane programy"
-#: ../gtk/gtkappchooserwidget.c:754
+#: ../gtk/gtkappchooserwidget.c:759
msgid "Other Applications"
msgstr "Inne programy"
+#: ../gtk/gtkassistant.c:1000
+#, fuzzy
+msgid "C_ontinue"
+msgstr "P_ołącz"
+
+#: ../gtk/gtkassistant.c:1003
+#, fuzzy
+msgid "Go _Back"
+msgstr "_Wstecz"
+
+#: ../gtk/gtkassistant.c:1007
+#, fuzzy
+msgid "_Finish"
+msgstr "Ukończono"
+
#: ../gtk/gtkbuilderparser.c:342
#, c-format
msgid "Invalid type function on line %d: '%s'"
#. * text direction of RTL and specify "calendar:YM", then the year
#. * will appear to the right of the month.
#.
-#: ../gtk/gtkcalendar.c:871
+#: ../gtk/gtkcalendar.c:874
msgid "calendar:MY"
msgstr "calendar:MY"
#. * first day of the week to calendar:week_start:1 if you want Monday
#. * to be the first day of the week, and so on.
#.
-#: ../gtk/gtkcalendar.c:909
+#: ../gtk/gtkcalendar.c:912
msgid "calendar:week_start:0"
msgstr "calendar:week_start:1"
#. *
#. * If you don't understand this, leave it as "2000"
#.
-#: ../gtk/gtkcalendar.c:1910
+#: ../gtk/gtkcalendar.c:1913
msgctxt "year measurement template"
msgid "2000"
msgstr "8888"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638
+#: ../gtk/gtkcalendar.c:1944 ../gtk/gtkcalendar.c:2641
#, c-format
msgctxt "calendar:day:digits"
msgid "%d"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499
+#: ../gtk/gtkcalendar.c:1976 ../gtk/gtkcalendar.c:2502
#, c-format
msgctxt "calendar:week:digits"
msgid "%d"
#. *
#. * "%Y" is appropriate for most locales.
#.
-#: ../gtk/gtkcalendar.c:2268
+#: ../gtk/gtkcalendar.c:2271
msgctxt "calendar year format"
msgid "%Y"
msgstr "%Y"
#. This label is displayed in a treeview cell displaying
#. * a disabled accelerator key combination.
#.
-#: ../gtk/gtkcellrendereraccel.c:271
+#: ../gtk/gtkcellrendereraccel.c:286
msgctxt "Accelerator"
msgid "Disabled"
msgstr "Wyłączony"
#. * an accelerator key combination that is not valid according
#. * to gtk_accelerator_valid().
#.
-#: ../gtk/gtkcellrendereraccel.c:281
+#: ../gtk/gtkcellrendereraccel.c:296
msgctxt "Accelerator"
msgid "Invalid"
msgstr "Nieprawidłowy"
#. * an accelerator when the cell is clicked to change the
#. * acelerator.
#.
-#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:729
+#: ../gtk/gtkcellrendereraccel.c:432 ../gtk/gtkcellrendereraccel.c:745
msgid "New accelerator..."
msgstr "Nowy skrót..."
-#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452
+#: ../gtk/gtkcellrendererprogress.c:374 ../gtk/gtkcellrendererprogress.c:464
#, c-format
msgctxt "progress bar label"
msgid "%d %%"
msgid "Pick a Color"
msgstr "Wybór koloru"
-#: ../gtk/gtkcolorbutton.c:372
-msgid "Received invalid color data\n"
-msgstr "Otrzymano nieprawidłowe dane koloru\n"
-
-#: ../gtk/gtkcolorsel.c:415
+#: ../gtk/gtkcolorsel.c:416
msgid ""
"Select the color you want from the outer ring. Select the darkness or "
"lightness of that color using the inner triangle."
"Proszę wybrać żądany kolor z zewnętrznego pierścienia, a przy użyciu "
"trójkąta wewnątrz wybrać jasność tego koloru."
-#: ../gtk/gtkcolorsel.c:441
+#: ../gtk/gtkcolorsel.c:442
msgid ""
"Click the eyedropper, then click a color anywhere on your screen to select "
"that color."
"Proszę nacisnąć zakraplacz, a następnie dowolny punkt obrazu, aby pobrać z "
"niego kolor."
-#: ../gtk/gtkcolorsel.c:451
+#: ../gtk/gtkcolorsel.c:452
msgid "_Hue:"
msgstr "O_dcień:"
-#: ../gtk/gtkcolorsel.c:452
+#: ../gtk/gtkcolorsel.c:453
msgid "Position on the color wheel."
msgstr "Położenie na kole kolorów."
-#: ../gtk/gtkcolorsel.c:454
+#: ../gtk/gtkcolorsel.c:455
msgid "_Saturation:"
msgstr "Na_sycenie:"
-#: ../gtk/gtkcolorsel.c:455
+#: ../gtk/gtkcolorsel.c:456
msgid "Intensity of the color."
msgstr "Intensywność koloru."
-#: ../gtk/gtkcolorsel.c:456
+#: ../gtk/gtkcolorsel.c:457
msgid "_Value:"
msgstr "_Wartość:"
-#: ../gtk/gtkcolorsel.c:457
+#: ../gtk/gtkcolorsel.c:458
msgid "Brightness of the color."
msgstr "Jasność koloru."
-#: ../gtk/gtkcolorsel.c:458
+#: ../gtk/gtkcolorsel.c:459
msgid "_Red:"
msgstr "_Czerwony:"
-#: ../gtk/gtkcolorsel.c:459
+#: ../gtk/gtkcolorsel.c:460
msgid "Amount of red light in the color."
msgstr "Ilość czerwonego światła w kolorze."
-#: ../gtk/gtkcolorsel.c:460
+#: ../gtk/gtkcolorsel.c:461
msgid "_Green:"
msgstr "_Zielony:"
-#: ../gtk/gtkcolorsel.c:461
+#: ../gtk/gtkcolorsel.c:462
msgid "Amount of green light in the color."
msgstr "Ilość zielonego światła w kolorze."
-#: ../gtk/gtkcolorsel.c:462
+#: ../gtk/gtkcolorsel.c:463
msgid "_Blue:"
msgstr "_Niebieski:"
-#: ../gtk/gtkcolorsel.c:463
+#: ../gtk/gtkcolorsel.c:464
msgid "Amount of blue light in the color."
msgstr "Ilość niebieskiego światła w kolorze."
-#: ../gtk/gtkcolorsel.c:466
+#: ../gtk/gtkcolorsel.c:467
msgid "Op_acity:"
msgstr "_Nieprzezroczystość:"
-#: ../gtk/gtkcolorsel.c:473 ../gtk/gtkcolorsel.c:483
+#: ../gtk/gtkcolorsel.c:475 ../gtk/gtkcolorsel.c:485
msgid "Transparency of the color."
msgstr "Przezroczystość koloru."
-#: ../gtk/gtkcolorsel.c:490
+#: ../gtk/gtkcolorsel.c:492
msgid "Color _name:"
msgstr "Nazwa _koloru:"
-#: ../gtk/gtkcolorsel.c:504
+#: ../gtk/gtkcolorsel.c:507
msgid ""
"You can enter an HTML-style hexadecimal color value, or simply a color name "
"such as 'orange' in this entry."
"Tutaj można wprowadzić szesnastkową wartość koloru (jak w HTML-u) lub po "
"prostu nazwę koloru w języku angielskim, np. \"orange\"."
-#: ../gtk/gtkcolorsel.c:536
+#: ../gtk/gtkcolorsel.c:539
msgid "_Palette:"
msgstr "Pal_eta:"
-#: ../gtk/gtkcolorsel.c:565
+#: ../gtk/gtkcolorsel.c:569
msgid "Color Wheel"
msgstr "Koło kolorów"
-#: ../gtk/gtkcolorsel.c:1038
+#: ../gtk/gtkcolorsel.c:1042
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now. You can drag this color to a palette entry, or select this color as "
"przeciągnąć ten kolor na jedną z pozycji palety lub wybrać go bezpośrednio "
"poprzez przeciągnięcie go nad kolor sąsiedni."
-#: ../gtk/gtkcolorsel.c:1044
+#: ../gtk/gtkcolorsel.c:1048
msgid ""
"The color you've chosen. You can drag this color to a palette entry to save "
"it for use in the future."
"Aktualnie wybrany kolor. Kolor ten można przeciągnąć na jedną z pozycji "
"palety, aby zachować go na przyszłość."
-#: ../gtk/gtkcolorsel.c:1050
+#: ../gtk/gtkcolorsel.c:1054
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now."
msgstr "Poprzednio wybrany kolor, do porównania z kolorem wybranym obecnie."
-#: ../gtk/gtkcolorsel.c:1054
+#: ../gtk/gtkcolorsel.c:1058
msgid "The color you've chosen."
msgstr "Wybrany kolor."
-#: ../gtk/gtkcolorsel.c:1456
+#: ../gtk/gtkcolorsel.c:1460
msgid "_Save color here"
msgstr "_Zapisz kolor w tym miejscu"
-#: ../gtk/gtkcolorsel.c:1661
+#: ../gtk/gtkcolorsel.c:1665
msgid ""
"Click this palette entry to make it the current color. To change this entry, "
"drag a color swatch here or right-click it and select \"Save color here.\""
"zmienić ten element należy przeciągnąć tutaj próbkę koloru lub nacisnąć "
"prawym przyciskiem i wybrać \"Zapisz kolor w tym miejscu\"."
-#: ../gtk/gtkcolorseldialog.c:189
+#: ../gtk/gtkcolorseldialog.c:213
msgid "Color Selection"
msgstr "Wybór koloru"
msgstr "default:mm"
#. And show the custom paper dialog
-#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3255
+#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3325
msgid "Manage Custom Sizes"
msgstr "Zarządzanie własnymi rozmiarami"
-#: ../gtk/gtkcustompaperunixdialog.c:532 ../gtk/gtkpagesetupunixdialog.c:788
+#: ../gtk/gtkcustompaperunixdialog.c:533 ../gtk/gtkpagesetupunixdialog.c:783
msgid "inch"
msgstr "cale"
-#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:786
+#: ../gtk/gtkcustompaperunixdialog.c:535 ../gtk/gtkpagesetupunixdialog.c:781
msgid "mm"
msgstr "mm"
-#: ../gtk/gtkcustompaperunixdialog.c:579
+#: ../gtk/gtkcustompaperunixdialog.c:580
msgid "Margins from Printer..."
msgstr "Marginesy z drukarki..."
-#: ../gtk/gtkcustompaperunixdialog.c:745
+#: ../gtk/gtkcustompaperunixdialog.c:746
#, c-format
msgid "Custom Size %d"
msgstr "Własny rozmiar %d"
-#: ../gtk/gtkcustompaperunixdialog.c:1057
+#: ../gtk/gtkcustompaperunixdialog.c:1084
msgid "_Width:"
msgstr "_Szerokość:"
-#: ../gtk/gtkcustompaperunixdialog.c:1069
+#: ../gtk/gtkcustompaperunixdialog.c:1097
msgid "_Height:"
msgstr "_Wysokość:"
-#: ../gtk/gtkcustompaperunixdialog.c:1081
+#: ../gtk/gtkcustompaperunixdialog.c:1110
msgid "Paper Size"
msgstr "Rozmiar papieru"
-#: ../gtk/gtkcustompaperunixdialog.c:1090
+#: ../gtk/gtkcustompaperunixdialog.c:1119
msgid "_Top:"
msgstr "_Górny:"
-#: ../gtk/gtkcustompaperunixdialog.c:1102
+#: ../gtk/gtkcustompaperunixdialog.c:1132
msgid "_Bottom:"
msgstr "_Dolny:"
-#: ../gtk/gtkcustompaperunixdialog.c:1114
+#: ../gtk/gtkcustompaperunixdialog.c:1145
msgid "_Left:"
msgstr "_Lewy:"
-#: ../gtk/gtkcustompaperunixdialog.c:1126
+#: ../gtk/gtkcustompaperunixdialog.c:1158
msgid "_Right:"
msgstr "_Prawy:"
-#: ../gtk/gtkcustompaperunixdialog.c:1167
+#: ../gtk/gtkcustompaperunixdialog.c:1200
msgid "Paper Margins"
msgstr "Marginesy papieru"
-#: ../gtk/gtkentry.c:8755 ../gtk/gtktextview.c:8270
+#: ../gtk/gtkentry.c:8949 ../gtk/gtktextview.c:8277
msgid "Input _Methods"
msgstr "_Metoda wprowadzania danych"
-#: ../gtk/gtkentry.c:8769 ../gtk/gtktextview.c:8284
+#: ../gtk/gtkentry.c:8963 ../gtk/gtktextview.c:8291
msgid "_Insert Unicode Control Character"
msgstr "_Wstaw znak kontrolny Unikodu"
-#: ../gtk/gtkentry.c:10177
+#: ../gtk/gtkentry.c:10434
msgid "Caps Lock and Num Lock are on"
msgstr "Klawisze Caps Lock i Num Lock są włączone"
-#: ../gtk/gtkentry.c:10179
+#: ../gtk/gtkentry.c:10436
msgid "Num Lock is on"
msgstr "Klawisz Num Lock jest włączony"
-#: ../gtk/gtkentry.c:10181
+#: ../gtk/gtkentry.c:10438
msgid "Caps Lock is on"
msgstr "Klawisz Caps Lock jest włączony"
+#. *
+#. * SECTION:gtkfilechooserbutton
+#. * @Short_description: A button to launch a file selection dialog
+#. * @Title: GtkFileChooserButton
+#. * @See_also:#GtkFileChooserDialog
+#. *
+#. * The #GtkFileChooserButton is a widget that lets the user select a
+#. * file. It implements the #GtkFileChooser interface. Visually, it is a
+#. * file name with a button to bring up a #GtkFileChooserDialog.
+#. * The user can then use that dialog to change the file associated with
+#. * that button. This widget does not support setting the
+#. * #GtkFileChooser:select-multiple property to %TRUE.
+#. *
+#. * <example>
+#. * <title>Create a button to let the user select a file in /etc</title>
+#. * <programlisting>
+#. * {
+#. * GtkWidget *button;
+#. *
+#. * button = gtk_file_chooser_button_new (_("Select a file"),
+#. * GTK_FILE_CHOOSER_ACTION_OPEN);
+#. * gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button),
+#. * "/etc");
+#. * }
+#. * </programlisting>
+#. * </example>
+#. *
+#. * The #GtkFileChooserButton supports the #GtkFileChooserAction<!-- -->s
+#. * %GTK_FILE_CHOOSER_ACTION_OPEN and %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
+#. *
+#. * <important>
+#. * The #GtkFileChooserButton will ellipsize the label,
+#. * and thus will thus request little horizontal space. To give the button
+#. * more space, you should call gtk_widget_get_preferred_size(),
+#. * gtk_file_chooser_button_set_width_chars(), or pack the button in
+#. * such a way that other interface elements give space to the widget.
+#. * </important>
+#.
#. **************** *
#. * Private Macros *
#. * ****************
-#: ../gtk/gtkfilechooserbutton.c:62
+#: ../gtk/gtkfilechooserbutton.c:105
msgid "Select a File"
msgstr "Wybór pliku"
-#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1865
+#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1809
msgid "Desktop"
msgstr "Pulpit"
-#: ../gtk/gtkfilechooserbutton.c:64
+#: ../gtk/gtkfilechooserbutton.c:107
msgid "(None)"
msgstr "(Brak)"
-#: ../gtk/gtkfilechooserbutton.c:1997
+#: ../gtk/gtkfilechooserbutton.c:2046
msgid "Other..."
msgstr "Inne..."
#. * is a hostname. Nautilus and the panel contain the same string
#. * to translate.
#.
-#: ../gtk/gtkfilechooserdefault.c:1608
+#: ../gtk/gtkfilechooserdefault.c:1581
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s na %2$s"
-#: ../gtk/gtkfilechooserdefault.c:1784
+#: ../gtk/gtkfilechooserdefault.c:1730
msgid "Search"
msgstr "Wyszukaj"
-#: ../gtk/gtkfilechooserdefault.c:1808 ../gtk/gtkfilechooserdefault.c:9466
+#: ../gtk/gtkfilechooserdefault.c:1754 ../gtk/gtkfilechooserdefault.c:4871
msgid "Recently Used"
msgstr "Ostatnio używane"
-#: ../gtk/gtkfilechooserdefault.c:2464
+#: ../gtk/gtkfilechooserdefault.c:2353
msgid "Select which types of files are shown"
msgstr "Wybór typów wyświetlanych plików"
-#: ../gtk/gtkfilechooserdefault.c:2823
+#: ../gtk/gtkfilechooserdefault.c:2712
#, c-format
msgid "Add the folder '%s' to the bookmarks"
msgstr "Dodaje zakładkę do katalogu \"%s\""
-#: ../gtk/gtkfilechooserdefault.c:2867
+#: ../gtk/gtkfilechooserdefault.c:2756
#, c-format
msgid "Add the current folder to the bookmarks"
msgstr "Dodaje zakładkę do bieżącego katalogu"
-#: ../gtk/gtkfilechooserdefault.c:2869
+#: ../gtk/gtkfilechooserdefault.c:2758
#, c-format
msgid "Add the selected folders to the bookmarks"
msgstr "Dodaje zakładki do zaznaczonych katalogów"
-#: ../gtk/gtkfilechooserdefault.c:2907
+#: ../gtk/gtkfilechooserdefault.c:2796
#, c-format
msgid "Remove the bookmark '%s'"
msgstr "Usuwa zakładkę \"%s\""
-#: ../gtk/gtkfilechooserdefault.c:2909
+#: ../gtk/gtkfilechooserdefault.c:2798
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr "Zakładka \"%s\" nie może zostać usunięta"
-#: ../gtk/gtkfilechooserdefault.c:2916 ../gtk/gtkfilechooserdefault.c:3798
+#: ../gtk/gtkfilechooserdefault.c:2805 ../gtk/gtkfilechooserdefault.c:3690
msgid "Remove the selected bookmark"
msgstr "Usuwa wybraną zakładkę"
-#: ../gtk/gtkfilechooserdefault.c:3479
+#: ../gtk/gtkfilechooserdefault.c:3369
msgid "Remove"
msgstr "Usuń"
-#: ../gtk/gtkfilechooserdefault.c:3488
+#: ../gtk/gtkfilechooserdefault.c:3378
msgid "Rename..."
msgstr "Zmień nazwę..."
#. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3651
+#: ../gtk/gtkfilechooserdefault.c:3542
msgid "Places"
msgstr "Miejsca"
#. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3708
+#: ../gtk/gtkfilechooserdefault.c:3599
msgid "_Places"
msgstr "_Miejsca"
-#: ../gtk/gtkfilechooserdefault.c:3786
+#: ../gtk/gtkfilechooserdefault.c:3678
msgid "Add the selected folder to the Bookmarks"
msgstr "Dodaje zakładkę do wybranego katalogu"
-#: ../gtk/gtkfilechooserdefault.c:3933
+#: ../gtk/gtkfilechooserdefault.c:3825
msgid "Could not select file"
msgstr "Nie można wybrać pliku"
-#: ../gtk/gtkfilechooserdefault.c:4106
+#: ../gtk/gtkfilechooserdefault.c:3998
msgid "_Add to Bookmarks"
msgstr "_Dodaj zakładkę"
-#: ../gtk/gtkfilechooserdefault.c:4119
+#: ../gtk/gtkfilechooserdefault.c:4011
msgid "Show _Hidden Files"
msgstr "Wyświetlanie u_krytych plików"
-#: ../gtk/gtkfilechooserdefault.c:4126
+#: ../gtk/gtkfilechooserdefault.c:4018
msgid "Show _Size Column"
msgstr "_Wyświetlanie kolumny rozmiaru"
-#: ../gtk/gtkfilechooserdefault.c:4351
+#: ../gtk/gtkfilechooserdefault.c:4243
msgid "Files"
msgstr "Pliki"
-#: ../gtk/gtkfilechooserdefault.c:4402
+#: ../gtk/gtkfilechooserdefault.c:4294
msgid "Name"
msgstr "Nazwa"
-#: ../gtk/gtkfilechooserdefault.c:4425
+#: ../gtk/gtkfilechooserdefault.c:4317
msgid "Size"
msgstr "Rozmiar"
-#: ../gtk/gtkfilechooserdefault.c:4439
+#: ../gtk/gtkfilechooserdefault.c:4331
msgid "Modified"
msgstr "Zmodyfikowany"
#. Label
-#: ../gtk/gtkfilechooserdefault.c:4694 ../gtk/gtkprinteroptionwidget.c:793
+#: ../gtk/gtkfilechooserdefault.c:4412 ../gtk/gtkprinteroptionwidget.c:799
msgid "_Name:"
msgstr "_Nazwa:"
-#: ../gtk/gtkfilechooserdefault.c:4737
-msgid "_Browse for other folders"
-msgstr "_Przeglądaj inne katalogi"
-
-#: ../gtk/gtkfilechooserdefault.c:5007
+#: ../gtk/gtkfilechooserdefault.c:4709
msgid "Type a file name"
msgstr "Nazwa pliku"
+#: ../gtk/gtkfilechooserdefault.c:4756 ../gtk/gtkfilechooserdefault.c:4767
+#, fuzzy
+msgid "Please select a folder below"
+msgstr "Wybór katalogu"
+
+#: ../gtk/gtkfilechooserdefault.c:4762
+#, fuzzy
+msgid "Please type a file name"
+msgstr "Nazwa pliku"
+
#. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5050
+#: ../gtk/gtkfilechooserdefault.c:4833
msgid "Create Fo_lder"
msgstr "Utwórz kata_log"
-#: ../gtk/gtkfilechooserdefault.c:5060
+#: ../gtk/gtkfilechooserdefault.c:4881
+msgid "Search:"
+msgstr "Wyszukiwanie:"
+
+#: ../gtk/gtkfilechooserdefault.c:4928
msgid "_Location:"
msgstr "Położ_enie:"
-#: ../gtk/gtkfilechooserdefault.c:5265
+#: ../gtk/gtkfilechooserdefault.c:5245
msgid "Save in _folder:"
msgstr "Zapis w katal_ogu:"
-#: ../gtk/gtkfilechooserdefault.c:5267
+#: ../gtk/gtkfilechooserdefault.c:5247
msgid "Create in _folder:"
msgstr "Utworzenie w k_atalogu:"
-#: ../gtk/gtkfilechooserdefault.c:6331
+#: ../gtk/gtkfilechooserdefault.c:6341
#, c-format
msgid "Could not read the contents of %s"
msgstr "Nie można odczytać zawartości %s"
-#: ../gtk/gtkfilechooserdefault.c:6335
+#: ../gtk/gtkfilechooserdefault.c:6345
msgid "Could not read the contents of the folder"
msgstr "Nie można odczytać zawartości katalogu"
-#: ../gtk/gtkfilechooserdefault.c:6428 ../gtk/gtkfilechooserdefault.c:6496
-#: ../gtk/gtkfilechooserdefault.c:6641
+#: ../gtk/gtkfilechooserdefault.c:6438 ../gtk/gtkfilechooserdefault.c:6506
+#: ../gtk/gtkfilechooserdefault.c:6658
msgid "Unknown"
msgstr "Nieznany"
-#: ../gtk/gtkfilechooserdefault.c:6443
+#: ../gtk/gtkfilechooserdefault.c:6453
msgid "%H:%M"
msgstr "%H:%M"
-#: ../gtk/gtkfilechooserdefault.c:6445
+#: ../gtk/gtkfilechooserdefault.c:6455
msgid "Yesterday at %H:%M"
msgstr "Wczoraj o %H:%M"
-#: ../gtk/gtkfilechooserdefault.c:7107
+#: ../gtk/gtkfilechooserdefault.c:7140
msgid "Cannot change to folder because it is not local"
msgstr "Nie można przejść do katalogu, ponieważ nie jest on lokalny"
-#: ../gtk/gtkfilechooserdefault.c:7704 ../gtk/gtkfilechooserdefault.c:7725
+#: ../gtk/gtkfilechooserdefault.c:7740 ../gtk/gtkfilechooserdefault.c:7761
#, c-format
msgid "Shortcut %s already exists"
msgstr "Skrót %s już istnieje"
-#: ../gtk/gtkfilechooserdefault.c:7815
+#: ../gtk/gtkfilechooserdefault.c:7851
#, c-format
msgid "Shortcut %s does not exist"
msgstr "Skrót %s nie istnieje"
-#: ../gtk/gtkfilechooserdefault.c:8074 ../gtk/gtkprintunixdialog.c:480
+#: ../gtk/gtkfilechooserdefault.c:8097 ../gtk/gtkprintunixdialog.c:550
#, c-format
msgid "A file named \"%s\" already exists. Do you want to replace it?"
msgstr "Plik o nazwie \"%s\" już istnieje. Zastąpić go?"
-#: ../gtk/gtkfilechooserdefault.c:8077 ../gtk/gtkprintunixdialog.c:484
+#: ../gtk/gtkfilechooserdefault.c:8100 ../gtk/gtkprintunixdialog.c:554
#, c-format
msgid ""
"The file already exists in \"%s\". Replacing it will overwrite its contents."
"Plik już istnieje w \"%s\". Zastąpienie go spowoduje nadpisanie jego "
"zawartości."
-#: ../gtk/gtkfilechooserdefault.c:8082 ../gtk/gtkprintunixdialog.c:491
+#: ../gtk/gtkfilechooserdefault.c:8105 ../gtk/gtkprintunixdialog.c:561
msgid "_Replace"
msgstr "_Zastąp"
-#: ../gtk/gtkfilechooserdefault.c:8808
+#: ../gtk/gtkfilechooserdefault.c:8900
msgid "Could not start the search process"
msgstr "Nie można rozpocząć procesu wyszukiwania"
-#: ../gtk/gtkfilechooserdefault.c:8809
+#: ../gtk/gtkfilechooserdefault.c:8901
msgid ""
"The program was not able to create a connection to the indexer daemon. "
"Please make sure it is running."
"Nie można było utworzyć połączenia z usługą indeksowania. Proszę się "
"upewnić, czy usługa jest uruchomiona."
-#: ../gtk/gtkfilechooserdefault.c:8823
+#: ../gtk/gtkfilechooserdefault.c:8915
msgid "Could not send the search request"
msgstr "Nie można wysłać żądania wyszukiwania"
-#: ../gtk/gtkfilechooserdefault.c:9042
-msgid "Search:"
-msgstr "Wyszukaj:"
-
-#: ../gtk/gtkfilechooserdefault.c:9643
+#: ../gtk/gtkfilechooserdefault.c:9707
#, c-format
msgid "Could not mount %s"
msgstr "Nie można zamontować %s"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry, when the user enters an invalid path.
-#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1179
+#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1174
+#: ../gtk/gtkfilesystem.c:721
+#, c-format
msgid "Invalid path"
msgstr "Nieprawidłowa ścieżka"
#. translators: this text is shown when there are no completions
#. * for something the user typed in a file chooser entry
#.
-#: ../gtk/gtkfilechooserentry.c:1111
+#: ../gtk/gtkfilechooserentry.c:1106
msgid "No match"
msgstr "Brak wyników"
#. translators: this text is shown when there is exactly one completion
#. * for something the user typed in a file chooser entry
#.
-#: ../gtk/gtkfilechooserentry.c:1122
+#: ../gtk/gtkfilechooserentry.c:1117
msgid "Sole completion"
msgstr "Pojedyncze uzupełnienie"
#. * entry is a complete filename, but could be continued to find
#. * a longer match
#.
-#: ../gtk/gtkfilechooserentry.c:1138
+#: ../gtk/gtkfilechooserentry.c:1133
msgid "Complete, but not unique"
msgstr "Uzupełnione, lecz niekompletne"
#. Translators: this text is shown while the system is searching
#. * for possible completions for filenames in a file chooser entry.
-#: ../gtk/gtkfilechooserentry.c:1170
+#: ../gtk/gtkfilechooserentry.c:1165
msgid "Completing..."
msgstr "Uzupełnianie..."
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user enters something like
#. * "sftp://blahblah" in an app that only supports local filenames.
-#: ../gtk/gtkfilechooserentry.c:1192 ../gtk/gtkfilechooserentry.c:1217
+#: ../gtk/gtkfilechooserentry.c:1187 ../gtk/gtkfilechooserentry.c:1212
msgid "Only local files may be selected"
msgstr "Można wybrać tylko lokalne pliki"
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user hasn't entered the first '/'
#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]")
-#: ../gtk/gtkfilechooserentry.c:1201
+#: ../gtk/gtkfilechooserentry.c:1196
msgid "Incomplete hostname; end it with '/'"
msgstr "Niekompletna nazwa komputera. Musi się kończyć znakiem \"/\""
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry when the user enters a path that does not exist
#. * and then hits Tab
-#: ../gtk/gtkfilechooserentry.c:1212
+#: ../gtk/gtkfilechooserentry.c:1207
msgid "Path does not exist"
msgstr "Ścieżka nie istnieje"
msgid "File System"
msgstr "System plików"
-#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266
+#: ../gtk/gtkfontbutton.c:153 ../gtk/gtkfontbutton.c:277
msgid "Pick a Font"
msgstr "Wybór czcionki"
#. Initialize fields
-#: ../gtk/gtkfontbutton.c:260
+#: ../gtk/gtkfontbutton.c:271
msgid "Sans 12"
msgstr "Sans 12"
-#: ../gtk/gtkfontbutton.c:785
+#: ../gtk/gtkfontbutton.c:796
msgid "Font"
msgstr "Czcionka"
#. This is the default text shown in the preview entry, though the user
#. can set it. Remember that some fonts only have capital letters.
-#: ../gtk/gtkfontsel.c:100
+#: ../gtk/gtkfontsel.c:119
msgid "abcdefghijk ABCDEFGHIJK"
msgstr "aąbcćdeęfghi AĄBCĆDEĘFGHI"
-#: ../gtk/gtkfontsel.c:366
+#: ../gtk/gtkfontsel.c:388
msgid "_Family:"
msgstr "_Rodzina:"
-#: ../gtk/gtkfontsel.c:372
+#: ../gtk/gtkfontsel.c:395
msgid "_Style:"
msgstr "_Styl:"
-#: ../gtk/gtkfontsel.c:378
+#: ../gtk/gtkfontsel.c:402
msgid "Si_ze:"
msgstr "R_ozmiar:"
#. create the text entry widget
-#: ../gtk/gtkfontsel.c:554
+#: ../gtk/gtkfontsel.c:579
msgid "_Preview:"
msgstr "_Podgląd"
-#: ../gtk/gtkfontsel.c:1651
+#: ../gtk/gtkfontsel.c:1701
msgid "Font Selection"
msgstr "Wybór czcionki"
-#. Remove this icon source so we don't keep trying to
-#. * load it.
-#.
-#: ../gtk/gtkiconfactory.c:1358
-#, c-format
-msgid "Error loading icon: %s"
-msgstr "Błąd podczas wczytywania ikony: %s"
-
-#: ../gtk/gtkicontheme.c:1338
-#, c-format
-msgid ""
-"Could not find the icon '%s'. The '%s' theme\n"
-"was not found either, perhaps you need to install it.\n"
-"You can get a copy from:\n"
-"\t%s"
-msgstr ""
-"Nie można odnaleźć ikony \"%s\". Motyw \"%s\"\n"
-"również nie został odnaleziony, prawdopodobnie\n"
-"należy je zainstalować. Ich kopię można pobrać z:\n"
-"\t%s"
-
-#: ../gtk/gtkicontheme.c:1520
+#: ../gtk/gtkicontheme.c:1605
#, c-format
msgid "Icon '%s' not present in theme"
msgstr "Brak ikony \"%s\" w motywie"
-#: ../gtk/gtkicontheme.c:3040
+#: ../gtk/gtkicontheme.c:3115
msgid "Failed to load icon"
msgstr "Wczytanie ikony się nie powiodło"
-#: ../gtk/gtkimmodule.c:526
+#: ../gtk/gtkimmodule.c:525
msgid "Simple"
msgstr "Prosty"
msgstr "Systemowa (%s)"
#. Open Link
-#: ../gtk/gtklabel.c:6241
+#: ../gtk/gtklabel.c:6309
msgid "_Open Link"
msgstr "_Otwórz odnośnik"
#. Copy Link Address
-#: ../gtk/gtklabel.c:6253
+#: ../gtk/gtklabel.c:6321
msgid "Copy _Link Address"
msgstr "Sk_opiuj adres odnośnika"
-#: ../gtk/gtklinkbutton.c:482
+#: ../gtk/gtklinkbutton.c:484
msgid "Copy URL"
msgstr "Skopiuj adres URL"
-#: ../gtk/gtklinkbutton.c:645
+#: ../gtk/gtklinkbutton.c:647
msgid "Invalid URI"
msgstr "Nieprawidłowy adres URI"
+#: ../gtk/gtklockbutton.c:288
+#, fuzzy
+msgid "Lock"
+msgstr "Num Lock"
+
+#: ../gtk/gtklockbutton.c:297
+msgid "Unlock"
+msgstr ""
+
+#: ../gtk/gtklockbutton.c:306
+msgid ""
+"Dialog is unlocked.\n"
+"Click to prevent further changes"
+msgstr ""
+
+#: ../gtk/gtklockbutton.c:315
+msgid ""
+"Dialog is locked.\n"
+"Click to make changes"
+msgstr ""
+
+#: ../gtk/gtklockbutton.c:324
+msgid ""
+"System policy prevents changes.\n"
+"Contact your system administrator"
+msgstr ""
+
#. Description of --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:563
+#: ../gtk/gtkmain.c:562
msgid "Load additional GTK+ modules"
msgstr "Wczytuje dodatkowe moduły biblioteki GTK+"
#. Placeholder in --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:564
+#: ../gtk/gtkmain.c:563
msgid "MODULES"
msgstr "MODUŁY"
#. Description of --g-fatal-warnings in --help output
-#: ../gtk/gtkmain.c:566
+#: ../gtk/gtkmain.c:565
msgid "Make all warnings fatal"
msgstr "Traktowanie wszystkich ostrzeżeń jako błędy"
#. Description of --gtk-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:569
+#: ../gtk/gtkmain.c:568
msgid "GTK+ debugging flags to set"
msgstr "Ustawione znaczniki debugowania biblioteki GTK+"
#. Description of --gtk-no-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:572
+#: ../gtk/gtkmain.c:571
msgid "GTK+ debugging flags to unset"
msgstr "Wyczyszczone znaczniki debugowania biblioteki GTK+"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: ../gtk/gtkmain.c:835
+#: ../gtk/gtkmain.c:848
msgid "default:LTR"
msgstr "default:LTR"
-#: ../gtk/gtkmain.c:899
+#: ../gtk/gtkmain.c:914
#, c-format
msgid "Cannot open display: %s"
msgstr "Nie można otworzyć ekranu: %s"
-#: ../gtk/gtkmain.c:965
+#: ../gtk/gtkmain.c:980
msgid "GTK+ Options"
msgstr "Opcje biblioteki GTK+"
-#: ../gtk/gtkmain.c:965
+#: ../gtk/gtkmain.c:980
msgid "Show GTK+ Options"
msgstr "Wyświetla opcje biblioteki GTK+"
-#: ../gtk/gtkmountoperation.c:491
+#: ../gtk/gtkmountoperation.c:489
msgid "Co_nnect"
msgstr "P_ołącz"
-#: ../gtk/gtkmountoperation.c:558
+#: ../gtk/gtkmountoperation.c:559
msgid "Connect _anonymously"
msgstr "Połączenie _anonimowe"
-#: ../gtk/gtkmountoperation.c:567
+#: ../gtk/gtkmountoperation.c:568
msgid "Connect as u_ser:"
msgstr "Połączenie jako _użytkownik:"
-#: ../gtk/gtkmountoperation.c:605
+#: ../gtk/gtkmountoperation.c:602
msgid "_Username:"
msgstr "_Nazwa użytkownika:"
-#: ../gtk/gtkmountoperation.c:610
+#: ../gtk/gtkmountoperation.c:607
msgid "_Domain:"
msgstr "_Domena:"
-#: ../gtk/gtkmountoperation.c:616
+#: ../gtk/gtkmountoperation.c:613
msgid "_Password:"
msgstr "_Hasło:"
-#: ../gtk/gtkmountoperation.c:634
+#: ../gtk/gtkmountoperation.c:631
msgid "Forget password _immediately"
msgstr "_Natychmiastowe usunięcie hasła"
-#: ../gtk/gtkmountoperation.c:644
+#: ../gtk/gtkmountoperation.c:641
msgid "Remember password until you _logout"
msgstr "_Zapamiętanie hasła do wylogowania"
-#: ../gtk/gtkmountoperation.c:654
+#: ../gtk/gtkmountoperation.c:651
msgid "Remember _forever"
msgstr "Z_apamiętanie na stałe"
-#: ../gtk/gtkmountoperation.c:883
+#: ../gtk/gtkmountoperation.c:880
#, c-format
msgid "Unknown Application (PID %d)"
msgstr "Nieznany program (PID %d)"
-#: ../gtk/gtkmountoperation.c:1066
+#: ../gtk/gtkmountoperation.c:1063
msgid "Unable to end process"
msgstr "Nie można zakończyć procesu"
-#: ../gtk/gtkmountoperation.c:1103
+#: ../gtk/gtkmountoperation.c:1100
msgid "_End Process"
msgstr "_Zakończ proces"
"Nie można usunąć procesu o PID %d. Działanie nie jest zaimplementowane."
#. translators: this string is a name for the 'less' command
-#: ../gtk/gtkmountoperation-x11.c:859
+#: ../gtk/gtkmountoperation-x11.c:959
msgid "Terminal Pager"
msgstr "Stronicowanie terminala"
# przetłumaczone wg hiszpańskiego tłumaczenia
-#: ../gtk/gtkmountoperation-x11.c:860
+#: ../gtk/gtkmountoperation-x11.c:960
msgid "Top Command"
msgstr "Polecenie top"
-#: ../gtk/gtkmountoperation-x11.c:861
+#: ../gtk/gtkmountoperation-x11.c:961
msgid "Bourne Again Shell"
msgstr "Powłoka Bourne Again"
-#: ../gtk/gtkmountoperation-x11.c:862
+#: ../gtk/gtkmountoperation-x11.c:962
msgid "Bourne Shell"
msgstr "Powłoka Bourne"
-#: ../gtk/gtkmountoperation-x11.c:863
+#: ../gtk/gtkmountoperation-x11.c:963
msgid "Z Shell"
msgstr "Powłoka Z"
-#: ../gtk/gtkmountoperation-x11.c:960
+#: ../gtk/gtkmountoperation-x11.c:1060
#, c-format
msgid "Cannot end process with PID %d: %s"
msgstr "Nie można zakończyć procesu o PID %d: %s"
-#: ../gtk/gtknotebook.c:4808 ../gtk/gtknotebook.c:7383
+#: ../gtk/gtknotebook.c:4922 ../gtk/gtknotebook.c:7611
#, c-format
msgid "Page %u"
msgstr "Strona %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"
msgid "Not a valid page setup file"
msgstr "Nieprawidłowy plik ustawień strony"
-#: ../gtk/gtkpagesetupunixdialog.c:177
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "Any Printer"
msgstr "Dowolna drukarka"
-#: ../gtk/gtkpagesetupunixdialog.c:177
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "For portable documents"
msgstr "Dla przenośnych dokumentów"
-#: ../gtk/gtkpagesetupunixdialog.c:807
+#: ../gtk/gtkpagesetupunixdialog.c:802
#, c-format
msgid ""
"Margins:\n"
" Górny: %s %s\n"
" Dolny: %s %s"
-#: ../gtk/gtkpagesetupunixdialog.c:856 ../gtk/gtkprintunixdialog.c:3306
+#: ../gtk/gtkpagesetupunixdialog.c:851 ../gtk/gtkprintunixdialog.c:3376
msgid "Manage Custom Sizes..."
msgstr "Zarządzaj własnymi rozmiarami..."
-#: ../gtk/gtkpagesetupunixdialog.c:907
+#: ../gtk/gtkpagesetupunixdialog.c:902
msgid "_Format for:"
msgstr "_Formatowanie dla:"
-#: ../gtk/gtkpagesetupunixdialog.c:929 ../gtk/gtkprintunixdialog.c:3478
+#: ../gtk/gtkpagesetupunixdialog.c:925 ../gtk/gtkprintunixdialog.c:3556
msgid "_Paper size:"
msgstr "_Rozmiar papieru:"
-#: ../gtk/gtkpagesetupunixdialog.c:960
+#: ../gtk/gtkpagesetupunixdialog.c:958
msgid "_Orientation:"
msgstr "_Położenie:"
-#: ../gtk/gtkpagesetupunixdialog.c:1024 ../gtk/gtkprintunixdialog.c:3540
+#: ../gtk/gtkpagesetupunixdialog.c:1023 ../gtk/gtkprintunixdialog.c:3620
msgid "Page Setup"
msgstr "Ustawienia strony"
-#: ../gtk/gtkpathbar.c:157
+#: ../gtk/gtkpathbar.c:156
msgid "Up Path"
msgstr "W górę ścieżki"
-#: ../gtk/gtkpathbar.c:159
+#: ../gtk/gtkpathbar.c:158
msgid "Down Path"
msgstr "W dół ścieżki"
-#: ../gtk/gtkpathbar.c:1518
+#: ../gtk/gtkpathbar.c:1516
msgid "File System Root"
msgstr "System plików"
msgid "Authentication"
msgstr "Uwierzytelnianie"
-#: ../gtk/gtkprinteroptionwidget.c:686
+#: ../gtk/gtkprinteroptionwidget.c:692
msgid "Not available"
msgstr "Niedostępne"
-#: ../gtk/gtkprinteroptionwidget.c:786
+#: ../gtk/gtkprinteroptionwidget.c:792
msgid "Select a folder"
msgstr "Wybór katalogu"
-#: ../gtk/gtkprinteroptionwidget.c:805
+#: ../gtk/gtkprinteroptionwidget.c:812
msgid "_Save in folder:"
msgstr "_Zapis w katalogu:"
#. Translators: this is a printer status.
#: ../gtk/gtkprintoperation-win32.c:615
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2022
msgid "Paused"
msgstr "Wstrzymane"
msgid "Unspecified error"
msgstr "Nieokreślony błąd"
-#: ../gtk/gtkprintunixdialog.c:618
+#: ../gtk/gtkprintunixdialog.c:688
msgid "Getting printer information failed"
msgstr "Pobieranie informacji o drukarce się nie powiodło"
-#: ../gtk/gtkprintunixdialog.c:1873
+#: ../gtk/gtkprintunixdialog.c:1942
msgid "Getting printer information..."
msgstr "Pobieranie informacji o drukarce..."
-#: ../gtk/gtkprintunixdialog.c:2147
+#: ../gtk/gtkprintunixdialog.c:2216
msgid "Printer"
msgstr "Drukarka"
#. Translators: this is the header for the location column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2157
+#: ../gtk/gtkprintunixdialog.c:2226
msgid "Location"
msgstr "Położenie"
#. Translators: this is the header for the printer status column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2168
+#: ../gtk/gtkprintunixdialog.c:2237
msgid "Status"
msgstr "Stan"
-#: ../gtk/gtkprintunixdialog.c:2194
+#: ../gtk/gtkprintunixdialog.c:2263
msgid "Range"
msgstr "Zakres"
-#: ../gtk/gtkprintunixdialog.c:2198
+#: ../gtk/gtkprintunixdialog.c:2267
msgid "_All Pages"
msgstr "Wszystkie _strony"
-#: ../gtk/gtkprintunixdialog.c:2205
+#: ../gtk/gtkprintunixdialog.c:2274
msgid "C_urrent Page"
msgstr "_Bieżąca strona"
-#: ../gtk/gtkprintunixdialog.c:2215
+#: ../gtk/gtkprintunixdialog.c:2284
msgid "Se_lection"
msgstr "_Wybór"
-#: ../gtk/gtkprintunixdialog.c:2224
+#: ../gtk/gtkprintunixdialog.c:2293
msgid "Pag_es:"
msgstr "Stro_ny:"
-#: ../gtk/gtkprintunixdialog.c:2225
+#: ../gtk/gtkprintunixdialog.c:2294
msgid ""
"Specify one or more page ranges,\n"
" e.g. 1-3,7,11"
"Określ jeden lub więcej zakresów stron,\n"
" przykładowo: 1-3,7,11"
-#: ../gtk/gtkprintunixdialog.c:2235
+#: ../gtk/gtkprintunixdialog.c:2304
msgid "Pages"
msgstr "Strony"
-#: ../gtk/gtkprintunixdialog.c:2248
+#: ../gtk/gtkprintunixdialog.c:2317
msgid "Copies"
msgstr "Kopie"
#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns
-#: ../gtk/gtkprintunixdialog.c:2253
+#: ../gtk/gtkprintunixdialog.c:2322
msgid "Copie_s:"
msgstr "Kopi_e:"
-#: ../gtk/gtkprintunixdialog.c:2271
+#: ../gtk/gtkprintunixdialog.c:2341
msgid "C_ollate"
msgstr "_Posegregowane"
-#: ../gtk/gtkprintunixdialog.c:2279
+#: ../gtk/gtkprintunixdialog.c:2349
msgid "_Reverse"
msgstr "Odw_rotnie"
-#: ../gtk/gtkprintunixdialog.c:2299
+#: ../gtk/gtkprintunixdialog.c:2369
msgid "General"
msgstr "Ogólne"
#. Translators: These strings name the possible arrangements of
#. * multiple pages on a sheet when printing
#.
-#: ../gtk/gtkprintunixdialog.c:3039
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, top to bottom"
msgstr "Od lewej do prawej, z góry do dołu"
-#: ../gtk/gtkprintunixdialog.c:3039
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, bottom to top"
msgstr "Od lewej do prawej, z dołu na górę"
-#: ../gtk/gtkprintunixdialog.c:3040
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, top to bottom"
msgstr "Od prawej do lewej, z góry na dół"
-#: ../gtk/gtkprintunixdialog.c:3040
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, bottom to top"
msgstr "Od prawej do lewej, z dołu na górę"
-#: ../gtk/gtkprintunixdialog.c:3041
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, left to right"
msgstr "Z góry do dołu, od lewej do prawej"
-#: ../gtk/gtkprintunixdialog.c:3041
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, right to left"
msgstr "Z góry do dołu, od prawej do lewej"
-#: ../gtk/gtkprintunixdialog.c:3042
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, left to right"
msgstr "Z dołu do góry, od lewej do prawej"
-#: ../gtk/gtkprintunixdialog.c:3042
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, right to left"
msgstr "Z dołu do góry, od prawej do lewej"
#. Translators, this string is used to label the option in the print
#. * dialog that controls in what order multiple pages are arranged
#.
-#: ../gtk/gtkprintunixdialog.c:3046 ../gtk/gtkprintunixdialog.c:3059
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3570
+#: ../gtk/gtkprintunixdialog.c:3116 ../gtk/gtkprintunixdialog.c:3129
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3609
msgid "Page Ordering"
msgstr "Kolejność stron"
-#: ../gtk/gtkprintunixdialog.c:3075
+#: ../gtk/gtkprintunixdialog.c:3145
msgid "Left to right"
msgstr "Od lewej do prawej"
-#: ../gtk/gtkprintunixdialog.c:3076
+#: ../gtk/gtkprintunixdialog.c:3146
msgid "Right to left"
msgstr "Od prawej do lewej"
-#: ../gtk/gtkprintunixdialog.c:3088
+#: ../gtk/gtkprintunixdialog.c:3158
msgid "Top to bottom"
msgstr "Z góry do dołu"
-#: ../gtk/gtkprintunixdialog.c:3089
+#: ../gtk/gtkprintunixdialog.c:3159
msgid "Bottom to top"
msgstr "Z dołu do góry"
-#: ../gtk/gtkprintunixdialog.c:3329
+#: ../gtk/gtkprintunixdialog.c:3399
msgid "Layout"
msgstr "Układ"
-#: ../gtk/gtkprintunixdialog.c:3333
+#: ../gtk/gtkprintunixdialog.c:3403
msgid "T_wo-sided:"
msgstr "_Dwustronnie:"
-#: ../gtk/gtkprintunixdialog.c:3348
+#: ../gtk/gtkprintunixdialog.c:3419
msgid "Pages per _side:"
msgstr "Stron _na kartkę:"
-#: ../gtk/gtkprintunixdialog.c:3365
+#: ../gtk/gtkprintunixdialog.c:3437
msgid "Page or_dering:"
msgstr "Kolejność _stron:"
-#: ../gtk/gtkprintunixdialog.c:3381
+#: ../gtk/gtkprintunixdialog.c:3454
msgid "_Only print:"
msgstr "Wydruk _tylko:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3396
+#: ../gtk/gtkprintunixdialog.c:3470
msgid "All sheets"
msgstr "Wszystkie kartki"
-#: ../gtk/gtkprintunixdialog.c:3397
+#: ../gtk/gtkprintunixdialog.c:3471
msgid "Even sheets"
msgstr "Kartki parzyste"
-#: ../gtk/gtkprintunixdialog.c:3398
+#: ../gtk/gtkprintunixdialog.c:3472
msgid "Odd sheets"
msgstr "Kartki nieparzyste"
-#: ../gtk/gtkprintunixdialog.c:3401
+#: ../gtk/gtkprintunixdialog.c:3475
msgid "Sc_ale:"
msgstr "Ska_la:"
-#: ../gtk/gtkprintunixdialog.c:3428
+#: ../gtk/gtkprintunixdialog.c:3503
msgid "Paper"
msgstr "Papier"
-#: ../gtk/gtkprintunixdialog.c:3432
+#: ../gtk/gtkprintunixdialog.c:3507
msgid "Paper _type:"
msgstr "Rodzaj papier_u:"
-#: ../gtk/gtkprintunixdialog.c:3447
+#: ../gtk/gtkprintunixdialog.c:3523
msgid "Paper _source:"
msgstr "Źródło pap_ieru:"
-#: ../gtk/gtkprintunixdialog.c:3462
+#: ../gtk/gtkprintunixdialog.c:3539
msgid "Output t_ray:"
msgstr "_Tacka wyjściowa:"
-#: ../gtk/gtkprintunixdialog.c:3502
+#: ../gtk/gtkprintunixdialog.c:3581
msgid "Or_ientation:"
msgstr "Orienta_cja:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3517
+#: ../gtk/gtkprintunixdialog.c:3597
msgid "Portrait"
msgstr "Pionowa"
-#: ../gtk/gtkprintunixdialog.c:3518
+#: ../gtk/gtkprintunixdialog.c:3598
msgid "Landscape"
msgstr "Pozioma"
-#: ../gtk/gtkprintunixdialog.c:3519
+#: ../gtk/gtkprintunixdialog.c:3599
msgid "Reverse portrait"
msgstr "Odwrócona pionowo"
-#: ../gtk/gtkprintunixdialog.c:3520
+#: ../gtk/gtkprintunixdialog.c:3600
msgid "Reverse landscape"
msgstr "Odwrócona poziomo"
-#: ../gtk/gtkprintunixdialog.c:3565
+#: ../gtk/gtkprintunixdialog.c:3645
msgid "Job Details"
msgstr "Szczegóły zadania"
-#: ../gtk/gtkprintunixdialog.c:3571
+#: ../gtk/gtkprintunixdialog.c:3651
msgid "Pri_ority:"
msgstr "Pri_orytet:"
-#: ../gtk/gtkprintunixdialog.c:3586
+#: ../gtk/gtkprintunixdialog.c:3667
msgid "_Billing info:"
msgstr "Informacje o opłatac_h:"
-#: ../gtk/gtkprintunixdialog.c:3604
+#: ../gtk/gtkprintunixdialog.c:3686
msgid "Print Document"
msgstr "Wydruk dokumentu"
#. Translators: this is one of the choices for the print at option
#. * in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3613
+#: ../gtk/gtkprintunixdialog.c:3695
msgid "_Now"
msgstr "_Teraz"
-#: ../gtk/gtkprintunixdialog.c:3624
+#: ../gtk/gtkprintunixdialog.c:3706
msgid "A_t:"
msgstr "_O:"
#. * You can remove the am/pm values below for your locale if they are not
#. * supported.
#.
-#: ../gtk/gtkprintunixdialog.c:3630
+#: ../gtk/gtkprintunixdialog.c:3712
msgid ""
"Specify the time of print,\n"
" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
msgstr "Określa czas drukowania, np: 15:30, 14:15:20, 11:46:30"
-#: ../gtk/gtkprintunixdialog.c:3640
+#: ../gtk/gtkprintunixdialog.c:3722
msgid "Time of print"
msgstr "Czas drukowania"
-#: ../gtk/gtkprintunixdialog.c:3656
+#: ../gtk/gtkprintunixdialog.c:3738
msgid "On _hold"
msgstr "Wstrzy_many"
-#: ../gtk/gtkprintunixdialog.c:3657
+#: ../gtk/gtkprintunixdialog.c:3739
msgid "Hold the job until it is explicitly released"
msgstr "Wstrzymuje zadanie do czasu jawnego jego zwolnienia"
-#: ../gtk/gtkprintunixdialog.c:3677
+#: ../gtk/gtkprintunixdialog.c:3759
msgid "Add Cover Page"
msgstr "Strona tytułowa"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3686
+#: ../gtk/gtkprintunixdialog.c:3768
msgid "Be_fore:"
msgstr "P_rzed:"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3704
+#: ../gtk/gtkprintunixdialog.c:3787
msgid "_After:"
msgstr "_Po:"
#. Translators: this is the tab label for the notebook tab containing
#. * job-specific options in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3722
+#: ../gtk/gtkprintunixdialog.c:3806
msgid "Job"
msgstr "Zadanie"
-#: ../gtk/gtkprintunixdialog.c:3788
+#: ../gtk/gtkprintunixdialog.c:3872
msgid "Advanced"
msgstr "Zaawansowane"
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3826
+#: ../gtk/gtkprintunixdialog.c:3910
msgid "Image Quality"
msgstr "Jakość obrazu"
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3830
+#: ../gtk/gtkprintunixdialog.c:3914
msgid "Color"
msgstr "Kolor"
#. Translators: this will appear as tab label in print dialog.
#. It's a typographical term, as in "Binding and finishing"
-#: ../gtk/gtkprintunixdialog.c:3835
+#: ../gtk/gtkprintunixdialog.c:3919
msgid "Finishing"
msgstr "Kończenie"
-#: ../gtk/gtkprintunixdialog.c:3845
+#: ../gtk/gtkprintunixdialog.c:3929
msgid "Some of the settings in the dialog conflict"
msgstr "Część ustawień w oknie jest sprzecznych"
-#: ../gtk/gtkprintunixdialog.c:3868
+#: ../gtk/gtkprintunixdialog.c:3952
msgid "Print"
msgstr "Wydruk"
-#: ../gtk/gtkrc.c:948
-#, c-format
-msgid "Unable to locate image file in pixmap_path: \"%s\""
-msgstr "Nie można odnaleźć pliku obrazu na ścieżce: \"%s\""
-
-#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173
-#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616
-#, c-format
-msgid "This function is not implemented for widgets of class '%s'"
-msgstr "Funkcja nie jest zaimplementowana dla widżetów klasy \"%s\""
-
-#: ../gtk/gtkrecentchooserdefault.c:483
+#: ../gtk/gtkrecentchooserdefault.c:485
msgid "Select which type of documents are shown"
msgstr "Wybór, jakie typy dokumentów są wyświetlane"
-#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174
+#: ../gtk/gtkrecentchooserdefault.c:1142 ../gtk/gtkrecentchooserdefault.c:1179
#, c-format
msgid "No item for URI '%s' found"
msgstr "Nie odnaleziono elementu dla adresu URI \"%s\""
-#: ../gtk/gtkrecentchooserdefault.c:1301
+#: ../gtk/gtkrecentchooserdefault.c:1306
msgid "Untitled filter"
msgstr "Filtr bez tytułu"
-#: ../gtk/gtkrecentchooserdefault.c:1654
+#: ../gtk/gtkrecentchooserdefault.c:1659
msgid "Could not remove item"
msgstr "Nie można usunąć elementu"
-#: ../gtk/gtkrecentchooserdefault.c:1698
+#: ../gtk/gtkrecentchooserdefault.c:1703
msgid "Could not clear list"
msgstr "Nie można wyczyścić elementu"
-#: ../gtk/gtkrecentchooserdefault.c:1782
+#: ../gtk/gtkrecentchooserdefault.c:1787
msgid "Copy _Location"
msgstr "S_kopiuj położenie"
-#: ../gtk/gtkrecentchooserdefault.c:1795
+#: ../gtk/gtkrecentchooserdefault.c:1800
msgid "_Remove From List"
msgstr "_Usuń z listy"
-#: ../gtk/gtkrecentchooserdefault.c:1804
+#: ../gtk/gtkrecentchooserdefault.c:1809
msgid "_Clear List"
msgstr "Wy_czyść listę"
-#: ../gtk/gtkrecentchooserdefault.c:1818
+#: ../gtk/gtkrecentchooserdefault.c:1823
msgid "Show _Private Resources"
msgstr "Wyświetl zasoby p_rywatne"
msgid "%d. %s"
msgstr "%d. %s"
-#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013
-#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160
-#: ../gtk/gtkrecentmanager.c:1212 ../gtk/gtkrecentmanager.c:1221
-#: ../gtk/gtkrecentmanager.c:1236
+#: ../gtk/gtkrecentmanager.c:1006 ../gtk/gtkrecentmanager.c:1019
+#: ../gtk/gtkrecentmanager.c:1156 ../gtk/gtkrecentmanager.c:1166
+#: ../gtk/gtkrecentmanager.c:1218 ../gtk/gtkrecentmanager.c:1227
+#: ../gtk/gtkrecentmanager.c:1242
#, c-format
msgid "Unable to find an item with URI '%s'"
msgstr "Nie można odnaleźć elementu z adresem URI \"%s\""
-#: ../gtk/gtkrecentmanager.c:2436
+#: ../gtk/gtkrecentmanager.c:2442
#, c-format
msgid "No registered application with name '%s' for item with URI '%s' found"
msgstr ""
"Nie odnaleziono zarejestrowanego programu o nazwie \"%s\" dla elementu o "
"adresie URI \"%s\""
-#: ../gtk/gtkspinner.c:287
-msgctxt "throbbing progress animation widget"
-msgid "Spinner"
-msgstr "Spinner"
-
-#: ../gtk/gtkspinner.c:288
-msgid "Provides visual indication of progress"
-msgstr "Dostarcza wzrokowy wskaźnik postępu"
-
#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
#: ../gtk/gtkstock.c:313
msgctxt "Stock label"
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
#. * the state
#.
-#: ../gtk/gtkswitch.c:313 ../gtk/gtkswitch.c:362 ../gtk/gtkswitch.c:553
+#: ../gtk/gtkswitch.c:336 ../gtk/gtkswitch.c:396 ../gtk/gtkswitch.c:603
msgctxt "switch"
msgid "ON"
msgstr "|"
#. Translators: if the "off" state label requires more than three
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
#.
-#: ../gtk/gtkswitch.c:321 ../gtk/gtkswitch.c:363 ../gtk/gtkswitch.c:569
+#: ../gtk/gtkswitch.c:344 ../gtk/gtkswitch.c:397 ../gtk/gtkswitch.c:632
msgctxt "switch"
msgid "OFF"
msgstr "◯"
-#: ../gtk/gtkswitch.c:968
-msgctxt "light switch widget"
-msgid "Switch"
-msgstr "Przełącznik"
-
-#: ../gtk/gtkswitch.c:969
-msgid "Switches between on and off states"
-msgstr "Przełącza między stanami \"włączone\" i \"wyłączone\""
-
#: ../gtk/gtktextbufferrichtext.c:651
#, c-format
msgid "Unknown error when trying to deserialize %s"
msgid "ZWNJ Zero width _non-joiner"
msgstr "ZWNJ - rozłączni_k znaków o zerowej szerokości"
-#: ../gtk/gtkuimanager.c:1506
+#: ../gtk/gtkuimanager.c:1760
#, c-format
msgid "Unexpected start tag '%s' on line %d char %d"
msgstr "Nieoczekiwany znacznik początku \"%s\" w wierszu %d znak %d"
-#: ../gtk/gtkuimanager.c:1596
+#: ../gtk/gtkuimanager.c:1850
#, c-format
msgid "Unexpected character data on line %d char %d"
msgstr "Nieoczekiwane dane znakowe w wierszu %d znak %d"
-#: ../gtk/gtkuimanager.c:2428
+#: ../gtk/gtkuimanager.c:2682
msgid "Empty"
msgstr "Pusty"
msgid "ROC 8k"
msgstr "ROC 8k"
-#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552
-#, c-format
-msgid "different idatas found for symlinked '%s' and '%s'\n"
-msgstr "odnaleziono różne idane dla symbolicznie dowiązanych \"%s\" i \"%s\"\n"
-
#: ../gtk/updateiconcache.c:1370
#, c-format
msgid "Failed to write header\n"
msgid "X Input Method"
msgstr "metoda wprowadzania X"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:814
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:828
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1038
msgid "Username:"
msgstr "Nazwa użytkownika:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:815
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:829
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1047
msgid "Password:"
msgstr "Hasło:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:854
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1060
#, c-format
msgid "Authentication is required to print document '%s' on printer %s"
msgstr ""
"Uwierzytelnienie jest wymagane, aby wydrukować dokument \"%s\" na drukarce %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:856
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:870
#, c-format
msgid "Authentication is required to print a document on %s"
msgstr "Uwierzytelnienie jest wymagane, aby wydrukować dokument na %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:860
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
#, c-format
msgid "Authentication is required to get attributes of job '%s'"
msgstr "Uwierzytelnienie jest wymagane, aby pobrać atrybuty zadania \"%s\""
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:862
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:876
msgid "Authentication is required to get attributes of a job"
msgstr "Uwierzytelnienie jest wymagane, aby pobrać atrybuty zadania"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:866
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:880
#, c-format
msgid "Authentication is required to get attributes of printer %s"
msgstr "Uwierzytelnienie jest wymagane, aby pobrać atrybuty drukarki %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:882
msgid "Authentication is required to get attributes of a printer"
msgstr "Uwierzytelnienie jest wymagane, aby pobrać atrybuty drukarki"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:871
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:885
#, c-format
msgid "Authentication is required to get default printer of %s"
msgstr "Uwierzytelnienie jest wymagane, aby pobrać domyślną drukarkę z %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:888
#, c-format
msgid "Authentication is required to get printers from %s"
msgstr "Uwierzytelnienie jest wymagane, aby pobrać drukarki od %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:879
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:893
#, c-format
msgid "Authentication is required to get a file from %s"
msgstr "Uwierzytelnienie jest wymagane, aby pobrać plik z %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:881
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:895
#, c-format
msgid "Authentication is required on %s"
msgstr "Uwierzytelnienie jest wymagane na %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1032
msgid "Domain:"
msgstr "Domena:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1062
#, c-format
msgid "Authentication is required to print document '%s'"
msgstr "Uwierzytelnienie jest wymagane, aby wydrukować dokument \"%s\""
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1067
#, c-format
msgid "Authentication is required to print this document on printer %s"
msgstr ""
"Uwierzytelnienie jest wymagane, aby wydrukować ten dokument na drukarce %s"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1069
msgid "Authentication is required to print this document"
msgstr "Uwierzytelnienie jest wymagane, aby wydrukować dokument"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
#, c-format
msgid "Printer '%s' is low on toner."
msgstr "W drukarce \"%s\" kończy się toner."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
#, c-format
msgid "Printer '%s' has no toner left."
msgstr "W drukarce \"%s\" skończył się toner."
#. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1693
#, c-format
msgid "Printer '%s' is low on developer."
msgstr "Niski poziom wywoływacza w drukarce \"%s\"."
#. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1695
#, c-format
msgid "Printer '%s' is out of developer."
msgstr "Brak wywoływacza w drukarce \"%s\"."
#. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1697
#, c-format
msgid "Printer '%s' is low on at least one marker supply."
msgstr "W drukarce \"%s\" kończy się co najmniej jedna składowa kolorów."
#. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1699
#, c-format
msgid "Printer '%s' is out of at least one marker supply."
msgstr "W drukarce \"%s\" skończyła się co najmniej jedna składowa kolorów."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1700
#, c-format
msgid "The cover is open on printer '%s'."
msgstr "Pokrywa drukarki \"%s\" jest otwarta."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1701
#, c-format
msgid "The door is open on printer '%s'."
msgstr "Drzwi drukarki \"%s\" są otwarte."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1702
#, c-format
msgid "Printer '%s' is low on paper."
msgstr "W podajniku drukarki \"%s\" kończy się papier."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1703
#, c-format
msgid "Printer '%s' is out of paper."
msgstr "W podajniku drukarki \"%s\" skończył się papier."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1704
#, c-format
msgid "Printer '%s' is currently offline."
msgstr "Drukarka \"%s\" jest obecnie w trybie offline."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1705
#, c-format
msgid "There is a problem on printer '%s'."
msgstr "Wystąpił problem z drukarką \"%s\"."
#. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2019
msgid "Paused ; Rejecting Jobs"
msgstr "Wstrzymana ; Odrzuca zadania"
#. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2025
msgid "Rejecting Jobs"
msgstr "Odrzuca zadania"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
msgid "Two Sided"
msgstr "Dwustronne"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799
msgid "Paper Type"
msgstr "Rodzaj papieru"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
msgid "Paper Source"
msgstr "Źródło papieru"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801
msgid "Output Tray"
msgstr "Tacka wyjściowa"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
msgid "Resolution"
msgstr "Rozdzielczość"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803
msgid "GhostScript pre-filtering"
msgstr "Wstępne filtrowanie GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2792
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
msgid "One Sided"
msgstr "Jednostronne"
#. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2794
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
msgid "Long Edge (Standard)"
msgstr "Grzbiet wzdłuż dłuższej krawędzi (standard)"
#. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2796
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
msgid "Short Edge (Flip)"
msgstr "Grzbiet wzdłuż krótszej krawędzi (obrót)"
#. Translators: this is an option of "Paper Source"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2808
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2820
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2828
msgid "Auto Select"
msgstr "Wybór automatyczny"
#. Translators: this is an option of "Paper Source"
#. Translators: this is an option of "Resolution"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2804
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2806
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2810
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3306
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2822
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2824
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3326
msgid "Printer Default"
msgstr "Domyślne drukarki"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2832
msgid "Embed GhostScript fonts only"
msgstr "Osadzanie tylko czcionek GhostScript"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2834
msgid "Convert to PS level 1"
msgstr "Konwertowanie do PS level 1"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2836
msgid "Convert to PS level 2"
msgstr "Konwertowanie do PS level 2"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2838
msgid "No pre-filtering"
msgstr "Bez wstępnego filtrowania"
#. 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:2827
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2847
msgid "Miscellaneous"
msgstr "Różne"
#. Translators: These strings name the possible values of the
#. * job priority option in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Urgent"
msgstr "Ważne"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "High"
msgstr "Wysoki"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Medium"
msgstr "Średni"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Low"
msgstr "Niski"
#. Translators, this string is used to label the pages-per-sheet option
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3554
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3593
msgid "Pages per Sheet"
msgstr "Stron na kartkę"
#. Translators, this string is used to label the job priority option
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3591
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3630
msgid "Job Priority"
msgstr "Priorytet"
#. Translators, this string is used to label the billing info entry
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3602
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3641
msgid "Billing Info"
msgstr "Informacje o opłatach"
#. Translators, these strings are names for various 'standard' cover
#. * pages that the printing system may support.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "None"
msgstr "Brak"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Classified"
msgstr "Sklasyfikowane"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Confidential"
msgstr "Poufne"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Secret"
msgstr "Tajne"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Standard"
msgstr "Standardowe"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Top Secret"
msgstr "Ściśle tajne"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Unclassified"
msgstr "Niesklasyfikowane"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3652
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3691
msgid "Before"
msgstr "Przed"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3667
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706
msgid "After"
msgstr "Po"
#. * a print job is printed. Possible values are 'now', a specified time,
#. * or 'on hold'
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3726
msgid "Print at"
msgstr "Wydruk o"
#. 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:3698
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
msgid "Print at time"
msgstr "Wydruk o czasie"
#. * size. The two placeholders are replaced with the width and height
#. * in points. E.g: "Custom 230.4x142.9"
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3733
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3772
#, c-format
msgid "Custom %sx%s"
msgstr "Własny %sx%s"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3853
+#, fuzzy
+msgid "Printer Profile"
+msgstr "Drukarka jest w trybie offline"
+
+#. TRANSLATORS: this is when color profile information is unavailable
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3860
+#, fuzzy
+msgid "Unavailable"
+msgstr "Niedostępne"
+
+#. TRANSLATORS: when we're running an old CUPS, and
+#. * it hasn't registered the device with colord
+#: ../modules/printbackends/cups/gtkprintercups.c:222
+msgid "Color management unavailable"
+msgstr ""
+
+#. TRANSLATORS: when there is no color profile available
+#: ../modules/printbackends/cups/gtkprintercups.c:234
+#, fuzzy
+msgid "No profile available"
+msgstr "Niedostępne"
+
+#. TRANSLATORS: when the color profile has no title
+#: ../modules/printbackends/cups/gtkprintercups.c:245
+#, fuzzy
+msgid "Unspecified profile"
+msgstr "Nieokreślony błąd"
+
#. default filename used for print-to-file
#: ../modules/printbackends/file/gtkprintbackendfile.c:250
#, c-format
# Vasiliy Faronov <qvvx@yandex.ru>, 2007.
# Anton Shestakov <engored@ya.ru>, 2008.
# Lebedev Roman <roman@lebedev.com>, 2009.
-# Yuri Kozlov <yuray@komyakino.ru>, 2010.
+# Yuri Kozlov <yuray@komyakino.ru>, 2010, 2011.
msgid ""
msgstr ""
"Project-Id-Version: ru\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-01 16:19+0200\n"
-"PO-Revision-Date: 2011-03-01 16:18+0200\n"
-"Last-Translator: Leonid Kanter <leon@asplinux.ru>\n"
-"Language-Team: Russian <ru@li.org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%"
+"2b&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2011-07-23 14:25+0000\n"
+"PO-Revision-Date: 2011-07-23 18:48+0400\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <gnome-cyr@gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ru\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Lokalize 1.0\n"
#: ../gdk/gdk.c:135
#, c-format
msgid "Error parsing option --gdk-debug"
-msgstr "Не удалось разобрать --gdk-debug"
+msgstr "Не удалось разобрать параметр --gdk-debug"
#: ../gdk/gdk.c:155
#, c-format
msgid "Error parsing option --gdk-no-debug"
-msgstr "Не удалось разобрать --gdk-no-debug"
+msgstr "Не удалось разобрать параметр --gdk-no-debug"
#. Description of --class=CLASS in --help output
#: ../gdk/gdk.c:183
#. 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:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573
+#: ../gdk/gdk.c:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:569 ../gtk/gtkmain.c:572
msgid "FLAGS"
msgstr "ФЛАГИ"
msgstr[1] "Открывается %d элемента"
msgstr[2] "Открывается %d элементов"
+#: ../gtk/a11y/gtkspinneraccessible.c:42
+msgctxt "throbbing progress animation widget"
+msgid "Spinner"
+msgstr "Вертушка"
+
+#: ../gtk/a11y/gtkspinneraccessible.c:43
+msgid "Provides visual indication of progress"
+msgstr "Наглядно отображает ход работы"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:65
+msgctxt "light switch widget"
+msgid "Switch"
+msgstr "Выключатель"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:66
+msgid "Switches between on and off states"
+msgstr "Переключает между состояниями вкл и выкл"
+
#. Translators: this is the license preamble; the string at the end
#. * contains the URL of the license.
#.
-#: ../gtk/gtkaboutdialog.c:104
+#: ../gtk/gtkaboutdialog.c:103
#, c-format
msgid ""
"This program comes with ABSOLUTELY NO WARRANTY; for details, visit <a href="
"Эта программа распространяется БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; подробности на "
"странице <a href=\"%s\">%s</a>"
-#: ../gtk/gtkaboutdialog.c:346
+#: ../gtk/gtkaboutdialog.c:345
msgid "License"
msgstr "Лицензия"
-#: ../gtk/gtkaboutdialog.c:347
+#: ../gtk/gtkaboutdialog.c:346
msgid "The license of the program"
msgstr "Лицензия программы"
#. Add the credits button
-#: ../gtk/gtkaboutdialog.c:739
+#: ../gtk/gtkaboutdialog.c:738
msgid "C_redits"
msgstr "_Благодарности"
#. Add the license button
-#: ../gtk/gtkaboutdialog.c:752
+#: ../gtk/gtkaboutdialog.c:751
msgid "_License"
msgstr "_Лицензия"
-#: ../gtk/gtkaboutdialog.c:957
+#: ../gtk/gtkaboutdialog.c:956
msgid "Could not show link"
msgstr "Не удалось показать ссылку"
-#: ../gtk/gtkaboutdialog.c:994
+#: ../gtk/gtkaboutdialog.c:993
msgid "Homepage"
msgstr "Домашняя страница"
-#: ../gtk/gtkaboutdialog.c:1048
+#: ../gtk/gtkaboutdialog.c:1047
#, c-format
msgid "About %s"
msgstr "О программе %s"
-#: ../gtk/gtkaboutdialog.c:2372
+#: ../gtk/gtkaboutdialog.c:2371
msgid "Created by"
msgstr "Автор(ы)"
-#: ../gtk/gtkaboutdialog.c:2375
+#: ../gtk/gtkaboutdialog.c:2374
msgid "Documented by"
msgstr "Документация"
-#: ../gtk/gtkaboutdialog.c:2385
+#: ../gtk/gtkaboutdialog.c:2384
msgid "Translated by"
msgstr "Перевод"
-#: ../gtk/gtkaboutdialog.c:2390
+#: ../gtk/gtkaboutdialog.c:2389
msgid "Artwork by"
msgstr "Графический дизайн"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:786
+#: ../gtk/gtkaccellabel.c:789
msgctxt "keyboard label"
msgid "Super"
msgstr "Super"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:799
+#: ../gtk/gtkaccellabel.c:802
msgctxt "keyboard label"
msgid "Hyper"
msgstr "Hyper"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:813
+#: ../gtk/gtkaccellabel.c:816
msgctxt "keyboard label"
msgid "Meta"
msgstr "Meta"
-#: ../gtk/gtkaccellabel.c:829
+#: ../gtk/gtkaccellabel.c:832
msgctxt "keyboard label"
msgid "Space"
msgstr "Пробел"
-#: ../gtk/gtkaccellabel.c:832
+#: ../gtk/gtkaccellabel.c:835
msgctxt "keyboard label"
msgid "Backslash"
msgstr "Backslash"
-#: ../gtk/gtkappchooserbutton.c:264
+#: ../gtk/gtkappchooserbutton.c:268
msgid "Other application..."
msgstr "Другое приложение..."
-#: ../gtk/gtkappchooserdialog.c:128
+#: ../gtk/gtkappchooserdialog.c:130
msgid "Failed to look for applications online"
msgstr "Не удалось осуществить поиск приложений в Интернете"
-#: ../gtk/gtkappchooserdialog.c:165
+#: ../gtk/gtkappchooserdialog.c:171
msgid "Find applications online"
msgstr "Искать приложения в Интернете"
-#: ../gtk/gtkappchooserdialog.c:209
+#: ../gtk/gtkappchooserdialog.c:221
msgid "Could not run application"
msgstr "Не удалось выполнить приложение"
-#: ../gtk/gtkappchooserdialog.c:222
+#: ../gtk/gtkappchooserdialog.c:234
#, c-format
msgid "Could not find '%s'"
msgstr "Не удалось найти «%s»"
-#: ../gtk/gtkappchooserdialog.c:225
+#: ../gtk/gtkappchooserdialog.c:237
msgid "Could not find application"
msgstr "Не удалось найти приложение"
#. Translators: %s is a filename
-#: ../gtk/gtkappchooserdialog.c:335
+#: ../gtk/gtkappchooserdialog.c:355
#, c-format
msgid "Select an application to open \"%s\""
msgstr "Выберите приложение, чтобы открыть «%s»"
-#: ../gtk/gtkappchooserdialog.c:336 ../gtk/gtkappchooserwidget.c:640
+#: ../gtk/gtkappchooserdialog.c:356 ../gtk/gtkappchooserwidget.c:643
#, c-format
msgid "No applications available to open \"%s\""
msgstr "Нет подходящих приложений для открытия «%s»"
#. Translators: %s is a file type description
-#: ../gtk/gtkappchooserdialog.c:342
+#: ../gtk/gtkappchooserdialog.c:362
#, c-format
msgid "Select an application for \"%s\" files"
msgstr "Выберите приложение для файлов «%s»"
-#: ../gtk/gtkappchooserdialog.c:345
+#: ../gtk/gtkappchooserdialog.c:364
#, c-format
msgid "No applications available to open \"%s\" files"
msgstr "Нет подходящих приложений для открытия файлов «%s»"
-#: ../gtk/gtkappchooserdialog.c:362
+#: ../gtk/gtkappchooserdialog.c:380
msgid ""
"Click \"Show other applications\", for more options, or \"Find applications "
"online\" to install a new application"
"приложений, или «Искать приложения в Интернете», чтобы установить новое "
"приложение"
-#: ../gtk/gtkappchooserdialog.c:432
+#: ../gtk/gtkappchooserdialog.c:450
msgid "Forget association"
msgstr "Забыть привязку"
-#: ../gtk/gtkappchooserdialog.c:497
+#: ../gtk/gtkappchooserdialog.c:515
msgid "Show other applications"
msgstr "Показать другие приложения"
-#: ../gtk/gtkappchooserdialog.c:515
+#: ../gtk/gtkappchooserdialog.c:533
msgid "_Select"
msgstr "_Выбрать"
-#: ../gtk/gtkappchooserwidget.c:591
+#: ../gtk/gtkappchooserwidget.c:592
msgid "Default Application"
msgstr "Приложение по умолчанию"
-#: ../gtk/gtkappchooserwidget.c:726
+#: ../gtk/gtkappchooserwidget.c:730
msgid "Recommended Applications"
msgstr "Рекомендуемые приложения"
-#: ../gtk/gtkappchooserwidget.c:740
+#: ../gtk/gtkappchooserwidget.c:745
msgid "Related Applications"
msgstr "Связанные приложения"
-#: ../gtk/gtkappchooserwidget.c:754
+#: ../gtk/gtkappchooserwidget.c:759
msgid "Other Applications"
msgstr "Другие приложения"
+#: ../gtk/gtkassistant.c:999
+msgid "C_ontinue"
+msgstr "_Продолжить"
+
+#: ../gtk/gtkassistant.c:1002
+msgid "Go _Back"
+msgstr "Вернуться _назад"
+
+#: ../gtk/gtkassistant.c:1006
+msgid "_Finish"
+msgstr "_Завершить"
+
#: ../gtk/gtkbuilderparser.c:342
#, c-format
msgid "Invalid type function on line %d: '%s'"
#. * text direction of RTL and specify "calendar:YM", then the year
#. * will appear to the right of the month.
#.
-#: ../gtk/gtkcalendar.c:871
+#: ../gtk/gtkcalendar.c:873
msgid "calendar:MY"
msgstr "calendar:MY"
#. * first day of the week to calendar:week_start:1 if you want Monday
#. * to be the first day of the week, and so on.
#.
-#: ../gtk/gtkcalendar.c:909
+#: ../gtk/gtkcalendar.c:911
msgid "calendar:week_start:0"
msgstr "calendar:week_start:1"
#. *
#. * If you don't understand this, leave it as "2000"
#.
-#: ../gtk/gtkcalendar.c:1910
+#: ../gtk/gtkcalendar.c:1912
msgctxt "year measurement template"
msgid "2000"
msgstr "2000"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638
+#: ../gtk/gtkcalendar.c:1943 ../gtk/gtkcalendar.c:2640
#, c-format
msgctxt "calendar:day:digits"
msgid "%d"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499
+#: ../gtk/gtkcalendar.c:1975 ../gtk/gtkcalendar.c:2501
#, c-format
msgctxt "calendar:week:digits"
msgid "%d"
#. *
#. * "%Y" is appropriate for most locales.
#.
-#: ../gtk/gtkcalendar.c:2268
+#: ../gtk/gtkcalendar.c:2270
msgctxt "calendar year format"
msgid "%Y"
msgstr "%Y"
#. This label is displayed in a treeview cell displaying
#. * a disabled accelerator key combination.
#.
-#: ../gtk/gtkcellrendereraccel.c:271
+#: ../gtk/gtkcellrendereraccel.c:286
msgctxt "Accelerator"
msgid "Disabled"
msgstr "Выключен"
#. * an accelerator key combination that is not valid according
#. * to gtk_accelerator_valid().
#.
-#: ../gtk/gtkcellrendereraccel.c:281
+#: ../gtk/gtkcellrendereraccel.c:296
msgctxt "Accelerator"
msgid "Invalid"
msgstr "Неверный"
#. * an accelerator when the cell is clicked to change the
#. * acelerator.
#.
-#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:729
+#: ../gtk/gtkcellrendereraccel.c:432 ../gtk/gtkcellrendereraccel.c:745
msgid "New accelerator..."
msgstr "Новая комбинация клавиш..."
-#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452
+#: ../gtk/gtkcellrendererprogress.c:374 ../gtk/gtkcellrendererprogress.c:464
#, c-format
msgctxt "progress bar label"
msgid "%d %%"
msgid "Pick a Color"
msgstr "Выберите цвет"
-#: ../gtk/gtkcolorbutton.c:372
-msgid "Received invalid color data\n"
-msgstr "Получены недопустимые данные цвета\n"
-
-#: ../gtk/gtkcolorsel.c:415
+#: ../gtk/gtkcolorsel.c:416
msgid ""
"Select the color you want from the outer ring. Select the darkness or "
"lightness of that color using the inner triangle."
"Выберите желаемый цвет на внешнем круге. Выберите более тёмный или более "
"светлый оттенок, используя внутренний треугольник."
-#: ../gtk/gtkcolorsel.c:441
+#: ../gtk/gtkcolorsel.c:442
msgid ""
"Click the eyedropper, then click a color anywhere on your screen to select "
"that color."
"Щелкните на пипетке, затем щёлкните на цвете в любом месте экрана, чтобы "
"выбрать этот цвет."
-#: ../gtk/gtkcolorsel.c:451
+#: ../gtk/gtkcolorsel.c:452
msgid "_Hue:"
msgstr "То_н:"
-#: ../gtk/gtkcolorsel.c:452
+#: ../gtk/gtkcolorsel.c:453
msgid "Position on the color wheel."
msgstr "Положение цветового круга."
-#: ../gtk/gtkcolorsel.c:454
+#: ../gtk/gtkcolorsel.c:455
msgid "_Saturation:"
msgstr "Нас_ыщенность:"
-#: ../gtk/gtkcolorsel.c:455
+#: ../gtk/gtkcolorsel.c:456
msgid "Intensity of the color."
msgstr "Яркость цвета."
-#: ../gtk/gtkcolorsel.c:456
+#: ../gtk/gtkcolorsel.c:457
msgid "_Value:"
msgstr "Зна_чение:"
-#: ../gtk/gtkcolorsel.c:457
+#: ../gtk/gtkcolorsel.c:458
msgid "Brightness of the color."
msgstr "Яркость цвета."
-#: ../gtk/gtkcolorsel.c:458
+#: ../gtk/gtkcolorsel.c:459
msgid "_Red:"
msgstr "_Красный:"
-#: ../gtk/gtkcolorsel.c:459
+#: ../gtk/gtkcolorsel.c:460
msgid "Amount of red light in the color."
msgstr "Количество красного оттенка в цвете."
-#: ../gtk/gtkcolorsel.c:460
+#: ../gtk/gtkcolorsel.c:461
msgid "_Green:"
msgstr "_Зелёный:"
-#: ../gtk/gtkcolorsel.c:461
+#: ../gtk/gtkcolorsel.c:462
msgid "Amount of green light in the color."
msgstr "Количество зелёного оттенка в цвете."
-#: ../gtk/gtkcolorsel.c:462
+#: ../gtk/gtkcolorsel.c:463
msgid "_Blue:"
msgstr "С_иний:"
-#: ../gtk/gtkcolorsel.c:463
+#: ../gtk/gtkcolorsel.c:464
msgid "Amount of blue light in the color."
msgstr "Количество синего оттенка в цвете."
-#: ../gtk/gtkcolorsel.c:466
+#: ../gtk/gtkcolorsel.c:467
msgid "Op_acity:"
msgstr "Не_прозрачность:"
-#: ../gtk/gtkcolorsel.c:473 ../gtk/gtkcolorsel.c:483
+#: ../gtk/gtkcolorsel.c:475 ../gtk/gtkcolorsel.c:485
msgid "Transparency of the color."
msgstr "Прозрачность цвета."
-#: ../gtk/gtkcolorsel.c:490
+#: ../gtk/gtkcolorsel.c:492
msgid "Color _name:"
msgstr "Наи_менование цвета:"
-#: ../gtk/gtkcolorsel.c:504
+#: ../gtk/gtkcolorsel.c:507
msgid ""
"You can enter an HTML-style hexadecimal color value, or simply a color name "
"such as 'orange' in this entry."
"Вы можете ввести в этой строке или шестнадцатеричное значение цвета (в стиле "
"HTML), или название цвета, например, «orange»."
-#: ../gtk/gtkcolorsel.c:536
+#: ../gtk/gtkcolorsel.c:539
msgid "_Palette:"
msgstr "Па_литра:"
-#: ../gtk/gtkcolorsel.c:565
+#: ../gtk/gtkcolorsel.c:569
msgid "Color Wheel"
msgstr "Цветовой круг"
-#: ../gtk/gtkcolorsel.c:1038
+#: ../gtk/gtkcolorsel.c:1042
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now. You can drag this color to a palette entry, or select this color as "
"этот цвет в палитру или сделать его текущим, перетащив на другой образец "
"цвета сбоку."
-#: ../gtk/gtkcolorsel.c:1044
+#: ../gtk/gtkcolorsel.c:1048
msgid ""
"The color you've chosen. You can drag this color to a palette entry to save "
"it for use in the future."
"Цвет, который вы выбрали. Вы можете перетащить его в палитру, чтобы "
"сохранить для последующего использования."
-#: ../gtk/gtkcolorsel.c:1050
+#: ../gtk/gtkcolorsel.c:1054
msgid ""
"The previously-selected color, for comparison to the color you're selecting "
"now."
msgstr "Выбранный ранее цвет для сравнения с цветом, выбранным сейчас."
-#: ../gtk/gtkcolorsel.c:1054
+#: ../gtk/gtkcolorsel.c:1058
msgid "The color you've chosen."
msgstr "Выбранный вами цвет."
-#: ../gtk/gtkcolorsel.c:1456
+#: ../gtk/gtkcolorsel.c:1460
msgid "_Save color here"
msgstr "Со_хранить цвет здесь"
-#: ../gtk/gtkcolorsel.c:1661
+#: ../gtk/gtkcolorsel.c:1665
msgid ""
"Click this palette entry to make it the current color. To change this entry, "
"drag a color swatch here or right-click it and select \"Save color here.\""
"изменить этот элемент, перетащите сюда образец цвета или щёлкните правой "
"клавишей и выберите «Сохранить цвет здесь»"
-#: ../gtk/gtkcolorseldialog.c:189
+#: ../gtk/gtkcolorseldialog.c:217
msgid "Color Selection"
msgstr "Выбор цвета"
msgstr "default:mm"
#. And show the custom paper dialog
-#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3255
+#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3325
msgid "Manage Custom Sizes"
msgstr "Управление пользовательскими размерами"
-#: ../gtk/gtkcustompaperunixdialog.c:532 ../gtk/gtkpagesetupunixdialog.c:788
+#: ../gtk/gtkcustompaperunixdialog.c:533 ../gtk/gtkpagesetupunixdialog.c:783
msgid "inch"
msgstr "дюймы"
-#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:786
+#: ../gtk/gtkcustompaperunixdialog.c:535 ../gtk/gtkpagesetupunixdialog.c:781
msgid "mm"
msgstr "мм"
-#: ../gtk/gtkcustompaperunixdialog.c:579
+#: ../gtk/gtkcustompaperunixdialog.c:580
msgid "Margins from Printer..."
msgstr "Поля из принтера..."
-#: ../gtk/gtkcustompaperunixdialog.c:745
+#: ../gtk/gtkcustompaperunixdialog.c:746
#, c-format
msgid "Custom Size %d"
msgstr "Пользовательский размер %d"
-#: ../gtk/gtkcustompaperunixdialog.c:1057
+#: ../gtk/gtkcustompaperunixdialog.c:1084
msgid "_Width:"
msgstr "_Ширина:"
-#: ../gtk/gtkcustompaperunixdialog.c:1069
+#: ../gtk/gtkcustompaperunixdialog.c:1097
msgid "_Height:"
msgstr "_Высота:"
-#: ../gtk/gtkcustompaperunixdialog.c:1081
+#: ../gtk/gtkcustompaperunixdialog.c:1110
msgid "Paper Size"
msgstr "Размер бумаги"
-#: ../gtk/gtkcustompaperunixdialog.c:1090
+#: ../gtk/gtkcustompaperunixdialog.c:1119
msgid "_Top:"
msgstr "_Верхнее:"
-#: ../gtk/gtkcustompaperunixdialog.c:1102
+#: ../gtk/gtkcustompaperunixdialog.c:1132
msgid "_Bottom:"
msgstr "_Нижнее:"
-#: ../gtk/gtkcustompaperunixdialog.c:1114
+#: ../gtk/gtkcustompaperunixdialog.c:1145
msgid "_Left:"
msgstr "_Левое:"
-#: ../gtk/gtkcustompaperunixdialog.c:1126
+#: ../gtk/gtkcustompaperunixdialog.c:1158
msgid "_Right:"
msgstr "_Правое:"
-#: ../gtk/gtkcustompaperunixdialog.c:1167
+#: ../gtk/gtkcustompaperunixdialog.c:1200
msgid "Paper Margins"
msgstr "Поля страницы"
-#: ../gtk/gtkentry.c:8748 ../gtk/gtktextview.c:8272
+#: ../gtk/gtkentry.c:8949 ../gtk/gtktextview.c:8277
msgid "Input _Methods"
msgstr "_Методы ввода"
# длинный перевод слишком сильно растягивает контекстное меню
-#: ../gtk/gtkentry.c:8762 ../gtk/gtktextview.c:8286
+#: ../gtk/gtkentry.c:8963 ../gtk/gtktextview.c:8291
msgid "_Insert Unicode Control Character"
msgstr "Вст_авить управляющий символ Юникод"
-#: ../gtk/gtkentry.c:10170
+#: ../gtk/gtkentry.c:10434
msgid "Caps Lock and Num Lock are on"
msgstr "Нажаты Caps Lock и Num Lock"
-#: ../gtk/gtkentry.c:10172
+#: ../gtk/gtkentry.c:10436
msgid "Num Lock is on"
msgstr "Нажата Num Lock"
-#: ../gtk/gtkentry.c:10174
+#: ../gtk/gtkentry.c:10438
msgid "Caps Lock is on"
msgstr "Нажата Caps Lock"
+#. *
+#. * SECTION:gtkfilechooserbutton
+#. * @Short_description: A button to launch a file selection dialog
+#. * @Title: GtkFileChooserButton
+#. * @See_also:#GtkFileChooserDialog
+#. *
+#. * The #GtkFileChooserButton is a widget that lets the user select a
+#. * file. It implements the #GtkFileChooser interface. Visually, it is a
+#. * file name with a button to bring up a #GtkFileChooserDialog.
+#. * The user can then use that dialog to change the file associated with
+#. * that button. This widget does not support setting the
+#. * #GtkFileChooser:select-multiple property to %TRUE.
+#. *
+#. * <example>
+#. * <title>Create a button to let the user select a file in /etc</title>
+#. * <programlisting>
+#. * {
+#. * GtkWidget *button;
+#. *
+#. * button = gtk_file_chooser_button_new (_("Select a file"),
+#. * GTK_FILE_CHOOSER_ACTION_OPEN);
+#. * gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button),
+#. * "/etc");
+#. * }
+#. * </programlisting>
+#. * </example>
+#. *
+#. * The #GtkFileChooserButton supports the #GtkFileChooserAction<!-- -->s
+#. * %GTK_FILE_CHOOSER_ACTION_OPEN and %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
+#. *
+#. * <important>
+#. * The #GtkFileChooserButton will ellipsize the label,
+#. * and thus will thus request little horizontal space. To give the button
+#. * more space, you should call gtk_widget_get_preferred_size(),
+#. * gtk_file_chooser_button_set_width_chars(), or pack the button in
+#. * such a way that other interface elements give space to the widget.
+#. * </important>
+#.
#. **************** *
#. * Private Macros *
#. * ****************
-#: ../gtk/gtkfilechooserbutton.c:62
+#: ../gtk/gtkfilechooserbutton.c:105
msgid "Select a File"
msgstr "Выберите файл"
-#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1865
+#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1811
msgid "Desktop"
msgstr "Рабочий стол"
-#: ../gtk/gtkfilechooserbutton.c:64
+#: ../gtk/gtkfilechooserbutton.c:107
msgid "(None)"
msgstr "(Нет)"
-#: ../gtk/gtkfilechooserbutton.c:1997
+#: ../gtk/gtkfilechooserbutton.c:2046
msgid "Other..."
msgstr "Другой..."
msgid "Type name of new folder"
msgstr "Введите имя новой папки"
-#: ../gtk/gtkfilechooserdefault.c:960
+#: ../gtk/gtkfilechooserdefault.c:962
msgid "Could not retrieve information about the file"
msgstr "Не удалось получить информацию о файле"
-#: ../gtk/gtkfilechooserdefault.c:971
+#: ../gtk/gtkfilechooserdefault.c:973
msgid "Could not add a bookmark"
msgstr "Не удалось добавить закладку"
-#: ../gtk/gtkfilechooserdefault.c:982
+#: ../gtk/gtkfilechooserdefault.c:984
msgid "Could not remove bookmark"
msgstr "Не удалось удалить закладку"
-#: ../gtk/gtkfilechooserdefault.c:993
+#: ../gtk/gtkfilechooserdefault.c:995
msgid "The folder could not be created"
msgstr "Не удалось создать папку"
-#: ../gtk/gtkfilechooserdefault.c:1006
+#: ../gtk/gtkfilechooserdefault.c:1008
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."
"Папка не может быть создана, так как файл с таким именем уже существует. "
"Выберите другое имя для папки, или переименуйте файл."
-#: ../gtk/gtkfilechooserdefault.c:1020
+#: ../gtk/gtkfilechooserdefault.c:1022
msgid "You need to choose a valid filename."
msgstr "Необходимо выбрать правильное имя файла."
-#: ../gtk/gtkfilechooserdefault.c:1023
+#: ../gtk/gtkfilechooserdefault.c:1025
#, c-format
msgid "Cannot create a file under %s as it is not a folder"
msgstr "Не удалось создать файл под %s, поскольку это не папка"
-#: ../gtk/gtkfilechooserdefault.c:1035
+#: ../gtk/gtkfilechooserdefault.c:1037
msgid ""
"You may only select folders. The item that you selected is not a folder; "
"try using a different item."
"Вы можете выбрать только папки. Выбранный элемент не является папкой; "
"попробуйте выбрать другой элемент."
-#: ../gtk/gtkfilechooserdefault.c:1045
+#: ../gtk/gtkfilechooserdefault.c:1047
msgid "Invalid file name"
msgstr "Недопустимое имя файла"
-#: ../gtk/gtkfilechooserdefault.c:1055
+#: ../gtk/gtkfilechooserdefault.c:1057
msgid "The folder contents could not be displayed"
msgstr "Не удалось отобразить содержимое папки"
#. * is a hostname. Nautilus and the panel contain the same string
#. * to translate.
#.
-#: ../gtk/gtkfilechooserdefault.c:1608
+#: ../gtk/gtkfilechooserdefault.c:1583
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s на %2$s"
-#: ../gtk/gtkfilechooserdefault.c:1784
+#: ../gtk/gtkfilechooserdefault.c:1732
msgid "Search"
msgstr "Поиск"
-#: ../gtk/gtkfilechooserdefault.c:1808 ../gtk/gtkfilechooserdefault.c:9485
+#: ../gtk/gtkfilechooserdefault.c:1756 ../gtk/gtkfilechooserdefault.c:4873
msgid "Recently Used"
msgstr "Недавние документы"
-#: ../gtk/gtkfilechooserdefault.c:2464
+#: ../gtk/gtkfilechooserdefault.c:2355
msgid "Select which types of files are shown"
msgstr "Выбрать отображаемые типы файлов"
-#: ../gtk/gtkfilechooserdefault.c:2823
+#: ../gtk/gtkfilechooserdefault.c:2714
#, c-format
msgid "Add the folder '%s' to the bookmarks"
msgstr "Создать закладку для папки «%s»"
-#: ../gtk/gtkfilechooserdefault.c:2867
+#: ../gtk/gtkfilechooserdefault.c:2758
#, c-format
msgid "Add the current folder to the bookmarks"
msgstr "Создать закладку для текущей папки"
-#: ../gtk/gtkfilechooserdefault.c:2869
+#: ../gtk/gtkfilechooserdefault.c:2760
#, c-format
msgid "Add the selected folders to the bookmarks"
msgstr "Создать закладки для выделенных папок"
-#: ../gtk/gtkfilechooserdefault.c:2907
+#: ../gtk/gtkfilechooserdefault.c:2798
#, c-format
msgid "Remove the bookmark '%s'"
msgstr "Удалить закладку «%s»"
-#: ../gtk/gtkfilechooserdefault.c:2909
+#: ../gtk/gtkfilechooserdefault.c:2800
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr "Закладка '%s' не может быть удалена"
-#: ../gtk/gtkfilechooserdefault.c:2916 ../gtk/gtkfilechooserdefault.c:3798
+#: ../gtk/gtkfilechooserdefault.c:2807 ../gtk/gtkfilechooserdefault.c:3692
msgid "Remove the selected bookmark"
msgstr "Удалить выделенную закладку"
-#: ../gtk/gtkfilechooserdefault.c:3479
+#: ../gtk/gtkfilechooserdefault.c:3371
msgid "Remove"
msgstr "Удалить"
-#: ../gtk/gtkfilechooserdefault.c:3488
+#: ../gtk/gtkfilechooserdefault.c:3380
msgid "Rename..."
msgstr "Переименовать..."
#. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3651
+#: ../gtk/gtkfilechooserdefault.c:3544
msgid "Places"
msgstr "Места"
#. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3708
+#: ../gtk/gtkfilechooserdefault.c:3601
msgid "_Places"
msgstr "_Места"
-#: ../gtk/gtkfilechooserdefault.c:3786
+#: ../gtk/gtkfilechooserdefault.c:3680
msgid "Add the selected folder to the Bookmarks"
msgstr "Создать закладку для выделенной папки"
-#: ../gtk/gtkfilechooserdefault.c:3933
+#: ../gtk/gtkfilechooserdefault.c:3827
msgid "Could not select file"
msgstr "Не удалось выделить файл"
-#: ../gtk/gtkfilechooserdefault.c:4106
+#: ../gtk/gtkfilechooserdefault.c:4000
msgid "_Add to Bookmarks"
msgstr "_Добавить в закладки"
-#: ../gtk/gtkfilechooserdefault.c:4119
+#: ../gtk/gtkfilechooserdefault.c:4013
msgid "Show _Hidden Files"
msgstr "Показывать _скрытые файлы"
-#: ../gtk/gtkfilechooserdefault.c:4126
+#: ../gtk/gtkfilechooserdefault.c:4020
msgid "Show _Size Column"
msgstr "Показывать _размер"
-#: ../gtk/gtkfilechooserdefault.c:4351
+#: ../gtk/gtkfilechooserdefault.c:4245
msgid "Files"
msgstr "Файлы"
-#: ../gtk/gtkfilechooserdefault.c:4402
+#: ../gtk/gtkfilechooserdefault.c:4296
msgid "Name"
msgstr "Имя"
-#: ../gtk/gtkfilechooserdefault.c:4425
+#: ../gtk/gtkfilechooserdefault.c:4319
msgid "Size"
msgstr "Размер"
-#: ../gtk/gtkfilechooserdefault.c:4439
+#: ../gtk/gtkfilechooserdefault.c:4333
msgid "Modified"
msgstr "Изменён"
#. Label
-#: ../gtk/gtkfilechooserdefault.c:4694 ../gtk/gtkprinteroptionwidget.c:793
+#: ../gtk/gtkfilechooserdefault.c:4414 ../gtk/gtkprinteroptionwidget.c:799
msgid "_Name:"
msgstr "_Имя:"
-#: ../gtk/gtkfilechooserdefault.c:4737
-msgid "_Browse for other folders"
-msgstr "П_росмотреть другие папки"
-
-#: ../gtk/gtkfilechooserdefault.c:5007
+#: ../gtk/gtkfilechooserdefault.c:4711
msgid "Type a file name"
msgstr "Введите имя файла"
+#: ../gtk/gtkfilechooserdefault.c:4758 ../gtk/gtkfilechooserdefault.c:4769
+msgid "Please select a folder below"
+msgstr "Выберите папку внизу"
+
+#: ../gtk/gtkfilechooserdefault.c:4764
+msgid "Please type a file name"
+msgstr "Введите имя файла"
+
#. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5050
+#: ../gtk/gtkfilechooserdefault.c:4835
msgid "Create Fo_lder"
msgstr "Создать п_апку"
-#: ../gtk/gtkfilechooserdefault.c:5060
+#: ../gtk/gtkfilechooserdefault.c:4883
+msgid "Search:"
+msgstr "Поиск:"
+
+#: ../gtk/gtkfilechooserdefault.c:4930
msgid "_Location:"
msgstr "_Расположение:"
-#: ../gtk/gtkfilechooserdefault.c:5265
+#: ../gtk/gtkfilechooserdefault.c:5247
msgid "Save in _folder:"
msgstr "Сохранить в _папке"
-#: ../gtk/gtkfilechooserdefault.c:5267
+#: ../gtk/gtkfilechooserdefault.c:5249
msgid "Create in _folder:"
msgstr "Создать в _папке:"
-#: ../gtk/gtkfilechooserdefault.c:6350
+#: ../gtk/gtkfilechooserdefault.c:6343
#, c-format
msgid "Could not read the contents of %s"
msgstr "Не удалось прочитать содержимое %s"
-#: ../gtk/gtkfilechooserdefault.c:6354
+#: ../gtk/gtkfilechooserdefault.c:6347
msgid "Could not read the contents of the folder"
msgstr "Не удалось прочитать содержимое папки"
-#: ../gtk/gtkfilechooserdefault.c:6447 ../gtk/gtkfilechooserdefault.c:6515
+#: ../gtk/gtkfilechooserdefault.c:6440 ../gtk/gtkfilechooserdefault.c:6508
#: ../gtk/gtkfilechooserdefault.c:6660
msgid "Unknown"
msgstr "Неизвестен"
-#: ../gtk/gtkfilechooserdefault.c:6462
+#: ../gtk/gtkfilechooserdefault.c:6455
msgid "%H:%M"
msgstr "%H:%M"
-#: ../gtk/gtkfilechooserdefault.c:6464
+#: ../gtk/gtkfilechooserdefault.c:6457
msgid "Yesterday at %H:%M"
msgstr "Вчера в %H:%M"
-#: ../gtk/gtkfilechooserdefault.c:7126
+#: ../gtk/gtkfilechooserdefault.c:7142
msgid "Cannot change to folder because it is not local"
msgstr "Не удалось перейти в папку, так как она не является локальной"
-#: ../gtk/gtkfilechooserdefault.c:7723 ../gtk/gtkfilechooserdefault.c:7744
+#: ../gtk/gtkfilechooserdefault.c:7742 ../gtk/gtkfilechooserdefault.c:7763
#, c-format
msgid "Shortcut %s already exists"
msgstr "Комбинация %s уже существует"
-#: ../gtk/gtkfilechooserdefault.c:7834
+#: ../gtk/gtkfilechooserdefault.c:7853
#, c-format
msgid "Shortcut %s does not exist"
msgstr "Комбинация %s не существует"
-#: ../gtk/gtkfilechooserdefault.c:8093 ../gtk/gtkprintunixdialog.c:480
+#: ../gtk/gtkfilechooserdefault.c:8099 ../gtk/gtkprintunixdialog.c:550
#, c-format
msgid "A file named \"%s\" already exists. Do you want to replace it?"
msgstr "Файл с именем «%s» уже существует. Заменить его?"
-#: ../gtk/gtkfilechooserdefault.c:8096 ../gtk/gtkprintunixdialog.c:484
+#: ../gtk/gtkfilechooserdefault.c:8102 ../gtk/gtkprintunixdialog.c:554
#, c-format
msgid ""
"The file already exists in \"%s\". Replacing it will overwrite its contents."
msgstr ""
"Файл уже существует в «%s». Его замена приведёт к перезаписи содержимого."
-#: ../gtk/gtkfilechooserdefault.c:8101 ../gtk/gtkprintunixdialog.c:491
+#: ../gtk/gtkfilechooserdefault.c:8107 ../gtk/gtkprintunixdialog.c:561
msgid "_Replace"
msgstr "_Заменить"
-#: ../gtk/gtkfilechooserdefault.c:8827
+#: ../gtk/gtkfilechooserdefault.c:8912
msgid "Could not start the search process"
msgstr "Не удалось начать поиск"
-#: ../gtk/gtkfilechooserdefault.c:8828
+#: ../gtk/gtkfilechooserdefault.c:8913
msgid ""
"The program was not able to create a connection to the indexer daemon. "
"Please make sure it is running."
"Не удалось соединиться с сервисом индексированного поиска. Проверьте, что "
"сервис запущен."
-#: ../gtk/gtkfilechooserdefault.c:8842
+#: ../gtk/gtkfilechooserdefault.c:8927
msgid "Could not send the search request"
msgstr "Не удалось послать запрос на поиск"
-#: ../gtk/gtkfilechooserdefault.c:9061
-msgid "Search:"
-msgstr "Поиск:"
-
-#: ../gtk/gtkfilechooserdefault.c:9669
+#: ../gtk/gtkfilechooserdefault.c:9719
#, c-format
msgid "Could not mount %s"
msgstr "Не удалось подключить %s"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry, when the user enters an invalid path.
-#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1179
+#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1174
+#: ../gtk/gtkfilesystem.c:721
+#, c-format
msgid "Invalid path"
msgstr "Неверный путь"
#. translators: this text is shown when there are no completions
#. * for something the user typed in a file chooser entry
#.
-#: ../gtk/gtkfilechooserentry.c:1111
+#: ../gtk/gtkfilechooserentry.c:1106
msgid "No match"
msgstr "Нет совпадений"
#. translators: this text is shown when there is exactly one completion
#. * for something the user typed in a file chooser entry
#.
-#: ../gtk/gtkfilechooserentry.c:1122
+#: ../gtk/gtkfilechooserentry.c:1117
msgid "Sole completion"
msgstr "Единственное совпадение"
#. * entry is a complete filename, but could be continued to find
#. * a longer match
#.
-#: ../gtk/gtkfilechooserentry.c:1138
+#: ../gtk/gtkfilechooserentry.c:1133
msgid "Complete, but not unique"
msgstr "Подходящее, но не уникальное"
#. Translators: this text is shown while the system is searching
#. * for possible completions for filenames in a file chooser entry.
-#: ../gtk/gtkfilechooserentry.c:1170
+#: ../gtk/gtkfilechooserentry.c:1165
msgid "Completing..."
msgstr "Поиск совпадений..."
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user enters something like
#. * "sftp://blahblah" in an app that only supports local filenames.
-#: ../gtk/gtkfilechooserentry.c:1192 ../gtk/gtkfilechooserentry.c:1217
+#: ../gtk/gtkfilechooserentry.c:1187 ../gtk/gtkfilechooserentry.c:1212
msgid "Only local files may be selected"
msgstr "Поддерживаются только локальные файлы"
#. Translators: this is shown in the feedback for Tab-completion in a
#. * file chooser's text entry when the user hasn't entered the first '/'
#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]")
-#: ../gtk/gtkfilechooserentry.c:1201
+#: ../gtk/gtkfilechooserentry.c:1196
msgid "Incomplete hostname; end it with '/'"
msgstr "Незавершённое имя узла, наберите «/»"
#. Translators: this is shown in the feedback for Tab-completion in a file
#. * chooser's text entry when the user enters a path that does not exist
#. * and then hits Tab
-#: ../gtk/gtkfilechooserentry.c:1212
+#: ../gtk/gtkfilechooserentry.c:1207
msgid "Path does not exist"
msgstr "Путь не существует"
msgid "File System"
msgstr "Файловая система"
-#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266
+#: ../gtk/gtkfontbutton.c:153 ../gtk/gtkfontbutton.c:277
msgid "Pick a Font"
msgstr "Выберите шрифт"
#. Initialize fields
-#: ../gtk/gtkfontbutton.c:260
+#: ../gtk/gtkfontbutton.c:271
msgid "Sans 12"
msgstr "Sans 12"
-#: ../gtk/gtkfontbutton.c:785
+#: ../gtk/gtkfontbutton.c:796
msgid "Font"
msgstr "Шрифт"
#. This is the default text shown in the preview entry, though the user
#. can set it. Remember that some fonts only have capital letters.
-#: ../gtk/gtkfontsel.c:100
+#: ../gtk/gtkfontsel.c:119
msgid "abcdefghijk ABCDEFGHIJK"
msgstr "абвгде АБВГДЕ abcde ABCDE"
-#: ../gtk/gtkfontsel.c:366
+#: ../gtk/gtkfontsel.c:388
msgid "_Family:"
msgstr "_Семейство:"
-#: ../gtk/gtkfontsel.c:372
+#: ../gtk/gtkfontsel.c:395
msgid "_Style:"
msgstr "_Начертание:"
-#: ../gtk/gtkfontsel.c:378
+#: ../gtk/gtkfontsel.c:402
msgid "Si_ze:"
msgstr "_Размер:"
#. create the text entry widget
-#: ../gtk/gtkfontsel.c:554
+#: ../gtk/gtkfontsel.c:579
msgid "_Preview:"
msgstr "Образе_ц:"
-#: ../gtk/gtkfontsel.c:1653
+#: ../gtk/gtkfontsel.c:1705
msgid "Font Selection"
msgstr "Выбор шрифта"
-#. Remove this icon source so we don't keep trying to
-#. * load it.
-#.
-#: ../gtk/gtkiconfactory.c:1358
-#, c-format
-msgid "Error loading icon: %s"
-msgstr "Не удалось загрузить значок: %s"
-
-#: ../gtk/gtkicontheme.c:1336
-#, c-format
-msgid ""
-"Could not find the icon '%s'. The '%s' theme\n"
-"was not found either, perhaps you need to install it.\n"
-"You can get a copy from:\n"
-"\t%s"
-msgstr ""
-"Не удалось найти значок «%s». Тема «%s» также\n"
-"не была найдена, возможно, её требуется установить.\n"
-"Загрузить тему можно с\n"
-"\t%s"
-
-#: ../gtk/gtkicontheme.c:1518
+#: ../gtk/gtkicontheme.c:1605
#, c-format
msgid "Icon '%s' not present in theme"
msgstr "Значок «%s» не присутствует в теме"
-#: ../gtk/gtkicontheme.c:3038
+#: ../gtk/gtkicontheme.c:3115
msgid "Failed to load icon"
msgstr "Не удалось загрузить значок"
-#: ../gtk/gtkimmodule.c:526
+#: ../gtk/gtkimmodule.c:525
msgid "Simple"
msgstr "Простой"
msgstr "Системный (%s)"
#. Open Link
-#: ../gtk/gtklabel.c:6243
+#: ../gtk/gtklabel.c:6309
msgid "_Open Link"
msgstr "_Открыть ссылку"
#. Copy Link Address
-#: ../gtk/gtklabel.c:6255
+#: ../gtk/gtklabel.c:6321
msgid "Copy _Link Address"
msgstr "_Скопировать адрес ссылки"
-#: ../gtk/gtklinkbutton.c:482
+#: ../gtk/gtklinkbutton.c:484
msgid "Copy URL"
msgstr "Копировать URL"
-#: ../gtk/gtklinkbutton.c:645
+#: ../gtk/gtklinkbutton.c:647
msgid "Invalid URI"
msgstr "Неверный URI"
+#: ../gtk/gtklockbutton.c:288
+msgid "Lock"
+msgstr "Блокировать"
+
+#: ../gtk/gtklockbutton.c:297
+msgid "Unlock"
+msgstr "Разблокировать"
+
+#: ../gtk/gtklockbutton.c:306
+msgid ""
+"Dialog is unlocked.\n"
+"Click to prevent further changes"
+msgstr ""
+"Диалоговое окно разблокировано.\n"
+"Щёлкните для блокирования изменений"
+
+#: ../gtk/gtklockbutton.c:315
+msgid ""
+"Dialog is locked.\n"
+"Click to make changes"
+msgstr ""
+"Диалоговое окно заблокировано.\n"
+"Щёлкните для ввода изменений"
+
+#: ../gtk/gtklockbutton.c:324
+msgid ""
+"System policy prevents changes.\n"
+"Contact your system administrator"
+msgstr ""
+"Изменения запрещены системной политикой.\n"
+"Обратитесь к вашему системному администратору"
+
#. Description of --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:563
+#: ../gtk/gtkmain.c:562
msgid "Load additional GTK+ modules"
msgstr "Загрузить дополнительные модули GTK+"
#. Placeholder in --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:564
+#: ../gtk/gtkmain.c:563
msgid "MODULES"
msgstr "МОДУЛИ"
#. Description of --g-fatal-warnings in --help output
-#: ../gtk/gtkmain.c:566
+#: ../gtk/gtkmain.c:565
msgid "Make all warnings fatal"
msgstr "Сделать все предупреждения фатальными"
#. Description of --gtk-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:569
+#: ../gtk/gtkmain.c:568
msgid "GTK+ debugging flags to set"
msgstr "Установить указанные отладочные флаги GTK+"
#. Description of --gtk-no-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:572
+#: ../gtk/gtkmain.c:571
msgid "GTK+ debugging flags to unset"
msgstr "Сбросить указанные отладочные флаги GTK+"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: ../gtk/gtkmain.c:846
+#: ../gtk/gtkmain.c:848
msgid "default:LTR"
msgstr "default:LTR"
-#: ../gtk/gtkmain.c:910
+#: ../gtk/gtkmain.c:914
#, c-format
msgid "Cannot open display: %s"
msgstr "Не удалось открыть дисплей: %s"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "GTK+ Options"
msgstr "Параметры GTK+"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "Show GTK+ Options"
msgstr "Показать параметры GTK+"
-#: ../gtk/gtkmountoperation.c:491
+#: ../gtk/gtkmountoperation.c:489
msgid "Co_nnect"
msgstr "_Подключиться"
-#: ../gtk/gtkmountoperation.c:558
+#: ../gtk/gtkmountoperation.c:559
msgid "Connect _anonymously"
msgstr "Подключиться _анонимно"
-#: ../gtk/gtkmountoperation.c:567
+#: ../gtk/gtkmountoperation.c:568
msgid "Connect as u_ser:"
msgstr "Подключиться _как:"
-#: ../gtk/gtkmountoperation.c:605
+#: ../gtk/gtkmountoperation.c:602
msgid "_Username:"
msgstr "_Имя пользователя:"
-#: ../gtk/gtkmountoperation.c:610
+#: ../gtk/gtkmountoperation.c:607
msgid "_Domain:"
msgstr "_Домен:"
-#: ../gtk/gtkmountoperation.c:616
+#: ../gtk/gtkmountoperation.c:613
msgid "_Password:"
msgstr "_Пароль:"
-#: ../gtk/gtkmountoperation.c:634
+#: ../gtk/gtkmountoperation.c:631
msgid "Forget password _immediately"
msgstr "_Забыть пароль немедленно"
-#: ../gtk/gtkmountoperation.c:644
+#: ../gtk/gtkmountoperation.c:641
msgid "Remember password until you _logout"
msgstr "Запомнить пароль _до выхода из сеанса"
-#: ../gtk/gtkmountoperation.c:654
+#: ../gtk/gtkmountoperation.c:651
msgid "Remember _forever"
msgstr "Запомнить _навсегда"
-#: ../gtk/gtkmountoperation.c:883
+#: ../gtk/gtkmountoperation.c:880
#, c-format
msgid "Unknown Application (PID %d)"
msgstr "Неизвестное приложение (PID %d)"
-#: ../gtk/gtkmountoperation.c:1066
+#: ../gtk/gtkmountoperation.c:1063
msgid "Unable to end process"
msgstr "Не удается завершить процесс"
-#: ../gtk/gtkmountoperation.c:1103
+#: ../gtk/gtkmountoperation.c:1100
msgid "_End Process"
msgstr "_Завершить процесс"
msgstr "Невозможно завершить процесс с PID %d. Операция не реализована."
#. translators: this string is a name for the 'less' command
-#: ../gtk/gtkmountoperation-x11.c:859
+#: ../gtk/gtkmountoperation-x11.c:959
msgid "Terminal Pager"
msgstr "Терминальный пейджер"
-#: ../gtk/gtkmountoperation-x11.c:860
+#: ../gtk/gtkmountoperation-x11.c:960
msgid "Top Command"
msgstr "Команда top"
-#: ../gtk/gtkmountoperation-x11.c:861
+#: ../gtk/gtkmountoperation-x11.c:961
msgid "Bourne Again Shell"
msgstr "Bourne Again Shell"
-#: ../gtk/gtkmountoperation-x11.c:862
+#: ../gtk/gtkmountoperation-x11.c:962
msgid "Bourne Shell"
msgstr "Bourne Shell"
-#: ../gtk/gtkmountoperation-x11.c:863
+#: ../gtk/gtkmountoperation-x11.c:963
msgid "Z Shell"
msgstr "Z Shell"
-#: ../gtk/gtkmountoperation-x11.c:960
+#: ../gtk/gtkmountoperation-x11.c:1060
#, c-format
msgid "Cannot end process with PID %d: %s"
msgstr "Не удаётся завершить процесс с PID %d: %s"
-#: ../gtk/gtknotebook.c:4808 ../gtk/gtknotebook.c:7383
+#: ../gtk/gtknotebook.c:4904 ../gtk/gtknotebook.c:7589
#, c-format
msgid "Page %u"
msgstr "Страница %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"
msgid "Not a valid page setup file"
msgstr "Некорректный файл настройки печати"
-#: ../gtk/gtkpagesetupunixdialog.c:177
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "Any Printer"
msgstr "Любой принтер"
-#: ../gtk/gtkpagesetupunixdialog.c:177
+#: ../gtk/gtkpagesetupunixdialog.c:172
msgid "For portable documents"
msgstr "Для переносимых документов"
-#: ../gtk/gtkpagesetupunixdialog.c:807
+#: ../gtk/gtkpagesetupunixdialog.c:802
#, c-format
msgid ""
"Margins:\n"
" верхнее: %s %s\n"
" нижнее: %s %s"
-#: ../gtk/gtkpagesetupunixdialog.c:856 ../gtk/gtkprintunixdialog.c:3306
+#: ../gtk/gtkpagesetupunixdialog.c:851 ../gtk/gtkprintunixdialog.c:3376
msgid "Manage Custom Sizes..."
msgstr "Управление пользовательскими размерами..."
-#: ../gtk/gtkpagesetupunixdialog.c:907
+#: ../gtk/gtkpagesetupunixdialog.c:902
msgid "_Format for:"
msgstr "_Формат для:"
-#: ../gtk/gtkpagesetupunixdialog.c:929 ../gtk/gtkprintunixdialog.c:3478
+#: ../gtk/gtkpagesetupunixdialog.c:925 ../gtk/gtkprintunixdialog.c:3556
msgid "_Paper size:"
msgstr "_Размер бумаги:"
-#: ../gtk/gtkpagesetupunixdialog.c:960
+#: ../gtk/gtkpagesetupunixdialog.c:958
msgid "_Orientation:"
msgstr "_Расположение:"
-#: ../gtk/gtkpagesetupunixdialog.c:1024 ../gtk/gtkprintunixdialog.c:3540
+#: ../gtk/gtkpagesetupunixdialog.c:1023 ../gtk/gtkprintunixdialog.c:3620
msgid "Page Setup"
msgstr "Параметры страницы"
-#: ../gtk/gtkpathbar.c:157
+#: ../gtk/gtkpathbar.c:156
msgid "Up Path"
msgstr "Вверх по дереву"
-#: ../gtk/gtkpathbar.c:159
+#: ../gtk/gtkpathbar.c:158
msgid "Down Path"
msgstr "Вниз по дереву"
-#: ../gtk/gtkpathbar.c:1518
+#: ../gtk/gtkpathbar.c:1516
msgid "File System Root"
msgstr "Корень файловой системы"
msgid "Authentication"
msgstr "Проверка доступа"
-#: ../gtk/gtkprinteroptionwidget.c:686
+#: ../gtk/gtkprinteroptionwidget.c:692
msgid "Not available"
msgstr "Недоступно"
-#: ../gtk/gtkprinteroptionwidget.c:786
+#: ../gtk/gtkprinteroptionwidget.c:792
msgid "Select a folder"
msgstr "Выберите папку"
-#: ../gtk/gtkprinteroptionwidget.c:805
+#: ../gtk/gtkprinteroptionwidget.c:812
msgid "_Save in folder:"
msgstr "_Сохранить в папке:"
#. Translators: this is a printer status.
#: ../gtk/gtkprintoperation-win32.c:615
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2022
msgid "Paused"
msgstr "Приостановлено"
msgid "Unspecified error"
msgstr "Неуказанная ошибка"
-#: ../gtk/gtkprintunixdialog.c:618
+#: ../gtk/gtkprintunixdialog.c:688
msgid "Getting printer information failed"
msgstr "Не удалось получить информацию о принтере"
-#: ../gtk/gtkprintunixdialog.c:1873
+#: ../gtk/gtkprintunixdialog.c:1942
msgid "Getting printer information..."
msgstr "Получение информации о принтере..."
-#: ../gtk/gtkprintunixdialog.c:2147
+#: ../gtk/gtkprintunixdialog.c:2216
msgid "Printer"
msgstr "Принтер"
#. Translators: this is the header for the location column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2157
+#: ../gtk/gtkprintunixdialog.c:2226
msgid "Location"
msgstr "Расположение"
#. Translators: this is the header for the printer status column in the print dialog
-#: ../gtk/gtkprintunixdialog.c:2168
+#: ../gtk/gtkprintunixdialog.c:2237
msgid "Status"
msgstr "Состояние"
-#: ../gtk/gtkprintunixdialog.c:2194
+#: ../gtk/gtkprintunixdialog.c:2263
msgid "Range"
msgstr "Диапазон"
-#: ../gtk/gtkprintunixdialog.c:2198
+#: ../gtk/gtkprintunixdialog.c:2267
msgid "_All Pages"
msgstr "_Все страницы"
-#: ../gtk/gtkprintunixdialog.c:2205
+#: ../gtk/gtkprintunixdialog.c:2274
msgid "C_urrent Page"
msgstr "_Текущую страницу"
-#: ../gtk/gtkprintunixdialog.c:2215
+#: ../gtk/gtkprintunixdialog.c:2284
msgid "Se_lection"
msgstr "_Выделенное"
-#: ../gtk/gtkprintunixdialog.c:2224
+#: ../gtk/gtkprintunixdialog.c:2293
msgid "Pag_es:"
msgstr "Страни_цы:"
-#: ../gtk/gtkprintunixdialog.c:2225
+#: ../gtk/gtkprintunixdialog.c:2294
msgid ""
"Specify one or more page ranges,\n"
" e.g. 1-3,7,11"
"Введите один или несколько диапазонов страниц,\n"
"например, 1-3,7,11"
-#: ../gtk/gtkprintunixdialog.c:2235
+#: ../gtk/gtkprintunixdialog.c:2304
msgid "Pages"
msgstr "Страницы"
-#: ../gtk/gtkprintunixdialog.c:2248
+#: ../gtk/gtkprintunixdialog.c:2317
msgid "Copies"
msgstr "Копии"
#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns
-#: ../gtk/gtkprintunixdialog.c:2253
+#: ../gtk/gtkprintunixdialog.c:2322
msgid "Copie_s:"
msgstr "_Копий:"
-#: ../gtk/gtkprintunixdialog.c:2271
+#: ../gtk/gtkprintunixdialog.c:2341
msgid "C_ollate"
msgstr "_Упорядочить"
-#: ../gtk/gtkprintunixdialog.c:2279
+#: ../gtk/gtkprintunixdialog.c:2349
msgid "_Reverse"
msgstr "_Наоборот"
-#: ../gtk/gtkprintunixdialog.c:2299
+#: ../gtk/gtkprintunixdialog.c:2369
msgid "General"
msgstr "Общие"
#. Translators: These strings name the possible arrangements of
#. * multiple pages on a sheet when printing
#.
-#: ../gtk/gtkprintunixdialog.c:3039
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, top to bottom"
msgstr "Слева направо, сверху вниз"
-#: ../gtk/gtkprintunixdialog.c:3039
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
msgid "Left to right, bottom to top"
msgstr "Слева направо, снизу вверх"
-#: ../gtk/gtkprintunixdialog.c:3040
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, top to bottom"
msgstr "Справа налево, сверху вниз"
-#: ../gtk/gtkprintunixdialog.c:3040
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
msgid "Right to left, bottom to top"
msgstr "Справа налево, снизу вверх"
-#: ../gtk/gtkprintunixdialog.c:3041
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, left to right"
msgstr "Сверху вниз, слева направо"
-#: ../gtk/gtkprintunixdialog.c:3041
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
msgid "Top to bottom, right to left"
msgstr "Сверху вниз, справа налево"
-#: ../gtk/gtkprintunixdialog.c:3042
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, left to right"
msgstr "Снизу вверх, слева направо"
-#: ../gtk/gtkprintunixdialog.c:3042
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
msgid "Bottom to top, right to left"
msgstr "Снизу вверх, справа налево"
#. Translators, this string is used to label the option in the print
#. * dialog that controls in what order multiple pages are arranged
#.
-#: ../gtk/gtkprintunixdialog.c:3046 ../gtk/gtkprintunixdialog.c:3059
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3570
+#: ../gtk/gtkprintunixdialog.c:3116 ../gtk/gtkprintunixdialog.c:3129
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3609
msgid "Page Ordering"
msgstr "Порядок страниц"
-#: ../gtk/gtkprintunixdialog.c:3075
+#: ../gtk/gtkprintunixdialog.c:3145
msgid "Left to right"
msgstr "Слева направо"
-#: ../gtk/gtkprintunixdialog.c:3076
+#: ../gtk/gtkprintunixdialog.c:3146
msgid "Right to left"
msgstr "Справа налево"
-#: ../gtk/gtkprintunixdialog.c:3088
+#: ../gtk/gtkprintunixdialog.c:3158
msgid "Top to bottom"
msgstr "Сверху вниз"
-#: ../gtk/gtkprintunixdialog.c:3089
+#: ../gtk/gtkprintunixdialog.c:3159
msgid "Bottom to top"
msgstr "Снизу вверх"
-#: ../gtk/gtkprintunixdialog.c:3329
+#: ../gtk/gtkprintunixdialog.c:3399
msgid "Layout"
msgstr "Размещение"
-#: ../gtk/gtkprintunixdialog.c:3333
+#: ../gtk/gtkprintunixdialog.c:3403
msgid "T_wo-sided:"
msgstr "Двухсторонняя:"
-#: ../gtk/gtkprintunixdialog.c:3348
+#: ../gtk/gtkprintunixdialog.c:3419
msgid "Pages per _side:"
msgstr "Страниц на _сторону:"
-#: ../gtk/gtkprintunixdialog.c:3365
+#: ../gtk/gtkprintunixdialog.c:3437
msgid "Page or_dering:"
msgstr "Порядок ст_раниц:"
-#: ../gtk/gtkprintunixdialog.c:3381
+#: ../gtk/gtkprintunixdialog.c:3454
msgid "_Only print:"
msgstr "Печатать т_олько:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3396
+#: ../gtk/gtkprintunixdialog.c:3470
msgid "All sheets"
msgstr "Все листы"
-#: ../gtk/gtkprintunixdialog.c:3397
+#: ../gtk/gtkprintunixdialog.c:3471
msgid "Even sheets"
msgstr "Чётные листы"
-#: ../gtk/gtkprintunixdialog.c:3398
+#: ../gtk/gtkprintunixdialog.c:3472
msgid "Odd sheets"
msgstr "Нечётные листы"
-#: ../gtk/gtkprintunixdialog.c:3401
+#: ../gtk/gtkprintunixdialog.c:3475
msgid "Sc_ale:"
msgstr "_Масштаб:"
-#: ../gtk/gtkprintunixdialog.c:3428
+#: ../gtk/gtkprintunixdialog.c:3503
msgid "Paper"
msgstr "Бумага"
-#: ../gtk/gtkprintunixdialog.c:3432
+#: ../gtk/gtkprintunixdialog.c:3507
msgid "Paper _type:"
msgstr "_Тип бумаги:"
-#: ../gtk/gtkprintunixdialog.c:3447
+#: ../gtk/gtkprintunixdialog.c:3523
msgid "Paper _source:"
msgstr "_Источник бумаги:"
-#: ../gtk/gtkprintunixdialog.c:3462
+#: ../gtk/gtkprintunixdialog.c:3539
msgid "Output t_ray:"
msgstr "Выходной лоток:"
-#: ../gtk/gtkprintunixdialog.c:3502
+#: ../gtk/gtkprintunixdialog.c:3581
msgid "Or_ientation:"
msgstr "_Ориентация:"
#. In enum order
-#: ../gtk/gtkprintunixdialog.c:3517
+#: ../gtk/gtkprintunixdialog.c:3597
msgid "Portrait"
msgstr "Портретная"
-#: ../gtk/gtkprintunixdialog.c:3518
+#: ../gtk/gtkprintunixdialog.c:3598
msgid "Landscape"
msgstr "Ландшафтная"
-#: ../gtk/gtkprintunixdialog.c:3519
+#: ../gtk/gtkprintunixdialog.c:3599
msgid "Reverse portrait"
msgstr "Портретная развернутая"
-#: ../gtk/gtkprintunixdialog.c:3520
+#: ../gtk/gtkprintunixdialog.c:3600
msgid "Reverse landscape"
msgstr "Пейзажная обратная"
-#: ../gtk/gtkprintunixdialog.c:3565
+#: ../gtk/gtkprintunixdialog.c:3645
msgid "Job Details"
msgstr "Сведения о задании"
-#: ../gtk/gtkprintunixdialog.c:3571
+#: ../gtk/gtkprintunixdialog.c:3651
msgid "Pri_ority:"
msgstr "При_оритет:"
-#: ../gtk/gtkprintunixdialog.c:3586
+#: ../gtk/gtkprintunixdialog.c:3667
msgid "_Billing info:"
msgstr "_Расположение:"
-#: ../gtk/gtkprintunixdialog.c:3604
+#: ../gtk/gtkprintunixdialog.c:3686
msgid "Print Document"
msgstr "Печатать документ"
#. Translators: this is one of the choices for the print at option
#. * in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3613
+#: ../gtk/gtkprintunixdialog.c:3695
msgid "_Now"
msgstr "_Сейчас"
-#: ../gtk/gtkprintunixdialog.c:3624
+#: ../gtk/gtkprintunixdialog.c:3706
msgid "A_t:"
msgstr "_В:"
#. * You can remove the am/pm values below for your locale if they are not
#. * supported.
#.
-#: ../gtk/gtkprintunixdialog.c:3630
+#: ../gtk/gtkprintunixdialog.c:3712
msgid ""
"Specify the time of print,\n"
" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
"Задайте время печати,\n"
" например, 15:30, 14:15:20, 7:20"
-#: ../gtk/gtkprintunixdialog.c:3640
+#: ../gtk/gtkprintunixdialog.c:3722
msgid "Time of print"
msgstr "Время печати"
-#: ../gtk/gtkprintunixdialog.c:3656
+#: ../gtk/gtkprintunixdialog.c:3738
msgid "On _hold"
msgstr "О_жидание"
-#: ../gtk/gtkprintunixdialog.c:3657
+#: ../gtk/gtkprintunixdialog.c:3739
msgid "Hold the job until it is explicitly released"
msgstr "Задержать задание до дополнительной команды"
-#: ../gtk/gtkprintunixdialog.c:3677
+#: ../gtk/gtkprintunixdialog.c:3759
msgid "Add Cover Page"
msgstr "Добавить титульный лист"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3686
+#: ../gtk/gtkprintunixdialog.c:3768
msgid "Be_fore:"
msgstr "_До:"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: ../gtk/gtkprintunixdialog.c:3704
+#: ../gtk/gtkprintunixdialog.c:3787
msgid "_After:"
msgstr "_После:"
#. Translators: this is the tab label for the notebook tab containing
#. * job-specific options in the print dialog
#.
-#: ../gtk/gtkprintunixdialog.c:3722
+#: ../gtk/gtkprintunixdialog.c:3806
msgid "Job"
msgstr "Задание"
-#: ../gtk/gtkprintunixdialog.c:3788
+#: ../gtk/gtkprintunixdialog.c:3872
msgid "Advanced"
msgstr "Дополнительно"
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3826
+#: ../gtk/gtkprintunixdialog.c:3910
msgid "Image Quality"
msgstr "Качество изображения"
#. Translators: this will appear as tab label in print dialog.
-#: ../gtk/gtkprintunixdialog.c:3830
+#: ../gtk/gtkprintunixdialog.c:3914
msgid "Color"
msgstr "Цвет"
#. Translators: this will appear as tab label in print dialog.
#. It's a typographical term, as in "Binding and finishing"
-#: ../gtk/gtkprintunixdialog.c:3835
+#: ../gtk/gtkprintunixdialog.c:3919
msgid "Finishing"
msgstr "Завершение"
-#: ../gtk/gtkprintunixdialog.c:3845
+#: ../gtk/gtkprintunixdialog.c:3929
msgid "Some of the settings in the dialog conflict"
msgstr "Некоторые параметры в диалоге конфликтуют"
-#: ../gtk/gtkprintunixdialog.c:3868
+#: ../gtk/gtkprintunixdialog.c:3952
msgid "Print"
msgstr "Печать"
-#: ../gtk/gtkrc.c:948
-#, c-format
-msgid "Unable to locate image file in pixmap_path: \"%s\""
-msgstr "Файл с изображением не найден в pixmap_path: «%s»"
-
-#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173
-#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616
-#, c-format
-msgid "This function is not implemented for widgets of class '%s'"
-msgstr "Эта функция не реализована для виджета класса «%s»"
-
-#: ../gtk/gtkrecentchooserdefault.c:483
+#: ../gtk/gtkrecentchooserdefault.c:485
msgid "Select which type of documents are shown"
msgstr "Выберите типы отображаемых документов"
-#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174
+#: ../gtk/gtkrecentchooserdefault.c:1142 ../gtk/gtkrecentchooserdefault.c:1179
#, c-format
msgid "No item for URI '%s' found"
msgstr "Не найден элемент для URI «%s»"
-#: ../gtk/gtkrecentchooserdefault.c:1301
+#: ../gtk/gtkrecentchooserdefault.c:1306
msgid "Untitled filter"
msgstr "Неозаглавленный фильтр"
-#: ../gtk/gtkrecentchooserdefault.c:1654
+#: ../gtk/gtkrecentchooserdefault.c:1659
msgid "Could not remove item"
msgstr "Не удалось удалить элемент"
-#: ../gtk/gtkrecentchooserdefault.c:1698
+#: ../gtk/gtkrecentchooserdefault.c:1703
msgid "Could not clear list"
msgstr "Не удалось очистить список"
-#: ../gtk/gtkrecentchooserdefault.c:1782
+#: ../gtk/gtkrecentchooserdefault.c:1787
msgid "Copy _Location"
msgstr "Копировать _адрес"
-#: ../gtk/gtkrecentchooserdefault.c:1795
+#: ../gtk/gtkrecentchooserdefault.c:1800
msgid "_Remove From List"
msgstr "_Удалить из списка"
-#: ../gtk/gtkrecentchooserdefault.c:1804
+#: ../gtk/gtkrecentchooserdefault.c:1809
msgid "_Clear List"
msgstr "О_чистить список"
-#: ../gtk/gtkrecentchooserdefault.c:1818
+#: ../gtk/gtkrecentchooserdefault.c:1823
msgid "Show _Private Resources"
msgstr "_Показать личные ресурсы"
msgid "%d. %s"
msgstr "%d. %s"
-#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013
-#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160
-#: ../gtk/gtkrecentmanager.c:1212 ../gtk/gtkrecentmanager.c:1221
-#: ../gtk/gtkrecentmanager.c:1236
+#: ../gtk/gtkrecentmanager.c:1006 ../gtk/gtkrecentmanager.c:1019
+#: ../gtk/gtkrecentmanager.c:1156 ../gtk/gtkrecentmanager.c:1166
+#: ../gtk/gtkrecentmanager.c:1218 ../gtk/gtkrecentmanager.c:1227
+#: ../gtk/gtkrecentmanager.c:1242
#, c-format
msgid "Unable to find an item with URI '%s'"
msgstr "Не удалось найти элемент с URI «%s»"
-#: ../gtk/gtkrecentmanager.c:2436
+#: ../gtk/gtkrecentmanager.c:2442
#, c-format
msgid "No registered application with name '%s' for item with URI '%s' found"
msgstr ""
"Отсутствует зарегистрированное приложение с именем «%s» для элемента с "
"найденным URI «%s»"
-#: ../gtk/gtkspinner.c:287
-msgctxt "throbbing progress animation widget"
-msgid "Spinner"
-msgstr "Вертушка"
-
-#: ../gtk/gtkspinner.c:288
-msgid "Provides visual indication of progress"
-msgstr "Наглядно отображает ход работы"
-
#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
#: ../gtk/gtkstock.c:313
msgctxt "Stock label"
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
#. * the state
#.
-#: ../gtk/gtkswitch.c:313 ../gtk/gtkswitch.c:362 ../gtk/gtkswitch.c:553
+#: ../gtk/gtkswitch.c:335 ../gtk/gtkswitch.c:395 ../gtk/gtkswitch.c:602
msgctxt "switch"
msgid "ON"
msgstr "❙"
#. Translators: if the "off" state label requires more than three
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
#.
-#: ../gtk/gtkswitch.c:321 ../gtk/gtkswitch.c:363 ../gtk/gtkswitch.c:569
+#: ../gtk/gtkswitch.c:343 ../gtk/gtkswitch.c:396 ../gtk/gtkswitch.c:631
msgctxt "switch"
msgid "OFF"
msgstr "○"
-#: ../gtk/gtkswitch.c:995
-msgctxt "light switch widget"
-msgid "Switch"
-msgstr "Выключатель"
-
-#: ../gtk/gtkswitch.c:996
-msgid "Switches between on and off states"
-msgstr "Переключает между состояниями вкл и выкл"
-
#: ../gtk/gtktextbufferrichtext.c:651
#, c-format
msgid "Unknown error when trying to deserialize %s"
msgid "ZWNJ Zero width _non-joiner"
msgstr "ZWNJ Нулевой ра_зъединитель"
-#: ../gtk/gtkuimanager.c:1506
+#: ../gtk/gtkuimanager.c:1760
#, c-format
msgid "Unexpected start tag '%s' on line %d char %d"
msgstr "Начальный тег «%s» является непредвиденным (строка %d, символ %d)"
-#: ../gtk/gtkuimanager.c:1596
+#: ../gtk/gtkuimanager.c:1850
#, c-format
msgid "Unexpected character data on line %d char %d"
msgstr "Непредвиденные символьные данные (строка %d, символ %d)"
-#: ../gtk/gtkuimanager.c:2428
+#: ../gtk/gtkuimanager.c:2682
msgid "Empty"
msgstr "Пусто"
msgid "ROC 8k"
msgstr "ROC 8k"
-#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552
-#, c-format
-msgid "different idatas found for symlinked '%s' and '%s'\n"
-msgstr "различные идентификаторы найдены в связанных ссылкой '%s' и '%s'\n"
-
#: ../gtk/updateiconcache.c:1370
#, c-format
msgid "Failed to write header\n"
msgid "X Input Method"
msgstr "Метод X Input"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:814
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:828
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1038
msgid "Username:"
msgstr "Имя пользователя:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:815
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:829
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1047
msgid "Password:"
msgstr "Пароль:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:854
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1060
#, c-format
msgid "Authentication is required to print document '%s' on printer %s"
msgstr ""
"Для печати документа %s на принтере %s требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:856
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:870
#, c-format
msgid "Authentication is required to print a document on %s"
msgstr "Для печати документа на принтере %s требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:860
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
#, c-format
msgid "Authentication is required to get attributes of job '%s'"
msgstr "Для получения параметров задания %s требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:862
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:876
msgid "Authentication is required to get attributes of a job"
msgstr "Для получения параметров задания требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:866
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:880
#, c-format
msgid "Authentication is required to get attributes of printer %s"
msgstr "Для получения параметров принтера %s требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:882
msgid "Authentication is required to get attributes of a printer"
msgstr "Для получения параметров принтера требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:871
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:885
#, c-format
msgid "Authentication is required to get default printer of %s"
msgstr ""
"Для получения принтера по умолчанию на %s требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:888
#, c-format
msgid "Authentication is required to get printers from %s"
msgstr "Для получения списка принтеров от %s требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:879
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:893
#, c-format
msgid "Authentication is required to get a file from %s"
msgstr "Для получения файла из %s требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:881
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:895
#, c-format
msgid "Authentication is required on %s"
msgstr "Для доступа к %s нужно ввести пароль"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1032
msgid "Domain:"
msgstr "Домен:"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1062
#, c-format
msgid "Authentication is required to print document '%s'"
msgstr ""
"Для печати документа на принтере '%s' требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1067
#, c-format
msgid "Authentication is required to print this document on printer %s"
msgstr "Для печати документа на принтере %s требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1069
msgid "Authentication is required to print this document"
msgstr ""
"Для печати этого документа на принтере требуется проверить права доступа"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
#, c-format
msgid "Printer '%s' is low on toner."
msgstr "В принтере «%s» кончается тонер."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
#, c-format
msgid "Printer '%s' has no toner left."
msgstr "В принтере «%s» кончился тонер."
#. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1693
#, c-format
msgid "Printer '%s' is low on developer."
msgstr "В принтере «%s» кончается проявитель."
#. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1695
#, c-format
msgid "Printer '%s' is out of developer."
msgstr "В принтере «%s» кончился проявитель."
#. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1697
#, c-format
msgid "Printer '%s' is low on at least one marker supply."
msgstr "В принтере «%s» кончается один из тонеров."
#. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1699
#, c-format
msgid "Printer '%s' is out of at least one marker supply."
msgstr "В принтере «%s» кончился один из тонеров."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1700
#, c-format
msgid "The cover is open on printer '%s'."
msgstr "В принтере «%s» открыта крышка."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1701
#, c-format
msgid "The door is open on printer '%s'."
msgstr "В принтере «%s» открыта дверца."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1702
#, c-format
msgid "Printer '%s' is low on paper."
msgstr "В принтере «%s» кончается бумага."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1703
#, c-format
msgid "Printer '%s' is out of paper."
msgstr "В принтере «%s» кончилась бумага."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1704
#, c-format
msgid "Printer '%s' is currently offline."
msgstr "Принтер «%s» в данный момент отключён."
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1705
#, c-format
msgid "There is a problem on printer '%s'."
msgstr "Проблема с принтером «%s»."
#. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2019
msgid "Paused ; Rejecting Jobs"
msgstr "Приостановлено ; отмена заданий"
#. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2025
msgid "Rejecting Jobs"
msgstr "Отмена заданий"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
msgid "Two Sided"
msgstr "С двух сторон"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799
msgid "Paper Type"
msgstr "Тип бумаги"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
msgid "Paper Source"
msgstr "Источник бумаги"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801
msgid "Output Tray"
msgstr "Лоток вывода"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
msgid "Resolution"
msgstr "Разрешение"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803
msgid "GhostScript pre-filtering"
msgstr "Фильтрация GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2792
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
msgid "One Sided"
msgstr "С одной стороны"
#. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2794
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
msgid "Long Edge (Standard)"
msgstr "По длинной стороне"
#. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2796
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
msgid "Short Edge (Flip)"
msgstr "По короткой стороне"
#. Translators: this is an option of "Paper Source"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2808
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2820
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2828
msgid "Auto Select"
msgstr "Автовыбор"
#. Translators: this is an option of "Paper Source"
#. Translators: this is an option of "Resolution"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2804
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2806
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2810
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3306
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2822
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2824
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3326
msgid "Printer Default"
msgstr "Умолчания принтера"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2832
msgid "Embed GhostScript fonts only"
msgstr "Встраивать только шрифты GhostScript"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2834
msgid "Convert to PS level 1"
msgstr "Преобразовать в формат PS уровень 1"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2836
msgid "Convert to PS level 2"
msgstr "Преобразовать в формат PS уровень 2"
#. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2838
msgid "No pre-filtering"
msgstr "Не фильтровать перед печатью"
#. 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:2827
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2847
msgid "Miscellaneous"
msgstr "Дополнительно"
#. Translators: These strings name the possible values of the
#. * job priority option in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Urgent"
msgstr "Срочно"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "High"
msgstr "Высокий"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Medium"
msgstr "Средний"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
msgid "Low"
msgstr "Низкий"
#. Translators, this string is used to label the pages-per-sheet option
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3554
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3593
msgid "Pages per Sheet"
msgstr "Страниц на лист"
#. Translators, this string is used to label the job priority option
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3591
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3630
msgid "Job Priority"
msgstr "Приоритет"
#. Translators, this string is used to label the billing info entry
#. * in the print dialog
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3602
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3641
msgid "Billing Info"
msgstr "Расположение"
#. Translators, these strings are names for various 'standard' cover
#. * pages that the printing system may support.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "None"
msgstr "Нет"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Classified"
msgstr "Классифицировано"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Confidential"
msgstr "Конфиденциально"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Secret"
msgstr "Секретно"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Standard"
msgstr "Стандарт"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Top Secret"
msgstr "Совершенно секретно"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
msgid "Unclassified"
msgstr "Не классифицировано"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the front cover page.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3652
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3691
msgid "Before"
msgstr "До"
#. Translators, this is the label used for the option in the print
#. * dialog that controls the back cover page.
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3667
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706
msgid "After"
msgstr "После"
#. * a print job is printed. Possible values are 'now', a specified time,
#. * or 'on hold'
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3726
msgid "Print at"
msgstr "Время"
#. 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:3698
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
msgid "Print at time"
msgstr "Время начала печати"
#. * size. The two placeholders are replaced with the width and height
#. * in points. E.g: "Custom 230.4x142.9"
#.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3733
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3772
#, c-format
msgid "Custom %sx%s"
msgstr "Особый %sx%s"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3853
+msgid "Printer Profile"
+msgstr "Профиль принтера"
+
+#. TRANSLATORS: this is when color profile information is unavailable
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3860
+msgid "Unavailable"
+msgstr "Недоступно"
+
+#. TRANSLATORS: when we're running an old CUPS, and
+#. * it hasn't registered the device with colord
+#: ../modules/printbackends/cups/gtkprintercups.c:222
+msgid "Color management unavailable"
+msgstr "Управление цветом недоступно"
+
+#. TRANSLATORS: when there is no color profile available
+#: ../modules/printbackends/cups/gtkprintercups.c:234
+msgid "No profile available"
+msgstr "Профиль недоступен"
+
+#. TRANSLATORS: when the color profile has no title
+#: ../modules/printbackends/cups/gtkprintercups.c:245
+msgid "Unspecified profile"
+msgstr "Профиль не задан"
+
#. default filename used for print-to-file
#: ../modules/printbackends/file/gtkprintbackendfile.c:250
#, c-format
msgstr ""
"Project-Id-Version: gtk+ master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2011-06-14 02:37+0000\n"
-"PO-Revision-Date: 2011-06-14 08:48+0100\n"
+"POT-Creation-Date: 2011-07-19 11:22+0000\n"
+"PO-Revision-Date: 2011-07-19 21:55+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
"X-Poedit-Country: SLOVENIA\n"
"X-Poedit-SourceCharset: iso-8859-1\n"
#. Placeholder in --gtk-no-debug=FLAGS in --help output
#: ../gdk/gdk.c:194
#: ../gdk/gdk.c:197
-#: ../gtk/gtkmain.c:570
-#: ../gtk/gtkmain.c:573
+#: ../gtk/gtkmain.c:569
+#: ../gtk/gtkmain.c:572
msgid "FLAGS"
msgstr "ZASTAVICE"
msgstr[2] "Odpiranje %d predmetov"
msgstr[3] "Odpiranje %d predmetov"
+#: ../gtk/a11y/gtkspinneraccessible.c:42
+msgctxt "throbbing progress animation widget"
+msgid "Spinner"
+msgstr "Vrtavka"
+
+#: ../gtk/a11y/gtkspinneraccessible.c:43
+msgid "Provides visual indication of progress"
+msgstr "Omogoča grafični prikaz napredka"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:65
+msgctxt "light switch widget"
+msgid "Switch"
+msgstr "Preklopi"
+
+#: ../gtk/a11y/gtkswitchaccessible.c:66
+msgid "Switches between on and off states"
+msgstr "Preklaplja med stanji 'vključeno' in 'izključeno'"
+
#. Translators: this is the license preamble; the string at the end
#. * contains the URL of the license.
#.
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:156
+#: ../gtk/gtkaccellabel.c:158
msgctxt "keyboard label"
msgid "Shift"
msgstr "Shift"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:162
+#: ../gtk/gtkaccellabel.c:164
msgctxt "keyboard label"
msgid "Ctrl"
msgstr "Ctrl"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:168
+#: ../gtk/gtkaccellabel.c:170
msgctxt "keyboard label"
msgid "Alt"
msgstr "Alt"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:787
+#: ../gtk/gtkaccellabel.c:789
msgctxt "keyboard label"
msgid "Super"
msgstr "Super"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:800
+#: ../gtk/gtkaccellabel.c:802
msgctxt "keyboard label"
msgid "Hyper"
msgstr "Hiper"
#. * translated on keyboards used for your language, don't translate
#. * this.
#.
-#: ../gtk/gtkaccellabel.c:814
+#: ../gtk/gtkaccellabel.c:816
msgctxt "keyboard label"
msgid "Meta"
msgstr "Meta"
-#: ../gtk/gtkaccellabel.c:830
+#: ../gtk/gtkaccellabel.c:832
msgctxt "keyboard label"
msgid "Space"
msgstr "Preslednica"
-#: ../gtk/gtkaccellabel.c:833
+#: ../gtk/gtkaccellabel.c:835
msgctxt "keyboard label"
msgid "Backslash"
msgstr "Leva poševnica"
msgid "Other Applications"
msgstr "Drugi programi"
-#: ../gtk/gtkassistant.c:919
+#: ../gtk/gtkassistant.c:999
msgid "C_ontinue"
msgstr "_Nadaljuj"
-#: ../gtk/gtkassistant.c:922
+#: ../gtk/gtkassistant.c:1002
msgid "Go _Back"
msgstr "Vrni _nazaj"
-#: ../gtk/gtkassistant.c:926
+#: ../gtk/gtkassistant.c:1006
msgid "_Finish"
msgstr "_Končaj"
#. * text direction of RTL and specify "calendar:YM", then the year
#. * will appear to the right of the month.
#.
-#: ../gtk/gtkcalendar.c:870
+#: ../gtk/gtkcalendar.c:873
msgid "calendar:MY"
msgstr "calendar:MY"
#. * first day of the week to calendar:week_start:1 if you want Monday
#. * to be the first day of the week, and so on.
#.
-#: ../gtk/gtkcalendar.c:908
+#: ../gtk/gtkcalendar.c:911
msgid "calendar:week_start:0"
msgstr "calendar:week_start:0"
#. *
#. * If you don't understand this, leave it as "2000"
#.
-#: ../gtk/gtkcalendar.c:1909
+#: ../gtk/gtkcalendar.c:1912
msgctxt "year measurement template"
msgid "2000"
msgstr "2000"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1940
-#: ../gtk/gtkcalendar.c:2637
+#: ../gtk/gtkcalendar.c:1943
+#: ../gtk/gtkcalendar.c:2640
#, c-format
msgctxt "calendar:day:digits"
msgid "%d"
#. * digits. That needs support from your system and locale definition
#. * too.
#.
-#: ../gtk/gtkcalendar.c:1972
-#: ../gtk/gtkcalendar.c:2498
+#: ../gtk/gtkcalendar.c:1975
+#: ../gtk/gtkcalendar.c:2501
#, c-format
msgctxt "calendar:week:digits"
msgid "%d"
#. *
#. * "%Y" is appropriate for most locales.
#.
-#: ../gtk/gtkcalendar.c:2267
+#: ../gtk/gtkcalendar.c:2270
msgctxt "calendar year format"
msgid "%Y"
msgstr "%Y"
msgid "Pick a Color"
msgstr "Izberite barvo"
-#: ../gtk/gtkcolorsel.c:417
+#: ../gtk/gtkcolorsel.c:416
msgid "Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle."
msgstr "Iz zunanjega obroča izberite željeno barvo. Izberite temnost ali svetlost te barve z uporabno notranjega trikotnika."
-#: ../gtk/gtkcolorsel.c:443
+#: ../gtk/gtkcolorsel.c:442
msgid "Click the eyedropper, then click a color anywhere on your screen to select that color."
msgstr "Kliknite na kapalko, nato kjerkoli na zaslon za izbiro tiste barve."
-#: ../gtk/gtkcolorsel.c:453
+#: ../gtk/gtkcolorsel.c:452
msgid "_Hue:"
msgstr "_Odtenek:"
-#: ../gtk/gtkcolorsel.c:454
+#: ../gtk/gtkcolorsel.c:453
msgid "Position on the color wheel."
msgstr "Položaj na barvnem krogu."
-#: ../gtk/gtkcolorsel.c:456
+#: ../gtk/gtkcolorsel.c:455
msgid "_Saturation:"
msgstr "_Nasičenost:"
-#: ../gtk/gtkcolorsel.c:457
+#: ../gtk/gtkcolorsel.c:456
msgid "Intensity of the color."
msgstr "Jakost barve."
-#: ../gtk/gtkcolorsel.c:458
+#: ../gtk/gtkcolorsel.c:457
msgid "_Value:"
msgstr "_Vrednost:"
-#: ../gtk/gtkcolorsel.c:459
+#: ../gtk/gtkcolorsel.c:458
msgid "Brightness of the color."
msgstr "Svetlost barve."
-#: ../gtk/gtkcolorsel.c:460
+#: ../gtk/gtkcolorsel.c:459
msgid "_Red:"
msgstr "_Rdeča:"
-#: ../gtk/gtkcolorsel.c:461
+#: ../gtk/gtkcolorsel.c:460
msgid "Amount of red light in the color."
msgstr "Količina rdeče luči v barvi."
-#: ../gtk/gtkcolorsel.c:462
+#: ../gtk/gtkcolorsel.c:461
msgid "_Green:"
msgstr "_Zelena:"
-#: ../gtk/gtkcolorsel.c:463
+#: ../gtk/gtkcolorsel.c:462
msgid "Amount of green light in the color."
msgstr "Količina zelene luči v barvi."
-#: ../gtk/gtkcolorsel.c:464
+#: ../gtk/gtkcolorsel.c:463
msgid "_Blue:"
msgstr "_Modra:"
-#: ../gtk/gtkcolorsel.c:465
+#: ../gtk/gtkcolorsel.c:464
msgid "Amount of blue light in the color."
msgstr "Količina modre luči v barvi."
-#: ../gtk/gtkcolorsel.c:468
+#: ../gtk/gtkcolorsel.c:467
msgid "Op_acity:"
msgstr "_Prosojnost:"
-#: ../gtk/gtkcolorsel.c:476
-#: ../gtk/gtkcolorsel.c:486
+#: ../gtk/gtkcolorsel.c:475
+#: ../gtk/gtkcolorsel.c:485
msgid "Transparency of the color."
msgstr "Prosojnost barve."
-#: ../gtk/gtkcolorsel.c:493
+#: ../gtk/gtkcolorsel.c:492
msgid "Color _name:"
msgstr "_Ime barve:"
-#: ../gtk/gtkcolorsel.c:508
+#: ../gtk/gtkcolorsel.c:507
msgid "You can enter an HTML-style hexadecimal color value, or simply a color name such as 'orange' in this entry."
msgstr "V tem vnosu lahko vpišete šestnajstiško vrednost barve (kot v HTML) ali enostavno ime barve (na primer 'orange')."
-#: ../gtk/gtkcolorsel.c:540
+#: ../gtk/gtkcolorsel.c:539
msgid "_Palette:"
msgstr "_Paleta:"
-#: ../gtk/gtkcolorsel.c:570
+#: ../gtk/gtkcolorsel.c:569
msgid "Color Wheel"
msgstr "Barvni krog"
-#: ../gtk/gtkcolorsel.c:1043
+#: ../gtk/gtkcolorsel.c:1042
msgid "The previously-selected color, for comparison to the color you're selecting now. You can drag this color to a palette entry, or select this color as current by dragging it to the other color swatch alongside."
msgstr "Predhodno izbrana barva za primerjavo s trenutno izbrano barvo. To barvo lahko povlečete do vnosa v paleti ali jo izberete barvo kot trenutno z vlečenjem na drug vzorec."
-#: ../gtk/gtkcolorsel.c:1049
+#: ../gtk/gtkcolorsel.c:1048
msgid "The color you've chosen. You can drag this color to a palette entry to save it for use in the future."
msgstr "Trenutno izbrana barva. To barvo lahko povlečete do vnosa v paleti za kasnejšo uporabo."
-#: ../gtk/gtkcolorsel.c:1055
+#: ../gtk/gtkcolorsel.c:1054
msgid "The previously-selected color, for comparison to the color you're selecting now."
msgstr "Predhodno izbrana barva za primerjavo s trenutno izbrano barvo."
-#: ../gtk/gtkcolorsel.c:1059
+#: ../gtk/gtkcolorsel.c:1058
msgid "The color you've chosen."
msgstr "Izbrana barva."
-#: ../gtk/gtkcolorsel.c:1461
+#: ../gtk/gtkcolorsel.c:1460
msgid "_Save color here"
msgstr "_Shrani barvo sem"
-#: ../gtk/gtkcolorsel.c:1666
+#: ../gtk/gtkcolorsel.c:1665
msgid "Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select \"Save color here.\""
msgstr "Kliknite na ta vnos palete, da postane trenutna barva. Za spremembo tega vnosa potegnite sem drugo barvo ali kliknite z desnim gumbom in izberite \"Shrani barvo sem.\""
-#: ../gtk/gtkcolorseldialog.c:213
+#: ../gtk/gtkcolorseldialog.c:217
msgid "Color Selection"
msgstr "Izbira barve"
msgid "Paper Margins"
msgstr "Robovi papirja"
-#: ../gtk/gtkentry.c:8928
-#: ../gtk/gtktextview.c:8272
+#: ../gtk/gtkentry.c:8949
+#: ../gtk/gtktextview.c:8277
msgid "Input _Methods"
msgstr "Načini _vnosa"
-#: ../gtk/gtkentry.c:8942
-#: ../gtk/gtktextview.c:8286
+#: ../gtk/gtkentry.c:8963
+#: ../gtk/gtktextview.c:8291
msgid "_Insert Unicode Control Character"
msgstr "_Vstavi nadzorni znak Unicode"
-#: ../gtk/gtkentry.c:10413
+#: ../gtk/gtkentry.c:10434
msgid "Caps Lock and Num Lock are on"
msgstr "Tipki Caps Lock in Num Lock sta vključeni"
-#: ../gtk/gtkentry.c:10415
+#: ../gtk/gtkentry.c:10436
msgid "Num Lock is on"
msgstr "Tipka Num Lock je vključena"
-#: ../gtk/gtkentry.c:10417
+#: ../gtk/gtkentry.c:10438
msgid "Caps Lock is on"
msgstr "Tipka Caps Lock je vključena"
msgstr "Izberite datoteko"
#: ../gtk/gtkfilechooserbutton.c:106
-#: ../gtk/gtkfilechooserdefault.c:1871
+#: ../gtk/gtkfilechooserdefault.c:1811
msgid "Desktop"
msgstr "Namizje"
msgid "Other..."
msgstr "Drugo ..."
-#: ../gtk/gtkfilechooserdefault.c:147
+#: ../gtk/gtkfilechooserdefault.c:148
msgid "Type name of new folder"
msgstr "Vnesite ime nove mape"
-#: ../gtk/gtkfilechooserdefault.c:965
+#: ../gtk/gtkfilechooserdefault.c:962
msgid "Could not retrieve information about the file"
msgstr "Podatkov o datoteki ni mogoče pridobiti"
-#: ../gtk/gtkfilechooserdefault.c:976
+#: ../gtk/gtkfilechooserdefault.c:973
msgid "Could not add a bookmark"
msgstr "Zaznamka ni mogoče dodati"
-#: ../gtk/gtkfilechooserdefault.c:987
+#: ../gtk/gtkfilechooserdefault.c:984
msgid "Could not remove bookmark"
msgstr "Zaznamka ni mogoče odstraniti"
-#: ../gtk/gtkfilechooserdefault.c:998
+#: ../gtk/gtkfilechooserdefault.c:995
msgid "The folder could not be created"
msgstr "Mape ni mogoče ustvariti"
-#: ../gtk/gtkfilechooserdefault.c:1011
+#: ../gtk/gtkfilechooserdefault.c:1008
msgid "The folder could not be created, as a file with the same name already exists. Try using a different name for the folder, or rename the file first."
msgstr "Mape ni mogoče ustvariti, saj že obstaja datoteka z enakim imenom. Uporabite drugo ime ali pa najprej preimenujte datoteko."
-#: ../gtk/gtkfilechooserdefault.c:1025
+#: ../gtk/gtkfilechooserdefault.c:1022
msgid "You need to choose a valid filename."
msgstr "Izbrati morate veljavno ime datoteke."
-#: ../gtk/gtkfilechooserdefault.c:1028
+#: ../gtk/gtkfilechooserdefault.c:1025
#, c-format
msgid "Cannot create a file under %s as it is not a folder"
msgstr "Datoteke pod %s ni mogoče ustvariti, ker ni mapa"
-#: ../gtk/gtkfilechooserdefault.c:1040
+#: ../gtk/gtkfilechooserdefault.c:1037
msgid "You may only select folders. The item that you selected is not a folder; try using a different item."
msgstr "Izbrati je mogoče le mape, kar pa izbran predmet ni. Izberite drug predmet."
-#: ../gtk/gtkfilechooserdefault.c:1050
+#: ../gtk/gtkfilechooserdefault.c:1047
msgid "Invalid file name"
msgstr "Neveljavno ime datoteke"
-#: ../gtk/gtkfilechooserdefault.c:1060
+#: ../gtk/gtkfilechooserdefault.c:1057
msgid "The folder contents could not be displayed"
msgstr "Vsebine mape ni mogoče prikazati"
#. * is a hostname. Nautilus and the panel contain the same string
#. * to translate.
#.
-#: ../gtk/gtkfilechooserdefault.c:1614
+#: ../gtk/gtkfilechooserdefault.c:1583
#, c-format
msgid "%1$s on %2$s"
msgstr "%1$s na %2$s"
-#: ../gtk/gtkfilechooserdefault.c:1790
+#: ../gtk/gtkfilechooserdefault.c:1732
msgid "Search"
msgstr "Poišči"
-#: ../gtk/gtkfilechooserdefault.c:1814
-#: ../gtk/gtkfilechooserdefault.c:9539
+#: ../gtk/gtkfilechooserdefault.c:1756
+#: ../gtk/gtkfilechooserdefault.c:4873
msgid "Recently Used"
msgstr "Nedavno uporabljeno"
-#: ../gtk/gtkfilechooserdefault.c:2470
+#: ../gtk/gtkfilechooserdefault.c:2355
msgid "Select which types of files are shown"
msgstr "Izberite, katere vrste datotek naj bodo prikazane"
-#: ../gtk/gtkfilechooserdefault.c:2829
+#: ../gtk/gtkfilechooserdefault.c:2714
#, c-format
msgid "Add the folder '%s' to the bookmarks"
msgstr "Dodaj mapo '%s' med zaznamke"
-#: ../gtk/gtkfilechooserdefault.c:2873
+#: ../gtk/gtkfilechooserdefault.c:2758
#, c-format
msgid "Add the current folder to the bookmarks"
msgstr "Dodaj trenutno mapo med zaznamke"
-#: ../gtk/gtkfilechooserdefault.c:2875
+#: ../gtk/gtkfilechooserdefault.c:2760
#, c-format
msgid "Add the selected folders to the bookmarks"
msgstr "Dodaj izbrane mape med zaznamke"
-#: ../gtk/gtkfilechooserdefault.c:2913
+#: ../gtk/gtkfilechooserdefault.c:2798
#, c-format
msgid "Remove the bookmark '%s'"
msgstr "Odstrani zaznamek '%s'"
-#: ../gtk/gtkfilechooserdefault.c:2915
+#: ../gtk/gtkfilechooserdefault.c:2800
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr "Zaznamka '%s' ni mogoče odstraniti"
-#: ../gtk/gtkfilechooserdefault.c:2922
-#: ../gtk/gtkfilechooserdefault.c:3807
+#: ../gtk/gtkfilechooserdefault.c:2807
+#: ../gtk/gtkfilechooserdefault.c:3692
msgid "Remove the selected bookmark"
msgstr "Odstrani izbrani zaznamek"
-#: ../gtk/gtkfilechooserdefault.c:3486
+#: ../gtk/gtkfilechooserdefault.c:3371
msgid "Remove"
msgstr "Odstrani"
-#: ../gtk/gtkfilechooserdefault.c:3495
+#: ../gtk/gtkfilechooserdefault.c:3380
msgid "Rename..."
msgstr "Preimenuj ..."
#. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3659
+#: ../gtk/gtkfilechooserdefault.c:3544
msgid "Places"
msgstr "Mesta"
#. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3716
+#: ../gtk/gtkfilechooserdefault.c:3601
msgid "_Places"
msgstr "_Mesta"
-#: ../gtk/gtkfilechooserdefault.c:3795
+#: ../gtk/gtkfilechooserdefault.c:3680
msgid "Add the selected folder to the Bookmarks"
msgstr "Dodaj izbrano mapo med zaznamke"
-#: ../gtk/gtkfilechooserdefault.c:3942
+#: ../gtk/gtkfilechooserdefault.c:3827
msgid "Could not select file"
msgstr "Datoteke ni mogoče izbrati"
-#: ../gtk/gtkfilechooserdefault.c:4115
+#: ../gtk/gtkfilechooserdefault.c:4000
msgid "_Add to Bookmarks"
msgstr "_Dodaj med zaznamke"
-#: ../gtk/gtkfilechooserdefault.c:4128
+#: ../gtk/gtkfilechooserdefault.c:4013
msgid "Show _Hidden Files"
msgstr "Pokaži _skrite datoteke"
-#: ../gtk/gtkfilechooserdefault.c:4135
+#: ../gtk/gtkfilechooserdefault.c:4020
msgid "Show _Size Column"
msgstr "Pokaži stolpec _velikosti"
-#: ../gtk/gtkfilechooserdefault.c:4360
+#: ../gtk/gtkfilechooserdefault.c:4245
msgid "Files"
msgstr "Datoteke"
-#: ../gtk/gtkfilechooserdefault.c:4411
+#: ../gtk/gtkfilechooserdefault.c:4296
msgid "Name"
msgstr "Ime"
-#: ../gtk/gtkfilechooserdefault.c:4434
+#: ../gtk/gtkfilechooserdefault.c:4319
msgid "Size"
msgstr "Velikost"
-#: ../gtk/gtkfilechooserdefault.c:4448
+#: ../gtk/gtkfilechooserdefault.c:4333
msgid "Modified"
msgstr "Spremenjeno"
#. Label
-#: ../gtk/gtkfilechooserdefault.c:4702
+#: ../gtk/gtkfilechooserdefault.c:4414
#: ../gtk/gtkprinteroptionwidget.c:799
msgid "_Name:"
msgstr "_Ime:"
-#. Expander
-#: ../gtk/gtkfilechooserdefault.c:4745
-msgid "_Browse for other folders"
-msgstr "_Brskaj za drugimi mapami"
-
-#: ../gtk/gtkfilechooserdefault.c:5018
+#: ../gtk/gtkfilechooserdefault.c:4711
msgid "Type a file name"
msgstr "Vnesite ime datoteke"
+#: ../gtk/gtkfilechooserdefault.c:4758
+#: ../gtk/gtkfilechooserdefault.c:4769
+msgid "Please select a folder below"
+msgstr "Izberite mapo s seznama map"
+
+#: ../gtk/gtkfilechooserdefault.c:4764
+msgid "Please type a file name"
+msgstr "Vnesite ime datoteke"
+
#. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5061
+#: ../gtk/gtkfilechooserdefault.c:4835
msgid "Create Fo_lder"
msgstr "Ustvari _mapo"
-#: ../gtk/gtkfilechooserdefault.c:5071
+#: ../gtk/gtkfilechooserdefault.c:4883
+msgid "Search:"
+msgstr "Poišči:"
+
+#: ../gtk/gtkfilechooserdefault.c:4930
msgid "_Location:"
msgstr "_Mesto:"
-#: ../gtk/gtkfilechooserdefault.c:5278
+#: ../gtk/gtkfilechooserdefault.c:5247
msgid "Save in _folder:"
msgstr "_Shrani v mapo:"
-#: ../gtk/gtkfilechooserdefault.c:5280
+#: ../gtk/gtkfilechooserdefault.c:5249
msgid "Create in _folder:"
msgstr "_Ustvari v mapi:"
-#: ../gtk/gtkfilechooserdefault.c:6402
+#: ../gtk/gtkfilechooserdefault.c:6343
#, c-format
msgid "Could not read the contents of %s"
msgstr "Vsebine %s ni mogoče prebrati"
-#: ../gtk/gtkfilechooserdefault.c:6406
+#: ../gtk/gtkfilechooserdefault.c:6347
msgid "Could not read the contents of the folder"
msgstr "Vsebine mape ni mogoče prebrati"
-#: ../gtk/gtkfilechooserdefault.c:6499
-#: ../gtk/gtkfilechooserdefault.c:6567
-#: ../gtk/gtkfilechooserdefault.c:6719
+#: ../gtk/gtkfilechooserdefault.c:6440
+#: ../gtk/gtkfilechooserdefault.c:6508
+#: ../gtk/gtkfilechooserdefault.c:6660
msgid "Unknown"
msgstr "Neznano"
-#: ../gtk/gtkfilechooserdefault.c:6514
+#: ../gtk/gtkfilechooserdefault.c:6455
msgid "%H:%M"
msgstr "%H:%M"
-#: ../gtk/gtkfilechooserdefault.c:6516
+#: ../gtk/gtkfilechooserdefault.c:6457
msgid "Yesterday at %H:%M"
msgstr "Včeraj ob %H:%M"
-#: ../gtk/gtkfilechooserdefault.c:7185
+#: ../gtk/gtkfilechooserdefault.c:7142
msgid "Cannot change to folder because it is not local"
msgstr "Mape ni mogoče spremeniti, ker ni krajevna"
-#: ../gtk/gtkfilechooserdefault.c:7777
-#: ../gtk/gtkfilechooserdefault.c:7798
+#: ../gtk/gtkfilechooserdefault.c:7742
+#: ../gtk/gtkfilechooserdefault.c:7763
#, c-format
msgid "Shortcut %s already exists"
msgstr "Bližnjica %s že obstaja"
-#: ../gtk/gtkfilechooserdefault.c:7888
+#: ../gtk/gtkfilechooserdefault.c:7853
#, c-format
msgid "Shortcut %s does not exist"
msgstr "Bližnjica %s ne obstaja"
-#: ../gtk/gtkfilechooserdefault.c:8146
+#: ../gtk/gtkfilechooserdefault.c:8099
#: ../gtk/gtkprintunixdialog.c:550
#, c-format
msgid "A file named \"%s\" already exists. Do you want to replace it?"
msgstr "Datoteka z imenom \"%s\" že obstaja. Ali jo želite zamenjati?"
-#: ../gtk/gtkfilechooserdefault.c:8149
+#: ../gtk/gtkfilechooserdefault.c:8102
#: ../gtk/gtkprintunixdialog.c:554
#, c-format
msgid "The file already exists in \"%s\". Replacing it will overwrite its contents."
msgstr "Datoteka že obstaja v \"%s\". Z zamenjavo bo njena vsebina izgubljena."
-#: ../gtk/gtkfilechooserdefault.c:8154
+#: ../gtk/gtkfilechooserdefault.c:8107
#: ../gtk/gtkprintunixdialog.c:561
msgid "_Replace"
msgstr "_Zamenjaj"
-#: ../gtk/gtkfilechooserdefault.c:8881
+#: ../gtk/gtkfilechooserdefault.c:8912
msgid "Could not start the search process"
msgstr "Postopka iskanja ni mogoče začeti"
-#: ../gtk/gtkfilechooserdefault.c:8882
+#: ../gtk/gtkfilechooserdefault.c:8913
msgid "The program was not able to create a connection to the indexer daemon. Please make sure it is running."
msgstr "Povezave z ozadnjim programom za ustvarjanje kazala ni mogoče ustvariti. Preverite, če je le-ta zagnan."
-#: ../gtk/gtkfilechooserdefault.c:8896
+#: ../gtk/gtkfilechooserdefault.c:8927
msgid "Could not send the search request"
msgstr "Zahteve po iskanju ni mogoče poslati"
-#: ../gtk/gtkfilechooserdefault.c:9115
-msgid "Search:"
-msgstr "Poišči:"
-
-#: ../gtk/gtkfilechooserdefault.c:9723
+#: ../gtk/gtkfilechooserdefault.c:9719
#, c-format
msgid "Could not mount %s"
msgstr "%s ni mogoče priklopiti"
#. * chooser's text entry, when the user enters an invalid path.
#: ../gtk/gtkfilechooserentry.c:702
#: ../gtk/gtkfilechooserentry.c:1174
+#: ../gtk/gtkfilesystem.c:721
+#, c-format
msgid "Invalid path"
msgstr "Neveljavna pot"
#. This is the default text shown in the preview entry, though the user
#. can set it. Remember that some fonts only have capital letters.
-#: ../gtk/gtkfontsel.c:120
+#: ../gtk/gtkfontsel.c:119
msgid "abcdefghijk ABCDEFGHIJK"
msgstr "AaBbCcČčDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsŠšTtUuVvZzŽž"
-#: ../gtk/gtkfontsel.c:389
+#: ../gtk/gtkfontsel.c:388
msgid "_Family:"
msgstr "_Družina:"
-#: ../gtk/gtkfontsel.c:396
+#: ../gtk/gtkfontsel.c:395
msgid "_Style:"
msgstr "_Slog:"
-#: ../gtk/gtkfontsel.c:403
+#: ../gtk/gtkfontsel.c:402
msgid "Si_ze:"
msgstr "_Velikost:"
#. create the text entry widget
-#: ../gtk/gtkfontsel.c:580
+#: ../gtk/gtkfontsel.c:579
msgid "_Preview:"
msgstr "_Predolged:"
-#: ../gtk/gtkfontsel.c:1702
+#: ../gtk/gtkfontsel.c:1705
msgid "Font Selection"
msgstr "Izbira pisave"
msgid "Failed to load icon"
msgstr "Ikone ni mogoče naložiti"
-#: ../gtk/gtkimmodule.c:526
+#: ../gtk/gtkimmodule.c:525
msgid "Simple"
msgstr "Enostavno"
msgstr "Sistem (%s)"
#. Open Link
-#: ../gtk/gtklabel.c:6302
+#: ../gtk/gtklabel.c:6309
msgid "_Open Link"
msgstr "_Odpri povezavo"
#. Copy Link Address
-#: ../gtk/gtklabel.c:6314
+#: ../gtk/gtklabel.c:6321
msgid "Copy _Link Address"
msgstr "Kopiraj _naslov povezave"
-#: ../gtk/gtklinkbutton.c:482
+#: ../gtk/gtklinkbutton.c:484
msgid "Copy URL"
msgstr "Kopiraj URL"
-#: ../gtk/gtklinkbutton.c:645
+#: ../gtk/gtklinkbutton.c:647
msgid "Invalid URI"
msgstr "Neveljaven URI"
"Stopite v stik s skrbnikom sistema."
#. Description of --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:563
+#: ../gtk/gtkmain.c:562
msgid "Load additional GTK+ modules"
msgstr "Naloži dodatne module GTK+"
#. Placeholder in --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:564
+#: ../gtk/gtkmain.c:563
msgid "MODULES"
msgstr "MODULI"
#. Description of --g-fatal-warnings in --help output
-#: ../gtk/gtkmain.c:566
+#: ../gtk/gtkmain.c:565
msgid "Make all warnings fatal"
msgstr "Izpiši vsa opozorila kot usodna"
#. Description of --gtk-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:569
+#: ../gtk/gtkmain.c:568
msgid "GTK+ debugging flags to set"
msgstr "Zastavice razhroščevanja GTK+, ki naj bodo nastavljene"
#. Description of --gtk-no-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:572
+#: ../gtk/gtkmain.c:571
msgid "GTK+ debugging flags to unset"
msgstr "Zastavice razhroščevanja GTK+, ki naj ne bodo nastavljene"
#. * Do *not* translate it to "predefinito:LTR", if it
#. * it isn't default:LTR or default:RTL it will not work
#.
-#: ../gtk/gtkmain.c:846
+#: ../gtk/gtkmain.c:848
msgid "default:LTR"
msgstr "default:LTR"
-#: ../gtk/gtkmain.c:910
+#: ../gtk/gtkmain.c:914
#, c-format
msgid "Cannot open display: %s"
msgstr "Prikaza ni mogoče odpreti: %s"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "GTK+ Options"
msgstr "Možnosti GTK+"
-#: ../gtk/gtkmain.c:976
+#: ../gtk/gtkmain.c:980
msgid "Show GTK+ Options"
msgstr "Pokaži možnosti GTK+"
msgstr "Opravila s PID %d ni mogoče uničiti. Dejanje ni podprto."
#. translators: this string is a name for the 'less' command
-#: ../gtk/gtkmountoperation-x11.c:859
+#: ../gtk/gtkmountoperation-x11.c:959
msgid "Terminal Pager"
msgstr "Pozivnik terminala"
-#: ../gtk/gtkmountoperation-x11.c:860
+#: ../gtk/gtkmountoperation-x11.c:960
msgid "Top Command"
msgstr "Vrhnji ukaz"
-#: ../gtk/gtkmountoperation-x11.c:861
+#: ../gtk/gtkmountoperation-x11.c:961
msgid "Bourne Again Shell"
msgstr "Lupina Bourne Again"
-#: ../gtk/gtkmountoperation-x11.c:862
+#: ../gtk/gtkmountoperation-x11.c:962
msgid "Bourne Shell"
msgstr "Lupina Bourne"
-#: ../gtk/gtkmountoperation-x11.c:863
+#: ../gtk/gtkmountoperation-x11.c:963
msgid "Z Shell"
msgstr "Lupina Z"
-#: ../gtk/gtkmountoperation-x11.c:960
+#: ../gtk/gtkmountoperation-x11.c:1060
#, c-format
msgid "Cannot end process with PID %d: %s"
msgstr "Opravila s PID %d ni mogoče končati: %s"
-#: ../gtk/gtknotebook.c:4919
-#: ../gtk/gtknotebook.c:7608
+#: ../gtk/gtknotebook.c:4906
+#: ../gtk/gtknotebook.c:7591
#, c-format
msgid "Page %u"
msgstr "Stran %u"
msgid "No registered application with name '%s' for item with URI '%s' found"
msgstr "Program z imenom '%s' ni vpisan za odpiranje predmetov z URI-jem '%s'"
-#: ../gtk/gtkspinner.c:287
-msgctxt "throbbing progress animation widget"
-msgid "Spinner"
-msgstr "Vrtavka"
-
-#: ../gtk/gtkspinner.c:288
-msgid "Provides visual indication of progress"
-msgstr "Omogoča grafični prikaz napredka"
-
#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
#: ../gtk/gtkstock.c:313
msgctxt "Stock label"
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
#. * the state
#.
-#: ../gtk/gtkswitch.c:338
-#: ../gtk/gtkswitch.c:398
-#: ../gtk/gtkswitch.c:605
+#: ../gtk/gtkswitch.c:335
+#: ../gtk/gtkswitch.c:395
+#: ../gtk/gtkswitch.c:602
msgctxt "switch"
msgid "ON"
msgstr "VKLJUČENO"
#. Translators: if the "off" state label requires more than three
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
#.
-#: ../gtk/gtkswitch.c:346
-#: ../gtk/gtkswitch.c:399
-#: ../gtk/gtkswitch.c:634
+#: ../gtk/gtkswitch.c:343
+#: ../gtk/gtkswitch.c:396
+#: ../gtk/gtkswitch.c:631
msgctxt "switch"
msgid "OFF"
msgstr "IZKLJUČENO"
-#: ../gtk/gtkswitch.c:1061
-msgctxt "light switch widget"
-msgid "Switch"
-msgstr "Preklopi"
-
-#: ../gtk/gtkswitch.c:1062
-msgid "Switches between on and off states"
-msgstr "Preklaplja med stanji 'vključeno' in 'izključeno'"
-
#: ../gtk/gtktextbufferrichtext.c:651
#, c-format
msgid "Unknown error when trying to deserialize %s"
#: ../gtk/gtkvolumebutton.c:247
msgid "Muted"
-msgstr "Nemo"
+msgstr "Utišano"
#: ../gtk/gtkvolumebutton.c:251
msgid "Full Volume"
msgid "Unavailable"
msgstr "Ni na voljo"
+#. TRANSLATORS: when we're running an old CUPS, and
+#. * it hasn't registered the device with colord
+#: ../modules/printbackends/cups/gtkprintercups.c:222
+msgid "Color management unavailable"
+msgstr "Upravljanje barv ni na voljo"
+
+#. TRANSLATORS: when there is no color profile available
+#: ../modules/printbackends/cups/gtkprintercups.c:234
+msgid "No profile available"
+msgstr "Profil ni na voljo"
+
+#. TRANSLATORS: when the color profile has no title
+#: ../modules/printbackends/cups/gtkprintercups.c:245
+msgid "Unspecified profile"
+msgstr "Nedoločeno ime profila"
+
#. default filename used for print-to-file
#: ../modules/printbackends/file/gtkprintbackendfile.c:250
#, c-format
msgid "Failed to load image '%s': reason not known, probably a corrupt image file"
msgstr "Slike '%s' ni mogoče naložiti: vzrok ni znan, najverjetneje je datoteka pokvarjena"
+#~ msgid "_Browse for other folders"
+#~ msgstr "_Brskaj za drugimi mapami"
+
#~ msgid "Locked"
#~ msgstr "Zaklenjeno"
#~ msgid ""
#~ "Value for PNG text chunk %s cannot be converted to ISO-8859-1 encoding."
#~ msgstr ""
-#~ "Vrednosti za sklop besedila PNG %s ni mogoče pretvoriti v kodiranje ISO-"
-#~ "8859-1."
+#~ "Vrednosti za sklop besedila PNG %s ni mogoče pretvoriti v kodiranje "
+#~ "ISO-8859-1."
#~ msgid "The PNG image format"
#~ msgstr "Vrsta zapisa slike PNG"
-# Uighur translation for gtk+2.0\r
-# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008\r
-# This file is distributed under the same license as the gtk+2.0 package.\r
-# Ömerjan Tursunqasim <omarjan14@qq.com>, 2008.\r
-# Sahran <sahran@live.com>, 2010\r
-#\r
-msgid ""\r
-msgstr ""\r
-"Project-Id-Version: gtk+2.0\n"\r
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%"\r
-"2b&keywords=I18N+L10N&component=general\n"\r
-"POT-Creation-Date: 2011-04-25 06:58+0000\n"\r
-"PO-Revision-Date: 2011-04-26 10:56+0600\n"\r
-"Last-Translator: Sahran <sahran.ug@gmail.com>\n"\r
-"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"\r
-"MIME-Version: 1.0\n"\r
-"Content-Type: text/plain; charset=UTF-8\n"\r
-"Content-Transfer-Encoding: 8bit\n"\r
-"Plural-Forms: nplurals=1; plural=0;\n"\r
-"X-Launchpad-Export-Date: 2010-05-06 04:15+0000\n"\r
-"X-Generator: Launchpad (build Unknown)\n"\r
-\r
-#: ../gdk/gdk.c:135\r
-#, c-format\r
-msgid "Error parsing option --gdk-debug"\r
-msgstr "--gdk-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى"\r
-\r
-#: ../gdk/gdk.c:155\r
-#, c-format\r
-msgid "Error parsing option --gdk-no-debug"\r
-msgstr "--gdk-no-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى"\r
-\r
-#. Description of --class=CLASS in --help output\r
-#: ../gdk/gdk.c:183\r
-msgid "Program class as used by the window manager"\r
-msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما تۈرى"\r
-\r
-#. Placeholder in --class=CLASS in --help output\r
-#: ../gdk/gdk.c:184\r
-msgid "CLASS"\r
-msgstr "CLASS"\r
-\r
-#. Description of --name=NAME in --help output\r
-#: ../gdk/gdk.c:186\r
-msgid "Program name as used by the window manager"\r
-msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما ئىسمى"\r
-\r
-#. Placeholder in --name=NAME in --help output\r
-#: ../gdk/gdk.c:187\r
-msgid "NAME"\r
-msgstr "NAME"\r
-\r
-#. Description of --display=DISPLAY in --help output\r
-#: ../gdk/gdk.c:189\r
-msgid "X display to use"\r
-msgstr "X كۆرسىتىش ئېغىزى ئىشلەت"\r
-\r
-#. Placeholder in --display=DISPLAY in --help output\r
-#: ../gdk/gdk.c:190\r
-msgid "DISPLAY"\r
-msgstr "كۆرسەت"\r
-\r
-#. Description of --gdk-debug=FLAGS in --help output\r
-#: ../gdk/gdk.c:193\r
-msgid "GDK debugging flags to set"\r
-msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى"\r
-\r
-#. Placeholder in --gdk-debug=FLAGS in --help output\r
-#. Placeholder in --gdk-no-debug=FLAGS in --help output\r
-#. Placeholder in --gtk-debug=FLAGS in --help output\r
-#. Placeholder in --gtk-no-debug=FLAGS in --help output\r
-#: ../gdk/gdk.c:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573\r
-msgid "FLAGS"\r
-msgstr "بەلگە"\r
-\r
-#. Description of --gdk-no-debug=FLAGS in --help output\r
-#: ../gdk/gdk.c:196\r
-msgid "GDK debugging flags to unset"\r
-msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى"\r
-\r
-#.\r
-#. * Translators, the strings in the 'keyboard label' context are\r
-#. * display names for keyboard keys. Some of them have prefixes like\r
-#. * XF86 or ISO_ - these should be removed in the translation. Similarly,\r
-#. * underscores should be replaced by spaces. The prefix 'KP_' stands\r
-#. * for 'key pad' and you may want to include that in your translation.\r
-#. * Here are some examples of English translations:\r
-#. * XF86AudioMute - Audio mute\r
-#. * Scroll_lock - Scroll lock\r
-#. * KP_Space - Space (keypad)\r
-#.\r
-#: ../gdk/keyname-table.h:3951\r
-msgctxt "keyboard label"\r
-msgid "BackSpace"\r
-msgstr "چېكىنىش كۇنۇپكىسى"\r
-\r
-#: ../gdk/keyname-table.h:3952\r
-msgctxt "keyboard label"\r
-msgid "Tab"\r
-msgstr "Tab"\r
-\r
-#: ../gdk/keyname-table.h:3953\r
-msgctxt "keyboard label"\r
-msgid "Return"\r
-msgstr "Return"\r
-\r
-#: ../gdk/keyname-table.h:3954\r
-msgctxt "keyboard label"\r
-msgid "Pause"\r
-msgstr "ۋاقىتلىق توختا"\r
-\r
-#: ../gdk/keyname-table.h:3955\r
-msgctxt "keyboard label"\r
-msgid "Scroll_Lock"\r
-msgstr "Scroll_Lock"\r
-\r
-#: ../gdk/keyname-table.h:3956\r
-msgctxt "keyboard label"\r
-msgid "Sys_Req"\r
-msgstr "Sys_Req"\r
-\r
-#: ../gdk/keyname-table.h:3957\r
-msgctxt "keyboard label"\r
-msgid "Escape"\r
-msgstr "Escape"\r
-\r
-#: ../gdk/keyname-table.h:3958\r
-msgctxt "keyboard label"\r
-msgid "Multi_key"\r
-msgstr "Multikey(_K)"\r
-\r
-#: ../gdk/keyname-table.h:3959\r
-msgctxt "keyboard label"\r
-msgid "Home"\r
-msgstr "Home"\r
-\r
-#: ../gdk/keyname-table.h:3960\r
-msgctxt "keyboard label"\r
-msgid "Left"\r
-msgstr "سول"\r
-\r
-#: ../gdk/keyname-table.h:3961\r
-msgctxt "keyboard label"\r
-msgid "Up"\r
-msgstr "يۇقىرى"\r
-\r
-#: ../gdk/keyname-table.h:3962\r
-msgctxt "keyboard label"\r
-msgid "Right"\r
-msgstr "ئوڭ"\r
-\r
-#: ../gdk/keyname-table.h:3963\r
-msgctxt "keyboard label"\r
-msgid "Down"\r
-msgstr "تۆۋەن"\r
-\r
-#: ../gdk/keyname-table.h:3964\r
-msgctxt "keyboard label"\r
-msgid "Page_Up"\r
-msgstr "Page_Up"\r
-\r
-#: ../gdk/keyname-table.h:3965\r
-msgctxt "keyboard label"\r
-msgid "Page_Down"\r
-msgstr "Page_Down"\r
-\r
-#: ../gdk/keyname-table.h:3966\r
-msgctxt "keyboard label"\r
-msgid "End"\r
-msgstr "تامام"\r
-\r
-#: ../gdk/keyname-table.h:3967\r
-msgctxt "keyboard label"\r
-msgid "Begin"\r
-msgstr "باشلا"\r
-\r
-#: ../gdk/keyname-table.h:3968\r
-msgctxt "keyboard label"\r
-msgid "Print"\r
-msgstr "باس"\r
-\r
-#: ../gdk/keyname-table.h:3969\r
-msgctxt "keyboard label"\r
-msgid "Insert"\r
-msgstr "قىستۇر"\r
-\r
-#: ../gdk/keyname-table.h:3970\r
-msgctxt "keyboard label"\r
-msgid "Num_Lock"\r
-msgstr "Num_Lock"\r
-\r
-#. Translators: KP_ means 'key pad' here\r
-#: ../gdk/keyname-table.h:3972\r
-msgctxt "keyboard label"\r
-msgid "KP_Space"\r
-msgstr "KP_Space"\r
-\r
-#: ../gdk/keyname-table.h:3973\r
-msgctxt "keyboard label"\r
-msgid "KP_Tab"\r
-msgstr "KP_Tab"\r
-\r
-#: ../gdk/keyname-table.h:3974\r
-msgctxt "keyboard label"\r
-msgid "KP_Enter"\r
-msgstr "KP_Enter"\r
-\r
-#: ../gdk/keyname-table.h:3975\r
-msgctxt "keyboard label"\r
-msgid "KP_Home"\r
-msgstr "KP_Home"\r
-\r
-#: ../gdk/keyname-table.h:3976\r
-msgctxt "keyboard label"\r
-msgid "KP_Left"\r
-msgstr "KP_Left"\r
-\r
-#: ../gdk/keyname-table.h:3977\r
-msgctxt "keyboard label"\r
-msgid "KP_Up"\r
-msgstr "KP_Up"\r
-\r
-#: ../gdk/keyname-table.h:3978\r
-msgctxt "keyboard label"\r
-msgid "KP_Right"\r
-msgstr "KP_Right"\r
-\r
-#: ../gdk/keyname-table.h:3979\r
-msgctxt "keyboard label"\r
-msgid "KP_Down"\r
-msgstr "KP_Down"\r
-\r
-#: ../gdk/keyname-table.h:3980\r
-msgctxt "keyboard label"\r
-msgid "KP_Page_Up"\r
-msgstr "KP_Page_Up"\r
-\r
-#: ../gdk/keyname-table.h:3981\r
-msgctxt "keyboard label"\r
-msgid "KP_Prior"\r
-msgstr "KP_Prior"\r
-\r
-#: ../gdk/keyname-table.h:3982\r
-msgctxt "keyboard label"\r
-msgid "KP_Page_Down"\r
-msgstr "KP_Page_Down"\r
-\r
-#: ../gdk/keyname-table.h:3983\r
-msgctxt "keyboard label"\r
-msgid "KP_Next"\r
-msgstr "KP_Next"\r
-\r
-#: ../gdk/keyname-table.h:3984\r
-msgctxt "keyboard label"\r
-msgid "KP_End"\r
-msgstr "KP_End"\r
-\r
-#: ../gdk/keyname-table.h:3985\r
-msgctxt "keyboard label"\r
-msgid "KP_Begin"\r
-msgstr "KP_Begin"\r
-\r
-#: ../gdk/keyname-table.h:3986\r
-msgctxt "keyboard label"\r
-msgid "KP_Insert"\r
-msgstr "KP_Insert"\r
-\r
-#: ../gdk/keyname-table.h:3987\r
-msgctxt "keyboard label"\r
-msgid "KP_Delete"\r
-msgstr "KP_Delete"\r
-\r
-#: ../gdk/keyname-table.h:3988\r
-msgctxt "keyboard label"\r
-msgid "Delete"\r
-msgstr "ئۆچۈر"\r
-\r
-#. Translators: 'Mon' means Monitor here, and the XF86 prefix should be removed\r
-#: ../gdk/keyname-table.h:3990\r
-msgctxt "keyboard label"\r
-msgid "XF86MonBrightnessUp"\r
-msgstr "XF86MonBrightnessUp"\r
-\r
-#: ../gdk/keyname-table.h:3991\r
-msgctxt "keyboard label"\r
-msgid "XF86MonBrightnessDown"\r
-msgstr "XF86MonBrightnessDown"\r
-\r
-#: ../gdk/keyname-table.h:3992\r
-msgctxt "keyboard label"\r
-msgid "XF86AudioMute"\r
-msgstr "XF86AudioMute"\r
-\r
-#: ../gdk/keyname-table.h:3993\r
-msgctxt "keyboard label"\r
-msgid "XF86AudioLowerVolume"\r
-msgstr "XF86AudioLowerVolume"\r
-\r
-#: ../gdk/keyname-table.h:3994\r
-msgctxt "keyboard label"\r
-msgid "XF86AudioRaiseVolume"\r
-msgstr "XF86AudioRaiseVolume"\r
-\r
-#: ../gdk/keyname-table.h:3995\r
-msgctxt "keyboard label"\r
-msgid "XF86AudioPlay"\r
-msgstr "XF86AudioPlay"\r
-\r
-#: ../gdk/keyname-table.h:3996\r
-msgctxt "keyboard label"\r
-msgid "XF86AudioStop"\r
-msgstr "XF86AudioStop"\r
-\r
-#: ../gdk/keyname-table.h:3997\r
-msgctxt "keyboard label"\r
-msgid "XF86AudioNext"\r
-msgstr "XF86AudioNext"\r
-\r
-#: ../gdk/keyname-table.h:3998\r
-msgctxt "keyboard label"\r
-msgid "XF86AudioPrev"\r
-msgstr "XF86AudioPrev"\r
-\r
-#: ../gdk/keyname-table.h:3999\r
-msgctxt "keyboard label"\r
-msgid "XF86AudioRecord"\r
-msgstr "XF86AudioRecord"\r
-\r
-#: ../gdk/keyname-table.h:4000\r
-msgctxt "keyboard label"\r
-msgid "XF86AudioPause"\r
-msgstr "XF86AudioPause"\r
-\r
-#: ../gdk/keyname-table.h:4001\r
-msgctxt "keyboard label"\r
-msgid "XF86AudioRewind"\r
-msgstr "XF86AudioRewind"\r
-\r
-#: ../gdk/keyname-table.h:4002\r
-msgctxt "keyboard label"\r
-msgid "XF86AudioMedia"\r
-msgstr "XF86AudioMedia"\r
-\r
-#: ../gdk/keyname-table.h:4003\r
-msgctxt "keyboard label"\r
-msgid "XF86ScreenSaver"\r
-msgstr "XF86ScreenSaver"\r
-\r
-#: ../gdk/keyname-table.h:4004\r
-msgctxt "keyboard label"\r
-msgid "XF86Battery"\r
-msgstr "XF86Battery"\r
-\r
-#: ../gdk/keyname-table.h:4005\r
-msgctxt "keyboard label"\r
-msgid "XF86Launch1"\r
-msgstr "XF86Launch1"\r
-\r
-#: ../gdk/keyname-table.h:4006\r
-msgctxt "keyboard label"\r
-msgid "XF86Forward"\r
-msgstr "XF86Forward"\r
-\r
-#: ../gdk/keyname-table.h:4007\r
-msgctxt "keyboard label"\r
-msgid "XF86Back"\r
-msgstr "XF86Back"\r
-\r
-#: ../gdk/keyname-table.h:4008\r
-msgctxt "keyboard label"\r
-msgid "XF86Sleep"\r
-msgstr "XF86Sleep"\r
-\r
-#: ../gdk/keyname-table.h:4009\r
-msgctxt "keyboard label"\r
-msgid "XF86Hibernate"\r
-msgstr "XF86Hibernate"\r
-\r
-#: ../gdk/keyname-table.h:4010\r
-msgctxt "keyboard label"\r
-msgid "XF86WLAN"\r
-msgstr "XF86WLAN"\r
-\r
-#: ../gdk/keyname-table.h:4011\r
-msgctxt "keyboard label"\r
-msgid "XF86WebCam"\r
-msgstr "XF86WebCam"\r
-\r
-#: ../gdk/keyname-table.h:4012\r
-msgctxt "keyboard label"\r
-msgid "XF86Display"\r
-msgstr "XF86Display"\r
-\r
-#: ../gdk/keyname-table.h:4013\r
-msgctxt "keyboard label"\r
-msgid "XF86TouchpadToggle"\r
-msgstr "XF86TouchpadToggle"\r
-\r
-#: ../gdk/keyname-table.h:4014\r
-msgctxt "keyboard label"\r
-msgid "XF86WakeUp"\r
-msgstr "XF86WakeUp"\r
-\r
-#: ../gdk/keyname-table.h:4015\r
-msgctxt "keyboard label"\r
-msgid "XF86Suspend"\r
-msgstr "XF86Suspend"\r
-\r
-#. Description of --sync in --help output\r
-#: ../gdk/win32/gdkmain-win32.c:55\r
-msgid "Don't batch GDI requests"\r
-msgstr "GDI ئىلتىماسىنى توپ بىر تەرەپ قىلالمايدۇ"\r
-\r
-#. Description of --no-wintab in --help output\r
-#: ../gdk/win32/gdkmain-win32.c:57\r
-msgid "Don't use the Wintab API for tablet support"\r
-msgstr "Wintab API ئىشلەتمەي tablet قوللايدۇ"\r
-\r
-#. Description of --ignore-wintab in --help output\r
-#: ../gdk/win32/gdkmain-win32.c:59\r
-msgid "Same as --no-wintab"\r
-msgstr "--no-wintab بىلەن ئوخشاش"\r
-\r
-#. Description of --use-wintab in --help output\r
-#: ../gdk/win32/gdkmain-win32.c:61\r
-msgid "Do use the Wintab API [default]"\r
-msgstr "Wintab API ئىشلەت [كۆڭۈلدىكى]"\r
-\r
-#. Description of --max-colors=COLORS in --help output\r
-#: ../gdk/win32/gdkmain-win32.c:63\r
-msgid "Size of the palette in 8 bit mode"\r
-msgstr "8 بىتلىق رەڭ تەڭشەش تاختا چوڭلۇقى"\r
-\r
-#. Placeholder in --max-colors=COLORS in --help output\r
-#: ../gdk/win32/gdkmain-win32.c:64\r
-msgid "COLORS"\r
-msgstr "رەڭ"\r
-\r
-#: ../gdk/x11/gdkapplaunchcontext-x11.c:294\r
-#, c-format\r
-msgid "Starting %s"\r
-msgstr "%s قوزغىلىۋاتىدۇ"\r
-\r
-#: ../gdk/x11/gdkapplaunchcontext-x11.c:307\r
-#, c-format\r
-msgid "Opening %s"\r
-msgstr "%s نى ئېچىۋاتىدۇ"\r
-\r
-#: ../gdk/x11/gdkapplaunchcontext-x11.c:312\r
-#, c-format\r
-msgid "Opening %d Item"\r
-msgid_plural "Opening %d Items"\r
-msgstr[0] "%d تۈرنى ئېچىۋاتىدۇ"\r
-\r
-#. Translators: this is the license preamble; the string at the end\r
-#. * contains the URL of the license.\r
-#.\r
-#: ../gtk/gtkaboutdialog.c:104\r
-#, c-format\r
-msgid ""\r
-"This program comes with ABSOLUTELY NO WARRANTY; for details, visit <a href="\r
-"\"%s\">%s</a>"\r
-msgstr ""\r
-"بۇ پروگرامما ھېچقانداق كاپالەت بەرمەيدۇ؛ تەپسىلاتىنى <a href=\"%s\">%s</a> "\r
-"زىيارەت قىلىڭ"\r
-\r
-#: ../gtk/gtkaboutdialog.c:346\r
-msgid "License"\r
-msgstr "ئىجازەتنامە"\r
-\r
-#: ../gtk/gtkaboutdialog.c:347\r
-msgid "The license of the program"\r
-msgstr "پروگراممىنىڭ ئىجازەتنامىسى"\r
-\r
-#. Add the credits button\r
-#: ../gtk/gtkaboutdialog.c:739\r
-msgid "C_redits"\r
-msgstr "تەشەككۈر(_R)"\r
-\r
-#. Add the license button\r
-#: ../gtk/gtkaboutdialog.c:752\r
-msgid "_License"\r
-msgstr "ئىجازەت(_L)"\r
-\r
-#: ../gtk/gtkaboutdialog.c:957\r
-msgid "Could not show link"\r
-msgstr "ئۇلانمىنى كۆرسىتەلمىدى"\r
-\r
-#: ../gtk/gtkaboutdialog.c:994\r
-msgid "Homepage"\r
-msgstr "باش بەت"\r
-\r
-#: ../gtk/gtkaboutdialog.c:1048\r
-#, c-format\r
-msgid "About %s"\r
-msgstr "%s ھەققىدە"\r
-\r
-#: ../gtk/gtkaboutdialog.c:2374\r
-msgid "Created by"\r
-msgstr "قۇرغۇچى"\r
-\r
-#: ../gtk/gtkaboutdialog.c:2377\r
-msgid "Documented by"\r
-msgstr "پۈتۈكچى"\r
-\r
-#: ../gtk/gtkaboutdialog.c:2387\r
-msgid "Translated by"\r
-msgstr "تەرجىمان"\r
-\r
-#: ../gtk/gtkaboutdialog.c:2392\r
-msgid "Artwork by"\r
-msgstr "گۈزەل سەنئەت تەھرىرى"\r
-\r
-#. This is the text that should appear next to menu accelerators\r
-#. * that use the shift key. If the text on this key isn't typically\r
-#. * translated on keyboards used for your language, don't translate\r
-#. * this.\r
-#.\r
-#: ../gtk/gtkaccellabel.c:158\r
-msgctxt "keyboard label"\r
-msgid "Shift"\r
-msgstr "Shift"\r
-\r
-#. This is the text that should appear next to menu accelerators\r
-#. * that use the control key. If the text on this key isn't typically\r
-#. * translated on keyboards used for your language, don't translate\r
-#. * this.\r
-#.\r
-#: ../gtk/gtkaccellabel.c:164\r
-msgctxt "keyboard label"\r
-msgid "Ctrl"\r
-msgstr "Ctrl"\r
-\r
-#. This is the text that should appear next to menu accelerators\r
-#. * that use the alt key. If the text on this key isn't typically\r
-#. * translated on keyboards used for your language, don't translate\r
-#. * this.\r
-#.\r
-#: ../gtk/gtkaccellabel.c:170\r
-msgctxt "keyboard label"\r
-msgid "Alt"\r
-msgstr "Alt"\r
-\r
-#. This is the text that should appear next to menu accelerators\r
-#. * that use the super key. If the text on this key isn't typically\r
-#. * translated on keyboards used for your language, don't translate\r
-#. * this.\r
-#.\r
-#: ../gtk/gtkaccellabel.c:786\r
-msgctxt "keyboard label"\r
-msgid "Super"\r
-msgstr "Super"\r
-\r
-#. This is the text that should appear next to menu accelerators\r
-#. * that use the hyper key. If the text on this key isn't typically\r
-#. * translated on keyboards used for your language, don't translate\r
-#. * this.\r
-#.\r
-#: ../gtk/gtkaccellabel.c:799\r
-msgctxt "keyboard label"\r
-msgid "Hyper"\r
-msgstr "Hyper"\r
-\r
-#. This is the text that should appear next to menu accelerators\r
-#. * that use the meta key. If the text on this key isn't typically\r
-#. * translated on keyboards used for your language, don't translate\r
-#. * this.\r
-#.\r
-#: ../gtk/gtkaccellabel.c:813\r
-msgctxt "keyboard label"\r
-msgid "Meta"\r
-msgstr "Meta"\r
-\r
-#: ../gtk/gtkaccellabel.c:829\r
-msgctxt "keyboard label"\r
-msgid "Space"\r
-msgstr "بوشلۇق"\r
-\r
-#: ../gtk/gtkaccellabel.c:832\r
-msgctxt "keyboard label"\r
-msgid "Backslash"\r
-msgstr "تەتۈر يانتۇ سىزىق(Backslash)"\r
-\r
-#: ../gtk/gtkappchooserbutton.c:268\r
-msgid "Other application..."\r
-msgstr "باشقا پروگراممىلار..."\r
-\r
-#: ../gtk/gtkappchooserdialog.c:130\r
-msgid "Failed to look for applications online"\r
-msgstr "تودىن پروگرامما ئىزدەش مەغلۇپ بولدى"\r
-\r
-#: ../gtk/gtkappchooserdialog.c:171\r
-msgid "Find applications online"\r
-msgstr "تودىن پروگرامما ئىزدەش"\r
-\r
-#: ../gtk/gtkappchooserdialog.c:221\r
-msgid "Could not run application"\r
-msgstr "پروگراممىنى ئىجرا قىلالمىدى"\r
-\r
-#: ../gtk/gtkappchooserdialog.c:234\r
-#, c-format\r
-msgid "Could not find '%s'"\r
-msgstr "'%s' تاپالمىدى"\r
-\r
-#: ../gtk/gtkappchooserdialog.c:237\r
-msgid "Could not find application"\r
-msgstr "پروگراممىنى تاپالمىدى"\r
-\r
-#. Translators: %s is a filename\r
-#: ../gtk/gtkappchooserdialog.c:355\r
-#, c-format\r
-msgid "Select an application to open \"%s\""\r
-msgstr "\"%s\" نى ئاچىدىغان پروگراممىنى تاللاڭ"\r
-\r
-#: ../gtk/gtkappchooserdialog.c:356 ../gtk/gtkappchooserwidget.c:642\r
-#, c-format\r
-msgid "No applications available to open \"%s\""\r
-msgstr "\"%s\" نى ئاچىدىغان پروگرامما يوق"\r
-\r
-#. Translators: %s is a file type description\r
-#: ../gtk/gtkappchooserdialog.c:362\r
-#, c-format\r
-msgid "Select an application for \"%s\" files"\r
-msgstr "\"%s\" ھۆججەتلەر ئۈچۈن پروگرامما تاللاڭ."\r
-\r
-#: ../gtk/gtkappchooserdialog.c:364\r
-#, c-format\r
-msgid "No applications available to open \"%s\" files"\r
-msgstr "\"%s\" ھۆججەتلەر ئاچىدىغان پروگرامما يوق"\r
-\r
-#: ../gtk/gtkappchooserdialog.c:380\r
-msgid ""\r
-"Click \"Show other applications\", for more options, or \"Find applications "\r
-"online\" to install a new application"\r
-msgstr ""\r
-"تەپسىلاتى ئۈچۈن «باشقا پروگراممىنى كۆرسەت»نى چېكىڭ ياكى «پروگراممىنى توردىن "\r
-"ئىزدە» دىن يېڭى پروگراممىنى ئورنىتىڭ"\r
-\r
-#: ../gtk/gtkappchooserdialog.c:450\r
-msgid "Forget association"\r
-msgstr "ھەمكارلىقىنى ئۇنتۇ"\r
-\r
-#: ../gtk/gtkappchooserdialog.c:515\r
-msgid "Show other applications"\r
-msgstr "باشقا پروگراممىلارنى كۆرسەت"\r
-\r
-#: ../gtk/gtkappchooserdialog.c:533\r
-msgid "_Select"\r
-msgstr "تاللا(_S)"\r
-\r
-#: ../gtk/gtkappchooserwidget.c:591\r
-msgid "Default Application"\r
-msgstr "كۆڭۈلدىكى پروگرامما"\r
-\r
-#: ../gtk/gtkappchooserwidget.c:729\r
-msgid "Recommended Applications"\r
-msgstr "تەۋسىيىلىك پروگراممىلار"\r
-\r
-#: ../gtk/gtkappchooserwidget.c:744\r
-msgid "Related Applications"\r
-msgstr "مۇناشىۋەتلىك پروگراممىلار"\r
-\r
-#: ../gtk/gtkappchooserwidget.c:758\r
-msgid "Other Applications"\r
-msgstr "باشقا پروگراممىلار"\r
-\r
-#: ../gtk/gtkbuilderparser.c:342\r
-#, c-format\r
-msgid "Invalid type function on line %d: '%s'"\r
-msgstr "ئىناۋەتسىز تىپ فۇنكسىيىسى كۆرۈنگەن قۇر %d: '%s'"\r
-\r
-#: ../gtk/gtkbuilderparser.c:406\r
-#, c-format\r
-msgid "Duplicate object ID '%s' on line %d (previously on line %d)"\r
-msgstr "تەكرار ئوبيېكت id '%s' كۆرۈنگەن قۇر %d (ئىلگىرى كۆرۈنگەن قۇر %d)"\r
-\r
-#: ../gtk/gtkbuilderparser.c:858\r
-#, c-format\r
-msgid "Invalid root element: '%s'"\r
-msgstr "ئىناۋەتسىز غول ئېلېمېنت: '%s'"\r
-\r
-#: ../gtk/gtkbuilderparser.c:897\r
-#, c-format\r
-msgid "Unhandled tag: '%s'"\r
-msgstr "بىر تەرەپ قىلىنمىغان بەلگە: '%s'"\r
-\r
-#. Translate to calendar:YM if you want years to be displayed\r
-#. * before months; otherwise translate to calendar:MY.\r
-#. * Do *not* translate it to anything else, if it\r
-#. * it isn't calendar:YM or calendar:MY it will not work.\r
-#. *\r
-#. * Note that the ordering described here is logical order, which is\r
-#. * further influenced by BIDI ordering. Thus, if you have a default\r
-#. * text direction of RTL and specify "calendar:YM", then the year\r
-#. * will appear to the right of the month.\r
-#.\r
-#: ../gtk/gtkcalendar.c:871\r
-msgid "calendar:MY"\r
-msgstr "calendar:MY"\r
-\r
-#. Translate to calendar:week_start:0 if you want Sunday to be the\r
-#. * first day of the week to calendar:week_start:1 if you want Monday\r
-#. * to be the first day of the week, and so on.\r
-#.\r
-#: ../gtk/gtkcalendar.c:909\r
-msgid "calendar:week_start:0"\r
-msgstr "calendar:week_start:0"\r
-\r
-#. Translators: This is a text measurement template.\r
-#. * Translate it to the widest year text\r
-#. *\r
-#. * If you don't understand this, leave it as "2000"\r
-#.\r
-#: ../gtk/gtkcalendar.c:1910\r
-msgctxt "year measurement template"\r
-msgid "2000"\r
-msgstr "2000"\r
-\r
-#. Translators: this defines whether the day numbers should use\r
-#. * localized digits or the ones used in English (0123...).\r
-#. *\r
-#. * Translate to "%Id" if you want to use localized digits, or\r
-#. * translate to "%d" otherwise.\r
-#. *\r
-#. * Note that translating this doesn't guarantee that you get localized\r
-#. * digits. That needs support from your system and locale definition\r
-#. * too.\r
-#.\r
-#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638\r
-#, c-format\r
-msgctxt "calendar:day:digits"\r
-msgid "%d"\r
-msgstr "%d"\r
-\r
-#. Translators: this defines whether the week numbers should use\r
-#. * localized digits or the ones used in English (0123...).\r
-#. *\r
-#. * Translate to "%Id" if you want to use localized digits, or\r
-#. * translate to "%d" otherwise.\r
-#. *\r
-#. * Note that translating this doesn't guarantee that you get localized\r
-#. * digits. That needs support from your system and locale definition\r
-#. * too.\r
-#.\r
-#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499\r
-#, c-format\r
-msgctxt "calendar:week:digits"\r
-msgid "%d"\r
-msgstr "%d"\r
-\r
-#. Translators: This dictates how the year is displayed in\r
-#. * gtkcalendar widget. See strftime() manual for the format.\r
-#. * Use only ASCII in the translation.\r
-#. *\r
-#. * Also look for the msgid "2000".\r
-#. * Translate that entry to a year with the widest output of this\r
-#. * msgid.\r
-#. *\r
-#. * "%Y" is appropriate for most locales.\r
-#.\r
-#: ../gtk/gtkcalendar.c:2268\r
-msgctxt "calendar year format"\r
-msgid "%Y"\r
-msgstr "%Y"\r
-\r
-#. This label is displayed in a treeview cell displaying\r
-#. * a disabled accelerator key combination.\r
-#.\r
-#: ../gtk/gtkcellrendereraccel.c:271\r
-msgctxt "Accelerator"\r
-msgid "Disabled"\r
-msgstr "چەكلەنگەن"\r
-\r
-#. This label is displayed in a treeview cell displaying\r
-#. * an accelerator key combination that is not valid according\r
-#. * to gtk_accelerator_valid().\r
-#.\r
-#: ../gtk/gtkcellrendereraccel.c:281\r
-msgctxt "Accelerator"\r
-msgid "Invalid"\r
-msgstr "ئىناۋەتسىز"\r
-\r
-#. This label is displayed in a treeview cell displaying\r
-#. * an accelerator when the cell is clicked to change the\r
-#. * acelerator.\r
-#.\r
-#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:729\r
-msgid "New accelerator..."\r
-msgstr "يېڭى تېزلەتكۈچ كۇنۇپكا…"\r
-\r
-#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452\r
-#, c-format\r
-msgctxt "progress bar label"\r
-msgid "%d %%"\r
-msgstr "%d %%"\r
-\r
-#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:483\r
-msgid "Pick a Color"\r
-msgstr "رەڭ ئال"\r
-\r
-#: ../gtk/gtkcolorbutton.c:372\r
-msgid "Received invalid color data\n"\r
-msgstr "ئىناۋەتسىز رەڭ سانلىق-مەلۇماتى تاپشۇرۇۋالدى\n"\r
-\r
-#: ../gtk/gtkcolorsel.c:415\r
-msgid ""\r
-"Select the color you want from the outer ring. Select the darkness or "\r
-"lightness of that color using the inner triangle."\r
-msgstr ""\r
-"سىرتقى ئايلانمىدىن سىزگە لازىملىق رەڭنى تاللاڭ .ئىچكى ئۈچ بۇلۇڭدىن رەڭنىڭ "\r
-"كۈچلۈكلۈكىنى تاللاڭ."\r
-\r
-#: ../gtk/gtkcolorsel.c:441\r
-msgid ""\r
-"Click the eyedropper, then click a color anywhere on your screen to select "\r
-"that color."\r
-msgstr "تېمىتقۇچنى تاق چېكىپ ئاندىن ئېكراننىڭ خالىغان يېرىدىن رەڭ تۇتۇڭ."\r
-\r
-#: ../gtk/gtkcolorsel.c:451\r
-msgid "_Hue:"\r
-msgstr "رەڭ تەڭشەش(_H):"\r
-\r
-#: ../gtk/gtkcolorsel.c:452\r
-msgid "Position on the color wheel."\r
-msgstr "رەڭ ھالقىسىدىكى ئورنى"\r
-\r
-#: ../gtk/gtkcolorsel.c:454\r
-msgid "_Saturation:"\r
-msgstr "تويۇنۇش دەرىجىسى(_S):"\r
-\r
-#: ../gtk/gtkcolorsel.c:455\r
-msgid "Intensity of the color."\r
-msgstr "رەڭ يورۇقلۇق دەرىجىسى."\r
-\r
-#: ../gtk/gtkcolorsel.c:456\r
-msgid "_Value:"\r
-msgstr "قىممىتى(_V):"\r
-\r
-#: ../gtk/gtkcolorsel.c:457\r
-msgid "Brightness of the color."\r
-msgstr "رەڭ يورۇقلۇقى."\r
-\r
-#: ../gtk/gtkcolorsel.c:458\r
-msgid "_Red:"\r
-msgstr "قىزىل(_R):"\r
-\r
-#: ../gtk/gtkcolorsel.c:459\r
-msgid "Amount of red light in the color."\r
-msgstr "رەڭ تەركىبىدىكى قىزىل رەڭ مىقدارى."\r
-\r
-#: ../gtk/gtkcolorsel.c:460\r
-msgid "_Green:"\r
-msgstr "يېشىل(_G):"\r
-\r
-#: ../gtk/gtkcolorsel.c:461\r
-msgid "Amount of green light in the color."\r
-msgstr "رەڭ تەركىبىدىكى يېشىل رەڭ مىقدارى."\r
-\r
-#: ../gtk/gtkcolorsel.c:462\r
-msgid "_Blue:"\r
-msgstr "كۆك(_B):"\r
-\r
-#: ../gtk/gtkcolorsel.c:463\r
-msgid "Amount of blue light in the color."\r
-msgstr "رەڭ تەركىبىدىكى كۆك رەڭ مىقدارى."\r
-\r
-#: ../gtk/gtkcolorsel.c:466\r
-msgid "Op_acity:"\r
-msgstr "سۈزۈكلۈك(_A):"\r
-\r
-#: ../gtk/gtkcolorsel.c:473 ../gtk/gtkcolorsel.c:483\r
-msgid "Transparency of the color."\r
-msgstr "رەڭ سۈزۈكلۈكى."\r
-\r
-#: ../gtk/gtkcolorsel.c:490\r
-msgid "Color _name:"\r
-msgstr "رەڭ ئاتى(_N):"\r
-\r
-#: ../gtk/gtkcolorsel.c:504\r
-msgid ""\r
-"You can enter an HTML-style hexadecimal color value, or simply a color name "\r
-"such as 'orange' in this entry."\r
-msgstr ""\r
-"سىز بۇ جايغا HTML ئۇسلۇبىدىكى 16 لىك سىستېما رەت نومۇرى ياكى “orange” گە "\r
-"ئوخشاش رەڭ ئاتلىرىنى كىرگۈزسىڭىز بولىدۇ."\r
-\r
-#: ../gtk/gtkcolorsel.c:536\r
-msgid "_Palette:"\r
-msgstr "رەڭ تاختىسى(_P):"\r
-\r
-#: ../gtk/gtkcolorsel.c:565\r
-msgid "Color Wheel"\r
-msgstr "رەڭ ھالقىسى"\r
-\r
-#: ../gtk/gtkcolorsel.c:1038\r
-msgid ""\r
-"The previously-selected color, for comparison to the color you're selecting "\r
-"now. You can drag this color to a palette entry, or select this color as "\r
-"current by dragging it to the other color swatch alongside."\r
-msgstr ""\r
-"ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان. سىز بۇ رەڭنى "\r
-"رەڭ تاللاش تاختىسىغا سۆرەپ ياكى بۇ رەڭنى كېيىنكى رەڭ كاتەكچىسىگە سۆرەپ "\r
-"نۆۋەتتىكى رەڭ قىلىپ بەلگىلىسىڭىز بولىدۇ."\r
-\r
-#: ../gtk/gtkcolorsel.c:1044\r
-msgid ""\r
-"The color you've chosen. You can drag this color to a palette entry to save "\r
-"it for use in the future."\r
-msgstr ""\r
-"سىز تاللىغان رەڭ .سىز بۇ رەڭنى تاللاپ ساقلاپ قويۇپ كىيىن ئىشلەتسىڭىز بولىدۇ."\r
-\r
-#: ../gtk/gtkcolorsel.c:1050\r
-msgid ""\r
-"The previously-selected color, for comparison to the color you're selecting "\r
-"now."\r
-msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان."\r
-\r
-#: ../gtk/gtkcolorsel.c:1054\r
-msgid "The color you've chosen."\r
-msgstr "سىز تاللىغان رەڭ."\r
-\r
-#: ../gtk/gtkcolorsel.c:1456\r
-msgid "_Save color here"\r
-msgstr "رەڭنى بۇ جايغا ساقلا(_S)"\r
-\r
-#: ../gtk/gtkcolorsel.c:1661\r
-msgid ""\r
-"Click this palette entry to make it the current color. To change this entry, "\r
-"drag a color swatch here or right-click it and select \"Save color here.\""\r
-msgstr ""\r
-"رەڭ تاختىسىدىكى رەڭنى تاق چەكسىڭىز نۆۋەتتىكى رەڭ بولۇپ تاللىنىدۇ. بۇ تۈرنى "\r
-"ئۆزگەرتىشتە، رەڭنى بۇ جايغا سۆرەڭ ياكى چاشقىنەك ئوڭ توپچىسىنى چەككەندىن "\r
-"كېيىن بۇ جايدا «رەڭنى بۇ جايغا ساقلا»نى تاللاڭ."\r
-\r
-#: ../gtk/gtkcolorseldialog.c:189\r
-msgid "Color Selection"\r
-msgstr "رەڭ تاللاش"\r
-\r
-#. Translate to the default units to use for presenting\r
-#. * lengths to the user. Translate to default:inch if you\r
-#. * want inches, otherwise translate to default:mm.\r
-#. * Do *not* translate it to "predefinito:mm", if it\r
-#. * it isn't default:mm or default:inch it will not work\r
-#.\r
-#: ../gtk/gtkcustompaperunixdialog.c:116\r
-msgid "default:mm"\r
-msgstr "default:mm"\r
-\r
-#. And show the custom paper dialog\r
-#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3253\r
-msgid "Manage Custom Sizes"\r
-msgstr "ئىختىيارى چوڭلۇقنى باشقۇر"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:532 ../gtk/gtkpagesetupunixdialog.c:788\r
-msgid "inch"\r
-msgstr "دىيۇيم"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:786\r
-msgid "mm"\r
-msgstr "mm"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:579\r
-msgid "Margins from Printer..."\r
-msgstr "پرىنتېر ئارىلىقى…"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:745\r
-#, c-format\r
-msgid "Custom Size %d"\r
-msgstr "ئىختىيارى چوڭلۇقى %d"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:1057\r
-msgid "_Width:"\r
-msgstr "كەڭلىك(_W):"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:1069\r
-msgid "_Height:"\r
-msgstr "ئېگىزلىك(_H):"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:1081\r
-msgid "Paper Size"\r
-msgstr "قەغەز چوڭلۇقى"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:1090\r
-msgid "_Top:"\r
-msgstr "ئۈستى(_T):"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:1102\r
-msgid "_Bottom:"\r
-msgstr "ئاستى(_B):"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:1114\r
-msgid "_Left:"\r
-msgstr "سول(_L):"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:1126\r
-msgid "_Right:"\r
-msgstr "ئوڭ(_R):"\r
-\r
-#: ../gtk/gtkcustompaperunixdialog.c:1167\r
-msgid "Paper Margins"\r
-msgstr "قەغەز يان ئارىلىقى"\r
-\r
-#: ../gtk/gtkentry.c:8761 ../gtk/gtktextview.c:8272\r
-msgid "Input _Methods"\r
-msgstr "كىرگۈزگۈچ(_M)"\r
-\r
-#: ../gtk/gtkentry.c:8775 ../gtk/gtktextview.c:8286\r
-msgid "_Insert Unicode Control Character"\r
-msgstr "يۇنىكودلۇق كونترول بەلگىسى قىستۇر(_I)"\r
-\r
-#: ../gtk/gtkentry.c:10183\r
-msgid "Caps Lock and Num Lock are on"\r
-msgstr "Caps Lock ۋە Num Lock ئوچۇق"\r
-\r
-#: ../gtk/gtkentry.c:10185\r
-msgid "Num Lock is on"\r
-msgstr "Num Lock ئوچۇق"\r
-\r
-#: ../gtk/gtkentry.c:10187\r
-msgid "Caps Lock is on"\r
-msgstr "Caps Lock ئوچۇق"\r
-\r
-#. **************** *\r
-#. * Private Macros *\r
-#. * ****************\r
-#: ../gtk/gtkfilechooserbutton.c:62\r
-msgid "Select a File"\r
-msgstr "بىر ھۆججەت تاللاڭ"\r
-\r
-#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1865\r
-msgid "Desktop"\r
-msgstr "ئۈستەلئۈستى"\r
-\r
-#: ../gtk/gtkfilechooserbutton.c:64\r
-msgid "(None)"\r
-msgstr "(يوق)"\r
-\r
-#: ../gtk/gtkfilechooserbutton.c:1997\r
-msgid "Other..."\r
-msgstr "باشقا…"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:148\r
-msgid "Type name of new folder"\r
-msgstr "يېڭى ھۆججەت قىسقۇچنىڭ ئاتىنى كىرگۈزۈڭ"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:960\r
-msgid "Could not retrieve information about the file"\r
-msgstr "ھۆججەتكە مۇناسىۋەتلىك ئۇچۇرلارغا ئېرىشكىلى بولمايدۇ"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:971\r
-msgid "Could not add a bookmark"\r
-msgstr "قىسقۇچ قىستۇرالمايدۇ"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:982\r
-msgid "Could not remove bookmark"\r
-msgstr "قىسقۇچنى چىقىرىۋېتەلمەيدۇ"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:993\r
-msgid "The folder could not be created"\r
-msgstr "قىسقۇچ قۇرالمايدۇ"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:1006\r
-msgid ""\r
-"The folder could not be created, as a file with the same name already "\r
-"exists. Try using a different name for the folder, or rename the file first."\r
-msgstr ""\r
-"قىسقۇچ قۇرالمايدۇ، چۈنكى ئوخشاش ئاتلىق قىسقۇچ مەۋجۇت. باشقا ئات ئىشلىتىپ "\r
-"سىناڭ ياكى ھۆججەت ئاتىنى ئۆزگەرتىڭ."\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:1020\r
-msgid "You need to choose a valid filename."\r
-msgstr "ئىناۋەتلىك ھۆججەت ئاتى تاللىشىڭىز زۆرۈر."\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:1023\r
-#, c-format\r
-msgid "Cannot create a file under %s as it is not a folder"\r
-msgstr "%s قىسقۇچ بولمىغاچقا، ئۇنىڭ ئاستىغا ھۆججەت قۇرغىلى بولمىدى."\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:1035\r
-msgid ""\r
-"You may only select folders. The item that you selected is not a folder; "\r
-"try using a different item."\r
-msgstr ""\r
-"سىز قىسقۇچلا تاللىيالايسىز. سىز تاللىغان تۈر قىسقۇچ ئېمە؛ باشقا تۈرنى "\r
-"ئىشلىتىپ سىناڭ."\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:1045\r
-msgid "Invalid file name"\r
-msgstr "ئىناۋەتسىز ھۆججەت ئاتى"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:1055\r
-msgid "The folder contents could not be displayed"\r
-msgstr "قىسقۇچ مەزمۇنىنى كۆرسىتەلمىدى"\r
-\r
-#. Translators: the first string is a path and the second string\r
-#. * is a hostname. Nautilus and the panel contain the same string\r
-#. * to translate.\r
-#.\r
-#: ../gtk/gtkfilechooserdefault.c:1608\r
-#, c-format\r
-msgid "%1$s on %2$s"\r
-msgstr "%2$s ئۈستىدىكى %1$s"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:1784\r
-msgid "Search"\r
-msgstr "ئىزدە"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:1808 ../gtk/gtkfilechooserdefault.c:9494\r
-msgid "Recently Used"\r
-msgstr "يېقىندا ئىشلەتكەن"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:2464\r
-msgid "Select which types of files are shown"\r
-msgstr "كۆرسىتىلىدىغان ھۆججەت تىپىنى تاللاڭ"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:2823\r
-#, c-format\r
-msgid "Add the folder '%s' to the bookmarks"\r
-msgstr "'%s' قىسقۇچنى خەتكۈچكە قوش"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:2867\r
-#, c-format\r
-msgid "Add the current folder to the bookmarks"\r
-msgstr "نۆۋەتتىكى قىسقۇچنى خەتكۈچكە قوش"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:2869\r
-#, c-format\r
-msgid "Add the selected folders to the bookmarks"\r
-msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:2907\r
-#, c-format\r
-msgid "Remove the bookmark '%s'"\r
-msgstr "'%s' خەتكۈچنى چىقىرىۋەت"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:2909\r
-#, c-format\r
-msgid "Bookmark '%s' cannot be removed"\r
-msgstr "'%s' خەتكۈچنى چىقىرىۋېتەلمىدى."\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:2916 ../gtk/gtkfilechooserdefault.c:3800\r
-msgid "Remove the selected bookmark"\r
-msgstr "تاللانغان خەتكۈچنى چىقىرىۋەت"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:3479\r
-msgid "Remove"\r
-msgstr "چىقىرىۋەت"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:3488\r
-msgid "Rename..."\r
-msgstr "ئات ئۆزگەرت…"\r
-\r
-#. Accessible object name for the file chooser's shortcuts pane\r
-#: ../gtk/gtkfilechooserdefault.c:3652\r
-msgid "Places"\r
-msgstr "ئورۇن"\r
-\r
-#. Column header for the file chooser's shortcuts pane\r
-#: ../gtk/gtkfilechooserdefault.c:3709\r
-msgid "_Places"\r
-msgstr "ئورۇن(_P)"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:3788\r
-msgid "Add the selected folder to the Bookmarks"\r
-msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:3935\r
-msgid "Could not select file"\r
-msgstr "ھۆججەت تاللىيالمىدى"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:4108\r
-msgid "_Add to Bookmarks"\r
-msgstr "خەتكۈچكە قوش(_A)"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:4121\r
-msgid "Show _Hidden Files"\r
-msgstr "يوشۇرۇن ھۆججەتلەرنى كۆرسەت(_H)"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:4128\r
-msgid "Show _Size Column"\r
-msgstr "چوڭلۇق ئىستونىنى كۆرسەت(_S)"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:4353\r
-msgid "Files"\r
-msgstr "ھۆججەتلەر"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:4404\r
-msgid "Name"\r
-msgstr "ئاتى"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:4427\r
-msgid "Size"\r
-msgstr "چوڭلۇقى"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:4441\r
-msgid "Modified"\r
-msgstr "ئۆزگەرتكەن"\r
-\r
-#. Label\r
-#: ../gtk/gtkfilechooserdefault.c:4696 ../gtk/gtkprinteroptionwidget.c:793\r
-msgid "_Name:"\r
-msgstr "ئاتى(_N):"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:4739\r
-msgid "_Browse for other folders"\r
-msgstr "باشقا قىسقۇچقا كۆز يۈگۈرت(_B)"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:5009\r
-msgid "Type a file name"\r
-msgstr "ھۆججەت ئاتىنى كىرگۈزۈڭ"\r
-\r
-#. Create Folder\r
-#: ../gtk/gtkfilechooserdefault.c:5052\r
-msgid "Create Fo_lder"\r
-msgstr "قىسقۇچ قۇر(_L)"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:5062\r
-msgid "_Location:"\r
-msgstr "ئورنى(_L):"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:5267\r
-msgid "Save in _folder:"\r
-msgstr "قىسقۇچقا ساقلا(_F):"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:5269\r
-msgid "Create in _folder:"\r
-msgstr "قىسقۇچتا قۇر(_F):"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:6352\r
-#, c-format\r
-msgid "Could not read the contents of %s"\r
-msgstr "%s نىڭ مەزمۇنىنى ئوقۇيالمىدى"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:6356\r
-msgid "Could not read the contents of the folder"\r
-msgstr "قىسقۇچنىڭ مەزمۇنىنى ئوقۇيالمىدى"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:6449 ../gtk/gtkfilechooserdefault.c:6517\r
-#: ../gtk/gtkfilechooserdefault.c:6669\r
-msgid "Unknown"\r
-msgstr "نامەلۇم"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:6464\r
-msgid "%H:%M"\r
-msgstr "%H:%M"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:6466\r
-msgid "Yesterday at %H:%M"\r
-msgstr "ئەتە %H:%M"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:7135\r
-msgid "Cannot change to folder because it is not local"\r
-msgstr "قىسقۇچقا ئۆزگەرتەلمەيدۇ چۈنكى ئۇ يەرلىك قىسقۇچ ئەمەس"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:7732 ../gtk/gtkfilechooserdefault.c:7753\r
-#, c-format\r
-msgid "Shortcut %s already exists"\r
-msgstr "%s قىسقا يول مەۋجۇت"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:7843\r
-#, c-format\r
-msgid "Shortcut %s does not exist"\r
-msgstr "%s قىسقا يول مەۋجۇت ئەمەس"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:8102 ../gtk/gtkprintunixdialog.c:480\r
-#, c-format\r
-msgid "A file named \"%s\" already exists. Do you want to replace it?"\r
-msgstr "\"%s\" ئاتلىق ھۆججەت مەۋجۇت. ئۇنى ئالماشتۇرۇۋېتەمسىز؟"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:8105 ../gtk/gtkprintunixdialog.c:484\r
-#, c-format\r
-msgid ""\r
-"The file already exists in \"%s\". Replacing it will overwrite its contents."\r
-msgstr ""\r
-"ئىچىدە مەۋجۇت . ھۆججەتنى ئالماشتۇرسا ئىچىدىكى مەزمۇنلار قاپلىنىدۇ “%s”ھۆججەت "\r
-"ئاللىبۇرۇن"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:8110 ../gtk/gtkprintunixdialog.c:491\r
-msgid "_Replace"\r
-msgstr "ئالماشتۇر(_R)"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:8836\r
-msgid "Could not start the search process"\r
-msgstr "ئىزدىگۈچنى قوزغىتالمىدى"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:8837\r
-msgid ""\r
-"The program was not able to create a connection to the indexer daemon. "\r
-"Please make sure it is running."\r
-msgstr ""\r
-"indexer daemon غا باغلىنالمىدى. indexer daemon نىڭ ئىجرا ھالىتىنى جەزملەڭ"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:8851\r
-msgid "Could not send the search request"\r
-msgstr "ئىزدەش ئىلتىماسىنى يوللىيالمىدى"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:9070\r
-msgid "Search:"\r
-msgstr "ئىزدە:"\r
-\r
-#: ../gtk/gtkfilechooserdefault.c:9678\r
-#, c-format\r
-msgid "Could not mount %s"\r
-msgstr "%s نى ئېگەرلىگىلى بولمىدى"\r
-\r
-#. Translators: this is shown in the feedback for Tab-completion in a file\r
-#. * chooser's text entry, when the user enters an invalid path.\r
-#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1179\r
-msgid "Invalid path"\r
-msgstr "ئىناۋەتسىز يول"\r
-\r
-#. translators: this text is shown when there are no completions\r
-#. * for something the user typed in a file chooser entry\r
-#.\r
-#: ../gtk/gtkfilechooserentry.c:1111\r
-msgid "No match"\r
-msgstr "ماس كېلىدىغىنى يوق"\r
-\r
-#. translators: this text is shown when there is exactly one completion\r
-#. * for something the user typed in a file chooser entry\r
-#.\r
-#: ../gtk/gtkfilechooserentry.c:1122\r
-msgid "Sole completion"\r
-msgstr "بىردىنبىر تاماملاش"\r
-\r
-#. translators: this text is shown when the text in a file chooser\r
-#. * entry is a complete filename, but could be continued to find\r
-#. * a longer match\r
-#.\r
-#: ../gtk/gtkfilechooserentry.c:1138\r
-msgid "Complete, but not unique"\r
-msgstr "تاماملاندى، ئەمما بىردىنبىر ئەمەس"\r
-\r
-#. Translators: this text is shown while the system is searching\r
-#. * for possible completions for filenames in a file chooser entry.\r
-#: ../gtk/gtkfilechooserentry.c:1170\r
-msgid "Completing..."\r
-msgstr "تاماملاۋاتىدۇ…"\r
-\r
-#. hostnames in a local_only file chooser? user error\r
-#. Translators: this is shown in the feedback for Tab-completion in a\r
-#. * file chooser's text entry when the user enters something like\r
-#. * "sftp://blahblah" in an app that only supports local filenames.\r
-#: ../gtk/gtkfilechooserentry.c:1192 ../gtk/gtkfilechooserentry.c:1217\r
-msgid "Only local files may be selected"\r
-msgstr "يەرلىك ھۆججەتنىلا تاللىغىلى بولىدۇ"\r
-\r
-#. Another option is to complete the hostname based on the remote volumes that are mounted\r
-#. Translators: this is shown in the feedback for Tab-completion in a\r
-#. * file chooser's text entry when the user hasn't entered the first '/'\r
-#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]")\r
-#: ../gtk/gtkfilechooserentry.c:1201\r
-msgid "Incomplete hostname; end it with '/'"\r
-msgstr "كومپيۇتېر ئاتى كەمتۈك؛ '/' بىلەن ئاخىرلىشىدۇ"\r
-\r
-#. Translators: this is shown in the feedback for Tab-completion in a file\r
-#. * chooser's text entry when the user enters a path that does not exist\r
-#. * and then hits Tab\r
-#: ../gtk/gtkfilechooserentry.c:1212\r
-msgid "Path does not exist"\r
-msgstr "يول مەۋجۇت ئەمەس."\r
-\r
-#. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are\r
-#. * really pointers to GDrive, GVolume or GMount objects. We need an extra\r
-#. * token for the fake "File System" volume. So, we'll return a pointer to\r
-#. * this particular string.\r
-#.\r
-#: ../gtk/gtkfilesystem.c:48\r
-msgid "File System"\r
-msgstr "ھۆججەت سىستېمىسى"\r
-\r
-#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266\r
-msgid "Pick a Font"\r
-msgstr "خەت نۇسخا تاللا"\r
-\r
-#. Initialize fields\r
-#: ../gtk/gtkfontbutton.c:260\r
-msgid "Sans 12"\r
-msgstr "UKIJ Tuz Tom 10"\r
-\r
-#: ../gtk/gtkfontbutton.c:785\r
-msgid "Font"\r
-msgstr "خەت نۇسخا"\r
-\r
-#. This is the default text shown in the preview entry, though the user\r
-#. can set it. Remember that some fonts only have capital letters.\r
-#: ../gtk/gtkfontsel.c:100\r
-msgid "abcdefghijk ABCDEFGHIJK"\r
-msgstr "ئا ئە ب پ ت ج چ خ د ر ز ژ abcdefghijk ABCDEFGHIJK"\r
-\r
-#: ../gtk/gtkfontsel.c:366\r
-msgid "_Family:"\r
-msgstr "خەت نۇسخا تۈرى(_F):"\r
-\r
-#: ../gtk/gtkfontsel.c:372\r
-msgid "_Style:"\r
-msgstr "ئۇسلۇب(_S):"\r
-\r
-#: ../gtk/gtkfontsel.c:378\r
-msgid "Si_ze:"\r
-msgstr "چوڭلۇقى(_Z):"\r
-\r
-#. create the text entry widget\r
-#: ../gtk/gtkfontsel.c:554\r
-msgid "_Preview:"\r
-msgstr "ئالدىن كۆزەت(_P):"\r
-\r
-#: ../gtk/gtkfontsel.c:1653\r
-msgid "Font Selection"\r
-msgstr "خەت نۇسخا تاللاش"\r
-\r
-#. Remove this icon source so we don't keep trying to\r
-#. * load it.\r
-#.\r
-#: ../gtk/gtkiconfactory.c:1358\r
-#, c-format\r
-msgid "Error loading icon: %s"\r
-msgstr "سىنبەلگە يۈكلىگەندە خاتالىق كۆرۈلدى: %s"\r
-\r
-#: ../gtk/gtkicontheme.c:1336\r
-#, c-format\r
-msgid ""\r
-"Could not find the icon '%s'. The '%s' theme\n"\r
-"was not found either, perhaps you need to install it.\n"\r
-"You can get a copy from:\n"\r
-"\t%s"\r
-msgstr ""\r
-"'%s' سىنبەلگىنى تاپالمىدى. '%s' باش تېمىنىمۇ تاپالمىدى، ئۇنى ئورنىتىشىڭىز "\r
-"زۆرۈردەك قىلىدۇ. ئۇنىڭ كۆچۈرۈلمە نۇسخىسىنى تۆۋەندىكى ئادرېستىن تاپالايسىز:\n"\r
-"%s"\r
-\r
-#: ../gtk/gtkicontheme.c:1518\r
-#, c-format\r
-msgid "Icon '%s' not present in theme"\r
-msgstr "'%s' سىنبەلگە باش تېمىدا كۆرۈلمىدى"\r
-\r
-#: ../gtk/gtkicontheme.c:3038\r
-msgid "Failed to load icon"\r
-msgstr "سىنبەلگە يۈكلىيەلمىدى"\r
-\r
-#: ../gtk/gtkimmodule.c:526\r
-msgid "Simple"\r
-msgstr "ئاددىي"\r
-\r
-#: ../gtk/gtkimmulticontext.c:588\r
-msgctxt "input method menu"\r
-msgid "System"\r
-msgstr "سىستېما"\r
-\r
-#: ../gtk/gtkimmulticontext.c:598\r
-msgctxt "input method menu"\r
-msgid "None"\r
-msgstr "يوق"\r
-\r
-#: ../gtk/gtkimmulticontext.c:681\r
-#, c-format\r
-msgctxt "input method menu"\r
-msgid "System (%s)"\r
-msgstr "سىستېما(%s)"\r
-\r
-#. Open Link\r
-#: ../gtk/gtklabel.c:6245\r
-msgid "_Open Link"\r
-msgstr "ئۇلانما ئاچ(_O)"\r
-\r
-#. Copy Link Address\r
-#: ../gtk/gtklabel.c:6257\r
-msgid "Copy _Link Address"\r
-msgstr "ئۇلانما ئادرېسىنى كۆچۈر(_L)"\r
-\r
-#: ../gtk/gtklinkbutton.c:482\r
-msgid "Copy URL"\r
-msgstr "URL كۆچۈر"\r
-\r
-#: ../gtk/gtklinkbutton.c:645\r
-msgid "Invalid URI"\r
-msgstr "ئىناۋەتسىز URI"\r
-\r
-#. Description of --gtk-module=MODULES in --help output\r
-#: ../gtk/gtkmain.c:563\r
-msgid "Load additional GTK+ modules"\r
-msgstr "قوشۇمچە GTK+ بۆلىكىنى يۈكلە"\r
-\r
-#. Placeholder in --gtk-module=MODULES in --help output\r
-#: ../gtk/gtkmain.c:564\r
-msgid "MODULES"\r
-msgstr "بۆلەك"\r
-\r
-#. Description of --g-fatal-warnings in --help output\r
-#: ../gtk/gtkmain.c:566\r
-msgid "Make all warnings fatal"\r
-msgstr "ھەممە ئاگاھلاندۇرۇشنى ئېغىر خاتالىققا ئۆزگەرت"\r
-\r
-#. Description of --gtk-debug=FLAGS in --help output\r
-#: ../gtk/gtkmain.c:569\r
-msgid "GTK+ debugging flags to set"\r
-msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى"\r
-\r
-#. Description of --gtk-no-debug=FLAGS in --help output\r
-#: ../gtk/gtkmain.c:572\r
-msgid "GTK+ debugging flags to unset"\r
-msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى"\r
-\r
-#. Translate to default:RTL if you want your widgets\r
-#. * to be RTL, otherwise translate to default:LTR.\r
-#. * Do *not* translate it to "predefinito:LTR", if it\r
-#. * it isn't default:LTR or default:RTL it will not work\r
-#.\r
-#: ../gtk/gtkmain.c:846\r
-msgid "default:LTR"\r
-msgstr "default:RTL"\r
-\r
-#: ../gtk/gtkmain.c:910\r
-#, c-format\r
-msgid "Cannot open display: %s"\r
-msgstr "ئېكران ئېچىلمىدى: (%s)"\r
-\r
-#: ../gtk/gtkmain.c:976\r
-msgid "GTK+ Options"\r
-msgstr "GTK+ تاللانما"\r
-\r
-#: ../gtk/gtkmain.c:976\r
-msgid "Show GTK+ Options"\r
-msgstr "GTK+ تاللانما كۆرسەت"\r
-\r
-#: ../gtk/gtkmountoperation.c:491\r
-msgid "Co_nnect"\r
-msgstr "باغلا(_N)"\r
-\r
-#: ../gtk/gtkmountoperation.c:558\r
-msgid "Connect _anonymously"\r
-msgstr "ئاتسىز باغلىنىش(_A)"\r
-\r
-#: ../gtk/gtkmountoperation.c:567\r
-msgid "Connect as u_ser:"\r
-msgstr "باغلىنىش سالاھىيىتى(_S):"\r
-\r
-#: ../gtk/gtkmountoperation.c:605\r
-msgid "_Username:"\r
-msgstr "ئىشلەتكۈچى ئاتى(_U):"\r
-\r
-#: ../gtk/gtkmountoperation.c:610\r
-msgid "_Domain:"\r
-msgstr "دائىرە(_D):"\r
-\r
-#: ../gtk/gtkmountoperation.c:616\r
-msgid "_Password:"\r
-msgstr "ئىم(_P):"\r
-\r
-#: ../gtk/gtkmountoperation.c:634\r
-msgid "Forget password _immediately"\r
-msgstr "ئىمنى دەرھال ئۇنتۇ(_I)"\r
-\r
-#: ../gtk/gtkmountoperation.c:644\r
-msgid "Remember password until you _logout"\r
-msgstr "تىزىمدىن چىقىشتىن ئىلگىرى ئىمنى ئەستە تۇت(_L)"\r
-\r
-#: ../gtk/gtkmountoperation.c:654\r
-msgid "Remember _forever"\r
-msgstr "مەڭگۈ ئەستە تۇت(_F)"\r
-\r
-#: ../gtk/gtkmountoperation.c:883\r
-#, c-format\r
-msgid "Unknown Application (PID %d)"\r
-msgstr "نامەلۇم پروگرامما (PID %d)"\r
-\r
-#: ../gtk/gtkmountoperation.c:1066\r
-msgid "Unable to end process"\r
-msgstr "ئىجرانى ئاخىرلاشتۇرالمايدۇ"\r
-\r
-#: ../gtk/gtkmountoperation.c:1103\r
-msgid "_End Process"\r
-msgstr "ئىجرانى ئاخىرلاشتۇر(_E)"\r
-\r
-#: ../gtk/gtkmountoperation-stub.c:64\r
-#, c-format\r
-msgid "Cannot kill process with PID %d. Operation is not implemented."\r
-msgstr "PID %d ئىجرانى يوقىتالمايدۇ. مەشغۇلاتنى ئىجرا قىلغىلى بولمايدۇ."\r
-\r
-#. translators: this string is a name for the 'less' command\r
-#: ../gtk/gtkmountoperation-x11.c:859\r
-msgid "Terminal Pager"\r
-msgstr "تېرمىنال ئوقۇغۇچ"\r
-\r
-#: ../gtk/gtkmountoperation-x11.c:860\r
-msgid "Top Command"\r
-msgstr "كۆپ ئىشلىتىدىغان بۇيرۇق"\r
-\r
-#: ../gtk/gtkmountoperation-x11.c:861\r
-msgid "Bourne Again Shell"\r
-msgstr "Bourne Again Shell"\r
-\r
-#: ../gtk/gtkmountoperation-x11.c:862\r
-msgid "Bourne Shell"\r
-msgstr "Bourne Shell"\r
-\r
-#: ../gtk/gtkmountoperation-x11.c:863\r
-msgid "Z Shell"\r
-msgstr "Z Shell"\r
-\r
-#: ../gtk/gtkmountoperation-x11.c:960\r
-#, c-format\r
-msgid "Cannot end process with PID %d: %s"\r
-msgstr "PID %d ئىجرانى ئاخىرلاشتۇرالمايدۇ: %s"\r
-\r
-#: ../gtk/gtknotebook.c:4805 ../gtk/gtknotebook.c:7459\r
-#, c-format\r
-msgid "Page %u"\r
-msgstr "%u-بەت"\r
-\r
-#. Translators: the format here is used to build the string that will be rendered\r
-#. * in the number emblem.\r
-#.\r
-#: ../gtk/gtknumerableicon.c:481\r
-#, c-format\r
-msgctxt "Number format"\r
-msgid "%d"\r
-msgstr "%d"\r
-\r
-#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:849\r
-#: ../gtk/gtkpapersize.c:889\r
-msgid "Not a valid page setup file"\r
-msgstr "ئىناۋەتلىك بەت تەڭشەك ھۆججىتى ئەمەس"\r
-\r
-#: ../gtk/gtkpagesetupunixdialog.c:177\r
-msgid "Any Printer"\r
-msgstr "خالىغان پرىنتېر"\r
-\r
-#: ../gtk/gtkpagesetupunixdialog.c:177\r
-msgid "For portable documents"\r
-msgstr "ئەپچىل پۈتۈك ئۈچۈن"\r
-\r
-#: ../gtk/gtkpagesetupunixdialog.c:807\r
-#, c-format\r
-msgid ""\r
-"Margins:\n"\r
-" Left: %s %s\n"\r
-" Right: %s %s\n"\r
-" Top: %s %s\n"\r
-" Bottom: %s %s"\r
-msgstr ""\r
-"يان ئارىلىقى:\n"\r
-"سول: %s %s\n"\r
-"ئوڭ: %s %s\n"\r
-" ئۈستى: %s %s\n"\r
-" ئاستى: %s %s"\r
-\r
-#: ../gtk/gtkpagesetupunixdialog.c:856 ../gtk/gtkprintunixdialog.c:3304\r
-msgid "Manage Custom Sizes..."\r
-msgstr "ئىختىيارى چوڭلۇق باشقۇر…"\r
-\r
-#: ../gtk/gtkpagesetupunixdialog.c:907\r
-msgid "_Format for:"\r
-msgstr "فورمات(_F):"\r
-\r
-#: ../gtk/gtkpagesetupunixdialog.c:929 ../gtk/gtkprintunixdialog.c:3476\r
-msgid "_Paper size:"\r
-msgstr "قەغەز چوڭلۇقى(_P):"\r
-\r
-#: ../gtk/gtkpagesetupunixdialog.c:960\r
-msgid "_Orientation:"\r
-msgstr "يۆنىلىش(_O):"\r
-\r
-#: ../gtk/gtkpagesetupunixdialog.c:1024 ../gtk/gtkprintunixdialog.c:3538\r
-msgid "Page Setup"\r
-msgstr "بەت تەڭشەك"\r
-\r
-#: ../gtk/gtkpathbar.c:157\r
-msgid "Up Path"\r
-msgstr "ئۈستۈنكى يول"\r
-\r
-#: ../gtk/gtkpathbar.c:159\r
-msgid "Down Path"\r
-msgstr "ئاستىنقى يول"\r
-\r
-#: ../gtk/gtkpathbar.c:1518\r
-msgid "File System Root"\r
-msgstr "ھۆججەت سىستېما غولى"\r
-\r
-#: ../gtk/gtkprintbackend.c:749\r
-msgid "Authentication"\r
-msgstr "سالاھىيەت دەلىللەش"\r
-\r
-#: ../gtk/gtkprinteroptionwidget.c:686\r
-msgid "Not available"\r
-msgstr "ئىشلەتكىلى بولمايدۇ"\r
-\r
-#: ../gtk/gtkprinteroptionwidget.c:786\r
-msgid "Select a folder"\r
-msgstr "قىسقۇچ تاللاڭ"\r
-\r
-#: ../gtk/gtkprinteroptionwidget.c:805\r
-msgid "_Save in folder:"\r
-msgstr "قىسقۇچتا ساقلا(_S):"\r
-\r
-#. translators: this string is the default job title for print\r
-#. * jobs. %s gets replaced by the application name, %d gets replaced\r
-#. * by the job number.\r
-#.\r
-#: ../gtk/gtkprintoperation.c:263\r
-#, c-format\r
-msgid "%s job #%d"\r
-msgstr "%s نىڭ بېسىش ۋەزىپىسى #%d"\r
-\r
-#: ../gtk/gtkprintoperation.c:1768\r
-msgctxt "print operation status"\r
-msgid "Initial state"\r
-msgstr "دەسلەپكى ھالەت"\r
-\r
-#: ../gtk/gtkprintoperation.c:1769\r
-msgctxt "print operation status"\r
-msgid "Preparing to print"\r
-msgstr "بېسىشقا تەييارلىنىۋاتىدۇ"\r
-\r
-#: ../gtk/gtkprintoperation.c:1770\r
-msgctxt "print operation status"\r
-msgid "Generating data"\r
-msgstr "سانلىق مەلۇمات ياساۋاتىدۇ"\r
-\r
-#: ../gtk/gtkprintoperation.c:1771\r
-msgctxt "print operation status"\r
-msgid "Sending data"\r
-msgstr "ئۇچۇر يوللاۋاتىدۇ"\r
-\r
-#: ../gtk/gtkprintoperation.c:1772\r
-msgctxt "print operation status"\r
-msgid "Waiting"\r
-msgstr "ساقلاۋاتىدۇ"\r
-\r
-#: ../gtk/gtkprintoperation.c:1773\r
-msgctxt "print operation status"\r
-msgid "Blocking on issue"\r
-msgstr "توسۇلۇش مەسىلىسى"\r
-\r
-#: ../gtk/gtkprintoperation.c:1774\r
-msgctxt "print operation status"\r
-msgid "Printing"\r
-msgstr "بېسىۋاتىدۇ"\r
-\r
-#: ../gtk/gtkprintoperation.c:1775\r
-msgctxt "print operation status"\r
-msgid "Finished"\r
-msgstr "تاماملاندى"\r
-\r
-#: ../gtk/gtkprintoperation.c:1776\r
-msgctxt "print operation status"\r
-msgid "Finished with error"\r
-msgstr "خاتالىق بىلەن تاماملاندى"\r
-\r
-#: ../gtk/gtkprintoperation.c:2343\r
-#, c-format\r
-msgid "Preparing %d"\r
-msgstr "%d تەييارلاۋاتىدۇ"\r
-\r
-#: ../gtk/gtkprintoperation.c:2345 ../gtk/gtkprintoperation.c:2975\r
-msgid "Preparing"\r
-msgstr "تەييارلىق ھالەت"\r
-\r
-#: ../gtk/gtkprintoperation.c:2348\r
-#, c-format\r
-msgid "Printing %d"\r
-msgstr "%d نى بېسىۋاتىدۇ"\r
-\r
-#: ../gtk/gtkprintoperation.c:3005\r
-msgid "Error creating print preview"\r
-msgstr "بېسىشنى ئالدىن كۆزىتىش قۇرۇشتا خاتالىق كۆرۈلدى"\r
-\r
-#: ../gtk/gtkprintoperation.c:3008\r
-msgid "The most probable reason is that a temporary file could not be created."\r
-msgstr ""\r
-"مۇمكىنچىلىكى يۇقىرى سەۋەب ۋاقىتلىق ھۆججەت قۇرغىلى بولماسلىق بولۇشى مۇمكىن."\r
-\r
-#: ../gtk/gtkprintoperation-unix.c:304\r
-msgid "Error launching preview"\r
-msgstr "ئالدىن كۆزىتىشنى قوزغىتىشتا خاتالىق كۆرۈلدى"\r
-\r
-#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447\r
-msgid "Application"\r
-msgstr "پروگرامما"\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:611\r
-msgid "Printer offline"\r
-msgstr "پرىنتېر ئۈزۈك ھالەتتە"\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:613\r
-msgid "Out of paper"\r
-msgstr "قەغەز يېتىشمىدى"\r
-\r
-#. Translators: this is a printer status.\r
-#: ../gtk/gtkprintoperation-win32.c:615\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002\r
-msgid "Paused"\r
-msgstr "ۋاقىتلىق توختىدى"\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:617\r
-msgid "Need user intervention"\r
-msgstr "ئىشلەتكۈچىنىڭ مەشغۇلاتىغا موھتاج"\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:717\r
-msgid "Custom size"\r
-msgstr "ئىختىيارى چوڭلۇق"\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:1539\r
-msgid "No printer found"\r
-msgstr "پرىنتېر تېپىلمىدى"\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:1566\r
-msgid "Invalid argument to CreateDC"\r
-msgstr "CreateDC نىڭ پارامېتىرى ئىناۋەتسىز"\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829\r
-msgid "Error from StartDoc"\r
-msgstr "StartDoc دىن خاتالىق كۆرۈلدى"\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707\r
-#: ../gtk/gtkprintoperation-win32.c:1755\r
-msgid "Not enough free memory"\r
-msgstr "يېتەرلىك بوش ئەسلەك يوق."\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:1760\r
-msgid "Invalid argument to PrintDlgEx"\r
-msgstr "PrintDlgEx نىڭ پارامېتىرى ئىناۋەتسىز"\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:1765\r
-msgid "Invalid pointer to PrintDlgEx"\r
-msgstr "PrintDlgEx نىڭ ئىسترېلكىسى ئىناۋەتسىز"\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:1770\r
-msgid "Invalid handle to PrintDlgEx"\r
-msgstr "PrintDlgEx نىڭ تۇتقۇسى ئىناۋەتسىز"\r
-\r
-#: ../gtk/gtkprintoperation-win32.c:1775\r
-msgid "Unspecified error"\r
-msgstr "ئېنىقسىز خاتالىق"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:618\r
-msgid "Getting printer information failed"\r
-msgstr "پرىنتېر ئۇچۇرىغا ئېرىشەلمىدى"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:1871\r
-msgid "Getting printer information..."\r
-msgstr "پرىنتېر ئۇچۇرىغا ئېرىشىۋاتىدۇ…"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2145\r
-msgid "Printer"\r
-msgstr "پرىنتېر"\r
-\r
-#. Translators: this is the header for the location column in the print dialog\r
-#: ../gtk/gtkprintunixdialog.c:2155\r
-msgid "Location"\r
-msgstr "ئورنى"\r
-\r
-#. Translators: this is the header for the printer status column in the print dialog\r
-#: ../gtk/gtkprintunixdialog.c:2166\r
-msgid "Status"\r
-msgstr "ھالىتى"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2192\r
-msgid "Range"\r
-msgstr "دائىرىسى"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2196\r
-msgid "_All Pages"\r
-msgstr "ھەممە بەت(_A)"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2203\r
-msgid "C_urrent Page"\r
-msgstr "نۆۋەتتىكى بەت(_U)"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2213\r
-msgid "Se_lection"\r
-msgstr "تاللا(_L)"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2222\r
-msgid "Pag_es:"\r
-msgstr "بەتلەر(_E):"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2223\r
-msgid ""\r
-"Specify one or more page ranges,\n"\r
-" e.g. 1-3,7,11"\r
-msgstr ""\r
-"بىر ياكى كۆپ بەت دائىرە بەلگىلەڭ،\n"\r
-"مەسىلەن: 1-3,7,11"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2233\r
-msgid "Pages"\r
-msgstr "بەتلەر"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2246\r
-msgid "Copies"\r
-msgstr "نۇسخا"\r
-\r
-#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns\r
-#: ../gtk/gtkprintunixdialog.c:2251\r
-msgid "Copie_s:"\r
-msgstr "نۇسخا سانى(_S):"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2269\r
-msgid "C_ollate"\r
-msgstr "رەت بويىچە(_O)"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2277\r
-msgid "_Reverse"\r
-msgstr "ئەكسىچە(_R)"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:2297\r
-msgid "General"\r
-msgstr "ئادەتتىكى"\r
-\r
-#. Translators: These strings name the possible arrangements of\r
-#. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c)\r
-#.\r
-#. Translators: These strings name the possible arrangements of\r
-#. * multiple pages on a sheet when printing\r
-#.\r
-#: ../gtk/gtkprintunixdialog.c:3037\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535\r
-msgid "Left to right, top to bottom"\r
-msgstr "سولدىن ئوڭغا، ئۈستىدىن ئاستىغا"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3037\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535\r
-msgid "Left to right, bottom to top"\r
-msgstr "سولدىن ئوڭغا، ئاستىدىن ئۈستىگە"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3038\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536\r
-msgid "Right to left, top to bottom"\r
-msgstr "ئوڭدىن سولغا، ئۈستىدىن ئاستىغا"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3038\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536\r
-msgid "Right to left, bottom to top"\r
-msgstr "ئوڭدىن سولغا، ئاستىدىن ئۈستىگە"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3039\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537\r
-msgid "Top to bottom, left to right"\r
-msgstr "ئۈستىدىن ئاستىغا، سولدىن ئوڭغا"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3039\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537\r
-msgid "Top to bottom, right to left"\r
-msgstr "ئۈستىدىن ئاستىغا، ئوڭدىن سولغا"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3040\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538\r
-msgid "Bottom to top, left to right"\r
-msgstr "ئاستىدىن ئۈستىگە، سولدىن ئوڭغا"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3040\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538\r
-msgid "Bottom to top, right to left"\r
-msgstr "ئاستىدىن ئۈستىگە، ئوڭدىن سولغا"\r
-\r
-#. Translators, this string is used to label the option in the print\r
-#. * dialog that controls in what order multiple pages are arranged\r
-#.\r
-#: ../gtk/gtkprintunixdialog.c:3044 ../gtk/gtkprintunixdialog.c:3057\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3570\r
-msgid "Page Ordering"\r
-msgstr "بەت تەرتىپى"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3073\r
-msgid "Left to right"\r
-msgstr "سولدىن ئوڭغا"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3074\r
-msgid "Right to left"\r
-msgstr "ئوڭدىن سولغا"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3086\r
-msgid "Top to bottom"\r
-msgstr "ئۈستىدىن ئاستىغا"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3087\r
-msgid "Bottom to top"\r
-msgstr "ئاستىدىن ئۈستىگە"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3327\r
-msgid "Layout"\r
-msgstr "ئۇسلۇب"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3331\r
-msgid "T_wo-sided:"\r
-msgstr "قوش يۈزلۈك(_W):"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3346\r
-msgid "Pages per _side:"\r
-msgstr "ھەربىر يۈزىنىڭ بەت سانى(_S):"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3363\r
-msgid "Page or_dering:"\r
-msgstr "بەت تەرتىپى(_D):"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3379\r
-msgid "_Only print:"\r
-msgstr "بېسىشلا(_O):"\r
-\r
-#. In enum order\r
-#: ../gtk/gtkprintunixdialog.c:3394\r
-msgid "All sheets"\r
-msgstr "ھەممە ۋاراقلار"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3395\r
-msgid "Even sheets"\r
-msgstr "تاق ۋاراقلار"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3396\r
-msgid "Odd sheets"\r
-msgstr "جۈپ ۋاراقلار"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3399\r
-msgid "Sc_ale:"\r
-msgstr "نىسبەت(_A):"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3426\r
-msgid "Paper"\r
-msgstr "قەغەز"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3430\r
-msgid "Paper _type:"\r
-msgstr "قەغەز تىپى(_T):"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3445\r
-msgid "Paper _source:"\r
-msgstr "قەغەز مەنبەسى(_S):"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3460\r
-msgid "Output t_ray:"\r
-msgstr "قەغەز قۇتىسى(_R):"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3500\r
-msgid "Or_ientation:"\r
-msgstr "يۆنىلىش(_I):"\r
-\r
-#. In enum order\r
-#: ../gtk/gtkprintunixdialog.c:3515\r
-msgid "Portrait"\r
-msgstr "بوي يۆنىلىش"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3516\r
-msgid "Landscape"\r
-msgstr "توغرا يۆنىلىش"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3517\r
-msgid "Reverse portrait"\r
-msgstr "تەتۈر بوي يۆنىلىش"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3518\r
-msgid "Reverse landscape"\r
-msgstr "تەتۈر توغرا يۆنىلىش"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3563\r
-msgid "Job Details"\r
-msgstr "ۋەزىپە تەپسىلاتى"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3569\r
-msgid "Pri_ority:"\r
-msgstr "ئالدىنلىق(_O):"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3584\r
-msgid "_Billing info:"\r
-msgstr "ھەق ھېسابلاش ئۇچۇرى(_B):"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3602\r
-msgid "Print Document"\r
-msgstr "پۈتۈك باس"\r
-\r
-#. Translators: this is one of the choices for the print at option\r
-#. * in the print dialog\r
-#.\r
-#: ../gtk/gtkprintunixdialog.c:3611\r
-msgid "_Now"\r
-msgstr "دەرھال(_N)"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3622\r
-msgid "A_t:"\r
-msgstr "دە(_T):"\r
-\r
-#. Translators: Ability to parse the am/pm format depends on actual locale.\r
-#. * You can remove the am/pm values below for your locale if they are not\r
-#. * supported.\r
-#.\r
-#: ../gtk/gtkprintunixdialog.c:3628\r
-msgid ""\r
-"Specify the time of print,\n"\r
-" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"\r
-msgstr ""\r
-"بېسىش ۋاقتى بەلگىلىنىدۇ،\n"\r
-" مەسىلەن: 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3638\r
-msgid "Time of print"\r
-msgstr "بېسىش ۋاقتى"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3654\r
-msgid "On _hold"\r
-msgstr "كۈت(_H)"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3655\r
-msgid "Hold the job until it is explicitly released"\r
-msgstr "ۋەزىپىنى ئېنىق ئاجرىتىلغانغا قەدەر داۋاملاشتۇر"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3675\r
-msgid "Add Cover Page"\r
-msgstr "مۇقاۋا بەت قوش"\r
-\r
-#. Translators, this is the label used for the option in the print\r
-#. * dialog that controls the front cover page.\r
-#.\r
-#: ../gtk/gtkprintunixdialog.c:3684\r
-msgid "Be_fore:"\r
-msgstr "ئالدى(_F):"\r
-\r
-#. Translators, this is the label used for the option in the print\r
-#. * dialog that controls the back cover page.\r
-#.\r
-#: ../gtk/gtkprintunixdialog.c:3702\r
-msgid "_After:"\r
-msgstr "كەينى(_A):"\r
-\r
-#. Translators: this is the tab label for the notebook tab containing\r
-#. * job-specific options in the print dialog\r
-#.\r
-#: ../gtk/gtkprintunixdialog.c:3720\r
-msgid "Job"\r
-msgstr "ۋەزىپە"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3786\r
-msgid "Advanced"\r
-msgstr "ئالىي"\r
-\r
-#. Translators: this will appear as tab label in print dialog.\r
-#: ../gtk/gtkprintunixdialog.c:3824\r
-msgid "Image Quality"\r
-msgstr "سۈرەت سۈپىتى"\r
-\r
-#. Translators: this will appear as tab label in print dialog.\r
-#: ../gtk/gtkprintunixdialog.c:3828\r
-msgid "Color"\r
-msgstr "رەڭ"\r
-\r
-#. Translators: this will appear as tab label in print dialog.\r
-#. It's a typographical term, as in "Binding and finishing"\r
-#: ../gtk/gtkprintunixdialog.c:3833\r
-msgid "Finishing"\r
-msgstr "تامام"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3843\r
-msgid "Some of the settings in the dialog conflict"\r
-msgstr "سۆزلەشكۈ رامكىسىدىكى بەزى تەڭشەكلەردە توقۇنۇش بار"\r
-\r
-#: ../gtk/gtkprintunixdialog.c:3866\r
-msgid "Print"\r
-msgstr "باس"\r
-\r
-#: ../gtk/gtkrc.c:948\r
-#, c-format\r
-msgid "Unable to locate image file in pixmap_path: \"%s\""\r
-msgstr "پىكسېل رەسىم يولىدىن رەسىم ھۆججىتى تېپىلمىدى:“%s”"\r
-\r
-#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173\r
-#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616\r
-#, c-format\r
-msgid "This function is not implemented for widgets of class '%s'"\r
-msgstr "فۇنكسىيە “%s” تۈردىكى تۇلۇقتا ئەمەلگە ئاشمايدۇ"\r
-\r
-#: ../gtk/gtkrecentchooserdefault.c:483\r
-msgid "Select which type of documents are shown"\r
-msgstr "كۆرسەتمەكچى بولغان پۈتۈك تىپىنى تاللاڭ"\r
-\r
-#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174\r
-#, c-format\r
-msgid "No item for URI '%s' found"\r
-msgstr "URI“%s” تۈرنى تاپالمىدى"\r
-\r
-#: ../gtk/gtkrecentchooserdefault.c:1301\r
-msgid "Untitled filter"\r
-msgstr "تېمىسىز سۈزگۈچ"\r
-\r
-#: ../gtk/gtkrecentchooserdefault.c:1654\r
-msgid "Could not remove item"\r
-msgstr "تۈرنى چىقىرىۋېتەلمەيدۇ"\r
-\r
-#: ../gtk/gtkrecentchooserdefault.c:1698\r
-msgid "Could not clear list"\r
-msgstr "تىزىمنى تازىلىيالمايدۇ"\r
-\r
-#: ../gtk/gtkrecentchooserdefault.c:1782\r
-msgid "Copy _Location"\r
-msgstr "ئورۇن كۆچۈر(_L)"\r
-\r
-#: ../gtk/gtkrecentchooserdefault.c:1795\r
-msgid "_Remove From List"\r
-msgstr "تىزىمدىن چىقىرىۋەت(_R)"\r
-\r
-#: ../gtk/gtkrecentchooserdefault.c:1804\r
-msgid "_Clear List"\r
-msgstr "تىزىمنى تازىلا(_C)"\r
-\r
-#: ../gtk/gtkrecentchooserdefault.c:1818\r
-msgid "Show _Private Resources"\r
-msgstr "شەخسى مەنبەنى كۆرسەت(_P)"\r
-\r
-#. we create a placeholder menuitem, to be used in case\r
-#. * the menu is empty. this placeholder will stay around\r
-#. * for the entire lifetime of the menu, and we just hide it\r
-#. * when it's not used. we have to do this, and do it here,\r
-#. * because we need a marker for the beginning of the recent\r
-#. * items list, so that we can insert the new items at the\r
-#. * right place when idly populating the menu in case the\r
-#. * user appended or prepended custom menu items to the\r
-#. * recent chooser menu widget.\r
-#.\r
-#: ../gtk/gtkrecentchoosermenu.c:362\r
-msgid "No items found"\r
-msgstr "تۈر تېپىلمىدى"\r
-\r
-#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584\r
-#, c-format\r
-msgid "No recently used resource found with URI `%s'"\r
-msgstr "يېقىندا ئىشلىتىلگەن مەنبەدىن URI“%s” تېپىلمىدى"\r
-\r
-#: ../gtk/gtkrecentchoosermenu.c:794\r
-#, c-format\r
-msgid "Open '%s'"\r
-msgstr "'%s' ئاچ"\r
-\r
-#: ../gtk/gtkrecentchoosermenu.c:824\r
-msgid "Unknown item"\r
-msgstr "نامەلۇم تۈر"\r
-\r
-#. This is the label format that is used for the first 10 items\r
-#. * in a recent files menu. The %d is the number of the item,\r
-#. * the %s is the name of the item. Please keep the _ in front\r
-#. * of the number to give these menu items a mnemonic.\r
-#.\r
-#: ../gtk/gtkrecentchoosermenu.c:835\r
-#, c-format\r
-msgctxt "recent menu label"\r
-msgid "_%d. %s"\r
-msgstr "_%d. %s"\r
-\r
-#. This is the format that is used for items in a recent files menu.\r
-#. * The %d is the number of the item, the %s is the name of the item.\r
-#.\r
-#: ../gtk/gtkrecentchoosermenu.c:840\r
-#, c-format\r
-msgctxt "recent menu label"\r
-msgid "%d. %s"\r
-msgstr "%d. %s"\r
-\r
-#: ../gtk/gtkrecentmanager.c:1006 ../gtk/gtkrecentmanager.c:1019\r
-#: ../gtk/gtkrecentmanager.c:1156 ../gtk/gtkrecentmanager.c:1166\r
-#: ../gtk/gtkrecentmanager.c:1218 ../gtk/gtkrecentmanager.c:1227\r
-#: ../gtk/gtkrecentmanager.c:1242\r
-#, c-format\r
-msgid "Unable to find an item with URI '%s'"\r
-msgstr "URI '%s' تۈر تېپىلمىدى"\r
-\r
-#: ../gtk/gtkrecentmanager.c:2442\r
-#, c-format\r
-msgid "No registered application with name '%s' for item with URI '%s' found"\r
-msgstr "تۈرنىڭ '%s' ئاتلىق خەتلەتكەن پروگراممىسىنىڭ URI '%s' تېپىلمىدى"\r
-\r
-#: ../gtk/gtkspinner.c:287\r
-msgctxt "throbbing progress animation widget"\r
-msgid "Spinner"\r
-msgstr "مىكرو تەڭشەك"\r
-\r
-#: ../gtk/gtkspinner.c:288\r
-msgid "Provides visual indication of progress"\r
-msgstr "كۆرۈنمە كۆرسەتكۈچ جەريانى تەمىنلەيدۇ"\r
-\r
-#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate\r
-#: ../gtk/gtkstock.c:313\r
-msgctxt "Stock label"\r
-msgid "Information"\r
-msgstr "ئۇچۇر"\r
-\r
-#: ../gtk/gtkstock.c:314\r
-msgctxt "Stock label"\r
-msgid "Warning"\r
-msgstr "ئاگاھلاندۇرۇش"\r
-\r
-#: ../gtk/gtkstock.c:315\r
-msgctxt "Stock label"\r
-msgid "Error"\r
-msgstr "خاتالىق"\r
-\r
-#: ../gtk/gtkstock.c:316\r
-msgctxt "Stock label"\r
-msgid "Question"\r
-msgstr "سوئال"\r
-\r
-#. FIXME these need accelerators when appropriate, and\r
-#. * need the mnemonics to be rationalized\r
-#.\r
-#: ../gtk/gtkstock.c:321\r
-msgctxt "Stock label"\r
-msgid "_About"\r
-msgstr "ھەققىدە(_A)"\r
-\r
-#: ../gtk/gtkstock.c:322\r
-msgctxt "Stock label"\r
-msgid "_Add"\r
-msgstr "قوش(_A)"\r
-\r
-#: ../gtk/gtkstock.c:323\r
-msgctxt "Stock label"\r
-msgid "_Apply"\r
-msgstr "قوللان(_A)"\r
-\r
-#: ../gtk/gtkstock.c:324\r
-msgctxt "Stock label"\r
-msgid "_Bold"\r
-msgstr "توم(_B)"\r
-\r
-#: ../gtk/gtkstock.c:325\r
-msgctxt "Stock label"\r
-msgid "_Cancel"\r
-msgstr "ئەمەلدىن قالدۇر(_C)"\r
-\r
-#: ../gtk/gtkstock.c:326\r
-msgctxt "Stock label"\r
-msgid "_CD-ROM"\r
-msgstr "_CD-ROM"\r
-\r
-#: ../gtk/gtkstock.c:327\r
-msgctxt "Stock label"\r
-msgid "_Clear"\r
-msgstr "ئۆچۈر(_C)"\r
-\r
-#: ../gtk/gtkstock.c:328\r
-msgctxt "Stock label"\r
-msgid "_Close"\r
-msgstr "ياپ(_C)"\r
-\r
-#: ../gtk/gtkstock.c:329\r
-msgctxt "Stock label"\r
-msgid "C_onnect"\r
-msgstr "باغلا(_O)"\r
-\r
-#: ../gtk/gtkstock.c:330\r
-msgctxt "Stock label"\r
-msgid "_Convert"\r
-msgstr "ئايلاندۇر(_C)"\r
-\r
-#: ../gtk/gtkstock.c:331\r
-msgctxt "Stock label"\r
-msgid "_Copy"\r
-msgstr "كۆچۈر(_C)"\r
-\r
-#: ../gtk/gtkstock.c:332\r
-msgctxt "Stock label"\r
-msgid "Cu_t"\r
-msgstr "كەس(_T)"\r
-\r
-#: ../gtk/gtkstock.c:333\r
-msgctxt "Stock label"\r
-msgid "_Delete"\r
-msgstr "ئۆچۈر(_D)"\r
-\r
-#: ../gtk/gtkstock.c:334\r
-msgctxt "Stock label"\r
-msgid "_Discard"\r
-msgstr "تاشلىۋەت(_D)"\r
-\r
-#: ../gtk/gtkstock.c:335\r
-msgctxt "Stock label"\r
-msgid "_Disconnect"\r
-msgstr "ئۈز(_D)"\r
-\r
-#: ../gtk/gtkstock.c:336\r
-msgctxt "Stock label"\r
-msgid "_Execute"\r
-msgstr "ئىجرا قىل(_E)"\r
-\r
-#: ../gtk/gtkstock.c:337\r
-msgctxt "Stock label"\r
-msgid "_Edit"\r
-msgstr "تەھرىر(_E)"\r
-\r
-#: ../gtk/gtkstock.c:338\r
-msgctxt "Stock label"\r
-msgid "_File"\r
-msgstr "ھۆججەت(_F)"\r
-\r
-#: ../gtk/gtkstock.c:339\r
-msgctxt "Stock label"\r
-msgid "_Find"\r
-msgstr "ئىزدە(_F)"\r
-\r
-#: ../gtk/gtkstock.c:340\r
-msgctxt "Stock label"\r
-msgid "Find and _Replace"\r
-msgstr "ئىزدەپ ئالماشتۇر(_R)"\r
-\r
-#: ../gtk/gtkstock.c:341\r
-msgctxt "Stock label"\r
-msgid "_Floppy"\r
-msgstr "يۇمشاق دىسكا(_F)"\r
-\r
-#: ../gtk/gtkstock.c:342\r
-msgctxt "Stock label"\r
-msgid "_Fullscreen"\r
-msgstr "تولۇق ئېكران( _F)"\r
-\r
-#: ../gtk/gtkstock.c:343\r
-msgctxt "Stock label"\r
-msgid "_Leave Fullscreen"\r
-msgstr "تولۇق ئېكراندىن ئايرىل(_L)"\r
-\r
-#. This is a navigation label as in "go to the bottom of the page"\r
-#: ../gtk/gtkstock.c:345\r
-msgctxt "Stock label, navigation"\r
-msgid "_Bottom"\r
-msgstr "ئاستى(_B)"\r
-\r
-#. This is a navigation label as in "go to the first page"\r
-#: ../gtk/gtkstock.c:347\r
-msgctxt "Stock label, navigation"\r
-msgid "_First"\r
-msgstr "بىرىنچى(_F)"\r
-\r
-#. This is a navigation label as in "go to the last page"\r
-#: ../gtk/gtkstock.c:349\r
-msgctxt "Stock label, navigation"\r
-msgid "_Last"\r
-msgstr "ئاخىرقى(_L)"\r
-\r
-#. This is a navigation label as in "go to the top of the page"\r
-#: ../gtk/gtkstock.c:351\r
-msgctxt "Stock label, navigation"\r
-msgid "_Top"\r
-msgstr "بېشى(_T)"\r
-\r
-#. This is a navigation label as in "go back"\r
-#: ../gtk/gtkstock.c:353\r
-msgctxt "Stock label, navigation"\r
-msgid "_Back"\r
-msgstr "كەينى(_B)"\r
-\r
-#. This is a navigation label as in "go down"\r
-#: ../gtk/gtkstock.c:355\r
-msgctxt "Stock label, navigation"\r
-msgid "_Down"\r
-msgstr "ئاستىغا(_D)"\r
-\r
-#. This is a navigation label as in "go forward"\r
-#: ../gtk/gtkstock.c:357\r
-msgctxt "Stock label, navigation"\r
-msgid "_Forward"\r
-msgstr "ئالدى(_F)"\r
-\r
-#. This is a navigation label as in "go up"\r
-#: ../gtk/gtkstock.c:359\r
-msgctxt "Stock label, navigation"\r
-msgid "_Up"\r
-msgstr "ئۈستىگە(_U)"\r
-\r
-#: ../gtk/gtkstock.c:360\r
-msgctxt "Stock label"\r
-msgid "_Hard Disk"\r
-msgstr "قاتتىق دىسكا(_H)"\r
-\r
-#: ../gtk/gtkstock.c:361\r
-msgctxt "Stock label"\r
-msgid "_Help"\r
-msgstr "ياردەم(_H)"\r
-\r
-#: ../gtk/gtkstock.c:362\r
-msgctxt "Stock label"\r
-msgid "_Home"\r
-msgstr "باش بەت(_H)"\r
-\r
-#: ../gtk/gtkstock.c:363\r
-msgctxt "Stock label"\r
-msgid "Increase Indent"\r
-msgstr "كېڭەيت"\r
-\r
-#: ../gtk/gtkstock.c:364\r
-msgctxt "Stock label"\r
-msgid "Decrease Indent"\r
-msgstr "تارايت"\r
-\r
-#: ../gtk/gtkstock.c:365\r
-msgctxt "Stock label"\r
-msgid "_Index"\r
-msgstr "ئىندېكس(_I)"\r
-\r
-#: ../gtk/gtkstock.c:366\r
-msgctxt "Stock label"\r
-msgid "_Information"\r
-msgstr "ئۇچۇر(_I)"\r
-\r
-#: ../gtk/gtkstock.c:367\r
-msgctxt "Stock label"\r
-msgid "_Italic"\r
-msgstr "يانتۇ(_I)"\r
-\r
-#: ../gtk/gtkstock.c:368\r
-msgctxt "Stock label"\r
-msgid "_Jump to"\r
-msgstr "ئاتلا(_J)"\r
-\r
-#. This is about text justification, "centered text"\r
-#: ../gtk/gtkstock.c:370\r
-msgctxt "Stock label"\r
-msgid "_Center"\r
-msgstr "ئوتتۇرا(_C)"\r
-\r
-#. This is about text justification\r
-#: ../gtk/gtkstock.c:372\r
-msgctxt "Stock label"\r
-msgid "_Fill"\r
-msgstr "تولدۇر(_F)"\r
-\r
-#. This is about text justification, "left-justified text"\r
-#: ../gtk/gtkstock.c:374\r
-msgctxt "Stock label"\r
-msgid "_Left"\r
-msgstr "سول(_L)"\r
-\r
-#. This is about text justification, "right-justified text"\r
-#: ../gtk/gtkstock.c:376\r
-msgctxt "Stock label"\r
-msgid "_Right"\r
-msgstr "ئوڭ(_R)"\r
-\r
-#. Media label, as in "fast forward"\r
-#: ../gtk/gtkstock.c:379\r
-msgctxt "Stock label, media"\r
-msgid "_Forward"\r
-msgstr "ئالدى(_F)"\r
-\r
-#. Media label, as in "next song"\r
-#: ../gtk/gtkstock.c:381\r
-msgctxt "Stock label, media"\r
-msgid "_Next"\r
-msgstr "كېيىنكى(_N)"\r
-\r
-#. Media label, as in "pause music"\r
-#: ../gtk/gtkstock.c:383\r
-msgctxt "Stock label, media"\r
-msgid "P_ause"\r
-msgstr "ۋاقىتلىق توختات(_A)"\r
-\r
-#. Media label, as in "play music"\r
-#: ../gtk/gtkstock.c:385\r
-msgctxt "Stock label, media"\r
-msgid "_Play"\r
-msgstr "قوي(_P)"\r
-\r
-#. Media label, as in "previous song"\r
-#: ../gtk/gtkstock.c:387\r
-msgctxt "Stock label, media"\r
-msgid "Pre_vious"\r
-msgstr "ئالدىنقى(_V)"\r
-\r
-#. Media label\r
-#: ../gtk/gtkstock.c:389\r
-msgctxt "Stock label, media"\r
-msgid "_Record"\r
-msgstr "خاتىرىلە(_R)"\r
-\r
-#. Media label\r
-#: ../gtk/gtkstock.c:391\r
-msgctxt "Stock label, media"\r
-msgid "R_ewind"\r
-msgstr "تېز چېكىن(_E)"\r
-\r
-#. Media label\r
-#: ../gtk/gtkstock.c:393\r
-msgctxt "Stock label, media"\r
-msgid "_Stop"\r
-msgstr "توختا (&S)"\r
-\r
-#: ../gtk/gtkstock.c:394\r
-msgctxt "Stock label"\r
-msgid "_Network"\r
-msgstr "تور(_N)"\r
-\r
-#: ../gtk/gtkstock.c:395\r
-msgctxt "Stock label"\r
-msgid "_New"\r
-msgstr "يېڭى(_N)"\r
-\r
-#: ../gtk/gtkstock.c:396\r
-msgctxt "Stock label"\r
-msgid "_No"\r
-msgstr "ياق(_N)"\r
-\r
-#: ../gtk/gtkstock.c:397\r
-msgctxt "Stock label"\r
-msgid "_OK"\r
-msgstr "جەزملە(_O)"\r
-\r
-#: ../gtk/gtkstock.c:398\r
-msgctxt "Stock label"\r
-msgid "_Open"\r
-msgstr "ئاچ(_O)"\r
-\r
-#. Page orientation\r
-#: ../gtk/gtkstock.c:400\r
-msgctxt "Stock label"\r
-msgid "Landscape"\r
-msgstr "توغرا يۆنىلىش"\r
-\r
-#. Page orientation\r
-#: ../gtk/gtkstock.c:402\r
-msgctxt "Stock label"\r
-msgid "Portrait"\r
-msgstr "بوي يۆنىلىش"\r
-\r
-#. Page orientation\r
-#: ../gtk/gtkstock.c:404\r
-msgctxt "Stock label"\r
-msgid "Reverse landscape"\r
-msgstr "تەتۈر توغرا يۆنىلىش"\r
-\r
-#. Page orientation\r
-#: ../gtk/gtkstock.c:406\r
-msgctxt "Stock label"\r
-msgid "Reverse portrait"\r
-msgstr "تەتۈر بوي يۆنىلىش"\r
-\r
-#: ../gtk/gtkstock.c:407\r
-msgctxt "Stock label"\r
-msgid "Page Set_up"\r
-msgstr "بەت تەڭشەك(_U)"\r
-\r
-#: ../gtk/gtkstock.c:408\r
-msgctxt "Stock label"\r
-msgid "_Paste"\r
-msgstr "چاپلا(_P)"\r
-\r
-#: ../gtk/gtkstock.c:409\r
-msgctxt "Stock label"\r
-msgid "_Preferences"\r
-msgstr "مايىللىق(_P)"\r
-\r
-#: ../gtk/gtkstock.c:410\r
-msgctxt "Stock label"\r
-msgid "_Print"\r
-msgstr "باس(_P)"\r
-\r
-#: ../gtk/gtkstock.c:411\r
-msgctxt "Stock label"\r
-msgid "Print Pre_view"\r
-msgstr "بېسىشنى ئالدىن كۆزەت(_V)"\r
-\r
-#: ../gtk/gtkstock.c:412\r
-msgctxt "Stock label"\r
-msgid "_Properties"\r
-msgstr "خاسلىقلار(_P)"\r
-\r
-#: ../gtk/gtkstock.c:413\r
-msgctxt "Stock label"\r
-msgid "_Quit"\r
-msgstr "چېكىن(_Q)"\r
-\r
-#: ../gtk/gtkstock.c:414\r
-msgctxt "Stock label"\r
-msgid "_Redo"\r
-msgstr "قايتىلا(_R)"\r
-\r
-#: ../gtk/gtkstock.c:415\r
-msgctxt "Stock label"\r
-msgid "_Refresh"\r
-msgstr "يېڭىلا(_R)"\r
-\r
-#: ../gtk/gtkstock.c:416\r
-msgctxt "Stock label"\r
-msgid "_Remove"\r
-msgstr "چىقىرىۋەت(_R)"\r
-\r
-#: ../gtk/gtkstock.c:417\r
-msgctxt "Stock label"\r
-msgid "_Revert"\r
-msgstr "ئەسلىگە قايتۇر(_R)"\r
-\r
-#: ../gtk/gtkstock.c:418\r
-msgctxt "Stock label"\r
-msgid "_Save"\r
-msgstr "ساقلا(_S)"\r
-\r
-#: ../gtk/gtkstock.c:419\r
-msgctxt "Stock label"\r
-msgid "Save _As"\r
-msgstr "باشقا ئاتتا ساقلا(_A)"\r
-\r
-#: ../gtk/gtkstock.c:420\r
-msgctxt "Stock label"\r
-msgid "Select _All"\r
-msgstr "ھەممىنى تاللا(_A)"\r
-\r
-#: ../gtk/gtkstock.c:421\r
-msgctxt "Stock label"\r
-msgid "_Color"\r
-msgstr "رەڭ(_C)"\r
-\r
-#: ../gtk/gtkstock.c:422\r
-msgctxt "Stock label"\r
-msgid "_Font"\r
-msgstr "خەت نۇسخا(_F)"\r
-\r
-#. Sorting direction\r
-#: ../gtk/gtkstock.c:424\r
-msgctxt "Stock label"\r
-msgid "_Ascending"\r
-msgstr "ئۆسكۈچى(_A)"\r
-\r
-#. Sorting direction\r
-#: ../gtk/gtkstock.c:426\r
-msgctxt "Stock label"\r
-msgid "_Descending"\r
-msgstr "كېمەيگۈچى(_D)"\r
-\r
-#: ../gtk/gtkstock.c:427\r
-msgctxt "Stock label"\r
-msgid "_Spell Check"\r
-msgstr "ئىملا تەكشۈر(_S)"\r
-\r
-#: ../gtk/gtkstock.c:428\r
-msgctxt "Stock label"\r
-msgid "_Stop"\r
-msgstr "توختا (&S)"\r
-\r
-#. Font variant\r
-#: ../gtk/gtkstock.c:430\r
-msgctxt "Stock label"\r
-msgid "_Strikethrough"\r
-msgstr "ئۆچۈرۈش سىزىقى(_S)"\r
-\r
-#: ../gtk/gtkstock.c:431\r
-msgctxt "Stock label"\r
-msgid "_Undelete"\r
-msgstr "ئەسلىگە كەلتۈر(_U)"\r
-\r
-#. Font variant\r
-#: ../gtk/gtkstock.c:433\r
-msgctxt "Stock label"\r
-msgid "_Underline"\r
-msgstr "ئاستى سىزىق(_U)"\r
-\r
-#: ../gtk/gtkstock.c:434\r
-msgctxt "Stock label"\r
-msgid "_Undo"\r
-msgstr "يېنىۋال(_U)"\r
-\r
-#: ../gtk/gtkstock.c:435\r
-msgctxt "Stock label"\r
-msgid "_Yes"\r
-msgstr "ھەئە(_Y)"\r
-\r
-#. Zoom\r
-#: ../gtk/gtkstock.c:437\r
-msgctxt "Stock label"\r
-msgid "_Normal Size"\r
-msgstr "ئادەتتىكى چوڭلۇقى(_N)"\r
-\r
-#. Zoom\r
-#: ../gtk/gtkstock.c:439\r
-msgctxt "Stock label"\r
-msgid "Best _Fit"\r
-msgstr "ئەڭ مۇناسىپ(_F)"\r
-\r
-#: ../gtk/gtkstock.c:440\r
-msgctxt "Stock label"\r
-msgid "Zoom _In"\r
-msgstr "چوڭايت(_I)"\r
-\r
-#: ../gtk/gtkstock.c:441\r
-msgctxt "Stock label"\r
-msgid "Zoom _Out"\r
-msgstr "كىچىكلەت(_O)"\r
-\r
-#. Translators: if the "on" state label requires more than three\r
-#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for\r
-#. * the state\r
-#.\r
-#: ../gtk/gtkswitch.c:338 ../gtk/gtkswitch.c:398 ../gtk/gtkswitch.c:605\r
-msgctxt "switch"\r
-msgid "ON"\r
-msgstr "ئاچ"\r
-\r
-#. Translators: if the "off" state label requires more than three\r
-#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state\r
-#.\r
-#: ../gtk/gtkswitch.c:346 ../gtk/gtkswitch.c:399 ../gtk/gtkswitch.c:634\r
-msgctxt "switch"\r
-msgid "OFF"\r
-msgstr "تاقا"\r
-\r
-#: ../gtk/gtkswitch.c:1061\r
-msgctxt "light switch widget"\r
-msgid "Switch"\r
-msgstr "ئالماشتۇرغۇچ"\r
-\r
-#: ../gtk/gtkswitch.c:1062\r
-msgid "Switches between on and off states"\r
-msgstr "ئېچىش بىلەن تاقاش ھالىتى ئارىسىدا ئالماشتۇرىدۇ"\r
-\r
-#: ../gtk/gtktextbufferrichtext.c:651\r
-#, c-format\r
-msgid "Unknown error when trying to deserialize %s"\r
-msgstr "ئەكسىچە تەرتىپلىگەندە خاتالىق كۆرۈلدى %s"\r
-\r
-#: ../gtk/gtktextbufferrichtext.c:710\r
-#, c-format\r
-msgid "No deserialize function found for format %s"\r
-msgstr "%s فورماتتىن ئەكسىچە تەرتىپلەش فۇنكسىيىسى تېپىلمىدى"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826\r
-#, c-format\r
-msgid "Both \"id\" and \"name\" were found on the <%s> element"\r
-msgstr "<%s> ئېلېمېنتنىڭ بىرلا ۋاقىتتا تاپقىنى “id”بىلەن“name”"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836\r
-#, c-format\r
-msgid "The attribute \"%s\" was found twice on the <%s> element"\r
-msgstr "<%s> ئېلېمېنت ئىككى قېتىم تاپتى “%s”"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:852\r
-#, c-format\r
-msgid "<%s> element has invalid ID \"%s\""\r
-msgstr "<%s> ئېلېمېنتنىڭ ID سى «%s» ئىناۋەتسىز"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:862\r
-#, c-format\r
-msgid "<%s> element has neither a \"name\" nor an \"id\" attribute"\r
-msgstr "<%s> ئېلېمېنتنىڭ ھەم “name” ھەم “id” خاسلىقى يوق"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:949\r
-#, c-format\r
-msgid "Attribute \"%s\" repeated twice on the same <%s> element"\r
-msgstr "خاسلىق \"%s\" ئوخشاش بىر <%s> ئېلېمېنتتا ئىككى قېتىم تەكرارلاندى"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992\r
-#, c-format\r
-msgid "Attribute \"%s\" is invalid on <%s> element in this context"\r
-msgstr "بۇ تىل مۇھىتىدا \"%s\" خاسلىق <%s> ئېلېمېنتقا نىسبەتەن ئىناۋەتسىز"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1031\r
-#, c-format\r
-msgid "Tag \"%s\" has not been defined."\r
-msgstr "“%s” بەلگە ئېنىقلانمىغان."\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1043\r
-msgid "Anonymous tag found and tags can not be created."\r
-msgstr "ئاتسىز بەلگە بايقالدى. بەلگە قۇرۇشقا بولمايدۇ"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1054\r
-#, c-format\r
-msgid "Tag \"%s\" does not exist in buffer and tags can not be created."\r
-msgstr "\"%s\"بەلگە يىغلەكتە مەۋجۇت ئەمەس. بەلگە قۇرۇشقا بولمايدۇ."\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228\r
-#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407\r
-#, c-format\r
-msgid "Element <%s> is not allowed below <%s>"\r
-msgstr "<%s> ئېلېمېنت <%s> ئاستىدا بولۇشقا يول قويۇلمايدۇ"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1184\r
-#, c-format\r
-msgid "\"%s\" is not a valid attribute type"\r
-msgstr "\"%s\" ئىناۋەتلىك خاسلىق تىپى ئەمەس"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1192\r
-#, c-format\r
-msgid "\"%s\" is not a valid attribute name"\r
-msgstr "\"%s\" ئىناۋەتلىك خاسلىق ئاتى ئەمەس"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1202\r
-#, c-format\r
-msgid ""\r
-"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""\r
-msgstr ""\r
-"\"%s\"نى \"%s\" تىپلىق قىممەتكە ئالماشتۇرالمايدۇ، بۇ قىممەت \"%s\" خاسلىققا "\r
-"ئىشلىتىلىدۇ"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1211\r
-#, c-format\r
-msgid "\"%s\" is not a valid value for attribute \"%s\""\r
-msgstr "\"%s\" بولسا \"%s\" خاسلىقنىڭ ئىناۋەتلىك قىممىتى ئەمەس"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1296\r
-#, c-format\r
-msgid "Tag \"%s\" already defined"\r
-msgstr "\"%s\" بەلگە ئېنىقلاندى"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1309\r
-#, c-format\r
-msgid "Tag \"%s\" has invalid priority \"%s\""\r
-msgstr "بەلگە \"%s\" نىڭ ئالدىنلىقى \"%s\" ئىناۋەتسىز"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1362\r
-#, c-format\r
-msgid "Outermost element in text must be <text_view_markup> not <%s>"\r
-msgstr ""\r
-"تېكىستنىڭ ئەڭ سىرتىدىكى ئېلېمېنت <text_view_markup> بولىدۇ، <%s> بولمايدۇ"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387\r
-#, c-format\r
-msgid "A <%s> element has already been specified"\r
-msgstr "<%s> ئېلېمېنت بەلگىلەندى"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1393\r
-msgid "A <text> element can't occur before a <tags> element"\r
-msgstr "<text> ئېلېمېنتى <tags> نىڭ ئالدىدا كۆرۈلمەيدۇ"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1793\r
-msgid "Serialized data is malformed"\r
-msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا"\r
-\r
-#: ../gtk/gtktextbufferserialize.c:1871\r
-msgid ""\r
-"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"\r
-msgstr ""\r
-"تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا. بىرىنچى بۆلىكى "\r
-"GTKTEXTBUFFERCONTENTS-0001"\r
-\r
-#: ../gtk/gtktextutil.c:60\r
-msgid "LRM _Left-to-right mark"\r
-msgstr "LRM سولدىن ئوڭغا بەلگىسى(_L)"\r
-\r
-#: ../gtk/gtktextutil.c:61\r
-msgid "RLM _Right-to-left mark"\r
-msgstr "RLM ئوڭدىن سولغا بەلگىسى(_R)"\r
-\r
-#: ../gtk/gtktextutil.c:62\r
-msgid "LRE Left-to-right _embedding"\r
-msgstr "LRE سولدىن ئوڭغا سىڭدۈرمە(_E)"\r
-\r
-#: ../gtk/gtktextutil.c:63\r
-msgid "RLE Right-to-left e_mbedding"\r
-msgstr "RLE ئوڭدىن سولغا سىڭدۈرمە(_M)"\r
-\r
-#: ../gtk/gtktextutil.c:64\r
-msgid "LRO Left-to-right _override"\r
-msgstr "LRO سولدىن ئوڭغا قاپلاش(_O)"\r
-\r
-#: ../gtk/gtktextutil.c:65\r
-msgid "RLO Right-to-left o_verride"\r
-msgstr "RLO ئوڭدىن سولغا قاپلاش(_V)"\r
-\r
-#: ../gtk/gtktextutil.c:66\r
-msgid "PDF _Pop directional formatting"\r
-msgstr "PDF قاڭقىش يۆنىلىش فورماتى(_P)"\r
-\r
-#: ../gtk/gtktextutil.c:67\r
-msgid "ZWS _Zero width space"\r
-msgstr "ZWS نۆل كەڭلىكتىكى بوشلۇق(_Z)"\r
-\r
-#: ../gtk/gtktextutil.c:68\r
-msgid "ZWJ Zero width _joiner"\r
-msgstr "ZWJ نۆل كەڭلىكتىكى ئۇلاش بەلگىسى(_J)"\r
-\r
-#: ../gtk/gtktextutil.c:69\r
-msgid "ZWNJ Zero width _non-joiner"\r
-msgstr "ZWNJ نۆل كەڭلىكتىكى ئۇلىماسلىق بەلگىسى (_N)"\r
-\r
-#: ../gtk/gtkuimanager.c:1506\r
-#, c-format\r
-msgid "Unexpected start tag '%s' on line %d char %d"\r
-msgstr "'%s' ئويلىشىلمىغان باشلاش بەلگىسى %d -قۇر %d -ھەرپتە"\r
-\r
-#: ../gtk/gtkuimanager.c:1596\r
-#, c-format\r
-msgid "Unexpected character data on line %d char %d"\r
-msgstr "%d- قۇر %d -ھەرپتە ئويلىشىلمىغان بەلگە بار"\r
-\r
-#: ../gtk/gtkuimanager.c:2428\r
-msgid "Empty"\r
-msgstr "بوش"\r
-\r
-#: ../gtk/gtkvolumebutton.c:170\r
-msgid "Volume"\r
-msgstr "دىسكا"\r
-\r
-#: ../gtk/gtkvolumebutton.c:172\r
-msgid "Turns volume down or up"\r
-msgstr "ئاۋازنى يۇقىرىلات ياكى تۆۋەنلەت"\r
-\r
-#: ../gtk/gtkvolumebutton.c:175\r
-msgid "Adjusts the volume"\r
-msgstr "ئاۋاز تەڭشىكى"\r
-\r
-#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184\r
-msgid "Volume Down"\r
-msgstr "ئاۋازنى تۆۋەنلىتىش"\r
-\r
-#: ../gtk/gtkvolumebutton.c:183\r
-msgid "Decreases the volume"\r
-msgstr "ئاۋازنى كېمەيت"\r
-\r
-#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190\r
-msgid "Volume Up"\r
-msgstr "ئاۋازنى يۇقىرىلىتىش"\r
-\r
-#: ../gtk/gtkvolumebutton.c:189\r
-msgid "Increases the volume"\r
-msgstr "ئاۋازنى ئاشۇر"\r
-\r
-#: ../gtk/gtkvolumebutton.c:247\r
-msgid "Muted"\r
-msgstr "ئۈنسىز"\r
-\r
-#: ../gtk/gtkvolumebutton.c:251\r
-msgid "Full Volume"\r
-msgstr "ئەڭ يۇقىرى ئاۋاز"\r
-\r
-#. Translators: this is the percentage of the current volume,\r
-#. * as used in the tooltip, eg. "49 %".\r
-#. * Translate the "%d" to "%Id" if you want to use localised digits,\r
-#. * or otherwise translate the "%d" to "%d".\r
-#.\r
-#: ../gtk/gtkvolumebutton.c:264\r
-#, c-format\r
-msgctxt "volume percentage"\r
-msgid "%d %%"\r
-msgstr "%d %%"\r
-\r
-#: ../gtk/paper_names_offsets.c:4\r
-msgctxt "paper size"\r
-msgid "asme_f"\r
-msgstr "asme_f"\r
-\r
-#: ../gtk/paper_names_offsets.c:5\r
-msgctxt "paper size"\r
-msgid "A0x2"\r
-msgstr "A0x2"\r
-\r
-#: ../gtk/paper_names_offsets.c:6\r
-msgctxt "paper size"\r
-msgid "A0"\r
-msgstr "A0"\r
-\r
-#: ../gtk/paper_names_offsets.c:7\r
-msgctxt "paper size"\r
-msgid "A0x3"\r
-msgstr "A0x3"\r
-\r
-#: ../gtk/paper_names_offsets.c:8\r
-msgctxt "paper size"\r
-msgid "A1"\r
-msgstr "A1"\r
-\r
-#: ../gtk/paper_names_offsets.c:9\r
-msgctxt "paper size"\r
-msgid "A10"\r
-msgstr "A10"\r
-\r
-#: ../gtk/paper_names_offsets.c:10\r
-msgctxt "paper size"\r
-msgid "A1x3"\r
-msgstr "A1x3"\r
-\r
-#: ../gtk/paper_names_offsets.c:11\r
-msgctxt "paper size"\r
-msgid "A1x4"\r
-msgstr "A1x4"\r
-\r
-#: ../gtk/paper_names_offsets.c:12\r
-msgctxt "paper size"\r
-msgid "A2"\r
-msgstr "A2"\r
-\r
-#: ../gtk/paper_names_offsets.c:13\r
-msgctxt "paper size"\r
-msgid "A2x3"\r
-msgstr "A2x3"\r
-\r
-#: ../gtk/paper_names_offsets.c:14\r
-msgctxt "paper size"\r
-msgid "A2x4"\r
-msgstr "A2x4"\r
-\r
-#: ../gtk/paper_names_offsets.c:15\r
-msgctxt "paper size"\r
-msgid "A2x5"\r
-msgstr "A2x5"\r
-\r
-#: ../gtk/paper_names_offsets.c:16\r
-msgctxt "paper size"\r
-msgid "A3"\r
-msgstr "A3"\r
-\r
-#: ../gtk/paper_names_offsets.c:17\r
-msgctxt "paper size"\r
-msgid "A3 Extra"\r
-msgstr "A3 Extra"\r
-\r
-#: ../gtk/paper_names_offsets.c:18\r
-msgctxt "paper size"\r
-msgid "A3x3"\r
-msgstr "A3x3"\r
-\r
-#: ../gtk/paper_names_offsets.c:19\r
-msgctxt "paper size"\r
-msgid "A3x4"\r
-msgstr "A3x4"\r
-\r
-#: ../gtk/paper_names_offsets.c:20\r
-msgctxt "paper size"\r
-msgid "A3x5"\r
-msgstr "A3x5"\r
-\r
-#: ../gtk/paper_names_offsets.c:21\r
-msgctxt "paper size"\r
-msgid "A3x6"\r
-msgstr "A3x6"\r
-\r
-#: ../gtk/paper_names_offsets.c:22\r
-msgctxt "paper size"\r
-msgid "A3x7"\r
-msgstr "A3x7"\r
-\r
-#: ../gtk/paper_names_offsets.c:23\r
-msgctxt "paper size"\r
-msgid "A4"\r
-msgstr "A4"\r
-\r
-#: ../gtk/paper_names_offsets.c:24\r
-msgctxt "paper size"\r
-msgid "A4 Extra"\r
-msgstr "A4 Extra"\r
-\r
-#: ../gtk/paper_names_offsets.c:25\r
-msgctxt "paper size"\r
-msgid "A4 Tab"\r
-msgstr "A4 Tab"\r
-\r
-#: ../gtk/paper_names_offsets.c:26\r
-msgctxt "paper size"\r
-msgid "A4x3"\r
-msgstr "A4x3"\r
-\r
-#: ../gtk/paper_names_offsets.c:27\r
-msgctxt "paper size"\r
-msgid "A4x4"\r
-msgstr "A4x4"\r
-\r
-#: ../gtk/paper_names_offsets.c:28\r
-msgctxt "paper size"\r
-msgid "A4x5"\r
-msgstr "A4x5"\r
-\r
-#: ../gtk/paper_names_offsets.c:29\r
-msgctxt "paper size"\r
-msgid "A4x6"\r
-msgstr "A4x6"\r
-\r
-#: ../gtk/paper_names_offsets.c:30\r
-msgctxt "paper size"\r
-msgid "A4x7"\r
-msgstr "A4x7"\r
-\r
-#: ../gtk/paper_names_offsets.c:31\r
-msgctxt "paper size"\r
-msgid "A4x8"\r
-msgstr "A4x8"\r
-\r
-#: ../gtk/paper_names_offsets.c:32\r
-msgctxt "paper size"\r
-msgid "A4x9"\r
-msgstr "A4x9"\r
-\r
-#: ../gtk/paper_names_offsets.c:33\r
-msgctxt "paper size"\r
-msgid "A5"\r
-msgstr "A5"\r
-\r
-#: ../gtk/paper_names_offsets.c:34\r
-msgctxt "paper size"\r
-msgid "A5 Extra"\r
-msgstr "A5 Extra"\r
-\r
-#: ../gtk/paper_names_offsets.c:35\r
-msgctxt "paper size"\r
-msgid "A6"\r
-msgstr "A6"\r
-\r
-#: ../gtk/paper_names_offsets.c:36\r
-msgctxt "paper size"\r
-msgid "A7"\r
-msgstr "A7"\r
-\r
-#: ../gtk/paper_names_offsets.c:37\r
-msgctxt "paper size"\r
-msgid "A8"\r
-msgstr "A8"\r
-\r
-#: ../gtk/paper_names_offsets.c:38\r
-msgctxt "paper size"\r
-msgid "A9"\r
-msgstr "A9"\r
-\r
-#: ../gtk/paper_names_offsets.c:39\r
-msgctxt "paper size"\r
-msgid "B0"\r
-msgstr "B0"\r
-\r
-#: ../gtk/paper_names_offsets.c:40\r
-msgctxt "paper size"\r
-msgid "B1"\r
-msgstr "B1"\r
-\r
-#: ../gtk/paper_names_offsets.c:41\r
-msgctxt "paper size"\r
-msgid "B10"\r
-msgstr "B10"\r
-\r
-#: ../gtk/paper_names_offsets.c:42\r
-msgctxt "paper size"\r
-msgid "B2"\r
-msgstr "B2"\r
-\r
-#: ../gtk/paper_names_offsets.c:43\r
-msgctxt "paper size"\r
-msgid "B3"\r
-msgstr "B3"\r
-\r
-#: ../gtk/paper_names_offsets.c:44\r
-msgctxt "paper size"\r
-msgid "B4"\r
-msgstr "B4"\r
-\r
-#: ../gtk/paper_names_offsets.c:45\r
-msgctxt "paper size"\r
-msgid "B5"\r
-msgstr "B5"\r
-\r
-#: ../gtk/paper_names_offsets.c:46\r
-msgctxt "paper size"\r
-msgid "B5 Extra"\r
-msgstr "B5 Extra"\r
-\r
-#: ../gtk/paper_names_offsets.c:47\r
-msgctxt "paper size"\r
-msgid "B6"\r
-msgstr "B6"\r
-\r
-#: ../gtk/paper_names_offsets.c:48\r
-msgctxt "paper size"\r
-msgid "B6/C4"\r
-msgstr "B6/C4"\r
-\r
-#: ../gtk/paper_names_offsets.c:49\r
-msgctxt "paper size"\r
-msgid "B7"\r
-msgstr "B7"\r
-\r
-#: ../gtk/paper_names_offsets.c:50\r
-msgctxt "paper size"\r
-msgid "B8"\r
-msgstr "B8"\r
-\r
-#: ../gtk/paper_names_offsets.c:51\r
-msgctxt "paper size"\r
-msgid "B9"\r
-msgstr "B9"\r
-\r
-#: ../gtk/paper_names_offsets.c:52\r
-msgctxt "paper size"\r
-msgid "C0"\r
-msgstr "C0"\r
-\r
-#: ../gtk/paper_names_offsets.c:53\r
-msgctxt "paper size"\r
-msgid "C1"\r
-msgstr "C1"\r
-\r
-#: ../gtk/paper_names_offsets.c:54\r
-msgctxt "paper size"\r
-msgid "C10"\r
-msgstr "C10"\r
-\r
-#: ../gtk/paper_names_offsets.c:55\r
-msgctxt "paper size"\r
-msgid "C2"\r
-msgstr "C2"\r
-\r
-#: ../gtk/paper_names_offsets.c:56\r
-msgctxt "paper size"\r
-msgid "C3"\r
-msgstr "C3"\r
-\r
-#: ../gtk/paper_names_offsets.c:57\r
-msgctxt "paper size"\r
-msgid "C4"\r
-msgstr "C4"\r
-\r
-#: ../gtk/paper_names_offsets.c:58\r
-msgctxt "paper size"\r
-msgid "C5"\r
-msgstr "C5"\r
-\r
-#: ../gtk/paper_names_offsets.c:59\r
-msgctxt "paper size"\r
-msgid "C6"\r
-msgstr "C6"\r
-\r
-#: ../gtk/paper_names_offsets.c:60\r
-msgctxt "paper size"\r
-msgid "C6/C5"\r
-msgstr "C6/C5"\r
-\r
-#: ../gtk/paper_names_offsets.c:61\r
-msgctxt "paper size"\r
-msgid "C7"\r
-msgstr "C7"\r
-\r
-#: ../gtk/paper_names_offsets.c:62\r
-msgctxt "paper size"\r
-msgid "C7/C6"\r
-msgstr "C7/C6"\r
-\r
-#: ../gtk/paper_names_offsets.c:63\r
-msgctxt "paper size"\r
-msgid "C8"\r
-msgstr "C8"\r
-\r
-#: ../gtk/paper_names_offsets.c:64\r
-msgctxt "paper size"\r
-msgid "C9"\r
-msgstr "C9"\r
-\r
-#: ../gtk/paper_names_offsets.c:65\r
-msgctxt "paper size"\r
-msgid "DL Envelope"\r
-msgstr "DL لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:66\r
-msgctxt "paper size"\r
-msgid "RA0"\r
-msgstr "RA0"\r
-\r
-#: ../gtk/paper_names_offsets.c:67\r
-msgctxt "paper size"\r
-msgid "RA1"\r
-msgstr "RA1"\r
-\r
-#: ../gtk/paper_names_offsets.c:68\r
-msgctxt "paper size"\r
-msgid "RA2"\r
-msgstr "RA2"\r
-\r
-#: ../gtk/paper_names_offsets.c:69\r
-msgctxt "paper size"\r
-msgid "SRA0"\r
-msgstr "SRA0"\r
-\r
-#: ../gtk/paper_names_offsets.c:70\r
-msgctxt "paper size"\r
-msgid "SRA1"\r
-msgstr "SRA1"\r
-\r
-#: ../gtk/paper_names_offsets.c:71\r
-msgctxt "paper size"\r
-msgid "SRA2"\r
-msgstr "SRA2"\r
-\r
-#: ../gtk/paper_names_offsets.c:72\r
-msgctxt "paper size"\r
-msgid "JB0"\r
-msgstr "JB0"\r
-\r
-#: ../gtk/paper_names_offsets.c:73\r
-msgctxt "paper size"\r
-msgid "JB1"\r
-msgstr "JB1"\r
-\r
-#: ../gtk/paper_names_offsets.c:74\r
-msgctxt "paper size"\r
-msgid "JB10"\r
-msgstr "JB10"\r
-\r
-#: ../gtk/paper_names_offsets.c:75\r
-msgctxt "paper size"\r
-msgid "JB2"\r
-msgstr "JB2"\r
-\r
-#: ../gtk/paper_names_offsets.c:76\r
-msgctxt "paper size"\r
-msgid "JB3"\r
-msgstr "JB3"\r
-\r
-#: ../gtk/paper_names_offsets.c:77\r
-msgctxt "paper size"\r
-msgid "JB4"\r
-msgstr "JB4"\r
-\r
-#: ../gtk/paper_names_offsets.c:78\r
-msgctxt "paper size"\r
-msgid "JB5"\r
-msgstr "JB5"\r
-\r
-#: ../gtk/paper_names_offsets.c:79\r
-msgctxt "paper size"\r
-msgid "JB6"\r
-msgstr "JB6"\r
-\r
-#: ../gtk/paper_names_offsets.c:80\r
-msgctxt "paper size"\r
-msgid "JB7"\r
-msgstr "JB7"\r
-\r
-#: ../gtk/paper_names_offsets.c:81\r
-msgctxt "paper size"\r
-msgid "JB8"\r
-msgstr "JB8"\r
-\r
-#: ../gtk/paper_names_offsets.c:82\r
-msgctxt "paper size"\r
-msgid "JB9"\r
-msgstr "JB9"\r
-\r
-#: ../gtk/paper_names_offsets.c:83\r
-msgctxt "paper size"\r
-msgid "jis exec"\r
-msgstr "jis exec"\r
-\r
-#: ../gtk/paper_names_offsets.c:84\r
-msgctxt "paper size"\r
-msgid "Choukei 2 Envelope"\r
-msgstr "Choukei 2 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:85\r
-msgctxt "paper size"\r
-msgid "Choukei 3 Envelope"\r
-msgstr "Choukei 3 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:86\r
-msgctxt "paper size"\r
-msgid "Choukei 4 Envelope"\r
-msgstr "houkei 4 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:87\r
-msgctxt "paper size"\r
-msgid "hagaki (postcard)"\r
-msgstr "hagaki (پوچتا كارتىسى)"\r
-\r
-#: ../gtk/paper_names_offsets.c:88\r
-msgctxt "paper size"\r
-msgid "kahu Envelope"\r
-msgstr "kahu لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:89\r
-msgctxt "paper size"\r
-msgid "kaku2 Envelope"\r
-msgstr "kaku2 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:90\r
-msgctxt "paper size"\r
-msgid "oufuku (reply postcard)"\r
-msgstr "oufuku (جاۋاب پوچتا كارتىسى)"\r
-\r
-#: ../gtk/paper_names_offsets.c:91\r
-msgctxt "paper size"\r
-msgid "you4 Envelope"\r
-msgstr "you4 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:92\r
-msgctxt "paper size"\r
-msgid "10x11"\r
-msgstr "10x11"\r
-\r
-#: ../gtk/paper_names_offsets.c:93\r
-msgctxt "paper size"\r
-msgid "10x13"\r
-msgstr "10x13"\r
-\r
-#: ../gtk/paper_names_offsets.c:94\r
-msgctxt "paper size"\r
-msgid "10x14"\r
-msgstr "10x14"\r
-\r
-#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96\r
-msgctxt "paper size"\r
-msgid "10x15"\r
-msgstr "10x15"\r
-\r
-#: ../gtk/paper_names_offsets.c:97\r
-msgctxt "paper size"\r
-msgid "11x12"\r
-msgstr "11x12"\r
-\r
-#: ../gtk/paper_names_offsets.c:98\r
-msgctxt "paper size"\r
-msgid "11x15"\r
-msgstr "11x15"\r
-\r
-#: ../gtk/paper_names_offsets.c:99\r
-msgctxt "paper size"\r
-msgid "12x19"\r
-msgstr "12x19"\r
-\r
-#: ../gtk/paper_names_offsets.c:100\r
-msgctxt "paper size"\r
-msgid "5x7"\r
-msgstr "5x7"\r
-\r
-#: ../gtk/paper_names_offsets.c:101\r
-msgctxt "paper size"\r
-msgid "6x9 Envelope"\r
-msgstr "6x9 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:102\r
-msgctxt "paper size"\r
-msgid "7x9 Envelope"\r
-msgstr "7x9 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:103\r
-msgctxt "paper size"\r
-msgid "9x11 Envelope"\r
-msgstr "9x11 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:104\r
-msgctxt "paper size"\r
-msgid "a2 Envelope"\r
-msgstr "a2 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:105\r
-msgctxt "paper size"\r
-msgid "Arch A"\r
-msgstr "ئەگمە A"\r
-\r
-#: ../gtk/paper_names_offsets.c:106\r
-msgctxt "paper size"\r
-msgid "Arch B"\r
-msgstr "ئەگمە B"\r
-\r
-#: ../gtk/paper_names_offsets.c:107\r
-msgctxt "paper size"\r
-msgid "Arch C"\r
-msgstr "ئەگمە C"\r
-\r
-#: ../gtk/paper_names_offsets.c:108\r
-msgctxt "paper size"\r
-msgid "Arch D"\r
-msgstr "ئەگمە D"\r
-\r
-#: ../gtk/paper_names_offsets.c:109\r
-msgctxt "paper size"\r
-msgid "Arch E"\r
-msgstr "ئەگمە E"\r
-\r
-#: ../gtk/paper_names_offsets.c:110\r
-msgctxt "paper size"\r
-msgid "b-plus"\r
-msgstr "b-plus"\r
-\r
-#: ../gtk/paper_names_offsets.c:111\r
-msgctxt "paper size"\r
-msgid "c"\r
-msgstr "c"\r
-\r
-#: ../gtk/paper_names_offsets.c:112\r
-msgctxt "paper size"\r
-msgid "c5 Envelope"\r
-msgstr "c5 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:113\r
-msgctxt "paper size"\r
-msgid "d"\r
-msgstr "d"\r
-\r
-#: ../gtk/paper_names_offsets.c:114\r
-msgctxt "paper size"\r
-msgid "e"\r
-msgstr "e"\r
-\r
-#: ../gtk/paper_names_offsets.c:115\r
-msgctxt "paper size"\r
-msgid "edp"\r
-msgstr "edp"\r
-\r
-#: ../gtk/paper_names_offsets.c:116\r
-msgctxt "paper size"\r
-msgid "European edp"\r
-msgstr "ياۋروپا edp"\r
-\r
-#: ../gtk/paper_names_offsets.c:117\r
-msgctxt "paper size"\r
-msgid "Executive"\r
-msgstr "مەمۇرىي"\r
-\r
-#: ../gtk/paper_names_offsets.c:118\r
-msgctxt "paper size"\r
-msgid "f"\r
-msgstr "f"\r
-\r
-#: ../gtk/paper_names_offsets.c:119\r
-msgctxt "paper size"\r
-msgid "FanFold European"\r
-msgstr "FanFold ياۋروپا"\r
-\r
-#: ../gtk/paper_names_offsets.c:120\r
-msgctxt "paper size"\r
-msgid "FanFold US"\r
-msgstr "FanFold ئا ق ش"\r
-\r
-#: ../gtk/paper_names_offsets.c:121\r
-msgctxt "paper size"\r
-msgid "FanFold German Legal"\r
-msgstr "FanFold گېرمانىيە قانۇنى"\r
-\r
-#: ../gtk/paper_names_offsets.c:122\r
-msgctxt "paper size"\r
-msgid "Government Legal"\r
-msgstr "ھۆكۈمەت قانۇنى"\r
-\r
-#: ../gtk/paper_names_offsets.c:123\r
-msgctxt "paper size"\r
-msgid "Government Letter"\r
-msgstr "ھۆكۈمەت خەت-چەك"\r
-\r
-#: ../gtk/paper_names_offsets.c:124\r
-msgctxt "paper size"\r
-msgid "Index 3x5"\r
-msgstr "Index 3x5"\r
-\r
-#: ../gtk/paper_names_offsets.c:125\r
-msgctxt "paper size"\r
-msgid "Index 4x6 (postcard)"\r
-msgstr "Index 4x6 (پوچتا كارتىسى)"\r
-\r
-#: ../gtk/paper_names_offsets.c:126\r
-msgctxt "paper size"\r
-msgid "Index 4x6 ext"\r
-msgstr "Index 4x6 ext"\r
-\r
-#: ../gtk/paper_names_offsets.c:127\r
-msgctxt "paper size"\r
-msgid "Index 5x8"\r
-msgstr "Index 5x8"\r
-\r
-#: ../gtk/paper_names_offsets.c:128\r
-msgctxt "paper size"\r
-msgid "Invoice"\r
-msgstr "Invoice"\r
-\r
-#: ../gtk/paper_names_offsets.c:129\r
-msgctxt "paper size"\r
-msgid "Tabloid"\r
-msgstr "تەرمىلەر"\r
-\r
-#: ../gtk/paper_names_offsets.c:130\r
-msgctxt "paper size"\r
-msgid "US Legal"\r
-msgstr "ئا ق ش قانۇن"\r
-\r
-#: ../gtk/paper_names_offsets.c:131\r
-msgctxt "paper size"\r
-msgid "US Legal Extra"\r
-msgstr "ئا ق ش قانۇنى زىيادە چوڭ"\r
-\r
-#: ../gtk/paper_names_offsets.c:132\r
-msgctxt "paper size"\r
-msgid "US Letter"\r
-msgstr "ئا ق ش لېپاپى"\r
-\r
-#: ../gtk/paper_names_offsets.c:133\r
-msgctxt "paper size"\r
-msgid "US Letter Extra"\r
-msgstr "ئا ق ش لېپاپى زىيادە چوڭ"\r
-\r
-#: ../gtk/paper_names_offsets.c:134\r
-msgctxt "paper size"\r
-msgid "US Letter Plus"\r
-msgstr "ئا ق ش لېپاپى چوڭ"\r
-\r
-#: ../gtk/paper_names_offsets.c:135\r
-msgctxt "paper size"\r
-msgid "Monarch Envelope"\r
-msgstr "Monarch لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:136\r
-msgctxt "paper size"\r
-msgid "#10 Envelope"\r
-msgstr "#10 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:137\r
-msgctxt "paper size"\r
-msgid "#11 Envelope"\r
-msgstr "#11 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:138\r
-msgctxt "paper size"\r
-msgid "#12 Envelope"\r
-msgstr "#12 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:139\r
-msgctxt "paper size"\r
-msgid "#14 Envelope"\r
-msgstr "#14 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:140\r
-msgctxt "paper size"\r
-msgid "#9 Envelope"\r
-msgstr "#9 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:141\r
-msgctxt "paper size"\r
-msgid "Personal Envelope"\r
-msgstr "شەخسىي لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:142\r
-msgctxt "paper size"\r
-msgid "Quarto"\r
-msgstr "Quarto"\r
-\r
-#: ../gtk/paper_names_offsets.c:143\r
-msgctxt "paper size"\r
-msgid "Super A"\r
-msgstr "Super A"\r
-\r
-#: ../gtk/paper_names_offsets.c:144\r
-msgctxt "paper size"\r
-msgid "Super B"\r
-msgstr "Super B"\r
-\r
-#: ../gtk/paper_names_offsets.c:145\r
-msgctxt "paper size"\r
-msgid "Wide Format"\r
-msgstr "كەڭ فورمات"\r
-\r
-#: ../gtk/paper_names_offsets.c:146\r
-msgctxt "paper size"\r
-msgid "Dai-pa-kai"\r
-msgstr "Dai-pa-kai"\r
-\r
-#: ../gtk/paper_names_offsets.c:147\r
-msgctxt "paper size"\r
-msgid "Folio"\r
-msgstr "Folio"\r
-\r
-#: ../gtk/paper_names_offsets.c:148\r
-msgctxt "paper size"\r
-msgid "Folio sp"\r
-msgstr "Folio sp"\r
-\r
-#: ../gtk/paper_names_offsets.c:149\r
-msgctxt "paper size"\r
-msgid "Invite Envelope"\r
-msgstr "تەكلىپ لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:150\r
-msgctxt "paper size"\r
-msgid "Italian Envelope"\r
-msgstr "ئىتالىيە لېپاپى"\r
-\r
-#: ../gtk/paper_names_offsets.c:151\r
-msgctxt "paper size"\r
-msgid "juuro-ku-kai"\r
-msgstr "juuro-ku-kai"\r
-\r
-#: ../gtk/paper_names_offsets.c:152\r
-msgctxt "paper size"\r
-msgid "pa-kai"\r
-msgstr "pa-kai"\r
-\r
-#: ../gtk/paper_names_offsets.c:153\r
-msgctxt "paper size"\r
-msgid "Postfix Envelope"\r
-msgstr "Postfix لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:154\r
-msgctxt "paper size"\r
-msgid "Small Photo"\r
-msgstr "كىچىك سۈرەت"\r
-\r
-#: ../gtk/paper_names_offsets.c:155\r
-msgctxt "paper size"\r
-msgid "prc1 Envelope"\r
-msgstr "prc1 شەخسىي لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:156\r
-msgctxt "paper size"\r
-msgid "prc10 Envelope"\r
-msgstr "ج خ ج 10 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:157\r
-msgctxt "paper size"\r
-msgid "prc 16k"\r
-msgstr "ج خ ج 16 كەسلەم"\r
-\r
-#: ../gtk/paper_names_offsets.c:158\r
-msgctxt "paper size"\r
-msgid "prc2 Envelope"\r
-msgstr "ج خ ج 2 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:159\r
-msgctxt "paper size"\r
-msgid "prc3 Envelope"\r
-msgstr "ج خ ج 3 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:160\r
-msgctxt "paper size"\r
-msgid "prc 32k"\r
-msgstr "ج خ ج 32 كەسلەم"\r
-\r
-#: ../gtk/paper_names_offsets.c:161\r
-msgctxt "paper size"\r
-msgid "prc4 Envelope"\r
-msgstr "ج خ ج 4 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:162\r
-msgctxt "paper size"\r
-msgid "prc5 Envelope"\r
-msgstr "ج خ ج 5 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:163\r
-msgctxt "paper size"\r
-msgid "prc6 Envelope"\r
-msgstr "ج خ ج 6 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:164\r
-msgctxt "paper size"\r
-msgid "prc7 Envelope"\r
-msgstr "ج خ ج 7 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:165\r
-msgctxt "paper size"\r
-msgid "prc8 Envelope"\r
-msgstr "ج خ ج 8 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:166\r
-msgctxt "paper size"\r
-msgid "prc9 Envelope"\r
-msgstr "ج خ ج 9 لېپاپ"\r
-\r
-#: ../gtk/paper_names_offsets.c:167\r
-msgctxt "paper size"\r
-msgid "ROC 16k"\r
-msgstr "ج م 16 كەسلەم"\r
-\r
-#: ../gtk/paper_names_offsets.c:168\r
-msgctxt "paper size"\r
-msgid "ROC 8k"\r
-msgstr "ج م 8 كەسلەم"\r
-\r
-#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552\r
-#, c-format\r
-msgid "different idatas found for symlinked '%s' and '%s'\n"\r
-msgstr "ھەرپ بەلگە ئۇلىنىش “%s”بىلەن“%s” ئىشلەتكەن idatas ئوخشىمايدۇ\n"\r
-\r
-#: ../gtk/updateiconcache.c:1370\r
-#, c-format\r
-msgid "Failed to write header\n"\r
-msgstr "بېشىغا يازالمىدى\n"\r
-\r
-#: ../gtk/updateiconcache.c:1376\r
-#, c-format\r
-msgid "Failed to write hash table\n"\r
-msgstr "مۇكەممەللىك جەدۋىلىگە يازالمىدى\n"\r
-\r
-#: ../gtk/updateiconcache.c:1382\r
-#, c-format\r
-msgid "Failed to write folder index\n"\r
-msgstr "قىسقۇچ ئىندېكسقا يازالمىدى\n"\r
-\r
-#: ../gtk/updateiconcache.c:1390\r
-#, c-format\r
-msgid "Failed to rewrite header\n"\r
-msgstr "بېشىغا قايتا يازالمىدى\n"\r
-\r
-#: ../gtk/updateiconcache.c:1484\r
-#, c-format\r
-msgid "Failed to open file %s : %s\n"\r
-msgstr "%s ھۆججەتنى ئاچالمىدى: %s\n"\r
-\r
-#: ../gtk/updateiconcache.c:1492 ../gtk/updateiconcache.c:1522\r
-#, c-format\r
-msgid "Failed to write cache file: %s\n"\r
-msgstr "غەملەك ھۆججىتىگە يازالمىدى: %s\n"\r
-\r
-#: ../gtk/updateiconcache.c:1533\r
-#, c-format\r
-msgid "The generated cache was invalid.\n"\r
-msgstr "قۇرغان غەملەك ئىناۋەتسىز.\n"\r
-\r
-#: ../gtk/updateiconcache.c:1547\r
-#, c-format\r
-msgid "Could not rename %s to %s: %s, removing %s then.\n"\r
-msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s، %s چىقىرىۋاتىدۇ\n"\r
-\r
-#: ../gtk/updateiconcache.c:1561\r
-#, c-format\r
-msgid "Could not rename %s to %s: %s\n"\r
-msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s\n"\r
-\r
-#: ../gtk/updateiconcache.c:1571\r
-#, c-format\r
-msgid "Could not rename %s back to %s: %s.\n"\r
-msgstr "%s نى %s غا قايتۇرۇپ ئات ئۆزگەرتەلمىدى:%s\n"\r
-\r
-#: ../gtk/updateiconcache.c:1598\r
-#, c-format\r
-msgid "Cache file created successfully.\n"\r
-msgstr "غەملەك ھۆججىتى مۇۋەپپەقىيەتلىك قۇرۇلدى.\n"\r
-\r
-#: ../gtk/updateiconcache.c:1637\r
-msgid "Overwrite an existing cache, even if up to date"\r
-msgstr "نۆۋەتتىكى غەملەك ئەڭ يېڭى بولسىمۇ قاپلىۋەت"\r
-\r
-#: ../gtk/updateiconcache.c:1638\r
-msgid "Don't check for the existence of index.theme"\r
-msgstr "مەۋجۇت index.theme نى تەكشۈرمە"\r
-\r
-#: ../gtk/updateiconcache.c:1639\r
-msgid "Don't include image data in the cache"\r
-msgstr "غەملەكتە سۈرەت سانلىق مەلۇماتىنى ساقلىما"\r
-\r
-#: ../gtk/updateiconcache.c:1640\r
-msgid "Output a C header file"\r
-msgstr "C باش ھۆججەتنى چىقار"\r
-\r
-#: ../gtk/updateiconcache.c:1641\r
-msgid "Turn off verbose output"\r
-msgstr "تەپسىلىي چىقىرىشنى ياپ"\r
-\r
-#: ../gtk/updateiconcache.c:1642\r
-msgid "Validate existing icon cache"\r
-msgstr "مەۋجۇت سىنبەلگە غەملىكىنى دەلىللە"\r
-\r
-#: ../gtk/updateiconcache.c:1709\r
-#, c-format\r
-msgid "File not found: %s\n"\r
-msgstr "ھۆججەتنى تاپالمىدى: %s\n"\r
-\r
-#: ../gtk/updateiconcache.c:1715\r
-#, c-format\r
-msgid "Not a valid icon cache: %s\n"\r
-msgstr "ئىناۋەتلىك سىنبەلگە غەملەك ئەمەس: %s\n"\r
-\r
-#: ../gtk/updateiconcache.c:1728\r
-#, c-format\r
-msgid "No theme index file.\n"\r
-msgstr "باش تېما ئىندېكس ھۆججىتى يوق.\n"\r
-\r
-#: ../gtk/updateiconcache.c:1732\r
-#, c-format\r
-msgid ""\r
-"No theme index file in '%s'.\n"\r
-"If you really want to create an icon cache here, use --ignore-theme-index.\n"\r
-msgstr ""\r
-"“%s دا باش تېما ئىندېكس ھۆججىتى يوق.\n"\r
-"ئەگەر بۇ جايغا راستىنىلا سىنبەلگە غەملەك قۇرماقچى بولسىڭىز --ignore-theme-"\r
-"index ئىشلىتىڭ\n"\r
-\r
-#. ID\r
-#: ../modules/input/imam-et.c:454\r
-msgid "Amharic (EZ+)"\r
-msgstr "ئامخاراچە(EZ+)"\r
-\r
-#. ID\r
-#: ../modules/input/imcedilla.c:92\r
-msgid "Cedilla"\r
-msgstr "ئاۋاز ئۆزگەرتىش بەلگىسى"\r
-\r
-#. ID\r
-#: ../modules/input/imcyrillic-translit.c:217\r
-msgid "Cyrillic (Transliterated)"\r
-msgstr "سلاۋيانچە (ئاھاڭ تەرجىمىسى)"\r
-\r
-#. ID\r
-#: ../modules/input/iminuktitut.c:127\r
-msgid "Inuktitut (Transliterated)"\r
-msgstr "ئىنۇكتىتۇت (ئاھاڭ تەرجىمىسى)"\r
-\r
-#. ID\r
-#: ../modules/input/imipa.c:145\r
-msgid "IPA"\r
-msgstr "IPA"\r
-\r
-#. ID\r
-#: ../modules/input/immultipress.c:31\r
-msgid "Multipress"\r
-msgstr "ئېغىر بىسىم"\r
-\r
-#. ID\r
-#: ../modules/input/imthai.c:35\r
-msgid "Thai-Lao"\r
-msgstr "تايلاند-لائۇس"\r
-\r
-#. ID\r
-#: ../modules/input/imti-er.c:453\r
-msgid "Tigrigna-Eritrean (EZ+)"\r
-msgstr "تىگرىگنا-ئېرىترىيە(EZ+)"\r
-\r
-#. ID\r
-#: ../modules/input/imti-et.c:453\r
-msgid "Tigrigna-Ethiopian (EZ+)"\r
-msgstr "تىگرىگنا-ئېفىئوپىيە(EZ+)"\r
-\r
-#. ID\r
-#: ../modules/input/imviqr.c:244\r
-msgid "Vietnamese (VIQR)"\r
-msgstr "ۋيېتنامچە(VIQR)"\r
-\r
-#. ID\r
-#: ../modules/input/imxim.c:28\r
-msgid "X Input Method"\r
-msgstr "X كىرگۈزگۈچ"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:814\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024\r
-msgid "Username:"\r
-msgstr "ئىشلەتكۈچى ئاتى:"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:815\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033\r
-msgid "Password:"\r
-msgstr "ئىم:"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:854\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046\r
-#, c-format\r
-msgid "Authentication is required to print document '%s' on printer %s"\r
-msgstr "باسىدىغان '%s' پۈتۈكنى %s پرىنتېردا بېسىشتا دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:856\r
-#, c-format\r
-msgid "Authentication is required to print a document on %s"\r
-msgstr "%s دا پۈتۈكتىن بىرنى بېسىشتا دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:860\r
-#, c-format\r
-msgid "Authentication is required to get attributes of job '%s'"\r
-msgstr "ۋەزىپە '%s' نىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:862\r
-msgid "Authentication is required to get attributes of a job"\r
-msgstr "بىر ۋەزىپىنىڭ خاسلىقىغا ئېرىشىش ئۈچۈن دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:866\r
-#, c-format\r
-msgid "Authentication is required to get attributes of printer %s"\r
-msgstr "%s پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:868\r
-msgid "Authentication is required to get attributes of a printer"\r
-msgstr "بىر پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:871\r
-#, c-format\r
-msgid "Authentication is required to get default printer of %s"\r
-msgstr "%s نىڭ كۆڭۈلدىكى پرىنتېرىغا ئېرىشىشتە دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:874\r
-#, c-format\r
-msgid "Authentication is required to get printers from %s"\r
-msgstr "%s دىن پرىنتېرغا ئېرىشىشتە دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:879\r
-#, c-format\r
-msgid "Authentication is required to get a file from %s"\r
-msgstr "%s دىن ھۆججەتكە ئېرىشىشتە دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:881\r
-#, c-format\r
-msgid "Authentication is required on %s"\r
-msgstr "%s دا دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018\r
-msgid "Domain:"\r
-msgstr "دائىرە:"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048\r
-#, c-format\r
-msgid "Authentication is required to print document '%s'"\r
-msgstr "%s دا پۈتۈك بېسىشتا دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053\r
-#, c-format\r
-msgid "Authentication is required to print this document on printer %s"\r
-msgstr "بۇ پۈتۈكنى %s دا بېسىشتا دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055\r
-msgid "Authentication is required to print this document"\r
-msgstr "بۇ پۈتۈكنى بېسىشتا دەلىللەش لازىم"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676\r
-#, c-format\r
-msgid "Printer '%s' is low on toner."\r
-msgstr "'%s' پرىنتېرنىڭ سىياھى ئاز."\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677\r
-#, c-format\r
-msgid "Printer '%s' has no toner left."\r
-msgstr "'%s' پرىنتېرنىڭ سىياھى قالمىغان."\r
-\r
-#. Translators: "Developer" like on photo development context\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679\r
-#, c-format\r
-msgid "Printer '%s' is low on developer."\r
-msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى ئاز"\r
-\r
-#. Translators: "Developer" like on photo development context\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681\r
-#, c-format\r
-msgid "Printer '%s' is out of developer."\r
-msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى قالمىغان."\r
-\r
-#. Translators: "marker" is one color bin of the printer\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683\r
-#, c-format\r
-msgid "Printer '%s' is low on at least one marker supply."\r
-msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى ئاز."\r
-\r
-#. Translators: "marker" is one color bin of the printer\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685\r
-#, c-format\r
-msgid "Printer '%s' is out of at least one marker supply."\r
-msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى تۈگىگەن."\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686\r
-#, c-format\r
-msgid "The cover is open on printer '%s'."\r
-msgstr "'%s' پرىنتېرنىڭ قاپقىقى ئوچۇق."\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687\r
-#, c-format\r
-msgid "The door is open on printer '%s'."\r
-msgstr "'%s' پرىنتېرنىڭ ئىشىكى ئوچۇق."\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688\r
-#, c-format\r
-msgid "Printer '%s' is low on paper."\r
-msgstr "'%s' پرىنتېرنىڭ قەغىزى قالمىغان."\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689\r
-#, c-format\r
-msgid "Printer '%s' is out of paper."\r
-msgstr "'%s' پرىنتېردا قەغەز كەم."\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690\r
-#, c-format\r
-msgid "Printer '%s' is currently offline."\r
-msgstr "'%s' پرىنتېر نۆۋەتتە توردا يوق."\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691\r
-#, c-format\r
-msgid "There is a problem on printer '%s'."\r
-msgstr "'%s' پرىنتېردا مەسىلە بار."\r
-\r
-#. Translators: this is a printer status.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999\r
-msgid "Paused ; Rejecting Jobs"\r
-msgstr "ۋاقىتلىق توختىتىلدى؛ ۋەزىپىنى رەت قىلىدۇ"\r
-\r
-#. Translators: this is a printer status.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005\r
-msgid "Rejecting Jobs"\r
-msgstr "ۋەزىپىنى رەت قىلىدۇ"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778\r
-msgid "Two Sided"\r
-msgstr "قوش يۈزلۈك"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779\r
-msgid "Paper Type"\r
-msgstr "قەغەز تىپى"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780\r
-msgid "Paper Source"\r
-msgstr "قەغەز مەنبەسى"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781\r
-msgid "Output Tray"\r
-msgstr "قەغەز چىقارغۇچ"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782\r
-msgid "Resolution"\r
-msgstr "ئېنىقلىق"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783\r
-msgid "GhostScript pre-filtering"\r
-msgstr "GhostScript ئالدىن سۈزگۈچ"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2792\r
-msgid "One Sided"\r
-msgstr "تاق تەرەپلىك"\r
-\r
-#. Translators: this is an option of "Two Sided"\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2794\r
-msgid "Long Edge (Standard)"\r
-msgstr "ئۇزۇن يان (ئۆلچەملىك)"\r
-\r
-#. Translators: this is an option of "Two Sided"\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2796\r
-msgid "Short Edge (Flip)"\r
-msgstr "قىسقا يان (ئۆرۈ)"\r
-\r
-#. Translators: this is an option of "Paper Source"\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2808\r
-msgid "Auto Select"\r
-msgstr "ئۆزلۈكىدىن تاللا"\r
-\r
-#. Translators: this is an option of "Paper Source"\r
-#. Translators: this is an option of "Resolution"\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2804\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2806\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2810\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3306\r
-msgid "Printer Default"\r
-msgstr "ئالدىن تەڭشەلگەن پرىنتېر"\r
-\r
-#. Translators: this is an option of "GhostScript"\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812\r
-msgid "Embed GhostScript fonts only"\r
-msgstr "GhostScript خەت نۇسخىنىلا سىڭدۈر"\r
-\r
-#. Translators: this is an option of "GhostScript"\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814\r
-msgid "Convert to PS level 1"\r
-msgstr "PS دەرىجە 1 گە ئايلاندۇر"\r
-\r
-#. Translators: this is an option of "GhostScript"\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816\r
-msgid "Convert to PS level 2"\r
-msgstr "PS دەرىجە 2 گە ئايلاندۇر"\r
-\r
-#. Translators: this is an option of "GhostScript"\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818\r
-msgid "No pre-filtering"\r
-msgstr "ئالدىن سۈزگۈچ يوق"\r
-\r
-#. Translators: "Miscellaneous" is the label for a button, that opens\r
-#. up an extra panel of settings in a print dialog.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2827\r
-msgid "Miscellaneous"\r
-msgstr "باشقىلار"\r
-\r
-#. Translators: These strings name the possible values of the\r
-#. * job priority option in the print dialog\r
-#.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530\r
-msgid "Urgent"\r
-msgstr "جىددىي"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530\r
-msgid "High"\r
-msgstr "يۇقىرى"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530\r
-msgid "Medium"\r
-msgstr "ئوتتۇرا"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3530\r
-msgid "Low"\r
-msgstr "تۆۋەن"\r
-\r
-#. Cups specific, non-ppd related settings\r
-#. Translators, this string is used to label the pages-per-sheet option\r
-#. * in the print dialog\r
-#.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3554\r
-msgid "Pages per Sheet"\r
-msgstr "ھەر ۋاراق بەت سانى"\r
-\r
-#. Translators, this string is used to label the job priority option\r
-#. * in the print dialog\r
-#.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3591\r
-msgid "Job Priority"\r
-msgstr "ۋەزىپە ئالدىنلىق"\r
-\r
-#. Translators, this string is used to label the billing info entry\r
-#. * in the print dialog\r
-#.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3602\r
-msgid "Billing Info"\r
-msgstr "ھەق ھېسابلاش ئۇچۇرى"\r
-\r
-#. Translators, these strings are names for various 'standard' cover\r
-#. * pages that the printing system may support.\r
-#.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617\r
-msgid "None"\r
-msgstr "يوق"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617\r
-msgid "Classified"\r
-msgstr "تۈرگە ئايرىلغان"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617\r
-msgid "Confidential"\r
-msgstr "مەخپىي"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617\r
-msgid "Secret"\r
-msgstr "سىر"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617\r
-msgid "Standard"\r
-msgstr "ئۆلچەملىك"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617\r
-msgid "Top Secret"\r
-msgstr "قەتئىي مەخپىي"\r
-\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3617\r
-msgid "Unclassified"\r
-msgstr "بۆلۈنمىگەن"\r
-\r
-#. Translators, this is the label used for the option in the print\r
-#. * dialog that controls the front cover page.\r
-#.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3652\r
-msgid "Before"\r
-msgstr "ئاۋۋال"\r
-\r
-#. Translators, this is the label used for the option in the print\r
-#. * dialog that controls the back cover page.\r
-#.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3667\r
-msgid "After"\r
-msgstr "كېيىن"\r
-\r
-#. Translators: this is the name of the option that controls when\r
-#. * a print job is printed. Possible values are 'now', a specified time,\r
-#. * or 'on hold'\r
-#.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687\r
-msgid "Print at"\r
-msgstr "باسىدۇ"\r
-\r
-#. Translators: this is the name of the option that allows the user\r
-#. * to specify a time when a print job will be printed.\r
-#.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3698\r
-msgid "Print at time"\r
-msgstr "بەلگىلەنگەن ۋاقىتتا باسىدۇ"\r
-\r
-#. Translators: this format is used to display a custom paper\r
-#. * size. The two placeholders are replaced with the width and height\r
-#. * in points. E.g: "Custom 230.4x142.9"\r
-#.\r
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3733\r
-#, c-format\r
-msgid "Custom %sx%s"\r
-msgstr "ئىختىيارى %sx%s"\r
-\r
-#. default filename used for print-to-file\r
-#: ../modules/printbackends/file/gtkprintbackendfile.c:250\r
-#, c-format\r
-msgid "output.%s"\r
-msgstr "چىقىش.%s"\r
-\r
-#: ../modules/printbackends/file/gtkprintbackendfile.c:501\r
-msgid "Print to File"\r
-msgstr "ھۆججەتكە باس"\r
-\r
-#: ../modules/printbackends/file/gtkprintbackendfile.c:627\r
-msgid "PDF"\r
-msgstr "PDF"\r
-\r
-#: ../modules/printbackends/file/gtkprintbackendfile.c:627\r
-msgid "Postscript"\r
-msgstr "Postscript"\r
-\r
-#: ../modules/printbackends/file/gtkprintbackendfile.c:627\r
-msgid "SVG"\r
-msgstr "SVG"\r
-\r
-#: ../modules/printbackends/file/gtkprintbackendfile.c:640\r
-#: ../modules/printbackends/test/gtkprintbackendtest.c:503\r
-msgid "Pages per _sheet:"\r
-msgstr "ھەر ۋاراق بەت سانى(_S):"\r
-\r
-#: ../modules/printbackends/file/gtkprintbackendfile.c:699\r
-msgid "File"\r
-msgstr "ھۆججەت"\r
-\r
-#: ../modules/printbackends/file/gtkprintbackendfile.c:709\r
-msgid "_Output format"\r
-msgstr "چىقىرىش فورماتى(_O)"\r
-\r
-#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395\r
-msgid "Print to LPR"\r
-msgstr "LPR غا باس"\r
-\r
-#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421\r
-msgid "Pages Per Sheet"\r
-msgstr "ھەر ۋاراقتىكى بەت سانى"\r
-\r
-#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428\r
-msgid "Command Line"\r
-msgstr "بۇيرۇق قۇرى"\r
-\r
-#. SUN_BRANDING\r
-#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811\r
-msgid "printer offline"\r
-msgstr "پرىنتېر ئۈزۈك ھالەتتە"\r
-\r
-#. SUN_BRANDING\r
-#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829\r
-msgid "ready to print"\r
-msgstr "بېسىشقا تەييار"\r
-\r
-#. SUN_BRANDING\r
-#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832\r
-msgid "processing job"\r
-msgstr "ۋەزىپىنى بىر تەرەپ قىلىۋاتىدۇ"\r
-\r
-#. SUN_BRANDING\r
-#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836\r
-msgid "paused"\r
-msgstr "ۋاقىتلىق توختىتىلدى"\r
-\r
-#. SUN_BRANDING\r
-#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839\r
-msgid "unknown"\r
-msgstr "نامەلۇم"\r
-\r
-#. default filename used for print-to-test\r
-#: ../modules/printbackends/test/gtkprintbackendtest.c:234\r
-#, c-format\r
-msgid "test-output.%s"\r
-msgstr "test-output.%s"\r
-\r
-#: ../modules/printbackends/test/gtkprintbackendtest.c:467\r
-msgid "Print to Test Printer"\r
-msgstr "سىناق پرىنتېردا باس"\r
-\r
-#: ../tests/testfilechooser.c:207\r
-#, c-format\r
-msgid "Could not get information for file '%s': %s"\r
-msgstr "'%s' ھۆججەتنىڭ ئۇچۇرىغا ئېرىشەلمىدى:%s"\r
-\r
-#: ../tests/testfilechooser.c:222\r
-#, c-format\r
-msgid "Failed to open file '%s': %s"\r
-msgstr "ھۆججەت «%s» نى ئاچالمىدى: %s"\r
-\r
-#: ../tests/testfilechooser.c:267\r
-#, c-format\r
-msgid ""\r
-"Failed to load image '%s': reason not known, probably a corrupt image file"\r
-msgstr ""\r
-"'%s' سۈرەتنى يۈكلىيەلمىدى. سەۋەبى ئېنىق ئەمەس بۇ ھۆججەت بۇزۇلۇپ كەتكەن "\r
-"بولۇشى مۇمكىن"\r
+# Uighur translation for gtk+2.0
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the gtk+2.0 package.
+# Ömerjan Tursunqasim <omarjan14@qq.com>, 2008.
+# Sahran <sahran@live.com>, 2010
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk+2.0\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%"
+"2b&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2011-07-06 16:47+0000\n"
+"PO-Revision-Date: 2011-06-27 17:25+0600\n"
+"Last-Translator: Sahran <sahran.ug@gmail.com>\n"
+"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Launchpad-Export-Date: 2010-05-06 04:15+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: ../gdk/gdk.c:135
+#, c-format
+msgid "Error parsing option --gdk-debug"
+msgstr "--gdk-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى"
+
+#: ../gdk/gdk.c:155
+#, c-format
+msgid "Error parsing option --gdk-no-debug"
+msgstr "--gdk-no-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى"
+
+#. Description of --class=CLASS in --help output
+#: ../gdk/gdk.c:183
+msgid "Program class as used by the window manager"
+msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما تۈرى"
+
+#. Placeholder in --class=CLASS in --help output
+#: ../gdk/gdk.c:184
+msgid "CLASS"
+msgstr "CLASS"
+
+#. Description of --name=NAME in --help output
+#: ../gdk/gdk.c:186
+msgid "Program name as used by the window manager"
+msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما ئىسمى"
+
+#. Placeholder in --name=NAME in --help output
+#: ../gdk/gdk.c:187
+msgid "NAME"
+msgstr "NAME"
+
+#. Description of --display=DISPLAY in --help output
+#: ../gdk/gdk.c:189
+msgid "X display to use"
+msgstr "X كۆرسىتىش ئېغىزى ئىشلەت"
+
+#. Placeholder in --display=DISPLAY in --help output
+#: ../gdk/gdk.c:190
+msgid "DISPLAY"
+msgstr "كۆرسەت"
+
+#. Description of --gdk-debug=FLAGS in --help output
+#: ../gdk/gdk.c:193
+msgid "GDK debugging flags to set"
+msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى"
+
+#. Placeholder in --gdk-debug=FLAGS in --help output
+#. 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:194 ../gdk/gdk.c:197 ../gtk/gtkmain.c:569 ../gtk/gtkmain.c:572
+msgid "FLAGS"
+msgstr "بەلگە"
+
+#. Description of --gdk-no-debug=FLAGS in --help output
+#: ../gdk/gdk.c:196
+msgid "GDK debugging flags to unset"
+msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى"
+
+#.
+#. * Translators, the strings in the 'keyboard label' context are
+#. * display names for keyboard keys. Some of them have prefixes like
+#. * XF86 or ISO_ - these should be removed in the translation. Similarly,
+#. * underscores should be replaced by spaces. The prefix 'KP_' stands
+#. * for 'key pad' and you may want to include that in your translation.
+#. * Here are some examples of English translations:
+#. * XF86AudioMute - Audio mute
+#. * Scroll_lock - Scroll lock
+#. * KP_Space - Space (keypad)
+#.
+#: ../gdk/keyname-table.h:3951
+msgctxt "keyboard label"
+msgid "BackSpace"
+msgstr "چېكىنىش كۇنۇپكىسى"
+
+#: ../gdk/keyname-table.h:3952
+msgctxt "keyboard label"
+msgid "Tab"
+msgstr "Tab"
+
+#: ../gdk/keyname-table.h:3953
+msgctxt "keyboard label"
+msgid "Return"
+msgstr "Return"
+
+#: ../gdk/keyname-table.h:3954
+msgctxt "keyboard label"
+msgid "Pause"
+msgstr "ۋاقىتلىق توختا"
+
+#: ../gdk/keyname-table.h:3955
+msgctxt "keyboard label"
+msgid "Scroll_Lock"
+msgstr "Scroll_Lock"
+
+#: ../gdk/keyname-table.h:3956
+msgctxt "keyboard label"
+msgid "Sys_Req"
+msgstr "Sys_Req"
+
+#: ../gdk/keyname-table.h:3957
+msgctxt "keyboard label"
+msgid "Escape"
+msgstr "Escape"
+
+#: ../gdk/keyname-table.h:3958
+msgctxt "keyboard label"
+msgid "Multi_key"
+msgstr "Multikey(_K)"
+
+#: ../gdk/keyname-table.h:3959
+msgctxt "keyboard label"
+msgid "Home"
+msgstr "Home"
+
+#: ../gdk/keyname-table.h:3960
+msgctxt "keyboard label"
+msgid "Left"
+msgstr "سول"
+
+#: ../gdk/keyname-table.h:3961
+msgctxt "keyboard label"
+msgid "Up"
+msgstr "يۇقىرى"
+
+#: ../gdk/keyname-table.h:3962
+msgctxt "keyboard label"
+msgid "Right"
+msgstr "ئوڭ"
+
+#: ../gdk/keyname-table.h:3963
+msgctxt "keyboard label"
+msgid "Down"
+msgstr "تۆۋەن"
+
+#: ../gdk/keyname-table.h:3964
+msgctxt "keyboard label"
+msgid "Page_Up"
+msgstr "Page_Up"
+
+#: ../gdk/keyname-table.h:3965
+msgctxt "keyboard label"
+msgid "Page_Down"
+msgstr "Page_Down"
+
+#: ../gdk/keyname-table.h:3966
+msgctxt "keyboard label"
+msgid "End"
+msgstr "تامام"
+
+#: ../gdk/keyname-table.h:3967
+msgctxt "keyboard label"
+msgid "Begin"
+msgstr "باشلا"
+
+#: ../gdk/keyname-table.h:3968
+msgctxt "keyboard label"
+msgid "Print"
+msgstr "باس"
+
+#: ../gdk/keyname-table.h:3969
+msgctxt "keyboard label"
+msgid "Insert"
+msgstr "قىستۇر"
+
+#: ../gdk/keyname-table.h:3970
+msgctxt "keyboard label"
+msgid "Num_Lock"
+msgstr "Num_Lock"
+
+#. Translators: KP_ means 'key pad' here
+#: ../gdk/keyname-table.h:3972
+msgctxt "keyboard label"
+msgid "KP_Space"
+msgstr "KP_Space"
+
+#: ../gdk/keyname-table.h:3973
+msgctxt "keyboard label"
+msgid "KP_Tab"
+msgstr "KP_Tab"
+
+#: ../gdk/keyname-table.h:3974
+msgctxt "keyboard label"
+msgid "KP_Enter"
+msgstr "KP_Enter"
+
+#: ../gdk/keyname-table.h:3975
+msgctxt "keyboard label"
+msgid "KP_Home"
+msgstr "KP_Home"
+
+#: ../gdk/keyname-table.h:3976
+msgctxt "keyboard label"
+msgid "KP_Left"
+msgstr "KP_Left"
+
+#: ../gdk/keyname-table.h:3977
+msgctxt "keyboard label"
+msgid "KP_Up"
+msgstr "KP_Up"
+
+#: ../gdk/keyname-table.h:3978
+msgctxt "keyboard label"
+msgid "KP_Right"
+msgstr "KP_Right"
+
+#: ../gdk/keyname-table.h:3979
+msgctxt "keyboard label"
+msgid "KP_Down"
+msgstr "KP_Down"
+
+#: ../gdk/keyname-table.h:3980
+msgctxt "keyboard label"
+msgid "KP_Page_Up"
+msgstr "KP_Page_Up"
+
+#: ../gdk/keyname-table.h:3981
+msgctxt "keyboard label"
+msgid "KP_Prior"
+msgstr "KP_Prior"
+
+#: ../gdk/keyname-table.h:3982
+msgctxt "keyboard label"
+msgid "KP_Page_Down"
+msgstr "KP_Page_Down"
+
+#: ../gdk/keyname-table.h:3983
+msgctxt "keyboard label"
+msgid "KP_Next"
+msgstr "KP_Next"
+
+#: ../gdk/keyname-table.h:3984
+msgctxt "keyboard label"
+msgid "KP_End"
+msgstr "KP_End"
+
+#: ../gdk/keyname-table.h:3985
+msgctxt "keyboard label"
+msgid "KP_Begin"
+msgstr "KP_Begin"
+
+#: ../gdk/keyname-table.h:3986
+msgctxt "keyboard label"
+msgid "KP_Insert"
+msgstr "KP_Insert"
+
+#: ../gdk/keyname-table.h:3987
+msgctxt "keyboard label"
+msgid "KP_Delete"
+msgstr "KP_Delete"
+
+#: ../gdk/keyname-table.h:3988
+msgctxt "keyboard label"
+msgid "Delete"
+msgstr "ئۆچۈر"
+
+#. Translators: 'Mon' means Monitor here, and the XF86 prefix should be removed
+#: ../gdk/keyname-table.h:3990
+msgctxt "keyboard label"
+msgid "XF86MonBrightnessUp"
+msgstr "XF86MonBrightnessUp"
+
+#: ../gdk/keyname-table.h:3991
+msgctxt "keyboard label"
+msgid "XF86MonBrightnessDown"
+msgstr "XF86MonBrightnessDown"
+
+#: ../gdk/keyname-table.h:3992
+msgctxt "keyboard label"
+msgid "XF86AudioMute"
+msgstr "XF86AudioMute"
+
+#: ../gdk/keyname-table.h:3993
+msgctxt "keyboard label"
+msgid "XF86AudioLowerVolume"
+msgstr "XF86AudioLowerVolume"
+
+#: ../gdk/keyname-table.h:3994
+msgctxt "keyboard label"
+msgid "XF86AudioRaiseVolume"
+msgstr "XF86AudioRaiseVolume"
+
+#: ../gdk/keyname-table.h:3995
+msgctxt "keyboard label"
+msgid "XF86AudioPlay"
+msgstr "XF86AudioPlay"
+
+#: ../gdk/keyname-table.h:3996
+msgctxt "keyboard label"
+msgid "XF86AudioStop"
+msgstr "XF86AudioStop"
+
+#: ../gdk/keyname-table.h:3997
+msgctxt "keyboard label"
+msgid "XF86AudioNext"
+msgstr "XF86AudioNext"
+
+#: ../gdk/keyname-table.h:3998
+msgctxt "keyboard label"
+msgid "XF86AudioPrev"
+msgstr "XF86AudioPrev"
+
+#: ../gdk/keyname-table.h:3999
+msgctxt "keyboard label"
+msgid "XF86AudioRecord"
+msgstr "XF86AudioRecord"
+
+#: ../gdk/keyname-table.h:4000
+msgctxt "keyboard label"
+msgid "XF86AudioPause"
+msgstr "XF86AudioPause"
+
+#: ../gdk/keyname-table.h:4001
+msgctxt "keyboard label"
+msgid "XF86AudioRewind"
+msgstr "XF86AudioRewind"
+
+#: ../gdk/keyname-table.h:4002
+msgctxt "keyboard label"
+msgid "XF86AudioMedia"
+msgstr "XF86AudioMedia"
+
+#: ../gdk/keyname-table.h:4003
+msgctxt "keyboard label"
+msgid "XF86ScreenSaver"
+msgstr "XF86ScreenSaver"
+
+#: ../gdk/keyname-table.h:4004
+msgctxt "keyboard label"
+msgid "XF86Battery"
+msgstr "XF86Battery"
+
+#: ../gdk/keyname-table.h:4005
+msgctxt "keyboard label"
+msgid "XF86Launch1"
+msgstr "XF86Launch1"
+
+#: ../gdk/keyname-table.h:4006
+msgctxt "keyboard label"
+msgid "XF86Forward"
+msgstr "XF86Forward"
+
+#: ../gdk/keyname-table.h:4007
+msgctxt "keyboard label"
+msgid "XF86Back"
+msgstr "XF86Back"
+
+#: ../gdk/keyname-table.h:4008
+msgctxt "keyboard label"
+msgid "XF86Sleep"
+msgstr "XF86Sleep"
+
+#: ../gdk/keyname-table.h:4009
+msgctxt "keyboard label"
+msgid "XF86Hibernate"
+msgstr "XF86Hibernate"
+
+#: ../gdk/keyname-table.h:4010
+msgctxt "keyboard label"
+msgid "XF86WLAN"
+msgstr "XF86WLAN"
+
+#: ../gdk/keyname-table.h:4011
+msgctxt "keyboard label"
+msgid "XF86WebCam"
+msgstr "XF86WebCam"
+
+#: ../gdk/keyname-table.h:4012
+msgctxt "keyboard label"
+msgid "XF86Display"
+msgstr "XF86Display"
+
+#: ../gdk/keyname-table.h:4013
+msgctxt "keyboard label"
+msgid "XF86TouchpadToggle"
+msgstr "XF86TouchpadToggle"
+
+#: ../gdk/keyname-table.h:4014
+msgctxt "keyboard label"
+msgid "XF86WakeUp"
+msgstr "XF86WakeUp"
+
+#: ../gdk/keyname-table.h:4015
+msgctxt "keyboard label"
+msgid "XF86Suspend"
+msgstr "XF86Suspend"
+
+#. Description of --sync in --help output
+#: ../gdk/win32/gdkmain-win32.c:55
+msgid "Don't batch GDI requests"
+msgstr "GDI ئىلتىماسىنى توپ بىر تەرەپ قىلالمايدۇ"
+
+#. Description of --no-wintab in --help output
+#: ../gdk/win32/gdkmain-win32.c:57
+msgid "Don't use the Wintab API for tablet support"
+msgstr "Wintab API ئىشلەتمەي tablet قوللايدۇ"
+
+#. Description of --ignore-wintab in --help output
+#: ../gdk/win32/gdkmain-win32.c:59
+msgid "Same as --no-wintab"
+msgstr "--no-wintab بىلەن ئوخشاش"
+
+#. Description of --use-wintab in --help output
+#: ../gdk/win32/gdkmain-win32.c:61
+msgid "Do use the Wintab API [default]"
+msgstr "Wintab API ئىشلەت [كۆڭۈلدىكى]"
+
+#. Description of --max-colors=COLORS in --help output
+#: ../gdk/win32/gdkmain-win32.c:63
+msgid "Size of the palette in 8 bit mode"
+msgstr "8 بىتلىق رەڭ تەڭشەش تاختا چوڭلۇقى"
+
+#. Placeholder in --max-colors=COLORS in --help output
+#: ../gdk/win32/gdkmain-win32.c:64
+msgid "COLORS"
+msgstr "رەڭ"
+
+#: ../gdk/x11/gdkapplaunchcontext-x11.c:294
+#, c-format
+msgid "Starting %s"
+msgstr "%s قوزغىلىۋاتىدۇ"
+
+#: ../gdk/x11/gdkapplaunchcontext-x11.c:307
+#, c-format
+msgid "Opening %s"
+msgstr "%s نى ئېچىۋاتىدۇ"
+
+#: ../gdk/x11/gdkapplaunchcontext-x11.c:312
+#, c-format
+msgid "Opening %d Item"
+msgid_plural "Opening %d Items"
+msgstr[0] "%d تۈرنى ئېچىۋاتىدۇ"
+
+#. Translators: this is the license preamble; the string at the end
+#. * contains the URL of the license.
+#.
+#: ../gtk/gtkaboutdialog.c:103
+#, c-format
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY; for details, visit <a href="
+"\"%s\">%s</a>"
+msgstr ""
+"بۇ پروگرامما ھېچقانداق كاپالەت بەرمەيدۇ؛ تەپسىلاتىنى <a href=\"%s\">%s</a> "
+"زىيارەت قىلىڭ"
+
+#: ../gtk/gtkaboutdialog.c:345
+msgid "License"
+msgstr "ئىجازەتنامە"
+
+#: ../gtk/gtkaboutdialog.c:346
+msgid "The license of the program"
+msgstr "پروگراممىنىڭ ئىجازەتنامىسى"
+
+#. Add the credits button
+#: ../gtk/gtkaboutdialog.c:738
+msgid "C_redits"
+msgstr "تەشەككۈر(_R)"
+
+#. Add the license button
+#: ../gtk/gtkaboutdialog.c:751
+msgid "_License"
+msgstr "ئىجازەت(_L)"
+
+#: ../gtk/gtkaboutdialog.c:956
+msgid "Could not show link"
+msgstr "ئۇلانمىنى كۆرسىتەلمىدى"
+
+#: ../gtk/gtkaboutdialog.c:993
+msgid "Homepage"
+msgstr "باش بەت"
+
+#: ../gtk/gtkaboutdialog.c:1047
+#, c-format
+msgid "About %s"
+msgstr "%s ھەققىدە"
+
+#: ../gtk/gtkaboutdialog.c:2371
+msgid "Created by"
+msgstr "قۇرغۇچى"
+
+#: ../gtk/gtkaboutdialog.c:2374
+msgid "Documented by"
+msgstr "پۈتۈكچى"
+
+#: ../gtk/gtkaboutdialog.c:2384
+msgid "Translated by"
+msgstr "تەرجىمان"
+
+#: ../gtk/gtkaboutdialog.c:2389
+msgid "Artwork by"
+msgstr "گۈزەل سەنئەت تەھرىرى"
+
+#. This is the text that should appear next to menu accelerators
+#. * that use the shift key. If the text on this key isn't typically
+#. * translated on keyboards used for your language, don't translate
+#. * this.
+#.
+#: ../gtk/gtkaccellabel.c:156
+msgctxt "keyboard label"
+msgid "Shift"
+msgstr "Shift كۇنۇپكىسى"
+
+#. This is the text that should appear next to menu accelerators
+#. * that use the control key. If the text on this key isn't typically
+#. * translated on keyboards used for your language, don't translate
+#. * this.
+#.
+#: ../gtk/gtkaccellabel.c:162
+msgctxt "keyboard label"
+msgid "Ctrl"
+msgstr "Ctrl"
+
+#. This is the text that should appear next to menu accelerators
+#. * that use the alt key. If the text on this key isn't typically
+#. * translated on keyboards used for your language, don't translate
+#. * this.
+#.
+#: ../gtk/gtkaccellabel.c:168
+msgctxt "keyboard label"
+msgid "Alt"
+msgstr "Alt"
+
+#. This is the text that should appear next to menu accelerators
+#. * that use the super key. If the text on this key isn't typically
+#. * translated on keyboards used for your language, don't translate
+#. * this.
+#.
+#: ../gtk/gtkaccellabel.c:787
+msgctxt "keyboard label"
+msgid "Super"
+msgstr "Super"
+
+#. This is the text that should appear next to menu accelerators
+#. * that use the hyper key. If the text on this key isn't typically
+#. * translated on keyboards used for your language, don't translate
+#. * this.
+#.
+#: ../gtk/gtkaccellabel.c:800
+msgctxt "keyboard label"
+msgid "Hyper"
+msgstr "Hyper"
+
+#. This is the text that should appear next to menu accelerators
+#. * that use the meta key. If the text on this key isn't typically
+#. * translated on keyboards used for your language, don't translate
+#. * this.
+#.
+#: ../gtk/gtkaccellabel.c:814
+msgctxt "keyboard label"
+msgid "Meta"
+msgstr "Meta"
+
+#: ../gtk/gtkaccellabel.c:830
+msgctxt "keyboard label"
+msgid "Space"
+msgstr "بوشلۇق"
+
+#: ../gtk/gtkaccellabel.c:833
+msgctxt "keyboard label"
+msgid "Backslash"
+msgstr "تەتۈر يانتۇ سىزىق(Backslash)"
+
+#: ../gtk/gtkappchooserbutton.c:268
+msgid "Other application..."
+msgstr "باشقا پروگراممىلار..."
+
+#: ../gtk/gtkappchooserdialog.c:130
+msgid "Failed to look for applications online"
+msgstr "تودىن پروگرامما ئىزدەش مەغلۇپ بولدى"
+
+#: ../gtk/gtkappchooserdialog.c:171
+msgid "Find applications online"
+msgstr "تودىن پروگرامما ئىزدەش"
+
+#: ../gtk/gtkappchooserdialog.c:221
+msgid "Could not run application"
+msgstr "پروگراممىنى ئىجرا قىلالمىدى"
+
+#: ../gtk/gtkappchooserdialog.c:234
+#, c-format
+msgid "Could not find '%s'"
+msgstr "'%s' تاپالمىدى"
+
+#: ../gtk/gtkappchooserdialog.c:237
+msgid "Could not find application"
+msgstr "پروگراممىنى تاپالمىدى"
+
+#. Translators: %s is a filename
+#: ../gtk/gtkappchooserdialog.c:355
+#, c-format
+msgid "Select an application to open \"%s\""
+msgstr "\"%s\" نى ئاچىدىغان پروگراممىنى تاللاڭ"
+
+#: ../gtk/gtkappchooserdialog.c:356 ../gtk/gtkappchooserwidget.c:643
+#, c-format
+msgid "No applications available to open \"%s\""
+msgstr "\"%s\" نى ئاچىدىغان پروگرامما يوق"
+
+#. Translators: %s is a file type description
+#: ../gtk/gtkappchooserdialog.c:362
+#, c-format
+msgid "Select an application for \"%s\" files"
+msgstr "\"%s\" ھۆججەتلەر ئۈچۈن پروگرامما تاللاڭ."
+
+#: ../gtk/gtkappchooserdialog.c:364
+#, c-format
+msgid "No applications available to open \"%s\" files"
+msgstr "\"%s\" ھۆججەتلەر ئاچىدىغان پروگرامما يوق"
+
+#: ../gtk/gtkappchooserdialog.c:380
+msgid ""
+"Click \"Show other applications\", for more options, or \"Find applications "
+"online\" to install a new application"
+msgstr ""
+"تەپسىلاتى ئۈچۈن «باشقا پروگراممىنى كۆرسەت»نى چېكىڭ ياكى «پروگراممىنى توردىن "
+"ئىزدە» دىن يېڭى پروگراممىنى ئورنىتىڭ"
+
+#: ../gtk/gtkappchooserdialog.c:450
+msgid "Forget association"
+msgstr "ھەمكارلىقىنى ئۇنتۇ"
+
+#: ../gtk/gtkappchooserdialog.c:515
+msgid "Show other applications"
+msgstr "باشقا پروگراممىلارنى كۆرسەت"
+
+#: ../gtk/gtkappchooserdialog.c:533
+msgid "_Select"
+msgstr "تاللا(_S)"
+
+#: ../gtk/gtkappchooserwidget.c:592
+msgid "Default Application"
+msgstr "كۆڭۈلدىكى پروگرامما"
+
+#: ../gtk/gtkappchooserwidget.c:730
+msgid "Recommended Applications"
+msgstr "تەۋسىيىلىك پروگراممىلار"
+
+#: ../gtk/gtkappchooserwidget.c:745
+msgid "Related Applications"
+msgstr "مۇناشىۋەتلىك پروگراممىلار"
+
+#: ../gtk/gtkappchooserwidget.c:759
+msgid "Other Applications"
+msgstr "باشقا پروگراممىلار"
+
+#: ../gtk/gtkassistant.c:920
+msgid "C_ontinue"
+msgstr "داۋاملاشتۇر(_O)"
+
+#: ../gtk/gtkassistant.c:923
+msgid "Go _Back"
+msgstr "كەينىگە(_B)"
+
+#: ../gtk/gtkassistant.c:927
+msgid "_Finish"
+msgstr "تامام(_F)"
+
+#: ../gtk/gtkbuilderparser.c:342
+#, c-format
+msgid "Invalid type function on line %d: '%s'"
+msgstr "ئىناۋەتسىز تىپ فۇنكسىيىسى كۆرۈنگەن قۇر %d: '%s'"
+
+#: ../gtk/gtkbuilderparser.c:406
+#, c-format
+msgid "Duplicate object ID '%s' on line %d (previously on line %d)"
+msgstr "تەكرار ئوبيېكت id '%s' كۆرۈنگەن قۇر %d (ئىلگىرى كۆرۈنگەن قۇر %d)"
+
+#: ../gtk/gtkbuilderparser.c:858
+#, c-format
+msgid "Invalid root element: '%s'"
+msgstr "ئىناۋەتسىز غول ئېلېمېنت: '%s'"
+
+#: ../gtk/gtkbuilderparser.c:897
+#, c-format
+msgid "Unhandled tag: '%s'"
+msgstr "بىر تەرەپ قىلىنمىغان بەلگە: '%s'"
+
+#. Translate to calendar:YM if you want years to be displayed
+#. * before months; otherwise translate to calendar:MY.
+#. * Do *not* translate it to anything else, if it
+#. * it isn't calendar:YM or calendar:MY it will not work.
+#. *
+#. * Note that the ordering described here is logical order, which is
+#. * further influenced by BIDI ordering. Thus, if you have a default
+#. * text direction of RTL and specify "calendar:YM", then the year
+#. * will appear to the right of the month.
+#.
+#: ../gtk/gtkcalendar.c:874
+msgid "calendar:MY"
+msgstr "calendar:MY"
+
+#. Translate to calendar:week_start:0 if you want Sunday to be the
+#. * first day of the week to calendar:week_start:1 if you want Monday
+#. * to be the first day of the week, and so on.
+#.
+#: ../gtk/gtkcalendar.c:912
+msgid "calendar:week_start:0"
+msgstr "calendar:week_start:0"
+
+#. Translators: This is a text measurement template.
+#. * Translate it to the widest year text
+#. *
+#. * If you don't understand this, leave it as "2000"
+#.
+#: ../gtk/gtkcalendar.c:1913
+msgctxt "year measurement template"
+msgid "2000"
+msgstr "2000"
+
+#. Translators: this defines whether the day numbers should use
+#. * localized digits or the ones used in English (0123...).
+#. *
+#. * Translate to "%Id" if you want to use localized digits, or
+#. * translate to "%d" otherwise.
+#. *
+#. * Note that translating this doesn't guarantee that you get localized
+#. * digits. That needs support from your system and locale definition
+#. * too.
+#.
+#: ../gtk/gtkcalendar.c:1944 ../gtk/gtkcalendar.c:2641
+#, c-format
+msgctxt "calendar:day:digits"
+msgid "%d"
+msgstr "%d"
+
+#. Translators: this defines whether the week numbers should use
+#. * localized digits or the ones used in English (0123...).
+#. *
+#. * Translate to "%Id" if you want to use localized digits, or
+#. * translate to "%d" otherwise.
+#. *
+#. * Note that translating this doesn't guarantee that you get localized
+#. * digits. That needs support from your system and locale definition
+#. * too.
+#.
+#: ../gtk/gtkcalendar.c:1976 ../gtk/gtkcalendar.c:2502
+#, c-format
+msgctxt "calendar:week:digits"
+msgid "%d"
+msgstr "%d"
+
+#. Translators: This dictates how the year is displayed in
+#. * gtkcalendar widget. See strftime() manual for the format.
+#. * Use only ASCII in the translation.
+#. *
+#. * Also look for the msgid "2000".
+#. * Translate that entry to a year with the widest output of this
+#. * msgid.
+#. *
+#. * "%Y" is appropriate for most locales.
+#.
+#: ../gtk/gtkcalendar.c:2271
+msgctxt "calendar year format"
+msgid "%Y"
+msgstr "%Y"
+
+#. This label is displayed in a treeview cell displaying
+#. * a disabled accelerator key combination.
+#.
+#: ../gtk/gtkcellrendereraccel.c:286
+msgctxt "Accelerator"
+msgid "Disabled"
+msgstr "چەكلەنگەن"
+
+#. This label is displayed in a treeview cell displaying
+#. * an accelerator key combination that is not valid according
+#. * to gtk_accelerator_valid().
+#.
+#: ../gtk/gtkcellrendereraccel.c:296
+msgctxt "Accelerator"
+msgid "Invalid"
+msgstr "ئىناۋەتسىز"
+
+#. This label is displayed in a treeview cell displaying
+#. * an accelerator when the cell is clicked to change the
+#. * acelerator.
+#.
+#: ../gtk/gtkcellrendereraccel.c:432 ../gtk/gtkcellrendereraccel.c:745
+msgid "New accelerator..."
+msgstr "يېڭى تېزلەتكۈچ كۇنۇپكا…"
+
+#: ../gtk/gtkcellrendererprogress.c:374 ../gtk/gtkcellrendererprogress.c:464
+#, c-format
+msgctxt "progress bar label"
+msgid "%d %%"
+msgstr "%d %%"
+
+#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:483
+msgid "Pick a Color"
+msgstr "رەڭ ئال"
+
+#: ../gtk/gtkcolorsel.c:416
+msgid ""
+"Select the color you want from the outer ring. Select the darkness or "
+"lightness of that color using the inner triangle."
+msgstr ""
+"سىرتقى ئايلانمىدىن سىزگە لازىملىق رەڭنى تاللاڭ .ئىچكى ئۈچ بۇلۇڭدىن رەڭنىڭ "
+"كۈچلۈكلۈكىنى تاللاڭ."
+
+#: ../gtk/gtkcolorsel.c:442
+msgid ""
+"Click the eyedropper, then click a color anywhere on your screen to select "
+"that color."
+msgstr "تېمىتقۇچنى تاق چېكىپ ئاندىن ئېكراننىڭ خالىغان يېرىدىن رەڭ تۇتۇڭ."
+
+#: ../gtk/gtkcolorsel.c:452
+msgid "_Hue:"
+msgstr "رەڭ تەڭشەش(_H):"
+
+#: ../gtk/gtkcolorsel.c:453
+msgid "Position on the color wheel."
+msgstr "رەڭ ھالقىسىدىكى ئورنى"
+
+#: ../gtk/gtkcolorsel.c:455
+msgid "_Saturation:"
+msgstr "تويۇنۇش دەرىجىسى(_S):"
+
+#: ../gtk/gtkcolorsel.c:456
+msgid "Intensity of the color."
+msgstr "رەڭ يورۇقلۇق دەرىجىسى."
+
+#: ../gtk/gtkcolorsel.c:457
+msgid "_Value:"
+msgstr "قىممىتى(_V):"
+
+#: ../gtk/gtkcolorsel.c:458
+msgid "Brightness of the color."
+msgstr "رەڭ يورۇقلۇقى."
+
+#: ../gtk/gtkcolorsel.c:459
+msgid "_Red:"
+msgstr "قىزىل(_R):"
+
+#: ../gtk/gtkcolorsel.c:460
+msgid "Amount of red light in the color."
+msgstr "رەڭ تەركىبىدىكى قىزىل رەڭ مىقدارى."
+
+#: ../gtk/gtkcolorsel.c:461
+msgid "_Green:"
+msgstr "يېشىل(_G):"
+
+#: ../gtk/gtkcolorsel.c:462
+msgid "Amount of green light in the color."
+msgstr "رەڭ تەركىبىدىكى يېشىل رەڭ مىقدارى."
+
+#: ../gtk/gtkcolorsel.c:463
+msgid "_Blue:"
+msgstr "كۆك(_B):"
+
+#: ../gtk/gtkcolorsel.c:464
+msgid "Amount of blue light in the color."
+msgstr "رەڭ تەركىبىدىكى كۆك رەڭ مىقدارى."
+
+#: ../gtk/gtkcolorsel.c:467
+msgid "Op_acity:"
+msgstr "سۈزۈكلۈك(_A):"
+
+#: ../gtk/gtkcolorsel.c:475 ../gtk/gtkcolorsel.c:485
+msgid "Transparency of the color."
+msgstr "رەڭ سۈزۈكلۈكى."
+
+#: ../gtk/gtkcolorsel.c:492
+msgid "Color _name:"
+msgstr "رەڭ ئاتى(_N):"
+
+#: ../gtk/gtkcolorsel.c:507
+msgid ""
+"You can enter an HTML-style hexadecimal color value, or simply a color name "
+"such as 'orange' in this entry."
+msgstr ""
+"سىز بۇ جايغا HTML ئۇسلۇبىدىكى 16 لىك سىستېما رەت نومۇرى ياكى “orange” گە "
+"ئوخشاش رەڭ ئاتلىرىنى كىرگۈزسىڭىز بولىدۇ."
+
+#: ../gtk/gtkcolorsel.c:539
+msgid "_Palette:"
+msgstr "رەڭ تاختىسى(_P):"
+
+#: ../gtk/gtkcolorsel.c:569
+msgid "Color Wheel"
+msgstr "رەڭ ھالقىسى"
+
+#: ../gtk/gtkcolorsel.c:1042
+msgid ""
+"The previously-selected color, for comparison to the color you're selecting "
+"now. You can drag this color to a palette entry, or select this color as "
+"current by dragging it to the other color swatch alongside."
+msgstr ""
+"ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان. سىز بۇ رەڭنى "
+"رەڭ تاللاش تاختىسىغا سۆرەپ ياكى بۇ رەڭنى كېيىنكى رەڭ كاتەكچىسىگە سۆرەپ "
+"نۆۋەتتىكى رەڭ قىلىپ بەلگىلىسىڭىز بولىدۇ."
+
+#: ../gtk/gtkcolorsel.c:1048
+msgid ""
+"The color you've chosen. You can drag this color to a palette entry to save "
+"it for use in the future."
+msgstr ""
+"سىز تاللىغان رەڭ .سىز بۇ رەڭنى تاللاپ ساقلاپ قويۇپ كىيىن ئىشلەتسىڭىز بولىدۇ."
+
+#: ../gtk/gtkcolorsel.c:1054
+msgid ""
+"The previously-selected color, for comparison to the color you're selecting "
+"now."
+msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان."
+
+#: ../gtk/gtkcolorsel.c:1058
+msgid "The color you've chosen."
+msgstr "سىز تاللىغان رەڭ."
+
+#: ../gtk/gtkcolorsel.c:1460
+msgid "_Save color here"
+msgstr "رەڭنى بۇ جايغا ساقلا(_S)"
+
+#: ../gtk/gtkcolorsel.c:1665
+msgid ""
+"Click this palette entry to make it the current color. To change this entry, "
+"drag a color swatch here or right-click it and select \"Save color here.\""
+msgstr ""
+"رەڭ تاختىسىدىكى رەڭنى تاق چەكسىڭىز نۆۋەتتىكى رەڭ بولۇپ تاللىنىدۇ. بۇ تۈرنى "
+"ئۆزگەرتىشتە، رەڭنى بۇ جايغا سۆرەڭ ياكى چاشقىنەك ئوڭ توپچىسىنى چەككەندىن "
+"كېيىن بۇ جايدا «رەڭنى بۇ جايغا ساقلا»نى تاللاڭ."
+
+#: ../gtk/gtkcolorseldialog.c:213
+msgid "Color Selection"
+msgstr "رەڭ تاللاش"
+
+#. Translate to the default units to use for presenting
+#. * lengths to the user. Translate to default:inch if you
+#. * want inches, otherwise translate to default:mm.
+#. * Do *not* translate it to "predefinito:mm", if it
+#. * it isn't default:mm or default:inch it will not work
+#.
+#: ../gtk/gtkcustompaperunixdialog.c:116
+msgid "default:mm"
+msgstr "default:mm"
+
+#. And show the custom paper dialog
+#: ../gtk/gtkcustompaperunixdialog.c:372 ../gtk/gtkprintunixdialog.c:3325
+msgid "Manage Custom Sizes"
+msgstr "ئىختىيارى چوڭلۇقنى باشقۇر"
+
+#: ../gtk/gtkcustompaperunixdialog.c:533 ../gtk/gtkpagesetupunixdialog.c:783
+msgid "inch"
+msgstr "دىيۇيم"
+
+#: ../gtk/gtkcustompaperunixdialog.c:535 ../gtk/gtkpagesetupunixdialog.c:781
+msgid "mm"
+msgstr "mm"
+
+#: ../gtk/gtkcustompaperunixdialog.c:580
+msgid "Margins from Printer..."
+msgstr "پرىنتېر ئارىلىقى…"
+
+#: ../gtk/gtkcustompaperunixdialog.c:746
+#, c-format
+msgid "Custom Size %d"
+msgstr "ئىختىيارى چوڭلۇقى %d"
+
+#: ../gtk/gtkcustompaperunixdialog.c:1084
+msgid "_Width:"
+msgstr "كەڭلىك(_W):"
+
+#: ../gtk/gtkcustompaperunixdialog.c:1097
+msgid "_Height:"
+msgstr "ئېگىزلىك(_H):"
+
+#: ../gtk/gtkcustompaperunixdialog.c:1110
+msgid "Paper Size"
+msgstr "قەغەز چوڭلۇقى"
+
+#: ../gtk/gtkcustompaperunixdialog.c:1119
+msgid "_Top:"
+msgstr "ئۈستى(_T):"
+
+#: ../gtk/gtkcustompaperunixdialog.c:1132
+msgid "_Bottom:"
+msgstr "ئاستى(_B):"
+
+#: ../gtk/gtkcustompaperunixdialog.c:1145
+msgid "_Left:"
+msgstr "سول(_L):"
+
+#: ../gtk/gtkcustompaperunixdialog.c:1158
+msgid "_Right:"
+msgstr "ئوڭ(_R):"
+
+#: ../gtk/gtkcustompaperunixdialog.c:1200
+msgid "Paper Margins"
+msgstr "قەغەز يان ئارىلىقى"
+
+#: ../gtk/gtkentry.c:8949 ../gtk/gtktextview.c:8277
+msgid "Input _Methods"
+msgstr "كىرگۈزگۈچ(_M)"
+
+#: ../gtk/gtkentry.c:8963 ../gtk/gtktextview.c:8291
+msgid "_Insert Unicode Control Character"
+msgstr "يۇنىكودلۇق كونترول بەلگىسى قىستۇر(_I)"
+
+#: ../gtk/gtkentry.c:10434
+msgid "Caps Lock and Num Lock are on"
+msgstr "Caps Lock ۋە Num Lock ئوچۇق"
+
+#: ../gtk/gtkentry.c:10436
+msgid "Num Lock is on"
+msgstr "Num Lock ئوچۇق"
+
+#: ../gtk/gtkentry.c:10438
+msgid "Caps Lock is on"
+msgstr "Caps Lock ئوچۇق"
+
+#. *
+#. * SECTION:gtkfilechooserbutton
+#. * @Short_description: A button to launch a file selection dialog
+#. * @Title: GtkFileChooserButton
+#. * @See_also:#GtkFileChooserDialog
+#. *
+#. * The #GtkFileChooserButton is a widget that lets the user select a
+#. * file. It implements the #GtkFileChooser interface. Visually, it is a
+#. * file name with a button to bring up a #GtkFileChooserDialog.
+#. * The user can then use that dialog to change the file associated with
+#. * that button. This widget does not support setting the
+#. * #GtkFileChooser:select-multiple property to %TRUE.
+#. *
+#. * <example>
+#. * <title>Create a button to let the user select a file in /etc</title>
+#. * <programlisting>
+#. * {
+#. * GtkWidget *button;
+#. *
+#. * button = gtk_file_chooser_button_new (_("Select a file"),
+#. * GTK_FILE_CHOOSER_ACTION_OPEN);
+#. * gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button),
+#. * "/etc");
+#. * }
+#. * </programlisting>
+#. * </example>
+#. *
+#. * The #GtkFileChooserButton supports the #GtkFileChooserAction<!-- -->s
+#. * %GTK_FILE_CHOOSER_ACTION_OPEN and %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
+#. *
+#. * <important>
+#. * The #GtkFileChooserButton will ellipsize the label,
+#. * and thus will thus request little horizontal space. To give the button
+#. * more space, you should call gtk_widget_get_preferred_size(),
+#. * gtk_file_chooser_button_set_width_chars(), or pack the button in
+#. * such a way that other interface elements give space to the widget.
+#. * </important>
+#.
+#. **************** *
+#. * Private Macros *
+#. * ****************
+#: ../gtk/gtkfilechooserbutton.c:105
+msgid "Select a File"
+msgstr "بىر ھۆججەت تاللاڭ"
+
+#: ../gtk/gtkfilechooserbutton.c:106 ../gtk/gtkfilechooserdefault.c:1871
+msgid "Desktop"
+msgstr "ئۈستەلئۈستى"
+
+#: ../gtk/gtkfilechooserbutton.c:107
+msgid "(None)"
+msgstr "(يوق)"
+
+#: ../gtk/gtkfilechooserbutton.c:2046
+msgid "Other..."
+msgstr "باشقا…"
+
+#: ../gtk/gtkfilechooserdefault.c:147
+msgid "Type name of new folder"
+msgstr "يېڭى ھۆججەت قىسقۇچنىڭ ئاتىنى كىرگۈزۈڭ"
+
+#: ../gtk/gtkfilechooserdefault.c:965
+msgid "Could not retrieve information about the file"
+msgstr "ھۆججەتكە مۇناسىۋەتلىك ئۇچۇرلارغا ئېرىشكىلى بولمايدۇ"
+
+#: ../gtk/gtkfilechooserdefault.c:976
+msgid "Could not add a bookmark"
+msgstr "قىسقۇچ قىستۇرالمايدۇ"
+
+#: ../gtk/gtkfilechooserdefault.c:987
+msgid "Could not remove bookmark"
+msgstr "قىسقۇچنى چىقىرىۋېتەلمەيدۇ"
+
+#: ../gtk/gtkfilechooserdefault.c:998
+msgid "The folder could not be created"
+msgstr "قىسقۇچ قۇرالمايدۇ"
+
+#: ../gtk/gtkfilechooserdefault.c:1011
+msgid ""
+"The folder could not be created, as a file with the same name already "
+"exists. Try using a different name for the folder, or rename the file first."
+msgstr ""
+"قىسقۇچ قۇرالمايدۇ، چۈنكى ئوخشاش ئاتلىق قىسقۇچ مەۋجۇت. باشقا ئات ئىشلىتىپ "
+"سىناڭ ياكى ھۆججەت ئاتىنى ئۆزگەرتىڭ."
+
+#: ../gtk/gtkfilechooserdefault.c:1025
+msgid "You need to choose a valid filename."
+msgstr "ئىناۋەتلىك ھۆججەت ئاتى تاللىشىڭىز زۆرۈر."
+
+#: ../gtk/gtkfilechooserdefault.c:1028
+#, c-format
+msgid "Cannot create a file under %s as it is not a folder"
+msgstr "%s قىسقۇچ بولمىغاچقا، ئۇنىڭ ئاستىغا ھۆججەت قۇرغىلى بولمىدى."
+
+#: ../gtk/gtkfilechooserdefault.c:1040
+msgid ""
+"You may only select folders. The item that you selected is not a folder; "
+"try using a different item."
+msgstr ""
+"سىز قىسقۇچلا تاللىيالايسىز. سىز تاللىغان تۈر قىسقۇچ ئېمە؛ باشقا تۈرنى "
+"ئىشلىتىپ سىناڭ."
+
+#: ../gtk/gtkfilechooserdefault.c:1050
+msgid "Invalid file name"
+msgstr "ئىناۋەتسىز ھۆججەت ئاتى"
+
+#: ../gtk/gtkfilechooserdefault.c:1060
+msgid "The folder contents could not be displayed"
+msgstr "قىسقۇچ مەزمۇنىنى كۆرسىتەلمىدى"
+
+#. Translators: the first string is a path and the second string
+#. * is a hostname. Nautilus and the panel contain the same string
+#. * to translate.
+#.
+#: ../gtk/gtkfilechooserdefault.c:1614
+#, c-format
+msgid "%1$s on %2$s"
+msgstr "%2$s ئۈستىدىكى %1$s"
+
+#: ../gtk/gtkfilechooserdefault.c:1790
+msgid "Search"
+msgstr "ئىزدە"
+
+#: ../gtk/gtkfilechooserdefault.c:1814 ../gtk/gtkfilechooserdefault.c:9539
+msgid "Recently Used"
+msgstr "يېقىندا ئىشلەتكەن"
+
+#: ../gtk/gtkfilechooserdefault.c:2470
+msgid "Select which types of files are shown"
+msgstr "كۆرسىتىلىدىغان ھۆججەت تىپىنى تاللاڭ"
+
+#: ../gtk/gtkfilechooserdefault.c:2829
+#, c-format
+msgid "Add the folder '%s' to the bookmarks"
+msgstr "'%s' قىسقۇچنى خەتكۈچكە قوش"
+
+#: ../gtk/gtkfilechooserdefault.c:2873
+#, c-format
+msgid "Add the current folder to the bookmarks"
+msgstr "نۆۋەتتىكى قىسقۇچنى خەتكۈچكە قوش"
+
+#: ../gtk/gtkfilechooserdefault.c:2875
+#, c-format
+msgid "Add the selected folders to the bookmarks"
+msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش"
+
+#: ../gtk/gtkfilechooserdefault.c:2913
+#, c-format
+msgid "Remove the bookmark '%s'"
+msgstr "'%s' خەتكۈچنى چىقىرىۋەت"
+
+#: ../gtk/gtkfilechooserdefault.c:2915
+#, c-format
+msgid "Bookmark '%s' cannot be removed"
+msgstr "'%s' خەتكۈچنى چىقىرىۋېتەلمىدى."
+
+#: ../gtk/gtkfilechooserdefault.c:2922 ../gtk/gtkfilechooserdefault.c:3807
+msgid "Remove the selected bookmark"
+msgstr "تاللانغان خەتكۈچنى چىقىرىۋەت"
+
+#: ../gtk/gtkfilechooserdefault.c:3486
+msgid "Remove"
+msgstr "چىقىرىۋەت"
+
+#: ../gtk/gtkfilechooserdefault.c:3495
+msgid "Rename..."
+msgstr "ئات ئۆزگەرت…"
+
+#. Accessible object name for the file chooser's shortcuts pane
+#: ../gtk/gtkfilechooserdefault.c:3659
+msgid "Places"
+msgstr "ئورۇن"
+
+#. Column header for the file chooser's shortcuts pane
+#: ../gtk/gtkfilechooserdefault.c:3716
+msgid "_Places"
+msgstr "ئورۇن(_P)"
+
+#: ../gtk/gtkfilechooserdefault.c:3795
+msgid "Add the selected folder to the Bookmarks"
+msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش"
+
+#: ../gtk/gtkfilechooserdefault.c:3942
+msgid "Could not select file"
+msgstr "ھۆججەت تاللىيالمىدى"
+
+#: ../gtk/gtkfilechooserdefault.c:4115
+msgid "_Add to Bookmarks"
+msgstr "خەتكۈچكە قوش(_A)"
+
+#: ../gtk/gtkfilechooserdefault.c:4128
+msgid "Show _Hidden Files"
+msgstr "يوشۇرۇن ھۆججەتلەرنى كۆرسەت(_H)"
+
+#: ../gtk/gtkfilechooserdefault.c:4135
+msgid "Show _Size Column"
+msgstr "چوڭلۇق ئىستونىنى كۆرسەت(_S)"
+
+#: ../gtk/gtkfilechooserdefault.c:4360
+msgid "Files"
+msgstr "ھۆججەتلەر"
+
+#: ../gtk/gtkfilechooserdefault.c:4411
+msgid "Name"
+msgstr "ئاتى"
+
+#: ../gtk/gtkfilechooserdefault.c:4434
+msgid "Size"
+msgstr "چوڭلۇقى"
+
+#: ../gtk/gtkfilechooserdefault.c:4448
+msgid "Modified"
+msgstr "ئۆزگەرتىلدى"
+
+#. Label
+#: ../gtk/gtkfilechooserdefault.c:4702 ../gtk/gtkprinteroptionwidget.c:799
+msgid "_Name:"
+msgstr "ئاتى(_N):"
+
+#. Expander
+#: ../gtk/gtkfilechooserdefault.c:4745
+msgid "_Browse for other folders"
+msgstr "باشقا قىسقۇچقا كۆز يۈگۈرت(_B)"
+
+#: ../gtk/gtkfilechooserdefault.c:5018
+msgid "Type a file name"
+msgstr "ھۆججەت ئاتىنى كىرگۈزۈڭ"
+
+#. Create Folder
+#: ../gtk/gtkfilechooserdefault.c:5061
+msgid "Create Fo_lder"
+msgstr "قىسقۇچ قۇر(_L)"
+
+#: ../gtk/gtkfilechooserdefault.c:5071
+msgid "_Location:"
+msgstr "ئورنى(_L):"
+
+#: ../gtk/gtkfilechooserdefault.c:5278
+msgid "Save in _folder:"
+msgstr "قىسقۇچقا ساقلا(_F):"
+
+#: ../gtk/gtkfilechooserdefault.c:5280
+msgid "Create in _folder:"
+msgstr "قىسقۇچتا قۇر(_F):"
+
+#: ../gtk/gtkfilechooserdefault.c:6402
+#, c-format
+msgid "Could not read the contents of %s"
+msgstr "%s نىڭ مەزمۇنىنى ئوقۇيالمىدى"
+
+#: ../gtk/gtkfilechooserdefault.c:6406
+msgid "Could not read the contents of the folder"
+msgstr "قىسقۇچنىڭ مەزمۇنىنى ئوقۇيالمىدى"
+
+#: ../gtk/gtkfilechooserdefault.c:6499 ../gtk/gtkfilechooserdefault.c:6567
+#: ../gtk/gtkfilechooserdefault.c:6719
+msgid "Unknown"
+msgstr "نامەلۇم"
+
+#: ../gtk/gtkfilechooserdefault.c:6514
+msgid "%H:%M"
+msgstr "%H:%M"
+
+#: ../gtk/gtkfilechooserdefault.c:6516
+msgid "Yesterday at %H:%M"
+msgstr "ئەتە %H:%M"
+
+#: ../gtk/gtkfilechooserdefault.c:7185
+msgid "Cannot change to folder because it is not local"
+msgstr "قىسقۇچقا ئۆزگەرتەلمەيدۇ چۈنكى ئۇ يەرلىك قىسقۇچ ئەمەس"
+
+#: ../gtk/gtkfilechooserdefault.c:7777 ../gtk/gtkfilechooserdefault.c:7798
+#, c-format
+msgid "Shortcut %s already exists"
+msgstr "%s قىسقا يول مەۋجۇت"
+
+#: ../gtk/gtkfilechooserdefault.c:7888
+#, c-format
+msgid "Shortcut %s does not exist"
+msgstr "%s قىسقا يول مەۋجۇت ئەمەس"
+
+#: ../gtk/gtkfilechooserdefault.c:8146 ../gtk/gtkprintunixdialog.c:550
+#, c-format
+msgid "A file named \"%s\" already exists. Do you want to replace it?"
+msgstr "\"%s\" ئاتلىق ھۆججەت مەۋجۇت. ئۇنى ئالماشتۇرۇۋېتەمسىز؟"
+
+#: ../gtk/gtkfilechooserdefault.c:8149 ../gtk/gtkprintunixdialog.c:554
+#, c-format
+msgid ""
+"The file already exists in \"%s\". Replacing it will overwrite its contents."
+msgstr ""
+"ئىچىدە مەۋجۇت . ھۆججەتنى ئالماشتۇرسا ئىچىدىكى مەزمۇنلار قاپلىنىدۇ “%s”ھۆججەت "
+"ئاللىبۇرۇن"
+
+#: ../gtk/gtkfilechooserdefault.c:8154 ../gtk/gtkprintunixdialog.c:561
+msgid "_Replace"
+msgstr "ئالماشتۇر(_R)"
+
+#: ../gtk/gtkfilechooserdefault.c:8881
+msgid "Could not start the search process"
+msgstr "ئىزدىگۈچنى قوزغىتالمىدى"
+
+#: ../gtk/gtkfilechooserdefault.c:8882
+msgid ""
+"The program was not able to create a connection to the indexer daemon. "
+"Please make sure it is running."
+msgstr ""
+"indexer daemon غا باغلىنالمىدى. indexer daemon نىڭ ئىجرا ھالىتىنى جەزملەڭ"
+
+#: ../gtk/gtkfilechooserdefault.c:8896
+msgid "Could not send the search request"
+msgstr "ئىزدەش ئىلتىماسىنى يوللىيالمىدى"
+
+#: ../gtk/gtkfilechooserdefault.c:9115
+msgid "Search:"
+msgstr "ئىزدە:"
+
+#: ../gtk/gtkfilechooserdefault.c:9723
+#, c-format
+msgid "Could not mount %s"
+msgstr "%s نى ئېگەرلىگىلى بولمىدى"
+
+#. Translators: this is shown in the feedback for Tab-completion in a file
+#. * chooser's text entry, when the user enters an invalid path.
+#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1174
+msgid "Invalid path"
+msgstr "ئىناۋەتسىز يول"
+
+#. translators: this text is shown when there are no completions
+#. * for something the user typed in a file chooser entry
+#.
+#: ../gtk/gtkfilechooserentry.c:1106
+msgid "No match"
+msgstr "ماس كېلىدىغىنى يوق"
+
+#. translators: this text is shown when there is exactly one completion
+#. * for something the user typed in a file chooser entry
+#.
+#: ../gtk/gtkfilechooserentry.c:1117
+msgid "Sole completion"
+msgstr "بىردىنبىر تاماملاش"
+
+#. translators: this text is shown when the text in a file chooser
+#. * entry is a complete filename, but could be continued to find
+#. * a longer match
+#.
+#: ../gtk/gtkfilechooserentry.c:1133
+msgid "Complete, but not unique"
+msgstr "تاماملاندى، ئەمما بىردىنبىر ئەمەس"
+
+#. Translators: this text is shown while the system is searching
+#. * for possible completions for filenames in a file chooser entry.
+#: ../gtk/gtkfilechooserentry.c:1165
+msgid "Completing..."
+msgstr "تاماملاۋاتىدۇ…"
+
+#. hostnames in a local_only file chooser? user error
+#. Translators: this is shown in the feedback for Tab-completion in a
+#. * file chooser's text entry when the user enters something like
+#. * "sftp://blahblah" in an app that only supports local filenames.
+#: ../gtk/gtkfilechooserentry.c:1187 ../gtk/gtkfilechooserentry.c:1212
+msgid "Only local files may be selected"
+msgstr "يەرلىك ھۆججەتنىلا تاللىغىلى بولىدۇ"
+
+#. Another option is to complete the hostname based on the remote volumes that are mounted
+#. Translators: this is shown in the feedback for Tab-completion in a
+#. * file chooser's text entry when the user hasn't entered the first '/'
+#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]")
+#: ../gtk/gtkfilechooserentry.c:1196
+msgid "Incomplete hostname; end it with '/'"
+msgstr "كومپيۇتېر ئاتى كەمتۈك؛ '/' بىلەن ئاخىرلىشىدۇ"
+
+#. Translators: this is shown in the feedback for Tab-completion in a file
+#. * chooser's text entry when the user enters a path that does not exist
+#. * and then hits Tab
+#: ../gtk/gtkfilechooserentry.c:1207
+msgid "Path does not exist"
+msgstr "يول مەۋجۇت ئەمەس."
+
+#. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are
+#. * really pointers to GDrive, GVolume or GMount objects. We need an extra
+#. * token for the fake "File System" volume. So, we'll return a pointer to
+#. * this particular string.
+#.
+#: ../gtk/gtkfilesystem.c:48
+msgid "File System"
+msgstr "ھۆججەت سىستېمىسى"
+
+#: ../gtk/gtkfontbutton.c:153 ../gtk/gtkfontbutton.c:277
+msgid "Pick a Font"
+msgstr "خەت نۇسخا تاللا"
+
+#. Initialize fields
+#: ../gtk/gtkfontbutton.c:271
+msgid "Sans 12"
+msgstr "UKIJ Tuz Tom 10"
+
+#: ../gtk/gtkfontbutton.c:796
+msgid "Font"
+msgstr "خەت نۇسخا"
+
+#. This is the default text shown in the preview entry, though the user
+#. can set it. Remember that some fonts only have capital letters.
+#: ../gtk/gtkfontsel.c:119
+msgid "abcdefghijk ABCDEFGHIJK"
+msgstr "ئا ئە ب پ ت ج چ خ د ر ز ژ abcdefghijk ABCDEFGHIJK"
+
+#: ../gtk/gtkfontsel.c:388
+msgid "_Family:"
+msgstr "خەت نۇسخا تۈرى(_F):"
+
+#: ../gtk/gtkfontsel.c:395
+msgid "_Style:"
+msgstr "ئۇسلۇب(_S):"
+
+#: ../gtk/gtkfontsel.c:402
+msgid "Si_ze:"
+msgstr "چوڭلۇقى(_Z):"
+
+#. create the text entry widget
+#: ../gtk/gtkfontsel.c:579
+msgid "_Preview:"
+msgstr "ئالدىن كۆزەت(_P):"
+
+#: ../gtk/gtkfontsel.c:1701
+msgid "Font Selection"
+msgstr "خەت نۇسخا تاللاش"
+
+#: ../gtk/gtkicontheme.c:1605
+#, c-format
+msgid "Icon '%s' not present in theme"
+msgstr "'%s' سىنبەلگە باش تېمىدا كۆرۈلمىدى"
+
+#: ../gtk/gtkicontheme.c:3115
+msgid "Failed to load icon"
+msgstr "سىنبەلگە يۈكلىيەلمىدى"
+
+#: ../gtk/gtkimmodule.c:525
+msgid "Simple"
+msgstr "ئاددىي"
+
+#: ../gtk/gtkimmulticontext.c:588
+msgctxt "input method menu"
+msgid "System"
+msgstr "سىستېما"
+
+#: ../gtk/gtkimmulticontext.c:598
+msgctxt "input method menu"
+msgid "None"
+msgstr "يوق"
+
+#: ../gtk/gtkimmulticontext.c:681
+#, c-format
+msgctxt "input method menu"
+msgid "System (%s)"
+msgstr "سىستېما(%s)"
+
+#. Open Link
+#: ../gtk/gtklabel.c:6309
+msgid "_Open Link"
+msgstr "ئۇلانما ئاچ(_O)"
+
+#. Copy Link Address
+#: ../gtk/gtklabel.c:6321
+msgid "Copy _Link Address"
+msgstr "ئۇلانما ئادرېسىنى كۆچۈر(_L)"
+
+#: ../gtk/gtklinkbutton.c:484
+msgid "Copy URL"
+msgstr "URL كۆچۈر"
+
+#: ../gtk/gtklinkbutton.c:647
+msgid "Invalid URI"
+msgstr "ئىناۋەتسىز URI"
+
+#: ../gtk/gtklockbutton.c:288
+msgid "Lock"
+msgstr "قۇلۇپلا"
+
+#: ../gtk/gtklockbutton.c:297
+msgid "Unlock"
+msgstr "قۇلۇپ ئاچ"
+
+#: ../gtk/gtklockbutton.c:306
+msgid ""
+"Dialog is unlocked.\n"
+"Click to prevent further changes"
+msgstr ""
+"سۆزلەشكۈ قۇلۇپسىزلاندى.\n"
+"ئەمدى ئۆزگەرتمەسلىك ئۈچۈن چېكىڭ"
+
+#: ../gtk/gtklockbutton.c:315
+msgid ""
+"Dialog is locked.\n"
+"Click to make changes"
+msgstr ""
+"سۆزلەشكۈ قۇلۇپلانغان.\n"
+"ئۆزگەرتىش ئۈچۈن چېكىڭ"
+
+#: ../gtk/gtklockbutton.c:324
+msgid ""
+"System policy prevents changes.\n"
+"Contact your system administrator"
+msgstr ""
+"سىستېما تاكتىكىسى ئۆزگەرتىشنى چەكلىگەن.\n"
+"سىستېما باشقۇرغۇچىڭىز بىلەن ئالاقىلىشىڭ"
+
+#. Description of --gtk-module=MODULES in --help output
+#: ../gtk/gtkmain.c:562
+msgid "Load additional GTK+ modules"
+msgstr "قوشۇمچە GTK+ بۆلىكىنى يۈكلە"
+
+#. Placeholder in --gtk-module=MODULES in --help output
+#: ../gtk/gtkmain.c:563
+msgid "MODULES"
+msgstr "بۆلەك"
+
+#. Description of --g-fatal-warnings in --help output
+#: ../gtk/gtkmain.c:565
+msgid "Make all warnings fatal"
+msgstr "ھەممە ئاگاھلاندۇرۇشنى ئېغىر خاتالىققا ئۆزگەرت"
+
+#. Description of --gtk-debug=FLAGS in --help output
+#: ../gtk/gtkmain.c:568
+msgid "GTK+ debugging flags to set"
+msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى"
+
+#. Description of --gtk-no-debug=FLAGS in --help output
+#: ../gtk/gtkmain.c:571
+msgid "GTK+ debugging flags to unset"
+msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى"
+
+#. Translate to default:RTL if you want your widgets
+#. * to be RTL, otherwise translate to default:LTR.
+#. * Do *not* translate it to "predefinito:LTR", if it
+#. * it isn't default:LTR or default:RTL it will not work
+#.
+#: ../gtk/gtkmain.c:848
+msgid "default:LTR"
+msgstr "default:RTL"
+
+#: ../gtk/gtkmain.c:914
+#, c-format
+msgid "Cannot open display: %s"
+msgstr "ئېكران ئېچىلمىدى: (%s)"
+
+#: ../gtk/gtkmain.c:980
+msgid "GTK+ Options"
+msgstr "GTK+ تاللانما"
+
+#: ../gtk/gtkmain.c:980
+msgid "Show GTK+ Options"
+msgstr "GTK+ تاللانما كۆرسەت"
+
+#: ../gtk/gtkmountoperation.c:489
+msgid "Co_nnect"
+msgstr "باغلا(_N)"
+
+#: ../gtk/gtkmountoperation.c:559
+msgid "Connect _anonymously"
+msgstr "ئاتسىز باغلىنىش(_A)"
+
+#: ../gtk/gtkmountoperation.c:568
+msgid "Connect as u_ser:"
+msgstr "باغلىنىش سالاھىيىتى(_S):"
+
+#: ../gtk/gtkmountoperation.c:602
+msgid "_Username:"
+msgstr "ئىشلەتكۈچى ئاتى(_U):"
+
+#: ../gtk/gtkmountoperation.c:607
+msgid "_Domain:"
+msgstr "دائىرە(_D):"
+
+#: ../gtk/gtkmountoperation.c:613
+msgid "_Password:"
+msgstr "ئىم(_P):"
+
+#: ../gtk/gtkmountoperation.c:631
+msgid "Forget password _immediately"
+msgstr "ئىمنى دەرھال ئۇنتۇ(_I)"
+
+#: ../gtk/gtkmountoperation.c:641
+msgid "Remember password until you _logout"
+msgstr "تىزىمدىن چىقىشتىن ئىلگىرى ئىمنى ئەستە تۇت(_L)"
+
+#: ../gtk/gtkmountoperation.c:651
+msgid "Remember _forever"
+msgstr "مەڭگۈ ئەستە تۇت(_F)"
+
+#: ../gtk/gtkmountoperation.c:880
+#, c-format
+msgid "Unknown Application (PID %d)"
+msgstr "نامەلۇم پروگرامما (PID %d)"
+
+#: ../gtk/gtkmountoperation.c:1063
+msgid "Unable to end process"
+msgstr "ئىجرانى ئاخىرلاشتۇرالمايدۇ"
+
+#: ../gtk/gtkmountoperation.c:1100
+msgid "_End Process"
+msgstr "ئىجرانى ئاخىرلاشتۇر(_E)"
+
+#: ../gtk/gtkmountoperation-stub.c:64
+#, c-format
+msgid "Cannot kill process with PID %d. Operation is not implemented."
+msgstr "PID %d ئىجرانى يوقىتالمايدۇ. مەشغۇلاتنى ئىجرا قىلغىلى بولمايدۇ."
+
+#. translators: this string is a name for the 'less' command
+#: ../gtk/gtkmountoperation-x11.c:859
+msgid "Terminal Pager"
+msgstr "تېرمىنال ئوقۇغۇچ"
+
+#: ../gtk/gtkmountoperation-x11.c:860
+msgid "Top Command"
+msgstr "كۆپ ئىشلىتىدىغان بۇيرۇق"
+
+#: ../gtk/gtkmountoperation-x11.c:861
+msgid "Bourne Again Shell"
+msgstr "Bourne Again Shell"
+
+#: ../gtk/gtkmountoperation-x11.c:862
+msgid "Bourne Shell"
+msgstr "Bourne Shell"
+
+#: ../gtk/gtkmountoperation-x11.c:863
+msgid "Z Shell"
+msgstr "Z Shell"
+
+#: ../gtk/gtkmountoperation-x11.c:960
+#, c-format
+msgid "Cannot end process with PID %d: %s"
+msgstr "PID %d ئىجرانى ئاخىرلاشتۇرالمايدۇ: %s"
+
+#: ../gtk/gtknotebook.c:4922 ../gtk/gtknotebook.c:7611
+#, c-format
+msgid "Page %u"
+msgstr "%u-بەت"
+
+#. Translators: the format here is used to build the string that will be rendered
+#. * in the number emblem.
+#.
+#: ../gtk/gtknumerableicon.c:482
+#, c-format
+msgctxt "Number format"
+msgid "%d"
+msgstr "%d"
+
+#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:849
+#: ../gtk/gtkpapersize.c:889
+msgid "Not a valid page setup file"
+msgstr "ئىناۋەتلىك بەت تەڭشەك ھۆججىتى ئەمەس"
+
+#: ../gtk/gtkpagesetupunixdialog.c:172
+msgid "Any Printer"
+msgstr "خالىغان پرىنتېر"
+
+#: ../gtk/gtkpagesetupunixdialog.c:172
+msgid "For portable documents"
+msgstr "ئەپچىل پۈتۈك ئۈچۈن"
+
+#: ../gtk/gtkpagesetupunixdialog.c:802
+#, c-format
+msgid ""
+"Margins:\n"
+" Left: %s %s\n"
+" Right: %s %s\n"
+" Top: %s %s\n"
+" Bottom: %s %s"
+msgstr ""
+"يان ئارىلىقى:\n"
+"سول: %s %s\n"
+"ئوڭ: %s %s\n"
+" ئۈستى: %s %s\n"
+" ئاستى: %s %s"
+
+#: ../gtk/gtkpagesetupunixdialog.c:851 ../gtk/gtkprintunixdialog.c:3376
+msgid "Manage Custom Sizes..."
+msgstr "ئىختىيارى چوڭلۇق باشقۇر…"
+
+#: ../gtk/gtkpagesetupunixdialog.c:902
+msgid "_Format for:"
+msgstr "فورمات(_F):"
+
+#: ../gtk/gtkpagesetupunixdialog.c:925 ../gtk/gtkprintunixdialog.c:3556
+msgid "_Paper size:"
+msgstr "قەغەز چوڭلۇقى(_P):"
+
+#: ../gtk/gtkpagesetupunixdialog.c:958
+msgid "_Orientation:"
+msgstr "يۆنىلىش(_O):"
+
+#: ../gtk/gtkpagesetupunixdialog.c:1023 ../gtk/gtkprintunixdialog.c:3620
+msgid "Page Setup"
+msgstr "بەت تەڭشەك"
+
+#: ../gtk/gtkpathbar.c:156
+msgid "Up Path"
+msgstr "ئۈستۈنكى يول"
+
+#: ../gtk/gtkpathbar.c:158
+msgid "Down Path"
+msgstr "ئاستىنقى يول"
+
+#: ../gtk/gtkpathbar.c:1516
+msgid "File System Root"
+msgstr "ھۆججەت سىستېما غولى"
+
+#: ../gtk/gtkprintbackend.c:749
+msgid "Authentication"
+msgstr "سالاھىيەت دەلىللەش"
+
+#: ../gtk/gtkprinteroptionwidget.c:692
+msgid "Not available"
+msgstr "ئىشلەتكىلى بولمايدۇ"
+
+#: ../gtk/gtkprinteroptionwidget.c:792
+msgid "Select a folder"
+msgstr "قىسقۇچ تاللاڭ"
+
+#: ../gtk/gtkprinteroptionwidget.c:812
+msgid "_Save in folder:"
+msgstr "قىسقۇچتا ساقلا(_S):"
+
+#. translators: this string is the default job title for print
+#. * jobs. %s gets replaced by the application name, %d gets replaced
+#. * by the job number.
+#.
+#: ../gtk/gtkprintoperation.c:263
+#, c-format
+msgid "%s job #%d"
+msgstr "%s نىڭ بېسىش ۋەزىپىسى #%d"
+
+#: ../gtk/gtkprintoperation.c:1768
+msgctxt "print operation status"
+msgid "Initial state"
+msgstr "دەسلەپكى ھالەت"
+
+#: ../gtk/gtkprintoperation.c:1769
+msgctxt "print operation status"
+msgid "Preparing to print"
+msgstr "بېسىشقا تەييارلىنىۋاتىدۇ"
+
+#: ../gtk/gtkprintoperation.c:1770
+msgctxt "print operation status"
+msgid "Generating data"
+msgstr "سانلىق مەلۇمات ياساۋاتىدۇ"
+
+#: ../gtk/gtkprintoperation.c:1771
+msgctxt "print operation status"
+msgid "Sending data"
+msgstr "ئۇچۇر يوللاۋاتىدۇ"
+
+#: ../gtk/gtkprintoperation.c:1772
+msgctxt "print operation status"
+msgid "Waiting"
+msgstr "ساقلاۋاتىدۇ"
+
+#: ../gtk/gtkprintoperation.c:1773
+msgctxt "print operation status"
+msgid "Blocking on issue"
+msgstr "توسۇلۇش مەسىلىسى"
+
+#: ../gtk/gtkprintoperation.c:1774
+msgctxt "print operation status"
+msgid "Printing"
+msgstr "بېسىۋاتىدۇ"
+
+#: ../gtk/gtkprintoperation.c:1775
+msgctxt "print operation status"
+msgid "Finished"
+msgstr "تاماملاندى"
+
+#: ../gtk/gtkprintoperation.c:1776
+msgctxt "print operation status"
+msgid "Finished with error"
+msgstr "خاتالىق بىلەن تاماملاندى"
+
+#: ../gtk/gtkprintoperation.c:2343
+#, c-format
+msgid "Preparing %d"
+msgstr "%d تەييارلاۋاتىدۇ"
+
+#: ../gtk/gtkprintoperation.c:2345 ../gtk/gtkprintoperation.c:2975
+msgid "Preparing"
+msgstr "تەييارلىق ھالەت"
+
+#: ../gtk/gtkprintoperation.c:2348
+#, c-format
+msgid "Printing %d"
+msgstr "%d نى بېسىۋاتىدۇ"
+
+#: ../gtk/gtkprintoperation.c:3005
+msgid "Error creating print preview"
+msgstr "بېسىشنى ئالدىن كۆزىتىش قۇرۇشتا خاتالىق كۆرۈلدى"
+
+#: ../gtk/gtkprintoperation.c:3008
+msgid "The most probable reason is that a temporary file could not be created."
+msgstr ""
+"مۇمكىنچىلىكى يۇقىرى سەۋەب ۋاقىتلىق ھۆججەت قۇرغىلى بولماسلىق بولۇشى مۇمكىن."
+
+#: ../gtk/gtkprintoperation-unix.c:304
+msgid "Error launching preview"
+msgstr "ئالدىن كۆزىتىشنى قوزغىتىشتا خاتالىق كۆرۈلدى"
+
+#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447
+msgid "Application"
+msgstr "پروگرامما"
+
+#: ../gtk/gtkprintoperation-win32.c:611
+msgid "Printer offline"
+msgstr "پرىنتېر ئۈزۈك ھالەتتە"
+
+#: ../gtk/gtkprintoperation-win32.c:613
+msgid "Out of paper"
+msgstr "قەغەز يېتىشمىدى"
+
+#. Translators: this is a printer status.
+#: ../gtk/gtkprintoperation-win32.c:615
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2022
+msgid "Paused"
+msgstr "ۋاقىتلىق توختىدى"
+
+#: ../gtk/gtkprintoperation-win32.c:617
+msgid "Need user intervention"
+msgstr "ئىشلەتكۈچىنىڭ مەشغۇلاتىغا موھتاج"
+
+#: ../gtk/gtkprintoperation-win32.c:717
+msgid "Custom size"
+msgstr "ئىختىيارى چوڭلۇق"
+
+#: ../gtk/gtkprintoperation-win32.c:1539
+msgid "No printer found"
+msgstr "پرىنتېر تېپىلمىدى"
+
+#: ../gtk/gtkprintoperation-win32.c:1566
+msgid "Invalid argument to CreateDC"
+msgstr "CreateDC نىڭ پارامېتىرى ئىناۋەتسىز"
+
+#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829
+msgid "Error from StartDoc"
+msgstr "StartDoc دىن خاتالىق كۆرۈلدى"
+
+#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707
+#: ../gtk/gtkprintoperation-win32.c:1755
+msgid "Not enough free memory"
+msgstr "يېتەرلىك بوش ئەسلەك يوق."
+
+#: ../gtk/gtkprintoperation-win32.c:1760
+msgid "Invalid argument to PrintDlgEx"
+msgstr "PrintDlgEx نىڭ پارامېتىرى ئىناۋەتسىز"
+
+#: ../gtk/gtkprintoperation-win32.c:1765
+msgid "Invalid pointer to PrintDlgEx"
+msgstr "PrintDlgEx نىڭ ئىسترېلكىسى ئىناۋەتسىز"
+
+#: ../gtk/gtkprintoperation-win32.c:1770
+msgid "Invalid handle to PrintDlgEx"
+msgstr "PrintDlgEx نىڭ تۇتقۇسى ئىناۋەتسىز"
+
+#: ../gtk/gtkprintoperation-win32.c:1775
+msgid "Unspecified error"
+msgstr "ئېنىقسىز خاتالىق"
+
+#: ../gtk/gtkprintunixdialog.c:688
+msgid "Getting printer information failed"
+msgstr "پرىنتېر ئۇچۇرىغا ئېرىشەلمىدى"
+
+#: ../gtk/gtkprintunixdialog.c:1942
+msgid "Getting printer information..."
+msgstr "پرىنتېر ئۇچۇرىغا ئېرىشىۋاتىدۇ…"
+
+#: ../gtk/gtkprintunixdialog.c:2216
+msgid "Printer"
+msgstr "پرىنتېر"
+
+#. Translators: this is the header for the location column in the print dialog
+#: ../gtk/gtkprintunixdialog.c:2226
+msgid "Location"
+msgstr "ئورنى"
+
+#. Translators: this is the header for the printer status column in the print dialog
+#: ../gtk/gtkprintunixdialog.c:2237
+msgid "Status"
+msgstr "ھالىتى"
+
+#: ../gtk/gtkprintunixdialog.c:2263
+msgid "Range"
+msgstr "دائىرىسى"
+
+#: ../gtk/gtkprintunixdialog.c:2267
+msgid "_All Pages"
+msgstr "ھەممە بەت(_A)"
+
+#: ../gtk/gtkprintunixdialog.c:2274
+msgid "C_urrent Page"
+msgstr "نۆۋەتتىكى بەت(_U)"
+
+#: ../gtk/gtkprintunixdialog.c:2284
+msgid "Se_lection"
+msgstr "تاللا(_L)"
+
+#: ../gtk/gtkprintunixdialog.c:2293
+msgid "Pag_es:"
+msgstr "بەتلەر(_E):"
+
+#: ../gtk/gtkprintunixdialog.c:2294
+msgid ""
+"Specify one or more page ranges,\n"
+" e.g. 1-3,7,11"
+msgstr ""
+"بىر ياكى كۆپ بەت دائىرە بەلگىلەڭ،\n"
+"مەسىلەن: 1-3,7,11"
+
+#: ../gtk/gtkprintunixdialog.c:2304
+msgid "Pages"
+msgstr "بەتلەر"
+
+#: ../gtk/gtkprintunixdialog.c:2317
+msgid "Copies"
+msgstr "نۇسخا"
+
+#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns
+#: ../gtk/gtkprintunixdialog.c:2322
+msgid "Copie_s:"
+msgstr "نۇسخا سانى(_S):"
+
+#: ../gtk/gtkprintunixdialog.c:2341
+msgid "C_ollate"
+msgstr "رەت بويىچە(_O)"
+
+#: ../gtk/gtkprintunixdialog.c:2349
+msgid "_Reverse"
+msgstr "ئەكسىچە(_R)"
+
+#: ../gtk/gtkprintunixdialog.c:2369
+msgid "General"
+msgstr "ئادەتتىكى"
+
+#. Translators: These strings name the possible arrangements of
+#. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c)
+#.
+#. Translators: These strings name the possible arrangements of
+#. * multiple pages on a sheet when printing
+#.
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
+msgid "Left to right, top to bottom"
+msgstr "سولدىن ئوڭغا، ئۈستىدىن ئاستىغا"
+
+#: ../gtk/gtkprintunixdialog.c:3109
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3572
+msgid "Left to right, bottom to top"
+msgstr "سولدىن ئوڭغا، ئاستىدىن ئۈستىگە"
+
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
+msgid "Right to left, top to bottom"
+msgstr "ئوڭدىن سولغا، ئۈستىدىن ئاستىغا"
+
+#: ../gtk/gtkprintunixdialog.c:3110
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573
+msgid "Right to left, bottom to top"
+msgstr "ئوڭدىن سولغا، ئاستىدىن ئۈستىگە"
+
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
+msgid "Top to bottom, left to right"
+msgstr "ئۈستىدىن ئاستىغا، سولدىن ئوڭغا"
+
+#: ../gtk/gtkprintunixdialog.c:3111
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3574
+msgid "Top to bottom, right to left"
+msgstr "ئۈستىدىن ئاستىغا، ئوڭدىن سولغا"
+
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
+msgid "Bottom to top, left to right"
+msgstr "ئاستىدىن ئۈستىگە، سولدىن ئوڭغا"
+
+#: ../gtk/gtkprintunixdialog.c:3112
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575
+msgid "Bottom to top, right to left"
+msgstr "ئاستىدىن ئۈستىگە، ئوڭدىن سولغا"
+
+#. Translators, this string is used to label the option in the print
+#. * dialog that controls in what order multiple pages are arranged
+#.
+#: ../gtk/gtkprintunixdialog.c:3116 ../gtk/gtkprintunixdialog.c:3129
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3609
+msgid "Page Ordering"
+msgstr "بەت تەرتىپى"
+
+#: ../gtk/gtkprintunixdialog.c:3145
+msgid "Left to right"
+msgstr "سولدىن ئوڭغا"
+
+#: ../gtk/gtkprintunixdialog.c:3146
+msgid "Right to left"
+msgstr "ئوڭدىن سولغا"
+
+#: ../gtk/gtkprintunixdialog.c:3158
+msgid "Top to bottom"
+msgstr "ئۈستىدىن ئاستىغا"
+
+#: ../gtk/gtkprintunixdialog.c:3159
+msgid "Bottom to top"
+msgstr "ئاستىدىن ئۈستىگە"
+
+#: ../gtk/gtkprintunixdialog.c:3399
+msgid "Layout"
+msgstr "ئۇسلۇب"
+
+#: ../gtk/gtkprintunixdialog.c:3403
+msgid "T_wo-sided:"
+msgstr "قوش يۈزلۈك(_W):"
+
+#: ../gtk/gtkprintunixdialog.c:3419
+msgid "Pages per _side:"
+msgstr "ھەربىر يۈزىنىڭ بەت سانى(_S):"
+
+#: ../gtk/gtkprintunixdialog.c:3437
+msgid "Page or_dering:"
+msgstr "بەت تەرتىپى(_D):"
+
+#: ../gtk/gtkprintunixdialog.c:3454
+msgid "_Only print:"
+msgstr "بېسىشلا(_O):"
+
+#. In enum order
+#: ../gtk/gtkprintunixdialog.c:3470
+msgid "All sheets"
+msgstr "ھەممە ۋاراقلار"
+
+#: ../gtk/gtkprintunixdialog.c:3471
+msgid "Even sheets"
+msgstr "تاق ۋاراقلار"
+
+#: ../gtk/gtkprintunixdialog.c:3472
+msgid "Odd sheets"
+msgstr "جۈپ ۋاراقلار"
+
+#: ../gtk/gtkprintunixdialog.c:3475
+msgid "Sc_ale:"
+msgstr "نىسبەت(_A):"
+
+#: ../gtk/gtkprintunixdialog.c:3503
+msgid "Paper"
+msgstr "قەغەز"
+
+#: ../gtk/gtkprintunixdialog.c:3507
+msgid "Paper _type:"
+msgstr "قەغەز تىپى(_T):"
+
+#: ../gtk/gtkprintunixdialog.c:3523
+msgid "Paper _source:"
+msgstr "قەغەز مەنبەسى(_S):"
+
+#: ../gtk/gtkprintunixdialog.c:3539
+msgid "Output t_ray:"
+msgstr "قەغەز قۇتىسى(_R):"
+
+#: ../gtk/gtkprintunixdialog.c:3581
+msgid "Or_ientation:"
+msgstr "يۆنىلىش(_I):"
+
+#. In enum order
+#: ../gtk/gtkprintunixdialog.c:3597
+msgid "Portrait"
+msgstr "بوي يۆنىلىش"
+
+#: ../gtk/gtkprintunixdialog.c:3598
+msgid "Landscape"
+msgstr "توغرا يۆنىلىش"
+
+#: ../gtk/gtkprintunixdialog.c:3599
+msgid "Reverse portrait"
+msgstr "تەتۈر بوي يۆنىلىش"
+
+#: ../gtk/gtkprintunixdialog.c:3600
+msgid "Reverse landscape"
+msgstr "تەتۈر توغرا يۆنىلىش"
+
+#: ../gtk/gtkprintunixdialog.c:3645
+msgid "Job Details"
+msgstr "ۋەزىپە تەپسىلاتى"
+
+#: ../gtk/gtkprintunixdialog.c:3651
+msgid "Pri_ority:"
+msgstr "ئالدىنلىق(_O):"
+
+#: ../gtk/gtkprintunixdialog.c:3667
+msgid "_Billing info:"
+msgstr "ھەق ھېسابلاش ئۇچۇرى(_B):"
+
+#: ../gtk/gtkprintunixdialog.c:3686
+msgid "Print Document"
+msgstr "پۈتۈك باس"
+
+#. Translators: this is one of the choices for the print at option
+#. * in the print dialog
+#.
+#: ../gtk/gtkprintunixdialog.c:3695
+msgid "_Now"
+msgstr "دەرھال(_N)"
+
+#: ../gtk/gtkprintunixdialog.c:3706
+msgid "A_t:"
+msgstr "دە(_T):"
+
+#. Translators: Ability to parse the am/pm format depends on actual locale.
+#. * You can remove the am/pm values below for your locale if they are not
+#. * supported.
+#.
+#: ../gtk/gtkprintunixdialog.c:3712
+msgid ""
+"Specify the time of print,\n"
+" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
+msgstr ""
+"بېسىش ۋاقتى بەلگىلىنىدۇ،\n"
+" مەسىلەن: 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
+
+#: ../gtk/gtkprintunixdialog.c:3722
+msgid "Time of print"
+msgstr "بېسىش ۋاقتى"
+
+#: ../gtk/gtkprintunixdialog.c:3738
+msgid "On _hold"
+msgstr "كۈت(_H)"
+
+#: ../gtk/gtkprintunixdialog.c:3739
+msgid "Hold the job until it is explicitly released"
+msgstr "ۋەزىپىنى ئېنىق ئاجرىتىلغانغا قەدەر داۋاملاشتۇر"
+
+#: ../gtk/gtkprintunixdialog.c:3759
+msgid "Add Cover Page"
+msgstr "مۇقاۋا بەت قوش"
+
+#. Translators, this is the label used for the option in the print
+#. * dialog that controls the front cover page.
+#.
+#: ../gtk/gtkprintunixdialog.c:3768
+msgid "Be_fore:"
+msgstr "ئالدى(_F):"
+
+#. Translators, this is the label used for the option in the print
+#. * dialog that controls the back cover page.
+#.
+#: ../gtk/gtkprintunixdialog.c:3787
+msgid "_After:"
+msgstr "كەينى(_A):"
+
+#. Translators: this is the tab label for the notebook tab containing
+#. * job-specific options in the print dialog
+#.
+#: ../gtk/gtkprintunixdialog.c:3806
+msgid "Job"
+msgstr "ۋەزىپە"
+
+#: ../gtk/gtkprintunixdialog.c:3872
+msgid "Advanced"
+msgstr "ئالىي"
+
+#. Translators: this will appear as tab label in print dialog.
+#: ../gtk/gtkprintunixdialog.c:3910
+msgid "Image Quality"
+msgstr "سۈرەت سۈپىتى"
+
+#. Translators: this will appear as tab label in print dialog.
+#: ../gtk/gtkprintunixdialog.c:3914
+msgid "Color"
+msgstr "رەڭ"
+
+#. Translators: this will appear as tab label in print dialog.
+#. It's a typographical term, as in "Binding and finishing"
+#: ../gtk/gtkprintunixdialog.c:3919
+msgid "Finishing"
+msgstr "تامام"
+
+#: ../gtk/gtkprintunixdialog.c:3929
+msgid "Some of the settings in the dialog conflict"
+msgstr "سۆزلەشكۈ رامكىسىدىكى بەزى تەڭشەكلەردە توقۇنۇش بار"
+
+#: ../gtk/gtkprintunixdialog.c:3952
+msgid "Print"
+msgstr "باس"
+
+#: ../gtk/gtkrecentchooserdefault.c:485
+msgid "Select which type of documents are shown"
+msgstr "كۆرسەتمەكچى بولغان پۈتۈك تىپىنى تاللاڭ"
+
+#: ../gtk/gtkrecentchooserdefault.c:1142 ../gtk/gtkrecentchooserdefault.c:1179
+#, c-format
+msgid "No item for URI '%s' found"
+msgstr "URI“%s” تۈرنى تاپالمىدى"
+
+#: ../gtk/gtkrecentchooserdefault.c:1306
+msgid "Untitled filter"
+msgstr "تېمىسىز سۈزگۈچ"
+
+#: ../gtk/gtkrecentchooserdefault.c:1659
+msgid "Could not remove item"
+msgstr "تۈرنى چىقىرىۋېتەلمەيدۇ"
+
+#: ../gtk/gtkrecentchooserdefault.c:1703
+msgid "Could not clear list"
+msgstr "تىزىمنى تازىلىيالمايدۇ"
+
+#: ../gtk/gtkrecentchooserdefault.c:1787
+msgid "Copy _Location"
+msgstr "ئورۇن كۆچۈر(_L)"
+
+#: ../gtk/gtkrecentchooserdefault.c:1800
+msgid "_Remove From List"
+msgstr "تىزىمدىن چىقىرىۋەت(_R)"
+
+#: ../gtk/gtkrecentchooserdefault.c:1809
+msgid "_Clear List"
+msgstr "تىزىمنى تازىلا(_C)"
+
+#: ../gtk/gtkrecentchooserdefault.c:1823
+msgid "Show _Private Resources"
+msgstr "شەخسى مەنبەنى كۆرسەت(_P)"
+
+#. we create a placeholder menuitem, to be used in case
+#. * the menu is empty. this placeholder will stay around
+#. * for the entire lifetime of the menu, and we just hide it
+#. * when it's not used. we have to do this, and do it here,
+#. * because we need a marker for the beginning of the recent
+#. * items list, so that we can insert the new items at the
+#. * right place when idly populating the menu in case the
+#. * user appended or prepended custom menu items to the
+#. * recent chooser menu widget.
+#.
+#: ../gtk/gtkrecentchoosermenu.c:362
+msgid "No items found"
+msgstr "تۈر تېپىلمىدى"
+
+#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584
+#, c-format
+msgid "No recently used resource found with URI `%s'"
+msgstr "يېقىندا ئىشلىتىلگەن مەنبەدىن URI“%s” تېپىلمىدى"
+
+#: ../gtk/gtkrecentchoosermenu.c:794
+#, c-format
+msgid "Open '%s'"
+msgstr "'%s' ئاچ"
+
+#: ../gtk/gtkrecentchoosermenu.c:824
+msgid "Unknown item"
+msgstr "نامەلۇم تۈر"
+
+#. This is the label format that is used for the first 10 items
+#. * in a recent files menu. The %d is the number of the item,
+#. * the %s is the name of the item. Please keep the _ in front
+#. * of the number to give these menu items a mnemonic.
+#.
+#: ../gtk/gtkrecentchoosermenu.c:835
+#, c-format
+msgctxt "recent menu label"
+msgid "_%d. %s"
+msgstr "_%d. %s"
+
+#. This is the format that is used for items in a recent files menu.
+#. * The %d is the number of the item, the %s is the name of the item.
+#.
+#: ../gtk/gtkrecentchoosermenu.c:840
+#, c-format
+msgctxt "recent menu label"
+msgid "%d. %s"
+msgstr "%d. %s"
+
+#: ../gtk/gtkrecentmanager.c:1006 ../gtk/gtkrecentmanager.c:1019
+#: ../gtk/gtkrecentmanager.c:1156 ../gtk/gtkrecentmanager.c:1166
+#: ../gtk/gtkrecentmanager.c:1218 ../gtk/gtkrecentmanager.c:1227
+#: ../gtk/gtkrecentmanager.c:1242
+#, c-format
+msgid "Unable to find an item with URI '%s'"
+msgstr "URI '%s' تۈر تېپىلمىدى"
+
+#: ../gtk/gtkrecentmanager.c:2442
+#, c-format
+msgid "No registered application with name '%s' for item with URI '%s' found"
+msgstr "تۈرنىڭ '%s' ئاتلىق خەتلەتكەن پروگراممىسىنىڭ URI '%s' تېپىلمىدى"
+
+#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
+#: ../gtk/gtkstock.c:313
+msgctxt "Stock label"
+msgid "Information"
+msgstr "ئۇچۇر"
+
+#: ../gtk/gtkstock.c:314
+msgctxt "Stock label"
+msgid "Warning"
+msgstr "ئاگاھلاندۇرۇش"
+
+#: ../gtk/gtkstock.c:315
+msgctxt "Stock label"
+msgid "Error"
+msgstr "خاتالىق"
+
+#: ../gtk/gtkstock.c:316
+msgctxt "Stock label"
+msgid "Question"
+msgstr "سوئال"
+
+#. FIXME these need accelerators when appropriate, and
+#. * need the mnemonics to be rationalized
+#.
+#: ../gtk/gtkstock.c:321
+msgctxt "Stock label"
+msgid "_About"
+msgstr "ھەققىدە(_A)"
+
+#: ../gtk/gtkstock.c:322
+msgctxt "Stock label"
+msgid "_Add"
+msgstr "قوش(_A)"
+
+#: ../gtk/gtkstock.c:323
+msgctxt "Stock label"
+msgid "_Apply"
+msgstr "قوللان(_A)"
+
+#: ../gtk/gtkstock.c:324
+msgctxt "Stock label"
+msgid "_Bold"
+msgstr "توم(_B)"
+
+#: ../gtk/gtkstock.c:325
+msgctxt "Stock label"
+msgid "_Cancel"
+msgstr "ئەمەلدىن قالدۇر(_C)"
+
+#: ../gtk/gtkstock.c:326
+msgctxt "Stock label"
+msgid "_CD-ROM"
+msgstr "_CD-ROM"
+
+#: ../gtk/gtkstock.c:327
+msgctxt "Stock label"
+msgid "_Clear"
+msgstr "ئۆچۈر(_C)"
+
+#: ../gtk/gtkstock.c:328
+msgctxt "Stock label"
+msgid "_Close"
+msgstr "ياپ(_C)"
+
+#: ../gtk/gtkstock.c:329
+msgctxt "Stock label"
+msgid "C_onnect"
+msgstr "باغلا(_O)"
+
+#: ../gtk/gtkstock.c:330
+msgctxt "Stock label"
+msgid "_Convert"
+msgstr "ئايلاندۇر(_C)"
+
+#: ../gtk/gtkstock.c:331
+msgctxt "Stock label"
+msgid "_Copy"
+msgstr "كۆچۈر(_C)"
+
+#: ../gtk/gtkstock.c:332
+msgctxt "Stock label"
+msgid "Cu_t"
+msgstr "كەس(_T)"
+
+#: ../gtk/gtkstock.c:333
+msgctxt "Stock label"
+msgid "_Delete"
+msgstr "ئۆچۈر(_D)"
+
+#: ../gtk/gtkstock.c:334
+msgctxt "Stock label"
+msgid "_Discard"
+msgstr "تاشلىۋەت(_D)"
+
+#: ../gtk/gtkstock.c:335
+msgctxt "Stock label"
+msgid "_Disconnect"
+msgstr "ئۈز(_D)"
+
+#: ../gtk/gtkstock.c:336
+msgctxt "Stock label"
+msgid "_Execute"
+msgstr "ئىجرا قىل(_E)"
+
+#: ../gtk/gtkstock.c:337
+msgctxt "Stock label"
+msgid "_Edit"
+msgstr "تەھرىر(_E)"
+
+#: ../gtk/gtkstock.c:338
+msgctxt "Stock label"
+msgid "_File"
+msgstr "ھۆججەت(_F)"
+
+#: ../gtk/gtkstock.c:339
+msgctxt "Stock label"
+msgid "_Find"
+msgstr "ئىزدە(_F)"
+
+#: ../gtk/gtkstock.c:340
+msgctxt "Stock label"
+msgid "Find and _Replace"
+msgstr "ئىزدەپ ئالماشتۇر(_R)"
+
+#: ../gtk/gtkstock.c:341
+msgctxt "Stock label"
+msgid "_Floppy"
+msgstr "يۇمشاق دىسكا(_F)"
+
+#: ../gtk/gtkstock.c:342
+msgctxt "Stock label"
+msgid "_Fullscreen"
+msgstr "تولۇق ئېكران( _F)"
+
+#: ../gtk/gtkstock.c:343
+msgctxt "Stock label"
+msgid "_Leave Fullscreen"
+msgstr "تولۇق ئېكراندىن ئايرىل(_L)"
+
+#. This is a navigation label as in "go to the bottom of the page"
+#: ../gtk/gtkstock.c:345
+msgctxt "Stock label, navigation"
+msgid "_Bottom"
+msgstr "ئاستى(_B)"
+
+#. This is a navigation label as in "go to the first page"
+#: ../gtk/gtkstock.c:347
+msgctxt "Stock label, navigation"
+msgid "_First"
+msgstr "بىرىنچى(_F)"
+
+#. This is a navigation label as in "go to the last page"
+#: ../gtk/gtkstock.c:349
+msgctxt "Stock label, navigation"
+msgid "_Last"
+msgstr "ئاخىرقى(_L)"
+
+#. This is a navigation label as in "go to the top of the page"
+#: ../gtk/gtkstock.c:351
+msgctxt "Stock label, navigation"
+msgid "_Top"
+msgstr "بېشى(_T)"
+
+#. This is a navigation label as in "go back"
+#: ../gtk/gtkstock.c:353
+msgctxt "Stock label, navigation"
+msgid "_Back"
+msgstr "كەينى(_B)"
+
+#. This is a navigation label as in "go down"
+#: ../gtk/gtkstock.c:355
+msgctxt "Stock label, navigation"
+msgid "_Down"
+msgstr "ئاستىغا(_D)"
+
+#. This is a navigation label as in "go forward"
+#: ../gtk/gtkstock.c:357
+msgctxt "Stock label, navigation"
+msgid "_Forward"
+msgstr "جاۋاب يوللا(_F)"
+
+#. This is a navigation label as in "go up"
+#: ../gtk/gtkstock.c:359
+msgctxt "Stock label, navigation"
+msgid "_Up"
+msgstr "ئۈستىگە(_U)"
+
+#: ../gtk/gtkstock.c:360
+msgctxt "Stock label"
+msgid "_Hard Disk"
+msgstr "قاتتىق دىسكا(_H)"
+
+#: ../gtk/gtkstock.c:361
+msgctxt "Stock label"
+msgid "_Help"
+msgstr "ياردەم(_H)"
+
+#: ../gtk/gtkstock.c:362
+msgctxt "Stock label"
+msgid "_Home"
+msgstr "باش بەت(_H)"
+
+#: ../gtk/gtkstock.c:363
+msgctxt "Stock label"
+msgid "Increase Indent"
+msgstr "كېڭەيت"
+
+#: ../gtk/gtkstock.c:364
+msgctxt "Stock label"
+msgid "Decrease Indent"
+msgstr "تارايت"
+
+#: ../gtk/gtkstock.c:365
+msgctxt "Stock label"
+msgid "_Index"
+msgstr "ئىندېكس(_I)"
+
+#: ../gtk/gtkstock.c:366
+msgctxt "Stock label"
+msgid "_Information"
+msgstr "ئۇچۇر(_I)"
+
+#: ../gtk/gtkstock.c:367
+msgctxt "Stock label"
+msgid "_Italic"
+msgstr "يانتۇ(_I)"
+
+#: ../gtk/gtkstock.c:368
+msgctxt "Stock label"
+msgid "_Jump to"
+msgstr "ئاتلا(_J)"
+
+#. This is about text justification, "centered text"
+#: ../gtk/gtkstock.c:370
+msgctxt "Stock label"
+msgid "_Center"
+msgstr "ئوتتۇرا(_C)"
+
+#. This is about text justification
+#: ../gtk/gtkstock.c:372
+msgctxt "Stock label"
+msgid "_Fill"
+msgstr "تولدۇر(_F)"
+
+#. This is about text justification, "left-justified text"
+#: ../gtk/gtkstock.c:374
+msgctxt "Stock label"
+msgid "_Left"
+msgstr "سول(_L)"
+
+#. This is about text justification, "right-justified text"
+#: ../gtk/gtkstock.c:376
+msgctxt "Stock label"
+msgid "_Right"
+msgstr "ئوڭ(_R)"
+
+#. Media label, as in "fast forward"
+#: ../gtk/gtkstock.c:379
+msgctxt "Stock label, media"
+msgid "_Forward"
+msgstr "جاۋاب يوللا(_F)"
+
+#. Media label, as in "next song"
+#: ../gtk/gtkstock.c:381
+msgctxt "Stock label, media"
+msgid "_Next"
+msgstr "كېيىنكى(_N)"
+
+#. Media label, as in "pause music"
+#: ../gtk/gtkstock.c:383
+msgctxt "Stock label, media"
+msgid "P_ause"
+msgstr "ۋاقىتلىق توختات(_A)"
+
+#. Media label, as in "play music"
+#: ../gtk/gtkstock.c:385
+msgctxt "Stock label, media"
+msgid "_Play"
+msgstr "قوي(_P)"
+
+#. Media label, as in "previous song"
+#: ../gtk/gtkstock.c:387
+msgctxt "Stock label, media"
+msgid "Pre_vious"
+msgstr "ئالدىنقى(_V)"
+
+#. Media label
+#: ../gtk/gtkstock.c:389
+msgctxt "Stock label, media"
+msgid "_Record"
+msgstr "خاتىرىلە(_R)"
+
+#. Media label
+#: ../gtk/gtkstock.c:391
+msgctxt "Stock label, media"
+msgid "R_ewind"
+msgstr "تېز چېكىن(_E)"
+
+#. Media label
+#: ../gtk/gtkstock.c:393
+msgctxt "Stock label, media"
+msgid "_Stop"
+msgstr "توختا (&S)"
+
+#: ../gtk/gtkstock.c:394
+msgctxt "Stock label"
+msgid "_Network"
+msgstr "تور(_N)"
+
+#: ../gtk/gtkstock.c:395
+msgctxt "Stock label"
+msgid "_New"
+msgstr "يېڭى(_N)"
+
+#: ../gtk/gtkstock.c:396
+msgctxt "Stock label"
+msgid "_No"
+msgstr "ياق(_N)"
+
+#: ../gtk/gtkstock.c:397
+msgctxt "Stock label"
+msgid "_OK"
+msgstr "جەزملە(_O)"
+
+#: ../gtk/gtkstock.c:398
+msgctxt "Stock label"
+msgid "_Open"
+msgstr "ئاچ(_O)"
+
+#. Page orientation
+#: ../gtk/gtkstock.c:400
+msgctxt "Stock label"
+msgid "Landscape"
+msgstr "توغرا يۆنىلىش"
+
+#. Page orientation
+#: ../gtk/gtkstock.c:402
+msgctxt "Stock label"
+msgid "Portrait"
+msgstr "بوي يۆنىلىش"
+
+#. Page orientation
+#: ../gtk/gtkstock.c:404
+msgctxt "Stock label"
+msgid "Reverse landscape"
+msgstr "تەتۈر توغرا يۆنىلىش"
+
+#. Page orientation
+#: ../gtk/gtkstock.c:406
+msgctxt "Stock label"
+msgid "Reverse portrait"
+msgstr "تەتۈر بوي يۆنىلىش"
+
+#: ../gtk/gtkstock.c:407
+msgctxt "Stock label"
+msgid "Page Set_up"
+msgstr "بەت تەڭشەك(_U)"
+
+#: ../gtk/gtkstock.c:408
+msgctxt "Stock label"
+msgid "_Paste"
+msgstr "چاپلا(_P)"
+
+#: ../gtk/gtkstock.c:409
+msgctxt "Stock label"
+msgid "_Preferences"
+msgstr "مايىللىق(_P)"
+
+#: ../gtk/gtkstock.c:410
+msgctxt "Stock label"
+msgid "_Print"
+msgstr "باس(_P)"
+
+#: ../gtk/gtkstock.c:411
+msgctxt "Stock label"
+msgid "Print Pre_view"
+msgstr "بېسىشنى ئالدىن كۆزەت(_V)"
+
+#: ../gtk/gtkstock.c:412
+msgctxt "Stock label"
+msgid "_Properties"
+msgstr "خاسلىق(_P)"
+
+#: ../gtk/gtkstock.c:413
+msgctxt "Stock label"
+msgid "_Quit"
+msgstr "چېكىن(_Q)"
+
+#: ../gtk/gtkstock.c:414
+msgctxt "Stock label"
+msgid "_Redo"
+msgstr "قايتىلا(_R)"
+
+#: ../gtk/gtkstock.c:415
+msgctxt "Stock label"
+msgid "_Refresh"
+msgstr "يېڭىلا(_R)"
+
+#: ../gtk/gtkstock.c:416
+msgctxt "Stock label"
+msgid "_Remove"
+msgstr "ئۆچۈر(_R)"
+
+#: ../gtk/gtkstock.c:417
+msgctxt "Stock label"
+msgid "_Revert"
+msgstr "ئەسلىگە قايتۇر(_R)"
+
+#: ../gtk/gtkstock.c:418
+msgctxt "Stock label"
+msgid "_Save"
+msgstr "ساقلا(_S)"
+
+#: ../gtk/gtkstock.c:419
+msgctxt "Stock label"
+msgid "Save _As"
+msgstr "باشقا ئاتتا ساقلا(_A)"
+
+#: ../gtk/gtkstock.c:420
+msgctxt "Stock label"
+msgid "Select _All"
+msgstr "ھەممىنى تاللا(_A)"
+
+#: ../gtk/gtkstock.c:421
+msgctxt "Stock label"
+msgid "_Color"
+msgstr "رەڭ(_C)"
+
+#: ../gtk/gtkstock.c:422
+msgctxt "Stock label"
+msgid "_Font"
+msgstr "خەت نۇسخا(_F)"
+
+#. Sorting direction
+#: ../gtk/gtkstock.c:424
+msgctxt "Stock label"
+msgid "_Ascending"
+msgstr "ئۆسكۈچى(_A)"
+
+#. Sorting direction
+#: ../gtk/gtkstock.c:426
+msgctxt "Stock label"
+msgid "_Descending"
+msgstr "كېمەيگۈچى(_D)"
+
+#: ../gtk/gtkstock.c:427
+msgctxt "Stock label"
+msgid "_Spell Check"
+msgstr "ئىملا تەكشۈر(_S)"
+
+#: ../gtk/gtkstock.c:428
+msgctxt "Stock label"
+msgid "_Stop"
+msgstr "توختا (&S)"
+
+#. Font variant
+#: ../gtk/gtkstock.c:430
+msgctxt "Stock label"
+msgid "_Strikethrough"
+msgstr "ئۆچۈرۈش سىزىقى(_S)"
+
+#: ../gtk/gtkstock.c:431
+msgctxt "Stock label"
+msgid "_Undelete"
+msgstr "ئەسلىگە كەلتۈر(_U)"
+
+#. Font variant
+#: ../gtk/gtkstock.c:433
+msgctxt "Stock label"
+msgid "_Underline"
+msgstr "ئاستى سىزىق(_U)"
+
+#: ../gtk/gtkstock.c:434
+msgctxt "Stock label"
+msgid "_Undo"
+msgstr "يېنىۋال(_U)"
+
+#: ../gtk/gtkstock.c:435
+msgctxt "Stock label"
+msgid "_Yes"
+msgstr "ھەئە(_Y)"
+
+#. Zoom
+#: ../gtk/gtkstock.c:437
+msgctxt "Stock label"
+msgid "_Normal Size"
+msgstr "ئادەتتىكى چوڭلۇقى(_N)"
+
+#. Zoom
+#: ../gtk/gtkstock.c:439
+msgctxt "Stock label"
+msgid "Best _Fit"
+msgstr "ئەڭ مۇناسىپ(_F)"
+
+#: ../gtk/gtkstock.c:440
+msgctxt "Stock label"
+msgid "Zoom _In"
+msgstr "چوڭايت(_I)"
+
+#: ../gtk/gtkstock.c:441
+msgctxt "Stock label"
+msgid "Zoom _Out"
+msgstr "كىچىكلەت(_O)"
+
+#. Translators: if the "on" state label requires more than three
+#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
+#. * the state
+#.
+#: ../gtk/gtkswitch.c:336 ../gtk/gtkswitch.c:396 ../gtk/gtkswitch.c:603
+msgctxt "switch"
+msgid "ON"
+msgstr "ئاچ"
+
+#. Translators: if the "off" state label requires more than three
+#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
+#.
+#: ../gtk/gtkswitch.c:344 ../gtk/gtkswitch.c:397 ../gtk/gtkswitch.c:632
+msgctxt "switch"
+msgid "OFF"
+msgstr "تاقا"
+
+#: ../gtk/gtktextbufferrichtext.c:651
+#, c-format
+msgid "Unknown error when trying to deserialize %s"
+msgstr "ئەكسىچە تەرتىپلىگەندە خاتالىق كۆرۈلدى %s"
+
+#: ../gtk/gtktextbufferrichtext.c:710
+#, c-format
+msgid "No deserialize function found for format %s"
+msgstr "%s فورماتتىن ئەكسىچە تەرتىپلەش فۇنكسىيىسى تېپىلمىدى"
+
+#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826
+#, c-format
+msgid "Both \"id\" and \"name\" were found on the <%s> element"
+msgstr "<%s> ئېلېمېنتنىڭ بىرلا ۋاقىتتا تاپقىنى “id”بىلەن“name”"
+
+#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836
+#, c-format
+msgid "The attribute \"%s\" was found twice on the <%s> element"
+msgstr "<%s> ئېلېمېنت ئىككى قېتىم تاپتى “%s”"
+
+#: ../gtk/gtktextbufferserialize.c:852
+#, c-format
+msgid "<%s> element has invalid ID \"%s\""
+msgstr "<%s> ئېلېمېنتنىڭ ID سى «%s» ئىناۋەتسىز"
+
+#: ../gtk/gtktextbufferserialize.c:862
+#, c-format
+msgid "<%s> element has neither a \"name\" nor an \"id\" attribute"
+msgstr "<%s> ئېلېمېنتنىڭ ھەم “name” ھەم “id” خاسلىقى يوق"
+
+#: ../gtk/gtktextbufferserialize.c:949
+#, c-format
+msgid "Attribute \"%s\" repeated twice on the same <%s> element"
+msgstr "خاسلىق \"%s\" ئوخشاش بىر <%s> ئېلېمېنتتا ئىككى قېتىم تەكرارلاندى"
+
+#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992
+#, c-format
+msgid "Attribute \"%s\" is invalid on <%s> element in this context"
+msgstr "بۇ تىل مۇھىتىدا \"%s\" خاسلىق <%s> ئېلېمېنتقا نىسبەتەن ئىناۋەتسىز"
+
+#: ../gtk/gtktextbufferserialize.c:1031
+#, c-format
+msgid "Tag \"%s\" has not been defined."
+msgstr "“%s” بەلگە ئېنىقلانمىغان."
+
+#: ../gtk/gtktextbufferserialize.c:1043
+msgid "Anonymous tag found and tags can not be created."
+msgstr "ئاتسىز بەلگە بايقالدى. بەلگە قۇرۇشقا بولمايدۇ"
+
+#: ../gtk/gtktextbufferserialize.c:1054
+#, c-format
+msgid "Tag \"%s\" does not exist in buffer and tags can not be created."
+msgstr "\"%s\"بەلگە يىغلەكتە مەۋجۇت ئەمەس. بەلگە قۇرۇشقا بولمايدۇ."
+
+#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228
+#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407
+#, c-format
+msgid "Element <%s> is not allowed below <%s>"
+msgstr "<%s> ئېلېمېنت <%s> ئاستىدا بولۇشقا يول قويۇلمايدۇ"
+
+#: ../gtk/gtktextbufferserialize.c:1184
+#, c-format
+msgid "\"%s\" is not a valid attribute type"
+msgstr "\"%s\" ئىناۋەتلىك خاسلىق تىپى ئەمەس"
+
+#: ../gtk/gtktextbufferserialize.c:1192
+#, c-format
+msgid "\"%s\" is not a valid attribute name"
+msgstr "\"%s\" ئىناۋەتلىك خاسلىق ئاتى ئەمەس"
+
+#: ../gtk/gtktextbufferserialize.c:1202
+#, c-format
+msgid ""
+"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
+msgstr ""
+"\"%s\"نى \"%s\" تىپلىق قىممەتكە ئالماشتۇرالمايدۇ، بۇ قىممەت \"%s\" خاسلىققا "
+"ئىشلىتىلىدۇ"
+
+#: ../gtk/gtktextbufferserialize.c:1211
+#, c-format
+msgid "\"%s\" is not a valid value for attribute \"%s\""
+msgstr "\"%s\" بولسا \"%s\" خاسلىقنىڭ ئىناۋەتلىك قىممىتى ئەمەس"
+
+#: ../gtk/gtktextbufferserialize.c:1296
+#, c-format
+msgid "Tag \"%s\" already defined"
+msgstr "\"%s\" بەلگە ئېنىقلاندى"
+
+#: ../gtk/gtktextbufferserialize.c:1309
+#, c-format
+msgid "Tag \"%s\" has invalid priority \"%s\""
+msgstr "بەلگە \"%s\" نىڭ ئالدىنلىقى \"%s\" ئىناۋەتسىز"
+
+#: ../gtk/gtktextbufferserialize.c:1362
+#, c-format
+msgid "Outermost element in text must be <text_view_markup> not <%s>"
+msgstr ""
+"تېكىستنىڭ ئەڭ سىرتىدىكى ئېلېمېنت <text_view_markup> بولىدۇ، <%s> بولمايدۇ"
+
+#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387
+#, c-format
+msgid "A <%s> element has already been specified"
+msgstr "<%s> ئېلېمېنت بەلگىلەندى"
+
+#: ../gtk/gtktextbufferserialize.c:1393
+msgid "A <text> element can't occur before a <tags> element"
+msgstr "<text> ئېلېمېنتى <tags> نىڭ ئالدىدا كۆرۈلمەيدۇ"
+
+#: ../gtk/gtktextbufferserialize.c:1793
+msgid "Serialized data is malformed"
+msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا"
+
+#: ../gtk/gtktextbufferserialize.c:1871
+msgid ""
+"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"
+msgstr ""
+"تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا. بىرىنچى بۆلىكى "
+"GTKTEXTBUFFERCONTENTS-0001"
+
+#: ../gtk/gtktextutil.c:60
+msgid "LRM _Left-to-right mark"
+msgstr "LRM سولدىن ئوڭغا بەلگىسى(_L)"
+
+#: ../gtk/gtktextutil.c:61
+msgid "RLM _Right-to-left mark"
+msgstr "RLM ئوڭدىن سولغا بەلگىسى(_R)"
+
+#: ../gtk/gtktextutil.c:62
+msgid "LRE Left-to-right _embedding"
+msgstr "LRE سولدىن ئوڭغا سىڭدۈرمە(_E)"
+
+#: ../gtk/gtktextutil.c:63
+msgid "RLE Right-to-left e_mbedding"
+msgstr "RLE ئوڭدىن سولغا سىڭدۈرمە(_M)"
+
+#: ../gtk/gtktextutil.c:64
+msgid "LRO Left-to-right _override"
+msgstr "LRO سولدىن ئوڭغا قاپلاش(_O)"
+
+#: ../gtk/gtktextutil.c:65
+msgid "RLO Right-to-left o_verride"
+msgstr "RLO ئوڭدىن سولغا قاپلاش(_V)"
+
+#: ../gtk/gtktextutil.c:66
+msgid "PDF _Pop directional formatting"
+msgstr "PDF قاڭقىش يۆنىلىش فورماتى(_P)"
+
+#: ../gtk/gtktextutil.c:67
+msgid "ZWS _Zero width space"
+msgstr "ZWS نۆل كەڭلىكتىكى بوشلۇق(_Z)"
+
+#: ../gtk/gtktextutil.c:68
+msgid "ZWJ Zero width _joiner"
+msgstr "ZWJ نۆل كەڭلىكتىكى ئۇلاش بەلگىسى(_J)"
+
+#: ../gtk/gtktextutil.c:69
+msgid "ZWNJ Zero width _non-joiner"
+msgstr "ZWNJ نۆل كەڭلىكتىكى ئۇلىماسلىق بەلگىسى (_N)"
+
+#: ../gtk/gtkuimanager.c:1760
+#, c-format
+msgid "Unexpected start tag '%s' on line %d char %d"
+msgstr "'%s' ئويلىشىلمىغان باشلاش بەلگىسى %d -قۇر %d -ھەرپتە"
+
+#: ../gtk/gtkuimanager.c:1850
+#, c-format
+msgid "Unexpected character data on line %d char %d"
+msgstr "%d- قۇر %d -ھەرپتە ئويلىشىلمىغان بەلگە بار"
+
+#: ../gtk/gtkuimanager.c:2682
+msgid "Empty"
+msgstr "بوش"
+
+#: ../gtk/gtkvolumebutton.c:170
+msgid "Volume"
+msgstr "دىسكا"
+
+#: ../gtk/gtkvolumebutton.c:172
+msgid "Turns volume down or up"
+msgstr "ئاۋازنى يۇقىرىلات ياكى تۆۋەنلەت"
+
+#: ../gtk/gtkvolumebutton.c:175
+msgid "Adjusts the volume"
+msgstr "ئاۋاز تەڭشىكى"
+
+#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184
+msgid "Volume Down"
+msgstr "ئاۋازنى تۆۋەنلەت"
+
+#: ../gtk/gtkvolumebutton.c:183
+msgid "Decreases the volume"
+msgstr "ئاۋازنى كېمەيت"
+
+#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190
+msgid "Volume Up"
+msgstr "ئاۋازنى يۇقىرىلات"
+
+#: ../gtk/gtkvolumebutton.c:189
+msgid "Increases the volume"
+msgstr "ئاۋازنى ئاشۇر"
+
+#: ../gtk/gtkvolumebutton.c:247
+msgid "Muted"
+msgstr "ئۈنسىز"
+
+#: ../gtk/gtkvolumebutton.c:251
+msgid "Full Volume"
+msgstr "ئەڭ يۇقىرى ئاۋاز"
+
+#. Translators: this is the percentage of the current volume,
+#. * as used in the tooltip, eg. "49 %".
+#. * Translate the "%d" to "%Id" if you want to use localised digits,
+#. * or otherwise translate the "%d" to "%d".
+#.
+#: ../gtk/gtkvolumebutton.c:264
+#, c-format
+msgctxt "volume percentage"
+msgid "%d %%"
+msgstr "%d %%"
+
+#: ../gtk/paper_names_offsets.c:4
+msgctxt "paper size"
+msgid "asme_f"
+msgstr "asme_f"
+
+#: ../gtk/paper_names_offsets.c:5
+msgctxt "paper size"
+msgid "A0x2"
+msgstr "A0x2"
+
+#: ../gtk/paper_names_offsets.c:6
+msgctxt "paper size"
+msgid "A0"
+msgstr "A0"
+
+#: ../gtk/paper_names_offsets.c:7
+msgctxt "paper size"
+msgid "A0x3"
+msgstr "A0x3"
+
+#: ../gtk/paper_names_offsets.c:8
+msgctxt "paper size"
+msgid "A1"
+msgstr "A1"
+
+#: ../gtk/paper_names_offsets.c:9
+msgctxt "paper size"
+msgid "A10"
+msgstr "A10"
+
+#: ../gtk/paper_names_offsets.c:10
+msgctxt "paper size"
+msgid "A1x3"
+msgstr "A1x3"
+
+#: ../gtk/paper_names_offsets.c:11
+msgctxt "paper size"
+msgid "A1x4"
+msgstr "A1x4"
+
+#: ../gtk/paper_names_offsets.c:12
+msgctxt "paper size"
+msgid "A2"
+msgstr "A2"
+
+#: ../gtk/paper_names_offsets.c:13
+msgctxt "paper size"
+msgid "A2x3"
+msgstr "A2x3"
+
+#: ../gtk/paper_names_offsets.c:14
+msgctxt "paper size"
+msgid "A2x4"
+msgstr "A2x4"
+
+#: ../gtk/paper_names_offsets.c:15
+msgctxt "paper size"
+msgid "A2x5"
+msgstr "A2x5"
+
+#: ../gtk/paper_names_offsets.c:16
+msgctxt "paper size"
+msgid "A3"
+msgstr "A3"
+
+#: ../gtk/paper_names_offsets.c:17
+msgctxt "paper size"
+msgid "A3 Extra"
+msgstr "A3 Extra"
+
+#: ../gtk/paper_names_offsets.c:18
+msgctxt "paper size"
+msgid "A3x3"
+msgstr "A3x3"
+
+#: ../gtk/paper_names_offsets.c:19
+msgctxt "paper size"
+msgid "A3x4"
+msgstr "A3x4"
+
+#: ../gtk/paper_names_offsets.c:20
+msgctxt "paper size"
+msgid "A3x5"
+msgstr "A3x5"
+
+#: ../gtk/paper_names_offsets.c:21
+msgctxt "paper size"
+msgid "A3x6"
+msgstr "A3x6"
+
+#: ../gtk/paper_names_offsets.c:22
+msgctxt "paper size"
+msgid "A3x7"
+msgstr "A3x7"
+
+#: ../gtk/paper_names_offsets.c:23
+msgctxt "paper size"
+msgid "A4"
+msgstr "A4"
+
+#: ../gtk/paper_names_offsets.c:24
+msgctxt "paper size"
+msgid "A4 Extra"
+msgstr "A4 Extra"
+
+#: ../gtk/paper_names_offsets.c:25
+msgctxt "paper size"
+msgid "A4 Tab"
+msgstr "A4 Tab"
+
+#: ../gtk/paper_names_offsets.c:26
+msgctxt "paper size"
+msgid "A4x3"
+msgstr "A4x3"
+
+#: ../gtk/paper_names_offsets.c:27
+msgctxt "paper size"
+msgid "A4x4"
+msgstr "A4x4"
+
+#: ../gtk/paper_names_offsets.c:28
+msgctxt "paper size"
+msgid "A4x5"
+msgstr "A4x5"
+
+#: ../gtk/paper_names_offsets.c:29
+msgctxt "paper size"
+msgid "A4x6"
+msgstr "A4x6"
+
+#: ../gtk/paper_names_offsets.c:30
+msgctxt "paper size"
+msgid "A4x7"
+msgstr "A4x7"
+
+#: ../gtk/paper_names_offsets.c:31
+msgctxt "paper size"
+msgid "A4x8"
+msgstr "A4x8"
+
+#: ../gtk/paper_names_offsets.c:32
+msgctxt "paper size"
+msgid "A4x9"
+msgstr "A4x9"
+
+#: ../gtk/paper_names_offsets.c:33
+msgctxt "paper size"
+msgid "A5"
+msgstr "A5"
+
+#: ../gtk/paper_names_offsets.c:34
+msgctxt "paper size"
+msgid "A5 Extra"
+msgstr "A5 Extra"
+
+#: ../gtk/paper_names_offsets.c:35
+msgctxt "paper size"
+msgid "A6"
+msgstr "A6"
+
+#: ../gtk/paper_names_offsets.c:36
+msgctxt "paper size"
+msgid "A7"
+msgstr "A7"
+
+#: ../gtk/paper_names_offsets.c:37
+msgctxt "paper size"
+msgid "A8"
+msgstr "A8"
+
+#: ../gtk/paper_names_offsets.c:38
+msgctxt "paper size"
+msgid "A9"
+msgstr "A9"
+
+#: ../gtk/paper_names_offsets.c:39
+msgctxt "paper size"
+msgid "B0"
+msgstr "B0"
+
+#: ../gtk/paper_names_offsets.c:40
+msgctxt "paper size"
+msgid "B1"
+msgstr "B1"
+
+#: ../gtk/paper_names_offsets.c:41
+msgctxt "paper size"
+msgid "B10"
+msgstr "B10"
+
+#: ../gtk/paper_names_offsets.c:42
+msgctxt "paper size"
+msgid "B2"
+msgstr "B2"
+
+#: ../gtk/paper_names_offsets.c:43
+msgctxt "paper size"
+msgid "B3"
+msgstr "B3"
+
+#: ../gtk/paper_names_offsets.c:44
+msgctxt "paper size"
+msgid "B4"
+msgstr "B4"
+
+#: ../gtk/paper_names_offsets.c:45
+msgctxt "paper size"
+msgid "B5"
+msgstr "B5"
+
+#: ../gtk/paper_names_offsets.c:46
+msgctxt "paper size"
+msgid "B5 Extra"
+msgstr "B5 Extra"
+
+#: ../gtk/paper_names_offsets.c:47
+msgctxt "paper size"
+msgid "B6"
+msgstr "B6"
+
+#: ../gtk/paper_names_offsets.c:48
+msgctxt "paper size"
+msgid "B6/C4"
+msgstr "B6/C4"
+
+#: ../gtk/paper_names_offsets.c:49
+msgctxt "paper size"
+msgid "B7"
+msgstr "B7"
+
+#: ../gtk/paper_names_offsets.c:50
+msgctxt "paper size"
+msgid "B8"
+msgstr "B8"
+
+#: ../gtk/paper_names_offsets.c:51
+msgctxt "paper size"
+msgid "B9"
+msgstr "B9"
+
+#: ../gtk/paper_names_offsets.c:52
+msgctxt "paper size"
+msgid "C0"
+msgstr "C0"
+
+#: ../gtk/paper_names_offsets.c:53
+msgctxt "paper size"
+msgid "C1"
+msgstr "C1"
+
+#: ../gtk/paper_names_offsets.c:54
+msgctxt "paper size"
+msgid "C10"
+msgstr "C10"
+
+#: ../gtk/paper_names_offsets.c:55
+msgctxt "paper size"
+msgid "C2"
+msgstr "C2"
+
+#: ../gtk/paper_names_offsets.c:56
+msgctxt "paper size"
+msgid "C3"
+msgstr "C3"
+
+#: ../gtk/paper_names_offsets.c:57
+msgctxt "paper size"
+msgid "C4"
+msgstr "C4"
+
+#: ../gtk/paper_names_offsets.c:58
+msgctxt "paper size"
+msgid "C5"
+msgstr "C5"
+
+#: ../gtk/paper_names_offsets.c:59
+msgctxt "paper size"
+msgid "C6"
+msgstr "C6"
+
+#: ../gtk/paper_names_offsets.c:60
+msgctxt "paper size"
+msgid "C6/C5"
+msgstr "C6/C5"
+
+#: ../gtk/paper_names_offsets.c:61
+msgctxt "paper size"
+msgid "C7"
+msgstr "C7"
+
+#: ../gtk/paper_names_offsets.c:62
+msgctxt "paper size"
+msgid "C7/C6"
+msgstr "C7/C6"
+
+#: ../gtk/paper_names_offsets.c:63
+msgctxt "paper size"
+msgid "C8"
+msgstr "C8"
+
+#: ../gtk/paper_names_offsets.c:64
+msgctxt "paper size"
+msgid "C9"
+msgstr "C9"
+
+#: ../gtk/paper_names_offsets.c:65
+msgctxt "paper size"
+msgid "DL Envelope"
+msgstr "DL لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:66
+msgctxt "paper size"
+msgid "RA0"
+msgstr "RA0"
+
+#: ../gtk/paper_names_offsets.c:67
+msgctxt "paper size"
+msgid "RA1"
+msgstr "RA1"
+
+#: ../gtk/paper_names_offsets.c:68
+msgctxt "paper size"
+msgid "RA2"
+msgstr "RA2"
+
+#: ../gtk/paper_names_offsets.c:69
+msgctxt "paper size"
+msgid "SRA0"
+msgstr "SRA0"
+
+#: ../gtk/paper_names_offsets.c:70
+msgctxt "paper size"
+msgid "SRA1"
+msgstr "SRA1"
+
+#: ../gtk/paper_names_offsets.c:71
+msgctxt "paper size"
+msgid "SRA2"
+msgstr "SRA2"
+
+#: ../gtk/paper_names_offsets.c:72
+msgctxt "paper size"
+msgid "JB0"
+msgstr "JB0"
+
+#: ../gtk/paper_names_offsets.c:73
+msgctxt "paper size"
+msgid "JB1"
+msgstr "JB1"
+
+#: ../gtk/paper_names_offsets.c:74
+msgctxt "paper size"
+msgid "JB10"
+msgstr "JB10"
+
+#: ../gtk/paper_names_offsets.c:75
+msgctxt "paper size"
+msgid "JB2"
+msgstr "JB2"
+
+#: ../gtk/paper_names_offsets.c:76
+msgctxt "paper size"
+msgid "JB3"
+msgstr "JB3"
+
+#: ../gtk/paper_names_offsets.c:77
+msgctxt "paper size"
+msgid "JB4"
+msgstr "JB4"
+
+#: ../gtk/paper_names_offsets.c:78
+msgctxt "paper size"
+msgid "JB5"
+msgstr "JB5"
+
+#: ../gtk/paper_names_offsets.c:79
+msgctxt "paper size"
+msgid "JB6"
+msgstr "JB6"
+
+#: ../gtk/paper_names_offsets.c:80
+msgctxt "paper size"
+msgid "JB7"
+msgstr "JB7"
+
+#: ../gtk/paper_names_offsets.c:81
+msgctxt "paper size"
+msgid "JB8"
+msgstr "JB8"
+
+#: ../gtk/paper_names_offsets.c:82
+msgctxt "paper size"
+msgid "JB9"
+msgstr "JB9"
+
+#: ../gtk/paper_names_offsets.c:83
+msgctxt "paper size"
+msgid "jis exec"
+msgstr "jis exec"
+
+#: ../gtk/paper_names_offsets.c:84
+msgctxt "paper size"
+msgid "Choukei 2 Envelope"
+msgstr "Choukei 2 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:85
+msgctxt "paper size"
+msgid "Choukei 3 Envelope"
+msgstr "Choukei 3 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:86
+msgctxt "paper size"
+msgid "Choukei 4 Envelope"
+msgstr "houkei 4 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:87
+msgctxt "paper size"
+msgid "hagaki (postcard)"
+msgstr "hagaki (پوچتا كارتىسى)"
+
+#: ../gtk/paper_names_offsets.c:88
+msgctxt "paper size"
+msgid "kahu Envelope"
+msgstr "kahu لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:89
+msgctxt "paper size"
+msgid "kaku2 Envelope"
+msgstr "kaku2 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:90
+msgctxt "paper size"
+msgid "oufuku (reply postcard)"
+msgstr "oufuku (جاۋاب پوچتا كارتىسى)"
+
+#: ../gtk/paper_names_offsets.c:91
+msgctxt "paper size"
+msgid "you4 Envelope"
+msgstr "you4 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:92
+msgctxt "paper size"
+msgid "10x11"
+msgstr "10x11"
+
+#: ../gtk/paper_names_offsets.c:93
+msgctxt "paper size"
+msgid "10x13"
+msgstr "10x13"
+
+#: ../gtk/paper_names_offsets.c:94
+msgctxt "paper size"
+msgid "10x14"
+msgstr "10x14"
+
+#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96
+msgctxt "paper size"
+msgid "10x15"
+msgstr "10x15"
+
+#: ../gtk/paper_names_offsets.c:97
+msgctxt "paper size"
+msgid "11x12"
+msgstr "11x12"
+
+#: ../gtk/paper_names_offsets.c:98
+msgctxt "paper size"
+msgid "11x15"
+msgstr "11x15"
+
+#: ../gtk/paper_names_offsets.c:99
+msgctxt "paper size"
+msgid "12x19"
+msgstr "12x19"
+
+#: ../gtk/paper_names_offsets.c:100
+msgctxt "paper size"
+msgid "5x7"
+msgstr "5x7"
+
+#: ../gtk/paper_names_offsets.c:101
+msgctxt "paper size"
+msgid "6x9 Envelope"
+msgstr "6x9 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:102
+msgctxt "paper size"
+msgid "7x9 Envelope"
+msgstr "7x9 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:103
+msgctxt "paper size"
+msgid "9x11 Envelope"
+msgstr "9x11 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:104
+msgctxt "paper size"
+msgid "a2 Envelope"
+msgstr "a2 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:105
+msgctxt "paper size"
+msgid "Arch A"
+msgstr "ئەگمە A"
+
+#: ../gtk/paper_names_offsets.c:106
+msgctxt "paper size"
+msgid "Arch B"
+msgstr "ئەگمە B"
+
+#: ../gtk/paper_names_offsets.c:107
+msgctxt "paper size"
+msgid "Arch C"
+msgstr "ئەگمە C"
+
+#: ../gtk/paper_names_offsets.c:108
+msgctxt "paper size"
+msgid "Arch D"
+msgstr "ئەگمە D"
+
+#: ../gtk/paper_names_offsets.c:109
+msgctxt "paper size"
+msgid "Arch E"
+msgstr "ئەگمە E"
+
+#: ../gtk/paper_names_offsets.c:110
+msgctxt "paper size"
+msgid "b-plus"
+msgstr "b-plus"
+
+#: ../gtk/paper_names_offsets.c:111
+msgctxt "paper size"
+msgid "c"
+msgstr "c"
+
+#: ../gtk/paper_names_offsets.c:112
+msgctxt "paper size"
+msgid "c5 Envelope"
+msgstr "c5 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:113
+msgctxt "paper size"
+msgid "d"
+msgstr "d"
+
+#: ../gtk/paper_names_offsets.c:114
+msgctxt "paper size"
+msgid "e"
+msgstr "e"
+
+#: ../gtk/paper_names_offsets.c:115
+msgctxt "paper size"
+msgid "edp"
+msgstr "edp"
+
+#: ../gtk/paper_names_offsets.c:116
+msgctxt "paper size"
+msgid "European edp"
+msgstr "ياۋروپا edp"
+
+#: ../gtk/paper_names_offsets.c:117
+msgctxt "paper size"
+msgid "Executive"
+msgstr "مەمۇرىي"
+
+#: ../gtk/paper_names_offsets.c:118
+msgctxt "paper size"
+msgid "f"
+msgstr "f"
+
+#: ../gtk/paper_names_offsets.c:119
+msgctxt "paper size"
+msgid "FanFold European"
+msgstr "FanFold ياۋروپا"
+
+#: ../gtk/paper_names_offsets.c:120
+msgctxt "paper size"
+msgid "FanFold US"
+msgstr "FanFold ئا ق ش"
+
+#: ../gtk/paper_names_offsets.c:121
+msgctxt "paper size"
+msgid "FanFold German Legal"
+msgstr "FanFold گېرمانىيە قانۇنى"
+
+#: ../gtk/paper_names_offsets.c:122
+msgctxt "paper size"
+msgid "Government Legal"
+msgstr "ھۆكۈمەت قانۇنى"
+
+#: ../gtk/paper_names_offsets.c:123
+msgctxt "paper size"
+msgid "Government Letter"
+msgstr "ھۆكۈمەت خەت-چەك"
+
+#: ../gtk/paper_names_offsets.c:124
+msgctxt "paper size"
+msgid "Index 3x5"
+msgstr "Index 3x5"
+
+#: ../gtk/paper_names_offsets.c:125
+msgctxt "paper size"
+msgid "Index 4x6 (postcard)"
+msgstr "Index 4x6 (پوچتا كارتىسى)"
+
+#: ../gtk/paper_names_offsets.c:126
+msgctxt "paper size"
+msgid "Index 4x6 ext"
+msgstr "Index 4x6 ext"
+
+#: ../gtk/paper_names_offsets.c:127
+msgctxt "paper size"
+msgid "Index 5x8"
+msgstr "Index 5x8"
+
+#: ../gtk/paper_names_offsets.c:128
+msgctxt "paper size"
+msgid "Invoice"
+msgstr "Invoice"
+
+#: ../gtk/paper_names_offsets.c:129
+msgctxt "paper size"
+msgid "Tabloid"
+msgstr "تەرمىلەر"
+
+#: ../gtk/paper_names_offsets.c:130
+msgctxt "paper size"
+msgid "US Legal"
+msgstr "ئا ق ش قانۇن"
+
+#: ../gtk/paper_names_offsets.c:131
+msgctxt "paper size"
+msgid "US Legal Extra"
+msgstr "ئا ق ش قانۇنى زىيادە چوڭ"
+
+#: ../gtk/paper_names_offsets.c:132
+msgctxt "paper size"
+msgid "US Letter"
+msgstr "ئا ق ش لېپاپى"
+
+#: ../gtk/paper_names_offsets.c:133
+msgctxt "paper size"
+msgid "US Letter Extra"
+msgstr "ئا ق ش لېپاپى زىيادە چوڭ"
+
+#: ../gtk/paper_names_offsets.c:134
+msgctxt "paper size"
+msgid "US Letter Plus"
+msgstr "ئا ق ش لېپاپى چوڭ"
+
+#: ../gtk/paper_names_offsets.c:135
+msgctxt "paper size"
+msgid "Monarch Envelope"
+msgstr "Monarch لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:136
+msgctxt "paper size"
+msgid "#10 Envelope"
+msgstr "#10 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:137
+msgctxt "paper size"
+msgid "#11 Envelope"
+msgstr "#11 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:138
+msgctxt "paper size"
+msgid "#12 Envelope"
+msgstr "#12 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:139
+msgctxt "paper size"
+msgid "#14 Envelope"
+msgstr "#14 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:140
+msgctxt "paper size"
+msgid "#9 Envelope"
+msgstr "#9 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:141
+msgctxt "paper size"
+msgid "Personal Envelope"
+msgstr "شەخسىي لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:142
+msgctxt "paper size"
+msgid "Quarto"
+msgstr "Quarto"
+
+#: ../gtk/paper_names_offsets.c:143
+msgctxt "paper size"
+msgid "Super A"
+msgstr "Super A"
+
+#: ../gtk/paper_names_offsets.c:144
+msgctxt "paper size"
+msgid "Super B"
+msgstr "Super B"
+
+#: ../gtk/paper_names_offsets.c:145
+msgctxt "paper size"
+msgid "Wide Format"
+msgstr "كەڭ فورمات"
+
+#: ../gtk/paper_names_offsets.c:146
+msgctxt "paper size"
+msgid "Dai-pa-kai"
+msgstr "Dai-pa-kai"
+
+#: ../gtk/paper_names_offsets.c:147
+msgctxt "paper size"
+msgid "Folio"
+msgstr "Folio"
+
+#: ../gtk/paper_names_offsets.c:148
+msgctxt "paper size"
+msgid "Folio sp"
+msgstr "Folio sp"
+
+#: ../gtk/paper_names_offsets.c:149
+msgctxt "paper size"
+msgid "Invite Envelope"
+msgstr "تەكلىپ لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:150
+msgctxt "paper size"
+msgid "Italian Envelope"
+msgstr "ئىتالىيە لېپاپى"
+
+#: ../gtk/paper_names_offsets.c:151
+msgctxt "paper size"
+msgid "juuro-ku-kai"
+msgstr "juuro-ku-kai"
+
+#: ../gtk/paper_names_offsets.c:152
+msgctxt "paper size"
+msgid "pa-kai"
+msgstr "pa-kai"
+
+#: ../gtk/paper_names_offsets.c:153
+msgctxt "paper size"
+msgid "Postfix Envelope"
+msgstr "Postfix لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:154
+msgctxt "paper size"
+msgid "Small Photo"
+msgstr "كىچىك سۈرەت"
+
+#: ../gtk/paper_names_offsets.c:155
+msgctxt "paper size"
+msgid "prc1 Envelope"
+msgstr "prc1 شەخسىي لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:156
+msgctxt "paper size"
+msgid "prc10 Envelope"
+msgstr "ج خ ج 10 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:157
+msgctxt "paper size"
+msgid "prc 16k"
+msgstr "ج خ ج 16 كەسلەم"
+
+#: ../gtk/paper_names_offsets.c:158
+msgctxt "paper size"
+msgid "prc2 Envelope"
+msgstr "ج خ ج 2 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:159
+msgctxt "paper size"
+msgid "prc3 Envelope"
+msgstr "ج خ ج 3 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:160
+msgctxt "paper size"
+msgid "prc 32k"
+msgstr "ج خ ج 32 كەسلەم"
+
+#: ../gtk/paper_names_offsets.c:161
+msgctxt "paper size"
+msgid "prc4 Envelope"
+msgstr "ج خ ج 4 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:162
+msgctxt "paper size"
+msgid "prc5 Envelope"
+msgstr "ج خ ج 5 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:163
+msgctxt "paper size"
+msgid "prc6 Envelope"
+msgstr "ج خ ج 6 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:164
+msgctxt "paper size"
+msgid "prc7 Envelope"
+msgstr "ج خ ج 7 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:165
+msgctxt "paper size"
+msgid "prc8 Envelope"
+msgstr "ج خ ج 8 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:166
+msgctxt "paper size"
+msgid "prc9 Envelope"
+msgstr "ج خ ج 9 لېپاپ"
+
+#: ../gtk/paper_names_offsets.c:167
+msgctxt "paper size"
+msgid "ROC 16k"
+msgstr "ج م 16 كەسلەم"
+
+#: ../gtk/paper_names_offsets.c:168
+msgctxt "paper size"
+msgid "ROC 8k"
+msgstr "ج م 8 كەسلەم"
+
+#: ../gtk/updateiconcache.c:1370
+#, c-format
+msgid "Failed to write header\n"
+msgstr "بېشىغا يازالمىدى\n"
+
+#: ../gtk/updateiconcache.c:1376
+#, c-format
+msgid "Failed to write hash table\n"
+msgstr "مۇكەممەللىك جەدۋىلىگە يازالمىدى\n"
+
+#: ../gtk/updateiconcache.c:1382
+#, c-format
+msgid "Failed to write folder index\n"
+msgstr "قىسقۇچ ئىندېكسقا يازالمىدى\n"
+
+#: ../gtk/updateiconcache.c:1390
+#, c-format
+msgid "Failed to rewrite header\n"
+msgstr "بېشىغا قايتا يازالمىدى\n"
+
+#: ../gtk/updateiconcache.c:1484
+#, c-format
+msgid "Failed to open file %s : %s\n"
+msgstr "%s ھۆججەتنى ئاچالمىدى: %s\n"
+
+#: ../gtk/updateiconcache.c:1492 ../gtk/updateiconcache.c:1522
+#, c-format
+msgid "Failed to write cache file: %s\n"
+msgstr "غەملەك ھۆججىتىگە يازالمىدى: %s\n"
+
+#: ../gtk/updateiconcache.c:1533
+#, c-format
+msgid "The generated cache was invalid.\n"
+msgstr "قۇرغان غەملەك ئىناۋەتسىز.\n"
+
+#: ../gtk/updateiconcache.c:1547
+#, c-format
+msgid "Could not rename %s to %s: %s, removing %s then.\n"
+msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s، %s چىقىرىۋاتىدۇ\n"
+
+#: ../gtk/updateiconcache.c:1561
+#, c-format
+msgid "Could not rename %s to %s: %s\n"
+msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s\n"
+
+#: ../gtk/updateiconcache.c:1571
+#, c-format
+msgid "Could not rename %s back to %s: %s.\n"
+msgstr "%s نى %s غا قايتۇرۇپ ئات ئۆزگەرتەلمىدى:%s\n"
+
+#: ../gtk/updateiconcache.c:1598
+#, c-format
+msgid "Cache file created successfully.\n"
+msgstr "غەملەك ھۆججىتى مۇۋەپپەقىيەتلىك قۇرۇلدى.\n"
+
+#: ../gtk/updateiconcache.c:1637
+msgid "Overwrite an existing cache, even if up to date"
+msgstr "نۆۋەتتىكى غەملەك ئەڭ يېڭى بولسىمۇ قاپلىۋەت"
+
+#: ../gtk/updateiconcache.c:1638
+msgid "Don't check for the existence of index.theme"
+msgstr "مەۋجۇت index.theme نى تەكشۈرمە"
+
+#: ../gtk/updateiconcache.c:1639
+msgid "Don't include image data in the cache"
+msgstr "غەملەكتە سۈرەت سانلىق مەلۇماتىنى ساقلىما"
+
+#: ../gtk/updateiconcache.c:1640
+msgid "Output a C header file"
+msgstr "C باش ھۆججەتنى چىقار"
+
+#: ../gtk/updateiconcache.c:1641
+msgid "Turn off verbose output"
+msgstr "تەپسىلىي چىقىرىشنى ياپ"
+
+#: ../gtk/updateiconcache.c:1642
+msgid "Validate existing icon cache"
+msgstr "مەۋجۇت سىنبەلگە غەملىكىنى دەلىللە"
+
+#: ../gtk/updateiconcache.c:1709
+#, c-format
+msgid "File not found: %s\n"
+msgstr "ھۆججەتنى تاپالمىدى: %s\n"
+
+#: ../gtk/updateiconcache.c:1715
+#, c-format
+msgid "Not a valid icon cache: %s\n"
+msgstr "ئىناۋەتلىك سىنبەلگە غەملەك ئەمەس: %s\n"
+
+#: ../gtk/updateiconcache.c:1728
+#, c-format
+msgid "No theme index file.\n"
+msgstr "باش تېما ئىندېكس ھۆججىتى يوق.\n"
+
+#: ../gtk/updateiconcache.c:1732
+#, c-format
+msgid ""
+"No theme index file in '%s'.\n"
+"If you really want to create an icon cache here, use --ignore-theme-index.\n"
+msgstr ""
+"“%s دا باش تېما ئىندېكس ھۆججىتى يوق.\n"
+"ئەگەر بۇ جايغا راستىنىلا سىنبەلگە غەملەك قۇرماقچى بولسىڭىز --ignore-theme-"
+"index ئىشلىتىڭ\n"
+
+#. ID
+#: ../modules/input/imam-et.c:454
+msgid "Amharic (EZ+)"
+msgstr "ئامخاراچە(EZ+)"
+
+#. ID
+#: ../modules/input/imcedilla.c:92
+msgid "Cedilla"
+msgstr "ئاۋاز ئۆزگەرتىش بەلگىسى"
+
+#. ID
+#: ../modules/input/imcyrillic-translit.c:217
+msgid "Cyrillic (Transliterated)"
+msgstr "سلاۋيانچە (ئاھاڭ تەرجىمىسى)"
+
+#. ID
+#: ../modules/input/iminuktitut.c:127
+msgid "Inuktitut (Transliterated)"
+msgstr "ئىنۇكتىتۇت (ئاھاڭ تەرجىمىسى)"
+
+#. ID
+#: ../modules/input/imipa.c:145
+msgid "IPA"
+msgstr "IPA"
+
+#. ID
+#: ../modules/input/immultipress.c:31
+msgid "Multipress"
+msgstr "ئېغىر بىسىم"
+
+#. ID
+#: ../modules/input/imthai.c:35
+msgid "Thai-Lao"
+msgstr "تايلاند-لائۇس"
+
+#. ID
+#: ../modules/input/imti-er.c:453
+msgid "Tigrigna-Eritrean (EZ+)"
+msgstr "تىگرىگنا-ئېرىترىيە(EZ+)"
+
+#. ID
+#: ../modules/input/imti-et.c:453
+msgid "Tigrigna-Ethiopian (EZ+)"
+msgstr "تىگرىگنا-ئېفىئوپىيە(EZ+)"
+
+#. ID
+#: ../modules/input/imviqr.c:244
+msgid "Vietnamese (VIQR)"
+msgstr "ۋيېتنامچە(VIQR)"
+
+#. ID
+#: ../modules/input/imxim.c:28
+msgid "X Input Method"
+msgstr "X كىرگۈزگۈچ"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:828
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1038
+msgid "Username:"
+msgstr "ئىشلەتكۈچى ئاتى:"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:829
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1047
+msgid "Password:"
+msgstr "ئىم:"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1060
+#, c-format
+msgid "Authentication is required to print document '%s' on printer %s"
+msgstr "باسىدىغان '%s' پۈتۈكنى %s پرىنتېردا بېسىشتا دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:870
+#, c-format
+msgid "Authentication is required to print a document on %s"
+msgstr "%s دا پۈتۈكتىن بىرنى بېسىشتا دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
+#, c-format
+msgid "Authentication is required to get attributes of job '%s'"
+msgstr "ۋەزىپە '%s' نىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:876
+msgid "Authentication is required to get attributes of a job"
+msgstr "بىر ۋەزىپىنىڭ خاسلىقىغا ئېرىشىش ئۈچۈن دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:880
+#, c-format
+msgid "Authentication is required to get attributes of printer %s"
+msgstr "%s پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:882
+msgid "Authentication is required to get attributes of a printer"
+msgstr "بىر پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:885
+#, c-format
+msgid "Authentication is required to get default printer of %s"
+msgstr "%s نىڭ كۆڭۈلدىكى پرىنتېرىغا ئېرىشىشتە دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:888
+#, c-format
+msgid "Authentication is required to get printers from %s"
+msgstr "%s دىن پرىنتېرغا ئېرىشىشتە دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:893
+#, c-format
+msgid "Authentication is required to get a file from %s"
+msgstr "%s دىن ھۆججەتكە ئېرىشىشتە دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:895
+#, c-format
+msgid "Authentication is required on %s"
+msgstr "%s دا دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1032
+msgid "Domain:"
+msgstr "دائىرە:"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1062
+#, c-format
+msgid "Authentication is required to print document '%s'"
+msgstr "%s دا پۈتۈك بېسىشتا دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1067
+#, c-format
+msgid "Authentication is required to print this document on printer %s"
+msgstr "بۇ پۈتۈكنى %s دا بېسىشتا دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1069
+msgid "Authentication is required to print this document"
+msgstr "بۇ پۈتۈكنى بېسىشتا دەلىللەش لازىم"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690
+#, c-format
+msgid "Printer '%s' is low on toner."
+msgstr "'%s' پرىنتېرنىڭ سىياھى ئاز."
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691
+#, c-format
+msgid "Printer '%s' has no toner left."
+msgstr "'%s' پرىنتېرنىڭ سىياھى قالمىغان."
+
+#. Translators: "Developer" like on photo development context
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1693
+#, c-format
+msgid "Printer '%s' is low on developer."
+msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى ئاز"
+
+#. Translators: "Developer" like on photo development context
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1695
+#, c-format
+msgid "Printer '%s' is out of developer."
+msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى قالمىغان."
+
+#. Translators: "marker" is one color bin of the printer
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1697
+#, c-format
+msgid "Printer '%s' is low on at least one marker supply."
+msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى ئاز."
+
+#. Translators: "marker" is one color bin of the printer
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1699
+#, c-format
+msgid "Printer '%s' is out of at least one marker supply."
+msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى تۈگىگەن."
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1700
+#, c-format
+msgid "The cover is open on printer '%s'."
+msgstr "'%s' پرىنتېرنىڭ قاپقىقى ئوچۇق."
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1701
+#, c-format
+msgid "The door is open on printer '%s'."
+msgstr "'%s' پرىنتېرنىڭ ئىشىكى ئوچۇق."
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1702
+#, c-format
+msgid "Printer '%s' is low on paper."
+msgstr "'%s' پرىنتېرنىڭ قەغىزى قالمىغان."
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1703
+#, c-format
+msgid "Printer '%s' is out of paper."
+msgstr "'%s' پرىنتېردا قەغەز كەم."
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1704
+#, c-format
+msgid "Printer '%s' is currently offline."
+msgstr "'%s' پرىنتېر نۆۋەتتە توردا يوق."
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1705
+#, c-format
+msgid "There is a problem on printer '%s'."
+msgstr "'%s' پرىنتېردا مەسىلە بار."
+
+#. Translators: this is a printer status.
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2019
+msgid "Paused ; Rejecting Jobs"
+msgstr "ۋاقىتلىق توختىتىلدى؛ ۋەزىپىنى رەت قىلىدۇ"
+
+#. Translators: this is a printer status.
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2025
+msgid "Rejecting Jobs"
+msgstr "ۋەزىپىنى رەت قىلىدۇ"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
+msgid "Two Sided"
+msgstr "قوش يۈزلۈك"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799
+msgid "Paper Type"
+msgstr "قەغەز تىپى"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
+msgid "Paper Source"
+msgstr "قەغەز مەنبەسى"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801
+msgid "Output Tray"
+msgstr "قەغەز چىقارغۇچ"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
+msgid "Resolution"
+msgstr "ئېنىقلىق"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803
+msgid "GhostScript pre-filtering"
+msgstr "GhostScript ئالدىن سۈزگۈچ"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
+msgid "One Sided"
+msgstr "تاق تەرەپلىك"
+
+#. Translators: this is an option of "Two Sided"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
+msgid "Long Edge (Standard)"
+msgstr "ئۇزۇن يان (ئۆلچەملىك)"
+
+#. Translators: this is an option of "Two Sided"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
+msgid "Short Edge (Flip)"
+msgstr "قىسقا يان (ئۆرۈ)"
+
+#. Translators: this is an option of "Paper Source"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2818
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2820
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2828
+msgid "Auto Select"
+msgstr "ئۆزلۈكىدىن تاللا"
+
+#. Translators: this is an option of "Paper Source"
+#. Translators: this is an option of "Resolution"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2822
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2824
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3326
+msgid "Printer Default"
+msgstr "ئالدىن تەڭشەلگەن پرىنتېر"
+
+#. Translators: this is an option of "GhostScript"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2832
+msgid "Embed GhostScript fonts only"
+msgstr "GhostScript خەت نۇسخىنىلا سىڭدۈر"
+
+#. Translators: this is an option of "GhostScript"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2834
+msgid "Convert to PS level 1"
+msgstr "PS دەرىجە 1 گە ئايلاندۇر"
+
+#. Translators: this is an option of "GhostScript"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2836
+msgid "Convert to PS level 2"
+msgstr "PS دەرىجە 2 گە ئايلاندۇر"
+
+#. Translators: this is an option of "GhostScript"
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2838
+msgid "No pre-filtering"
+msgstr "ئالدىن سۈزگۈچ يوق"
+
+#. 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:2847
+msgid "Miscellaneous"
+msgstr "باشقىلار"
+
+#. Translators: These strings name the possible values of the
+#. * job priority option in the print dialog
+#.
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
+msgid "Urgent"
+msgstr "جىددىي"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
+msgid "High"
+msgstr "يۇقىرى"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
+msgid "Medium"
+msgstr "ئوتتۇرا"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3567
+msgid "Low"
+msgstr "تۆۋەن"
+
+#. Cups specific, non-ppd related settings
+#. Translators, this string is used to label the pages-per-sheet option
+#. * in the print dialog
+#.
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3593
+msgid "Pages per Sheet"
+msgstr "ھەر ۋاراق بەت سانى"
+
+#. Translators, this string is used to label the job priority option
+#. * in the print dialog
+#.
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3630
+msgid "Job Priority"
+msgstr "ۋەزىپە ئالدىنلىق"
+
+#. Translators, this string is used to label the billing info entry
+#. * in the print dialog
+#.
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3641
+msgid "Billing Info"
+msgstr "ھەق ھېسابلاش ئۇچۇرى"
+
+#. Translators, these strings are names for various 'standard' cover
+#. * pages that the printing system may support.
+#.
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
+msgid "None"
+msgstr "يوق"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
+msgid "Classified"
+msgstr "تۈرگە ئايرىلغان"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
+msgid "Confidential"
+msgstr "مەخپىي"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
+msgid "Secret"
+msgstr "سىر"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
+msgid "Standard"
+msgstr "ئۆلچەملىك"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
+msgid "Top Secret"
+msgstr "قەتئىي مەخپىي"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3656
+msgid "Unclassified"
+msgstr "بۆلۈنمىگەن"
+
+#. Translators, this is the label used for the option in the print
+#. * dialog that controls the front cover page.
+#.
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3691
+msgid "Before"
+msgstr "ئاۋۋال"
+
+#. Translators, this is the label used for the option in the print
+#. * dialog that controls the back cover page.
+#.
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706
+msgid "After"
+msgstr "كېيىن"
+
+#. Translators: this is the name of the option that controls when
+#. * a print job is printed. Possible values are 'now', a specified time,
+#. * or 'on hold'
+#.
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3726
+msgid "Print at"
+msgstr "باسىدۇ"
+
+#. 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:3737
+msgid "Print at time"
+msgstr "بەلگىلەنگەن ۋاقىتتا باسىدۇ"
+
+#. Translators: this format is used to display a custom paper
+#. * size. The two placeholders are replaced with the width and height
+#. * in points. E.g: "Custom 230.4x142.9"
+#.
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3772
+#, c-format
+msgid "Custom %sx%s"
+msgstr "ئىختىيارى %sx%s"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3853
+msgid "Printer Profile"
+msgstr "پرىنتېر سەپلىمە ھۆججەت"
+
+#. TRANSLATORS: this is when color profile information is unavailable
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3860
+msgid "Unavailable"
+msgstr "ئىشلەتكىلى بولمايدۇ"
+
+#. default filename used for print-to-file
+#: ../modules/printbackends/file/gtkprintbackendfile.c:250
+#, c-format
+msgid "output.%s"
+msgstr "چىقىش.%s"
+
+#: ../modules/printbackends/file/gtkprintbackendfile.c:501
+msgid "Print to File"
+msgstr "ھۆججەتكە باس"
+
+#: ../modules/printbackends/file/gtkprintbackendfile.c:627
+msgid "PDF"
+msgstr "PDF"
+
+#: ../modules/printbackends/file/gtkprintbackendfile.c:627
+msgid "Postscript"
+msgstr "Postscript"
+
+#: ../modules/printbackends/file/gtkprintbackendfile.c:627
+msgid "SVG"
+msgstr "SVG"
+
+#: ../modules/printbackends/file/gtkprintbackendfile.c:640
+#: ../modules/printbackends/test/gtkprintbackendtest.c:503
+msgid "Pages per _sheet:"
+msgstr "ھەر ۋاراق بەت سانى(_S):"
+
+#: ../modules/printbackends/file/gtkprintbackendfile.c:699
+msgid "File"
+msgstr "ھۆججەت"
+
+#: ../modules/printbackends/file/gtkprintbackendfile.c:709
+msgid "_Output format"
+msgstr "چىقىرىش فورماتى(_O)"
+
+#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395
+msgid "Print to LPR"
+msgstr "LPR غا باس"
+
+#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421
+msgid "Pages Per Sheet"
+msgstr "ھەر ۋاراقتىكى بەت سانى"
+
+#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428
+msgid "Command Line"
+msgstr "بۇيرۇق قۇرى"
+
+#. SUN_BRANDING
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811
+msgid "printer offline"
+msgstr "پرىنتېر ئۈزۈك ھالەتتە"
+
+#. SUN_BRANDING
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829
+msgid "ready to print"
+msgstr "بېسىشقا تەييار"
+
+#. SUN_BRANDING
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832
+msgid "processing job"
+msgstr "ۋەزىپىنى بىر تەرەپ قىلىۋاتىدۇ"
+
+#. SUN_BRANDING
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836
+msgid "paused"
+msgstr "ۋاقىتلىق توختىتىلدى"
+
+#. SUN_BRANDING
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839
+msgid "unknown"
+msgstr "نامەلۇم"
+
+#. default filename used for print-to-test
+#: ../modules/printbackends/test/gtkprintbackendtest.c:234
+#, c-format
+msgid "test-output.%s"
+msgstr "test-output.%s"
+
+#: ../modules/printbackends/test/gtkprintbackendtest.c:467
+msgid "Print to Test Printer"
+msgstr "سىناق پرىنتېردا باس"
+
+#: ../tests/testfilechooser.c:207
+#, c-format
+msgid "Could not get information for file '%s': %s"
+msgstr "'%s' ھۆججەتنىڭ ئۇچۇرىغا ئېرىشەلمىدى:%s"
+
+#: ../tests/testfilechooser.c:222
+#, c-format
+msgid "Failed to open file '%s': %s"
+msgstr "ھۆججەت «%s» نى ئاچالمىدى: %s"
+
+#: ../tests/testfilechooser.c:267
+#, c-format
+msgid ""
+"Failed to load image '%s': reason not known, probably a corrupt image file"
+msgstr ""
+"'%s' سۈرەتنى يۈكلىيەلمىدى. سەۋەبى ئېنىق ئەمەس بۇ ھۆججەت بۇزۇلۇپ كەتكەن "
+"بولۇشى مۇمكىن"
+
+#~ msgctxt "throbbing progress animation widget"
+#~ msgid "Spinner"
+#~ msgstr "مىكرو تەڭشەك"
+
+#~ msgid "Provides visual indication of progress"
+#~ msgstr "كۆرۈنمە كۆرسەتكۈچ جەريانى تەمىنلەيدۇ"
+
+#~ msgctxt "light switch widget"
+#~ msgid "Switch"
+#~ msgstr "ئالماشتۇرغۇچ"
+
+#~ msgid "Switches between on and off states"
+#~ msgstr "ئېچىش بىلەن تاقاش ھالىتى ئارىسىدا ئالماشتۇرىدۇ"
+
+#~ msgid "Received invalid color data\n"
+#~ msgstr "ئىناۋەتسىز رەڭ سانلىق-مەلۇماتى تاپشۇرۇۋالدى\n"
+
+#~ msgid "Error loading icon: %s"
+#~ msgstr "سىنبەلگە يۈكلىگەندە خاتالىق كۆرۈلدى: %s"
+
+#~ msgid ""
+#~ "Could not find the icon '%s'. The '%s' theme\n"
+#~ "was not found either, perhaps you need to install it.\n"
+#~ "You can get a copy from:\n"
+#~ "\t%s"
+#~ msgstr ""
+#~ "'%s' سىنبەلگىنى تاپالمىدى. '%s' باش تېمىنىمۇ تاپالمىدى، ئۇنى ئورنىتىشىڭىز "
+#~ "زۆرۈردەك قىلىدۇ. ئۇنىڭ كۆچۈرۈلمە نۇسخىسىنى تۆۋەندىكى ئادرېستىن "
+#~ "تاپالايسىز:\n"
+#~ "%s"
+
+#~ msgid "Unable to locate image file in pixmap_path: \"%s\""
+#~ msgstr "پىكسېل رەسىم يولىدىن رەسىم ھۆججىتى تېپىلمىدى:“%s”"
+
+#~ msgid "This function is not implemented for widgets of class '%s'"
+#~ msgstr "فۇنكسىيە “%s” تۈردىكى تۇلۇقتا ئەمەلگە ئاشمايدۇ"
+
+#~ msgid "different idatas found for symlinked '%s' and '%s'\n"
+#~ msgstr "ھەرپ بەلگە ئۇلىنىش “%s”بىلەن“%s” ئىشلەتكەن idatas ئوخشىمايدۇ\n"
## Makefile.am for gtk+/tests
include $(top_srcdir)/Makefile.decl
-SUBDIRS = css reftests
+SUBDIRS = css reftests a11y
INCLUDES = \
-I$(top_srcdir) \
--- /dev/null
+include $(top_srcdir)/Makefile.decl
+
+check_PROGRAMS = $(TEST_PROGS)
+
+AM_CPPFLAGS = \
+ -I$(top_srcdir) \
+ -I$(top_builddir)/gdk \
+ -I$(top_srcdir)/gdk \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+ -DGTK_VERSION=\"$(GTK_VERSION)\"\
+ $(GTK_DEBUG_FLAGS) \
+ $(GTK_DEP_CFLAGS)
+
+LDADD = \
+ $(top_builddir)/gdk/libgdk-3.la \
+ $(top_builddir)/gtk/libgtk-3.la \
+ $(GTK_DEP_LIBS)
+
+TEST_PROGS += accessibility-dump
+
+TEST_PROGS += tree-performance
+
+TEST_PROGS += text
+
+TEST_PROGS += children
+
+TEST_PROGS += focus
+
+TEST_PROGS += util
+
+noinst_PROGS = testfocus
+
+EXTRA_DIST += \
+ hello-world.ui hello-world.txt \
+ mnemonic.ui mnemonic.txt \
+ accessible-name.ui accessible-name.txt \
+ notebook.ui notebook.txt \
+ range.ui range.txt \
+ link.ui link.txt \
+ text.ui text.txt \
+ tree.ui tree.txt \
+ buttons.ui buttons.txt \
+ colorchooser.ui colorchooser.txt \
+ about.ui about.txt \
+ appchooser.ui appchooser.txt \
+ messagedialog.ui messagedialog.txt \
+ expander.ui expander.txt \
+ assistant.ui assistant.txt \
+ pickers.ui pickers.txt \
+ lockbutton.ui lockbutton.txt \
+ spinner.ui spinner.txt \
+ progress.ui progress.txt \
+ infobar.ui infobar.txt \
+ calendar.ui calendar.txt \
+ statusbar.ui statusbar.txt \
+ paned.ui paned.txt \
+ iconview.ui iconview.txt \
+ entries.ui entries.txt \
+ scale-drawvalue.ui scale-drawvalue.txt \
+ placeholder-text.ui placeholder-text.txt \
+ menu.ui menu.txt
--- /dev/null
+accessibility-dump is a test runner that can do tests of static
+accessibility information. Run it like this:
+
+./accessibility-dump [OPTIONS] TESTFILE [TESTFILES...]
+
+where TESTFILE is a GtkBuilder .ui file. accessibility-dump creates
+a textual dump of the accessibility information for the created
+widget hierarchy and compares it to a preexisting .txt file.
+
+To create an initial dump, you can use the --generate option with
+a single .ui file. You should carefully inspect the output before
+blessing it as the official .txt to compare against.
+
+To find out details about a failure, you can use the --verbose
+option to see differences between expected and actual output.
+
+When run without any arguments, all the .ui files in the current
+directory are tested.
--- /dev/null
+window1
+ "dialog"
+ index: 0
+ name: About FancyPants
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ unnamed-GtkBoxAccessible-0
+ "filler"
+ parent: window1
+ index: 0
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkBoxAccessible-1
+ "filler"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 0
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkImageAccessible-2
+ "icon"
+ parent: unnamed-GtkBoxAccessible-1
+ index: 0
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ FancyPants
+ "label"
+ parent: unnamed-GtkBoxAccessible-1
+ index: 1
+ name: FancyPants
+ state: enabled focusable multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: FancyPants
+ character count: 10
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: center
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ unnamed-GtkNotebookAccessible-3
+ "page tab list"
+ parent: unnamed-GtkBoxAccessible-1
+ index: 2
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkSelection>
+ selected children: unnamed-GtkNotebookPageAccessible-4
+ unnamed-GtkNotebookPageAccessible-4
+ "page tab"
+ parent: unnamed-GtkNotebookAccessible-3
+ index: 0
+ state: enabled selectable selected showing visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkBoxAccessible-5
+ "filler"
+ index: 0
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ 0.99
+ "label"
+ parent: unnamed-GtkBoxAccessible-5
+ index: 0
+ name: 0.99
+ state: enabled focusable multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: 0.99
+ character count: 4
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: center
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ comments
+ "label"
+ parent: unnamed-GtkBoxAccessible-5
+ index: 1
+ name: comments
+ state: enabled focusable multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: comments
+ character count: 8
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: center
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ unnamed-GtkBoxAccessible-6
+ "filler"
+ parent: unnamed-GtkBoxAccessible-5
+ index: 2
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ Homepage
+ "label"
+ parent: unnamed-GtkBoxAccessible-6
+ index: 0
+ name: Homepage
+ state: enabled focusable multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Homepage
+ character count: 8
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ no comments
+ "label"
+ parent: unnamed-GtkBoxAccessible-5
+ index: 3
+ name: no comments
+ state: enabled focusable multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: no comments
+ character count: 11
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: center
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ This program comes with ABSOLUTELY NO WARRANTY; for details, visit http://www.gnu.org/licenses/gpl.html
+ "label"
+ parent: unnamed-GtkBoxAccessible-5
+ index: 4
+ name: This program comes with ABSOLUTELY NO WARRANTY; for details, visit http://www.gnu.org/licenses/gpl.html
+ state: enabled focusable multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: This program comes with ABSOLUTELY NO WARRANTY; for details, visit http://www.gnu.org/licenses/gpl.html
+ character count: 103
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: center
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ unnamed-GtkBoxAccessible-7
+ "filler"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 1
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkToggleButtonAccessible-8
+ "toggle button"
+ parent: unnamed-GtkBoxAccessible-7
+ index: 0
+ name: License
+ state: enabled focusable sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>l
+ unnamed-GtkToggleButtonAccessible-9
+ "toggle button"
+ parent: unnamed-GtkBoxAccessible-7
+ index: 1
+ name: Credits
+ state: enabled focusable sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>r
+ unnamed-GtkButtonAccessible-10
+ "push button"
+ parent: unnamed-GtkBoxAccessible-7
+ index: 2
+ name: Close
+ state: enabled focusable sensitive showing visible default
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>c
--- /dev/null
+
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkAboutDialog" id="window1">
+ <property name="program-name">FancyPants</property>
+ <property name="version">0.99</property>
+ <property name="copyright">no comments</property>
+ <property name="comments">comments</property>
+ <property name="license-type">gpl-3-0</property>
+ <property name="website">http://www.gtk.org</property>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gail
+ button1
+ "push button"
+ parent: window1
+ index: 0
+ name: Accessible name
+ state: enabled focusable sensitive showing visible
+ toolkit: gail
+ text: Hello World!
+ character count: 12
+ caret offset: 0
+ default attributes: left-margin: 0
+ right-margin: 0
+ indent: 0
+ invisible: false
+ editable: false
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ bg-full-height: 0
+ scale: 1
+ rise: 0
+ underline: none
+ strikethrough: false
+ bg-stipple: false
+ fg-stipple: false
+ fg-color: <omitted>
+ bg-color: <omitted>
+ wrap-mode: word
+ justification: left
+ size: <omitted>
+ weight: <omitted>
+ family-name: <omitted>
+ stretch: <omitted>
+ variant: <omitted>
+ style: <omitted>
+ language: <omitted>
+ direction: <omitted>
+ image size: -1 x -1
+ image description: (null)
--- /dev/null
+/*
+ * Copyright (C) 2011 Red Hat Inc.
+ *
+ * Author:
+ * Benjamin Otte <otte@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <glib/gstdio.h>
+#include <gtk/gtk.h>
+
+#define DEPTH_INCREMENT 2
+
+static char *
+get_test_file (const char *test_file,
+ const char *extension,
+ gboolean must_exist)
+{
+ GString *file = g_string_new (NULL);
+
+ if (g_str_has_suffix (test_file, ".ui"))
+ g_string_append_len (file, test_file, strlen (test_file) - strlen (".ui"));
+ else
+ g_string_append (file, test_file);
+
+ g_string_append (file, extension);
+
+ if (must_exist &&
+ !g_file_test (file->str, G_FILE_TEST_EXISTS))
+ {
+ g_string_free (file, TRUE);
+ return NULL;
+ }
+
+ return g_string_free (file, FALSE);
+}
+
+static char *
+diff_with_file (const char *file1,
+ char *text,
+ gssize len,
+ GError **error)
+{
+ const char *command[] = { "diff", "-u", file1, NULL, NULL };
+ char *diff, *tmpfile;
+ int fd;
+
+ diff = NULL;
+
+ if (len < 0)
+ len = strlen (text);
+
+ /* write the text buffer to a temporary file */
+ fd = g_file_open_tmp (NULL, &tmpfile, error);
+ if (fd < 0)
+ return NULL;
+
+ if (write (fd, text, len) != (int) len)
+ {
+ close (fd);
+ g_set_error (error,
+ G_FILE_ERROR, G_FILE_ERROR_FAILED,
+ "Could not write data to temporary file '%s'", tmpfile);
+ goto done;
+ }
+ close (fd);
+ command[3] = tmpfile;
+
+ /* run diff command */
+ g_spawn_sync (NULL,
+ (char **) command,
+ NULL,
+ G_SPAWN_SEARCH_PATH,
+ NULL, NULL,
+ &diff,
+ NULL, NULL,
+ error);
+
+done:
+ g_unlink (tmpfile);
+ g_free (tmpfile);
+
+ return diff;
+}
+
+static int unnamed_object_count;
+
+static void
+setup_test (void)
+{
+ unnamed_object_count = 0;
+}
+
+static const char *
+get_name (AtkObject *accessible)
+{
+ char *name;
+
+ name = g_object_get_data (G_OBJECT (accessible), "gtk-accessibility-dump-name");
+ if (name)
+ return name;
+
+ if (GTK_IS_ACCESSIBLE (accessible))
+ {
+ GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
+
+ name = g_strdup (gtk_buildable_get_name (GTK_BUILDABLE (widget)));
+ }
+
+ if (name == NULL && ATK_IS_TEXT (accessible))
+ {
+ name = atk_text_get_text (ATK_TEXT (accessible), 0, -1);
+ }
+
+ if (name == NULL)
+ {
+ /* Generate a unique, repeatable name */
+ name = g_strdup_printf ("unnamed-%s-%d", G_OBJECT_TYPE_NAME (accessible), unnamed_object_count++);
+ }
+
+ g_object_set_data_full (G_OBJECT (accessible), "gtk-accessibility-dump-name", name, g_free);
+ return name;
+}
+
+static void
+dump_relation (GString *string,
+ guint depth,
+ AtkRelation *relation)
+{
+ GPtrArray *targets;
+ const char *name;
+ guint i;
+
+ targets = atk_relation_get_target (relation);
+ if (targets == NULL || targets->len == 0)
+ return;
+
+ name = atk_relation_type_get_name (atk_relation_get_relation_type (relation));
+ g_string_append_printf (string, "%*s%s: %s\n", depth, "", name, get_name (g_ptr_array_index (targets, 0)));
+ depth += strlen (name) + 2;
+
+ for (i = 1; i < targets->len; i++)
+ {
+ g_string_append_printf (string, "%*s%s\n", depth, "", get_name (g_ptr_array_index (targets, i)));
+ }
+}
+
+static void
+dump_relation_set (GString *string,
+ guint depth,
+ AtkRelationSet *set)
+{
+ guint i;
+
+ if (set == NULL)
+ return;
+
+ for (i = 0; i < atk_relation_set_get_n_relations (set); i++)
+ {
+ AtkRelation *relation;
+
+ relation = atk_relation_set_get_relation (set, i);
+
+ dump_relation (string, depth, relation);
+ }
+
+ g_object_unref (set);
+}
+
+static void
+dump_state_set (GString *string,
+ guint depth,
+ AtkStateSet *set)
+{
+ guint i;
+
+ if (set == NULL)
+ return;
+
+ if (!atk_state_set_is_empty (set))
+ {
+ g_string_append_printf (string, "%*sstate:", depth, "");
+ for (i = 0; i < ATK_STATE_LAST_DEFINED; i++)
+ {
+ if (atk_state_set_contains_state (set, i))
+ g_string_append_printf (string, " %s", atk_state_type_get_name (i));
+ }
+ g_string_append_c (string, '\n');
+ }
+
+ g_object_unref (set);
+}
+
+static void
+dump_attribute (GString *string,
+ guint depth,
+ AtkAttribute *attribute)
+{
+ g_string_append_printf (string, "%*s%s: %s\n", depth, "", attribute->name, attribute->value);
+}
+
+static void
+dump_attribute_set (GString *string,
+ guint depth,
+ AtkAttributeSet *set)
+{
+ GSList *l;
+ AtkAttribute *attribute;
+
+ for (l = set; l; l = l->next)
+ {
+ attribute = l->data;
+
+ dump_attribute (string, depth, attribute);
+ }
+}
+
+static gint
+compare_attr (gconstpointer a, gconstpointer b)
+{
+ const AtkAttribute *aattr = a;
+ const AtkAttribute *battr = b;
+
+ return strcmp (aattr->name, battr->name);
+}
+
+static void
+dump_text_attributes (GString *string,
+ gint depth,
+ const gchar *name,
+ AtkAttributeSet *attributes)
+{
+ GSList *l;
+ AtkAttribute *attr;
+ const gchar *value;
+
+ if (attributes == NULL)
+ return;
+
+ attributes = g_slist_sort (attributes, compare_attr);
+
+ for (l = attributes; l; l = l->next)
+ {
+ attr = l->data;
+ /* don't dump values that depend on the environment */
+ if (strcmp (attr->name, "family-name") == 0 ||
+ strcmp (attr->name, "size") == 0 ||
+ strcmp (attr->name, "weight") == 0 ||
+ strcmp (attr->name, "stretch") == 0 ||
+ strcmp (attr->name, "variant") == 0 ||
+ strcmp (attr->name, "style") == 0 ||
+ strcmp (attr->name, "language") == 0 ||
+ strcmp (attr->name, "fg-color") == 0 ||
+ strcmp (attr->name, "bg-color") == 0 ||
+ strcmp (attr->name, "direction") == 0)
+ value = "<omitted>";
+ else
+ value = attr->value;
+
+ if (name)
+ {
+ /* first time this loop is run */
+ g_string_append_printf (string, "%*s%s: %s: %s\n", depth, "", name, attr->name, value);
+ depth += strlen (name) + 2;
+ name = NULL;
+ }
+ else
+ {
+ /* every other time */
+ g_string_append_printf (string, "%*s%s: %s\n", depth, "", attr->name, value);
+ }
+ }
+
+ atk_attribute_set_free (attributes);
+}
+
+extern GType atk_layer_get_type (void);
+
+static const gchar *
+layer_name (AtkLayer layer)
+{
+ GEnumClass *class;
+ GEnumValue *value;
+
+ class = g_type_class_ref (atk_layer_get_type ());
+ value = g_enum_get_value (class, layer);
+ g_type_class_unref (class);
+
+ return value->value_nick;
+}
+
+static void
+dump_atk_component (AtkComponent *atk_component,
+ guint depth,
+ GString *string)
+{
+ AtkLayer layer;
+
+ g_string_append_printf (string, "%*s<AtkComponent>\n", depth, "");
+
+ layer = atk_component_get_layer (atk_component);
+ g_string_append_printf (string, "%*slayer: %s\n", depth, "", layer_name (layer));
+
+ g_string_append_printf (string, "%*salpha: %g\n", depth, "", atk_component_get_alpha (atk_component));
+}
+
+static void
+dump_atk_text (AtkText *atk_text,
+ guint depth,
+ GString *string)
+{
+ gchar *text;
+ gint i, start, end;
+
+ g_string_append_printf (string, "%*s<AtkText>\n", depth, "");
+
+ text = atk_text_get_text (atk_text, 0, -1);
+ g_string_append_printf (string, "%*stext: %s\n", depth, "", text);
+ g_free (text);
+
+ g_string_append_printf (string, "%*scharacter count: %d\n", depth, "", atk_text_get_character_count (atk_text));
+
+ g_string_append_printf (string, "%*scaret offset: %d\n", depth, "", atk_text_get_caret_offset (atk_text));
+
+ for (i = 0; i < atk_text_get_n_selections (atk_text); i++)
+ {
+ text = atk_text_get_selection (atk_text, i, &start, &end);
+ if (text)
+ g_string_append_printf (string, "%*sselection %d: (%d, %d) %s\n", depth, "", i, start, end, text);
+ g_free (text);
+ }
+
+ dump_text_attributes (string, depth, "default attributes", atk_text_get_default_attributes (atk_text));
+}
+
+static void
+dump_atk_image (AtkImage *atk_image,
+ guint depth,
+ GString *string)
+{
+ gint width, height;
+
+ g_string_append_printf (string, "%*s<AtkImage>\n", depth, "");
+
+ atk_image_get_image_size (atk_image, &width, &height);
+ g_string_append_printf (string, "%*simage size: %d x %d\n", depth, "", width, height);
+
+ g_string_append_printf (string, "%*simage description: %s\n", depth, "", atk_image_get_image_description (atk_image));
+}
+
+static void
+dump_atk_action (AtkAction *atk_action,
+ guint depth,
+ GString *string)
+{
+ gint i;
+
+ g_string_append_printf (string, "%*s<AtkAction>\n", depth, "");
+
+ for (i = 0; i < atk_action_get_n_actions (atk_action); i++)
+ {
+ if (atk_action_get_name (atk_action, i))
+ g_string_append_printf (string, "%*saction %d name: %s\n", depth, "", i, atk_action_get_name (atk_action, i));
+ if (atk_action_get_description (atk_action, i))
+ g_string_append_printf (string, "%*saction %d description: %s\n", depth, "", i, atk_action_get_description (atk_action, i));
+ if (atk_action_get_keybinding (atk_action, i))
+ g_string_append_printf (string, "%*saction %d keybinding: %s\n", depth, "", i, atk_action_get_keybinding (atk_action, i));
+ }
+}
+
+static void
+dump_atk_selection (AtkSelection *atk_selection,
+ guint depth,
+ GString *string)
+{
+ guint n_selections, n_counted_selections;
+ gint i;
+
+ g_string_append_printf (string, "%*s<AtkSelection>\n", depth, "");
+
+ n_selections = atk_selection_get_selection_count (atk_selection);
+
+ n_counted_selections = 0;
+ for (i = 0; i < atk_object_get_n_accessible_children (ATK_OBJECT (atk_selection)); i++)
+ {
+ if (atk_selection_is_child_selected (atk_selection, i))
+ {
+ AtkObject *object = atk_object_ref_accessible_child (ATK_OBJECT (atk_selection), i);
+
+ g_assert (object);
+
+ if (n_counted_selections == 0)
+ {
+ g_string_append_printf (string, "%*sselected children: %s\n", depth, "", get_name (object));
+ depth += strlen ("selected children: ");
+ }
+ else
+ g_string_append_printf (string, "%*s%s\n", depth, "", get_name (object));
+ n_counted_selections++;
+ }
+ }
+
+ g_assert_cmpint (n_selections, ==, n_counted_selections);
+ g_assert_cmpint (n_selections, ==, atk_selection_get_selection_count (atk_selection));
+}
+
+static void
+dump_atk_value (AtkValue *atk_value,
+ guint depth,
+ GString *string)
+{
+ GValue value = { 0, };
+ GValue svalue = { 0, };
+
+ g_string_append_printf (string, "%*s<AtkValue>\n", depth, "");
+
+ g_value_init (&value, G_TYPE_DOUBLE);
+ g_value_init (&svalue, G_TYPE_STRING);
+
+ atk_value_get_minimum_value (atk_value, &value);
+ if (g_value_transform (&value, &svalue))
+ g_string_append_printf (string, "%*sminimum value: %s\n", depth, "", g_value_get_string (&svalue));
+ else
+ g_string_append_printf (string, "%*sminimum value: <%s>\n", depth, "", G_VALUE_TYPE_NAME (&value));
+
+ g_value_reset (&value);
+ g_value_reset (&svalue);
+
+ atk_value_get_maximum_value (atk_value, &value);
+ if (g_value_transform (&value, &svalue))
+ g_string_append_printf (string, "%*smaximum value: %s\n", depth, "", g_value_get_string (&svalue));
+ else
+ g_string_append_printf (string, "%*smaximum value: <%s>\n", depth, "", G_VALUE_TYPE_NAME (&value));
+
+ g_value_reset (&value);
+ g_value_reset (&svalue);
+
+ atk_value_get_current_value (atk_value, &value);
+ if (g_value_transform (&value, &svalue))
+ g_string_append_printf (string, "%*scurrent value: %s\n", depth, "", g_value_get_string (&svalue));
+ else
+ g_string_append_printf (string, "%*scurrent value: %s\n", depth, "", G_VALUE_TYPE_NAME (&value));
+
+ g_value_reset (&value);
+ g_value_reset (&svalue);
+
+ atk_value_get_minimum_increment (atk_value, &value);
+ if (g_value_transform (&value, &svalue))
+ g_string_append_printf (string, "%*sminimum increment: %s\n", depth, "", g_value_get_string (&svalue));
+ else
+ g_string_append_printf (string, "%*sminimum increment: %s\n", depth, "", G_VALUE_TYPE_NAME (&value));
+
+ g_value_reset (&value);
+ g_value_reset (&svalue);
+}
+
+static void
+dump_atk_hyperlink_impl (AtkHyperlinkImpl *impl,
+ guint depth,
+ GString *string)
+{
+ AtkHyperlink *atk_link;
+ gint i;
+
+ g_string_append_printf (string, "%*s<AtkHyperlinkImpl>\n", depth, "");
+
+ atk_link = atk_hyperlink_impl_get_hyperlink (impl);
+
+ g_string_append_printf (string, "%*sanchors:", depth, "");
+
+ for (i = 0; i < atk_hyperlink_get_n_anchors (atk_link); i++)
+ {
+ gchar *uri;
+
+ uri = atk_hyperlink_get_uri (atk_link, i);
+ g_string_append_printf (string, " %s", uri);
+ g_free (uri);
+ }
+ g_string_append_c (string, '\n');
+
+ g_object_unref (atk_link);
+}
+
+static void
+dump_atk_streamable_content (AtkStreamableContent *content,
+ guint depth,
+ GString *string)
+{
+ gint i;
+
+ g_string_append_printf (string, "%*s<AtkStreamableContent>\n", depth, "");
+
+ g_string_append_printf (string, "%*smime types:", depth, "");
+ for (i = 0; i < atk_streamable_content_get_n_mime_types (content); i++)
+ g_string_append_printf (string, " %s", atk_streamable_content_get_mime_type (content, i));
+ g_string_append_c (string, '\n');
+}
+
+static void dump_accessible (AtkObject *accessible,
+ guint depth,
+ GString *string);
+
+static void
+dump_atk_table (AtkTable *table,
+ guint depth,
+ GString *string)
+{
+ gint *selected;
+ gint n_selected;
+ gint i;
+ AtkObject *obj;
+ const gchar *desc;
+
+ g_string_append_printf (string, "%*s<AtkTable>\n", depth, "");
+
+ obj = atk_table_get_summary (table);
+ if (obj)
+ {
+ g_string_append_printf (string, "%*s<summary>\n", depth, "");
+ dump_accessible (obj, depth, string);
+ }
+
+ obj = atk_table_get_caption (table);
+ if (obj)
+ {
+ g_string_append_printf (string, "%*s<caption>\n", depth, "");
+ dump_accessible (obj, depth, string);
+ }
+
+ g_string_append_printf (string, "%*srows: %d\n", depth, "", atk_table_get_n_rows (table));
+ g_string_append_printf (string, "%*scolumns: %d\n", depth, "", atk_table_get_n_columns (table));
+
+ selected = NULL;
+ n_selected = atk_table_get_selected_rows (table, &selected);
+ if (n_selected > 0)
+ {
+ g_string_append_printf (string, "%*sselected rows:", depth, "");
+ for (i = 0; i < n_selected; i++)
+ g_string_append_printf (string, " %d", selected[i]);
+ g_string_append_c (string, '\n');
+ }
+ g_free (selected);
+
+ selected = NULL;
+ n_selected = atk_table_get_selected_columns (table, &selected);
+ if (n_selected > 0)
+ {
+ g_string_append_printf (string, "%*sselected columns:", depth, "");
+ for (i = 0; i < n_selected; i++)
+ g_string_append_printf (string, " %d", selected[i]);
+ g_string_append_c (string, '\n');
+ }
+ g_free (selected);
+
+
+ for (i = 0; i < atk_table_get_n_columns (table); i++)
+ {
+ desc = atk_table_get_column_description (table, i);
+ if (desc)
+ g_string_append_printf (string, "%*scolumn %d description: %s\n", depth, "", i, desc);
+ obj = atk_table_get_column_header (table, i);
+ if (obj)
+ {
+ g_string_append_printf (string, "%*s<column %d header>\n", depth, "", i);
+ dump_accessible (obj, depth, string);
+ }
+ }
+
+ for (i = 0; i < atk_table_get_n_rows (table); i++)
+ {
+ desc = atk_table_get_row_description (table, i);
+ if (desc)
+ g_string_append_printf (string, "%*srow %d description: %s\n", depth, "", i, desc);
+ obj = atk_table_get_row_header (table, i);
+ if (obj)
+ {
+ g_string_append_printf (string, "%*s<row %d header>\n", depth, "", i);
+ dump_accessible (obj, depth, string);
+ }
+ }
+}
+
+static void
+dump_accessible (AtkObject *accessible,
+ guint depth,
+ GString *string)
+{
+ guint i;
+
+ g_string_append_printf (string, "%*s%s\n", depth, "", get_name (accessible));
+ depth += DEPTH_INCREMENT;
+
+ g_string_append_printf (string, "%*s\"%s\"\n", depth, "", atk_role_get_name (atk_object_get_role (accessible)));
+ if (GTK_IS_ACCESSIBLE (atk_object_get_parent (accessible)))
+ g_string_append_printf (string, "%*sparent: %s\n", depth, "", get_name (atk_object_get_parent (accessible)));
+ if (atk_object_get_index_in_parent (accessible) != -1)
+ g_string_append_printf (string, "%*sindex: %d\n", depth, "", atk_object_get_index_in_parent (accessible));
+ if (atk_object_get_name (accessible))
+ g_string_append_printf (string, "%*sname: %s\n", depth, "", atk_object_get_name (accessible));
+ if (atk_object_get_description (accessible))
+ g_string_append_printf (string, "%*sdescription: %s\n", depth, "", atk_object_get_description (accessible));
+ dump_relation_set (string, depth, atk_object_ref_relation_set (accessible));
+ dump_state_set (string, depth, atk_object_ref_state_set (accessible));
+ dump_attribute_set (string, depth, atk_object_get_attributes (accessible));
+
+ if (ATK_IS_COMPONENT (accessible))
+ dump_atk_component (ATK_COMPONENT (accessible), depth, string);
+
+ if (ATK_IS_TEXT (accessible))
+ dump_atk_text (ATK_TEXT (accessible), depth, string);
+
+ if (ATK_IS_IMAGE (accessible))
+ dump_atk_image (ATK_IMAGE (accessible), depth, string);
+
+ if (ATK_IS_ACTION (accessible))
+ dump_atk_action (ATK_ACTION (accessible), depth, string);
+
+ if (ATK_IS_SELECTION (accessible))
+ dump_atk_selection (ATK_SELECTION (accessible), depth, string);
+
+ if (ATK_IS_VALUE (accessible))
+ dump_atk_value (ATK_VALUE (accessible), depth, string);
+
+ if (ATK_IS_HYPERLINK_IMPL (accessible))
+ dump_atk_hyperlink_impl (ATK_HYPERLINK_IMPL (accessible), depth, string);
+
+ if (ATK_IS_STREAMABLE_CONTENT (accessible))
+ dump_atk_streamable_content (ATK_STREAMABLE_CONTENT (accessible), depth, string);
+
+ if (ATK_IS_TABLE (accessible))
+ dump_atk_table (ATK_TABLE (accessible), depth, string);
+
+ for (i = 0; i < atk_object_get_n_accessible_children (accessible); i++)
+ {
+ AtkObject *child = atk_object_ref_accessible_child (accessible, i);
+ dump_accessible (child, depth, string);
+ g_object_unref (child);
+ }
+}
+
+static GtkWidget *
+builder_get_toplevel (GtkBuilder *builder)
+{
+ GSList *list, *walk;
+ GtkWidget *window = NULL;
+
+ list = gtk_builder_get_objects (builder);
+ for (walk = list; walk; walk = walk->next)
+ {
+ if (GTK_IS_WINDOW (walk->data) &&
+ gtk_widget_get_parent (walk->data) == NULL)
+ {
+ window = walk->data;
+ break;
+ }
+ }
+
+ g_slist_free (list);
+
+ return window;
+}
+
+static void
+dump_ui_file (const char *ui_file,
+ GString *string)
+{
+ GtkWidget *window;
+ GtkBuilder *builder;
+ GError *error = NULL;
+
+ builder = gtk_builder_new ();
+ gtk_builder_add_from_file (builder, ui_file, &error);
+ g_assert_no_error (error);
+ window = builder_get_toplevel (builder);
+ g_object_unref (builder);
+ g_assert (window);
+
+ gtk_widget_show (window);
+
+ dump_accessible (gtk_widget_get_accessible (window), 0, string);
+ gtk_widget_destroy (window);
+}
+
+static void
+dump_to_stdout (GFile *file)
+{
+ char *ui_file;
+ GString *dump;
+
+ ui_file = g_file_get_path (file);
+ dump = g_string_new ("");
+
+ dump_ui_file (ui_file, dump);
+ g_print ("%s", dump->str);
+
+ g_string_free (dump, TRUE);
+ g_free (ui_file);
+}
+
+static void
+test_ui_file (GFile *file)
+{
+ char *ui_file, *a11y_file;
+ GString *dump;
+ GError *error = NULL;
+
+ ui_file = g_file_get_path (file);
+ a11y_file = get_test_file (ui_file, ".txt", TRUE);
+ dump = g_string_new ("");
+
+ dump_ui_file (ui_file, dump);
+
+ if (a11y_file)
+ {
+ char *diff = diff_with_file (a11y_file, dump->str, dump->len, &error);
+ g_assert_no_error (error);
+
+ if (diff && diff[0])
+ {
+ g_test_message ("Contents don't match expected contents:\n%s", diff);
+ g_test_fail ();
+ g_free (diff);
+ }
+ }
+ else if (dump->str[0])
+ {
+ g_test_message ("Expected a reference file:\n%s", dump->str);
+ g_test_fail ();
+ }
+
+ g_string_free (dump, TRUE);
+ g_free (a11y_file);
+ g_free (ui_file);
+}
+
+static void
+add_test_for_file (GFile *file)
+{
+ g_test_add_vtable (g_file_get_path (file),
+ 0,
+ g_object_ref (file),
+ (GTestFixtureFunc) setup_test,
+ (GTestFixtureFunc) test_ui_file,
+ (GTestFixtureFunc) g_object_unref);
+}
+
+static int
+compare_files (gconstpointer a, gconstpointer b)
+{
+ GFile *file1 = G_FILE (a);
+ GFile *file2 = G_FILE (b);
+ char *path1, *path2;
+ int result;
+
+ path1 = g_file_get_path (file1);
+ path2 = g_file_get_path (file2);
+
+ result = strcmp (path1, path2);
+
+ g_free (path1);
+ g_free (path2);
+
+ return result;
+}
+
+static void
+add_tests_for_files_in_directory (GFile *dir)
+{
+ GFileEnumerator *enumerator;
+ GFileInfo *info;
+ GList *files;
+ GError *error = NULL;
+
+ enumerator = g_file_enumerate_children (dir, G_FILE_ATTRIBUTE_STANDARD_NAME, 0, NULL, &error);
+ g_assert_no_error (error);
+ files = NULL;
+
+ while ((info = g_file_enumerator_next_file (enumerator, NULL, &error)))
+ {
+ const char *filename;
+
+ filename = g_file_info_get_name (info);
+
+ if (!g_str_has_suffix (filename, ".ui"))
+ {
+ g_object_unref (info);
+ continue;
+ }
+
+ files = g_list_prepend (files, g_file_get_child (dir, filename));
+
+ g_object_unref (info);
+ }
+
+ g_assert_no_error (error);
+ g_object_unref (enumerator);
+
+ files = g_list_sort (files, compare_files);
+ g_list_foreach (files, (GFunc) add_test_for_file, NULL);
+ g_list_free_full (files, g_object_unref);
+}
+
+int
+main (int argc, char **argv)
+{
+ gtk_test_init (&argc, &argv);
+
+ if (argc < 2)
+ {
+ const char *basedir;
+ GFile *dir;
+
+ if (g_getenv ("srcdir"))
+ basedir = g_getenv ("srcdir");
+ else
+ basedir = ".";
+
+ dir = g_file_new_for_path (basedir);
+
+ add_tests_for_files_in_directory (dir);
+
+ g_object_unref (dir);
+ }
+ else if (argc == 3 && strcmp (argv[1], "--generate") == 0)
+ {
+ GFile *file = g_file_new_for_commandline_arg (argv[2]);
+
+ dump_to_stdout (file);
+
+ g_object_unref (file);
+
+ return 0;
+ }
+ else
+ {
+ guint i;
+
+ for (i = 1; i < argc; i++)
+ {
+ GFile *file = g_file_new_for_commandline_arg (argv[i]);
+
+ add_test_for_file (file);
+
+ g_object_unref (file);
+ }
+ }
+
+ return g_test_run ();
+}
+
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ button1
+ "push button"
+ parent: window1
+ index: 0
+ name: Accessible name
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label" translatable="yes">Hello World!</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="button1-accessible">
+ <property name="accessible-name" translatable="yes">Accessible name</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "dialog"
+ index: 0
+ name:
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ unnamed-GtkBoxAccessible-0
+ "filler"
+ parent: window1
+ index: 0
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkBoxAccessible-1
+ "filler"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 0
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkBoxAccessible-2
+ "filler"
+ parent: unnamed-GtkBoxAccessible-1
+ index: 0
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ Select an application for "(null)" files
+ "label"
+ parent: unnamed-GtkBoxAccessible-2
+ index: 0
+ name: Select an application for "(null)" files
+ state: enabled multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Select an application for "(null)" files
+ character count: 40
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ unnamed-GtkBoxAccessible-3
+ "filler"
+ parent: unnamed-GtkBoxAccessible-2
+ index: 1
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkScrolledWindowAccessible-4
+ "scroll pane"
+ parent: unnamed-GtkBoxAccessible-3
+ index: 0
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkTreeViewAccessible-5
+ "table"
+ parent: unnamed-GtkScrolledWindowAccessible-4
+ index: 0
+ state: enabled focusable sensitive showing visible manages-descendants
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkSelection>
+ <AtkTable>
+ rows: 1
+ columns: 1
+ column 0 description:
+ <column 0 header>
+ unnamed-GtkButtonAccessible-6
+ "table column header"
+ parent: unnamed-GtkTreeViewAccessible-5
+ index: 0
+ name:
+ state: enabled focusable selectable sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkButtonAccessible-6
+ "table column header"
+ parent: unnamed-GtkTreeViewAccessible-5
+ index: 0
+ name:
+ state: enabled focusable selectable sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkContainerCellAccessible-7
+ "table cell"
+ parent: unnamed-GtkTreeViewAccessible-5
+ index: 1
+ state: enabled focusable focused selectable sensitive transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkAction>
+
+ "table cell"
+ index: 0
+ name:
+ state: enabled focusable focused selectable sensitive single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text:
+ character count: 0
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+ No applications available to open "(null)" files
+Click "Show other applications", for more options, or "Find applications online" to install a new application
+ "table cell"
+ index: 1
+ name: No applications available to open "(null)" files
+Click "Show other applications", for more options, or "Find applications online" to install a new application
+ state: enabled focusable focused selectable sensitive single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: No applications available to open "(null)" files
+Click "Show other applications", for more options, or "Find applications online" to install a new application
+ character count: 158
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+
+ "table cell"
+ index: 2
+ name:
+ state: enabled focusable focused selectable sensitive single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text:
+ character count: 0
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+ unnamed-GtkImageCellAccessible-8
+ "table cell"
+ index: 3
+ state: enabled focusable focused selectable sensitive transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 0 x 0
+ image description: (null)
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+
+ "table cell"
+ index: 4
+ name:
+ state: enabled focusable focused selectable sensitive single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text:
+ character count: 0
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+ unnamed-GtkScrollbarAccessible-9
+ "scroll bar"
+ parent: unnamed-GtkScrolledWindowAccessible-4
+ index: 1
+ state: enabled horizontal sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkAction>
+ action 0 name: activate
+ <AtkValue>
+ minimum value: 0.000000
+ maximum value: 0.000000
+ current value: 0.000000
+ minimum increment: 39.800000
+ unnamed-GtkScrollbarAccessible-10
+ "scroll bar"
+ parent: unnamed-GtkScrolledWindowAccessible-4
+ index: 2
+ state: enabled sensitive vertical
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkAction>
+ action 0 name: activate
+ <AtkValue>
+ minimum value: 0.000000
+ maximum value: 0.000000
+ current value: 0.000000
+ minimum increment: 29.800000
+ unnamed-GtkButtonAccessible-11
+ "push button"
+ parent: unnamed-GtkBoxAccessible-3
+ index: 1
+ name: Show other applications
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkBoxAccessible-12
+ "filler"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 1
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkButtonAccessible-13
+ "push button"
+ parent: unnamed-GtkBoxAccessible-12
+ index: 0
+ name: Select
+ state: enabled focusable sensitive showing visible default
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>s
+ unnamed-GtkButtonAccessible-14
+ "push button"
+ parent: unnamed-GtkBoxAccessible-12
+ index: 1
+ name: Cancel
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>c
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkAppChooserDialog" id="window1">
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ button1
+ "push button"
+ index: 0
+ name: Page 1
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ button2
+ "push button"
+ index: 0
+ name: Page 2
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkBoxAccessible-0
+ "filler"
+ parent: unnamed-GtkBoxAccessible-1
+ index: 1
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkButtonAccessible-2
+ "push button"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 0
+ name: Close
+ state: enabled focusable sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>c
+ unnamed-GtkButtonAccessible-3
+ "push button"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 1
+ name: Cancel
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>c
+ unnamed-GtkButtonAccessible-4
+ "push button"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 2
+ name: Finish
+ state: focusable
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>f
+ unnamed-GtkButtonAccessible-5
+ "push button"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 3
+ name: Go Back
+ state: enabled focusable sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>b
+ unnamed-GtkButtonAccessible-6
+ "push button"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 4
+ name: Continue
+ state: focusable showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>o
+ unnamed-GtkButtonAccessible-7
+ "push button"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 5
+ name: Apply
+ state: enabled focusable sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>a
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkAssistant" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label" translatable="yes">Button 1</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ <packing>
+ <property name="title" translatable="yes">Page 1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button2">
+ <property name="label" translatable="yes">Button 2</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ <packing>
+ <property name="title" translatable="yes">Page 2</property>
+ </packing>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ grid1
+ "panel"
+ parent: window1
+ index: 0
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ button5
+ "toggle button"
+ parent: grid1
+ index: 0
+ name: Switch
+ description: Switches between on and off states
+ state: checked enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkAction>
+ action 0 name: toggle
+ button4
+ "radio button"
+ parent: grid1
+ index: 1
+ name: Hello World!
+ member-of: button4
+ button3
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ button3
+ "radio button"
+ parent: grid1
+ index: 2
+ name: Hello World!
+ member-of: button4
+ button3
+ state: armed checked enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ button2
+ "check box"
+ parent: grid1
+ index: 3
+ name: Hello World!
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ button1
+ "toggle button"
+ parent: grid1
+ index: 4
+ name: Hello World!
+ state: armed checked enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkToggleButton" id="button1">
+ <property name="label" translatable="yes">Hello World!</property>
+ <property name="visible">True</property>
+ <property name="active">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="button2">
+ <property name="label" translatable="yes">Hello World!</property>
+ <property name="visible">True</property>
+ <property name="active">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="button3">
+ <property name="label" translatable="yes">Hello World!</property>
+ <property name="visible">True</property>
+ <property name="active">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="button4">
+ <property name="label" translatable="yes">Hello World!</property>
+ <property name="visible">True</property>
+ <property name="active">True</property>
+ <property name="group">button3</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="button5">
+ <property name="visible">True</property>
+ <property name="active">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ calendar1
+ "calendar"
+ parent: window1
+ index: 0
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkCalendar" id="calendar1">
+ <property name="visible">True</property>
+ <property name="day">1</property>
+ <property name="month">2</property>
+ <property name="year">1970</property>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+/*
+ * Copyright (C) 2011 Red Hat Inc.
+ *
+ * Author:
+ * Matthias Clasen <mclasen@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gtk/gtk.h>
+#include <string.h>
+
+static void
+test_scrolled_window_child_count (void)
+{
+ GtkWidget *sw;
+ AtkObject *accessible;
+
+ sw = gtk_scrolled_window_new (NULL, NULL);
+ g_object_ref_sink (sw);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
+ GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS);
+ gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sw), gtk_label_new ("Bla"));
+
+ accessible = gtk_widget_get_accessible (sw);
+ g_assert_cmpint (atk_object_get_n_accessible_children (accessible), ==, 3);
+
+ g_object_unref (sw);
+}
+
+typedef struct {
+ gint count;
+ gint index;
+ gint n_children;
+ gpointer parent;
+} SignalData;
+
+static void
+children_changed (AtkObject *accessible,
+ guint index,
+ gpointer child,
+ SignalData *data)
+{
+ data->count++;
+ data->index = index;
+ data->n_children = atk_object_get_n_accessible_children (accessible);
+}
+
+static void
+add_child (GtkWidget *container,
+ GtkWidget *child)
+{
+ if (GTK_IS_SCROLLED_WINDOW (container))
+ gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (container), child);
+ else
+ gtk_container_add (GTK_CONTAINER (container), child);
+}
+
+static void
+remove_child (GtkWidget *container,
+ GtkWidget *child)
+{
+ if (GTK_IS_SCROLLED_WINDOW (container))
+ {
+ if (gtk_widget_get_parent (child) != container)
+ child = gtk_widget_get_parent (child);
+ }
+
+ gtk_container_remove (GTK_CONTAINER (container), child);
+}
+
+static void
+parent_notify (AtkObject *obj, GParamSpec *pspec, SignalData *data)
+{
+ data->count++;
+ data->parent = atk_object_get_parent (obj);
+}
+
+static void
+test_add_remove (GtkWidget *widget)
+{
+ AtkObject *accessible;
+ AtkObject *child_accessible;
+ SignalData add_data;
+ SignalData remove_data;
+ SignalData parent_data[3];
+ GtkWidget *child[3];
+ gint i, j;
+ gint step_children;
+
+ accessible = gtk_widget_get_accessible (widget);
+
+ add_data.count = 0;
+ remove_data.count = 0;
+ g_signal_connect (accessible, "children_changed::add",
+ G_CALLBACK (children_changed), &add_data);
+ g_signal_connect (accessible, "children_changed::remove",
+ G_CALLBACK (children_changed), &remove_data);
+
+ step_children = atk_object_get_n_accessible_children (accessible);
+
+ for (i = 0; i < 3; i++)
+ {
+ if (gtk_container_child_type (GTK_CONTAINER (widget)) == G_TYPE_NONE)
+ break;
+
+ child[i] = gtk_label_new ("bla");
+ parent_data[i].count = 0;
+ child_accessible = gtk_widget_get_accessible (child[i]);
+ g_signal_connect (child_accessible, "notify::accessible-parent",
+ G_CALLBACK (parent_notify), &(parent_data[i]));
+ add_child (widget, child[i]);
+
+ g_assert_cmpint (add_data.count, ==, i + 1);
+ g_assert_cmpint (add_data.n_children, ==, step_children + i + 1);
+ g_assert_cmpint (remove_data.count, ==, 0);
+ g_assert_cmpint (parent_data[i].count, ==, 1);
+ if (GTK_IS_SCROLLED_WINDOW (widget) ||
+ GTK_IS_NOTEBOOK (widget))
+ g_assert (atk_object_get_parent (ATK_OBJECT (parent_data[i].parent)) == accessible);
+ else
+ g_assert (parent_data[i].parent == accessible);
+ }
+ for (j = 0 ; j < i; j++)
+ {
+ remove_child (widget, child[j]);
+ g_assert_cmpint (add_data.count, ==, i);
+ g_assert_cmpint (remove_data.count, ==, j + 1);
+ g_assert_cmpint (remove_data.n_children, ==, step_children + i - j - 1);
+ if (parent_data[j].count == 2)
+ g_assert (parent_data[j].parent == NULL);
+ else
+ {
+ AtkStateSet *set;
+ set = atk_object_ref_state_set (ATK_OBJECT (parent_data[j].parent));
+ g_assert (atk_state_set_contains_state (set, ATK_STATE_DEFUNCT));
+ g_object_unref (set);
+ }
+ }
+
+ g_signal_handlers_disconnect_by_func (accessible, G_CALLBACK (children_changed), &add_data);
+ g_signal_handlers_disconnect_by_func (accessible, G_CALLBACK (children_changed), &remove_data);
+}
+
+static void
+add_child_test (const gchar *prefix,
+ GTestFixtureFunc test_func,
+ GtkWidget *widget)
+{
+ gchar *path;
+
+ path = g_strdup_printf ("%s/%s", prefix, G_OBJECT_TYPE_NAME (widget));
+ g_test_add_vtable (path,
+ 0,
+ g_object_ref (widget),
+ 0,
+ (GTestFixtureFunc) test_func,
+ (GTestFixtureFunc) g_object_unref);
+ g_free (path);
+}
+
+static void
+add_child_tests (GtkWidget *widget)
+{
+ g_object_ref_sink (widget);
+ add_child_test ("/child/add-remove", (GTestFixtureFunc)test_add_remove, widget);
+ g_object_unref (widget);
+}
+
+int
+main (int argc, char *argv[])
+{
+ gtk_test_init (&argc, &argv, NULL);
+
+ g_test_add_func ("/scrolledwindow/child-count", test_scrolled_window_child_count);
+
+ add_child_tests (gtk_scrolled_window_new (NULL, NULL));
+ add_child_tests (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0));
+ add_child_tests (gtk_paned_new (GTK_ORIENTATION_HORIZONTAL));
+ add_child_tests (gtk_grid_new ());
+ add_child_tests (gtk_event_box_new ());
+ add_child_tests (gtk_window_new (GTK_WINDOW_TOPLEVEL));
+ add_child_tests (gtk_assistant_new ());
+ add_child_tests (gtk_frame_new ("frame"));
+ add_child_tests (gtk_expander_new ("expander"));
+ add_child_tests (gtk_table_new (2, 2, FALSE));
+ add_child_tests (gtk_text_view_new ());
+ add_child_tests (gtk_tree_view_new ());
+#if 0
+ /* gail doesn't handle non-label children in these */
+ add_child_tests (gtk_button_new ());
+ add_child_tests (gtk_statusbar_new ());
+#endif
+ add_child_tests (gtk_notebook_new ());
+
+ return g_test_run ();
+}
+
--- /dev/null
+window1
+ "color chooser"
+ index: 0
+ name: Color Selection
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ unnamed-GtkBoxAccessible-0
+ "filler"
+ parent: window1
+ index: 0
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkBoxAccessible-1
+ "color chooser"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 0
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkBoxAccessible-2
+ "filler"
+ parent: unnamed-GtkBoxAccessible-1
+ index: 0
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkBoxAccessible-3
+ "filler"
+ parent: unnamed-GtkBoxAccessible-2
+ index: 0
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-4
+ "color chooser"
+ parent: unnamed-GtkBoxAccessible-3
+ index: 0
+ name: Color Wheel
+ description: Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle.
+ controlled-by: 0
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkBoxAccessible-5
+ "filler"
+ parent: unnamed-GtkBoxAccessible-3
+ index: 1
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-6
+ "panel"
+ parent: unnamed-GtkBoxAccessible-5
+ index: 0
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkBoxAccessible-7
+ "filler"
+ parent: unnamed-GtkFrameAccessible-6
+ index: 0
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-8
+ "unknown"
+ parent: unnamed-GtkBoxAccessible-7
+ index: 0
+ description: The previously-selected color, for comparison to the color you're selecting now.
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-9
+ "unknown"
+ parent: unnamed-GtkBoxAccessible-7
+ index: 1
+ description: The color you've chosen.
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkButtonAccessible-10
+ "push button"
+ parent: unnamed-GtkBoxAccessible-5
+ index: 1
+ description: Click the eyedropper, then click a color anywhere on your screen to select that color.
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkBoxAccessible-11
+ "filler"
+ parent: unnamed-GtkBoxAccessible-2
+ index: 1
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkContainerAccessible-12
+ "panel"
+ parent: unnamed-GtkBoxAccessible-11
+ index: 0
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ #FFFFFF
+ "text"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 0
+ description: You can enter an HTML-style hexadecimal color value, or simply a color name such as 'orange' in this entry.
+ labelled-by: Color name:
+ state: editable enabled focusable sensitive showing single-line visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: #FFFFFF
+ character count: 7
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 keybinding: <Alt>n
+ Color name:
+ "label"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 1
+ name: Color name:
+ label-for: #FFFFFF
+ state: enabled multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Color name:
+ character count: 11
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ 255
+ "text"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 2
+ description: Transparency of the color.
+ state: editable enabled focusable sensitive single-line
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: 255
+ character count: 3
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ unnamed-GtkScaleAccessible-13
+ "slider"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 3
+ description: Transparency of the color.
+ labelled-by: Opacity:
+ state: enabled focusable horizontal sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkAction>
+ action 0 name: activate
+ action 0 keybinding: <Alt>a
+ <AtkValue>
+ minimum value: 0.000000
+ maximum value: 255.000000
+ current value: 255.000000
+ minimum increment: 1.000000
+ Opacity:
+ "label"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 4
+ name: Opacity:
+ label-for: unnamed-GtkScaleAccessible-13
+ state: enabled multi-line sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Opacity:
+ character count: 8
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ unnamed-GtkWidgetAccessible-14
+ "separator"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 5
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ 255
+ "spin button"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 6
+ description: Amount of blue light in the color.
+ controller-for: unnamed-GtkWidgetAccessible-4
+ labelled-by: Blue:
+ state: editable enabled focusable sensitive showing single-line visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: 255
+ character count: 3
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 keybinding: <Alt>b
+ <AtkValue>
+ minimum value: 0.000000
+ maximum value: 255.000000
+ current value: 255.000000
+ minimum increment: 1.000000
+ Blue:
+ "label"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 7
+ name: Blue:
+ label-for: 255
+ state: enabled multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Blue:
+ character count: 5
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ 255
+ "spin button"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 8
+ description: Amount of green light in the color.
+ controller-for: unnamed-GtkWidgetAccessible-4
+ labelled-by: Green:
+ state: editable enabled focusable sensitive showing single-line visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: 255
+ character count: 3
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 keybinding: <Alt>g
+ <AtkValue>
+ minimum value: 0.000000
+ maximum value: 255.000000
+ current value: 255.000000
+ minimum increment: 1.000000
+ Green:
+ "label"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 9
+ name: Green:
+ label-for: 255
+ state: enabled multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Green:
+ character count: 6
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ 255
+ "spin button"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 10
+ description: Amount of red light in the color.
+ controller-for: unnamed-GtkWidgetAccessible-4
+ labelled-by: Red:
+ state: editable enabled focusable sensitive showing single-line visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: 255
+ character count: 3
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 keybinding: <Alt>r
+ <AtkValue>
+ minimum value: 0.000000
+ maximum value: 255.000000
+ current value: 255.000000
+ minimum increment: 1.000000
+ Red:
+ "label"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 11
+ name: Red:
+ label-for: 255
+ state: enabled multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Red:
+ character count: 4
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ 100
+ "spin button"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 12
+ description: Brightness of the color.
+ controller-for: unnamed-GtkWidgetAccessible-4
+ labelled-by: Value:
+ state: editable enabled focusable sensitive showing single-line visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: 100
+ character count: 3
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 keybinding: <Alt>v
+ <AtkValue>
+ minimum value: 0.000000
+ maximum value: 100.000000
+ current value: 100.000000
+ minimum increment: 1.000000
+ Value:
+ "label"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 13
+ name: Value:
+ label-for: 100
+ state: enabled multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Value:
+ character count: 6
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ 0
+ "spin button"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 14
+ description: Intensity of the color.
+ controller-for: unnamed-GtkWidgetAccessible-4
+ labelled-by: Saturation:
+ state: editable enabled focusable sensitive showing single-line visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: 0
+ character count: 1
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 keybinding: <Alt>s
+ <AtkValue>
+ minimum value: 0.000000
+ maximum value: 100.000000
+ current value: 0.000000
+ minimum increment: 1.000000
+ Saturation:
+ "label"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 15
+ name: Saturation:
+ label-for: 0
+ state: enabled multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Saturation:
+ character count: 11
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ 0
+ "spin button"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 16
+ description: Position on the color wheel.
+ controller-for: unnamed-GtkWidgetAccessible-4
+ labelled-by: Hue:
+ state: editable enabled focusable sensitive showing single-line visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: 0
+ character count: 1
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 keybinding: <Alt>h
+ <AtkValue>
+ minimum value: 0.000000
+ maximum value: 360.000000
+ current value: 0.000000
+ minimum increment: 1.000000
+ Hue:
+ "label"
+ parent: unnamed-GtkContainerAccessible-12
+ index: 17
+ name: Hue:
+ label-for: 0
+ state: enabled multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Hue:
+ character count: 4
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ unnamed-GtkBoxAccessible-15
+ "filler"
+ parent: unnamed-GtkBoxAccessible-11
+ index: 1
+ state: enabled sensitive vertical
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ Palette:
+ "label"
+ parent: unnamed-GtkBoxAccessible-15
+ index: 0
+ name: Palette:
+ label-for: unnamed-GtkWidgetAccessible-16
+ state: enabled multi-line sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Palette:
+ character count: 8
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ unnamed-GtkContainerAccessible-17
+ "panel"
+ parent: unnamed-GtkBoxAccessible-15
+ index: 1
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-18
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 0
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-19
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-18
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-20
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 1
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-21
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-20
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-22
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 2
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-23
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-22
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-24
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 3
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-25
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-24
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-26
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 4
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-27
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-26
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-28
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 5
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-29
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-28
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-30
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 6
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-31
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-30
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-32
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 7
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-33
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-32
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-34
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 8
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-35
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-34
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-36
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 9
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-37
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-36
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-38
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 10
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-39
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-38
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-40
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 11
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-41
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-40
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-42
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 12
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-43
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-42
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-44
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 13
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-45
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-44
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-46
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 14
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-47
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-46
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-48
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 15
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-49
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-48
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-50
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 16
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-51
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-50
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-52
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 17
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-53
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-52
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-54
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 18
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-55
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-54
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkFrameAccessible-56
+ "panel"
+ parent: unnamed-GtkContainerAccessible-17
+ index: 19
+ state: enabled sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkWidgetAccessible-16
+ "unknown"
+ parent: unnamed-GtkFrameAccessible-56
+ index: 0
+ description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here."
+ labelled-by: Palette:
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkBoxAccessible-57
+ "filler"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 1
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkButtonAccessible-58
+ "push button"
+ parent: unnamed-GtkBoxAccessible-57
+ index: 0
+ name: Help
+ state: enabled focusable sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>h
+ unnamed-GtkButtonAccessible-59
+ "push button"
+ parent: unnamed-GtkBoxAccessible-57
+ index: 1
+ name: OK
+ state: enabled focusable sensitive showing visible default
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>o
+ unnamed-GtkButtonAccessible-60
+ "push button"
+ parent: unnamed-GtkBoxAccessible-57
+ index: 2
+ name: Cancel
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>c
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkColorSelectionDialog" id="window1">
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ box1
+ "filler"
+ parent: window1
+ index: 0
+ state: enabled horizontal sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ entry1
+ "text"
+ parent: box1
+ index: 0
+ state: editable enabled focusable sensitive single-line visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: text
+ character count: 4
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ spinbutton1
+ "spin button"
+ parent: box1
+ index: 1
+ state: editable enabled focusable sensitive single-line visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text:
+ character count: 0
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ <AtkValue>
+ minimum value: 0.500000
+ maximum value: 99.500000
+ current value: 45.500000
+ minimum increment: 0.500000
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkAdjustment" id="adjustment1">
+ <property name="lower">0.5</property>
+ <property name="upper">99.5</property>
+ <property name="page-size">0</property>
+ <property name="value">45.5</property>
+ <property name="step-increment">0.5</property>
+ <property name="page-increment">5.0</property>
+ </object>
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkBox" id="box1">
+ <child>
+ <object class="GtkEntry" id="entry1">
+ <property name="text" translatable="yes">text</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="spinbutton1">
+ <property name="adjustment">adjustment1</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ expander1
+ "toggle button"
+ parent: window1
+ index: 0
+ name: Reveal this
+ state: enabled expandable focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkAction>
+ action 0 name: activate
+ label1
+ "label"
+ parent: expander1
+ index: 0
+ name: Hello World!
+ state: enabled multi-line sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Hello World!
+ character count: 12
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkExpander" id="expander1">
+ <property name="label" translatable="yes">Reveal this</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="label" translatable="yes">Hello World!</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+/*
+ * Copyright (C) 2011 Red Hat Inc.
+ *
+ * Author:
+ * Matthias Clasen <mclasen@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gtk/gtk.h>
+#include <string.h>
+const gchar data[] =
+ "<interface>"
+ " <object class='GtkWindow' id='window1'>"
+ " <property name='visible'>True</property>"
+ " <child>"
+ " <object class='GtkBox' id='box1'>"
+ " <property name='visible'>True</property>"
+ " <child>"
+ " <object class='GtkEntry' id='entry1'>"
+ " <property name='visible'>True</property>"
+ " <property name='text'>entry1</property>"
+ " </object>"
+ " </child>"
+ " <child>"
+ " <object class='GtkEntry' id='entry2'>"
+ " <property name='visible'>True</property>"
+ " <property name='text'>entry2</property>"
+ " </object>"
+ " </child>"
+ " </object>"
+ " </child>"
+ " </object>"
+ "</interface>";
+
+static void
+got_active (GObject *win, GParamSpec *pspec, gpointer data)
+{
+ gtk_main_quit ();
+}
+
+static void
+test_focus_change (void)
+{
+ GtkBuilder *builder;
+ GError *error;
+ GtkWidget *window;
+ GtkWidget *entry1;
+ GtkWidget *entry2;
+ AtkObject *wa;
+ AtkObject *ea1;
+ AtkObject *ea2;
+ GtkWidget *focus;
+ AtkStateSet *set;
+ gboolean ret;
+
+ builder = gtk_builder_new ();
+ error = NULL;
+ gtk_builder_add_from_string (builder, data, -1, &error);
+ g_assert_no_error (error);
+ window = (GtkWidget*)gtk_builder_get_object (builder, "window1");
+ entry1 = (GtkWidget*)gtk_builder_get_object (builder, "entry1");
+ entry2 = (GtkWidget*)gtk_builder_get_object (builder, "entry2");
+
+ wa = gtk_widget_get_accessible (window);
+ ea1 = gtk_widget_get_accessible (entry1);
+ ea2 = gtk_widget_get_accessible (entry2);
+
+#if 0
+ g_signal_connect (window, "notify::is-active", G_CALLBACK (got_active), NULL);
+ gtk_widget_show (window);
+ gtk_main ();
+ g_assert (gtk_window_is_active (GTK_WINDOW (window)));
+#endif
+
+ focus = gtk_window_get_focus (GTK_WINDOW (window));
+ g_assert (focus == entry1);
+
+ set = atk_object_ref_state_set (ea1);
+ ret = atk_state_set_contains_state (set, ATK_STATE_FOCUSED);
+ g_assert (ret);
+ g_object_unref (set);
+ set = atk_object_ref_state_set (ea2);
+ ret = atk_state_set_contains_state (set, ATK_STATE_FOCUSED);
+ g_assert (!ret);
+ g_object_unref (set);
+
+ gtk_widget_grab_focus (entry2);
+
+ focus = gtk_window_get_focus (GTK_WINDOW (window));
+ g_assert (focus == entry2);
+
+ set = atk_object_ref_state_set (ea1);
+ ret = atk_state_set_contains_state (set, ATK_STATE_FOCUSED);
+ g_assert (!ret);
+ g_object_unref (set);
+ set = atk_object_ref_state_set (ea2);
+ ret = atk_state_set_contains_state (set, ATK_STATE_FOCUSED);
+ g_assert (ret);
+ g_object_unref (set);
+
+ g_object_unref (builder);
+}
+
+
+int
+main (int argc, char *argv[])
+{
+ gtk_test_init (&argc, &argv, NULL);
+
+ g_test_add_func ("/focus/change", test_focus_change);
+
+ return g_test_run ();
+}
+
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ button1
+ "push button"
+ parent: window1
+ index: 0
+ name: Hello World!
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label" translatable="yes">Hello World!</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ iv1
+ "layered pane"
+ parent: window1
+ index: 0
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkSelection>
+ One
+ "icon"
+ parent: iv1
+ index: 0
+ state: enabled focusable selectable sensitive showing visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: One
+ character count: 3
+ caret offset: 0
+ <AtkImage>
+ image size: 0 x 0
+ image description: (null)
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: Activate item
+ Three
+ "icon"
+ parent: iv1
+ index: 1
+ state: enabled focusable selectable sensitive showing visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Three
+ character count: 5
+ caret offset: 0
+ <AtkImage>
+ image size: 0 x 0
+ image description: (null)
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: Activate item
+ Five
+ "icon"
+ parent: iv1
+ index: 2
+ state: enabled focusable selectable sensitive showing visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Five
+ character count: 4
+ caret offset: 0
+ <AtkImage>
+ image size: 0 x 0
+ image description: (null)
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: Activate item
+ Seven
+ "icon"
+ parent: iv1
+ index: 3
+ state: enabled focusable selectable sensitive showing visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Seven
+ character count: 5
+ caret offset: 0
+ <AtkImage>
+ image size: 0 x 0
+ image description: (null)
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: Activate item
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkListStore" id="liststore1">
+ <columns>
+ <column type="gchararray"/>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row><col id="0">One</col><col id="1">Two</col></row>
+ <row><col id="0">Three</col><col id="1">Four</col></row>
+ <row><col id="0">Five</col><col id="1">Six</col></row>
+ <row><col id="0">Seven</col><col id="1">Eight</col></row>
+ </data>
+ </object>
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkIconView" id="iv1">
+ <property name="visible">True</property>
+ <property name="model">liststore1</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer1">
+ </object>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ bar1
+ "filler"
+ parent: window1
+ index: 0
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ box1
+ "filler"
+ parent: bar1
+ index: 0
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ label1
+ "label"
+ parent: box1
+ index: 0
+ name: Some important info
+ state: enabled multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Some important info
+ character count: 19
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ unnamed-GtkBoxAccessible-0
+ "filler"
+ parent: bar1
+ index: 1
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkInfoBar" id="bar1">
+ <property name="visible">True</property>
+ <property name="message-type">info</property>
+ <child internal-child="content_area">
+ <object class="GtkBox" id="box1">
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Some important info</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ button1
+ "push button"
+ parent: window1
+ index: 0
+ name: Hello World!
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ <AtkHyperlinkImpl>
+ anchors: http://www.gtk.org
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkLinkButton" id="button1">
+ <property name="label" translatable="yes">Hello World!</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="uri">http://www.gtk.org</property>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ button1
+ "push button"
+ parent: window1
+ index: 0
+ name: Lock
+ description: Dialog is unlocked.
+Click to prevent further changes
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkLockButton" id="button1">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "frame"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ menubar1
+ "menu bar"
+ parent: window1
+ index: 0
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkSelection>
+ menuitem1
+ "menu"
+ parent: menubar1
+ index: 0
+ name: File
+ state: enabled selectable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>f;<Alt>f;
+ <AtkSelection>
+ imagemenuitem1
+ "menu item"
+ parent: menuitem1
+ index: 0
+ name: New
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: n;<Alt>f:n;
+ <AtkSelection>
+ imagemenuitem2
+ "menu"
+ parent: menuitem1
+ index: 1
+ name: Open
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: o;<Alt>f:o;
+ <AtkSelection>
+ radiomenuitem1
+ "radio menu item"
+ parent: imagemenuitem2
+ index: 0
+ name: One
+ member-of: radiomenuitem3
+ radiomenuitem2
+ radiomenuitem1
+ state: checked enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ <AtkSelection>
+ radiomenuitem2
+ "radio menu item"
+ parent: imagemenuitem2
+ index: 1
+ name: Two
+ member-of: radiomenuitem3
+ radiomenuitem2
+ radiomenuitem1
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ <AtkSelection>
+ radiomenuitem3
+ "radio menu item"
+ parent: imagemenuitem2
+ index: 2
+ name: Three
+ member-of: radiomenuitem3
+ radiomenuitem2
+ radiomenuitem1
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ <AtkSelection>
+ imagemenuitem3
+ "menu item"
+ parent: menuitem1
+ index: 2
+ name: Save
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: s;<Alt>f:s;
+ <AtkSelection>
+ imagemenuitem4
+ "menu item"
+ parent: menuitem1
+ index: 3
+ name: Save As
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: a;<Alt>f:a;
+ <AtkSelection>
+ separatormenuitem1
+ "separator"
+ parent: menuitem1
+ index: 4
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ <AtkSelection>
+ checkmenuitem1
+ "check menu item"
+ parent: menuitem1
+ index: 5
+ name: awesome
+ state: selectable sensitive visible indeterminate
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ <AtkSelection>
+ separatormenuitem2
+ "separator"
+ parent: menuitem1
+ index: 6
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ <AtkSelection>
+ imagemenuitem5
+ "menu item"
+ parent: menuitem1
+ index: 7
+ name: Quit
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: q;<Alt>f:q;
+ <AtkSelection>
+ menuitem2
+ "menu"
+ parent: menubar1
+ index: 1
+ name: Edit
+ state: enabled selectable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>e;<Alt>e;
+ <AtkSelection>
+ imagemenuitem6
+ "menu item"
+ parent: menuitem2
+ index: 0
+ name: Cut
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: t;<Alt>e:t;
+ <AtkSelection>
+ imagemenuitem7
+ "menu item"
+ parent: menuitem2
+ index: 1
+ name: Copy
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: c;<Alt>e:c;
+ <AtkSelection>
+ imagemenuitem8
+ "menu item"
+ parent: menuitem2
+ index: 2
+ name: Paste
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: p;<Alt>e:p;
+ <AtkSelection>
+ imagemenuitem9
+ "menu item"
+ parent: menuitem2
+ index: 3
+ name: Delete
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: d;<Alt>e:d;
+ <AtkSelection>
+ menuitem3
+ "menu item"
+ parent: menubar1
+ index: 2
+ name: View
+ state: enabled selectable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>v;<Alt>v;
+ <AtkSelection>
+ menuitem4
+ "menu"
+ parent: menubar1
+ index: 3
+ name: Help
+ state: enabled selectable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>h;<Alt>h;
+ <AtkSelection>
+ imagemenuitem10
+ "menu item"
+ parent: menuitem4
+ index: 0
+ name: About
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: a;<Alt>h:a;
+ <AtkSelection>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkMenuBar" id="menubar1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkMenuItem" id="menuitem1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">_File</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem1">
+ <property name="label">gtk-new</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem2">
+ <property name="label">gtk-open</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioMenuItem" id="radiomenuitem1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">One</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_as_radio">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioMenuItem" id="radiomenuitem2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">Two</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
+ <property name="group">radiomenuitem1</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioMenuItem" id="radiomenuitem3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">Three</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
+ <property name="group">radiomenuitem1</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem3">
+ <property name="label">gtk-save</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem4">
+ <property name="label">gtk-save-as</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckMenuItem" id="checkmenuitem1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">awesome</property>
+ <property name="use_underline">True</property>
+ <property name="inconsistent">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorMenuItem" id="separatormenuitem2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem5">
+ <property name="label">gtk-quit</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="menuitem2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">_Edit</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem6">
+ <property name="label">gtk-cut</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem7">
+ <property name="label">gtk-copy</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem8">
+ <property name="label">gtk-paste</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem9">
+ <property name="label">gtk-delete</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="menuitem3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">_View</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="menuitem4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">_Help</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem10">
+ <property name="label">gtk-about</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "frame"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ menubar1
+ "menu bar"
+ parent: window1
+ index: 0
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkSelection>
+ menuitem1
+ "menu"
+ parent: menubar1
+ index: 0
+ name: File
+ state: enabled selectable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>f;<Alt>f;
+ <AtkSelection>
+ imagemenuitem1
+ "menu item"
+ parent: menuitem1
+ index: 0
+ name: New
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: n;<Alt>f:n;
+ <AtkSelection>
+ imagemenuitem2
+ "menu item"
+ parent: menuitem1
+ index: 1
+ name: bla
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ <AtkSelection>
+ separatormenuitem1
+ "separator"
+ parent: menuitem1
+ index: 2
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ <AtkSelection>
+ menuitem3
+ "check menu item"
+ parent: menuitem1
+ index: 3
+ name: check item
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ <AtkSelection>
+ menuitem2
+ "menu"
+ parent: menubar1
+ index: 1
+ name: Edit
+ state: enabled selectable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>e;<Alt>e;
+ <AtkSelection>
+ menuitem4
+ "radio menu item"
+ parent: menuitem2
+ index: 0
+ name: radio1
+ member-of: menuitem5
+ menuitem4
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ <AtkSelection>
+ menuitem5
+ "radio menu item"
+ parent: menuitem2
+ index: 1
+ name: radio2
+ member-of: menuitem5
+ menuitem4
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ <AtkSelection>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-go-up</property>
+ <property name="icon-size">5</property>
+ </object>
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkMenuBar" id="menubar1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkMenuItem" id="menuitem1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">_File</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem1">
+ <property name="label">gtk-new</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem2">
+ <property name="label" translatable="yes">bla</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="image">image1</property>
+ <property name="use_stock">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckMenuItem" id="menuitem3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">check item</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="menuitem2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">_Edit</property>
+ <property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioMenuItem" id="menuitem4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">radio1</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioMenuItem" id="menuitem5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="label" translatable="yes">radio2</property>
+ <property name="use_underline">True</property>
+ <property name="draw_as_radio">True</property>
+ <property name="group">menuitem4</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "alert"
+ index: 0
+ name: Information
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ unnamed-GtkBoxAccessible-0
+ "filler"
+ parent: window1
+ index: 0
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkBoxAccessible-1
+ "filler"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 0
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkImageAccessible-2
+ "icon"
+ parent: unnamed-GtkBoxAccessible-1
+ index: 0
+ name: Information
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 48 x 48
+ image description: (null)
+ unnamed-GtkBoxAccessible-3
+ "filler"
+ parent: unnamed-GtkBoxAccessible-1
+ index: 1
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ Information
+ "label"
+ parent: unnamed-GtkBoxAccessible-3
+ index: 0
+ name: Information
+ state: enabled focusable multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Information
+ character count: 11
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ More Information
+ "label"
+ parent: unnamed-GtkBoxAccessible-3
+ index: 1
+ name: More Information
+ state: enabled focusable multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: More Information
+ character count: 16
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ unnamed-GtkBoxAccessible-4
+ "filler"
+ parent: unnamed-GtkBoxAccessible-0
+ index: 1
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkMessageDialog" id="window1">
+ <property name="visible">True</property>
+ <property name="message-type">info</property>
+ <property name="text" translatable="yes">Information</property>
+ <property name="secondary-text" translatable="yes">More Information</property>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ box1
+ "filler"
+ parent: window1
+ index: 0
+ state: enabled horizontal sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ label1
+ "label"
+ parent: box1
+ index: 0
+ name: Entry:
+ label-for: entry1
+ state: enabled multi-line sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Entry:
+ character count: 6
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ entry1
+ "text"
+ parent: box1
+ index: 1
+ labelled-by: label1
+ state: editable enabled focusable sensitive single-line visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: text
+ character count: 4
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 keybinding: <Alt>e
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkBox" id="box1">
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="label" translatable="yes">_Entry:</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">entry1</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry1">
+ <property name="text" translatable="yes">text</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ notebook1
+ "page tab list"
+ parent: window1
+ index: 0
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkSelection>
+ selected children: unnamed-GtkNotebookPageAccessible-0
+ unnamed-GtkNotebookPageAccessible-0
+ "page tab"
+ parent: notebook1
+ index: 0
+ name: Tab 1
+ state: enabled multi-line selectable selected sensitive showing visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ page1
+ "push button"
+ index: 0
+ name: Yes
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>y
+ unnamed-GtkNotebookPageAccessible-1
+ "page tab"
+ parent: notebook1
+ index: 1
+ name: Tab 2
+ state: enabled multi-line selectable sensitive showing visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ page2
+ "push button"
+ index: 0
+ name: No
+ state: enabled focusable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 20 x 20
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ action 0 keybinding: <Alt>n
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkNotebook" id="notebook1">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="page1">
+ <property name="label">gtk-yes</property>
+ <property name="use_stock">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="tab1">
+ <property name="label" translatable="yes">Tab 1</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="page2">
+ <property name="label">gtk-no</property>
+ <property name="use_stock">True</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="tab2">
+ <property name="label" translatable="yes">Tab 2</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ paned1
+ "split pane"
+ parent: window1
+ index: 0
+ state: enabled focusable horizontal sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkValue>
+ minimum value: 0
+ maximum value: 0
+ current value: 0
+ minimum increment: 0
+ label1
+ "label"
+ parent: paned1
+ index: 0
+ name: Left
+ state: enabled multi-line sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Left
+ character count: 4
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ label2
+ "label"
+ parent: paned1
+ index: 1
+ name: Right
+ state: enabled multi-line sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Right
+ character count: 5
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkPaned" id="paned1">
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="label" translatable="yes">Left</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="label" translatable="yes">Right</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ grid1
+ "panel"
+ parent: window1
+ index: 0
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ button4
+ "filler"
+ parent: grid1
+ index: 0
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ unnamed-GtkButtonAccessible-0
+ "push button"
+ parent: button4
+ index: 0
+ name: (None)
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkComboBoxAccessible-1
+ "combo box"
+ parent: button4
+ index: 1
+ state: enabled sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkAction>
+ action 0 name: press
+ <AtkSelection>
+ unnamed-GtkMenuAccessible-2
+ "menu"
+ parent: unnamed-GtkComboBoxAccessible-1
+ index: 0
+ state: enabled selectable sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkSelection>
+ unnamed-GtkMenuItemAccessible-3
+ "menu item"
+ parent: unnamed-GtkMenuAccessible-2
+ index: 0
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkMenuItemAccessible-4
+ "menu item"
+ parent: unnamed-GtkMenuAccessible-2
+ index: 1
+ name: File System
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkMenuItemAccessible-5
+ "menu item"
+ parent: unnamed-GtkMenuAccessible-2
+ index: 2
+ name: _F15-Livecd-Desk
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkMenuItemAccessible-6
+ "separator"
+ parent: unnamed-GtkMenuAccessible-2
+ index: 3
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkMenuItemAccessible-7
+ "separator"
+ parent: unnamed-GtkMenuAccessible-2
+ index: 4
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkMenuItemAccessible-8
+ "menu item"
+ parent: unnamed-GtkMenuAccessible-2
+ index: 5
+ name: Other...
+ state: enabled selectable sensitive visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkAction>
+ action 0 name: click
+ button3
+ "push button"
+ parent: grid1
+ index: 1
+ name: Sans
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ button2
+ "push button"
+ parent: grid1
+ index: 2
+ state: enabled focusable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ button1
+ "combo box"
+ parent: grid1
+ index: 3
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkAction>
+ action 0 name: press
+ <AtkSelection>
+ unnamed-GtkMenuAccessible-9
+ "menu"
+ parent: button1
+ index: 0
+ state: enabled selectable sensitive
+ toolkit: gtk
+ <AtkComponent>
+ layer: popup
+ alpha: 1
+ <AtkSelection>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkAppChooserButton" id="button1">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkColorButton" id="button2">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFontButton" id="button3">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFileChooserButton" id="button4">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ box1
+ "filler"
+ parent: window1
+ index: 0
+ state: enabled sensitive showing vertical visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ entry1
+ "text"
+ parent: box1
+ index: 0
+ state: editable enabled focusable sensitive showing single-line visible
+ toolkit: gtk
+ placeholder-text: Subject or Addresses contain
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text:
+ character count: 0
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ entry2
+ "text"
+ parent: box1
+ index: 1
+ state: editable enabled focusable sensitive showing single-line visible
+ toolkit: gtk
+ placeholder-text: Message contains
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Some text
+ character count: 9
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ entry3
+ "text"
+ parent: box1
+ index: 2
+ state: editable enabled focusable sensitive showing single-line visible
+ toolkit: gtk
+ placeholder-text: Body contains
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text:
+ character count: 0
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ direction: <omitted>
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkEntry" id="entry1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ <property name="invisible_char_set">True</property>
+ <property name="placeholder_text">Subject or Addresses contain</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry2">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ <property name="text" translatable="yes">Some text</property>
+ <property name="invisible_char_set">True</property>
+ <property name="placeholder_text">Message contains</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry3">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="is_focus">True</property>
+ <property name="invisible_char">●</property>
+ <property name="invisible_char_set">True</property>
+ <property name="placeholder_text">Body contains</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ progress1
+ "progress bar"
+ parent: window1
+ index: 0
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkValue>
+ minimum value: 0.000000
+ maximum value: 1.000000
+ current value: 0.500000
+ minimum increment: 0.000000
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkProgressBar" id="progress1">
+ <property name="visible">True</property>
+ <property name="fraction">0.5</property>
+ <property name="text">Good progress!</property>
+ <property name="show-text">True</property>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ grid1
+ "panel"
+ parent: window1
+ index: 0
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ scrollbar1
+ "scroll bar"
+ parent: grid1
+ index: 0
+ state: enabled focusable horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkAction>
+ action 0 name: activate
+ <AtkValue>
+ minimum value: 0.500000
+ maximum value: 99.500000
+ current value: 45.500000
+ minimum increment: 0.500000
+ scale1
+ "slider"
+ parent: grid1
+ index: 1
+ description: 45.5
+ state: enabled focusable horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkAction>
+ action 0 name: activate
+ <AtkValue>
+ minimum value: 0.500000
+ maximum value: 99.500000
+ current value: 45.500000
+ minimum increment: 0.500000
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkAdjustment" id="adjustment1">
+ <property name="lower">0.5</property>
+ <property name="upper">99.5</property>
+ <property name="page-size">0</property>
+ <property name="value">45.5</property>
+ <property name="step-increment">0.5</property>
+ <property name="page-increment">5.0</property>
+ </object>
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkScale" id="scale1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment1</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrollbar" id="scrollbar1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment1</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "frame"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ scale1
+ "slider"
+ parent: window1
+ index: 0
+ description: -42.0
+ state: enabled focusable horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkAction>
+ action 0 name: activate
+ <AtkValue>
+ minimum value: -100.000000
+ maximum value: 100.000000
+ current value: -42.000000
+ minimum increment: 1.000000
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkAdjustment" id="adjustment1">
+ <property name="lower">-100</property>
+ <property name="upper">100</property>
+ <property name="value">-42</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkScale" id="scale1">
+ <property name="width-request">100</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment1</property>
+ <property name="round_digits">1</property>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ spinner1
+ "animation"
+ parent: window1
+ index: 0
+ name: Spinner
+ description: Provides visual indication of progress
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: 12 x 12
+ image description: (null)
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkSpinner" id="spinner1">
+ <property name="visible">True</property>
+ <property name="active">True</property>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ statusbar1
+ "statusbar"
+ parent: window1
+ index: 0
+ name:
+ state: enabled horizontal sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkStatusbar" id="statusbar1">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+#include <gtk/gtk.h>
+
+static const gchar *
+get_name (gpointer obj)
+{
+ GtkWidget *widget;
+ if (obj == NULL)
+ return "(nil)";
+ else if (GTK_IS_WIDGET (obj))
+ widget = GTK_WIDGET (obj);
+ else if (GTK_IS_ACCESSIBLE (obj))
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ else
+ return "OOPS";
+ if (GTK_IS_BUILDABLE (widget))
+ return gtk_buildable_get_name (GTK_BUILDABLE (widget));
+ else
+ return G_OBJECT_TYPE_NAME (widget);
+}
+
+static gboolean
+compare_focus (gpointer data)
+{
+ AtkObject *atk_focus;
+ AtkObject *gtk_focus;
+ GtkWidget *focus_widget;
+ GList *list, *l;
+
+ atk_focus = atk_get_focus_object ();
+
+ focus_widget = NULL;
+ list = gtk_window_list_toplevels ();
+ for (l = list; l; l = l->next)
+ {
+ GtkWindow *w = l->data;
+ if (gtk_window_is_active (w))
+ {
+ focus_widget = gtk_window_get_focus (w);
+ break;
+ }
+ }
+ g_list_free (list);
+
+ if (GTK_IS_WIDGET (focus_widget))
+ gtk_focus = gtk_widget_get_accessible (focus_widget);
+ else
+ gtk_focus = NULL;
+
+ if (gtk_focus != atk_focus)
+ g_print ("gtk focus: %s != atk focus: %s\n",
+ get_name (gtk_focus), get_name (atk_focus));
+
+ return TRUE;
+}
+
+static void
+notify_cb (GObject *obj, GParamSpec *pspec, gpointer data)
+{
+ gboolean value;
+
+ if (g_strcmp0 (pspec->name, "has-focus") != 0)
+ return;
+
+ g_object_get (obj, "has-focus", &value, NULL);
+ g_print ("widget %s %p has-focus -> %d\n", get_name (obj), obj, value);
+}
+
+static void
+state_change_cb (AtkObject *obj, const gchar *name, gboolean state_set)
+{
+ AtkStateSet *set;
+
+ set = atk_object_ref_state_set (obj);
+ g_print ("accessible %s %p focused -> %d\n", get_name (obj), obj,
+ atk_state_set_contains_state (set, ATK_STATE_FOCUSED));
+ g_object_unref (set);
+}
+
+int
+main (int argc, char *argv[])
+{
+ GtkBuilder *builder;
+ GtkWidget *window;
+ GSList *o, *l;
+ GtkWidget *widget;
+ AtkObject *accessible;
+
+ gtk_init (&argc, &argv);
+
+ builder = gtk_builder_new ();
+ gtk_builder_add_from_file (builder, argv[1], NULL);
+
+ window = (GtkWidget *)gtk_builder_get_object (builder, "window1");
+
+ o = gtk_builder_get_objects (builder);
+ for (l = o; l;l = l->next)
+ {
+ if (!GTK_IS_WIDGET (l->data))
+ continue;
+
+ widget = l->data;
+ g_signal_connect (widget, "notify::has-focus", G_CALLBACK (notify_cb), NULL);
+ accessible = gtk_widget_get_accessible (widget);
+ g_signal_connect (accessible, "state-change::focused", G_CALLBACK (state_change_cb), NULL);
+
+ }
+ g_slist_free (o);
+
+ g_timeout_add (100, compare_focus, NULL);
+
+ gtk_widget_show_all (window);
+
+ gtk_main ();
+
+ return 0;
+}
+
--- /dev/null
+/*
+ * Copyright (C) 2011 Red Hat Inc.
+ *
+ * Author:
+ * Matthias Clasen <mclasen@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gtk/gtk.h>
+#include <string.h>
+
+static void
+set_text (GtkWidget *widget,
+ const gchar *text)
+{
+ if (GTK_IS_LABEL (widget))
+ gtk_label_set_text (GTK_LABEL (widget), text);
+ else if (GTK_IS_ENTRY (widget))
+ gtk_entry_set_text (GTK_ENTRY (widget), text);
+ else if (GTK_IS_TEXT_VIEW (widget))
+ gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget)), text, -1);
+ else
+ g_assert_not_reached ();
+}
+
+static void
+test_basic (GtkWidget *widget)
+{
+ AtkText *atk_text;
+ const gchar *text = "Text goes here";
+ gchar *ret;
+ gint count;
+ gunichar c;
+
+ atk_text = ATK_TEXT (gtk_widget_get_accessible (widget));
+
+ set_text (widget, text);
+ ret = atk_text_get_text (atk_text, 5, 9);
+ g_assert_cmpstr (ret, ==, "goes");
+ g_free (ret);
+
+ ret = atk_text_get_text (atk_text, 0, 14);
+ g_assert_cmpstr (ret, ==, text);
+ g_free (ret);
+
+ ret = atk_text_get_text (atk_text, 0, -1);
+ g_assert_cmpstr (ret, ==, text);
+ g_free (ret);
+
+ count = atk_text_get_character_count (atk_text);
+ g_assert_cmpint (count, ==, g_utf8_strlen (text, -1));
+
+ c = atk_text_get_character_at_offset (atk_text, 0);
+ g_assert_cmpint (c, ==, 'T');
+
+ c = atk_text_get_character_at_offset (atk_text, 13);
+ g_assert_cmpint (c, ==, 'e');
+}
+
+typedef struct {
+ gint count;
+ gint position;
+ gint length;
+} SignalData;
+
+static void
+text_deleted (AtkText *atk_text, gint position, gint length, SignalData *data)
+{
+ data->count++;
+ data->position = position;
+ data->length = length;
+}
+
+static void
+text_inserted (AtkText *atk_text, gint position, gint length, SignalData *data)
+{
+ data->count++;
+ data->position = position;
+ data->length = length;
+}
+
+static void
+test_text_changed (GtkWidget *widget)
+{
+ AtkText *atk_text;
+ const gchar *text = "Text goes here";
+ const gchar *text2 = "Text again";
+ SignalData delete_data;
+ SignalData insert_data;
+
+ atk_text = ATK_TEXT (gtk_widget_get_accessible (widget));
+
+ delete_data.count = 0;
+ insert_data.count = 0;
+
+ g_signal_connect (atk_text, "text_changed::delete",
+ G_CALLBACK (text_deleted), &delete_data);
+ g_signal_connect (atk_text, "text_changed::insert",
+ G_CALLBACK (text_inserted), &insert_data);
+
+ set_text (widget, text);
+
+ g_assert_cmpint (delete_data.count, ==, 0);
+
+ g_assert_cmpint (insert_data.count, ==, 1);
+ g_assert_cmpint (insert_data.position, ==, 0);
+ g_assert_cmpint (insert_data.length, ==, g_utf8_strlen (text, -1));
+
+ set_text (widget, text2);
+
+ g_assert_cmpint (delete_data.count, ==, 1);
+ g_assert_cmpint (delete_data.position, ==, 0);
+ g_assert_cmpint (delete_data.length, ==, g_utf8_strlen (text, -1));
+
+ g_assert_cmpint (insert_data.count, ==, 2);
+ g_assert_cmpint (insert_data.position, ==, 0);
+ g_assert_cmpint (insert_data.length, ==, g_utf8_strlen (text2, -1));
+
+ set_text (widget, "");
+
+ g_assert_cmpint (delete_data.count, ==, 2);
+ g_assert_cmpint (delete_data.position, ==, 0);
+ g_assert_cmpint (delete_data.length, ==, g_utf8_strlen (text2, -1));
+
+ g_assert_cmpint (insert_data.count, ==, 2);
+
+ g_signal_handlers_disconnect_by_func (atk_text, G_CALLBACK (text_deleted), &delete_data);
+ g_signal_handlers_disconnect_by_func (atk_text, G_CALLBACK (text_inserted), &insert_data);
+}
+
+typedef struct {
+ gint gravity;
+ gint offset;
+ AtkTextBoundary boundary;
+ gint start;
+ gint end;
+ const gchar *word;
+} Word;
+
+#ifdef DUMP_RESULTS
+static const gchar *
+boundary (AtkTextBoundary b)
+{
+ switch (b)
+ {
+ case ATK_TEXT_BOUNDARY_CHAR: return "ATK_TEXT_BOUNDARY_CHAR, ";
+ case ATK_TEXT_BOUNDARY_WORD_START: return "ATK_TEXT_BOUNDARY_WORD_START, ";
+ case ATK_TEXT_BOUNDARY_WORD_END: return "ATK_TEXT_BOUNDARY_WORD_END, ";
+ case ATK_TEXT_BOUNDARY_SENTENCE_START: return "ATK_TEXT_BOUNDARY_SENTENCE_START,";
+ case ATK_TEXT_BOUNDARY_SENTENCE_END: return "ATK_TEXT_BOUNDARY_SENTENCE_END, ";
+ case ATK_TEXT_BOUNDARY_LINE_START: return "ATK_TEXT_BOUNDARY_LINE_START, ";
+ case ATK_TEXT_BOUNDARY_LINE_END: return "ATK_TEXT_BOUNDARY_LINE_END, ";
+ default: g_assert_not_reached ();
+ }
+}
+
+static const gchar *
+gravity (gint g)
+{
+ if (g < 0) return "before";
+ else if (g > 0) return "after";
+ else return "around";
+}
+
+const gchar *
+char_rep (gunichar c)
+{
+ static gchar out[6];
+
+ switch (c)
+ {
+ case '\n': return "\\n";
+ case 196: return "?";
+ case 214: return "?";
+ case 220: return "?";
+ default:
+ memset (out, 0, 6);
+ g_unichar_to_utf8 (c, out);
+ return out;
+ }
+}
+
+gchar *
+escape (const gchar *p)
+{
+ GString *s;
+
+ s = g_string_new ("");
+
+ while (*p)
+ {
+ if (*p == '\n')
+ g_string_append (s, "\\n");
+ else
+ g_string_append_c (s, *p);
+ p++;
+ }
+
+ return g_string_free (s, FALSE);
+}
+#endif
+
+#ifdef SHOW_TEXT_ATTRIBUTES
+static void
+show_text_attributes (PangoLayout *l)
+{
+ const PangoLogAttr *attr;
+ gint n_attrs;
+ const gchar *s;
+ gchar e;
+ const gchar *p;
+ gint i;
+ const gchar *text;
+ GSList *lines, *li;
+ glong so, eo;
+
+ printf ("\n");
+
+ text = pango_layout_get_text (l);
+ attr = pango_layout_get_log_attrs_readonly (l, &n_attrs);
+
+ p = text;
+ while (*p)
+ {
+ s = char_rep (g_utf8_get_char (p));
+ printf (" %s", s);
+ p = g_utf8_next_char (p);
+ }
+ printf ("\n");
+ p = text;
+ i = 0;
+ do
+ {
+ if (*p)
+ s = char_rep (g_utf8_get_char (p));
+ else
+ s = "";
+ if (attr[i].is_word_start && attr[i].is_word_end)
+ e = '|';
+ else if (attr[i].is_word_start)
+ e = '<';
+ else if (attr[i].is_word_end)
+ e = '>';
+ else
+ e = ' ';
+ printf ("%c%*s", e, strlen (s), "");
+ if (*p)
+ p = g_utf8_next_char (p);
+ i++;
+ }
+ while (*p || i < n_attrs);
+ printf ("\n");
+
+ p = text;
+ i = 0;
+ do
+ {
+ if (*p)
+ s = char_rep (g_utf8_get_char (p));
+ else
+ s = "";
+ if (attr[i].is_sentence_start && attr[i].is_sentence_end)
+ e = '|';
+ else if (attr[i].is_sentence_start)
+ e = '<';
+ else if (attr[i].is_sentence_end)
+ e = '>';
+ else
+ e = ' ';
+ printf ("%c%*s", e, strlen (s), "");
+ if (*p)
+ p = g_utf8_next_char (p);
+ i++;
+ }
+ while (*p || i < n_attrs);
+ printf ("\n");
+
+ lines = pango_layout_get_lines_readonly (l);
+ p = text;
+ i = 0;
+ do
+ {
+ gboolean start, end;
+
+ if (*p)
+ s = char_rep (g_utf8_get_char (p));
+ else
+ s = "";
+ start = end = FALSE;
+ for (li = lines; li; li = li->next)
+ {
+ PangoLayoutLine *line = li->data;
+ so = g_utf8_pointer_to_offset (text, text + line->start_index);
+ eo = g_utf8_pointer_to_offset (text, text + line->start_index + line->length);
+ if (so == i)
+ start = TRUE;
+ if (eo == i)
+ end = TRUE;
+ }
+ if (start && end)
+ e = '|';
+ else if (start)
+ e = '<';
+ else if (end)
+ e = '>';
+ else
+ e = ' ';
+ printf ("%c%*s", e, strlen (s), "");
+ if (*p)
+ p = g_utf8_next_char (p);
+ i++;
+ }
+ while (*p || i < n_attrs);
+ printf ("\n");
+}
+#endif
+
+static void
+test_words (GtkWidget *widget)
+{
+ AtkText *atk_text;
+ const gchar *text = "abc! def\nghi jkl\nmno";
+ Word expected[] = {
+ { -1, 0, ATK_TEXT_BOUNDARY_CHAR, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_CHAR, 0, 1, "a" },
+ { -1, 2, ATK_TEXT_BOUNDARY_CHAR, 1, 2, "b" },
+ { -1, 3, ATK_TEXT_BOUNDARY_CHAR, 2, 3, "c" },
+ { -1, 4, ATK_TEXT_BOUNDARY_CHAR, 3, 4, "!" },
+ { -1, 5, ATK_TEXT_BOUNDARY_CHAR, 4, 5, " " },
+ { -1, 6, ATK_TEXT_BOUNDARY_CHAR, 5, 6, "d" },
+ { -1, 7, ATK_TEXT_BOUNDARY_CHAR, 6, 7, "e" },
+ { -1, 8, ATK_TEXT_BOUNDARY_CHAR, 7, 8, "f" },
+ { -1, 9, ATK_TEXT_BOUNDARY_CHAR, 8, 9, "\n" },
+ { -1, 10, ATK_TEXT_BOUNDARY_CHAR, 9, 10, "g" },
+ { -1, 11, ATK_TEXT_BOUNDARY_CHAR, 10, 11, "h" },
+ { -1, 12, ATK_TEXT_BOUNDARY_CHAR, 11, 12, "i" },
+ { -1, 13, ATK_TEXT_BOUNDARY_CHAR, 12, 13, " " },
+ { -1, 14, ATK_TEXT_BOUNDARY_CHAR, 13, 14, "j" },
+ { -1, 15, ATK_TEXT_BOUNDARY_CHAR, 14, 15, "k" },
+ { -1, 16, ATK_TEXT_BOUNDARY_CHAR, 15, 16, "l" },
+ { -1, 17, ATK_TEXT_BOUNDARY_CHAR, 16, 17, "\n" },
+ { -1, 18, ATK_TEXT_BOUNDARY_CHAR, 17, 18, "m" },
+ { -1, 19, ATK_TEXT_BOUNDARY_CHAR, 18, 19, "n" },
+ { -1, 20, ATK_TEXT_BOUNDARY_CHAR, 19, 20, "o" },
+ { -1, 0, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
+ { -1, 2, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
+ { -1, 3, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
+ { -1, 4, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" },
+ { -1, 5, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { -1, 6, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { -1, 7, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { -1, 8, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " },
+ { -1, 9, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { -1, 10, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { -1, 11, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { -1, 12, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" },
+ { -1, 13, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { -1, 14, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { -1, 15, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { -1, 16, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " },
+ { -1, 17, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { -1, 18, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { -1, 19, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { -1, 20, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" },
+ { -1, 0, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" },
+ { -1, 2, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" },
+ { -1, 3, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { -1, 4, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { -1, 5, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { -1, 6, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { -1, 7, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" },
+ { -1, 8, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { -1, 9, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { -1, 10, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { -1, 11, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" },
+ { -1, 12, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { -1, 13, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { -1, 14, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { -1, 15, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" },
+ { -1, 16, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { -1, 17, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { -1, 18, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { -1, 19, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" },
+ { -1, 20, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" },
+ { -1, 0, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" },
+ { -1, 2, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" },
+ { -1, 3, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" },
+ { -1, 4, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" },
+ { -1, 5, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " },
+ { -1, 6, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " },
+ { -1, 7, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " },
+ { -1, 8, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " },
+ { -1, 9, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { -1, 10, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { -1, 11, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { -1, 12, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { -1, 13, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { -1, 14, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { -1, 15, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { -1, 16, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" },
+ { -1, 17, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { -1, 18, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { -1, 19, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { -1, 20, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" },
+ { -1, 0, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
+ { -1, 2, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
+ { -1, 3, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" },
+ { -1, 4, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { -1, 5, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { -1, 6, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { -1, 7, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" },
+ { -1, 8, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 9, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 10, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 11, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 12, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 13, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 14, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 15, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" },
+ { -1, 16, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { -1, 17, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { -1, 18, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { -1, 19, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" },
+ { -1, 20, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" },
+ { -1, 0, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 2, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 3, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 4, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 5, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 6, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 7, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 8, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" },
+ { -1, 9, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 10, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 11, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 12, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 13, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 14, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 15, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 16, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" },
+ { -1, 17, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { -1, 18, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { -1, 19, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { -1, 20, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" },
+ { -1, 0, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 1, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 2, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 3, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 4, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 5, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 6, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 7, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 8, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" },
+ { -1, 9, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 10, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 11, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 12, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 13, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 14, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 15, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 16, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" },
+ { -1, 17, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { -1, 18, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { -1, 19, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { -1, 20, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" },
+ { 0, -1, }
+ };
+ gint start, end;
+ gchar *word;
+ gint i;
+
+ atk_text = ATK_TEXT (gtk_widget_get_accessible (widget));
+
+ set_text (widget, text);
+#ifdef SHOW_TEXT_ATTRIBUTES
+ if (GTK_IS_LABEL (widget))
+ show_text_attributes (gtk_label_get_layout (GTK_LABEL (widget)));
+ else if (GTK_IS_ENTRY (widget))
+ show_text_attributes (gtk_entry_get_layout (GTK_ENTRY (widget)));
+#endif
+
+#if DUMP_RESULTS
+ for (i = -1; i < 2; i++)
+ {
+ gint j, k;
+ for (j = ATK_TEXT_BOUNDARY_CHAR; j <= ATK_TEXT_BOUNDARY_LINE_END; j++)
+ for (k = 0; k <= strlen (text); k++)
+ {
+ switch (i)
+ {
+ case -1:
+ word = atk_text_get_text_before_offset (atk_text, k, j, &start, &end);
+ break;
+ case 0:
+ word = atk_text_get_text_at_offset (atk_text, k, j, &start, &end);
+ break;
+ case 1:
+ word = atk_text_get_text_after_offset (atk_text, k, j, &start, &end);
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+ printf (" { %2d, %2d, %s %2d, %2d, \"%s\" },\n", i, k, boundary(j), start, end, escape (word));
+ g_free (word);
+ }
+ }
+#endif
+
+ for (i = 0; expected[i].offset != -1; i++)
+ {
+ if (GTK_IS_ENTRY (widget))
+ {
+ /* GtkEntry sets single-paragraph mode on its pango layout */
+ if (expected[i].boundary == ATK_TEXT_BOUNDARY_LINE_START ||
+ expected[i].boundary == ATK_TEXT_BOUNDARY_LINE_END)
+ continue;
+ }
+
+ switch (expected[i].gravity)
+ {
+ case -1:
+ word = atk_text_get_text_before_offset (atk_text,
+ expected[i].offset,
+ expected[i].boundary,
+ &start, &end);
+ break;
+ case 0:
+ word = atk_text_get_text_at_offset (atk_text,
+ expected[i].offset,
+ expected[i].boundary,
+ &start, &end);
+ break;
+ case 1:
+ word = atk_text_get_text_after_offset (atk_text,
+ expected[i].offset,
+ expected[i].boundary,
+ &start, &end);
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ g_assert_cmpstr (word, ==, expected[i].word);
+ g_assert_cmpint (start, ==, expected[i].start);
+ g_assert_cmpint (end, ==, expected[i].end);
+ g_free (word);
+ }
+}
+
+static void
+select_region (GtkWidget *widget,
+ gint start,
+ gint end)
+{
+ if (GTK_IS_EDITABLE (widget))
+ gtk_editable_select_region (GTK_EDITABLE (widget), start, end);
+ else if (GTK_IS_LABEL (widget))
+ gtk_label_select_region (GTK_LABEL (widget), start, end);
+ else if (GTK_IS_TEXT_VIEW (widget))
+ {
+ GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+ GtkTextIter start_iter, end_iter;
+
+ gtk_text_buffer_get_iter_at_offset (buffer, &start_iter, end);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end_iter, start);
+
+ gtk_text_buffer_select_range (buffer, &start_iter, &end_iter);
+ }
+ else
+ g_assert_not_reached ();
+}
+
+typedef struct {
+ gint count;
+ gint position;
+ gint bound;
+} SelectionData;
+
+static void
+caret_moved_cb (AtkText *text, gint position, SelectionData *data)
+{
+ data->count++;
+ data->position = position;
+}
+
+static void
+selection_changed_cb (AtkText *text, SelectionData *data)
+{
+ data->count++;
+
+ atk_text_get_selection (text, 0, &data->bound, &data->position);
+}
+
+static void
+test_selection (GtkWidget *widget)
+{
+ AtkText *atk_text;
+ const gchar *text = "Bla bla bla";
+ gint n;
+ gchar *ret;
+ gint start, end;
+ SelectionData data1;
+ SelectionData data2;
+
+ if (GTK_IS_LABEL (widget))
+ gtk_label_set_selectable (GTK_LABEL (widget), TRUE);
+
+ atk_text = ATK_TEXT (gtk_widget_get_accessible (widget));
+
+ data1.count = 0;
+ data2.count = 0;
+ g_signal_connect (atk_text, "text_caret_moved",
+ G_CALLBACK (caret_moved_cb), &data1);
+ g_signal_connect (atk_text, "text_selection_changed",
+ G_CALLBACK (selection_changed_cb), &data2);
+
+ set_text (widget, text);
+
+ n = atk_text_get_n_selections (atk_text);
+ g_assert_cmpint (n, ==, 0);
+
+ if (data1.count == 1)
+ /* insertion before cursor */
+ g_assert_cmpint (data1.position, ==, 11);
+ else
+ /* insertion after cursor */
+ g_assert_cmpint (data1.count, ==, 0);
+ g_assert_cmpint (data2.count, ==, 0);
+
+ select_region (widget, 4, 7);
+
+ g_assert_cmpint (data1.count, >=, 1);
+ g_assert_cmpint (data1.position, ==, 7);
+ g_assert_cmpint (data2.count, >=, 1);
+ g_assert_cmpint (data2.bound, ==, 4);
+ g_assert_cmpint (data2.position, ==, 7);
+
+ n = atk_text_get_n_selections (atk_text);
+ g_assert_cmpint (n, ==, 1);
+
+ ret = atk_text_get_selection (atk_text, 0, &start, &end);
+ g_assert_cmpstr (ret, ==, "bla");
+ g_assert_cmpint (start, ==, 4);
+ g_assert_cmpint (end, ==, 7);
+ g_free (ret);
+
+ atk_text_remove_selection (atk_text, 0);
+ n = atk_text_get_n_selections (atk_text);
+ g_assert_cmpint (n, ==, 0);
+
+ g_assert_cmpint (data1.count, >=, 1);
+ g_assert_cmpint (data2.count, >=, 2);
+ g_assert_cmpint (data2.position, ==, 7);
+ g_assert_cmpint (data2.bound, ==, 7);
+}
+
+static void
+setup_test (GtkWidget *widget)
+{
+ set_text (widget, "");
+}
+
+static void
+add_text_test (const gchar *prefix,
+ GTestFixtureFunc test_func,
+ GtkWidget *widget)
+{
+ gchar *path;
+
+ path = g_strdup_printf ("%s/%s", prefix, G_OBJECT_TYPE_NAME (widget));
+ g_test_add_vtable (path,
+ 0,
+ g_object_ref (widget),
+ (GTestFixtureFunc) setup_test,
+ (GTestFixtureFunc) test_func,
+ (GTestFixtureFunc) g_object_unref);
+ g_free (path);
+}
+
+static void
+add_text_tests (GtkWidget *widget)
+{
+ g_object_ref_sink (widget);
+ add_text_test ("/text/basic", (GTestFixtureFunc) test_basic, widget);
+ add_text_test ("/text/words", (GTestFixtureFunc) test_words, widget);
+ add_text_test ("/text/changed", (GTestFixtureFunc) test_text_changed, widget);
+ add_text_test ("/text/selection", (GTestFixtureFunc) test_selection, widget);
+ g_object_unref (widget);
+}
+
+static void
+test_bold_label (void)
+{
+ GtkWidget *label;
+ AtkObject *atk_obj;
+ gchar *text;
+
+ g_test_bug ("126797");
+
+ label = gtk_label_new ("<b>Bold?</b>");
+ g_object_ref_sink (label);
+
+ atk_obj = gtk_widget_get_accessible (label);
+
+ text = atk_text_get_text (ATK_TEXT (atk_obj), 0, -1);
+ g_assert_cmpstr (text, ==, "<b>Bold?</b>");
+ g_free (text);
+
+ gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
+
+ text = atk_text_get_text (ATK_TEXT (atk_obj), 0, -1);
+ g_assert_cmpstr (text, ==, "Bold?");
+ g_free (text);
+
+ g_object_unref (label);
+}
+
+int
+main (int argc, char *argv[])
+{
+ gtk_test_init (&argc, &argv, NULL);
+
+ g_test_bug_base ("http://bugzilla.gnome.org/");
+
+ g_test_add_func ("/text/bold/GtkLabel", test_bold_label);
+
+ add_text_tests (gtk_label_new (""));
+ add_text_tests (gtk_entry_new ());
+ add_text_tests (gtk_text_view_new ());
+
+ return g_test_run ();
+}
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ text1
+ "text"
+ parent: window1
+ index: 0
+ state: editable enabled focusable multi-line sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Twas brillig, and the slithy toves
+Did gyre and gimple in the wabe
+ character count: 66
+ caret offset: 66
+ default attributes: bg-color: <omitted>
+ bg-full-height: false
+ direction: <omitted>
+ editable: true
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: none
+ <AtkStreamableContent>
+ mime types: application/x-gtk-text-buffer-rich-text text/plain
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkTextBuffer" id="buffer1">
+ <property name="text">Twas brillig, and the slithy toves
+Did gyre and gimple in the wabe</property>
+ </object>
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkTextView" id="text1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="buffer">buffer1</property>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+/*
+ * Copyright (C) 2011 Red Hat Inc.
+ *
+ * Author:
+ * Matthias Clasen <mclasen@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gtk/gtk.h>
+
+const gchar list_ui[] =
+ "<interface>"
+ " <object class='GtkListStore' id='liststore1'>"
+ " <columns>"
+ " <column type='gchararray'/>"
+ " <column type='gchararray'/>"
+ " <column type='gchararray'/>"
+ " <column type='gboolean'/>"
+ " <column type='gint'/>"
+ " <column type='gint'/>"
+ " </columns>"
+ " <data>"
+ " <row><col id='0'>One</col><col id='1'>Two</col><col id='2'>Three</col><col id='3'>True</col><col id='4'>50</col><col id='5'>50</col></row>"
+ " </data>"
+ " </object>"
+ " <object class='GtkWindow' id='window1'>"
+ " <child>"
+ " <object class='GtkTreeView' id='treeview1'>"
+ " <property name='visible'>True</property>"
+ " <property name='model'>liststore1</property>"
+ " <child>"
+ " <object class='GtkTreeViewColumn' id='column1'>"
+ " <property name='title' translatable='yes'>First column</property>"
+ " <child>"
+ " <object class='GtkCellRendererText' id='renderer1'>"
+ " </object>"
+ " <attributes>"
+ " <attribute name='text'>0</attribute>"
+ " </attributes>"
+ " </child>"
+ " <child>"
+ " <object class='GtkCellRendererToggle' id='renderer2'>"
+ " </object>"
+ " <attributes>"
+ " <attribute name='active'>3</attribute>"
+ " </attributes>"
+ " </child>"
+ " </object>"
+ " </child>"
+ " <child>"
+ " <object class='GtkTreeViewColumn' id='column2'>"
+ " <property name='title' translatable='yes'>Second column</property>"
+ " <child>"
+ " <object class='GtkCellRendererText' id='renderer3'>"
+ " </object>"
+ " <attributes>"
+ " <attribute name='text'>1</attribute>"
+ " </attributes>"
+ " </child>"
+ " <child>"
+ " <object class='GtkCellRendererProgress' id='renderer4'>"
+ " </object>"
+ " <attributes>"
+ " <attribute name='value'>4</attribute>"
+ " </attributes>"
+ " </child>"
+ " </object>"
+ " </child>"
+ " </object>"
+ " </child>"
+ " </object>"
+ "</interface>";
+
+static void
+walk_accessible_tree (AtkObject *accessible,
+ gpointer data)
+{
+ gint *count = data;
+ gint i;
+
+ (*count)++;
+
+ for (i = 0; i < atk_object_get_n_accessible_children (accessible); i++)
+ {
+ AtkObject *child = atk_object_ref_accessible_child (accessible, i);
+ walk_accessible_tree (child, data);
+ g_object_unref (child);
+ }
+}
+
+static GtkWidget *
+builder_get_toplevel (GtkBuilder *builder)
+{
+ GSList *list, *walk;
+ GtkWidget *window = NULL;
+
+ list = gtk_builder_get_objects (builder);
+ for (walk = list; walk; walk = walk->next)
+ {
+ if (GTK_IS_WINDOW (walk->data) &&
+ gtk_widget_get_parent (walk->data) == NULL)
+ {
+ window = walk->data;
+ break;
+ }
+ }
+
+ g_slist_free (list);
+
+ return window;
+}
+
+static void
+populate_list (GtkBuilder *builder)
+{
+ GtkTreeView *tv;
+ GtkListStore *store;
+ GtkTreeIter iter;
+ gint i;
+
+ tv = (GtkTreeView *)gtk_builder_get_object (builder, "treeview1");
+ store = (GtkListStore *)gtk_tree_view_get_model (tv);
+
+ /* append a thousand rows */
+ for (i = 0; i < 1000; i++)
+ {
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set (store, &iter, 0, "Bla", 1, "Bla bla", 2, "Bla bla bla", 3, i % 2 == 0 ? TRUE : FALSE, 4, i % 100, 5, i, -1);
+ }
+}
+
+static void
+test_performance_list (void)
+{
+ GtkBuilder *builder;
+ gdouble elapsed;
+ GtkWidget *window;
+ GError *error = NULL;
+
+ builder = gtk_builder_new ();
+ gtk_builder_add_from_string (builder, list_ui, -1, &error);
+ g_assert_no_error (error);
+ window = builder_get_toplevel (builder);
+ g_assert (window);
+
+ gtk_widget_show (window);
+
+ g_test_timer_start ();
+
+ populate_list (builder);
+
+ elapsed = g_test_timer_elapsed ();
+ g_test_minimized_result (elapsed, "large list test: %gsec", elapsed);
+ g_object_unref (builder);
+}
+
+static void
+test_a11y_performance_list (void)
+{
+ GtkBuilder *builder;
+ gdouble elapsed;
+ GtkWidget *window;
+ GError *error = NULL;
+ gint count_before;
+ gint count_after;
+
+ builder = gtk_builder_new ();
+ gtk_builder_add_from_string (builder, list_ui, -1, &error);
+ g_assert_no_error (error);
+ window = builder_get_toplevel (builder);
+ g_assert (window);
+
+ gtk_widget_show (window);
+
+ g_test_timer_start ();
+
+ /* make sure all accessibles exist */
+ count_before = 0;
+ walk_accessible_tree (gtk_widget_get_accessible (window), &count_before);
+
+ populate_list (builder);
+
+ /* for good measure, do this again */
+ count_after = 0;
+ walk_accessible_tree (gtk_widget_get_accessible (window), &count_after);
+
+ elapsed = g_test_timer_elapsed ();
+ g_test_minimized_result (elapsed, "large list with a11y: %gsec", elapsed);
+ g_object_unref (builder);
+
+ g_test_message ("%d accessibles before, %d after\n", count_before, count_after);
+}
+
+const gchar tree_ui[] =
+ "<interface>"
+ " <object class='GtkTreeStore' id='treestore1'>"
+ " <columns>"
+ " <column type='gchararray'/>"
+ " <column type='gchararray'/>"
+ " <column type='gchararray'/>"
+ " <column type='gboolean'/>"
+ " <column type='gint'/>"
+ " <column type='gint'/>"
+ " </columns>"
+ " </object>"
+ " <object class='GtkWindow' id='window1'>"
+ " <child>"
+ " <object class='GtkTreeView' id='treeview1'>"
+ " <property name='visible'>True</property>"
+ " <property name='model'>treestore1</property>"
+ " <child>"
+ " <object class='GtkTreeViewColumn' id='column1'>"
+ " <property name='title' translatable='yes'>First column</property>"
+ " <child>"
+ " <object class='GtkCellRendererText' id='renderer1'>"
+ " </object>"
+ " <attributes>"
+ " <attribute name='text'>0</attribute>"
+ " </attributes>"
+ " </child>"
+ " <child>"
+ " <object class='GtkCellRendererToggle' id='renderer2'>"
+ " </object>"
+ " <attributes>"
+ " <attribute name='active'>3</attribute>"
+ " </attributes>"
+ " </child>"
+ " </object>"
+ " </child>"
+ " <child>"
+ " <object class='GtkTreeViewColumn' id='column2'>"
+ " <property name='title' translatable='yes'>Second column</property>"
+ " <child>"
+ " <object class='GtkCellRendererText' id='renderer3'>"
+ " </object>"
+ " <attributes>"
+ " <attribute name='text'>1</attribute>"
+ " </attributes>"
+ " </child>"
+ " <child>"
+ " <object class='GtkCellRendererProgress' id='renderer4'>"
+ " </object>"
+ " <attributes>"
+ " <attribute name='value'>4</attribute>"
+ " </attributes>"
+ " </child>"
+ " </object>"
+ " </child>"
+ " </object>"
+ " </child>"
+ " </object>"
+ "</interface>";
+
+static void
+populate_tree (GtkBuilder *builder)
+{
+ GtkTreeView *tv;
+ GtkTreeStore *store;
+ GtkTreeIter iter;
+ gint i;
+
+ tv = (GtkTreeView *)gtk_builder_get_object (builder, "treeview1");
+ store = (GtkTreeStore *)gtk_tree_view_get_model (tv);
+
+ /* append a thousand rows */
+ for (i = 0; i < 333; i++)
+ {
+ gtk_tree_store_append (store, &iter, NULL);
+ gtk_tree_store_set (store, &iter, 0, "Bla", 1, "Bla bla", 2, "Bla bla bla", 3, i % 2 == 0 ? TRUE : FALSE, 4, i % 100, 5, i, -1);
+ gtk_tree_store_append (store, &iter, &iter);
+ gtk_tree_store_set (store, &iter, 0, "Bla", 1, "Bla bla", 2, "Bla bla bla", 3, i % 2 == 0 ? TRUE : FALSE, 4, i % 100, 5, i, -1);
+ gtk_tree_store_append (store, &iter, &iter);
+ gtk_tree_store_set (store, &iter, 0, "Bla", 1, "Bla bla", 2, "Bla bla bla", 3, i % 2 == 0 ? TRUE : FALSE, 4, i % 100, 5, i, -1);
+ }
+}
+
+static void
+test_performance_tree (void)
+{
+ GtkBuilder *builder;
+ gdouble elapsed;
+ GtkWidget *window;
+ GError *error = NULL;
+
+ builder = gtk_builder_new ();
+ gtk_builder_add_from_string (builder, tree_ui, -1, &error);
+ g_assert_no_error (error);
+ window = builder_get_toplevel (builder);
+ g_assert (window);
+
+ gtk_widget_show (window);
+
+ g_test_timer_start ();
+
+ populate_tree (builder);
+
+ elapsed = g_test_timer_elapsed ();
+ g_test_minimized_result (elapsed, "large tree test: %gsec", elapsed);
+ g_object_unref (builder);
+}
+
+static void
+test_a11y_performance_tree (void)
+{
+ GtkBuilder *builder;
+ gdouble elapsed;
+ GtkWidget *window;
+ GError *error = NULL;
+ gint count_before;
+ gint count_after;
+
+ builder = gtk_builder_new ();
+ gtk_builder_add_from_string (builder, tree_ui, -1, &error);
+ g_assert_no_error (error);
+ window = builder_get_toplevel (builder);
+ g_assert (window);
+
+ gtk_widget_show (window);
+
+ g_test_timer_start ();
+
+ /* make sure all accessibles exist */
+ count_before = 0;
+ walk_accessible_tree (gtk_widget_get_accessible (window), &count_before);
+
+ populate_tree (builder);
+
+ /* for good measure, do this again */
+ count_after = 0;
+ walk_accessible_tree (gtk_widget_get_accessible (window), &count_after);
+
+ elapsed = g_test_timer_elapsed ();
+ g_test_minimized_result (elapsed, "large tree with a11y: %gsec", elapsed);
+ g_object_unref (builder);
+
+ g_test_message ("%d accessibles before, %d after\n", count_before, count_after);
+}
+
+int
+main (int argc, char *argv[])
+{
+ gtk_test_init (&argc, &argv, NULL);
+
+ if (!g_test_perf ())
+ return 0;
+
+ g_test_add_func ("/performance/list", test_performance_list);
+ g_test_add_func ("/a11y/performance/list", test_a11y_performance_list);
+ g_test_add_func ("/performance/tree", test_performance_tree);
+ g_test_add_func ("/a11y/performance/tree", test_a11y_performance_tree);
+
+ return g_test_run ();
+}
--- /dev/null
+window1
+ "window"
+ index: 0
+ state: enabled resizable sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: window
+ alpha: 1
+ tree1
+ "table"
+ parent: window1
+ index: 0
+ state: enabled focusable sensitive showing visible manages-descendants
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkSelection>
+ selected children: One
+ Two
+ <AtkTable>
+ rows: 4
+ columns: 2
+ selected rows: 0
+ column 0 description: Column 1
+ <column 0 header>
+ unnamed-GtkButtonAccessible-0
+ "table column header"
+ parent: tree1
+ index: 0
+ name: Column 1
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ column 1 description: Column 2
+ <column 1 header>
+ unnamed-GtkButtonAccessible-1
+ "table column header"
+ parent: tree1
+ index: 1
+ name: Column 2
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkButtonAccessible-0
+ "table column header"
+ parent: tree1
+ index: 0
+ name: Column 1
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ unnamed-GtkButtonAccessible-1
+ "table column header"
+ parent: tree1
+ index: 1
+ name: Column 2
+ state: enabled sensitive showing visible
+ toolkit: gtk
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkImage>
+ image size: -1 x -1
+ image description: (null)
+ <AtkAction>
+ action 0 name: click
+ One
+ "table cell"
+ parent: tree1
+ index: 2
+ name: One
+ state: enabled focusable focused selectable selected sensitive single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: One
+ character count: 3
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+ Two
+ "table cell"
+ parent: tree1
+ index: 3
+ name: Two
+ state: enabled focusable selectable selected sensitive showing single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Two
+ character count: 3
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+ Three
+ "table cell"
+ parent: tree1
+ index: 4
+ name: Three
+ state: enabled focusable selectable sensitive single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Three
+ character count: 5
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+ Four
+ "table cell"
+ parent: tree1
+ index: 5
+ name: Four
+ state: enabled focusable selectable sensitive showing single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Four
+ character count: 4
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+ Five
+ "table cell"
+ parent: tree1
+ index: 6
+ name: Five
+ state: enabled focusable selectable sensitive single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Five
+ character count: 4
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+ Six
+ "table cell"
+ parent: tree1
+ index: 7
+ name: Six
+ state: enabled focusable selectable sensitive showing single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Six
+ character count: 3
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+ Seven
+ "table cell"
+ parent: tree1
+ index: 8
+ name: Seven
+ state: enabled focusable selectable sensitive single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Seven
+ character count: 5
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
+ Eight
+ "table cell"
+ parent: tree1
+ index: 9
+ name: Eight
+ state: enabled focusable selectable sensitive showing single-line transient visible
+ <AtkComponent>
+ layer: widget
+ alpha: 1
+ <AtkText>
+ text: Eight
+ character count: 5
+ caret offset: 0
+ default attributes: bg-color: <omitted>
+ bg-full-height: 0
+ editable: false
+ family-name: <omitted>
+ fg-color: <omitted>
+ indent: 0
+ invisible: false
+ justification: left
+ language: <omitted>
+ left-margin: 0
+ pixels-above-lines: 0
+ pixels-below-lines: 0
+ pixels-inside-wrap: 0
+ right-margin: 0
+ rise: 0
+ scale: 1
+ size: <omitted>
+ stretch: <omitted>
+ strikethrough: false
+ style: <omitted>
+ underline: none
+ variant: <omitted>
+ weight: <omitted>
+ wrap-mode: word
+ <AtkAction>
+ action 0 name: activate
+ action 0 description: activate the cell
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkListStore" id="liststore1">
+ <columns>
+ <column type="gchararray"/>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row><col id="0">One</col><col id="1">Two</col></row>
+ <row><col id="0">Three</col><col id="1">Four</col></row>
+ <row><col id="0">Five</col><col id="1">Six</col></row>
+ <row><col id="0">Seven</col><col id="1">Eight</col></row>
+ </data>
+ </object>
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkTreeView" id="tree1">
+ <property name="visible">True</property>
+ <property name="model">liststore1</property>
+ <child>
+ <object class="GtkTreeViewColumn" id="column1">
+ <property name="title" translatable="yes">Column 1</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer1">
+ </object>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="column2">
+ <property name="title" translatable="yes">Column 2</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer2">
+ </object>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+/*
+ * Copyright (C) 2011 Red Hat Inc.
+ *
+ * Author:
+ * Matthias Clasen <mclasen@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gtk/gtk.h>
+
+static void
+test_toolkit_name (void)
+{
+ const gchar *s;
+
+ s = atk_get_toolkit_name ();
+ g_assert_cmpstr (s, ==, "gtk");
+}
+
+static void
+test_toolkit_version (void)
+{
+ const gchar *s;
+
+ s = atk_get_toolkit_version ();
+ g_assert_cmpstr (s, ==, GTK_VERSION);
+}
+
+static void
+test_root (void)
+{
+ AtkObject *obj;
+
+ obj = atk_get_root ();
+
+ g_assert (atk_object_get_role (obj) == ATK_ROLE_APPLICATION);
+ g_assert (atk_object_get_parent (obj) == NULL);
+}
+
+int
+main (int argc, char *argv[])
+{
+ gtk_test_init (&argc, &argv, NULL);
+
+ g_test_add_func ("/util/toolkit-name", test_toolkit_name);
+ g_test_add_func ("/util/toolkit-version", test_toolkit_version);
+ g_test_add_func ("/util/root", test_root);
+
+ return g_test_run ();
+}
rm $(builddir)/*.out.css || true
EXTRA_DIST += \
+ at-invalid-01.css \
+ at-invalid-01.errors \
+ at-invalid-01.ref.css \
+ at-invalid-02.css \
+ at-invalid-02.errors \
+ at-invalid-02.ref.css \
+ at-invalid-03.css \
+ at-invalid-03.errors \
+ at-invalid-03.ref.css \
+ at-invalid-04.css \
+ at-invalid-04.errors \
+ at-invalid-04.ref.css \
+ at-invalid-05.css \
+ at-invalid-05.errors \
+ at-invalid-05.ref.css \
+ at-invalid-06.css \
+ at-invalid-06.errors \
+ at-invalid-06.ref.css \
+ at-invalid-07.css \
+ at-invalid-07.errors \
+ at-invalid-07.ref.css \
+ at-invalid-08.css \
+ at-invalid-08.errors \
+ at-invalid-08.ref.css \
+ at-invalid-09.css \
+ at-invalid-09.errors \
+ at-invalid-09.ref.css \
+ at-invalid-10.css \
+ at-invalid-10.errors \
+ at-invalid-10.ref.css \
+ at-invalid-11.css \
+ at-invalid-11.errors \
+ at-invalid-11.ref.css \
+ at-invalid-12.css \
+ at-invalid-12.errors \
+ at-invalid-12.ref.css \
+ at-invalid-13.css \
+ at-invalid-13.errors \
+ at-invalid-13.ref.css \
+ at-invalid-14.css \
+ at-invalid-14.errors \
+ at-invalid-14.ref.css \
+ at-invalid-15.css \
+ at-invalid-15.errors \
+ at-invalid-15.ref.css \
+ at-invalid-16.css \
+ at-invalid-16.errors \
+ at-invalid-16.ref.css \
+ at-invalid-17.css \
+ at-invalid-17.errors \
+ at-invalid-17.ref.css \
+ at-invalid-18.css \
+ at-invalid-18.errors \
+ at-invalid-18.ref.css \
+ at-invalid-19.css \
+ at-invalid-19.errors \
+ at-invalid-19.ref.css \
+ at-invalid-20.css \
+ at-invalid-20.errors \
+ at-invalid-20.ref.css \
+ at-invalid-21.css \
+ at-invalid-21.errors \
+ at-invalid-21.ref.css \
+ at-invalid-22.css \
+ at-invalid-22.errors \
+ at-invalid-22.ref.css \
+ at-invalid-23.css \
+ at-invalid-23.errors \
+ at-invalid-23.ref.css \
+ at-invalid-24.css \
+ at-invalid-24.errors \
+ at-invalid-24.ref.css \
+ at-invalid-25.css \
+ at-invalid-25.errors \
+ at-invalid-25.ref.css \
+ at-invalid-26.css \
+ at-invalid-26.errors \
+ at-invalid-26.ref.css \
+ at-invalid-27.css \
+ at-invalid-27.errors \
+ at-invalid-27.ref.css \
+ at-valid-01.css \
+ at-valid-01.ref.css \
+ at-valid-02.css \
+ at-valid-02.ref.css \
+ at-valid-03.css \
+ at-valid-03.ref.css \
+ at-valid-04.css \
+ at-valid-04.ref.css \
+ at-valid-05.css \
+ at-valid-05.ref.css \
+ at-valid-06.css \
+ at-valid-06.ref.css \
+ at-valid-07.css \
+ at-valid-08.css \
+ at-valid-08.ref.css \
+ at-valid-09.css \
+ at-valid-09.ref.css \
+ at-valid-10.css \
+ at-valid-10.ref.css \
+ at-valid-11.css \
+ at-valid-11.ref.css \
+ at-valid-12.css \
+ at-valid-12.ref.css \
+ at-valid-13.css \
+ at-valid-13.ref.css \
+ at-valid-14.css \
+ at-valid-14.ref.css \
+ at-valid-15.css \
+ at-valid-15.ref.css \
+ at-valid-16.css \
+ at-valid-16.ref.css \
+ at-valid-17.css \
+ at-valid-18.css \
+ at-valid-18.ref.css \
+ at-valid-19.css \
+ at-valid-19.errors \
+ at-valid-19.ref.css \
+ at-valid-20.css \
+ at-valid-20.errors \
+ at-valid-20.ref.css \
+ at-valid-21.css \
+ at-valid-21.errors \
+ at-valid-21.ref.css \
boolean.css \
boolean.errors \
boolean.ref.css \
declarations.css \
declarations.errors \
declarations.ref.css \
+ declarations-invalid-01.css \
+ declarations-invalid-01.errors \
+ declarations-invalid-01.ref.css \
+ declarations-invalid-02.css \
+ declarations-invalid-02.errors \
+ declarations-invalid-02.ref.css \
+ declarations-invalid-03.css \
+ declarations-invalid-03.errors \
+ declarations-invalid-03.ref.css \
+ declarations-invalid-04.css \
+ declarations-invalid-04.errors \
+ declarations-invalid-04.ref.css \
+ declarations-invalid-05.css \
+ declarations-invalid-05.errors \
+ declarations-invalid-05.ref.css \
+ declarations-invalid-06.css \
+ declarations-invalid-06.errors \
+ declarations-invalid-06.ref.css \
+ declarations-invalid-07.css \
+ declarations-invalid-07.errors \
+ declarations-invalid-07.ref.css \
+ declarations-invalid-08.css \
+ declarations-invalid-08.errors \
+ declarations-invalid-08.ref.css \
+ declarations-valid-01.css \
+ declarations-valid-01.ref.css \
+ declarations-valid-02.css \
+ declarations-valid-02.ref.css \
+ declarations-valid-03.css \
+ declarations-valid-03.ref.css \
+ declarations-valid-04.css \
+ declarations-valid-04.ref.css \
+ declarations-valid-05.css \
+ declarations-valid-05.ref.css \
+ declarations-valid-06.css \
+ declarations-valid-06.ref.css \
+ declarations-valid-07.css \
+ declarations-valid-07.ref.css \
+ declarations-valid-08.css \
+ declarations-valid-08.ref.css \
+ declarations-valid-09.css \
+ declarations-valid-09.ref.css \
+ declarations-valid-10.css \
+ declarations-valid-10.ref.css \
+ declarations-valid-11.css \
+ declarations-valid-11.ref.css \
+ declarations-valid-12.css \
+ declarations-valid-12.ref.css \
+ declarations-valid-13.css \
+ declarations-valid-13.ref.css \
+ declarations-valid-14.css \
+ declarations-valid-14.ref.css \
+ declarations-valid-15.css \
+ declarations-valid-15.ref.css \
+ declarations-valid-16.css \
+ declarations-valid-16.ref.css \
+ declarations-valid-17.css \
+ declarations-valid-17.ref.css \
+ declarations-valid-18.css \
+ declarations-valid-18.errors \
+ declarations-valid-18.ref.css \
+ declarations-valid-19.css \
+ declarations-valid-19.ref.css \
+ declarations-valid-20.css \
+ declarations-valid-20.ref.css \
+ declarations-valid-21.css \
+ declarations-valid-21.ref.css \
+ declarations-valid-22.css \
+ declarations-valid-22.ref.css \
+ declarations-valid-23.css \
+ declarations-valid-23.ref.css \
+ declarations-valid-24.css \
+ declarations-valid-24.ref.css \
+ declarations-valid-25.css \
+ declarations-valid-25.ref.css \
does-not-exist.css \
does-not-exist.errors \
does-not-exist.ref.css \
+ empty.css \
enum.css \
enum.errors \
enum.ref.css \
single-slash.css \
single-slash.errors\
single-slash.ref.css \
+ test.png \
widget-style-property.css
--- /dev/null
+@import ./test.css ;
--- /dev/null
+at-invalid-01.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@import url ( "./test.css" xyz );
--- /dev/null
+at-invalid-02.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@import url(");
--- /dev/null
+at-invalid-03.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@import url(');
--- /dev/null
+at-invalid-04.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@import url("abc');
--- /dev/null
+at-invalid-05.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@ import ;
--- /dev/null
+at-invalid-06.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define_color blue red;
--- /dev/null
+at-invalid-07.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color blue #12234;
--- /dev/null
+at-invalid-08.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color blue #12g234;
--- /dev/null
+at-invalid-09.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color blue @@;
--- /dev/null
+at-invalid-10.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color blue 5!#%4@DG$##x;
--- /dev/null
+at-invalid-11.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color color mix(@red, @blue, @green);
--- /dev/null
+at-invalid-12.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color color mix(@blue, 0.2, @red);
--- /dev/null
+at-invalid-13.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color color mix(0.2, @blue, @red);
--- /dev/null
+at-invalid-14.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color color mix(@blue, @red);
--- /dev/null
+at-invalid-15.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color color mix(@blue);
--- /dev/null
+at-invalid-16.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color color mix();
--- /dev/null
+at-invalid-17.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color color rgba(50%, 50%, 50%);
--- /dev/null
+at-invalid-18.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color color rgb(50%, a);
--- /dev/null
+at-invalid-19.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@define-color 1col rgb(50%, a);
--- /dev/null
+at-invalid-20.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@three-dee { some other crap };
--- /dev/null
+at-invalid-21.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
+at-invalid-21.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@binding-set "foo";
--- /dev/null
+at-invalid-22.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+@binding-set foo { bind key { "action"() }; };
--- /dev/null
+at-invalid-23.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
+at-invalid-23.css:1: error: GTK_CSS_PROVIDER_ERROR_DEPRECATED
--- /dev/null
+@binding-set foo { bind key { "action"() }; };
--- /dev/null
+at-invalid-24.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
+at-invalid-24.css:1: error: GTK_CSS_PROVIDER_ERROR_DEPRECATED
--- /dev/null
+@binding-set foo { bind "key" { action() }; };
--- /dev/null
+at-invalid-25.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
+at-invalid-25.css:1: error: GTK_CSS_PROVIDER_ERROR_DEPRECATED
--- /dev/null
+@binding-set foo { bind "key"; };
--- /dev/null
+at-invalid-26.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
+at-invalid-26.css:1: error: GTK_CSS_PROVIDER_ERROR_DEPRECATED
--- /dev/null
+@binding-set foo { unbind "key" { "bla" () }; };
--- /dev/null
+at-invalid-27.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
+at-invalid-27.css:1: error: GTK_CSS_PROVIDER_ERROR_DEPRECATED
--- /dev/null
+@import "./simple.css";
--- /dev/null
+foo {
+ color: rgb(0,0,0);
+}
--- /dev/null
+@import './simple.css';
--- /dev/null
+foo {
+ color: rgb(0,0,0);
+}
--- /dev/null
+@import url("./simple.css");
--- /dev/null
+foo {
+ color: rgb(0,0,0);
+}
--- /dev/null
+@import url('./simple.css');
--- /dev/null
+foo {
+ color: rgb(0,0,0);
+}
--- /dev/null
+@import
+url( "./simple.css" ) ;
--- /dev/null
+foo {
+ color: rgb(0,0,0);
+}
--- /dev/null
+@define-color bg_color #f9a039;
--- /dev/null
+@define-color bg_color rgb(249,160,57);
--- /dev/null
+@define-color color @bg_color;
--- /dev/null
+@define-color color rgb(100, 99, 88);
--- /dev/null
+@define-color color rgb(100,99,88);
--- /dev/null
+@define-color color rgba(50%, 50%, 50%, 0.5);
--- /dev/null
+@define-color color rgba(128,128,128,0.5);
--- /dev/null
+@define-color color lighter(#f9a039);
--- /dev/null
+@define-color color shade (rgb(249,160,57), 1.3);
--- /dev/null
+@define-color color darker ( @blue ) ;
--- /dev/null
+@define-color color shade (@blue, 0.69999999999999996);
--- /dev/null
+@define-color color shade(@blue, 1.3);
--- /dev/null
+@define-color color shade (@blue, 1.3);
--- /dev/null
+@define-color color alpha(@blue, 1.3);
--- /dev/null
+@define-color color alpha (@blue, 1.3);
--- /dev/null
+@define-color color mix(@blue, @red, 0.2);
--- /dev/null
+@define-color color mix (@blue, @red, 0.20000000000000001);
--- /dev/null
+@define-color color red;
--- /dev/null
+@define-color color rgb(255,0,0);
--- /dev/null
+@define-color color mix(shade (#121212, 0.5), mix (rgb(10%,20%,100%), @blue,0.5), 0.2);
--- /dev/null
+@define-color color mix (shade (rgb(18,18,18), 0.5), mix (rgb(26,51,255), @blue, 0.5), 0.20000000000000001);
--- /dev/null
+@define-color blue @blue;
--- /dev/null
+@define-color blue123_a-b #123;
--- /dev/null
+@define-color blue123_a-b rgb(17,34,51);
--- /dev/null
+@binding-set gtk-emacs-menu { bind "<ctrl>n" { "move-current" (next) }; };
--- /dev/null
+at-valid-19.css:1: error: GTK_CSS_PROVIDER_ERROR_DEPRECATED
--- /dev/null
+@binding-set gtk-emacs-text-view {
+ bind "<ctrl>u" { "move-cursor" (paragraph-ends, -1, 0)
+ "delete-from-cursor" (paragraph-ends, 1) };
+};
--- /dev/null
+at-valid-20.css:4: error: GTK_CSS_PROVIDER_ERROR_DEPRECATED
--- /dev/null
+@binding-set test {
+ bind "<ctrl>space" { "set-anchor" () };
+ unbind "<ctrl>v";
+};
--- /dev/null
+at-valid-21.css:4: error: GTK_CSS_PROVIDER_ERROR_DEPRECATED
--- /dev/null
+* { color }
--- /dev/null
+declarations-invalid-01.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+* { color:green; color }
--- /dev/null
+declarations-invalid-02.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+* {
+ color: rgb(0,255,0);
+}
--- /dev/null
+* { color:red; color; color:green }
--- /dev/null
+declarations-invalid-03.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+* {
+ color: rgb(0,255,0);
+}
--- /dev/null
+* { color:green; color: }
--- /dev/null
+declarations-invalid-04.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+* {
+ color: rgb(0,255,0);
+}
--- /dev/null
+* { color:red; color:; color:green }
--- /dev/null
+declarations-invalid-05.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+* {
+ color: rgb(0,255,0);
+}
--- /dev/null
+* { color:green; color{;color:maroon} }
--- /dev/null
+declarations-invalid-06.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+* {
+ color: rgb(0,255,0);
+}
--- /dev/null
+* { color:red; color{;color:maroon}; color:green }
--- /dev/null
+declarations-invalid-07.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+* {
+ color: rgb(0,255,0);
+}
--- /dev/null
+* { content: 'Hello
--- /dev/null
+declarations-invalid-08.css:1: error: GTK_CSS_PROVIDER_ERROR_NAME
+declarations-invalid-08.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
+declarations-invalid-08.css:2: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+* { font: Sans 15 }
--- /dev/null
+* {
+ font-family: "Sans";
+ font-size: 15;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+}
--- /dev/null
+* { font: Sans 15; }
--- /dev/null
+* {
+ font-family: "Sans";
+ font-size: 15;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+}
--- /dev/null
+* { font: bold }
--- /dev/null
+* {
+ font-family: "Sans";
+ font-size: 10;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: bold;
+}
--- /dev/null
+* { color: red }
--- /dev/null
+* {
+ color: rgb(255,0,0);
+}
--- /dev/null
+* { /* just a comment */ }
--- /dev/null
+* { /* multi
+line
+comment */ }
--- /dev/null
+* { font: /* comment here */ Sans 15 }
--- /dev/null
+* {
+ font-family: "Sans";
+ font-size: 15;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+}
--- /dev/null
+* { color: red; background-color: shade (@bg_color, 0.5) }
--- /dev/null
+* {
+ background-color: shade (@bg_color, 0.5);
+ color: rgb(255,0,0);
+}
--- /dev/null
+* { margin: 5 }
--- /dev/null
+* {
+ margin-bottom: 5;
+ margin-left: 5;
+ margin-right: 5;
+ margin-top: 5;
+}
--- /dev/null
+* { margin: 5 10 }
--- /dev/null
+* {
+ margin-bottom: 5;
+ margin-left: 10;
+ margin-right: 10;
+ margin-top: 5;
+}
--- /dev/null
+* { margin: 5 10 3 }
--- /dev/null
+* {
+ margin-bottom: 3;
+ margin-left: 10;
+ margin-right: 10;
+ margin-top: 5;
+}
--- /dev/null
+* { margin: 5 10 3 5 }
--- /dev/null
+* {
+ margin-bottom: 3;
+ margin-left: 5;
+ margin-right: 10;
+ margin-top: 5;
+}
--- /dev/null
+* { padding: 5 }
--- /dev/null
+* {
+ padding-bottom: 5;
+ padding-left: 5;
+ padding-right: 5;
+ padding-top: 5;
+}
--- /dev/null
+* { padding: 5 10 }
--- /dev/null
+* {
+ padding-bottom: 5;
+ padding-left: 10;
+ padding-right: 10;
+ padding-top: 5;
+}
--- /dev/null
+* { border-width: 5; border-radius: 10 }
--- /dev/null
+* {
+ border-bottom-left-radius: 10;
+ border-bottom-right-radius: 10;
+ border-bottom-width: 5;
+ border-left-width: 5;
+ border-right-width: 5;
+ border-top-left-radius: 10;
+ border-top-right-radius: 10;
+ border-top-width: 5;
+}
--- /dev/null
+* { border-color: #ff00ff }
--- /dev/null
+* {
+ border-bottom-color: rgb(255,0,255);
+ border-left-color: rgb(255,0,255);
+ border-right-color: rgb(255,0,255);
+ border-top-color: rgb(255,0,255);
+}
--- /dev/null
+* { engine: definitelydoesnotexist }
--- /dev/null
+declarations-valid-18.css:1: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
--- /dev/null
+* { background-image: -gtk-gradient (linear,
+ left top, right top,
+ from (#fff), to (#000)) }
--- /dev/null
+* {
+ background-image: -gtk-gradient (linear, left top, right top, from (rgb(255,255,255)), to (rgb(0,0,0)));
+}
--- /dev/null
+* { background-image: -gtk-gradient (linear,
+ 0.0 0.5, 0.5 1.0,
+ from (#fff),
+ color-stop (0.5, #f00),
+ to (#000)) }
--- /dev/null
+* {
+ background-image: -gtk-gradient (linear, left center, center bottom, from (rgb(255,255,255)), color-stop (0.5, rgb(255,0,0)), to (rgb(0,0,0)));
+}
--- /dev/null
+* { background-image: -gtk-gradient (radial,
+ center center, 0.25,
+ center center, 0.75,
+ color-stop (0.0,#fff),
+ color-stop (1.0,#000))}
+
--- /dev/null
+* {
+ background-image: -gtk-gradient (radial, center center, 0.25, center center, 0.75, from (rgb(255,255,255)), to (rgb(0,0,0)));
+}
--- /dev/null
+* { border-image: url("./test.png") 3 4 3 4 stretch }
--- /dev/null
+* {
+ border-image-repeat: stretch;
+ border-image-slice: 3 4;
+ border-image-source: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAABmJLR0QA/wD/AP+gvaeTAAAAFUlEQVQImQXBAQEAAACAEP9PF1CpMCnkBftPnd1xAAAAAElFTkSuQmCC");
+ border-image-width: none;
+}
--- /dev/null
+* { border-image: url("./test.png") 3 4 3 4 repeat stretch}
--- /dev/null
+* {
+ border-image-repeat: repeat stretch;
+ border-image-slice: 3 4;
+ border-image-source: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAABmJLR0QA/wD/AP+gvaeTAAAAFUlEQVQImQXBAQEAAACAEP9PF1CpMCnkBftPnd1xAAAAAElFTkSuQmCC");
+ border-image-width: none;
+}
--- /dev/null
+* { transition: 150ms ease-in-out }
--- /dev/null
+* {
+ transition: 150ms ease-in-out;
+}
--- /dev/null
+* { transition: 1s linear loop }
--- /dev/null
+* {
+ transition: 1s linear loop;
+}
border-image-url.css \
border-image-url.ref.ui \
border-image-url.ui \
+ border-radius-clamp.css\
+ border-radius-clamp.ref.ui \
+ border-radius-clamp.ui \
box-packing.css \
box-packing.ref.ui \
box-packing.ui \
label-small-ellipsized.ui \
label-wrap-justify.ref.ui \
label-wrap-justify.ui \
+ messagedialog-secondarytext.ui \
+ messagedialog-secondarytext.ref.ui \
misc-alignment.css \
misc-alignment.ui \
misc-alignment.ref.ui \
shorthand-entry-border.ui \
simple.ref.ui \
simple.ui \
+ style-properties-nth-child.css \
+ style-properties-nth-child.ref.ui \
+ style-properties-nth-child.ui \
toplevel-vs-popup.ref.ui \
toplevel-vs-popup.ui \
unresolvable.css \
--- /dev/null
+.progressbar {
+ engine: none;
+ border-image: none;
+ border-radius: 25;
+}
+
+#reference .progressbar {
+ border-radius: 10;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="name">reference</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkProgressBar" id="progressbar1">
+ <property name="width_request">150</property>
+ <property name="height_request">20</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="fraction">0.5</property>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkProgressBar" id="progressbar1">
+ <property name="width_request">150</property>
+ <property name="height_request">20</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="fraction">0.5</property>
+ </object>
+ </child>
+ </object>
+</interface>
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
- <object class="GtkWindow" id="window1">
+ <object class="GtkOffscreenWindow" id="window1">
<property name="can_focus">False</property>
<property name="type">popup</property>
<child>
<property name="can_focus">False</property>
<property name="row_spacing">1</property>
<property name="column_spacing">1</property>
- <property name="row-homogeneous">True</property>
+ <property name="row_homogeneous">True</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<object class="GtkLabel" id="required-required1">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural1">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required1">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural1">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required2">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural2">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required2">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural2">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required3">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural3">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required3">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural3">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required4">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural4">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">…
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">A
…</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required4">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural4">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required5">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural5">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required5">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural5">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required6">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural6">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required6">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural6">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required7">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural7">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required7">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural7">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required8">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural8">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">ABC…
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">ABCD
ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required8">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural8">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required9">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural9">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required9">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural9">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required10">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural10">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required10">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural10">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required11">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural11">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required11">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural11">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required12">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural12">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required12">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural12">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required13">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural13">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required13">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural13">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required14">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural14">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required14">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural14">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required15">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural15">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required15">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural15">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required16">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural16">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required16">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural16">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required17">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural17">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required17">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural17">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required18">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural18">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required18">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural18">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required19">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural19">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required19">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural19">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required20">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural20">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">…
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">A
…</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required20">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural20">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">ABC…
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">ABCD
ABCD</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required21">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural21">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required21">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural21">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required22">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural22">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required22">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural22">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required23">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural23">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required23">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural23">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required24">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural24">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">ABC…
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">ABCD
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required24">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural24">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">ABC…
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">ABCD
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required25">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural25">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required25">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural25">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required26">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural26">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required26">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural26">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required27">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural27">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required27">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural27">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required28">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural28">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required28">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural28">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required29">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural29">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required29">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural29">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required30">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural30">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required30">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural30">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required31">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural31">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required31">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural31">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required32">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural32">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required32">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural32">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">4</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required33">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural33">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required33">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural33">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required34">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural34">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required34">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural34">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required35">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural35">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required35">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural35">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required36">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural36">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">…
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">A
…</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required36">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural36">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required37">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural37">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required37">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural37">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required38">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural38">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required38">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural38">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required39">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural39">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required39">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural39">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required40">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural40">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">ABC…
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">ABCD
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required40">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural40">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required41">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural41">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required41">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural41">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required42">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural42">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required42">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural42">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required43">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural43">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required43">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural43">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required44">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural44">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required44">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural44">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required45">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural45">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required45">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural45">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required46">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural46">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required46">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural46">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required47">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural47">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required47">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural47">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required48">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural48">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required48">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural48">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">8</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required49">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural49">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required49">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural49">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required50">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural50">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required50">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural50">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required51">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural51">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required51">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural51">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required52">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">…</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural52">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">…
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">A
…</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required52">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural52">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required53">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural53">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required53">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural53">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required54">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural54">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required54">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural54">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required55">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural55">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required55">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural55">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required56">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABC…</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural56">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">ABC…
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">ABCD
ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required56">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural56">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">4</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required57">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural57">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required57">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural57">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required58">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural58">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required58">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural58">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required59">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural59">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required59">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural59">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required60">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE A…</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural60">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE
ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required60">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural60">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD</property>
<property name="width_chars">8</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required61">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural61">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required61">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural61">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required62">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural62">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required62">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural62">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required63">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural63">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required63">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural63">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-required64">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="required-natural64">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-required64">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<object class="GtkLabel" id="natural-natural64">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="xalign">0</property>
<property name="label" translatable="yes">ABCDE ABCD </property>
<property name="width_chars">12</property>
<property name="max_width_chars">12</property>
- <property name="xalign">0.0</property>
<attributes>
<attribute name="font-desc" value="Monospace"/>
</attributes>
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
- <object class="GtkWindow" id="window1">
+ <object class="GtkOffscreenWindow" id="window1">
<property name="can_focus">False</property>
<property name="type">popup</property>
<child>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkMessageDialog" id="messagedialog1">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="type">popup</property>
+ <property name="type_hint">dialog</property>
+ <property name="skip_taskbar_hint">True</property>
+ <property name="buttons">ok</property>
+ <property name="text" translatable="yes">Text</property>
+ <property name="secondary_text" translatable="yes">Secondary text #5</property>
+ </object>
+</interface>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkMessageDialog" id="messagedialog1">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="type">popup</property>
+ <property name="type_hint">dialog</property>
+ <property name="skip_taskbar_hint">True</property>
+ <property name="buttons">ok</property>
+ <property name="text" translatable="yes">Text</property>
+ <!-- We set the property multiple times on purpose here -->
+ <property name="secondary_text" translatable="yes">Secondary text #1</property>
+ <property name="secondary_text" translatable="yes">Secondary text #2</property>
+ <property name="secondary_text" translatable="yes">Secondary text #3</property>
+ <property name="secondary_text" translatable="yes">Secondary text #4</property>
+ <property name="secondary_text" translatable="yes">Secondary text #5</property>
+ </object>
+</interface>
--- /dev/null
+* {
+ -GtkToolbar-button-relief: none;
+}
+
+.grid-toolbar {
+ -GtkToolbar-button-relief: normal;
+}
+
+.box-toolbar {
+ -GtkToolbar-button-relief: normal;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <property name="width_request">300</property>
+ <property name="height_request">300</property>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolbar" id="toolbar1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <style>
+ <class name="grid-toolbar"/>
+ </style>
+ <child>
+ <object class="GtkToolButton" id="add_button">
+ <property name="visible">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="icon_name">list-add-symbolic</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolButton" id="add_button2">
+ <property name="visible">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="icon_name">list-add-symbolic</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <property name="width_request">300</property>
+ <property name="height_request">300</property>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolbar" id="toolbar1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <style>
+ <class name="box-toolbar"/>
+ </style>
+ <child>
+ <object class="GtkToolButton" id="add_button">
+ <property name="visible">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="icon_name">list-add-symbolic</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolButton" id="add_button2">
+ <property name="visible">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="icon_name">list-add-symbolic</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
#include <gtk/gtk.h>
+static void
+dark_toggled (GtkCheckMenuItem *item, gpointer data)
+{
+ gboolean dark;
+
+ dark = gtk_check_menu_item_get_active (item);
+ g_object_set (gtk_settings_get_default (),
+ "gtk-application-prefer-dark-theme", dark,
+ NULL);
+}
+
int
main (int argc, char *argv[])
{
GtkBuilder *builder;
GtkWidget *window;
+ GtkWidget *widget;
+ gboolean dark = FALSE;
gtk_init (&argc, &argv);
- if (argc > 1 &&
- (g_strcmp0 (argv[1], "--dark") == 0))
- g_object_set (gtk_settings_get_default (),
- "gtk-application-prefer-dark-theme", TRUE,
- NULL);
+ if (argc > 1 && (g_strcmp0 (argv[1], "--dark") == 0))
+ dark = TRUE;
builder = gtk_builder_new ();
gtk_builder_add_from_file (builder, "./widget-factory.ui", NULL);
window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));
gtk_builder_connect_signals (builder, NULL);
+ widget = (GtkWidget*) gtk_builder_get_object (builder, "darkmenuitem");
+ g_signal_connect (widget, "toggled", G_CALLBACK (dark_toggled), NULL);
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), dark);
+
g_object_unref (G_OBJECT (builder));
gtk_widget_show (window);
<property name="use_action_appearance">False</property>
<property name="label" translatable="yes">_View</property>
<property name="use_underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="view-menu">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckMenuItem" id="darkmenuitem">
+ <property name="label">_Dark theme</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
</child>
<child>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">•</property>
- <property name="text" translatable="yes">search...</property>
+ <property name="placeholder-text" translatable="yes">search...</property>
</object>
</child>
</object>
<property name="has_tooltip">True</property>
<property name="use_action_appearance">False</property>
<property name="relief">none</property>
- <property name="uri">http://www.ubuntu.com</property>
+ <property name="uri">http://www.gtk.org</property>
</object>
</child>
</object>